Function at 0x140005328
Capabilities:
Enumerate services

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push r15
mov rax, reloc.WS2_32.dll_recv
sub rsp, 8
mov qword [rsp], 0
dec rax
jne 0x140005337
sub rsp, 0x28
call fcn.14003e350
movabs rdx, 0x140092028
lea rcx, [rsp + 0x68]
call fcn.14003e210
movabs rdx, 0x140092028
lea rcx, [rsp + 0x70]
call fcn.14003e210
movabs rdx, 0x140092028
lea rcx, [rsp + 0x78]
call fcn.14003e210
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.14003d960
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 0x140005f63
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 0x140005f59
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.14003db1c
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.14003ddf0
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 0x140005f59
movsxd r15, dword [rsp + 0x50]
and r15, r15
jle 0x140005f59
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 0x14000558e
mov rbp, qword [rsp + 0x30]
cmp qword [rbp + 8], 0
je 0x14000558e
mov rax, 1
jmp 0x140005591
xor rax, rax
and rax, rax
je 0x140005f1a
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e3c0
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e3c0
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.14003dee0
add rsp, 0x20
push rax
call fcn.14003e440
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400326c0
add rsp, 0x28
lea rcx, [rsp + 0x70]
pop rdx
call fcn.14003e4e0
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e3c0
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e3c0
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.14003dee0
add rsp, 0x20
push rax
call fcn.14003e440
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400326c0
add rsp, 0x28
lea rcx, [rsp + 0x78]
pop rdx
call fcn.14003e4e0
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e3c0
add rsp, 0x20
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x20
call fcn.14003e3c0
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e3c0
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.14003dee0
add rsp, 0x28
push rax
call fcn.14003e440
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
sub rsp, 0x20
call fcn.1400184cd
add rsp, 0x30
push rax
call fcn.14003e440
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400326c0
add rsp, 0x28
lea rcx, [rsp + 0x80]
pop rdx
call fcn.14003e4e0
push qword [rsp + 0x68]
movabs rcx, 0x140092028
pop rdx
call fcn.14003e5c0
or rax, rax
jne 0x1400057d2
push qword [rsp + 0x70]
movabs rcx, 0x140092028
pop rdx
call fcn.14003e5c0
or rax, rax
jne 0x1400057d2
mov rax, 1
jmp 0x1400057d5
xor rax, rax
and rax, rax
je 0x1400057fc
push qword [rsp + 0x78]
movabs rcx, 0x140092028
pop rdx
call fcn.14003e5c0
or rax, rax
jne 0x1400057fc
mov rax, 1
jmp 0x1400057ff
xor rax, rax
and rax, rax
je 0x1400058bb
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
push qword [rsp + 0x88]
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032b60
add rsp, 0x28
call fcn.14003e740
push rcx
sub rsp, 0x20
call fcn.14003e3c0
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
movabs rax, str.Shell_Hardware_Detection
push rax
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032b60
add rsp, 0x20
pop rcx
sub rsp, 8
call fcn.14003e6c0
add rsp, 8
mov rcx, rax
pop rdx
push rcx
mov rcx, rdx
sub rsp, 0x20
call fcn.14003e6c0
add rsp, 0x20
pop rcx
mov rdx, rax
call fcn.14003e5c0
or rax, rax
jne 0x1400058bb
mov rax, 1
jmp 0x1400058be
xor rax, rax
and rax, rax
je 0x140005f1a
movabs rax, 0x1400920d2
push rax
push qword [rsp + 0x78]
pop rcx
pop rdx
call fcn.140032a90
mov r15, rax
cmp r15, 2
jl 0x140005f1a
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e3c0
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
movabs rax, 0x1400920d2
push rax
push 1
push qword [rsp + 0xa8]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400327e0
add rsp, 0x20
push rax
call fcn.14003e440
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400326c0
add rsp, 0x28
lea rcx, [rsp + 0x88]
pop rdx
call fcn.14003e4e0
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e3c0
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
movabs rax, 0x1400920d2
push rax
push 2
push qword [rsp + 0xa8]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400327e0
add rsp, 0x20
push rax
call fcn.14003e440
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400326c0
add rsp, 0x28
lea rcx, [rsp + 0x90]
pop rdx
call fcn.14003e4e0
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e3c0
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push qword [rsp + 0xa0]
pop rcx
sub rsp, 0x20
call fcn.140032bf0
add rsp, 0x28
mov r15, rax
sub rsp, 8
push qword [rsp + 0xb0]
pop rcx
sub rsp, 0x20
call fcn.140032bf0
add rsp, 0x28
sub r15, rax
mov rax, r15
push rax
push qword [rsp + 0xb0]
pop rcx
sub rsp, 0x20
call fcn.140032bf0
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.140032c10
add rsp, 0x20
push rax
call fcn.14003e440
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400326c0
add rsp, 0x28
lea rcx, [rsp + 0x78]
pop rdx
call fcn.14003e4e0
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e3c0
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e3c0
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.140032c10
add rsp, 0x20
push rax
call fcn.14003e440
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032b60
add rsp, 0x28
lea rcx, [rsp + 0x88]
pop rdx
call fcn.14003e4e0
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
push qword [rsp + 0xa0]
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032b60
add rsp, 0x28
call fcn.14003e740
push rcx
sub rsp, 0x20
call fcn.14003e3c0
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
movabs rax, 0x140093686
push rax
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032b60
add rsp, 0x20
pop rcx
sub rsp, 8
call fcn.14003e6c0
add rsp, 8
mov rcx, rax
pop rdx
push rcx
mov rcx, rdx
sub rsp, 0x20
call fcn.14003e6c0
add rsp, 0x20
pop rcx
mov rdx, rax
call fcn.14003e5c0
or rax, rax
jne 0x140005cf1
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
push qword [rsp + 0xa0]
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032b60
add rsp, 0x28
call fcn.14003e740
push rcx
sub rsp, 0x20
call fcn.14003e3c0
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
movabs rax, 0x140092a2c
push rax
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032b60
add rsp, 0x20
pop rcx
sub rsp, 8
call fcn.14003e6c0
add rsp, 8
mov rcx, rax
pop rdx
push rcx
mov rcx, rdx
sub rsp, 0x20
call fcn.14003e6c0
add rsp, 0x20
pop rcx
mov rdx, rax
call fcn.14003e5c0
or rax, rax
jne 0x140005cf1
mov rax, 1
jmp 0x140005cf4
xor rax, rax
and rax, rax
je 0x140005d87
push qword [rsp + 0x80]
pop rcx
call fcn.140032cd0
mov r15, rax
movabs rax, 0x14009219e
push rax
pop rcx
call fcn.140032cd0
cmp r15, rax
jl 0x140005d52
push qword [rsp + 0x80]
pop rcx
call fcn.140032cd0
mov r15, rax
movabs rax, str.Z
push rax
pop rcx
call fcn.140032cd0
cmp r15, rax
jg 0x140005d52
mov rax, 1
jmp 0x140005d55
xor rax, rax
and rax, rax
je 0x140005d76
push qword [rsp + 0x70]
pop rcx
call fcn.140032bf0
mov r15, rax
cmp r15, 4
jle 0x140005d76
mov rax, 1
jmp 0x140005d79
xor rax, rax
and rax, rax
je 0x140005d87
mov rax, 1
jmp 0x140005d8a
xor rax, rax
and rax, rax
je 0x140005f1a
mov rcx, qword [rsp + 0x80]
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.14003e650
add rsp, 0x28
push rcx
sub rsp, 0x20
call fcn.14003e3c0
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push qword [rsp + 0x90]
pop rcx
sub rsp, 0x20
call fcn.140032bf0
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.140032c10
add rsp, 0x20
pop rax
lea rcx, [rsp + 0x78]
pop rdx
call fcn.14003e4e0
mov rcx, qword [rsp + 0x68]
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.14003e650
add rsp, 0x28
movsxd r15, dword [0x140096df0]
mov rbp, qword [0x1400972f4]
imul r15, r15, 0x18
add rbp, r15
lea rcx, [rbp]
pop rdx
call fcn.14003e4e0
mov rcx, qword [rsp + 0x70]
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.14003e650
add rsp, 0x28
movsxd r15, dword [0x140096df0]
mov rbp, qword [0x1400972f4]
imul r15, r15, 0x18
add rbp, r15
lea rcx, [rbp + 8]
pop rdx
call fcn.14003e4e0
mov rcx, qword [rsp + 0x78]
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.14003e650
add rsp, 0x28
movsxd r15, dword [0x140096df0]
mov rbp, qword [0x1400972f4]
imul r15, r15, 0x18
add rbp, r15
lea rcx, [rbp + 0x10]
pop rdx
call fcn.14003e4e0
movsxd r15, dword [0x140096df0]
inc r15
mov rax, r15
push rax
pop rax
mov dword [0x140096df0], eax
movsxd rax, dword [0x140096df0]
inc rax
movabs rdx, 0x1400972f4
mov rcx, rax
call fcn.14003db1c
mov r15, qword [rsp + 0x30]
add r15, 0x30
mov qword [rsp + 0x30], r15
movsxd r15, dword [rsp + 0x60]
cmp r15d, dword [rsp + 0x50]
jge 0x140005f44
movsxd r15, dword [rsp + 0x60]
cmp r15, 0x1f4
jg 0x140005f44
jmp 0x140005f4d
mov rax, 1
jmp 0x140005f50
xor rax, rax
and rax, rax
je 0x14000555c
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.14003e620
add rsp, 0x28
mov rcx, qword [rsp + 0x88]
sub rsp, 0x28
call fcn.14003e620
add rsp, 0x28
mov rcx, qword [rsp + 0x90]
sub rsp, 0x28
call fcn.14003e620
add rsp, 0x28
mov rcx, qword [rsp + 0x70]
sub rsp, 0x28
call fcn.14003e620
add rsp, 0x28
mov rcx, qword [rsp + 0x78]
sub rsp, 0x28
call fcn.14003e620
add rsp, 0x28
mov rcx, qword [rsp + 0x98]
sub rsp, 0x28
call fcn.14003dc44
add rsp, 0x28
pop rax
add rsp, 0xa8
pop r15
pop rbp
ret