Newer
Older
AMI-Aptio-BIOS-Reversed / PiSmmIpl / PiSmmIpl.md
@Ajax Dong Ajax Dong 2 days ago 7 KB Init

PiSmmIpl

Function Table

Address Name Description
ModuleEntryPoint
sub_1504
sub_1854
sub_1B0C
sub_2CF8
sub_2D80
sub_2E40
sub_2E4C
sub_2EA4
sub_2FAC
sub_3034
sub_43C4
sub_4424
sub_444C
Full decompilation of all functions
_ModuleEntryPoint @ 0x1128
rbx sub_1154(ImageHandle, SystemTable); /0x1131/
sub_1154 @ 0x1154
r10 __int64 BootServices_1; // r10
rax __int64 v6; // rax
rbx __int64 v8; // rax
rbx __int64 v10; // rax
rax ::ImageHandle = ImageHandle; /0x116c/
sub_1504 @ 0x1504
rax __int64 v1; // rax
rax __int64 BootServices_1; // rax
rax __int64 v5; // rax
rbx BootServices = BootServices; /0x1518/
sub_16CC @ 0x16CC
sub_1704 @ 0x1704
rax char _smmc__1; // di
sub_180C @ 0x180C
sub_1854 @ 0x1854
sub_185C @ 0x185C
rax unsigned __int64 result; // rax
sub_1958 @ 0x1958
rax __int64 v3; // rax
r8 __int64 v5; // [rsp+40h] [rbp+18h] BYREF
sub_19E8 @ 0x19E8
rax __int64 v3; // rbx
rax char v5; // [rsp+40h] [rbp+18h] BYREF
sub_1AA8 @ 0x1AA8
sub_1B0C @ 0x1B0C
sub_1B20 @ 0x1B20
r12 __int64 v4; // r14
rbx unsigned __int64 v7; // rax
rdi __int64 v9; // rsi
r8d int v11; // r9d
rax unsigned int v13; // r9d
rbx unsigned __int64 v15; // rbx
r8 __int64 v17; // rax
r8 unsigned __int64 v19; // [rsp+30h] [rbp-A9h] BYREF
sub_1E50 @ 0x1E50
rax unsigned __int64 v9; // r10
rcx unsigned __int64 v13; // rdi
rsi __int64 v16; // rax
r10 __int64 v18; // r8
rcx __int64 v20; // rdx
rdx __int64 v22; // rcx
rcx unsigned __int64 v24; // rax
r8 __int64 v26; // rcx
rdx __int64 v28; // rcx
rdx __int64 v30; // rcx
rcx _UNKNOWN *retaddr; // [rsp+8h] [rbp+0h] BYREF
sub_2098 @ 0x2098
rax __int64 v3; // rcx
rsi unsigned __int64 v5; // rbx
rax unsigned __int64 v7; // r15
r12 __int64 v9; // rdi
r14 __int64 v11; // rcx
rcx __int64 v13; // r13
rdi __int64 v15; // r14
rax unsigned __int64 v17; // rcx
r12 unsigned __int64 v19; // rax
r15 unsigned __int64 *v21; // r14
r11 unsigned __int64 *v23; // rbx
r8 unsigned __int64 v25; // rdx
rcx __int64 v27; // rax
rsi unsigned __int64 v29; // rbx
rax unsigned __int64 v31; // rcx
r8 _QWORD *v33; // rdx
rbx __int64 v36; // rdi
rax __int64 v38; // rbx
rax _QWORD *v40; // [rsp+40h] ... [9911 chars total]
sub_2598 @ 0x2598
rax __int64 v5; // rbx
rax unsigned __int64 n258048; // rdi
rdx __int64 v9; // r11
r9 _BYTE *v11; // r10
rcx unsigned __int64 v13; // rdx
rcx char v15; // r11
rbx __int64 v17; // r10
rax unsigned __int64 v19; // r9
r8 __int64 v21; // rax
rdi int64 (fastcall v23)(); // rcx**
rbx __int64 v25; // rbp
r14 int64 (fastcall *v27)(); // rsi
r15 __int64 v29; // rax
rax __int64 v31; // rax
rax __int64 v34; // [rsp+70h] [rbp+8h] BYREF
sub_2B38 @ 0x2B38
sub_2B80 @ 0x2B80
rdi __int64 v7; // rax
sub_2BE8 @ 0x2BE8
rbp v3 = n16 - 1; /0x2c05/
sub_2C88 @ 0x2C88
sub_2CB8 @ 0x2CB8
sub_2CF8 @ 0x2CF8
rax unsigned __int64 n0x10; // rbx
sub_2D80 @ 0x2D80
rax __int64 v4; // r8
r9 unsigned __int8 v6; // al
al int n113; // edx
sub_2E00 @ 0x2E00
rax result = sub_2CF8(); /0x2e18/
sub_2E40 @ 0x2E40
sub_2E4C @ 0x2E4C
rax if ( qword_6430 ) /0x2e58/
sub_2E74 @ 0x2E74
sub_2EA4 @ 0x2EA4
rax result = (*(__int64 ()(void))(BootServices + 72))(); /0x2eaf/**
sub_2EE8 @ 0x2EE8
r14 if ( !a1 ) /0x2f0a/
sub_2FAC @ 0x2FAC
sub_3034 @ 0x3034
rax result = (*(int64 (fastcall )(_QWORD, __int64 ))(RuntimeServices + 64))(0, &RuntimeServices_1); /0x3048/*
sub_3058 @ 0x3058
rcx bool v4; // zf
eax __int64 v6; // r9
rcx __int64 v8; // rcx
ax unsigned __int64 v10; // rdx
rcx __int64 v13; // rax
r8d unsigned int v15; // r8d
r10d unsigned int v17; // edx
edx int v19; // edx
ecx unsigned int n0x10; // r8d
r9d unsigned int v23; // r8d
r10d unsigned int v25; // edx
edx __int16 n3772; // cx
r15 unsigned int n40; // esi
r14d __int64 v31; // rcx
edx int v33; // ecx
rax _BYTE v35[12]; // [rsp+20h] [rbp-49h] BYREF
sub_359C @ 0x359C
rax char n512_3; // r9
edx __int16 n523; // r8
cl unsigned __int16 v7; // r10
esi __int64 v9; // rax
eax char *v11; // r15
rdi unsigned __int64 v13; // r12
rsi bool i; // cf
rcx bool v17; // zf
r14 unsigned __int64 v19; // rsi
rcx unsigned __int64 v21; // r12
r14 unsigned __int64 v23; // r15
rdi __int64 v25; // rcx
r8 unsigned __int64 v27; // rax
rsi __int64 v29; // rcx
sub_3910 @ 0x3910
r15d __int64 v5; // rcx
r9 unsigned int n5; // edx
rcx unsigned int *v9; // rcx
rdi __int64 v11; // rax
r10 unsigned __int64 v13; // rcx
rdx unsigned __int64 v15; // r11
r13 _WORD *v19; // r8
cf unsigned int *v21; // r14
rcx unsigned int *v23; // rbp
r11 unsigned __int64 v25; // rsi
rcx int v27; // r11d
r11d int v29; // r11d
r11d _QWORD *v31; // r8
r8 __int64 v33; // rax
sub_3C30 @ 0x3C30
rsi signed __int64 result; // rax
rcx __int64 v5; // r8
rax __int64 v7; // rdx
r11d __int64 v9; // r8
r9 __int64 v11; // rbx
rax unsigned int *v13; // r13
rax __int64 v15; // r12
r10 unsigned __int64 v17; // rdx
r9 unsigned __int64 v19; // r14
r14 unsigned __int64 v21; // r8
r8 unsigned __int64 v23; // rax
r10d unsigned __int64 v29; // rcx
rcx unsigned int n5; // eax
rcx unsigned __int64 v33; // rax
r14 _DWORD *v35; // r14
r12d unsigned int v37; // r8d
sub_422C @ 0x422C
sub_43C4 @ 0x43C4
rcx if ( !qword_6458 && !byte_6450 ) /0x43db/
sub_4424 @ 0x4424
rax if ( qword_6458 ) /0x4430/
sub_444C @ 0x444C
sub_44A8 @ 0x44A8

Generated by HR650X BIOS Decompilation Project