Function at 0x14000310c
Capabilities:
Enumerate process modules

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
sub rsp, 0x350
mov qword [rsp + 0xe0], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
mov rax, qword [0x14004e300]
xor rax, rsp
mov qword [rsp + 0x348], rax
mov rsi, rdx
mov rbx, rcx
lea rax, vtable.PROCESS_UTIL::CTaskDllMgrEx.0
mov qword [rsp + 0x40], rax
lea rdx, [0x140041464]
lea rcx, [rsp + 0x48]
call fcn.1400077ac
nop
lea rdx, [0x140041464]
lea rcx, [rsp + 0x50]
call fcn.1400077ac
nop
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov edi, 8
mov rcx, rdi
call fcn.14001416c
xor r12d, r12d
cmp rax, r12
je 0x14000319f
lea rcx, [rsp + 0x58]
mov qword [rax], rcx
jmp 0x1400031a2
mov rax, r12
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x58]
call fcn.140005e68
mov qword [rsp + 0x88], rax
mov byte [rax + 0x21], 1
mov rax, qword [rsp + 0x88]
mov qword [rax + 8], rax
mov rax, qword [rsp + 0x88]
mov qword [rax], rax
mov rax, qword [rsp + 0x88]
mov qword [rax + 0x10], rax
mov qword [rsp + 0x90], r12
lea rax, vtable.PROCESS_UTIL::CTaskMgr.0
mov qword [rsp + 0xa0], rax
mov rcx, rdi
call fcn.14001416c
cmp rax, r12
je 0x140003211
lea rcx, [rsp + 0xa8]
mov qword [rax], rcx
jmp 0x140003214
mov rax, r12
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0xd8], r12
cmp qword [0x140056468], r12
jne 0x14000326e
lea rcx, str.ntdll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
cmp rax, r12
je 0x14000326e
lea rdx, str.NtQueryInformationProcess
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140056468], rax
cmp rbx, r12
jne 0x140003278
mov ecx, r12d
jmp 0x14000328a
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r8d, ecx
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.140007a14
cmp rsi, r12
jne 0x1400032a4
mov ecx, r12d
jmp 0x1400032b6
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r8d, ecx
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.140007a14
lea rdx, [rsp + 0x40]
mov qword [rsp + 0xd8], rdx
lea rcx, [rsp + 0xa0]
call fcn.14000b6fc
mov rdi, r12
mov dword [rsp + 0x20], r12d
mov word [rsp + 0x130], r12w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x132]
call fcn.140024b80
mov ebx, 0x400
cmp rdi, r12
je 0x140003326
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, ebx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
cmp rax, r12
je 0x14000342e
lea r8, [rsp + 0x20]
mov edx, ebx
mov rcx, rax
call sub.PSAPI.DLL_EnumProcesses
cmp eax, r12d
je 0x14000341a
mov eax, dword [rsp + 0x20]
cmp eax, ebx
je 0x14000330b
shr eax, 2
mov dword [rsp + 0x20], eax
mov esi, r12d
cmp eax, r12d
jbe 0x140003404
mov rbx, rdi
mov word [rsp + 0x130], r12w
mov r8d, dword [rbx]
xor edx, edx
mov ecx, 0x410
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbp, rax
cmp rax, r12
je 0x1400033be
mov r9d, 0x104
lea r8, [rsp + 0x130]
xor edx, edx
mov rcx, rax
call sub.PSAPI.DLL_GetModuleFileNameExW
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rax, [0x14000b668]
cmp rax, r12
je 0x1400033f4
lea rcx, [rsp + 0x130]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, r12d
jle 0x1400033f4
lea r8, [rsp + 0x130]
mov edx, dword [rbx]
lea rcx, [rsp + 0xa0]
call fcn.14000b800
inc esi
add rbx, 4
cmp esi, dword [rsp + 0x20]
jb 0x14000337c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x14000342e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0xf0]
call fcn.140005538
nop
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call fcn.140002b6c
nop
lea r8, str.LocalD3743DC1_C64C_4c84_8435_F6799EABAAE7
xor edx, edx
mov ecx, 0x1f0003
call qword [sym.imp.KERNEL32.dll_OpenEventW]
mov rbx, rax
mov rdi, qword [rsp + 0x30]
cmp qword [rsp + 0x128], r12
je 0x1400034a0
lea rcx, [rdi - 0x18]
call fcn.140007af8
add rax, 0x18
mov qword [rsp + 0x28], rax
mov r8, rbx
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x28]
call fcn.140002d70
jmp 0x1400034ae
cmp rax, r12
je 0x1400034bc
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEvent]
cmp rbx, r12
je 0x1400034bc
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, r12d
cmp qword [rsp + 0x128], r12
setne bl
lea rdx, [rdi - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
cmp eax, r12d
jg 0x1400034e7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0xf0]
call fcn.1400059f4
nop
mov rcx, qword [rsp + 0xf0]
call fcn.1400141b8
nop
lea rcx, [rsp + 0xa0]
call fcn.14000b6b8
nop
lea rcx, [rsp + 0x40]
call fcn.14000ac70
mov eax, ebx
mov rcx, qword [rsp + 0x348]
xor rcx, rsp
call fcn.140021c70
lea r11, [rsp + 0x350]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret