Function at 0x473720
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
movzx edi, byte [ecx]
lea eax, [edi - 9]
cmp eax, 0x75
ja case.0x473741.34
movzx eax, byte [eax + 0x473d0c]
mov dl, 4
jmp dword [eax*4 + 0x473ca4]
movzx esi, byte [ecx + 1]
mov edx, 1
mov eax, edx
test byte [esi + 0x4e3198], dl
je 0x47376e
jmp 0x473760
add eax, edx
movzx esi, byte [eax + ecx]
test byte [esi + 0x4e3198], dl
jne 0x473760
pop edi
pop esi
mov dword [ebx], 0x96
pop ebx
pop ebp
ret
cmp byte [ecx + 1], 0x2d
jne 0x4737aa
movzx edx, byte [ecx + 2]
mov eax, 2
test edx, edx
je 0x47379f
lea esp, [esp]
cmp edx, 0xa
je 0x47379f
movzx edx, byte [eax + ecx + 1]
inc eax
test edx, edx
jne 0x473790
pop edi
pop esi
mov dword [ebx], 0x96
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x58
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x16
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x17
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 1
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x57
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x59
mov eax, 1
pop ebx
pop ebp
ret
cmp byte [ecx + 1], 0x2a
jne 0x473842
mov dl, byte [ecx + 2]
test dl, dl
je 0x473842
mov eax, 3
movzx edx, dl
nop
cmp edx, 0x2a
jne 0x47382b
cmp byte [eax + ecx], 0x2f
je 0x473836
movzx edx, byte [eax + ecx]
test edx, edx
je 0x473837
inc eax
jmp 0x473820
inc eax
pop edi
pop esi
mov dword [ebx], 0x96
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x5a
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x5b
mov eax, 1
pop ebx
pop ebp
ret
xor eax, eax
cmp byte [ecx + 1], 0x3d
pop edi
sete al
pop esi
mov dword [ebx], 0x4d
pop ebx
inc eax
pop ebp
ret
movzx eax, byte [ecx + 1]
cmp eax, 0x3d
jne 0x473890
pop edi
pop esi
mov dword [ebx], 0x4f
mov eax, 2
pop ebx
pop ebp
ret
cmp eax, 0x3e
jne 0x4738a5
pop edi
pop esi
mov dword [ebx], 0x4c
mov eax, 2
pop ebx
pop ebp
ret
cmp eax, 0x3c
jne 0x4738ba
pop edi
pop esi
mov dword [ebx], 0x55
mov eax, 2
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x50
mov eax, 1
pop ebx
pop ebp
ret
movzx eax, byte [ecx + 1]
cmp eax, 0x3d
jne 0x4738e3
pop edi
pop esi
mov dword [ebx], 0x51
mov eax, 2
pop ebx
pop ebp
ret
cmp eax, 0x3e
jne 0x4738f8
pop edi
pop esi
mov dword [ebx], 0x56
mov eax, 2
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x4e
mov eax, 1
pop ebx
pop ebp
ret
cmp byte [ecx + 1], 0x3d
mov eax, 2
jne 0x473bd9
pop edi
pop esi
mov dword [ebx], 0x4c
pop ebx
pop ebp
ret
cmp byte [ecx + 1], 0x7c
je 0x473938
pop edi
pop esi
mov dword [ebx], 0x54
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x5c
mov eax, 2
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x1a
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x53
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x5e
mov eax, 1
pop ebx
pop ebp
ret
movzx esi, byte [ecx + 1]
mov eax, 1
test esi, esi
je 0x47399d
cmp esi, edi
jne 0x473993
movzx edx, byte [ecx + eax + 1]
cmp edx, edi
jne 0x47399d
inc eax
movzx esi, byte [eax + ecx + 1]
inc eax
test esi, esi
jne 0x473985
cmp esi, 0x27
jne 0x4739ae
pop edi
pop esi
mov dword [ebx], 0x5f
inc eax
pop ebx
pop ebp
ret
test esi, esi
je 0x473bd9
pop edi
pop esi
mov dword [ebx], 0x1b
inc eax
pop ebx
pop ebp
ret
movzx eax, byte [ecx + 1]
test byte [eax + 0x4e3198], dl
jne case.0x473741.24
pop edi
pop esi
mov dword [ebx], 0x77
mov eax, 1
pop ebx
pop ebp
ret
xor eax, eax
mov dword [ebx], 0x82
test byte [edi + 0x4e3198], dl
je 0x4739fe
mov edi, edi
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x4e3198], dl
jne 0x4739f0
cmp byte [eax + ecx], 0x2e
jne 0x473a26
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x4e3198], dl
je 0x473a20
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x4e3198], dl
jne 0x473a12
mov dword [ebx], 0x83
mov bl, byte [eax + ecx]
cmp bl, 0x65
je 0x473a33
cmp bl, 0x45
jne 0x473a89
mov bl, byte [eax + ecx + 1]
movzx esi, bl
test byte [esi + 0x4e3198], dl
jne 0x473a59
cmp bl, 0x2b
je 0x473a4c
cmp bl, 0x2d
jne 0x473a89
movzx esi, byte [eax + ecx + 2]
test byte [esi + 0x4e3198], dl
je 0x473a89
movzx esi, byte [eax + ecx + 2]
add eax, 2
test byte [esi + 0x4e3198], dl
je 0x473a7e
lea esp, [esp]
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x4e3198], dl
jne 0x473a70
mov edx, dword [ebp + 8]
mov dword [edx], 0x83
jmp 0x473a8c
mov edx, dword [ebp + 8]
movzx esi, byte [eax + ecx]
mov bl, 0x46
test byte [esi + 0x4e3198], bl
je 0x473c9e
mov edi, edi
movzx esi, byte [eax + ecx + 1]
inc eax
mov edi, 0x95
test byte [esi + 0x4e3198], bl
jne 0x473aa0
mov dword [edx], edi
pop edi
pop esi
pop ebx
pop ebp
ret
mov edx, edi
mov eax, 1
cmp edx, 0x5d
je 0x473ad4
movzx edx, byte [eax + ecx]
test edx, edx
je 0x473ad4
inc eax
cmp edx, 0x5d
jne 0x473ac6
sub edx, 0x5d
neg edx
sbb edx, edx
and edx, 0x7a
pop edi
add edx, 0x1b
pop esi
mov dword [ebx], edx
pop ebx
pop ebp
ret
movzx esi, byte [ecx + 1]
mov dl, 4
mov dword [ebx], 0x86
mov eax, 1
test byte [esi + 0x4e3198], dl
je 0x473c9e
jmp 0x473b10
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x4e3198], dl
jne 0x473b10
pop edi
pop esi
pop ebx
pop ebp
ret
movzx esi, byte [ecx + 1]
mov dl, 4
mov eax, 1
test byte [esi + 0x4e3198], dl
je case.0x473741.13
jmp 0x473b40
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x4e3198], dl
jne 0x473b40
cmp eax, 1
jle case.0x473741.13
pop edi
pop esi
mov dword [ebx], 0x85
pop ebx
pop ebp
ret
movzx edx, byte [ecx + 1]
xor esi, esi
mov dword [ebx], 0x86
lea eax, [esi + 1]
test edx, edx
je 0x473bd9
mov bl, 0x46
movzx edi, dl
test byte [edi + 0x4e3198], bl
je 0x473b81
inc esi
jmp 0x473b92
cmp edx, 0x28
je 0x473b9e
cmp edx, 0x3a
jne 0x473bce
cmp byte [ecx + eax + 1], dl
jne 0x473bce
inc eax
movzx edx, byte [eax + ecx + 1]
inc eax
test edx, edx
jne 0x473b73
jmp 0x473bce
test esi, esi
jle 0x473bd0
movzx edx, byte [eax + ecx + 1]
inc eax
test edx, edx
je 0x473bbd
test byte [edx + 0x4e3198], 1
jne 0x473bbd
cmp edx, 0x29
jne 0x473ba2
inc eax
jmp 0x473bce
cmp edx, 0x29
jne 0x473bc5
inc eax
jmp 0x473bce
mov ecx, dword [ebp + 8]
mov dword [ecx], 0x95
test esi, esi
jne 0x473c9e
mov ebx, dword [ebp + 8]
pop edi
pop esi
mov dword [ebx], 0x95
pop ebx
pop ebp
ret
cmp byte [ecx + 1], 0x27
jne case.0x473741.34
movzx esi, byte [ecx + 2]
mov dl, 8
mov dword [ebx], 0x84
mov eax, 2
test byte [esi + 0x4e3198], dl
je 0x473c11
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x4e3198], dl
jne 0x473c03
mov dl, byte [eax + ecx]
cmp dl, 0x27
jne 0x473c2a
mov esi, eax
and esi, 0x80000001
jns 0x473c28
dec esi
or esi, 0xfffffffe
inc esi
je 0x473c42
mov dword [ebx], 0x95
test dl, dl
je 0x473c42
cmp dl, 0x27
je 0x473c42
mov dl, byte [eax + ecx + 1]
inc eax
test dl, dl
jne 0x473c34
cmp byte [eax + ecx], 0
je 0x473c9e
pop edi
pop esi
inc eax
pop ebx
pop ebp
ret
mov bl, 0x46
test byte [edi + 0x4e3198], bl
jne 0x473c6b
mov edx, dword [ebp + 8]
pop edi
pop esi
mov dword [edx], 0x95
mov eax, 1
pop ebx
pop ebp
ret
movzx eax, byte [ecx + 1]
mov edi, 1
test byte [eax + 0x4e3198], bl
je 0x473c8e
lea esp, [esp]
movzx edx, byte [edi + ecx + 1]
inc edi
test byte [edx + 0x4e3198], bl
jne 0x473c80
push ecx
call fcn.00473640
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
ret
out dx, al
clts
push es
push es
push es
inc ebx
push esp
inc ebp
push eax
push ecx
dec ebx
inc ecx
push esi
mov edx, ecx
or ch, dh
adc dword [esi], eax
push es
push es
push es
aas
cmp dword [esi + ecx*2 + 0x4a], ecx
inc ebp
cmp eax, 0x89433d54
retf 0x870a