Function at 0x4ef3c0
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
push ebx
mov ebx, dword [ebp + 8]
mov ecx, 0x36ee80
push esi
push edi
mov dword [ebp - 0x48], 0
xorps xmm0, xmm0
mov edi, dword [ebx]
movlpd qword [ebp - 0x44], xmm0
mov eax, dword [edi + 0x19c]
test eax, eax
cmovne ecx, eax
xor esi, esi
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x2c], esi
lea eax, [ecx + 0x4c]
add ecx, 0x121
lea eax, [ebx + eax*4]
mov dword [ebp - 0x3c], eax
mov eax, dword [eax]
lea ecx, [ebx + ecx*4]
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 8], ecx
cmp dword [ecx], 2
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], eax
je 0x4efd4a
mov dword [ebx + 0x1f8], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x18], eax
cmp dword [ecx], 0
jne 0x4ef646
movzx esi, word [ebp + 0x14]
push esi
push dword [ebp + 0x10]
push str.Establish_HTTP_proxy_tunnel_to__s:_hu_n
push edi
call fcn.004d6330
mov eax, dword [edi + 0xd4]
add esp, 0x10
test eax, eax
je 0x4ef471
push eax
call fcn.004ff56b
add esp, 4
mov dword [edi + 0xd4], 0
call fcn.004ded30
mov ebx, eax
test ebx, ebx
je 0x4efc67
push esi
push dword [ebp + 0x10]
push str._s:_hu
call fcn.004cabf0
add esp, 0xc
mov dword [ebp - 0x24], eax
test eax, eax
je 0x4efc5e
mov ecx, dword [ebp + 8]
push 1
push eax
push str.CONNECT
push ecx
call fcn.004df610
push dword [ebp - 0x24]
mov esi, eax
call fcn.004ff56b
add esp, 0x14
test esi, esi
jne 0x4efc4c
mov ecx, dword [ebp + 8]
mov edx, 0x53347c
mov eax, 0x533480
mov esi, 0x54849c
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
cmp dword [ecx + 0x114], 1
mov ecx, dword [ecx + 0x1b8]
cmovne eax, edx
test ecx, ecx
mov dword [ebp - 0x40], eax
mov edx, esi
movzx eax, word [ebp + 0x14]
push eax
mov eax, 0x54df6c
cmove eax, edx
push eax
push dword [ebp + 0x10]
mov eax, str.__:_t
cmove eax, edx
push eax
push str._s_s_s:_hu
call fcn.004cabf0
add esp, 0x14
mov dword [ebp - 0x24], eax
test eax, eax
je 0x4efc5e
push str.Host:
push edi
call fcn.004df1b0
add esp, 8
test eax, eax
jne 0x4ef552
push dword [ebp - 0x24]
push str.Host:__s_r_n
call fcn.004cabf0
mov esi, eax
add esp, 8
mov dword [ebp - 0x14], esi
test esi, esi
je 0x4efc18
push str.Proxy_Connection:
push edi
call fcn.004df1b0
test eax, eax
mov ecx, str.Proxy_Connection:_Keep_Alive_r_n
mov eax, 0x54849c
cmovne ecx, eax
push str.User_Agent:
push edi
mov dword [ebp - 0xc], ecx
call fcn.004df1b0
mov ecx, dword [ebp + 8]
add esp, 0x10
test eax, eax
jne 0x4ef595
cmp dword [edi + 0x3a4], eax
je 0x4ef595
mov eax, dword [ecx + 0x22c]
mov dword [ebp - 0x20], eax
push dword [ebp - 0xc]
mov eax, dword [ecx + 0x228]
mov ecx, 0x54849c
push dword [ebp - 0x20]
test eax, eax
cmovne ecx, eax
push ecx
push esi
push dword [ebp - 0x40]
push dword [ebp - 0x24]
push str.CONNECT__s_HTTP__s_r_n_s_s_s_s
push ebx
call fcn.004deef0
mov esi, eax
add esp, 0x20
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4ef5d8
cmp byte [eax], 0
je 0x4ef5d8
push eax
call fcn.004ff56b
add esp, 4
push dword [ebp - 0x24]
call fcn.004ff56b
add esp, 4
test esi, esi
jne 0x4efc35
push ebx
push dword [ebp + 8]
call fcn.004def60
mov esi, eax
add esp, 8
test esi, esi
jne 0x4efc35
push 0x547e00
push ebx
call fcn.004deef0
mov esi, eax
add esp, 8
test esi, esi
jne 0x4efc35
push dword [ebp + 0xc]
push eax
lea eax, [edi + 0x86c4]
push eax
push dword [ebp + 8]
push ebx
call fcn.004ded40
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x4efc35
mov eax, dword [ebp - 8]
mov ebx, dword [ebp + 8]
mov dword [eax], 1
push dword [ebx + 0x124]
push dword [ebx + 0x120]
call fcn.004d8990
push edx
push eax
call fcn.004d8900
mov ecx, dword [ebp - 0x34]
add esp, 0x10
sub ecx, eax
test ecx, ecx
jle 0x4efd53
cmp dword [edi + 0x540], 2
jne 0x4ef690
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp - 0x30]
call fcn.004e2110
add esp, 0x10
test eax, eax
je 0x4efd4a
lea eax, [edi + 0x55c]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], eax
mov esi, eax
mov eax, 1
xor ebx, ebx
mov dword [ebp - 0xc], eax
nop dword [eax]
test eax, eax
je 0x4efb88
cmp dword [ebp - 0x28], 0
jne 0x4efcec
mov eax, dword [ebp + 8]
push dword [eax + 0x124]
push dword [eax + 0x120]
call fcn.004d8990
push edx
push eax
call fcn.004d8900
mov ecx, dword [ebp - 0x34]
add esp, 0x10
sub ecx, eax
test ecx, ecx
jle 0x4efc7f
mov eax, 0x3e8
cmp ecx, eax
cmovl eax, ecx
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp - 0x30]
call fcn.004e2110
add esp, 0x10
cmp eax, 0xffffffff
je 0x4efb4f
test eax, eax
je 0x4efb64
lea eax, [ebp - 0x10]
push eax
mov eax, 0x4000
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x20]
push dword [ebp - 0x30]
push dword [ebp + 8]
call fcn.004d63b0
add esp, 0x14
cmp eax, 0x51
je 0x4efb78
test eax, eax
je 0x4ef74d
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x4efb64
mov ecx, dword [ebp - 0x10]
test ecx, ecx
jg 0x4ef785
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [edi + 0x118], eax
je 0x4ef77b
cmp dword [edi + 0x85fc], eax
je 0x4ef77b
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1f8], 1
jmp 0x4efb67
push str.Proxy_CONNECT_aborted
jmp 0x4efb54
add dword [ebp - 0x24], ecx
cmp dword [ebp - 0xc], 1
jle 0x4ef82d
mov eax, dword [ebp - 0x18]
lea edx, [edi + 0x55c]
or eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], edx
je 0x4ef7d9
mov eax, ecx
mov ecx, dword [ebp - 0x18]
cdq
sub ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
sbb eax, edx
mov dword [ebp - 0x1c], eax
test eax, eax
jg 0x4efb64
jl 0x4ef7cf
test ecx, ecx
jne 0x4efb64
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x4efb64
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
push ecx
push edx
push dword [ebp + 8]
call fcn.004dd0b0
add esp, 0x10
cmp eax, 0xffffffff
jne 0x4ef817
push str.chunk_reading_DONE_n
push edi
call fcn.004d6330
add esp, 8
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
mov dword [eax], 2
jmp 0x4efb64
push dword [ebp - 0x14]
push str.Read__zd_bytes_of_chunk__continue_n
push edi
call fcn.004d6330
add esp, 0xc
jmp 0x4efb64
xor eax, eax
mov dword [ebp - 0x14], eax
test ecx, ecx
jle 0x4efb64
mov edx, dword [ebp - 0x20]
nop dword [eax]
inc ebx
cmp byte [edx], 0xa
jne 0x4ef9e5
cmp dword [edi + 0x2e4], 0
je 0x4ef863
push dword [ebp + 8]
push ebx
push esi
push 1
push edi
call fcn.004d61b0
add esp, 0x14
xor eax, eax
cmp dword [edi + 0x2c8], eax
push ebx
setne al
push esi
add eax, 2
push eax
push dword [ebp + 8]
call fcn.004d6050
add esp, 0x10
test eax, eax
jne 0x4efd66
mov al, byte [esi]
cmp al, 0xd
je 0x4ef9fa
cmp al, 0xa
je 0x4ef9fa
mov cl, byte [ebx + esi]
lea eax, [ebx + esi]
push 0x11
push esi
push str.WWW_Authenticate:
mov dword [ebp - 0x40], eax
mov byte [ebp - 1], cl
mov byte [eax], 0
call fcn.004d8540
add esp, 0xc
test eax, eax
je 0x4ef8c9
mov eax, dword [edi + 0x90]
cmp eax, 0x191
je 0x4ef8ea
push 0x13
push esi
push str.Proxy_authenticate:
call fcn.004d8540
add esp, 0xc
test eax, eax
je 0x4ef904
mov eax, dword [edi + 0x90]
cmp eax, 0x197
jne 0x4ef904
push esi
push eax
push dword [ebp + 8]
call fcn.004df4a0
add esp, 0xc
test eax, eax
jne 0x4efd66
jmp 0x4ef9cf
push 0xf
push esi
push str.Content_Length:
call fcn.004d8540
add esp, 0xc
test eax, eax
je 0x4ef933
push 0xa
push 0
add esi, 0xf
push esi
call fcn.00508eae
add esp, 0xc
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], edx
jmp 0x4ef9cf
push str.close
push str.Connection:
push esi
call fcn.004df200
add esp, 0xc
test eax, eax
je 0x4ef953
mov dword [ebp - 0x2c], 1
jmp 0x4ef9cf
push str.chunked
push str.Transfer_Encoding:
push esi
call fcn.004df200
add esp, 0xc
test eax, eax
je 0x4ef989
push str.CONNECT_responded_chunked_n
push edi
call fcn.004d6330
push dword [ebp + 8]
mov dword [ebp - 0x38], 1
call fcn.004dd090
add esp, 0xc
jmp 0x4ef9cf
push str.close
push str.Proxy_Connection:
push esi
call fcn.004df200
add esp, 0xc
test eax, eax
je 0x4ef9a9
mov dword [ebp - 0x2c], 1
jmp 0x4ef9cf
lea ebx, [edi + 0x90]
push ebx
lea eax, [ebp - 0x48]
push eax
push str.HTTP_1._d__d
push esi
call fcn.004803b0
add esp, 0x10
cmp eax, 2
jne 0x4ef9cf
mov eax, dword [ebx]
mov dword [edi + 0x86b0], eax
mov eax, dword [ebp - 0x40]
xor ebx, ebx
mov edx, dword [ebp - 0x20]
mov cl, byte [ebp - 1]
mov byte [eax], cl
mov ecx, dword [ebp - 0x10]
lea esi, [edx + 1]
mov eax, dword [ebp - 0x14]
inc eax
inc edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x14], eax
cmp eax, ecx
jl 0x4ef840
jmp 0x4efb64
cmp dword [edi + 0x90], 0x197
lea eax, [edi + 0x55c]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], eax
jne 0x4efb19
cmp dword [edi + 0x860c], 0
jne 0x4efb19
mov ecx, dword [ebp - 0x18]
mov eax, ecx
mov edx, dword [ebp - 0x1c]
or eax, edx
mov dword [ebp - 0xc], 2
je 0x4efa88
push edx
push ecx
push str.Ignore__lld_bytes_of_response_body_n
push edi
call fcn.004d6330
mov eax, dword [ebp - 0x10]
add esp, 0x10
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
cdq
sub ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
sbb eax, edx
mov dword [ebp - 0x1c], eax
test eax, eax
jg 0x4efb44
jl 0x4efa73
test ecx, ecx
jne 0x4efb44
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], 0
mov dword [eax], 2
jmp 0x4efb64
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x4efa73
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x14]
push eax
push str._zd_bytes_of_chunk_left_n
push edi
mov dword [edi + 0xc8], 1
call fcn.004d6330
add esp, 0xc
cmp byte [esi + 1], 0xa
jne 0x4efab8
inc esi
inc dword [ebp - 0x14]
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x14]
push eax
lea eax, [esi + 1]
push eax
push dword [ebp + 8]
call fcn.004dd0b0
add esp, 0x10
cmp eax, 0xffffffff
jne 0x4efafd
push str.chunk_reading_DONE_n
push edi
call fcn.004d6330
mov eax, dword [ebp - 8]
add esp, 8
mov dword [ebp - 0xc], 0
mov dword [eax], 2
mov dword [eax], 2
jmp 0x4efb64
push dword [ebp - 0x10]
push str.Read__zd_bytes_of_chunk__continue_n
push edi
call fcn.004d6330
mov eax, dword [ebp - 8]
add esp, 0xc
mov dword [eax], 2
jmp 0x4efb64
xor eax, eax
cmp dword [edi + 0x86b0], 0xc8
mov dword [ebp - 0xc], eax
jne 0x4efb44
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x14]
add eax, 0xffffffff
je 0x4efb44
push eax
push str.Proxy_CONNECT_followed_by__zd_bytes_of_opaque_data._Data_ignored__known_bug_39_
push edi
call fcn.004d6290
add esp, 0xc
mov eax, dword [ebp - 8]
mov dword [eax], 2
jmp 0x4efb64
push str.Proxy_CONNECT_aborted_due_to_select_poll_error
push edi
mov dword [ebp - 0x28], 1
call fcn.004d6290
add esp, 8
mov ecx, dword [ebp + 8]
push ecx
call fcn.004e12a0
add esp, 4
test eax, eax
jne 0x4efc73
cmp dword [ebp - 0x24], 0x4000
mov eax, dword [ebp - 0xc]
jb 0x4ef6b0
cmp dword [ebp - 0x28], 0
jne 0x4efcec
cmp dword [edi + 0x86b0], 0xc8
mov ebx, dword [ebp + 8]
je 0x4efbc4
push ebx
call fcn.004df2d0
add esp, 4
test eax, eax
jne 0x4efd66
cmp dword [ebx + 0x1a0], eax
je 0x4efbc4
mov esi, 1
mov dword [ebp - 0x2c], esi
jmp 0x4efbcb
mov esi, dword [ebp - 0x2c]
test esi, esi
je 0x4efbd8
cmp dword [edi + 0xd4], 0
jne 0x4efc99
cmp dword [edi + 0xd4], 0
mov ecx, dword [ebp - 8]
je 0x4efcb0
cmp dword [ecx], 2
jne 0x4efc06
push 0
push str.TUNNEL_STATE_switched_to:__d_n
push edi
mov dword [ecx], 0
call fcn.004d6330
mov ecx, dword [ebp - 8]
add esp, 0xc
cmp dword [edi + 0xd4], 0
jne 0x4ef435
jmp 0x4efcb0
push dword [ebp - 0x24]
call fcn.004ff56b
push ebx
call fcn.004ff56b
add esp, 8
mov eax, 0x1b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Failed_sending_CONNECT_to_proxy
push edi
call fcn.004d6290
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
call fcn.004ff56b
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
call fcn.004ff56b
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.Proxy_CONNECT_aborted_due_to_timeout
push edi
call fcn.004d6290
add esp, 8
mov eax, 0x38
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x3c]
push dword [eax]
push ebx
call fcn.004d6880
mov eax, dword [ebp - 0x3c]
add esp, 8
mov dword [eax], 0xffffffff
mov eax, dword [edi + 0x90]
cmp eax, 0xc8
je 0x4efcf8
push eax
push str.Received_HTTP_code__d_from_proxy_after_CONNECT
push edi
call fcn.004d6290
add esp, 0xc
test esi, esi
je 0x4efce3
cmp dword [edi + 0xd4], 0
je 0x4efce3
mov dword [ebx + 0x1f8], 1
mov eax, dword [ebp - 8]
mov dword [eax], 0
pop edi
pop esi
mov eax, 0x38
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 8]
mov dword [eax], 2
mov eax, dword [ebx + 0x228]
test eax, eax
je 0x4efd1e
push eax
call fcn.004ff56b
add esp, 4
mov dword [ebx + 0x228], 0
push str.Proxy_replied_OK_to_CONNECT_request_n
mov dword [ebx + 0x228], 0
push edi
mov dword [edi + 0x8600], 1
call fcn.004d6330
add esp, 8
mov dword [edi + 0xc8], 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.004d6290
mov eax, 0x38
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret