__int64 sub_5388() { __int64 result; // rax unsigned __int64 n0x10; // rbx __int64 v2; // rax __int64 v3; // rcx result = qword_7948; /*0x5392*/ if ( !qword_7948 ) /*0x539e*/ { n0x10 = (*(__int64 (__fastcall **)(__int64))(qword_7930 + 24))(31); /*0x53b7*/ (*(void (__fastcall **)(unsigned __int64))(qword_7930 + 32))(n0x10); /*0x53ba*/ if ( n0x10 <= 0x10 ) /*0x53c1*/ { v2 = (*(__int64 (__fastcall **)(void *, _QWORD, __int64 *))(qword_7930 + 320))(&unk_73A0, 0, &qword_7948); /*0x53de*/ v3 = qword_7948; /*0x53e4*/ if ( v2 < 0 ) /*0x53ee*/ v3 = 0; /*0x53ee*/ qword_7948 = v3; /*0x53f2*/ return v3; /*0x53f9*/ } else { return 0; /*0x53c3*/ } } return result; /*0x5401*/ }