__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); }