Function at 0x40eb63
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, dword [edi]
mov al, byte [esi + 2]
cmp al, 4
jne 0x40eb91
mov cx, word [esi + 0xe]
test cx, cx
je 0x40eb87
cmp cx, 0x40
jbe 0x40eb91
mov eax, 0x1770
jmp 0x40eeea
cmp al, 2
je 0x40eb99
cmp al, 3
jne 0x40ebba
mov ax, word [esi + 0xe]
movzx ecx, word [esi + 0xc]
movzx edx, ax
add ecx, edx
cmp ecx, 0xc8
jg 0x40ebb3
test ax, ax
jne 0x40ebba
push 6
jmp 0x40eee9
and dword [ebp - 8], 0
and dword [ebp - 0x14], 0
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x28]
push eax
push edi
call fcn.0040fe42
pop ecx
pop ecx
push ebx
push edi
call fcn.004104c4
pop ecx
pop ecx
push ebx
push edi
call fcn.004105dc
pop ecx
test eax, eax
pop ecx
jne 0x40eeef
push 0x2a
push ebx
push edi
call fcn.00410058
add esp, 0xc
test eax, eax
jne 0x40eef4
and dword [ebp - 0xc], eax
movzx ecx, word [ebp - 0xc]
mov cl, byte [ecx + ebp - 0x28]
cmp cl, 0xff
je 0x40ec2c
push ecx
push ebx
push edi
call fcn.00410058
add esp, 0xc
test eax, eax
jne 0x40eef9
inc dword [ebp - 0xc]
cmp word [ebp - 0xc], 8
jb 0x40ec02
test eax, eax
jne 0x40eef9
mov al, byte [esi + 2]
cmp al, 4
je 0x40eefe
cmp al, 2
je 0x40ec5f
cmp al, 5
je 0x40ec5f
cmp al, 0x1e
je 0x40ec5f
cmp al, 0x14
je 0x40ec5f
cmp al, 9
je 0x40ec5f
cmp al, 0xb
je 0x40ec5f
cmp al, 0x2d
je 0x40ec5f
push 6
jmp 0x40ec61
push 4
push ebx
push edi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f053
mov al, byte [esi + 0x110]
shr al, 2
and al, 0x3c
push eax
push ebx
push edi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f05b
mov al, byte [esi + 0x110]
and al, 0xf
shl al, 2
push eax
push ebx
push edi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f05b
mov ax, word [esi + 0x110]
shr eax, 0xa
and al, 0x3c
push eax
push ebx
push edi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f05b
mov ax, word [esi + 0x110]
shr eax, 6
and al, 0x3c
push eax
push ebx
push edi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f05b
mov ax, word [esi + 0xc]
mov ecx, dword [ebp - 8]
add ecx, eax
sar ecx, 2
and cl, 0x3c
push ecx
push ebx
push edi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f063
mov al, byte [ebp - 8]
add al, byte [esi + 0xc]
shl al, 2
and al, 0x3c
push eax
push ebx
push edi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f063
push 0x100
push edi
call fcn.004106f3
mov byte [ebp + 8], al
pop ecx
shr al, 2
pop ecx
and al, 0x3c
push eax
push ebx
push edi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f06b
mov al, byte [ebp + 8]
and al, 0xf
shl al, 2
push eax
push ebx
push edi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f06b
and dword [ebp - 0xc], eax
mov al, byte [esi + 2]
cmp al, 2
je 0x40ee74
cmp al, 5
je 0x40ee74
cmp al, 0x1e
je 0x40ee74
cmp al, 0x14
je 0x40ee74
cmp al, 9
je 0x40ee74
cmp al, 0xb
je 0x40ee74
cmp al, 0x2d
je 0x40ee74
mov ax, word [ebp - 8]
cmp ax, word [esi + 0xe]
jae 0x40eecb
movzx ebx, word [ebp - 8]
mov al, byte [ebx + esi + 0x10]
xor al, byte [ebp + 8]
mov byte [ebp + 8], al
and al, 0xfb
or al, 8
shr al, 2
push eax
push dword [ebp + 0xc]
push edi
call fcn.00410185
movzx eax, word [esi + 0xe]
add esp, 0xc
dec eax
cmp ebx, eax
je 0x40edfa
cmp word [ebp - 0xc], 0x13
je 0x40edfa
mov al, byte [ebp + 8]
and al, 0xf
shl al, 2
or al, 2
jmp 0x40ee04
mov al, byte [ebp + 8]
and al, 0xf
shl al, 2
or al, 3
push eax
push dword [ebp + 0xc]
push edi
call fcn.00410185
add esp, 0xc
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x40f073
mov ax, word [esi + 0xc]
mov ecx, ebx
add ecx, eax
and ecx, 7
cmp cl, 7
je 0x40ee3c
movzx eax, word [esi + 0xe]
dec eax
cmp ebx, eax
je 0x40ee3c
cmp word [ebp - 0xc], 0x13
jne 0x40ee47
push dword [ebp + 0xc]
push edi
call fcn.0041067a
pop ecx
pop ecx
inc dword [ebp - 0xc]
inc dword [ebp - 8]
cmp word [ebp - 0xc], 0x14
je 0x40ee64
mov ax, word [ebp - 8]
cmp ax, word [esi + 0xe]
jb 0x40edbc
jmp 0x40ee6f
push dword [ebp + 0xc]
push edi
call fcn.00410591
pop ecx
pop ecx
mov ebx, dword [ebp + 0xc]
jmp 0x40eecb
and dword [ebp - 0x18], 0
mov ax, word [ebp - 8]
cmp ax, word [esi + 0xe]
jae 0x40eecb
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x18]
push eax
push ebx
push edi
call fcn.00410294
add esp, 0x10
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x40f078
mov al, byte [ebp + 8]
mov edx, dword [edi + 4]
movzx ecx, word [ebp - 8]
xor al, byte [ebp - 1]
inc dword [ebp - 8]
inc dword [ebp - 0xc]
cmp word [ebp - 0xc], 0x14
mov byte [ecx + edx], al
mov al, byte [ebp - 1]
mov byte [ebp + 8], al
jne 0x40ee78
push ebx
push edi
call fcn.00410591
pop ecx
pop ecx
mov ax, word [ebp - 8]
cmp ax, word [esi + 0xe]
je 0x40f089
inc dword [ebp - 0x14]
cmp word [ebp - 0x14], 0xf
jb 0x40ebc5
push 8
pop eax
pop edi
pop esi
pop ebx
leave
ret
add eax, 0xa
jmp 0x40eeea
add eax, 0x14
jmp 0x40eeea
add eax, 0x1e
jmp 0x40eeea
push 1
push ebx
push edi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f053
and byte [ebp + 8], al
mov eax, dword [edi]
and dword [ebp - 0xc], 0
mov ax, word [eax + 0xe]
test ax, ax
mov dword [ebp - 0x14], eax
jbe 0x40efce
movzx esi, word [ebp - 0xc]
mov eax, dword [edi]
mov bl, byte [esi + eax + 0x10]
mov al, bl
shr al, 2
and al, 0x3c
add al, 2
push eax
push dword [ebp + 0xc]
push edi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f099
push 0x40
push edi
call fcn.004106f3
pop ecx
mov byte [ebp - 0x10], al
test al, 2
pop ecx
je 0x40ef71
mov eax, dword [ebp + 0xc]
inc eax
push eax
call fcn.004106d3
pop ecx
jmp 0x40ef94
test al, 1
je 0x40ef7d
shr al, 2
and al, 0xf
add byte [ebp + 8], al
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push edi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f099
movzx ecx, word [ebp - 0x14]
lea eax, [esi + 1]
cdq
idiv ecx
shl bl, 2
add al, bl
add al, 2
push eax
push dword [ebp + 0xc]
push edi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f099
inc dword [ebp - 0xc]
mov ax, word [ebp - 0xc]
cmp ax, word [ebp - 0x14]
jb 0x40ef2b
mov ebx, dword [ebp + 0xc]
and byte [ebp + 8], 0xf
and dword [ebp - 0x18], 0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x18]
push eax
push ebx
push edi
call fcn.0041042e
add esp, 0x10
test eax, eax
je 0x40eff4
add eax, 0x5a
jmp 0x40eeea
push ebx
push edi
call fcn.00410591
mov eax, dword [ebp - 0x1e]
pop ecx
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xc], eax
pop ecx
movzx ax, byte [ebp + 8]
test ax, ax
jbe 0x40f03f
movzx esi, ax
mov edx, 0x8000
mov al, byte [ebp + 0xc]
mov cl, byte [ebp - 0xc]
shr word [ebp + 0xc], 1
shr word [ebp - 0xc], 1
and al, 1
and cl, 1
test al, al
je 0x40f035
or dword [ebp - 0xc], edx
test cl, cl
je 0x40f03c
or dword [ebp + 0xc], edx
dec esi
jne 0x40f01b
movzx eax, word [ebp + 0xc]
movzx ecx, word [ebp - 0xc]
shl eax, 0x10
or eax, ecx
mov ecx, dword [edi + 4]
mov dword [ecx], eax
jmp 0x40f092
add eax, 0x28
jmp 0x40eeea
add eax, 0x32
jmp 0x40eeea
add eax, 0x3c
jmp 0x40eeea
add eax, 0x46
jmp 0x40eeea
push dword [ebp + 0xc]
jmp 0x40f079
push ebx
push edi
call fcn.00410591
mov eax, dword [ebp - 0x10]
pop ecx
pop ecx
jmp 0x40eeea
push ebx
push edi
call fcn.00410591
pop ecx
pop ecx
xor eax, eax
jmp 0x40eeea
add eax, 0x50
jmp 0x40eeea