Function at 0x180040050
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 0x18004011a
je 0x1800400e1
sub ecx, 0x12
je 0x180040397
sub ecx, 1
je 0x18004040e
cmp ecx, 1
jne 0x1800403f2
test dword [rbx + 0x420], 0x400000
jne 0x1800403f2
mov rcx, rbx
call fcn.180023f70
test eax, eax
jne 0x1800403f2
jmp 0x1800404e3
mov rcx, rbx
call fcn.180024960
mov r9, rax
lea r8, str.lws_http_client_socket_service
lea rdx, str._s:__s:_WAITING_DNS_n
mov ecx, 1
call fcn.1800264d0
mov rcx, rbx
call fcn.1800312c0
test rax, rax
je 0x18004045f
jmp 0x1800403f2
sub ecx, 0x202
je 0x180040594
sub ecx, 1
je 0x1800402b4
cmp ecx, 8
jne 0x1800403f2
movzx eax, word [rdx + 0xa]
mov ecx, 0x302
and ax, cx
cmp ax, 2
jne 0x180040170
lea rcx, [rbx + 0x3e8]
call fcn.1800334b0
test rax, rax
je 0x180040272
mov edx, 6
mov rcx, rbx
lea r8d, [rdx - 3]
call fcn.1800321b0
test byte [rbp + 0xa], 0x10
je 0x18004018d
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x10]
call fcn.180033690
test eax, eax
jne 0x18004045f
mov eax, 0x300
test word [rbp + 0xa], ax
je 0x1800403f2
mov rax, qword [rbx + 0x40]
cmp byte [rax + 0x3d0], 0x65
je 0x180040296
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.180024b70
mov ecx, dword [rsp + 0x38]
mov edi, eax
cmp ecx, 0xfffffffc
je 0x1800403f2
test eax, eax
js 0x18004028a
test ecx, ecx
js 0x18004028a
je 0x1800403f2
mov rdx, qword [rsp + 0x30]
lea r8, [rsp + 0x70]
mov dword [rsp + 0x70], ecx
mov rcx, rbx
call fcn.18002b550
test eax, eax
jne 0x18004027e
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.180024a80
test eax, eax
jne 0x18004045f
cmp dword [rsp + 0x70], esi
jne 0x180040296
mov rax, qword [rbx + 0x40]
cmp byte [rax + 0x3d0], 0x65
jne 0x1800401c0
mov rcx, rbx
call fcn.18003f2e0
jmp 0x1800403f4
lea rdi, str.Peer_hung_up
jmp 0x18004055d
lea rdi, str.problems_parsing_header
jmp 0x18004055d
lea rdi, str.read_failed
jmp 0x18004055d
mov rax, qword [rbx + 0x40]
cmp byte [rax + 0x3d0], 0x65
jne 0x1800403f2
mov rcx, rbx
call fcn.18003f2e0
jmp 0x1800403f4
test byte [rdx + 0xa], 2
je 0x1800402c6
lea rdi, str.proxy_conn_dead
jmp 0x18004055d
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 0x180040314
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x1800403f2
lea rdx, str.ERROR_reading_from_proxy_socket_n
mov ecx, 1
call fcn.1800264d0
lea rdi, str.proxy_read_err
jmp 0x18004055d
mov rax, qword [r14 + r15 + 0x2c0]
mov byte [rax + 0xd], sil
cmp ecx, 0xd
jl 0x180040556
mov r8d, 7
lea rdx, str.HTTP_1.
mov rcx, rdi
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x180040556
movzx eax, byte [rdi + 7]
sub al, 0x30
cmp al, 1
ja 0x180040556
cmp byte [rdi + 8], 0x20
jne 0x180040556
lea rcx, [rdi + 9]
call sub.msvcrt.dll_atoi
cmp eax, 0xc8
je 0x18004038a
mov r9d, eax
lea r8, str.http_proxy_____u
mov edx, reloc.WS2_32.dll_sendto
mov rcx, rdi
call fcn.180029150
jmp 0x18004055d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.1800321b0
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x10]
call fcn.180033690
test eax, eax
jne 0x18004045f
test dword [rbx + 0x410], 0x40000
je 0x18004040e
test dword [rbx + 0x420], 0x10000000
je 0x18004040e
mov rcx, rbx
call fcn.180034b80
test eax, eax
je 0x1800403de
lea rdi, str.error_sending_h2_preface
jmp 0x18004055d
mov r8d, dword [r15 + 0x7e8]
mov edx, reloc.WS2_32.dll_inet_addr
mov rcx, rbx
call fcn.1800321b0
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.18003fba0
test rax, rax
jne 0x180040466
mov rax, qword [rbx + 0x360]
lea rcx, str.raw_skt
cmp rax, rcx
je 0x1800403f2
lea rcx, str.raw_file
cmp rax, rcx
je 0x1800403f2
lea rdx, str.Failed_to_generate_handshake_for_client_n
mov ecx, 1
call fcn.1800264d0
lea r8, [0x180056274]
xor edx, edx
mov rcx, rbx
call fcn.18002a970
mov eax, 0xffffffff
jmp 0x1800403f4
sub rax, rdi
mov rdx, rdi
mov r8, rax
mov rcx, rbx
call fcn.180025c80
cmp eax, 0xfffffffc
je 0x180040497
cmp eax, 0xffffffff
jne 0x18004049f
lea r8, [0x180056278]
xor edx, edx
mov rcx, rbx
call fcn.18002a970
jmp 0x1800403f2
mov rcx, rbx
call fcn.180033de0
test dword [rbx + 0x420], 0x400000
jne 0x18004051c
mov rcx, rbx
call fcn.180023f70
test eax, eax
jne 0x18004051c
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.1800321b0
mov rcx, rbx
call fcn.180033de0
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 0x1800403ea
mov word [rbx + 0x400], 0x14
mov edx, reloc.WS2_32.dll_select
mov r8d, dword [r15 + 0x7e8]
mov rcx, rbx
call fcn.1800321b0
test dword [rbx + 0x410], 0x800
je 0x1800403f2
mov rcx, rbx
call fcn.180033de0
jmp 0x1800403f2
lea rdi, str.http_proxy_fail
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdi + r8], 0
jne 0x180040564
mov rdx, rdi
mov rcx, rbx
call fcn.18002a9b0
lea r8, str.cbail3
xor edx, edx
mov rcx, rbx
call fcn.18002a970
mov eax, 0xffffffff
jmp 0x1800403f4
test byte [rdx + 0xa], 0x10
je 0x1800403f2
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.18003eb60
neg rax
sbb eax, eax
neg eax
dec eax
jmp 0x1800403f4