Function at 0x140026f79
Capabilities:
Create service
Modify service
Persist via windows service
Start service

Disassembly:
push rbp
push r15
mov rax, 0x10
sub rsp, 8
mov qword [rsp], 0
dec rax
jne 0x140026f83
sub rsp, 0x28
call fcn.14003e110
movsxd r15, dword [rsp + 0x50]
movsxd rax, dword [rsp + 0x50]
imul r15, rax
mov rax, r15
push rax
pop rax
mov dword [rsp + 0x50], eax
mov rax, 0x30
mov rax, rax
push rax
pop rcx
call fcn.14000511c
movsxd r15, dword [0x14007fadc]
cmp r15, 2
jle 0x140027076
push 1
movsxd rax, dword [0x14007fadc]
mov rax, rax
push rax
pop rcx
pop rdx
call fcn.140034090
mov rax, rax
push rax
pop rax
mov dword [rsp + 0x28], eax
movsxd r15, dword [rsp + 0x28]
mov rbp, qword [0x14007ffe0]
imul r15, r15, 0x18
add rbp, r15
mov rcx, qword [rbp + 8]
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.14003e410
add rsp, 0x28
lea rcx, [rsp + 0x40]
pop rdx
call fcn.14003e2a0
movsxd r15, dword [rsp + 0x28]
mov rbp, qword [0x14007ffe0]
imul r15, r15, 0x18
add rbp, r15
mov rcx, qword [rbp + 0x10]
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.14003e410
add rsp, 0x28
lea rcx, [rsp + 0x48]
pop rdx
call fcn.14003e2a0
jmp 0x14002709e
movabs rdx, str.Health_Key_Authentication_Protocol
lea rcx, [rsp + 0x38]
call fcn.14003dfd0
movabs rdx, 0x14007b648
lea rcx, [rsp + 0x40]
call fcn.14003dfd0
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
pop rcx
sub rsp, 0x20
call fcn.140033904
add rsp, 0x20
push rax
call fcn.14003e200
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400334f0
add rsp, 0x20
push rax
call fcn.14003e200
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140032670
add rsp, 0x28
lea rcx, [rsp + 0x80]
pop rdx
call fcn.14003e2a0
push qword [rsp + 0x78]
movabs rcx, 0x14007b028
pop rdx
call fcn.14003e380
or rax, rax
jne 0x1400271d9
mov rcx, qword [rsp + 0x78]
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.14003e410
add rsp, 0x28
lea rcx, [0x14007fa50]
pop rdx
call fcn.14003e2a0
mov rax, qword [0x14007fa50]
mov rax, rax
push rax
lea rbp, [rsp + 0x60]
pop rax
mov qword [rbp], rax
lea rax, [0x14002dbfd]
mov rax, rax
push rax
pop rax
mov qword [rbp + 8], rax
lea rax, [rsp + 0x58]
mov rax, rax
push rax
pop rcx
call sub.ADVAPI32.DLL_StartServiceCtrlDispatcherW
jmp 0x140027824
call fcn.140018ea1
mov dword [rsp + 0x48], 0
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
sub rsp, 0x20
call fcn.140027b52
add rsp, 0x28
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
sub rsp, 0x20
call fcn.140003e3d
add rsp, 0x30
pop rax
lea rcx, [rsp + 0x78]
pop rdx
call fcn.14003e2a0
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push qword [rsp + 0x80]
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
pop rcx
sub rsp, 0x20
call fcn.1400336f0
add rsp, 0x20
push rax
call fcn.14003e200
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400385f4
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.140031b04
add rsp, 0x28
pop rax
and rax, rax
je 0x1400272cd
jmp 0x1400272f6
movsxd r15, dword [rsp + 0x48]
inc r15
mov rax, r15
push rax
pop rax
mov dword [rsp + 0x48], eax
movsxd r15, dword [rsp + 0x48]
cmp r15, 0xc8
jle 0x1400272f1
jmp 0x1400013f2
jmp 0x1400271e6
push qword [rsp + 0x70]
pop rcx
call fcn.140018139
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push 0
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
sub rsp, 0x20
call fcn.140027b52
add rsp, 0x30
movabs rcx, str.ntdll.dll
sub rsp, 0x20
call fcn.14003e410
add rsp, 0x20
push rax
call fcn.14003e200
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140038618
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.140031b04
add rsp, 0x28
pop rax
mov qword [rsp + 0x80], rax
mov r15, qword [rsp + 0x80]
and r15, r15
jne 0x1400273c8
movabs rax, 0x14007bc7c
push rax
movabs rax, str._yyyy__mm__dd__hh:_ii:_ss
push rax
pop rcx
pop rdx
call fcn.14003a33c
mov qword [rsp + 0x80], rax
push qword [rsp + 0x80]
push 0
push qword [rsp + 0x80]
pop rcx
pop rdx
pop r8
call fcn.1400386f4
push qword [rsp + 0x80]
push 1
push qword [rsp + 0x80]
pop rcx
pop rdx
pop r8
call fcn.1400386f4
push qword [rsp + 0x80]
push 2
push qword [rsp + 0x80]
pop rcx
pop rdx
pop r8
call fcn.1400386f4
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
sub rsp, 0x20
call fcn.14002ce02
add rsp, 0x28
lea rcx, [0x14007fa50]
pop rdx
call fcn.14003e2a0
mov rcx, qword [rsp + 0x70]
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.14003e410
add rsp, 0x28
movabs rcx, 0x14007b0d2
sub rsp, 0x28
call fcn.14003e410
add rsp, 0x28
mov rcx, qword [0x14007fa50]
sub rsp, 0x28
call fcn.14003e410
add rsp, 0x28
lea rcx, [rsp + 0x78]
pop rdx
call fcn.14003e2a0
push 2
push 0
push 0
pop rcx
pop rdx
pop r8
call sub.ADVAPI32.DLL_OpenSCManagerW
mov qword [rsp + 0x88], rax
cmp qword [rsp + 0x88], 0
je 0x1400275a9
sub rsp, 8
push 0
push 0
push 0
push 0
push 0
mov rax, qword [rsp + 0xa0]
mov rax, rax
push rax
push 1
push 2
push 0x10
push 0xf01ff
mov rax, qword [rsp + 0x90]
mov rax, rax
push rax
mov rax, qword [0x14007fa50]
mov rax, rax
push rax
push qword [rsp + 0xf0]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.ADVAPI32.DLL_CreateServiceW
add rsp, 0x70
mov qword [rsp + 0x90], rax
cmp qword [rsp + 0x90], 0
je 0x14002759c
mov rax, qword [rsp + 0x40]
mov rax, rax
push rax
lea rbp, [rsp + 0x70]
pop rax
mov qword [rbp], rax
lea rax, [rsp + 0x68]
mov rax, rax
push rax
push 1
push qword [rsp + 0xa0]
pop rcx
pop rdx
pop r8
call sub.ADVAPI32.DLL_ChangeServiceConfig2W
push qword [rsp + 0x90]
pop rcx
call sub.ADVAPI32.DLL_CloseServiceHandle
push qword [rsp + 0x88]
pop rcx
call sub.ADVAPI32.DLL_CloseServiceHandle
push 2
push 0
push 0
pop rcx
pop rdx
pop r8
call sub.ADVAPI32.DLL_OpenSCManagerW
mov qword [rsp + 0x88], rax
cmp qword [rsp + 0x88], 0
je 0x14002763b
push 0xf01ff
mov rax, qword [0x14007fa50]
mov rax, rax
push rax
push qword [rsp + 0x98]
pop rcx
pop rdx
pop r8
call sub.ADVAPI32.DLL_OpenServiceW
mov qword [rsp + 0x90], rax
cmp qword [rsp + 0x90], 0
je 0x14002762e
push 0
push 0
push qword [rsp + 0xa0]
pop rcx
pop rdx
pop r8
call sub.ADVAPI32.DLL_StartServiceW
push qword [rsp + 0x90]
pop rcx
call sub.ADVAPI32.DLL_CloseServiceHandle
push qword [rsp + 0x88]
pop rcx
call sub.ADVAPI32.DLL_CloseServiceHandle
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
sub rsp, 0x20
call fcn.140027b52
add rsp, 0x28
movabs rcx, str.wostmp_
sub rsp, 0x28
call fcn.14003e410
add rsp, 0x28
lea rcx, [rsp + 0xa0]
pop rdx
call fcn.14003e2a0
push qword [rsp + 0x98]
pop rcx
call fcn.140038114
push qword [rsp + 0x98]
pop rcx
call fcn.14000fea0
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
mov rcx, qword [rsp + 0xa8]
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.14003e410
add rsp, 0x28
movabs rcx, 0x14007b196
sub rsp, 0x28
call fcn.14003e410
add rsp, 0x28
sub rsp, 8
push 1
push 0x7fffffff
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140034090
add rsp, 0x28
mov rax, rax
push rax
pop rcx
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
pop rdx
sub rsp, 0x20
call fcn.1400331c0
add rsp, 0x20
pop rax
movabs rcx, 0x14007b196
sub rsp, 0x28
call fcn.14003e410
add rsp, 0x28
sub rsp, 8
push 1
push 0x7fffffff
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140034090
add rsp, 0x28
mov rax, rax
push rax
pop rcx
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
pop rdx
sub rsp, 0x20
call fcn.1400331c0
add rsp, 0x20
pop rax
call fcn.14003e500
push rcx
sub rsp, 0x20
call fcn.14003e180
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.14003e180
add rsp, 0x28
pop rcx
push rax
pop rcx
sub rsp, 0x20
call fcn.1400336f0
add rsp, 0x20
push rax
call fcn.14003e200
mov rdx, rax
pop rax
add qword [rsp], rdx
push rax
call fcn.14003e200
mov rdx, rax
pop rax
add qword [rsp + 8], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140038810
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.140031b04
add rsp, 0x28
pop rax
jmp 0x1400013f2
xor rax, rax
push rax
mov rcx, qword [rsp + 0x80]
sub rsp, 0x28
call fcn.14003e3e0
add rsp, 0x28
mov rcx, qword [rsp + 0xa0]
sub rsp, 0x28
call fcn.14003e3e0
add rsp, 0x28
mov rcx, qword [rsp + 0x78]
sub rsp, 0x28
call fcn.14003e3e0
add rsp, 0x28
mov rcx, qword [rsp + 0x40]
sub rsp, 0x28
call fcn.14003e3e0
add rsp, 0x28
mov rcx, qword [rsp + 0x48]
sub rsp, 0x28
call fcn.14003e3e0
add rsp, 0x28
pop rax
add rsp, 0xa8
pop r15
pop rbp
ret