Function at 0x4913a4
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov edi, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
call fcn.0040433c
xor eax, eax
push ebp
push 0x491a8f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 8]
call fcn.00466d90
mov esi, eax
test esi, esi
jne 0x4913eb
mov dword [edi], 0x16
jmp 0x491a79
xor eax, eax
mov dword [edi], eax
cmp esi, 4
jle 0x491a79
mov edx, 0x40
mov eax, dword [ebp - 8]
call fcn.00409790
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x491417
mov dword [edi], 0x17
jmp 0x491a79
lea edx, [ebp - 4]
mov ecx, 4
mov eax, ebx
call fcn.004097f4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x491a72
mov ax, word [ebp - 4]
mov word [ebp - 0x1c], ax
cmp word [ebp - 4], 0
jne 0x4915a7
cmp word [ebp - 2], 2
ja 0x4915a7
lea edx, [ebp - 0x20]
mov ecx, 4
mov eax, ebx
call fcn.004097f4
cmp dword [ebp - 4], 0
jne 0x4914fc
cmp dword [ebp - 0x20], 0x20
jne 0x4914fc
lea edx, [ebp - 4]
mov ecx, 4
mov eax, ebx
call fcn.004097f4
lea edx, [ebp - 0x20]
mov ecx, 4
mov eax, ebx
call fcn.004097f4
cmp dword [ebp - 0x10], 0
je 0x491a72
cmp dword [ebp - 4], 0xffff
jne 0x491a3a
cmp dword [ebp - 0x20], 0xffff
jne 0x491a3a
cmp esi, 0x14
jle 0x491a3a
lea edx, [ebp - 4]
mov ecx, 4
mov eax, ebx
call fcn.004097f4
lea edx, [ebp - 0x20]
mov ecx, 4
mov eax, ebx
call fcn.004097f4
cmp dword [ebp - 4], 0
jne 0x491a3a
cmp dword [ebp - 0x20], 0
jne 0x491a3a
mov dword [edi], 0x13
jmp 0x491a3a
mov ax, word [ebp - 0x20]
test ax, ax
jbe 0x491514
mov dword [edi], 1
movzx eax, word [ebp - 2]
mov edx, dword [ebp - 0xc]
mov dword [edx], eax
mov eax, dword [ebp - 0x20]
call fcn.00491aa0
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x84
jle 0x491a3a
mov eax, esi
sub eax, 4
cmp eax, dword [ebp - 0x14]
jle 0x491a3a
mov edx, dword [ebp - 0x14]
add edx, 4
xor ecx, ecx
mov eax, ebx
call fcn.0040984c
lea edx, [ebp - 4]
mov ecx, 4
mov eax, ebx
call fcn.004097f4
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 4]
jne 0x49157d
mov edx, esi
mov eax, ebx
call fcn.0049111c
test al, al
je 0x491575
mov dword [edi], 0x10
jmp 0x491590
mov dword [edi], 0x15
jmp 0x491590
mov edx, esi
mov eax, ebx
call fcn.004911d8
test al, al
je 0x491590
mov dword [edi], 0x10
cmp esi, 0x100000
jle 0x491a3a
mov dword [edi], 0x15
jmp 0x491a3a
cmp word [ebp - 0x1c], 1
jne 0x4915fb
xor ecx, ecx
mov edx, 0x12
mov eax, ebx
call fcn.0040984c
lea edx, [ebp - 0x20]
mov ecx, 4
mov eax, ebx
call fcn.004097f4
cmp dword [ebp - 0x20], 0x28
jne 0x491a3a
mov dword [edi], 1
mov eax, dword [ebp - 0xc]
mov dword [eax], 4
cmp esi, 0x3200000
jle 0x491a3a
mov dword [edi], 0x15
jmp 0x491a3a
cmp word [ebp - 0x1c], 0x5a4d
jne 0x4916b3
xor ecx, ecx
mov edx, 0x3c
mov eax, ebx
call fcn.0040984c
lea edx, [ebp - 0x18]
mov ecx, 2
mov eax, ebx
call fcn.004097f4
movzx edx, word [ebp - 0x18]
xor ecx, ecx
mov eax, ebx
call fcn.0040984c
lea edx, [ebp - 0x1c]
mov ecx, 2
mov eax, ebx
call fcn.004097f4
cmp word [ebp - 0x1c], 0x454e
sete byte [ebp - 0x15]
xor eax, eax
cmp byte [ebp - 0x15], 0
jne 0x49167c
mov ecx, 1
mov edx, 0xfffffffe
mov eax, ebx
call fcn.0040984c
lea edx, [ebp - 0x24]
mov ecx, 4
mov eax, ebx
call fcn.004097f4
cmp dword [ebp - 0x24], 0x4550
sete al
mov dl, byte [ebp - 0x15]
or dl, al
je 0x491689
mov dword [edi], 2
cmp byte [ebp - 0x15], 0
je 0x49169d
mov eax, dword [ebp - 0xc]
mov dword [eax], 1
jmp 0x491a3a
test al, al
je 0x491a3a
mov eax, dword [ebp - 0xc]
mov dword [eax], 2
jmp 0x491a3a
cmp dword [ebp - 4], 0x46464952
jne 0x491748
lea edx, [ebp - 0x14]
mov ecx, 4
mov eax, ebx
call fcn.004097f4
cmp esi, dword [ebp - 0x14]
je 0x4916ec
mov eax, esi
sub eax, 8
cmp eax, dword [ebp - 0x14]
je 0x4916ec
mov eax, esi
sub eax, 4
cmp eax, dword [ebp - 0x14]
jne 0x491a3a
lea edx, [ebp - 0x28]
mov ecx, 4
mov eax, ebx
call fcn.004097f4
lea eax, [ebp - 0x28]
mov edx, 0x731a78
mov ecx, 4
call fcn.00402d78
jne 0x491717
mov dword [edi], 4
jmp 0x491731
lea eax, [ebp - 0x28]
mov edx, 0x731a7c
mov ecx, 4
call fcn.00402d78
jne 0x491731
mov dword [edi], 0xa
cmp esi, 0x100000
jle 0x491a3a
mov dword [edi], 0x15
jmp 0x491a3a
cmp dword [ebp - 4], 0xe0ffd8ff
je 0x491775
cmp dword [ebp - 4], 0xfeffd8ff
je 0x491775
cmp dword [ebp - 4], 0xe1ffd8ff
je 0x491775
cmp dword [ebp - 4], 0xdbffd8ff
je 0x491775
cmp dword [ebp - 4], 0xedffd8ff
jne 0x4917ac
mov dword [edi], 5
mov eax, ebx
call fcn.004912bc
mov edx, dword [ebp - 0xc]
mov dword [edx], eax
mov eax, dword [ebp - 0xc]
cmp dword [eax], 4
jne 0x491795
mov dword [edi], 0x19
cmp esi, 0x3200000
jle 0x491a3a
mov dword [edi], 0x15
jmp 0x491a3a
cmp dword [ebp - 4], 0x464947
je 0x4917be
cmp dword [ebp - 4], 0x38464947
jne 0x4917c9
mov dword [edi], 7
jmp 0x491a3a
cmp word [ebp - 0x1c], 0x4d42
jne 0x4917dc
mov dword [edi], 6
jmp 0x491a3a
cmp dword [ebp - 4], 0x474e5089
jne 0x49180c
lea edx, [ebp - 4]
mov ecx, 4
mov eax, ebx
call fcn.004097f4
cmp dword [ebp - 4], 0xa1a0a0d
jne 0x491a3a
mov dword [edi], 8
jmp 0x491a3a
cmp dword [ebp - 4], 0x53504238
jne 0x491849
lea edx, [ebp - 0x1c]
mov ecx, 2
mov eax, ebx
call fcn.004097f4
mov ax, word [ebp - 0x1c]
xchg al, ah
movzx eax, ax
mov edx, dword [ebp - 0xc]
mov dword [edx], eax
mov eax, dword [ebp - 0xc]
cmp dword [eax], 1
jne 0x491a3a
mov dword [edi], 9
jmp 0x491a3a
cmp dword [ebp - 4], 0x30434349
jne 0x49189d
lea edx, [ebp - 4]
mov ecx, 4
mov eax, ebx
call fcn.004097f4
lea edx, [ebp - 0x28]
mov ecx, 4
mov eax, ebx
call fcn.004097f4
cmp dword [ebp - 4], 1
jne 0x491a3a
lea eax, [ebp - 0x28]
mov edx, 0x7319bc
mov ecx, 4
call fcn.00402d78
jne 0x491a3a
mov dword [edi], 0xb
jmp 0x491a3a
mov eax, dword [ebp - 4]
cmp eax, dword [0x7319c0]
jne 0x4918cc
mov dword [edi], 0xd
lea edx, [ebp - 0x19]
mov ecx, 1
mov eax, ebx
call fcn.004097f4
xor eax, eax
mov al, byte [ebp - 0x19]
mov edx, dword [ebp - 0xc]
mov dword [edx], eax
jmp 0x491a3a
lea eax, [ebp - 4]
mov edx, 0x7319e8
mov ecx, 4
call fcn.00402d78
je 0x4918eb
mov eax, dword [ebp - 4]
cmp eax, dword [0x7319ec]
jne 0x49191d
mov edx, esi
mov eax, ebx
call fcn.0049111c
test al, al
je 0x491900
mov dword [edi], 0x10
jmp 0x491906
mov dword [edi], 0x15
cmp esi, 0x1000000
jle 0x491a3a
mov dword [edi], 0x15
jmp 0x491a3a
mov al, byte [ebp - 4]
sub al, 0xa
je 0x491928
sub al, 2
jne 0x491962
mov al, byte [ebp - 3]
test al, al
je 0x491939
add al, 0xfe
sub al, 2
jb 0x491939
sub al, 1
jne 0x491962
mov al, byte [ebp - 2]
sub al, 2
jae 0x491962
mov al, byte [ebp - 1]
sub al, 2
jb 0x49194f
sub al, 2
je 0x49194f
sub al, 4
jne 0x491962
cmp esi, 0x80
jle 0x491962
mov dword [edi], 0xe
jmp 0x491a3a
mov eax, dword [ebp - 4]
cmp eax, dword [0x7319c4]
jne 0x491978
mov dword [edi], 0x11
jmp 0x491a3a
mov eax, dword [ebp - 4]
cmp eax, dword [0x7319c8]
jne 0x4919ba
mov dword [edi], 0x11
lea edx, [ebp - 4]
mov ecx, 4
mov eax, ebx
call fcn.004097f4
mov eax, dword [0x7319d0]
and dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp eax, dword [0x7319cc]
jne 0x491a3a
mov dword [edi], 0x12
jmp 0x491a3a
mov ax, word [ebp - 0x1c]
cmp ax, word [0x7319dc]
je 0x4919d4
mov ax, word [ebp - 0x1c]
cmp ax, word [0x7319e0]
jne 0x4919fa
cmp dword [ebp - 4], 0x2a4949
je 0x4919e6
cmp dword [ebp - 4], 0x2a004d4d
jne 0x491a3a
mov dword [edi], 0xf
movzx eax, word [0x7319e4]
mov edx, dword [ebp - 0xc]
mov dword [edx], eax
jmp 0x491a3a
mov eax, dword [ebp - 4]
and eax, dword [0x7319d8]
cmp eax, dword [0x7319d4]
jne 0x491a3a
cmp esi, 0x14
jle 0x491a3a
mov al, byte [ebp - 1]
mov byte [ebp - 0x19], al
mov al, byte [ebp - 0x19]
add al, 0xd3
sub al, 2
jb 0x491a34
dec eax
sub al, 0xa
jb 0x491a34
add al, 0xf9
sub al, 0x1a
jb 0x491a34
sub al, 4
je 0x491a34
add al, 0xfe
sub al, 0x1a
jae 0x491a3a
mov dword [edi], 0x14
cmp dword [edi], 0
jne 0x491a72
mov al, byte [ebp - 3]
sub al, 2
jae 0x491a72
mov al, byte [ebp - 2]
dec eax
sub al, 3
jb 0x491a54
add al, 0xfb
sub al, 3
jae 0x491a72
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.0040984c
mov edx, esi
mov eax, ebx
call fcn.00491088
test al, al
je 0x491a72
mov dword [edi], 0xc
mov eax, ebx
call fcn.00409858
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x491a96
lea eax, [ebp - 8]
call fcn.00403ef8
ret