Function at 0x40f52f
Capabilities:
Parse pe header

Disassembly:
push ebp
push ebx
mov edx, 0xb
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x40f536
call fcn.0041cbe0
push edx
call fcn.0041cb30
pop edx
push eax
mov eax, 0x4212d8
push eax
call fcn.0040ef08
lea eax, [0x422c34]
push eax
call fcn.0041cca0
push edx
call fcn.0041cb30
pop edx
push eax
mov eax, str.VmlydHVhbFByb3RlY3Q
push eax
call fcn.0040ef08
lea eax, [0x422c2c]
push eax
call fcn.0041cca0
push edx
call fcn.0041cb30
pop edx
push eax
mov eax, str.VmlydHVhbEZyZWU
push eax
call fcn.0040ef08
lea eax, [0x422c38]
push eax
call fcn.0041cca0
mov eax, str.kernel32.dll
push eax
push 0x41
call fcn.00414c67
mov ebx, dword [esp + 0x38]
and ebx, ebx
jne 0x40f5c2
jmp 0x40f812
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov ebp, dword [esp]
movsx ebx, word [ebp]
cmp ebx, 0x5a4d
je 0x40f5dd
jmp 0x40f812
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp]
add ebx, dword [ebp + 0x3c]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 4]
mov ebx, dword [ebp]
cmp ebx, 0x4550
je 0x40f5ff
jmp 0x40f812
mov ebp, dword [esp + 4]
movsx ebx, word [ebp + 0x16]
and ebx, 0x2000
and ebx, ebx
jne 0x40f616
jmp 0x40f812
mov ebp, dword [esp + 4]
movsx ebx, word [ebp + 0x18]
cmp ebx, 0x10b
je 0x40f62b
jmp 0x40f812
mov ebp, dword [esp + 4]
mov eax, dword [ebp + 0x34]
mov dword [esp + 0xc], eax
mov ebp, dword [esp + 4]
mov eax, dword [ebp + 0x50]
mov dword [esp + 0x18], eax
mov ebp, dword [esp + 4]
mov eax, dword [ebp + 0x54]
mov dword [esp + 0x1c], eax
push 4
push 0x2000
push dword [esp + 0x20]
push dword [esp + 0x18]
push dword [0x422c34]
push 0x41
call fcn.00414d82
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
and ebx, ebx
jne 0x40f6b3
mov dword [esp + 0x24], 1
mov ebp, dword [esp + 4]
mov ebx, dword [ebp + 0xa4]
and ebx, ebx
je 0x40f6a1
mov ebp, dword [esp + 4]
movsx ebx, word [ebp + 0x16]
and ebx, 1
and ebx, ebx
jne 0x40f6a1
jmp 0x40f6a8
mov eax, 1
jmp 0x40f6aa
xor eax, eax
and eax, eax
je 0x40f6b3
jmp 0x40f812
cmp dword [esp + 0x24], 0
je 0x40f6ee
push 4
push 0x2000
push dword [esp + 0x20]
push 0
push dword [0x422c34]
push 0x41
call fcn.00414d82
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
and ebx, ebx
jne 0x40f6ee
jmp 0x40f812
push 4
push 0x1000
push dword [esp + 0x20]
push dword [esp + 0x1c]
push dword [0x422c34]
push 0x41
call fcn.00414d82
mov dword [esp + 0x10], eax
push dword [esp + 0x1c]
push dword [esp + 0x14]
push dword [esp + 0x40]
call fcn.0041c610
push dword [esp + 0x38]
push dword [esp + 0x14]
call fcn.0040efac
push dword [esp + 0x10]
call fcn.0040fd87
mov ebx, eax
and ebx, ebx
jne 0x40f746
jmp 0x40f812
cmp dword [esp + 0x24], 0
je 0x40f777
push dword [esp + 0x10]
call fcn.0040f91e
mov dword [esp + 0x20], eax
mov ebx, dword [esp + 0x38]
add ebx, dword [esp + 0x20]
mov dword [esp + 8], ebx
push dword [esp + 0xc]
push dword [esp + 0xc]
push dword [esp + 0x18]
call fcn.0040f14c
push dword [esp + 0x10]
call fcn.0040fbf1
mov ebx, eax
and ebx, ebx
jne 0x40f78b
jmp 0x40f812
mov ebp, dword [esp + 4]
cmp dword [ebp + 0x28], 0
je 0x40f80c
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 4]
add ebx, dword [ebp + 0x28]
mov dword [esp + 0x28], ebx
push dword [esp + 0x28]
lea ebp, [0x422c30]
push ebp
push edx
call fcn.0041cb30
pop edx
push eax
push edx
call fcn.0041cb30
pop edx
push eax
mov eax, dword [esp + 0x20]
cdq
push edx
push eax
call fcn.004122b0
pop eax
pop ebp
push eax
push dword [esp]
call fcn.004111c0
call fcn.004111a2
add dword [esp], edx
push dword [ebp]
call fcn.0041430f
mov ebp, eax
pop eax
mov dword [ebp], eax
push 0
push 1
push dword [esp + 0x18]
call dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x14]
and ebx, ebx
jne 0x40f80c
jmp 0x40f812
mov eax, dword [esp + 0x10]
jmp 0x40f846
cmp dword [esp + 0x10], 0
je 0x40f840
push 0x8000
push 0
push dword [esp + 0x18]
push dword [0x422c38]
push 0x41
call fcn.00414d5d
push dword [esp + 0x10]
call fcn.0040f84e
xor eax, eax
jmp 0x40f846
add esp, 0x2c
pop ebx
pop ebp
ret 4