__int64 __fastcall sub_3E1C()
{
__int64 v0; // rbx
__int64 v1; // rdx
__int64 v2; // rcx
__int64 v3; // r8
__int64 v4; // r9
__int64 result; // rax
__int64 v6; // rdx
__int64 v7; // r9
__int64 v8; // rdx
__int64 v9; // rcx
__int64 v10; // r8
__int64 v11; // r9
char n2; // [rsp+28h] [rbp-30h]
__int16 v13[12]; // [rsp+40h] [rbp-18h] BYREF
char v14; // [rsp+70h] [rbp+18h] BYREF
char v15; // [rsp+78h] [rbp+20h] BYREF
v0 = (*(__int64 (__fastcall **)(void *, _QWORD, __int64 *))(qword_96A8 + 320))(&unk_9460, 0, &qword_9690); /*0x3e43*/
result = sub_7F8(v2, v1, v3, v4); /*0x3e46*/
if ( (_BYTE)result ) /*0x3e52*/
{
result = sub_804(64); /*0x3e56*/
if ( (_BYTE)result ) /*0x3e5d*/
result = sub_740(64, "[System Inventory] Locating IPMI Dxe Protocol Status - %r\n", v0); /*0x3e6b*/
}
if ( v0 >= 0 ) /*0x3e73*/
{
v13[0] = 4; /*0x3e7a*/
LOBYTE(v7) = -53; /*0x3e86*/
v14 = 1; /*0x3e8e*/
n2 = 2; /*0x3ea0*/
LOBYTE(v6) = 50; /*0x3eaa*/
(*(void (__fastcall **)(__int64, __int64, _QWORD, __int64, __int16 *, char, char *, char *))(qword_9690 + 16))( /*0x3eb6*/
qword_9690,
v6,
0,
v7,
v13,
n2,
&v15,
&v14);
result = sub_7F8(v9, v8, v10, v11); /*0x3eb9*/
if ( (_BYTE)result ) /*0x3ec0*/
{
result = sub_804(64); /*0x3ec5*/
if ( (_BYTE)result ) /*0x3ecc*/
return sub_740(64, "Set the BMC virtual CD number to 0. \n"); /*0x3ed8*/
}
}
return result; /*0x3ee2*/
}