Function at 0x1800e61b0
Capabilities:
Encrypt data using camellia

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbx
push rsi
push rdi
push r14
sub rsp, 0x48
mov rbx, rdx
mov rdi, rcx
lea rdx, [0x180348600]
mov ecx, 0x100
mov r14, r9
mov rsi, r8
call fcn.180158b00
lea rdx, [0x180348700]
mov ecx, 0x100
call fcn.180158b00
lea rdx, [0x180348800]
mov ecx, 0x100
call fcn.180158b00
lea rdx, [0x180348900]
mov ecx, 0x100
call fcn.180158b00
test rsi, rsi
je 0x1800e6575
mov qword [rsp + 0x78], rbp
lea r10, [rbx + 8]
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r13
mov r13, qword [rsp + 0x90]
dec r13
mov qword [rsp + 0x30], r15
sub rdi, rbx
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x70], rdi
nop dword [rax]
mov rdx, qword [rdi + r10 - 8]
mov rcx, qword [r14]
mov r11d, edx
mov rsi, qword [rdi + r10]
mov r9, rdx
mov rax, qword [r14 + 8]
mov rbp, rsi
sub rax, rcx
shl r11d, 0x10
sar rax, 3
lea r15, [rcx + rax*8]
shr r9, 0x20
mov ecx, edx
mov r8, r9
mov eax, ecx
shr rbp, 0x20
and eax, 0xff0000
mov ebx, esi
and edx, 0xff00
and rcx, 0xffffffffff000000
or r11d, edx
mov rdi, rbp
mov rdx, qword [r15 - 0x18]
shl r11d, 8
shl r11, 8
or r11, rax
mov eax, r9d
shl eax, 0x10
and r9d, 0xff00
or eax, r9d
shl r11, 0x10
or r11, rcx
shl eax, 8
shl r11, 8
or r11, rax
mov rax, r8
and eax, 0xff0000
shr r8, 0x10
or rax, r8
shr rax, 8
or r11, rax
xor r11, qword [r15 - 0x10]
mov rcx, r11
call fcn.1800e5bd0
mov rdx, qword [r15 - 0x20]
mov r12, rax
mov eax, ebx
mov ecx, esi
shl ecx, 0x10
and eax, 0xff0000
and esi, 0xff00
and rbx, 0xffffffffff000000
or ecx, esi
shl ecx, 8
shl rcx, 8
or rcx, rax
mov eax, ebp
shl eax, 0x10
and ebp, 0xff00
or eax, ebp
shl rcx, 0x10
shl eax, 8
or rcx, rbx
shl rcx, 8
or rcx, rax
mov rax, rdi
and eax, 0xff0000
shr rdi, 0x10
or rax, rdi
shr rax, 8
or rcx, rax
xor r12, rcx
xor r12, qword [r15 - 8]
sub r15, 0x28
mov rcx, r12
call fcn.1800e5bd0
xor r11, rax
mov ebx, 1
cmp rbx, r13
je 0x1800e6431
nop word [rax + rax]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rbx
shr rdx, 1
lea rcx, [rdx + rdx*2]
cmp rbx, rcx
jne 0x1800e6404
mov rdx, qword [r15]
mov r8, r11
shr r8, 0x20
mov rax, rdx
shr rax, 0x20
and eax, r8d
ror eax, 0x1f
xor eax, r11d
mov ecx, eax
mov r11d, eax
mov eax, edx
or r11, rax
mov rax, r12
xor r11, r8
shr rax, 0x20
shl r11, 0x20
or r11, rcx
mov rcx, qword [r15 - 8]
mov r8, rcx
sub r15, 0x10
or r8, r12
shr rcx, 0x20
xor r8, rax
mov eax, r12d
and ecx, r8d
mov edx, ecx
add ecx, ecx
shr rdx, 0x1f
or rdx, rcx
mov r12, rdx
xor r12, rax
mov eax, r8d
shl rax, 0x20
or r12, rax
mov rdx, qword [r15]
mov rcx, r11
call fcn.1800e5bd0
mov rdx, qword [r15 - 8]
xor r12, rax
mov rcx, r12
sub r15, 0x10
call fcn.1800e5bd0
xor r11, rax
inc rbx
cmp rbx, r13
jne 0x1800e6380
mov rdx, qword [r15]
mov rcx, r11
call fcn.1800e5bd0
mov rdx, qword [r15 - 8]
xor r12, rax
mov rcx, r12
call fcn.1800e5bd0
xor r12, qword [r15 - 0x18]
mov rbx, rax
xor rbx, qword [r15 - 0x10]
mov r9d, r12d
mov rdi, qword [rsp + 0x70]
xor rbx, r11
mov r14, qword [rsp + 0x88]
mov r8, r12
shr r8, 0x20
mov r10, r8
shl r9d, 0x10
mov edx, r12d
and r12d, 0xff00
or r9d, r12d
mov ecx, ebx
shl r9d, 8
mov eax, edx
and eax, 0xff0000
shl r9, 8
or r9, rax
and rdx, 0xffffffffff000000
mov eax, r8d
shl r9, 0x10
shl eax, 0x10
and r8d, 0xff00
or eax, r8d
or r9, rdx
shl eax, 8
mov r8d, ebx
shl r8d, 0x10
mov rdx, rbx
shl r9, 8
and ebx, 0xff00
or r9, rax
shr rdx, 0x20
or r8d, ebx
mov rax, r10
and eax, 0xff0000
shl r8d, 8
shl r8, 8
shr r10, 0x10
or rax, r10
mov r10, qword [rsp + 0x20]
shr rax, 8
or r9, rax
mov eax, ecx
and eax, 0xff0000
and rcx, 0xffffffffff000000
or r8, rax
mov qword [r10 - 8], r9
shl r8, 0x10
mov eax, edx
shl eax, 0x10
or r8, rcx
mov r9, rdx
shl r8, 8
and edx, 0xff00
or eax, edx
shl eax, 8
or r8, rax
mov rax, r9
and eax, 0xff0000
shr r9, 0x10
or rax, r9
shr rax, 8
or r8, rax
mov qword [r10], r8
add r10, 0x10
sub qword [rsp + 0x80], 1
mov qword [rsp + 0x20], r10
jne 0x1800e6250
mov r15, qword [rsp + 0x30]
mov r13, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x78]
add rsp, 0x48
pop r14
pop rdi
pop rsi
pop rbx
ret