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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x18
mov eax, dword [rdx]
mov r11d, dword [rdx + 4]
mov ebx, dword [rdx + 8]
mov r13, rcx
mov ecx, dword [rdx + 0xc]
mov r9d, dword [r13]
lea edx, [r9*4]
mov r15d, r9d
lea r10d, [rdx + 1]
mov r12, rdx
xor eax, dword [r13 + rdx*4 + 0xf4]
mov edx, dword [r13 + r10*4 + 0xf4]
lea r10d, [r12 + 2]
xor ebx, dword [r13 + r10*4 + 0xf4]
lea r10d, [r12 + 3]
xor ecx, dword [r13 + r10*4 + 0xf4]
xor edx, r11d
sub r15d, 1
je 0x6fd0363b
lea rbp, [0x6fd2b2a0]
sub r12d, 4
mov qword [rsp + 0x70], r8
nop dword [rax]
mov r8d, eax
movzx esi, ah
shr r8d, 0x10
mov r14d, dword [rbp + rsi*4]
movzx esi, dh
movzx r8d, r8b
mov edi, dword [rbp + rsi*4]
mov esi, dword [rbp + r8*4]
mov r8d, edx
shr r8d, 0x10
movzx r8d, r8b
rol r14d, 8
mov r9d, dword [rbp + r8*4]
mov r8d, eax
rol edi, 8
shr r8d, 0x18
rol esi, 0x10
mov r11d, dword [rbp + r8*4]
movzx r8d, al
mov eax, r12d
mov dword [rsp + 0xc], esi
mov r8d, dword [rbp + r8*4]
movzx esi, bh
xor r8d, dword [r13 + rax*4 + 0xf4]
mov eax, edx
movzx edx, dl
rol r9d, 0x10
shr eax, 0x18
mov r10d, dword [rbp + rsi*4]
movzx esi, ch
mov eax, dword [rbp + rax*4]
ror r11d, 8
rol r10d, 8
ror eax, 8
xor eax, r8d
mov r8d, dword [rbp + rsi*4]
lea esi, [r12 + 3]
rol r8d, 8
xor r8d, eax
mov eax, ebx
shr eax, 0x10
movzx eax, al
mov eax, dword [rbp + rax*4]
rol eax, 0x10
xor eax, r8d
lea r8d, [r12 + 1]
mov r8d, dword [r13 + r8*4 + 0xf4]
xor r8d, dword [rbp + rdx*4]
mov edx, ebx
shr edx, 0x18
mov edx, dword [rbp + rdx*4]
ror edx, 8
xor edx, r8d
lea r8d, [r12 + 2]
xor r14d, edx
mov edx, ecx
shr edx, 0x10
movzx edx, dl
mov edx, dword [rbp + rdx*4]
rol edx, 0x10
xor edx, r14d
movzx r14d, bl
mov ebx, dword [r13 + r8*4 + 0xf4]
mov r8d, ecx
shr r8d, 0x18
xor ebx, dword [rbp + r14*4]
mov r8d, dword [rbp + r8*4]
ror r8d, 8
xor ebx, r8d
movzx r8d, cl
mov ecx, dword [r13 + rsi*4 + 0xf4]
xor ebx, edi
xor ebx, dword [rsp + 0xc]
xor ecx, dword [rbp + r8*4]
sub r12d, 4
xor ecx, r11d
xor ecx, r10d
xor ecx, r9d
sub r15d, 1
jne 0x6fd03500
mov r8, qword [rsp + 0x70]
mov r10d, edx
movzx esi, ch
movzx ebp, ah
lea r9, [0x6fd2baa0]
shr r10d, 0x18
movzx edi, byte [r9 + r10]
movzx r10d, al
movzx r10d, byte [r9 + r10]
shl edi, 0x18
or edi, r10d
movzx r10d, byte [r9 + rsi]
shl r10d, 8
or edi, r10d
mov r10d, ebx
shr r10d, 0x18
movzx esi, byte [r9 + r10]
movzx r10d, dl
movzx r10d, byte [r9 + r10]
shl esi, 0x18
or esi, r10d
movzx r10d, byte [r9 + rbp]
movzx ebp, dh
shl r10d, 8
or esi, r10d
mov r10d, ecx
shr r10d, 0x18
movzx r11d, byte [r9 + r10]
movzx r10d, bl
movzx r10d, byte [r9 + r10]
shl r11d, 0x18
or r11d, r10d
movzx r10d, byte [r9 + rbp]
movzx ebp, cl
shr ecx, 0x10
movzx ebp, byte [r9 + rbp]
movzx ecx, cl
movzx ecx, byte [r9 + rcx]
shl r10d, 8
or r11d, r10d
mov r10d, eax
shr eax, 0x10
shr r10d, 0x18
movzx eax, al
shl ecx, 0x10
movzx r10d, byte [r9 + r10]
or ecx, esi
movzx eax, byte [r9 + rax]
xor ecx, dword [r13 + 0xf8]
shl r10d, 0x18
or r10d, ebp
movzx ebp, bh
shr ebx, 0x10
movzx ebx, bl
movzx ebp, byte [r9 + rbp]
shl eax, 0x10
movzx ebx, byte [r9 + rbx]
or r11d, eax
xor r11d, dword [r13 + 0xfc]
shl ebp, 8
shl ebx, 0x10
or r10d, ebp
or ebx, edi
xor ebx, dword [r13 + 0xf4]
shr edx, 0x10
movzx edx, dl
movzx eax, byte [r9 + rdx]
movzx edx, bh
shl eax, 0x10
or r10d, eax
mov eax, dword [r13 + 0x100]
mov byte [r8 + 1], dl
mov edx, ebx
shr edx, 0x10
mov byte [r8], bl
shr ebx, 0x18
mov byte [r8 + 2], dl
mov edx, ecx
shr edx, 0x10
mov byte [r8 + 3], bl
movzx ebx, ch
mov byte [r8 + 6], dl
mov edx, r11d
xor eax, r10d
mov byte [r8 + 4], cl
shr edx, 0x10
shr ecx, 0x18
mov byte [r8 + 5], bl
mov ebx, r11d
mov byte [r8 + 7], cl
movzx ecx, bh
mov byte [r8 + 8], r11b
shr r11d, 0x18
mov byte [r8 + 0xa], dl
mov edx, eax
mov byte [r8 + 9], cl
shr edx, 0x10
movzx ecx, ah
mov byte [r8 + 0xb], r11b
mov byte [r8 + 0xc], al
shr eax, 0x18
mov byte [r8 + 0xd], cl
mov byte [r8 + 0xe], dl
mov byte [r8 + 0xf], al
add rsp, 0x18
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret