Function at 0x14000a010
Capabilities:
Enumerate processes

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2b0]
sub rsp, 0x3b0
mov qword [rbp - 0x60], 0xfffffffffffffffe
mov qword [rsp + 0x3f0], rbx
mov rax, qword [0x1400b6088]
xor rax, rsp
mov qword [rbp + 0x2a0], rax
mov r15d, r9d
mov rbx, r8
mov qword [rsp + 0x70], rbx
mov rsi, rdx
mov qword [rsp + 0x78], rdx
mov qword [rbp - 0x80], rcx
xor edi, edi
mov dword [rsp + 0x50], edi
xor eax, eax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
xor edx, edx
lea r8d, [rdi + 0x68]
lea rcx, [rbp - 0x50]
call fcn.14005d770
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x68], rdi
movdqa xmm0, xmmword [0x1400a07f0]
movdqu xmmword [rbp + 0x30], xmm0
mov word [rbp + 0x20], di
mov dword [rsp + 0x50], 1
mov rdx, qword [rsi + 0x10]
inc rdx
lea rcx, [rbp + 0x20]
call fcn.14000ad10
mov rdx, rsi
cmp qword [rsi + 0x18], 8
jb 0x14000a0c6
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
lea rcx, [rbp + 0x20]
call fcn.140005500
mov r8d, 1
lea rdx, [0x14009f524]
lea rcx, [rbp + 0x20]
call fcn.140005500
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14000a0f6
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
lea rcx, [rbp + 0x20]
call fcn.140005500
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x50], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x50], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 7
mov word [rax], di
mov rdx, qword [rbp + 0x38]
cmp rdx, 8
jb 0x14000a169
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a164
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000a437
call fcn.14003e9b0
movdqa xmm0, xmmword [0x1400a07f0]
movdqu xmmword [rbp + 0x30], xmm0
mov word [rbp + 0x20], di
xor edx, edx
mov r8d, 0x238
lea rcx, [rbp + 0x60]
call fcn.14005d770
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14000a3c4
mov dword [rbp + 0x60], 0x238
lea rdx, [rbp + 0x60]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
je 0x14000a3c4
lea rdx, [0x14009f528]
lea rcx, [rbp + 0x8c]
call fcn.140063f24
test eax, eax
jne 0x14000a1f3
mov dword [rsp + 0x50], edi
lea rdx, [rsp + 0x50]
mov ecx, dword [rbp + 0x68]
call qword [sym.imp.KERNEL32.dll_ProcessIdToSessionId]
test eax, eax
je 0x14000a1f3
cmp dword [rsp + 0x50], r15d
je 0x14000a202
lea rdx, [rbp + 0x60]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32NextW]
jmp 0x14000a1b7
mov r12d, gethostbyname
mov dword [rbp - 0x50], 0x68
lea rax, str.winsta0default
mov qword [rbp - 0x40], rax
mov r8d, dword [rbp + 0x68]
xor edx, edx
mov ecx, 0x2000000
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov r13, rax
lea r8, [rsp + 0x68]
mov edx, 0x2000a
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x14000a252
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x14000a3a3
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 1
mov r9d, 1
xor r8d, r8d
mov edx, 0x2000000
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_DuplicateTokenEx]
test eax, eax
jne 0x14000a28e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x14000a3a3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp eax, 0x514
je 0x14000a3a3
mov qword [rsp + 0x60], rdi
mov r8d, 1
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x60]
call qword [sym.imp.USERENV.dll_CreateEnvironmentBlock]
test eax, eax
je 0x14000a2c8
mov r12d, 0x430
jmp 0x14000a2cd
mov qword [rsp + 0x60], rdi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rsi, rax
movzx r14d, byte [rbp + 0x310]
test rax, rax
je 0x14000a380
lea rdx, str.CreateProcessWithTokenW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r10, rax
test rax, rax
je 0x14000a373
lea r9, [rbp + 0x40]
cmp qword [rbp + 0x58], 8
cmovae r9, qword [rbp + 0x40]
lea rax, [rbp - 0x78]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, qword [rsp + 0x58]
call r10
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test edi, edi
je 0x14000a373
test r14b, r14b
je 0x14000a373
mov edx, 0xffffffff
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test edi, edi
jne 0x14000a3a3
cmp ebx, 0x522
jne 0x14000a3a3
mov byte [rsp + 0x20], r14b
mov r9d, r15d
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x80]
call sym.fik.exe_private:_unsigned_long_int___cdecl_NativeUserUnmanaged::LaunchAppIntoDifferentSessionFromService_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64__unsigned_long_int__bool____ptr64
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000a3c9
mov ebx, 0x3eb
mov rdx, qword [rbp + 0x58]
cmp rdx, 8
jb 0x14000a405
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a400
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000a431
call fcn.14003e9b0
mov eax, ebx
mov rcx, qword [rbp + 0x2a0]
xor rcx, rsp
call fcn.14003e950
mov rbx, qword [rsp + 0x3f0]
add rsp, 0x3b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140060238
nop
call fcn.140060238
nop
int3