Function at 0x467650
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.0x467671.34
movzx eax, byte [eax + 0x467c3c]
mov dl, 4
jmp dword [eax*4 + 0x467bd4]
movzx esi, byte [ecx + 1]
mov edx, 1
mov eax, edx
test byte [esi + 0x515070], dl
je 0x46769e
jmp 0x467690
add eax, edx
movzx esi, byte [eax + ecx]
test byte [esi + 0x515070], dl
jne 0x467690
pop edi
pop esi
mov dword [ebx], 0x95
pop ebx
pop ebp
ret
cmp byte [ecx + 1], 0x2d
jne 0x4676da
movzx edx, byte [ecx + 2]
mov eax, 2
test edx, edx
je 0x4676cf
lea esp, [esp]
cmp edx, 0xa
je 0x4676cf
movzx edx, byte [eax + ecx + 1]
inc eax
test edx, edx
jne 0x4676c0
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 0x467772
mov dl, byte [ecx + 2]
test dl, dl
je 0x467772
mov eax, 3
movzx edx, dl
nop
cmp edx, 0x2a
jne 0x46775b
cmp byte [eax + ecx], 0x2f
je 0x467766
movzx edx, byte [eax + ecx]
test edx, edx
je 0x467767
inc eax
jmp 0x467750
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
cmp byte [ecx + 1], 0x3d
pop edi
sete al
pop esi
mov dword [ebx], 0x4c
pop ebx
inc eax
pop ebp
ret
movzx eax, byte [ecx + 1]
cmp eax, 0x3d
jne 0x4677c0
pop edi
pop esi
mov dword [ebx], 0x4e
mov eax, 2
pop ebx
pop ebp
ret
cmp eax, 0x3e
jne 0x4677d5
pop edi
pop esi
mov dword [ebx], 0x4b
mov eax, 2
pop ebx
pop ebp
ret
cmp eax, 0x3c
jne 0x4677ea
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 0x467813
pop edi
pop esi
mov dword [ebx], 0x50
mov eax, 2
pop ebx
pop ebp
ret
cmp eax, 0x3e
jne 0x467828
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 0x467b09
pop edi
pop esi
mov dword [ebx], 0x4b
pop ebx
pop ebp
ret
cmp byte [ecx + 1], 0x7c
je 0x467868
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 0x4678cd
cmp esi, edi
jne 0x4678c3
movzx edx, byte [ecx + eax + 1]
cmp edx, edi
jne 0x4678cd
inc eax
movzx esi, byte [eax + ecx + 1]
inc eax
test esi, esi
jne 0x4678b5
cmp esi, 0x27
jne 0x4678de
pop edi
pop esi
mov dword [ebx], 0x5e
inc eax
pop ebx
pop ebp
ret
test esi, esi
je 0x467b09
pop edi
pop esi
mov dword [ebx], 0x1a
inc eax
pop ebx
pop ebp
ret
movzx eax, byte [ecx + 1]
test byte [eax + 0x515070], dl
jne case.0x467671.24
pop edi
pop esi
mov dword [ebx], 0x76
mov eax, 1
pop ebx
pop ebp
ret
xor eax, eax
mov dword [ebx], 0x81
test byte [edi + 0x515070], dl
je 0x46792e
mov edi, edi
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x515070], dl
jne 0x467920
cmp byte [eax + ecx], 0x2e
jne 0x467956
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x515070], dl
je 0x467950
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x515070], dl
jne 0x467942
mov dword [ebx], 0x82
mov bl, byte [eax + ecx]
cmp bl, 0x65
je 0x467963
cmp bl, 0x45
jne 0x4679b9
mov bl, byte [eax + ecx + 1]
movzx esi, bl
test byte [esi + 0x515070], dl
jne 0x467989
cmp bl, 0x2b
je 0x46797c
cmp bl, 0x2d
jne 0x4679b9
movzx esi, byte [eax + ecx + 2]
test byte [esi + 0x515070], dl
je 0x4679b9
movzx esi, byte [eax + ecx + 2]
add eax, 2
test byte [esi + 0x515070], dl
je 0x4679ae
lea esp, [esp]
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x515070], dl
jne 0x4679a0
mov edx, dword [ebp + 8]
mov dword [edx], 0x82
jmp 0x4679bc
mov edx, dword [ebp + 8]
movzx esi, byte [eax + ecx]
mov bl, 0x46
test byte [esi + 0x515070], bl
je 0x467bce
mov edi, edi
movzx esi, byte [eax + ecx + 1]
inc eax
mov edi, 0x94
test byte [esi + 0x515070], bl
jne 0x4679d0
mov dword [edx], edi
pop edi
pop esi
pop ebx
pop ebp
ret
mov edx, edi
mov eax, 1
cmp edx, 0x5d
je 0x467a04
movzx edx, byte [eax + ecx]
test edx, edx
je 0x467a04
inc eax
cmp edx, 0x5d
jne 0x4679f6
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
movzx esi, byte [ecx + 1]
mov dl, 4
mov dword [ebx], 0x85
mov eax, 1
test byte [esi + 0x515070], dl
je 0x467bce
jmp 0x467a40
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x515070], dl
jne 0x467a40
pop edi
pop esi
pop ebx
pop ebp
ret
movzx esi, byte [ecx + 1]
mov dl, 4
mov eax, 1
test byte [esi + 0x515070], dl
je case.0x467671.13
jmp 0x467a70
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x515070], dl
jne 0x467a70
cmp eax, 1
jle case.0x467671.13
pop edi
pop esi
mov dword [ebx], 0x84
pop ebx
pop ebp
ret
movzx edx, byte [ecx + 1]
xor esi, esi
mov dword [ebx], 0x85
lea eax, [esi + 1]
test edx, edx
je 0x467b09
mov bl, 0x46
movzx edi, dl
test byte [edi + 0x515070], bl
je 0x467ab1
inc esi
jmp 0x467ac2
cmp edx, 0x28
je 0x467ace
cmp edx, 0x3a
jne 0x467afe
cmp byte [ecx + eax + 1], dl
jne 0x467afe
inc eax
movzx edx, byte [eax + ecx + 1]
inc eax
test edx, edx
jne 0x467aa3
jmp 0x467afe
test esi, esi
jle 0x467b00
movzx edx, byte [eax + ecx + 1]
inc eax
test edx, edx
je 0x467aed
test byte [edx + 0x515070], 1
jne 0x467aed
cmp edx, 0x29
jne 0x467ad2
inc eax
jmp 0x467afe
cmp edx, 0x29
jne 0x467af5
inc eax
jmp 0x467afe
mov ecx, dword [ebp + 8]
mov dword [ecx], 0x94
test esi, esi
jne 0x467bce
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.0x467671.34
movzx esi, byte [ecx + 2]
mov dl, 8
mov dword [ebx], 0x83
mov eax, 2
test byte [esi + 0x515070], dl
je 0x467b41
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x515070], dl
jne 0x467b33
mov dl, byte [eax + ecx]
cmp dl, 0x27
jne 0x467b5a
mov esi, eax
and esi, reloc.WS2_32.dll_accept
jns 0x467b58
dec esi
or esi, 0xfffffffe
inc esi
je 0x467b72
mov dword [ebx], 0x94
test dl, dl
je 0x467b72
cmp dl, 0x27
je 0x467b72
mov dl, byte [eax + ecx + 1]
inc eax
test dl, dl
jne 0x467b64
cmp byte [eax + ecx], 0
je 0x467bce
pop edi
pop esi
inc eax
pop ebx
pop ebp
ret
mov bl, 0x46
test byte [edi + 0x515070], bl
jne 0x467b9b
mov edx, dword [ebp + 8]
pop edi
pop esi
mov dword [edx], 0x94
mov eax, 1
pop ebx
pop ebp
ret
movzx eax, byte [ecx + 1]
mov edi, 1
test byte [eax + 0x515070], bl
je 0x467bbe
lea esp, [esp]
movzx edx, byte [edi + ecx + 1]
inc edi
test byte [edx + 0x515070], bl
jne 0x467bb0
push ecx
call fcn.00467570
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
ret