Function at 0x6fd0e0
Capabilities:
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
mov r8, qword [rcx + 0x58]
cmp edx, 0x10
jg 0x6fd1bd
mov edx, 0xa
mov rax, qword [0x0078feb0]
mov ecx, dword [r8 + 0xc]
mov r9, qword [0x0078f1c8]
mov r10d, ecx
shr r10d, 8
and r10d, 0xff
mov r10d, r10d
movzx r9, byte [r9 + r10]
mov r10, qword [0x0078f1c8]
mov r11d, ecx
shr r11d, 0x10
and r11d, 0xff
mov r11d, r11d
movzx r10, byte [r10 + r11]
shl r10d, 8
xor r9d, r10d
mov r10, qword [0x0078f1c8]
mov r11d, ecx
shr r11d, 0x18
mov r11d, r11d
movzx r10, byte [r10 + r11]
shl r10d, 0x10
xor r9d, r10d
mov r10, qword [0x0078f1c8]
and ecx, 0xff
mov ecx, ecx
movzx rcx, byte [r10 + rcx]
shl ecx, 0x18
xor r9d, ecx
xor r9d, dword [r8]
xor r9d, dword [rax]
mov dword [r8 + 0x10], r9d
mov ecx, dword [r8 + 4]
xor ecx, dword [r8 + 0x10]
mov dword [r8 + 0x14], ecx
mov r9d, dword [r8 + 8]
xor r9d, ecx
mov ecx, r9d
mov dword [r8 + 0x18], ecx
mov r9d, dword [r8 + 0xc]
xor r9d, ecx
mov dword [r8 + 0x1c], r9d
add r8, 0x10
add rax, 4
sub edx, 1
test edx, edx
jne 0x6fd0f9
nop
jmp 0x6fd42f
cmp edx, 0x18
jg 0x6fd2b5
xor eax, eax
mov rdx, qword [0x0078feb0]
mov ecx, dword [r8 + 0x14]
mov r9, qword [0x0078f1c8]
mov r10d, ecx
shr r10d, 8
and r10d, 0xff
mov r10d, r10d
movzx r9, byte [r9 + r10]
mov r10, qword [0x0078f1c8]
mov r11d, ecx
shr r11d, 0x10
and r11d, 0xff
mov r11d, r11d
movzx r10, byte [r10 + r11]
shl r10d, 8
xor r9d, r10d
mov r10, qword [0x0078f1c8]
mov r11d, ecx
shr r11d, 0x18
mov r11d, r11d
movzx r10, byte [r10 + r11]
shl r10d, 0x10
xor r9d, r10d
mov r10, qword [0x0078f1c8]
and ecx, 0xff
mov ecx, ecx
movzx rcx, byte [r10 + rcx]
shl ecx, 0x18
xor r9d, ecx
xor r9d, dword [r8]
xor r9d, dword [rdx]
mov dword [r8 + 0x18], r9d
mov ecx, dword [r8 + 4]
xor ecx, dword [r8 + 0x18]
mov dword [r8 + 0x1c], ecx
mov r9d, dword [r8 + 8]
xor r9d, ecx
mov ecx, r9d
mov dword [r8 + 0x20], ecx
mov r9d, dword [r8 + 0xc]
xor r9d, ecx
mov ecx, r9d
mov dword [r8 + 0x24], ecx
cmp eax, 7
je 0x6fd2af
mov r9d, dword [r8 + 0x10]
xor r9d, ecx
mov ecx, r9d
mov dword [r8 + 0x28], ecx
mov r9d, dword [r8 + 0x14]
xor r9d, ecx
mov dword [r8 + 0x2c], r9d
add r8, 0x18
add eax, 1
add rdx, 4
cmp eax, 8
jne 0x6fd1cf
nop
jmp 0x6fd42f
xor eax, eax
mov rdx, qword [0x0078feb0]
mov ecx, dword [r8 + 0x1c]
mov r9, qword [0x0078f1c8]
mov r10d, ecx
shr r10d, 8
and r10d, 0xff
mov r10d, r10d
movzx r9, byte [r9 + r10]
mov r10, qword [0x0078f1c8]
mov r11d, ecx
shr r11d, 0x10
and r11d, 0xff
mov r11d, r11d
movzx r10, byte [r10 + r11]
shl r10d, 8
xor r9d, r10d
mov r10, qword [0x0078f1c8]
mov r11d, ecx
shr r11d, 0x18
mov r11d, r11d
movzx r10, byte [r10 + r11]
shl r10d, 0x10
xor r9d, r10d
mov r10, qword [0x0078f1c8]
and ecx, 0xff
mov ecx, ecx
movzx rcx, byte [r10 + rcx]
shl ecx, 0x18
xor r9d, ecx
xor r9d, dword [r8]
xor r9d, dword [rdx]
mov dword [r8 + 0x20], r9d
mov ecx, dword [r8 + 4]
xor ecx, dword [r8 + 0x20]
mov dword [r8 + 0x24], ecx
mov r9d, dword [r8 + 8]
xor r9d, ecx
mov ecx, r9d
mov dword [r8 + 0x28], ecx
mov r9d, dword [r8 + 0xc]
xor r9d, ecx
mov ecx, r9d
mov dword [r8 + 0x2c], ecx
cmp eax, 6
je 0x6fd42e
mov r9, qword [0x0078f1c8]
mov r10d, ecx
and r10d, 0xff
mov r10d, r10d
movzx r9, byte [r9 + r10]
mov r10, qword [0x0078f1c8]
mov r11d, ecx
shr r11d, 8
and r11d, 0xff
mov r11d, r11d
movzx r10, byte [r10 + r11]
shl r10d, 8
xor r9d, r10d
mov r10, qword [0x0078f1c8]
mov r11d, ecx
shr r11d, 0x10
and r11d, 0xff
mov r11d, r11d
movzx r10, byte [r10 + r11]
shl r10d, 0x10
xor r9d, r10d
mov r10, qword [0x0078f1c8]
shr ecx, 0x18
mov ecx, ecx
movzx rcx, byte [r10 + rcx]
shl ecx, 0x18
xor r9d, ecx
xor r9d, dword [r8 + 0x10]
mov dword [r8 + 0x30], r9d
mov ecx, dword [r8 + 0x14]
xor ecx, dword [r8 + 0x30]
mov dword [r8 + 0x34], ecx
mov r9d, dword [r8 + 0x18]
xor r9d, ecx
mov ecx, r9d
mov dword [r8 + 0x38], ecx
mov r9d, dword [r8 + 0x1c]
xor r9d, ecx
mov dword [r8 + 0x3c], r9d
add r8, 0x20
add eax, 1
add rdx, 4
cmp eax, 7
jne 0x6fd2be
nop
ret