Function at 0x14005025c
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, 0x7e9b197f
sub rsp, 0x7e9b1a57
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], 0x21e700da
sub qword [rdx + 0x18], 0x182725eb
sub qword [rdx + 0x18], 0x9bfdaee
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.14001739c
mov r8, rax
mov ecx, 0x2cdf5917
xor ecx, 0x27b6bdfb
xor ecx, 0x1536c5cf
add ecx, 0x12d3e50f
mov r9d, 0x42a52b80
sub r9d, 0x3eab52c3
add r9d, 0xb1b7287
sub r9d, 0xf154a45
test rsi, rsi
je 0x140050335
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 0x140050314
mov word [r8 + rsi*2], r14w
mov r14, qword [rbp - 0x31]
cmp word [r14], 0
je 0x1400507f4
mov qword [rsp + 0xb8], r15
nop dword [rax + rax]
mov edx, 0x50c49409
add edx, 0xec2ed0c
sub edx, 0x58f060ce
xor edx, 0x697204d
mov rcx, r14
call 0x1400ba8c0
mov qword [rbp + 0x6f], rax
nop
movabs r15, 0xffffffff556f699c
xor r15, 0x2bf26ca4
add r15, 0x7fffffff
add r15, 0x162fac8
test rax, rax
je 0x1400503b0
mov rbx, rax
sub rbx, r14
sar rbx, 1
jmp 0x1400503c7
mov rbx, r15
nop dword [rax + rax]
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x1400503b8
lea rdi, [rbx + 1]
mov eax, 0x5c60232
add eax, 0x4b9eb876
xor eax, 0x54b9b736
xor eax, 0x5dd0d9c
mul rdi
cmovo rax, r15
mov rcx, rax
call fcn.1400b96e0
mov r9, rbx
mov qword [rbp + 0x7f], rax
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov rsi, rax
call fcn.1400baa20
cmp byte [r13 + 0x884], 0
je 0x1400504a3
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rbp + 7]
mov rcx, r13
call fcn.1400594b0
mov rcx, qword [rbp + 0x77]
mov rdx, rsi
mov rdi, rax
call fcn.14003df78
cmp eax, dword [rdi]
jle 0x1400504a3
mov edx, 0x2852952
xor edx, 0x66ef2171
sub edx, 0x646a0803
mov rcx, rsi
call fcn.1400bab40
test rax, rax
jne 0x140050485
mov rax, r15
inc rax
cmp word [rsi + rax*2], bx
jne 0x140050467
cmp rax, 1
jbe 0x140050697
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 0x14005041f
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 0x1400504c0
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x39], rdx
call fcn.14001739c
cmp qword [rbp - 0x39], 0
pushf
mov edx, 0x254e5b8
xor edx, 0x24969aaa
add edx, 0xa708720
popf
mov rdi, r14
jbe 0x140050546
mov r8, rsi
mov r9d, 0x6aed588d
sub r9d, 0x5247b576
sub r9d, 0x18a5a218
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 0x140050521
mov rax, qword [r12 + 8]
test rax, rax
je 0x1400506e3
mov rcx, qword [r12 + 0x10]
cmp rax, rcx
jb 0x1400506da
add rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.1400b9ad0
mov rcx, qword [r12 + 8]
mov r13, rax
mov qword [rbp - 0x79], rax
mov r15, r14
test rcx, rcx
je 0x140050647
nop
movabs rsi, 0xffffffff467410ff
sub rsi, 0x3e82fc99
add rsi, 0x4dae3e8d
add rsi, 0x7fffffff
add rsi, 0x2a60acd6
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.14001739c
mov rdi, r13
cmp qword [rbx], r13
jbe 0x140050621
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 0x140050609
mov rcx, qword [r12 + 8]
inc r15
neg rbx
add rbx, 0xffffffffffffffc0
neg rbx
cmp r15, rcx
jb 0x1400505c5
mov rsi, qword [rbp + 0x7f]
xor r14d, r14d
mov r13, qword [rbp - 0x79]
cmp qword [r12], 0
je 0x1400506d1
mov rbx, r14
test rcx, rcx
je 0x1400506c8
nop
mov rax, qword [r12]
mov rcx, qword [r14 + rax]
lea rdi, [rax + 8]
add rdi, r14
cmp rcx, rdi
jne 0x1400506a3
xor eax, eax
mov ecx, 0x1ce8685d
sub ecx, 0x281e372
add ecx, 0x45a77ed7
xor ecx, 0x600e03f2
rep stosb byte [rdi], al
jmp 0x1400506a8
xor r14d, r14d
mov qword [rbp + 0x6f], r14
jmp 0x1400504a6
call fcn.1400b9840
inc rbx
nop
add r14, 0x60244936
sub r14, 0x602448f6
cmp rbx, qword [r12 + 8]
jb 0x14005065f
xor r14d, r14d
mov rcx, qword [r12]
call fcn.1400b9840
mov qword [r12], r13
jmp 0x14005070a
mov r13, qword [r12]
jmp 0x14005070a
mov r13, qword [r12]
test r13, r13
jne 0x14005070a
mov rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.1400b9ad0
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.14001739c
cmp qword [rbx + 0x38], 0
mov rdi, r14
jbe 0x14005077e
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 0x140050765
mov rcx, qword [rbp - 0x71]
lea rax, [rbp - 0x69]
cmp rcx, rax
jne 0x1400507ad
lea rdi, [rbp - 0x69]
xor eax, eax
mov ecx, 0x733b878d
sub ecx, 0x1c9928fc
xor ecx, 0x56a25ea1
rep stosb byte [rdi], al
jmp 0x1400507b2
call fcn.1400b9840
mov rcx, rsi
call fcn.1400b96f0
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x1400507e8
mov r13, qword [rbp + 0x67]
cmp byte [r13 + 0x884], 0
je 0x1400507e8
cmp word [rax + 2], 0
lea r14, [rax + 2]
jne 0x140050356
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 0x140050849
xor eax, eax
lea rdi, [rbp - 0x29]
mov ecx, 0x34719ab0
add ecx, 0x36c9afa1
add ecx, 0xfb6e4cf
sub ecx, 0x7af22ef0
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.1400b9840
mov rax, r12
add rsp, 0xd8
pop r14
pop r12
pop rdi
pop rbp
ret