Function at 0x40f0a1
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov ebx, dword [esi]
mov al, byte [ebx + 2]
cmp al, 4
jne 0x40f0cf
mov cx, word [ebx + 0xe]
test cx, cx
je 0x40f0c5
cmp cx, 0x40
jbe 0x40f0cf
mov eax, 0x1770
jmp 0x40f796
cmp al, 2
je 0x40f0d7
cmp al, 3
jne 0x40f102
mov ax, word [ebx + 0xe]
movzx ecx, word [ebx + 0xc]
movzx edx, ax
add ecx, edx
cmp ecx, 0xc8
jle 0x40f0f3
push 6
jmp 0x40f795
test ax, ax
jne 0x40f102
mov eax, 0x2716
jmp 0x40f796
and dword [ebp - 8], 0
and dword [ebp - 0x1c], 0
mov edi, dword [ebp + 0xc]
cmp byte [ebx + 2], 0xb
je 0x40f1ba
cmp byte [ebx + 3], 0
je 0x40f1ba
mov eax, dword [ebp + 0x10]
xor cl, cl
movzx edx, cl
imul edx, edx, 0xe
cmp word [eax + edx], di
je 0x40f139
inc cl
cmp cl, 3
jb 0x40f126
movzx ecx, cl
imul ecx, ecx, 0xe
add eax, ecx
mov dword [ebp + 8], eax
mov eax, dword [eax + 2]
cmp eax, dword [ebx + 4]
je 0x40f161
push dword [ebp + 0x10]
push edi
push esi
call fcn.0040e899
add esp, 0xc
test eax, eax
jne 0x40f796
mov eax, dword [ebp + 8]
push edi
push esi
mov ecx, dword [eax + 6]
mov dword [esi + 0x1a], ecx
mov eax, dword [eax + 0xa]
and word [esi + 0x16], 0
and word [esi + 0x26], 0
mov dword [esi + 0x1e], eax
call fcn.004104c4
and dword [ebp + 8], 0
cmp byte [ebx + 3], 0
pop ecx
pop ecx
jbe 0x40f1ba
mov ax, word [ebp + 8]
push edi
push esi
mov word [esi + 0x18], ax
call fcn.0040fd40
pop ecx
test eax, eax
pop ecx
jne 0x40f796
inc dword [ebp + 8]
mov word [esi + 0x26], 1
movzx ax, byte [ebx + 3]
cmp word [ebp + 8], ax
jb 0x40f18d
lea eax, [ebp - 0x34]
push eax
push esi
call fcn.0040ff5d
cmp word [esi + 0x26], 0
pop ecx
pop ecx
jne 0x40f1e7
push edi
push esi
call fcn.004104c4
pop ecx
pop ecx
push edi
push esi
call fcn.004105dc
pop ecx
test eax, eax
pop ecx
jne 0x40f79b
push 0x2a
push edi
push esi
call fcn.00410058
add esp, 0xc
test eax, eax
jne 0x40f7a0
and dword [ebp + 8], eax
movzx eax, word [ebp + 8]
mov al, byte [eax + ebp - 0x34]
push eax
push edi
push esi
call fcn.00410058
add esp, 0xc
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x40f236
cmp word [ebp + 8], 3
jne 0x40f22c
push edi
push 0x2bc
call fcn.00410480
pop ecx
pop ecx
inc dword [ebp + 8]
cmp word [ebp + 8], 0xa
jb 0x40f1fe
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x40f7a5
mov al, byte [ebx + 2]
cmp al, 5
je 0x40f9b4
cmp al, 9
je 0x40f9b4
cmp al, 0x14
je 0x40f9b4
cmp al, 0x2d
je 0x40f9b4
cmp al, 0xb
je 0x40f9b4
cmp al, 0x1e
je 0x40f9b4
movzx eax, al
dec eax
dec eax
je 0x40f2f2
dec eax
dec eax
je 0x40f2c8
push 2
sub eax, 4
push edi
push esi
je 0x40f7aa
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fab9
push 6
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fab9
push 0x15
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fab9
push 0x39
jmp 0x40f308
push 2
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fab9
push 3
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fab9
jmp 0x40f31a
push 2
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fab9
push 5
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fab9
mov al, byte [ebx + 0x114]
shr al, 2
and al, 0x3c
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f992
push 3
push esi
call fcn.004106f3
pop ecx
test al, al
pop ecx
jne 0x40f36a
push 0x100
push esi
call fcn.004106f3
pop ecx
and al, 0x7d
pop ecx
or al, 2
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f992
mov al, byte [ebx + 0x114]
and al, 0x1f
shl al, 2
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f992
cmp byte [ebx + 2], 4
je 0x40f853
and dword [ebp + 8], eax
push 2
push esi
call fcn.004106f3
pop ecx
test ax, ax
pop ecx
jne 0x40f3c8
push 0x100
push esi
call fcn.004106f3
pop ecx
and al, 0x7e
pop ecx
or al, 1
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f992
mov al, byte [ebp + 8]
mov cl, 4
shl al, 2
sub cl, al
mov al, byte [ebx + 0x112]
shr al, cl
and al, 0x1f
shl al, 2
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f992
inc dword [ebp + 8]
cmp word [ebp + 8], 2
jb 0x40f395
and dword [ebp + 8], eax
mov al, byte [ebp + 8]
mov cl, 4
shl al, 2
sub cl, al
mov al, byte [ebx + 0x113]
shr al, cl
and al, 0x1f
shl al, 2
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f99a
push 3
push esi
call fcn.004106f3
pop ecx
test ax, ax
pop ecx
jne 0x40f45c
push 0x100
push esi
call fcn.004106f3
pop ecx
and al, 0x7e
pop ecx
or al, 1
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f99a
inc dword [ebp + 8]
cmp word [ebp + 8], 2
jb 0x40f3ff
and dword [ebp + 8], 0
push 4
push esi
call fcn.004106f3
pop ecx
test ax, ax
pop ecx
jne 0x40f49d
push 0x100
push esi
call fcn.004106f3
pop ecx
and al, 0x7d
pop ecx
or al, 2
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f99a
mov al, byte [ebp + 8]
mov cl, 4
shl al, 2
sub cl, al
mov al, byte [ebx + 0x110]
shr al, cl
and al, 0x1f
shl al, 2
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f99a
inc dword [ebp + 8]
cmp word [ebp + 8], 2
jb 0x40f46a
and dword [ebp + 8], eax
push 4
push esi
call fcn.004106f3
pop ecx
test ax, ax
pop ecx
jne 0x40f507
push 0x100
push esi
call fcn.004106f3
pop ecx
and al, 0x7d
pop ecx
or al, 2
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f99a
mov al, byte [ebp + 8]
mov cl, 4
shl al, 2
sub cl, al
mov al, byte [ebx + 0x111]
shr al, cl
and al, 0x1f
shl al, 2
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f99a
inc dword [ebp + 8]
cmp word [ebp + 8], 2
jb 0x40f4d4
movzx eax, word [ebp - 8]
mov cx, word [ebx + 0xc]
mov dword [ebp - 0x18], eax
add eax, ecx
sar eax, 2
and al, 0x3c
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f9a2
push 3
push esi
call fcn.004106f3
pop ecx
test ax, ax
pop ecx
je 0x40f593
push 0x100
push esi
call fcn.004106f3
pop ecx
and al, 0x7d
pop ecx
or al, 2
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f9a2
mov al, byte [ebp - 8]
add al, byte [ebx + 0xc]
shl al, 2
and al, 0x3c
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f9a2
cmp byte [ebx + 2], 2
jne 0x40f623
movzx eax, word [ebx + 0xe]
sub eax, dword [ebp - 0x18]
cmp eax, 0x13
jle 0x40f5ed
push 4
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f9aa
push 0x10
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f9aa
jmp 0x40f623
sar eax, 2
and al, 0x3c
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f9aa
mov al, byte [ebx + 0xe]
sub al, byte [ebp - 8]
shl al, 2
and al, 0x3c
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40f9aa
push 0x100
push esi
call fcn.004106f3
mov byte [ebp + 8], al
pop ecx
shr al, 2
pop ecx
and al, 0x3c
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fb01
mov al, byte [ebp + 8]
and al, 0xf
shl al, 2
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fb01
and dword [ebp - 0x10], eax
cmp byte [ebx + 2], 2
jne 0x40f6c5
and dword [ebp - 0x14], eax
mov ax, word [ebp - 8]
cmp ax, word [ebx + 0xe]
jae 0x40f777
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
push edi
push esi
call fcn.00410294
add esp, 0x10
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x40fb4e
mov al, byte [ebp + 8]
mov edx, dword [esi + 4]
movzx ecx, word [ebp - 8]
xor al, byte [ebp + 0xc]
inc dword [ebp - 8]
inc dword [ebp - 0x10]
cmp word [ebp - 0x10], 0x14
mov byte [ecx + edx], al
mov al, byte [ebp + 0xc]
mov byte [ebp + 8], al
jne 0x40f672
jmp 0x40f76e
mov ax, word [ebp - 8]
cmp ax, word [ebx + 0xe]
jae 0x40f777
movzx eax, ax
mov dword [ebp - 0x18], eax
mov al, byte [eax + ebx + 0x10]
xor al, byte [ebp + 8]
mov byte [ebp + 8], al
and al, 0xfb
or al, 8
shr al, 2
push eax
push edi
push esi
call fcn.00410185
movzx eax, word [ebx + 0xe]
add esp, 0xc
dec eax
cmp dword [ebp - 0x18], eax
je 0x40f712
cmp word [ebp - 0x10], 0x13
je 0x40f712
mov al, byte [ebp + 8]
and al, 0xf
shl al, 2
or al, 2
jmp 0x40f71c
mov al, byte [ebp + 8]
and al, 0xf
shl al, 2
or al, 3
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x40fb4e
mov ax, word [ebx + 0xc]
mov ecx, dword [ebp - 0x18]
add ecx, eax
and ecx, 7
cmp cl, 7
je 0x40f754
movzx eax, word [ebx + 0xe]
dec eax
cmp dword [ebp - 0x18], eax
je 0x40f754
cmp word [ebp - 0x10], 0x13
jne 0x40f75d
push edi
push esi
call fcn.0041067a
pop ecx
pop ecx
inc dword [ebp - 0x10]
inc dword [ebp - 8]
cmp word [ebp - 0x10], 0x14
jne 0x40f6c5
push edi
push esi
call fcn.00410591
pop ecx
pop ecx
mov ax, word [ebp - 8]
cmp ax, word [ebx + 0xe]
je 0x40fb87
inc dword [ebp - 0x1c]
cmp word [ebp - 0x1c], 0xf
jb 0x40f10d
push 8
pop eax
pop edi
pop esi
pop ebx
leave
ret
add eax, 0xa
jmp 0x40f796
add eax, 0x14
jmp 0x40f796
add eax, 0x1e
jmp 0x40f796
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fab9
push 2
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fab9
push 0x3a
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fab9
mov al, byte [ebx + 0x10]
shr al, 2
and al, 0x3c
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fba2
mov al, byte [ebx + 0x10]
and al, 0x1f
shl al, 2
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fba2
and dword [ebp - 0x14], eax
lea eax, [ebp - 2]
push eax
lea eax, [ebp - 0x14]
push eax
push edi
push esi
call fcn.004103df
add esp, 0x10
test eax, eax
jne 0x40f928
push edi
push esi
call fcn.00410591
mov ax, word [ebp - 2]
pop ecx
sub ax, 0xaa55
pop ecx
neg ax
sbb eax, eax
and eax, 5
jmp 0x40f796
mov eax, dword [esi]
and byte [ebp + 0x10], 0
and dword [ebp + 8], 0
mov ax, word [eax + 0xe]
test ax, ax
mov dword [ebp - 0x1c], eax
jbe 0x40f90a
movzx eax, word [ebp + 8]
mov ecx, dword [esi]
mov dword [ebp - 0x10], eax
mov bl, byte [eax + ecx + 0x10]
mov al, bl
shr al, 2
and al, 0x3c
add al, 2
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fb97
push 0x40
push esi
call fcn.004106f3
pop ecx
mov byte [ebp - 0x18], al
test al, 2
pop ecx
je 0x40f8b3
lea eax, [edi + 1]
push eax
call fcn.004106d3
pop ecx
jmp 0x40f8d4
test al, 1
je 0x40f8bf
shr al, 2
and al, 0xf
add byte [ebp + 0x10], al
push dword [ebp - 0x18]
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fba2
mov eax, dword [ebp - 0x10]
movzx ecx, word [ebp - 0x1c]
inc eax
cdq
idiv ecx
shl bl, 2
add al, bl
add al, 2
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fba2
inc dword [ebp + 8]
mov ax, word [ebp + 8]
cmp ax, word [ebp - 0x1c]
jb 0x40f86d
and byte [ebp + 0x10], 0xf
and dword [ebp - 0x14], 0
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x14]
push eax
push edi
push esi
call fcn.0041042e
add esp, 0x10
test eax, eax
je 0x40f930
add eax, 0x5a
jmp 0x40f796
push edi
push esi
call fcn.00410591
mov eax, dword [ebp - 0x22]
pop ecx
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp + 0xc], eax
pop ecx
movzx ax, byte [ebp + 0x10]
test ax, ax
jbe 0x40f97b
movzx edi, ax
mov edx, 0x8000
mov al, byte [ebp + 8]
mov cl, byte [ebp + 0xc]
shr word [ebp + 8], 1
shr word [ebp + 0xc], 1
and al, 1
and cl, 1
test al, al
je 0x40f971
or dword [ebp + 0xc], edx
test cl, cl
je 0x40f978
or dword [ebp + 8], edx
dec edi
jne 0x40f957
movzx eax, word [ebp + 8]
movzx ecx, word [ebp + 0xc]
shl eax, 0x10
or eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x40fb90
add eax, 0x64
jmp 0x40f796
add eax, 0x32
jmp 0x40f796
add eax, 0x3c
jmp 0x40f796
add eax, 0x1388
jmp 0x40f796
mov eax, dword [esi]
and dword [ebp - 8], 0
movzx eax, byte [eax + 2]
sub eax, 5
je 0x40fa89
sub eax, 4
je 0x40fa89
dec eax
dec eax
je 0x40fa53
sub eax, 9
je 0x40fa16
sub eax, 0xa
je 0x40f9e8
sub eax, 0xf
je 0x40fa16
jmp 0x40fac8
push 2
pop ebx
push ebx
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fab9
push 4
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fab9
push 3
jmp 0x40fa76
push 2
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fab9
push 4
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fab9
push 2
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fab9
mov dword [ebp - 8], 8
jmp 0x40fac8
push 2
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fab9
push 4
pop ebx
push ebx
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fab9
push ebx
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fab9
mov dword [ebp - 8], ebx
jmp 0x40fac8
push 2
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fab9
push 4
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fab9
push 1
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
je 0x40fac1
add eax, 0x28
jmp 0x40f796
mov dword [ebp - 8], 3
push 0x100
push esi
call fcn.004106f3
mov bl, al
pop ecx
shr al, 2
pop ecx
and al, 0x3c
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
jne 0x40fb01
mov al, bl
and al, 0xf
shl al, 2
push eax
push edi
push esi
call fcn.00410185
add esp, 0xc
test eax, eax
je 0x40fb09
add eax, 0x46
jmp 0x40f796
xor eax, eax
cmp word [ebp - 8], ax
mov dword [ebp - 0x14], eax
mov dword [ebp + 8], eax
jbe 0x40fb5f
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
push edi
push esi
call fcn.00410294
add esp, 0x10
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x40fb4e
mov eax, dword [ebp + 8]
xor bl, byte [ebp + 0xc]
mov edx, dword [esi + 4]
movzx ecx, ax
inc eax
cmp ax, word [ebp - 8]
mov byte [ecx + edx], bl
mov bl, byte [ebp + 0xc]
mov dword [ebp + 8], eax
jb 0x40fb17
jmp 0x40fb5f
push edi
push esi
call fcn.00410591
mov eax, dword [ebp - 0xc]
pop ecx
pop ecx
jmp 0x40f796
mov eax, dword [esi]
cmp byte [eax + 2], 5
jne 0x40fb78
mov eax, dword [esi + 4]
mov cl, byte [eax + 1]
mov byte [eax], cl
mov eax, dword [esi + 4]
mov cl, byte [eax + 2]
mov byte [eax + 1], cl
mov eax, dword [esi]
cmp byte [eax + 2], 9
jne 0x40fb87
mov eax, dword [esi + 4]
and byte [eax + 1], 0
push edi
push esi
call fcn.00410591
pop ecx
pop ecx
xor eax, eax
jmp 0x40f796
cmp word [ebp + 8], 0
je 0x40f992
add eax, 0x50
jmp 0x40f796