Function at 0x18001a980
Capabilities:
Enumerate process modules
Enumerate processes

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4c0
lea rbp, [rsp + 0x40]
mov qword [rbp + 0x4d0], rbx
mov rax, qword [0x18025a080]
xor rax, rbp
mov qword [rbp + 0x470], rax
mov r15, rdx
mov r14, rcx
mov qword [rbp + 0x28], rdx
lea rcx, [rbp + 8]
call fcn.18000aa00
mov rdi, rax
mov dword [rbp + 0x30], 0x238
xor edx, edx
lea ecx, [rdx + 0xf]
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov rsi, rax
lea rdx, [rbp + 0x30]
mov rcx, rax
call sub.KERNEL32.dll_Process32FirstW
xor r12d, r12d
movabs r13, 0xffffffffffffff0
nop word [rax + rax]
lea rcx, [rbp + 0x5c]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], r12w
jne 0x18001aa10
lea edx, ds:[rax + 1]
cmp edx, 0x3fffffff
jg 0x18001aa8e
cdqe
lea rax, [rax*2 + 2]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x18001aa3e
mov rcx, r13
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.180080ad0
sub rsp, rcx
lea rbx, [rsp + 0x40]
test rbx, rbx
je 0x18001aa8e
mov byte ds:[rbx], r12b
lea eax, [rdx + rdx]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, 0xffffffff
lea r8, [rbp + 0x5c]
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
cmove rbx, r12
jmp 0x18001aa91
mov rbx, r12
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x18001aa9e
mov rdx, qword [rdi]
sub rdx, rbx
movzx ecx, byte [rbx]
movzx eax, byte [rbx + rdx]
sub ecx, eax
jne 0x18001aab3
inc rbx
test eax, eax
jne 0x18001aaa1
test ecx, ecx
mov rcx, rsi
je 0x18001aae4
lea rdx, ds:[rbp + 0x30]
call sub.KERNEL32.dll_Process32NextW
test eax, eax
jne 0x18001aa00
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.180007480
mov dword [r14 + 0x20], r12d
jmp 0x18001aafd
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, dword [rbp + 0x38]
mov rcx, rdi
call fcn.180007480
mov dword [r14 + 0x20], ebx
test ebx, ebx
jne 0x18001ab0f
mov rcx, r15
call fcn.180007480
mov eax, 1
jmp 0x18001ac8c
mov ecx, ebx
call fcn.18001adc0
mov qword [r14 + 0x18], rax
test rax, rax
jne 0x18001ab31
mov rcx, r15
call fcn.180007480
mov eax, 2
jmp 0x18001ac8c
mov rdx, r15
lea rcx, [rbp + 8]
call fcn.18000aa00
mov rdi, rax
mov dword [rbp + 0x30], 0x438
mov edx, dword [r14 + 0x20]
mov ecx, 8
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov rsi, rax
lea rdx, [rbp + 0x30]
mov rcx, rax
call sub.KERNEL32.dll_Module32FirstW
nop word [rax + rax]
lea rax, [rbp + 0x60]
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
inc rcx
cmp word [rax + rcx*2], r12w
jne 0x18001ab80
lea edx, [rcx + 1]
cmp edx, 0x3fffffff
jg 0x18001abfb
movsxd rax, ecx
lea rax, [rax*2 + 2]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x18001abac
mov rcx, r13
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.180080ad0
sub rsp, rcx
lea rbx, [rsp + 0x40]
test rbx, rbx
je 0x18001abfb
mov byte [rbx], r12b
lea eax, [rdx + rdx]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, 0xffffffff
lea r8, [rbp + 0x60]
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
cmove rbx, r12
jmp 0x18001abfe
mov rbx, r12
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x18001ac0b
mov rdx, qword [rdi]
sub rdx, rbx
nop
movzx ecx, byte [rbx]
movzx eax, byte [rbx + rdx]
sub ecx, eax
jne 0x18001ac24
inc rbx
test eax, eax
jne 0x18001ac10
test ecx, ecx
mov rcx, rsi
je 0x18001ac54
lea rdx, [rbp + 0x30]
call sub.KERNEL32.dll_Module32NextW
test eax, eax
jne 0x18001ab70
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.180007480
mov qword [r14 + 0x28], r12
jmp 0x18001ac6f
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rbp + 0x58]
mov rcx, rdi
call fcn.180007480
mov qword [r14 + 0x28], rbx
test rbx, rbx
jne 0x18001ac7e
mov rcx, r15
call fcn.180007480
mov eax, 3
jmp 0x18001ac8c
mov byte [r14], 1
mov rcx, r15
call fcn.180007480
xor eax, eax
mov rcx, qword [rbp + 0x470]
xor rcx, rbp
call fcn.180080a90
mov rbx, qword [rbp + 0x4d0]
lea rsp, [rbp + 0x480]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret