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

Disassembly:
push rbp
push r15
mov rax, 0xe
sub rsp, 8
mov qword [rsp], 0
dec rax
jne 0x140026f83
sub rsp, 0x28
call fcn.14003e110
mov rax, 0x30
mov rax, rax
push rax
pop rcx
call fcn.14000511c
movsxd r15, dword [0x14007fadc]
cmp r15, 2
jle 0x14002705f
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 0x140027087
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 + 0x78]
pop rdx
call fcn.14003e2a0
push qword [rsp + 0x70]
movabs rcx, 0x14007b028
pop rdx
call fcn.14003e380
or rax, rax
jne 0x1400271bf
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
lea rcx, [0x14007fa50]
pop rdx
call fcn.14003e2a0
mov rax, qword [0x14007fa50]
mov rax, rax
push rax
lea rbp, [rsp + 0x58]
pop rax
mov qword [rbp], rax
lea rax, [0x14002dbc2]
mov rax, rax
push rax
pop rax
mov qword [rbp + 8], rax
lea rax, [rsp + 0x50]
mov rax, rax
push rax
pop rcx
call sub.ADVAPI32.DLL_StartServiceCtrlDispatcherW
jmp 0x1400277ec
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.140027b17
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 + 0x70]
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 + 0x78]
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.140031ac8
add rsp, 0x28
pop rax
and rax, rax
je 0x1400272b0
jmp 0x1400272d9
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 0x1400272d4
jmp 0x1400013f2
jmp 0x1400271cc
push qword [rsp + 0x68]
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.140027b17
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.140031ac8
add rsp, 0x28
pop rax
mov qword [rsp + 0x78], rax
mov r15, qword [rsp + 0x78]
and r15, r15
jne 0x1400273a2
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 + 0x78], rax
push qword [rsp + 0x78]
push 0
push qword [rsp + 0x78]
pop rcx
pop rdx
pop r8
call fcn.1400386f4
push qword [rsp + 0x78]
push 1
push qword [rsp + 0x78]
pop rcx
pop rdx
pop r8
call fcn.1400386f4
push qword [rsp + 0x78]
push 2
push qword [rsp + 0x78]
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.14002cdc7
add rsp, 0x28
lea rcx, [0x14007fa50]
pop rdx
call fcn.14003e2a0
mov rcx, qword [rsp + 0x68]
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 + 0x70]
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 + 0x80], rax
cmp qword [rsp + 0x80], 0
je 0x140027571
sub rsp, 8
push 0
push 0
push 0
push 0
push 0
mov rax, qword [rsp + 0x98]
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 + 0xe8]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.ADVAPI32.DLL_CreateServiceW
add rsp, 0x70
mov qword [rsp + 0x88], rax
cmp qword [rsp + 0x88], 0
je 0x140027564
mov rax, qword [rsp + 0x40]
mov rax, rax
push rax
lea rbp, [rsp + 0x68]
pop rax
mov qword [rbp], rax
lea rax, [rsp + 0x60]
mov rax, rax
push rax
push 1
push qword [rsp + 0x98]
pop rcx
pop rdx
pop r8
call sub.ADVAPI32.DLL_ChangeServiceConfig2W
push qword [rsp + 0x88]
pop rcx
call sub.ADVAPI32.DLL_CloseServiceHandle
push qword [rsp + 0x80]
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 + 0x80], rax
cmp qword [rsp + 0x80], 0
je 0x140027603
push 0xf01ff
mov rax, qword [0x14007fa50]
mov rax, rax
push rax
push qword [rsp + 0x90]
pop rcx
pop rdx
pop r8
call sub.ADVAPI32.DLL_OpenServiceW
mov qword [rsp + 0x88], rax
cmp qword [rsp + 0x88], 0
je 0x1400275f6
push 0
push 0
push qword [rsp + 0x98]
pop rcx
pop rdx
pop r8
call sub.ADVAPI32.DLL_StartServiceW
push qword [rsp + 0x88]
pop rcx
call sub.ADVAPI32.DLL_CloseServiceHandle
push qword [rsp + 0x80]
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.140027b17
add rsp, 0x28
movabs rcx, str.wostmp_
sub rsp, 0x28
call fcn.14003e410
add rsp, 0x28
lea rcx, [rsp + 0x98]
pop rdx
call fcn.14003e2a0
push qword [rsp + 0x90]
pop rcx
call fcn.140038114
push qword [rsp + 0x90]
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 + 0xa0]
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.140031ac8
add rsp, 0x28
pop rax
jmp 0x1400013f2
xor rax, rax
push rax
mov rcx, qword [rsp + 0x78]
sub rsp, 0x28
call fcn.14003e3e0
add rsp, 0x28
mov rcx, qword [rsp + 0x98]
sub rsp, 0x28
call fcn.14003e3e0
add rsp, 0x28
mov rcx, qword [rsp + 0x70]
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, 0x98
pop r15
pop rbp
ret