Function at 0x1400cfef0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x138
lea rbp, [rsp + 0x60]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x1403f79f0]
xor rax, rsp
mov qword [rbp + 0xc0], rax
movsxd r12, dword [rsp + 0x1b8]
mov r10, rdx
mov r13, qword [rsp + 0x1b0]
mov r15d, r9d
mov qword [rbp + 0x18], rdx
xor r14d, r14d
mov rdx, qword [rsp + 0x1c0]
mov rax, rcx
mov qword [rbp + 0x20], rdx
mov rsi, r8
mov edx, r9d
shr r15d, 4
and edx, 0xf
mov qword [rbp + 8], rcx
mov rcx, qword [rsp + 0x1a0]
mov rdi, r10
mov dword [rbp + 0x10], edx
mov edx, dword [rsp + 0x1a8]
mov dword [rbp], r9d
cmp edx, 0xc
jne 0x1400caea1
movsd xmm0, qword [rcx]
mov eax, dword [rcx + 8]
movsd qword [rbp + 0x40], xmm0
mov dword [rbp + 0x48], eax
mov dword [rbp + 0x4c], 0x1000000
jmp 0x1400caee1
mov ebx, dword [rax + 0x150]
lea r8, [rbp + 0x40]
mov dword [rsp + 0x30], 0x10
mov r9, rcx
mov qword [rsp + 0x28], r8
mov rcx, rax
mov dword [rsp + 0x20], edx
xor r8d, r8d
xor edx, edx
mov dword [rax + 0x150], r14d
call fcn.1400cd090
mov rcx, qword [rbp + 8]
mov r9d, dword [rbp]
mov dword [rcx + 0x150], ebx
mov r8d, dword [rsp + 0x1c8]
lea rax, [rbp + 0x60]
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp + 8]
mov dword [rsp + 0x30], 0x10
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
mov r9, rsi
call fcn.1400cd090
mov rcx, qword [rbp + 8]
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0x40]
call fcn.1400cef00
test eax, eax
jne 0x1400cb295
lea rax, [rbp + 0xa0]
lea rcx, [rbp + 0x60]
or rax, rcx
test al, 7
jne 0x1400caf51
movdqa xmm0, xmmword [rbp + 0x60]
pxor xmm0, xmmword [rbp + 0xa0]
movdqa xmmword [rbp + 0x60], xmm0
jmp 0x1400cafaa
lea rcx, [rbp + 0x60]
lea rax, [rbp + 0xaf]
cmp rcx, rax
ja 0x1400caf98
lea rcx, [rbp + 0x6f]
lea rax, [rbp + 0xa0]
cmp rcx, rax
jb 0x1400caf98
mov rcx, r14
mov edx, 0x10
nop dword [rax]
movzx eax, byte [rbp + rcx + 0xa0]
xor byte [rbp + rcx + 0x60], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1400caf80
jmp 0x1400cafaa
movdqa xmm0, xmmword [rbp + 0x60]
pxor xmm0, xmmword [rbp + 0xa0]
movdqa xmmword [rbp + 0x60], xmm0
mov r10, qword [rbp + 8]
mov rcx, rdi
test rdi, rdi
jne 0x1400cafc4
mov eax, dword [rsp + 0x1c8]
mov dword [r10 + 0x150], eax
mov r8d, r14d
test r12d, r12d
jle 0x1400cb0b9
lea rax, [rbp + 0x60]
cmp r12d, 8
jb 0x1400cb077
mov rdx, r12
xorps xmm4, xmm4
and rdx, 0xfffffffffffffff8
xorps xmm3, xmm3
sub r13, rax
nop
xorps xmm0, xmm0
lea rax, [rbp + 0x60]
add rax, r14
add r8d, 8
add r14, 8
movd xmm2, dword [rax + r13]
movd xmm1, dword [rax]
punpcklbw xmm2, xmm0
punpcklwd xmm2, xmm0
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
pxor xmm2, xmm1
movd xmm1, dword [rax + 4]
punpcklbw xmm1, xmm0
por xmm4, xmm2
movd xmm2, dword [rax + r13 + 4]
punpcklbw xmm2, xmm0
punpcklwd xmm2, xmm0
punpcklwd xmm1, xmm0
pxor xmm2, xmm1
por xmm3, xmm2
cmp r14, rdx
jl 0x1400caff0
por xmm3, xmm4
movdqa xmm0, xmm3
psrldq xmm0, 8
por xmm3, xmm0
movdqa xmm0, xmm3
psrldq xmm0, 4
por xmm3, xmm0
movd r14d, xmm3
cmp r8d, r12d
jge 0x1400cb0aa
jmp 0x1400cb07a
sub r13, rax
movsxd rax, r8d
lea rdx, [rbp + 0x60]
add rdx, rax
sub r12d, r8d
mov r8d, r12d
nop word [rax + rax]
movzx ecx, byte [rdx + r13]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
xor ecx, eax
or r14d, ecx
sub r8, 1
jne 0x1400cb090
mov rcx, rdi
test r14d, r14d
je 0x1400cb0b9
mov eax, 0xffffff4c
jmp 0x1400cb295
mov r14d, 0xf
cmp rsi, rcx
je 0x1400cb124
test r15d, r15d
je 0x1400cb124
mov edx, dword [rbp]
cmp edx, 0x10
jb 0x1400cb0f7
dec r15d
mov rax, r14
add byte [rbp + rax + 0x40], 1
jne 0x1400cb0e7
dec rax
cmp rax, 0xc
jge 0x1400cb0d7
movaps xmm0, xmmword [rbp + 0x40]
movups xmmword [rdi], xmm0
add rdi, 0x10
test r15d, r15d
jne 0x1400cb0d1
and edx, 0xfffffff0
mov r8, rcx
mov ebx, edx
mov r9d, edx
mov rdx, rcx
mov rcx, r10
call fcn.1400ceee0
mov rcx, qword [rbp + 0x18]
mov r8d, ebx
mov rdx, rsi
call fcn.1400d1790
add rsi, rbx
jmp 0x1400cb23f
cmp dword [rbp], 0x10
jb 0x1400cb23f
mov r13, rsi
lea rax, [rbp + 0x80]
sub r13, rcx
lea rbx, [rcx + 0xf]
mov r12, r13
sub r12, rax
nop word [rax + rax]
dec r15d
mov rax, r14
add byte [rbp + rax + 0x40], 1
jne 0x1400cb166
dec rax
cmp rax, 0xc
jge 0x1400cb156
lea r8, [rbp + 0x80]
mov rcx, r10
lea rdx, [rbp + 0x40]
call fcn.1400cef00
test eax, eax
jne 0x1400cb295
mov rax, rdi
lea rcx, [rbp + 0x80]
or rax, rsi
or rax, rcx
test al, 7
jne 0x1400cb1b4
mov rax, qword [rbp + 0x80]
xor rax, qword [rsi]
mov qword [rdi], rax
mov rax, qword [rbp + 0x88]
xor rax, qword [rbx + r13 - 7]
mov qword [rbx - 7], rax
jmp 0x1400cb226
lea rax, [rbp + 0x8f]
cmp rdi, rax
ja 0x1400cb1cc
lea rax, [rbp + 0x80]
cmp rbx, rax
jae 0x1400cb1da
lea rax, [rbx + r13]
cmp rdi, rax
ja 0x1400cb216
cmp rbx, rsi
jb 0x1400cb216
lea rax, [rbp + 0x80]
mov r8d, 0x10
nop word [rax + rax]
lea rcx, [rax + r12]
movzx edx, byte [rcx + rbx - 0xf]
lea r9, [rbp + 0x8f]
xor dl, byte [rax]
mov rcx, rax
sub rcx, r9
inc rax
mov byte [rcx + rbx], dl
sub r8, 1
jne 0x1400cb1f0
jmp 0x1400cb226
movdqu xmm0, xmmword [rsi]
pxor xmm0, xmmword [rbp + 0x80]
movdqu xmmword [rdi], xmm0
mov r10, qword [rbp + 8]
add rdi, 0x10
add rbx, 0x10
add rsi, 0x10
test r15d, r15d
jne 0x1400cb150
mov ebx, dword [rbp + 0x10]
test ebx, ebx
je 0x1400cb293
add byte [rbp + r14 + 0x40], 1
jne 0x1400cb257
dec r14
cmp r14, 0xc
jge 0x1400cb246
mov rcx, qword [rbp + 8]
lea r8, [rbp + 0x80]
lea rdx, [rbp + 0x40]
call fcn.1400cef00
test eax, eax
jne 0x1400cb295
mov r8d, ebx
lea rcx, [rbp + 0x80]
mov rdx, rsi
call fcn.1400d1790
mov r8, rbx
lea rdx, [rbp + 0x80]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
xor eax, eax
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.1400da560
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x60
mov esi, 0xffffff4c
mov r11d, r9d
mov dword [rsp + 0x70], esi
mov rbx, r8
mov rdi, rdx
mov r10, rcx
test rcx, rcx
je 0x1400d002c
mov r9, qword [rsp + 0x90]
test r9, r9
je 0x1400d002c
test r11d, r11d
je 0x1400cff45
test rbx, rbx
je 0x1400d002c
test rdx, rdx
je 0x1400d002c
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x1400d002c
mov r8d, dword [rsp + 0xa8]
lea eax, [r8 - 1]
cmp eax, 0xf
ja 0x1400d002c
mov edx, dword [rsp + 0x98]
test edx, edx
je 0x1400d002c
cmp dword [0x140c06ff0], 0
je 0x1400cffea
lea rax, [rsp + 0x70]
mov qword [rsp + 0x58], rax
mov eax, dword [r10 + 0xf0]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0xb8]
mov qword [rsp + 0x48], r10
mov dword [rsp + 0x40], r8d
mov r8, qword [rsp + 0xb0]
mov dword [rsp + 0x38], edx
mov rdx, rdi
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r11d
mov qword [rsp + 0x20], rcx
mov rcx, rbx
call fcn.1400c9c40
xor eax, eax
cmp dword [rsp + 0x70], eax
cmove eax, esi
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
ret
mov dword [rsp + 0xa8], r8d
mov r8, rbx
mov qword [rsp + 0xa0], rcx
mov rcx, r10
mov dword [rsp + 0x98], edx
mov rdx, rdi
mov qword [rsp + 0x90], r9
mov r9d, r11d
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
jmp 0x1400cae00
mov rbx, qword [rsp + 0x78]
mov eax, 0xffffff53
mov rsi, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
ret