Function at 0x1400109f0
Capabilities:
Enumerate services

Disassembly:
push r12
push r14
sub rsp, 0x78
mov rax, rdx
test ecx, ecx
jle 0x140010a17
mov rcx, qword [rax]
lea rdx, [0x140030ac0]
call fcn.14000a0a0
test eax, eax
je 0x140010a17
mov r14b, 1
jmp 0x140010a1a
xor r14b, r14b
mov ecx, 5
call fcn.140011340
mov r12, rax
test rax, rax
jne 0x140010a4f
lea ecx, [rax + 2]
call fcn.14001c1d0
mov rcx, rax
mov edx, 0x400001fb
call fcn.140002950
lea eax, [r12 + 1]
add rsp, 0x78
pop r14
pop r12
ret
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x60], rdi
xor edx, edx
xor edi, edi
mov rcx, r12
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x30], rax
lea r9d, [rdi + 3]
mov dword [rsp + 0x28], edi
lea r8d, [rdi + 0x30]
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0xa8], edi
call qword [sym.imp.ADVAPI32.dll_EnumServicesStatusExW]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xea
je 0x140010aea
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140002510
lea ecx, [rdi + 2]
mov rbx, rax
call fcn.14001c1d0
mov rcx, rax
mov r8, rbx
mov edx, 0x40000220
call fcn.140002950
lea eax, [rdi + 2]
jmp 0x140010d07
mov ebx, dword [rsp + 0x90]
mov qword [rsp + 0x70], rbp
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbp, rax
test rax, rax
jne 0x140010b3d
lea ecx, [rax + 2]
call fcn.14001c1d0
mov rcx, rax
lea r9, str.list_nssm_services__
lea r8, str.ENUM_SERVICE_STATUS_PROCESS
mov edx, 0xc00001fa
call fcn.140002950
lea eax, [rbp + 3]
jmp 0x140010d02
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x58], r13
mov r13d, dword [rsp + 0x90]
mov qword [rsp + 0x50], r15
nop dword [rax]
nop dword [rax + rax]
mov qword [rsp + 0x48], rdi
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x40], rax
xor edx, edx
lea rax, [rsp + 0xa0]
mov rcx, r12
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r13d
lea r9d, [rdx + 3]
lea r8d, [rdx + 0x30]
mov qword [rsp + 0x20], rbp
call qword [sym.imp.ADVAPI32.dll_EnumServicesStatusExW]
mov r15d, eax
test eax, eax
jne 0x140010bc1
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xea
jne 0x140010c58
cmp dword [rsp + 0xa0], 0
jbe 0x140010c48
nop dword [rax + rax]
call fcn.14000ede0
mov rbx, rax
test rax, rax
je 0x140010c9d
mov eax, edi
lea r9, [0x14002ecd8]
imul rcx, rax, 0x38
mov edx, 0x100
mov r8, 0xffffffffffffffff
mov rax, qword [rcx + rbp]
lea rcx, [rbx + 2]
mov qword [rsp + 0x20], rax
call fcn.140001d80
xor edx, edx
mov rcx, rbx
call fcn.14000d010
test r14b, r14b
jne 0x140010c25
cmp word [rbx + 0x1842a], 0
je 0x140010c35
lea rdx, [rbx + 2]
lea rcx, [0x14002ee78]
call fcn.14000a790
mov rcx, rbx
call fcn.14000f310
inc edi
cmp edi, dword [rsp + 0xa0]
jb 0x140010bd0
test r15d, r15d
jne 0x140010cdd
xor edi, edi
jmp 0x140010b60
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbp
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140002510
mov ecx, 2
mov rbx, rax
call fcn.14001c1d0
mov rcx, rax
mov r8, rbx
mov edx, 0x40000220
call fcn.140002950
mov eax, 4
jmp 0x140010cf3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbp
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, 2
call fcn.14001c1d0
mov rcx, rax
lea r9, str.list_nssm_services__
lea r8, str.nssm_service_t
mov edx, 0xc00001fa
call fcn.140002950
mov eax, 5
jmp 0x140010cf3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbp
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov r13, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x68]
mov r15, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x60]
add rsp, 0x78
pop r14
pop r12
ret