Function at 0x1403c2fe0
Capabilities:
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
movsx rax, byte [rcx + 0x435]
mov rbx, rcx
mov r15, qword [rcx]
xor esi, esi
mov ecx, dword [rcx + 0x400]
mov rbp, rdx
imul r14, rax, 0x138
movzx ecx, cx
mov r12d, 0x20b
mov rdi, qword [r14 + r15 + 0x2c0]
cmp ecx, 0x201
ja 0x1403c30aa
je 0x1403c3071
sub ecx, 0x12
je 0x1403c3327
sub ecx, 1
je 0x1403c339e
cmp ecx, 1
jne 0x1403c3382
test dword [rbx + 0x420], 0x400000
jne 0x1403c3382
mov rcx, rbx
call fcn.1403a6720
test eax, eax
jne 0x1403c3382
jmp 0x1403c3473
mov rcx, rbx
call fcn.1403a5eb0
mov r9, rax
lea r8, str.lws_http_client_socket_service
lea rdx, str._s:__s:_WAITING_DNS_n
mov ecx, 1
call fcn.1403a8a00
mov rcx, rbx
call fcn.1403ac400
test rax, rax
je 0x1403c33ef
jmp 0x1403c3382
sub ecx, 0x202
je 0x1403c3524
sub ecx, 1
je 0x1403c3244
cmp ecx, 8
jne 0x1403c3382
movzx eax, word [rdx + 0xa]
mov ecx, 0x302
and ax, cx
cmp ax, 2
jne 0x1403c3100
lea rcx, [rbx + 0x3e8]
call fcn.1403b6080
test rax, rax
je 0x1403c3202
mov edx, 6
mov rcx, rbx
lea r8d, [rdx - 3]
call fcn.1403b4bc0
test byte [rbp + 0xa], 0x10
je 0x1403c311d
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x10]
call fcn.1403b61f0
test eax, eax
jne 0x1403c33ef
mov eax, 0x300
test word [rbp + 0xa], ax
je 0x1403c3382
mov rax, qword [rbx + 0x40]
cmp byte [rax + 0x3d0], 0x65
je 0x1403c3226
lea rbp, str.lws_http_client_socket_service
nop dword [rax]
nop dword [rax + rax]
lea rcx, [r15 + 0x1f8]
mov qword [rsp + 0x30], rsi
add rcx, r14
mov dword [rsp + 0x38], esi
xor r9d, r9d
mov qword [rsp + 0x20], rbp
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.1403a7d50
mov ecx, dword [rsp + 0x38]
mov edi, eax
cmp ecx, 0xfffffffc
je 0x1403c3382
test eax, eax
js 0x1403c321a
test ecx, ecx
js 0x1403c321a
je 0x1403c3382
mov rdx, qword [rsp + 0x30]
lea r8, [rsp + 0x70]
mov dword [rsp + 0x70], ecx
mov rcx, rbx
call fcn.1403ab5b0
test eax, eax
jne 0x1403c320e
mov r8d, dword [rsp + 0x38]
lea rdx, [rsp + 0x30]
sub r8d, dword [rsp + 0x70]
mov r9d, edi
mov rcx, rbx
mov qword [rsp + 0x20], rbp
call fcn.1403a7e90
test eax, eax
jne 0x1403c33ef
cmp dword [rsp + 0x70], esi
jne 0x1403c3226
mov rax, qword [rbx + 0x40]
cmp byte [rax + 0x3d0], 0x65
jne 0x1403c3150
mov rcx, rbx
call fcn.1403c2270
jmp 0x1403c3384
lea rdi, str.Peer_hung_up
jmp 0x1403c34ed
lea rdi, str.problems_parsing_header
jmp 0x1403c34ed
lea rdi, str.read_failed
jmp 0x1403c34ed
mov rax, qword [rbx + 0x40]
cmp byte [rax + 0x3d0], 0x65
jne 0x1403c3382
mov rcx, rbx
call fcn.1403c2270
jmp 0x1403c3384
test byte [rdx + 0xa], 2
je 0x1403c3256
lea rdi, str.proxy_conn_dead
jmp 0x1403c34ed
mov r8d, dword [r15 + 0x7ec]
xor r9d, r9d
mov rcx, qword [rbx + 0x3f8]
mov rdx, rdi
call qword [sym.imp.WS2_32.dll_recv]
mov ecx, eax
test eax, eax
jns 0x1403c32a4
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x1403c3382
lea rdx, str.ERROR_reading_from_proxy_socket_n
mov ecx, 1
call fcn.1403a8a00
lea rdi, str.proxy_read_err
jmp 0x1403c34ed
mov rax, qword [r14 + r15 + 0x2c0]
mov byte [rax + 0xd], sil
cmp ecx, 0xd
jl 0x1403c34e6
mov r8d, 7
lea rdx, str.HTTP_1.
mov rcx, rdi
call fcn.140564a50
test eax, eax
jne 0x1403c34e6
movzx eax, byte [rdi + 7]
sub al, 0x30
cmp al, 1
ja 0x1403c34e6
cmp byte [rdi + 8], 0x20
jne 0x1403c34e6
lea rcx, [rdi + 9]
call fcn.140560a9c
cmp eax, 0xc8
je 0x1403c331a
mov r9d, eax
lea r8, str.http_proxy_____u
mov edx, reloc.WS2_32.dll_sendto
mov rcx, rdi
call fcn.1403ac8d0
jmp 0x1403c34ed
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.1403b4bc0
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x10]
call fcn.1403b61f0
test eax, eax
jne 0x1403c33ef
test dword [rbx + 0x410], 0x40000
je 0x1403c339e
test dword [rbx + 0x420], 0x10000000
je 0x1403c339e
mov rcx, rbx
call fcn.1403b8010
test eax, eax
je 0x1403c336e
lea rdi, str.error_sending_h2_preface
jmp 0x1403c34ed
mov r8d, dword [r15 + 0x7e8]
mov edx, reloc.WS2_32.dll_inet_addr
mov rcx, rbx
call fcn.1403b4bc0
xor eax, eax
mov rbx, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov rdx, rdi
mov rcx, rbx
call fcn.1403c2b30
test rax, rax
jne 0x1403c33f6
mov rax, qword [rbx + 0x360]
lea rcx, str.raw_skt
cmp rax, rcx
je 0x1403c3382
lea rcx, str.raw_file
cmp rax, rcx
je 0x1403c3382
lea rdx, str.Failed_to_generate_handshake_for_client_n
mov ecx, 1
call fcn.1403a8a00
lea r8, [0x1405d5308]
xor edx, edx
mov rcx, rbx
call fcn.1403ae7c0
mov eax, 0xffffffff
jmp 0x1403c3384
sub rax, rdi
mov rdx, rdi
mov r8, rax
mov rcx, rbx
call fcn.1403a8440
cmp eax, 0xfffffffc
je 0x1403c3427
cmp eax, 0xffffffff
jne 0x1403c342f
lea r8, [0x1405d52d0]
xor edx, edx
mov rcx, rbx
call fcn.1403ae7c0
jmp 0x1403c3382
mov rcx, rbx
call fcn.1403b6140
test dword [rbx + 0x420], 0x400000
jne 0x1403c34ac
mov rcx, rbx
call fcn.1403a6720
test eax, eax
jne 0x1403c34ac
mov r8, qword [rbx]
lea edx, [rax + 4]
and dword [rbx + 0x41c], 0xfffffffe
mov rcx, rbx
mov word [rbx + 0x400], r12w
mov r8d, dword [r8 + 0x7e8]
call fcn.1403b4bc0
mov rcx, rbx
call fcn.1403b6140
mov rax, qword [rbx + 0x40]
mov edx, 4
mov byte [rax + 0x3d0], 0x61
mov rax, qword [rbx + 0x40]
mov word [rax + 0x3c8], si
mov rax, qword [rbx + 0x40]
mov dword [rax + 0x3b8], esi
mov word [rbx + 0x400], r12w
mov r8d, dword [r15 + 0x7e8]
jmp 0x1403c337a
mov word [rbx + 0x400], 0x14
mov edx, reloc.WS2_32.dll_select
mov r8d, dword [r15 + 0x7e8]
mov rcx, rbx
call fcn.1403b4bc0
test dword [rbx + 0x410], 0x800
je 0x1403c3382
mov rcx, rbx
call fcn.1403b6140
jmp 0x1403c3382
lea rdi, str.http_proxy_fail
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdi + r8], 0
jne 0x1403c34f4
mov rdx, rdi
mov rcx, rbx
call fcn.1403af5a0
lea r8, str.cbail3
xor edx, edx
mov rcx, rbx
call fcn.1403ae7c0
mov eax, 0xffffffff
jmp 0x1403c3384
test byte [rdx + 0xa], 0x10
je 0x1403c3382
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.1403be2f0
neg rax
sbb eax, eax
neg eax
dec eax
jmp 0x1403c3384