Function at 0x75b84f470
Capabilities:
Start service

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
push rdi
push r14
push r15
sub rsp, 0x50
mov esi, r8d
mov r14, rdx
mov r15, rcx
xor edi, edi
and dword [rsp + 0x88], edi
and dword [rax + 0x18], edi
xor ebx, ebx
lea eax, [r8 - 1]
cmp eax, 0xf
ja 0x75b84f598
test sil, 4
je 0x75b84f598
mov edx, 0x3801
call fcn.75b89d278
test eax, eax
jns 0x75b84f506
mov edi, 0x80070032
lea rbx, [0x75b91a090]
mov rcx, qword [0x75b91a090]
cmp rcx, rbx
je 0x75b84f801
test byte [rcx + 0x1c], 1
je 0x75b84f801
mov edx, 0x1e
mov r9d, 0x80070032
lea r8, [0x75b8e6260]
mov rcx, qword [rcx + 0x10]
call fcn.75b803a20
jmp 0x75b84f801
lea r8, [rsp + 0x80]
mov edx, 1
call fcn.75b850318
mov edi, eax
test eax, eax
jns 0x75b84f549
lea rbx, [0x75b91a090]
mov rcx, qword [0x75b91a090]
cmp rcx, rbx
je 0x75b84f801
test byte [rcx + 0x1c], 1
je 0x75b84f801
mov edx, 0x1f
mov r9d, eax
jmp 0x75b84f4f1
mov eax, dword [rsp + 0x80]
neg eax
sbb edi, edi
not edi
and edi, 0x80070005
mov eax, edi
shr eax, 0x1f
test al, al
je 0x75b84f593
lea rbx, [0x75b91a090]
mov rcx, qword [0x75b91a090]
cmp rcx, rbx
je 0x75b84f801
test byte [rcx + 0x1c], 1
je 0x75b84f801
mov edx, 0x20
mov r9d, edi
jmp 0x75b84f4f1
mov ebx, 1
mov r8d, 0x10
mov rdx, r14
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov r15, rax
mov qword [rsp + 0x20], rax
test rax, rax
jne 0x75b84f5e8
call fcn.75b8998c4
mov edi, eax
lea rbx, [0x75b91a090]
mov rcx, qword [0x75b91a090]
cmp rcx, rbx
je 0x75b84f801
test byte [rcx + 0x1c], 1
je 0x75b84f801
lea edx, [r15 + 0x21]
jmp 0x75b84f544
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
and qword [rsp + 0x40], 0
test esi, esi
jne 0x75b84f649
lea rbx, [0x75b91a090]
mov rcx, qword [0x75b91a090]
cmp rcx, rbx
je 0x75b84f627
test byte [rcx + 0x1c], 4
je 0x75b84f627
lea edx, [rsi + 0x22]
lea r8, [0x75b8e6260]
mov rcx, qword [rcx + 0x10]
call fcn.75b803a00
lea rax, str.Enable
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x28]
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.75b84fc14
jmp 0x75b84f6fe
test ebx, ebx
je 0x75b84f69a
lea rbx, [0x75b91a090]
mov rcx, qword [0x75b91a090]
cmp rcx, rbx
je 0x75b84f67b
test byte [rcx + 0x1c], 4
je 0x75b84f67b
mov edx, 0x23
lea r8, [0x75b8e6260]
mov rcx, qword [rcx + 0x10]
call fcn.75b803a00
lea rax, str.Sidebysidemode
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x28]
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.75b84fc14
jmp 0x75b84f6a1
lea rbx, [0x75b91a090]
cmp esi, 0x10
jne 0x75b84f6fe
mov rcx, qword [0x75b91a090]
cmp rcx, rbx
je 0x75b84f6cb
test byte [rcx + 0x1c], 4
je 0x75b84f6cb
lea edx, [rsi + 0x14]
lea r8, [0x75b8e6260]
mov rcx, qword [rcx + 0x10]
call fcn.75b803a00
lea rcx, str.SmartLocker
mov qword [rsp + 0x28], rcx
mov rax, qword [rsp + 0x38]
cmp rax, qword [rsp + 0x40]
je 0x75b84f6ec
mov qword [rax], rcx
add rax, 8
jmp 0x75b84f703
lea r8, [rsp + 0x28]
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.75b84fc14
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
sub rax, rsi
sar rax, 3
mov r8, rsi
mov edx, eax
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_StartServiceW]
mov r14d, eax
mov dword [rsp + 0x88], eax
test rsi, rsi
je 0x75b84f771
mov rcx, qword [rsp + 0x40]
sub rcx, rsi
sar rcx, 3
lea rdx, [rcx*8]
mov rax, rsi
cmp rdx, 0x1000
jb 0x75b84f768
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x75b84f768
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rsi
call fcn.75b8bca28
nop
jmp 0x75b84f7a3
test edi, edi
jns 0x75b84f7c3
mov rcx, qword [0x75b91a090]
cmp rcx, rbx
je 0x75b84f7f8
test byte [rcx + 0x1c], 1
je 0x75b84f7f8
mov edx, 0x25
mov r9d, edi
jmp 0x75b84f7e8
test r14d, r14d
jne 0x75b84f7f8
call fcn.75b8998c4
mov edi, eax
mov rcx, qword [0x75b91a090]
cmp rcx, rbx
je 0x75b84f7f8
test byte [rcx + 0x1c], 1
je 0x75b84f7f8
lea edx, [r14 + 0x26]
mov r9d, eax
lea r8, [0x75b8e6260]
mov rcx, qword [rcx + 0x10]
call fcn.75b803a20
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov eax, edi
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x50
pop r15
pop r14
pop rdi
ret