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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1a0
mov rbx, qword [rsp + 0x1f8]
mov r14d, edx
movaps xmmword [rax - 0x48], xmm6
mov r13, r8
movaps xmmword [rax - 0x58], xmm7
mov rdx, rcx
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
lea r12d, [r14 + 0xb]
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
cmp r14d, r12d
jae 0x1800387c3
movdqa xmm6, xmmword [rsp + 0x20]
movdqa xmm12, xmmword [rsp + 0x30]
mov rsi, qword [rsp + 0x1f8]
mov rbp, qword [rsp + 0x1f8]
mov r15, qword [rsp + 0x1f8]
movdqa xmm8, xmmword [rsp + 0x20]
movdqa xmm9, xmmword [rsp + 0x20]
movdqa xmm13, xmmword [rsp + 0x40]
movdqa xmm15, xmmword [rsp + 0x20]
movdqa xmm7, xmmword [rsp + 0x20]
movdqa xmm10, xmmword [rsp + 0x20]
movdqa xmm14, xmmword [rsp + 0x50]
movdqa xmm11, xmmword [rsp + 0x20]
lea eax, [r14 - 0xaf]
lea r9, [0x180000000]
cmp eax, 0x13
ja case.0x1800386eb.177
mov ecx, dword [r9 + rax*4 + 0x38dec]
add rcx, r9
jmp rcx
movdqa xmm14, xmmword [rsp + 0x90]
mov eax, 0x122
nop dword [rax]
cmp eax, 0x122
je 0x180038761
cmp eax, 0xbd2e
je 0x180038741
cmp eax, 0x1793a
je 0x18003874c
cmp eax, 0x23546
je 0x180038732
cmp eax, 0x2f152
jne 0x180038772
movdqa xmm0, xmm14
pxor xmm0, xmm6
movdqa xmm6, xmm0
jmp 0x180038772
movdqa xmm0, xmm12
pxor xmm0, xmm6
movdqa xmm6, xmm0
jmp 0x180038772
movdqa xmm12, xmm6
pslldq xmm12, 4
movdqa xmm0, xmm12
pslldq xmm12, 4
pxor xmm0, xmm6
movdqa xmm6, xmm0
jmp 0x180038772
aeskeygenassist xmm0, xmm6, 0x40
pshufd xmm14, xmm0, 0xff
movdqu xmmword [rsi + 0x60], xmm6
add eax, 0xbc0c
cmp eax, 0x3ac3c
jbe 0x180038700
movdqa xmmword [rsp + 0x90], xmm14
movdqa xmm14, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x30], xmm12
jmp case.0x1800386eb.177
movdqu xmmword [rsi + 0xa0], xmm6
jmp case.0x1800386eb.177
mov rsi, r13
jmp case.0x1800386eb.177
mov edi, 0xe8
mov eax, edi
sub eax, 0xe8
je 0x180038819
cmp eax, 1
jne 0x180038832
mov rax, rbx
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test rbp, rbp
je 0x180038de4
mov r8, r15
xor edx, edx
mov rcx, rbp
call sub.VCRUNTIME140.dll_memset
mov rbx, rbp
inc edi
cmp edi, 0xea
jb 0x1800387b5
mov rdx, qword [rsp + 0x1e0]
movdqu xmm6, xmmword [rdx]
jmp case.0x1800386eb.177
movdqa xmm12, xmmword [rsp + 0xa0]
mov edx, 5
lea r8d, [rdx + 1]
cmp edx, 5
ja case.default.0x180038876
mov eax, edx
mov ecx, dword [r9 + rax*4 + 0x38e3c]
add rcx, r9
jmp rcx
movdqa xmm8, xmm6
pslldq xmm8, 4
movdqa xmm0, xmm8
pxor xmm0, xmm6
movdqa xmm6, xmm0
dec edx
sub r8, 1
jne 0x180038864
mov edx, 5
movdqa xmmword [rsp + 0xa0], xmm12
movdqa xmm12, xmmword [rsp + 0xb0]
lea r8d, [rdx + 1]
cmp edx, 5
ja case.default.0x1800388c7
mov eax, edx
mov ecx, dword [r9 + rax*4 + 0x38e54]
add rcx, r9
jmp rcx
pslldq xmm8, 4
jmp case.default.0x180038876
aeskeygenassist xmm0, xmm6, 1
pshufd xmm12, xmm0, 0xff
movdqu xmmword [rsi], xmm6
jmp case.default.0x180038876
movdqa xmm0, xmm12
jmp 0x180038888
aeskeygenassist xmm0, xmm6, 2
pshufd xmm12, xmm0, 0xff
jmp case.default.0x1800388c7
movdqa xmm9, xmm6
pslldq xmm9, 4
jmp case.default.0x1800388c7
movdqa xmm0, xmm9
pslldq xmm9, 4
pxor xmm0, xmm6
movdqa xmm6, xmm0
jmp case.default.0x1800388c7
movdqa xmm0, xmm9
pxor xmm0, xmm6
movdqa xmm6, xmm0
pxor xmm6, xmm12
jmp case.default.0x1800388c7
movdqu xmmword [rsi + 0x10], xmm6
dec edx
sub r8, 1
jne 0x1800388b5
movdqa xmmword [rsp + 0xb0], xmm12
movdqa xmm12, xmmword [rsp + 0x30]
jmp 0x180038dcb
movdqa xmm12, xmmword [rsp + 0x60]
mov eax, 0x8e
cmp eax, 0x8e
je 0x1800389d5
cmp eax, 0x39b0
je 0x1800389cd
cmp eax, 0x72d2
je 0x1800389ad
cmp eax, 0xabf4
je 0x18003899e
cmp eax, 0xe516
jne 0x1800389e1
pslldq xmm13, 4
movdqa xmm0, xmm13
pxor xmm0, xmm6
movdqa xmm6, xmm0
pxor xmm6, xmm12
jmp 0x1800389e1
movdqa xmm0, xmm13
pxor xmm0, xmm6
movdqa xmm6, xmm0
jmp 0x1800389e1
movdqa xmm13, xmm6
pslldq xmm13, 4
movdqa xmm0, xmm13
pslldq xmm13, 4
pxor xmm0, xmm6
movdqa xmm6, xmm0
jmp 0x1800389e1
pshufd xmm12, xmm12, 0xff
jmp 0x1800389e1
movdqu xmmword [rsi + 0x20], xmm6
aeskeygenassist xmm12, xmm6, 4
add eax, 0x3922
cmp eax, 0x11daa
jbe 0x180038961
movdqa xmmword [rsp + 0x40], xmm13
mov eax, 0xf4
movdqa xmm13, xmmword [rsp + 0xc0]
movdqa xmmword [rsp + 0x60], xmm12
nop
cmp eax, 0xf4
je 0x180038a81
cmp eax, 0x4b4c
je 0x180038a5b
cmp eax, 0x95a4
je 0x180038a3b
cmp eax, 0xdffc
jne 0x180038a86
movdqa xmm0, xmm13
pxor xmm0, xmm6
movdqa xmm6, xmm0
jmp 0x180038a86
pslldq xmm15, 4
movdqa xmm0, xmm15
pslldq xmm15, 4
pxor xmm0, xmm6
movdqa xmm6, xmm15
pxor xmm6, xmm0
jmp 0x180038a86
aeskeygenassist xmm0, xmm6, 8
movdqa xmm15, xmm6
pshufd xmm13, xmm0, 0xff
pslldq xmm15, 4
movdqa xmm0, xmm15
pxor xmm0, xmm6
movdqa xmm6, xmm0
jmp 0x180038a86
movdqu xmmword [rsi + 0x30], xmm6
add eax, 0x4a58
cmp eax, 0x12960
jbe 0x180038a10
movdqa xmm12, xmmword [rsp + 0xd0]
mov edx, 7
movdqa xmmword [rsp + 0xc0], xmm13
movdqa xmm13, xmmword [rsp + 0x40]
lea r8d, [rdx + 1]
nop word [rax + rax]
cmp edx, 7
ja case.default.0x180038ad2
mov eax, edx
mov ecx, dword [r9 + rax*4 + 0x38e6c]
add rcx, r9
jmp rcx
movdqu xmmword [rsi + 0x40], xmm6
jmp case.default.0x180038ad2
movdqa xmm0, xmm7
pxor xmm0, xmm6
movdqa xmm6, xmm0
jmp case.default.0x180038ad2
movdqa xmm0, xmm7
pxor xmm0, xmm6
movdqa xmm6, xmm0
jmp case.0x180038ad2.2
movdqa xmm0, xmm12
pxor xmm0, xmm6
movdqa xmm6, xmm0
jmp case.default.0x180038ad2
aeskeygenassist xmm0, xmm6, 0x10
pshufd xmm12, xmm0, 0xff
jmp case.default.0x180038ad2
movdqa xmm7, xmm6
pslldq xmm7, 4
dec edx
sub r8, 1
jne 0x180038ac0
mov edx, 5
movdqa xmmword [rsp + 0xd0], xmm12
movdqa xmm12, xmmword [rsp + 0xe0]
lea r8d, [rdx + 1]
cmp edx, 5
ja case.default.0x180038b54
mov eax, edx
mov ecx, dword [r9 + rax*4 + 0x38e8c]
add rcx, r9
jmp rcx
movdqa xmm0, xmm10
pxor xmm0, xmm6
movdqa xmm6, xmm0
jmp case.default.0x180038b54
aeskeygenassist xmm0, xmm6, 0x20
pshufd xmm12, xmm0, 0xff
movdqa xmm10, xmm6
pslldq xmm10, 4
dec edx
sub r8, 1
jne 0x180038b42
movdqa xmmword [rsp + 0xe0], xmm12
movdqa xmm12, xmmword [rsp + 0x30]
jmp 0x180038dcb
movdqa xmm0, xmm12
pxor xmm0, xmm6
movdqa xmm6, xmm0
jmp case.default.0x180038b54
movdqa xmm0, xmm10
pslldq xmm10, 4
pxor xmm0, xmm6
movdqa xmm6, xmm10
pxor xmm6, xmm0
jmp case.default.0x180038b54
movdqu xmmword [rsi + 0x50], xmm6
jmp case.default.0x180038b54
movdqa xmm12, xmmword [rsp + 0x70]
mov ecx, 0x45
movdqa xmm13, xmmword [rsp + 0xf0]
mov eax, ecx
sub eax, 0x45
je 0x180038c4b
sub eax, 1
je 0x180038c25
sub eax, 1
je 0x180038c05
cmp eax, 1
jne 0x180038c53
movdqa xmm0, xmm13
pxor xmm0, xmm6
movdqa xmm6, xmm0
jmp 0x180038c53
pslldq xmm12, 4
movdqa xmm0, xmm12
pslldq xmm12, 4
pxor xmm0, xmm6
movdqa xmm6, xmm12
pxor xmm6, xmm0
jmp 0x180038c53
aeskeygenassist xmm0, xmm6, 0x36
movdqa xmm12, xmm6
pshufd xmm13, xmm0, 0xff
pslldq xmm12, 4
movdqa xmm0, xmm12
pxor xmm0, xmm6
movdqa xmm6, xmm0
jmp 0x180038c53
movdqu xmmword [rsi + 0x90], xmm6
inc ecx
cmp ecx, 0x49
jb 0x180038be0
movdqa xmmword [rsp + 0xf0], xmm13
movdqa xmm13, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x70], xmm12
movdqa xmm12, xmmword [rsp + 0x30]
jmp case.0x1800386eb.177
movdqa xmm12, xmmword [rsp + 0x80]
mov ecx, 0x112
nop dword [rax]
mov eax, ecx
sub eax, 0x10e
je 0x180038cf5
sub eax, 1
je 0x180038cee
sub eax, 1
je 0x180038cce
sub eax, 1
je 0x180038cbb
cmp eax, 1
jne 0x180038d02
movdqu xmmword [rsi + 0x70], xmm6
aeskeygenassist xmm12, xmm6, 0x80
jmp 0x180038d02
movdqa xmm14, xmm6
pshufd xmm12, xmm12, 0xff
pslldq xmm14, 4
jmp 0x180038d02
movdqa xmm0, xmm14
pslldq xmm14, 4
pxor xmm0, xmm6
movdqa xmm6, xmm14
pxor xmm6, xmm0
pslldq xmm14, 4
jmp 0x180038d02
movdqa xmm0, xmm14
jmp 0x180038cfa
movdqa xmm0, xmm12
pxor xmm0, xmm6
movdqa xmm6, xmm0
dec ecx
cmp ecx, 0x10d
ja 0x180038c90
movdqa xmmword [rsp + 0x80], xmm12
movdqa xmm12, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x50], xmm14
jmp case.0x1800386eb.177
movdqa xmm13, xmmword [rsp + 0x20]
mov ecx, 0xd2
mov eax, ecx
sub eax, 0xce
je 0x180038d7a
sub eax, 1
je 0x180038d6d
sub eax, 1
je 0x180038d6d
sub eax, 1
je 0x180038d5c
cmp eax, 1
jne 0x180038d87
movdqu xmmword [rsi + 0x80], xmm6
jmp 0x180038d87
aeskeygenassist xmm0, xmm6, 0x1b
pshufd xmm13, xmm0, 0xff
movdqa xmm11, xmm6
pslldq xmm11, 4
movdqa xmm0, xmm11
jmp 0x180038d7f
movdqa xmm0, xmm13
pxor xmm0, xmm6
movdqa xmm6, xmm0
dec ecx
cmp ecx, 0xcd
ja 0x180038d35
movdqa xmmword [rsp + 0x20], xmm13
movdqa xmm13, xmmword [rsp + 0x40]
jmp case.0x1800386eb.177
mov r15, qword [rdx]
lea r8, [rsp + 0x1f8]
imul r15, qword [r13]
xor r9d, r9d
mov edx, 0xdf
xor ecx, ecx
mov qword [rsp + 0x1f8], r15
call fcn.180060a60
mov rbp, rax
mov rdx, qword [rsp + 0x1e0]
inc r14d
cmp r14d, r12d
jae 0x1800387c3
jmp 0x1800386c9
xor eax, eax
jmp 0x1800387c6