; ; sub_5BFFC from 0x5bffc to 0x5c144 (328 bytes) ; ; 1 xrefs: ; > @ 0x10c808 ; ; This function is hookable on this platform! ; ; Using BromaIDA 8.0.0 @ https:;github.com/Stazzical/BromaIDA ; Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https:;github.com/geode-sdk/bindings ; SUB SP, SP, #0x60 ; +0x0, 0x5bffc STP X24, X23, [SP,#0x50+var_30] ; +0x4, 0x5c000 STP X22, X21, [SP,#0x50+var_20] ; +0x8, 0x5c004 STP X20, X19, [SP,#0x50+var_10] ; +0xc, 0x5c008 STP X29, X30, [SP,#0x50+var_s0] ; +0x10, 0x5c00c LDR X8, [X0] ; +0x14, 0x5c010 STR X25, [SP,#0x50+var_40] ; +0x18, 0x5c014 LDP X20, X25, [X0,#0x60] ; +0x1c, 0x5c018 LDR X24, [X0,#0x70] ; +0x20, 0x5c01c LDR X8, [X8,#0x18] ; +0x24, 0x5c020 MOV X23, X1 ; +0x28, 0x5c024 ADD X1, SP, #0x50+var_34 ; +0x2c, 0x5c028 ADD X29, SP, #0x50 ; +0x30, 0x5c02c MOV X22, X2 ; +0x34, 0x5c030 MOV X19, X0 ; +0x38, 0x5c034 BLR X8 ; +0x3c, 0x5c038 CBZ W0, loc_5C058 ; +0x40, 0x5c03c LDP X29, X30, [SP,#0x50+var_s0] ; +0x44, 0x5c040 LDP X20, X19, [SP,#0x50+var_10] ; +0x48, 0x5c044 LDP X22, X21, [SP,#0x50+var_20] ; +0x4c, 0x5c048 LDP X24, X23, [SP,#0x50+var_30] ; +0x50, 0x5c04c LDR X25, [SP,#0x50+var_40] ; +0x54, 0x5c050 B loc_5C6B4 ; +0x58, 0x5c054 CMP X23, #0 ; +0x5c, 0x5c058 CSEL X21, X23, X20, NE ; +0x60, 0x5c05c CMP X22, #0 ; +0x64, 0x5c060 CSEL X8, X25, X22, EQ ; +0x68, 0x5c064 STP X21, X8, [X19,#0x60] ; +0x6c, 0x5c068 STR X24, [X19,#0x70] ; +0x70, 0x5c06c CBZ X23, loc_5C13C ; +0x74, 0x5c070 LDRB W22, [SP,#0x50+var_34] ; +0x78, 0x5c074 ADD X1, SP, #0x50+var_48 ; +0x7c, 0x5c078 MOV X2, SP ; +0x80, 0x5c07c ADD X3, SP, #0x50+var_38 ; +0x84, 0x5c080 MOV X0, X20 ; +0x88, 0x5c084 BL sub_C7F9C ; +0x8c, 0x5c088 CBNZ W0, loc_5C040 ; +0x90, 0x5c08c LDP X2, X1, [SP,#0x50+var_50] ; +0x94, 0x5c090 LDRB W3, [SP,#0x50+var_38] ; +0x98, 0x5c094 MOV X0, X21 ; +0x9c, 0x5c098 BL sub_C7EB4 ; +0xa0, 0x5c09c CBNZ W0, loc_5C040 ; +0xa4, 0x5c0a0 LDR S0, [X19,#0x34] ; +0xa8, 0x5c0a4 MOV W1, #1 ; +0xac, 0x5c0a8 MOV X0, X21 ; +0xb0, 0x5c0ac BL sub_CC714 ; +0xb4, 0x5c0b0 CBNZ W0, loc_5C040 ; +0xb8, 0x5c0b4 CMP W22, #0 ; +0xbc, 0x5c0b8 CSET W1, EQ ; +0xc0, 0x5c0bc MOV W2, #1 ; +0xc4, 0x5c0c0 MOV X0, X21 ; +0xc8, 0x5c0c4 BL sub_C7D1C ; +0xcc, 0x5c0c8 CBNZ W0, loc_5C040 ; +0xd0, 0x5c0cc MOV X0, X20 ; +0xd4, 0x5c0d0 MOV X1, XZR ; +0xd8, 0x5c0d4 MOV X2, XZR ; +0xdc, 0x5c0d8 MOV W3, WZR ; +0xe0, 0x5c0dc BL sub_C7EB4 ; +0xe4, 0x5c0e0 CBNZ W0, loc_5C040 ; +0xe8, 0x5c0e4 FMOV S0, #1.0 ; +0xec, 0x5c0e8 MOV W1, #1 ; +0xf0, 0x5c0ec MOV X0, X20 ; +0xf4, 0x5c0f0 BL sub_CC714 ; +0xf8, 0x5c0f4 CBNZ W0, loc_5C040 ; +0xfc, 0x5c0f8 CMP X20, X24 ; +0x100, 0x5c0fc B.EQ loc_5C118 ; +0x104, 0x5c100 MOV W1, #1 ; +0x108, 0x5c104 MOV W2, #1 ; +0x10c, 0x5c108 MOV X0, X20 ; +0x110, 0x5c10c BL sub_C7D1C ; +0x114, 0x5c110 CBNZ W0, loc_5C040 ; +0x118, 0x5c114 LDR X0, [X19,#0x1D8] ; +0x11c, 0x5c118 CBZ X0, loc_5C13C ; +0x120, 0x5c11c LDRB W8, [SP,#0x50+var_34] ; +0x124, 0x5c120 CBZ W8, loc_5C13C ; +0x128, 0x5c124 LDR X8, [X0] ; +0x12c, 0x5c128 MOV W1, #1 ; +0x130, 0x5c12c LDR X8, [X8,#0x58] ; +0x134, 0x5c130 BLR X8 ; +0x138, 0x5c134 CBNZ W0, loc_5C040 ; +0x13c, 0x5c138 MOV W0, WZR ; +0x140, 0x5c13c B loc_5C040 ; +0x144, 0x5c140