; ; sub_5736C from 0x5736c to 0x57424 (184 bytes) ; ; 2 xrefs: ; > @ 0x10c578 ; > @ 0x10c7a0 ; ; 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 D8, [SP,#-0x10+var_30]! ; +0x0, 0x5736c STR X23, [SP,#0x30+var_28] ; +0x4, 0x57370 STP X22, X21, [SP,#0x30+var_20] ; +0x8, 0x57374 STP X20, X19, [SP,#0x30+var_10] ; +0xc, 0x57378 STP X29, X30, [SP,#0x30+var_s0] ; +0x10, 0x5737c ADD X29, SP, #0x30 ; +0x14, 0x57380 TBNZ W2, #0x1F, loc_573EC ; +0x18, 0x57384 MOV W19, W2 ; +0x1c, 0x57388 MOV X21, X1 ; +0x20, 0x5738c MOV X20, X0 ; +0x24, 0x57390 CBZ X1, loc_573F4 ; +0x28, 0x57394 MOV W8, #0xC ; +0x2c, 0x57398 MOV X22, XZR ; +0x30, 0x5739c UMULL X23, W19, W8 ; +0x34, 0x573a0 FMOV S8, #1.0 ; +0x38, 0x573a4 CMP X23, X22 ; +0x3c, 0x573a8 B.EQ loc_573F4 ; +0x40, 0x573ac ADD X0, X21, X22 ; +0x44, 0x573b0 BL sub_56FC0 ; +0x48, 0x573b4 CBNZ W0, loc_5740C ; +0x4c, 0x573b8 CBZ X22, loc_573D4 ; +0x50, 0x573bc ADD X8, X21, X22 ; +0x54, 0x573c0 LDR S0, [X8] ; +0x58, 0x573c4 LDUR S1, [X8,#-0xC] ; +0x5c, 0x573c8 FCMP S0, S1 ; +0x60, 0x573cc B.LE loc_573EC ; +0x64, 0x573d0 ADD X8, X21, X22 ; +0x68, 0x573d4 LDR S0, [X8,#4] ; +0x6c, 0x573d8 ADD X22, X22, #0xC ; +0x70, 0x573dc FCMP S0, #0.0 ; +0x74, 0x573e0 FCCMP S0, S8, #0, GE ; +0x78, 0x573e4 B.LE loc_573A8 ; +0x7c, 0x573e8 MOV W0, #0x1F ; +0x80, 0x573ec B loc_5740C ; +0x84, 0x573f0 LDR W8, [X20,#0x48] ; +0x88, 0x573f4 MOV W0, WZR ; +0x8c, 0x573f8 STR X21, [X20,#0xE0] ; +0x90, 0x573fc STR W19, [X20,#0xE8] ; +0x94, 0x57400 ORR W8, W8, #4 ; +0x98, 0x57404 STR W8, [X20,#0x48] ; +0x9c, 0x57408 LDP X29, X30, [SP,#0x30+var_s0] ; +0xa0, 0x5740c LDP X20, X19, [SP,#0x30+var_10] ; +0xa4, 0x57410 LDP X22, X21, [SP,#0x30+var_20] ; +0xa8, 0x57414 LDR X23, [SP,#0x30+var_28] ; +0xac, 0x57418 LDR D8, [SP+0x30+var_30],#0x40 ; +0xb0, 0x5741c RET ; +0xb4, 0x57420