Function at 0x18000d30c
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x20
xor r14d, r14d
mov rbx, rcx
mov qword [rcx + 0x20], r14
mov qword [rcx + 0x18], r14
mov qword [rcx + 0x10], r14
mov qword [rcx + 0x40], r14
mov qword [rcx + 0x38], r14
mov qword [rcx + 0x30], r14
lea rcx, str.PSAPI.DLL
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rbx + 8], rax
test rax, rax
je 0x18000d3bf
mov edx, 0x100
lea rcx, [rbx + 0x10]
call fcn.18000ddec
mov edx, 0x100
mov dword [rbx + 0x28], r14d
lea rcx, [rbx + 0x30]
call fcn.18000de6c
mov rcx, qword [rbx + 8]
lea rdx, str.EnumProcesses
mov dword [rbx + 0x48], r14d
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.EnumProcessModules
mov qword [rbx + 0x50], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.GetModuleFileNameExW
mov qword [rbx + 0x58], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x60], rax
mov dword [rbx + 0x4c], 4
lea rcx, [0x180041768]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rbx + 0x68], rax
mov r8, rax
test rax, rax
je 0x18000d49a
or rax, 0xffffffffffffffff
lea rdx, str.CreateToolhelp32Snapshot
mov rcx, r8
mov qword [rbx + 0x70], rax
mov qword [rbx + 0x78], rax
mov qword [rbx + 0x80], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x68]
lea rdx, str.Thread32First
mov qword [rbx + 0x718], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x68]
lea rdx, str.Thread32Next
mov qword [rbx + 0x740], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x68]
lea rdx, str.Process32FirstW
mov qword [rbx + 0x748], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x68]
lea rdx, str.Process32NextW
mov qword [rbx + 0x720], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x68]
lea rdx, str.Module32FirstW
mov qword [rbx + 0x728], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x68]
lea rdx, str.Module32NextW
mov qword [rbx + 0x730], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r8, qword [rbx + 0x68]
mov qword [rbx + 0x738], rax
mov eax, r14d
mov dword [rbx + 4], r14d
mov edx, 2
cmp qword [rbx + 8], r14
je 0x18000d4c3
cmp qword [rbx + 0x50], r14
je 0x18000d4c3
cmp qword [rbx + 0x58], r14
je 0x18000d4c3
cmp qword [rbx + 0x60], r14
je 0x18000d4c3
mov dword [rbx + 4], edx
mov eax, edx
mov ecx, eax
test r8, r8
je 0x18000d50f
cmp qword [rbx + 0x718], r14
je 0x18000d50f
cmp qword [rbx + 0x720], r14
je 0x18000d50f
cmp qword [rbx + 0x728], r14
je 0x18000d50f
cmp qword [rbx + 0x730], r14
je 0x18000d50f
cmp qword [rbx + 0x738], r14
je 0x18000d50f
cmp qword [rbx + 0x740], r14
je 0x18000d50f
cmp qword [rbx + 0x748], r14
je 0x18000d50f
or ecx, 4
mov dword [rbx + 4], ecx
mov dword [rbx], r14d
test cl, 4
je 0x18000d51f
mov dword [rbx], 4
jmp 0x18000d529
test dl, cl
mov eax, r14d
cmovne eax, edx
mov dword [rbx], eax
mov rsi, qword [rsp + 0x38]
mov rax, rbx
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret