Function at 0x1800e5d00
Capabilities:
Encrypt data using camellia

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbx
push rsi
push rdi
push r15
sub rsp, 0x48
mov rbx, rdx
mov rdi, rcx
lea rdx, [0x180348600]
mov ecx, 0x100
mov r15, 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 0x1800e60b5
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], r14
sub rdi, rbx
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x70], rdi
nop dword [rax]
mov rcx, qword [rdi + r10 - 8]
mov rbp, qword [rdi + r10]
mov r11d, ecx
mov r15, qword [r15]
mov r9, rcx
shl r11d, 0x10
mov r14, rbp
mov edx, ecx
and ecx, 0xff00
or r11d, ecx
shr r9, 0x20
shl r11d, 8
mov eax, edx
and eax, 0xff0000
shl r11, 8
or r11, rax
shr r14, 0x20
mov eax, r9d
shl r11, 0x10
shl eax, 0x10
mov r8, r9
and rdx, 0xffffffffff000000
mov ebx, ebp
or r11, rdx
and r9d, 0xff00
mov rdx, qword [r15 + 0x10]
or eax, r9d
shl eax, 8
mov rdi, r14
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]
mov rcx, r11
call fcn.1800e5bd0
mov rdx, qword [r15 + 0x18]
mov r12, rax
mov eax, ebx
mov ecx, ebp
shl ecx, 0x10
and eax, 0xff0000
and ebp, 0xff00
and rbx, 0xffffffffff000000
or ecx, ebp
shl ecx, 8
shl rcx, 8
or rcx, rax
mov eax, r14d
shl eax, 0x10
and r14d, 0xff00
or eax, r14d
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]
add r15, 0x20
mov rcx, r12
call fcn.1800e5bd0
xor r11, rax
mov ebx, 1
cmp rbx, r13
je 0x1800e5f71
nop word [rax + rax]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rbx
shr rdx, 1
lea rcx, [rdx + rdx*2]
cmp rbx, rcx
jne 0x1800e5f44
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
add 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
add r15, 0x10
call fcn.1800e5bd0
xor r11, rax
inc rbx
cmp rbx, r13
jne 0x1800e5ec0
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 + 0x10]
mov rbx, rax
xor rbx, qword [r15 + 0x18]
mov r9d, r12d
mov rdi, qword [rsp + 0x70]
xor rbx, r11
mov r15, 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 0x1800e5da0
mov r14, qword [rsp + 0x30]
mov r13, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x78]
add rsp, 0x48
pop r15
pop rdi
pop rsi
pop rbx
ret