Function at 0xf6e3a9
Capabilities:
Parse pe header

Disassembly:
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
mov esi, edx
inc ebx
movzx edx, byte [edi]
mov eax, edx
cmp edx, 0x31
ja 0xf6e559
je 0xf6e591
cmp edx, 0x26
ja 0xf6e498
je 0xf6e490
cmp edx, 0x21
ja 0xf6e437
je 0xf6e422
sub eax, 9
je 0xf6e3f8
sub eax, ebx
je 0xf6e3f8
dec eax
sub eax, ebx
je 0xf6e3f8
sub eax, ebx
je 0xf6e3f8
sub eax, 0x13
jne 0xf6e896
movzx eax, byte [edi + 1]
xor edx, edx
inc edx
test byte [eax + 0xb0f6f0], dl
je 0xf6e415
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0xb0f6f0], 1
jne 0xf6e407
mov dword [esi], 0x95
mov eax, edx
jmp 0xf6e8da
cmp byte [edi + 1], 0x3d
je 0xf6e6ba
mov dword [esi], 0x94
jmp 0xf6e6ae
sub eax, 0x22
je 0xf6e7c6
sub eax, 1
je 0xf6e45f
sub eax, 1
je 0xf6e74c
sub eax, 1
jne 0xf6e896
mov dword [esi], 0x5a
jmp 0xf6e4d9
movzx eax, byte [edi + 1]
mov edx, ebx
test byte [eax + 0xb0f6f0], 4
je 0xf6e74c
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0xb0f6f0], 4
jne 0xf6e472
cmp edx, ebx
jle 0xf6e74c
mov dword [esi], 0x84
jmp 0xf6e41b
mov dword [esi], 0x52
jmp 0xf6e4d9
sub eax, 0x27
cmp eax, 9
ja 0xf6e896
jmp dword [eax*4 + 0xac7ce1]
xor eax, eax
inc eax
jmp 0xf6e8da
cmp edx, 0x60
ja 0xf6e812
je 0xf6e7c6
cmp edx, 0x3a
ja 0xf6e63b
je 0xf6e74c
sub eax, 0x32
cmp eax, 7
ja 0xf6e896
movzx eax, byte [eax + 0xac7d0d]
jmp dword [eax*4 + 0xac7d09]
xor ecx, ecx
mov dword [esi], 0x81
test byte [edx + 0xb0f6f0], 4
push 4
pop edx
je 0xf6e5b2
inc ecx
movzx eax, byte [ecx + edi]
test byte [eax + 0xb0f6f0], dl
jne 0xf6e5a5
cmp byte [ecx + edi], 0x2e
jne 0xf6e5cb
inc ecx
movzx eax, byte [ecx + edi]
test byte [eax + 0xb0f6f0], dl
jne 0xf6e5b8
mov dword [esi], 0x82
mov al, byte [ecx + edi]
cmp al, 0x65
je 0xf6e5d6
cmp al, 0x45
jne 0xf6e614
mov bl, byte [ecx + edi + 1]
movzx eax, bl
test byte [eax + 0xb0f6f0], dl
jne 0xf6e5fc
cmp bl, 0x2b
je 0xf6e5ef
cmp bl, 0x2d
jne 0xf6e614
movzx eax, byte [ecx + edi + 2]
test byte [eax + 0xb0f6f0], dl
je 0xf6e614
add ecx, 2
jmp 0xf6e602
inc ecx
movzx eax, byte [ecx + edi]
test byte [eax + 0xb0f6f0], dl
jne 0xf6e601
mov dword [esi], 0x82
movzx eax, byte [ecx + edi]
test al, al
js 0xf6e632
cmp eax, 0x1f
jbe 0xf6e80b
cmp byte [eax + 0xb0ec10], 0
je 0xf6e80b
mov dword [esi], 0x94
inc ecx
jmp 0xf6e614
cmp edx, 0x3f
ja 0xf6e710
je 0xf6e6e3
sub eax, 0x3b
je 0xf6e6d9
sub eax, 1
je 0xf6e6a1
sub eax, 1
je 0xf6e68c
sub eax, 1
jne 0xf6e896
mov al, byte [edi + 1]
cmp al, 0x3d
jne 0xf6e675
mov dword [esi], 0x50
jmp 0xf6e6ae
cmp al, 0x3e
jne 0xf6e681
mov dword [esi], 0x55
jmp 0xf6e6ae
mov dword [esi], 0x4d
jmp 0xf6e4d9
xor eax, eax
mov dword [esi], 0x4c
cmp byte [edi + 1], 0x3d
sete al
inc eax
jmp 0xf6e8da
mov al, byte [edi + 1]
cmp al, 0x3d
jne 0xf6e6b6
mov dword [esi], 0x4e
push 2
pop eax
jmp 0xf6e8da
cmp al, 0x3e
jne 0xf6e6c2
mov dword [esi], 0x4b
jmp 0xf6e6ae
cmp al, 0x3c
jne 0xf6e6ce
mov dword [esi], 0x54
jmp 0xf6e6ae
mov dword [esi], 0x4f
jmp 0xf6e4d9
xor ebx, ebx
inc ebx
mov dword [esi], ebx
jmp 0xf6e8d8
movzx eax, byte [edi + 1]
xor edx, edx
inc edx
mov dword [esi], 0x85
test byte [eax + 0xb0f6f0], 4
je 0xf6e41b
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0xb0f6f0], 4
jne 0xf6e6fd
jmp 0xf6e41b
cmp edx, 0x40
je 0xf6e74c
cmp edx, 0x58
je 0xf6e849
cmp edx, 0x5b
jne 0xf6e896
xor eax, eax
inc eax
mov dl, byte [eax + edi]
test dl, dl
je 0xf6e737
inc eax
cmp dl, 0x5d
jne 0xf6e72a
push 0x1a
cmp dl, 0x5d
mov ecx, 0x94
pop edi
cmove ecx, edi
mov dword [esi], ecx
jmp 0xf6e8da
movzx eax, byte [edi + 1]
xor ecx, ecx
mov dword [esi], 0x85
test eax, eax
je 0xf6e797
test al, al
js 0xf6e785
cmp eax, 0x1f
jbe 0xf6e76e
cmp byte [eax + 0xb0ec10], 0
jne 0xf6e785
cmp eax, 0x28
jne 0xf6e777
test ecx, ecx
jg 0xf6e7a2
cmp eax, 0x3a
jne 0xf6e78f
cmp byte [edi + ebx + 1], al
jne 0xf6e78f
inc ebx
jmp 0xf6e786
inc ecx
inc ebx
movzx eax, byte [ebx + edi]
test eax, eax
jne 0xf6e75c
test ecx, ecx
jne 0xf6e8d8
mov dword [esi], 0x94
jmp 0xf6e8d8
inc ebx
mov cl, byte [ebx + edi]
movzx eax, cl
test cl, cl
je 0xf6e7bb
test byte [eax + 0xb0f6f0], 1
jne 0xf6e7bb
cmp eax, 0x29
jne 0xf6e7a2
cmp cl, 0x29
jne 0xf6e797
inc ebx
jmp 0xf6e8d8
movzx ebx, byte [edi + 1]
xor ecx, ecx
inc ecx
jmp 0xf6e7e2
cmp ebx, edx
jne 0xf6e7dd
movzx eax, byte [edi + ecx + 1]
cmp eax, edx
jne 0xf6e7e6
inc ecx
inc ecx
movzx ebx, byte [ecx + edi]
test ebx, ebx
jne 0xf6e7cf
cmp ebx, 0x27
jne 0xf6e7f9
mov dword [esi], 0x5e
lea eax, [ecx + 1]
jmp 0xf6e8da
test ebx, ebx
je 0xf6e805
mov dword [esi], 0x1a
jmp 0xf6e7f1
mov dword [esi], 0x94
mov eax, ecx
jmp 0xf6e8da
sub eax, 0x78
je 0xf6e849
sub eax, 4
je 0xf6e82d
dec eax
sub eax, 1
jne 0xf6e896
mov dword [esi], 0x5d
jmp 0xf6e4d9
cmp byte [edi + 1], 0x7c
je 0xf6e83e
mov dword [esi], 0x53
jmp 0xf6e4d9
mov dword [esi], 0x5b
jmp 0xf6e6ae
cmp byte [edi + 1], 0x27
jne 0xf6e896
movzx ecx, byte [edi + 2]
mov dword [esi], 0x83
push 2
pop edx
test ecx, ecx
je 0xf6e886
cmp ecx, 0x27
je 0xf6e87d
test byte [ecx + 0xb0f6f0], 8
jne 0xf6e874
mov dword [esi], 0x94
inc edx
movzx ecx, byte [edx + edi]
test ecx, ecx
jne 0xf6e860
test dl, 1
jne 0xf6e886
test ecx, ecx
jne 0xf6e88c
mov dword [esi], 0x94
test ecx, ecx
lea eax, [edx + 1]
cmove eax, edx
jmp 0xf6e8da
test dl, dl
js 0xf6e8b3
cmp edx, 0x1f
jbe 0xf6e8a8
cmp byte [edx + 0xb0ec10], 0
jne 0xf6e8b3
mov dword [esi], 0x94
jmp 0xf6e4d9
xor ebx, ebx
inc ebx
movzx eax, byte [ebx + edi]
test al, al
js 0xf6e8cc
cmp eax, 0x1f
jbe 0xf6e8cf
cmp byte [eax + 0xb0ec10], 0
je 0xf6e8cf
inc ebx
jmp 0xf6e8b6
mov edx, ebx
call fcn.00f6e91a
mov dword [esi], eax
mov eax, ebx
pop edi
pop esi
pop ebx
ret