// // sub_54544 from 0x54544 to 0x54644 (256 bytes) // // 1 xrefs: // > @ 0x10c350 // // 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 // __int64 __fastcall sub_54544(__int64 a1) { __int64 v2; // x0 char v3; // w20 __int64 v4; // x0 __int64 v5; // x8 __int64 v6; // x8 __int64 v7; // x0 unsigned int v8; // w0 _QWORD *v9; // x8 unsigned int v10; // w21 __int64 v11; // x0 __int64 v12; // x0 __int64 v13; // x0 _QWORD *v14; // x10 __int64 v15; // x8 _QWORD *v16; // x10 v2 = sub_E4548(*(_QWORD *)(a1 + 8) + 16LL); v3 = v2; v4 = sub_54D20(v2); if ( (v4 & 1) != 0 || (*(_DWORD *)(a1 + 56) & 0x10000) == 0 ) { v5 = *(_QWORD *)(a1 + 40); if ( v5 ) { v6 = *(_QWORD *)(v5 + 96); if ( v6 ) { v4 = *(_QWORD *)(v6 + 368); if ( v4 ) v4 = sub_E004C(); } } v4 = sub_54CE8(v4); } sub_54C9C(v4); v7 = *(_QWORD *)(a1 + 192); if ( v7 ) { v8 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v7 + 80LL))(v7); v9 = *(_QWORD **)(a1 + 192); v10 = v8; v9[3] = 0; v9[5] = 0; v9[6] = 0; *(_QWORD *)(a1 + 192) = 0; } else { v10 = 0; } v11 = ((__int64 (__fastcall *)(__int64))loc_5253C)(a1); v12 = sub_54CB8(v11); if ( (*(_BYTE *)(a1 + 58) & (unsigned __int8)~v3 & 1) == 0 ) v12 = sub_54CF4(v12); sub_54CDC(v12); v13 = *(_QWORD *)(a1 + 8); v14 = *(_QWORD **)(v13 + 72704); v15 = a1 + 168; if ( v14 == (_QWORD *)(a1 + 168) ) *(_QWORD *)(v13 + 72704) = *v14; v16 = *(_QWORD **)(a1 + 176); *v16 = *(_QWORD *)(a1 + 168); *(_QWORD *)(*(_QWORD *)(a1 + 168) + 8LL) = v16; *(_QWORD *)(a1 + 168) = v15; *(_QWORD *)(a1 + 176) = v15; *(_QWORD *)(a1 + 184) = 0; sub_7B9F0(v13, 10); return v10; }