Function at 0x1401b58a0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
push rbp
sub rsp, 0x2f0
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x40], r9
mov qword [rbp - 0x18], r8
mov qword [rbp - 0x38], rdx
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], r9
mov qword [rbp + 0x30], rdx
mov rax, qword [rbp + 0x30]
mov qword [rbp - 0x20], rax
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x40], rax
lea rcx, [rbp + 0x48]
mov edx, 0xaa
mov r8d, 0x10
call fcn.140375530
lea rax, [rbp + 0x48]
mov qword [rbp + 0x58], 0x4d430001
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], 0x10
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x80], 0
lea rax, [rbp + 0x58]
xor ecx, ecx
mov edx, ecx
rol rdi, 3
rol rdi, 0xd
rol rdi, 0x3d
rol rdi, 0x33
xchg rbx, rbx
mov rax, qword [rbp - 0x18]
lea rcx, [rbp + 0x48]
mov qword [rbp - 0x10], rcx
mov ecx, 8
mul rcx
mov qword [rbp - 8], rax
seto al
jo 0x1401b5965
jmp 0x1401b5982
lea rcx, str.integer_overflow
mov edx, 0x10
xor eax, eax
mov r8d, eax
lea r9, [0x14037c688]
call fcn.140001170
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov qword [rbp + 0x88], rcx
mov qword [rbp + 0x90], rdx
mov byte [rbp + 0x9f], 1
mov qword [rbp + 0xa0], rdx
mov rdx, qword [rbp + 0xa0]
mov qword [rcx], rdx
lea rcx, [rbp + 0x48]
add rcx, 8
mov qword [rbp - 0x50], rcx
mov ecx, 8
mul rcx
mov qword [rbp - 0x48], rax
seto al
jo 0x1401b59d3
jmp 0x1401b59f0
lea rcx, str.integer_overflow
mov edx, 0x10
xor eax, eax
mov r8d, eax
lea r9, [0x14037c688]
call fcn.140001170
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x48]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0xb0], rcx
mov byte [rbp + 0xbf], 1
mov qword [rbp + 0xc0], rcx
mov rcx, qword [rbp + 0xc0]
mov qword [rax], rcx
lea rax, [rbp + 0x48]
mov qword [rbp + 0xc8], rax
lea rcx, [rbp + 0x48]
call fcn.1401b5880
mov rax, qword [rbp - 0x20]
vmovdqa xmmword [rbp + 0xd0], xmm0
vmovdqa xmmword [rbp + 0xe0], xmm0
mov rcx, qword [rbp + 0xe0]
mov qword [rbp + 0xf0], rcx
mov rcx, qword [rbp + 0xe8]
mov qword [rbp + 0xf8], rcx
mov rcx, rax
add rcx, 0x30
vmovdqa xmm0, xmmword [rbp + 0xf0]
vpxor xmm0, xmm0, xmmword [rax + 0x30]
vmovdqa xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], 0
jmp 0x1401b5bec
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x38]
mov rdx, rax
add rdx, 0x10
vmovdqa xmm0, xmmword [rcx]
vpxor xmm0, xmm0, xmmword [rax + 0x10]
vmovdqa xmmword [rbp + 0x1c0], xmm0
mov rcx, qword [rbp + 0x1c0]
mov qword [rbp + 0x1d0], rcx
mov rcx, qword [rbp + 0x1c8]
mov qword [rbp + 0x1d8], rcx
mov rcx, rax
add rcx, 0x20
vmovdqa xmm0, xmmword [rbp + 0x1d0]
vpxor xmm0, xmm0, xmmword [rax + 0x20]
vmovdqa xmmword [rbp + 0x1e0], xmm0
mov rcx, qword [rbp + 0x1e0]
mov qword [rbp + 0x1f0], rcx
mov rcx, qword [rbp + 0x1e8]
mov qword [rbp + 0x1f8], rcx
mov rcx, rax
add rcx, 0x30
vmovdqa xmm0, xmmword [rbp + 0x1f0]
vpxor xmm0, xmm0, xmmword [rax + 0x30]
vmovdqa xmmword [rbp + 0x200], xmm0
mov rcx, qword [rbp + 0x200]
mov qword [rbp + 0x210], rcx
mov rcx, qword [rbp + 0x208]
mov qword [rbp + 0x218], rcx
mov rcx, rax
add rcx, 0x40
vmovdqa xmm0, xmmword [rbp + 0x210]
vpxor xmm0, xmm0, xmmword [rax + 0x40]
vmovdqa xmmword [rbp + 0x220], xmm0
mov rcx, qword [rbp + 0x220]
mov qword [rbp + 0x230], rcx
mov rcx, qword [rbp + 0x228]
mov qword [rbp + 0x238], rcx
mov rcx, rax
add rcx, 0x50
vmovdqa xmm0, xmmword [rbp + 0x230]
vpxor xmm0, xmm0, xmmword [rax + 0x50]
vmovdqa xmmword [rbp + 0x240], xmm0
mov rax, qword [rbp + 0x240]
mov qword [rbp + 0x250], rax
mov rax, qword [rbp + 0x248]
mov qword [rbp + 0x258], rax
vmovdqa xmm0, xmmword [rbp + 0x250]
vmovdqa xmmword [rbp], xmm0
lea rcx, [rbp + 0x260]
mov rdx, rbp
call fcn.140218e00
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
mov rdx, qword [rbp + 0x260]
mov qword [rcx], rdx
mov rdx, qword [rbp + 0x268]
mov qword [rcx + 8], rdx
add rsp, 0x2f0
pop rbp
ret
cmp qword [rbp + 0x110], 7
jb 0x1401b5bfd
jmp 0x1401b5e25
jmp 0x1401b5bec
mov rax, qword [rbp - 0x38]
mov qword [rbp + 0x118], rax
mov rax, qword [rbp + 0x118]
mov qword [rbp + 0x120], rax
mov qword [rbp + 0x128], rax
mov rcx, qword [rbp + 0x128]
mov qword [rbp - 0x60], rcx
mov qword [rbp + 0x130], rcx
mov qword [rbp + 0x138], rcx
mov rax, qword [rbp + 0x130]
mov rdx, rax
add rdx, 0x50
vmovdqa xmm0, xmmword [rax + 0x50]
vmovdqa xmm1, xmmword [rcx]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rbp + 0x140], xmm0
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x150], rax
mov rax, qword [rbp + 0x148]
mov qword [rbp + 0x158], rax
mov rax, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x130]
mov r8, rdx
add r8, 0x40
mov r8, rcx
add r8, 0x50
vmovdqa xmm0, xmmword [rdx + 0x40]
vmovdqa xmm1, xmmword [rcx + 0x50]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rbp + 0x160], xmm0
mov rdx, qword [rbp + 0x160]
mov qword [rax + 0x50], rdx
mov rdx, qword [rbp + 0x168]
mov qword [rax + 0x58], rdx
mov rax, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x130]
mov r8, rdx
add r8, 0x30
mov r8, rcx
add r8, 0x40
vmovdqa xmm0, xmmword [rdx + 0x30]
vmovdqa xmm1, xmmword [rcx + 0x40]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rbp + 0x170], xmm0
mov rdx, qword [rbp + 0x170]
mov qword [rax + 0x40], rdx
mov rdx, qword [rbp + 0x178]
mov qword [rax + 0x48], rdx
mov rax, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x130]
mov r8, rdx
add r8, 0x20
mov r8, rcx
add r8, 0x30
vmovdqa xmm0, xmmword [rdx + 0x20]
vmovdqa xmm1, xmmword [rcx + 0x30]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rbp + 0x180], xmm0
mov rdx, qword [rbp + 0x180]
mov qword [rax + 0x30], rdx
mov rdx, qword [rbp + 0x188]
mov qword [rax + 0x38], rdx
mov rax, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x130]
mov r8, rdx
add r8, 0x10
mov r8, rcx
add r8, 0x20
vmovdqa xmm0, xmmword [rdx + 0x10]
vmovdqa xmm1, xmmword [rcx + 0x20]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rbp + 0x190], xmm0
mov rdx, qword [rbp + 0x190]
mov qword [rax + 0x20], rdx
mov rdx, qword [rbp + 0x198]
mov qword [rax + 0x28], rdx
mov rax, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x130]
mov r8, rcx
add r8, 0x10
vmovdqa xmm0, xmmword [rdx]
vmovdqa xmm1, xmmword [rcx + 0x10]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rbp + 0x1a0], xmm0
mov rcx, qword [rbp + 0x1a0]
mov qword [rax + 0x10], rcx
mov rcx, qword [rbp + 0x1a8]
mov qword [rax + 0x18], rcx
mov rax, qword [rbp + 0x130]
vmovdqa xmm0, xmmword [rbp + 0x150]
vpxor xmm0, xmm0, xmmword [rbp + 0x100]
vmovdqa xmmword [rbp + 0x1b0], xmm0
mov rcx, qword [rbp + 0x1b0]
mov qword [rax], rcx
mov rcx, qword [rbp + 0x1b8]
mov qword [rax + 8], rcx
mov rax, qword [rbp + 0x110]
add rax, 1
mov qword [rbp - 0x58], rax
setb al
jb 0x1401b5e2a
jmp 0x1401b5e47
jmp 0x1401b5a8e
lea rcx, str.integer_overflow
mov edx, 0x10
xor eax, eax
mov r8d, eax
lea r9, [0x14037c688]
call fcn.140001170
mov rax, qword [rbp - 0x58]
mov qword [rbp + 0x110], rax
jmp 0x1401b5bfb