Function at 0x10035f70
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
add eax, 0x6a
push esi
mov esi, dword [ebx + 0x778]
lea eax, [ebx + eax*4]
push edi
mov edi, dword [ebx]
mov dword [ebp - 0x10], eax
mov eax, dword [eax]
push ebx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], eax
mov dword [ebp - 8], 0
call fcn.10035de0
add esp, 4
test eax, eax
jne 0x100369d1
mov dword [ebx + 0x428], eax
mov dword [ebp - 0x20], 0x100b0d8a
cmp dword [esi + 0x401c], 0
jne 0x10036228
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push str.Establish_HTTP_proxy_tunnel_to__s:_hu_n
push edi
call fcn.100339d0
push dword [edi + 0x148]
call dword [0x100a4004]
add esp, 0x14
mov dword [edi + 0x148], 0
call fcn.10039670
mov ebx, eax
mov dword [ebp - 4], ebx
test ebx, ebx
je 0x10036895
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push str._s:_hu
call fcn.10040490
add esp, 0xc
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1003688c
push 1
push eax
push str.CONNECT
push dword [ebp + 8]
call fcn.1003c9f0
push dword [ebp - 0x18]
mov ebx, eax
call dword [0x100a4004]
add esp, 0x14
test ebx, ebx
jne 0x10036201
mov ecx, dword [ebp + 8]
mov edx, 0x100a58bc
cmp dword [ecx + 0xf0], 1
mov eax, 0x100a58b8
cmovne eax, edx
mov edx, dword [ecx + 0x3e8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x100b0d89
cmp eax, dword [ecx + 0xa0]
je 0x10036097
push 0x3a
push eax
call fcn.100655f0
add esp, 8
neg eax
sbb edx, edx
mov eax, dword [ebp + 0x10]
neg edx
push dword [ebp + 0x14]
test edx, edx
mov ecx, 0x100a58c0
cmove ecx, dword [ebp - 0x20]
push ecx
push eax
mov ecx, 0x100b0d8b
mov eax, 0x100a58c4
cmove eax, ecx
push eax
push str._s_s_s:_hu
call fcn.10040490
add esp, 0x14
mov dword [ebp - 0xc], eax
test eax, eax
je 0x1003686c
push 0x100a58d4
push dword [ebp + 8]
call fcn.10039600
add esp, 8
test eax, eax
jne 0x100360fe
push dword [ebp - 0xc]
push str.Host:__s_r_n
call fcn.10040490
mov ebx, eax
add esp, 8
mov dword [ebp - 0x18], ebx
test ebx, ebx
je 0x1003684c
push 0x100a58e8
push dword [ebp + 8]
call fcn.10039600
test eax, eax
mov eax, 0x100b0d88
mov ecx, 0x100a58fc
push 0x100a591c
push dword [ebp + 8]
cmovne ecx, eax
mov dword [ebp - 0x24], ecx
call fcn.10039600
add esp, 0x10
test eax, eax
jne 0x10036145
cmp dword [edi + 0x4e4], eax
je 0x10036145
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x488]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x24]
mov eax, dword [ebp + 8]
push dword [ebp - 0x14]
mov eax, dword [eax + 0x484]
test eax, eax
mov ecx, 0x100b0d8c
cmovne ecx, eax
push ecx
mov eax, 0x100b0d8d
test ebx, ebx
cmovne eax, ebx
push eax
push dword [ebp - 0x28]
push dword [ebp - 0xc]
push str.CONNECT__s_HTTP__s_r_n_s_s_s_s
push dword [ebp - 4]
call fcn.100396b0
mov ebx, eax
mov eax, dword [ebp - 0x18]
add esp, 0x20
test eax, eax
je 0x10036193
push eax
call dword [0x100a4004]
add esp, 4
push dword [ebp - 0xc]
call dword [0x100a4004]
add esp, 4
test ebx, ebx
jne 0x100361ea
push dword [ebp - 4]
push 1
push dword [ebp + 8]
call fcn.10039ad0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x100361ea
push 0x100a5948
push dword [ebp - 4]
call fcn.100396b0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x100361ea
push dword [ebp + 0xc]
push eax
lea eax, [edi + 0x4b58]
push eax
push dword [ebp + 8]
push dword [ebp - 4]
call fcn.100397f0
add esp, 0x14
mov ebx, eax
xor eax, eax
mov dword [ebp - 4], eax
test ebx, ebx
je 0x10036204
push str.Failed_sending_CONNECT_to_proxy
push edi
call fcn.10033a50
add esp, 8
mov eax, dword [ebp - 4]
push eax
call fcn.10039680
add esp, 4
test ebx, ebx
jne 0x10036883
mov dword [esi + 0x4000], ebx
mov ebx, dword [ebp + 8]
mov dword [esi + 0x401c], 1
push 1
push 0
push edi
call fcn.10034950
add esp, 0xc
test edx, edx
jl 0x100369da
jg 0x10036247
test eax, eax
je 0x100369da
push dword [ebp + 0xc]
push ebx
call fcn.10035070
add esp, 8
test eax, eax
je 0x100369d1
cmp dword [esi + 0x4004], 0
mov dword [ebp - 0x18], 0
je 0x1003676f
lea edx, [esi + 0x4000]
jmp 0x10036280
mov eax, dword [esi + 0x400c]
cmp eax, edx
jae 0x100368ad
lea ecx, [ebp - 0x1c]
push ecx
push 1
push eax
push dword [ebp - 0x2c]
push ebx
call fcn.10033e80
mov ebx, eax
add esp, 0x14
cmp ebx, 0x51
je 0x100369d1
push dword [ebp + 8]
call fcn.1003ddb0
add esp, 4
test eax, eax
jne 0x100368a1
test ebx, ebx
jne 0x10036762
cmp dword [ebp - 0x1c], ebx
jle 0x100367b7
cmp dword [esi + 0x4004], 1
jle 0x10036376
mov ecx, dword [esi + 0x4010]
mov edx, dword [esi + 0x4014]
mov eax, ecx
or eax, edx
mov dword [esi + 0x400c], esi
je 0x10036333
sub ecx, 1
sbb edx, ebx
mov dword [esi + 0x4010], ecx
mov dword [esi + 0x4014], edx
test edx, edx
jl 0x10036758
jg 0x10036318
test ecx, ecx
jbe 0x10036758
mov ebx, dword [ebp + 8]
lea edx, [esi + 0x4000]
cmp dword [esi + 0x4004], 0
jne 0x10036280
jmp 0x1003676f
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x28]
push eax
push 1
push esi
push ebx
mov dword [ebp - 0x28], 0
call fcn.10057d60
add esp, 0x10
cmp eax, 0xffffffff
jne 0x1003631b
push 0x100a59ec
push edi
call fcn.100339d0
add esp, 8
mov dword [esi + 0x4004], 0
mov dword [esi + 0x401c], 2
jmp 0x1003631b
mov eax, dword [esi + 0x400c]
inc dword [esi + 0x4000]
cmp byte [eax], 0xa
mov ebx, dword [ebp + 8]
lea edx, [esi + 0x4000]
je 0x10036399
inc eax
mov dword [esi + 0x400c], eax
jmp 0x10036321
cmp dword [edi + 0x3fc], 0
je 0x100363bc
push ebx
push dword [edx]
push dword [esi + 0x4008]
push 1
push edi
call fcn.10034030
add esp, 0x14
lea edx, [esi + 0x4000]
cmp dword [edi + 0x59c], 0
jne 0x100363f9
push dword [edx]
cmp dword [edi + 0x3e4], 0
push dword [esi + 0x4008]
mov ecx, 3
mov eax, 2
cmovne eax, ecx
push eax
push ebx
call fcn.10033ca0
add esp, 0x10
test eax, eax
jne 0x100369ed
lea edx, [esi + 0x4000]
mov eax, dword [edx]
add dword [edi + 0x4b54], eax
mov eax, dword [edx]
add dword [edi + 0xa0], eax
mov ecx, dword [esi + 0x4008]
mov al, byte [ecx]
cmp al, 0xd
je 0x1003664e
cmp al, 0xa
je 0x1003664e
mov eax, dword [edx]
push 0x11
mov byte [ecx + eax], 0
push dword [esi + 0x4008]
push 0x100a5a5c
call fcn.1003f500
add esp, 0xc
test eax, eax
je 0x1003644d
mov eax, dword [edi + 0xf8]
cmp eax, 0x191
je 0x10036473
push 0x13
push dword [esi + 0x4008]
push 0x100a5a70
call fcn.1003f500
add esp, 0xc
test eax, eax
je 0x100364c1
mov eax, dword [edi + 0xf8]
cmp eax, 0x197
jne 0x100364c1
push dword [esi + 0x4008]
xor ecx, ecx
cmp eax, 0x197
sete cl
mov dword [ebp - 0x28], ecx
call fcn.10039530
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10036895
push ebx
push dword [ebp - 0x28]
push dword [ebp + 8]
call fcn.1003b610
push ebx
mov dword [ebp - 0x28], eax
call dword [0x100a4004]
mov eax, dword [ebp - 0x28]
add esp, 0x10
test eax, eax
jne 0x100369ed
jmp 0x1003662e
push 0xf
push dword [esi + 0x4008]
push 0x100a5a84
call fcn.1003f500
add esp, 0xc
test eax, eax
je 0x10036531
mov ecx, dword [edi + 0xf8]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jne 0x1003650a
push ecx
push str.Ignoring_Content_Length_in_CONNECT__03d_response_n
push edi
call fcn.100339d0
add esp, 0xc
jmp 0x1003662e
mov eax, dword [esi + 0x4008]
push 0xa
add eax, 0xf
push 0
push eax
call fcn.10065e7a
add esp, 0xc
mov dword [esi + 0x4010], eax
mov dword [esi + 0x4014], edx
jmp 0x1003662e
push 0x100a5ac8
push 0x100a5ad0
push dword [esi + 0x4008]
call fcn.10039410
add esp, 0xc
test eax, eax
je 0x10036559
mov dword [ebp - 8], 1
jmp 0x1003662e
push 0x12
push dword [esi + 0x4008]
push 0x100a5adc
call fcn.1003f500
add esp, 0xc
test eax, eax
je 0x100365de
mov ecx, dword [edi + 0xf8]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jne 0x100365a2
push ecx
push str.Ignoring_Transfer_Encoding_in_CONNECT__03d_response_n
push edi
call fcn.100339d0
add esp, 0xc
jmp 0x1003662e
push 0x100a5b28
push 0x100a5b30
push dword [esi + 0x4008]
call fcn.10039410
add esp, 0xc
test eax, eax
je 0x1003662e
push str.CONNECT_responded_chunked_n
push edi
call fcn.100339d0
push ebx
mov dword [esi + 0x4018], 1
call fcn.10057d40
add esp, 0xc
jmp 0x1003662e
push 0x100a5b60
push 0x100a5b68
push dword [esi + 0x4008]
call fcn.10039410
add esp, 0xc
test eax, eax
je 0x10036603
mov dword [ebp - 8], 1
jmp 0x1003662e
lea ebx, [edi + 0xf8]
push ebx
lea eax, [ebp - 0x30]
push eax
push str.HTTP_1._d__d
push dword [esi + 0x4008]
call fcn.1006555c
add esp, 0x10
cmp eax, 2
jne 0x1003662e
mov eax, dword [ebx]
mov dword [edi + 0x4b44], eax
mov ebx, dword [ebp + 8]
lea edx, [esi + 0x4000]
mov dword [esi + 0x400c], esi
mov dword [edx], 0
mov dword [esi + 0x4008], esi
jmp 0x10036321
mov dword [esi + 0x400c], esi
cmp dword [edi + 0xf8], 0x197
jne 0x10036749
cmp dword [edi + 0x48c4], 0
jne 0x10036749
mov edx, dword [esi + 0x4010]
mov ecx, dword [esi + 0x4014]
mov eax, edx
or eax, ecx
mov dword [esi + 0x4004], 2
je 0x100366c4
push ecx
push edx
push str.Ignore__I64d_bytes_of_response_body_n
push edi
call fcn.100339d0
add esp, 0x10
lea edx, [esi + 0x4000]
mov eax, dword [esi + 0x4010]
or eax, dword [esi + 0x4014]
jne 0x10036321
mov dword [esi + 0x401c], 2
jmp 0x10036321
cmp dword [esi + 0x4018], 0
je 0x1003673a
push str.Ignore_chunked_response_body_n
push edi
call fcn.100339d0
mov dword [edi + 0x13c], 1
mov eax, dword [esi + 0x4008]
inc eax
add esp, 8
cmp byte [eax], 0xa
jne 0x100366f7
mov dword [esi + 0x4008], eax
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [esi + 0x4008]
push 1
inc eax
push eax
push ebx
call fcn.10057d60
add esp, 0x10
cmp eax, 0xffffffff
jne 0x1003669d
push str.chunk_reading_DONE_n
push edi
call fcn.100339d0
add esp, 8
mov dword [esi + 0x4004], 0
mov dword [esi + 0x401c], 2
jmp 0x1003669d
mov dword [esi + 0x4004], 0
jmp 0x1003669d
mov dword [esi + 0x4004], 0
jmp 0x100366a3
mov dword [esi + 0x401c], 2
mov ebx, dword [ebp + 8]
mov dword [esi + 0x4004], 0
push ebx
call fcn.1003ddb0
add esp, 4
test eax, eax
jne 0x100368a1
cmp dword [ebp - 0x18], eax
jne 0x10036979
cmp dword [edi + 0x4b44], 0xc8
je 0x10036806
push ebx
call fcn.1003b860
add esp, 4
test eax, eax
jne 0x100369ed
cmp dword [ebx + 0x3c4], eax
je 0x10036806
mov dword [ebp - 8], 1
jmp 0x1003680c
cmp dword [edi + 0x190], 0
je 0x100367e9
cmp dword [edi + 0x48b4], 0
je 0x100367e9
mov ebx, dword [ebp + 8]
push str.Proxy_CONNECT_connection_closed_n
push edi
mov dword [ebx + 0x428], 1
call fcn.100339d0
add esp, 8
jmp 0x10036765
push str.Proxy_CONNECT_aborted
push edi
mov dword [ebp - 0x18], 1
call fcn.10033a50
mov ebx, dword [ebp + 8]
add esp, 8
jmp 0x10036765
cmp dword [ebp - 8], 0
je 0x10036819
cmp dword [edi + 0x148], 0
jne 0x100368c7
cmp dword [edi + 0x148], 0
je 0x100368de
cmp dword [esi + 0x401c], 2
jne 0x1003683a
push 1
push ebx
call fcn.10035eb0
add esp, 8
cmp dword [edi + 0x148], 0
jne 0x10035fc1
jmp 0x100368de
push dword [ebp - 0xc]
call dword [0x100a4004]
push dword [ebp - 4]
call fcn.10039680
add esp, 8
mov eax, 0x1b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp - 4]
call fcn.10039680
add esp, 4
mov eax, 0x1b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
call fcn.10039680
add esp, 4
pop edi
pop esi
mov eax, 0x1b
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0x2a
pop ebx
mov esp, ebp
pop ebp
ret
push str.CONNECT_response_too_large_
push edi
call fcn.10033a50
add esp, 8
mov eax, 0x38
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x10]
push dword [eax]
push ebx
call fcn.10034e80
mov eax, dword [ebp - 0x10]
add esp, 8
mov dword [eax], 0xffffffff
cmp dword [edi + 0xf8], 0xc8
je 0x10036985
cmp dword [ebp - 8], 0
je 0x1003691d
cmp dword [edi + 0x148], 0
je 0x1003691d
push str.Connect_me_again_please_n
push edi
mov dword [ebx + 0x428], 1
call fcn.100339d0
push ebx
call fcn.10035f40
add esp, 0xc
jmp 0x10036952
push dword [edi + 0x148]
call dword [0x100a4004]
push 2
push ebx
mov dword [edi + 0x148], 0
call fcn.10035010
mov eax, dword [ebp - 0x10]
push dword [eax]
push ebx
call fcn.10034e80
mov eax, dword [ebp - 0x10]
add esp, 0x14
mov dword [eax], 0xffffffff
mov dword [esi + 0x401c], 0
cmp dword [ebx + 0x428], 0
jne 0x100369d1
push dword [edi + 0xf8]
push str.Received_HTTP_code__d_from_proxy_after_CONNECT
push edi
call fcn.10033a50
add esp, 0xc
pop edi
pop esi
mov eax, 0x38
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esi + 0x401c], 2
push dword [ebx + 0x484]
call dword [0x100a4004]
push str.Proxy_replied_OK_to_CONNECT_request_n
mov dword [ebx + 0x484], 0
push edi
mov dword [edi + 0x48b8], 1
call fcn.100339d0
mov dword [edi + 0x13c], 0
add esp, 0xc
mov dword [ebx + 0x40c], 0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push str.Proxy_CONNECT_aborted_due_to_timeout
push edi
call fcn.10033a50
mov eax, 0x1c
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret