Function at 0x1003617e
Capabilities:
Check http status code

Disassembly:
sub esp, 0x28
and dword [esp + 0x24], 0
push ebx
push ebp
mov ebp, dword [esp + 0x38]
push esi
push edi
mov edi, dword [esp + 0x3c]
push edi
mov eax, dword [edi + ebp*4 + 0x1a8]
mov esi, dword [edi]
mov ebx, dword [edi + 0x778]
mov dword [esp + 0x30], eax
xor eax, eax
mov dword [esp + 0x14], eax
call fcn.10036b39
pop ecx
test eax, eax
je 0x100361bd
xor eax, eax
jmp 0x10036b31
and dword [edi + 0x428], 0
mov dword [esp + 0x30], 0x64
xor eax, eax
inc eax
cmp dword [ebx + 0x401c], 0
jne 0x10036432
push dword [esp + 0x48]
push dword [esp + 0x48]
push str.Establish_HTTP_proxy_tunnel_to__s:_hu_n
push esi
call fcn.100346c5
push dword [esi + 0x148]
call dword [0x10098344]
and dword [esi + 0x148], 0
add esp, 0x14
call fcn.1003a96b
mov ebp, eax
mov dword [esp + 0x3c], ebp
test ebp, ebp
je 0x100369f3
push dword [esp + 0x48]
push dword [esp + 0x48]
push str._s:_hu
call fcn.1003ed4f
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
je 0x10036a05
push 1
push eax
push str.CONNECT
push edi
call fcn.1003b400
push dword [esp + 0x28]
mov ebp, eax
call dword [0x10098344]
add esp, 0x14
test ebp, ebp
jne 0x1003640c
and dword [esp + 0x14], ebp
cmp dword [edi + 0xf0], 1
mov ebp, dword [esp + 0x44]
mov edx, dword [edi + 0x3e8]
mov ecx, 0x100923f6
mov dword [esp + 0x18], ecx
mov eax, 0x10082cdc
mov ecx, 0x10082ce0
cmovne eax, ecx
mov dword [esp + 0x24], eax
cmp ebp, dword [edi + 0xa0]
je 0x100362a7
push 0x3a
push ebp
call fcn.1005fe10
mov edx, eax
neg edx
pop ecx
sbb edx, edx
pop ecx
neg edx
push dword [esp + 0x48]
test edx, edx
mov eax, 0x100923f6
mov ecx, 0x10082490
cmove ecx, eax
push ecx
mov ecx, 0x100923f6
mov eax, 0x10082494
push ebp
cmove eax, ecx
push eax
push str._s_s_s:_hu
call fcn.1003ed4f
mov ebp, eax
add esp, 0x14
mov dword [esp + 0x28], ebp
test ebp, ebp
je 0x100369fa
push str.Host:
push edi
call fcn.1003ae68
pop ecx
pop ecx
test eax, eax
jne 0x1003630f
push ebp
push str.Host:__s_r_n
call fcn.1003ed4f
pop ecx
pop ecx
mov dword [esp + 0x14], eax
test eax, eax
je 0x100369e1
push str.Proxy_Connection:
push edi
call fcn.1003ae68
test eax, eax
mov eax, 0x100923f6
mov ecx, str.Proxy_Connection:_Keep_Alive_r_n
cmovne ecx, eax
push str.User_Agent:
push edi
mov dword [esp + 0x30], ecx
call fcn.1003ae68
add esp, 0x10
test eax, eax
jne 0x10036351
cmp dword [esi + 0x4e4], eax
je 0x10036351
mov eax, dword [edi + 0x488]
mov dword [esp + 0x18], eax
push dword [esp + 0x20]
mov eax, dword [edi + 0x484]
push dword [esp + 0x1c]
mov edx, 0x100923f6
test eax, eax
mov ecx, edx
cmovne ecx, eax
push ecx
mov ecx, dword [esp + 0x20]
mov eax, edx
test ecx, ecx
cmovne eax, ecx
push eax
push dword [esp + 0x34]
push ebp
push str.CONNECT__s_HTTP__s_r_n_s_s_s_s
push dword [esp + 0x58]
call fcn.1003ab1e
mov ebp, eax
mov eax, dword [esp + 0x34]
add esp, 0x20
test eax, eax
je 0x100363a0
push eax
call dword [0x10098344]
pop ecx
push dword [esp + 0x28]
call dword [0x10098344]
pop ecx
test ebp, ebp
jne 0x100363f5
push dword [esp + 0x3c]
push 1
push edi
call fcn.1003ab7a
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x100363f5
push 0x100820fc
push dword [esp + 0x40]
call fcn.1003ab1e
mov ebp, eax
pop ecx
pop ecx
test ebp, ebp
jne 0x100363f5
push dword [esp + 0x40]
push eax
lea eax, [esi + 0x4b58]
push eax
push edi
push dword [esp + 0x4c]
call fcn.1003a978
add esp, 0x14
mov ebp, eax
xor eax, eax
mov dword [esp + 0x3c], eax
test ebp, ebp
je 0x10036410
push str.Failed_sending_CONNECT_to_proxy
push esi
call fcn.10034609
pop ecx
pop ecx
mov eax, dword [esp + 0x3c]
push eax
call fcn.1003a94f
pop ecx
test ebp, ebp
jne 0x100366a1
xor eax, eax
inc eax
and dword [ebx + 0x4000], ebp
mov ebp, dword [esp + 0x40]
mov dword [ebx + 0x401c], eax
push eax
push 0
push esi
call fcn.10035596
add esp, 0xc
test edx, edx
jl 0x10036b21
jg 0x10036450
test eax, eax
je 0x10036b21
push ebp
push edi
call fcn.10034d8c
pop ecx
pop ecx
test eax, eax
je 0x100361b6
and dword [esp + 0x3c], 0
cmp dword [ebx + 0x4004], 0
je 0x10036959
lea edx, [ebx + 0x4000]
mov eax, dword [ebx + 0x400c]
cmp eax, edx
jae 0x10036a0f
lea ecx, [esp + 0x1c]
push ecx
push 1
push eax
push dword [esp + 0x38]
push edi
call fcn.10034738
mov ebp, eax
add esp, 0x14
cmp ebp, 0x51
je 0x100361b6
push edi
call fcn.1003d3d6
pop ecx
test eax, eax
jne 0x10036a08
test ebp, ebp
jne 0x1003694e
cmp dword [esp + 0x1c], ebp
jle 0x10036910
inc ebp
cmp dword [ebx + 0x4004], ebp
jle 0x10036568
mov ecx, dword [ebx + 0x4010]
mov edx, dword [ebx + 0x4014]
mov eax, ecx
or eax, edx
mov dword [ebx + 0x400c], ebx
je 0x1003652e
sub ecx, ebp
sbb edx, 0
mov dword [ebx + 0x4014], edx
xor edx, edx
mov dword [ebx + 0x4010], ecx
cmp dword [ebx + 0x4014], edx
jl 0x100368fe
jg 0x10036516
cmp ecx, edx
jbe 0x100368fe
lea edx, [ebx + 0x4000]
cmp dword [ebx + 0x4004], 0
jne 0x10036479
jmp 0x10036955
and dword [esp + 0x28], 0
lea eax, [esp + 0x28]
push eax
push ebp
push ebx
push edi
call fcn.100521b4
add esp, 0x10
cmp eax, 0xffffffff
jne 0x10036516
push str.chunk_reading_DONE_n
push esi
call fcn.100346c5
and dword [ebx + 0x4004], 0
pop ecx
pop ecx
mov dword [ebx + 0x401c], 2
jmp 0x10036516
mov eax, dword [ebx + 0x400c]
lea edx, [ebx + 0x4000]
inc dword [edx]
cmp byte [eax], 0xa
je 0x10036584
inc eax
mov dword [ebx + 0x400c], eax
jmp 0x1003651c
cmp dword [esi + 0x3fc], 0
je 0x100365a6
push edi
push dword [edx]
push dword [ebx + 0x4008]
push ebp
push esi
call fcn.10034549
add esp, 0x14
lea edx, [ebx + 0x4000]
cmp dword [esi + 0x59c], 0
jne 0x100365df
cmp dword [esi + 0x3e4], 0
push 2
pop eax
push 3
pop ecx
push dword [edx]
cmovne eax, ecx
push dword [ebx + 0x4008]
push eax
push edi
call fcn.1003451c
add esp, 0x10
test eax, eax
jne 0x10036b31
lea edx, [ebx + 0x4000]
mov eax, dword [edx]
add dword [esi + 0x4b54], eax
mov eax, dword [edx]
add dword [esi + 0xa0], eax
mov ecx, dword [ebx + 0x4008]
mov al, byte [ecx]
cmp al, 0xd
je 0x10036803
cmp al, 0xa
je 0x10036803
mov eax, dword [edx]
push 0x11
mov byte [ecx + eax], 0
push dword [ebx + 0x4008]
push str.WWW_Authenticate:
call fcn.1003e4b9
add esp, 0xc
test eax, eax
je 0x10036633
mov eax, dword [esi + 0xf8]
cmp eax, 0x191
je 0x10036659
push 0x13
push dword [ebx + 0x4008]
push str.Proxy_authenticate:
call fcn.1003e4b9
add esp, 0xc
test eax, eax
je 0x100366a8
mov eax, dword [esi + 0xf8]
cmp eax, 0x197
jne 0x100366a8
push dword [ebx + 0x4008]
xor ecx, ecx
cmp eax, 0x197
sete cl
mov dword [esp + 0x2c], ecx
call fcn.1003afab
pop ecx
mov dword [esp + 0x24], eax
test eax, eax
je 0x100369f3
push eax
push dword [esp + 0x2c]
push edi
call fcn.1003b1ea
push dword [esp + 0x30]
mov ebp, eax
call dword [0x10098344]
add esp, 0x10
test ebp, ebp
je 0x100367e9
mov eax, ebp
jmp 0x10036b31
push 0xf
push dword [ebx + 0x4008]
push str.Content_Length:
call fcn.1003e4b9
add esp, 0xc
test eax, eax
je 0x1003670c
mov ecx, dword [esi + 0xf8]
mov eax, ecx
push 0x64
cdq
pop ebp
idiv ebp
cmp eax, 2
jne 0x100366e5
push ecx
push str.Ignoring_Content_Length_in_CONNECT__03d_response_n
push esi
call fcn.100346c5
jmp 0x10036795
mov eax, dword [ebx + 0x4008]
push 0xa
add eax, 0xf
push 0
push eax
call fcn.1006069a
add esp, 0xc
mov dword [ebx + 0x4010], eax
mov dword [ebx + 0x4014], edx
jmp 0x100367e9
push str.close
push str.Connection:
push dword [ebx + 0x4008]
call fcn.1003af08
add esp, 0xc
test eax, eax
jne 0x100367b6
push 0x12
push dword [ebx + 0x4008]
push str.Transfer_Encoding:
call fcn.1003e4b9
add esp, 0xc
test eax, eax
je 0x1003679a
mov ecx, dword [esi + 0xf8]
mov eax, ecx
cdq
idiv dword [esp + 0x30]
cmp eax, 2
jne 0x10036762
push ecx
push str.Ignoring_Transfer_Encoding_in_CONNECT__03d_response_n
jmp 0x100366da
push str.chunked
push str.Transfer_Encoding:
push dword [ebx + 0x4008]
call fcn.1003af08
add esp, 0xc
test eax, eax
je 0x100367e9
push str.CONNECT_responded_chunked_n
push esi
call fcn.100346c5
push edi
mov dword [ebx + 0x4018], ebp
call fcn.100521a4
add esp, 0xc
jmp 0x100367e9
push str.close
push str.Proxy_Connection:
push dword [ebx + 0x4008]
call fcn.1003af08
add esp, 0xc
test eax, eax
je 0x100367bc
mov dword [esp + 0x10], ebp
jmp 0x100367e9
lea ebp, [esi + 0xf8]
push ebp
lea eax, [esp + 0x38]
push eax
push str.HTTP_1._d__d
push dword [ebx + 0x4008]
call fcn.1005fd76
add esp, 0x10
cmp eax, 2
jne 0x100367e9
mov eax, dword [ebp]
mov dword [esi + 0x4b44], eax
lea edx, [ebx + 0x4000]
mov dword [ebx + 0x400c], ebx
and dword [edx], 0
mov dword [ebx + 0x4008], ebx
jmp 0x1003651c
mov dword [ebx + 0x400c], ebx
cmp dword [esi + 0xf8], 0x197
jne 0x100368f2
cmp dword [esi + 0x48c4], 0
jne 0x100368f2
mov ecx, dword [ebx + 0x4010]
mov edx, dword [ebx + 0x4014]
mov eax, ecx
or eax, edx
mov dword [ebx + 0x4004], 2
je 0x10036879
push edx
push ecx
push str.Ignore__I64d_bytes_of_response_body_n
push esi
call fcn.100346c5
add esp, 0x10
lea edx, [ebx + 0x4000]
mov eax, dword [ebx + 0x4010]
or eax, dword [ebx + 0x4014]
jne 0x1003651c
mov dword [ebx + 0x401c], 2
jmp 0x1003651c
cmp dword [ebx + 0x4018], 0
je 0x100368e6
push str.Ignore_chunked_response_body_n
push esi
call fcn.100346c5
mov dword [esi + 0x13c], ebp
mov eax, dword [ebx + 0x4008]
inc eax
pop ecx
cmp byte [eax], 0xa
pop ecx
jne 0x100368a7
mov dword [ebx + 0x4008], eax
lea eax, [esp + 0x1c]
push eax
mov eax, dword [ebx + 0x4008]
push ebp
inc eax
push eax
push edi
call fcn.100521b4
add esp, 0x10
cmp eax, 0xffffffff
jne 0x10036852
push str.chunk_reading_DONE_n
push esi
call fcn.100346c5
and dword [ebx + 0x4004], 0
pop ecx
pop ecx
mov dword [ebx + 0x401c], 2
jmp 0x10036852
and dword [ebx + 0x4004], 0
jmp 0x10036852
and dword [ebx + 0x4004], 0
jmp 0x10036858
mov dword [ebx + 0x4004], edx
mov dword [ebx + 0x401c], 2
jmp 0x10036955
cmp dword [esi + 0x190], 0
je 0x10036939
cmp dword [esi + 0x48b4], 0
je 0x10036939
push str.Proxy_CONNECT_connection_closed_n
push esi
mov dword [edi + 0x428], 1
call fcn.100346c5
jmp 0x1003694c
push str.Proxy_CONNECT_aborted
push esi
mov dword [esp + 0x44], 1
call fcn.10034609
pop ecx
pop ecx
and dword [ebx + 0x4004], 0
mov ebp, dword [esp + 0x40]
push edi
call fcn.1003d3d6
pop ecx
test eax, eax
jne 0x10036a08
cmp dword [esp + 0x3c], eax
jne 0x10036a1c
cmp dword [esi + 0x4b44], 0xc8
je 0x100369a4
push edi
call fcn.1003b049
pop ecx
test eax, eax
jne 0x10036b31
mov eax, dword [esp + 0x10]
cmp dword [edi + 0x3c4], 0
push 1
pop ecx
cmovne eax, ecx
mov dword [esp + 0x10], eax
jmp 0x100369ab
mov eax, dword [esp + 0x10]
xor ecx, ecx
inc ecx
test eax, eax
je 0x100369b8
cmp dword [esi + 0x148], 0
jne 0x10036a23
cmp dword [esi + 0x148], 0
je 0x10036a3a
cmp dword [ebx + 0x401c], 2
jne 0x100369d3
push ecx
push edi
call fcn.10036d18
pop ecx
pop ecx
cmp dword [esi + 0x148], 0
je 0x10036a3a
jmp 0x100361cc
push ebp
call dword [0x10098344]
push dword [esp + 0x40]
call fcn.1003a94f
pop ecx
pop ecx
push 0x1b
jmp 0x10036b30
push dword [esp + 0x3c]
call fcn.1003a94f
jmp 0x100369f2
push ebp
jmp 0x100369fe
push 0x2a
jmp 0x10036b30
push str.CONNECT_response_too_large_
push esi
call fcn.10034609
pop ecx
pop ecx
push 0x38
jmp 0x10036b30
push dword [edi + ebp*4 + 0x1a8]
push edi
call fcn.10034d39
or dword [edi + ebp*4 + 0x1a8], 0xffffffff
pop ecx
pop ecx
cmp dword [esi + 0xf8], 0xc8
je 0x10036ada
mov eax, dword [esp + 0x10]
test eax, eax
je 0x10036a7a
cmp dword [esi + 0x148], 0
je 0x10036a7a
xor eax, eax
inc eax
push str.Connect_me_again_please_n
push esi
mov dword [edi + 0x428], eax
call fcn.100346c5
push edi
call fcn.10036cf5
add esp, 0xc
jmp 0x10036aad
push dword [esi + 0x148]
call dword [0x10098344]
and dword [esi + 0x148], 0
push 2
push edi
call fcn.10034e1b
push dword [edi + ebp*4 + 0x1a8]
push edi
call fcn.10034d39
add esp, 0x14
or dword [edi + ebp*4 + 0x1a8], 0xffffffff
and dword [ebx + 0x401c], 0
cmp dword [edi + 0x428], 0
jne 0x100361b6
push dword [esi + 0xf8]
push str.Received_HTTP_code__d_from_proxy_after_CONNECT
push esi
call fcn.10034609
add esp, 0xc
jmp 0x10036a1c
mov dword [ebx + 0x401c], 2
push dword [edi + 0x484]
call dword [0x10098344]
xor eax, eax
xor ebx, ebx
inc eax
mov dword [edi + 0x484], ebx
mov dword [esp], str.Proxy_replied_OK_to_CONNECT_request_n
push esi
mov dword [esi + 0x48b8], eax
call fcn.100346c5
pop ecx
mov dword [esi + 0x13c], ebx
pop ecx
mov dword [edi + 0x40c], ebx
jmp 0x100361b6
push str.Proxy_CONNECT_aborted_due_to_timeout
push esi
call fcn.10034609
pop ecx
pop ecx
push 0x1c
pop eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret