Newer
Older
AMI-Aptio-BIOS-Reversed / DxeCore / Debug / ReportStatusCode.c
@Ajax Dong Ajax Dong 2 days ago 1 KB Init
/**
 * @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*/
}