Function at 0x14000e850
Capabilities:
Create process on windows
Enumerate processes

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x428]
sub rsp, 0x500
mov qword [rbp - 0x68], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x140048010]
xor rax, rsp
mov qword [rbp + 0x3f0], rax
xor r15d, r15d
mov dword [rsp + 0x50], r15d
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r15w
lea r8d, [r15 + 7]
lea rdx, str.sysmark
lea rcx, [rsp + 0x68]
call fcn.1400026b0
xor edx, edx
mov r8d, 0x234
lea rcx, [rbp + 0xf4]
call fcn.1400143e0
mov dword [rbp + 0xf0], 0x238
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbx, rax
mov r14, 0xffffffffffffffff
cmp rax, r14
jne 0x14000e8ff
mov rcx, r14
jmp 0x14000e9fe
lea rdx, [rbp + 0xf0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rcx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x78]
lea rdx, [rbp + 0x11c]
call fcn.1400198b4
test eax, eax
jne 0x14000e97c
lea rcx, [rbp + 0x11c]
call qword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
test rax, rax
je 0x14000e97c
mov r8d, 4
lea rdx, str..exe
mov rcx, rax
call fcn.1400198b4
test eax, eax
jne 0x14000e97c
mov edi, dword [rbp + 0xf8]
test rbx, rbx
je 0x14000ea07
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000ea07
lea rdx, [rbp + 0xf0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
je 0x14000e9f6
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rcx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x78]
lea rdx, [rbp + 0x11c]
call fcn.1400198b4
test eax, eax
jne 0x14000e97c
lea rcx, [rbp + 0x11c]
call qword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
test rax, rax
je 0x14000e97c
mov r8d, 4
lea rdx, str..exe
mov rcx, rax
call fcn.1400198b4
test eax, eax
jne 0x14000e97c
mov edi, dword [rbp + 0xf8]
test rbx, rbx
je 0x14000ea07
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000ea07
test rbx, rbx
je 0x14000ea04
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, r15d
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x14000ea48
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ea43
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ef04
call fcn.1400109c4
test edi, edi
jne 0x14000eebe
lea r8, str.com.lenovo.idleblocker.idletask.mutex
lea edx, [rdi + 1]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [rbp - 0x78], rax
test rax, rax
je 0x14000eebe
xor eax, eax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rax
xor edx, edx
lea r8d, [rdi + 0x68]
lea rcx, [rbp - 0x10]
call fcn.1400143e0
mov dword [rbp - 0x10], 0x68
mov dword [rbp + 0x2c], 1
mov word [rbp + 0x30], r15w
mov qword [rbp - 0x40], r15
lea rcx, [rbp - 0x40]
call fcn.14000e700
nop
call fcn.14000e3c0
mov rcx, rax
test rax, rax
je 0x14000ef0a
mov rax, qword [rax]
call qword [rax + 0x18]
lea rsi, [rax + 0x18]
mov qword [rbp - 0x48], rsi
mov qword [rsp + 0x58], r15
mov rbx, qword [rbp - 0x40]
lea rax, [rbx - 0x18]
mov qword [rbp - 0x70], rax
mov rcx, qword [rbx - 0x18]
test rcx, rcx
je 0x14000eaf4
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x14000eb05
call fcn.14000e3c0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x14000ef15
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0x50], 1
movsxd r13, dword [rbx - 0x10]
lea rax, [0x140040668]
mov r15, r14
inc r15
cmp word [rax + r15*2], 0
jne 0x14000eb33
lea r12d, [r15 + r13]
test r12d, r12d
js 0x14000ef20
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, r12d
or eax, ecx
jge 0x14000eb6f
mov edx, r12d
lea rcx, [rsp + 0x58]
call fcn.14000f190
mov rdi, qword [rsp + 0x58]
movsxd r14, r15d
mov r9d, r15d
lea r8, [0x140040668]
mov rdx, r14
mov rcx, rdi
call fcn.14000f200
mov rdx, r13
lea rcx, [rdi + r14*2]
mov r9d, r13d
mov r8, rbx
call fcn.14000f200
cmp r12d, dword [rdi - 0xc]
jg 0x14000eef9
mov dword [rdi - 0x10], r12d
movsxd rax, r12d
xor ecx, ecx
mov word [rdi + rax*2], cx
mov qword [rsp + 0x60], rcx
lea r13, [rdi - 0x18]
mov rcx, qword [r13]
test rcx, rcx
je 0x14000ebd0
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x14000ebe1
call fcn.14000e3c0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x14000ef2b
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0x50], 3
lea rax, str.___Throttle
mov r15, 0xffffffffffffffff
nop
inc r15
cmp word [rax + r15*2], 0
jne 0x14000ec10
mov edx, dword [rdi - 0x10]
mov dword [rsp + 0x54], edx
lea r12d, [rdx + r15]
test r12d, r12d
js 0x14000ef36
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r12d
or eax, ecx
jge 0x14000ec57
mov edx, r12d
lea rcx, [rsp + 0x60]
call fcn.14000f190
mov rbx, qword [rsp + 0x60]
mov edx, dword [rsp + 0x54]
movsxd r14, edx
mov r9d, edx
mov r8, rdi
mov rdx, r14
mov rcx, rbx
call fcn.14000f200
movsxd rdx, r15d
lea rcx, [rbx + r14*2]
mov r9d, r15d
lea r8, str.___Throttle
call fcn.14000f200
cmp r12d, dword [rbx - 0xc]
jg 0x14000eeee
mov dword [rbx - 0x10], r12d
movsxd rax, r12d
xor r14d, r14d
mov word [rbx + rax*2], r14w
lea rdi, [rbx - 0x18]
add rsi, 0xffffffffffffffe8
cmp rdi, rsi
je 0x14000ecf6
cmp dword [rsi + 0x10], r14d
jl 0x14000ece6
mov rax, qword [rsi]
cmp qword [rdi], rax
jne 0x14000ece6
mov rcx, rdi
call fcn.14000f110
mov rbx, rax
mov ecx, 0xffffffff
lock xadd dword [rsi + 0x10], ecx
sub ecx, 1
jg 0x14000ecdc
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rbx + 0x18]
mov qword [rbp - 0x48], rax
jmp 0x14000ecf6
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rbp - 0x48]
call fcn.14000f290
mov dword [rsp + 0x50], 1
mov rsi, 0xffffffffffffffff
mov eax, esi
lock xadd dword [rdi + 0x10], eax
sub eax, 1
jg 0x14000ed1e
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov eax, esi
lock xadd dword [r13 + 0x10], eax
sub eax, 1
jg 0x14000ed38
mov rcx, qword [r13]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rbp - 0x48]
cmp dword [rbx - 8], 1
jle 0x14000ed52
mov edx, dword [rbx - 0x10]
lea rcx, [rbp - 0x48]
call fcn.14000f050
mov rbx, qword [rbp - 0x48]
lea rax, [rbp - 0x60]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x10]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x400
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x14000ee82
mov rcx, qword [rbp - 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r14d, 0xffffffff
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov dword [rsp + 0x20], 0x10
lea r9, [rbp - 0x28]
xor r8d, r8d
xor edx, edx
lea ecx, [rax + 0xc]
call qword [sym.imp.POWRPROF.dll_CallNtPowerInformation]
test eax, eax
jne 0x14000ee72
mov edi, dword [rbp - 0x20]
xor edx, edx
mov r8d, 0xc0
lea rcx, [rbp + 0x330]
call fcn.1400143e0
xor edx, edx
mov r8d, SysAllocStringByteLen
lea rcx, [rbp + 0x60]
call fcn.1400143e0
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x330]
call qword [sym.imp.POWRPROF.dll_GetCurrentPowerPolicies]
test al, al
jne 0x14000ee3d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.GetCurrentPowerPolicies_failed__GLE_lu_n
call fcn.14000f490
mov ecx, 0x1388
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14000edb0
xor eax, eax
mov qword [rbp - 0x38], rax
mov dword [rbp - 0x30], eax
lea rcx, [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_GetSystemPowerStatus]
test eax, eax
je 0x14000ee62
cmp byte [rbp - 0x38], 1
sete al
test al, al
mov eax, dword [rbp + 0x7c]
jne 0x14000ee68
mov eax, dword [rbp + 0x80]
test eax, eax
cmove eax, r14d
cmp eax, edi
je 0x14000ee8d
mov ecx, 0x1388
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14000edb0
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000eea7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x70]
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14000eebe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp + 0x3f0]
xor rcx, rsp
call fcn.1400109a0
lea r11, [rsp + 0x500]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 0x80070057
call fcn.14000f460
nop
mov ecx, 0x80070057
call fcn.14000f460
nop
call fcn.140018b18
nop
mov ecx, 0x80004005
call fcn.14000f460
nop
mov ecx, 0x80004005
call fcn.14000f460
int3
mov ecx, 0x80070057
call fcn.14000f460
nop
mov ecx, 0x80004005
call fcn.14000f460
int3
mov ecx, 0x80070057
call fcn.14000f460
int3