Function at 0x53b910
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]
cmp eax, 0x75
push esi
push edi
ja case.0x53b932.34
movzx eax, byte [eax + 0x53bf48]
mov dl, 4
jmp dword [eax*4 + 0x53bee0]
movzx ecx, byte [ebx + 1]
mov eax, 1
test byte [ecx + 0x5f9c18], al
je 0x53b961
lea ebx, [ebx]
movzx edx, byte [eax + ebx + 1]
add eax, 1
test byte [edx + 0x5f9c18], 1
jne 0x53b950
pop edi
pop esi
mov dword [ebp], 0x95
pop ebp
pop ebx
ret
cmp byte [ebx + 1], 0x2d
jne 0x53b99d
movzx ecx, byte [ebx + 2]
test ecx, ecx
mov eax, 2
je 0x53b991
cmp ecx, 0xa
je 0x53b991
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test ecx, ecx
jne 0x53b980
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 0x53ba3f
mov cl, byte [ebx + 2]
test cl, cl
je 0x53ba3f
mov eax, 3
movzx ecx, cl
cmp ecx, 0x2a
jne 0x53ba23
cmp byte [eax + ebx], 0x2f
je 0x53ba30
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x53ba33
add eax, 1
jmp 0x53ba18
add eax, 1
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
add eax, 1
ret
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x53ba93
pop edi
pop esi
mov dword [ebp], 0x4e
pop ebp
mov eax, 2
pop ebx
ret
cmp eax, 0x3e
jne 0x53baa9
pop edi
pop esi
mov dword [ebp], 0x4b
pop ebp
mov eax, 2
pop ebx
ret
cmp eax, 0x3c
jne 0x53babf
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 0x53baea
pop edi
pop esi
mov dword [ebp], 0x50
pop ebp
mov eax, 2
pop ebx
ret
cmp eax, 0x3e
jne 0x53bb00
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 0x53be20
pop edi
pop esi
mov dword [ebp], 0x4b
pop ebp
pop ebx
ret
cmp byte [ebx + 1], 0x7c
je 0x53bb43
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]
test edx, edx
mov eax, 1
je 0x53bbb0
cmp edx, ecx
jne 0x53bba4
movzx esi, byte [ebx + eax + 1]
cmp esi, ecx
jne 0x53bbb0
add eax, 1
movzx edx, byte [eax + ebx + 1]
add eax, 1
test edx, edx
jne 0x53bb94
cmp edx, 0x27
jne 0x53bbc4
pop edi
pop esi
mov dword [ebp], 0x5e
pop ebp
add eax, 1
pop ebx
ret
test edx, edx
je 0x53be20
pop edi
pop esi
mov dword [ebp], 0x1a
pop ebp
add eax, 1
pop ebx
ret
movzx eax, byte [ebx + 1]
test byte [eax + 0x5f9c18], dl
jne case.0x53b932.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 + 0x5f9c18], dl
je 0x53bc20
lea esp, [esp]
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test byte [ecx + 0x5f9c18], dl
jne 0x53bc10
cmp byte [eax + ebx], 0x2e
jne 0x53bc57
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test byte [ecx + 0x5f9c18], dl
je 0x53bc50
jmp 0x53bc40
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test byte [ecx + 0x5f9c18], dl
jne 0x53bc40
mov dword [ebp], 0x82
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x53bc64
cmp cl, 0x45
jne 0x53bcb7
mov cl, byte [eax + ebx + 1]
movzx esi, cl
test byte [esi + 0x5f9c18], dl
jne 0x53bc8a
cmp cl, 0x2b
je 0x53bc7d
cmp cl, 0x2d
jne 0x53bcb7
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x5f9c18], dl
je 0x53bcb7
movzx ecx, byte [eax + ebx + 2]
add eax, 2
test byte [ecx + 0x5f9c18], dl
je 0x53bcb0
lea ebx, [ebx]
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test byte [ecx + 0x5f9c18], dl
jne 0x53bca0
mov dword [ebp], 0x82
movzx ecx, byte [eax + ebx]
mov dl, 0x46
test byte [ecx + 0x5f9c18], dl
je 0x53beda
lea esp, [esp]
add eax, 1
mov dword [ebp], 0x94
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x5f9c18], dl
jne 0x53bcd0
pop edi
pop esi
pop ebp
pop ebx
ret
cmp ecx, 0x5d
mov eax, 1
je 0x53bd05
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x53bd05
add eax, 1
cmp ecx, 0x5d
jne 0x53bcf5
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
test byte [ecx + 0x5f9c18], dl
mov eax, 1
je 0x53beda
jmp 0x53bd40
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test byte [ecx + 0x5f9c18], dl
jne 0x53bd40
pop edi
pop esi
pop ebp
pop ebx
ret
movzx ecx, byte [ebx + 1]
mov dl, 4
test byte [ecx + 0x5f9c18], dl
mov eax, 1
je case.0x53b932.13
jmp 0x53bd70
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test byte [ecx + 0x5f9c18], dl
jne 0x53bd70
cmp eax, 1
jle case.0x53b932.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
test ecx, ecx
lea eax, [esi + 1]
je 0x53be20
mov dl, 0x46
jmp 0x53bdb0
movzx edi, cl
test byte [edi + 0x5f9c18], dl
je 0x53bdc0
add esi, 1
jmp 0x53bdd3
cmp ecx, 0x28
je 0x53bde1
cmp ecx, 0x3a
jne 0x53be18
cmp byte [ebx + eax + 1], cl
jne 0x53be18
add eax, 1
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test ecx, ecx
jne 0x53bdb0
jmp 0x53be18
test esi, esi
jle 0x53be1a
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test ecx, ecx
je 0x53be07
movzx edx, cl
test byte [edx + 0x5f9c18], 1
jne 0x53be07
cmp ecx, 0x29
jne 0x53bde5
add eax, 1
jmp 0x53be18
cmp ecx, 0x29
jne 0x53be11
add eax, 1
jmp 0x53be18
mov dword [ebp], 0x94
test esi, esi
jne 0x53beda
pop edi
pop esi
mov dword [ebp], 0x94
pop ebp
pop ebx
ret
cmp byte [ebx + 1], 0x27
jne case.0x53b932.34
mov dword [ebp], 0x83
movzx ecx, byte [ebx + 2]
test ecx, ecx
mov eax, 2
je 0x53be6b
mov dl, 8
cmp ecx, 0x27
je 0x53be6b
movzx ecx, cl
test byte [ecx + 0x5f9c18], dl
jne 0x53be5f
mov dword [ebp], 0x94
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test ecx, ecx
jne 0x53be48
mov edx, eax
and edx, reloc.WS2_32.dll_accept
jns 0x53be7a
dec edx
or edx, 0xfffffffe
inc edx
jne 0x53be80
test ecx, ecx
jne 0x53be8b
test ecx, ecx
mov dword [ebp], 0x94
je 0x53beda
pop edi
pop esi
pop ebp
add eax, 1
pop ebx
ret
mov dl, 0x46
test byte [ecx + 0x5f9c18], dl
jne 0x53beae
pop edi
pop esi
mov dword [ebp], 0x94
pop ebp
mov eax, 1
pop ebx
ret
movzx eax, byte [ebx + 1]
test byte [eax + 0x5f9c18], dl
mov edi, 1
je 0x53bed0
nop
movzx ecx, byte [edi + ebx + 1]
add edi, 1
test byte [ecx + 0x5f9c18], dl
jne 0x53bec0
call fcn.0053b880
mov dword [ebp], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
ret