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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], r9
mov qword [r11 + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [r11 + 8], rcx
push rbx
push r12
push r15
sub rsp, 0xf0
imul eax, edx, 0x358
mov r12, r9
mov r15d, edx
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x34], eax
cmp edx, eax
ja 0x18001da9e
mov rbx, qword [rsp + 0x110]
mov qword [r11 - 0x20], rbp
mov qword [r11 - 0x28], rsi
mov rsi, qword [rsp + 0x110]
mov qword [r11 - 0x30], rdi
mov qword [r11 - 0x38], r13
mov r13, qword [rsp + 0x110]
mov qword [r11 - 0x40], r14
mov r14, qword [rsp + 0x130]
movaps xmmword [r11 - 0x58], xmm6
movdqa xmm6, xmmword [rsp + 0x40]
movaps xmmword [r11 - 0x68], xmm7
xorps xmm7, xmm7
movaps xmmword [r11 - 0x78], xmm8
movsd xmm8, qword [0x1800a02b0]
movaps xmmword [r11 - 0x88], xmm9
movsd xmm9, qword [0x18009f550]
movaps xmmword [rsp + 0x70], xmm10
movsd xmm10, qword [0x18009f4b0]
movaps xmmword [rsp + 0x60], xmm11
movsd xmm11, qword [0x18009f568]
mov qword [rsp + 0x40], r13
nop dword [rax]
nop dword [rax + rax]
cmp r15d, 0x3aa4
ja 0x18001d9dd
je 0x18001d9bc
mov eax, r15d
sub eax, 0x6d
je 0x18001d9b6
sub eax, 0x1e
je 0x18001d98d
sub eax, 0x48
je 0x18001d873
cmp eax, 0x2d29
jne 0x18001da1d
mov rbp, qword [rsp + 0x130]
mov r14, r12
test rbx, rbx
je 0x18001da1a
mov edi, 0xaa
mov eax, edi
sub eax, 0xa9
je 0x18001d825
cmp eax, 1
jne 0x18001d84a
movzx esi, byte [rbp]
add rsi, 2
mov r13, qword [rbx + rsi*8]
lea rsi, [rbx + rsi*8]
jmp 0x18001d84a
inc rbp
add dword [rbx + 8], 0xffffffff
jne 0x18001d844
mov rcx, rbx
call fcn.18006f74c
test r14, r14
je 0x18001d842
mov qword [r14], 0
xor esi, esi
mov rbx, r13
mov r14, rsi
dec edi
cmp edi, 0xa8
ja 0x18001d805
mov qword [rsp + 0x40], r13
test rbx, rbx
jne 0x18001d800
mov r14, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x110]
jmp 0x18001da1d
mov dword [rsp + 0x28], 0xde
lea rcx, [rsp + 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], 0
mov r8, r12
xor edx, edx
call fcn.18004cf20
movsd xmm0, qword [r12]
lea rbp, [r12 + 0x1ff8]
mov r15, qword [rsp + 0x120]
lea rdi, [r14 + 8]
sub r12, r14
mulsd xmm0, xmm0
sub r15, r14
movabs r13, 0x3f40624dd2f1a9fc
movsd qword [r14], xmm0
mov r14d, 0x1ff
nop
movsd xmm2, qword [r12 + rdi]
movsd xmm3, qword [rbp]
movaps xmm0, xmm2
movaps xmm1, xmm3
mulsd xmm0, xmm2
mulsd xmm1, xmm3
addsd xmm1, xmm0
mulsd xmm1, xmm9
comisd xmm10, xmm1
movsd qword [rdi], xmm1
jbe 0x18001d905
mov qword [rdi], r13
movaps xmm0, xmm7
jmp 0x18001d919
xorps xmm2, xmm8
movaps xmm1, xmm3
movaps xmm0, xmm2
call fcn.180074d98
addsd xmm0, xmm11
movsd qword [r15 + rdi], xmm0
sub rbp, 8
add rdi, 8
sub r14, 1
jne 0x18001d8d0
mov r12, qword [rsp + 0x128]
mov r14, qword [rsp + 0x130]
mov r13, qword [rsp + 0x40]
movsd xmm0, qword [r12 + 0x1000]
mulsd xmm0, xmm0
movsd qword [r14 + 0x1000], xmm0
movaps xmm0, xmm7
movsd xmm1, qword [r12 + 0x1000]
call fcn.180074d98
mov rax, qword [rsp + 0x120]
mov r15d, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x110]
movsd qword [rax + 0x1000], xmm0
jmp 0x18001da1d
movdqu xmm6, xmmword [r12]
pxor xmm6, xmmword [r14]
aesenc xmm6, xmmword [r14 + 0x10]
aesenc xmm6, xmmword [r14 + 0x20]
aesenc xmm6, xmmword [r14 + 0x30]
aesenc xmm6, xmmword [r14 + 0x40]
jmp 0x18001da1d
mov rbx, qword [r12]
jmp 0x18001da1d
aesenc xmm6, xmmword [r14 + 0x50]
aesenc xmm6, xmmword [r14 + 0x60]
aesenc xmm6, xmmword [r14 + 0x70]
aesenc xmm6, xmmword [r14 + 0x80]
jmp 0x18001da1d
cmp r15d, 0x74bd
je 0x18001da0e
cmp r15d, 0xaed6
je 0x18001d9fa
cmp r15d, 0xe8ef
je 0x18001da38
jmp 0x18001da1d
movdqa xmm0, xmm6
aesenclast xmm0, xmmword [r14 + 0xa0]
movdqu xmmword [rcx], xmm0
jmp 0x18001da1d
aesenc xmm6, xmmword [r14 + 0x90]
jmp 0x18001da1d
mov r14, rbp
imul eax, dword [rsp + 0x118], 0x6b
add r15d, eax
mov dword [rsp + 0x30], r15d
cmp r15d, dword [rsp + 0x34]
jbe 0x18001d7b0
movaps xmm10, xmmword [rsp + 0x70]
mov rax, rcx
movaps xmm9, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm6, xmmword [rsp + 0xb0]
mov r14, qword [rsp + 0xc8]
mov r13, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0xe0]
mov rbp, qword [rsp + 0xe8]
movaps xmm11, xmmword [rsp + 0x60]
add rsp, 0xf0
pop r15
pop r12
pop rbx
ret
mov rax, rcx
add rsp, 0xf0
pop r15
pop r12
pop rbx
ret