unsigned __int64 __fastcall sub_18BC(
_BYTE *a1,
unsigned __int64 n256,
__int16 a3,
char *LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status,
va_list va)
{
char *LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2; // r14
__int64 v6; // r12
unsigned __int64 v8; // r13
__int64 v9; // rdi
const char *(Buffer____((void__)_0)); // r8
__int64 n578; // rdx
__int64 n0xFFFF; // rdx
_BYTE *v14; // rbx
unsigned __int64 v15; // r10
__int64 n2_2; // rsi
int v17; // eax
bool v18; // zf
unsigned __int64 n10; // rcx
char *LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_3; // rdx
char *LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_4; // r8
unsigned __int64 v22; // r9
char v23; // r11
__int64 v24; // rdi
const char *_r_n_1; // rbx
va_list va_1; // r10
char *LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_5; // rdx
int v28; // eax
unsigned __int64 n13_1; // rcx
unsigned __int16 *v30; // rax
int v31; // eax
char *LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_6; // rdx
unsigned __int64 v33; // rcx
unsigned __int64 v34; // rcx
unsigned __int64 v35; // rcx
unsigned __int64 v36; // rcx
unsigned __int64 v37; // rcx
unsigned __int64 v38; // rcx
__int64 v39; // r15
int v40; // eax
unsigned __int64 n13_2; // rcx
int v42; // eax
unsigned __int16 *v43; // rdi
int v44; // r15d
int v45; // r14d
int v46; // esi
unsigned __int64 v47; // rcx
unsigned __int64 v48; // rcx
unsigned __int64 v49; // rcx
unsigned __int64 v50; // rcx
unsigned __int64 n3; // rcx
unsigned __int64 n5; // rcx
signed __int64 v53; // rbx
char n43; // si
bool v55; // r15
unsigned int n16; // r8d
unsigned __int64 v57; // rdx
int v58; // eax
int v59; // eax
const char *i; // r8
__int64 n512; // rsi
unsigned __int64 v62; // rdx
_BYTE *v63; // rax
__int64 v64; // rcx
unsigned __int64 v65; // r10
__int64 j; // rcx
__int64 n2_3; // r11
__int64 i_1; // r8
__int64 v69; // rdi
unsigned __int64 v70; // r8
unsigned __int64 v71; // rdx
__int64 v72; // rsi
unsigned __int64 v73; // r14
__int16 v74; // cx
unsigned __int64 v75; // rax
__int64 m; // r8
__int64 n; // rax
_BYTE *v78; // rax
__int64 i_2; // r8
__int64 v80; // rcx
_BYTE *v81; // rax
__int64 k; // rcx
int v83; // eax
_BYTE *v84; // rax
__int64 ii; // rdx
__int64 v86; // [rsp+80h] [rbp-80h]
__int64 v87; // [rsp+80h] [rbp-80h]
unsigned __int64 v88; // [rsp+88h] [rbp-78h]
unsigned int n2; // [rsp+90h] [rbp-70h]
unsigned __int64 v90; // [rsp+98h] [rbp-68h]
char n43_1; // [rsp+A0h] [rbp-60h]
__int64 v92; // [rsp+B0h] [rbp-50h]
__int64 v93; // [rsp+B0h] [rbp-50h]
unsigned __int64 n13; // [rsp+B8h] [rbp-48h] BYREF
unsigned __int16 *v95; // [rsp+C0h] [rbp-40h]
__int64 n0xFFFF_1; // [rsp+C8h] [rbp-38h]
unsigned __int64 v97; // [rsp+D0h] [rbp-30h]
__int64 n2_1; // [rsp+D8h] [rbp-28h]
__int64 v99; // [rsp+E0h] [rbp-20h] BYREF
unsigned __int64 v100; // [rsp+E8h] [rbp-18h]
_BYTE _r_n[40]; // [rsp+F0h] [rbp-10h] BYREF
__int64 n512_1; // [rsp+118h] [rbp+18h]
__int64 v103; // [rsp+168h] [rbp+68h]
__int16 v104; // [rsp+170h] [rbp+70h]
char *LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_1; // [rsp+178h] [rbp+78h]
bool v106; // [rsp+188h] [rbp+88h]
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_1 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status; /*0x18c1*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status; /*0x18e0*/
LOWORD(v6) = a3; /*0x18e7*/
v8 = (unsigned __int64)a1; /*0x18ed*/
if ( n256 ) /*0x18f6*/
{
v9 = a3 & 0x2000; /*0x18f8*/
if ( (a3 & 0x2000) == 0 && !a1 ) /*0x1903*/
{
(Buffer____((void__)_0)) = "(Buffer != ((void *) 0))"; /*0x1905*/
n578 = 578; /*0x190c*/
LABEL_5:
sub_8D8( /*0x1911*/
(__int64)"e:\\hs\\MdePkg\\Library\\BasePrintLib\\PrintLibInternal.c",
n578,
(__int64)(Buffer____((void__)_0)));
return 0; /*0x191f*/
}
}
else
{
v9 = a3 & 0x2000; /*0x1924*/
if ( (a3 & 0x2000) == 0 ) /*0x192a*/
goto LABEL_10; /*0x192a*/
}
if ( !LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status ) /*0x192f*/
{
(Buffer____((void__)_0)) = "(Format != ((void *) 0))"; /*0x1931*/
n578 = 586; /*0x1938*/
goto LABEL_5; /*0x193d*/
}
LABEL_10:
if ( (a3 & 0x40) != 0 ) /*0x1948*/
{
if ( n256 > 0xF4240 ) /*0x194d*/
{
(Buffer____((void__)_0)) = "(BufferSize <= (_gPcd_FixedAtBuild_PcdMaximumUnicodeStringLength))"; /*0x194f*/
n578 = 595; /*0x1956*/
goto LABEL_5; /*0x195b*/
}
n2 = 2; /*0x195d*/
}
else
{
if ( n256 > 0xF4240 ) /*0x1969*/
{
(Buffer____((void__)_0)) = "(BufferSize <= (_gPcd_FixedAtBuild_PcdMaximumAsciiStringLength))"; /*0x196b*/
n578 = 600; /*0x1972*/
goto LABEL_5; /*0x1977*/
}
n2 = 1; /*0x1979*/
}
if ( (a3 & 0x100) != 0 ) /*0x1988*/
{
if ( sub_16FC(LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status) > 0xF4240 ) /*0x1992*/
sub_8D8( /*0x19a7*/
(__int64)"e:\\hs\\MdePkg\\Library\\BasePrintLib\\PrintLibInternal.c",
611,
(__int64)"(StrnLenS ((CHAR16 *)Format, (_gPcd_FixedAtBuild_PcdMaximumUnicodeStringLength) + 1) <= (_gPcd_FixedAtB"
"uild_PcdMaximumUnicodeStringLength))");
if ( sub_16FC(LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2) > 0xF4240 ) /*0x19b7*/
return 0; /*0x19b7*/
n2_1 = 2; /*0x19bd*/
n0xFFFF = 0xFFFF; /*0x19c5*/
}
else
{
if ( sub_1754(LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status) > 0xF4240 ) /*0x19d4*/
sub_8D8( /*0x19e9*/
(__int64)"e:\\hs\\MdePkg\\Library\\BasePrintLib\\PrintLibInternal.c",
617,
(__int64)"(AsciiStrnLenS (Format, (_gPcd_FixedAtBuild_PcdMaximumAsciiStringLength) + 1) <= (_gPcd_FixedAtBuild_Pc"
"dMaximumAsciiStringLength))");
if ( sub_1754(LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2) > 0xF4240 ) /*0x19f9*/
return 0; /*0x19f9*/
n2_1 = 1; /*0x19ff*/
n0xFFFF = 255; /*0x1a07*/
}
n0xFFFF_1 = n0xFFFF; /*0x1a0c*/
if ( v9 ) /*0x1a13*/
{
v8 &= -(__int64)(n256 != 0); /*0x1a1e*/
}
else if ( !n256 ) /*0x1a26*/
{
return 0; /*0x1a26*/
}
v14 = 0; /*0x1a2c*/
v15 = 0; /*0x1a2e*/
v100 = 0; /*0x1a31*/
v86 = 0; /*0x1a35*/
v88 = 0; /*0x1a39*/
if ( v8 ) /*0x1a40*/
{
v100 = v8; /*0x1a4d*/
v14 = (_BYTE *)(v8 + n2 * (n256 - 1)); /*0x1a51*/
v88 = (unsigned __int64)v14; /*0x1a54*/
}
n2_2 = n2_1; /*0x1a58*/
if ( n2_1 == 1 ) /*0x1a60*/
v17 = 0; /*0x1a62*/
else
v17 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2[1] << 8; /*0x1a6b*/
n10 = n0xFFFF /*0x1a77*/
& (v17 | (unsigned __int64)(unsigned __int8)*LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2);
v18 = n10 == 0; /*0x1a77*/
LABEL_245:
n13 = n10; /*0x2637*/
if ( !v18 )
{
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_3 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2; /*0x1a7f*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_4 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2; /*0x1a82*/
if ( !v8 || v8 < (unsigned __int64)v14 )
{
v95 = 0; /*0x1a93*/
v22 = 0; /*0x1a98*/
v97 = 0; /*0x1a9b*/
v6 &= 0x2140u; /*0x1aa1*/
n43_1 = 0; /*0x1aa8*/
v23 = 0; /*0x1aab*/
v104 = v6; /*0x1aae*/
v106 = 0; /*0x1ab2*/
v24 = 1; /*0x1ab8*/
v92 = 1; /*0x1abd*/
v90 = 0; /*0x1ac5*/
if ( n10 == 10 ) /*0x1acd*/
{
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2 += n2_2; /*0x2299*/
_r_n_1 = "\r\n"; /*0x229c*/
if ( n2_2 == 1 ) /*0x22a6*/
v59 = 0; /*0x22a8*/
else
v59 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2[1] << 8; /*0x22b1*/
n13 = n0xFFFF_1 /*0x22c6*/
& ((unsigned __int8)*LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2
| (unsigned __int64)v59);
if ( n13 != 13 ) /*0x22ca*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_3; /*0x22ca*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_1 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2; /*0x22ce*/
goto LABEL_92; /*0x22d2*/
}
if ( n10 == 13 ) /*0x1ad7*/
{
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2 += n2_2; /*0x225b*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_1 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2; /*0x225e*/
if ( n2_2 == 1 ) /*0x2265*/
v58 = 0; /*0x2267*/
else
v58 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2[1] << 8; /*0x2270*/
n13_2 = n0xFFFF_1 /*0x227d*/
& ((unsigned __int8)*LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2
| (unsigned __int64)v58);
goto LABEL_98; /*0x2281*/
}
if ( n10 != 37 ) /*0x1ae1*/
{
LOWORD(v6) = v6 | 0x400; /*0x1ae3*/
_r_n_1 = (const char *)&n13; /*0x1ae8*/
v104 = v6; /*0x1aec*/
goto LABEL_92; /*0x1af0*/
}
va_1 = va; /*0x1af5*/
while ( 1 )
{
while ( 1 )
{
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_5 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2; /*0x1b06*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2 += n2_2; /*0x1b09*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_1 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2; /*0x1b0c*/
v28 = n2_2 == 1 ? 0 : LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2[1] << 8;
n13_1 = n0xFFFF_1 /*0x1b2b*/
& (v28
| (unsigned __int64)(unsigned __int8)*LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2);
n13 = n13_1; /*0x1b2e*/
if ( n13_1 > 0x2D ) /*0x1b36*/
break; /*0x1b36*/
switch ( n13_1 )
{
case 0x2DuLL:
v6 |= 1uLL; /*0x1be9*/
goto LABEL_77; /*0x1bed*/
case 0uLL:
v24 = 0; /*0x1cb0*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_1 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_5; /*0x1cb2*/
v92 = 0; /*0x1cb6*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_5; /*0x1cba*/
LABEL_79:
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_6 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2; /*0x1cbd*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_4 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2; /*0x1cc0*/
if ( n13_1 > 0x67 ) /*0x1cc7*/
{
v47 = n13_1 - 112; /*0x1ef6*/
if ( v47 ) /*0x1efa*/
{
v48 = v47 - 2; /*0x1f00*/
if ( v48 ) /*0x1f04*/
{
v49 = v48 - 1; /*0x1f0a*/
if ( !v49 ) /*0x1f0e*/
{
LABEL_120:
LOWORD(v6) = v6 | 0x400; /*0x1fc2*/
v104 = v6; /*0x1fc7*/
LABEL_121:
_r_n_1 = (const char *)*va_1; /*0x1fd0*/
va = va_1 + 1; /*0x1fd7*/
if ( !*va_1 ) /*0x1fd0*/
{
LOWORD(v6) = v6 & 0xFBFF; /*0x1ff0*/
_r_n_1 = "<null string>"; /*0x1ff5*/
v104 = v6; /*0x1ffc*/
}
v24 &= -(__int64)((v6 & 0x800) != 0); /*0x200e*/
goto LABEL_91; /*0x2011*/
}
v50 = v49 - 1; /*0x1f14*/
if ( v50 ) /*0x1f18*/
{
n3 = v50 - 1; /*0x1f1a*/
if ( n3 ) /*0x1f1e*/
{
if ( n3 != 3 ) /*0x1f28*/
goto LABEL_115; /*0x1f28*/
goto LABEL_133; /*0x1f28*/
}
goto LABEL_134; /*0x1f1e*/
}
va = va_1 + 1; /*0x1f43*/
if ( !*va_1 ) /*0x1f3c*/
{
v22 = v90; /*0x1f5c*/
_r_n_1 = "<null time>"; /*0x1f60*/
goto LABEL_91; /*0x1f67*/
}
sub_26C4( /*0x1fac*/
_r_n,
38,
0,
"%02d/%02d/%04d %02d:%02d",
*((unsigned __int8 *)*va_1 + 2),
*((unsigned __int8 *)*va_1 + 3),
*(unsigned __int16 *)*va_1,
*((unsigned __int8 *)*va_1 + 4),
*((unsigned __int8 *)*va_1 + 5));
_r_n_1 = _r_n; /*0x1fb1*/
LABEL_119:
v22 = v90; /*0x1fb5*/
v23 = 0; /*0x1fb9*/
goto LABEL_91; /*0x1fbd*/
}
n5 = (unsigned __int64)*va_1; /*0x201b*/
va = va_1 + 1; /*0x2022*/
_r_n_1 = _r_n; /*0x2036*/
if ( (__int64)*va_1 >= 0 ) /*0x203d*/
{
if ( n5 <= 5 ) /*0x206b*/
{
_r_n_1 = off_33E0[n5]; // "Success" /*0x2074*/
goto LABEL_129; /*0x2074*/
}
}
else if ( (n5 & 0x7FFFFFFFFFFFFFFFLL) - 1 <= 0x20 ) /*0x2057*/
{
_r_n_1 = off_33E0[n5 + 5]; // "Success" /*0x2060*/
LABEL_129:
if ( _r_n_1 != _r_n ) /*0x207f*/
goto LABEL_91; /*0x207f*/
}
sub_26C4(_r_n, 38, 0, "%08X", n5); /*0x209c*/
goto LABEL_119; /*0x20a1*/
}
LOWORD(v6) = v6 & 0xFFC9 | 0x10; /*0x20aa*/
LABEL_132:
LOWORD(v6) = v6 | 0x20; /*0x20ae*/
LABEL_133:
LOWORD(v6) = v6 | 0x80; /*0x20b2*/
LABEL_134:
if ( (v6 & 0x80u) == 0LL ) /*0x20ba*/
LOWORD(v6) = v6 & 0xBFFD | 0x4000; /*0x20c0*/
LABEL_136:
if ( (v6 & 0x10) != 0 ) /*0x20cb*/
v53 = (signed __int64)*va_1; /*0x20f0*/
else
v53 = *(int *)va_1; /*0x20d2*/
va = va_1 + 1; /*0x20d9*/
n43 = (8 * v6) & 0x20; /*0x2113*/
if ( (v6 & 2) != 0 ) /*0x211f*/
n43 = 43; /*0x211f*/
n43_1 = n43; /*0x2128*/
v55 = (v6 & 8) != 0; /*0x212b*/
v106 = v55; /*0x212f*/
if ( (v6 & 0x80u) != 0LL ) /*0x2139*/
{
v55 = 0; /*0x217b*/
n16 = 16; /*0x217e*/
v106 = 0; /*0x2184*/
if ( (v6 & 0x10) != 0 || v53 >= 0 ) /*0x2193*/
goto LABEL_152; /*0x2193*/
}
else
{
n16 = 10; /*0x213b*/
if ( (v6 & 8) != 0 ) /*0x2144*/
{
LOWORD(v6) = v6 & 0xFFDF; /*0x2146*/
v24 = 1; /*0x214a*/
}
if ( v53 < 0 && (v6 & 0x4000) == 0 ) /*0x2158*/
{
LOWORD(v6) = v6 | 2; /*0x215a*/
n43 = 45; /*0x215e*/
n43_1 = 45; /*0x2161*/
v53 = -v53; /*0x2164*/
LABEL_152:
v22 = sub_1844(_r_n, v53, n16) - _r_n; /*0x2197*/
v90 = v22; /*0x21ad*/
if ( !v53 ) /*0x21b4*/
{
v22 &= -(__int64)(v24 != 0); /*0x21bf*/
v90 = v22; /*0x21c2*/
}
_r_n_1 = &_r_n[v22]; /*0x21d4*/
v57 = 3 - v22 % 3; /*0x21ef*/
if ( !(v22 % 3) ) /*0x21ec*/
v57 = 0; /*0x21f5*/
v97 = v57; /*0x21f9*/
if ( v55 && v22 ) /*0x2205*/
{
v22 += (v22 - 1) / 3; /*0x2214*/
v57 = v97; /*0x2217*/
v90 = v22; /*0x221b*/
}
if ( n43 ) /*0x2222*/
{
v90 = ++v22; /*0x2227*/
++v24; /*0x222b*/
}
LOWORD(v6) = v6 | 0x1000; /*0x222e*/
v23 = 1; /*0x2233*/
v104 = v6; /*0x2239*/
if ( (v6 & 0xA21) == 0x220 ) /*0x2248*/
{
v24 = (__int64)v95; /*0x224e*/
v97 = v57; /*0x2252*/
}
goto LABEL_91; /*0x2256*/
}
if ( (v6 & 0x4010) != 0x4000 ) /*0x2177*/
goto LABEL_152; /*0x2177*/
}
v53 = (unsigned int)v53; /*0x2195*/
goto LABEL_152; /*0x2195*/
}
if ( n13_1 == 103 ) /*0x1ccd*/
{
v43 = (unsigned __int16 *)*va_1; /*0x1e28*/
va = va_1 + 1; /*0x1e2f*/
if ( *va_1 ) /*0x1e28*/
{
v44 = *(_DWORD *)v43; /*0x1e58*/
v45 = (unsigned __int16)sub_169C(v43 + 2); /*0x1e68*/
v46 = (unsigned __int16)sub_169C(v43 + 3); /*0x1ecb*/
sub_26C4( /*0x1edc*/
_r_n,
38,
0,
"%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
v44,
v45,
v46,
*((unsigned __int8 *)v43 + 8),
*((unsigned __int8 *)v43 + 9),
*((unsigned __int8 *)v43 + 10),
*((unsigned __int8 *)v43 + 11),
*((unsigned __int8 *)v43 + 12),
*((unsigned __int8 *)v43 + 13),
*((unsigned __int8 *)v43 + 14),
*((unsigned __int8 *)v43 + 15));
v22 = v90; /*0x1ee1*/
_r_n_1 = _r_n; /*0x1ee5*/
v23 = 0; /*0x1ee9*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_1; /*0x1eed*/
}
else
{
_r_n_1 = "<null guid>"; /*0x1e48*/
}
v24 = v92; /*0x1e4f*/
goto LABEL_91; /*0x1e53*/
}
v33 = n13_1 - 10; /*0x1cd3*/
if ( !v33 ) /*0x1cd7*/
{
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2 += n2_2; /*0x1dd7*/
_r_n_1 = "\r\n"; /*0x1dda*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_1 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2; /*0x1de1*/
if ( n2_2 == 1 ) /*0x1de9*/
v42 = 0; /*0x1deb*/
else
v42 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2[1] << 8; /*0x1df4*/
v15 = v86; /*0x1df7*/
n13 = n0xFFFF_1 /*0x1e09*/
& ((unsigned __int8)*LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2
| (unsigned __int64)v42);
if ( n13 != 13 ) /*0x1e11*/
{
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_6; /*0x1e17*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_1 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_6; /*0x1e1a*/
}
goto LABEL_92; /*0x1e1e*/
}
v34 = v33 - 3; /*0x1cdd*/
if ( !v34 ) /*0x1ce1*/
{
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2 += n2_2; /*0x1d93*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_1 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2; /*0x1d96*/
if ( n2_2 == 1 ) /*0x1d9e*/
v40 = 0; /*0x1da0*/
else
v40 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2[1] << 8; /*0x1da9*/
v15 = v86; /*0x1dac*/
n13_2 = n0xFFFF_1 /*0x1dba*/
& ((unsigned __int8)*LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2
| (unsigned __int64)v40);
LABEL_98:
n13 = n13_2; /*0x1dbd*/
if ( n13_2 == 10 ) /*0x1dc5*/
{
_r_n_1 = "\r\n"; /*0x1dcb*/
}
else
{
_r_n_1 = "\r"; /*0x2286*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_1 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_4; /*0x228d*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_4; /*0x2291*/
}
goto LABEL_92; /*0x1dd2*/
}
v35 = v34 - 70; /*0x1ce7*/
if ( !v35 ) /*0x1ceb*/
goto LABEL_120; /*0x1ceb*/
v36 = v35 - 5; /*0x1cf1*/
if ( !v36 ) /*0x1cf5*/
goto LABEL_132; /*0x1cf5*/
v37 = v36 - 9; /*0x1cfb*/
if ( !v37 ) /*0x1cff*/
goto LABEL_121; /*0x1cff*/
v38 = v37 - 2; /*0x1d05*/
if ( !v38 ) /*0x1d09*/
{
va = va_1 + 1; /*0x1d27*/
v99 = *(unsigned __int16 *)va_1; /*0x1d3c*/
_r_n_1 = (const char *)&v99; /*0x1d40*/
goto LABEL_90; /*0x1d40*/
}
if ( v38 == 1 ) /*0x1d0f*/
goto LABEL_136; /*0x1d0f*/
LABEL_115:
_r_n_1 = (const char *)&n13; /*0x1f2e*/
LABEL_90:
LOWORD(v6) = v6 | 0x400; /*0x1d44*/
v104 = v6; /*0x1d49*/
LABEL_91:
v15 = v86; /*0x1d4d*/
LABEL_92:
v39 = (v6 & 0x400) != 0 ? 0xFFFFLL : 255LL;
if ( (v6 & 0x1000) != 0 ) /*0x1d81*/
{
v103 = ((unsigned __int128)-(__int128)(v6 & 0x400) >> 64) - 1; /*0x1d8a*/
}
else
{
v22 = 0; /*0x22d7*/
for ( i = _r_n_1; ; i += 1 - ((unsigned __int128)-(__int128)(v6 & 0x400) >> 64) ) /*0x22da*/
{
if ( v22 >= v24 ) /*0x22e0*/
{
v103 = 1 - ((unsigned __int128)-(__int128)(v6 & 0x400) >> 64); /*0x22e2*/
if ( (v6 & 0x800) != 0 ) /*0x22eb*/
break; /*0x22eb*/
}
v103 = 1 - ((unsigned __int128)-(__int128)(v6 & 0x400) >> 64); /*0x22ff*/
if ( ((*(unsigned __int8 *)i | (unsigned __int64)(i[1] << 8)) & v39) == 0 ) /*0x2306*/
break; /*0x2306*/
++v22; /*0x2308*/
}
v90 = v22; /*0x2310*/
}
if ( v24 < v22 ) /*0x231a*/
v24 = v22; /*0x231a*/
n512 = v6 & 0x201; /*0x231e*/
v93 = v24; /*0x2324*/
n512_1 = n512; /*0x2328*/
if ( n512 != 512 || (v86 = n2 * ((_QWORD)v95 - v24) + v15, (v6 & 0x2000) != 0) ) /*0x2352*/
{
v62 = v88; /*0x2379*/
}
else
{
v62 = v88; /*0x2354*/
if ( v8 ) /*0x235b*/
{
v63 = sub_1810((_BYTE *)v8, v88, (__int64)v95 - v24, 32, n2); /*0x236b*/
v22 = v90; /*0x2370*/
v8 = (unsigned __int64)v63; /*0x2374*/
}
}
v64 = v86; /*0x237d*/
if ( v23 ) /*0x2384*/
{
if ( !n43_1 || (v64 = n2 + v86, v87 = v64, (v6 & 0x2000) != 0) ) /*0x23a0*/
{
v65 = v88; /*0x23dd*/
}
else
{
v65 = v88; /*0x23a2*/
if ( v8 ) /*0x23a9*/
{
for ( j = 0; j < 1; ++j ) /*0x23af*/
{
if ( v8 >= v88 ) /*0x23b4*/
break; /*0x23b4*/
*(_BYTE *)v8 = n43_1; /*0x23b6*/
if ( n2 != 1 ) /*0x23be*/
*(_BYTE *)(v8 + 1) = 0; /*0x23c7*/
v8 += n2; /*0x23cb*/
}
v64 = v87; /*0x23d7*/
}
}
n2_3 = n2; /*0x23e1*/
i_1 = v24 - v22; /*0x23e8*/
v86 = n2 * (v24 - v22) + v64; /*0x23f8*/
v69 = v6 & 0x2000; /*0x23fc*/
if ( (v6 & 0x2000) == 0 && v8 ) /*0x2407*/
v8 = (unsigned __int64)sub_1810((_BYTE *)v8, v65, i_1, (unsigned __int16)v69 + 48, n2); /*0x241d*/
goto LABEL_201; /*0x241d*/
}
n2_3 = n2; /*0x2568*/
i_2 = v24 - v22; /*0x256f*/
v80 = n2 * (v24 - v22) + v86; /*0x257c*/
v86 = v80; /*0x257f*/
v69 = v6 & 0x2000; /*0x2583*/
if ( (v6 & 0x2000) == 0 && v8 ) /*0x258e*/
{
v81 = sub_1810((_BYTE *)v8, v62, i_2, (unsigned __int16)v69 + 32, n2); /*0x259c*/
v80 = v86; /*0x25a1*/
v8 = (unsigned __int64)v81; /*0x25a5*/
}
if ( !n43_1 || (v86 = n2_3 + v80, (v6 & 0x2000) != 0) ) /*0x25bd*/
{
LABEL_201:
v70 = v88; /*0x2420*/
}
else
{
v70 = v88; /*0x25c3*/
if ( v8 ) /*0x25ca*/
{
for ( k = 0; k < 1; ++k ) /*0x25d3*/
{
if ( v8 >= v88 ) /*0x25d8*/
break; /*0x25d8*/
*(_BYTE *)v8 = n43_1; /*0x25de*/
if ( n2_3 != 1 ) /*0x25e6*/
*(_BYTE *)(v8 + 1) = 0; /*0x25ef*/
v8 += n2_3; /*0x25f3*/
}
}
}
v71 = n43_1 != 0; /*0x242f*/
if ( v71 < v90 ) /*0x2435*/
{
v72 = v86; /*0x243f*/
v73 = v97; /*0x2443*/
do /*0x24f2*/
{
v72 += n2_3; /*0x2452*/
v74 = v39 & *(_WORD *)_r_n_1; /*0x245f*/
if ( !v69 && v8 ) /*0x246a*/
{
v75 = v88; /*0x246c*/
for ( m = 0; m < 1; ++m ) /*0x2470*/
{
if ( v8 >= v75 ) /*0x2476*/
break; /*0x2476*/
*(_BYTE *)v8 = v74; /*0x2478*/
if ( n2_3 != 1 ) /*0x2480*/
{
*(_BYTE *)(v8 + 1) = HIBYTE(v74); /*0x2489*/
v75 = v88; /*0x248d*/
}
v8 += n2_3; /*0x2491*/
}
v70 = v88; /*0x249d*/
}
_r_n_1 += v103; /*0x24a1*/
++v71; /*0x24a4*/
if ( v106 && ++v73 == 3 ) /*0x24b3*/
{
v73 = 0; /*0x24b5*/
if ( ++v71 >= v90 ) /*0x24be*/
break; /*0x24be*/
v72 += n2_3; /*0x24c0*/
if ( !v69 && v8 ) /*0x24cb*/
{
for ( n = 0; n < 1; ++n ) /*0x24cd*/
{
if ( v8 >= v70 ) /*0x24d2*/
break; /*0x24d2*/
*(_BYTE *)v8 = 44; /*0x24d4*/
if ( n2_3 != 1 ) /*0x24dd*/
*(_BYTE *)(v8 + 1) = 0; /*0x24df*/
v8 += n2_3; /*0x24e3*/
}
}
}
}
while ( v71 < v90 ); /*0x24f2*/
LOWORD(v6) = v104; /*0x24f8*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_1; /*0x24fc*/
v86 = v72; /*0x2500*/
n512 = n512_1; /*0x2504*/
}
v15 = v86; /*0x2508*/
if ( n512 != 513 || (v15 = n2_3 * ((_QWORD)v95 - v93) + v86, v86 = v15, v69) ) /*0x2532*/
{
v14 = (_BYTE *)v88; /*0x2604*/
}
else
{
v14 = (_BYTE *)v88; /*0x2538*/
if ( v8 ) /*0x253f*/
{
v78 = sub_1810((_BYTE *)v8, v88, (__int64)v95 - v93, 32, n2_3); /*0x2557*/
v15 = v86; /*0x255c*/
v8 = (unsigned __int64)v78; /*0x2560*/
}
}
n2_2 = n2_1; /*0x2608*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2 += n2_1; /*0x260c*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_1 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2; /*0x260f*/
if ( n2_1 == 1 ) /*0x2617*/
v83 = 0; /*0x2619*/
else
v83 = LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2[1] << 8; /*0x2622*/
n10 = n0xFFFF_1 /*0x2633*/
& ((unsigned __int8)*LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2
| (unsigned __int64)v83);
v18 = n10 == 0; /*0x2633*/
goto LABEL_245; /*0x2633*/
case 0x20uLL:
v6 |= 4uLL; /*0x1be0*/
goto LABEL_77; /*0x1be4*/
}
if ( n13_1 != 42 ) /*0x1b5c*/
{
if ( n13_1 == 43 ) /*0x1b62*/
{
v6 |= 2uLL; /*0x1b77*/
}
else
{
if ( n13_1 != 44 ) /*0x1b68*/
goto LABEL_79; /*0x1b68*/
v6 |= 8uLL; /*0x1b6e*/
}
goto LABEL_77; /*0x1b72*/
}
if ( (v6 & 0x800) != 0 ) /*0x1b83*/
{
v24 = (__int64)*va_1++; /*0x1bbc*/
va = va_1; /*0x1bc3*/
v92 = v24; /*0x1bd7*/
}
else
{
v6 |= 0x200uLL; /*0x1b85*/
v104 = v6; /*0x1b8a*/
v30 = (unsigned __int16 *)*va_1++; /*0x1b93*/
va = va_1; /*0x1b9a*/
v95 = v30; /*0x1bae*/
}
}
if ( n13_1 == 46 ) /*0x1bf6*/
{
v6 |= 0x800uLL; /*0x1ca4*/
goto LABEL_77; /*0x1ca4*/
}
if ( n13_1 == 48 ) /*0x1c00*/
break; /*0x1c00*/
if ( n13_1 <= 0x30 ) /*0x1c02*/
goto LABEL_79; /*0x1c02*/
if ( n13_1 <= 0x39 )
{
LABEL_67:
v22 = 0; /*0x1c34*/
do
{
if ( n13_1 > 0x39 ) /*0x1c45*/
break; /*0x1c45*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2 += n2_2; /*0x1c4b*/
v22 = n13_1 + 2 * (5 * v22 - 24); /*0x1c52*/
v31 = n2_2 == 1 ? 0 : LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2[1] << 8;
n13_1 = n0xFFFF_1 /*0x1c71*/
& (v31
| (unsigned __int64)(unsigned __int8)*LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2);
}
while ( n13_1 >= 0x30 );
v90 = v22; /*0x1c7a*/
LnvDriverDxeInit___CreateEventEx___DsEfiEventReadyToBoot_Status_2 -= n2_2; /*0x1c7e*/
if ( (v6 & 0x800) != 0 ) /*0x1c84*/
{
v24 = v22; /*0x1c98*/
v92 = v22; /*0x1c9b*/
}
else
{
v6 |= 0x200uLL; /*0x1c86*/
v95 = (unsigned __int16 *)v22; /*0x1c8b*/
v104 = v6; /*0x1c8f*/
}
}
else
{
if ( ((n13_1 - 76) & 0xFFFFFFFFFFFFFFDFuLL) != 0 ) /*0x1c18*/
goto LABEL_79; /*0x1c18*/
v6 |= 0x10uLL; /*0x1c1e*/
LABEL_77:
v104 = v6; /*0x1ca7*/
}
}
if ( (v6 & 0x800) == 0 ) /*0x1c2a*/
{
v6 |= 0x20uLL; /*0x1c2c*/
v104 = v6; /*0x1c30*/
}
goto LABEL_67; /*0x1c30*/
}
}
if ( (v6 & 0x2000) != 0 ) /*0x2646*/
return v15 / n2; /*0x2650*/
if ( !v8 ) /*0x2658*/
sub_8D8( /*0x266d*/
(__int64)"e:\\hs\\MdePkg\\Library\\BasePrintLib\\PrintLibInternal.c",
1216,
(__int64)"Buffer != ((void *) 0)");
v84 = (_BYTE *)v8; /*0x2675*/
for ( ii = 0; ii < 1; ++ii ) /*0x2678*/
{
if ( v84 >= &v14[n2] ) /*0x2681*/
break; /*0x2681*/
*v84 = 0; /*0x2683*/
if ( n2 != 1 ) /*0x268a*/
v84[1] = 0; /*0x268c*/
v84 += n2; /*0x2690*/
}
return (__int64)(v8 - v100) / n2; /*0x26b0*/
}