Function at 0x140027cac
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]
sub rsp, 0x136e2d47
add rsp, 0x136e2c6f
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], 0x23072b6b
add qword [rdx + 0x18], 0x500ec8e9
xor qword [rdx + 0x18], 0x7315f455
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.140011430
mov r8, rax
mov ecx, 0x46c97f2b
xor ecx, 0x3bbe9452
sub ecx, 0x4615d86e
mov r9d, 0xb42230d
add r9d, 0x5f7d4686
sub r9d, 0x6abf6894
test rsi, rsi
je 0x140027d78
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 0x140027d57
mov word [r8 + rsi*2], r14w
mov r14, qword [rbp - 0x31]
cmp word [r14], 0
je 0x140028233
mov qword [rsp + 0xb8], r15
nop dword [rax + rax]
mov edx, 0x5fb2510f
add edx, 0xe822419
add edx, 0xb04c048
xor edx, 0x7939357a
mov rcx, r14
call 0x1400c2b20
mov qword [rbp + 0x6f], rax
nop
movabs r15, 0xffffffff03bae072
xor r15, 0x55c10642
add r15, 0x7fffffff
xor r15, 0x298419d0
test rax, rax
je 0x140027df3
mov rbx, rax
sub rbx, r14
sar rbx, 1
jmp 0x140027e0a
mov rbx, r15
nop dword [rax + rax]
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x140027dfb
lea rdi, [rbx + 1]
mov eax, 0x3959a13
add eax, 0xa9fbee4
xor eax, 0xe3558f5
mul rdi
cmovb rax, r15
mov rcx, rax
call fcn.1400c1980
mov r9, rbx
mov qword [rbp + 0x7f], rax
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov rsi, rax
call fcn.1400c2c80
cmp byte [r13 + 0x88c], 0
je 0x140027ee7
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rbp + 7]
mov rcx, r13
call fcn.140044a10
mov rcx, qword [rbp + 0x77]
mov rdx, rsi
mov rdi, rax
call fcn.140040e50
cmp eax, dword [rdi]
jle 0x140027ee7
mov edx, 0x305fe0d0
add edx, 0x11a86970
add edx, 0x23ac41e8
sub edx, 0x65b48c08
mov rcx, rsi
call fcn.1400c2d90
test rax, rax
jne 0x140027ec9
mov rax, r15
inc rax
cmp word [rsi + rax*2], bx
jne 0x140027eab
cmp rax, 1
jbe 0x1400280d6
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 0x140027e5d
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 0x140027f04
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x39], rdx
call fcn.140011430
cmp qword [rbp - 0x39], 0
pushf
mov edx, 0x3610f2d7
sub edx, 0x829e2b9
add edx, 0x97b02ed
popf
mov rdi, r14
jbe 0x140027f91
mov r8, rsi
mov r9d, 0x55121f53
xor r9d, 0x77e2fb0b
xor r9d, 0x3cffecd7
sub r9d, 0x1e0f0790
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 0x140027f6c
mov rax, qword [r12 + 8]
test rax, rax
je 0x140028122
mov rcx, qword [r12 + 0x10]
cmp rax, rcx
jb 0x140028119
add rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.1400c1e00
mov rcx, qword [r12 + 8]
mov r13, rax
mov qword [rbp - 0x79], rax
mov r15, r14
test rcx, rcx
je 0x14002808c
nop
movabs rsi, 0xffffffff7c138d1d
sub rsi, 0x5a3830d9
add rsi, 0x5dff964d
add rsi, 0x7fffffff
add rsi, 0x250d38
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.140011430
mov rdi, r13
cmp qword [rbx], r13
jbe 0x14002806c
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 0x140028054
mov rcx, qword [r12 + 8]
inc r15
sub rbx, 0xffffffffffffffc0
cmp r15, rcx
jb 0x140028010
mov rsi, qword [rbp + 0x7f]
xor r14d, r14d
mov r13, qword [rbp - 0x79]
cmp qword [r12], 0
je 0x14002810d
test rcx, rcx
je 0x140028104
xor ebx, ebx
nop
mov rax, qword [r12]
mov rcx, qword [rbx + rax]
lea rdi, [rax + 8]
add rdi, rbx
cmp rcx, rdi
jne 0x1400280e2
xor eax, eax
mov ecx, 0x76014742
sub ecx, 0x298814d
xor ecx, 0x7368c5c5
rep stosb byte [rdi], al
jmp 0x1400280e7
xor r14d, r14d
mov qword [rbp + 0x6f], r14
jmp 0x140027eea
call fcn.1400c1b60
inc r14
nop
sub rbx, 0x4cc92252
add rbx, 0x4cc92292
cmp r14, qword [r12 + 8]
jb 0x1400280a4
mov rcx, qword [r12]
call fcn.1400c1b60
mov qword [r12], r13
xor r14d, r14d
jmp 0x140028149
mov r13, qword [r12]
jmp 0x140028149
mov r13, qword [r12]
test r13, r13
jne 0x140028149
mov rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.1400c1e00
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.140011430
cmp qword [rbx + 0x38], 0
mov rdi, r14
jbe 0x1400281bd
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 0x1400281a4
mov rcx, qword [rbp - 0x71]
lea rax, [rbp - 0x69]
cmp rcx, rax
jne 0x1400281ec
lea rdi, [rbp - 0x69]
xor eax, eax
mov ecx, 0x36d48433
sub ecx, 0x2a49dfcb
xor ecx, 0xc8aa458
rep stosb byte [rdi], al
jmp 0x1400281f1
call fcn.1400c1b60
mov rcx, rsi
call fcn.1400c1990
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x140028227
mov r13, qword [rbp + 0x67]
cmp byte [r13 + 0x88c], 0
je 0x140028227
cmp word [rax + 2], 0
lea r14, [rax + 2]
jne 0x140027d99
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 0x140028289
xor eax, eax
lea rdi, [rbp - 0x29]
mov ecx, 0x75a8192
add ecx, 0x2ff11a0c
sub ecx, 0x374b9b6e
rep stosb byte [rdi], al
mov rax, r12
add rsp, 0x7f379f21
sub rsp, 0x7f379e49
pop r14
pop r12
pop rdi
pop rbp
ret
mov rcx, r14
call fcn.1400c1b60
mov rax, r12
neg rsp
add rsp, 0xffffffffffffff28
neg rsp
pop r14
pop r12
pop rdi
pop rbp
ret