; ; sub_55DCC from 0x55dcc to 0x55f6c (416 bytes) ; ; 5 xrefs: ; > sub_5704C @ 0x57130 ; > sub_58380 @ 0x583ac ; > sub_58674 @ 0x58740 ; > sub_5B3B0 @ 0x5b3d4 ; > sub_5B6D4 @ 0x5b76c ; ; 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, #0x70 ; +0x0, 0x55dcc STP D9, D8, [SP,#0x60+var_50] ; +0x4, 0x55dd0 STP X24, X23, [SP,#0x60+var_30] ; +0x8, 0x55dd4 STP X22, X21, [SP,#0x60+var_20] ; +0xc, 0x55dd8 STP X20, X19, [SP,#0x60+var_10] ; +0x10, 0x55ddc STP X29, X30, [SP,#0x60+var_s0] ; +0x14, 0x55de0 STR WZR, [SP,#0x60+var_34] ; +0x18, 0x55de4 LDR X8, [X0] ; +0x1c, 0x55de8 ADD X2, SP, #0x60+var_58 ; +0x20, 0x55dec MOV W1, #0xFFFFFFFE ; +0x24, 0x55df0 STR X25, [SP,#0x60+var_40] ; +0x28, 0x55df4 LDR X8, [X8,#0x120] ; +0x2c, 0x55df8 ADD X29, SP, #0x60 ; +0x30, 0x55dfc MOV X19, X0 ; +0x34, 0x55e00 MOV W20, W3 ; +0x38, 0x55e04 BLR X8 ; +0x3c, 0x55e08 CBZ W0, loc_55E30 ; +0x40, 0x55e0c LDP X29, X30, [SP,#0x60+var_s0] ; +0x44, 0x55e10 LDP X20, X19, [SP,#0x60+var_10] ; +0x48, 0x55e14 LDP X22, X21, [SP,#0x60+var_20] ; +0x4c, 0x55e18 LDP X24, X23, [SP,#0x60+var_30] ; +0x50, 0x55e1c LDR X25, [SP,#0x60+var_40] ; +0x54, 0x55e20 LDP D9, D8, [SP,#0x60+var_50] ; +0x58, 0x55e24 ADD SP, SP, #0x70 ; 'p' ; +0x5c, 0x55e28 RET ; +0x60, 0x55e2c LDR X8, [X19] ; +0x64, 0x55e30 LDR X21, [SP,#0x60+var_58] ; +0x68, 0x55e34 ADD X2, SP, #0x60+var_34 ; +0x6c, 0x55e38 MOV X0, X19 ; +0x70, 0x55e3c LDR X8, [X8,#0x138] ; +0x74, 0x55e40 MOV X1, X21 ; +0x78, 0x55e44 BLR X8 ; +0x7c, 0x55e48 LDR X8, [X19,#0x110] ; +0x80, 0x55e4c ADD X23, X19, #0x110 ; +0x84, 0x55e50 CMP X8, X23 ; +0x88, 0x55e54 B.NE loc_55E68 ; +0x8c, 0x55e58 LDR X9, [X19,#0x118] ; +0x90, 0x55e5c CMP X9, X23 ; +0x94, 0x55e60 B.EQ loc_55EFC ; +0x98, 0x55e64 MOV W22, WZR ; +0x9c, 0x55e68 FMOV S8, #1.0 ; +0xa0, 0x55e6c FMOV S9, WZR ; +0xa4, 0x55e70 MOV W9, #0xFFFFFFFF ; +0xa8, 0x55e74 CMP X8, X23 ; +0xac, 0x55e78 B.EQ loc_55F08 ; +0xb0, 0x55e7c LDR W10, [SP,#0x60+var_34] ; +0xb4, 0x55e80 LDR X24, [X8] ; +0xb8, 0x55e84 LDR X25, [X8,#0x10] ; +0xbc, 0x55e88 SUB X0, X8, #0x90 ; +0xc0, 0x55e8c CMP W9, W10 ; +0xc4, 0x55e90 B.GE loc_55EB4 ; +0xc8, 0x55e94 CMP W10, W25,ASR#16 ; +0xcc, 0x55e98 B.GE loc_55EB4 ; +0xd0, 0x55e9c LDR S0, [X21,#0x238] ; +0xd4, 0x55ea0 LDR S1, [X21,#0x2A8] ; +0xd8, 0x55ea4 LDR S2, [X19,#0x30] ; +0xdc, 0x55ea8 MOV W22, #1 ; +0xe0, 0x55eac BL sub_579B4 ; +0xe4, 0x55eb0 ADD X8, X0, #0x64 ; 'd' ; +0xe8, 0x55eb4 LDAR W8, [X8] ; +0xec, 0x55eb8 TBNZ W8, #0, loc_55EF0 ; +0xf0, 0x55ebc SXTH W1, W25 ; +0xf4, 0x55ec0 MOV X2, SP ; +0xf8, 0x55ec4 MOV X3, XZR ; +0xfc, 0x55ec8 MOV X4, XZR ; +0x100, 0x55ecc MOV W5, WZR ; +0x104, 0x55ed0 STR XZR, [SP,#0x60+var_60] ; +0x108, 0x55ed4 BL sub_CC2D4 ; +0x10c, 0x55ed8 CBNZ W0, loc_55E10 ; +0x110, 0x55edc LDR X8, [SP,#0x60+var_60] ; +0x114, 0x55ee0 LDP S0, S1, [X8] ; +0x118, 0x55ee4 FMADD S9, S0, S9, S1 ; +0x11c, 0x55ee8 FMUL S8, S0, S8 ; +0x120, 0x55eec ASR W9, W25, #0x10 ; +0x124, 0x55ef0 MOV X8, X24 ; +0x128, 0x55ef4 B loc_55E78 ; +0x12c, 0x55ef8 MOV W22, WZR ; +0x130, 0x55efc FMOV S8, #1.0 ; +0x134, 0x55f00 FMOV S9, WZR ; +0x138, 0x55f04 CBZ X21, loc_55F20 ; +0x13c, 0x55f08 TBNZ W22, #0, loc_55F20 ; +0x140, 0x55f0c LDR S0, [X21,#0x238] ; +0x144, 0x55f10 LDR S1, [X21,#0x2A8] ; +0x148, 0x55f14 LDR S2, [X19,#0x30] ; +0x14c, 0x55f18 BL sub_579B4 ; +0x150, 0x55f1c LDR S0, [X19,#0x58] ; +0x154, 0x55f20 FCMP S0, S8 ; +0x158, 0x55f24 B.EQ loc_55F48 ; +0x15c, 0x55f28 LDR X8, [X19] ; +0x160, 0x55f2c STP S8, S9, [X19,#0x58] ; +0x164, 0x55f30 MOV X0, X19 ; +0x168, 0x55f34 LDR X8, [X8,#0x200] ; +0x16c, 0x55f38 BLR X8 ; +0x170, 0x55f3c CBNZ W0, loc_55E10 ; +0x174, 0x55f40 B loc_55F58 ; +0x178, 0x55f44 LDR S0, [X19,#0x5C] ; +0x17c, 0x55f48 FCMP S0, S9 ; +0x180, 0x55f4c B.NE loc_55F2C ; +0x184, 0x55f50 TBNZ W20, #0, loc_55F2C ; +0x188, 0x55f54 LDR X8, [X19] ; +0x18c, 0x55f58 MOV X0, X19 ; +0x190, 0x55f5c LDR X8, [X8,#0x210] ; +0x194, 0x55f60 BLR X8 ; +0x198, 0x55f64 B loc_55E10 ; +0x19c, 0x55f68