Function at 0x14000b3f0
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
mov dword [rcx + 0x1e0], 0xa
lea rdi, [rcx + 4]
movzx eax, byte [rdx + 1]
lea r14, [0x140000000]
movzx ebx, byte [rdx]
mov rsi, rcx
shl ebx, 8
or ebx, eax
movzx eax, byte [rdx + 2]
shl ebx, 8
or ebx, eax
movzx eax, byte [rdx + 3]
shl ebx, 8
or ebx, eax
mov dword [rcx], ebx
movzx eax, byte [rdx + 5]
movzx r11d, byte [rdx + 4]
shl r11d, 8
or r11d, eax
movzx eax, byte [rdx + 6]
shl r11d, 8
or r11d, eax
movzx eax, byte [rdx + 7]
shl r11d, 8
or r11d, eax
mov dword [rdi], r11d
movzx eax, byte [rdx + 9]
movzx r10d, byte [rdx + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [rdx + 0xa]
shl r10d, 8
or r10d, eax
movzx eax, byte [rdx + 0xb]
shl r10d, 8
or r10d, eax
mov dword [rcx + 8], r10d
movzx eax, byte [rdx + 0xd]
movzx ecx, byte [rdx + 0xc]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xe]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xf]
shl ecx, 8
or ecx, eax
mov r9d, ecx
mov dword [rsi + 0xc], r9d
mov eax, ecx
shr rax, 0x10
movzx edx, al
mov eax, ecx
shr rax, 8
movzx ecx, al
mov eax, r9d
mov r8d, dword [r14 + rdx*4 + 0x12c70]
shr rax, 0x18
xor r8d, dword [r14 + rcx*4 + 0xf840]
xor r8d, dword [r14 + rax*4 + 0x11870]
movzx eax, r9b
xor r8d, dword [r14 + rax*4 + 0x10440]
xor r8d, ebx
btc r8d, 0x18
mov dword [rsi + 0x10], r8d
xor r8d, r11d
mov dword [rsi + 0x14], r8d
mov r11d, 9
xor r8d, r10d
lea r10, [0x140010c44]
mov dword [rsi + 0x18], r8d
xor r8d, r9d
mov dword [rsi + 0x1c], r8d
lea rdi, [rdi + 0x10]
mov r9d, dword [rdi + 8]
mov eax, r9d
shr rax, 0x10
movzx edx, al
mov eax, r9d
shr rax, 8
movzx ecx, al
mov eax, r9d
shr rax, 0x18
mov r8d, dword [r14 + rdx*4 + 0x12c70]
xor r8d, dword [r14 + rcx*4 + 0xf840]
xor r8d, dword [r14 + rax*4 + 0x11870]
movzx eax, r9b
xor r8d, dword [r14 + rax*4 + 0x10440]
xor r8d, dword [rdi - 4]
xor r8d, dword [r10]
lea r10, [r10 + 4]
mov dword [rdi + 0xc], r8d
xor r8d, dword [rdi]
mov dword [rdi + 0x10], r8d
xor r8d, dword [rdi + 4]
mov dword [rdi + 0x14], r8d
xor r8d, r9d
mov dword [rdi + 0x18], r8d
sub r11, 1
jne 0x14000b51f
lea r11, [rsi + 0xa0]
mov ebx, 1
mov eax, dword [r11]
lea r10, [rsi + 0xf0]
mov dword [r10], eax
mov eax, dword [r11 + 4]
mov dword [r10 + 4], eax
mov eax, dword [r11 + 8]
mov dword [r10 + 8], eax
mov eax, dword [r11 + 0xc]
mov dword [r10 + 0xc], eax
cmp dword [rsi + 0x1e0], ebx
jbe 0x14000b6fe
sub r11, 0x10
add r10, 0x10
inc ebx
mov r9d, dword [r11]
mov eax, r9d
shr rax, 0x10
movzx edx, al
mov eax, r9d
shr rax, 8
movzx ecx, al
mov eax, r9d
shr rax, 0x18
mov r8d, dword [r14 + rdx*4 + 0x10c70]
xor r8d, dword [r14 + rcx*4 + 0x12070]
xor r8d, dword [r14 + rax*4 + 0x10040]
movzx eax, r9b
xor r8d, dword [r14 + rax*4 + 0x11470]
mov dword [r10], r8d
mov r9d, dword [r11 + 4]
mov eax, r9d
shr rax, 0x10
movzx edx, al
mov eax, r9d
shr rax, 8
movzx ecx, al
mov eax, r9d
shr rax, 0x18
mov r8d, dword [r14 + rdx*4 + 0x10c70]
xor r8d, dword [r14 + rcx*4 + 0x12070]
xor r8d, dword [r14 + rax*4 + 0x10040]
movzx eax, r9b
xor r8d, dword [r14 + rax*4 + 0x11470]
mov dword [r10 + 4], r8d
mov r9d, dword [r11 + 8]
mov eax, r9d
shr rax, 0x10
movzx edx, al
mov eax, r9d
shr rax, 8
movzx ecx, al
mov eax, r9d
shr rax, 0x18
mov r8d, dword [r14 + rdx*4 + 0x10c70]
xor r8d, dword [r14 + rcx*4 + 0x12070]
xor r8d, dword [r14 + rax*4 + 0x10040]
movzx eax, r9b
xor r8d, dword [r14 + rax*4 + 0x11470]
mov dword [r10 + 8], r8d
mov r9d, dword [r11 + 0xc]
mov eax, r9d
shr rax, 0x10
movzx edx, al
mov eax, r9d
shr rax, 8
movzx ecx, al
mov eax, r9d
shr rax, 0x18
mov r8d, dword [r14 + rdx*4 + 0x10c70]
xor r8d, dword [r14 + rcx*4 + 0x12070]
xor r8d, dword [r14 + rax*4 + 0x10040]
movzx eax, r9b
xor r8d, dword [r14 + rax*4 + 0x11470]
mov dword [r10 + 0xc], r8d
cmp ebx, dword [rsi + 0x1e0]
jb 0x14000b5ce
mov eax, dword [r11 - 0x10]
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
mov r14, qword [rsp + 0x20]
mov dword [r10 + 0x10], eax
mov eax, dword [r11 - 0xc]
mov dword [r10 + 0x14], eax
mov eax, dword [r11 - 8]
mov dword [r10 + 0x18], eax
mov eax, dword [r11 - 4]
mov dword [r10 + 0x1c], eax
xor eax, eax
ret