Function at 0x140011870
Capabilities:
Modify service

Disassembly:
jmp 0x140011870
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x1a0
mov rdi, rsp
mov ecx, 0x68
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x1b0]
mov qword [rsp + 0x150], 0xfffffffffffffffe
mov rdx, qword [rsp + 0x1b8]
lea rcx, [rsp + 0x68]
call fcn.1400019ce
nop
lea rcx, [rsp + 0x68]
call fcn.14000206d
movzx eax, al
test eax, eax
je 0x1400119eb
mov r9d, 1
mov r8d, 0x104
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x108]
call fcn.140001ae6
mov qword [rsp + 0x158], rax
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x160], rax
mov rcx, qword [rsp + 0x160]
call fcn.140001226
mov r8d, 0x104
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x14001193c
mov dword [rsp + 0x168], 1
jmp 0x140011947
mov dword [rsp + 0x168], 0
mov eax, dword [rsp + 0x168]
mov dword [rsp + 0x74], eax
lea rcx, [rsp + 0x108]
call fcn.140002388
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14000213a
mov dword [rsp + 0x78], eax
cmp dword [rsp + 0x74], 0
je 0x140011990
lea rax, str.GetModuleFileNameW_0__CStrBuf_strExePath__260___260_
test rax, rax
je 0x140011990
mov dword [rsp + 0x16c], 1
jmp 0x14001199b
mov dword [rsp + 0x16c], 0
mov eax, dword [rsp + 0x16c]
mov dword [rsp + 0x7c], eax
cmp dword [rsp + 0x7c], 0
jne 0x1400119db
mov edx, dword [rsp + 0x78]
lea rcx, [rsp + 0x124]
call fcn.14000159b
mov eax, dword [rax]
mov dword [rsp + 0x120], eax
lea rdx, [0x1401df3b8]
lea rcx, [rsp + 0x120]
call fcn.1400a2ad0
xor eax, eax
test eax, eax
jne 0x140011970
xor eax, eax
test eax, eax
jne 0x1400118d7
mov rax, qword [rsp + 0x1b0]
add rax, 8
mov rcx, rax
call fcn.14000110e
mov rcx, rax
call fcn.14000127b
mov r8d, 0xf003f
xor edx, edx
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.1400014a1
nop
lea rcx, [rsp + 0x88]
call fcn.140001dc0
test rax, rax
je 0x140011a48
mov dword [rsp + 0x170], 1
jmp 0x140011a53
mov dword [rsp + 0x170], 0
mov eax, dword [rsp + 0x170]
mov dword [rsp + 0x94], eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14000213a
mov dword [rsp + 0x98], eax
cmp dword [rsp + 0x94], 0
je 0x140011a98
lea rax, [0x140171b40]
test rax, rax
je 0x140011a98
mov dword [rsp + 0x174], 1
jmp 0x140011aa3
mov dword [rsp + 0x174], 0
mov eax, dword [rsp + 0x174]
mov dword [rsp + 0x9c], eax
cmp dword [rsp + 0x9c], 0
jne 0x140011aec
mov edx, dword [rsp + 0x98]
lea rcx, [rsp + 0x12c]
call fcn.14000159b
mov eax, dword [rax]
mov dword [rsp + 0x128], eax
lea rdx, [0x1401df3b8]
lea rcx, [rsp + 0x128]
call fcn.1400a2ad0
xor eax, eax
test eax, eax
jne 0x140011a75
xor eax, eax
test eax, eax
jne 0x140011a29
mov rax, qword [rsp + 0x1b0]
mov rcx, rax
call fcn.14000110e
mov qword [rsp + 0x178], rax
lea rcx, [rsp + 0x88]
call fcn.140001dc0
mov r8d, 2
mov rcx, qword [rsp + 0x178]
mov rdx, rcx
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov rdx, rax
lea rcx, [rsp + 0xa8]
call fcn.1400014a1
nop
lea rcx, [rsp + 0xa8]
call fcn.140001dc0
test rax, rax
je 0x140011b6b
mov dword [rsp + 0x180], 1
jmp 0x140011b76
mov dword [rsp + 0x180], 0
mov eax, dword [rsp + 0x180]
mov dword [rsp + 0xb4], eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14000213a
mov dword [rsp + 0xb8], eax
cmp dword [rsp + 0xb4], 0
je 0x140011bbb
lea rax, [0x140171b48]
test rax, rax
je 0x140011bbb
mov dword [rsp + 0x184], 1
jmp 0x140011bc6
mov dword [rsp + 0x184], 0
mov eax, dword [rsp + 0x184]
mov dword [rsp + 0xbc], eax
cmp dword [rsp + 0xbc], 0
jne 0x140011c0f
mov edx, dword [rsp + 0xb8]
lea rcx, [rsp + 0x134]
call fcn.14000159b
mov eax, dword [rax]
mov dword [rsp + 0x130], eax
lea rdx, [0x1401df3b8]
lea rcx, [rsp + 0x130]
call fcn.1400a2ad0
xor eax, eax
test eax, eax
jne 0x140011b98
xor eax, eax
test eax, eax
jne 0x140011b4c
lea rcx, [rsp + 0x68]
call fcn.14000110e
mov qword [rsp + 0x188], rax
lea rcx, [rsp + 0xa8]
call fcn.140001dc0
mov rcx, qword [rsp + 0x1c0]
mov qword [rsp + 0x50], rcx
mov rcx, qword [rsp + 0x1f8]
mov qword [rsp + 0x48], rcx
mov rcx, qword [rsp + 0x1f0]
mov qword [rsp + 0x40], rcx
mov rcx, qword [rsp + 0x1e0]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], 0
mov rcx, qword [rsp + 0x1e8]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x188]
mov qword [rsp + 0x20], rcx
mov r9d, dword [rsp + 0x1d8]
mov r8d, dword [rsp + 0x1d0]
mov edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
test eax, eax
je 0x140011cc4
mov dword [rsp + 0x190], 1
jmp 0x140011ccf
mov dword [rsp + 0x190], 0
mov eax, dword [rsp + 0x190]
mov dword [rsp + 0xc0], eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14000213a
mov dword [rsp + 0xc4], eax
cmp dword [rsp + 0xc0], 0
je 0x140011d14
lea rax, str.::ChangeServiceConfigW__hService__0xffffffff__dwStartType__dwErrorControl__strExePath__szLoadOrderGroup__0__lpDependencies__szUserName__szUserPassword__szDisplayName__
test rax, rax
je 0x140011d14
mov dword [rsp + 0x194], 1
jmp 0x140011d1f
mov dword [rsp + 0x194], 0
mov eax, dword [rsp + 0x194]
mov dword [rsp + 0xc8], eax
cmp dword [rsp + 0xc8], 0
jne 0x140011d68
mov edx, dword [rsp + 0xc4]
lea rcx, [rsp + 0x13c]
call fcn.14000159b
mov eax, dword [rax]
mov dword [rsp + 0x138], eax
lea rdx, [0x1401df3b8]
lea rcx, [rsp + 0x138]
call fcn.1400a2ad0
xor eax, eax
test eax, eax
jne 0x140011cf1
xor eax, eax
test eax, eax
jne 0x140011c1f
cmp qword [rsp + 0x1c8], 0
je 0x140011e7f
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0xd8], rax
lea rcx, [rsp + 0xa8]
call fcn.140001dc0
lea r8, [rsp + 0xd8]
mov edx, 1
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_ChangeServiceConfig2W]
test eax, eax
je 0x140011dcb
mov dword [rsp + 0x198], 1
jmp 0x140011dd6
mov dword [rsp + 0x198], 0
mov eax, dword [rsp + 0x198]
mov dword [rsp + 0xe4], eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14000213a
mov dword [rsp + 0xe8], eax
cmp dword [rsp + 0xe4], 0
je 0x140011e1b
lea rax, str.::ChangeServiceConfig2W_hService__1__sd_
test rax, rax
je 0x140011e1b
mov dword [rsp + 0x19c], 1
jmp 0x140011e26
mov dword [rsp + 0x19c], 0
mov eax, dword [rsp + 0x19c]
mov dword [rsp + 0xec], eax
cmp dword [rsp + 0xec], 0
jne 0x140011e6f
mov edx, dword [rsp + 0xe8]
lea rcx, [rsp + 0x144]
call fcn.14000159b
mov eax, dword [rax]
mov dword [rsp + 0x140], eax
lea rdx, [0x1401df3b8]
lea rcx, [rsp + 0x140]
call fcn.1400a2ad0
xor eax, eax
test eax, eax
jne 0x140011df8
xor eax, eax
test eax, eax
jne 0x140011d97
lea rcx, [rsp + 0xa8]
call fcn.1400021b7
nop
lea rcx, [rsp + 0x88]
call fcn.1400021b7
nop
lea rcx, [rsp + 0x68]
call fcn.140001195
nop
jmp 0x140011eb1
xor eax, eax
mov rdi, rax
mov rcx, rsp
lea rdx, [0x14016f748]
call fcn.14009e8b0
mov rax, rdi
add rsp, 0x1a0
pop rdi
ret