Function at 0x14000511c
Capabilities:
Enumerate services

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push r15
mov rax, 0x10
sub rsp, 8
mov qword [rsp], 0
dec rax
jne 0x14000512b
sub rsp, 0x28
call fcn.14003e110
movabs rdx, 0x14007b028
lea rcx, [rsp + 0x68]
call fcn.14003dfd0
movabs rdx, 0x14007b028
lea rcx, [rsp + 0x70]
call fcn.14003dfd0
movabs rdx, 0x14007b028
lea rcx, [rsp + 0x78]
call fcn.14003dfd0
sub rsp, 0x18
mov rdx, 1
lea rax, [rsp + 0xa8]
push rax
xor r9, r9
mov r8, 0x18
mov rcx, 1
sub rsp, 0x20
call fcn.14003db10
add rsp, 0x40
mov qword [rsp + 0x90], rax
movabs rax, 0x80000004
push rax
push 0
push 0
pop rcx
pop rdx
pop r8
call sub.ADVAPI32.DLL_OpenSCManagerW
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
je 0x140005d2c
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x50], 0
lea rax, [rsp + 0x38]
mov rax, rax
push rax
lea rax, [rsp + 0x58]
mov rax, rax
push rax
lea rax, [rsp + 0x58]
mov rax, rax
push rax
push 0
push 0
push 3
movsxd rax, dword [rsp + 0xf0]
mov rax, rax
push rax
push qword [rsp + 0x60]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.ADVAPI32.DLL_EnumServicesStatusW
add rsp, 0x40
mov qword [rsp + 0x58], rax
movsxd r15, dword [rsp + 0x48]
and r15, r15
jle 0x140005d22
movsxd rax, dword [rsp + 0x48]
push rax
pop rax
mov dword [rsp + 0x40], eax
movsxd rax, dword [rsp + 0x40]
inc rax
lea rdx, [rsp + 0x90]
mov rcx, rax
call fcn.14003dccc
push 0
movsxd rax, dword [rsp + 0x48]
mov rax, rax
push rax
mov rbp, qword [rsp + 0xa0]
lea rax, [rbp]
mov rax, rax
push rax
pop rcx
pop rdx
pop r8
call fcn.140035c50
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x50], 0
lea rax, [rsp + 0x38]
mov rax, rax
push rax
lea rax, [rsp + 0x58]
mov rax, rax
push rax
lea rax, [rsp + 0x58]
mov rax, rax
push rax
movsxd rax, dword [rsp + 0x58]
mov rax, rax
push rax
lea rax, [rbp]
mov rax, rax
push rax
push 3
movsxd rax, dword [rsp + 0xf0]
mov rax, rax
push rax
push qword [rsp + 0x60]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.ADVAPI32.DLL_EnumServicesStatusW
add rsp, 0x40
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x58], 0
je 0x140005d22
movsxd r15, dword [rsp + 0x50]
and r15, r15
jle 0x140005d22
mov dword [rsp + 0x60], 0
mov rbp, qword [rsp + 0x90]
lea rax, [rbp]
mov qword [rsp + 0x30], rax
movsxd r15, dword [rsp + 0x60]
inc r15
mov rax, r15
push rax
pop rax
mov dword [rsp + 0x60], eax
mov rbp, qword [rsp + 0x30]
cmp qword [rbp], 0
je 0x140005382
mov rbp, qword [rsp + 0x30]
cmp qword [rbp + 8], 0
je 0x140005382
mov rax, 1
jmp 0x140005385
xor rax, rax
and rax, rax
je 0x140005ce3
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push 0x19
push 0xffffffffffffffff
mov rbp, qword [rsp + 0x68]
push qword [rbp]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.140035d80
add rsp, 0x20
push rax
call fcn.14003e200
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032670
add rsp, 0x28
lea rcx, [rsp + 0x70]
pop rdx
call fcn.14003e2a0
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push 0x19
push 0xffffffffffffffff
mov rbp, qword [rsp + 0x68]
push qword [rbp + 8]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.140035d80
add rsp, 0x20
push rax
call fcn.14003e200
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032670
add rsp, 0x28
lea rcx, [rsp + 0x78]
pop rdx
call fcn.14003e2a0
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push 0x19
push 0xffffffffffffffff
mov rbp, qword [rsp + 0x88]
push qword [rbp]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.140035d80
add rsp, 0x28
push rax
call fcn.14003e200
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
sub rsp, 0x20
call fcn.14001822e
add rsp, 0x30
push rax
call fcn.14003e200
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032670
add rsp, 0x28
lea rcx, [rsp + 0x80]
pop rdx
call fcn.14003e2a0
push qword [rsp + 0x68]
movabs rcx, 0x14007b028
pop rdx
call fcn.14003e380
or rax, rax
jne 0x140005695
push qword [rsp + 0x70]
movabs rcx, 0x14007b028
pop rdx
call fcn.14003e380
or rax, rax
jne 0x140005695
push qword [rsp + 0x78]
movabs rcx, 0x14007b028
pop rdx
call fcn.14003e380
or rax, rax
jne 0x140005695
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push qword [rsp + 0x88]
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032b10
add rsp, 0x28
call fcn.14003e500
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
movabs rax, str.Shell_Hardware_Detection
push rax
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032b10
add rsp, 0x20
pop rcx
sub rsp, 8
call fcn.14003e480
add rsp, 8
mov rcx, rax
pop rdx
push rcx
mov rcx, rdx
sub rsp, 0x20
call fcn.14003e480
add rsp, 0x20
pop rcx
mov rdx, rax
call fcn.14003e380
or rax, rax
jne 0x140005695
mov rax, 1
jmp 0x140005698
xor rax, rax
and rax, rax
je 0x140005ce3
movabs rax, 0x14007b0d2
push rax
push qword [rsp + 0x78]
pop rcx
pop rdx
call fcn.140032a40
mov r15, rax
cmp r15, 2
jl 0x140005ce3
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
movabs rax, 0x14007b0d2
push rax
push 1
push qword [rsp + 0xa8]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.140032790
add rsp, 0x20
push rax
call fcn.14003e200
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032670
add rsp, 0x28
lea rcx, [rsp + 0x88]
pop rdx
call fcn.14003e2a0
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
movabs rax, 0x14007b0d2
push rax
push 2
push qword [rsp + 0xa8]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.140032790
add rsp, 0x20
push rax
call fcn.14003e200
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032670
add rsp, 0x28
lea rcx, [rsp + 0x90]
pop rdx
call fcn.14003e2a0
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push qword [rsp + 0xa0]
pop rcx
sub rsp, 0x20
call fcn.140032ba0
add rsp, 0x28
mov r15, rax
sub rsp, 8
push qword [rsp + 0xb0]
pop rcx
sub rsp, 0x20
call fcn.140032ba0
add rsp, 0x28
sub r15, rax
mov rax, r15
push rax
push qword [rsp + 0xb0]
pop rcx
sub rsp, 0x20
call fcn.140032ba0
add rsp, 0x20
mov r15, rax
inc r15
mov rax, r15
push rax
push qword [rsp + 0xa8]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.140032bc0
add rsp, 0x20
push rax
call fcn.14003e200
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032670
add rsp, 0x28
lea rcx, [rsp + 0x78]
pop rdx
call fcn.14003e2a0
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push 1
push 1
push qword [rsp + 0xc0]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.140032bc0
add rsp, 0x20
push rax
call fcn.14003e200
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032b10
add rsp, 0x28
lea rcx, [rsp + 0x88]
pop rdx
call fcn.14003e2a0
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push qword [rsp + 0xa0]
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032b10
add rsp, 0x28
call fcn.14003e500
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
movabs rax, 0x14007c682
push rax
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032b10
add rsp, 0x20
pop rcx
sub rsp, 8
call fcn.14003e480
add rsp, 8
mov rcx, rax
pop rdx
push rcx
mov rcx, rdx
sub rsp, 0x20
call fcn.14003e480
add rsp, 0x20
pop rcx
mov rdx, rax
call fcn.14003e380
or rax, rax
jne 0x140005b50
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push qword [rsp + 0xa0]
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032b10
add rsp, 0x28
call fcn.14003e500
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
movabs rax, 0x14007ba28
push rax
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032b10
add rsp, 0x20
pop rcx
sub rsp, 8
call fcn.14003e480
add rsp, 8
mov rcx, rax
pop rdx
push rcx
mov rcx, rdx
sub rsp, 0x20
call fcn.14003e480
add rsp, 0x20
pop rcx
mov rdx, rax
call fcn.14003e380
or rax, rax
jne 0x140005b50
push qword [rsp + 0x80]
pop rcx
call fcn.140032c80
mov r15, rax
movabs rax, 0x14007b19e
push rax
pop rcx
call fcn.140032c80
cmp r15, rax
jl 0x140005b1b
push qword [rsp + 0x80]
pop rcx
call fcn.140032c80
mov r15, rax
movabs rax, str.Z
push rax
pop rcx
call fcn.140032c80
cmp r15, rax
jg 0x140005b1b
mov rax, 1
jmp 0x140005b1e
xor rax, rax
and rax, rax
je 0x140005b3f
push qword [rsp + 0x70]
pop rcx
call fcn.140032ba0
mov r15, rax
cmp r15, 4
jle 0x140005b3f
mov rax, 1
jmp 0x140005b42
xor rax, rax
and rax, rax
je 0x140005b50
mov rax, 1
jmp 0x140005b53
xor rax, rax
and rax, rax
je 0x140005ce3
mov rcx, qword [rsp + 0x80]
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.14003e410
add rsp, 0x28
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push qword [rsp + 0x90]
pop rcx
sub rsp, 0x20
call fcn.140032ba0
add rsp, 0x28
mov r15, rax
dec r15
mov rax, r15
push rax
push 2
push qword [rsp + 0x98]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.140032bc0
add rsp, 0x20
pop rax
lea rcx, [rsp + 0x78]
pop rdx
call fcn.14003e2a0
mov rcx, qword [rsp + 0x68]
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.14003e410
add rsp, 0x28
movsxd r15, dword [0x14007fadc]
mov rbp, qword [0x14007ffe0]
imul r15, r15, 0x18
add rbp, r15
lea rcx, [rbp]
pop rdx
call fcn.14003e2a0
mov rcx, qword [rsp + 0x70]
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.14003e410
add rsp, 0x28
movsxd r15, dword [0x14007fadc]
mov rbp, qword [0x14007ffe0]
imul r15, r15, 0x18
add rbp, r15
lea rcx, [rbp + 8]
pop rdx
call fcn.14003e2a0
mov rcx, qword [rsp + 0x78]
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.14003e410
add rsp, 0x28
movsxd r15, dword [0x14007fadc]
mov rbp, qword [0x14007ffe0]
imul r15, r15, 0x18
add rbp, r15
lea rcx, [rbp + 0x10]
pop rdx
call fcn.14003e2a0
movsxd r15, dword [0x14007fadc]
inc r15
mov rax, r15
push rax
pop rax
mov dword [0x14007fadc], eax
movsxd rax, dword [0x14007fadc]
inc rax
movabs rdx, 0x14007ffe0
mov rcx, rax
call fcn.14003dccc
mov r15, qword [rsp + 0x30]
add r15, 0x30
mov qword [rsp + 0x30], r15
movsxd r15, dword [rsp + 0x60]
cmp r15d, dword [rsp + 0x50]
jge 0x140005d0d
movsxd r15, dword [rsp + 0x60]
cmp r15, 0x1f4
jg 0x140005d0d
jmp 0x140005d16
mov rax, 1
jmp 0x140005d19
xor rax, rax
and rax, rax
je 0x140005350
push qword [rsp + 0x28]
pop rcx
call sub.ADVAPI32.DLL_CloseServiceHandle
xor rax, rax
push rax
mov rcx, qword [rsp + 0x80]
sub rsp, 0x28
call fcn.14003e3e0
add rsp, 0x28
mov rcx, qword [rsp + 0x88]
sub rsp, 0x28
call fcn.14003e3e0
add rsp, 0x28
mov rcx, qword [rsp + 0x90]
sub rsp, 0x28
call fcn.14003e3e0
add rsp, 0x28
mov rcx, qword [rsp + 0x70]
sub rsp, 0x28
call fcn.14003e3e0
add rsp, 0x28
mov rcx, qword [rsp + 0x78]
sub rsp, 0x28
call fcn.14003e3e0
add rsp, 0x28
mov rcx, qword [rsp + 0x98]
sub rsp, 0x28
call fcn.14003ddf4
add rsp, 0x28
pop rax
add rsp, 0xa8
pop r15
pop rbp
ret