Function at 0x40d970
Capabilities:
Enumerate process modules

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x318
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x80], 0
mov rdi, rcx
mov ecx, 0x18
mov qword [rsp + 0x40], rdx
vmovups xmm0, xmmword [rdx]
vmovups xmmword [rsp + 0x88], xmm0
vmovups xmm0, xmmword [rdx]
mov rax, qword [rsp + 0x80]
xor edx, edx
vmovaps xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x88]
vmovups xmm0, xmmword [rsp + 0x70]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x90]
vmovups xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xd0], rax
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
cmp rax, 0xffffffffffffffff
je 0x40dd8b
lea rsi, [rsp + 0xd8]
mov r8d, 0x238
mov dl, 0xaa
mov r13, rax
mov rcx, rsi
call fcn.0044c710
mov dword [rsp + 0xd8], 0x238
mov rcx, r13
mov rdx, rsi
call sub.KERNEL32.dll_Module32First
test eax, eax
je 0x40dd9b
mov qword [rsp + 0x48], rdi
movabs r15, 0xaaaaaaaaaaaaaaaa
lea rdx, [rsp + 0x108]
mov rdi, 0xffffffffffffffff
xor ebx, ebx
xor esi, esi
mov qword [rsp + 0x38], r13
jmp 0x40db00
mov r13, qword [rsp + 0x38]
xor r12d, r12d
mov rax, rbx
dec rax
mov rdx, qword [rsp + 0xf0]
vxorps xmm0, xmm0, xmm0
lea rax, [rax + rax*4]
shl rax, 4
lea rcx, [r15 + rax]
mov qword [rcx], rdx
lea rdx, [rsp + 0xd8]
mov ecx, dword [rsp + 0xf8]
mov dword [r15 + rax + 0x48], ecx
mov qword [r15 + rax + 8], r14
mov qword [r15 + rax + 0x10], r12
mov rcx, qword [rsp + 0x100]
mov qword [r15 + rax + 0x18], rcx
mov rcx, r13
vmovups ymmword [r15 + rax + 0x20], ymm0
mov qword [r15 + rax + 0x40], 0
vzeroupper
call sub.KERNEL32.dll_Module32Next
lea rdx, [rsp + 0x108]
cmp eax, 1
jne 0x40ddd6
mov r13, rbx
inc rbx
je 0x40deb9
cmp rsi, rbx
jae 0x40dcc1
mov r12, rsi
nop dword [rax + rax]
mov rax, r12
shr rax, 1
add rax, 8
add r12, rax
cmovb r12, rdi
cmp r12, rbx
jb 0x40db20
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
mov r10, qword [rax + 8]
test rsi, rsi
je 0x40db9b
mov r9d, 0x50
mov rax, rsi
mul r9
jo 0x40deb9
mov r8, rax
mov rax, r12
mul r9
seto r14b
seto byte [rsp + 0x58]
mov rbp, rax
test r14b, r14b
jne 0x40dbc0
mov rax, qword [rsp + 0x358]
mov r9b, 3
mov rdx, r15
mov qword [rsp + 0x20], rbp
mov qword [rsp + 0x28], rax
call qword [r10 + 8]
test al, 1
je 0x40dbaf
mov rsi, r12
jmp 0x40dcb9
mov edx, 0x50
mov rax, r12
mul rdx
seto r14b
mov rbp, rax
jmp 0x40dbc0
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
mov r10, qword [rax + 8]
nop dword [rax + rax]
mov r9, qword [rsp + 0x358]
mov byte [rsp + 0x58], r14b
mov qword [rsp + 0x50], r9
test r14b, r14b
jne 0x40de1a
test rbp, rbp
je 0x40dc16
mov r8b, 3
mov rdx, rbp
call qword [r10]
test rax, rax
je 0x40de1a
mov dl, 0xaa
mov r14, rax
mov rcx, rax
mov r8, rbp
call fcn.0044c710
test r14b, 7
jne 0x40def5
cmp r13, r12
jbe 0x40dc26
jmp 0x40dea5
mov r14, 0xfffffffffffffff8
cmp r13, r12
ja 0x40dea5
mov rax, r13
shl rax, 4
lea r8, [rax + rax*4]
lea rax, [r15 + r8]
cmp r14, rax
jae 0x40dc47
lea rax, [r14 + r8]
cmp r15, rax
jb 0x40dee1
mov rcx, r14
mov rdx, r15
call fcn.0044c2f0
mov rax, rsi
shl rax, 4
test rsi, rsi
lea rbp, [rax + rax*4]
movabs rax, 0xaaaaaaaaaaaaaaaa
cmove r15, rax
cmove rbp, rsi
test rbp, rbp
je 0x40dcb3
mov rax, qword [rsp + 0x40]
mov dl, 0xaa
mov rcx, r15
mov r8, rbp
mov rsi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rsp + 0x68], rax
call fcn.0044c710
mov rax, qword [rsp + 0x50]
mov rcx, rsi
mov rsi, qword [rsp + 0x68]
mov r9b, 3
mov rdx, r15
mov r8, rbp
mov qword [rsp + 0x20], rax
call qword [rsi + 0x10]
mov rsi, r12
mov r15, r14
lea rdx, [rsp + 0x108]
cmp r13, rsi
jae 0x40decd
mov rax, qword [rsp + 0x40]
mov r8d, 0x100
lea rcx, [rsp + 0x58]
mov r12d, 0x100
xor r9d, r9d
mov r13, qword [rax]
mov rbp, qword [rax + 8]
mov byte [rsp + 0x20], 0
call fcn.00423e10
cmp byte [rsp + 0x60], 0
je 0x40dd00
mov r12, qword [rsp + 0x58]
cmp r12, 0x101
jae 0x40dea5
mov r14d, 1
xor eax, eax
test al, al
jne 0x40da80
test r12, r12
je 0x40dd51
mov r9, qword [rsp + 0x358]
mov rcx, r13
mov rdx, r12
xor r8d, r8d
call qword [rbp]
test rax, rax
je 0x40da80
mov dl, 0xaa
mov rcx, rax
mov r8, r12
mov r14, rax
call fcn.0044c710
jmp 0x40dd58
mov r14, 0xffffffffffffffff
mov r13, qword [rsp + 0x38]
lea rdx, [rsp + 0x108]
lea rax, [rdx + r12]
cmp r14, rax
jae 0x40dd7b
lea rax, [r14 + r12]
cmp rax, rdx
ja 0x40dee1
mov rcx, r14
mov r8, r12
call fcn.0044c2f0
jmp 0x40da88
call sub.KERNEL32.dll_GetLastError
mov word [rdi + 0x50], 0x10
jmp 0x40de8e
mov rcx, r13
call sub.ntdll.dll_NtClose
test eax, eax
jne 0x40decd
vmovups ymm0, ymmword [0x00451970]
vmovups ymm1, ymmword [0x00451938]
vmovups ymm2, ymmword [0x00451958]
vmovups ymmword [rdi + 0x38], ymm0
vmovups ymmword [rdi + 0x20], ymm2
vmovups ymmword [rdi], ymm1
jmp 0x40de8e
mov rcx, r13
call sub.ntdll.dll_NtClose
test eax, eax
jne 0x40decd
vmovups ymm0, ymmword [rsp + 0xa0]
vmovups ymm1, ymmword [rsp + 0xb8]
mov rax, qword [rsp + 0x48]
vmovups ymmword [rax + 0x18], ymm1
vmovups ymmword [rax], ymm0
mov qword [rax + 0x38], r15
mov qword [rax + 0x40], rbx
mov qword [rax + 0x48], rsi
mov word [rax + 0x50], 0
jmp 0x40de8e
mov rcx, qword [rsp + 0x38]
call sub.ntdll.dll_NtClose
test eax, eax
jne 0x40decd
mov rax, rsi
shl rax, 4
test rsi, rsi
lea rbx, [rax + rax*4]
movabs rax, 0xaaaaaaaaaaaaaaaa
cmove r15, rax
cmove rbx, rsi
test rbx, rbx
je 0x40de83
mov rax, qword [rsp + 0x40]
mov dl, 0xaa
mov rcx, r15
mov r8, rbx
mov rsi, qword [rax]
mov rdi, qword [rax + 8]
call fcn.0044c710
mov rax, qword [rsp + 0x50]
mov r9b, 3
mov rcx, rsi
mov rdx, r15
mov r8, rbx
mov qword [rsp + 0x20], rax
call qword [rdi + 0x10]
mov rax, qword [rsp + 0x48]
mov word [rax + 0x50], 0x1f
add rsp, 0x318
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
vzeroupper
ret
lea rcx, str.index_out_of_bounds
mov edx, 0x13
xor r9d, r9d
call fcn.00401000
lea rcx, str.integer_overflow
mov edx, 0x10
xor r9d, r9d
call fcn.00401000
lea rcx, [0x0045177e]
mov edx, 0x18
xor r9d, r9d
call fcn.00401000
lea rcx, str._memcpy_arguments_alias
mov edx, 0x17
xor r9d, r9d
call fcn.00401000
lea rcx, str.incorrect_alignment
mov edx, 0x13
xor r9d, r9d
call fcn.00401000
int3