char BuildNvmeSlotInfoEntry(char n7, char a2, char a3, char a4, char a5, char a6, char a7)
{
char result; // al
__int64 v9; // rdx
result = 0; /*0x1919*/
switch ( n7 ) /*0x1926*/
{
case 0: /*0x1926*/
if ( !a4 ) /*0x19c6*/
return result; /*0x19c6*/
result = byte_7530; /*0x19c8*/
goto LABEL_25; /*0x19c8*/
case 1: /*0x1926*/
if ( !a4 ) /*0x19b9*/
return result; /*0x19b9*/
result = byte_7535; /*0x19bb*/
goto LABEL_25; /*0x19c1*/
case 2: /*0x1926*/
if ( !a5 ) /*0x19ac*/
return result; /*0x19ac*/
result = byte_753A; /*0x19ae*/
goto LABEL_25; /*0x19b4*/
case 3: /*0x1926*/
if ( !a5 ) /*0x199e*/
return result; /*0x199e*/
result = byte_753F; /*0x19a0*/
goto LABEL_25; /*0x19a6*/
case 4: /*0x1926*/
if ( !a6 ) /*0x1990*/
return result; /*0x1990*/
result = byte_7558; /*0x1992*/
goto LABEL_25; /*0x1998*/
case 5: /*0x1926*/
if ( !a6 ) /*0x1982*/
return result; /*0x1982*/
result = byte_755D; /*0x1984*/
goto LABEL_25; /*0x198a*/
case 6: /*0x1926*/
if ( !a7 ) /*0x1974*/
return result; /*0x1974*/
result = byte_7562; /*0x1976*/
goto LABEL_25; /*0x197c*/
}
if ( n7 == 7 && a7 ) /*0x1962*/
{
result = byte_7567; /*0x1968*/
LABEL_25:
v9 = (unsigned __int8)byte_7D91; /*0x19ce*/
byte_7D60[2 * (unsigned __int8)byte_7D91 + 1] = a3 + n7 - a2; /*0x19e2*/
byte_7D60[2 * v9 + 2] = result; /*0x19e7*/
byte_7D91 = v9 + 1; /*0x19ee*/
}
return result; /*0x19f9*/
}
char __fastcall BuildNvmeSlotInfoEntry2(unsigned __int8 a1, char a2, char a3, __int64 a4, char a5, char a6, char a7)
{
char result; // al
int v10; // ecx
int v11; // ecx
__int64 v12; // rdx
result = 0; /*0x1a00*/
if ( a1 ) /*0x1a0b*/
{
v10 = a1 - 1; /*0x1a0d*/
if ( v10 ) /*0x1a10*/
{
v11 = v10 - 1; /*0x1a12*/
if ( v11 ) /*0x1a15*/
{
if ( v11 != 1 ) /*0x1a1a*/
return result; /*0x1a1a*/
if ( a7 == 1 ) /*0x1a24*/
{
if ( !a6 ) /*0x1a2a*/
return result; /*0x1a2a*/
result = byte_7521; /*0x1a2c*/
}
else
{
if ( !a6 ) /*0x1a38*/
return result; /*0x1a38*/
result = byte_7503; /*0x1a3a*/
}
}
else if ( a7 == 1 ) /*0x1a47*/
{
if ( !a6 ) /*0x1a4d*/
return result; /*0x1a4d*/
result = byte_751C; /*0x1a4f*/
}
else
{
if ( !a6 ) /*0x1a5b*/
return result; /*0x1a5b*/
result = byte_74FE; /*0x1a5d*/
}
}
else
{
if ( !a5 ) /*0x1a69*/
return result; /*0x1a69*/
result = byte_74F9; /*0x1a6b*/
}
}
else
{
if ( !a5 ) /*0x1a77*/
return result; /*0x1a77*/
result = byte_74F4; /*0x1a79*/
}
v12 = (unsigned __int8)byte_7D91; /*0x1a7f*/
byte_7D60[2 * (unsigned __int8)byte_7D91 + 1] = a3 + a1 - a2; /*0x1a93*/
byte_7D60[2 * v12 + 2] = result; /*0x1a98*/
byte_7D91 = v12 + 1; /*0x1a9f*/
return result; /*0x1aa5*/
}
__int64 __fastcall OemCollectNvmeVmdSlotInfo(int a1)
{
unsigned __int8 v1; // si
__int64 v2; // rdx
__int64 v3; // rcx
__int64 v4; // r8
__int64 v5; // r9
unsigned __int8 v6; // r12
unsigned __int8 v7; // r15
bool v8; // zf
unsigned __int8 v9; // r13
char n8; // di
char n4; // bl
__int64 v12; // r9
char n7; // cl
char v14; // cl
unsigned __int8 n4_1; // r11
char v16; // r14
char v17; // si
char v18; // r11
unsigned __int8 n4_2; // r11
char v20; // r12
char v21; // di
char v22; // r11
char n8_2; // cl
char v24; // cl
char v25; // r14
char v26; // si
char v27; // r11
__int64 result; // rax
unsigned __int8 v29; // [rsp+40h] [rbp-18h]
unsigned __int8 v30; // [rsp+41h] [rbp-17h]
unsigned __int8 v31; // [rsp+42h] [rbp-16h]
unsigned __int8 n4_3; // [rsp+43h] [rbp-15h] BYREF
_DWORD v33[5]; // [rsp+44h] [rbp-14h] BYREF
int v34; // [rsp+A0h] [rbp+48h] BYREF
unsigned __int8 v35; // [rsp+A8h] [rbp+50h] BYREF
unsigned __int8 n8_1; // [rsp+B0h] [rbp+58h] BYREF
char v37; // [rsp+B8h] [rbp+60h] BYREF
v1 = 0; /*0x1abc*/
v37 = -1; /*0x1abe*/
n8_1 = 0; /*0x1ac6*/
n4_3 = 0; /*0x1ace*/
LOBYTE(v34) = -1; /*0x1adf*/
if ( GetSocketConfig(a1, (unsigned int)&n8_1, (unsigned int)&v37, (unsigned int)&n4_3, (__int64)&v34) < 0 )
return DebugPrint(
0x80000000LL,
"[OemCollectNvmeVmdSlotInfo]: Get BP type failed!! Skip update the NVME slot info in VMD menu! \n");
v6 = v37; /*0x1af1*/
v7 = v34; /*0x1af5*/
if ( v37 == -1 && (_BYTE)v34 == 0xFF )
return DebugPrint(
0x80000000LL,
"[OemCollectNvmeVmdSlotInfo]: Get BP type failed!! Skip update the NVME slot info in VMD menu! \n");
SendBmcCommand(v3, v2, v4, v5); /*0x1b08*/
v34 = 0; /*0x1b11*/
GetGpioPadConfig(16973832, &v34); /*0x1b19*/
v8 = v34 == 0; /*0x1b1e*/
v34 = 0; /*0x1b2a*/
v29 = v8; /*0x1b2d*/
GetGpioPadConfig(16973833, &v34); /*0x1b31*/
v8 = v34 == 0; /*0x1b36*/
v34 = 0; /*0x1b42*/
v30 = v8; /*0x1b45*/
GetGpioPadConfig(16973834, &v34); /*0x1b49*/
v8 = v34 == 0; /*0x1b4e*/
v34 = 0; /*0x1b5a*/
v31 = v8; /*0x1b5d*/
GetGpioPadConfig(16973835, &v34); /*0x1b61*/
v9 = v34 == 0; /*0x1b71*/
DetectInterposerCardInstall(&v34, &v35); /*0x1b75*/
n8 = n8_1; /*0x1b7a*/
DebugPrint(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: OnBoardNvmeBaseIndexNumber = %x\n", n8_1);
DebugPrint(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: OnBoardNvmeBaseSlotNumber = %x\n", v6);
n4 = n4_3; /*0x1ba9*/
DebugPrint(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: RiserNvmeBaseIndexNumber = %x\n", n4_3);
DebugPrint(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: RiserNvmeBaseSlotNumber = %x\n", v7);
DebugPrint(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: IsOnBoardNVME67Present = %x\n", v9);
DebugPrint(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: IsOnBoardNVME45Present = %x\n", v31);
DebugPrint(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: IsOnBoardNVME23Present = %x\n", v30);
DebugPrint(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: IsOnBoardNVME01Present = %x\n", v29);
DebugPrint(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: FirstInterPoserCardInstall = %x\n", (unsigned __int8)v34);
DebugPrint(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: SecondInterPoserCardInstallx = %x\n", v35);
byte_7D91 = 0; /*0x1c4d*/
GetGpioPadConfig(17170432, v33); /*0x1c59*/
if ( v33[0] == 1 ) /*0x1c62*/
{
if ( v9 ) /*0x1c6b*/
{
n7 = n8; /*0x1c6d*/
if ( (unsigned __int8)n8 >= 8u ) /*0x1c74*/
goto LABEL_25; /*0x1c74*/
do /*0x1ca6*/
{
BuildNvmeSlotInfoEntry(n7, n8, v6, v29, v30, v31, v9); /*0x1c9c*/
n7 = v14 + 1; /*0x1ca1*/
}
while ( (unsigned __int8)n7 < 8u ); /*0x1ca6*/
}
else
{
n4_1 = n4; /*0x1cad*/
if ( (unsigned __int8)n4 >= 4u ) /*0x1cb3*/
goto LABEL_25; /*0x1cb3*/
v16 = v34; /*0x1cb9*/
v17 = v35; /*0x1cbd*/
do /*0x1ce4*/
{
BuildNvmeSlotInfoEntry2(n4_1, n4, v7, v12, v16, v17, 1); /*0x1cd8*/
n4_1 = v18 + 1; /*0x1cdd*/
}
while ( n4_1 < 4u ); /*0x1ce4*/
}
}
return 0;
}
char SendVmdCommandToBmc()
{
__int64 v0; // rax
__int64 v1; // r8
_BYTE *v2; // rdx
unsigned __int16 v3; // ax
__int64 v4; // rdx
__int64 v5; // r9
unsigned __int8 i; // bl
__int64 v7; // r9
__int64 v8; // rdx
int v10; // [rsp+28h] [rbp-D8h]
_BYTE v11[6688]; // [rsp+40h] [rbp-C0h] BYREF
char n2; // [rsp+1A70h] [rbp+1970h] BYREF
unsigned __int16 v13; // [rsp+1A78h] [rbp+1978h] BYREF
__int16 v14; // [rsp+1A80h] [rbp+1980h] BYREF
__int64 n6668; // [rsp+1A88h] [rbp+1988h] BYREF
if ( qword_7920 /*0x1058*/
|| (v0 = (*(__int64 (__fastcall **)(void *, _QWORD, __int64 *))(qword_79B8 + 320))(&unk_7450, 0, &qword_7920),
v0 >= 0) )
{
n6668 = 6668; /*0x106c*/
v0 = (*(__int64 (__fastcall **)(const __int16 *, void *, _QWORD, __int64 *, _BYTE *))(qword_79C0 + 72))( /*0x109b*/
L"SocketIioConfig",
&unk_7470,
0,
&n6668,
v11);
if ( v0 >= 0 ) /*0x10a1*/
{
OemCollectNvmeVmdSlotInfo(); /*0x10a7*/
v13 = 0; /*0x10ac*/
n6668 = 49; /*0x10bb*/
if ( byte_7D91 && byte_7D60 ) /*0x10d0*/
{
v1 = (unsigned __int8)byte_7D60; /*0x10d2*/
v2 = &unk_7D61; /*0x10d6*/
v3 = v13; /*0x10dd*/
do /*0x1126*/
{
if ( v2[1] <= 0x17u /*0x110e*/
&& *v2 <= 0xBu
&& v11[((unsigned __int64)(unsigned __int8)v2[1] >> 2) + 4266] == 1
&& v11[(unsigned __int8)v2[1] + 4278] == 1 )
{
v3 |= 1 << (*v2 & 0xF); /*0x1113*/
v13 = v3; /*0x1117*/
}
v2 += 2; /*0x111e*/
--v1; /*0x1122*/
}
while ( v1 ); /*0x1126*/
}
else
{
v3 = v13; /*0x112a*/
}
DebugPrint(64, "SendVmdCommandToBp %x to BMC\
", v3); /*0x1141*/
for ( i = 0; i < 0xAu; ++i ) /*0x1146*/
{
n2 = 0; /*0x114f*/
LOBYTE(v5) = 96; /*0x115b*/
LOBYTE(v10) = 2; /*0x116b*/
LOBYTE(v4) = 46; /*0x1178*/
v0 = (*(__int64 (__fastcall **)(__int64, __int64, _QWORD, __int64, unsigned __int16 *, int, _QWORD, char *))(qword_7920 + 16))( /*0x1184*/
qword_7920,
v4,
0,
v5,
&v13,
v10,
0,
&n2);
if ( v0 >= 0 ) /*0x118a*/
{
(*(void (__fastcall **)(__int64))(qword_79B8 + 248))(5000); /*0x1198*/
v14 = 0; /*0x119e*/
LOBYTE(v7) = 97; /*0x11b2*/
n2 = 2; /*0x11bc*/
LOBYTE(v8) = 46; /*0x11d2*/
LOBYTE(v10) = 0; /*0x11d4*/
v0 = (*(__int64 (__fastcall **)(__int64, __int64, _QWORD, __int64, _QWORD, int, __int16 *, char *))(qword_7920 + 16))( /*0x11e2*/
qword_7920,
v8,
0,
v7,
0,
v10,
&v14,
&n2);
if ( v0 < 0 ) /*0x11e8*/
break; /*0x11e8*/
LOBYTE(v0) = v13; /*0x11ea*/
if ( (_BYTE)v14 == (_BYTE)v13 ) /*0x11f6*/
{
LOBYTE(v0) = HIBYTE(v13); /*0x11f8*/
if ( HIBYTE(v14) == HIBYTE(v13) ) /*0x1204*/
break; /*0x1204*/
}
}
}
}
}
else
{
qword_7920 = 0; /*0x105a*/
}
return v0; /*0x1211*/
}
__int64 __fastcall UpdateVmdNvmeConfig(unsigned __int8 a1)
{
int v1; // ebx
__int64 v2; // rdx
__int64 n4; // r8
__int64 v4; // r9
__int64 v5; // rdi
__int64 v6; // rsi
__int64 v7; // rbx
char n2_4; // al
__int64 v9; // rax
char n2_2; // cl
char n2_1; // al
__int64 v12; // rax
char v13; // cl
__int64 v14; // rax
char v15; // dl
unsigned __int8 v17; // [rsp+30h] [rbp-D0h] BYREF
char n8; // [rsp+31h] [rbp-CFh]
char n2; // [rsp+32h] [rbp-CEh] BYREF
char v20; // [rsp+33h] [rbp-CDh]
char v21; // [rsp+34h] [rbp-CCh]
char n2_3; // [rsp+35h] [rbp-CBh]
char v23; // [rsp+36h] [rbp-CAh]
char v24; // [rsp+37h] [rbp-C9h]
char v25; // [rsp+38h] [rbp-C8h]
char v26; // [rsp+39h] [rbp-C7h]
_BYTE v27[72]; // [rsp+140h] [rbp+40h] BYREF
char n15; // [rsp+188h] [rbp+88h]
_BYTE v29[11]; // [rsp+310h] [rbp+210h] BYREF
char n3; // [rsp+31Bh] [rbp+21Bh]
_BYTE v31[52]; // [rsp+3F0h] [rbp+2F0h] BYREF
char n7; // [rsp+424h] [rbp+324h]
char v33; // [rsp+426h] [rbp+326h]
char v34; // [rsp+428h] [rbp+328h]
char v35; // [rsp+42Ah] [rbp+32Ah]
char v36; // [rsp+42Ch] [rbp+32Ch]
char v37; // [rsp+42Eh] [rbp+32Eh]
char v38; // [rsp+430h] [rbp+330h]
char n2_5; // [rsp+477h] [rbp+377h]
char v40; // [rsp+50Ah] [rbp+40Ah]
_BYTE v41[304]; // [rsp+720h] [rbp+620h] BYREF
_BYTE v42[352]; // [rsp+850h] [rbp+750h] BYREF
_BYTE v43[528]; // [rsp+9B0h] [rbp+8B0h] BYREF
_BYTE v44[1504]; // [rsp+BC0h] [rbp+AC0h] BYREF
char v45[6688]; // [rsp+11A0h] [rbp+10A0h] BYREF
char v46; // [rsp+2BD0h] [rbp+2AD0h] BYREF
__int64 n301; // [rsp+2BD8h] [rbp+2AD8h] BYREF
n301 = 0; /*0xa83*/
v1 = a1; /*0xa90*/
v17 = a1; /*0xa98*/
n8 = 0; /*0xa9c*/
SetMemZero(&n2, 256); /*0xaa1*/
v5 = 0; /*0xaa6*/
v6 = 0; /*0xaa8*/
if ( !(_BYTE)v1 ) /*0xaae*/
{
n8 = 8; /*0xf22*/
n301 = 301; /*0xf48*/
v7 = (*(__int64 (__fastcall **)(const __int16 *, void *, char *, __int64 *, _BYTE *))(qword_7940 + 72))( /*0xf5d*/
L"SocketProcessorCoreConfig",
&unk_7410,
&v46,
&n301,
v41);
if ( v7 >= 0 ) /*0xf63*/
{
n2 = v41[5] == 0; /*0xf72*/
v20 = v41[7]; /*0xf77*/
}
n301 = 462; /*0xf7f*/
v6 = (*(__int64 (__fastcall **)(const __int16 *, void *, char *, __int64 *, _BYTE *))(qword_7940 + 72))( /*0xfb5*/
L"SocketPowerManagementConfig",
&unk_7430,
&v46,
&n301,
v27);
if ( v6 >= 0 ) /*0xfbb*/
{
v21 = v27[4]; /*0xfc0*/
n2_3 = v27[24]; /*0xfc7*/
v23 = v27[46]; /*0xfce*/
v24 = v27[49]; /*0xfd5*/
v25 = v27[48]; /*0xfdc*/
v26 = v27[63]; /*0xfe3*/
}
goto LABEL_53; /*0xfe3*/
}
switch ( v1 )
{
case 1:
n8 = 5; /*0xde5*/
n301 = 341; /*0xe0b*/
v12 = (*(__int64 (__fastcall **)(const __int16 *, void *, char *, __int64 *, _BYTE *))(qword_7940 + 72))( /*0xe1d*/
L"SocketMpLinkConfig",
&unk_74A0,
&v46,
&n301,
v42);
v13 = v20; /*0xe20*/
v7 = v12; /*0xe2c*/
n301 = 514; /*0xe2f*/
if ( v12 >= 0 ) /*0xe52*/
v13 = v42[21]; /*0xe52*/
v20 = v13; /*0xe68*/
v14 = (*(__int64 (__fastcall **)(const __int16 *, void *, char *, __int64 *, _BYTE *))(qword_7940 + 72))( /*0xe73*/
L"SocketMemoryConfig",
&unk_73E0,
&v46,
&n301,
v43);
v15 = v23; /*0xe76*/
v6 = v14; /*0xe9a*/
n301 = 224; /*0xe9d*/
if ( v14 >= 0 ) /*0xea8*/
v15 = v43[168]; /*0xea8*/
v23 = v15; /*0xeb2*/
v5 = (*(__int64 (__fastcall **)(const __int16 *, void *, char *, __int64 *, _BYTE *))(qword_7940 + 72))( /*0xecd*/
L"SocketCommonRcConfig",
&unk_74B0,
&v46,
&n301,
v29);
if ( v5 >= 0 )
{
n2 = v29[9]; /*0xee4*/
if ( n3 == 3 )
v21 = 1; /*0xef2*/
else
v21 = n3 != 0 ? v21 : 0;
n2_3 = v29[10]; /*0xf07*/
n301 = 224; /*0xf0b*/
}
goto LABEL_53; /*0xf16*/
case 2:
n8 = 2; /*0xd06*/
n301 = 462; /*0xd2c*/
v5 = (*(__int64 (__fastcall **)(const __int16 *, void *, char *, __int64 *, _BYTE *))(qword_7940 + 72))( /*0xd41*/
L"SocketPowerManagementConfig",
&unk_7430,
&v46,
&n301,
v27);
if ( v5 >= 0 ) /*0xd47*/
{
if ( n15 ) /*0xd51*/
{
if ( n15 == 7 ) /*0xd5d*/
{
n2 = 1; /*0xd5f*/
}
else if ( n15 == 8 ) /*0xd69*/
{
n2 = 2; /*0xd6b*/
}
else
{
n2_1 = n2; /*0xd72*/
if ( n15 == 15 ) /*0xd7f*/
n2_1 = 3; /*0xd7f*/
n2 = n2_1; /*0xd82*/
}
}
else
{
n2 = 0; /*0xd53*/
}
}
n301 = 814; /*0xd8d*/
v7 = (*(__int64 (__fastcall **)(const __int16 *, void *, char *, __int64 *, _BYTE *))(qword_7940 + 72))( /*0xdc3*/
L"Setup",
&unk_7568,
&v46,
&n301,
v31);
if ( v7 < 0 ) /*0xdc9*/
return v5; /*0xdc9*/
v20 = v40; /*0xdd5*/
goto LABEL_53; /*0xdd9*/
case 3:
n8 = 5; /*0xc38*/
n301 = 6668; /*0xc5e*/
v9 = (*(__int64 (__fastcall **)(const __int16 *, void *, char *, __int64 *, char *))(qword_7940 + 72))( /*0xc70*/
L"SocketIioConfig",
&unk_7470,
&v46,
&n301,
v45);
n2_2 = n2; /*0xc73*/
v5 = v9; /*0xc7f*/
n301 = 1495; /*0xc82*/
if ( v9 >= 0 ) /*0xca5*/
n2_2 = v45[0]; /*0xca5*/
n2 = n2_2; /*0xcbb*/
v7 = (*(__int64 (__fastcall **)(const __int16 *, void *, char *, __int64 *, _BYTE *))(qword_7940 + 72))( /*0xcc9*/
L"PchRcConfiguration",
&unk_73B0,
&v46,
&n301,
v44);
if ( v7 < 0 ) /*0xccf*/
return v5; /*0xccf*/
v20 = v44[196]; /*0xcdb*/
v21 = v44[197]; /*0xce5*/
n2_3 = v44[82]; /*0xcef*/
v23 = v44[83]; /*0xcf9*/
goto LABEL_53; /*0xcfd*/
case 4:
n8 = 0; /*0xc27*/
return SendBmcMultiByteCommand((char *)&v17, v2, n4, v4); /*0x1000*/
case 5:
n8 = 8; /*0xb49*/
n301 = 814; /*0xb6f*/
v5 = (*(__int64 (__fastcall **)(const __int16 *, void *, char *, __int64 *, _BYTE *))(qword_7940 + 72))( /*0xb84*/
L"Setup",
&unk_7568,
&v46,
&n301,
v31);
if ( v5 < 0 ) /*0xb8a*/
return v5; /*0xb8a*/
LOBYTE(v2) = n7; /*0xb96*/
v20 = v37; /*0xb9c*/
v21 = v38; /*0xba6*/
v23 = v36; /*0xbb0*/
v24 = v33 - 7; /*0xbbd*/
v25 = v34 - 1; /*0xbc9*/
if ( n7 == 3 ) /*0xbd4*/
{
n2_3 = 0; /*0xbd6*/
}
else
{
n4 = 4; /*0xbdd*/
switch ( n7 ) /*0xbe6*/
{
case 4: /*0xbe6*/
n2_3 = 1; /*0xbe8*/
break;
case 5: /*0xbe6*/
n2_3 = 2; /*0xbf4*/
break;
case 6: /*0xbe6*/
n2_3 = 3; /*0xc00*/
break;
default:
n2_4 = n2_3; /*0xc06*/
if ( n7 == 7 ) /*0xc0e*/
n2_4 = 4; /*0xc0e*/
n2_3 = n2_4; /*0xc12*/
break;
}
}
v26 = v35 != 1; /*0xc1d*/
break;
case 6:
n8 = 1; /*0xaed*/
n301 = 814; /*0xb12*/
v7 = (*(__int64 (__fastcall **)(const __int16 *, void *, char *, __int64 *, _BYTE *))(qword_7940 + 72))( /*0xb27*/
L"Setup",
&unk_7568,
&v46,
&n301,
v31);
if ( v7 < 0 ) /*0xb2d*/
return v5; /*0xb2d*/
n2 = n2_5; /*0xb39*/
LABEL_53:
if ( v7 < 0 || v6 < 0 ) /*0xfef*/
return v5; /*0xfef*/
break;
}
if ( v5 >= 0 ) /*0xff4*/
return SendBmcMultiByteCommand((char *)&v17, v2, n4, v4); /*0xff4*/
return v5; /*0x100e*/
}
unsigned __int64 __fastcall ParseVmdNvmeConfig(unsigned __int8 *a1)
{
__int64 v1; // rdx
int v4; // ecx
int v5; // ecx
int v6; // ecx
int v7; // ecx
int v8; // ecx
unsigned __int8 n2; // cl
char n2_3; // al
__int64 n301_1; // r9
_BYTE *v12; // rax
void *v13; // rdx
const __int16 *SocketProcessorCoreConfig; // rcx
unsigned __int8 n4_2; // cl
char n4_1; // al
unsigned __int8 v17; // al
__int64 n301; // rdi
unsigned __int8 n3_1; // cl
char n7_1; // al
unsigned __int8 v21; // al
bool v22; // zf
_BYTE v23[72]; // [rsp+30h] [rbp-D0h] BYREF
char n7; // [rsp+78h] [rbp-88h]
_BYTE v25[11]; // [rsp+200h] [rbp+100h] BYREF
char n3; // [rsp+20Bh] [rbp+10Bh]
_BYTE v27[52]; // [rsp+2E0h] [rbp+1E0h] BYREF
char n4; // [rsp+314h] [rbp+214h]
char v29; // [rsp+316h] [rbp+216h]
char v30; // [rsp+318h] [rbp+218h]
char v31; // [rsp+31Ah] [rbp+21Ah]
unsigned __int8 v32; // [rsp+31Ch] [rbp+21Ch]
unsigned __int8 v33; // [rsp+31Eh] [rbp+21Eh]
unsigned __int8 v... [10043 chars total]