Function at 0x101ac170
Capabilities:
Check http status code
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x3c
push ebx
push ebp
push esi
mov esi, eax
mov eax, dword [esp + 0x4c]
xor ebp, ebp
push edi
mov edi, dword [esi + 0xc]
mov dword [esp + 0x30], ebp
mov ebx, dword [edi + 0x458]
mov ecx, dword [edi + eax*4 + 0x158]
mov dword [esp + 0x14], edi
mov dword [esp + 0x2c], ecx
cmp ebx, ebp
je 0x101aca7d
cmp dword [ebx + 0x20], 2
je 0x101aca7d
mov dword [edi + 0x284], ebp
cmp dword [ebx + 0x20], ebp
jne 0x101ac374
mov edi, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
push edi
push edx
push str.Establish_HTTP_proxy_tunnel_to__s:_d_n
push esi
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
call fcn.1017f0b0
mov eax, dword [esi + 0x130]
push eax
call dword [0x10263bb0]
lea ecx, [esp + 0x50]
push 0x20000
push ecx
mov dword [esi + 0x130], ebp
call fcn.101827a0
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x38]
push eax
mov eax, dword [esp + 0x78]
push edi
mov edi, dword [esp + 0x3c]
push esi
call fcn.101ac0c0
add esp, 0x2c
cmp eax, ebp
jne 0x101aca7f
mov ecx, dword [esp + 0x18]
push 1
push ecx
push 0
push str.CONNECT
push edi
push esi
call fcn.101a2560
mov ebp, eax
add esp, 0x18
test ebp, ebp
jne 0x101ac342
cmp dword [edi + 0xc0], 1
mov ebp, 0x1024cb20
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], 0x1023f338
je 0x101ac263
mov dword [esp + 0x24], 0x1023f33c
push str.Proxy_Connection
push edi
push esi
call fcn.101a1ef0
add esp, 0xc
test eax, eax
jne 0x101ac27e
mov dword [esp + 0x20], str.Proxy_Connection:_Keep_Alive_r_n
push str.User_Agent
push edi
push esi
call fcn.101a1ef0
add esp, 0xc
test eax, eax
jne 0x101ac29f
cmp dword [esi + 0x614], eax
je 0x101ac29f
mov ebp, dword [esi + 0xdf0]
mov ecx, dword [esi + 0xdec]
test ecx, ecx
jne 0x101ac2ae
mov ecx, 0x1024cb20
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x101ac2bb
mov eax, 0x1024cb20
mov edx, dword [esp + 0x20]
push edx
push ebp
push ecx
mov ecx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x34]
push eax
push ecx
lea edx, [esp + 0x54]
push str.CONNECT__s_HTTP__s_r_n_s_s_s_s
push edx
call fcn.10182910
mov ebp, eax
add esp, 0x20
test ebp, ebp
jne 0x101ac334
lea eax, [esp + 0x3c]
push eax
push 1
push esi
call fcn.101a30d0
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x101ac334
lea ecx, [esp + 0x3c]
push 0x101efe1c
push ecx
call fcn.101828c0
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x101ac334
mov edx, dword [esp + 0x50]
push edx
push eax
lea eax, [esi + 0xea0]
push eax
lea ecx, [esp + 0x48]
push esi
push ecx
call fcn.101a29a0
mov ebp, eax
add esp, 0x14
test ebp, ebp
je 0x101ac342
push str.Failed_sending_CONNECT_to_proxy
push esi
call fcn.1017f190
add esp, 8
mov edx, dword [esp + 0x1c]
push edx
call dword [0x10263bb0]
mov eax, dword [esp + 0x1c]
push eax
call dword [0x10263bb0]
lea ecx, [esp + 0x44]
push ecx
call fcn.101827c0
add esp, 0xc
test ebp, ebp
jne 0x101ac8f0
mov dword [ebx + 0x20], 1
push 1
push ebp
push esi
call fcn.10184ce0
add esp, 0xc
cmp edx, ebp
jl 0x101ac8fa
jg 0x101ac392
cmp eax, ebp
jbe 0x101ac8fa
mov edx, dword [esp + 0x50]
push edx
push edi
call fcn.10185c10
add esp, 8
test eax, eax
je 0x101aca7d
mov dword [esp + 0x24], ebp
cmp dword [ebx + 0x10], ebp
je 0x101ac440
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x28]
push eax
push 1
lea ecx, [esp + 0x1b]
push ecx
push edx
push esi
call fcn.1017ef90
mov edi, eax
add esp, 0x14
cmp edi, 0x51
je 0x101aca7d
push esi
call fcn.10190250
add esp, 4
test eax, eax
jne 0x101ac915
xor ebp, ebp
cmp edi, ebp
jne 0x101ac439
cmp dword [esp + 0x28], ebp
jle 0x101ac8a4
mov edx, 2
cmp dword [ebx + 0x10], edx
jne 0x101ac52f
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
mov edi, eax
or edi, ecx
je 0x101ac4f2
sub eax, 1
sbb ecx, ebp
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
cmp ecx, ebp
jl 0x101ac436
jg 0x101ac828
cmp eax, ebp
ja 0x101ac828
mov dword [ebx + 0x20], edx
mov dword [ebx + 0x10], ebp
mov edi, dword [esp + 0x14]
push esi
call fcn.10190250
add esp, 4
test eax, eax
jne 0x101ac915
cmp dword [esp + 0x24], ebp
jne 0x101ac930
mov eax, 0x51eb851f
imul dword [esi + 0xe84]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 2
je 0x101ac495
push esi
call fcn.101a5870
add esp, 4
cmp eax, ebp
jne 0x101aca7f
cmp dword [edi + 0x288], ebp
je 0x101ac495
mov dword [ebx + 0x28], 1
cmp dword [ebx + 0x28], ebp
je 0x101ac4a6
cmp dword [esi + 0x130], ebp
jne 0x101ac94a
cmp dword [esi + 0x130], ebp
je 0x101ac96f
cmp dword [ebx + 0x20], 2
jne 0x101ac4e1
mov edx, dword [esi + 0xc]
mov edi, dword [edx + 0x458]
push edi
call fcn.10182880
mov dword [edi + 0x20], ebp
mov dword [edi + 0x10], 1
mov dword [edi + 0x18], ebp
mov dword [edi + 0x1c], ebp
mov dword [edi + 0x28], ebp
mov edi, dword [esp + 0x18]
add esp, 4
cmp dword [esi + 0x130], ebp
jne 0x101ac1b3
jmp 0x101ac96f
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x24]
push ecx
push 1
lea edx, [esp + 0x1f]
push edx
push esi
mov dword [esp + 0x34], ebp
call fcn.101b1a20
add esp, 0x14
cmp eax, 0xffffffff
jne 0x101ac828
push str.chunk_reading_DONE_n
push esi
call fcn.1017f0b0
add esp, 8
mov dword [ebx + 0x10], ebp
jmp 0x101ac821
push 1
lea eax, [esp + 0x17]
push eax
push ebx
call fcn.101828a0
add esp, 0xc
test eax, eax
jne 0x101ac922
cmp byte [esp + 0x13], 0xa
jne 0x101ac828
push ebx
call fcn.1003a750
push ebx
mov ebp, eax
call fcn.100470d0
mov edi, eax
push edi
push ebp
push 1
push esi
call fcn.1017f000
add esp, 0x18
cmp dword [esi + 0x800], 0
jne 0x101ac59f
cmp dword [esi + 0x7a0], 0
mov eax, 2
je 0x101ac58b
mov eax, 3
push edi
push ebp
push eax
push esi
call fcn.1017f580
add esp, 0x10
test eax, eax
jne 0x101aca7f
mov eax, edi
cdq
add dword [esi + 0xe98], eax
adc dword [esi + 0xe9c], edx
mov al, byte [ebp]
cmp al, 0xd
je 0x101ac7cf
cmp al, 0xa
je 0x101ac7cf
push 0x11
push ebp
push str.WWW_Authenticate:
call fcn.10187520
add esp, 0xc
test eax, eax
je 0x101ac5e2
mov eax, dword [esi + 0xf8]
cmp eax, 0x191
je 0x101ac603
push 0x13
push ebp
push str.Proxy_authenticate:
call fcn.10187520
add esp, 0xc
test eax, eax
je 0x101ac648
mov eax, dword [esi + 0xf8]
cmp eax, 0x197
jne 0x101ac648
xor ecx, ecx
cmp eax, 0x197
sete cl
push ebp
mov edi, ecx
call fcn.101a1f70
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x101ac93d
push ebp
push edi
push esi
call fcn.101a26d0
push ebp
mov edi, eax
call dword [0x10263bb0]
add esp, 0x10
test edi, edi
je 0x101ac7c4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
push 0xf
push ebp
push str.Content_Length:
call fcn.10187520
add esp, 0xc
test eax, eax
je 0x101ac6b7
mov ecx, dword [esi + 0xf8]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jne 0x101ac695
push ecx
push str.Ignoring_Content_Length_in_CONNECT__03d_response_n
push esi
call fcn.1017f0b0
add esp, 0xc
push ebx
call fcn.10182880
add esp, 4
jmp 0x101ac828
lea ecx, [ebx + 0x18]
push ecx
push 0xa
push 0
add ebp, 0xf
push ebp
call fcn.101b00c0
add esp, 0x10
push ebx
call fcn.10182880
add esp, 4
jmp 0x101ac828
push str.close
push str.Connection:
push ebp
call fcn.101a2c20
add esp, 0xc
test eax, eax
je 0x101ac6e3
push ebx
mov dword [ebx + 0x28], 1
call fcn.10182880
add esp, 4
jmp 0x101ac828
push 0x12
push ebp
push str.Transfer_Encoding:
call fcn.10187520
add esp, 0xc
test eax, eax
je 0x101ac770
mov ecx, dword [esi + 0xf8]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jne 0x101ac730
push ecx
push str.Ignoring_Transfer_Encoding_in_CONNECT__03d_response_n
push esi
call fcn.1017f0b0
add esp, 0xc
push ebx
call fcn.10182880
add esp, 4
jmp 0x101ac828
push str.chunked
push str.Transfer_Encoding:
push ebp
call fcn.101a2c20
add esp, 0xc
test eax, eax
je 0x101ac7c4
push str.CONNECT_responded_chunked_n
push esi
call fcn.1017f0b0
push esi
mov dword [ebx + 0x24], 1
call fcn.101b19f0
add esp, 0xc
push ebx
call fcn.10182880
add esp, 4
jmp 0x101ac828
push str.close
push str.Proxy_Connection:
push ebp
call fcn.101a2c20
add esp, 0xc
test eax, eax
je 0x101ac79c
push ebx
mov dword [ebx + 0x28], 1
call fcn.10182880
add esp, 4
jmp 0x101ac828
lea edi, [esi + 0xf8]
push edi
lea ecx, [esp + 0x34]
push ecx
push str.HTTP_1._d__d
push ebp
call dword [sym.imp.MSVCR100.dll_sscanf]
add esp, 0x10
cmp eax, 2
jne 0x101ac7c4
mov edx, dword [edi]
mov dword [esi + 0xe84], edx
push ebx
call fcn.10182880
add esp, 4
jmp 0x101ac828
cmp dword [esi + 0xf8], 0x197
jne 0x101ac898
cmp dword [esi + 0xe28], 0
jne 0x101ac898
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
mov edx, eax
or edx, ecx
mov dword [ebx + 0x10], 2
je 0x101ac839
push ecx
push eax
push str.Ignore__I64d_bytes_of_response_body_n
push esi
call fcn.1017f0b0
add esp, 0x10
cmp dword [ebx + 0x10], 0
jne 0x101ac3b5
mov edx, dword [ebx + 0x18]
or edx, dword [ebx + 0x1c]
jne 0x101ac828
mov dword [ebx + 0x20], 2
cmp dword [ebx + 0x10], 0
jne 0x101ac3b5
xor ebp, ebp
jmp 0x101ac43c
cmp dword [ebx + 0x24], 0
je 0x101ac898
push str.Ignore_chunked_response_body_n
push esi
call fcn.1017f0b0
add esp, 8
mov dword [esi + 0x150], 1
cmp byte [ebp + 1], 0xa
jne 0x101ac85e
inc ebp
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x2c]
push ecx
push 1
inc ebp
push ebp
push esi
call fcn.101b1a20
add esp, 0x14
cmp eax, 0xffffffff
jne 0x101ac80f
push str.chunk_reading_DONE_n
push esi
call fcn.1017f0b0
add esp, 8
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x20], 2
jmp 0x101ac819
mov dword [ebx + 0x10], 0
jmp 0x101ac819
cmp dword [esi + 0x190], ebp
je 0x101ac8d5
cmp dword [esi + 0xae8], ebp
je 0x101ac8d5
mov eax, dword [esp + 0x14]
push str.Proxy_CONNECT_connection_closed_n
push esi
mov dword [eax + 0x284], 1
call fcn.1017f0b0
add esp, 8
jmp 0x101ac439
push str.Proxy_CONNECT_aborted
push esi
mov dword [esp + 0x2c], 1
call fcn.1017f190
add esp, 8
jmp 0x101ac439
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x3c
ret
push str.Proxy_CONNECT_aborted_due_to_timeout
push esi
call fcn.1017f190
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x1c
pop ebx
add esp, 0x3c
ret
pop edi
pop esi
pop ebp
mov eax, 0x2a
pop ebx
add esp, 0x3c
ret
push str.CONNECT_response_too_large_
push esi
call fcn.1017f190
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x38
pop ebx
add esp, 0x3c
ret
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x3c
ret
mov eax, dword [esp + 0x50]
mov ecx, dword [edi + eax*4 + 0x158]
push ecx
push edi
push esi
call fcn.10185a20
mov edx, dword [esp + 0x5c]
add esp, 0xc
mov dword [edi + edx*4 + 0x158], 0xffffffff
mov eax, 0x51eb851f
imul dword [esi + 0xe84]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
je 0x101aca2c
cmp dword [ebx + 0x28], ebp
je 0x101ac9b9
cmp dword [esi + 0x130], ebp
je 0x101ac9b9
push str.Connect_me_again_please_n
push esi
mov dword [edi + 0x284], 1
call fcn.1017f0b0
add esp, 8
call fcn.101ac090
jmp 0x101ac9f9
mov ecx, dword [esi + 0x130]
push ecx
call dword [0x10263bb0]
push 2
push edi
mov dword [esi + 0x130], ebp
call fcn.10185bc0
mov edx, dword [esp + 0x5c]
mov eax, dword [edi + edx*4 + 0x158]
push eax
push edi
push esi
call fcn.10185a20
mov ecx, dword [esp + 0x68]
add esp, 0x18
mov dword [edi + ecx*4 + 0x158], 0xffffffff
mov dword [ebx + 0x20], ebp
cmp dword [edi + 0x284], ebp
jne 0x101aca7d
push ebx
call fcn.101827c0
mov edx, dword [esi + 0xf8]
push edx
push str.Received_HTTP_code__d_from_proxy_after_CONNECT
push esi
call fcn.1017f190
add esp, 0x10
pop edi
pop esi
pop ebp
mov eax, 0x38
pop ebx
add esp, 0x3c
ret
mov dword [ebx + 0x20], 2
mov eax, dword [esi + 0xdec]
push eax
call dword [0x10263bb0]
mov ecx, dword [esi + 0xe84]
push ecx
push str.Proxy_replied__d_to_CONNECT_request_n
push esi
mov dword [esi + 0xdec], ebp
mov dword [esi + 0xaec], 1
mov dword [esi + 0xaf0], ebp
call fcn.1017f0b0
mov dword [esi + 0x150], ebp
push ebx
mov dword [edi + 0x2bc], ebp
call fcn.101827c0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret