__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*/
}