Function at 0x725450
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x34
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x726450
mov edx, dword fs:[0]
mov dword [ebp - 0x18], edx
mov dword fs:[0], eax
mov eax, dword [ecx + 4]
cmp dword [eax + 0x24], 0
je 0x7254a6
nop
mov ebx, dword [ebp + 0xc]
cmp dword [ebx + 0x14], 0
je 0x7254ac
cmp dword [ebp + 8], 0
jns 0x7254bc
nop
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x725552
cmp dword [eax + 0x2c], 0
je 0x725529
nop
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x725552
je 0x72553a
push 0x40
mov edi, dword [ebp + 8]
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x72552d
nop
cmp word [edi], 0x5a4d
jne 0x72552d
nop
mov esi, dword [edi + 0x3c]
add esi, edi
push 0xf8
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
mov dword [0xa51230], 0x40cac7d0
test eax, eax
jne 0x725547
nop
cmp dword [esi], 0x4550
jne 0x725547
nop
mov eax, dword [esi + 0x80]
test eax, eax
je 0x725529
nop
mov edx, dword [ebp + 8]
lea ecx, [eax + edx]
mov dword [ebp - 0x20], ecx
mov esi, dword [eax + edx + 0xc]
test esi, esi
jne 0x725591
nop
mov eax, dword [ebp + 0x10]
cmp dword [eax + 4], 0
setne al
jmp 0x725552
xor eax, eax
jmp 0x725552
nop
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x725552
nop
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x725552
nop
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
nop
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x34
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
add eax, 0x24
mov edx, eax
mov ecx, edi
push edx
push ecx
call fcn.0091d82d
add esp, 8
test esi, esi
je 0x725653
nop
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 0x14]
mov dword [ebp - 0x20], ecx
mov esi, dword [eax + 0x20]
test esi, esi
je 0x72551c
nop
add esi, dword [ebp + 8]
mov eax, 0x955324
cmove esi, eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
push esi
call fcn.00903f50
add esp, 4
cmp eax, 0xf
jbe 0x7255e1
nop
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0xc
movzx ecx, byte [ebp - 0x24]
mov byte [esp + 4], cl
mov dword [esp + 8], esi
mov dword [esp], eax
lea ecx, [ebp - 0x3c]
call fcn.006704d0
jmp 0x725600
mov dword [ebp - 0x2c], eax
push eax
push esi
lea ecx, [ebp - 0x3c]
push ecx
mov esi, eax
call fcn.00935430
add esp, 0xc
mov byte [ebp + esi - 0x3c], 0
mov dword [ebp - 0x10], 1
nop
mov dword [ebp - 0x40], 0x954b60
mov dword [ebp - 0x10], 1
mov ecx, ebx
lea eax, [ebp - 0x40]
push eax
call fcn.007256b0
mov esi, eax
mov eax, dword [ebp - 0x28]
cmp eax, 0x10
nop
mov ebx, dword [ebp + 0xc]
jb 0x725578
nop
mov ecx, dword [ebp - 0x3c]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x72556e
nop
mov edi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edi
cmp ecx, 0x20
jb 0x725567
jmp 0x72566c
nop
mov dword [ebp - 0x10], 0xffffffff
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x20]
push eax
call fcn.007259b0
jmp 0x725580
nop
mov dword [ebp - 0x10], 0
call fcn.00900ce1
nop dword [eax]
push ebp
sub esp, 0xc
add ebp, 0xc
call fcn.009350a0
nop dword [eax]
push ebp
sub esp, 0xc
add ebp, 0xc
lea ecx, [ebp - 0x40]
call fcn.006575f0
add esp, 0xc
pop ebp
ret