Function at 0x427feb
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebx]
push edi
xor edi, edi
mov dword [ebp - 0x3c], edi
mov eax, dword [esi + 0x194]
cmp eax, edi
mov dword [ebp - 0x2c], eax
jne 0x428012
mov dword [ebp - 0x2c], 0x36ee80
mov eax, dword [ebp + 0xc]
lea eax, [ebx + eax*4 + 0x128]
mov dword [ebp - 0x38], eax
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x24], edi
mov dword [ebx + 0x1e8], edi
cmp dword [ebx + 0x1c4], edi
jne 0x428214
movzx ebx, word [ebp + 0x14]
push ebx
push dword [ebp + 0x10]
push str.Establish_HTTP_proxy_tunnel_to__s:_hu_n
push esi
call fcn.0041446d
lea edi, [esi + 0xd4]
mov eax, dword [edi]
add esp, 0x10
test eax, eax
je 0x428072
push eax
call dword [sym.imp.MSVCR80.dll_free]
and dword [edi], 0
pop ecx
call fcn.00417264
test eax, eax
mov dword [ebp - 0x14], eax
je 0x428707
push ebx
push dword [ebp + 0x10]
push str._s:_hu
call fcn.0041a9fe
add esp, 0xc
test eax, eax
mov dword [ebp - 0x20], eax
je 0x42870f
push 1
push eax
push str.CONNECT
push dword [ebp + 8]
call fcn.00416f0e
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x4281ea
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10c], 1
mov edi, 0x43d2a8
mov ebx, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0xc], 0x438118
je 0x4280e2
mov dword [ebp - 0xc], 0x43811c
push str.Host:
push esi
call fcn.00416aed
test eax, eax
pop ecx
pop ecx
jne 0x42810c
push dword [ebp - 0x20]
push str.Host:__s_r_n
call fcn.0041a9fe
mov ebx, eax
test ebx, ebx
pop ecx
pop ecx
je 0x42871b
push str.Proxy_Connection:
push esi
call fcn.00416aed
test eax, eax
pop ecx
pop ecx
jne 0x428124
mov dword [ebp - 0x1c], str.Proxy_Connection:_Keep_Alive_r_n
push str.User_Agent:
push esi
call fcn.00416aed
test eax, eax
pop ecx
pop ecx
jne 0x428149
cmp dword [esi + 0x394], eax
je 0x428149
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x21c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x218]
test eax, eax
je 0x428158
mov edi, eax
push dword [ebp - 0x1c]
movzx eax, word [ebp + 0x14]
push dword [ebp - 0x10]
push edi
push ebx
push dword [ebp - 0xc]
push eax
push dword [ebp + 0x10]
push str.CONNECT__s:_hu_HTTP__s_r_n_s_s_s_s
push dword [ebp - 0x14]
call fcn.004179e7
add esp, 0x24
test ebx, ebx
mov edi, eax
je 0x42818e
cmp byte [ebx], 0
je 0x42818e
push ebx
call dword [sym.imp.MSVCR80.dll_free]
pop ecx
test edi, edi
jne 0x4281d5
push dword [ebp - 0x14]
push dword [ebp + 8]
call fcn.00417aaa
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x4281d5
push 0x436814
push dword [ebp - 0x14]
call fcn.004179e7
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x4281d5
push dword [ebp + 0xc]
push eax
lea eax, [esi + 0x868c]
push eax
push dword [ebp + 8]
push dword [ebp - 0x14]
call fcn.00417271
add esp, 0x14
mov edi, eax
and dword [ebp - 0x14], 0
test edi, edi
je 0x4281ea
push str.Failed_sending_CONNECT_to_proxy
push esi
call fcn.004144d7
pop ecx
pop ecx
push dword [ebp - 0x20]
call dword [sym.imp.MSVCR80.dll_free]
push dword [ebp - 0x14]
call fcn.0040cde3
test edi, edi
pop ecx
pop ecx
jne 0x42872e
mov eax, dword [ebp + 8]
mov dword [eax + 0x1c4], 1
mov ebx, eax
push dword [ebx + 0x11c]
push dword [ebx + 0x118]
call fcn.00415f6c
push edx
push eax
call fcn.00415f82
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
add esp, 0x10
test ecx, ecx
jle 0x428735
cmp dword [esi + 0x510], 2
jne 0x42825b
push edi
push 0xffffffffffffffff
push dword [ebp - 0x30]
call fcn.00425144
add esp, 0xc
test eax, eax
je 0x4287c0
lea eax, [esi + 0x52c]
mov dword [ebx + 0x1c4], edi
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0xc], 1
cmp dword [ebp - 0xc], edi
je 0x4286b9
cmp dword [ebp - 0x24], edi
jne 0x428742
push dword [ebx + 0x11c]
push dword [ebx + 0x118]
call fcn.00415f6c
push edx
push eax
call fcn.00415f82
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
add esp, 0x10
cmp ecx, edi
jle 0x4286a5
mov eax, 0x3e8
cmp ecx, eax
jl 0x4282bf
mov ecx, eax
push ecx
push 0xffffffffffffffff
push dword [ebp - 0x30]
call fcn.00425144
add esp, 0xc
cmp eax, 0xffffffff
je 0x428673
cmp eax, edi
je 0x428687
lea eax, [ebp - 0x18]
push eax
mov eax, 0x4000
sub eax, dword [ebp - 0x20]
push eax
push dword [ebp - 0x10]
push dword [ebp - 0x30]
push ebx
call fcn.00414246
add esp, 0x14
cmp eax, 0x51
je 0x428696
cmp eax, edi
jne 0x428374
mov ecx, dword [ebp - 0x18]
cmp ecx, edi
jg 0x42833a
cmp dword [esi + 0x118], edi
mov dword [ebp - 0xc], edi
je 0x428330
cmp dword [esi + 0x85cc], edi
je 0x428330
mov dword [ebx + 0x1e8], 1
jmp 0x428687
push str.Proxy_CONNECT_aborted
jmp 0x428678
add dword [ebp - 0x20], ecx
cmp dword [ebp - 0xc], 1
jle 0x4283be
lea eax, [esi + 0x52c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x44]
or eax, dword [ebp - 0x40]
mov dword [ebp - 0x20], edi
je 0x42837c
mov eax, ecx
cdq
sub dword [ebp - 0x44], eax
sbb dword [ebp - 0x40], edx
cmp dword [ebp - 0x40], edi
jg 0x428687
jl 0x428374
cmp dword [ebp - 0x44], edi
ja 0x428687
mov dword [ebp - 0xc], edi
jmp 0x428687
lea eax, [ebp - 0x14]
push eax
push ecx
push dword [ebp - 0x10]
mov dword [ebp - 0x14], edi
push ebx
call fcn.00426e9f
add esp, 0x10
cmp eax, 0xffffffff
jne 0x4283a8
push str.chunk_reading_DONE_n
push esi
call fcn.0041446d
mov dword [ebp - 0xc], edi
jmp 0x428685
push dword [ebp - 0x14]
push str.Read__zd_bytes_of_chunk__continue_n
push esi
call fcn.0041446d
add esp, 0xc
jmp 0x428687
cmp ecx, edi
mov dword [ebp - 0x14], edi
jle 0x428687
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x1c]
cmp byte [eax], 0xa
jne 0x4285a5
cmp dword [esi + 0x2d8], edi
je 0x4283f2
push ebx
push dword [ebp - 0x1c]
push dword [ebp - 8]
push 1
push esi
call fcn.004143bc
add esp, 0x14
cmp dword [esi + 0x2bc], edi
push 2
pop eax
je 0x428400
push 3
pop eax
push dword [ebp - 0x1c]
push dword [ebp - 8]
push eax
push ebx
call fcn.0041472a
add esp, 0x10
cmp eax, edi
jne 0x4287c2
mov eax, dword [ebp - 8]
mov al, byte [eax]
cmp al, 0xd
je 0x4285bc
cmp al, 0xa
je 0x4285bc
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
lea edi, [ecx + eax]
mov al, byte [edi]
push str.WWW_Authenticate:
mov byte [ebp - 1], al
mov byte [edi], 0
call sub.MSVCR80.dll_strlen
push eax
push dword [ebp - 8]
push str.WWW_Authenticate:
call fcn.00426079
add esp, 0x10
test eax, eax
je 0x42846a
mov eax, dword [esi + 0x90]
cmp eax, 0x191
je 0x428496
push str.Proxy_authenticate:
call sub.MSVCR80.dll_strlen
push eax
push dword [ebp - 8]
push str.Proxy_authenticate:
call fcn.00426079
add esp, 0x10
test eax, eax
je 0x4284b0
mov eax, dword [esi + 0x90]
cmp eax, 0x197
jne 0x4284b0
push dword [ebp - 8]
push eax
push ebx
call fcn.0041700a
add esp, 0xc
test eax, eax
jne 0x4287c2
jmp 0x428590
push str.Content_Length:
call sub.MSVCR80.dll_strlen
push eax
push dword [ebp - 8]
push str.Content_Length:
call fcn.00426079
add esp, 0x10
test eax, eax
je 0x4284f6
push 0xa
push 0
push str.Content_Length:
call sub.MSVCR80.dll_strlen
add eax, dword [ebp - 8]
pop ecx
push eax
call dword [sym.imp.MSVCR80.dll__strtoi64]
add esp, 0xc
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
jmp 0x428590
push str.close
push str.Connection:
push dword [ebp - 8]
call fcn.004174b3
add esp, 0xc
test eax, eax
jne 0x42855e
push str.chunked
push str.Transfer_Encoding:
push dword [ebp - 8]
call fcn.004174b3
add esp, 0xc
test eax, eax
je 0x428545
push str.CONNECT_responded_chunked_n
push esi
call fcn.0041446d
push ebx
mov dword [ebp - 0x34], 1
call fcn.00426e8b
add esp, 0xc
jmp 0x428590
push str.close
push str.Proxy_Connection:
push dword [ebp - 8]
call fcn.004174b3
add esp, 0xc
test eax, eax
je 0x428567
mov dword [ebp - 0x28], 1
jmp 0x428590
lea ebx, [esi + 0x90]
push ebx
lea eax, [ebp - 0x3c]
push eax
push str.HTTP_1._d__d
push dword [ebp - 8]
call dword [sym.imp.MSVCR80.dll_sscanf]
add esp, 0x10
cmp eax, 2
jne 0x428590
mov eax, dword [ebx]
mov dword [esi + 0x8678], eax
mov al, byte [ebp - 1]
and dword [ebp - 0x1c], 0
mov ebx, dword [ebp + 8]
mov byte [edi], al
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 8], eax
xor edi, edi
inc dword [ebp - 0x10]
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
jl 0x4283c9
jmp 0x428687
cmp dword [esi + 0x90], 0x197
lea eax, [esi + 0x52c]
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x10], eax
jne 0x428374
cmp dword [esi + 0x85dc], edi
jne 0x428374
mov eax, dword [ebp - 0x44]
or eax, dword [ebp - 0x40]
mov dword [ebp - 0xc], 2
je 0x428612
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push str.Ignore__lld_bytes_of_response_body_n
push esi
call fcn.0041446d
mov eax, dword [ebp - 0x18]
add esp, 0x10
sub eax, dword [ebp - 0x14]
jmp 0x428359
cmp dword [ebp - 0x34], edi
je 0x428374
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x14]
mov dword [esi + 0xc8], 1
push eax
push str._zd_bytes_of_chunk_left_n
push esi
call fcn.0041446d
mov eax, dword [ebp - 8]
add esp, 0xc
inc eax
cmp byte [eax], 0xa
jne 0x428649
inc dword [ebp - 0x14]
mov dword [ebp - 8], eax
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 8]
inc eax
push eax
push ebx
call fcn.00426e9f
add esp, 0x10
cmp eax, 0xffffffff
je 0x428395
push dword [ebp - 0x18]
jmp 0x4283ab
push str.Proxy_CONNECT_aborted_due_to_select_poll_error
push esi
mov dword [ebp - 0x24], 1
call fcn.004144d7
pop ecx
pop ecx
push ebx
call fcn.00416457
test eax, eax
pop ecx
jne 0x428746
cmp dword [ebp - 0x20], 0x4000
jb 0x42827a
jmp 0x4286b9
push str.Proxy_CONNECT_aborted_due_to_timeout
push esi
call fcn.004144d7
pop ecx
pop ecx
mov dword [ebp - 0x24], 2
cmp dword [ebp - 0x24], edi
jne 0x428742
cmp dword [esi + 0x8678], 0xc8
je 0x4286ec
push ebx
call fcn.00417843
cmp eax, edi
pop ecx
jne 0x4287c2
cmp dword [ebx + 0x190], edi
je 0x4286ec
mov dword [ebp - 0x28], 1
cmp dword [ebp - 0x28], edi
je 0x4286f9
cmp dword [esi + 0xd4], edi
jne 0x42874a
cmp dword [esi + 0xd4], edi
jne 0x428039
jmp 0x42875b
push 0x1b
pop eax
jmp 0x4287c2
push dword [ebp - 0x14]
call dword [sym.imp.MSVCR80.dll_free]
pop ecx
jmp 0x428707
push dword [ebp - 0x14]
mov esi, dword [sym.imp.MSVCR80.dll_free]
call esi
push dword [ebp - 0x20]
call esi
pop ecx
jmp 0x428718
mov eax, edi
jmp 0x4287c2
push str.Proxy_CONNECT_aborted_due_to_timeout
push esi
call fcn.004144d7
pop ecx
pop ecx
push 0x38
jmp 0x428709
push 0x2a
jmp 0x428709
mov eax, dword [ebp - 0x38]
push dword [eax]
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [ebp - 0x38]
or dword [eax], 0xffffffff
mov eax, dword [esi + 0x90]
cmp eax, 0xc8
je 0x428790
push eax
push str.Received_HTTP_code__d_from_proxy_after_CONNECT
push esi
call fcn.004144d7
add esp, 0xc
cmp dword [ebp - 0x28], edi
je 0x428742
cmp dword [esi + 0xd4], edi
je 0x428742
mov dword [ebx + 0x1e8], 1
jmp 0x428742
lea edi, [ebx + 0x218]
push dword [edi]
call fcn.0040cde3
and dword [edi], 0
mov dword [esp], str.Proxy_replied_OK_to_CONNECT_request_n
push esi
mov dword [esi + 0x85d0], 1
call fcn.0041446d
and dword [esi + 0xc8], 0
pop ecx
pop ecx
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret