Function at 0x14002d921
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], 0x7f585de
add qword [rdx + 0x18], 0x65fcf025
sub qword [rdx + 0x18], 0x6df27602
mov rsi, qword [rcx + 0x868]
mov rbx, qword [rcx + 0x830]
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.140018ab0
mov r8, rax
mov ecx, 0x2205124d
xor ecx, 0x227db57a
add ecx, 0x4c9aaebb
mov r9d, 0x76bea8b5
sub r9d, 0xdb8f0a5
xor r9d, 0x6905b8ef
test rsi, rsi
je 0x14002d591
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 0x14002d570
mov word [r8 + rsi*2], r14w
mov r14, qword [rbp - 0x31]
cmp word [r14], 0
je 0x14002da4a
mov qword [rsp + 0xb8], r15
nop dword [rax + rax]
mov edx, 0x18ec8059
add edx, 0x668303e5
xor edx, 0x1e6c1f20
sub edx, 0x61039b14
mov rcx, r14
call 0x1400bd150
mov qword [rbp + 0x6f], rax
nop
movabs r15, 0xffffffff1246f32b
add r15, 0x173393bc
add r15, 0x7fffffff
add r15, 0x56857919
test rax, rax
je 0x14002d60c
mov rbx, rax
sub rbx, r14
sar rbx, 1
jmp 0x14002d623
mov rbx, r15
nop dword [rax + rax]
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x14002d614
lea rdi, [rbx + 1]
mov eax, 0x3eb692b7
sub eax, 0x6221b48
add eax, 0x245290ae
sub eax, 0x5ce7081b
mul rdi
cmovo rax, r15
mov rcx, rax
call fcn.1400bbf80
mov r9, rbx
mov qword [rbp + 0x7f], rax
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov rsi, rax
call fcn.1400bd2b0
cmp byte [r13 + 0x884], 0
je 0x14002d6ff
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rbp + 7]
mov rcx, r13
call fcn.1400480a0
mov rcx, qword [rbp + 0x77]
mov rdx, rsi
mov rdi, rax
call fcn.140036400
cmp eax, dword [rdi]
jle 0x14002d6ff
mov edx, 0x1f750c18
xor edx, 0x3828c069
sub edx, 0x275dcc51
mov rcx, rsi
call fcn.1400bd3d0
test rax, rax
jne 0x14002d6e1
mov rax, r15
inc rax
cmp word [rsi + rax*2], bx
jne 0x14002d6c3
cmp rax, 1
jbe 0x14002d8f2
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 + 0x884], bl
jne 0x14002d67b
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 0x14002d71c
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x39], rdx
call fcn.140018ab0
cmp qword [rbp - 0x39], 0
pushf
mov edx, 0x31c5547c
add edx, 0x3c735013
xor edx, 0x232bf17d
popf
mov rdi, r14
jbe 0x14002d7a2
mov r8, rsi
mov r9d, 0x259993e8
add r9d, 0x1fd8d0c3
xor r9d, 0x45726454
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 0x14002d77d
mov rax, qword [r12 + 8]
test rax, rax
je 0x14002d933
mov rcx, qword [r12 + 0x10]
cmp rax, rcx
jb 0x14002d92a
add rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.1400bc380
mov rcx, qword [r12 + 8]
mov r13, rax
mov qword [rbp - 0x79], rax
mov r15, r14
test rcx, rcx
je 0x14002d8a8
nop
movabs rsi, 0xffffffff680cf96b
xor rsi, 0x30ba290d
xor rsi, 0x5a7258c5
add rsi, 0x7fffffff
add rsi, 0x7d3b7726
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.140018ab0
mov rdi, r13
cmp qword [rbx], r13
jbe 0x14002d87d
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 0x14002d865
mov rcx, qword [r12 + 8]
inc r15
nop
add rbx, 0x5e7377b2
sub rbx, 0x5e737772
cmp r15, rcx
jb 0x14002d821
mov rsi, qword [rbp + 0x7f]
xor r14d, r14d
mov r13, qword [rbp - 0x79]
cmp qword [r12], 0
je 0x14002d921
mov rbx, r14
test rcx, rcx
je 0x14002d918
nop
mov rax, qword [r12]
mov rcx, qword [r14 + rax]
lea rdi, [rax + 8]
add rdi, r14
cmp rcx, rdi
jne 0x14002d8fe
xor eax, eax
mov ecx, 0x19ef8b6a
add ecx, 0x406a9f2e
xor ecx, 0x5a5a2aa8
rep stosb byte [rdi], al
jmp 0x14002d903
xor r14d, r14d
mov qword [rbp + 0x6f], r14
jmp 0x14002d702
call fcn.1400bc0d0
inc rbx
add r14, 0x40
cmp rbx, qword [r12 + 8]
jb 0x14002d8c0
xor r14d, r14d
mov rcx, qword [r12]
call fcn.1400bc0d0
mov qword [r12], r13
jmp 0x14002d95a
mov r13, qword [r12]
jmp 0x14002d95a
mov r13, qword [r12]
test r13, r13
jne 0x14002d95a
mov rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.1400bc380
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.140018ab0
cmp qword [rbx + 0x38], 0
mov rdi, r14
jbe 0x14002d9ce
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 0x14002d9b5
mov rcx, qword [rbp - 0x71]
lea rax, [rbp - 0x69]
cmp rcx, rax
jne 0x14002da03
lea rdi, [rbp - 0x69]
xor eax, eax
mov ecx, 0x729869aa
sub ecx, 0x3db2a38b
xor ecx, 0x5251d2b9
xor ecx, 0x66b41496
rep stosb byte [rdi], al
jmp 0x14002da08
call fcn.1400bc0d0
mov rcx, rsi
call fcn.1400bbf90
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x14002da3e
mov r13, qword [rbp + 0x67]
cmp byte [r13 + 0x884], 0
je 0x14002da3e
cmp word [rax + 2], 0
lea r14, [rax + 2]
jne 0x14002d5b2
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 0x14002da99
xor eax, eax
lea rdi, [rbp - 0x29]
mov ecx, 0x681e6e36
sub ecx, 0x221f785a
sub ecx, 0x45fef5ac
rep stosb byte [rdi], al
mov rax, r12
sub rsp, 0xffffffffffffff28
pop r14
pop r12
pop rdi
pop rbp
ret
mov rcx, r14
call fcn.1400bc0d0
mov rax, r12
neg rsp
add rsp, 0xffffffffffffff28
neg rsp
pop r14
pop r12
pop rdi
pop rbp
ret