/** @file SmmAccess.h -- Header for SmmAccess Copyright (c) HR650X BIOS Decompilation Project **/ #ifndef __SMMACCESS_H__ #define __SMMACCESS_H__ #include "../uefi_headers/Uefi.h" // // Function Prototypes // EFI_STATUS EFIAPI ModuleEntryPoint( VOID ); EFI_STATUS EFIAPI at 0x2c0( VOID ); EFI_STATUS EFIAPI unsigned __int64 count_1; // rcx( VOID ); EFI_STATUS EFIAPI char *src_1; // rsi( VOID ); EFI_STATUS EFIAPI at 0x310( VOID ); EFI_STATUS EFIAPI at 0x390( VOID ); EFI_STATUS EFIAPI at 0x3a0( VOID ); EFI_STATUS EFIAPI at 0x3b0( VOID ); EFI_STATUS EFIAPI at 0x3c0( VOID ); EFI_STATUS EFIAPI at 0x3d0( VOID ); EFI_STATUS EFIAPI at 0x3d4( VOID ); EFI_STATUS EFIAPI at 0x3fc( VOID ); EFI_STATUS EFIAPI unsigned int n115200; // ecx( VOID ); EFI_STATUS EFIAPI unsigned __int16 n1016; // r9( VOID ); EFI_STATUS EFIAPI unsigned __int16 v8; // r10( VOID ); EFI_STATUS EFIAPI unsigned __int8 v10; // cl( VOID ); EFI_STATUS EFIAPI unsigned __int8 v12; // al( VOID ); EFI_STATUS EFIAPI unsigned __int8 v14; // al( VOID ); EFI_STATUS EFIAPI unsigned __int8 v16; // al( VOID ); EFI_STATUS EFIAPI unsigned __int8 v18; // al( VOID ); EFI_STATUS EFIAPI __int64 v20; // rax( VOID ); EFI_STATUS EFIAPI __int16 callerseflags_w; // bx( VOID ); EFI_STATUS EFIAPI __int64 v24; // rdi( VOID ); EFI_STATUS EFIAPI ::ImageHandle = ImageHandle; /*0x412*/( VOID ); EFI_STATUS EFIAPI at 0x6a0( VOID ); EFI_STATUS EFIAPI result = sub_1D20(); /*0x6a4*/( VOID ); EFI_STATUS EFIAPI at 0x6e0( VOID ); EFI_STATUS EFIAPI __int64 v3; // rax( VOID ); EFI_STATUS EFIAPI __int64 v5; // rbx( VOID ); EFI_STATUS EFIAPI _DWORD *v7; // rbx( VOID ); EFI_STATUS EFIAPI unsigned __int64 v9; // rsi( VOID ); EFI_STATUS EFIAPI __int64 v11; // r9( VOID ); EFI_STATUS EFIAPI __int64 v13; // rax( VOID ); EFI_STATUS EFIAPI int v16; // esi( VOID ); EFI_STATUS EFIAPI __int64 v18; // [rsp+68h] [rbp+10h] BYREF( VOID ); EFI_STATUS EFIAPI at 0xaac( VOID ); EFI_STATUS EFIAPI __int64 v3; // rdx( VOID ); EFI_STATUS EFIAPI unsigned int v5; // ecx( VOID ); EFI_STATUS EFIAPI __int64 v7; // rax( VOID ); EFI_STATUS EFIAPI v1 = a1; /*0xaba*/( VOID ); EFI_STATUS EFIAPI at 0xb84( VOID ); EFI_STATUS EFIAPI __int64 v3; // rcx( VOID ); EFI_STATUS EFIAPI _BYTE *v5; // rdx( VOID ); EFI_STATUS EFIAPI v1 = a1; /*0xb92*/( VOID ); EFI_STATUS EFIAPI at 0xc18( VOID ); EFI_STATUS EFIAPI unsigned int v2; // eax( VOID ); EFI_STATUS EFIAPI v1 = a1; /*0xc26*/( VOID ); EFI_STATUS EFIAPI at 0xc9c( VOID ); EFI_STATUS EFIAPI unsigned __int64 v6; // rbx( VOID ); EFI_STATUS EFIAPI v5 = a1; /*0xcbe*/( VOID ); EFI_STATUS EFIAPI at 0xd30( VOID ); EFI_STATUS EFIAPI unsigned __int64 v7; // rbp( VOID ); EFI_STATUS EFIAPI at 0xdcc( VOID ); EFI_STATUS EFIAPI at 0xe30( VOID ); EFI_STATUS EFIAPI int v3; // edi( VOID ); EFI_STATUS EFIAPI char n3; // al( VOID ); EFI_STATUS EFIAPI char n4; // al( VOID ); EFI_STATUS EFIAPI _BYTE v10[280]; // [rsp+30h] [rbp-118h] BYREF( VOID ); EFI_STATUS EFIAPI at 0xf04( VOID ); EFI_STATUS EFIAPI _BYTE v6[264]; // [rsp+40h] [rbp-108h] BYREF( VOID ); EFI_STATUS EFIAPI at 0xf58( VOID ); EFI_STATUS EFIAPI at 0xf94( VOID ); EFI_STATUS EFIAPI __int64 v7; // rbx( VOID ); EFI_STATUS EFIAPI if ( !a1 ) /*0xfb6*/( VOID ); EFI_STATUS EFIAPI at 0x1058( VOID ); EFI_STATUS EFIAPI __int64 v6; // rax( VOID ); EFI_STATUS EFIAPI if ( !a5 ) /*0x1068*/( VOID ); EFI_STATUS EFIAPI at 0x1144( VOID ); EFI_STATUS EFIAPI at 0x11cc( VOID ); EFI_STATUS EFIAPI signed __int64 v5; // rax( VOID ); EFI_STATUS EFIAPI at 0x1250( VOID ); EFI_STATUS EFIAPI v4 = a2; /*0x1256*/( VOID ); EFI_STATUS EFIAPI at 0x12a0( VOID ); EFI_STATUS EFIAPI __int16 n255; // [rsp+30h] [rbp+8h] BYREF( VOID ); EFI_STATUS EFIAPI at 0x181c( VOID ); EFI_STATUS EFIAPI __int64 v5; // rdx( VOID ); EFI_STATUS EFIAPI __int64 v7; // r8( VOID ); EFI_STATUS EFIAPI at 0x1868( VOID ); EFI_STATUS EFIAPI if ( src != dst ) /*0x187a*/( VOID ); EFI_STATUS EFIAPI at 0x18c0( VOID ); EFI_STATUS EFIAPI __int64 v5; // rax( VOID ); EFI_STATUS EFIAPI __int64 src_1; // rax( VOID ); EFI_STATUS EFIAPI at 0x1964( VOID ); EFI_STATUS EFIAPI __int64 v7; // rcx( VOID ); EFI_STATUS EFIAPI if ( !*(_BYTE *)(src + 15) ) /*0x1971*/( VOID ); EFI_STATUS EFIAPI at 0x1a20( VOID ); EFI_STATUS EFIAPI char *buf_1; // rbx( VOID ); EFI_STATUS EFIAPI __int64 v9; // rdx( VOID ); EFI_STATUS EFIAPI __int64 v11; // r8( VOID ); EFI_STATUS EFIAPI __int64 v15; // rax( VOID ); EFI_STATUS EFIAPI __int64 v17; // rax( VOID ); EFI_STATUS EFIAPI __int64 v19; // rax( VOID ); EFI_STATUS EFIAPI __int64 v21; // rax( VOID ); EFI_STATUS EFIAPI at 0x1d20( VOID ); EFI_STATUS EFIAPI __int64 v9; // rax( VOID ); EFI_STATUS EFIAPI __int64 v11; // rax( VOID ); EFI_STATUS EFIAPI at 0x1f9c( VOID ); EFI_STATUS EFIAPI at 0x2028( VOID ); EFI_STATUS EFIAPI at 0x2090( VOID ); EFI_STATUS EFIAPI unsigned __int64 i; // rdi( VOID ); EFI_STATUS EFIAPI at 0x20fc( VOID ); EFI_STATUS EFIAPI at 0x212c( VOID ); EFI_STATUS EFIAPI at 0x215c( VOID ); EFI_STATUS EFIAPI if ( ((unsigned __int8)a1 & 1) != 0 ) /*0x2168*/( VOID ); EFI_STATUS EFIAPI at 0x21b4( VOID ); EFI_STATUS EFIAPI n0xF4240 = 0; /*0x21b4*/( VOID ); EFI_STATUS EFIAPI at 0x21d8( VOID ); EFI_STATUS EFIAPI at 0x2218( VOID ); EFI_STATUS EFIAPI at 0x2248( VOID ); EFI_STATUS EFIAPI __int64 v3; // r10( VOID ); EFI_STATUS EFIAPI unsigned __int8 n33; // al( VOID ); EFI_STATUS EFIAPI unsigned __int8 v8; // al( VOID ); EFI_STATUS EFIAPI unsigned __int8 v11; // al( VOID ); EFI_STATUS EFIAPI n0xFFFF = 0; /*0x2252*/( VOID ); EFI_STATUS EFIAPI at 0x22f0( VOID ); EFI_STATUS EFIAPI at 0x2318( VOID ); EFI_STATUS EFIAPI for ( i = 0; i < i_1; ++i ) /*0x231e*/( VOID ); EFI_STATUS EFIAPI at 0x234c( VOID ); EFI_STATUS EFIAPI _BYTE *v7; // rbx( VOID ); EFI_STATUS EFIAPI *a1 = 0; /*0x2363*/( VOID ); EFI_STATUS EFIAPI at 0x31cc( VOID ); EFI_STATUS EFIAPI at 0x31f0( VOID ); EFI_STATUS EFIAPI __int64 v1; // rax( VOID ); EFI_STATUS EFIAPI result = qword_4E08; /*0x31f6*/( VOID ); EFI_STATUS EFIAPI at 0x3240( VOID ); EFI_STATUS EFIAPI unsigned int i_1; // r8d( VOID ); EFI_STATUS EFIAPI unsigned int i; // edx( VOID ); EFI_STATUS EFIAPI at 0x32e0( VOID ); EFI_STATUS EFIAPI __int64 v8; // rcx( VOID ); EFI_STATUS EFIAPI __int64 v10; // r8( VOID ); EFI_STATUS EFIAPI char *dst; // rbx( VOID ); EFI_STATUS EFIAPI __int64 v15; // rbx( VOID ); EFI_STATUS EFIAPI at 0x3424( VOID ); EFI_STATUS EFIAPI __int64 v6; // rcx( VOID ); EFI_STATUS EFIAPI __int64 v8; // r8( VOID ); EFI_STATUS EFIAPI __int64 v13; // rbx( VOID ); EFI_STATUS EFIAPI at 0x3550( VOID ); EFI_STATUS EFIAPI __int64 v5; // rcx( VOID ); EFI_STATUS EFIAPI __int64 v12; // rbx( VOID ); #endif /* __SMMACCESS_H__ */