Function at 0x1400297b3
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push rdi
push r12
push r14
lea rbp, [rax - 0x5f]
add rsp, 0xffffffffffffff28
mov qword [rax - 0x28], rbx
xorps xmm0, xmm0
mov qword [rax - 0x30], rsi
xor r14d, r14d
mov qword [rdx], r14
mov r12, rdx
mov qword [rdx + 8], r14
mov qword [rdx + 0x10], r14
mov qword [rdx + 0x18], 0x448254af
sub qword [rdx + 0x18], 0x2a496f23
add qword [rdx + 0x18], 0x54d6d671
xor qword [rdx + 0x18], 0x6f0fbbfc
mov rsi, qword [rcx + 0x870]
mov rbx, qword [rcx + 0x838]
mov qword [rax - 0x38], r13
mov r13, rcx
lea rax, [rbp - 0x29]
lea rdx, [rsi + 1]
mov qword [rbp - 0x31], rax
lea rcx, [rbp - 0x31]
movups xmmword [rbp - 0x29], xmm0
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
call fcn.1400110e0
mov r8, rax
mov ecx, 0x787946f5
sub ecx, 0x46905889
sub ecx, 0x28e4dc98
mov r9d, 0x219b4946
sub r9d, 0x15a38984
xor r9d, 0x5309bb6d
sub r9d, 0x58fe03b0
test rsi, rsi
je 0x1400297e0
mov rdx, rax
sub rbx, rax
mov rdi, rsi
movzx eax, cx
lea rdx, [rdx + 2]
and ax, r9w
ror ecx, 8
xor ax, word [rbx + rdx - 2]
mov word [rdx - 2], ax
sub rdi, 1
jne 0x1400297bf
mov word [r8 + rsi*2], r14w
mov r14, qword [rbp - 0x31]
cmp word [r14], 0
je 0x140029c8f
mov qword [rsp + 0xb8], r15
nop dword [rax + rax]
mov edx, 0x1f1decaa
add edx, 0x13865847
sub edx, 0x75a6540
sub edx, 0x2b49dfa7
mov rcx, r14
call 0x1400bc950
mov qword [rbp + 0x6f], rax
nop
movabs r15, 0xffffffff0fb0f14b
xor r15, 0x7e56ac12
add r15, 0x7fffffff
xor r15, 0xe19a2a7
test rax, rax
je 0x14002985b
mov rbx, rax
sub rbx, r14
sar rbx, 1
jmp 0x140029872
mov rbx, r15
nop dword [rax + rax]
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x140029863
lea rdi, [rbx + 1]
mov eax, 0xe4125ca
sub eax, 0xdb972cb
sub eax, 0x87b2fd
mul rdi
cmovo rax, r15
mov rcx, rax
call fcn.1400bb700
mov r9, rbx
mov qword [rbp + 0x7f], rax
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov rsi, rax
call fcn.1400bca90
cmp byte [r13 + 0x88c], 0
je 0x14002994f
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rbp + 7]
mov rcx, r13
call fcn.140045e70
mov rcx, qword [rbp + 0x77]
mov rdx, rsi
mov rdi, rax
call fcn.140032d90
cmp eax, dword [rdi]
jle 0x14002994f
mov edx, 0x7f44a97a
sub edx, 0x3847d0f4
xor edx, 0x5dea5698
xor edx, 0x1b168e3e
mov rcx, rsi
call fcn.1400bcbb0
test rax, rax
jne 0x140029931
mov rax, r15
inc rax
cmp word [rsi + rax*2], bx
jne 0x140029913
cmp rax, 1
jbe 0x140029b3d
dec rax
lea rax, [rsi + rax*2]
mov word [rax], bx
sub rax, rsi
sar rax, 1
lea rax, [r14 + rax*2]
mov qword [rbp + 0x6f], rax
cmp byte [r13 + 0x88c], bl
jne 0x1400298c5
xor r14d, r14d
xorps xmm0, xmm0
lea rax, [rbp - 0x69]
mov qword [rbp - 0x71], rax
mov rdx, r15
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm0
inc rdx
cmp word [rsi + rdx*2], 0
jne 0x14002996c
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x39], rdx
call fcn.1400110e0
cmp qword [rbp - 0x39], 0
pushf
mov edx, 0x6f8f9cf3
sub edx, 0x66836797
sub edx, 0x82388
popf
mov rdi, r14
jbe 0x1400299f2
mov r8, rsi
mov r9d, 0x46d9d029
add r9d, 0x12784447
sub r9d, 0x59521371
sub r8, rax
nop word [rax + rax]
movzx ecx, dx
lea rax, [rax + 2]
and cx, r9w
ror edx, 8
xor cx, word [r8 + rax - 2]
inc rdi
mov word [rax - 2], cx
cmp rdi, qword [rbp - 0x39]
jb 0x1400299cd
mov rax, qword [r12 + 8]
test rax, rax
je 0x140029b7e
mov rcx, qword [r12 + 0x10]
cmp rax, rcx
jb 0x140029b75
add rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.1400bbbb0
mov rcx, qword [r12 + 8]
mov r13, rax
mov qword [rbp - 0x79], rax
mov r15, r14
test rcx, rcx
je 0x140029af3
nop
movabs rsi, 0xffffffff442ba068
xor rsi, 0x178fc86f
sub rsi, 0xedef0ea
add rsi, 0x7fffffff
add rsi, 0x3b3a88ac
lea rbx, [rax + 0x38]
sub rsi, rax
xor r13d, r13d
nop dword [rax]
mov r14, qword [r12]
lea rax, [rbx - 0x30]
mov qword [rbx - 0x38], rax
lea rcx, [rbx - 0x38]
xorps xmm0, xmm0
add r14, rsi
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov rdx, qword [r14 + rbx + 0x38]
mov qword [rbx], rdx
call fcn.1400110e0
mov rdi, r13
cmp qword [rbx], r13
jbe 0x140029acd
nop word [rax + rax]
mov rcx, qword [r14 + rbx]
movzx edx, word [rcx + rdi*2]
mov word [rax + rdi*2], dx
inc rdi
cmp rdi, qword [rbx]
jb 0x140029ab5
mov rcx, qword [r12 + 8]
inc r15
neg rbx
add rbx, 0xffffffffffffffc0
neg rbx
cmp r15, rcx
jb 0x140029a71
mov rsi, qword [rbp + 0x7f]
xor r14d, r14d
mov r13, qword [rbp - 0x79]
cmp qword [r12], 0
je 0x140029b69
test rcx, rcx
je 0x140029b60
xor ebx, ebx
nop
mov rax, qword [r12]
mov rcx, qword [rbx + rax]
lea rdi, [rax + 8]
add rdi, rbx
cmp rcx, rdi
jne 0x140029b49
xor eax, eax
mov ecx, 0x4740e148
xor ecx, 0x52611f25
sub ecx, 0x1521fe3d
rep stosb byte [rdi], al
jmp 0x140029b4e
xor r14d, r14d
mov qword [rbp + 0x6f], r14
jmp 0x140029952
call fcn.1400bb8f0
inc r14
add rbx, 0x40
cmp r14, qword [r12 + 8]
jb 0x140029b0b
mov rcx, qword [r12]
call fcn.1400bb8f0
mov qword [r12], r13
xor r14d, r14d
jmp 0x140029ba5
mov r13, qword [r12]
jmp 0x140029ba5
mov r13, qword [r12]
test r13, r13
jne 0x140029ba5
mov rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.1400bbbb0
mov r13, rax
mov qword [r12], rax
mov rax, qword [r12 + 8]
xorps xmm0, xmm0
mov rbx, rax
shl rbx, 6
add rbx, r13
inc rax
mov rcx, rbx
mov qword [r12 + 8], rax
lea rax, [rbx + 8]
mov qword [rbx], rax
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov rax, qword [rbp - 0x39]
mov qword [rbx + 0x38], rax
mov rdx, qword [rbp - 0x39]
call fcn.1400110e0
cmp qword [rbx + 0x38], 0
mov rdi, r14
jbe 0x140029c19
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbp - 0x71]
movzx edx, word [rcx + rdi*2]
mov word [rax + rdi*2], dx
inc rdi
cmp rdi, qword [rbx + 0x38]
jb 0x140029c00
mov rcx, qword [rbp - 0x71]
lea rax, [rbp - 0x69]
cmp rcx, rax
jne 0x140029c48
lea rdi, [rbp - 0x69]
xor eax, eax
mov ecx, 0x77b1ebec
xor ecx, 0x49c7f25a
xor ecx, 0x3e761986
rep stosb byte [rdi], al
jmp 0x140029c4d
call fcn.1400bb8f0
mov rcx, rsi
call fcn.1400bb710
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x140029c83
mov r13, qword [rbp + 0x67]
cmp byte [r13 + 0x88c], 0
je 0x140029c83
cmp word [rax + 2], 0
lea r14, [rax + 2]
jne 0x140029801
mov r14, qword [rbp - 0x31]
mov r15, qword [rsp + 0xb8]
mov r13, qword [rsp + 0xc0]
lea rax, [rbp - 0x29]
mov rsi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xd0]
cmp r14, rax
jne 0x140029ceb
xor eax, eax
lea rdi, [rbp - 0x29]
mov ecx, 0xb2cdae1
xor ecx, 0x582ebd29
add ecx, 0x1f222b2a
sub ecx, 0x722492c2
rep stosb byte [rdi], al
mov rax, r12
add rsp, 0x1b8b021e
sub rsp, 0x1b8b0146
pop r14
pop r12
pop rdi
pop rbp
ret
mov rcx, r14
call fcn.1400bb8f0
mov rax, r12
add rsp, 0xd8
pop r14
pop r12
pop rdi
pop rbp
ret