Function at 0x10634
Capabilities:
Parse pe header

Disassembly:
push 0x34
push 0x1ea60
call fcn.000195f0
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x2c], esi
cmp dword [ebp + 8], esi
jne 0x1065a
mov eax, 0xc0000001
jmp 0x10bb0
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.00016eba
cmp eax, esi
jl 0x10bb0
cmp dword [ebp - 0x1c], esi
je 0x10bb0
cmp dword [ebp - 0x30], esi
je 0x10bb0
lea eax, [ebp - 0x2c]
push eax
push dword [ebp + 8]
call fcn.00010486
mov dword [ebp - 0x34], eax
cmp eax, esi
jl 0x10bad
mov dword [ebp - 4], esi
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], ecx
cmp word [ecx], 0x5a4d
jne 0x10b9b
mov eax, dword [ecx + 0x3c]
add eax, ecx
mov dword [ebp - 0x3c], eax
cmp dword [eax], 0x4550
jne 0x10b9b
add eax, 0x18
mov dword [ebp - 0x40], eax
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0x20], edx
mov eax, dword [eax + 0x10]
add eax, ecx
mov dword [ebp - 0x44], eax
mov edx, dword [0x1f75c]
cmp edx, 2
jne 0x106e5
add eax, 0xfff00000
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov esi, 0x7b89
mov ecx, 0x7389
mov di, word [0x1f754]
mov ebx, dword [ebp - 0x24]
add ebx, 0x300000
cmp eax, ebx
jae 0x10b9b
cmp di, 2
je 0x1071d
cmp di, 3
jne 0x10810
cmp edx, 2
jne 0x10810
cmp word [eax], si
jne 0x10b8b
cmp byte [eax + 2], 0x30
jne 0x10b8b
cmp word [eax + 3], si
jne 0x10b8b
cmp byte [eax + 5], 0x34
jne 0x10b8b
cmp word [eax + 6], 0x43c6
jne 0x10b8b
cmp byte [eax + 8], 0x38
jne 0x10b8b
cmp word [eax + 0xa], si
jne 0x10b8b
cmp byte [eax + 0xc], 0x48
jne 0x10b8b
mov ebx, 0x43c7
cmp word [eax + 0xd], bx
jne 0x10b8b
cmp byte [eax + 0xf], 4
jne 0x10b8b
cmp dword [eax + 0x14], 0xc6087b89
jne 0x10b8b
cmp dword [eax + 0x18], 0xc6004043
jne 0x10b8b
mov ecx, dword [eax + 0x10]
mov dword [0x1f408], ecx
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x20]
add dword [0x1f408], ecx
mov ecx, eax
mov dword [ebp - 0x24], ecx
lea edx, [ecx + 0x1000]
cmp eax, edx
jae 0x10b9b
cmp byte [eax], 0x53
jne 0x1080a
cmp word [eax + 1], bx
jne 0x1080a
cmp byte [eax + 3], 4
jne 0x1080a
cmp word [eax + 8], bx
jne 0x1080a
cmp byte [eax + 0xa], 8
jne 0x1080a
cmp byte [eax + 0xf], 0xe8
jne 0x1080a
mov edx, dword [eax + 4]
mov dword [0x1f40c], edx
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20]
add dword [0x1f40c], edx
inc eax
mov dword [ebp - 0x28], eax
jmp 0x107c4
test di, di
je 0x1081f
cmp di, 1
jne 0x108ef
cmp edx, 2
jne 0x108ef
cmp word [eax], si
jne 0x10b8b
cmp byte [eax + 2], 0x30
jne 0x10b8b
cmp word [eax + 3], si
jne 0x10b8b
cmp byte [eax + 5], 0x34
jne 0x10b8b
cmp word [eax + 6], si
jne 0x10b8b
cmp byte [eax + 8], 0x44
jne 0x10b8b
mov ebx, 0x43c7
cmp word [eax + 9], bx
jne 0x10b8b
cmp byte [eax + 0xb], 4
jne 0x10b8b
cmp dword [eax + 0x10], 0xf087b89
jne 0x10b8b
mov ecx, dword [eax + 0xc]
mov dword [0x1f408], ecx
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x20]
add dword [0x1f408], ecx
mov ecx, eax
mov dword [ebp - 0x24], ecx
lea edx, [ecx + 0x1000]
cmp eax, edx
jae 0x10b9b
cmp byte [eax], 0x53
jne 0x108e9
cmp word [eax + 1], bx
jne 0x108e9
cmp byte [eax + 3], 4
jne 0x108e9
cmp word [eax + 8], bx
jne 0x108e9
cmp byte [eax + 0xa], 8
jne 0x108e9
cmp byte [eax + 0xf], 0xe8
jne 0x108e9
mov edx, dword [eax + 4]
mov dword [0x1f40c], edx
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20]
add dword [0x1f40c], edx
inc eax
mov dword [ebp - 0x28], eax
jmp 0x108a3
cmp edx, 8
jne 0x10a03
cmp word [eax], cx
jne 0x10b8b
cmp byte [eax + 2], 0x44
jne 0x10b8b
cmp word [eax + 3], cx
jne 0x10b8b
cmp byte [eax + 5], 0x48
jne 0x10b8b
cmp word [eax + 6], cx
jne 0x10b8b
cmp byte [eax + 8], 0x4c
jne 0x10b8b
cmp word [eax + 9], cx
jne 0x10b8b
cmp byte [eax + 0xb], 0x50
jne 0x10b8b
mov ebx, 0x43c7
cmp word [eax + 0xc], bx
jne 0x10b8b
cmp byte [eax + 0xe], 4
jne 0x10b8b
cmp dword [eax + 0x13], 0x88087389
jne 0x10b8b
cmp dword [eax + 0x17], 0x4b88404b
jne 0x10b8b
cmp dword [eax + 0x22], 0x314d4368
jne 0x10b8b
mov ecx, dword [eax + 0xf]
mov dword [0x1f408], ecx
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x20]
add dword [0x1f408], ecx
mov ecx, eax
mov dword [ebp - 0x24], ecx
lea edx, [ecx + 0x1000]
cmp eax, edx
jae 0x10b9b
cmp word [eax], 0xf883
jne 0x109fd
cmp byte [eax + 2], 5
jne 0x109fd
cmp word [eax + 3], 0x1975
jne 0x109fd
cmp byte [eax + 5], 0x53
jne 0x109fd
cmp word [eax + 6], bx
jne 0x109fd
cmp byte [eax + 8], 4
jne 0x109fd
cmp word [eax + 0xd], bx
jne 0x109fd
cmp byte [eax + 0xf], 8
jne 0x109fd
cmp byte [eax + 0x14], 0xe8
jne 0x109fd
mov edx, dword [eax + 9]
mov dword [0x1f40c], edx
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20]
add dword [0x1f40c], edx
inc eax
mov dword [ebp - 0x28], eax
jmp 0x109a1
cmp edx, 0x10
jne 0x10b17
cmp word [eax], cx
jne 0x10b8b
cmp byte [eax + 2], 0x48
jne 0x10b8b
cmp word [eax + 3], cx
jne 0x10b8b
cmp byte [eax + 5], 0x4c
jne 0x10b8b
cmp word [eax + 6], cx
jne 0x10b8b
cmp byte [eax + 8], 0x50
jne 0x10b8b
cmp word [eax + 9], cx
jne 0x10b8b
cmp byte [eax + 0xb], 0x54
jne 0x10b8b
mov ebx, 0x43c7
cmp word [eax + 0xc], bx
jne 0x10b8b
cmp byte [eax + 0xe], 4
jne 0x10b8b
cmp dword [eax + 0x13], 0x88087389
jne 0x10b8b
cmp dword [eax + 0x17], 0x4b88444b
jne 0x10b8b
cmp dword [eax + 0x24], 0x314d4368
jne 0x10b8b
mov ecx, dword [eax + 0xf]
mov dword [0x1f408], ecx
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x20]
add dword [0x1f408], ecx
mov ecx, eax
mov dword [ebp - 0x24], ecx
lea edx, [ecx + 0x1000]
cmp eax, edx
jae 0x10b9b
cmp word [eax], 0xf883
jne 0x10b11
cmp byte [eax + 2], 5
jne 0x10b11
cmp word [eax + 3], 0x3a75
jne 0x10b11
cmp byte [eax + 5], 0x53
jne 0x10b11
cmp word [eax + 6], bx
jne 0x10b11
cmp byte [eax + 8], 4
jne 0x10b11
cmp word [eax + 0xd], bx
jne 0x10b11
cmp byte [eax + 0xf], 8
jne 0x10b11
cmp byte [eax + 0x14], 0xe8
jne 0x10b11
mov edx, dword [eax + 9]
mov dword [0x1f40c], edx
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20]
add dword [0x1f40c], edx
inc eax
mov dword [ebp - 0x28], eax
jmp 0x10ab5
cmp edx, 1
jne 0x10b8b
cmp word [eax], cx
jne 0x10b8b
cmp byte [eax + 2], 0x30
jne 0x10b8b
cmp word [eax + 3], 0x4588
jne 0x10b8b
cmp byte [eax + 5], 8
jne 0x10b8b
cmp word [eax + 6], 0x458b
jne 0x10b8b
cmp byte [eax + 8], 0xc
jne 0x10b8b
cmp dword [eax + 9], 0x7389c63b
jne 0x10b8b
cmp word [eax + 0xe], 0x43c7
jne 0x10b8b
cmp byte [eax + 0x10], 4
jne 0x10b8b
cmp dword [eax + 0x15], 0x95850f
jne 0x10b8b
cmp dword [eax + 0x19], 0x75ff0000
jne 0x10b8b
cmp dword [eax + 0x1d], 0x10006808
jne 0x10b8b
mov eax, dword [eax + 0x11]
mov dword [0x1f408], eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x20]
add dword [0x1f408], eax
jmp 0x10b9b
inc eax
mov dword [ebp - 0x28], eax
jmp 0x106fc
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x2c], 0
je 0x10bad
push dword [ebp - 0x2c]
call fcn.0001061a
mov eax, dword [ebp - 0x34]
call fcn.0001962b
ret 4