Function at 0x14004b350
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov ecx, 0x53
call fcn.1400bcb18
movzx r10d, byte [rbx]
lea rdx, [rbx + 4]
mov r8, rax
mov rcx, rax
sub r8, rbx
mov r9d, 2
nop word [rax + rax]
movzx eax, byte [rbx + 2]
xor al, byte [rdx]
xor al, r10b
mov byte [rdx + r8 - 4], al
movzx eax, byte [rdx]
xor al, byte [rdx + 1]
mov byte [rdx + r8 - 3], al
movzx eax, byte [rdx + 2]
xor al, byte [rdx + 1]
mov byte [rdx + r8 - 2], al
movzx eax, byte [rdx + 3]
xor al, byte [rdx + 2]
mov byte [rdx + r8 - 1], al
movzx eax, byte [rdx + 4]
xor al, byte [rdx + 3]
mov byte [rdx + r8], al
movzx eax, byte [rdx + 4]
xor al, byte [rdx + 5]
mov byte [rdx + r8 + 1], al
movzx eax, byte [rdx + 5]
xor al, byte [rdx + 6]
mov byte [rdx + r8 + 2], al
movzx eax, byte [rdx + 6]
xor al, byte [rdx + 7]
mov byte [rdx + r8 + 3], al
movzx eax, byte [rdx + 7]
xor al, byte [rdx + 8]
mov byte [rdx + r8 + 4], al
movzx eax, byte [rdx + 8]
xor al, byte [rdx + 9]
mov byte [rdx + r8 + 5], al
movzx eax, byte [rdx + 9]
xor al, byte [rdx + 0xa]
mov byte [rdx + r8 + 6], al
movzx eax, byte [rdx + 0xa]
xor al, byte [rdx + 0xb]
mov byte [rdx + r8 + 7], al
movzx eax, byte [rdx + 0xb]
xor al, byte [rdx + 0xc]
mov byte [rdx + r8 + 8], al
movzx eax, byte [rdx + 0xc]
xor al, byte [rdx + 0xd]
mov byte [rdx + r8 + 9], al
movzx eax, byte [rdx + 0xd]
xor al, byte [rdx + 0xe]
mov byte [rdx + r8 + 0xa], al
movzx eax, byte [rdx + 0xe]
xor al, byte [rdx + 0xf]
mov byte [rdx + r8 + 0xb], al
movzx eax, byte [rdx + 0xf]
xor al, byte [rdx + 0x10]
mov byte [rdx + r8 + 0xc], al
movzx eax, byte [rdx + 0x10]
xor al, byte [rdx + 0x11]
mov byte [rdx + r8 + 0xd], al
movzx eax, byte [rdx + 0x11]
xor al, byte [rdx + 0x12]
mov byte [rdx + r8 + 0xe], al
movzx eax, byte [rdx + 0x12]
xor al, byte [rdx + 0x13]
mov byte [rdx + r8 + 0xf], al
movzx eax, byte [rdx + 0x13]
xor al, byte [rdx + 0x14]
mov byte [rdx + r8 + 0x10], al
movzx eax, byte [rdx + 0x14]
xor al, byte [rdx + 0x15]
mov byte [rdx + r8 + 0x11], al
movzx eax, byte [rdx + 0x15]
xor al, byte [rdx + 0x16]
mov byte [rdx + r8 + 0x12], al
movzx eax, byte [rdx + 0x16]
xor al, byte [rdx + 0x17]
mov byte [rdx + r8 + 0x13], al
movzx eax, byte [rdx + 0x17]
xor al, byte [rdx + 0x18]
mov byte [rdx + r8 + 0x14], al
movzx eax, byte [rdx + 0x18]
xor al, byte [rdx + 0x19]
mov byte [rdx + r8 + 0x15], al
movzx eax, byte [rdx + 0x19]
xor al, byte [rdx + 0x1a]
mov byte [rdx + r8 + 0x16], al
movzx eax, byte [rdx + 0x1a]
xor al, byte [rdx + 0x1b]
mov byte [rdx + r8 + 0x17], al
movzx eax, byte [rdx + 0x1b]
xor al, byte [rdx + 0x1c]
mov byte [rdx + r8 + 0x18], al
movzx eax, byte [rdx + 0x1c]
xor al, byte [rdx + 0x1d]
mov byte [rdx + r8 + 0x19], al
movzx eax, byte [rdx + 0x1d]
xor al, byte [rdx + 0x1e]
mov byte [rdx + r8 + 0x1a], al
movzx eax, byte [rdx + 0x1e]
xor al, byte [rdx + 0x1f]
mov byte [rdx + r8 + 0x1b], al
movzx eax, byte [rdx + 0x1f]
xor al, byte [rdx + 0x20]
mov byte [rdx + r8 + 0x1c], al
movzx eax, byte [rdx + 0x20]
xor al, byte [rdx + 0x21]
mov byte [rdx + r8 + 0x1d], al
movzx eax, byte [rdx + 0x21]
xor al, byte [rdx + 0x22]
mov byte [rdx + r8 + 0x1e], al
movzx eax, byte [rdx + 0x22]
xor al, byte [rdx + 0x23]
mov byte [rdx + r8 + 0x1f], al
movzx eax, byte [rdx + 0x23]
xor al, byte [rdx + 0x24]
mov byte [rdx + r8 + 0x20], al
movzx eax, byte [rdx + 0x24]
xor al, byte [rdx + 0x25]
mov byte [rdx + r8 + 0x21], al
movzx eax, byte [rdx + 0x25]
xor al, byte [rdx + 0x26]
mov byte [rdx + r8 + 0x22], al
movzx eax, byte [rdx + 0x26]
xor al, byte [rdx + 0x27]
mov byte [rdx + r8 + 0x23], al
movzx eax, byte [rdx + 0x27]
xor al, byte [rdx + 0x28]
mov byte [rdx + r8 + 0x24], al
movzx r10d, byte [rdx + 0x28]
lea rdx, [rdx + 0x29]
xor r10b, byte [rbx + 2]
sub r9, 1
jne 0x14004b380
mov byte [rcx + 0x52], r9b
mov rax, rcx
add rsp, 0x20
pop rbx
ret