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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov rsi, qword [rcx + 0x218]
mov rbx, rcx
mov qword [rsp + 0xc0], r8
movdqu xmmword [rsp + 0x50], xmm6
movdqu xmm5, xmmword [rcx + 0x1e0]
movdqu xmm6, xmmword [rcx + 0x1f0]
cmp qword [rsp + 0xc0], 0
je 0x1401372cd
test sil, 3
lea r15, [rcx + 0x1f0]
lea r12, [rcx + 0x1e0]
lea r13, [rcx + 0x280]
mov rdi, rdx
je 0x140137338
lea rbp, [rsp + 0x40]
mov r14, qword [rsp + 0xc0]
jmp 0x140137285
movdqu xmmword [r12], xmm5
movdqu xmmword [r15], xmm6
mov r8, rsi
mov rdx, rbp
mov rcx, rbx
call fcn.1401265a0
movdqu xmm5, xmmword [r12]
movdqu xmm6, xmmword [r15]
movdqu xmm1, xmmword [rax]
movdqu xmm0, xmmword [rdi]
pxor xmm5, xmm1
pxor xmm0, xmm5
mov eax, dword [rbx + 0x460]
movdqa xmm1, xmmword [r13]
pxor xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0x10]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0x20]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0x30]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0x40]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0x50]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0x60]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0x70]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0x80]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0x90]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0xa0]
cmp eax, 0xa
je 0x140137268
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0xb0]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0xc0]
cmp eax, 0xc
je 0x140137268
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0xd0]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0xe0]
aesenclast xmm0, xmm1
pxor xmm6, xmm0
add rdi, 0x10
sub r14, 1
je 0x1401372cd
test sil, 3
je 0x140137330
add rsi, 1
mov eax, esi
test rax, rax
je 0x140137170
tzcnt eax, eax
cmp eax, 0xf
ja 0x140137170
mov eax, eax
add rax, 0xd
shl rax, 4
add rax, rbx
jmp 0x140137194
mov rsi, qword [rsp + 0x20]
add rsi, qword [rsp + 0xc0]
mov qword [rbx + 0x218], rsi
movdqu xmmword [rbx + 0x1e0], xmm5
movdqu xmmword [rbx + 0x1f0], xmm6
pxor xmm0, xmm0
pxor xmm1, xmm1
movdqu xmm6, xmmword [rsp + 0x50]
pxor xmm2, xmm2
pxor xmm3, xmm3
pxor xmm4, xmm4
pxor xmm5, xmm5
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0xc0], r14
cmp qword [rsp + 0xc0], 3
jbe 0x140137628
mov rax, qword [rsp + 0xc0]
add rsi, 4
mov rbp, rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x28], rsi
mov rdi, r12
sub rax, 4
mov qword [rsp + 0x20], rax
shr rax, 2
lea r14, [rsi + rax*4]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x40]
mov r12, r14
mov r14, rax
jmp 0x1401375c4
movdqu xmmword [rdi], xmm5
movdqu xmmword [r15], xmm6
mov r8, rsi
mov rdx, r14
mov rcx, rbx
call fcn.1401265a0
movdqu xmm5, xmmword [rdi]
movdqu xmm6, xmmword [r15]
movdqu xmm0, xmmword [rbx + 0xd0]
movdqu xmm1, xmmword [rbp]
pxor xmm5, xmm0
pxor xmm1, xmm5
movdqu xmm0, xmmword [rbx + 0xe0]
movdqu xmm2, xmmword [rbp + 0x10]
pxor xmm5, xmm0
pxor xmm2, xmm5
movdqu xmm0, xmmword [rbx + 0xd0]
movdqu xmm3, xmmword [rbp + 0x20]
pxor xmm5, xmm0
pxor xmm3, xmm5
movdqu xmm0, xmmword [rax]
movdqu xmm4, xmmword [rbp + 0x30]
pxor xmm5, xmm0
pxor xmm4, xmm5
mov eax, dword [rbx + 0x460]
movdqa xmm0, xmmword [r13]
pxor xmm1, xmm0
pxor xmm2, xmm0
pxor xmm3, xmm0
pxor xmm4, xmm0
movdqa xmm0, xmmword [r13 + 0x10]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
movdqa xmm0, xmmword [r13 + 0x20]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
movdqa xmm0, xmmword [r13 + 0x30]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
movdqa xmm0, xmmword [r13 + 0x40]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
movdqa xmm0, xmmword [r13 + 0x50]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
movdqa xmm0, xmmword [r13 + 0x60]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
movdqa xmm0, xmmword [r13 + 0x70]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
movdqa xmm0, xmmword [r13 + 0x80]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
movdqa xmm0, xmmword [r13 + 0x90]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
movdqa xmm0, xmmword [r13 + 0xa0]
cmp eax, 0xa
je 0x140137593
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
movdqa xmm0, xmmword [r13 + 0xb0]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
movdqa xmm0, xmmword [r13 + 0xc0]
cmp eax, 0xc
je 0x140137593
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
movdqa xmm0, xmmword [r13 + 0xd0]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
movdqa xmm0, xmmword [r13 + 0xe0]
aesenclast xmm1, xmm0
aesenclast xmm2, xmm0
aesenclast xmm3, xmm0
aesenclast xmm4, xmm0
pxor xmm6, xmm1
pxor xmm6, xmm2
pxor xmm6, xmm3
pxor xmm6, xmm4
add rbp, 0x40
cmp rsi, r12
je 0x1401375f0
add rsi, 4
mov eax, esi
test rax, rax
je 0x140137390
tzcnt eax, eax
cmp eax, 0xf
ja 0x140137390
mov eax, eax
add rax, 0xd
shl rax, 4
add rax, rbx
jmp 0x1401373b0
mov rax, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r12, rdi
mov rdi, qword [rsp + 0x38]
and rax, 0xfffffffffffffffc
add rsi, rax
mov rax, qword [rsp + 0x30]
add rax, 1
shl rax, 6
add rdi, rax
and qword [rsp + 0xc0], 3
je 0x1401372cd
lea rax, [rsp + 0x40]
mov r14, rsi
mov qword [rsp + 0x20], rsi
mov rbp, qword [rsp + 0xc0]
mov rsi, r12
mov r12, rax
jmp 0x14013775b
movdqu xmmword [rsi], xmm5
movdqu xmmword [r15], xmm6
mov r8, r14
mov rdx, r12
mov rcx, rbx
call fcn.1401265a0
movdqu xmm5, xmmword [rsi]
movdqu xmm6, xmmword [r15]
movdqu xmm1, xmmword [rax]
movdqu xmm0, xmmword [rdi]
pxor xmm5, xmm1
pxor xmm0, xmm5
mov eax, dword [rbx + 0x460]
movdqa xmm1, xmmword [r13]
pxor xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0x10]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0x20]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0x30]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0x40]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0x50]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0x60]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0x70]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0x80]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0x90]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0xa0]
cmp eax, 0xa
je 0x140137744
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0xb0]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0xc0]
cmp eax, 0xc
je 0x140137744
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0xd0]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [r13 + 0xe0]
aesenclast xmm0, xmm1
pxor xmm6, xmm0
add rdi, 0x10
sub rbp, 1
je 0x1401372c0
add r14, 1
mov eax, r14d
test rax, rax
je 0x140137650
tzcnt eax, eax
cmp eax, 0xf
ja 0x140137650
mov eax, eax
add rax, 0xd
shl rax, 4
add rax, rbx
jmp 0x140137670