Function at 0x4a0d40
Capabilities:
Parse pe header

Disassembly:
push ebx
mov ebx, eax
mov dl, byte [ebx]
push esi
movzx esi, dl
movzx eax, byte [esi + str.eeeeeeeee_a_ae_a_aeeeeeeeeeeeeeeeeee_a]
cmp eax, 0x1a
ja case.default.0x4a0d5b
mov cl, 4
jmp dword [eax*4 + 0x4a12a8]
movzx ecx, byte [ebx + 1]
mov eax, 1
test byte [ecx + 0x5fc960], al
je 0x4a0d82
movzx edx, byte [eax + ebx + 1]
inc eax
test byte [edx + 0x5fc960], 1
jne 0x4a0d73
pop esi
mov dword [edi], 0xa3
pop ebx
ret
cmp byte [ebx + 1], 0x2d
jne 0x4a0db8
movzx ecx, byte [ebx + 2]
mov eax, 2
test ecx, ecx
je 0x4a0daf
mov edi, edi
cmp ecx, 0xa
je 0x4a0daf
movzx ecx, byte [eax + ebx + 1]
inc eax
test ecx, ecx
jne 0x4a0da0
pop esi
mov dword [edi], 0xa3
pop ebx
ret
pop esi
mov dword [edi], 0x59
mov eax, 1
pop ebx
ret
pop esi
mov dword [edi], 0x16
mov eax, 1
pop ebx
ret
pop esi
mov dword [edi], 0x17
mov eax, 1
pop ebx
ret
pop esi
mov dword [edi], 1
mov eax, 1
pop ebx
ret
pop esi
mov dword [edi], 0x58
mov eax, 1
pop ebx
ret
pop esi
mov dword [edi], 0x5a
mov eax, 1
pop ebx
ret
cmp byte [ebx + 1], 0x2a
jne 0x4a0e41
mov cl, byte [ebx + 2]
test cl, cl
je 0x4a0e41
mov eax, 3
movzx ecx, cl
cmp ecx, 0x2a
jne 0x4a0e2c
cmp byte [eax + ebx], 0x2f
je 0x4a0e37
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x4a0e38
inc eax
jmp 0x4a0e21
inc eax
pop esi
mov dword [edi], 0xa3
pop ebx
ret
pop esi
mov dword [edi], 0x5b
mov eax, 1
pop ebx
ret
pop esi
mov dword [edi], 0x5c
mov eax, 1
pop ebx
ret
xor eax, eax
cmp byte [ebx + 1], 0x3d
pop esi
sete al
mov dword [edi], 0x4e
pop ebx
inc eax
ret
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x4a0e87
pop esi
mov dword [edi], 0x50
mov eax, 2
pop ebx
ret
cmp eax, 0x3e
je 0x4a0eef
cmp eax, 0x3c
jne 0x4a0e9f
pop esi
mov dword [edi], 0x56
mov eax, 2
pop ebx
ret
pop esi
mov dword [edi], 0x51
mov eax, 1
pop ebx
ret
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x4a0ec4
pop esi
mov dword [edi], 0x52
mov eax, 2
pop ebx
ret
cmp eax, 0x3e
jne 0x4a0ed7
pop esi
mov dword [edi], 0x57
mov eax, 2
pop ebx
ret
pop esi
mov dword [edi], 0x4f
mov eax, 1
pop ebx
ret
cmp byte [ebx + 1], 0x3d
jne case.default.0x4a0d5b
pop esi
mov dword [edi], 0x4d
mov eax, 2
pop ebx
ret
cmp byte [ebx + 1], 0x7c
je 0x4a0f11
pop esi
mov dword [edi], 0x55
mov eax, 1
pop ebx
ret
pop esi
mov dword [edi], 0x5d
mov eax, 2
pop ebx
ret
pop esi
mov dword [edi], 0x1a
mov eax, 1
pop ebx
ret
pop esi
mov dword [edi], 0x54
mov eax, 1
pop ebx
ret
pop esi
mov dword [edi], 0x5f
mov eax, 1
pop ebx
ret
movzx edx, byte [ebx + 1]
mov eax, 1
test edx, edx
je 0x4a0f6e
cmp edx, esi
jne 0x4a0f64
movzx ecx, byte [ebx + eax + 1]
cmp ecx, esi
jne 0x4a0f6e
inc eax
movzx edx, byte [eax + ebx + 1]
inc eax
test edx, edx
jne 0x4a0f56
cmp edx, 0x27
jne 0x4a0f7d
pop esi
mov dword [edi], 0x61
inc eax
pop ebx
ret
test edx, edx
je 0x4a10bf
pop esi
mov dword [edi], 0x1b
inc eax
pop ebx
ret
movzx eax, byte [ebx + 1]
test byte [eax + 0x5fc960], cl
jne case.0x4a0d5b.3
pop esi
mov dword [edi], 0x7a
mov eax, 1
pop ebx
ret
mov dword [edi], 0x86
cmp dl, 0x30
jne 0x4a0ff3
mov al, byte [ebx + 1]
cmp al, 0x78
je 0x4a0fbf
cmp al, 0x58
jne 0x4a0ff3
movzx eax, byte [ebx + 2]
mov dl, 8
test byte [eax + 0x5fc960], dl
je 0x4a0ff3
movzx ecx, byte [ebx + 3]
mov eax, 3
test byte [ecx + 0x5fc960], dl
je 0x4a12a3
movzx ecx, byte [eax + ebx + 1]
inc eax
test byte [ecx + 0x5fc960], dl
jne 0x4a0fe2
pop esi
pop ebx
ret
xor eax, eax
test byte [esi + 0x5fc960], cl
je 0x4a100e
lea ecx, [ecx]
movzx edx, byte [eax + ebx + 1]
inc eax
test byte [edx + 0x5fc960], cl
jne 0x4a1000
cmp byte [eax + ebx], 0x2e
jne 0x4a1036
movzx edx, byte [eax + ebx + 1]
inc eax
test byte [edx + 0x5fc960], cl
je 0x4a1030
movzx edx, byte [eax + ebx + 1]
inc eax
test byte [edx + 0x5fc960], cl
jne 0x4a1022
mov dword [edi], 0x84
mov dl, byte [eax + ebx]
cmp dl, 0x65
je 0x4a1043
cmp dl, 0x45
jne 0x4a1094
mov dl, byte [eax + ebx + 1]
movzx esi, dl
test byte [esi + 0x5fc960], cl
jne 0x4a1069
cmp dl, 0x2b
je 0x4a105c
cmp dl, 0x2d
jne 0x4a1094
movzx edx, byte [eax + ebx + 2]
test byte [edx + 0x5fc960], cl
je 0x4a1094
movzx edx, byte [eax + ebx + 2]
add eax, 2
test byte [edx + 0x5fc960], cl
je 0x4a108e
lea esp, [esp]
movzx edx, byte [eax + ebx + 1]
inc eax
test byte [edx + 0x5fc960], cl
jne 0x4a1080
mov dword [edi], 0x84
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x5fc960], 0x46
je 0x4a12a3
jmp 0x4a10b0
movzx edx, byte [eax + ebx + 1]
inc eax
test byte [edx + 0x5fc960], 0x46
jne 0x4a10b0
pop esi
mov dword [edi], 0xa4
pop ebx
ret
mov ecx, esi
mov eax, 1
cmp ecx, 0x5d
je 0x4a10e2
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x4a10e2
inc eax
cmp ecx, 0x5d
jne 0x4a10d4
sub ecx, 0x5d
neg ecx
sbb ecx, ecx
and ecx, 0x89
add ecx, 0x1b
pop esi
mov dword [edi], ecx
pop ebx
ret
movzx edx, byte [ebx + 1]
mov cl, 4
mov dword [edi], 0x87
mov eax, 1
test byte [edx + 0x5fc960], cl
je 0x4a12a3
movzx edx, byte [eax + ebx + 1]
inc eax
test byte [edx + 0x5fc960], cl
jne 0x4a1114
pop esi
pop ebx
ret
movzx ecx, byte [ebx + 1]
xor esi, esi
mov dword [edi], 0x87
lea eax, [esi + 1]
test ecx, ecx
je 0x4a11a5
lea edx, [esi + 0x3a]
push ebp
lea esp, [esp]
movzx ebp, cl
test byte [ebp + 0x5fc960], 0x46
je 0x4a114f
inc esi
jmp 0x4a115f
cmp ecx, 0x28
je 0x4a116b
cmp ecx, edx
jne 0x4a119c
cmp byte [ebx + eax + 1], dl
jne 0x4a119c
inc eax
movzx ecx, byte [eax + ebx + 1]
inc eax
test ecx, ecx
jne 0x4a1140
jmp 0x4a119c
test esi, esi
jle 0x4a119e
nop
movzx ecx, byte [eax + ebx + 1]
inc eax
test ecx, ecx
je 0x4a118e
movzx edx, cl
test byte [edx + 0x5fc960], 1
jne 0x4a118e
cmp ecx, 0x29
jne 0x4a1170
inc eax
jmp 0x4a119c
cmp ecx, 0x29
jne 0x4a1196
inc eax
jmp 0x4a119c
mov dword [edi], 0xa4
test esi, esi
pop ebp
jne 0x4a12a3
pop esi
mov dword [edi], 0xa4
pop ebx
ret
movzx ecx, byte [ebx + 1]
mov eax, 1
cmp byte [ecx + str.eeeeeeeee_a_ae_a_aeeeeeeeeeeeeeeeeee_a], al
ja 0x4a11cf
nop
movzx edx, byte [eax + ebx + 1]
inc eax
cmp byte [edx + str.eeeeeeeee_a_ae_a_aeeeeeeeeeeeeeeeeee_a], 1
jbe 0x4a11c0
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x5fc960], 0x46
je 0x4a11e2
inc eax
jmp 0x4a126e
push edi
mov ecx, eax
mov dword [edi], 0x1b
call fcn.004a0c80
add esp, 4
pop esi
pop ebx
ret
cmp byte [ebx + 1], 0x27
jne case.0x4a0d5b.2
movzx ecx, byte [ebx + 2]
mov dl, 8
mov dword [edi], 0x85
mov eax, 2
test byte [ecx + 0x5fc960], dl
je 0x4a122e
jmp 0x4a1220
movzx ecx, byte [eax + ebx + 1]
inc eax
test byte [ecx + 0x5fc960], dl
jne 0x4a1220
mov cl, byte [eax + ebx]
cmp cl, 0x27
jne 0x4a1247
mov edx, eax
and edx, reloc.WS2_32.dll_accept
jns 0x4a1245
dec edx
or edx, 0xfffffffe
inc edx
je 0x4a125f
mov dword [edi], 0xa4
test cl, cl
je 0x4a125f
cmp cl, 0x27
je 0x4a125f
mov cl, byte [eax + ebx + 1]
inc eax
test cl, cl
jne 0x4a1251
cmp byte [eax + ebx], 0
je 0x4a12a3
pop esi
inc eax
pop ebx
ret
mov eax, 1
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x5fc960], 0x46
je 0x4a128f
jmp 0x4a1280
movzx edx, byte [eax + ebx + 1]
inc eax
test byte [edx + 0x5fc960], 0x46
jne 0x4a1280
pop esi
mov dword [edi], 0x1b
pop ebx
ret
mov dword [edi], 0xa4
mov eax, 1
pop esi
pop ebx
ret