Function at 0x140139178
Capabilities:
Encrypt data using aes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
mov rbp, rsp
sub rsp, 0x60
and qword [rcx], 0
mov r10, rcx
mov qword [rcx + 8], rdx
mov qword [rcx + 0x10], r8
lea rcx, [rbp - 0x40]
call fcn.140138644
test rax, rax
je 0x14013949d
mov r11, qword [rbp - 0x30]
lea rcx, [rbp - 0x20]
mov rdx, qword [rbp - 0x38]
mov r8, r11
call fcn.140138644
test rax, rax
je 0x14013949d
mov r8, r11
lea rcx, [r10 + 0x60]
mov rdx, rax
call fcn.140138644
test rax, rax
je 0x14013949d
lea rcx, [r10 + 0x80]
mov r8, r11
mov rdx, rax
call fcn.140138644
test rax, rax
je 0x14013949d
mov r11, qword [rbp - 0x10]
lea rax, [0x14017751f]
mov rdx, qword [rbp - 0x18]
lea rcx, [rbp - 0x40]
and qword [r10 + 0x20], 0
mov r8, r11
mov qword [r10 + 0x28], rax
lea rax, str.RRRR_t_t_t_tjjjj
mov qword [r10 + 0x30], rax
call fcn.140138644
mov rbx, rax
test rax, rax
je 0x14013949d
cmp byte [rbp - 0x27], 0
jne 0x140139276
mov r8, qword [rbp - 0x30]
lea rcx, [r10 + 0x20]
mov rdx, qword [rbp - 0x38]
call fcn.140138644
test rax, rax
je 0x14013949d
mov r8, r11
lea rcx, [rbp - 0x40]
mov rdx, rbx
call fcn.140138644
mov rbx, rax
test rax, rax
je 0x14013949d
movups xmm0, xmmword [rbp - 0x40]
mov r8, r11
mov rdx, rbx
movups xmm1, xmmword [rbp - 0x30]
lea rcx, [r10 + 0x60]
movups xmmword [r10 + 0x40], xmm0
movups xmmword [r10 + 0x50], xmm1
call fcn.140138644
lea rcx, [r10 + 0xa0]
mov r8, r11
mov rdx, rax
call fcn.140138644
test rax, rax
je 0x14013949d
mov r8, r11
lea rcx, [rbp - 0x40]
mov rdx, rax
call fcn.140138644
mov rbx, rax
test rax, rax
je 0x14013949d
mov r8, qword [rbp - 0x30]
lea rcx, [r10 + 0xc0]
mov rdx, qword [rbp - 0x38]
call fcn.140138644
test rax, rax
je 0x14013949d
mov r8, qword [rbp - 0x30]
lea rcx, [r10 + 0xe0]
mov rdx, rax
call fcn.140138644
test rax, rax
je 0x14013949d
lea rcx, [r10 + 0x100]
mov r8, r11
mov rdx, rbx
call fcn.140138644
test rax, rax
je 0x14013949d
lea rcx, [r10 + 0x120]
mov r8, r11
mov rdx, rax
call fcn.140138644
mov rbx, rax
test rax, rax
je 0x14013949d
mov r8, qword [r10 + 0x130]
lea rcx, [r10 + 0x140]
mov rdx, qword [r10 + 0x128]
call fcn.140138644
test rax, rax
je 0x14013949d
mov r8, qword [r10 + 0x130]
lea rcx, [r10 + 0x160]
mov rdx, rax
call fcn.140138644
test rax, rax
je 0x14013949d
and qword [r10 + 0x1a0], 0
lea rax, [0x14017cca0]
and qword [r10 + 0x180], 0
lea rdi, [r10 + 0x1c0]
and qword [rdi], 0
mov byte [r10 + 0x1b9], 0
mov byte [r10 + 0x199], 0
mov byte [rbp - 0x27], 0
mov byte [r10 + 0x1d9], 0
mov qword [r10 + 0x190], rax
mov qword [r10 + 0x188], rax
mov qword [r10 + 0x1b0], rax
mov qword [r10 + 0x1a8], rax
mov qword [r10 + 0x1d0], rax
mov qword [r10 + 0x1c8], rax
cmp rbx, r11
jae 0x140139499
mov r8, r11
lea rcx, [rbp - 0x40]
mov rdx, rbx
call fcn.140138644
test rax, rax
je 0x14013949d
mov cl, byte [rbp - 0x27]
cmp cl, 1
jne 0x140139446
movups xmm0, xmmword [rbp - 0x40]
movups xmm1, xmmword [rbp - 0x30]
movups xmmword [r10 + 0x180], xmm0
movups xmmword [r10 + 0x190], xmm1
cmp rax, r11
jae 0x140139499
mov r8, r11
lea rcx, [rbp - 0x40]
mov rdx, rax
call fcn.140138644
test rax, rax
je 0x14013949d
mov cl, byte [rbp - 0x27]
cmp cl, 2
jne 0x14013947f
movups xmm0, xmmword [rbp - 0x40]
movups xmm1, xmmword [rbp - 0x30]
movups xmmword [r10 + 0x1a0], xmm0
movups xmmword [r10 + 0x1b0], xmm1
cmp rax, r11
jae 0x140139499
mov r8, r11
lea rcx, [rbp - 0x40]
mov rdx, rax
call fcn.140138644
test rax, rax
je 0x14013949d
mov cl, byte [rbp - 0x27]
cmp cl, 3
jne 0x140139499
mov r8, qword [rbp - 0x30]
mov rcx, rdi
mov rdx, qword [rbp - 0x38]
call fcn.140138644
test rax, rax
je 0x14013949d
xor eax, eax
jmp 0x1401394a0
or eax, 0xffffffff
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret