Function at 0x700490
Capabilities:
Encode data using add xor sub operations
Encode data using xor
Encrypt data using des

Disassembly:
push r13
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rbx, rcx
mov rsi, rdx
mov rdi, r8
mov ecx, dword [rbx]
call fcn.006e8bc0
mov r13d, eax
mov ecx, dword [rbx + 4]
call fcn.006e8bc0
mov ecx, r13d
shr ecx, 4
xor ecx, eax
and ecx, 0xf0f0f0f
xor eax, ecx
shl ecx, 4
xor r13d, ecx
mov ecx, r13d
shr ecx, 0x10
xor ecx, eax
and ecx, 0xffff
xor eax, ecx
shl ecx, 0x10
xor r13d, ecx
mov ecx, eax
shr ecx, 2
xor ecx, r13d
and ecx, 0x33333333
xor r13d, ecx
add ecx, ecx
add ecx, ecx
xor eax, ecx
mov ecx, eax
shr ecx, 8
xor ecx, r13d
and ecx, 0xff00ff
xor r13d, ecx
shl ecx, 8
xor eax, ecx
mov ecx, eax
add ecx, ecx
shr eax, 0x1f
or ecx, eax
mov eax, ecx
mov ecx, r13d
xor ecx, eax
and ecx, 0xaaaaaaaa
xor eax, ecx
xor r13d, ecx
mov ecx, r13d
add ecx, ecx
shr r13d, 0x1f
or ecx, r13d
mov r13d, ecx
mov r8d, 8
mov ecx, eax
shl ecx, 0x1c
mov edx, eax
shr edx, 4
or ecx, edx
xor ecx, dword [rdi]
mov edx, eax
xor edx, dword [rdi + 4]
mov r9, qword [0x0078f4f0]
mov r10d, ecx
and r10d, 0x3f
mov r10d, r10d
mov r11, qword [0x0078f4f0]
mov ebx, ecx
shr ebx, 8
and ebx, 0x3f
mov ebx, ebx
mov r9d, dword [r9 + r10*4]
or r9d, dword [r11 + rbx*4 + 0x100]
mov r10, qword [0x0078f4f0]
mov r11d, ecx
shr r11d, 0x10
and r11d, 0x3f
mov r11d, r11d
or r9d, dword [r10 + r11*4 + 0x200]
mov r10, qword [0x0078f4f0]
shr ecx, 0x18
and ecx, 0x3f
mov ecx, ecx
or r9d, dword [r10 + rcx*4 + 0x300]
mov rcx, qword [0x0078f4f0]
mov r10d, edx
and r10d, 0x3f
mov r10d, r10d
or r9d, dword [rcx + r10*4 + 0x400]
mov rcx, qword [0x0078f4f0]
mov r10d, edx
shr r10d, 8
and r10d, 0x3f
mov r10d, r10d
or r9d, dword [rcx + r10*4 + 0x500]
mov rcx, qword [0x0078f4f0]
mov r10d, edx
shr r10d, 0x10
and r10d, 0x3f
mov r10d, r10d
or r9d, dword [rcx + r10*4 + 0x600]
mov rcx, qword [0x0078f4f0]
shr edx, 0x18
and edx, 0x3f
mov edx, edx
or r9d, dword [rcx + rdx*4 + 0x700]
xor r13d, r9d
mov ecx, r13d
shl ecx, 0x1c
mov edx, r13d
shr edx, 4
or ecx, edx
xor ecx, dword [rdi + 8]
mov edx, r13d
xor edx, dword [rdi + 0xc]
mov r9, qword [0x0078f4f0]
mov r10d, ecx
and r10d, 0x3f
mov r10d, r10d
mov r11, qword [0x0078f4f0]
mov ebx, ecx
shr ebx, 8
and ebx, 0x3f
mov ebx, ebx
mov r9d, dword [r9 + r10*4]
or r9d, dword [r11 + rbx*4 + 0x100]
mov r10, qword [0x0078f4f0]
mov r11d, ecx
shr r11d, 0x10
and r11d, 0x3f
mov r11d, r11d
or r9d, dword [r10 + r11*4 + 0x200]
mov r10, qword [0x0078f4f0]
shr ecx, 0x18
and ecx, 0x3f
mov ecx, ecx
or r9d, dword [r10 + rcx*4 + 0x300]
mov rcx, qword [0x0078f4f0]
mov r10d, edx
and r10d, 0x3f
mov r10d, r10d
or r9d, dword [rcx + r10*4 + 0x400]
mov rcx, qword [0x0078f4f0]
mov r10d, edx
shr r10d, 8
and r10d, 0x3f
mov r10d, r10d
or r9d, dword [rcx + r10*4 + 0x500]
mov rcx, qword [0x0078f4f0]
mov r10d, edx
shr r10d, 0x10
and r10d, 0x3f
mov r10d, r10d
or r9d, dword [rcx + r10*4 + 0x600]
mov rcx, qword [0x0078f4f0]
shr edx, 0x18
and edx, 0x3f
mov edx, edx
or r9d, dword [rcx + rdx*4 + 0x700]
xor eax, r9d
add rdi, 0x10
sub r8d, 1
test r8d, r8d
jne 0x70053d
nop
mov ecx, eax
shl ecx, 0x1f
shr eax, 1
or ecx, eax
mov eax, ecx
mov ecx, r13d
xor ecx, eax
and ecx, 0xaaaaaaaa
xor eax, ecx
xor r13d, ecx
mov ecx, r13d
shl ecx, 0x1f
shr r13d, 1
or ecx, r13d
mov r13d, ecx
mov ecx, r13d
shr ecx, 8
xor ecx, eax
and ecx, 0xff00ff
xor eax, ecx
shl ecx, 8
xor r13d, ecx
mov ecx, r13d
shr ecx, 2
xor ecx, eax
and ecx, 0x33333333
xor eax, ecx
add ecx, ecx
add ecx, ecx
xor r13d, ecx
mov ecx, eax
shr ecx, 0x10
xor ecx, r13d
and ecx, 0xffff
xor r13d, ecx
shl ecx, 0x10
xor eax, ecx
mov ecx, eax
shr ecx, 4
xor ecx, r13d
and ecx, 0xf0f0f0f
xor r13d, ecx
shl ecx, 4
xor eax, ecx
mov ecx, eax
call fcn.006e8bc0
mov dword [rsi], eax
mov ecx, r13d
call fcn.006e8bc0
mov dword [rsi + 4], eax
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop r13
ret