Function at 0x140003ca0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
mov eax, dword [0x14004c1f4]
lea rdi, [0x140000000]
xor eax, dword [rcx + 4]
mov r11, rcx
mov r10d, dword [rcx + 8]
mov ebx, 0x1e
nop word [rax + rax]
mov ecx, eax
shr rcx, 0x10
movzx edx, cl
mov ecx, eax
shr rcx, 0x18
mov r9d, dword [rdi + rdx*4 + 0x4c9a0]
add r9d, dword [rdi + rcx*4 + 0x4c5a0]
mov ecx, eax
shr rcx, 8
movzx edx, cl
movzx ecx, al
xor r9d, dword [rdi + rdx*4 + 0x4d1a0]
add r9d, dword [rdi + rcx*4 + 0x4cda0]
lea ecx, [rbx + 2]
xor r9d, dword [rdi + rcx*4 + 0x4c170]
xor r9d, r10d
mov ecx, r9d
shr rcx, 0x10
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r10d, r9d
mov r8d, dword [rdi + rdx*4 + 0x4c9a0]
add r8d, dword [rdi + rcx*4 + 0x4c5a0]
mov ecx, r9d
shr rcx, 8
movzx edx, cl
movzx ecx, r9b
xor r8d, dword [rdi + rdx*4 + 0x4d1a0]
add r8d, dword [rdi + rcx*4 + 0x4cda0]
lea ecx, [rbx + 1]
xor r8d, dword [rdi + rcx*4 + 0x4c170]
xor eax, r8d
mov ecx, eax
shr rcx, 0x10
movzx edx, cl
mov ecx, eax
shr rcx, 0x18
mov r9d, dword [rdi + rdx*4 + 0x4c9a0]
add r9d, dword [rdi + rcx*4 + 0x4c5a0]
mov ecx, eax
shr rcx, 8
movzx edx, cl
movzx ecx, al
xor r9d, dword [rdi + rdx*4 + 0x4d1a0]
add r9d, dword [rdi + rcx*4 + 0x4cda0]
mov ecx, ebx
xor r9d, dword [rdi + rcx*4 + 0x4c170]
xor r9d, r10d
mov ecx, r9d
shr rcx, 0x10
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r10d, r9d
mov r8d, dword [rdi + rdx*4 + 0x4c9a0]
add r8d, dword [rdi + rcx*4 + 0x4c5a0]
mov ecx, r9d
shr rcx, 8
movzx edx, cl
movzx ecx, r9b
xor r8d, dword [rdi + rdx*4 + 0x4d1a0]
add r8d, dword [rdi + rcx*4 + 0x4cda0]
lea ecx, [rbx - 1]
xor r8d, dword [rdi + rcx*4 + 0x4c170]
xor eax, r8d
mov ecx, eax
shr rcx, 0x10
movzx edx, cl
mov ecx, eax
shr rcx, 0x18
mov r9d, dword [rdi + rdx*4 + 0x4c9a0]
add r9d, dword [rdi + rcx*4 + 0x4c5a0]
mov ecx, eax
shr rcx, 8
movzx edx, cl
movzx ecx, al
xor r9d, dword [rdi + rdx*4 + 0x4d1a0]
add r9d, dword [rdi + rcx*4 + 0x4cda0]
lea ecx, [rbx - 2]
xor r9d, dword [rdi + rcx*4 + 0x4c170]
xor r9d, r10d
mov ecx, r9d
shr rcx, 0x10
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r10d, r9d
mov r8d, dword [rdi + rdx*4 + 0x4c9a0]
add r8d, dword [rdi + rcx*4 + 0x4c5a0]
mov ecx, r9d
shr rcx, 8
movzx edx, cl
movzx ecx, r9b
xor r8d, dword [rdi + rdx*4 + 0x4d1a0]
add r8d, dword [rdi + rcx*4 + 0x4cda0]
lea ecx, [rbx - 3]
xor r8d, dword [rdi + rcx*4 + 0x4c170]
xor eax, r8d
mov ecx, eax
shr rcx, 0x10
movzx edx, cl
mov ecx, eax
shr rcx, 0x18
mov r9d, dword [rdi + rdx*4 + 0x4c9a0]
add r9d, dword [rdi + rcx*4 + 0x4c5a0]
mov ecx, eax
shr rcx, 8
movzx edx, cl
movzx ecx, al
xor r9d, dword [rdi + rdx*4 + 0x4d1a0]
add r9d, dword [rdi + rcx*4 + 0x4cda0]
lea ecx, [rbx - 4]
xor r9d, dword [rdi + rcx*4 + 0x4c170]
xor r9d, r10d
mov ecx, r9d
shr rcx, 0x10
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r10d, r9d
mov r8d, dword [rdi + rdx*4 + 0x4c9a0]
add r8d, dword [rdi + rcx*4 + 0x4c5a0]
mov ecx, r9d
shr rcx, 8
movzx edx, cl
movzx ecx, r9b
xor r8d, dword [rdi + rdx*4 + 0x4d1a0]
add r8d, dword [rdi + rcx*4 + 0x4cda0]
lea ecx, [rbx - 5]
xor r8d, dword [rdi + rcx*4 + 0x4c170]
xor eax, r8d
mov ecx, eax
shr rcx, 0x10
movzx edx, cl
mov ecx, eax
shr rcx, 0x18
mov r9d, dword [rdi + rdx*4 + 0x4c9a0]
add r9d, dword [rdi + rcx*4 + 0x4c5a0]
mov ecx, eax
shr rcx, 8
movzx edx, cl
movzx ecx, al
xor r9d, dword [rdi + rdx*4 + 0x4d1a0]
add r9d, dword [rdi + rcx*4 + 0x4cda0]
lea ecx, [rbx - 6]
xor r9d, dword [rdi + rcx*4 + 0x4c170]
xor r9d, r10d
mov ecx, r9d
shr rcx, 0x10
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r10d, r9d
mov r8d, dword [rdi + rdx*4 + 0x4c9a0]
add r8d, dword [rdi + rcx*4 + 0x4c5a0]
mov ecx, r9d
shr rcx, 8
movzx edx, cl
movzx ecx, r9b
xor r8d, dword [rdi + rdx*4 + 0x4d1a0]
add r8d, dword [rdi + rcx*4 + 0x4cda0]
lea ecx, [rbx - 7]
xor r8d, dword [rdi + rcx*4 + 0x4c170]
xor eax, r8d
mov ecx, eax
shr rcx, 0x10
movzx edx, cl
mov ecx, eax
shr rcx, 0x18
mov r9d, dword [rdi + rdx*4 + 0x4c9a0]
add r9d, dword [rdi + rcx*4 + 0x4c5a0]
mov ecx, eax
shr rcx, 8
movzx edx, cl
movzx ecx, al
xor r9d, dword [rdi + rdx*4 + 0x4d1a0]
add r9d, dword [rdi + rcx*4 + 0x4cda0]
lea ecx, [rbx - 8]
xor r9d, dword [rdi + rcx*4 + 0x4c170]
xor r9d, r10d
mov ecx, r9d
shr rcx, 0x10
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r10d, r9d
mov r8d, dword [rdi + rdx*4 + 0x4c9a0]
add r8d, dword [rdi + rcx*4 + 0x4c5a0]
mov ecx, r9d
shr rcx, 8
movzx edx, cl
movzx ecx, r9b
xor r8d, dword [rdi + rdx*4 + 0x4d1a0]
add r8d, dword [rdi + rcx*4 + 0x4cda0]
lea ecx, [rbx - 9]
xor r8d, dword [rdi + rcx*4 + 0x4c170]
xor eax, r8d
mov ecx, eax
shr rcx, 0x10
movzx edx, cl
mov ecx, eax
shr rcx, 0x18
mov r9d, dword [rdi + rdx*4 + 0x4c9a0]
add r9d, dword [rdi + rcx*4 + 0x4c5a0]
mov ecx, eax
shr rcx, 8
movzx edx, cl
movzx ecx, al
xor r9d, dword [rdi + rdx*4 + 0x4d1a0]
add r9d, dword [rdi + rcx*4 + 0x4cda0]
lea ecx, [rbx - 0xa]
xor r9d, dword [rdi + rcx*4 + 0x4c170]
xor r9d, r10d
mov ecx, r9d
shr rcx, 0x10
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r10d, r9d
mov r8d, dword [rdi + rdx*4 + 0x4c9a0]
add r8d, dword [rdi + rcx*4 + 0x4c5a0]
mov ecx, r9d
shr rcx, 8
movzx edx, cl
movzx ecx, r9b
xor r8d, dword [rdi + rdx*4 + 0x4d1a0]
add r8d, dword [rdi + rcx*4 + 0x4cda0]
lea ecx, [rbx - 0xb]
xor r8d, dword [rdi + rcx*4 + 0x4c170]
xor eax, r8d
mov ecx, eax
shr rcx, 0x10
movzx edx, cl
mov ecx, eax
shr rcx, 0x18
mov r9d, dword [rdi + rdx*4 + 0x4c9a0]
add r9d, dword [rdi + rcx*4 + 0x4c5a0]
mov ecx, eax
shr rcx, 8
movzx edx, cl
movzx ecx, al
xor r9d, dword [rdi + rdx*4 + 0x4d1a0]
add r9d, dword [rdi + rcx*4 + 0x4cda0]
lea ecx, [rbx - 0xc]
xor r9d, dword [rdi + rcx*4 + 0x4c170]
xor r9d, r10d
mov ecx, r9d
shr rcx, 0x10
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r10d, r9d
mov r8d, dword [rdi + rdx*4 + 0x4c9a0]
add r8d, dword [rdi + rcx*4 + 0x4c5a0]
mov ecx, r9d
shr rcx, 8
movzx edx, cl
movzx ecx, r9b
xor r8d, dword [rdi + rdx*4 + 0x4d1a0]
add r8d, dword [rdi + rcx*4 + 0x4cda0]
lea ecx, [rbx - 0xd]
xor r8d, dword [rdi + rcx*4 + 0x4c170]
sub ebx, 0x10
xor eax, r8d
lea ecx, [rbx + 2]
test ecx, ecx
jg 0x140003cd0
xor r10d, dword [0x14004c170]
mov rbx, qword [rsp + 8]
mov rdi, qword [rsp + 0x10]
mov dword [r11 + 4], r10d
mov dword [r11 + 8], eax
ret