; ; sub_57CC0 from 0x57cc0 to 0x57dc8 (264 bytes) ; ; 3 xrefs: ; > sub_57CBC @ 0x57cbc ; > sub_57CC0 @ 0x57d74 ; > sub_581C4 @ 0x58354 ; ; 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 ; STR X21, [SP,#-0x10+var_20]! ; +0x0, 0x57cc0 STP X20, X19, [SP,#0x20+var_10] ; +0x4, 0x57cc4 STP X29, X30, [SP,#0x20+var_s0] ; +0x8, 0x57cc8 LDRB W8, [X0,#0x48] ; +0xc, 0x57ccc MOV X19, X0 ; +0x10, 0x57cd0 FMOV S1, WZR ; +0x14, 0x57cd4 FMOV S0, WZR ; +0x18, 0x57cd8 ADD X29, SP, #0x20 ; +0x1c, 0x57cdc TBNZ W8, #1, loc_57D14 ; +0x20, 0x57ce0 LDR X8, [X19,#0x20] ; +0x24, 0x57ce4 CBZ X8, loc_57D00 ; +0x28, 0x57ce8 LDR S0, [X8,#0x1EC] ; +0x2c, 0x57cec LDP S2, S3, [X19,#0x58] ; +0x30, 0x57cf0 LDR S1, [X8,#0x1E8] ; +0x34, 0x57cf4 FMADD S0, S2, S0, S3 ; +0x38, 0x57cf8 B loc_57D0C ; +0x3c, 0x57cfc LDP S0, S1, [X19,#0x58] ; +0x40, 0x57d00 FADD S0, S1, S0 ; +0x44, 0x57d04 FMOV S1, #1.0 ; +0x48, 0x57d08 LDR S2, [X19,#0x30] ; +0x4c, 0x57d0c FMUL S1, S2, S1 ; +0x50, 0x57d10 LDR S2, [X19,#0x1EC] ; +0x54, 0x57d14 FCMP S0, S2 ; +0x58, 0x57d18 B.NE loc_57D34 ; +0x5c, 0x57d1c LDR S2, [X19,#0x1E8] ; +0x60, 0x57d20 FCMP S1, S2 ; +0x64, 0x57d24 B.NE loc_57D34 ; +0x68, 0x57d28 MOV W0, WZR ; +0x6c, 0x57d2c B loc_57DBC ; +0x70, 0x57d30 MOV W20, WZR ; +0x74, 0x57d34 STR S1, [X19,#0x1E8] ; +0x78, 0x57d38 STR S0, [X19,#0x1EC] ; +0x7c, 0x57d3c CMP W20, #4 ; +0x80, 0x57d40 B.EQ loc_57D60 ; +0x84, 0x57d44 MOV X0, X19 ; +0x88, 0x57d48 MOV W1, W20 ; +0x8c, 0x57d4c BL sub_5875C ; +0x90, 0x57d50 ADD W20, W20, #1 ; +0x94, 0x57d54 CBZ W0, loc_57D40 ; +0x98, 0x57d58 B loc_57DBC ; +0x9c, 0x57d5c ADD X20, X19, #0x190 ; +0xa0, 0x57d60 MOV X21, X20 ; +0xa4, 0x57d64 BL sub_5937C ; +0xa8, 0x57d68 B.EQ loc_57D80 ; +0xac, 0x57d6c LDR X0, [X21,#0x10] ; +0xb0, 0x57d70 BL sub_57CC0 ; +0xb4, 0x57d74 CBZ W0, loc_57D68 ; +0xb8, 0x57d78 B loc_57DBC ; +0xbc, 0x57d7c ADD X20, X19, #0x1A8 ; +0xc0, 0x57d80 MOV X21, X20 ; +0xc4, 0x57d84 BL sub_5937C ; +0xc8, 0x57d88 B.EQ loc_57DA8 ; +0xcc, 0x57d8c LDR X0, [X21,#0x10] ; +0xd0, 0x57d90 LDR X8, [X0] ; +0xd4, 0x57d94 LDR X8, [X8,#0x200] ; +0xd8, 0x57d98 BLR X8 ; +0xdc, 0x57d9c CBZ W0, loc_57D88 ; +0xe0, 0x57da0 B loc_57DBC ; +0xe4, 0x57da4 LDR X8, [X19,#0x248] ; +0xe8, 0x57da8 CBZ X8, loc_57D2C ; +0xec, 0x57dac LDR W9, [X19,#0x1EC] ; +0xf0, 0x57db0 MOV W0, WZR ; +0xf4, 0x57db4 STR W9, [X8,#0x27C] ; +0xf8, 0x57db8 LDP X29, X30, [SP,#0x20+var_s0] ; +0xfc, 0x57dbc LDP X20, X19, [SP,#0x20+var_10] ; +0x100, 0x57dc0 B loc_59350 ; +0x104, 0x57dc4