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 = ""; /*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 = ""; /*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 = ""; /*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*/ }