Function at 0x10056880
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x2c], 0
mov ebx, dword [edi + 0xc]
mov ecx, ebx
mov dword [esp + 0x10], ebx
mov eax, dword [ebx + 0x148]
mov esi, dword [ebx + 0x43c]
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x134]
mov dword [esp + 0x1c], eax
call fcn.100574d0
test al, al
jne 0x10057225
mov byte [ebx + 0x25c], al
nop dword [eax]
cmp dword [esi + 0x1f0], 0
jne 0x10056acd
push dword [edi + 0x128]
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
call dword [0x100849b8]
add esp, 4
mov dword [edi + 0x128], 0
mov edx, 0x100000
lea ecx, [esi + 0x1cc]
call fcn.1003f020
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x18]
mov edx, ebx
push eax
push dword [ebp + 0xc]
mov ecx, edi
push dword [ebp + 8]
call fcn.10057260
add esp, 0x10
test eax, eax
jne 0x10057227
push 1
push dword [esp + 0x18]
mov edx, ebx
mov ecx, edi
push eax
push str.CONNECT
call fcn.100608e0
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x10056a9d
mov eax, dword [esp + 0x10]
mov edx, 0x100872a8
mov ecx, 0x1008b8ca
cmp dword [eax + 0xb4], 1
mov eax, 0x100872a4
cmovne edx, eax
mov eax, dword [edi + 0xc6c]
test eax, eax
cmovne ecx, eax
mov eax, 0x1008b8c9
push ecx
mov ecx, dword [esp + 0x1c]
test ecx, ecx
cmovne eax, ecx
push eax
push edx
push dword [esp + 0x20]
lea eax, [esi + 0x1cc]
push str.CONNECT__s_HTTP__s_r_n_s_s
push eax
call fcn.1003eea0
mov ebx, eax
add esp, 0x18
test ebx, ebx
jne 0x10056a8f
mov edx, dword [esp + 0x10]
mov ecx, edi
push 0xa
push 0x1008727c
call fcn.100603e0
add esp, 8
test eax, eax
jne 0x100569fd
mov eax, dword [edi + 0x590]
test eax, eax
je 0x100569fd
push eax
lea eax, [esi + 0x1cc]
push 0x10087268
push eax
call fcn.1003eea0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x10056a8f
mov edx, dword [esp + 0x10]
mov ecx, edi
push 0x10
push 0x10087254
call fcn.100603e0
add esp, 8
test eax, eax
jne 0x10056a31
push 0x1e
mov edx, 0x10087234
lea ecx, [esi + 0x1cc]
call fcn.1003efd0
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x10056a8f
lea eax, [esi + 0x1cc]
mov dl, 1
push eax
mov ecx, edi
call fcn.10060ae0
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x10056a8f
push 2
mov edx, 0x10087230
lea ecx, [esi + 0x1cc]
call fcn.1003efd0
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x10056a8f
push ecx
push eax
push eax
lea eax, [edi + 0xcd8]
mov edx, edi
push eax
lea ecx, [esi + 0x1cc]
call fcn.10060160
mov ebx, eax
mov dword [esi + 0x1e0], 0
add esp, 0x10
test ebx, ebx
je 0x10056a9d
push str.Failed_sending_CONNECT_to_proxy
push edi
call fcn.10044190
add esp, 8
push dword [esp + 0x18]
call dword [0x100849b8]
add esp, 4
push dword [esp + 0x14]
call dword [0x100849b8]
add esp, 4
test ebx, ebx
jne 0x10057101
mov ebx, dword [esp + 0x10]
mov dword [esi + 0x1f0], 1
push 1
xor edx, edx
mov ecx, edi
call fcn.10045b90
add esp, 4
test edx, edx
jl 0x1005723a
jg 0x10056aed
test eax, eax
je 0x1005723a
mov ecx, ebx
call fcn.100443e0
mov ecx, dword [esp + 0x1c]
test al, al
jne 0x10056b09
cmp dword [ecx + 0x1a0], 0
je 0x10057225
cmp dword [ecx + 0x1a0], 1
jne 0x10056b65
mov eax, dword [esi + 0x1dc]
test eax, eax
jne 0x1005710a
mov eax, dword [edi + 0x898]
mov ecx, edi
mov dword [edi + 0x130], eax
lea eax, [esp + 0x24]
mov edx, dword [edi + 0x4c4]
push eax
call fcn.100584a0
add esp, 4
test eax, eax
jne 0x10057227
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x1dc], eax
test eax, eax
jne 0x1005710a
mov dword [ecx + 0x1a0], eax
cmp dword [esi + 0x1e4], 0
mov dword [esp + 0x14], 0
je 0x10056c1e
nop word [eax + eax]
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x13]
mov ecx, edi
push 1
push eax
call fcn.100440c0
mov ebx, eax
add esp, 0xc
cmp ebx, 0x51
je 0x10057225
mov ecx, edi
call fcn.100563c0
test eax, eax
jne 0x1005722e
test ebx, ebx
jne 0x10056c10
cmp dword [esp + 0x20], ebx
jle 0x1005706c
cmp dword [esi + 0x1e4], 2
jne 0x10056d16
mov ecx, dword [esi + 0x1e8]
mov eax, ecx
mov edx, dword [esi + 0x1ec]
or eax, edx
je 0x10056cdc
sub ecx, 1
mov dword [esi + 0x1e8], ecx
sbb edx, ebx
mov dword [esi + 0x1ec], edx
js 0x10056c06
jg 0x1005705a
test ecx, ecx
jne 0x1005705a
mov dword [esi + 0x1f0], 2
mov dword [esi + 0x1e4], 0
mov ebx, dword [esp + 0x10]
mov ecx, edi
call fcn.100563c0
test eax, eax
jne 0x1005722e
cmp dword [esp + 0x14], eax
jne 0x10057171
mov eax, dword [edi + 0xcbc]
sub eax, 0xc8
cmp eax, 0x64
jb 0x10056c65
mov ecx, edi
call fcn.10060450
test eax, eax
jne 0x10057227
cmp byte [ebx + 0x25e], al
je 0x10056c65
mov byte [esi + 0x1f5], 1
cmp byte [esi + 0x1f5], 0
je 0x100570ca
cmp dword [edi + 0x128], 0
je 0x100570ee
push dword [ebx + 0x148]
mov edx, ebx
mov ecx, edi
call fcn.10044530
add esp, 4
mov dword [ebx + 0x148], 0xffffffff
mov eax, dword [edi + 0xcbc]
sub eax, 0xc8
cmp eax, 0x64
jb 0x100571e0
cmp byte [esi + 0x1f5], 0
je 0x1005717d
cmp dword [edi + 0x128], 0
je 0x1005717d
mov ecx, edi
mov byte [ebx + 0x25c], 1
call fcn.10057520
jmp 0x100571a2
lea eax, [esp + 0x30]
mov dword [esp + 0x18], 0
push eax
lea eax, [esp + 0x1c]
mov ecx, edi
push eax
push 1
lea edx, [esp + 0x1b]
call fcn.100667a0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x1005705a
mov dword [esi + 0x1e4], 0
jmp 0x10057050
push 1
lea edx, [esp + 0x13]
lea ecx, [esi + 0x1bc]
call fcn.1003efd0
add esp, 4
test eax, eax
jne 0x10057163
cmp byte [esp + 0xf], 0xa
jne 0x1005705a
inc dword [esi + 0x1e0]
lea ecx, [esi + 0x1bc]
call fcn.1003f010
lea ecx, [esi + 0x1bc]
mov ebx, eax
call fcn.1003f040
push eax
push ebx
mov edx, 1
mov dword [esp + 0x20], eax
mov ecx, edi
call fcn.10043990
add esp, 8
cmp byte [edi + 0x6c5], 0
jne 0x10056db0
push dword [esp + 0x18]
xor edx, edx
mov ecx, edi
cmp byte [edi + 0x6ad], dl
push ebx
setne dl
xor eax, eax
cmp dword [esi + 0x1e0], 1
sete al
lea eax, [eax*4 + 0xa]
or edx, eax
call fcn.10044250
add esp, 8
test eax, eax
jne 0x10057227
mov eax, dword [esp + 0x18]
cdq
add dword [edi + 0xcd0], eax
adc dword [edi + 0xcd4], edx
mov al, byte [ebx]
cmp al, 0xd
je 0x10056fb0
cmp al, 0xa
je 0x10056fb0
push 0x11
mov edx, 0x100871a0
mov ecx, ebx
call fcn.1004fbd0
add esp, 4
test eax, eax
je 0x10056df9
mov eax, dword [edi + 0xf0]
mov dword [esp + 0x18], eax
cmp eax, 0x191
je 0x10056e1f
push 0x13
mov edx, 0x1008718c
mov ecx, ebx
call fcn.1004fbd0
add esp, 4
test eax, eax
je 0x10056e70
mov eax, dword [edi + 0xf0]
mov dword [esp + 0x18], eax
cmp eax, 0x197
jne 0x10056e70
mov ecx, ebx
call fcn.10060a10
mov ebx, eax
test ebx, ebx
je 0x10057157
cmp dword [esp + 0x18], 0x197
mov ecx, edi
push ebx
sete dl
call fcn.10060650
add esp, 4
mov dword [esp + 0x18], eax
push ebx
call dword [0x100849b8]
mov eax, dword [esp + 0x1c]
add esp, 4
test eax, eax
jne 0x10057227
lea ecx, [esi + 0x1bc]
call fcn.1003eee0
jmp 0x1005705a
push 0xf
mov edx, 0x1008717c
mov ecx, ebx
call fcn.1004fbd0
add esp, 4
test eax, eax
je 0x10056ebf
mov eax, dword [edi + 0xf0]
sub eax, 0xc8
cmp eax, 0x64
jb 0x10056fa0
lea eax, [esi + 0x1e8]
xor edx, edx
push eax
push 0xa
lea ecx, [ebx + 0xf]
call fcn.10061b00
add esp, 8
lea ecx, [esi + 0x1bc]
call fcn.1003eee0
jmp 0x1005705a
push 5
push 0x10087174
push 0xb
mov edx, 0x10087168
mov ecx, ebx
call fcn.10060d90
add esp, 0xc
test al, al
jne 0x10056f99
push 0x12
mov edx, 0x10087154
mov ecx, ebx
call fcn.1004fbd0
add esp, 4
test eax, eax
je 0x10056f42
mov eax, dword [edi + 0xf0]
sub eax, 0xc8
cmp eax, 0x64
jb 0x10056fa0
push 7
push 0x1008714c
push 0x12
mov edx, 0x10087138
mov ecx, ebx
call fcn.10060d90
add esp, 0xc
test al, al
je 0x10056fa0
mov ecx, edi
mov byte [esi + 0x1f4], 1
call fcn.10066b50
lea ecx, [esi + 0x1bc]
call fcn.1003eee0
jmp 0x1005705a
push 5
push 0x10087130
push 0x11
mov edx, 0x1008711c
mov ecx, ebx
call fcn.10060d90
add esp, 0xc
test al, al
jne 0x10056f99
lea eax, [edi + 0xf0]
push eax
lea eax, [esp + 0x30]
push eax
push str.HTTP_1._d__d
push ebx
call fcn.10001140
add esp, 0x10
cmp eax, 2
jne 0x10056fa0
mov eax, dword [edi + 0xf0]
lea ecx, [esi + 0x1bc]
mov dword [edi + 0xcbc], eax
call fcn.1003eee0
jmp 0x1005705a
mov byte [esi + 0x1f5], 1
lea ecx, [esi + 0x1bc]
call fcn.1003eee0
jmp 0x1005705a
cmp dword [edi + 0xf0], 0x197
jne 0x10057038
cmp byte [edi + 0xca9], 0
jne 0x10057038
mov eax, dword [esi + 0x1e8]
mov ecx, 2
or eax, dword [esi + 0x1ec]
mov dword [esi + 0x1e4], 2
jne 0x1005702a
cmp byte [esi + 0x1f4], al
je 0x10057022
lea eax, [ebx + 1]
mov byte [edi + 0x140], 1
cmp byte [eax], 0xa
mov ecx, edi
cmove ebx, eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x24]
push eax
push 1
lea edx, [ebx + 1]
call fcn.100667a0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10057030
mov dword [esi + 0x1f0], 2
xor ecx, ecx
mov dword [esi + 0x1e4], ecx
test ecx, ecx
jne 0x1005705a
jmp 0x10057042
mov ecx, dword [esi + 0x1e4]
jmp 0x1005702a
mov dword [esi + 0x1e4], 0
mov eax, dword [esi + 0x1e8]
or eax, dword [esi + 0x1ec]
jne 0x1005705a
mov dword [esi + 0x1f0], 2
cmp dword [esi + 0x1e4], 0
jne 0x10056b80
jmp 0x10056c1a
cmp dword [edi + 0x16c], 0
je 0x100570a1
cmp dword [edi + 0x950], 0
je 0x100570a1
cmp dword [edi + 0xc6c], 0
je 0x100570a1
mov ebx, dword [esp + 0x10]
mov byte [ebx + 0x25c], 1
mov dword [esi + 0x1e4], 0
jmp 0x10056c1e
push str.Proxy_CONNECT_aborted
push edi
mov dword [esp + 0x1c], 1
call fcn.10044190
mov ebx, dword [esp + 0x18]
add esp, 8
mov dword [esi + 0x1e4], 0
jmp 0x10056c1e
mov eax, dword [edi + 0x128]
test eax, eax
je 0x10056c9b
cmp dword [esi + 0x1f0], 2
jne 0x100568d0
mov dl, 1
mov ecx, edi
call fcn.10057320
mov eax, dword [edi + 0x128]
test eax, eax
jne 0x100568d0
jmp 0x10056c9b
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebx + 0x2bc]
lea ecx, [esp + 0x28]
push ecx
push eax
push dword [edi + 0x130]
mov ecx, edi
call fcn.10044130
mov ebx, dword [esp + 0x34]
add esp, 0xc
test eax, eax
jne 0x10057144
push ebx
push dword [edi + 0x130]
mov edx, 2
mov ecx, edi
call fcn.10043990
add esp, 8
sub dword [esi + 0x1dc], ebx
add dword [edi + 0x130], ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x1b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.CONNECT_response_too_large
push edi
call fcn.10044190
add esp, 8
mov eax, 0x38
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [edi + 0x128]
call dword [0x100849b8]
add esp, 4
mov dword [edi + 0x128], 0
mov edx, 2
mov ecx, ebx
call fcn.10045b40
mov dword [esi + 0x1f0], 0
cmp byte [ebx + 0x25c], 0
jne 0x10057225
lea ecx, [esi + 0x1bc]
call fcn.1003f050
push dword [edi + 0xf0]
push str.Received_HTTP_code__d_from_proxy_after_CONNECT
push edi
call fcn.10044190
add esp, 0xc
mov eax, 0x38
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esi + 0x1f0], 2
push dword [edi + 0xc6c]
call dword [0x100849b8]
add esp, 4
mov dword [edi + 0xc6c], 0
mov word [edi + 0x954], 1
lea ecx, [esi + 0x1bc]
mov byte [edi + 0x140], 0
mov byte [ebx + 0x269], 0
call fcn.1003f050
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x2a
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Proxy_CONNECT_aborted_due_to_timeout
push edi
call fcn.10044190
add esp, 8
mov eax, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret