Function at 0x14012504c
Capabilities:
Encode data using xor

Disassembly:
xchg rsp, rax
mov rsp, rax
xchg rsp, rax
xchg rbx, r9
mov qword [rax + 8], r9
xchg rbx, r9
xchg r14, rsi
mov qword [rax + 0x10], r14
xchg rsi, r14
xchg rdi, rbx
mov qword [rax + 0x18], rbx
xchg rbx, rdi
mov qword [rax + 0x20], r12
nop
sub rsp, 8
mov qword [rsp], rbp
nop
sub rsp, 8
mov qword [rsp], r14
nop
sub rsp, 8
mov qword [rsp], r15
lea rbp, [rax - 0x5f]
xchg rdx, rdx
neg rsp
sub rsp, 0xffffffffffffff60
neg rsp
xchg rsi, rdi
mov rdi, rdx
xchg rdi, rsi
lea rdx, [rbp + 7]
call fcn.140124c4c
mov r15, qword [rbp + 0x3f]
mov dword [rsp - 0x24], 0x136eb980
lea rax, [rbp - 0x31]
xchg rbx, rdi
mov rdi, qword [rbp + 7]
xchg rdi, rbx
lea rcx, [rbp - 0x39]
xorps xmm0, xmm0
xchg r12, rax
mov qword [rbp - 0x39], r12
xchg r12, rax
movups xmmword [rbp - 0x31], xmm0
mov dword [rsp - 0x44], ebx
lea rdx, [r15 + 1]
xchg rdx, rbp
movups xmmword [rdx - 0x21], xmm0
xchg rbp, rdx
xchg rdx, rbp
movups xmmword [rdx - 0x11], xmm0
xchg rdx, rbp
call fcn.14001791c
xor edi, edi
mov dword [rsp - 0x44], esp
mov r14d, 0x52313660
xor r14d, 0x1b0dcfaa
add r14d, 0x20de83aa
xor r14d, 0xade4ecd
xchg r8, rax
mov rax, r8
xchg r8, rax
mov edx, r14d
mov dword [rsp - 0x1c], ebx
mov r12d, 0x5dce3026
sub r12d, 0x1cb53000
sub r12d, 0x10ed493c
sub r12d, 0x302bb5eb
test r15, r15
je 0x14012519a
mov dword [rsp - 0x44], 0x57dfbcf2
mov rcx, rax
sub rbx, rax
xchg rbp, r15
mov r9, rbp
xchg rbp, r15
movzx eax, dx
mov dword [rsp - 0x3c], edi
ror edx, 2
ror edx, 6
and ax, r12w
xchg r13, r13
xor ax, word [rbx + rcx]
mov word [rcx], ax
lea rcx, [rcx + 2]
xchg r10, r10
sub r9, 1
jne 0x14012516e
mov word [r8 + r15*2], di
mov edx, 0x62acdc
add edx, 0x474abdb8
add edx, 0xcc10d41
xor edx, 0x546e77fb
mov rcx, qword [rbp - 0x39]
call fcn.140099b90
mov dword [rsp - 0x24], 0x2cd5dfe4
lea rcx, [rsi + 8]
xorps xmm0, xmm0
test rax, rax
je 0x140125282
mov r10, r10
mov word [rax], di
or rdx, 0xffffffffffffffff
xchg rbx, r8
mov r8, qword [rbp - 0x39]
xchg rbx, r8
mov qword [rsi], rcx
mov dword [rsp - 0x38], 0x2e30534a
xchg rcx, rdi
movups xmmword [rdi], xmm0
xchg rdi, rcx
xchg rcx, rsi
movups xmmword [rsi + 0x10], xmm0
xchg rcx, rsi
xchg r11, rcx
movups xmmword [r11 + 0x20], xmm0
xchg r11, rcx
inc rdx
cmp word [rbx + rdx*2], di
jne 0x140125214
mov r9, r9
xchg rcx, rsi
mov rsi, rcx
xchg rsi, rcx
mov qword [rsi + 0x38], rdx
mov dword [rsp - 0x2c], esi
call fcn.14001791c
cmp qword [rsi + 0x38], rdi
jbe 0x1401252e9
mov dword [rsp - 0xc], 0x51da5195
sub rbx, rax
movzx ecx, r14w
inc rdi
and cx, r12w
mov rcx, rcx
ror r14d, 6
ror r14d, 2
xor cx, word [rbx + rax]
mov word [rax], cx
mov r9, r9
lea rax, [rax + 2]
cmp rdi, qword [rsi + 0x38]
jb 0x14012524f
jmp 0x1401252e9
xchg rsp, rdx
mov rsp, qword [rbp + 0x3f]
xchg rsp, rdx
mov qword [rsi], rcx
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm0
mov rcx, rcx
xchg r11, rcx
movups xmmword [r11 + 0x20], xmm0
xchg r11, rcx
xchg r11, rcx
mov r11, rsi
xchg rcx, r11
mov qword [rsi + 0x38], rdx
mov dword [rsp - 0x2c], ecx
call fcn.14001791c
cmp qword [rsi + 0x38], rdi
jbe 0x1401252e9
mov rcx, qword [rbp + 7]
mov dword [rsp - 0x34], 0x6f580fc4
movzx edx, word [rcx + rdi*2]
mov word [rax + rdi*2], dx
inc rdi
cmp rdi, qword [rsi + 0x38]
mov dword [rsp - 0x2c], ebp
jb 0x1401252c4
xchg rcx, r10
mov r10, qword [rbp - 0x39]
xchg r10, rcx
lea rax, [rbp - 0x31]
mov ebx, 0x5c5de4e5
add ebx, 0x2acfb8f
xor ebx, 0x4d84c56f
sub ebx, 0x128e24eb
cmp rcx, rax
mov dword [rsp - 0x14], ebx
jne 0x14012532d
lea rdi, [rbp - 0x31]
xor eax, eax
mov ecx, ebx
mov rdi, rdi
rep stosb byte [rdi], al
jmp 0x140125332
call fcn.140098930
mov rcx, qword [rbp + 7]
lea rax, [rbp + 0xf]
mov dword [rsp - 0x2c], 0x27f7158
cmp rcx, rax
jne 0x140125366
mov rcx, rbx
mov dword [rsp - 0xc], 0x10872c6b
lea rdi, [rbp + 0xf]
xor eax, eax
rep stosb byte [rdi], al
xchg rsi, rsi
jmp 0x14012536b
call fcn.140098930
lea r11, [rsp + 0xa0]
mov rax, rsi
mov dword [rsp - 0x2c], ecx
xchg rbp, rbx
mov rbp, qword [r11 + 0x20]
xchg rbp, rbx
xchg rsi, r10
mov r10, qword [r11 + 0x28]
xchg r10, rsi
mov rdi, qword [r11 + 0x30]
mov r9, r9
mov r12, qword [r11 + 0x38]
mov rsp, r11
nop
mov r15, qword [rsp]
add rsp, 8
pop r14
xchg r10, r10
nop
add rsp, 8
mov rbp, qword [rsp - 8]
ret