Function at 0x14006ee86
Capabilities:
Enumerate process modules

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa08
movdqa xmmword [rsp + 0x9f0], xmm15
movdqa xmmword [rsp + 0x9e0], xmm14
movdqa xmmword [rsp + 0x9d0], xmm13
movdqa xmmword [rsp + 0x9c0], xmm12
movdqa xmmword [rsp + 0x9b0], xmm11
movdqa xmmword [rsp + 0x9a0], xmm10
movdqa xmmword [rsp + 0x990], xmm9
movdqa xmmword [rsp + 0x980], xmm8
movdqa xmmword [rsp + 0x970], xmm7
movdqa xmmword [rsp + 0x960], xmm6
mov r14, rdx
mov rbx, rcx
lea r9, [rsp + 0x78]
and dword [r9], 0
mov dword [rsp + 0x20], 3
mov rcx, rdx
xor edx, edx
xor r8d, r8d
call sub.psapi.dll_EnumProcessModulesEx
test eax, eax
je 0x14006f6fe
mov ecx, dword [rsp + 0x78]
mov esi, ecx
shr esi, 3
mov eax, 8
cmp ecx, 8
jb 0x14006ef5e
lea rdi, [rsi*8]
mov al, byte [0x1401d0208]
mov edx, 8
mov rcx, rdi
call sym.__rust_alloc
test rax, rax
je 0x14006f90e
lea rdi, [rsp + 0x160]
mov qword [rdi], rsi
mov qword [rdi + 8], rax
and qword [rdi + 0x10], 0
mov rcx, rdi
mov rdx, rsi
call sym.alloc::vec::Vec_T_A_::resize::ha49ba517663bccd7
mov r8, qword [rdi + 0x10]
mov qword [rsp + 0x130], r8
lea r9, [rsp + 0x74]
and dword [r9], 0
movdqu xmm0, xmmword [rdi]
movdqa xmmword [rsp + 0x120], xmm0
mov rsi, qword [rsp + 0x128]
shl r8d, 3
mov dword [rsp + 0x20], 3
mov rcx, r14
mov rdx, rsi
call sub.psapi.dll_EnumProcessModulesEx
test eax, eax
je 0x14006f75e
mov qword [rsp + 0xa8], rbx
mov edx, dword [rsp + 0x74]
shr edx, 3
lea rsi, [rsp + 0x120]
mov rcx, rsi
call sym.alloc::vec::Vec_T_A_::resize::ha49ba517663bccd7
lea rax, [rsp + 0xe8]
and qword [rax], 0
mov qword [rax + 8], 1
and qword [rax + 0x10], 0
mov rax, qword [rsi]
mov qword [rsp + 0xa0], rax
mov r13, qword [rsi + 8]
mov rax, qword [rsi + 0x10]
lea rdi, [r13 + rax*8]
lea r15, [rsp + 0x560]
lea r12, [rsp + 0x40]
pxor xmm8, xmm8
packuswb xmm8, xmm8
movdqa xmm11, xmmword [0x1401390a0]
movdqa xmm12, xmmword [0x1401390b0]
movdqa xmm13, xmmword [0x1401390c0]
movdqa xmm14, xmmword [0x1401390d0]
movdqa xmm15, xmmword [0x1401390e0]
movdqa xmm7, xmmword [0x1401390f0]
movdqa xmm9, xmmword [0x140139100]
movdqa xmm10, xmmword [0x140139110]
movdqa xmm6, xmmword [0x140139130]
lea rbx, [0x14014b538]
mov qword [rsp + 0x98], r13
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xd0], r14
cmp r13, rdi
je 0x14006f7ce
mov rsi, qword [r13]
mov qword [rsp + 0x100], rsi
mov r8d, 0x400
mov rcx, r15
xor edx, edx
call sub.msvcrt.dll_memset
mov rcx, r14
mov rdx, rsi
mov r8, r15
mov r9d, 0x400
call sub.psapi.dll_GetModuleFileNameExA
test eax, eax
je 0x14006f809
add r13, 8
mov r8d, 0x400
lea rsi, [rsp + 0x160]
mov rcx, rsi
mov rdx, r15
call sym.memcpy
mov r8d, 0x400
mov rcx, r12
mov rdx, rsi
call dbg.from_utf8
cmp qword [rsp + 0x40], 0
jne 0x14006f09b
movdqu xmm0, xmmword [rsp + 0x48]
movdqu xmmword [rsp + 0x150], xmm0
lea rax, str._home_thor_.cargo_registry_src_index.crates.io_6f17d22bba15001f_winreg_0.10.1_src_lib.rs_b
mov qword [rsp + 0x40], rax
mov esi, 1
mov qword [rsp + 0x48], rsi
and qword [rsp + 0x60], 0
lea rax, [rsp + 0x100]
mov qword [rsp + 0x108], rax
lea rax, [sym.__mut_T_as_core::fmt::Debug_::fmt::h648ba37fb23d2768]
mov qword [rsp + 0x110], rax
lea rdi, [rsp + 0x108]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rsi
lea rcx, [rsp + 0x78]
mov rdx, r12
call sym.alloc::fmt::format::ha7016107dd9b0da8
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xe0], rax
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x88]
lea rax, str.0000
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 4
mov qword [rsp + 0x20], 2
mov rcx, rdi
mov qword [rsp + 0xd8], rdx
lea r9, [0x1401b4aa3]
call sym._ZN5alloc3str21__LT_impl_u20_str_GT_7replace17hae1be9a8fe0d7cd4E.2499
mov r15, qword [rsp + 0x110]
mov r14, qword [rsp + 0x118]
test r14, r14
je 0x14006f219
js 0x14006f8fe
mov rdi, r14
not rdi
shr rdi, 0x3f
mov al, byte [0x1401d0208]
mov rcx, r14
mov rdx, rdi
call sym.__rust_alloc
test rax, rax
je 0x14006f903
mov rsi, rax
cmp r14, 0x10
jae 0x14006f4cc
xor edi, edi
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rdi
cmp rdi, r14
jne 0x14006f37f
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xb8], rax
lea rax, [rsp + 0x150]
mov qword [rsp + 0x78], rax
lea rax, [sym.__T_as_core::fmt::Display_::fmt::h160089b393ca416f]
mov qword [rsp + 0x80], rax
lea rax, str._home_thor_.cargo_registry_src_index.crates.io_6f17d22bba15001f_winreg_0.10.1_src_lib.rs_b
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 3
and qword [rsp + 0x60], 0
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x88], rax
lea rax, [sym.__alloc::string::String_as_core::fmt::Display_::fmt::hf227f51f5a377cca]
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 2
lea rcx, [rsp + 0x138]
mov rdx, r12
call sym.alloc::fmt::format::ha7016107dd9b0da8
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xb8]
call sym.core::ptr::drop_in_place_alloc::vec::Vec_u8__::h93df36056228766e
mov rcx, qword [rsp + 0x108]
mov rdx, r15
call sym.core::ptr::drop_in_place_alloc::vec::Vec_u8__::h93df36056228766e
mov rcx, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xd8]
call sym.core::ptr::drop_in_place_alloc::vec::Vec_u8__::h93df36056228766e
mov rsi, qword [rsp + 0x138]
mov rdi, qword [rsp + 0x140]
mov r8, qword [rsp + 0x148]
mov rcx, r12
mov rdx, rdi
call dbg.clone
mov r14, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
lea rcx, [rsp + 0xe8]
mov rdx, r14
call sym.alloc::vec::Vec_T_A_::extend_from_slice::h075114fb45e82953
mov rcx, qword [rsp + 0x40]
mov rdx, r14
call sym.core::ptr::drop_in_place_alloc::vec::Vec_u8__::h93df36056228766e
mov rcx, rsi
mov rdx, rdi
call sym.core::ptr::drop_in_place_alloc::vec::Vec_u8__::h93df36056228766e
mov r14, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xc8]
lea r15, [rsp + 0x560]
jmp 0x14006f09b
add r14, r15
add rdi, r15
movzx esi, byte [rdi]
test sil, sil
js 0x14006f392
inc rdi
jmp 0x14006f3fc
mov eax, esi
and eax, 0x1f
movzx edx, byte [rdi + 1]
and edx, 0x3f
cmp sil, 0xdf
jbe 0x14006f3dc
movzx ecx, byte [rdi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp sil, 0xf0
jb 0x14006f3e9
movzx esi, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and esi, 0x3f
or esi, ecx
or esi, eax
cmp esi, 0x110000
je 0x14006f233
add rdi, 4
jmp 0x14006f3f4
add rdi, 2
shl eax, 6
or eax, edx
mov esi, eax
jmp 0x14006f3f4
add rdi, 3
shl eax, 0xc
or ecx, eax
mov esi, ecx
cmp esi, 0x80
jae 0x14006f425
lea eax, [rsi - 0x61]
xor ecx, ecx
cmp al, 0x1a
setb cl
shl ecx, 5
xor ecx, esi
mov esi, ecx
mov rcx, r12
mov edx, esi
call dbg.push
cmp rdi, r14
jne 0x14006f385
jmp 0x14006f233
mov eax, 0x5db
xor ecx, ecx
mov edx, 0x5db
shr rax, 1
add rax, rcx
mov r8d, dword [rbx + rax*8]
cmp r8d, esi
je 0x14006f459
lea r9, [rax + 1]
cmp r8d, esi
cmova rdx, rax
cmovb rcx, r9
mov rax, rdx
sub rax, rcx
ja 0x14006f431
jmp 0x14006f40d
mov esi, dword [rbx + rax*8 + 4]
cmp rsi, 0x110000
je 0x14006f479
mov eax, esi
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
jae 0x14006f40d
and esi, 0x3fffff
imul rax, rsi, 0xc
lea rcx, [0x14014e410]
mov edx, dword [rax + rcx]
mov rsi, qword [rax + rcx + 4]
test esi, esi
je 0x14006f4b8
mov rbp, rsi
shr rbp, 0x20
je 0x14006f4bf
mov rcx, r12
call dbg.push
mov rcx, r12
mov edx, esi
call dbg.push
mov esi, ebp
jmp 0x14006f40d
mov esi, edx
jmp 0x14006f40d
mov rcx, r12
call dbg.push
jmp 0x14006f40d
xor edi, edi
mov rcx, qword [r15 + rdi]
movdqu xmm0, xmmword [r15 + rdi]
pshufd xmm1, xmm0, 0xee
movq rax, xmm1
mov rdx, rax
or rdx, rcx
movabs r8, 0x8080808080808080
test rdx, r8
jne 0x14006f21b
mov r8, rcx
mov r10, rcx
mov rdx, rcx
shr rdx, 0x28
mov r9, rcx
shr r9, 0x20
pshufd xmm1, xmm0, 0x44
movdqa xmm2, xmm0
psrlq xmm2, 0x10
psrlq xmm1, 0x18
movsd xmm1, xmm2
shr ecx, 8
movd xmm2, ecx
movdqa xmm3, xmm0
punpcklqdq xmm3, xmm2
movapd xmm2, xmmword [0x140139070]
andpd xmm1, xmm2
pand xmm3, xmm2
packuswb xmm3, xmm1
movd xmm1, r9d
pshufd xmm1, xmm1, 0x50
movdqa xmm2, xmmword [0x140139080]
pandn xmm2, xmm1
movd xmm1, edx
psllq xmm1, 0x28
movdqa xmm4, xmmword [0x140139090]
pandn xmm4, xmm1
mov rcx, rax
shr rcx, 0x28
mov rdx, rax
shr rdx, 0x20
mov r9d, eax
shr r9d, 0x18
mov r11d, eax
shr r11d, 0x10
mov ebp, eax
shr ebp, 8
shr r8, 0x38
shr r10, 0x30
packuswb xmm3, xmmword [0x140139170]
packuswb xmm3, xmm8
por xmm4, xmm2
por xmm4, xmm3
pand xmm4, xmm11
movd xmm1, r10d
psllq xmm1, 0x30
movdqa xmm2, xmm11
pandn xmm2, xmm1
por xmm2, xmm4
pand xmm2, xmm12
movd xmm1, r8d
psllq xmm1, 0x38
movdqa xmm3, xmm12
pandn xmm3, xmm1
por xmm3, xmm2
pand xmm3, xmm13
movd xmm1, eax
pshufd xmm1, xmm1, 0x44
movdqa xmm2, xmm13
pandn xmm2, xmm1
por xmm2, xmm3
pand xmm2, xmm14
movd xmm1, ebp
pslldq xmm1, 9
movdqa xmm3, xmm14
pandn xmm3, xmm1
por xmm3, xmm2
pand xmm3, xmm15
movd xmm1, r11d
pslldq xmm1, 0xa
movdqa xmm2, xmm15
pandn xmm2, xmm1
por xmm2, xmm3
pand xmm2, xmm7
movd xmm1, r9d
pslldq xmm1, 0xb
movdqa xmm3, xmm7
pandn xmm3, xmm1
por xmm3, xmm2
pand xmm3, xmm9
movd xmm1, edx
pshufd xmm1, xmm1, 0
movdqa xmm2, xmm9
pandn xmm2, xmm1
por xmm2, xmm3
movd xmm1, ecx
pslldq xmm1, 0xd
movdqa xmm3, xmm10
pandn xmm3, xmm1
shr rax, 0x30
pand xmm2, xmm10
por xmm3, xmm2
pand xmm3, xmmword [0x140139120]
movd xmm1, eax
pslldq xmm1, 0xe
por xmm1, xmm3
pand xmm1, xmm6
movdqa xmm2, xmm6
pandn xmm2, xmm0
por xmm2, xmm1
movdqa xmm0, xmm2
paddb xmm0, xmmword [0x140139140]
movdqa xmm1, xmm0
pminub xmm1, xmmword [0x140139150]
pcmpeqb xmm1, xmm0
pand xmm1, xmmword [0x140139160]
pxor xmm1, xmm2
movdqu xmmword [rsi + rdi], xmm1
lea rax, [rdi + 0x10]
add rdi, 0x20
cmp rdi, r14
mov rdi, rax
jbe 0x14006f4ce
mov rdi, rax
jmp 0x14006f21b
call sym.std::io::error::Error::last_os_error::h6923a0605f513343
lea rsi, [rsp + 0x40]
mov qword [rsi], rax
lea rax, [rsp + 0x560]
mov qword [rax], rsi
lea rcx, str._home_thor_.cargo_registry_src_index.crates.io_6f17d22bba15001f_winreg_0.10.1_src_lib.rs_b
lea rdx, [rsp + 0x160]
mov qword [rdx], rcx
mov ecx, 1
mov qword [rdx + 8], rcx
and qword [rdx + 0x20], 0
lea r8, [sym.__std::io::error::Error_as_core::fmt::Display_::fmt::h0ae59b4b5a93ace0]
mov qword [rax + 8], r8
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], rcx
mov rcx, rbx
call sym.alloc::fmt::format::ha7016107dd9b0da8
mov rcx, qword [rsi]
call sym._ZN4core3ptr42drop_in_place_LT_std..io..error..Error_GT_17h6623dc7d910363c1E.2498
jmp 0x14006f892
call sym.std::io::error::Error::last_os_error::h6923a0605f513343
lea rdi, [rsp + 0x40]
mov qword [rdi], rax
lea rax, [rsp + 0x560]
mov qword [rax], rdi
lea rcx, str._home_thor_.cargo_registry_src_index.crates.io_6f17d22bba15001f_winreg_0.10.1_src_lib.rs_b
lea rdx, [rsp + 0x160]
mov qword [rdx], rcx
mov ecx, 1
mov qword [rdx + 8], rcx
and qword [rdx + 0x20], 0
lea r8, [sym.__std::io::error::Error_as_core::fmt::Display_::fmt::h0ae59b4b5a93ace0]
mov qword [rax + 8], r8
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], rcx
mov rcx, rbx
call sym.alloc::fmt::format::ha7016107dd9b0da8
mov rcx, qword [rdi]
call sym._ZN4core3ptr42drop_in_place_LT_std..io..error..Error_GT_17h6623dc7d910363c1E.2498
mov rcx, qword [rsp + 0x120]
mov rdx, rsi
call sym.__alloc::raw_vec::RawVec_T_A__as_core::ops::drop::Drop_::drop::had84eeb1c65e4e9d
jmp 0x14006f892
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
call sym.__alloc::vec::into_iter::IntoIter_T_A__as_core::ops::drop::Drop_::drop::h22feb1b4adf36af6
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xa8]
mov qword [rcx + 0x10], rax
movdqu xmm0, xmmword [rsp + 0xe8]
movdqu xmmword [rcx], xmm0
jmp 0x14006f892
call sym.std::io::error::Error::last_os_error::h6923a0605f513343
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x160]
lea rax, str._home_thor_.cargo_registry_src_index.crates.io_6f17d22bba15001f_winreg_0.10.1_src_lib.rs_b
mov qword [rdx], rax
mov eax, 1
mov qword [rdx + 8], rax
and qword [rdx + 0x20], 0
lea rcx, [sym.__std::io::error::Error_as_core::fmt::Display_::fmt::h0ae59b4b5a93ace0]
mov qword [rsp + 0x48], rcx
mov qword [rdx + 0x10], r12
mov qword [rdx + 0x18], rax
mov rcx, qword [rsp + 0xa8]
call sym.alloc::fmt::format::ha7016107dd9b0da8
mov rcx, qword [rsp + 0x78]
call sym._ZN4core3ptr42drop_in_place_LT_std..io..error..Error_GT_17h6623dc7d910363c1E.2498
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
call sym.__alloc::vec::into_iter::IntoIter_T_A__as_core::ops::drop::Drop_::drop::h22feb1b4adf36af6
mov rcx, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xf0]
call sym.core::ptr::drop_in_place_alloc::vec::Vec_u8__::h93df36056228766e
movaps xmm6, xmmword [rsp + 0x960]
movaps xmm7, xmmword [rsp + 0x970]
movaps xmm8, xmmword [rsp + 0x980]
movaps xmm9, xmmword [rsp + 0x990]
movaps xmm10, xmmword [rsp + 0x9a0]
movaps xmm11, xmmword [rsp + 0x9b0]
movaps xmm12, xmmword [rsp + 0x9c0]
movaps xmm13, xmmword [rsp + 0x9d0]
movaps xmm14, xmmword [rsp + 0x9e0]
movaps xmm15, xmmword [rsp + 0x9f0]
add rsp, 0xa08
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call sym.alloc::raw_vec::capacity_overflow::he878bd52295379cc
mov rcx, rdi
mov rdx, r14
call dbg.handle_alloc_error
mov ecx, 8
mov rdx, rdi
call dbg.handle_alloc_error
mov rsi, rax
cmp qword [rsp + 0x40], 0
je 0x14006f935
mov rcx, qword [rsp + 0x48]
mov edx, 1
call sym.__rust_dealloc
mov rcx, rsi
call sym._Unwind_Resume
int3