unsigned __int64 __fastcall sub_54E0(__int64 a1, _QWORD *a2) { __int64 v4; // rdi __int64 v5; // rbx __int64 i; // r14 if ( !a1 ) /*0x5502*/ sub_5450((__int64)"e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 97, (__int64)"TableGuid != ((void *) 0)"); /*0x5515*/ if ( !a2 ) /*0x551d*/ sub_5450((__int64)"e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 98, (__int64)"Table != ((void *) 0)"); /*0x5530*/ v4 = qword_7928; /*0x5535*/ v5 = 0; /*0x553c*/ *a2 = 0; /*0x553e*/ if ( !*(_QWORD *)(v4 + 104) ) /*0x5542*/ return 0x800000000000000EuLL; /*0x556b*/ for ( i = 0; !(unsigned __int8)sub_5F54(a1, i + *(_QWORD *)(v4 + 112)); i += 24 ) /*0x5548*/ { if ( (unsigned __int64)++v5 >= *(_QWORD *)(v4 + 104) ) /*0x5569*/ return 0x800000000000000EuLL; /*0x5569*/ } *a2 = *(_QWORD *)(*(_QWORD *)(v4 + 112) + 24 * v5 + 16); /*0x559f*/ return 0; /*0x5589*/ }