Function at 0x140011a80
Capabilities:
Enumerate services

Disassembly:
push r13
push r15
sub rsp, 0x88
mov rax, rdx
test ecx, ecx
jle 0x140011aaa
mov rcx, qword [rax]
lea rdx, [0x1400289c8]
call fcn.140009b50
test eax, eax
je 0x140011aaa
mov r13b, 1
jmp 0x140011aad
xor r13b, r13b
mov ecx, 5
call fcn.14000ee10
mov r15, rax
test rax, rax
jne 0x140011ae2
call fcn.140017f4c
mov edx, 0x400001fb
lea rcx, [rax + 0x60]
call fcn.1400026b0
lea eax, [r15 + 1]
add rsp, 0x88
pop r15
pop r13
ret
lea rax, [rsp + 0xb8]
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0x70], rdi
xor edi, edi
xor edx, edx
mov rcx, r15
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xa0]
lea r9d, [rdi + 3]
mov qword [rsp + 0x30], rax
lea r8d, [rdi + 0x30]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0xb8], edi
call qword [sym.imp.ADVAPI32.dll_EnumServicesStatusExW]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xea
je 0x140011b7b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140002430
mov rbx, rax
call fcn.140017f4c
mov r8, rbx
lea rcx, [rax + 0x60]
mov edx, 0x40000220
call fcn.1400026b0
lea eax, [rdi + 2]
jmp 0x140011d90
mov ebx, dword [rsp + 0xa0]
mov qword [rsp + 0x68], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
jne 0x140011bce
call fcn.140017f4c
lea r9, str.list_nssm_services__
lea r8, str.ENUM_SERVICE_STATUS_PROCESS
lea rcx, [rax + 0x60]
mov edx, 0xc00001fa
call fcn.1400026b0
lea eax, [r12 + 3]
jmp 0x140011d8b
mov eax, dword [rsp + 0xa0]
mov qword [rsp + 0x80], rbp
mov qword [rsp + 0x78], rsi
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x60], r14
nop dword [rax + rax]
mov qword [rsp + 0x48], rdi
xor edx, edx
lea rcx, [rsp + 0xb8]
mov qword [rsp + 0x40], rcx
lea rcx, [rsp + 0xb0]
lea r9d, [rdx + 3]
mov qword [rsp + 0x38], rcx
lea rcx, [rsp + 0xa0]
lea r8d, [rdx + 0x30]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], eax
mov rcx, r15
mov qword [rsp + 0x20], r12
call qword [sym.imp.ADVAPI32.dll_EnumServicesStatusExW]
mov r14d, eax
test eax, eax
jne 0x140011c50
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xea
jne 0x140011ce6
cmp dword [rsp + 0xb0], 0
jbe 0x140011cd2
mov rsi, r12
nop dword [rax]
call fcn.140010290
mov rbx, rax
test rax, rax
je 0x140011d27
mov rcx, qword [rsi]
lea r9, [0x140026d3c]
or r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rcx
lea rcx, [rax + 2]
mov edx, 0x100
call fcn.140018170
xor edx, edx
mov rcx, rbx
call fcn.14000dd40
test r13b, r13b
jne 0x140011cab
cmp word [rbx + 0x1842a], 0
je 0x140011cbb
lea rdx, [rbx + 2]
lea rcx, [0x140026e48]
call fcn.1400194c0
mov rcx, rbx
call fcn.1400102f0
inc edi
add rsi, 0x38
cmp edi, dword [rsp + 0xb0]
jb 0x140011c60
test r14d, r14d
jne 0x140011d63
mov eax, dword [rsp + 0x50]
xor edi, edi
jmp 0x140011bf0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
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.140002430
mov rbx, rax
call fcn.140017f4c
mov r8, rbx
lea rcx, [rax + 0x60]
mov edx, 0x40000220
call fcn.1400026b0
mov eax, 4
jmp 0x140011d79
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
call fcn.140017f4c
lea r9, str.list_nssm_services__
lea r8, str.nssm_service_t
lea rcx, [rax + 0x60]
mov edx, 0xc00001fa
call fcn.1400026b0
mov eax, 5
jmp 0x140011d79
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov rsi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
mov r14, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
mov rbx, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x70]
add rsp, 0x88
pop r15
pop r13
ret