Function at 0x1400da210
Capabilities:
Send data
Send data on socket

Disassembly:
push rbp
sub rsp, 0x440
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x3d0], rcx
mov dword [rbp + 0x3d8], edx
mov byte [rbp + 0x1b0], 5
mov byte [rbp + 0x1b1], 1
mov byte [rbp + 0x1b2], 0
mov rax, qword [0x14011bd40]
movzx eax, byte [rax]
test al, al
je 0x1400da2cd
mov rax, qword [0x14011c1e0]
movzx eax, byte [rax]
test al, al
jne 0x1400da27a
mov rax, qword [0x14011be20]
movzx eax, byte [rax]
test al, al
jne 0x1400da27a
mov rax, qword [0x14011be10]
mov eax, dword [rax]
cmp eax, 3
jle 0x1400da2cd
mov rax, qword [rbp + 0x3d0]
mov rdx, qword [rax + 0x250]
mov rax, qword [rbp + 0x3d0]
mov rcx, qword [rax + 0x248]
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rdx
mov r9, rcx
lea r8, str.Attempting_to_negotiate_with__s:_s_SOCKS5_proxy
mov edx, 0x200
mov rcx, rax
call dbg.snprintf
lea rax, [rbp - 0x50]
mov r8d, 0
mov rdx, rax
mov ecx, 4
call dbg._applog
mov eax, dword [rbp + 0x3d8]
cdqe
lea rdx, [rbp + 0x1b0]
mov r9d, 0
mov r8d, 3
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_send]
call rax
mov eax, dword [rbp + 0x3d8]
mov ecx, eax
call dbg.recv_byte
cmp eax, 5
jne 0x1400da327
mov eax, dword [rbp + 0x3d8]
mov ecx, eax
call dbg.recv_byte
mov edx, eax
movzx eax, byte [rbp + 0x1b2]
movsx eax, al
cmp edx, eax
je 0x1400da3ad
mov rax, qword [0x14011c1e0]
movzx eax, byte [rax]
test al, al
jne 0x1400da350
mov rax, qword [0x14011be20]
movzx eax, byte [rax]
test al, al
jne 0x1400da350
mov rax, qword [0x14011be10]
mov eax, dword [rax]
test eax, eax
jle 0x1400da3a3
mov rax, qword [rbp + 0x3d0]
mov rdx, qword [rax + 0x250]
mov rax, qword [rbp + 0x3d0]
mov rcx, qword [rax + 0x248]
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rdx
mov r9, rcx
lea r8, str.Bad_response_from__s:_s_SOCKS5_server
mov edx, 0x200
mov rcx, rax
call dbg.snprintf
lea rax, [rbp - 0x50]
mov r8d, 0
mov rdx, rax
mov ecx, 1
call dbg._applog
mov eax, 0
jmp 0x1400da755
mov byte [rbp + 0x1b0], 5
mov byte [rbp + 0x1b1], 1
mov byte [rbp + 0x1b2], 0
mov byte [rbp + 0x1b3], 3
mov rax, qword [rbp + 0x3d0]
mov rax, qword [rax + 0x240]
mov rcx, rax
call sym.strlen
mov dword [rbp + 0x3b8], eax
cmp dword [rbp + 0x3b8], 0xff
jle 0x1400da3fb
mov dword [rbp + 0x3b8], 0xff
mov eax, dword [rbp + 0x3b8]
mov byte [rbp + 0x3b7], al
movzx eax, byte [rbp + 0x3b7]
mov byte [rbp + 0x1b4], al
mov eax, dword [rbp + 0x3b8]
movsxd rcx, eax
mov rax, qword [rbp + 0x3d0]
mov rdx, qword [rax + 0x240]
lea rax, [rbp + 0x1b0]
add rax, 5
mov r8, rcx
mov rcx, rax
call sym.memcpy
mov rax, qword [rbp + 0x3d0]
mov rax, qword [rax + 0x220]
mov rcx, rax
call sym.atoi
mov word [rbp + 0x3b4], ax
movzx eax, word [rbp + 0x3b4]
shr ax, 8
mov edx, eax
mov eax, dword [rbp + 0x3b8]
add eax, 5
cdqe
mov byte [rbp + rax + 0x1b0], dl
mov eax, dword [rbp + 0x3b8]
add eax, 6
movzx edx, word [rbp + 0x3b4]
cdqe
mov byte [rbp + rax + 0x1b0], dl
mov eax, dword [rbp + 0x3b8]
lea ecx, [rax + 7]
mov eax, dword [rbp + 0x3d8]
cdqe
lea rdx, [rbp + 0x1b0]
mov r9d, 0
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_send]
call rax
mov eax, dword [rbp + 0x3d8]
mov ecx, eax
call dbg.recv_byte
cmp eax, 5
jne 0x1400da4ea
mov eax, dword [rbp + 0x3d8]
mov ecx, eax
call dbg.recv_byte
test eax, eax
je 0x1400da570
mov rax, qword [0x14011c1e0]
movzx eax, byte [rax]
test al, al
jne 0x1400da513
mov rax, qword [0x14011be20]
movzx eax, byte [rax]
test al, al
jne 0x1400da513
mov rax, qword [0x14011be10]
mov eax, dword [rax]
test eax, eax
jle 0x1400da566
mov rax, qword [rbp + 0x3d0]
mov rdx, qword [rax + 0x250]
mov rax, qword [rbp + 0x3d0]
mov rcx, qword [rax + 0x248]
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rdx
mov r9, rcx
lea r8, str.Bad_response_from__s:_s_SOCKS5_server
mov edx, 0x200
mov rcx, rax
call dbg.snprintf
lea rax, [rbp - 0x50]
mov r8d, 0
mov rdx, rax
mov ecx, 1
call dbg._applog
mov eax, 0
jmp 0x1400da755
mov eax, dword [rbp + 0x3d8]
mov ecx, eax
call dbg.recv_byte
mov eax, dword [rbp + 0x3d8]
mov ecx, eax
call dbg.recv_byte
mov byte [rbp + 0x3b3], al
cmp byte [rbp + 0x3b3], 1
jne 0x1400da5c7
mov dword [rbp + 0x3bc], 0
jmp 0x1400da5b9
mov eax, dword [rbp + 0x3d8]
mov ecx, eax
call dbg.recv_byte
add dword [rbp + 0x3bc], 1
cmp dword [rbp + 0x3bc], 3
jle 0x1400da5a5
jmp 0x1400da69c
cmp byte [rbp + 0x3b3], 3
jne 0x1400da616
mov eax, dword [rbp + 0x3d8]
mov ecx, eax
call dbg.recv_byte
mov dword [rbp + 0x3b8], eax
mov dword [rbp + 0x3bc], 0
jmp 0x1400da603
mov eax, dword [rbp + 0x3d8]
mov ecx, eax
call dbg.recv_byte
add dword [rbp + 0x3bc], 1
mov eax, dword [rbp + 0x3bc]
cmp eax, dword [rbp + 0x3b8]
jl 0x1400da5ef
jmp 0x1400da69c
mov rax, qword [0x14011c1e0]
movzx eax, byte [rax]
test al, al
jne 0x1400da63f
mov rax, qword [0x14011be20]
movzx eax, byte [rax]
test al, al
jne 0x1400da63f
mov rax, qword [0x14011be10]
mov eax, dword [rax]
test eax, eax
jle 0x1400da692
mov rax, qword [rbp + 0x3d0]
mov rdx, qword [rax + 0x250]
mov rax, qword [rbp + 0x3d0]
mov rcx, qword [rax + 0x248]
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rdx
mov r9, rcx
lea r8, str.Bad_response_from__s:_s_SOCKS5_server
mov edx, 0x200
mov rcx, rax
call dbg.snprintf
lea rax, [rbp - 0x50]
mov r8d, 0
mov rdx, rax
mov ecx, 1
call dbg._applog
mov eax, 0
jmp 0x1400da755
mov dword [rbp + 0x3bc], 0
jmp 0x1400da6bc
mov eax, dword [rbp + 0x3d8]
mov ecx, eax
call dbg.recv_byte
add dword [rbp + 0x3bc], 1
cmp dword [rbp + 0x3bc], 1
jle 0x1400da6a8
mov rax, qword [0x14011bd40]
movzx eax, byte [rax]
test al, al
je 0x1400da750
mov rax, qword [0x14011c1e0]
movzx eax, byte [rax]
test al, al
jne 0x1400da6fd
mov rax, qword [0x14011be20]
movzx eax, byte [rax]
test al, al
jne 0x1400da6fd
mov rax, qword [0x14011be10]
mov eax, dword [rax]
cmp eax, 3
jle 0x1400da750
mov rax, qword [rbp + 0x3d0]
mov rdx, qword [rax + 0x250]
mov rax, qword [rbp + 0x3d0]
mov rcx, qword [rax + 0x248]
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rdx
mov r9, rcx
lea r8, str.Success_negotiating_with__s:_s_SOCKS5_proxy
mov edx, 0x200
mov rcx, rax
call dbg.snprintf
lea rax, [rbp - 0x50]
mov r8d, 0
mov rdx, rax
mov ecx, 4
call dbg._applog
mov eax, 1
add rsp, 0x440
pop rbp
ret