Function at 0x5d38a0
Capabilities:
Parse pe header

Disassembly:
push ebx
mov ebx, eax
movzx ecx, byte [ebx]
push ebp
mov ebp, dword [esp + 0xc]
lea eax, [ecx - 9]
push esi
push edi
cmp eax, 0x75
ja case.0x5d38c2.34
movzx eax, byte [eax + 0x5d3ea8]
mov dl, 4
jmp dword [eax*4 + 0x5d3e40]
movzx ecx, byte [ebx + 1]
mov eax, 1
test byte [ecx + 0x7cd4b8], al
je 0x5d38ef
lea ebx, [ebx]
movzx edx, byte [eax + ebx + 1]
inc eax
test byte [edx + 0x7cd4b8], 1
jne 0x5d38e0
pop edi
pop esi
mov dword [ebp], 0x95
pop ebp
pop ebx
ret
cmp byte [ebx + 1], 0x2d
jne 0x5d392b
movzx ecx, byte [ebx + 2]
mov eax, 2
test ecx, ecx
je 0x5d391f
mov edi, edi
cmp ecx, 0xa
je 0x5d391f
movzx ecx, byte [eax + ebx + 1]
inc eax
test ecx, ecx
jne 0x5d3910
pop edi
pop esi
mov dword [ebp], 0x95
pop ebp
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x57
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x16
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x17
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 1
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x56
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x58
pop ebp
mov eax, 1
pop ebx
ret
cmp byte [ebx + 1], 0x2a
jne 0x5d39c9
mov cl, byte [ebx + 2]
test cl, cl
je 0x5d39c9
mov eax, 3
movzx ecx, cl
cmp ecx, 0x2a
jne 0x5d39b1
cmp byte [eax + ebx], 0x2f
je 0x5d39bc
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x5d39bd
inc eax
jmp 0x5d39a6
inc eax
pop edi
pop esi
mov dword [ebp], 0x95
pop ebp
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x59
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x5a
pop ebp
mov eax, 1
pop ebx
ret
xor eax, eax
mov dword [ebp], 0x4c
cmp byte [ebx + 1], 0x3d
pop edi
sete al
pop esi
pop ebp
pop ebx
inc eax
ret
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x5d3a1b
pop edi
pop esi
mov dword [ebp], 0x4e
pop ebp
mov eax, 2
pop ebx
ret
cmp eax, 0x3e
jne 0x5d3a31
pop edi
pop esi
mov dword [ebp], 0x4b
pop ebp
mov eax, 2
pop ebx
ret
cmp eax, 0x3c
jne 0x5d3a47
pop edi
pop esi
mov dword [ebp], 0x54
pop ebp
mov eax, 2
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x4f
pop ebp
mov eax, 1
pop ebx
ret
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x5d3a72
pop edi
pop esi
mov dword [ebp], 0x50
pop ebp
mov eax, 2
pop ebx
ret
cmp eax, 0x3e
jne 0x5d3a88
pop edi
pop esi
mov dword [ebp], 0x55
pop ebp
mov eax, 2
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x4d
pop ebp
mov eax, 1
pop ebx
ret
cmp byte [ebx + 1], 0x3d
mov eax, 2
jne 0x5d3d69
pop edi
pop esi
mov dword [ebp], 0x4b
pop ebp
pop ebx
ret
cmp byte [ebx + 1], 0x7c
je 0x5d3acb
pop edi
pop esi
mov dword [ebp], 0x53
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x5b
pop ebp
mov eax, 2
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x19
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x52
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x5d
pop ebp
mov eax, 1
pop ebx
ret
movzx edx, byte [ebx + 1]
mov eax, 1
test edx, edx
je 0x5d3b38
lea esp, [esp]
cmp edx, ecx
jne 0x5d3b2e
movzx esi, byte [ebx + eax + 1]
cmp esi, ecx
jne 0x5d3b38
inc eax
movzx edx, byte [eax + ebx + 1]
inc eax
test edx, edx
jne 0x5d3b20
cmp edx, 0x27
jne 0x5d3b4a
pop edi
pop esi
mov dword [ebp], 0x5e
pop ebp
inc eax
pop ebx
ret
test edx, edx
je 0x5d3d69
pop edi
pop esi
mov dword [ebp], 0x1a
pop ebp
inc eax
pop ebx
ret
movzx eax, byte [ebx + 1]
test byte [eax + 0x7cd4b8], dl
jne case.0x5d38c2.24
pop edi
pop esi
mov dword [ebp], 0x76
pop ebp
mov eax, 1
pop ebx
ret
mov dword [ebp], 0x81
movzx ecx, byte [ebx]
xor eax, eax
test byte [ecx + 0x7cd4b8], dl
je 0x5d3b9e
movzx ecx, byte [eax + ebx + 1]
inc eax
test byte [ecx + 0x7cd4b8], dl
jne 0x5d3b90
cmp byte [eax + ebx], 0x2e
jne 0x5d3bc7
movzx ecx, byte [eax + ebx + 1]
inc eax
test byte [ecx + 0x7cd4b8], dl
je 0x5d3bc0
movzx ecx, byte [eax + ebx + 1]
inc eax
test byte [ecx + 0x7cd4b8], dl
jne 0x5d3bb2
mov dword [ebp], 0x82
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x5d3bd4
cmp cl, 0x45
jne 0x5d3c25
mov cl, byte [eax + ebx + 1]
movzx esi, cl
test byte [esi + 0x7cd4b8], dl
jne 0x5d3bfa
cmp cl, 0x2b
je 0x5d3bed
cmp cl, 0x2d
jne 0x5d3c25
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x7cd4b8], dl
je 0x5d3c25
movzx ecx, byte [eax + ebx + 2]
add eax, 2
test byte [ecx + 0x7cd4b8], dl
je 0x5d3c1e
lea ebx, [ebx]
movzx ecx, byte [eax + ebx + 1]
inc eax
test byte [ecx + 0x7cd4b8], dl
jne 0x5d3c10
mov dword [ebp], 0x82
movzx ecx, byte [eax + ebx]
mov dl, 0x46
test byte [ecx + 0x7cd4b8], dl
je 0x5d3e38
jmp 0x5d3c40
inc eax
mov dword [ebp], 0x94
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x7cd4b8], dl
jne 0x5d3c40
pop edi
pop esi
pop ebp
pop ebx
ret
mov eax, 1
cmp ecx, 0x5d
je 0x5d3c71
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x5d3c71
inc eax
cmp ecx, 0x5d
jne 0x5d3c63
sub ecx, 0x5d
neg ecx
sbb ecx, ecx
pop edi
and ecx, 0x7a
add ecx, 0x1a
pop esi
mov dword [ebp], ecx
pop ebp
pop ebx
ret
mov dword [ebp], 0x85
movzx ecx, byte [ebx + 1]
mov dl, 4
mov eax, 1
test byte [ecx + 0x7cd4b8], dl
je 0x5d3e38
movzx ecx, byte [eax + ebx + 1]
inc eax
test byte [ecx + 0x7cd4b8], dl
jne 0x5d3ca4
pop edi
pop esi
pop ebp
pop ebx
ret
movzx ecx, byte [ebx + 1]
mov dl, 4
mov eax, 1
test byte [ecx + 0x7cd4b8], dl
je case.0x5d38c2.13
lea ebx, [ebx]
movzx ecx, byte [eax + ebx + 1]
inc eax
test byte [ecx + 0x7cd4b8], dl
jne 0x5d3cd0
cmp eax, 1
jle case.0x5d38c2.13
pop edi
pop esi
mov dword [ebp], 0x84
pop ebp
pop ebx
ret
mov dword [ebp], 0x85
movzx ecx, byte [ebx + 1]
xor esi, esi
lea eax, [esi + 1]
test ecx, ecx
je 0x5d3d69
mov dl, 0x46
movzx edi, cl
test byte [edi + 0x7cd4b8], dl
je 0x5d3d13
inc esi
jmp 0x5d3d24
cmp ecx, 0x28
je 0x5d3d30
cmp ecx, 0x3a
jne 0x5d3d61
cmp byte [ebx + eax + 1], cl
jne 0x5d3d61
inc eax
movzx ecx, byte [eax + ebx + 1]
inc eax
test ecx, ecx
jne 0x5d3d05
jmp 0x5d3d61
test esi, esi
jle 0x5d3d63
movzx ecx, byte [eax + ebx + 1]
inc eax
test ecx, ecx
je 0x5d3d52
movzx edx, cl
test byte [edx + 0x7cd4b8], 1
jne 0x5d3d52
cmp ecx, 0x29
jne 0x5d3d34
inc eax
jmp 0x5d3d61
cmp ecx, 0x29
jne 0x5d3d5a
inc eax
jmp 0x5d3d61
mov dword [ebp], 0x94
test esi, esi
jne 0x5d3e38
pop edi
pop esi
mov dword [ebp], 0x94
pop ebp
pop ebx
ret
cmp byte [ebx + 1], 0x27
jne case.0x5d38c2.34
mov dword [ebp], 0x83
movzx edx, byte [ebx + 2]
mov cl, 8
mov eax, 2
test byte [edx + 0x7cd4b8], cl
je 0x5d3dae
jmp 0x5d3da0
movzx edx, byte [eax + ebx + 1]
inc eax
test byte [edx + 0x7cd4b8], cl
jne 0x5d3da0
cmp byte [eax + ebx], 0x27
jne 0x5d3dc5
mov ecx, eax
and ecx, reloc.WS2_32.dll_accept
jns 0x5d3dc3
dec ecx
or ecx, 0xfffffffe
inc ecx
je 0x5d3de1
mov dword [ebp], 0x94
mov cl, byte [eax + ebx]
test cl, cl
je 0x5d3de1
cmp cl, 0x27
je 0x5d3de1
mov cl, byte [eax + ebx + 1]
inc eax
test cl, cl
jne 0x5d3dd3
cmp byte [eax + ebx], 0
je 0x5d3e38
pop edi
pop esi
pop ebp
inc eax
pop ebx
ret
mov dl, 0x46
test byte [ecx + 0x7cd4b8], dl
jne 0x5d3e08
pop edi
pop esi
mov dword [ebp], 0x94
pop ebp
mov eax, 1
pop ebx
ret
movzx eax, byte [ebx + 1]
mov edi, 1
test byte [eax + 0x7cd4b8], dl
je 0x5d3e2e
lea esp, [esp]
movzx ecx, byte [edi + ebx + 1]
inc edi
test byte [ecx + 0x7cd4b8], dl
jne 0x5d3e20
call fcn.005d3800
mov dword [ebp], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
ret
int3