Function at 0x4747b0
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
mov eax, dword [ebp + 0xc]
push ebx
push esi
add eax, 0x108
mov dword [ebp - 0x28], 0
push edi
mov edi, dword [ebp + 8]
mov esi, dword [edi + 0x69c]
lea eax, [edi + eax*4]
mov ebx, dword [edi]
mov dword [ebp - 0xc], eax
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
test esi, esi
je 0x475158
cmp dword [esi + 0x20], 2
je 0x475158
mov byte [edi + 0x500], 0
nop word [eax + eax]
cmp dword [esi + 0x20], 0
jne 0x474a44
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push str.Establish_HTTP_proxy_tunnel_to__s:_d_n
push ebx
call fcn.00466750
push dword [ebx + 0x12c]
call dword [0x5be014]
push dword [ebp + 0x14]
mov dword [ebx + 0x12c], 0
push dword [ebp + 0x10]
push str._s:_d
call fcn.00469900
add esp, 0x20
mov dword [ebp - 0x10], eax
test eax, eax
je 0x47500d
lea eax, [ebp - 0x40]
push 0x20000
push eax
call fcn.0045e770
push 1
push dword [ebp - 0x10]
push str.CONNECT
push edi
call fcn.0046f140
push dword [ebp - 0x10]
mov edi, eax
call dword [0x5be014]
add esp, 0x1c
test edi, edi
jne 0x474a26
mov dword [ebp - 0x10], edi
mov ecx, 0x549b64
mov edi, dword [ebp + 8]
mov eax, 0x549b68
mov dword [ebp - 0x14], 0x5a3200
cmp dword [edi + 0x358], 1
cmovne eax, ecx
mov cl, byte [edi + 0x508]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x10]
cmp eax, dword [edi + 0x304]
je 0x4748c8
push 0x3a
push eax
call fcn.004aecf0
add esp, 8
test eax, eax
setne cl
push dword [ebp + 0x14]
test cl, cl
mov edx, 0x5a3200
mov eax, 0x549000
cmove eax, edx
push eax
push dword [ebp + 0x10]
mov eax, 0x549004
cmove eax, edx
push eax
push str._s_s_s:_d
call fcn.00469900
add esp, 0x14
mov dword [ebp - 8], eax
test eax, eax
je 0x475001
push str.Host
push edi
call fcn.0046eaa0
add esp, 8
test eax, eax
jne 0x47492c
push dword [ebp - 8]
push str.Host:__s_r_n
call fcn.00469900
add esp, 8
mov dword [ebp - 0x10], eax
test eax, eax
je 0x474fe0
push str.Proxy_Connection
push edi
call fcn.0046eaa0
test eax, eax
mov ecx, str.Proxy_Connection:_Keep_Alive_r_n
mov eax, 0x5a3200
cmovne ecx, eax
push str.User_Agent
push edi
mov dword [ebp - 0x1c], ecx
call fcn.0046eaa0
add esp, 0x10
test eax, eax
jne 0x47496c
cmp dword [ebx + 0xa04], eax
je 0x47496c
mov eax, dword [ebx + 0x10e0]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x1c]
mov eax, dword [ebx + 0x10dc]
mov edx, 0x5a3200
push dword [ebp - 0x14]
test eax, eax
mov ecx, edx
cmovne ecx, eax
mov eax, edx
push ecx
mov ecx, dword [ebp - 0x10]
test ecx, ecx
cmovne eax, ecx
push eax
push dword [ebp - 0x20]
lea eax, [ebp - 0x40]
push dword [ebp - 8]
push str.CONNECT__s_HTTP__s_r_n_s_s_s_s
push eax
call fcn.0045e6c0
mov edi, eax
add esp, 0x20
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x4749ba
push eax
call dword [0x5be014]
add esp, 4
push dword [ebp - 8]
call dword [0x5be014]
add esp, 4
test edi, edi
jne 0x474a18
lea eax, [ebp - 0x40]
push eax
push 1
push dword [ebp + 8]
call fcn.0046e410
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x474a18
lea eax, [ebp - 0x40]
push 0x5488b8
push eax
call fcn.0045e690
mov edi, eax
add esp, 8
test edi, edi
jne 0x474a18
push dword [ebp + 0xc]
push eax
lea eax, [ebx + 0x1160]
push eax
push dword [ebp + 8]
lea eax, [ebp - 0x40]
push eax
call fcn.0046e880
mov edi, eax
add esp, 0x14
test edi, edi
je 0x474a26
push str.Failed_sending_CONNECT_to_proxy
push ebx
call fcn.00466670
add esp, 8
lea eax, [ebp - 0x40]
push eax
call fcn.0045e740
add esp, 4
test edi, edi
jne 0x475019
mov edi, dword [ebp + 8]
mov dword [esi + 0x20], 1
push 1
push 0
push ebx
call fcn.00467d40
add esp, 0xc
test edx, edx
jl 0x475161
jg 0x474a63
test eax, eax
je 0x475161
push dword [ebp + 0xc]
push edi
call fcn.00467130
add esp, 8
test al, al
je 0x475158
cmp dword [esi + 0x10], 0
mov dword [ebp - 0x10], 0
je 0x474ee3
lea eax, [ebp - 0x18]
push eax
push 1
lea eax, [ebp - 1]
push eax
push dword [ebp - 0x24]
push edi
call fcn.00466810
mov edi, eax
add esp, 0x14
cmp edi, 0x51
je 0x475158
push dword [ebp + 8]
call fcn.00473200
add esp, 4
test eax, eax
jne 0x47503c
test edi, edi
jne 0x474ed9
cmp dword [ebp - 0x18], edi
jle 0x474f94
cmp dword [esi + 0x10], 1
jle 0x474b4e
mov ecx, dword [esi + 0x18]
mov eax, ecx
mov edx, dword [esi + 0x1c]
or eax, edx
je 0x474b0a
sub ecx, 1
mov dword [esi + 0x18], ecx
sbb edx, edi
mov dword [esi + 0x1c], edx
test edx, edx
jl 0x474ed2
jg 0x474afc
test ecx, ecx
jbe 0x474ed2
mov edi, dword [ebp + 8]
cmp dword [esi + 0x10], 0
jne 0x474a88
jmp 0x474ee3
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0
push eax
push 1
lea eax, [ebp - 1]
push eax
push edi
call fcn.0048c320
add esp, 0x14
cmp eax, 0xffffffff
jne 0x474aff
push str.chunk_reading_DONE_n
push ebx
call fcn.00466750
add esp, 8
mov dword [esi + 0x10], 0
mov dword [esi + 0x20], 2
jmp 0x474aff
push 1
lea eax, [ebp - 1]
push eax
push esi
call fcn.0045e730
add esp, 0xc
test eax, eax
jne 0x475022
cmp byte [ebp - 1], 0xa
jne 0x474afc
push esi
call fcn.0045e7b0
push esi
mov edi, eax
call fcn.0045e7a0
add esp, 8
mov dword [ebp - 0x14], eax
cmp byte [ebx + 0xb42], 0
je 0x474b98
push eax
push edi
push 1
push ebx
call fcn.004665f0
mov eax, dword [ebp - 0x14]
add esp, 0x10
cmp byte [ebx + 0xb55], 0
jne 0x474bc5
push eax
xor eax, eax
cmp byte [ebx + 0xb3d], al
push edi
setne al
add eax, 2
push eax
push dword [ebp + 8]
call fcn.004665c0
add esp, 0x10
test eax, eax
jne 0x47515a
mov eax, dword [ebp - 0x14]
cdq
add dword [ebx + 0x1158], eax
adc dword [ebx + 0x115c], edx
add dword [ebx + 0xa8], eax
adc dword [ebx + 0xac], edx
mov al, byte [edi]
cmp al, 0xd
je 0x474e10
cmp al, 0xa
je 0x474e10
push 0x11
push edi
push str.WWW_Authenticate:
call fcn.004693c0
add esp, 0xc
test eax, eax
je 0x474c17
mov eax, dword [ebx + 0xf0]
mov dword [ebp - 0x14], eax
cmp eax, 0x191
je 0x474c3b
push 0x13
push edi
push str.Proxy_authenticate:
call fcn.004693c0
add esp, 0xc
test eax, eax
je 0x474c8e
mov eax, dword [ebx + 0xf0]
mov dword [ebp - 0x14], eax
cmp eax, 0x197
jne 0x474c8e
push edi
call fcn.0046ebf0
mov edi, eax
add esp, 4
test edi, edi
je 0x47500d
cmp dword [ebp - 0x14], 0x197
push edi
sete cl
movzx ecx, cl
push ecx
push dword [ebp + 8]
call fcn.0046ef70
push edi
mov dword [ebp - 0x20], eax
call dword [0x5be014]
mov eax, dword [ebp - 0x20]
add esp, 0x10
test eax, eax
jne 0x47515a
mov edi, dword [ebp + 8]
push esi
call fcn.0045e7c0
add esp, 4
jmp 0x474aff
push 0xf
push edi
push str.Content_Length:
call fcn.004693c0
add esp, 0xc
test eax, eax
je 0x474cf8
mov ecx, dword [ebx + 0xf0]
lea eax, [ecx - 0xc8]
cmp eax, 0x64
jae 0x474cd3
push ecx
push str.Ignoring_Content_Length_in_CONNECT__03d_response_n
push ebx
call fcn.00466750
mov edi, dword [ebp + 8]
add esp, 0xc
push esi
call fcn.0045e7c0
add esp, 4
jmp 0x474aff
lea eax, [esi + 0x18]
push eax
push 0xa
lea eax, [edi + 0xf]
push 0
push eax
call fcn.004766d0
mov edi, dword [ebp + 8]
add esp, 0x10
push esi
call fcn.0045e7c0
add esp, 4
jmp 0x474aff
push str.close
push str.Connection:
push edi
call fcn.0046eb20
add esp, 0xc
test al, al
je 0x474d24
mov edi, dword [ebp + 8]
push esi
mov byte [esi + 0x25], 1
call fcn.0045e7c0
add esp, 4
jmp 0x474aff
push 0x12
push edi
push str.Transfer_Encoding:
call fcn.004693c0
add esp, 0xc
test eax, eax
je 0x474da9
mov ecx, dword [ebx + 0xf0]
lea eax, [ecx - 0xc8]
cmp eax, 0x64
jae 0x474d69
push ecx
push str.Ignoring_Transfer_Encoding_in_CONNECT__03d_response_n
push ebx
call fcn.00466750
mov edi, dword [ebp + 8]
add esp, 0xc
push esi
call fcn.0045e7c0
add esp, 4
jmp 0x474aff
push str.chunked
push str.Transfer_Encoding:
push edi
call fcn.0046eb20
add esp, 0xc
test al, al
je 0x474dff
push str.CONNECT_responded_chunked_n
push ebx
call fcn.00466750
mov edi, dword [ebp + 8]
push edi
mov byte [esi + 0x24], 1
call fcn.0048c2e0
add esp, 0xc
push esi
call fcn.0045e7c0
add esp, 4
jmp 0x474aff
push str.close
push str.Proxy_Connection:
push edi
call fcn.0046eb20
add esp, 0xc
test al, al
je 0x474dd5
mov edi, dword [ebp + 8]
push esi
mov byte [esi + 0x25], 1
call fcn.0045e7c0
add esp, 4
jmp 0x474aff
lea eax, [ebx + 0xf0]
push eax
lea eax, [ebp - 0x28]
push eax
push str.HTTP_1._d__d
push edi
call fcn.0045dd80
add esp, 0x10
cmp eax, 2
jne 0x474dff
mov eax, dword [ebx + 0xf0]
mov dword [ebx + 0x1144], eax
mov edi, dword [ebp + 8]
push esi
call fcn.0045e7c0
add esp, 4
jmp 0x474aff
cmp dword [ebx + 0xf0], 0x197
jne 0x474eb0
cmp byte [ebx + 0x1109], 0
jne 0x474eb0
mov edx, dword [esi + 0x18]
mov eax, edx
mov ecx, dword [esi + 0x1c]
or eax, ecx
mov dword [esi + 0x10], 2
je 0x474e52
push ecx
push edx
push str.Ignore__I64d_bytes_of_response_body_n
push ebx
call fcn.00466750
add esp, 0x10
jmp 0x474eb7
cmp byte [esi + 0x24], 0
je 0x474eb0
push str.Ignore_chunked_response_body_n
push ebx
call fcn.00466750
lea eax, [edi + 1]
mov byte [ebx + 0x587], 1
cmp byte [eax], 0xa
cmove edi, eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [edi + 1]
mov edi, dword [ebp + 8]
push 1
push eax
push edi
call fcn.0048c320
add esp, 0x1c
cmp eax, 0xffffffff
jne 0x474eba
push str.chunk_reading_DONE_n
push ebx
call fcn.00466750
add esp, 8
mov dword [esi + 0x10], 0
mov dword [esi + 0x20], 2
jmp 0x474eba
mov dword [esi + 0x10], 0
mov edi, dword [ebp + 8]
mov eax, dword [esi + 0x18]
or eax, dword [esi + 0x1c]
jne 0x474aff
mov dword [esi + 0x20], 2
jmp 0x474aff
mov dword [esi + 0x20], 2
mov edi, dword [ebp + 8]
mov dword [esi + 0x10], 0
push edi
call fcn.00473200
add esp, 4
test eax, eax
jne 0x47503c
cmp dword [ebp - 0x10], eax
jne 0x475030
mov eax, dword [ebx + 0x1144]
sub eax, 0xc8
cmp eax, 0x64
jb 0x474f2a
push edi
call fcn.0046ecc0
add esp, 4
test eax, eax
jne 0x47515a
cmp byte [edi + 0x501], al
je 0x474f2a
mov byte [esi + 0x25], 1
cmp byte [esi + 0x25], 0
je 0x474f3d
cmp dword [ebx + 0x12c], 0
jne 0x475048
cmp dword [ebx + 0x12c], 0
je 0x47505f
cmp dword [esi + 0x20], 2
jne 0x474f82
mov edi, dword [edi + 0x69c]
push edi
call fcn.0045e7c0
mov dword [edi + 0x20], 0
add esp, 4
mov dword [edi + 0x10], 1
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0
mov byte [edi + 0x25], 0
mov edi, dword [ebp + 8]
cmp dword [ebx + 0x12c], 0
jne 0x474800
jmp 0x47505f
cmp dword [ebx + 0x5b8], 0
je 0x474fc3
cmp dword [ebx + 0xdf8], 0
je 0x474fc3
mov edi, dword [ebp + 8]
push str.Proxy_CONNECT_connection_closed_n
push ebx
mov byte [edi + 0x500], 1
call fcn.00466750
add esp, 8
jmp 0x474edc
push str.Proxy_CONNECT_aborted
push ebx
mov dword [ebp - 0x10], 1
call fcn.00466670
mov edi, dword [ebp + 8]
add esp, 8
jmp 0x474edc
push dword [ebp - 8]
call dword [0x5be014]
lea eax, [ebp - 0x40]
push eax
call fcn.0045e740
add esp, 8
mov eax, 0x1b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x40]
push eax
call fcn.0045e740
add esp, 4
pop edi
pop esi
mov eax, 0x1b
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.CONNECT_response_too_large_
push ebx
call fcn.00466670
add esp, 8
pop edi
pop esi
mov eax, 0x38
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0x2a
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc]
push dword [eax]
push edi
call fcn.004670b0
mov eax, dword [ebp - 0xc]
add esp, 8
mov dword [eax], 0xffffffff
mov eax, dword [ebx + 0x1144]
sub eax, 0xc8
cmp eax, 0x64
jb 0x47510a
cmp byte [esi + 0x25], 0
je 0x47509f
cmp dword [ebx + 0x12c], 0
je 0x47509f
push str.Connect_me_again_please_n
push ebx
mov byte [edi + 0x500], 1
call fcn.00466750
push edi
call fcn.004753e0
add esp, 0xc
jmp 0x4750d4
push dword [ebx + 0x12c]
call dword [0x5be014]
push 2
push edi
mov dword [ebx + 0x12c], 0
call fcn.004671c0
mov eax, dword [ebp - 0xc]
push dword [eax]
push edi
call fcn.004670b0
mov eax, dword [ebp - 0xc]
add esp, 0x14
mov dword [eax], 0xffffffff
mov dword [esi + 0x20], 0
cmp byte [edi + 0x500], 0
jne 0x475158
push esi
call fcn.0045e740
push dword [ebx + 0xf0]
push str.Received_HTTP_code__d_from_proxy_after_CONNECT
push ebx
call fcn.00466670
add esp, 0x10
mov eax, 0x38
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esi + 0x20], 2
push dword [ebx + 0x10dc]
call dword [0x5be014]
push dword [ebx + 0x1144]
mov dword [ebx + 0x10dc], 0
push str.Proxy_replied__d_to_CONNECT_request_n
push ebx
mov word [ebx + 0xdfc], 1
call fcn.00466750
mov byte [ebx + 0x587], 0
push esi
mov byte [edi + 0x50e], 0
call fcn.0045e740
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Proxy_CONNECT_aborted_due_to_timeout
push ebx
call fcn.00466670
add esp, 8
mov eax, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret