Function at 0x6bea50
Capabilities:
Encrypt data using camellia

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