Function at 0x14002cf20
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r12
push r15
sub rsp, 0x490
mov rax, qword [0x14005f040]
xor rax, rsp
mov qword [rsp + 0x480], rax
mov rax, qword [0x14005f980]
mov rdi, rcx
mov qword [rsp + 0x48], rcx
add rax, 0xee7c250
mov ecx, edx
mov ebx, edx
sar ecx, 0x10
xor esi, esi
shl ecx, 3
add rcx, rax
call fcn.140033120
mov rcx, rax
mov qword [rsp + 0x38], rsi
movzx eax, bx
lea r8, [rsp + 0x50]
mov qword [rsp + 0x30], rsi
mov r9d, 0x28
mov dword [rsp + 0x28], esi
mov edx, 0x2201c4
mov word [rsp + 0x40], si
lea r15, [rcx + rax*4]
mov dword [rsp + 0x71], esi
mov rcx, qword [0x14005f8d8]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x60], rax
mov eax, dword [0x14005f8e0]
mov dword [rsp + 0x54], eax
mov word [rsp + 0x75], si
mov byte [rsp + 0x77], sil
mov dword [rsp + 0x50], 0x85b3e12
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x68], 2
mov byte [rsp + 0x70], sil
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movzx r12d, word [rsp + 0x40]
shr r12d, 6
test r12d, r12d
je 0x14002d1c6
mov qword [rsp + 0x4d0], rbp
mov ebx, esi
mov qword [rsp + 0x4d8], r14
mov ebp, esi
mov r14d, r12d
mov ecx, ebp
add rcx, 4
add rcx, r15
call fcn.140033370
mov byte [rsp + rbx + 0x80], al
inc ebp
inc rbx
cmp rbx, r14
jl 0x14002d010
mov rcx, qword [0x14005f980]
lea rbx, [rsp + 0x80]
add rcx, 0xed83f44
call fcn.140033410
movsxd r9, eax
mov r10d, esi
sar r9, 5
nop dword [rax]
nop dword [rax + rax]
movsx edx, byte [rbx]
movzx ecx, r9b
mov eax, edx
lea r9d, [r9 + r10*2]
shr eax, 4
mov r8, rbx
xor al, cl
shl dl, 4
and al, 0xf
inc rbx
xor al, dl
inc r10d
xor al, cl
mov byte [r8], al
cmp r10d, r12d
jl 0x14002d060
mov r14, qword [rsp + 0x4d8]
lea rax, [rsp + 0x80]
xorps xmm0, xmm0
mov byte [rsp + r12 + 0x80], sil
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov rbx, 0xffffffffffffffff
mov qword [rdi + 0x18], rsi
nop dword [rax]
inc rbx
cmp byte [rax + rbx], sil
jne 0x14002d0c0
movabs rbp, 0x7fffffffffffffff
cmp rbx, rbp
ja 0x14002d1e0
cmp rbx, 0xf
ja 0x14002d10a
mov r8, rbx
mov qword [rdi + 0x10], rbx
lea rdx, [rsp + 0x80]
mov qword [rdi + 0x18], 0xf
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rdi], sil
jmp 0x14002d19c
mov rax, rbx
or rax, 0xf
cmp rax, rbp
jbe 0x14002d13f
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140033d28
test rax, rax
je 0x14002d16b
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14002d17a
mov ecx, 0x16
mov rbp, rax
cmp rax, rcx
cmovb rbp, rcx
lea rcx, [rbp + 1]
test rcx, rcx
je 0x14002d17a
cmp rcx, 0x1000
jb 0x14002d172
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14002d1e6
jmp 0x14002d124
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140033d28
mov rsi, rax
mov r8, rbx
mov qword [rdi], rsi
lea rdx, [rsp + 0x80]
mov qword [rdi + 0x10], rbx
mov rcx, rsi
mov qword [rdi + 0x18], rbp
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + rbx], 0
mov rbp, qword [rsp + 0x4d0]
mov rax, rdi
mov rcx, qword [rsp + 0x480]
xor rcx, rsp
call fcn.140033860
add rsp, 0x490
pop r15
pop r12
pop rdi
pop rsi
pop rbx
ret
xorps xmm0, xmm0
mov rax, rdi
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], 0xf
mov byte [rdi], sil
jmp 0x14002d1a7
call fcn.14002be10
int3
call fcn.140022b70
int3