Function at 0x52690d
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, dword [edi]
mov al, byte [esi + 2]
cmp al, 4
jne 0x52693b
mov cx, word [esi + 0xe]
test cx, cx
je 0x526931
cmp cx, 0x40
jbe 0x52693b
mov eax, 0x1770
jmp 0x526c7a
cmp al, 2
je 0x526943
cmp al, 3
jne 0x526964
mov ax, word [esi + 0xe]
movzx ecx, word [esi + 0xc]
movzx edx, ax
add ecx, edx
cmp ecx, 0xc8
jg 0x52695d
test ax, ax
jne 0x526964
push 6
jmp 0x526c79
and dword [ebp - 8], 0
and dword [ebp - 0x10], 0
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x24]
push eax
push edi
call fcn.00527b68
push ebx
push edi
call fcn.00528227
push ebx
push edi
call fcn.00528321
add esp, 0x18
test eax, eax
jne 0x526c7f
push 0x2a
push ebx
push edi
call fcn.00527d95
add esp, 0xc
test eax, eax
jne 0x526c84
and dword [ebp - 0xc], eax
movzx eax, word [ebp - 0xc]
mov al, byte [eax + ebp - 0x24]
cmp al, 0xff
je 0x5269d2
push eax
push ebx
push edi
call fcn.00527d95
add esp, 0xc
test eax, eax
jne 0x526c89
inc dword [ebp - 0xc]
cmp word [ebp - 0xc], 8
jb 0x5269a9
mov al, byte [esi + 2]
cmp al, 4
je 0x526c8e
cmp al, 2
je 0x5269fd
cmp al, 5
je 0x5269fd
cmp al, 0x1e
je 0x5269fd
cmp al, 0x14
je 0x5269fd
cmp al, 9
je 0x5269fd
cmp al, 0xb
je 0x5269fd
cmp al, 0x2d
je 0x5269fd
push 6
jmp 0x5269ff
push 4
push ebx
push edi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x526de8
mov al, byte [esi + 0x110]
shr al, 2
and al, 0x3c
push eax
push ebx
push edi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x526df0
mov al, byte [esi + 0x110]
and al, 0xf
shl al, 2
push eax
push ebx
push edi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x526df0
mov ax, word [esi + 0x110]
shr eax, 0xa
and al, 0x3c
push eax
push ebx
push edi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x526df0
mov ax, word [esi + 0x110]
shr eax, 6
and al, 0x3c
push eax
push ebx
push edi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x526df0
mov ax, word [esi + 0xc]
add eax, dword [ebp - 8]
sar eax, 2
and al, 0x3c
push eax
push ebx
push edi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x526df8
mov al, byte [esi + 0xc]
add al, byte [ebp - 8]
shl al, 2
and al, 0x3c
push eax
push ebx
push edi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x526df8
push 0x100
push edi
call fcn.00528453
mov byte [ebp + 0xb], al
shr al, 2
and al, 0x3c
push eax
push ebx
push edi
call fcn.00527ec8
add esp, 0x14
test eax, eax
jne 0x526e00
mov al, byte [ebp + 0xb]
and al, 0xf
shl al, 2
push eax
push ebx
push edi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x526e00
and dword [ebp - 0xc], eax
mov al, byte [esi + 2]
cmp al, 2
je 0x526c07
cmp al, 5
je 0x526c07
cmp al, 0x1e
je 0x526c07
cmp al, 0x14
je 0x526c07
cmp al, 9
je 0x526c07
cmp al, 0xb
je 0x526c07
cmp al, 0x2d
je 0x526c07
mov ax, word [ebp - 8]
cmp ax, word [esi + 0xe]
jae 0x526c5b
movzx ebx, word [ebp - 8]
mov al, byte [esi + ebx + 0x10]
xor al, byte [ebp + 0xb]
mov byte [ebp + 0xb], al
and al, 0xfb
or al, 8
shr al, 2
push eax
push dword [ebp + 0xc]
push edi
call fcn.00527ec8
movzx eax, word [esi + 0xe]
add esp, 0xc
dec eax
cmp ebx, eax
je 0x526b93
cmp word [ebp - 0xc], 0x13
je 0x526b93
mov al, byte [ebp + 0xb]
and al, 0xf
shl al, 2
or al, 2
jmp 0x526b9d
mov al, byte [ebp + 0xb]
and al, 0xf
shl al, 2
or al, 3
push eax
push dword [ebp + 0xc]
push edi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x526e08
mov ax, word [esi + 0xc]
add eax, ebx
and eax, 7
cmp al, 7
je 0x526bcf
movzx eax, word [esi + 0xe]
dec eax
cmp ebx, eax
je 0x526bcf
cmp word [ebp - 0xc], 0x13
jne 0x526bda
push dword [ebp + 0xc]
push edi
call fcn.005283bf
pop ecx
pop ecx
inc dword [ebp - 0xc]
inc dword [ebp - 8]
cmp word [ebp - 0xc], 0x14
je 0x526bf7
mov ax, word [ebp - 8]
cmp ax, word [esi + 0xe]
jb 0x526b55
jmp 0x526c02
push dword [ebp + 0xc]
push edi
call fcn.005282dd
pop ecx
pop ecx
mov ebx, dword [ebp + 0xc]
jmp 0x526c5b
and dword [ebp - 0x14], 0
mov ax, word [ebp - 8]
cmp ax, word [esi + 0xe]
jae 0x526c5b
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x14]
push eax
push ebx
push edi
call fcn.00527fe2
add esp, 0x10
test eax, eax
jne 0x526e0f
mov al, byte [ebp - 1]
mov edx, dword [edi + 4]
movzx ecx, word [ebp - 8]
xor al, byte [ebp + 0xb]
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 + 0xb], al
jne 0x526c0b
push ebx
push edi
call fcn.005282dd
pop ecx
pop ecx
mov ax, word [ebp - 8]
cmp ax, word [esi + 0xe]
je 0x526e13
inc dword [ebp - 0x10]
cmp word [ebp - 0x10], 0xf
jb 0x52696f
push 8
pop eax
pop edi
pop esi
pop ebx
leave
ret
add eax, 0xa
jmp 0x526c7a
add eax, 0x14
jmp 0x526c7a
add eax, 0x1e
jmp 0x526c7a
push 1
push ebx
push edi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x526de8
and byte [ebp + 0xb], al
mov eax, dword [edi]
and dword [ebp - 0xc], 0
mov ax, word [eax + 0xe]
test ax, ax
mov dword [ebp - 0x10], eax
jbe 0x526d56
movzx esi, word [ebp - 0xc]
mov eax, dword [edi]
mov bl, byte [eax + esi + 0x10]
mov al, bl
shr al, 2
and al, 0x3c
add al, 2
push eax
push dword [ebp + 0xc]
push edi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x526d7c
push 0x40
push edi
call fcn.00528453
pop ecx
mov byte [ebp - 8], al
test al, 2
pop ecx
je 0x526d01
mov eax, dword [ebp + 0xc]
inc eax
push eax
call fcn.00528433
pop ecx
jmp 0x526d20
test al, 1
je 0x526d0d
shr al, 2
and al, 0xf
add byte [ebp + 0xb], al
push dword [ebp - 8]
push dword [ebp + 0xc]
push edi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x526d7c
movzx ecx, word [ebp - 0x10]
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.00527ec8
add esp, 0xc
test eax, eax
jne 0x526d7c
inc dword [ebp - 0xc]
mov ax, word [ebp - 0xc]
cmp ax, word [ebp - 0x10]
jb 0x526cbb
mov ebx, dword [ebp + 0xc]
and byte [ebp + 0xb], 0xf
and dword [ebp - 0x14], 0
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
push ebx
push edi
call fcn.00528191
add esp, 0x10
test eax, eax
je 0x526d84
add eax, 0x5a
jmp 0x526c7a
add eax, 0x50
jmp 0x526c7a
push ebx
push edi
call fcn.005282dd
mov eax, dword [ebp - 0x1a]
pop ecx
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xc], eax
pop ecx
movzx ax, byte [ebp + 0xb]
test ax, ax
jbe 0x526dcf
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 0x526dc5
or dword [ebp - 0xc], edx
test cl, cl
je 0x526dcc
or dword [ebp + 0xc], edx
dec esi
jne 0x526dab
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
xor eax, eax
jmp 0x526c7a
add eax, 0x28
jmp 0x526c7a
add eax, 0x32
jmp 0x526c7a
add eax, 0x3c
jmp 0x526c7a
add eax, 0x46
jmp 0x526c7a
mov ebx, dword [ebp + 0xc]
mov esi, eax
jmp 0x526e15
mov esi, eax
jmp 0x526e15
xor esi, esi
push ebx
push edi
call fcn.005282dd
pop ecx
mov eax, esi
pop ecx
jmp 0x526c7a