Function at 0x402790
Capabilities:
Get system firmware table
Terminate process

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x128
mov eax, dword [0x45a080]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0x64
lea eax, [ebp - 0x70]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0xd8]
push 0x64
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov edi, dword [sym.imp.KERNEL32.dll_GetSystemFirmwareTable]
add esp, 0xc
push 0
push 0
push 0
push 0x52534d42
call edi
mov esi, eax
test esi, esi
je 0x402a8a
push esi
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push esi
push eax
push 0
push 0x52534d42
mov dword [ebp - 0x11c], eax
call edi
mov eax, dword [ebp - 0x11c]
test eax, eax
je 0x402a8a
xor edi, edi
push 0x10
push ecx
mov ecx, eax
mov dword [ebp - 0x114], edi
lea edx, [edi + 1]
call fcn.00401150
xor eax, eax
add esp, 8
mov dword [ebp - 0x118], eax
cmp dword [0x45abcc], eax
jbe 0x402936
nop dword [eax]
mov eax, dword [eax*4 + 0x45abd0]
xorps xmm0, xmm0
mov edx, eax
mov dword [ebp - 0x124], eax
xor esi, esi
movaps xmmword [ebp - 0x110], xmm0
movaps xmmword [ebp - 0x100], xmm0
mov ecx, edx
movq qword [ebp - 0xf0], xmm0
test edx, edx
jle 0x402902
mov edi, esi
mov eax, 0xcccccccd
inc edi
mul edx
shr edx, 3
test edx, edx
jg 0x402886
cmp edi, 1
mov edi, dword [ebp - 0x114]
jbe 0x4028fc
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
mov dword [ebp + esi*4 - 0x110], ecx
mov ecx, edx
inc esi
test ecx, ecx
jg 0x4028a0
test esi, esi
jle 0x40291d
lea eax, [ebp + esi*4 - 0x114]
mov dword [ebp - 0x114], eax
push dword [eax]
lea eax, [ebp - 0x70]
add eax, edi
push 0x457e84
push eax
call fcn.00401130
mov eax, dword [ebp - 0x114]
dec esi
sub eax, 4
add esp, 0xc
inc edi
mov dword [ebp - 0x114], eax
test esi, esi
jg 0x4028d0
jmp 0x402917
mov eax, dword [ebp - 0x124]
push eax
lea eax, [ebp - 0x70]
add eax, edi
push 0x457e84
push eax
call fcn.00401130
add esp, 0xc
inc edi
mov dword [ebp - 0x114], edi
mov eax, dword [ebp - 0x118]
inc eax
mov dword [ebp - 0x118], eax
cmp eax, dword [0x45abcc]
jb 0x402850
push 0x64
lea eax, [ebp - 0x70]
push 0
push 0x45abd0
mov dword [0x45a74c], eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
xor edi, edi
mov dword [ebp - 0x114], edi
push 8
push ecx
mov ecx, dword [ebp - 0x11c]
lea edx, [edi + 4]
call fcn.00401150
xor eax, eax
add esp, 8
mov dword [ebp - 0x118], eax
cmp dword [0x45abcc], eax
jbe 0x402a6c
nop
mov eax, dword [eax*4 + 0x45abd0]
xorps xmm0, xmm0
mov edx, eax
mov dword [ebp - 0x120], eax
xor esi, esi
movaps xmmword [ebp - 0x110], xmm0
movaps xmmword [ebp - 0x100], xmm0
mov ecx, edx
movq qword [ebp - 0xf0], xmm0
test edx, edx
jle 0x402a35
mov edi, esi
mov eax, 0xcccccccd
inc edi
mul edx
shr edx, 3
test edx, edx
jg 0x4029b6
cmp edi, 1
mov edi, dword [ebp - 0x114]
jbe 0x402a2f
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
mov dword [ebp + esi*4 - 0x110], ecx
mov ecx, edx
inc esi
test ecx, ecx
jg 0x4029d0
test esi, esi
jle 0x402a53
lea eax, [ebp + esi*4 - 0x114]
mov dword [ebp - 0x11c], eax
push dword [eax]
lea eax, [ebp - 0xd8]
add eax, edi
push 0x457e84
push eax
call fcn.00401130
mov eax, dword [ebp - 0x11c]
dec esi
sub eax, 4
add esp, 0xc
inc edi
mov dword [ebp - 0x11c], eax
test esi, esi
jg 0x402a00
jmp 0x402a4d
mov eax, dword [ebp - 0x120]
push eax
lea eax, [ebp - 0xd8]
add eax, edi
push 0x457e84
push eax
call fcn.00401130
add esp, 0xc
inc edi
mov dword [ebp - 0x114], edi
mov eax, dword [ebp - 0x118]
inc eax
mov dword [ebp - 0x118], eax
cmp eax, dword [0x45abcc]
jb 0x402980
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0xd8]
pop edi
xor ecx, ebp
mov dword [0x45a878], eax
pop esi
call fcn.0044aca5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3