// // sub_1800036B0 from 0x1800036b0 to 0x180003735 (133 bytes) // // 13 xrefs: // > sub_1800030E0 @ 0x180003148 // > sub_180003160 @ 0x1800032a8 // > sub_180003630 @ 0x180003645 // > sub_180003740 @ 0x180003747 // > sub_180003750 @ 0x1800037e3 // > sub_18001DB70 @ 0x18001dbe3 // > sub_18001DB70 @ 0x18001dc74 // > sub_18001DB70 @ 0x18001dd49 // > sub_1800205F0 @ 0x180020605 // > @ 0x18002d224 // > @ 0x18002d234 // > @ 0x18002d248 // > @ 0x18004921c // // 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 // void __fastcall sub_1800036B0(__int64 a1, __int64 a2) { __int64 v3; // rbx unsigned __int64 v4; // rdx _QWORD *v5; // rcx if ( a1 != a2 ) { v3 = a1; do { v4 = *(_QWORD *)(v3 + 24); if ( v4 > 0xF ) { v5 = *(_QWORD **)v3; if ( v4 + 1 >= 0x1000 ) { if ( (unsigned __int64)v5 - *(v5 - 1) - 8 > 0x1F ) invalid_parameter_noinfo_noreturn(); v5 = (_QWORD *)*(v5 - 1); } j_j_free(v5); } *(_QWORD *)(v3 + 16) = 0; *(_QWORD *)(v3 + 24) = 15; *(_BYTE *)v3 = 0; v3 += 32; } while ( v3 != a2 ); } }