Function at 0x140007bf0
Capabilities:
Enumerate services

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xe0
mov ebx, r8d
mov r15d, edx
mov rsi, rcx
xor edx, edx
xor ecx, ecx
lea r8d, [rdx + 4]
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov rdi, rax
mov qword [rbp - 0x39], rax
test rax, rax
je 0x140007e56
xor r13d, r13d
mov dword [rbp - 0x41], r13d
mov qword [rbp - 0x59], r13
mov qword [rbp - 0x51], r13
mov qword [rbp - 0x49], r13
lea r8, [rbp + 0x7f]
mov edx, 0x40000
lea rcx, [rbp - 0x59]
call fcn.140001ba0
mov r12, qword [rbp - 0x51]
mov r14, qword [rbp - 0x59]
nop dword [rax]
mov dword [rbp - 0x65], r13d
mov dword [rbp - 0x61], r13d
mov r13, r12
sub r13, r14
mov rax, r14
cmp r14, r12
mov ecx, 0
cmove rax, rcx
mov qword [rsp + 0x48], rcx
lea rcx, [rbp - 0x41]
mov qword [rsp + 0x40], rcx
lea rcx, [rbp - 0x65]
mov qword [rsp + 0x38], rcx
lea rcx, [rbp - 0x61]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], rax
mov r9d, ebx
mov r8d, r15d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_EnumServicesStatusExW]
mov byte [rbp + 0x7f], 0
test eax, eax
jne 0x140007ce5
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xea
jne 0x140007e5c
mov byte [rbp + 0x7f], 1
mov r15d, dword [rbp - 0x65]
test r15d, r15d
je 0x140007d9a
mov rcx, qword [rsi + 8]
sub rcx, qword [rsi]
movabs r10, 0x2aaaaaaaaaaaaaab
mov rax, r10
imul rcx
sar rdx, 4
mov r9, rdx
shr r9, 0x3f
add r9, rdx
add r9, r15
mov rcx, qword [rsi + 0x10]
sub rcx, qword [rsi]
mov rax, r10
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r9, rdx
jbe 0x140007d5c
movabs rax, 0x2aaaaaaaaaaaaaa
cmp r9, rax
ja 0x140007e8c
mov rdx, r9
mov rcx, rsi
call fcn.1400073c0
mov r15d, dword [rbp - 0x65]
xor ebx, ebx
test r15d, r15d
je 0x140007d9a
mov eax, ebx
imul r8, rax, 0x38
add r8, r14
mov rax, qword [rsi + 8]
cmp rax, qword [rsi + 0x10]
je 0x140007d88
mov rdx, r8
mov rcx, rax
call fcn.1400071a0
add qword [rsi + 8], 0x60
jmp 0x140007d93
mov rdx, rax
mov rcx, rsi
call fcn.140006d90
inc ebx
cmp ebx, r15d
jb 0x140007d63
mov ebx, dword [rbp - 0x61]
cmp rbx, r13
jbe 0x140007dde
mov rax, qword [rbp - 0x49]
sub rax, r14
cmp rbx, rax
jbe 0x140007dc7
lea r8, [rbp - 0x69]
mov edx, ebx
lea rcx, [rbp - 0x59]
call fcn.140001ba0
mov r12, qword [rbp - 0x51]
mov r14, qword [rbp - 0x59]
jmp 0x140007dde
sub rbx, r13
mov r8, rbx
xor edx, edx
mov rcx, r12
call fcn.1400163b0
add r12, rbx
mov qword [rbp - 0x51], r12
mov rbx, qword [rbp - 0x49]
cmp byte [rbp + 0x7f], 0
je 0x140007df7
mov ebx, dword [rbp + 0x77]
mov r15d, dword [rbp + 0x6f]
xor r13d, r13d
jmp 0x140007c70
test r14, r14
je 0x140007e2c
sub rbx, r14
mov rax, r14
cmp rbx, 0x1000
jb 0x140007e20
add rbx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007e50
mov rdx, rbx
mov rcx, r14
call fcn.140013d94
nop
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rbx, qword [rsp + 0x120]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14001a534
nop
call fcn.140008320
nop
mov edx, eax
lea rcx, [rbp - 0x19]
call fcn.140007fb0
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x29], xmm0
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 9]
call fcn.140006810
lea rdx, [0x1403ac748]
lea rcx, [rbp - 9]
call fcn.140014ea0
int3
call fcn.140002fd0
int3