Function at 0x1400012e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r14
sub rsp, 0x20
cmp dword [0x1400520b4], 0
mov rdi, rdx
mov rbx, rcx
je 0x140001313
call fcn.140001030
and dword [0x1400520b4], 0
mov ebp, 4
mov dword [rbx + 0x200], 0xe
mov r8, rbx
lea rdx, [rdi + 2]
mov r11, rbx
sub r8, rdi
lea r9d, [rbp + 4]
movzx eax, byte [rdx - 1]
movzx ecx, byte [rdx - 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 1]
shl ecx, 8
or ecx, eax
mov dword [rdx + r8 - 2], ecx
add rdx, rbp
sub r9, 1
jne 0x140001333
mov edi, dword [rbx]
lea rsi, [0x140055300]
lea r12, [0x14005531c]
lea r14, [0x140000000]
mov r10d, dword [r11 + 0x1c]
mov eax, r10d
shr eax, 0x10
movzx ecx, al
mov eax, r10d
shr eax, 8
mov edx, dword [r14 + rcx*4 + 0x56300]
movzx ecx, al
movzx eax, byte [r11 + 0x1c]
shl edx, 8
xor edx, dword [r14 + rcx*4 + 0x56300]
shl edx, 8
xor edx, dword [r14 + rax*4 + 0x56300]
mov eax, r10d
shr rax, 0x18
shl edx, 8
xor edx, dword [r14 + rax*4 + 0x56300]
xor edi, edx
xor edi, dword [rsi]
add rsi, rbp
mov eax, edi
mov dword [r11 + 0x20], edi
xor eax, dword [r11 + 4]
mov dword [r11 + 0x24], eax
xor eax, dword [r11 + 8]
mov dword [r11 + 0x28], eax
xor eax, dword [r11 + 0xc]
mov edx, eax
shr rax, 0x18
mov dword [r11 + 0x2c], edx
mov r8d, dword [r14 + rax*4 + 0x56300]
mov eax, edx
shl r8d, 8
shr eax, 0x10
movzx ecx, al
shr edx, 8
movzx eax, dl
xor r8d, dword [r14 + rcx*4 + 0x56300]
shl r8d, 8
xor r8d, dword [r14 + rax*4 + 0x56300]
movzx eax, byte [r11 + 0x2c]
shl r8d, 8
xor r8d, dword [r14 + rax*4 + 0x56300]
xor r8d, dword [r11 + 0x10]
mov dword [r11 + 0x30], r8d
xor r8d, dword [r11 + 0x14]
mov dword [r11 + 0x34], r8d
xor r8d, dword [r11 + 0x18]
xor r10d, r8d
mov dword [r11 + 0x38], r8d
mov dword [r11 + 0x3c], r10d
add r11, 0x20
cmp rsi, r12
jl 0x140001376
cmp dword [0x1400520b0], 0
je 0x1400014c0
xor edx, edx
mov r8d, 0x100
mov ecx, dword [rdx + r14 + 0x56300]
mov eax, dword [r14 + rcx*4 + 0x54300]
mov dword [rdx + r14 + 0x55700], eax
mov eax, dword [r14 + rcx*4 + 0x54700]
mov dword [rdx + r14 + 0x53300], eax
mov eax, dword [r14 + rcx*4 + 0x52f00]
mov dword [rdx + r14 + 0x53b00], eax
mov eax, dword [r14 + rcx*4 + 0x55f00]
mov dword [rdx + r14 + 0x56700], eax
add rdx, rbp
sub r8, 1
jne 0x140001468
and dword [0x1400520b0], r8d
add r11, rbp
lea r10, [rbx + 0x100]
mov dword [r10], edi
add r10, rbp
mov edi, 1
mov eax, dword [r11]
add r11, rbp
mov dword [r10], eax
add r10, rbp
mov eax, dword [r11]
add r11, rbp
mov dword [r10], eax
add r10, rbp
mov eax, dword [r11]
add r11, rbp
mov dword [r10], eax
add r10, rbp
cmp dword [rbx + 0x200], edi
jle 0x140001637
sub r11, 0x20
inc edi
mov r9d, dword [r11]
mov eax, r9d
mov edx, r9d
shr eax, 0x10
movzx ecx, al
shr rdx, 0x18
shr r9d, 8
movzx eax, r9b
mov r8d, dword [r14 + rdx*4 + 0x55700]
xor r8d, dword [r14 + rcx*4 + 0x53300]
xor r8d, dword [r14 + rax*4 + 0x53b00]
movzx eax, byte [r11]
add r11, rbp
xor r8d, dword [r14 + rax*4 + 0x56700]
mov dword [r10], r8d
add r10, rbp
mov r9d, dword [r11]
mov eax, r9d
mov edx, r9d
shr eax, 0x10
movzx ecx, al
shr rdx, 0x18
shr r9d, 8
movzx eax, r9b
mov r8d, dword [r14 + rdx*4 + 0x55700]
xor r8d, dword [r14 + rcx*4 + 0x53300]
xor r8d, dword [r14 + rax*4 + 0x53b00]
movzx eax, byte [r11]
add r11, rbp
xor r8d, dword [r14 + rax*4 + 0x56700]
mov dword [r10], r8d
add r10, rbp
mov r9d, dword [r11]
mov eax, r9d
mov edx, r9d
shr eax, 0x10
movzx ecx, al
shr rdx, 0x18
shr r9d, 8
movzx eax, r9b
mov r8d, dword [r14 + rdx*4 + 0x55700]
xor r8d, dword [r14 + rcx*4 + 0x53300]
xor r8d, dword [r14 + rax*4 + 0x53b00]
movzx eax, byte [r11]
add r11, rbp
xor r8d, dword [r14 + rax*4 + 0x56700]
mov dword [r10], r8d
add r10, rbp
mov r9d, dword [r11]
mov eax, r9d
mov edx, r9d
shr eax, 0x10
movzx ecx, al
shr rdx, 0x18
shr r9d, 8
movzx eax, r9b
mov r8d, dword [r14 + rdx*4 + 0x55700]
xor r8d, dword [r14 + rcx*4 + 0x53300]
xor r8d, dword [r14 + rax*4 + 0x53b00]
movzx eax, byte [r11]
add r11, rbp
xor r8d, dword [r14 + rax*4 + 0x56700]
mov dword [r10], r8d
add r10, rbp
cmp edi, dword [rbx + 0x200]
jl 0x140001505
mov rbx, qword [rsp + 0x40]
sub r11, 0x20
mov rsi, qword [rsp + 0x50]
mov eax, dword [r11]
add r11, rbp
mov dword [r10], eax
add r10, rbp
mov eax, dword [r11]
mov dword [r10], eax
mov eax, dword [r11 + rbp]
mov dword [r10 + rbp], eax
mov eax, dword [r11 + rbp + 4]
mov dword [r10 + rbp + 4], eax
xor eax, eax
mov rbp, qword [rsp + 0x48]
add rsp, 0x20
pop r14
pop r12
pop rdi
ret