Function at 0x13148764
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe84
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x17c], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.13143ac8
lea esi, [ebp - 0x178]
xor eax, eax
push ebp
push 0x13148a4d
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0x80
push 3
push 0
push 3
push 0xc0000000
mov eax, dword [ebp - 4]
call fcn.13143ad8
push eax
call fcn.13144884
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
jne 0x131487ca
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x13148a2c
xor edx, edx
push ebp
push 0x13148a25
push dword fs:[edx]
mov dword fs:[edx], esp
push 0
lea eax, [ebp - 0x14]
push eax
push pe_nt_image_headers32
lea eax, [ebp - 0x58]
push eax
mov eax, dword [ebp - 0xc]
push eax
call fcn.13144984
cmp word [ebp - 0x58], 0x5a4d
je 0x13148806
mov dword [ebp - 8], 3
call fcn.13143164
jmp 0x13148a2c
push 0
push 0
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0xc]
push eax
call fcn.13144994
push 0
lea eax, [ebp - 0x14]
push eax
push 0xf8
lea eax, [ebp - 0x150]
push eax
mov eax, dword [ebp - 0xc]
push eax
call fcn.13144984
cmp dword [ebp - 0x150], 0x4550
je 0x1314884f
mov dword [ebp - 8], 3
call fcn.13143164
jmp 0x13148a2c
xor edi, edi
xor eax, eax
mov dword [ebp - 0x10], eax
movzx ebx, word [ebp - 0x14a]
dec ebx
test ebx, ebx
jl 0x131488c2
inc ebx
push 0
lea eax, [ebp - 0x14]
push eax
push 0x28
push esi
mov eax, dword [ebp - 0xc]
push eax
call fcn.13144984
lea eax, [ebp - 0x17c]
mov edx, esi
call fcn.13143834
mov eax, dword [ebp - 0x17c]
mov edx, 0x13148a68
call fcn.13143a24
jne 0x131488a5
mov dword [ebp - 8], 2
call fcn.13143164
jmp 0x13148a2c
mov eax, dword [esi + 0x14]
add eax, dword [esi + 0x10]
cmp edi, eax
jae 0x131488b1
mov edi, eax
mov eax, dword [esi + 0xc]
add eax, dword [esi + 8]
cmp eax, dword [ebp - 0x10]
jbe 0x131488bf
mov dword [ebp - 0x10], eax
dec ebx
jne 0x13148863
mov ebx, 0x13148760
sub ebx, fcn.131485cc
add ebx, 0xab
mov edx, esi
mov ecx, 5
mov eax, 0x13148a78
call fcn.13142644
mov dword [esi + 8], ebx
mov eax, dword [ebp - 0x10]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], edi
xor eax, eax
mov dword [esi + 0x18], eax
xor eax, eax
mov dword [esi + 0x1c], eax
mov word [esi + 0x20], 0
mov eax, dword [esi + 0xc]
mov edx, eax
and edx, 0xfff
test edx, edx
jbe 0x1314891c
shr eax, 0xc
inc eax
shl eax, 0xc
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x14]
mov edx, eax
and edx, 0x1ff
test edx, edx
jbe 0x13148935
shr eax, 9
inc eax
shl eax, 9
mov dword [esi + 0x14], eax
mov dword [esi + 0x24], 0xe00000e0
push 0
lea eax, [ebp - 0x18]
push eax
push 0x28
push esi
mov eax, dword [ebp - 0xc]
push eax
call fcn.131449bc
mov eax, dword [ebp - 0x128]
mov dword [0x1314b857], eax
mov eax, dword [ebp - 0x11c]
mov dword [0x1314b853], eax
mov eax, dword [esi + 0xc]
add eax, 0xab
add eax, 0x131485d8
sub eax, fcn.131485cc
mov dword [ebp - 0x128], eax
add dword [ebp - 0x100], ebx
xor eax, eax
mov dword [ebp - 0x80], eax
inc word [ebp - 0x14a]
push 0
push 0
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0xc]
push eax
call fcn.13144994
push 0
lea eax, [ebp - 0x18]
push eax
push 0xf8
lea eax, [ebp - 0x150]
push eax
mov eax, dword [ebp - 0xc]
push eax
call fcn.131449bc
push 0
push 0
mov eax, dword [esi + 0x14]
push eax
mov eax, dword [ebp - 0xc]
push eax
call fcn.13144994
push 0
lea eax, [ebp - 0x18]
push eax
push 0xab
push 0x1314b7b0
mov eax, dword [ebp - 0xc]
push eax
call fcn.131449bc
push 0
lea eax, [ebp - 0x18]
push eax
mov eax, 0x13148760
sub eax, fcn.131485cc
push eax
mov eax, fcn.131485cc
push eax
mov eax, dword [ebp - 0xc]
push eax
call fcn.131449bc
mov dword [ebp - 8], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x13148a2c
mov eax, dword [ebp - 0xc]
push eax
call fcn.1314487c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x13148a54
lea eax, [ebp - 0x17c]
call fcn.13143658
lea eax, [ebp - 4]
call fcn.13143658
ret