Function at 0x140040730
Capabilities:
Create service
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rdi
sub rsp, 0x120
vmovaps xmmword [rax - 0x18], xmm6
xor edx, edx
vmovaps xmmword [rax - 0x28], xmm7
mov rbx, rcx
vmovaps xmmword [rax - 0x38], xmm8
xor ecx, ecx
vmovaps xmmword [rax - 0x48], xmm9
lea r8d, [rdx + 2]
vmovaps xmmword [rax - 0x58], xmm10
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov rdi, rax
lea rdx, [rax - 1]
cmp rdx, 0xfffffffffffffffd
ja 0x140040c7c
mov rdx, qword [rbx]
lea r8, [rsp + 0x70]
vmovsd xmm0, qword [str._YKCFZB]
movzx ecx, byte [0x1400614c8]
xor ebx, ebx
movzx eax, byte [0x1400614c8]
xor cl, 0x38
vmovsd qword [rsp + 0x70], xmm0
vmovsd xmm0, qword [str._YKCFZB]
xor byte [rsp + 0x71], 0x31
xor al, 0x38
xor byte [rsp + 0x72], 0x32
mov r9d, 0x10030
xor byte [rsp + 0x73], 0x33
xor byte [rsp + 0x74], 0x34
xor byte [rsp + 0x75], 0x35
xor byte [rsp + 0x76], 0x36
xor byte [rsp + 0x77], 0x37
vmovsd qword [rsp + 0x80], xmm0
xor byte [rsp + 0x81], 0x31
xor byte [rsp + 0x82], 0x32
xor byte [rsp + 0x83], 0x33
xor byte [rsp + 0x84], 0x34
xor byte [rsp + 0x85], 0x35
xor byte [rsp + 0x86], 0x36
xor byte [rsp + 0x87], 0x37
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rdx
lea rdx, [rsp + 0x80]
mov dword [rsp + 0x30], ebx
mov byte [rsp + 0x78], cl
mov rcx, rdi
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 1
mov qword [rsp + 0x130], rsi
mov byte [rsp + 0x70], 0x6d
mov byte [rsp + 0x80], 0x6d
mov byte [rsp + 0x88], al
call qword [sym.imp.ADVAPI32.dll_CreateServiceA]
mov rsi, rax
lea rcx, [rax - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x1400408ca
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rax, rsi
mov rsi, qword [rsp + 0x130]
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x18]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
vmovaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop rdi
ret
vmovdqu xmm0, xmmword [0x140061fe0]
vmovdqu xmm10, xmmword [0x140061ed0]
vmovdqu xmm6, xmmword [0x140061ff0]
vmovdqu xmm8, xmmword [0x140061f60]
mov eax, 4
vmovd xmm7, eax
mov eax, 0x1f
vmovd xmm9, eax
vmovdqu xmmword [rsp + 0x80], xmm0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x431
jne 0x140040ad9
mov eax, dword [0x140061488]
lea rcx, [rsp + 0x94]
vmovups ymm0, ymmword [0x140061460]
vmovsd xmm1, qword [0x140061480]
mov edx, dword [rsp + 0x80]
mov dword [rsp + 0xb8], eax
movzx eax, byte [0x14006148c]
mov byte [rsp + 0xbc], al
vmovups ymmword [rsp + 0x90], ymm0
vmovsd qword [rsp + 0xb0], xmm1
vmovd xmm0, ebx
vpshufd xmm0, xmm0, 0
vpaddd xmm5, xmm0, xmm10
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm6
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm6
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, xmm7
vpsrld xmm0, xmm4, xmm9
vpaddd xmm1, xmm0, xmm4
vmovd xmm0, dword [rcx - 4]
vpmulld xmm2, xmm1, xmm8
vpsubd xmm3, xmm5, xmm2
vpshufb xmm4, xmm3, xmmword [0x140061e90]
vmovd xmm1, edx
vpaddb xmm2, xmm4, xmm1
vpxor xmm1, xmm2, xmm0
vmovd dword [rcx - 4], xmm1
lea eax, [rbx + 4]
add ebx, 8
lea rcx, [rcx + 8]
vmovd xmm0, eax
vpshufd xmm0, xmm0, 0
vpaddd xmm5, xmm0, xmm10
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm6
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm6
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, xmm7
vpsrld xmm1, xmm4, xmm9
vpaddd xmm0, xmm1, xmm4
vpmulld xmm2, xmm0, xmm8
vmovd xmm0, edx
vpsubd xmm3, xmm5, xmm2
vpshufb xmm4, xmm3, xmmword [0x140061e90]
vpaddb xmm1, xmm4, xmm0
vmovd xmm0, dword [rcx - 8]
vpxor xmm1, xmm1, xmm0
vmovd dword [rcx - 8], xmm1
cmp ebx, 0x28
jl 0x140040962
cmp ebx, 0x2d
jge 0x140040a6d
movsxd rax, ebx
lea r8, [rsp + 0x90]
add r8, rax
nop dword [rax]
mov eax, 0x4bda12f7
lea r8, [r8 + 1]
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, bl
inc ebx
sub al, cl
add al, 0x30
xor byte [r8 - 1], al
cmp ebx, 0x2d
jl 0x140040a40
lea rcx, [rsp + 0x90]
vzeroupper
call fcn.1400036e0
vmovsd xmm0, qword [str._YKCFZB]
movzx eax, byte [0x1400614c8]
lea rdx, [rsp + 0x70]
vmovsd qword [rsp + 0x70], xmm0
xor byte [rsp + 0x71], 0x31
xor al, 0x38
xor byte [rsp + 0x72], 0x32
mov r8d, 0x10030
xor byte [rsp + 0x73], 0x33
mov rcx, rdi
xor byte [rsp + 0x74], 0x34
xor byte [rsp + 0x75], 0x35
xor byte [rsp + 0x76], 0x36
xor byte [rsp + 0x77], 0x37
mov byte [rsp + 0x78], al
mov byte [rsp + 0x70], 0x6d
call qword [sym.imp.ADVAPI32.dll_OpenServiceA]
jmp 0x140040893
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, word [0x1400614b8]
mov r9d, eax
vmovups ymm0, ymmword [0x140061490]
vmovsd xmm1, qword [0x1400614b0]
mov edx, dword [rsp + 0x80]
mov word [rsp + 0xb8], cx
lea rcx, [rsp + 0x94]
vmovups ymmword [rsp + 0x90], ymm0
vmovsd qword [rsp + 0xb0], xmm1
vmovd xmm0, ebx
vpshufd xmm0, xmm0, 0
vpaddd xmm5, xmm0, xmm10
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm6
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm6
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, xmm7
vpsrld xmm0, xmm4, xmm9
vpaddd xmm1, xmm0, xmm4
vmovd xmm0, dword [rcx - 4]
vpmulld xmm2, xmm1, xmm8
vpsubd xmm3, xmm5, xmm2
vpshufb xmm4, xmm3, xmmword [0x140061e90]
vmovd xmm1, edx
vpaddb xmm2, xmm4, xmm1
vpxor xmm1, xmm2, xmm0
vmovd dword [rcx - 4], xmm1
lea eax, [rbx + 4]
add ebx, 8
lea rcx, [rcx + 8]
vmovd xmm0, eax
vpshufd xmm0, xmm0, 0
vpaddd xmm5, xmm0, xmm10
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm6
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm6
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, xmm7
vpsrld xmm1, xmm4, xmm9
vpaddd xmm0, xmm1, xmm4
vpmulld xmm2, xmm0, xmm8
vmovd xmm0, edx
vpsubd xmm3, xmm5, xmm2
vpshufb xmm4, xmm3, xmmword [0x140061e90]
vpaddb xmm1, xmm4, xmm0
vmovd xmm0, dword [rcx - 8]
vpxor xmm1, xmm1, xmm0
vmovd dword [rcx - 8], xmm1
cmp ebx, 0x28
jl 0x140040b22
cmp ebx, 0x2a
jge 0x140040c2d
movsxd rax, ebx
lea r8, [rsp + 0x90]
add r8, rax
nop dword [rax]
mov eax, 0x4bda12f7
lea r8, [r8 + 1]
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, bl
inc ebx
sub al, cl
add al, 0x30
xor byte [r8 - 1], al
cmp ebx, 0x2a
jl 0x140040c00
vmovsd xmm0, qword [str._YKCFZB]
movzx eax, byte [0x1400614c8]
lea rdx, [rsp + 0x80]
vmovsd qword [rsp + 0x80], xmm0
mov byte [rsp + 0x88], al
lea rcx, [rsp + 0x90]
mov r8d, r9d
vzeroupper
call fcn.1400036e0
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rax, 0xffffffffffffffff
jmp 0x140040893
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x140061458]
xor ebx, ebx
vmovups ymm0, ymmword [0x140061428]
vmovups xmm1, xmmword [0x140061448]
vmovdqu xmm7, xmmword [0x140061ed0]
vmovdqu xmm6, xmmword [0x140061ff0]
vmovdqu xmm9, xmmword [0x140061f60]
mov r9d, eax
mov dword [rsp + 0xc0], ecx
movzx ecx, word [0x14006145c]
mov eax, 4
vmovups ymmword [rsp + 0x90], ymm0
vmovdqu xmm0, xmmword [0x140061fe0]
vmovd xmm8, eax
mov eax, 0x1f
mov word [rsp + 0xc4], cx
vmovdqu xmmword [rsp + 0x80], xmm0
mov edx, dword [rsp + 0x80]
lea rcx, [rsp + 0x94]
vmovd xmm10, eax
vmovups xmmword [rsp + 0xb0], xmm1
nop
vmovd xmm0, ebx
vpshufd xmm0, xmm0, 0
vpaddd xmm5, xmm0, xmm7
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm6
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm6
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, xmm8
vpsrld xmm0, xmm4, xmm10
vpaddd xmm1, xmm0, xmm4
vmovd xmm0, dword [rcx - 4]
vpmulld xmm2, xmm1, xmm9
vpsubd xmm3, xmm5, xmm2
vpshufb xmm4, xmm3, xmmword [0x140061e90]
vmovd xmm1, edx
vpaddb xmm2, xmm4, xmm1
vpxor xmm1, xmm2, xmm0
vmovd dword [rcx - 4], xmm1
lea eax, [rbx + 4]
add ebx, 8
lea rcx, [rcx + 8]
vmovd xmm0, eax
vpshufd xmm0, xmm0, 0
vpaddd xmm5, xmm0, xmm7
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm6
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm6
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, xmm8
vpsrld xmm1, xmm4, xmm10
vpaddd xmm0, xmm1, xmm4
vpmulld xmm2, xmm0, xmm9
vmovd xmm0, edx
vpsubd xmm3, xmm5, xmm2
vpshufb xmm4, xmm3, xmmword [0x140061e90]
vpaddb xmm1, xmm4, xmm0
vmovd xmm0, dword [rcx - 8]
vpxor xmm1, xmm1, xmm0
vmovd dword [rcx - 8], xmm1
cmp ebx, 0x30
jl 0x140040d10
cmp ebx, 0x36
jge 0x140040e1d
movsxd rax, ebx
lea r8, [rsp + 0x90]
add r8, rax
nop word [rax + rax]
mov eax, 0x4bda12f7
lea r8, [r8 + 1]
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, bl
inc ebx
sub al, cl
add al, 0x30
xor byte [r8 - 1], al
cmp ebx, 0x36
jl 0x140040df0
mov edx, r9d
lea rcx, [rsp + 0x90]
vzeroupper
call fcn.1400036e0
mov rax, 0xffffffffffffffff
jmp 0x14004089b