__int64 __fastcall sub_5E88(char n2)
{
__int64 v2; // rbx
__int64 v3; // rdx
__int64 v4; // rcx
__int64 v5; // r8
__int64 v6; // r9
__int64 result; // rax
__int64 v8; // rdx
__int64 v9; // r9
__int64 v10; // rdx
__int64 v11; // rcx
__int64 v12; // r8
__int64 v13; // r9
char n2_2; // [rsp+28h] [rbp-30h]
char v15; // [rsp+68h] [rbp+10h] BYREF
char v16; // [rsp+70h] [rbp+18h] BYREF
char n4; // [rsp+78h] [rbp+20h] BYREF
char n2_1; // [rsp+79h] [rbp+21h]
v2 = (*(__int64 (__fastcall **)(void *, _QWORD, __int64 *))(qword_96A8 + 320))(&unk_9460, 0, &qword_9690); /*0x5eb0*/
result = sub_7F8(v4, v3, v5, v6); /*0x5eb3*/
if ( (_BYTE)result ) /*0x5ebf*/
{
result = sub_804(64); /*0x5ec3*/
if ( (_BYTE)result ) /*0x5eca*/
result = sub_740(64, "[System Inventory] Locating IPMI Dxe Protocol Status - %r\n", v2); /*0x5ed8*/
}
if ( v2 >= 0 ) /*0x5ee0*/
{
n4 = 4; /*0x5ee7*/
LOBYTE(v9) = -53; /*0x5ef1*/
n2_1 = n2; /*0x5ef9*/
n2_2 = 2; /*0x5f0b*/
LOBYTE(v8) = 50; /*0x5f15*/
v15 = 1; /*0x5f21*/
(*(void (__fastcall **)(__int64, __int64, _QWORD, __int64, char *, char, char *, char *))(qword_9690 + 16))( /*0x5f26*/
qword_9690,
v8,
0,
v9,
&n4,
n2_2,
&v16,
&v15);
result = sub_7F8(v11, v10, v12, v13); /*0x5f29*/
if ( (_BYTE)result ) /*0x5f30*/
{
result = sub_804(64); /*0x5f35*/
if ( (_BYTE)result ) /*0x5f3c*/
return sub_740(64, "Set CD Device Number to 2 for USB Data transferring.\n"); /*0x5f48*/
}
}
return result; /*0x5f4d*/
}