Function at 0x140001fe1
Capabilities:
Modify service

Disassembly:
jmp 0x14000ff30
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.1400019d3
nop
lea rcx, [rsp + 0x68]
call fcn.14000206d
movzx eax, al
test eax, eax
je 0x1400100ab
mov r9d, 1
mov r8d, 0x104
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x108]
call fcn.140001aeb
mov qword [rsp + 0x158], rax
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x160], rax
mov rcx, qword [rsp + 0x160]
call fcn.14000122b
mov r8d, 0x104
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x14000fffc
mov dword [rsp + 0x168], 1
jmp 0x140010007
mov dword [rsp + 0x168], 0
mov eax, dword [rsp + 0x168]
mov dword [rsp + 0x74], eax
lea rcx, [rsp + 0x108]
call fcn.14000238d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14000213a
mov dword [rsp + 0x78], eax
cmp dword [rsp + 0x74], 0
je 0x140010050
lea rax, str.GetModuleFileNameW_0__CStrBuf_strExePath__260___260_
test rax, rax
je 0x140010050
mov dword [rsp + 0x16c], 1
jmp 0x14001005b
mov dword [rsp + 0x16c], 0
mov eax, dword [rsp + 0x16c]
mov dword [rsp + 0x7c], eax
cmp dword [rsp + 0x7c], 0
jne 0x14001009b
mov edx, dword [rsp + 0x78]
lea rcx, [rsp + 0x124]
call fcn.14000159b
mov eax, dword [rax]
mov dword [rsp + 0x120], eax
lea rdx, [0x1401db250]
lea rcx, [rsp + 0x120]
call fcn.1400a1400
xor eax, eax
test eax, eax
jne 0x140010030
xor eax, eax
test eax, eax
jne 0x14000ff97
mov rax, qword [rsp + 0x1b0]
add rax, 8
mov rcx, rax
call fcn.14000110e
mov rcx, rax
call fcn.140001280
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.140001dc5
test rax, rax
je 0x140010108
mov dword [rsp + 0x170], 1
jmp 0x140010113
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 0x140010158
lea rax, [0x14016d760]
test rax, rax
je 0x140010158
mov dword [rsp + 0x174], 1
jmp 0x140010163
mov dword [rsp + 0x174], 0
mov eax, dword [rsp + 0x174]
mov dword [rsp + 0x9c], eax
cmp dword [rsp + 0x9c], 0
jne 0x1400101ac
mov edx, dword [rsp + 0x98]
lea rcx, [rsp + 0x12c]
call fcn.14000159b
mov eax, dword [rax]
mov dword [rsp + 0x128], eax
lea rdx, [0x1401db250]
lea rcx, [rsp + 0x128]
call fcn.1400a1400
xor eax, eax
test eax, eax
jne 0x140010135
xor eax, eax
test eax, eax
jne 0x1400100e9
mov rax, qword [rsp + 0x1b0]
mov rcx, rax
call fcn.14000110e
mov qword [rsp + 0x178], rax
lea rcx, [rsp + 0x88]
call fcn.140001dc5
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.140001dc5
test rax, rax
je 0x14001022b
mov dword [rsp + 0x180], 1
jmp 0x140010236
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 0x14001027b
lea rax, [0x14016d768]
test rax, rax
je 0x14001027b
mov dword [rsp + 0x184], 1
jmp 0x140010286
mov dword [rsp + 0x184], 0
mov eax, dword [rsp + 0x184]
mov dword [rsp + 0xbc], eax
cmp dword [rsp + 0xbc], 0
jne 0x1400102cf
mov edx, dword [rsp + 0xb8]
lea rcx, [rsp + 0x134]
call fcn.14000159b
mov eax, dword [rax]
mov dword [rsp + 0x130], eax
lea rdx, [0x1401db250]
lea rcx, [rsp + 0x130]
call fcn.1400a1400
xor eax, eax
test eax, eax
jne 0x140010258
xor eax, eax
test eax, eax
jne 0x14001020c
lea rcx, [rsp + 0x68]
call fcn.14000110e
mov qword [rsp + 0x188], rax
lea rcx, [rsp + 0xa8]
call fcn.140001dc5
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 0x140010384
mov dword [rsp + 0x190], 1
jmp 0x14001038f
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 0x1400103d4
lea rax, str.::ChangeServiceConfigW__hService__0xffffffff__dwStartType__dwErrorControl__strExePath__szLoadOrderGroup__0__lpDependencies__szUserName__szUserPassword__szDisplayName__
test rax, rax
je 0x1400103d4
mov dword [rsp + 0x194], 1
jmp 0x1400103df
mov dword [rsp + 0x194], 0
mov eax, dword [rsp + 0x194]
mov dword [rsp + 0xc8], eax
cmp dword [rsp + 0xc8], 0
jne 0x140010428
mov edx, dword [rsp + 0xc4]
lea rcx, [rsp + 0x13c]
call fcn.14000159b
mov eax, dword [rax]
mov dword [rsp + 0x138], eax
lea rdx, [0x1401db250]
lea rcx, [rsp + 0x138]
call fcn.1400a1400
xor eax, eax
test eax, eax
jne 0x1400103b1
xor eax, eax
test eax, eax
jne 0x1400102df
cmp qword [rsp + 0x1c8], 0
je 0x14001053f
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0xd8], rax
lea rcx, [rsp + 0xa8]
call fcn.140001dc5
lea r8, [rsp + 0xd8]
mov edx, 1
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_ChangeServiceConfig2W]
test eax, eax
je 0x14001048b
mov dword [rsp + 0x198], 1
jmp 0x140010496
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 0x1400104db
lea rax, str.::ChangeServiceConfig2W_hService__1__sd_
test rax, rax
je 0x1400104db
mov dword [rsp + 0x19c], 1
jmp 0x1400104e6
mov dword [rsp + 0x19c], 0
mov eax, dword [rsp + 0x19c]
mov dword [rsp + 0xec], eax
cmp dword [rsp + 0xec], 0
jne 0x14001052f
mov edx, dword [rsp + 0xe8]
lea rcx, [rsp + 0x144]
call fcn.14000159b
mov eax, dword [rax]
mov dword [rsp + 0x140], eax
lea rdx, [0x1401db250]
lea rcx, [rsp + 0x140]
call fcn.1400a1400
xor eax, eax
test eax, eax
jne 0x1400104b8
xor eax, eax
test eax, eax
jne 0x140010457
lea rcx, [rsp + 0xa8]
call fcn.1400021bc
nop
lea rcx, [rsp + 0x88]
call fcn.1400021bc
nop
lea rcx, [rsp + 0x68]
call fcn.14000119a
nop
jmp 0x140010571
xor eax, eax
mov rdi, rax
mov rcx, rsp
lea rdx, [0x14016b368]
call fcn.14009d1e0
mov rax, rdi
add rsp, 0x1a0
pop rdi
ret