Function at 0x140003a40
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov eax, dword [0x1400311e0]
lea rsi, [0x140000000]
xor eax, dword [rcx + 4]
mov ebx, 2
mov r10d, dword [rcx + 8]
mov edi, ebx
mov r11, rcx
nop dword [rax]
mov ecx, eax
shr rcx, 0x10
movzx edx, cl
mov ecx, eax
shr rcx, 0x18
mov r9d, dword [rsi + rdx*4 + 0x31a10]
add r9d, dword [rsi + rcx*4 + 0x31610]
mov ecx, eax
shr rcx, 8
movzx edx, cl
movzx ecx, al
xor r9d, dword [rsi + rdx*4 + 0x32210]
add r9d, dword [rsi + rcx*4 + 0x31e10]
lea ecx, [rbx - 1]
xor r9d, dword [rsi + rcx*4 + 0x311e0]
xor r9d, r10d
mov ecx, r9d
shr rcx, 0x10
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r10d, r9d
mov r8d, dword [rsi + rdx*4 + 0x31a10]
add r8d, dword [rsi + rcx*4 + 0x31610]
mov ecx, r9d
shr rcx, 8
movzx edx, cl
movzx ecx, r9b
xor r8d, dword [rsi + rdx*4 + 0x32210]
add r8d, dword [rsi + rcx*4 + 0x31e10]
mov ecx, ebx
xor r8d, dword [rsi + rcx*4 + 0x311e0]
xor eax, r8d
mov ecx, eax
shr rcx, 0x10
movzx edx, cl
mov ecx, eax
shr rcx, 0x18
mov r9d, dword [rsi + rdx*4 + 0x31a10]
add r9d, dword [rsi + rcx*4 + 0x31610]
mov ecx, eax
shr rcx, 8
movzx edx, cl
movzx ecx, al
xor r9d, dword [rsi + rdx*4 + 0x32210]
add r9d, dword [rsi + rcx*4 + 0x31e10]
lea ecx, [rbx + 1]
xor r9d, dword [rsi + rcx*4 + 0x311e0]
xor r9d, r10d
mov ecx, r9d
shr rcx, 0x10
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r10d, r9d
mov r8d, dword [rsi + rdx*4 + 0x31a10]
add r8d, dword [rsi + rcx*4 + 0x31610]
mov ecx, r9d
shr rcx, 8
movzx edx, cl
movzx ecx, r9b
xor r8d, dword [rsi + rdx*4 + 0x32210]
add r8d, dword [rsi + rcx*4 + 0x31e10]
lea ecx, [rbx + 2]
xor r8d, dword [rsi + rcx*4 + 0x311e0]
xor eax, r8d
mov ecx, eax
shr rcx, 0x10
movzx edx, cl
mov ecx, eax
shr rcx, 0x18
mov r9d, dword [rsi + rdx*4 + 0x31a10]
add r9d, dword [rsi + rcx*4 + 0x31610]
mov ecx, eax
shr rcx, 8
movzx edx, cl
movzx ecx, al
xor r9d, dword [rsi + rdx*4 + 0x32210]
add r9d, dword [rsi + rcx*4 + 0x31e10]
lea ecx, [rbx + 3]
xor r9d, dword [rsi + rcx*4 + 0x311e0]
xor r9d, r10d
mov ecx, r9d
shr rcx, 0x10
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r10d, r9d
mov r8d, dword [rsi + rdx*4 + 0x31a10]
add r8d, dword [rsi + rcx*4 + 0x31610]
mov ecx, r9d
shr rcx, 8
movzx edx, cl
movzx ecx, r9b
xor r8d, dword [rsi + rdx*4 + 0x32210]
add r8d, dword [rsi + rcx*4 + 0x31e10]
lea ecx, [rbx + 4]
xor r8d, dword [rsi + rcx*4 + 0x311e0]
xor eax, r8d
mov ecx, eax
shr rcx, 0x10
movzx edx, cl
mov ecx, eax
shr rcx, 0x18
mov r9d, dword [rsi + rdx*4 + 0x31a10]
add r9d, dword [rsi + rcx*4 + 0x31610]
mov ecx, eax
shr rcx, 8
movzx edx, cl
movzx ecx, al
xor r9d, dword [rsi + rdx*4 + 0x32210]
add r9d, dword [rsi + rcx*4 + 0x31e10]
lea ecx, [rbx + 5]
xor r9d, dword [rsi + rcx*4 + 0x311e0]
xor r9d, r10d
mov ecx, r9d
shr rcx, 0x10
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r10d, r9d
mov r8d, dword [rsi + rdx*4 + 0x31a10]
add r8d, dword [rsi + rcx*4 + 0x31610]
mov ecx, r9d
shr rcx, 8
movzx edx, cl
movzx ecx, r9b
xor r8d, dword [rsi + rdx*4 + 0x32210]
add r8d, dword [rsi + rcx*4 + 0x31e10]
lea ecx, [rbx + 6]
xor r8d, dword [rsi + rcx*4 + 0x311e0]
xor eax, r8d
mov ecx, eax
shr rcx, 0x10
movzx edx, cl
mov ecx, eax
shr rcx, 0x18
mov r9d, dword [rsi + rdx*4 + 0x31a10]
add r9d, dword [rsi + rcx*4 + 0x31610]
mov ecx, eax
shr rcx, 8
movzx edx, cl
movzx ecx, al
xor r9d, dword [rsi + rdx*4 + 0x32210]
add r9d, dword [rsi + rcx*4 + 0x31e10]
lea ecx, [rbx + 7]
xor r9d, dword [rsi + rcx*4 + 0x311e0]
xor r9d, r10d
mov ecx, r9d
shr rcx, 0x10
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r10d, r9d
mov r8d, dword [rsi + rdx*4 + 0x31a10]
add r8d, dword [rsi + rcx*4 + 0x31610]
mov ecx, r9d
shr rcx, 8
movzx edx, cl
movzx ecx, r9b
xor r8d, dword [rsi + rdx*4 + 0x32210]
add r8d, dword [rsi + rcx*4 + 0x31e10]
lea ecx, [rbx + 8]
xor r8d, dword [rsi + rcx*4 + 0x311e0]
xor eax, r8d
mov ecx, eax
shr rcx, 0x10
movzx edx, cl
mov ecx, eax
shr rcx, 0x18
mov r9d, dword [rsi + rdx*4 + 0x31a10]
add r9d, dword [rsi + rcx*4 + 0x31610]
mov ecx, eax
shr rcx, 8
movzx edx, cl
movzx ecx, al
xor r9d, dword [rsi + rdx*4 + 0x32210]
add r9d, dword [rsi + rcx*4 + 0x31e10]
lea ecx, [rbx + 9]
xor r9d, dword [rsi + rcx*4 + 0x311e0]
xor r9d, r10d
mov ecx, r9d
shr rcx, 0x10
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r10d, r9d
mov r8d, dword [rsi + rdx*4 + 0x31a10]
add r8d, dword [rsi + rcx*4 + 0x31610]
mov ecx, r9d
shr rcx, 8
movzx edx, cl
movzx ecx, r9b
xor r8d, dword [rsi + rdx*4 + 0x32210]
add r8d, dword [rsi + rcx*4 + 0x31e10]
lea ecx, [rbx + 0xa]
xor r8d, dword [rsi + rcx*4 + 0x311e0]
xor eax, r8d
mov ecx, eax
shr rcx, 0x10
movzx edx, cl
mov ecx, eax
shr rcx, 0x18
mov r9d, dword [rsi + rdx*4 + 0x31a10]
add r9d, dword [rsi + rcx*4 + 0x31610]
mov ecx, eax
shr rcx, 8
movzx edx, cl
movzx ecx, al
xor r9d, dword [rsi + rdx*4 + 0x32210]
add r9d, dword [rsi + rcx*4 + 0x31e10]
lea ecx, [rbx + 0xb]
xor r9d, dword [rsi + rcx*4 + 0x311e0]
xor r9d, r10d
mov ecx, r9d
shr rcx, 0x10
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r10d, r9d
mov r8d, dword [rsi + rdx*4 + 0x31a10]
add r8d, dword [rsi + rcx*4 + 0x31610]
mov ecx, r9d
shr rcx, 8
movzx edx, cl
movzx ecx, r9b
xor r8d, dword [rsi + rdx*4 + 0x32210]
add r8d, dword [rsi + rcx*4 + 0x31e10]
lea ecx, [rbx + 0xc]
xor r8d, dword [rsi + rcx*4 + 0x311e0]
xor eax, r8d
mov ecx, eax
shr rcx, 0x10
movzx edx, cl
mov ecx, eax
shr rcx, 0x18
mov r9d, dword [rsi + rdx*4 + 0x31a10]
add r9d, dword [rsi + rcx*4 + 0x31610]
mov ecx, eax
shr rcx, 8
movzx edx, cl
movzx ecx, al
xor r9d, dword [rsi + rdx*4 + 0x32210]
add r9d, dword [rsi + rcx*4 + 0x31e10]
lea ecx, [rbx + 0xd]
xor r9d, dword [rsi + rcx*4 + 0x311e0]
xor r9d, r10d
mov ecx, r9d
shr rcx, 0x10
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r10d, r9d
mov r8d, dword [rsi + rdx*4 + 0x31a10]
add r8d, dword [rsi + rcx*4 + 0x31610]
mov ecx, r9d
shr rcx, 8
movzx edx, cl
movzx ecx, r9b
xor r8d, dword [rsi + rdx*4 + 0x32210]
add r8d, dword [rsi + rcx*4 + 0x31e10]
lea ecx, [rbx + 0xe]
xor r8d, dword [rsi + rcx*4 + 0x311e0]
add ebx, 0x10
xor eax, r8d
sub rdi, 1
jne 0x140003a70
xor r10d, dword [0x140031264]
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
mov dword [r11 + 4], r10d
mov dword [r11 + 8], eax
ret