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

Disassembly:
sub rsp, 0x18
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x10], r12
mov r12, rdx
mov qword [rsp + 8], r13
mov r13d, dword [rcx]
mov qword [rsp], r14
lea r14, [0x10000000]
lea eax, [r13*8 + 4]
mov r11d, dword [rcx + rax*4 + 0xc]
lea rbp, [rcx + rax*4]
xor r11d, dword [r8 + 0xc]
mov ecx, dword [rbp + 8]
mov r9d, dword [rbp + 4]
xor ecx, dword [r8 + 8]
xor r9d, dword [r8 + 4]
mov r10d, dword [rbp]
xor r10d, dword [r8]
mov ebx, ecx
mov eax, ecx
shr rax, 0x10
sub rbp, 0x20
mov r8d, r10d
movzx edx, al
shr r8, 8
mov rax, r11
mov edi, dword [r14 + rdx*4 + 0x140480]
shr rax, 8
movzx ecx, al
mov eax, r9d
xor edi, dword [r14 + rcx*4 + 0x140080]
shr rax, 0x18
xor edi, dword [r14 + rax*4 + 0x140880]
movzx eax, r10b
xor edi, dword [r14 + rax*4 + 0x13fc80]
mov eax, r9d
xor edi, dword [rbp + 0x10]
shr rax, 8
movzx edx, al
mov eax, r10d
mov esi, dword [r14 + rdx*4 + 0x140080]
shr rax, 0x10
movzx ecx, al
mov rax, r11
xor esi, dword [r14 + rcx*4 + 0x140480]
shr rax, 0x18
xor esi, dword [r14 + rax*4 + 0x140880]
movzx eax, bl
xor esi, dword [r14 + rax*4 + 0x13fc80]
mov eax, r9d
xor esi, dword [rbp + 0x18]
shr rax, 0x10
movzx edx, al
mov rax, rbx
shr rbx, 0x18
mov edx, dword [r14 + rdx*4 + 0x140480]
shr rax, 8
movzx ecx, al
mov eax, r10d
xor edx, dword [r14 + rcx*4 + 0x140080]
shr rax, 0x18
movzx ecx, r8b
xor edx, dword [r14 + rax*4 + 0x140880]
mov r8d, dword [r14 + rcx*4 + 0x140080]
movzx eax, r11b
xor edx, dword [r14 + rax*4 + 0x13fc80]
shr r11, 0x10
xor edx, dword [rbp + 0x1c]
movzx eax, r11b
xor r8d, dword [r14 + rax*4 + 0x140480]
movzx eax, r9b
xor r8d, dword [r14 + rbx*4 + 0x140880]
xor r8d, dword [r14 + rax*4 + 0x13fc80]
xor r8d, dword [rbp + 0x14]
add r13d, 0xffffffff
je 0x100eba35
nop
nop
nop
nop
mov r11d, edx
mov r10d, edi
mov edi, r8d
mov rax, rsi
sub rbp, 0x20
shr rax, 0x10
movzx edx, al
mov rax, r11
mov ebx, dword [r14 + rdx*4 + 0x140480]
shr rax, 8
movzx ecx, al
mov eax, r8d
xor ebx, dword [r14 + rcx*4 + 0x140080]
shr rax, 0x18
xor ebx, dword [r14 + rax*4 + 0x140880]
movzx eax, r10b
xor ebx, dword [r14 + rax*4 + 0x13fc80]
mov eax, r8d
xor ebx, dword [rbp + 0x20]
shr rax, 8
movzx edx, al
mov rax, r10
mov r9d, dword [r14 + rdx*4 + 0x140080]
shr rax, 0x10
movzx ecx, al
mov rax, r11
xor r9d, dword [r14 + rcx*4 + 0x140480]
shr rax, 0x18
xor r9d, dword [r14 + rax*4 + 0x140880]
movzx eax, sil
xor r9d, dword [r14 + rax*4 + 0x13fc80]
mov eax, r8d
xor r9d, dword [rbp + 0x28]
shr rax, 0x10
movzx edx, al
mov rax, rsi
shr rsi, 0x18
mov r8d, dword [r14 + rdx*4 + 0x140480]
shr rax, 8
movzx ecx, al
mov rax, r10
shr r10, 8
xor r8d, dword [r14 + rcx*4 + 0x140080]
shr rax, 0x18
movzx ecx, r10b
xor r8d, dword [r14 + rax*4 + 0x140880]
mov edx, dword [r14 + rcx*4 + 0x140080]
movzx eax, r11b
xor r8d, dword [r14 + rax*4 + 0x13fc80]
shr r11, 0x10
xor r8d, dword [rbp + 0x2c]
movzx eax, r11b
mov r11d, r9d
xor edx, dword [r14 + rax*4 + 0x140480]
movzx eax, dil
mov r10d, r8d
xor edx, dword [r14 + rsi*4 + 0x140880]
mov r8d, ebx
xor edx, dword [r14 + rax*4 + 0x13fc80]
mov rax, r11
xor edx, dword [rbp + 0x24]
shr rax, 0x10
mov r9d, edx
movzx edx, al
mov rax, r10
mov edi, dword [r14 + rdx*4 + 0x140480]
shr rax, 8
movzx ecx, al
mov rax, r9
xor edi, dword [r14 + rcx*4 + 0x140080]
shr rax, 0x18
xor edi, dword [r14 + rax*4 + 0x140880]
movzx eax, bl
xor edi, dword [r14 + rax*4 + 0x13fc80]
mov rax, r9
xor edi, dword [rbp + 0x10]
shr rax, 8
movzx edx, al
mov eax, ebx
shr rax, 0x10
movzx ecx, al
mov esi, dword [r14 + rdx*4 + 0x140080]
shr r8, 8
mov rax, r10
xor esi, dword [r14 + rcx*4 + 0x140480]
shr rax, 0x18
xor esi, dword [r14 + rax*4 + 0x140880]
movzx eax, r11b
xor esi, dword [r14 + rax*4 + 0x13fc80]
mov rax, r9
xor esi, dword [rbp + 0x18]
shr rax, 0x10
movzx edx, al
mov rax, r11
shr r11, 0x18
mov edx, dword [r14 + rdx*4 + 0x140480]
shr rax, 8
movzx ecx, al
mov eax, ebx
xor edx, dword [r14 + rcx*4 + 0x140080]
shr rax, 0x18
movzx ecx, r8b
xor edx, dword [r14 + rax*4 + 0x140880]
mov r8d, dword [r14 + rcx*4 + 0x140080]
movzx eax, r10b
xor edx, dword [r14 + rax*4 + 0x13fc80]
shr r10, 0x10
xor edx, dword [rbp + 0x1c]
movzx eax, r10b
xor r8d, dword [r14 + rax*4 + 0x140480]
movzx eax, r9b
xor r8d, dword [r14 + r11*4 + 0x140880]
xor r8d, dword [r14 + rax*4 + 0x13fc80]
xor r8d, dword [rbp + 0x14]
add r13d, 0xffffffff
jne 0x100eb810
mov r11d, edx
mov rax, r8
mov r9d, edi
shr rax, 0x18
shr r9, 0x18
mov r10d, esi
movzx edx, byte [rax + r14 + 0x140c80]
mov eax, esi
shr r10, 8
shr rax, 0x10
shl edx, 8
movzx ecx, al
movzx eax, byte [rcx + r14 + 0x140c80]
or edx, eax
mov rax, r11
shr rax, 8
shl edx, 8
movzx ecx, al
movzx eax, byte [rcx + r14 + 0x140c80]
or edx, eax
movzx eax, dil
movzx eax, byte [rax + r14 + 0x140c80]
shl edx, 8
or edx, eax
mov rax, r11
xor edx, dword [rbp]
shr rax, 0x10
movzx ecx, al
mov dword [r12], edx
mov eax, esi
movzx edx, byte [rcx + r14 + 0x140c80]
shr rax, 0x18
movzx eax, byte [rax + r14 + 0x140c80]
shl eax, 8
or edx, eax
mov eax, edi
shr rax, 8
shl edx, 8
movzx ecx, al
movzx eax, byte [rcx + r14 + 0x140c80]
or edx, eax
movzx eax, r8b
movzx eax, byte [rax + r14 + 0x140c80]
shl edx, 8
or edx, eax
mov eax, edi
xor edx, dword [rbp + 4]
shr rax, 0x10
movzx ecx, al
mov dword [r12 + 4], edx
mov rax, r11
movzx edx, byte [rcx + r14 + 0x140c80]
shr rax, 0x18
movzx eax, byte [rax + r14 + 0x140c80]
shl eax, 8
or edx, eax
mov rax, r8
shr r8, 0x10
shr rax, 8
shl edx, 8
movzx ecx, al
movzx eax, byte [rcx + r14 + 0x140c80]
or edx, eax
movzx eax, sil
movzx eax, byte [rax + r14 + 0x140c80]
shl edx, 8
or edx, eax
movzx eax, r8b
xor edx, dword [rbp + 8]
mov dword [r12 + 8], edx
movzx edx, byte [rax + r14 + 0x140c80]
movzx eax, byte [r9 + r14 + 0x140c80]
shl eax, 8
or edx, eax
movzx eax, r10b
movzx eax, byte [rax + r14 + 0x140c80]
shl edx, 8
or edx, eax
movzx eax, r11b
movzx eax, byte [rax + r14 + 0x140c80]
shl edx, 8
mov r14, qword [rsp]
mov r13, qword [rsp + 8]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x20]
or edx, eax
xor edx, dword [rbp + 0xc]
mov rbp, qword [rsp + 0x28]
mov dword [r12 + 0xc], edx
mov r12, qword [rsp + 0x10]
add rsp, 0x18
ret