Function at 0x1400665c0
Capabilities:
Get socket status
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
mov eax, 0x2490
call fcn.140088710
sub rsp, rax
mov rax, qword [0x1400c7008]
xor rax, rsp
mov qword [rsp + 0x2480], rax
xor r12d, r12d
mov byte [rsp + 0x260], 0
mov rsi, rdx
mov qword [rsp + 0x20], r12
mov r15, r8
lea rdx, [rcx + 0x90]
lea r8, str.SOCKS_Proxy
lea r9d, [r12 + 1]
lea rcx, [rsp + 0x260]
call fcn.140029060
test al, al
jne 0x140066649
lea ecx, [r12 + 0x20]
call fcn.14000e3d0
test al, al
je 0x1400668be
lea rdx, str.SOCKS_failed_to_get_username_password.
jmp 0x1400668b4
mov rbx, 0xffffffffffffffff
lea rcx, [rsp + 0x263]
mov rax, rbx
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], r12b
jne 0x140066660
cmp rax, 0xff
ja 0x14006689f
lea rdx, [rsp + 0x1263]
mov rcx, rbx
inc rcx
cmp byte [rdx + rcx], r12b
jne 0x140066680
cmp rcx, 0xff
ja 0x14006689f
lea rdx, [rsp + 0x1263]
mov r9d, eax
mov qword [rsp + 0x30], rdx
lea r8, [0x1400af808]
mov dword [rsp + 0x28], ecx
mov edx, 0x204
lea rcx, [rsp + 0x263]
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x2270]
call fcn.140003020
lea rax, [rsp + 0x2270]
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], r12b
jne 0x1400666e0
xor r9d, r9d
lea rdx, [rsp + 0x2270]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_send]
movsxd rcx, eax
lea rax, [rsp + 0x2270]
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], r12b
jne 0x140066710
cmp rcx, rbx
je 0x14006674e
cmp dword [0x1400cfe94], 1
jb 0x1400668be
mov ecx, 0x1000121
call fcn.14000e3d0
test al, al
je 0x1400668be
lea rdx, str.socks_username_password_auth:_TCP_port_write_failed_on_send__
mov ecx, 0x1000121
jmp 0x1400668b9
mov rbx, r12
movsxd rbp, esi
nop dword [rax]
nop dword [rax + rax]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x58], rbp
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rsp + 0x50], 1
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x48], 5
lea ecx, [rsi + 1]
call qword [sym.imp.WS2_32.dll_select]
mov edi, eax
call fcn.140084ad0
mov dword [r15], eax
mov ecx, dword [r15]
test ecx, ecx
jne 0x1400668be
test edi, edi
je 0x14006687a
js 0x140066855
lea r8d, [rcx + 1]
xor r9d, r9d
mov rcx, rsi
lea rdx, [rsp + 0x40]
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 1
jne 0x14006682c
movzx eax, byte [rsp + 0x40]
mov byte [rsp + rbx + 0x44], al
inc rbx
cmp rbx, 2
jl 0x140066760
cmp byte [rsp + 0x44], 5
je 0x140066825
cmp byte [rsp + 0x45], r12b
je 0x140066825
cmp dword [0x1400cfe94], 1
jb 0x1400668be
mov ecx, 0x1000021
call fcn.14000e3d0
test al, al
je 0x1400668be
lea rdx, str.socks_username_password_auth:_server_refused_the_authentication
mov ecx, 0x1000021
jmp 0x1400668b9
mov al, 1
jmp 0x1400668c0
cmp dword [0x1400cfe94], 1
jb 0x1400668be
mov ecx, 0x1000121
call fcn.14000e3d0
test al, al
je 0x1400668be
lea rdx, str.socks_username_password_auth:_TCP_port_read_failed_on_recv__
mov ecx, 0x1000121
jmp 0x1400668b9
cmp dword [0x1400cfe94], 1
jb 0x1400668be
mov ecx, 0x1000121
call fcn.14000e3d0
test al, al
je 0x1400668be
lea rdx, str.socks_username_password_auth:_TCP_port_read_failed_on_select__
mov ecx, 0x1000121
jmp 0x1400668b9
cmp dword [0x1400cfe94], 1
jb 0x1400668be
mov ecx, 0x1000121
call fcn.14000e3d0
test al, al
je 0x1400668be
lea rdx, str.socks_username_password_auth:_TCP_port_read_timeout_expired
mov ecx, 0x1000121
jmp 0x1400668b9
mov ecx, 0x20
call fcn.14000e3d0
test al, al
je 0x1400668be
lea rdx, str.SOCKS_username_and_or_password_exceeds_255_characters.__Authentication_not_possible.
mov ecx, 0x20
call fcn.14000e000
xor al, al
mov rcx, qword [rsp + 0x2480]
xor rcx, rsp
call fcn.140088150
lea r11, [rsp + 0x2490]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret