Function at 0x140111e30
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
vmovaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1401a6c00]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rbx, rcx
xor r15d, r15d
lea r12, [0x140000000]
cmp byte [rcx + 9], r15b
jne 0x140111eab
cmp word [rcx + 4], 8
jne 0x140111e8d
vmovups xmm6, xmmword [0x140163d70]
vmovsd xmm0, qword [0x140163d80]
jmp 0x140111ec7
movzx eax, byte [rcx + 8]
lea rcx, [rax + rax*2]
vmovups xmm6, xmmword [r12 + rcx*8 + 0x163d10]
vmovsd xmm0, qword [r12 + rcx*8 + 0x163d20]
jmp 0x140111ec7
movzx eax, byte [rcx + 8]
lea rcx, [rax + rax*2]
vmovups xmm6, xmmword [r12 + rcx*8 + 0x163d90]
vmovsd xmm0, qword [r12 + rcx*8 + 0x163da0]
vmovsd qword [rbp + 7], xmm0
mov rax, rbx
mov ecx, 4
movzx eax, word [rbx + rcx]
vmovd ecx, xmm6
movzx r8d, cx
xor edx, edx
div r8d
mov esi, eax
xor edx, edx
mov rcx, qword [rbx + 0x50]
call fcn.14011d130
mov rdi, qword [rbx + 0x18]
mov r14, qword [rbx + 0x20]
sub r14, rdi
mov qword [rbp - 0x19], rdi
mov qword [rbp - 0x11], r14
movzx eax, byte [rbp + 0xb]
lea rax, [rax*8 + 0x1638b8]
add rax, r12
mov qword [rbp - 0x39], rax
mov qword [rbp - 0x31], 8
vmovups xmm0, xmmword [rbp - 0x19]
vmovdqa xmmword [rbp - 0x49], xmm0
vpextrd edx, xmm6, 1
imul edx, esi
vpextrd eax, xmm6, 2
add edx, eax
shl edx, 7
movsxd r9, edx
lea r8, [rbp - 0x39]
lea rdx, [rbp - 0x49]
mov rcx, qword [rbx + 0x50]
call fcn.14011d220
add rdi, rax
sub r14, rax
vpextrd ecx, xmm6, 3
imul ecx, esi
add ecx, dword [rbp + 7]
mov qword [rbp - 0x19], rdi
mov qword [rbp - 0x11], r14
movzx eax, byte [rbp + 0xc]
lea rax, [rax*8 + 0x1638b8]
add rax, r12
mov qword [rbp - 0x39], rax
mov qword [rbp - 0x31], 8
vmovups xmm0, xmmword [rbp - 0x19]
vmovdqa xmmword [rbp - 0x49], xmm0
shl ecx, 7
movsxd r9, ecx
lea r8, [rbp - 0x39]
lea rdx, [rbp - 0x49]
mov rcx, qword [rbx + 0x50]
call fcn.14011d220
sub r14, rax
lea rdx, [rdi + rax]
lea rax, [0x140163980]
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x41], 6
mov qword [rbp - 0x39], rdx
mov qword [rbp - 0x31], r14
vmovups xmm0, xmmword [rbp - 0x49]
vmovdqa xmmword [rbp - 0x49], xmm0
vmovups xmm1, xmmword [rbp - 0x39]
vmovdqa xmmword [rbp - 0x39], xmm1
mov r9d, 0x18
lea r8, [rbp - 0x49]
lea rdx, [rbp - 0x39]
mov rcx, qword [rbx + 0x50]
call fcn.14011d220
mov rcx, qword [rbx + 0x50]
call fcn.14011ceb0
add eax, 0xfffffffa
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rsi, eax
mov rdx, qword [rbx + 0x30]
mov qword [rbp - 0x49], rdx
mov qword [rbp - 0x41], rsi
vmovups xmm0, xmmword [rbp - 0x49]
vmovdqa xmmword [rbp - 0x49], xmm0
xor r8d, r8d
lea rdx, [rbp - 0x49]
mov rcx, qword [rbx + 0x50]
call fcn.14011ce00
lea rcx, str.vitdec_error:_
mov qword [rbp - 0x39], rcx
mov qword [rbp - 0x31], Ordinal_23
mov qword [rbp - 0x49], rax
vmovups xmm0, xmmword [rbp - 0x49]
vmovdqa xmmword [rbp - 0x19], xmm0
mov qword [rbp - 0x49], 4
lea rax, [rbp - 0x19]
mov qword [rbp - 0x41], rax
vmovups xmm0, xmmword [rbp - 0x49]
vmovdqa xmmword [rbp - 0x49], xmm0
vmovups xmm1, xmmword [rbp - 0x39]
vmovdqa xmmword [rbp - 0x39], xmm1
lea r8, [rbp - 0x49]
lea rdx, [rbp - 0x39]
lea rcx, [rbp - 9]
call fcn.140048a50
nop
lea rdx, [rbp - 9]
lea rcx, str.msc_decoder
call fcn.140111980
nop
mov rdx, qword [rbp + 0xf]
cmp rdx, 0xf
jbe 0x1401120d9
inc rdx
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401120d4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1401120d4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400fcffc
mov rcx, qword [rbx + 0x58]
movzx eax, word [rcx]
mov word [rcx + 2], ax
test esi, esi
jle 0x140112241
nop dword [rax]
mov r9, qword [rbx + 0x58]
movzx r8d, word [r9 + 2]
movzx ecx, r8w
shr cx, 8
movzx eax, r8b
shr al, 4
xor cl, al
and cl, 1
movzx edx, cl
shl dl, 7
add r8w, r8w
movzx eax, cl
or r8w, ax
movzx ecx, r8w
shr cx, 8
movzx eax, r8b
shr al, 4
xor cl, al
and cl, 1
movzx eax, cl
shl al, 6
or dl, al
add r8w, r8w
movzx eax, cl
or r8w, ax
movzx ecx, r8w
shr cx, 8
movzx eax, r8b
shr al, 4
xor cl, al
and cl, 1
movzx eax, cl
shl al, 5
or dl, al
add r8w, r8w
movzx eax, cl
or r8w, ax
movzx ecx, r8w
shr cx, 8
movzx eax, r8b
shr al, 4
xor cl, al
and cl, 1
movzx eax, cl
shl al, 4
or dl, al
add r8w, r8w
movzx eax, cl
or r8w, ax
movzx ecx, r8w
shr cx, 8
movzx eax, r8b
shr al, 4
xor cl, al
and cl, 1
movzx eax, cl
shl al, 3
or dl, al
add r8w, r8w
movzx eax, cl
or r8w, ax
movzx ecx, r8w
shr cx, 8
movzx eax, r8b
shr al, 4
xor cl, al
and cl, 1
movzx eax, cl
shl al, 2
or dl, al
add r8w, r8w
movzx eax, cl
or r8w, ax
movzx ecx, r8w
shr cx, 8
movzx eax, r8b
shr al, 4
xor cl, al
and cl, 1
movzx eax, cl
add al, al
or dl, al
add r8w, r8w
movzx eax, cl
or r8w, ax
movzx ecx, r8w
shr cx, 8
movzx eax, r8b
shr al, 4
xor cl, al
and cl, 1
or dl, cl
add r8w, r8w
movzx eax, cl
or r8w, ax
mov word [r9 + 2], r8w
mov rax, qword [rbx + 0x30]
xor byte [r15 + rax], dl
inc r15
cmp r15, rsi
jl 0x1401120f0
mov eax, esi
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1400fd350
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
vmovaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret