Function at 0x526e25
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov ebx, dword [esi]
mov al, byte [ebx + 2]
cmp al, 4
jne 0x526e53
mov cx, word [ebx + 0xe]
test cx, cx
je 0x526e49
cmp cx, 0x40
jbe 0x526e53
mov eax, 0x1770
jmp 0x5274d5
cmp al, 2
je 0x526e5b
cmp al, 3
jne 0x526e86
mov ax, word [ebx + 0xe]
movzx ecx, word [ebx + 0xc]
movzx edx, ax
add ecx, edx
cmp ecx, 0xc8
jle 0x526e77
push 6
jmp 0x5274d4
test ax, ax
jne 0x526e86
mov eax, 0x2716
jmp 0x5274d5
and dword [ebp - 8], 0
and dword [ebp - 0x18], 0
mov edi, dword [ebp + 0xc]
cmp byte [ebx + 2], 0xb
je 0x526f3e
cmp byte [ebx + 3], 0
je 0x526f3e
mov eax, dword [ebp + 0x10]
xor cl, cl
movzx edx, cl
imul edx, edx, 0xe
cmp word [eax + edx], di
je 0x526ebd
inc cl
cmp cl, 3
jb 0x526eaa
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 0x526ee5
push dword [ebp + 0x10]
push edi
push esi
call fcn.00526656
add esp, 0xc
test eax, eax
jne 0x5274d5
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.00528227
and dword [ebp + 8], 0
cmp byte [ebx + 3], 0
pop ecx
pop ecx
jbe 0x526f3e
mov ax, word [ebp + 8]
push edi
push esi
mov word [esi + 0x18], ax
call fcn.00527a77
pop ecx
test eax, eax
pop ecx
jne 0x5274d5
inc dword [ebp + 8]
mov word [esi + 0x26], 1
movzx ax, byte [ebx + 3]
cmp word [ebp + 8], ax
jb 0x526f11
lea eax, [ebp - 0x30]
push eax
push esi
call fcn.00527c8e
cmp word [esi + 0x26], 0
pop ecx
pop ecx
jne 0x526f6a
push edi
push esi
call fcn.00528227
push edi
push esi
call fcn.00528321
add esp, 0x10
test eax, eax
jne 0x5274da
push 0x2a
push edi
push esi
call fcn.00527d95
add esp, 0xc
test eax, eax
jne 0x5274df
and dword [ebp + 8], eax
movzx eax, word [ebp + 8]
mov al, byte [eax + ebp - 0x30]
push eax
push edi
push esi
call fcn.00527d95
add esp, 0xc
test eax, eax
jne 0x5274e4
cmp word [ebp + 8], 3
jne 0x526fb0
push edi
push 0x2bc
call fcn.005281e3
pop ecx
pop ecx
inc dword [ebp + 8]
cmp word [ebp + 8], 0xa
jb 0x526f81
mov al, byte [ebx + 2]
cmp al, 5
je 0x527711
cmp al, 9
je 0x527711
cmp al, 0x14
je 0x527711
cmp al, 0x2d
je 0x527711
cmp al, 0xb
je 0x527711
cmp al, 0x1e
je 0x527711
movzx eax, al
dec eax
dec eax
je 0x527059
dec eax
dec eax
je 0x527041
push 2
sub eax, 4
push edi
push esi
je 0x5274ee
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5274e9
push 6
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5274e9
push 0x15
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5274e9
push 0x39
jmp 0x52706f
push 2
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5274e9
push 3
jmp 0x52706f
push 2
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5274e9
push 5
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5274e9
mov al, byte [ebx + 0x114]
shr al, 2
and al, 0x3c
push eax
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5276d1
push 3
push esi
call fcn.00528453
pop ecx
test al, al
pop ecx
jne 0x5270cf
push 0x100
push esi
call fcn.00528453
and al, 0x7d
or al, 2
push eax
push edi
push esi
call fcn.00527ec8
add esp, 0x14
test eax, eax
jne 0x5276d1
mov al, byte [ebx + 0x114]
and al, 0x1f
shl al, 2
push eax
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5276d1
cmp byte [ebx + 2], 4
je 0x52758b
and dword [ebp + 8], eax
push 2
push esi
call fcn.00528453
pop ecx
test ax, ax
pop ecx
jne 0x52712b
push 0x100
push esi
call fcn.00528453
and al, 0x7e
or al, 1
push eax
push edi
push esi
call fcn.00527ec8
add esp, 0x14
test eax, eax
jne 0x5276d1
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.00527ec8
add esp, 0xc
test eax, eax
jne 0x5276d1
inc dword [ebp + 8]
cmp word [ebp + 8], 2
jb 0x5270fa
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.00527ec8
add esp, 0xc
test eax, eax
jne 0x5276d9
push 3
push esi
call fcn.00528453
pop ecx
test ax, ax
pop ecx
jne 0x5271bd
push 0x100
push esi
call fcn.00528453
and al, 0x7e
or al, 1
push eax
push edi
push esi
call fcn.00527ec8
add esp, 0x14
test eax, eax
jne 0x5276d9
inc dword [ebp + 8]
cmp word [ebp + 8], 2
jb 0x527162
and dword [ebp + 8], 0
push 4
push esi
call fcn.00528453
pop ecx
test ax, ax
pop ecx
jne 0x5271fc
push 0x100
push esi
call fcn.00528453
and al, 0x7d
or al, 2
push eax
push edi
push esi
call fcn.00527ec8
add esp, 0x14
test eax, eax
jne 0x5276d9
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.00527ec8
add esp, 0xc
test eax, eax
jne 0x5276d9
inc dword [ebp + 8]
cmp word [ebp + 8], 2
jb 0x5271cb
and dword [ebp + 8], eax
push 4
push esi
call fcn.00528453
pop ecx
test ax, ax
pop ecx
jne 0x527264
push 0x100
push esi
call fcn.00528453
and al, 0x7d
or al, 2
push eax
push edi
push esi
call fcn.00527ec8
add esp, 0x14
test eax, eax
jne 0x5276d9
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.00527ec8
add esp, 0xc
test eax, eax
jne 0x5276d9
inc dword [ebp + 8]
cmp word [ebp + 8], 2
jb 0x527233
movzx eax, word [ebp - 8]
mov cx, word [ebx + 0xc]
mov dword [ebp - 0x14], eax
add ecx, eax
sar ecx, 2
and cl, 0x3c
push ecx
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5276e1
push 3
push esi
call fcn.00528453
pop ecx
test ax, ax
pop ecx
je 0x5272ef
push 0x100
push esi
call fcn.00528453
and al, 0x7d
or al, 2
push eax
push edi
push esi
call fcn.00527ec8
add esp, 0x14
test eax, eax
jne 0x5276e1
mov al, byte [ebx + 0xc]
add al, byte [ebp - 8]
shl al, 2
and al, 0x3c
push eax
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5276e1
cmp byte [ebx + 2], 2
jne 0x52736d
movzx eax, word [ebx + 0xe]
sub eax, dword [ebp - 0x14]
cmp eax, 0x13
jle 0x527337
push 4
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5276e9
push 0x10
jmp 0x52735b
sar eax, 2
and al, 0x3c
push eax
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5276e9
mov al, byte [ebx + 0xe]
sub al, byte [ebp - 8]
shl al, 2
and al, 0x3c
push eax
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5276e9
push 0x100
push esi
call fcn.00528453
mov byte [ebp + 0xb], al
shr al, 2
and al, 0x3c
push eax
push edi
push esi
call fcn.00527ec8
add esp, 0x14
test eax, eax
jne 0x5276f3
mov al, byte [ebp + 0xb]
and al, 0xf
shl al, 2
push eax
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5276f3
and dword [ebp - 0xc], eax
cmp byte [ebx + 2], 2
jne 0x52740a
and dword [ebp - 0x10], eax
mov ax, word [ebp - 8]
cmp ax, word [ebx + 0xe]
jae 0x5274b6
lea eax, [ebp + 0xf]
push eax
lea eax, [ebp - 0x10]
push eax
push edi
push esi
call fcn.00527fe2
add esp, 0x10
test eax, eax
jne 0x5276fb
mov al, byte [ebp + 0xf]
mov edx, dword [esi + 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 + 0xf]
mov byte [ebp + 0xb], al
jne 0x5273ba
jmp 0x5274ad
mov ax, word [ebp - 8]
cmp ax, word [ebx + 0xe]
jae 0x5274b6
movzx eax, ax
mov dword [ebp - 0x14], eax
mov al, byte [ebx + eax + 0x10]
xor al, byte [ebp + 0xb]
mov byte [ebp + 0xb], al
and al, 0xfb
or al, 8
shr al, 2
push eax
push edi
push esi
call fcn.00527ec8
movzx eax, word [ebx + 0xe]
add esp, 0xc
dec eax
cmp dword [ebp - 0x14], eax
je 0x527457
cmp word [ebp - 0xc], 0x13
je 0x527457
mov al, byte [ebp + 0xb]
and al, 0xf
shl al, 2
or al, 2
jmp 0x527461
mov al, byte [ebp + 0xb]
and al, 0xf
shl al, 2
or al, 3
push eax
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5276fb
mov ax, word [ebx + 0xc]
add eax, dword [ebp - 0x14]
and eax, 7
cmp al, 7
je 0x527493
movzx eax, word [ebx + 0xe]
dec eax
cmp dword [ebp - 0x14], eax
je 0x527493
cmp word [ebp - 0xc], 0x13
jne 0x52749c
push edi
push esi
call fcn.005283bf
pop ecx
pop ecx
inc dword [ebp - 0xc]
inc dword [ebp - 8]
cmp word [ebp - 0xc], 0x14
jne 0x52740a
push edi
push esi
call fcn.005282dd
pop ecx
pop ecx
mov ax, word [ebp - 8]
cmp ax, word [ebx + 0xe]
je 0x5276ff
inc dword [ebp - 0x18]
cmp word [ebp - 0x18], 0xf
jb 0x526e91
push 8
pop eax
pop edi
pop esi
pop ebx
leave
ret
add eax, 0xa
jmp 0x5274d5
add eax, 0x14
jmp 0x5274d5
add eax, 0x1e
jmp 0x5274d5
add eax, 0x28
jmp 0x5274d5
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5274e9
push 2
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5274e9
push 0x3a
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5274e9
mov al, byte [ebx + 0x10]
shr al, 2
and al, 0x3c
push eax
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x527665
mov al, byte [ebx + 0x10]
and al, 0x1f
shl al, 2
push eax
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x527665
and dword [ebp - 0x10], eax
lea eax, [ebp - 2]
push eax
lea eax, [ebp - 0x10]
push eax
push edi
push esi
call fcn.00528142
add esp, 0x10
test eax, eax
jne 0x527656
push edi
push esi
call fcn.005282dd
mov ax, word [ebp - 2]
pop ecx
sub ax, 0xaa55
pop ecx
neg ax
sbb eax, eax
and eax, 5
jmp 0x5274d5
mov eax, dword [esi]
and byte [ebp + 0x13], 0
and dword [ebp + 8], 0
mov ax, word [eax + 0xe]
test ax, ax
mov dword [ebp - 0x18], eax
jbe 0x527638
movzx eax, word [ebp + 8]
mov ecx, dword [esi]
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.00527ec8
add esp, 0xc
test eax, eax
jne 0x52765e
push 0x40
push esi
call fcn.00528453
pop ecx
mov byte [ebp - 0x14], al
test al, 2
pop ecx
je 0x5275e8
lea eax, [edi + 1]
push eax
call fcn.00528433
pop ecx
jmp 0x527605
test al, 1
je 0x5275f4
shr al, 2
and al, 0xf
add byte [ebp + 0x13], al
push dword [ebp - 0x14]
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x527665
movzx eax, word [ebp + 8]
movzx ecx, word [ebp - 0x18]
inc eax
cdq
idiv ecx
shl bl, 2
add al, bl
add al, 2
push eax
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x527665
inc dword [ebp + 8]
mov ax, word [ebp + 8]
cmp ax, word [ebp - 0x18]
jb 0x5275a5
and byte [ebp + 0x13], 0xf
and dword [ebp - 0x10], 0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x10]
push eax
push edi
push esi
call fcn.00528191
add esp, 0x10
test eax, eax
je 0x52766d
add eax, 0x5a
jmp 0x5274d5
cmp word [ebp + 8], 0
je 0x5276d1
add eax, 0x50
jmp 0x5274d5
push edi
push esi
call fcn.005282dd
mov eax, dword [ebp - 0x1e]
pop ecx
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0xc], eax
pop ecx
movzx ax, byte [ebp + 0x13]
test ax, ax
jbe 0x5276b8
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 0x5276ae
or dword [ebp + 0xc], edx
test cl, cl
je 0x5276b5
or dword [ebp + 8], edx
dec edi
jne 0x527694
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
xor eax, eax
jmp 0x5274d5
add eax, 0x64
jmp 0x5274d5
add eax, 0x32
jmp 0x5274d5
add eax, 0x3c
jmp 0x5274d5
add eax, 0x1388
jmp 0x5274d5
add eax, 0x46
jmp 0x5274d5
mov ebx, eax
jmp 0x527701
xor ebx, ebx
push edi
push esi
call fcn.005282dd
pop ecx
mov eax, ebx
pop ecx
jmp 0x5274d5
mov eax, dword [esi]
and dword [ebp - 8], 0
movzx eax, byte [eax + 2]
sub eax, 5
je 0x527804
sub eax, 4
je 0x527804
dec eax
dec eax
je 0x5277d4
sub eax, 9
je 0x52778f
sub eax, 0xa
je 0x527749
sub eax, 0xf
je 0x52778f
jmp 0x527847
push 2
pop ebx
push ebx
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5274e9
push 4
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5274e9
push 3
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5274e9
mov dword [ebp - 8], ebx
jmp 0x527847
push 2
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5274e9
push 4
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5274e9
push 2
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5274e9
mov dword [ebp - 8], 8
jmp 0x527847
push 2
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5274e9
push 4
pop ebx
push ebx
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5274e9
push ebx
jmp 0x527775
push 2
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5274e9
push 4
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5274e9
push 1
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5274e9
mov dword [ebp - 8], 3
push 0x100
push esi
call fcn.00528453
mov bl, al
shr al, 2
and al, 0x3c
push eax
push edi
push esi
call fcn.00527ec8
add esp, 0x14
test eax, eax
jne 0x5276f3
mov al, bl
and al, 0xf
shl al, 2
push eax
push edi
push esi
call fcn.00527ec8
add esp, 0xc
test eax, eax
jne 0x5276f3
cmp word [ebp - 8], ax
mov dword [ebp - 0x10], eax
mov dword [ebp + 8], eax
jbe 0x5278ca
lea eax, [ebp + 0xf]
push eax
lea eax, [ebp - 0x10]
push eax
push edi
push esi
call fcn.00527fe2
add esp, 0x10
test eax, eax
jne 0x5276fb
mov eax, dword [ebp + 8]
mov cl, byte [ebp + 0xf]
movzx edx, ax
xor cl, bl
mov ebx, dword [esi + 4]
inc eax
cmp ax, word [ebp - 8]
mov byte [edx + ebx], cl
mov bl, byte [ebp + 0xf]
mov dword [ebp + 8], eax
jb 0x527892
mov eax, dword [esi]
cmp byte [eax + 2], 5
jne 0x5278e3
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 0x5276ff
mov eax, dword [esi + 4]
and byte [eax + 1], 0
jmp 0x5276ff