Function at 0x1400114c9
Capabilities:
Connect socket
Initialize winsock library
Persist via run registry key
Send data
Send data on socket
Set registry value

Disassembly:
jmp 0x14001c040
push rbp
push rdi
sub rsp, 0x6b8
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x112
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x14002d040]
xor rax, rbp
mov qword [rbp + 0x678], rax
lea rcx, [0x14003410a]
call fcn.14001170d
lea r8, [rbp + 8]
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionRun
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
mov r8d, 0x104
lea rdx, [rbp + 0x30]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [rsp + 0x28], 0x104
lea rax, [rbp + 0x30]
mov qword [rsp + 0x20], rax
mov r9d, 1
xor r8d, r8d
lea rdx, str.ArapChat
mov rcx, qword [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSystemMenu]
mov r8d, 1
mov edx, 0xf060
mov rcx, rax
call qword [sym.imp.USER32.dll_EnableMenuItem]
lea rdx, [rbp + 0x160]
mov cx, 0x202
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x14001c143
lea rdx, str.Failed_to_initialize_Winsock.
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400110b9
lea rdx, [0x140011041]
mov rcx, rax
call qword [sym.imp.MSVCP140D.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 eax, 1
jmp 0x14001c3c0
xor r8d, r8d
mov edx, 1
mov ecx, 2
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rbp + 0x318], rax
cmp qword [rbp + 0x318], 0xffffffffffffffff
jne 0x14001c19a
lea rdx, str.Socket_creation_failed.
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400110b9
lea rdx, [0x140011041]
mov rcx, rax
call qword [sym.imp.MSVCP140D.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]
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 1
jmp 0x14001c3c0
mov eax, 2
mov word [rbp + 0x338], ax
mov cx, 0xbb8
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp + 0x33a], ax
mov rcx, qword [section..data]
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [rbp + 0x33c], eax
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0x338]
mov rcx, qword [rbp + 0x318]
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x14001c229
lea rdx, str.Failed_to_connect_to_the_server.
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400110b9
lea rdx, [0x140011041]
mov rcx, rax
call qword [sym.imp.MSVCP140D.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, qword [rbp + 0x318]
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 1
jmp 0x14001c3c0
lea rcx, [rbp + 0x368]
call fcn.1400116fe
nop
lea rdx, str.Enter_your_username:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110b9
lea rdx, [rbp + 0x368]
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.1400113d9
lea rcx, [rbp + 0x368]
call fcn.14001151e
mov qword [rbp + 0x668], rax
lea rcx, [rbp + 0x368]
call fcn.140011096
xor r9d, r9d
mov rcx, qword [rbp + 0x668]
mov r8d, ecx
mov rdx, rax
mov rcx, qword [rbp + 0x318]
call qword [sym.imp.WS2_32.dll_send]
lea rdx, str.___Connected_to_the_server.
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110b9
lea rdx, [0x140011041]
mov rcx, rax
call qword [sym.imp.MSVCP140D.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]
lea r8, [rbp + 0x318]
lea rdx, [0x14001165e]
lea rcx, [rbp + 0x628]
call fcn.14001168b
mov qword [rbp + 0x668], rax
mov rax, qword [rbp + 0x668]
mov qword [rbp + 0x670], rax
mov rcx, qword [rbp + 0x670]
call fcn.14001177b
nop
lea rcx, [rbp + 0x628]
call fcn.140011307
lea rcx, [rbp + 0x3a8]
call fcn.1400116fe
nop
xor eax, eax
cmp eax, 1
je 0x14001c384
lea rdx, [rbp + 0x3a8]
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.1400113d9
lea rcx, [rbp + 0x3a8]
call fcn.14001151e
mov qword [rbp + 0x668], rax
lea rcx, [rbp + 0x3a8]
call fcn.140011096
xor r9d, r9d
mov rcx, qword [rbp + 0x668]
mov r8d, ecx
mov rdx, rax
mov rcx, qword [rbp + 0x318]
call qword [sym.imp.WS2_32.dll_send]
lea rdx, str._exit_
lea rcx, [rbp + 0x3a8]
call fcn.1400112ad
movzx eax, al
test eax, eax
je 0x14001c382
jmp 0x14001c384
jmp 0x14001c310
mov rcx, qword [rbp + 0x318]
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov dword [rbp + 0x654], 0
lea rcx, [rbp + 0x3a8]
call fcn.14001113b
nop
lea rcx, [rbp + 0x368]
call fcn.14001113b
mov eax, dword [rbp + 0x654]
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x1400210d0]
call fcn.1400115d2
mov rax, rdi
mov rcx, qword [rbp + 0x678]
xor rcx, rbp
call fcn.140011352
lea rsp, [rbp + 0x688]
pop rdi
pop rbp
ret