__int64 __fastcall sub_90C(char a1, __int64 a2, __int64 a3, __int64 a4)
{
__int64 v4; // rax
char v5; // bl
__int64 result; // rax
_BYTE v8[24]; // [rsp+40h] [rbp-18h] BYREF
char n3; // [rsp+70h] [rbp+18h] BYREF
char v10; // [rsp+78h] [rbp+20h] BYREF
v4 = qword_7920; /*0x916*/
v5 = a2; /*0x91d*/
if ( !qword_7920 ) /*0x925*/
{
result = (*(__int64 (__fastcall **)(void *, _QWORD, __int64 *))(qword_79B8 + 320))(&unk_7450, 0, &qword_7920); /*0x93e*/
if ( result < 0 ) /*0x947*/
{
qword_7920 = 0; /*0x949*/
return result; /*0x951*/
}
v4 = qword_7920; /*0x953*/
}
v8[0] = a1; /*0x95f*/
LOBYTE(a4) = 43; /*0x969*/
v8[1] = v5; /*0x971*/
LOBYTE(a2) = 46; /*0x98c*/
n3 = 3; /*0x991*/
return (*(__int64 (__fastcall **)(__int64, __int64, _QWORD, __int64, _BYTE *, char, char *, char *))(v4 + 16))( /*0x99e*/
v4,
a2,
0,
a4,
v8,
2,
&v10,
&n3);
}