Function at 0x453d30
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0xc]
add ecx, 8
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, dword [ebp - 0xc]
mov byte [edx + 0x23], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x110], ecx
mov ecx, dword [ebp - 0xc]
call fcn.00454450
movzx edx, al
test edx, edx
jne 0x453d7b
mov ecx, dword [ebp - 0xc]
call fcn.00454030
xor al, al
jmp 0x453f38
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x124]
mov dword [eax + 0x130], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x130]
movzx edx, word [ecx]
cmp edx, 0x5a4d
je 0x453dc0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x130]
movzx edx, word [ecx]
test edx, edx
je 0x453dc0
mov ecx, dword [ebp - 0xc]
call fcn.00454030
xor al, al
jmp 0x453f38
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x130]
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x124]
add eax, dword [ecx + 0x3c]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x134], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x134]
cmp dword [eax], 0x4550
je 0x453dfe
mov ecx, dword [ebp - 0xc]
call fcn.00454030
xor al, al
jmp 0x453f38
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x10c], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x134]
mov ecx, dword [eax + 0x50]
push ecx
mov ecx, dword [ebp - 0xc]
call fcn.00454ac0
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x120], eax
push 0x10
mov ecx, dword [ebp - 0xc]
call fcn.00454ac0
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x128], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x120]
mov dword [edx + 0x11c], ecx
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x120], 0
je 0x453e68
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x128], 0
jne 0x453e77
mov ecx, dword [ebp - 0xc]
call fcn.00454030
xor al, al
jmp 0x453f38
push 0x24
call fcn.00454e59
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0xc]
add edx, 8
push edx
mov eax, dword [ebp - 4]
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
mov dword [ecx], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x11c]
mov dword [eax + 4], edx
push 1
mov eax, dword [ebp - 4]
push eax
mov ecx, 0x45db34
call fcn.00454b20
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x134]
mov eax, dword [edx + 0xd8]
push eax
mov ecx, dword [ebp - 0xc]
call fcn.004549d0
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x134]
mov eax, dword [edx + 0x80]
push eax
mov ecx, dword [ebp - 0xc]
call fcn.004549d0
push eax
mov ecx, dword [ebp - 0xc]
call fcn.004546c0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x134]
mov eax, dword [edx + 0xa4]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x134]
mov eax, dword [edx + 0xa0]
push eax
mov ecx, dword [ebp - 0xc]
call fcn.004549d0
push eax
mov ecx, dword [ebp - 0xc]
call fcn.00454780
mov ecx, dword [ebp - 0xc]
mov byte [ecx], 1
mov al, 1
mov esp, ebp
pop ebp
ret 8