Function at 0x1400c6e40
Capabilities:
Enumerate services

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xb0
mov rax, qword [0x140173040]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r13, rcx
mov rbx, qword [rcx + 8]
mov rdi, qword [rcx + 0x10]
cmp rbx, rdi
je 0x1400c6e9b
mov rcx, rbx
call fcn.140006030
add rbx, 0x38
cmp rbx, rdi
jne 0x1400c6e82
mov rax, qword [r13 + 8]
mov qword [r13 + 0x10], rax
xor edx, edx
xor ecx, ecx
mov r8d, 0x20005
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov rdi, rax
test rax, rax
je 0x1400c6f98
mov ebx, 0x20000
mov ecx, ebx
call fcn.1400ff0c4
mov r15, rax
xor r12d, r12d
mov dword [rbp - 0x1d], r12d
mov dword [rbp - 0x21], r12d
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r12
lea rax, [rbp - 0x21]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x1d]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], r15
xor edx, edx
lea r9d, [r12 + 3]
lea r8d, [r12 + 0x30]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_EnumServicesStatusExW]
test eax, eax
jne 0x1400c6f7c
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, r15
cmp eax, 0xea
jne 0x1400c6f70
add ebx, dword [rbp - 0x1d]
call fcn.1400ff054
mov ecx, ebx
call fcn.1400ff0c4
mov r15, rax
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r12
lea rax, [rbp - 0x21]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x1d]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], r15
xor edx, edx
lea r9d, [rdx + 3]
lea r8d, [rdx + 0x30]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_EnumServicesStatusExW]
test eax, eax
je 0x1400c6f10
jmp 0x1400c6f7c
mov dword [rbp - 0x21], r12d
call fcn.1400ff054
mov r15, r12
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
cmp dword [rbp - 0x21], r12d
jne 0x1400c6fc7
test r15, r15
je 0x1400c6f98
mov rcx, r15
call fcn.1400ff054
xor al, al
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1400ff350
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rbx, [r13 + 0x20]
mov qword [rbp + 0x1f], rbx
mov rcx, rbx
call fcn.1400d8994
test eax, eax
jne 0x1400c716d
mov eax, dword [rbx + 0x4c]
cmp eax, 0x7fffffff
je 0x1400c715d
mov esi, r12d
cmp dword [rbp - 0x21], r12d
jbe 0x1400c7141
lea rdi, [r15 + 0x10]
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
movups xmmword [rbp + 7], xmm0
mov qword [rbp + 0x17], rax
lea rcx, [rbp - 0x19]
call fcn.1400055e0
lea rcx, [rbp - 0x11]
call fcn.1400055e0
nop
mov rdx, qword [rdi - 0x10]
test rdx, rdx
jne 0x1400c7036
mov r8d, r12d
jmp 0x1400c704b
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400c7040
lea rcx, [rbp - 0x19]
call fcn.140005a90
mov rdx, qword [rdi - 8]
test rdx, rdx
jne 0x1400c7062
mov r8d, r12d
jmp 0x1400c707b
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400c7070
lea rcx, [rbp - 0x11]
call fcn.140005a90
movups xmm0, xmmword [rdi]
movups xmmword [rbp - 9], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbp + 7], xmm1
mov eax, dword [rdi + 0x20]
mov dword [rbp + 0x17], eax
mov rbx, qword [r13 + 0x10]
cmp rbx, qword [r13 + 0x18]
je 0x1400c70de
mov qword [rbp - 0x29], rbx
lea rdx, [rbp - 0x19]
mov rcx, rbx
call fcn.14003f4f0
nop
lea rcx, [rbx + 8]
lea rdx, [rbp - 0x11]
call fcn.14003f4f0
movups xmm0, xmmword [rbp - 9]
movups xmmword [rbx + 0x10], xmm0
movups xmm1, xmmword [rbp + 7]
movups xmmword [rbx + 0x20], xmm1
mov eax, dword [rbp + 0x17]
mov dword [rbx + 0x30], eax
add qword [r13 + 0x10], 0x38
jmp 0x1400c70ee
lea r8, [rbp - 0x19]
mov rdx, rbx
lea rcx, [r13 + 8]
call fcn.1400c7480
add rdi, 0x38
mov rdx, qword [rbp - 0x11]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400c7112
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rbp - 0x19]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400c7132
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc esi
cmp esi, dword [rbp - 0x21]
jb 0x1400c7000
mov rbx, qword [rbp + 0x1f]
mov rcx, r15
call fcn.1400ff054
mov byte [r13 + 0x70], 0
mov rcx, rbx
call fcn.1400d899c
mov al, 1
jmp 0x1400c6f9a
dec eax
mov dword [rbx + 0x4c], eax
mov ecx, 6
call fcn.1400d7b54
int3
mov ecx, 5
call fcn.1400d7b54
int3