; ; sub_5DCA0 from 0x5dca0 to 0x5ddf4 (340 bytes) ; ; 2 xrefs: ; > sub_5E794 @ 0x5eb68 ; > FMOD::Geometry::addPolygon @ 0xd50ec ; ; 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, 0x5dca0 STP D9, D8, [SP,#0x60+var_50] ; +0x4, 0x5dca4 STP X24, X23, [SP,#0x60+var_40] ; +0x8, 0x5dca8 STP X22, X21, [SP,#0x60+var_30] ; +0xc, 0x5dcac STP X20, X19, [SP,#0x60+var_20] ; +0x10, 0x5dcb0 STP X29, X30, [SP,#0x60+var_10] ; +0x14, 0x5dcb4 BL sub_5F2A0 ; +0x18, 0x5dcb8 ADD X29, SP, #0x60+var_10 ; +0x1c, 0x5dcbc MOV X23, X4 ; +0x20, 0x5dcc0 LDR X0, [X8,#0x190] ; +0x24, 0x5dcc4 MOV X20, X3 ; +0x28, 0x5dcc8 MOV W21, W2 ; +0x2c, 0x5dccc MOV W22, W1 ; +0x30, 0x5dcd0 MOV V8.16B, V1.16B ; +0x34, 0x5dcd4 MOV V9.16B, V0.16B ; +0x38, 0x5dcd8 BL sub_5F218 ; +0x3c, 0x5dcdc MOV W8, #1 ; +0x40, 0x5dce0 CMP W21, #3 ; +0x44, 0x5dce4 MOV W24, #0x1F ; +0x48, 0x5dce8 STRB W8, [SP,#0x60+var_58] ; +0x4c, 0x5dcec B.LT loc_5DDD0 ; +0x50, 0x5dcf0 CBZ X20, loc_5DDD0 ; +0x54, 0x5dcf4 LDP W9, W8, [X19,#0x28] ; +0x58, 0x5dcf8 CMP W8, W9 ; +0x5c, 0x5dcfc B.GE loc_5DD14 ; +0x60, 0x5dd00 LDP W10, W9, [X19,#0x20] ; +0x64, 0x5dd04 ADD W9, W9, W21 ; +0x68, 0x5dd08 CMP W9, W10 ; +0x6c, 0x5dd0c B.LE loc_5DD1C ; +0x70, 0x5dd10 MOV W24, #0x1F ; +0x74, 0x5dd14 B loc_5DDD0 ; +0x78, 0x5dd18 CBZ X23, loc_5DD30 ; +0x7c, 0x5dd1c STR W8, [X23] ; +0x80, 0x5dd20 LDR W9, [X19,#0x24] ; +0x84, 0x5dd24 LDR W8, [X19,#0x2C] ; +0x88, 0x5dd28 ADD W9, W9, W21 ; +0x8c, 0x5dd2c LDR W10, [X19,#0x38] ; +0x90, 0x5dd30 LDR X11, [X19,#0x30] ; +0x94, 0x5dd34 STR W9, [X19,#0x24] ; +0x98, 0x5dd38 ORR W9, W21, #0x10000 ; +0x9c, 0x5dd3c TST W22, #1 ; +0xa0, 0x5dd40 STR W10, [X11,W8,SXTW#2] ; +0xa4, 0x5dd44 LDRSW X10, [X19,#0x38] ; +0xa8, 0x5dd48 CSEL W11, W9, W21, NE ; +0xac, 0x5dd4c LDR X9, [X19,#0x40] ; +0xb0, 0x5dd50 LDR W13, [X19,#0x2C] ; +0xb4, 0x5dd54 MOV W8, #0xC ; +0xb8, 0x5dd58 MADD W12, W21, W8, W10 ; +0xbc, 0x5dd5c ADD X8, X9, X10 ; +0xc0, 0x5dd60 ADD W10, W13, #1 ; +0xc4, 0x5dd64 MOVI V0.2D, #0 ; +0xc8, 0x5dd68 AND W9, W11, #0xFFFF ; +0xcc, 0x5dd6c ADD W12, W12, #0xBC ; +0xd0, 0x5dd70 STR W10, [X19,#0x2C] ; +0xd4, 0x5dd74 ADD X10, X8, #0xBC ; +0xd8, 0x5dd78 STR W12, [X19,#0x38] ; +0xdc, 0x5dd7c STP Q0, Q0, [X8,#0x20] ; +0xe0, 0x5dd80 STP Q0, Q0, [X8] ; +0xe4, 0x5dd84 STP Q0, Q0, [X8,#0x40] ; +0xe8, 0x5dd88 STP Q0, Q0, [X8,#0x60] ; +0xec, 0x5dd8c STP Q0, Q0, [X8,#0x80] ; +0xf0, 0x5dd90 STP S9, S8, [X8,#0xB0] ; +0xf4, 0x5dd94 STR W11, [X8,#0xB8] ; +0xf8, 0x5dd98 CBZ X9, loc_5DDB8 ; +0xfc, 0x5dd9c LDR W11, [X20,#8] ; +0x100, 0x5dda0 LDR X12, [X20],#0xC ; +0x104, 0x5dda4 SUB X9, X9, #1 ; +0x108, 0x5dda8 STR W11, [X10,#8] ; +0x10c, 0x5ddac STR X12, [X10],#0xC ; +0x110, 0x5ddb0 CBNZ X9, loc_5DDA0 ; +0x114, 0x5ddb4 LDR X9, [X19,#0x50] ; +0x118, 0x5ddb8 MOV X0, X19 ; +0x11c, 0x5ddbc STR X9, [X8,#0x48] ; +0x120, 0x5ddc0 STR X8, [X19,#0x50] ; +0x124, 0x5ddc4 BL sub_5D760 ; +0x128, 0x5ddc8 MOV W24, WZR ; +0x12c, 0x5ddcc BL sub_5F234 ; +0x130, 0x5ddd0 MOV W0, W24 ; +0x134, 0x5ddd4 LDP X29, X30, [SP,#0x60+var_10] ; +0x138, 0x5ddd8 LDP X20, X19, [SP,#0x60+var_20] ; +0x13c, 0x5dddc LDP X22, X21, [SP,#0x60+var_30] ; +0x140, 0x5dde0 LDP X24, X23, [SP,#0x60+var_40] ; +0x144, 0x5dde4 LDP D9, D8, [SP,#0x60+var_50] ; +0x148, 0x5dde8 ADD SP, SP, #0x60 ; '`' ; +0x14c, 0x5ddec RET ; +0x150, 0x5ddf0