Function at 0x41e716
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, dword [edi]
xor edx, edx
mov dword [ebp - 0x48], edx
mov eax, dword [ebx + 0x1e0]
mov dword [ebp - 8], ebx
mov dword [ebp - 0x34], eax
cmp eax, edx
jne 0x41e740
mov dword [ebp - 0x34], 0x36ee80
mov ecx, dword [ebp + 0xc]
lea eax, [edi + ecx*4 + 0x150]
mov dword [ebp - 0x44], eax
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
lea eax, [edi + ecx*4 + 0x4dc]
cmp dword [eax], 2
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x14], eax
je 0x41eff9
mov dword [edi + 0x220], edx
cmp dword [eax], edx
je 0x41ed08
lea eax, [ebx + 0x5ac]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0xc], 1
cmp dword [ebp - 0xc], 0
je 0x41ec8a
cmp dword [ebp - 0x2c], 0
jne 0x41efaa
push dword [edi + 0x144]
push dword [edi + 0x140]
call fcn.0042f5a7
push edx
push eax
call fcn.0042f5bd
mov ecx, dword [ebp - 0x34]
sub ecx, eax
add esp, 0x10
test ecx, ecx
jle 0x41ec76
mov eax, 0x3e8
cmp ecx, eax
jge 0x41e7e5
mov eax, ecx
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp - 0x38]
call fcn.00428bdb
add esp, 0x10
cmp eax, 0xffffffff
je 0x41ec49
test eax, eax
je 0x41e835
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp + 8]
mov eax, 0x4000
sub eax, dword [ebp - 0x28]
lea ebx, [ebp - 0x24]
push eax
push dword [ebp - 0x1c]
call fcn.00429566
pop ecx
pop ecx
cmp eax, 0x51
je 0x41ec62
xor ebx, ebx
cmp eax, ebx
je 0x41e84b
mov dword [ebp - 0xc], ebx
mov edi, esi
mov ebx, dword [ebp - 8]
push edi
call fcn.0042767a
pop ecx
test eax, eax
je 0x41ec67
push 0x2a
jmp 0x41ed4b
mov ecx, dword [ebp - 0x24]
cmp ecx, ebx
jg 0x41e892
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], ebx
cmp dword [esi + 0x158], ebx
je 0x41e87b
cmp dword [esi + 0x864c], ebx
je 0x41e87b
mov eax, dword [ebp + 8]
mov dword [eax + 0x220], 1
mov ebx, esi
mov edi, eax
jmp 0x41e835
push str.Proxy_CONNECT_aborted
mov dword [ebp - 0x2c], 1
call fcn.00429149
pop ecx
jmp 0x41ec3f
add dword [ebp - 0x28], ecx
cmp dword [ebp - 0xc], 1
jle 0x41e91a
mov edx, dword [ebp - 0x50]
or edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x1c], eax
je 0x41e8d1
mov eax, ecx
cdq
sub dword [ebp - 0x50], eax
sbb dword [ebp - 0x4c], edx
cmp dword [ebp - 0x4c], ebx
jg 0x41e830
jl 0x41e8c9
cmp dword [ebp - 0x50], ebx
ja 0x41e830
and dword [ebp - 0xc], ebx
jmp 0x41e830
lea edx, [ebp - 0x10]
push edx
push ecx
push eax
mov edi, esi
mov dword [ebp - 0x10], ebx
call fcn.0041da49
mov esi, dword [ebp - 8]
add esp, 0xc
cmp eax, 0xffffffff
jne 0x41e904
push str.chunk_reading_DONE_n
call fcn.004290d9
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], ebx
mov dword [eax], 2
jmp 0x41e912
push dword [ebp - 0x10]
push str.Read__zd_bytes_of_chunk__continue_n
call fcn.004290d9
pop ecx
pop ecx
mov ebx, esi
jmp 0x41e835
cmp ecx, ebx
mov dword [ebp - 0x10], ebx
jle 0x41e830
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
inc dword [ebp - 0x18]
cmp byte [eax], 0xa
jne 0x41eb05
mov esi, dword [ebp - 8]
cmp dword [esi + 0x324], 0
je 0x41e958
push dword [ebp + 8]
mov edi, dword [ebp - 0x20]
push dword [ebp - 0x18]
mov ecx, esi
push 1
call fcn.004296bc
add esp, 0xc
cmp dword [esi + 0x308], 0
push 2
pop eax
je 0x41e967
push 3
pop eax
push dword [ebp - 0x18]
mov ebx, dword [ebp + 8]
push edi
push eax
push ebx
call fcn.00429417
mov ecx, dword [ebp - 0x18]
add dword [esi + 0x8700], ecx
add dword [esi + 0x80], ecx
add esp, 0x10
test eax, eax
jne 0x41effb
mov al, byte [edi]
cmp al, 0xd
je 0x41eb1f
cmp al, 0xa
je 0x41eb1f
mov eax, ecx
add eax, edi
mov cl, byte [eax]
mov dword [ebp - 0x20], eax
mov byte [eax], 0
push 0x11
mov eax, edi
mov edx, str.WWW_Authenticate:
mov byte [ebp - 1], cl
call fcn.00427eb5
pop ecx
test eax, eax
je 0x41e9d0
mov eax, dword [esi + 0xc8]
cmp eax, 0x191
je 0x41e9f0
push 0x13
mov eax, edi
mov edx, str.Proxy_authenticate:
call fcn.00427eb5
pop ecx
test eax, eax
je 0x41ea2f
mov eax, dword [esi + 0xc8]
cmp eax, 0x197
jne 0x41ea2f
xor ecx, ecx
cmp eax, 0x197
sete cl
mov eax, edi
mov esi, ecx
call fcn.0041a609
mov edi, eax
test edi, edi
je 0x41ed49
push esi
push ebx
call fcn.0041accb
push edi
mov esi, eax
call dword [0x4a1840]
add esp, 0xc
test esi, esi
je 0x41eaf0
mov eax, esi
jmp 0x41effb
push 0xf
mov eax, edi
mov edx, 0x480fd4
call fcn.00427eb5
pop ecx
test eax, eax
je 0x41ea5d
push 0xa
push 0
add edi, 0xf
push edi
call fcn.00456714
add esp, 0xc
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
jmp 0x41eaf0
push str.close
push str.Connection:
mov eax, edi
call fcn.0041b18c
pop ecx
pop ecx
test eax, eax
jne 0x41eac1
push str.chunked
push str.Transfer_Encoding:
mov eax, edi
call fcn.0041b18c
pop ecx
pop ecx
test eax, eax
je 0x41eaaa
push str.CONNECT_responded_chunked_n
call fcn.004290d9
xor eax, eax
pop ecx
mov dword [ebp - 0x40], 1
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x20], eax
jmp 0x41eaf0
push str.close
push str.Proxy_Connection:
mov eax, edi
call fcn.0041b18c
pop ecx
pop ecx
test eax, eax
je 0x41eaca
mov dword [ebp - 0x30], 1
jmp 0x41eaf0
lea ebx, [esi + 0xc8]
push ebx
lea eax, [ebp - 0x48]
push eax
push str.HTTP_1._d__d
push edi
call fcn.00453d98
add esp, 0x10
cmp eax, 2
jne 0x41eaf0
mov eax, dword [ebx]
mov dword [esi + 0x86f0], eax
mov al, byte [ebp - 1]
mov ecx, dword [ebp - 0x20]
and dword [ebp - 0x18], 0
mov byte [ecx], al
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x20], eax
mov edi, eax
inc dword [ebp - 0x1c]
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jl 0x41e928
mov edi, dword [ebp + 8]
jmp 0x41e832
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp dword [esi + 0xc8], 0x197
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x1c], eax
jne 0x41ec0f
cmp dword [esi + 0x865c], ecx
jne 0x41ec0f
mov eax, dword [ebp - 0x50]
or eax, dword [ebp - 0x4c]
mov dword [ebp - 0xc], 2
je 0x41eb93
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push str.Ignore__I64d_bytes_of_response_body_n
call fcn.004290d9
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x10]
add esp, 0xc
cdq
sub dword [ebp - 0x50], eax
sbb dword [ebp - 0x4c], edx
xor eax, eax
cmp dword [ebp - 0x4c], eax
jg 0x41ec36
jl 0x41eb8b
cmp dword [ebp - 0x50], eax
ja 0x41ec36
mov dword [ebp - 0xc], eax
jmp 0x41ec36
cmp dword [ebp - 0x40], ecx
je 0x41ec0a
mov ebx, dword [ebp - 0x24]
mov eax, ebx
sub eax, dword [ebp - 0x10]
mov dword [esi + 0x100], 1
push eax
push str._zd_bytes_of_chunk_left_n
call fcn.004290d9
lea eax, [edi + 1]
cmp byte [eax], 0xa
pop ecx
pop ecx
jne 0x41ebc5
inc dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
sub ebx, dword [ebp - 0x10]
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x20]
inc eax
push ebx
push eax
call fcn.0041da49
add esp, 0xc
cmp eax, 0xffffffff
jne 0x41ebfb
push str.chunk_reading_DONE_n
call fcn.004290d9
mov eax, dword [ebp - 0x14]
and dword [ebp - 0xc], 0
mov dword [eax], 2
jmp 0x41ec35
push dword [ebp - 0x24]
push str.Read__zd_bytes_of_chunk__continue_n
call fcn.004290d9
jmp 0x41ec34
mov dword [ebp - 0xc], ecx
jmp 0x41ec36
cmp dword [esi + 0x86f0], 0xc8
mov dword [ebp - 0xc], ecx
jne 0x41ec36
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x10]
dec eax
cmp eax, ecx
je 0x41ec36
push eax
push str.Proxy_CONNECT_followed_by__zd_bytes_of_opaque_data._Data_ignored__known_bug_39_
call fcn.00429149
pop ecx
pop ecx
mov eax, dword [ebp - 0x14]
mov dword [eax], 2
mov edi, dword [ebp + 8]
mov ebx, esi
jmp 0x41e835
push str.Proxy_CONNECT_aborted_due_to_select_poll_error
mov esi, ebx
mov dword [ebp - 0x2c], 1
call fcn.00429149
pop ecx
jmp 0x41e835
mov ebx, dword [ebp - 8]
mov edi, esi
cmp dword [ebp - 0x28], 0x4000
jb 0x41e79e
jmp 0x41ec8a
push str.Proxy_CONNECT_aborted_due_to_timeout
mov esi, ebx
call fcn.00429149
pop ecx
mov dword [ebp - 0x2c], 2
xor esi, esi
cmp dword [ebp - 0x2c], esi
jne 0x41efaa
cmp dword [ebx + 0x86f0], 0xc8
je 0x41ecbd
call fcn.0041a93d
cmp eax, esi
jne 0x41effb
cmp dword [edi + 0x1c8], esi
je 0x41ecbd
mov dword [ebp - 0x30], 1
cmp dword [ebp - 0x30], esi
je 0x41ecce
cmp dword [ebx + 0x10c], esi
jne 0x41ef46
cmp dword [ebx + 0x10c], esi
je 0x41ecf1
mov eax, dword [ebp - 0x14]
cmp dword [eax], 2
jne 0x41ecf1
and dword [eax], 0
push 0
push str.TUNNEL_STATE_switched_to:__d_n
mov esi, ebx
call fcn.004290d9
pop ecx
pop ecx
cmp dword [ebx + 0x10c], 0
je 0x41ef58
mov eax, dword [ebp - 0x14]
xor edx, edx
jmp 0x41e77a
movzx eax, word [ebp + 0x14]
push eax
push dword [ebp + 0x10]
mov esi, ebx
push str.Establish_HTTP_proxy_tunnel_to__s:_hu_n
call fcn.004290d9
lea esi, [ebx + 0x10c]
mov eax, dword [esi]
add esp, 0xc
test eax, eax
je 0x41ed36
push eax
call dword [0x4a1840]
and dword [esi], 0
pop ecx
push 0xc
push 1
call dword [0x4a184c]
pop ecx
pop ecx
mov dword [ebp + 8], eax
test eax, eax
jne 0x41ed51
push 0x1b
pop eax
jmp 0x41effb
movzx eax, word [ebp + 0x14]
push eax
push dword [ebp + 0x10]
push str._s:_hu
call sym.stella.exe_curl_maprintf
add esp, 0xc
mov dword [ebp - 0x40], eax
test eax, eax
jne 0x41ed79
push dword [ebp + 8]
call dword [0x4a1840]
pop ecx
jmp 0x41ed49
push 1
push dword [ebp - 0x40]
mov esi, edi
push str.CONNECT
call fcn.0041abd5
add esp, 0xc
push dword [ebp - 0x40]
mov dword [ebp - 0x10], eax
call dword [0x4a1840]
cmp dword [ebp - 0x10], 0
pop ecx
jne 0x41ef1d
cmp dword [edi + 0x134], 1
mov esi, 0x47eba1
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], 0x480f18
je 0x41edc9
mov dword [ebp - 0x34], 0x480f14
mov eax, dword [edi + 0x1e0]
mov edx, 0x480dd0
test eax, eax
jne 0x41ee34
mov edx, esi
mov ecx, esi
movzx eax, word [ebp + 0x14]
push eax
push edx
push dword [ebp + 0x10]
push ecx
push str._s_s_s:_hu
call sym.stella.exe_curl_maprintf
add esp, 0x14
mov dword [ebp - 0x30], eax
test eax, eax
je 0x41ed6d
push str.Host:
push ebx
call fcn.0041a5c8
pop ecx
pop ecx
test eax, eax
jne 0x41ee3b
push dword [ebp - 0x30]
push str.Host:__s_r_n
call sym.stella.exe_curl_maprintf
pop ecx
pop ecx
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x41ee3b
push dword [ebp - 0x30]
call dword [0x4a1840]
pop ecx
jmp 0x41ed6d
mov ecx, 0x480dd4
jmp 0x41eddc
push str.Proxy_Connection:
push ebx
call fcn.0041a5c8
pop ecx
pop ecx
test eax, eax
jne 0x41ee53
mov dword [ebp - 0x40], str.Proxy_Connection:_Keep_Alive_r_n
push str.User_Agent:
push ebx
call fcn.0041a5c8
pop ecx
pop ecx
test eax, eax
jne 0x41ee75
cmp dword [ebx + 0x3e4], eax
je 0x41ee75
mov eax, dword [edi + 0x254]
mov dword [ebp - 0x3c], eax
mov eax, dword [edi + 0x250]
test eax, eax
jne 0x41ee81
mov eax, esi
push dword [ebp - 0x40]
mov esi, dword [ebp - 0x38]
push dword [ebp - 0x3c]
push eax
mov eax, dword [ebp + 8]
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x30]
push str.CONNECT__s_HTTP__s_r_n_s_s_s_s
call fcn.0041b07b
add esp, 0x1c
mov dword [ebp - 0x10], eax
test esi, esi
je 0x41eeb6
cmp byte [esi], 0
je 0x41eeb6
push esi
call dword [0x4a1840]
pop ecx
push dword [ebp - 0x30]
call dword [0x4a1840]
xor esi, esi
pop ecx
cmp dword [ebp - 0x10], esi
jne 0x41ef08
push dword [ebp + 8]
push edi
call fcn.0041b429
pop ecx
pop ecx
mov dword [ebp - 0x10], eax
cmp eax, esi
jne 0x41ef08
mov eax, dword [ebp + 8]
push 0x47fabc
call fcn.0041b07b
pop ecx
mov dword [ebp - 0x10], eax
cmp eax, esi
jne 0x41ef08
mov ecx, dword [ebp + 0xc]
push esi
lea eax, [ebx + 0x8704]
push eax
push edi
push dword [ebp + 8]
call fcn.0041aeed
add esp, 0x10
mov dword [ebp - 0x10], eax
mov dword [ebp + 8], esi
cmp dword [ebp - 0x10], esi
je 0x41ef38
push str.Failed_sending_CONNECT_to_proxy
mov esi, ebx
call fcn.00429149
pop ecx
cmp dword [ebp + 8], 0
je 0x41ef2d
push dword [ebp + 8]
call dword [0x4a1840]
pop ecx
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x41effb
mov eax, dword [ebp - 0x14]
mov dword [eax], 1
jmp 0x41eff9
mov eax, dword [ebp - 0x44]
mov esi, dword [eax]
mov eax, edi
call fcn.0040f97c
mov eax, dword [ebp - 0x44]
or dword [eax], 0xffffffff
mov eax, dword [ebx + 0xc8]
cmp eax, 0xc8
je 0x41efb1
push eax
push str.Received_HTTP_code__d_from_proxy_after_CONNECT
mov esi, ebx
call fcn.00429149
cmp dword [ebp - 0x30], 0
pop ecx
pop ecx
je 0x41ef8d
cmp dword [ebx + 0x10c], 0
je 0x41ef8d
mov dword [edi + 0x220], 1
add ebx, 0x10c
mov eax, dword [ebx]
test eax, eax
je 0x41efa4
push eax
call dword [0x4a1840]
and dword [ebx], 0
pop ecx
mov eax, dword [ebp - 0x14]
and dword [eax], 0
push 0x38
jmp 0x41ed4b
mov eax, dword [ebp - 0x14]
lea esi, [edi + 0x250]
mov dword [eax], 2
mov eax, dword [esi]
test eax, eax
je 0x41efd1
push eax
call dword [0x4a1840]
and dword [esi], 0
pop ecx
and dword [esi], 0
push str.Proxy_replied_OK_to_CONNECT_request_n
mov esi, ebx
mov dword [ebx + 0x8650], 1
call fcn.004290d9
and dword [ebx + 0x100], 0
and dword [edi + 0x204], 0
pop ecx
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret