Function at 0x53a8f0
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.0x53a912.34
movzx eax, byte [eax + 0x53af28]
mov dl, 4
jmp dword [eax*4 + 0x53aec0]
movzx ecx, byte [ebx + 1]
mov eax, 1
test byte [ecx + 0x5f8c18], al
je 0x53a941
lea ebx, [ebx]
movzx edx, byte [eax + ebx + 1]
add eax, 1
test byte [edx + 0x5f8c18], 1
jne 0x53a930
pop edi
pop esi
mov dword [ebp], 0x95
pop ebp
pop ebx
ret
cmp byte [ebx + 1], 0x2d
jne 0x53a97d
movzx ecx, byte [ebx + 2]
test ecx, ecx
mov eax, 2
je 0x53a971
cmp ecx, 0xa
je 0x53a971
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test ecx, ecx
jne 0x53a960
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 0x53aa1f
mov cl, byte [ebx + 2]
test cl, cl
je 0x53aa1f
mov eax, 3
movzx ecx, cl
cmp ecx, 0x2a
jne 0x53aa03
cmp byte [eax + ebx], 0x2f
je 0x53aa10
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x53aa13
add eax, 1
jmp 0x53a9f8
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 0x53aa73
pop edi
pop esi
mov dword [ebp], 0x4e
pop ebp
mov eax, 2
pop ebx
ret
cmp eax, 0x3e
jne 0x53aa89
pop edi
pop esi
mov dword [ebp], 0x4b
pop ebp
mov eax, 2
pop ebx
ret
cmp eax, 0x3c
jne 0x53aa9f
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 0x53aaca
pop edi
pop esi
mov dword [ebp], 0x50
pop ebp
mov eax, 2
pop ebx
ret
cmp eax, 0x3e
jne 0x53aae0
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 0x53ae00
pop edi
pop esi
mov dword [ebp], 0x4b
pop ebp
pop ebx
ret
cmp byte [ebx + 1], 0x7c
je 0x53ab23
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 0x53ab90
cmp edx, ecx
jne 0x53ab84
movzx esi, byte [ebx + eax + 1]
cmp esi, ecx
jne 0x53ab90
add eax, 1
movzx edx, byte [eax + ebx + 1]
add eax, 1
test edx, edx
jne 0x53ab74
cmp edx, 0x27
jne 0x53aba4
pop edi
pop esi
mov dword [ebp], 0x5e
pop ebp
add eax, 1
pop ebx
ret
test edx, edx
je 0x53ae00
pop edi
pop esi
mov dword [ebp], 0x1a
pop ebp
add eax, 1
pop ebx
ret
movzx eax, byte [ebx + 1]
test byte [eax + 0x5f8c18], dl
jne case.0x53a912.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 + 0x5f8c18], dl
je 0x53ac00
lea esp, [esp]
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test byte [ecx + 0x5f8c18], dl
jne 0x53abf0
cmp byte [eax + ebx], 0x2e
jne 0x53ac37
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test byte [ecx + 0x5f8c18], dl
je 0x53ac30
jmp 0x53ac20
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test byte [ecx + 0x5f8c18], dl
jne 0x53ac20
mov dword [ebp], 0x82
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x53ac44
cmp cl, 0x45
jne 0x53ac97
mov cl, byte [eax + ebx + 1]
movzx esi, cl
test byte [esi + 0x5f8c18], dl
jne 0x53ac6a
cmp cl, 0x2b
je 0x53ac5d
cmp cl, 0x2d
jne 0x53ac97
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x5f8c18], dl
je 0x53ac97
movzx ecx, byte [eax + ebx + 2]
add eax, 2
test byte [ecx + 0x5f8c18], dl
je 0x53ac90
lea ebx, [ebx]
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test byte [ecx + 0x5f8c18], dl
jne 0x53ac80
mov dword [ebp], 0x82
movzx ecx, byte [eax + ebx]
mov dl, 0x46
test byte [ecx + 0x5f8c18], dl
je 0x53aeba
lea esp, [esp]
add eax, 1
mov dword [ebp], 0x94
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x5f8c18], dl
jne 0x53acb0
pop edi
pop esi
pop ebp
pop ebx
ret
cmp ecx, 0x5d
mov eax, 1
je 0x53ace5
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x53ace5
add eax, 1
cmp ecx, 0x5d
jne 0x53acd5
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 + 0x5f8c18], dl
mov eax, 1
je 0x53aeba
jmp 0x53ad20
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test byte [ecx + 0x5f8c18], dl
jne 0x53ad20
pop edi
pop esi
pop ebp
pop ebx
ret
movzx ecx, byte [ebx + 1]
mov dl, 4
test byte [ecx + 0x5f8c18], dl
mov eax, 1
je case.0x53a912.13
jmp 0x53ad50
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test byte [ecx + 0x5f8c18], dl
jne 0x53ad50
cmp eax, 1
jle case.0x53a912.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 0x53ae00
mov dl, 0x46
jmp 0x53ad90
movzx edi, cl
test byte [edi + 0x5f8c18], dl
je 0x53ada0
add esi, 1
jmp 0x53adb3
cmp ecx, 0x28
je 0x53adc1
cmp ecx, 0x3a
jne 0x53adf8
cmp byte [ebx + eax + 1], cl
jne 0x53adf8
add eax, 1
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test ecx, ecx
jne 0x53ad90
jmp 0x53adf8
test esi, esi
jle 0x53adfa
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test ecx, ecx
je 0x53ade7
movzx edx, cl
test byte [edx + 0x5f8c18], 1
jne 0x53ade7
cmp ecx, 0x29
jne 0x53adc5
add eax, 1
jmp 0x53adf8
cmp ecx, 0x29
jne 0x53adf1
add eax, 1
jmp 0x53adf8
mov dword [ebp], 0x94
test esi, esi
jne 0x53aeba
pop edi
pop esi
mov dword [ebp], 0x94
pop ebp
pop ebx
ret
cmp byte [ebx + 1], 0x27
jne case.0x53a912.34
mov dword [ebp], 0x83
movzx ecx, byte [ebx + 2]
test ecx, ecx
mov eax, 2
je 0x53ae4b
mov dl, 8
cmp ecx, 0x27
je 0x53ae4b
movzx ecx, cl
test byte [ecx + 0x5f8c18], dl
jne 0x53ae3f
mov dword [ebp], 0x94
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test ecx, ecx
jne 0x53ae28
mov edx, eax
and edx, reloc.WS2_32.dll_accept
jns 0x53ae5a
dec edx
or edx, 0xfffffffe
inc edx
jne 0x53ae60
test ecx, ecx
jne 0x53ae6b
test ecx, ecx
mov dword [ebp], 0x94
je 0x53aeba
pop edi
pop esi
pop ebp
add eax, 1
pop ebx
ret
mov dl, 0x46
test byte [ecx + 0x5f8c18], dl
jne 0x53ae8e
pop edi
pop esi
mov dword [ebp], 0x94
pop ebp
mov eax, 1
pop ebx
ret
movzx eax, byte [ebx + 1]
test byte [eax + 0x5f8c18], dl
mov edi, 1
je 0x53aeb0
nop
movzx ecx, byte [edi + ebx + 1]
add edi, 1
test byte [ecx + 0x5f8c18], dl
jne 0x53aea0
call fcn.0053a860
mov dword [ebp], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
ret