Function at 0x4701e0
Capabilities:
Check for time delay via gettickcount
Check http status code

Disassembly:
sub esp, 0x40
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x54]
mov ebp, dword [edi]
xor ebx, ebx
mov dword [esp + 0x44], ebx
mov eax, dword [ebp + 0x19c]
xor esi, esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x38], eax
cmp eax, ebx
jne 0x47020f
mov dword [esp + 0x38], 0x36ee80
cmp dword [edi + 0x510], 2
mov eax, dword [edi + 0x130]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x34], ebx
je 0x470b96
mov dword [edi + 0x21c], ebx
cmp dword [edi + 0x510], ebx
jne 0x4704d3
movzx eax, word [esp + 0x5c]
mov ecx, dword [esp + 0x58]
push eax
push ecx
push str.Establish_HTTP_proxy_tunnel_to__s:_hu_n
mov esi, ebp
call fcn.00475a40
mov eax, dword [ebp + 0xd4]
add esp, 0xc
cmp eax, ebx
je 0x47027f
push eax
call fcn.004a4132
add esp, 4
mov dword [ebp + 0xd4], ebx
call fcn.0046bcd0
mov dword [esp + 0x24], eax
cmp eax, ebx
je 0x4702b7
movzx eax, word [esp + 0x5c]
mov edx, dword [esp + 0x58]
push eax
push edx
push str._s:_hu
call fcn.00472110
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4702c4
mov eax, dword [esp + 0x24]
push eax
call fcn.004a4132
add esp, 4
mov eax, 0x1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
push 1
push ebx
push 0x5d54cc
mov esi, edi
call fcn.0046b790
add esp, 0xc
mov esi, eax
push ebx
mov dword [esp + 0x18], esi
call fcn.004a4132
add esp, 4
test esi, esi
jne 0x4704aa
cmp dword [edi + 0x114], 1
mov ecx, 0x5d2b98
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], 0x5d8bb4
je 0x470317
mov dword [esp + 0x1c], 0x5da25c
mov eax, dword [edi + 0x1dc]
mov edx, 0x5d2c2c
test eax, eax
jne 0x47032a
mov edx, ecx
jmp 0x47032f
mov ecx, 0x5d2c28
movzx eax, word [esp + 0x5c]
push eax
push edx
mov edx, dword [esp + 0x60]
push edx
push ecx
push str._s_s_s:_hu
call fcn.00472110
mov esi, eax
add esp, 0x14
test esi, esi
je 0x4702aa
push ebp
mov ebx, str.Host:
call fcn.0046af00
add esp, 4
test eax, eax
jne 0x47039e
push esi
push str.Host:__s_r_n
call fcn.00472110
add esp, 8
mov dword [esp + 0x28], eax
test eax, eax
jne 0x47039e
push esi
call fcn.004a4132
mov ecx, dword [esp + 0x28]
add esp, 4
push ecx
call fcn.004a4132
add esp, 4
mov eax, 0x1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
push ebp
mov ebx, str.Proxy_Connection:
call fcn.0046af00
add esp, 4
test eax, eax
jne 0x4703b8
mov dword [esp + 0x30], str.Proxy_Connection:_Keep_Alive_r_n
push ebp
mov ebx, str.User_Agent:
call fcn.0046af00
add esp, 4
test eax, eax
jne 0x4703dc
cmp dword [ebp + 0x3a8], eax
je 0x4703dc
mov edx, dword [edi + 0x250]
mov dword [esp + 0x20], edx
mov eax, dword [edi + 0x24c]
test eax, eax
jne 0x4703eb
mov eax, 0x5d2b98
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
mov eax, dword [esp + 0x34]
push eax
push ecx
push esi
push str.CONNECT__s_HTTP__s_r_n_s_s_s_s
mov eax, ebx
call fcn.0046beb0
add esp, 0x1c
cmp dword [esp + 0x28], 0
mov dword [esp + 0x14], eax
je 0x470433
mov edx, dword [esp + 0x28]
cmp byte [edx], 0
je 0x470433
mov eax, edx
push eax
call fcn.004a4132
add esp, 4
push esi
call fcn.004a4132
add esp, 4
cmp dword [esp + 0x14], 0
jne 0x470485
push edi
call fcn.0046c3b0
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x470485
push 0x5d2c30
mov eax, ebx
call fcn.0046beb0
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x470485
push eax
lea ecx, [ebp + 0x8f64]
push ecx
push edi
push ebx
call fcn.0046bce0
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
je 0x4704c3
push str.Failed_sending_CONNECT_to_proxy
mov esi, ebp
mov dword [ebp + 0x8ff4], 1
call fcn.00475ac0
mov eax, dword [esp + 0x18]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
mov edx, dword [esp + 0x24]
push edx
call fcn.004a4132
mov eax, dword [esp + 0x18]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
mov esi, dword [esp + 0x14]
mov dword [edi + 0x510], 1
xor ebx, ebx
mov eax, dword [edi + 0x124]
mov ecx, dword [edi + 0x120]
push eax
push ecx
call fcn.0047bf80
push edx
push eax
call fcn.0047bfb0
mov edx, dword [esp + 0x48]
sub edx, eax
add esp, 0x10
test edx, edx
jg 0x470516
push str.Proxy_CONNECT_aborted_due_to_timeout
mov esi, ebp
call fcn.00475ac0
add esp, 4
mov eax, 0x38
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
cmp dword [ebp + 0x588], 2
jne 0x470544
cmp dword [ebp + 0x8ff0], ebx
jne 0x470b96
mov eax, dword [esp + 0x3c]
push 0xffffffffffffffff
push eax
xor eax, eax
call fcn.00475820
add esp, 8
test eax, eax
je 0x470b96
lea eax, [ebp + 0x5a4]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x1c], eax
mov edi, eax
mov dword [esp + 0x18], 1
cmp dword [esp + 0x18], 0
je 0x470a7c
cmp dword [esp + 0x34], 0
jne 0x470509
mov ecx, dword [ebx + 0x124]
mov edx, dword [ebx + 0x120]
push ecx
push edx
call fcn.0047bf80
push edx
push eax
call fcn.0047bfb0
mov ecx, dword [esp + 0x48]
sub ecx, eax
add esp, 0x10
test ecx, ecx
jle 0x4704fa
cmp ecx, 0x3e8
jl 0x4705ae
mov ecx, 0x3e8
mov eax, dword [esp + 0x3c]
push 0xffffffffffffffff
push eax
mov eax, ecx
call fcn.00475820
add esp, 8
cmp eax, 0xffffffff
je 0x470a3e
test eax, eax
je 0x470a55
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x54]
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x40]
mov edx, 0x4000
sub edx, dword [esp + 0x2c]
push eax
mov eax, ebx
call fcn.00475f90
mov esi, eax
add esp, 8
mov dword [esp + 0x14], esi
cmp esi, 0x51
je 0x470a6e
test esi, esi
je 0x47061f
mov dword [ebp + 0x8ff4], 1
mov dword [esp + 0x18], 0
jmp 0x470a55
mov ebx, dword [esp + 0x30]
xor eax, eax
cmp ebx, eax
jg 0x470669
mov dword [esp + 0x18], eax
cmp dword [ebp + 0x118], eax
je 0x470650
cmp dword [ebp + 0x8e98], eax
je 0x470650
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x21c], 1
jmp 0x470a55
mov eax, 1
mov dword [esp + 0x34], eax
mov dword [ebp + 0x8ff4], eax
push str.Proxy_CONNECT_aborted
jmp 0x470a4b
add dword [esp + 0x28], ebx
cmp dword [esp + 0x18], 1
jle 0x470715
mov esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x28], eax
mov edx, esi
or edx, ecx
lea eax, [ebp + 0x5a4]
mov dword [esp + 0x1c], eax
je 0x4706c2
mov eax, ebx
cdq
sub esi, eax
sbb ecx, edx
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], ecx
test ecx, ecx
jg 0x470a55
jl 0x4706b5
test esi, esi
ja 0x470a55
mov dword [esp + 0x18], 0
jmp 0x470a55
mov esi, dword [esp + 0x54]
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
push ebx
mov dword [esp + 0x28], 0
call fcn.0046ece0
add esp, 8
mov esi, ebp
cmp eax, 0xffffffff
jne 0x4706fe
push str.chunk_reading_DONE_n
call fcn.00475a40
mov dword [esp + 0x1c], 0
jmp 0x470a52
mov ecx, dword [esp + 0x20]
push ecx
push str.Read__zd_bytes_of_chunk__continue_n
call fcn.00475a40
add esp, 8
jmp 0x470a55
cmp ebx, eax
mov dword [esp + 0x20], eax
jle 0x470a55
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
inc esi
cmp byte [edx], 0xa
mov dword [esp + 0x24], esi
jne 0x4708fa
cmp dword [ebp + 0x2e4], 0
je 0x470753
mov eax, dword [esp + 0x54]
push eax
push esi
push edi
push 1
mov ecx, ebp
call fcn.00476130
add esp, 0x10
cmp dword [ebp + 0x2c8], 0
mov edx, 2
je 0x470766
mov edx, 3
mov eax, dword [esp + 0x54]
push edi
mov ecx, esi
call fcn.00475e00
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x470b98
mov al, byte [edi]
cmp al, 0xd
je 0x470914
cmp al, 0xa
je 0x470914
mov eax, dword [esp + 0x24]
mov bl, byte [eax + edi]
mov byte [eax + edi], 0
push 0x11
mov eax, edi
mov ecx, str.WWW_Authenticate:
call fcn.00475790
add esp, 4
test eax, eax
je 0x4707c0
mov eax, dword [ebp + 0x90]
cmp eax, 0x191
je 0x4707e2
push 0x13
mov eax, edi
mov ecx, str.Proxy_authenticate:
call fcn.00475790
add esp, 4
test eax, eax
je 0x470802
mov eax, dword [ebp + 0x90]
cmp eax, 0x197
jne 0x470802
mov ecx, dword [esp + 0x54]
push edi
push eax
push ecx
call fcn.0046b890
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x470b98
jmp 0x4708dc
push 0xf
mov eax, edi
mov ecx, str.Content_Length:
call fcn.00475790
add esp, 4
test eax, eax
je 0x470834
push 0xa
lea edx, [edi + 0xf]
push 0
push edx
call fcn.004a8df4
add esp, 0xc
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
jmp 0x4708dc
push str.close
mov eax, str.Connection:
mov ecx, edi
call fcn.0046bff0
add esp, 4
test eax, eax
je 0x470859
mov dword [esp + 0x2c], 1
jmp 0x4708dc
push str.chunked
mov eax, str.Transfer_Encoding:
mov ecx, edi
call fcn.0046bff0
add esp, 4
test eax, eax
je 0x470893
push str.CONNECT_responded_chunked_n
mov esi, ebp
call fcn.00475a40
mov eax, dword [esp + 0x58]
add esp, 4
mov dword [esp + 0x40], 1
call fcn.0046ecd0
jmp 0x4708dc
push str.close
mov eax, str.Proxy_Connection:
mov ecx, edi
call fcn.0046bff0
add esp, 4
test eax, eax
je 0x4708b5
mov dword [esp + 0x2c], 1
jmp 0x4708dc
lea esi, [ebp + 0x90]
push esi
lea eax, [esp + 0x48]
push eax
push str.HTTP_1._d__d
push edi
call fcn.004a6208
add esp, 0x10
cmp eax, 2
jne 0x4708dc
mov ecx, dword [esi]
mov dword [ebp + 0x8f50], ecx
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov byte [edx + edi], bl
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x24], 0
mov esi, dword [esp + 0x24]
lea edi, [eax + 1]
mov eax, dword [esp + 0x20]
inc dword [esp + 0x1c]
inc eax
cmp eax, ebx
mov dword [esp + 0x20], eax
jl 0x470725
jmp 0x470a55
xor ecx, ecx
cmp dword [ebp + 0x90], 0x197
lea eax, [ebp + 0x5a4]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], eax
jne 0x470a11
cmp dword [ebp + 0x8eac], ecx
jne 0x470a11
mov edx, dword [esp + 0x48]
or edx, dword [esp + 0x4c]
mov dword [esp + 0x18], 2
je 0x4709a2
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
push eax
push ecx
push str.Ignore__lld_bytes_of_response_body_n
mov esi, ebp
call fcn.00475a40
mov eax, ebx
sub eax, dword [esp + 0x2c]
add esp, 0xc
cdq
sub dword [esp + 0x48], eax
mov eax, dword [esp + 0x4c]
sbb eax, edx
mov dword [esp + 0x4c], eax
test eax, eax
jg 0x470a55
jl 0x470995
cmp dword [esp + 0x48], 0
ja 0x470a55
mov dword [esp + 0x18], 0
jmp 0x470a55
cmp dword [esp + 0x40], ecx
je 0x470a0b
mov edx, ebx
sub edx, dword [esp + 0x20]
mov esi, ebp
push edx
push str._zd_bytes_of_chunk_left_n
mov dword [ebp + 0xc8], 1
call fcn.00475a40
add esp, 8
cmp byte [edi + 1], 0xa
jne 0x4709d3
inc edi
inc dword [esp + 0x20]
sub ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x54]
lea eax, [esp + 0x30]
push eax
push ebx
lea eax, [edi + 1]
call fcn.0046ece0
add esp, 8
mov esi, ebp
cmp eax, 0xffffffff
je 0x4706e7
mov ecx, dword [esp + 0x30]
push ecx
push str.Read__zd_bytes_of_chunk__continue_n
call fcn.00475a40
add esp, 8
jmp 0x470a55
mov dword [esp + 0x18], ecx
jmp 0x470a55
cmp dword [ebp + 0x8f50], 0xc8
mov dword [esp + 0x18], ecx
jne 0x470a55
sub ebx, dword [esp + 0x20]
lea eax, [ebx - 1]
cmp eax, ecx
je 0x470a55
push eax
push str.Proxy_CONNECT_followed_by__zd_bytes_of_opaque_data._Data_ignored__known_bug_39_
mov esi, ebp
call fcn.00475ac0
add esp, 8
jmp 0x470a55
mov dword [esp + 0x34], 1
push str.Proxy_CONNECT_aborted_due_to_select_poll_error
mov esi, ebp
call fcn.00475ac0
add esp, 4
mov edx, dword [esp + 0x54]
push edx
call fcn.00475260
add esp, 4
test eax, eax
jne 0x470ab3
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x54]
cmp dword [esp + 0x28], 0x4000
jb 0x470564
cmp dword [esp + 0x34], 0
jne 0x470509
cmp dword [ebp + 0x8f50], 0xc8
je 0x470ad3
cmp dword [ebp + 0x8ff4], 0
jne 0x470aa5
mov eax, ebx
call fcn.0046b330
mov esi, eax
test esi, esi
je 0x470ac0
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
mov eax, 0x2a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
cmp dword [ebx + 0x1c4], 0
je 0x470ad3
mov dword [esp + 0x2c], 1
jmp 0x470ada
cmp dword [esp + 0x2c], 0
je 0x470afa
cmp dword [ebp + 0xd4], 0
je 0x470afa
mov edx, dword [ebx + 0x130]
mov eax, ebx
call fcn.00466830
mov dword [ebx + 0x130], 0xffffffff
mov eax, dword [ebp + 0x90]
cmp eax, 0xc8
je 0x470b48
push eax
push str.Received_HTTP_code__d_from_proxy_after_CONNECT
mov esi, ebp
call fcn.00475ac0
add esp, 8
cmp dword [esp + 0x2c], 0
je 0x470b31
cmp dword [ebp + 0xd4], 0
je 0x470b31
mov dword [ebx + 0x21c], 1
mov dword [ebx + 0x510], 0
mov eax, 0x38
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
mov dword [ebx + 0x510], 2
mov eax, dword [ebx + 0x24c]
test eax, eax
je 0x470b6f
push eax
call fcn.004a4132
add esp, 4
mov dword [ebx + 0x24c], 0
xor edi, edi
mov dword [ebx + 0x24c], edi
push str.Proxy_replied_OK_to_CONNECT_request_n
mov esi, ebp
mov dword [ebp + 0x8e9c], 1
call fcn.00475a40
add esp, 4
mov dword [ebp + 0xc8], edi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret