/**
* @file ReportStatusCode.c
* DxeCore ReportStatusCode services.
*
* Auto-generated from DxeCore.efi (HR650X BIOS).
* Corresponding EDK2 source:
* MdeModulePkg/Core/Dxe/Misc/ReportStatusCode.c
*/
#include "../uefi_headers/Uefi.h"
// ReportStatusCode at 0x146f0
EFI_STATUS __cdecl ReportStatusCode(EFI_STATUS_CODE_TYPE Type, EFI_STATUS_CODE_VALUE Value)
{
__int64 v2; // r9
__int64 v3; // rdi
__int64 (__fastcall **v6)(_QWORD, _QWORD, _QWORD, __int64, __int64); // r10
__int64 (__fastcall *v7)(void *, _QWORD, __int64 *); // r9
__int64 v8; // rax
__int64 v10; // [rsp+60h] [rbp+28h]
v3 = v2; /*0x14707*/
if ( (unsigned int)(unsigned __int8)Type - 1 > 2 ) /*0x14713*/
return 0x8000000000000003uLL; /*0x14713*/
v6 = (__int64 (__fastcall **)(_QWORD, _QWORD, _QWORD, __int64, __int64))qword_26508; /*0x14715*/
if ( qword_26508 ) /*0x14721*/
return (*v6)(Type, Value, 0, v3, v10); /*0x14721*/
if ( !buf_0 ) /*0x1472d*/
return 0x8000000000000003uLL; /*0x1472d*/
v7 = (__int64 (__fastcall *)(void *, _QWORD, __int64 *))*((_QWORD *)buf_0 + 40); /*0x1472f*/
if ( !v7 ) /*0x14739*/
return 0x8000000000000003uLL; /*0x14739*/
v8 = v7(&unk_22410, 0, &qword_26508); /*0x1474b*/
v6 = (__int64 (__fastcall **)(_QWORD, _QWORD, _QWORD, __int64, __int64))qword_26508; /*0x1474e*/
if ( v8 < 0 ) /*0x14758*/
v6 = 0; /*0x14758*/
qword_26508 = (__int64)v6; /*0x1475c*/
if ( v6 ) /*0x14766*/
return (*v6)(Type, Value, 0, v3, v10); /*0x1477c*/
else
return 0x8000000000000003uLL; /*0x14781*/
}