Function at 0x4a8989
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 0x4a8b39
je 0x4a8b71
cmp edx, 0x26
ja 0x4a8a78
je 0x4a8a70
cmp edx, 0x21
ja 0x4a8a17
je 0x4a8a02
sub eax, 9
je 0x4a89d8
sub eax, ebx
je 0x4a89d8
dec eax
sub eax, ebx
je 0x4a89d8
sub eax, ebx
je 0x4a89d8
sub eax, 0x13
jne 0x4a8e76
movzx eax, byte [edi + 1]
xor edx, edx
inc edx
test byte [eax + 0x4ef6f0], dl
je 0x4a89f5
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0x4ef6f0], 1
jne 0x4a89e7
mov dword [esi], 0x95
mov eax, edx
jmp 0x4a8eba
cmp byte [edi + 1], 0x3d
je 0x4a8c9a
mov dword [esi], 0x94
jmp 0x4a8c8e
sub eax, 0x22
je 0x4a8da6
sub eax, 1
je 0x4a8a3f
sub eax, 1
je 0x4a8d2c
sub eax, 1
jne 0x4a8e76
mov dword [esi], 0x5a
jmp 0x4a8ab9
movzx eax, byte [edi + 1]
mov edx, ebx
test byte [eax + 0x4ef6f0], 4
je 0x4a8d2c
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0x4ef6f0], 4
jne 0x4a8a52
cmp edx, ebx
jle 0x4a8d2c
mov dword [esi], 0x84
jmp 0x4a89fb
mov dword [esi], 0x52
jmp 0x4a8ab9
sub eax, 0x27
cmp eax, 9
ja 0x4a8e76
jmp dword [eax*4 + 0x4a82c1]
xor eax, eax
inc eax
jmp 0x4a8eba
cmp edx, 0x60
ja 0x4a8df2
je 0x4a8da6
cmp edx, 0x3a
ja 0x4a8c1b
je 0x4a8d2c
sub eax, 0x32
cmp eax, 7
ja 0x4a8e76
movzx eax, byte [eax + 0x4a82ed]
jmp dword [eax*4 + 0x4a82e9]
xor ecx, ecx
mov dword [esi], 0x81
test byte [edx + 0x4ef6f0], 4
push 4
pop edx
je 0x4a8b92
inc ecx
movzx eax, byte [ecx + edi]
test byte [eax + 0x4ef6f0], dl
jne 0x4a8b85
cmp byte [ecx + edi], 0x2e
jne 0x4a8bab
inc ecx
movzx eax, byte [ecx + edi]
test byte [eax + 0x4ef6f0], dl
jne 0x4a8b98
mov dword [esi], 0x82
mov al, byte [ecx + edi]
cmp al, 0x65
je 0x4a8bb6
cmp al, 0x45
jne 0x4a8bf4
mov bl, byte [ecx + edi + 1]
movzx eax, bl
test byte [eax + 0x4ef6f0], dl
jne 0x4a8bdc
cmp bl, 0x2b
je 0x4a8bcf
cmp bl, 0x2d
jne 0x4a8bf4
movzx eax, byte [ecx + edi + 2]
test byte [eax + 0x4ef6f0], dl
je 0x4a8bf4
add ecx, 2
jmp 0x4a8be2
inc ecx
movzx eax, byte [ecx + edi]
test byte [eax + 0x4ef6f0], dl
jne 0x4a8be1
mov dword [esi], 0x82
movzx eax, byte [ecx + edi]
test al, al
js 0x4a8c12
cmp eax, 0x1f
jbe 0x4a8deb
cmp byte [eax + 0x4eec10], 0
je 0x4a8deb
mov dword [esi], 0x94
inc ecx
jmp 0x4a8bf4
cmp edx, 0x3f
ja 0x4a8cf0
je 0x4a8cc3
sub eax, 0x3b
je 0x4a8cb9
sub eax, 1
je 0x4a8c81
sub eax, 1
je 0x4a8c6c
sub eax, 1
jne 0x4a8e76
mov al, byte [edi + 1]
cmp al, 0x3d
jne 0x4a8c55
mov dword [esi], 0x50
jmp 0x4a8c8e
cmp al, 0x3e
jne 0x4a8c61
mov dword [esi], 0x55
jmp 0x4a8c8e
mov dword [esi], 0x4d
jmp 0x4a8ab9
xor eax, eax
mov dword [esi], 0x4c
cmp byte [edi + 1], 0x3d
sete al
inc eax
jmp 0x4a8eba
mov al, byte [edi + 1]
cmp al, 0x3d
jne 0x4a8c96
mov dword [esi], 0x4e
push 2
pop eax
jmp 0x4a8eba
cmp al, 0x3e
jne 0x4a8ca2
mov dword [esi], 0x4b
jmp 0x4a8c8e
cmp al, 0x3c
jne 0x4a8cae
mov dword [esi], 0x54
jmp 0x4a8c8e
mov dword [esi], 0x4f
jmp 0x4a8ab9
xor ebx, ebx
inc ebx
mov dword [esi], ebx
jmp 0x4a8eb8
movzx eax, byte [edi + 1]
xor edx, edx
inc edx
mov dword [esi], 0x85
test byte [eax + 0x4ef6f0], 4
je 0x4a89fb
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0x4ef6f0], 4
jne 0x4a8cdd
jmp 0x4a89fb
cmp edx, 0x40
je 0x4a8d2c
cmp edx, 0x58
je 0x4a8e29
cmp edx, 0x5b
jne 0x4a8e76
xor eax, eax
inc eax
mov dl, byte [eax + edi]
test dl, dl
je 0x4a8d17
inc eax
cmp dl, 0x5d
jne 0x4a8d0a
push 0x1a
cmp dl, 0x5d
mov ecx, 0x94
pop edi
cmove ecx, edi
mov dword [esi], ecx
jmp 0x4a8eba
movzx eax, byte [edi + 1]
xor ecx, ecx
mov dword [esi], 0x85
test eax, eax
je 0x4a8d77
test al, al
js 0x4a8d65
cmp eax, 0x1f
jbe 0x4a8d4e
cmp byte [eax + 0x4eec10], 0
jne 0x4a8d65
cmp eax, 0x28
jne 0x4a8d57
test ecx, ecx
jg 0x4a8d82
cmp eax, 0x3a
jne 0x4a8d6f
cmp byte [edi + ebx + 1], al
jne 0x4a8d6f
inc ebx
jmp 0x4a8d66
inc ecx
inc ebx
movzx eax, byte [ebx + edi]
test eax, eax
jne 0x4a8d3c
test ecx, ecx
jne 0x4a8eb8
mov dword [esi], 0x94
jmp 0x4a8eb8
inc ebx
mov cl, byte [ebx + edi]
movzx eax, cl
test cl, cl
je 0x4a8d9b
test byte [eax + 0x4ef6f0], 1
jne 0x4a8d9b
cmp eax, 0x29
jne 0x4a8d82
cmp cl, 0x29
jne 0x4a8d77
inc ebx
jmp 0x4a8eb8
movzx ebx, byte [edi + 1]
xor ecx, ecx
inc ecx
jmp 0x4a8dc2
cmp ebx, edx
jne 0x4a8dbd
movzx eax, byte [edi + ecx + 1]
cmp eax, edx
jne 0x4a8dc6
inc ecx
inc ecx
movzx ebx, byte [ecx + edi]
test ebx, ebx
jne 0x4a8daf
cmp ebx, 0x27
jne 0x4a8dd9
mov dword [esi], 0x5e
lea eax, [ecx + 1]
jmp 0x4a8eba
test ebx, ebx
je 0x4a8de5
mov dword [esi], 0x1a
jmp 0x4a8dd1
mov dword [esi], 0x94
mov eax, ecx
jmp 0x4a8eba
sub eax, 0x78
je 0x4a8e29
sub eax, 4
je 0x4a8e0d
dec eax
sub eax, 1
jne 0x4a8e76
mov dword [esi], 0x5d
jmp 0x4a8ab9
cmp byte [edi + 1], 0x7c
je 0x4a8e1e
mov dword [esi], 0x53
jmp 0x4a8ab9
mov dword [esi], 0x5b
jmp 0x4a8c8e
cmp byte [edi + 1], 0x27
jne 0x4a8e76
movzx ecx, byte [edi + 2]
mov dword [esi], 0x83
push 2
pop edx
test ecx, ecx
je 0x4a8e66
cmp ecx, 0x27
je 0x4a8e5d
test byte [ecx + 0x4ef6f0], 8
jne 0x4a8e54
mov dword [esi], 0x94
inc edx
movzx ecx, byte [edx + edi]
test ecx, ecx
jne 0x4a8e40
test dl, 1
jne 0x4a8e66
test ecx, ecx
jne 0x4a8e6c
mov dword [esi], 0x94
test ecx, ecx
lea eax, [edx + 1]
cmove eax, edx
jmp 0x4a8eba
test dl, dl
js 0x4a8e93
cmp edx, 0x1f
jbe 0x4a8e88
cmp byte [edx + 0x4eec10], 0
jne 0x4a8e93
mov dword [esi], 0x94
jmp 0x4a8ab9
xor ebx, ebx
inc ebx
movzx eax, byte [ebx + edi]
test al, al
js 0x4a8eac
cmp eax, 0x1f
jbe 0x4a8eaf
cmp byte [eax + 0x4eec10], 0
je 0x4a8eaf
inc ebx
jmp 0x4a8e96
mov edx, ebx
call fcn.004a8efa
mov dword [esi], eax
mov eax, ebx
pop edi
pop esi
pop ebx
ret