Function at 0x470885
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
push edi
mov cl, byte [esi]
movzx edi, cl
mov dword [ebp - 4], edi
movzx eax, byte [edi + str.eeeeeeeee_a_ae_a_aeeeeeeeeeeeeeeeeee_a]
cmp eax, 0x1a
ja case.default.0x4708a9
push 4
pop ebx
jmp dword [eax*4 + 0x470cf5]
movzx eax, byte [esi + 1]
xor ecx, ecx
inc ecx
jmp 0x4708be
inc ecx
movzx eax, byte [ecx + esi]
test byte [eax + 0x4a97a0], 1
jne 0x4708b9
mov dword [edx], 0xa3
mov eax, ecx
jmp 0x4709fa
cmp byte [esi + 1], 0x2d
jne 0x4708fc
movzx ecx, byte [esi + 2]
push 2
pop eax
jmp 0x4708ed
cmp ecx, 0xa
je 0x4708f1
inc eax
movzx ecx, byte [eax + esi]
test ecx, ecx
jne 0x4708e3
mov dword [edx], 0xa3
jmp 0x4709fa
mov dword [edx], 0x59
jmp 0x4709f7
mov dword [edx], 0x16
jmp 0x4709f7
mov dword [edx], 0x17
jmp 0x4709f7
mov dword [edx], 1
jmp 0x4709f7
mov dword [edx], 0x58
jmp 0x4709f7
mov dword [edx], 0x5a
jmp 0x4709f7
cmp byte [esi + 1], 0x2a
jne 0x47096a
mov cl, byte [esi + 2]
test cl, cl
je 0x47096a
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x47095c
cmp byte [eax + esi], 0x2f
je 0x470967
movzx ecx, byte [eax + esi]
test ecx, ecx
je 0x4708f1
inc eax
jmp 0x470951
inc eax
jmp 0x4708f1
mov dword [edx], 0x5b
jmp 0x4709f7
mov dword [edx], 0x5c
jmp 0x4709f7
xor eax, eax
mov dword [edx], 0x4e
cmp byte [esi + 1], 0x3d
sete al
inc eax
jmp 0x4709fa
movzx eax, byte [esi + 1]
cmp eax, 0x3d
jne 0x4709a3
mov dword [edx], 0x50
push 2
pop eax
jmp 0x4709fa
cmp eax, 0x3e
jne 0x4709b0
mov dword [edx], 0x4d
jmp 0x47099e
cmp eax, 0x3c
jne 0x4709bd
mov dword [edx], 0x56
jmp 0x47099e
mov dword [edx], 0x51
jmp 0x4709f7
movzx eax, byte [esi + 1]
cmp eax, 0x3d
jne 0x4709d6
mov dword [edx], 0x52
jmp 0x47099e
cmp eax, 0x3e
jne 0x4709e3
mov dword [edx], 0x57
jmp 0x47099e
mov dword [edx], 0x4f
jmp 0x4709f7
cmp byte [esi + 1], 0x3d
je 0x4709a8
mov dword [edx], 0xa4
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi + 1], 0x7c
je 0x470a0f
mov dword [edx], 0x55
jmp 0x4709f7
mov dword [edx], 0x5d
jmp 0x47099e
mov dword [edx], 0x1a
jmp 0x4709f7
mov dword [edx], 0x54
jmp 0x4709f7
mov dword [edx], 0x5f
jmp 0x4709f7
movzx ebx, byte [esi + 1]
xor ecx, ecx
inc ecx
jmp 0x470a4b
cmp ebx, edi
jne 0x470a46
movzx eax, byte [esi + ecx + 1]
cmp eax, edi
jne 0x470a4f
inc ecx
inc ecx
movzx ebx, byte [ecx + esi]
test ebx, ebx
jne 0x470a38
cmp ebx, 0x27
jne 0x470a5f
mov dword [edx], 0x61
lea eax, [ecx + 1]
jmp 0x4709fa
test ebx, ebx
je 0x470c31
mov dword [edx], 0x1b
jmp 0x470a5a
movzx eax, byte [esi + 1]
test byte [eax + 0x4a97a0], bl
jne case.0x4708a9.3
mov dword [edx], 0x7a
jmp 0x4709f7
mov dword [edx], 0x86
cmp cl, 0x30
jne 0x470ace
mov al, byte [esi + 1]
cmp al, 0x78
je 0x470a9c
cmp al, 0x58
jne 0x470ace
movzx eax, byte [esi + 2]
test byte [eax + 0x4a97a0], 8
je 0x470ace
movzx eax, byte [esi + 3]
push 3
pop edx
test byte [eax + 0x4a97a0], 8
je 0x470ac7
inc edx
movzx ecx, byte [edx + esi]
test byte [ecx + 0x4a97a0], 8
jne 0x470ab9
mov eax, edx
jmp 0x4709fa
mov eax, dword [ebp - 4]
xor edi, edi
jmp 0x470ada
inc edi
movzx eax, byte [edi + esi]
test byte [eax + 0x4a97a0], bl
jne 0x470ad5
cmp byte [edi + esi], 0x2e
jne 0x470afb
inc edi
movzx eax, byte [edi + esi]
test byte [eax + 0x4a97a0], bl
jne 0x470ae8
mov dword [edx], 0x84
mov al, byte [edi + esi]
cmp al, 0x65
je 0x470b06
cmp al, 0x45
jne 0x470b44
mov cl, byte [edi + esi + 1]
movzx eax, cl
test byte [eax + 0x4a97a0], bl
jne 0x470b2c
cmp cl, 0x2b
je 0x470b1f
cmp cl, 0x2d
jne 0x470b44
movzx eax, byte [edi + esi + 2]
test byte [eax + 0x4a97a0], bl
je 0x470b44
add edi, 2
jmp 0x470b32
inc edi
movzx eax, byte [edi + esi]
test byte [eax + 0x4a97a0], bl
jne 0x470b31
mov dword [edx], 0x84
movzx eax, byte [edi + esi]
test byte [eax + 0x4a97a0], 0x46
je 0x470b65
inc edi
mov dword [edx], 0xa4
movzx ecx, byte [edi + esi]
test byte [ecx + 0x4a97a0], 0x46
jne 0x470b51
mov eax, edi
jmp 0x4709fa
xor eax, eax
inc eax
jmp 0x470b7a
movzx edi, byte [eax + esi]
test edi, edi
je 0x470b7f
inc eax
cmp edi, 0x5d
jne 0x470b71
push 0x1b
cmp edi, 0x5d
mov ecx, 0xa4
pop esi
cmove ecx, esi
mov dword [edx], ecx
jmp 0x4709fa
movzx eax, byte [esi + 1]
mov dword [edx], 0x87
xor edx, edx
push 4
pop ebx
inc edx
test byte [eax + 0x4a97a0], bl
je 0x470ac7
inc edx
movzx ecx, byte [edx + esi]
test byte [ecx + 0x4a97a0], bl
jne 0x470bb0
jmp 0x470ac7
movzx ebx, byte [esi + 1]
xor ecx, ecx
xor edi, edi
mov dword [edx], 0x87
inc ecx
test ebx, ebx
je 0x470c31
movzx eax, bl
test byte [eax + 0x4a97a0], 0x46
je 0x470be4
inc edi
jmp 0x470bf9
cmp ebx, 0x28
jne 0x470bed
test edi, edi
jg 0x470c04
cmp ebx, 0x3a
jne 0x470c29
cmp byte [esi + ecx + 1], bl
jne 0x470c29
inc ecx
inc ecx
movzx ebx, byte [ecx + esi]
test ebx, ebx
jne 0x470bd5
jmp 0x470c29
inc ecx
movzx ebx, byte [ecx + esi]
test ebx, ebx
je 0x470c1b
test byte [ebx + 0x4a97a0], 1
jne 0x470c1b
cmp ebx, 0x29
jne 0x470c04
cmp ebx, 0x29
jne 0x470c23
inc ecx
jmp 0x470c29
mov dword [edx], 0xa4
test edi, edi
jne 0x4708cd
mov dword [edx], 0xa4
jmp 0x4708cd
movzx eax, byte [esi + 1]
xor ecx, ecx
inc ecx
jmp 0x470c4a
inc ecx
movzx eax, byte [ecx + esi]
cmp byte [eax + str.eeeeeeeee_a_ae_a_aeeeeeeeeeeeeeeeeee_a], 1
jbe 0x470c45
movzx eax, byte [ecx + esi]
test byte [eax + 0x4a97a0], 0x46
jne 0x470cdb
mov dword [edx], 0x1b
push edx
mov edx, ecx
mov ecx, esi
call fcn.004707ba
pop ecx
jmp 0x4709fa
cmp byte [esi + 1], 0x27
jne case.0x4708a9.2
movzx eax, byte [esi + 2]
push 2
mov dword [edx], 0x85
pop ecx
jmp 0x470c90
inc ecx
movzx eax, byte [ecx + esi]
test byte [eax + 0x4a97a0], 8
jne 0x470c8b
mov bl, byte [ecx + esi]
cmp bl, 0x27
jne 0x470cb1
mov eax, ecx
and eax, 0x80000001
jns 0x470caf
dec eax
or eax, 0xfffffffe
inc eax
je 0x470cc6
mov dword [edx], 0xa4
jmp 0x470cc2
cmp bl, 0x27
je 0x470cc6
inc ecx
mov bl, byte [ecx + esi]
test bl, bl
jne 0x470cb9
cmp byte [ecx + esi], 0
je 0x4708cd
inc ecx
jmp 0x4708cd
xor ecx, ecx
inc ecx
jmp 0x470cdc
inc ecx
movzx eax, byte [ecx + esi]
test byte [eax + 0x4a97a0], 0x46
jne 0x470cdb
mov dword [edx], 0x1b
jmp 0x4708cd