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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
mov rax, qword [0x180299d70]
mov rdi, r8
mov rsi, rdx
mov rbx, rcx
test rax, rax
jne 0x1800398f0
call fcn.180048ce0
mov rax, qword [0x180299d70]
bt rax, 0x10
jae 0x180039914
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp 0x180048550
test rax, rax
jne 0x180039925
call fcn.180048ce0
mov rax, qword [0x180299d70]
test al, 2
je 0x180039946
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp 0x1800464c0
lea rax, [rbx + 0x50]
mov rdx, rdi
lea rcx, [rbx + 0x38]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r9, [rbx + 0x20]
mov rcx, rsi
lea r8, [rbx + 8]
call fcn.180038c30
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
push rdi
sub rsp, 0xe0
movaps xmmword [rax - 0x18], xmm6
mov rsi, rdx
movdqa xmm6, xmmword [0x1801e8ef0]
mov rbx, rcx
movaps xmmword [rax - 0x28], xmm7
mov edx, 0x3c
movaps xmmword [rax - 0x38], xmm8
add rcx, 8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rsp + 0x60], xmm13
movaps xmmword [rsp + 0x50], xmm14
movaps xmmword [rsp + 0x40], xmm15
call fcn.180039a60
mov edx, 0x3c
lea rcx, [rbx + 0x20]
call fcn.180039a60
movdqu xmm2, xmmword [rsi]
mov rdi, qword [rbx + 8]
mov dl, 1
movdqu xmm4, xmmword [rsi + 0x10]
lea rcx, [rsp + 0x20]
mov rbx, qword [rbx + 0x20]
movdqa xmm11, xmmword [0x180299cb0]
movdqa xmm0, xmm2
pshufb xmm0, xmmword [0x180299d50]
movdqa xmm3, xmmword [0x180299c90]
movdqa xmm1, xmm11
movdqa xmm7, xmmword [0x180299ca0]
pandn xmm1, xmm2
movdqa xmm10, xmmword [0x180299cf0]
movdqa xmm8, xmm7
movdqa xmm12, xmmword [0x1801e8ec0]
movdqu xmmword [rbx + 0xe0], xmm0
psrld xmm1, 4
movdqa xmm0, xmm3
pshufb xmm8, xmm1
movdqa xmm1, xmm11
pand xmm1, xmm2
movdqa xmm2, xmm12
pshufb xmm0, xmm1
pxor xmm8, xmm0
movdqa xmm0, xmm11
pandn xmm0, xmm4
psrld xmm0, 4
pshufb xmm7, xmm0
movdqa xmm0, xmm11
pand xmm0, xmm4
pshufb xmm3, xmm0
movdqu xmmword [rdi], xmm8
pxor xmm7, xmm3
pxor xmm2, xmm7
movdqa xmmword [rsp + 0x20], xmm7
pshufb xmm2, xmm10
movdqa xmm0, xmm2
pshufb xmm0, xmm10
movdqa xmm1, xmm0
pshufb xmm1, xmm10
pxor xmm1, xmm0
pxor xmm1, xmm2
pshufb xmm1, xmmword [0x180299d60]
movdqu xmmword [rdi + 0x10], xmm1
call fcn.1800451b0
movdqa xmm14, xmmword [0x180299cd0]
lea r10, [rdi + 0x20]
movdqa xmm9, xmmword [0x180299c80]
lea r11, [rbx + 0xb0]
movdqa xmm13, xmmword [0x180299cc0]
lea rsi, [0x180299d30]
movdqa xmm15, xmmword [0x180299ce0]
mov r9d, 2
movdqu xmmword [rbx + 0xd0], xmm0
xorps xmm0, xmm0
jmp 0x180046676
movdqa xmm6, xmmword [rsp + 0x20]
movdqa xmm1, xmm0
pshufd xmm2, xmm7, 0xff
palignr xmm1, xmm6, 0xf
movdqa xmm0, xmm6
palignr xmm0, xmm6, 0xf
pxor xmm1, xmm8
movdqa xmmword [rsp + 0x20], xmm0
movdqa xmm6, xmm1
palignr xmm2, xmm2, 1
movdqa xmm5, xmm11
pandn xmm5, xmm2
pslldq xmm6, 4
pxor xmm6, xmm1
psrld xmm5, 4
pand xmm2, xmm11
movzx r8d, r9b
movdqa xmm4, xmm5
movdqa xmm3, xmm14
pxor xmm4, xmm2
movdqa xmm0, xmm9
pshufb xmm0, xmm4
mov eax, r8d
movdqa xmm1, xmm9
movdqa xmm8, xmm13
pshufb xmm3, xmm2
pxor xmm0, xmm3
pshufb xmm1, xmm0
movdqa xmm0, xmm6
pslldq xmm0, 8
pxor xmm1, xmm5
pxor xmm0, xmm12
pxor xmm0, xmm6
pshufb xmm8, xmm1
movdqa xmm1, xmm9
pxor xmm8, xmm0
movdqa xmm0, xmm9
pshufb xmm0, xmm5
pxor xmm0, xmm3
pshufb xmm1, xmm0
movdqa xmm0, xmm15
pxor xmm1, xmm4
pshufb xmm0, xmm1
movdqa xmm1, xmm12
pxor xmm8, xmm0
pxor xmm1, xmm8
pshufb xmm1, xmm10
movdqa xmm0, xmm1
pshufb xmm0, xmm10
movdqa xmm2, xmm0
pshufb xmm2, xmm10
pxor xmm2, xmm0
pxor xmm2, xmm1
and eax, 3
jge 0x18004677a
dec eax
or eax, 0xfffffffc
inc eax
cdqe
lea edx, [r8 - 2]
shl rax, 4
lea rcx, [rsp + 0x30]
and dl, 3
movdqa xmmword [rsp + 0x30], xmm8
pshufb xmm2, xmmword [rax + rsi]
movdqu xmmword [r10], xmm2
call fcn.1800451b0
movdqu xmmword [r11 + 0x10], xmm0
lea eax, [r8 - 1]
movdqa xmm5, xmm7
pshufd xmm1, xmm8, 0xff
pslldq xmm5, 4
movdqa xmm4, xmm11
pandn xmm4, xmm1
pand xmm1, xmm11
psrld xmm4, 4
pxor xmm5, xmm7
movdqa xmm3, xmm4
movdqa xmm2, xmm14
pxor xmm3, xmm1
movdqa xmm0, xmm9
movdqa xmm7, xmm13
pshufb xmm2, xmm1
movdqa xmm1, xmm9
pshufb xmm0, xmm3
pxor xmm0, xmm2
pshufb xmm1, xmm0
movdqa xmm0, xmm5
pslldq xmm0, 8
pxor xmm1, xmm4
pxor xmm0, xmm12
pxor xmm0, xmm5
pshufb xmm7, xmm1
movdqa xmm1, xmm9
pxor xmm7, xmm0
movdqa xmm0, xmm9
pshufb xmm0, xmm4
pxor xmm0, xmm2
pshufb xmm1, xmm0
movdqa xmm0, xmm15
pxor xmm1, xmm3
pshufb xmm0, xmm1
movdqa xmm1, xmm12
pxor xmm7, xmm0
pxor xmm1, xmm7
pshufb xmm1, xmm10
movdqa xmm0, xmm1
pshufb xmm0, xmm10
movdqa xmm2, xmm0
pshufb xmm2, xmm10
pxor xmm2, xmm0
pxor xmm2, xmm1
and eax, 3
jge 0x180046882
dec eax
or eax, 0xfffffffc
inc eax
movsxd rcx, eax
lea edx, [r8 + 1]
add rcx, rcx
movdqa xmmword [rsp + 0x30], xmm7
and dl, 3
pshufb xmm2, xmmword [rsi + rcx*8]
lea rcx, [rsp + 0x30]
movdqu xmmword [r10 + 0x10], xmm2
call fcn.1800451b0
movdqu xmmword [r11], xmm0
sub r11, 0x20
add r9, 2
add r10, 0x20
xorps xmm0, xmm0
cmp r9, 0xe
jne 0x180046670
xorps xmm1, xmm1
pshufd xmm0, xmm7, 0xff
palignr xmm1, xmmword [rsp + 0x20], 0xf
lea r11, [rsp + 0xe0]
mov rsi, qword [r11 + 0x18]
pxor xmm1, xmm8
movaps xmm6, xmmword [r11 - 0x10]
movdqa xmm4, xmm1
movaps xmm7, xmmword [r11 - 0x20]
movdqa xmm3, xmm11
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm10, xmmword [r11 - 0x50]
palignr xmm0, xmm0, 1
pandn xmm3, xmm0
pslldq xmm4, 4
pand xmm0, xmm11
psrld xmm3, 4
pshufb xmm14, xmm0
pxor xmm4, xmm1
movdqa xmm2, xmm3
pxor xmm2, xmm0
movdqa xmm1, xmm9
movdqa xmm0, xmm9
pshufb xmm0, xmm2
pxor xmm0, xmm14
pshufb xmm1, xmm0
movdqa xmm0, xmm4
pslldq xmm0, 8
pxor xmm1, xmm3
pxor xmm0, xmm12
pxor xmm0, xmm4
pshufb xmm13, xmm1
movdqa xmm1, xmmword [0x1801e9010]
pxor xmm13, xmm0
movdqa xmm0, xmm9
pshufb xmm0, xmm3
pxor xmm0, xmm14
movaps xmm14, xmmword [rsp + 0x50]
pshufb xmm9, xmm0
movdqa xmm0, xmm11
pxor xmm9, xmm2
movdqa xmm2, xmmword [0x1801e8fe0]
pshufb xmm15, xmm9
movaps xmm9, xmmword [r11 - 0x40]
pxor xmm13, xmm15
movaps xmm15, xmmword [rsp + 0x40]
movdqa xmm3, xmm13
pshufb xmm3, xmmword [0x180299d50]
pxor xmm3, xmm12
pxor xmm12, xmm13
movaps xmm13, xmmword [r11 - 0x80]
pandn xmm0, xmm3
psrld xmm0, 4
pand xmm3, xmm11
pshufb xmm2, xmm0
pshufb xmm1, xmm3
movdqa xmm0, xmm11
pxor xmm2, xmm1
pandn xmm0, xmm12
movdqa xmm1, xmmword [0x1801e8e40]
pand xmm12, xmm11
movaps xmm11, xmmword [r11 - 0x60]
movdqu xmmword [rdi + 0xe0], xmm2
movdqa xmm2, xmmword [0x1801e8e60]
pshufb xmm1, xmm12
movaps xmm12, xmmword [r11 - 0x70]
psrld xmm0, 4
pshufb xmm2, xmm0
pxor xmm2, xmm1
movdqu xmmword [rbx], xmm2
mov rbx, qword [r11 + 0x10]
mov rsp, r11
pop rdi
ret
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
push rdi
sub rsp, 0xd0
movaps xmmword [rax - 0x18], xmm6
mov rdi, rdx
movaps xmmword [rax - 0x28], xmm7
mov rbx, rcx
movaps xmmword [rax - 0x38], xmm8
mov edx, 0x3c
movaps xmmword [rax - 0x48], xmm9
add rcx, 8
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rsp + 0x50], xmm13
movaps xmmword [rsp + 0x40], xmm14
movaps xmmword [rsp + 0x30], xmm15
call fcn.180039a60
mov edx, 0x3c
lea rcx, [rbx + 0x20]
call fcn.180039a60
movdqu xmm1, xmmword [rdi]
movdqu xmm15, xmmword [rdi + 0x10]
movdqa xmm0, xmm1
movdqa xmmword [rsp + 0x20], xmm1
pslldq xmm0, 4
pxor xmm0, xmm1
movdqa xmm1, xmm0
pslldq xmm1, 4
pxor xmm1, xmm0
movdqa xmm14, xmm1
pslldq xmm14, 4
pxor xmm14, xmm1
aeskeygenassist xmm0, xmm15, 1
pshufd xmm1, xmm0, 0xff
movdqa xmm0, xmm15
pxor xmm14, xmm1
pslldq xmm0, 4
pxor xmm0, xmm15
movdqa xmm1, xmm0
pslldq xmm1, 4
pxor xmm1, xmm0
movdqa xmm13, xmm1
pslldq xmm13, 4
pxor xmm13, xmm1
aeskeygenassist xmm0, xmm14, 0
pshufd xmm1, xmm0, 0xaa
movdqa xmm0, xmm14
pxor xmm13, xmm1
pslldq xmm0, 4
pxor xmm0, xmm14
movdqa xmm1, xmm0
pslldq xmm1, 4
pxor xmm1, xmm0
movdqa xmm12, xmm1
pslldq xmm12, 4
pxor xmm12, xmm1
aeskeygenassist xmm0, xmm13, 2
pshufd xmm1, xmm0, 0xff
movdqa xmm0, xmm13
pxor xmm12, xmm1
pslldq xmm0, 4
pxor xmm0, xmm13
movdqa xmm1, xmm0
pslldq xmm1, 4
pxor xmm1, xmm0
movdqa xmm11, xmm1
pslldq xmm11, 4
pxor xmm11, xmm1
aeskeygenassist xmm0, xmm12, 0
pshufd xmm1, xmm0, 0xaa
movdqa xmm0, xmm12
pxor xmm11, xmm1
pslldq xmm0, 4
pxor xmm0, xmm12
movdqa xmm1, xmm0
pslldq xmm1, 4
pxor xmm1, xmm0
movdqa xmm10, xmm1
pslldq xmm10, 4
pxor xmm10, xmm1
aeskeygenassist xmm0, xmm11, 4
pshufd xmm1, xmm0, 0xff
pxor xmm10, xmm1
movdqa xmm0, xmm11
pslldq xmm0, 4
pxor xmm0, xmm11
movdqa xmm1, xmm0
pslldq xmm1, 4
pxor xmm1, xmm0
movdqa xmm9, xmm1
pslldq xmm9, 4
pxor xmm9, xmm1
aeskeygenassist xmm0, xmm10, 0
pshufd xmm1, xmm0, 0xaa
movdqa xmm0, xmm10
pxor xmm9, xmm1
pslldq xmm0, 4
pxor xmm0, xmm10
movdqa xmm1, xmm0
pslldq xmm1, 4
pxor xmm1, xmm0
movdqa xmm8, xmm1
pslldq xmm8, 4
pxor xmm8, xmm1
aeskeygenassist xmm0, xmm9, 8
pshufd xmm1, xmm0, 0xff
movdqa xmm0, xmm9
pxor xmm8, xmm1
pslldq xmm0, 4
pxor xmm0, xmm9
movdqa xmm1, xmm0
pslldq xmm1, 4
pxor xmm1, xmm0
movdqa xmm7, xmm1
pslldq xmm7, 4
pxor xmm7, xmm1
aeskeygenassist xmm0, xmm8, 0
pshufd xmm1, xmm0, 0xaa
movdqa xmm0, xmm8
pxor xmm7, xmm1
pslldq xmm0, 4
pxor xmm0, xmm8
movdqa xmm1, xmm0
pslldq xmm1, 4
pxor xmm1, xmm0
movdqa xmm6, xmm1
pslldq xmm6, 4
pxor xmm6, xmm1
aeskeygenassist xmm0, xmm7, 0x10
pshufd xmm1, xmm0, 0xff
movdqa xmm0, xmm7
pxor xmm6, xmm1
pslldq xmm0, 4
pxor xmm0, xmm7
movdqa xmm1, xmm0
pslldq xmm1, 4
pxor xmm1, xmm0
movdqa xmm5, xmm1
pslldq xmm5, 4
pxor xmm5, xmm1
aeskeygenassist xmm0, xmm6, 0
pshufd xmm1, xmm0, 0xaa
movdqa xmm0, xmm6
pxor xmm5, xmm1
pslldq xmm0, 4
pxor xmm0, xmm6
movdqa xmm1, xmm0
pslldq xmm1, 4
pxor xmm1, xmm0
movdqa xmm4, xmm1
pslldq xmm4, 4
pxor xmm4, xmm1
aeskeygenassist xmm0, xmm5, 0x20
pshufd xmm1, xmm0, 0xff
movdqa xmm0, xmm5
pxor xmm4, xmm1
pslldq xmm0, 4
pxor xmm0, xmm5
movdqa xmm1, xmm0
pslldq xmm1, 4
pxor xmm1, xmm0
movdqa xmm3, xmm1
pslldq xmm3, 4
pxor xmm3, xmm1
mov rax, qword [rbx + 8]
lea r11, [rsp + 0xd0]
mov rsi, qword [r11 + 0x18]
aeskeygenassist xmm0, xmm4, 0
pshufd xmm1, xmm0, 0xaa
movdqa xmm0, xmm4
pxor xmm3, xmm1
pslldq xmm0, 4
pxor xmm0, xmm4
movdqa xmm1, xmm0
pslldq xmm1, 4
pxor xmm1, xmm0
movdqa xmm2, xmm1
pslldq xmm2, 4
pxor xmm2, xmm1
aeskeygenassist xmm0, xmm3, 0x40
pshufd xmm1, xmm0, 0xff
movdqa xmm0, xmmword [rsp + 0x20]
pxor xmm2, xmm1
movdqu xmmword [rax], xmm0
movdqu xmmword [rax + 0x10], xmm15
movdqu xmmword [rax + 0x20], xmm14
movdqu xmmword [rax + 0x30], xmm13
movdqu xmmword [rax + 0x40], xmm12
movdqu xmmword [rax + 0x50], xmm11
movdqu xmmword [rax + 0x60], xmm10
movdqu xmmword [rax + 0x70], xmm9
movdqu xmmword [rax + 0x80], xmm8
movdqu xmmword [rax + 0x90], xmm7
movdqu xmmword [rax + 0xa0], xmm6
movdqu xmmword [rax + 0xb0], xmm5
movdqu xmmword [rax + 0xc0], xmm4
movdqu xmmword [rax + 0xd0], xmm3
movdqu xmmword [rax + 0xe0], xmm2
mov rax, qword [rbx + 0x20]
mov rbx, qword [r11 + 0x10]
aesimc xmm0, xmm3
aesimc xmm1, xmm4
movdqu xmmword [rax], xmm2
movdqu xmmword [rax + 0x10], xmm0
movdqu xmmword [rax + 0x20], xmm1
aesimc xmm1, xmm6
movaps xmm6, xmmword [r11 - 0x10]
aesimc xmm0, xmm5
movdqu xmmword [rax + 0x30], xmm0
movdqu xmmword [rax + 0x40], xmm1
aesimc xmm0, xmm7
movaps xmm7, xmmword [r11 - 0x20]
movdqu xmmword [rax + 0x50], xmm0
aesimc xmm1, xmm8
movaps xmm8, xmmword [r11 - 0x30]
movdqu xmmword [rax + 0x60], xmm1
aesimc xmm0, xmm9
movaps xmm9, xmmword [r11 - 0x40]
movdqu xmmword [rax + 0x70], xmm0
aesimc xmm1, xmm10
movaps xmm10, xmmword [r11 - 0x50]
movdqu xmmword [rax + 0x80], xmm1
aesimc xmm0, xmm11
movaps xmm11, xmmword [r11 - 0x60]
movdqu xmmword [rax + 0x90], xmm0
aesimc xmm1, xmm12
movaps xmm12, xmmword [r11 - 0x70]
movdqu xmmword [rax + 0xa0], xmm1
aesimc xmm0, xmm13
movaps xmm13, xmmword [r11 - 0x80]
movdqu xmmword [rax + 0xb0], xmm0
aesimc xmm0, xmm15
movaps xmm15, xmmword [rsp + 0x30]
aesimc xmm1, xmm14
movaps xmm14, xmmword [rsp + 0x40]
movdqu xmmword [rax + 0xc0], xmm1
movdqu xmmword [rax + 0xd0], xmm0
movdqa xmm0, xmmword [rsp + 0x20]
movdqu xmmword [rax + 0xe0], xmm0
mov rsp, r11
pop rdi
ret