Function at 0x6beea0
Capabilities:
Encrypt data using camellia

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
movzx r13d, byte [rdx]
movzx edi, byte [rdx + 8]
movzx r10d, byte [rdx + 0xd]
movzx ebx, byte [rdx + 3]
shl r13d, 0x18
shl edi, 0x18
shl r10d, 0x10
shl ecx, 4
lea rsi, [r8 + 0x10]
movsxd rcx, ecx
lea rax, [r8 + rcx*4]
movzx ecx, byte [rdx + 1]
movzx r8d, byte [rdx + 4]
lea r14, [rax - 0x30]
shl ecx, 0x10
shl r8d, 0x18
xor r13d, ecx
movzx ecx, byte [rdx + 5]
xor r13d, ebx
movzx ebx, byte [rdx + 2]
shl ecx, 0x10
xor r8d, ecx
movzx ecx, byte [rdx + 7]
shl ebx, 8
xor r13d, ebx
xor r13d, dword [rax]
xor r8d, ecx
movzx ecx, byte [rdx + 6]
shl ecx, 8
xor r8d, ecx
movzx ecx, byte [rdx + 9]
xor r8d, dword [rax + 4]
shl ecx, 0x10
xor edi, ecx
movzx ecx, byte [rdx + 0xb]
xor edi, ecx
movzx ecx, byte [rdx + 0xa]
shl ecx, 8
xor edi, ecx
movzx ecx, byte [rdx + 0xc]
xor edi, dword [rax + 8]
shl ecx, 0x18
xor ecx, r10d
movzx r10d, byte [rdx + 0xf]
xor ecx, r10d
movzx r10d, byte [rdx + 0xe]
shl r10d, 8
xor ecx, r10d
xor ecx, dword [rax + 0xc]
lea rax, [0x00928220]
jmp 0x6bef82
or r11d, ecx
and r12d, ebx
sub r14, 0x40
rol r12d, 1
xor edi, r11d
xor r8d, r12d
and r10d, edi
or r13d, r8d
rol r10d, 1
xor r13d, ebx
xor ecx, r10d
mov ebp, dword [r14 + 0x28]
mov r12d, dword [r14 + 0x2c]
xor ebp, r13d
xor r12d, r8d
mov r10d, ebp
mov edx, ebp
movzx r11d, bpl
shr ebp, 0x10
shr r10d, 0x18
movzx edx, dh
movzx ebp, bpl
mov ebx, dword [rax + r10*4]
mov r10d, r12d
xor ebx, dword [rax + r11*4 + 0x400]
movzx r11d, r12b
xor ebx, dword [rax + rdx*4 + 0xc00]
mov edx, r12d
shr r12d, 0x10
xor ebx, dword [rax + rbp*4 + 0x800]
shr r10d, 0x18
movzx edx, dh
movzx r12d, r12b
mov ebp, dword [rax + r10*4 + 0x800]
xor ebp, dword [rax + r11*4]
xor ebp, dword [rax + rdx*4 + 0x400]
xor ebp, dword [rax + r12*4 + 0xc00]
xor ebp, ebx
ror ebx, 8
mov r11d, ebx
xor edi, ebp
mov ebx, dword [r14 + 0x24]
xor r11d, ebp
xor r11d, ecx
mov ecx, dword [r14 + 0x20]
xor ebx, r11d
mov r10d, r11d
xor ecx, edi
mov r11d, ecx
movzx ebp, cl
shr r11d, 0x18
mov r11d, dword [rax + r11*4]
xor r11d, dword [rax + rbp*4 + 0x400]
movzx ebp, ch
shr ecx, 0x10
movzx ecx, cl
xor r11d, dword [rax + rbp*4 + 0xc00]
xor r11d, dword [rax + rcx*4 + 0x800]
mov ecx, ebx
mov r12d, r11d
shr ecx, 0x18
ror r12d, 8
mov ebp, dword [rax + rcx*4 + 0x800]
movzx ecx, bh
xor r8d, r12d
movzx r12d, bl
shr ebx, 0x10
movzx ebx, bl
xor ebp, dword [rax + r12*4]
xor ebp, dword [rax + rcx*4 + 0x400]
xor ebp, dword [rax + rbx*4 + 0xc00]
mov ecx, dword [r14 + 0x1c]
xor r11d, ebp
mov ebp, dword [r14 + 0x18]
xor r13d, r11d
xor r8d, r11d
xor ebp, r13d
xor ecx, r8d
mov r11d, ebp
mov edx, ebp
movzx r12d, bpl
shr ebp, 0x10
shr r11d, 0x18
movzx edx, dh
movzx ebp, bpl
mov ebx, dword [rax + r11*4]
mov r11d, ecx
xor ebx, dword [rax + r12*4 + 0x400]
movzx r12d, cl
xor ebx, dword [rax + rdx*4 + 0xc00]
movzx edx, ch
shr ecx, 0x10
xor ebx, dword [rax + rbp*4 + 0x800]
shr r11d, 0x18
movzx ecx, cl
mov ebp, dword [rax + r11*4 + 0x800]
xor ebp, dword [rax + r12*4]
xor ebp, dword [rax + rdx*4 + 0x400]
xor ebp, dword [rax + rcx*4 + 0xc00]
xor ebp, ebx
ror ebx, 8
mov ecx, ebx
xor edi, ebp
mov ebx, dword [r14 + 0x14]
xor ecx, ebp
xor ecx, r10d
mov r10d, dword [r14 + 0x10]
xor ebx, ecx
mov r11d, ecx
xor r10d, edi
mov ecx, r10d
movzx ebp, r10b
mov edx, r10d
shr r10d, 0x10
shr ecx, 0x18
movzx r10d, r10b
mov ecx, dword [rax + rcx*4]
xor ecx, dword [rax + rbp*4 + 0x400]
movzx ebp, dh
xor ecx, dword [rax + rbp*4 + 0xc00]
xor ecx, dword [rax + r10*4 + 0x800]
mov r10d, ebx
movzx ebp, bl
shr r10d, 0x18
mov r12d, ecx
mov r10d, dword [rax + r10*4 + 0x800]
xor r10d, dword [rax + rbp*4]
movzx ebp, bh
shr ebx, 0x10
ror r12d, 8
movzx ebx, bl
xor r10d, dword [rax + rbp*4 + 0x400]
xor r8d, r12d
xor r10d, dword [rax + rbx*4 + 0xc00]
mov ebx, r13d
xor ecx, r10d
xor r8d, ecx
xor ebx, ecx
mov ecx, dword [r14 + 0xc]
mov r12d, r8d
mov r8d, dword [r14 + 8]
xor ecx, r12d
xor r8d, ebx
movzx r13d, cl
mov r10d, r8d
movzx ebp, r8b
mov edx, r8d
shr r8d, 0x10
shr r10d, 0x18
movzx r8d, r8b
mov r10d, dword [rax + r10*4]
xor r10d, dword [rax + rbp*4 + 0x400]
movzx ebp, dh
movzx edx, ch
xor r10d, dword [rax + rbp*4 + 0xc00]
xor r10d, dword [rax + r8*4 + 0x800]
mov r8d, ecx
shr ecx, 0x10
shr r8d, 0x18
movzx ecx, cl
mov ebp, dword [rax + r8*4 + 0x800]
xor ebp, dword [rax + r13*4]
xor ebp, dword [rax + rdx*4 + 0x400]
xor ebp, dword [rax + rcx*4 + 0xc00]
mov ecx, r10d
xor ebp, r10d
ror ecx, 8
mov r13d, dword [r14 - 4]
xor ecx, ebp
xor edi, ebp
mov ebp, dword [r14 + 4]
xor ecx, r11d
mov r11d, dword [r14]
xor ebp, ecx
xor r11d, edi
movzx r10d, r11b
mov r8d, r11d
mov edx, r11d
shr r11d, 0x10
shr r8d, 0x18
movzx edx, dh
movzx r11d, r11b
mov r8d, dword [rax + r8*4]
xor r8d, dword [rax + r10*4 + 0x400]
xor r8d, dword [rax + rdx*4 + 0xc00]
xor r8d, dword [rax + r11*4 + 0x800]
mov edx, ebp
movzx r11d, bpl
mov r10d, r8d
ror r8d, 8
movzx edx, dh
xor r12d, r8d
mov r8d, ebp
shr r8d, 0x18
mov r8d, dword [rax + r8*4 + 0x800]
xor r8d, dword [rax + r11*4]
xor r8d, dword [rax + rdx*4 + 0x400]
shr ebp, 0x10
mov r11d, dword [r14 - 0xc]
movzx ebp, bpl
xor r8d, dword [rax + rbp*4 + 0xc00]
xor r8d, r10d
mov r10d, dword [r14 - 0x10]
xor ebx, r8d
xor r8d, r12d
mov r12d, dword [r14 - 8]
cmp rsi, r14
jne 0x6bef60
xor edi, r10d
xor ecx, r11d
xor ebx, r12d
xor r8d, r13d
bswap edi
bswap ecx
bswap ebx
bswap r8d
mov dword [r9], edi
mov dword [r9 + 4], ecx
mov dword [r9 + 8], ebx
mov dword [r9 + 0xc], r8d
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret