Function at 0x10058400
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb4
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 4], ecx
mov eax, dword [ebp + 0xc]
cmp edi, dword [eax]
jb 0x10058445
mov ecx, edi
sub ecx, dword [eax + 4]
cmp ecx, dword [eax + 0x10]
je 0x10058c98
push dword [eax + 0x48]
push ecx
lea ecx, [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.100af180
cmp byte [ebp - 0x10], 0
mov edi, dword [ebp - 0x14]
jne 0x10058571
movzx ebx, byte [edi]
cmp ebx, 0x80
jae 0x10058453
inc edi
jmp 0x10058482
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
cmp ecx, 0x80
jae 0x1005846e
add edi, 2
jmp 0x10058482
push ebx
lea eax, [ebp - 0x1c]
push edi
push eax
call fcn.100afc30
mov ebx, dword [ebp - 0x18]
add esp, 0xc
mov edi, dword [ebp - 0x1c]
test edi, edi
je 0x1005856f
mov eax, ebx
shr eax, 3
dec eax
cmp eax, 0x18
ja case.0x10058499.18
jmp dword [eax*4 + 0x10058cd4]
cmp bl, 8
jne case.0x10058499.18
lea eax, [ebp - 0x24]
push eax
push edi
call fcn.10039d60
mov edi, eax
add esp, 8
test edi, edi
je 0x1005856f
mov ebx, dword [ebp - 0x24]
lea eax, [ebx + 1]
cmp eax, 4
ja case.0x100584cb.0
jmp dword [eax*4 + 0x10058d38]
mov ecx, dword [ebp - 4]
or dword [ecx + 8], 0x10000
mov dword [ecx + 0x4c], ebx
jmp 0x10058414
mov ecx, dword [ebp - 4]
add ecx, 4
test byte [ecx], 1
je 0x10058509
mov eax, dword [ecx]
push dword [ebp - 0x20]
and eax, 0xfffffffc
add eax, 4
push ebx
push 1
mov ecx, eax
call fcn.100b0960
jmp 0x10058414
call fcn.10039e10
push dword [ebp - 0x20]
mov ecx, eax
push ebx
push 1
call fcn.100b0960
jmp 0x10058414
cmp bl, 0x10
jne case.0x10058499.18
movzx edx, byte [edi]
or esi, 0x10
test dl, dl
js 0x10058536
inc edi
jmp 0x10058561
movzx ecx, byte [edi + 1]
add edx, 0xffffff80
mov eax, ecx
shl eax, 7
add edx, eax
test cl, cl
js 0x1005854d
add edi, 2
jmp 0x10058561
push edx
lea eax, [ebp - 0x2c]
push edi
push eax
call fcn.100afcb0
mov edx, dword [ebp - 0x28]
add esp, 0xc
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
mov dword [eax + 0x30], edx
test edi, edi
jne 0x10058414
xor edi, edi
mov eax, dword [ebp - 4]
or dword [eax + 8], esi
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp bl, 0x18
jne case.0x10058499.18
movzx edx, byte [edi]
or esi, 0x20
test dl, dl
js 0x10058598
inc edi
jmp 0x100585c3
movzx ecx, byte [edi + 1]
add edx, 0xffffff80
mov eax, ecx
shl eax, 7
add edx, eax
test cl, cl
js 0x100585af
add edi, 2
jmp 0x100585c3
push edx
lea eax, [ebp - 0x34]
push edi
push eax
call fcn.100afcb0
mov edx, dword [ebp - 0x30]
add esp, 0xc
mov edi, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
mov dword [eax + 0x34], edx
test edi, edi
je 0x1005856f
jmp 0x10058414
cmp bl, 0x20
jne case.0x10058499.18
movzx edx, byte [edi]
or esi, 0x40
test dl, dl
js 0x100585e8
inc edi
jmp 0x10058613
movzx ecx, byte [edi + 1]
add edx, 0xffffff80
mov eax, ecx
shl eax, 7
add edx, eax
test cl, cl
js 0x100585ff
add edi, 2
jmp 0x10058613
push edx
lea eax, [ebp - 0x3c]
push edi
push eax
call fcn.100afcb0
mov edx, dword [ebp - 0x38]
add esp, 0xc
mov edi, dword [ebp - 0x3c]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
test edi, edi
je 0x1005856f
jmp 0x10058414
cmp bl, 0x28
jne case.0x10058499.18
movzx edx, byte [edi]
or esi, 0x80
test dl, dl
js 0x1005863f
inc edi
jmp 0x1005866a
movzx ecx, byte [edi + 1]
add edx, 0xffffff80
mov eax, ecx
shl eax, 7
add edx, eax
test cl, cl
js 0x10058656
add edi, 2
jmp 0x1005866a
push edx
lea eax, [ebp - 0x44]
push edi
push eax
call fcn.100afcb0
mov edx, dword [ebp - 0x40]
add esp, 0xc
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 4]
mov dword [eax + 0x3c], edx
test edi, edi
je 0x1005856f
jmp 0x10058414
cmp bl, 0x30
jne case.0x10058499.18
lea eax, [ebp - 0xac]
or esi, 0x20000
push eax
push edi
call fcn.10039d60
mov ecx, dword [ebp - 4]
mov edi, eax
mov eax, dword [ebp - 0xac]
add esp, 8
mov dword [ecx + 0x50], eax
test edi, edi
je 0x1005856f
jmp 0x10058414
cmp bl, 0x38
jne case.0x10058499.18
lea eax, [ebp - 0x4c]
or esi, 0x40000
push eax
push edi
call fcn.10039d60
mov edi, eax
add esp, 8
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 0x48]
je 0x100586e1
mov cl, 1
jmp 0x100586e3
xor cl, cl
mov eax, dword [ebp - 4]
mov byte [eax + 0x54], cl
test edi, edi
je 0x1005856f
jmp 0x10058414
cmp bl, 0x40
jne case.0x10058499.18
lea eax, [ebp - 0x54]
or esi, 0x100
push eax
push edi
call fcn.10039d60
mov edi, eax
add esp, 8
mov eax, dword [ebp - 0x54]
or eax, dword [ebp - 0x50]
je 0x10058720
mov cl, 1
jmp 0x10058722
xor cl, cl
mov eax, dword [ebp - 4]
mov byte [eax + 0x40], cl
test edi, edi
je 0x1005856f
jmp 0x10058414
cmp bl, 0x48
jne case.0x10058499.18
lea eax, [ebp - 0x5c]
or esi, 0x80000
push eax
push edi
call fcn.10039d60
mov edi, eax
add esp, 8
mov eax, dword [ebp - 0x5c]
or eax, dword [ebp - 0x58]
je 0x1005875f
mov cl, 1
jmp 0x10058761
xor cl, cl
mov eax, dword [ebp - 4]
mov byte [eax + 0x55], cl
test edi, edi
je 0x1005856f
jmp 0x10058414
cmp bl, 0x50
jne case.0x10058499.18
lea eax, [ebp - 0x64]
or esi, 0x100000
push eax
push edi
call fcn.10039d60
mov edi, eax
add esp, 8
mov eax, dword [ebp - 0x64]
or eax, dword [ebp - 0x60]
je 0x1005879e
mov cl, 1
jmp 0x100587a0
xor cl, cl
mov eax, dword [ebp - 4]
mov byte [eax + 0x56], cl
test edi, edi
je 0x1005856f
jmp 0x10058414
cmp bl, 0x58
jne case.0x10058499.18
lea eax, [ebp - 0x6c]
or esi, 0x200000
push eax
push edi
call fcn.10039d60
mov edi, eax
add esp, 8
mov eax, dword [ebp - 0x6c]
or eax, dword [ebp - 0x68]
je 0x100587dd
mov cl, 1
jmp 0x100587df
xor cl, cl
mov eax, dword [ebp - 4]
mov byte [eax + 0x57], cl
test edi, edi
je 0x1005856f
jmp 0x10058414
cmp bl, 0x60
jne case.0x10058499.18
lea eax, [ebp - 0xb4]
or esi, 0x400000
push eax
push edi
call fcn.10039d60
mov ecx, dword [ebp - 4]
mov edi, eax
mov eax, dword [ebp - 0xb4]
add esp, 8
mov dword [ecx + 0x58], eax
test edi, edi
je 0x1005856f
jmp 0x10058414
cmp bl, 0x68
jne case.0x10058499.18
lea eax, [ebp - 0x74]
or esi, 0x200
push eax
push edi
call fcn.10039d60
mov edi, eax
add esp, 8
mov eax, dword [ebp - 0x74]
or eax, dword [ebp - 0x70]
je 0x10058856
mov cl, 1
jmp 0x10058858
xor cl, cl
mov eax, dword [ebp - 4]
mov byte [eax + 0x41], cl
test edi, edi
je 0x1005856f
jmp 0x10058414
cmp bl, 0x70
jne case.0x10058499.18
lea eax, [ebp - 0x7c]
or esi, 0x8000
push eax
push edi
call fcn.10039d60
mov edi, eax
add esp, 8
mov eax, dword [ebp - 0x7c]
or eax, dword [ebp - 0x78]
je 0x10058895
mov cl, 1
jmp 0x10058897
xor cl, cl
mov eax, dword [ebp - 4]
mov byte [eax + 0x4a], cl
test edi, edi
je 0x1005856f
jmp 0x10058414
cmp bl, 0x78
jne case.0x10058499.18
lea eax, [ebp - 0x84]
or esi, 0x400
push eax
push edi
call fcn.10039d60
mov edi, eax
add esp, 8
mov eax, dword [ebp - 0x84]
or eax, dword [ebp - 0x80]
je 0x100588da
mov cl, 1
jmp 0x100588dc
xor cl, cl
mov eax, dword [ebp - 4]
mov byte [eax + 0x42], cl
test edi, edi
je 0x1005856f
jmp 0x10058414
cmp bl, 0x82
jne case.0x10058499.18
mov ebx, dword [ebp - 4]
or dword [ebx + 8], 1
mov ecx, dword [ebx + 4]
test cl, 3
jne 0x1005890c
and ecx, 0xfffffffc
jmp 0x1005891d
mov eax, ecx
shr eax, 1
test al, 1
je 0x10058918
xor ecx, ecx
jmp 0x1005891d
and ecx, 0xfffffffc
mov ecx, dword [ecx]
push ecx
mov byte [ebp - 8], 0
lea ecx, [ebx + 0x20]
push dword [ebp - 8]
call fcn.10074750
mov ecx, dword [ebp + 0xc]
push ecx
push edi
push eax
call fcn.100af340
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1005856f
jmp 0x10058414
cmp bl, 0x88
jne case.0x10058499.18
lea eax, [ebp - 0x8c]
or esi, 0x800
push eax
push edi
call fcn.10039d60
mov edi, eax
add esp, 8
mov eax, dword [ebp - 0x8c]
or eax, dword [ebp - 0x88]
je 0x1005897d
mov cl, 1
jmp 0x1005897f
xor cl, cl
mov eax, dword [ebp - 4]
mov byte [eax + 0x43], cl
test edi, edi
je 0x1005856f
jmp 0x10058414
cmp bl, 0x98
jne case.0x10058499.18
lea eax, [ebp - 0x94]
push eax
push edi
call fcn.10039d60
mov edi, eax
add esp, 8
test edi, edi
je 0x1005856f
mov ebx, dword [ebp - 0x94]
cmp ebx, 4
ja case.default.0x100589c0
jmp dword [ebx*4 + 0x10058d4c]
mov ecx, dword [ebp - 4]
or dword [ecx + 8], 0x1000
mov dword [ecx + 0x44], ebx
jmp 0x10058414
mov ecx, dword [ebp - 4]
add ecx, 4
test byte [ecx], 1
je 0x10058a01
mov eax, dword [ecx]
push dword [ebp - 0x90]
and eax, 0xfffffffc
add eax, 4
push ebx
push 0x13
mov ecx, eax
call fcn.100b0960
jmp 0x10058414
call fcn.10039e10
push dword [ebp - 0x90]
mov ecx, eax
push ebx
push 0x13
call fcn.100b0960
jmp 0x10058414
cmp bl, 0xa0
jne case.0x10058499.18
lea eax, [ebp - 0x9c]
or esi, 0x2000
push eax
push edi
call fcn.10039d60
mov edi, eax
add esp, 8
mov eax, dword [ebp - 0x9c]
or eax, dword [ebp - 0x98]
je 0x10058a4e
mov cl, 1
jmp 0x10058a50
xor cl, cl
mov eax, dword [ebp - 4]
mov byte [eax + 0x48], cl
test edi, edi
je 0x1005856f
jmp 0x10058414
cmp bl, 0xaa
jne case.0x10058499.18
mov ebx, dword [ebp - 4]
or dword [ebx + 8], 2
mov eax, dword [ebx + 0x24]
test eax, eax
jne 0x10058aa4
mov ecx, dword [ebx + 4]
test cl, 3
jne 0x10058a87
and ecx, 0xfffffffc
jmp 0x10058a98
mov eax, ecx
shr eax, 1
test al, 1
je 0x10058a93
xor ecx, ecx
jmp 0x10058a98
and ecx, 0xfffffffc
mov ecx, dword [ecx]
push ecx
call fcn.1005e360
add esp, 4
mov dword [ebx + 0x24], eax
mov ecx, dword [ebp + 0xc]
push edi
push eax
call fcn.1005fb10
mov edi, eax
test edi, edi
je 0x1005856f
jmp 0x10058414
cmp bl, 0xb2
jne case.0x10058499.18
mov ebx, dword [ebp - 4]
or dword [ebx + 8], 4
mov eax, dword [ebx + 0x28]
test eax, eax
jne 0x10058afe
mov ecx, dword [ebx + 4]
test cl, 3
jne 0x10058ae1
and ecx, 0xfffffffc
jmp 0x10058af2
mov eax, ecx
shr eax, 1
test al, 1
je 0x10058aed
xor ecx, ecx
jmp 0x10058af2
and ecx, 0xfffffffc
mov ecx, dword [ecx]
push ecx
call fcn.1005e360
add esp, 4
mov dword [ebx + 0x28], eax
mov ecx, dword [ebp + 0xc]
push edi
push eax
call fcn.1005fb10
mov edi, eax
test edi, edi
je 0x1005856f
jmp 0x10058414
cmp bl, 0xba
jne case.0x10058499.18
mov ebx, dword [ebp - 4]
or dword [ebx + 8], 8
mov eax, dword [ebx + 0x2c]
test eax, eax
jne 0x10058b58
mov ecx, dword [ebx + 4]
test cl, 3
jne 0x10058b3b
and ecx, 0xfffffffc
jmp 0x10058b4c
mov eax, ecx
shr eax, 1
test al, 1
je 0x10058b47
xor ecx, ecx
jmp 0x10058b4c
and ecx, 0xfffffffc
mov ecx, dword [ecx]
push ecx
call fcn.1005e360
add esp, 4
mov dword [ebx + 0x2c], eax
mov ecx, dword [ebp + 0xc]
push edi
push eax
call fcn.1005fb10
mov edi, eax
test edi, edi
je 0x1005856f
jmp 0x10058414
cmp bl, 0xc2
jne case.0x10058499.18
mov ebx, dword [ebp - 4]
add edi, 0xfffffffe
lea eax, [edi + 2]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x10058ba7
mov ecx, dword [ebx + 0x14]
mov edx, dword [eax]
cmp ecx, edx
jge 0x10058ba2
mov edi, dword [eax + ecx*4 + 4]
lea eax, [ecx + 1]
mov dword [ebx + 0x14], eax
jmp 0x10058bd3
cmp edx, dword [ebx + 0x18]
jne 0x10058bb7
mov eax, dword [ebx + 0x18]
lea ecx, [ebx + 0x10]
inc eax
push eax
call fcn.10076590
mov eax, dword [ebx + 0x1c]
inc dword [eax]
push dword [ebx + 0x10]
call fcn.1005e360
mov edx, dword [ebx + 0x14]
mov edi, eax
mov ecx, dword [ebx + 0x1c]
add esp, 4
mov dword [ecx + edx*4 + 4], edi
inc dword [ebx + 0x14]
push dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
push edi
call fcn.1005fb10
mov edi, eax
test edi, edi
je 0x1005856f
mov eax, dword [ebp + 0xc]
cmp edi, dword [eax]
jae 0x1005841b
mov ax, word [edi]
lea ecx, [ebp + 8]
mov word [ebp + 8], 0x1c2
cmp ax, word [ecx]
je 0x10058b80
jmp 0x10058414
cmp bl, 0xc8
jne case.0x10058499.18
lea eax, [ebp - 0xa4]
or esi, 0x4000
push eax
push edi
call fcn.10039d60
mov edi, eax
add esp, 8
mov eax, dword [ebp - 0xa4]
or eax, dword [ebp - 0xa0]
je 0x10058c3d
mov cl, 1
jmp 0x10058c3f
xor cl, cl
mov eax, dword [ebp - 4]
mov byte [eax + 0x49], cl
test edi, edi
je 0x1005856f
jmp 0x10058414
mov eax, ebx
and al, 7
cmp al, 4
je 0x10058cb9
test ebx, ebx
je 0x10058cb9
mov ecx, dword [ebp - 4]
add ecx, 4
test byte [ecx], 1
je 0x10058c73
mov eax, dword [ecx]
and eax, 0xfffffffc
add eax, 4
jmp 0x10058c78
call fcn.10039e10
mov ecx, dword [ebp + 0xc]
push ecx
push edi
push eax
push 0
push ebx
call fcn.100b11f0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1005856f
jmp 0x10058414
test ecx, ecx
jle 0x10058571
xor ecx, ecx
cmp dword [eax + 8], ecx
mov eax, dword [ebp - 4]
cmove edi, ecx
or dword [eax + 8], esi
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp + 0xc]
lea eax, [ebx - 1]
mov dword [ecx + 0x3c], eax
mov eax, dword [ebp - 4]
or dword [eax + 8], esi
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8