Function at 0x140018e39
Capabilities:
Create service

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x4e8
movaps xmmword [rsp + 0x4d0], xmm6
mov rax, qword [0x140045228]
xor rax, rsp
mov qword [rsp + 0x4c8], rax
lea rax, [rsp + 0x2c0]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x80], rax
mov rdx, qword [rsp + 0x80]
xor ecx, ecx
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [rsp + 0x8c], eax
mov eax, 0xdeab8116
mov rbp, qword [sym.imp.KERNEL32.dll_GetLastError]
xorps xmm6, xmm6
mov r15, qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
lea rsi, [rsp + 0xb0]
lea rdi, str.__s_
mov r14d, 0x988eafc8
mov r12d, 0xe407bd7b
mov r13d, 0x1d5d7557
cmp eax, 0x1d5d7556
jle 0x140018f0f
cmp eax, 0x456b57cb
jle 0x140018f87
cmp eax, 0x565ee06c
jg 0x140018ff0
cmp eax, 0x456b57cc
je 0x1400190a6
cmp eax, 0x51921e3a
je 0x140018fe6
jmp 0x140018eda
cmp eax, 0xdeab8115
jle 0x140018fbd
cmp eax, 0xffed42cd
jg 0x140019020
cmp eax, 0xdeab8116
je 0x1400190d8
cmp eax, 0xe407bd7b
jne 0x140018eda
call rbp
lea rcx, str.Cannot_install_service___d__n
mov edx, eax
call fcn.140019859
mov eax, dword [0x140045d04]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x61d4dd96
mov ebx, 0x51921e3a
cmove eax, ebx
cmp dword [0x140045d08], 0xa
mov edx, 0x61d4dd96
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, ebx
jmp 0x140018eda
cmp eax, 0x273b8d6b
jg 0x14001905f
cmp eax, 0x1d5d7557
je 0x1400190f2
cmp eax, 0x20b23116
jne 0x140018eda
call rbp
lea rcx, str.CreateService_failed___d__n
mov edx, eax
call fcn.140019859
jmp 0x14001904d
cmp eax, 0x988eafc8
je 0x140019183
cmp eax, 0xdcb577a2
je 0x14001919a
cmp eax, 0xdd6c5fdc
jne 0x140018eda
mov rax, qword [rsp + 0x98]
mov eax, 0x412f9ebb
jmp 0x140018eda
cmp eax, 0x565ee06d
je 0x1400191b4
cmp eax, 0x61d4dd96
jne 0x140018eda
call rbp
lea rcx, str.Cannot_install_service___d__n
mov edx, eax
call fcn.140019859
mov eax, 0xe407bd7b
jmp 0x140018eda
cmp eax, 0xffed42ce
je 0x1400191f6
cmp eax, 0xf786525
jne 0x140018eda
lea rcx, str.Service_installed_successfully_n
call fcn.140019859
mov rcx, qword [rsp + 0xa8]
call r15
mov rcx, qword [rsp + 0x78]
call r15
mov eax, 0xdd6c5fdc
jmp 0x140018eda
cmp eax, 0x273b8d6c
jne 0x14001926c
mov eax, dword [0x140045d04]
mov ecx, dword [0x140045d08]
lea edx, [rax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl bl
xor bl, al
mov ebx, 0x61d4dd96
cmovne ebx, r12d
cmp edx, 0xffffffff
mov eax, ebx
cmove eax, r12d
jmp 0x1400191eb
mov r9, qword [rsp + 0x80]
mov edx, 0x104
mov rcx, rsi
mov r8, rdi
call fcn.1400199f6
xor ecx, ecx
xor edx, edx
mov r8d, 0xf003f
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov eax, 0x1d5d7557
jmp 0x140018eda
cmp dword [rsp + 0x8c], 0
mov eax, 0x565ee06d
mov ecx, 0x273b8d6c
cmove eax, ecx
jmp 0x140018eda
mov qword [rsp + 0x98], rsi
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xa0], rsi
mov r9, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xa0]
mov edx, 0x104
mov r8, rdi
call fcn.1400199f6
xor ecx, ecx
xor edx, edx
mov r8d, 0xf003f
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov qword [rsp + 0x78], rax
cmp qword [rsp + 0x78], 0
sete byte [rsp + 0x77]
mov eax, dword [0x140045d04]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x456b57cc
cmove eax, r14d
cmp dword [0x140045d08], 0xa
mov edx, 0x456b57cc
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, r14d
jmp 0x140018eda
cmp byte [rsp + 0x77], 0
mov eax, 0xffed42ce
mov ecx, 0xdcb577a2
cmovne eax, ecx
jmp 0x140018eda
call rbp
lea rcx, str.OpenSCManager_failed___d__n
mov edx, eax
call fcn.140019859
mov eax, 0xdd6c5fdc
jmp 0x140018eda
mov eax, dword [0x140045d04]
mov ecx, dword [0x140045d08]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete r8b
cmp ecx, 0xa
setl bl
xor bl, r8b
mov ebx, 0x456b57cc
cmovne ebx, r13d
test eax, edx
mov eax, ebx
cmove eax, r13d
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x140018eda
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
movups xmmword [rsp + 0x50], xmm6
movups xmmword [rsp + 0x40], xmm6
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 0x10
lea rdx, str.SvcName
mov r8, rdx
mov r9d, 0xf01ff
call qword [sym.imp.ADVAPI32.dll_CreateServiceW]
mov qword [rsp + 0xa8], rax
cmp qword [rsp + 0xa8], 0
mov eax, 0xf786525
mov ecx, 0x20b23116
cmove eax, ecx
jmp 0x140018eda
cmp eax, 0x412f9ebb
jne 0x140018eda
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x4c8]
xor rcx, rsp
call fcn.140027d60
movaps xmm6, xmmword [rsp + 0x4d0]
add rsp, 0x4e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret