Function at 0x473fc0
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.0x473fe1.34
movzx eax, byte [eax + 0x47459c]
mov dl, 4
jmp dword [eax*4 + 0x474534]
movzx esi, byte [ecx + 1]
mov edx, 1
mov eax, edx
test byte [esi + 0x57f038], dl
je 0x47400e
jmp 0x474000
add eax, edx
movzx esi, byte [eax + ecx]
test byte [esi + 0x57f038], dl
jne 0x474000
pop edi
pop esi
mov dword [ebx], 0x95
pop ebx
pop ebp
ret
cmp byte [ecx + 1], 0x2d
jne 0x47404a
movzx edx, byte [ecx + 2]
mov eax, 2
test edx, edx
je 0x47403f
lea esp, [esp]
cmp edx, 0xa
je 0x47403f
movzx edx, byte [eax + ecx + 1]
inc eax
test edx, edx
jne 0x474030
pop edi
pop esi
mov dword [ebx], 0x95
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], 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], 0x56
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x58
mov eax, 1
pop ebx
pop ebp
ret
cmp byte [ecx + 1], 0x2a
jne 0x4740e2
mov dl, byte [ecx + 2]
test dl, dl
je 0x4740e2
mov eax, 3
movzx edx, dl
nop
cmp edx, 0x2a
jne 0x4740cb
cmp byte [eax + ecx], 0x2f
je 0x4740d6
movzx edx, byte [eax + ecx]
test edx, edx
je 0x4740d7
inc eax
jmp 0x4740c0
inc eax
pop edi
pop esi
mov dword [ebx], 0x95
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x59
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x5a
mov eax, 1
pop ebx
pop ebp
ret
xor eax, eax
mov dword [ebx], 0x4c
cmp byte [ecx + 1], 0x3d
pop edi
sete al
pop esi
pop ebx
inc eax
pop ebp
ret
movzx eax, byte [ecx + 1]
cmp eax, 0x3d
jne 0x474130
pop edi
pop esi
mov dword [ebx], 0x4e
mov eax, 2
pop ebx
pop ebp
ret
cmp eax, 0x3e
jne 0x474145
pop edi
pop esi
mov dword [ebx], 0x4b
mov eax, 2
pop ebx
pop ebp
ret
cmp eax, 0x3c
jne 0x47415a
pop edi
pop esi
mov dword [ebx], 0x54
mov eax, 2
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x4f
mov eax, 1
pop ebx
pop ebp
ret
movzx eax, byte [ecx + 1]
cmp eax, 0x3d
jne 0x474183
pop edi
pop esi
mov dword [ebx], 0x50
mov eax, 2
pop ebx
pop ebp
ret
cmp eax, 0x3e
jne 0x474198
pop edi
pop esi
mov dword [ebx], 0x55
mov eax, 2
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x4d
mov eax, 1
pop ebx
pop ebp
ret
cmp byte [ecx + 1], 0x3d
mov eax, 2
jne 0x474469
pop edi
pop esi
mov dword [ebx], 0x4b
pop ebx
pop ebp
ret
cmp byte [ecx + 1], 0x7c
je 0x4741d8
pop edi
pop esi
mov dword [ebx], 0x53
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x5b
mov eax, 2
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x19
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x52
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x5d
mov eax, 1
pop ebx
pop ebp
ret
movzx esi, byte [ecx + 1]
mov eax, 1
test esi, esi
je 0x47423d
cmp esi, edi
jne 0x474233
movzx edx, byte [ecx + eax + 1]
cmp edx, edi
jne 0x47423d
inc eax
movzx esi, byte [eax + ecx + 1]
inc eax
test esi, esi
jne 0x474225
cmp esi, 0x27
jne 0x47424e
pop edi
pop esi
mov dword [ebx], 0x5e
inc eax
pop ebx
pop ebp
ret
test esi, esi
je 0x474469
pop edi
pop esi
mov dword [ebx], 0x1a
inc eax
pop ebx
pop ebp
ret
movzx eax, byte [ecx + 1]
test byte [eax + 0x57f038], dl
jne case.0x473fe1.24
pop edi
pop esi
mov dword [ebx], 0x76
mov eax, 1
pop ebx
pop ebp
ret
mov dword [ebx], 0x81
movzx esi, byte [ecx]
xor eax, eax
test byte [esi + 0x57f038], dl
je 0x47429f
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x57f038], dl
jne 0x474291
cmp byte [eax + ecx], 0x2e
jne 0x4742c7
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x57f038], dl
je 0x4742c1
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x57f038], dl
jne 0x4742b3
mov dword [ebx], 0x82
mov bl, byte [eax + ecx]
cmp bl, 0x65
je 0x4742d4
cmp bl, 0x45
jne 0x474329
mov bl, byte [eax + ecx + 1]
movzx esi, bl
test byte [esi + 0x57f038], dl
jne 0x4742fa
cmp bl, 0x2b
je 0x4742ed
cmp bl, 0x2d
jne 0x474329
movzx esi, byte [eax + ecx + 2]
test byte [esi + 0x57f038], dl
je 0x474329
movzx esi, byte [eax + ecx + 2]
add eax, 2
test byte [esi + 0x57f038], dl
je 0x47431e
lea ebx, [ebx]
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x57f038], dl
jne 0x474310
mov edx, dword [ebp + 8]
mov dword [edx], 0x82
jmp 0x47432c
mov edx, dword [ebp + 8]
movzx esi, byte [eax + ecx]
mov bl, 0x46
test byte [esi + 0x57f038], bl
je 0x47452e
mov edi, edi
inc eax
mov dword [edx], 0x94
movzx esi, byte [eax + ecx]
test byte [esi + 0x57f038], bl
jne 0x474340
pop edi
pop esi
pop ebx
pop ebp
ret
mov edx, edi
mov eax, 1
cmp edx, 0x5d
je 0x474372
movzx edx, byte [eax + ecx]
test edx, edx
je 0x474372
inc eax
cmp edx, 0x5d
jne 0x474364
sub edx, 0x5d
neg edx
sbb edx, edx
and edx, 0x7a
pop edi
add edx, 0x1a
pop esi
mov dword [ebx], edx
pop ebx
pop ebp
ret
mov dword [ebx], 0x85
movzx esi, byte [ecx + 1]
mov dl, 4
mov eax, 1
test byte [esi + 0x57f038], dl
je 0x47452e
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x57f038], dl
jne 0x4743a3
pop edi
pop esi
pop ebx
pop ebp
ret
movzx esi, byte [ecx + 1]
mov dl, 4
mov eax, 1
test byte [esi + 0x57f038], dl
je case.0x473fe1.13
lea esp, [esp]
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x57f038], dl
jne 0x4743d0
cmp eax, 1
jle case.0x473fe1.13
pop edi
pop esi
mov dword [ebx], 0x84
pop ebx
pop ebp
ret
mov dword [ebx], 0x85
movzx edx, byte [ecx + 1]
xor esi, esi
lea eax, [esi + 1]
test edx, edx
je 0x474469
mov bl, 0x46
movzx edi, dl
test byte [edi + 0x57f038], bl
je 0x474411
inc esi
jmp 0x474422
cmp edx, 0x28
je 0x47442e
cmp edx, 0x3a
jne 0x47445e
cmp byte [ecx + eax + 1], dl
jne 0x47445e
inc eax
movzx edx, byte [eax + ecx + 1]
inc eax
test edx, edx
jne 0x474403
jmp 0x47445e
test esi, esi
jle 0x474460
movzx edx, byte [eax + ecx + 1]
inc eax
test edx, edx
je 0x47444d
test byte [edx + 0x57f038], 1
jne 0x47444d
cmp edx, 0x29
jne 0x474432
inc eax
jmp 0x47445e
cmp edx, 0x29
jne 0x474455
inc eax
jmp 0x47445e
mov ecx, dword [ebp + 8]
mov dword [ecx], 0x94
test esi, esi
jne 0x47452e
mov ebx, dword [ebp + 8]
pop edi
pop esi
mov dword [ebx], 0x94
pop ebx
pop ebp
ret
cmp byte [ecx + 1], 0x27
jne case.0x473fe1.34
mov dword [ebx], 0x83
movzx esi, byte [ecx + 2]
mov dl, 8
mov eax, 2
test byte [esi + 0x57f038], dl
je 0x4744a1
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x57f038], dl
jne 0x474493
cmp byte [eax + ecx], 0x27
jne 0x4744b8
mov edx, eax
and edx, reloc.lame.DLL_Ordinal_1
jns 0x4744b6
dec edx
or edx, 0xfffffffe
inc edx
je 0x4744d3
mov dword [ebx], 0x94
mov dl, byte [eax + ecx]
test dl, dl
je 0x4744d3
cmp dl, 0x27
je 0x4744d3
mov dl, byte [eax + ecx + 1]
inc eax
test dl, dl
jne 0x4744c5
cmp byte [eax + ecx], 0
je 0x47452e
pop edi
pop esi
inc eax
pop ebx
pop ebp
ret
mov bl, 0x46
test byte [edi + 0x57f038], bl
jne 0x4744fc
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax], 0x94
mov eax, 1
pop ebx
pop ebp
ret
movzx edx, byte [ecx + 1]
mov edi, 1
test byte [edx + 0x57f038], bl
je 0x47451e
lea ecx, [ecx]
movzx eax, byte [edi + ecx + 1]
inc edi
test byte [eax + 0x57f038], bl
jne 0x474510
push ecx
call fcn.00473ee0
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
ret
dec eax
dec esp
jg 0x604537
call dword [edi + 0x4c]
push edi
dec esp
invalid