Function at 0x1400521cd
Capabilities:
Encrypt data using aes via x86 extensions
Hash data using sha1 via x86 extensions

Disassembly:
mov r10d, dword [0x14026a810]
mov r11, qword [0x14026a814]
bt r11, 0x3d
jb 0x1400521c0
and r11d, 0x10000000
and r10d, 0x40000000
or r10d, r11d
cmp r10d, 0x50000000
je 0x140050ee0
jmp 0x14004fc80
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rsi
mov rax, rsp
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rcx, r9
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x38]
push rbx
push rbp
push r12
push r13
push r14
push r15
lea rsp, [rsp - 0x108]
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [rsp + 0x80], xmm8
movaps xmmword [rsp + 0x90], xmm9
movaps xmmword [rsp + 0xa0], xmm10
movaps xmmword [rsp + 0xb0], xmm11
movaps xmmword [rsp + 0xc0], xmm12
movaps xmmword [rsp + 0xd0], xmm13
movaps xmmword [rsp + 0xe0], xmm14
movaps xmmword [rsp + 0xf0], xmm15
mov r12, rdi
mov r13, rsi
mov r14, rdx
lea r15, [rcx + 0x70]
movdqu xmm2, xmmword [r8]
mov qword [rsp + 0x58], r8
shl r14, 6
sub r13, r12
mov r8d, dword [r15 + 0x80]
add r14, r10
lea r11, [0x140052100]
mov eax, dword [r9]
mov ebx, dword [r9 + 4]
mov ecx, dword [r9 + 8]
mov edx, dword [r9 + 0xc]
mov esi, ebx
mov ebp, dword [r9 + 0x10]
mov edi, ecx
xor edi, edx
and esi, edi
movdqa xmm3, xmmword [r11 + 0x40]
movdqa xmm13, xmmword [r11]
movdqu xmm4, xmmword [r10]
movdqu xmm5, xmmword [r10 + 0x10]
movdqu xmm6, xmmword [r10 + 0x20]
movdqu xmm7, xmmword [r10 + 0x30]
pshufb xmm4, xmm3
pshufb xmm5, xmm3
pshufb xmm6, xmm3
add r10, 0x40
paddd xmm4, xmm13
pshufb xmm7, xmm3
paddd xmm5, xmm13
paddd xmm6, xmm13
movdqa xmmword [rsp], xmm4
psubd xmm4, xmm13
movdqa xmmword [rsp + 0x10], xmm5
psubd xmm5, xmm13
movdqa xmmword [rsp + 0x20], xmm6
psubd xmm6, xmm13
movups xmm15, xmmword [r15 - 0x70]
movups xmm0, xmmword [r15 - 0x60]
jmp 0x14004fde0
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rsi
mov rax, rsp
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rcx, r9
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x38]
push rbx
push rbp
push r12
push r13
push r14
push r15
lea rsp, [rsp - 0x108]
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [rsp + 0x80], xmm8
movaps xmmword [rsp + 0x90], xmm9
movaps xmmword [rsp + 0xa0], xmm10
movaps xmmword [rsp + 0xb0], xmm11
movaps xmmword [rsp + 0xc0], xmm12
movaps xmmword [rsp + 0xd0], xmm13
movaps xmmword [rsp + 0xe0], xmm14
movaps xmmword [rsp + 0xf0], xmm15
vzeroall
mov r12, rdi
mov r13, rsi
mov r14, rdx
lea r15, [rcx + 0x70]
vmovdqu xmm12, xmmword [r8]
mov qword [rsp + 0x58], r8
shl r14, 6
sub r13, r12
mov r8d, dword [r15 + 0x80]
add r14, r10
lea r11, [0x140052100]
mov eax, dword [r9]
mov ebx, dword [r9 + 4]
mov ecx, dword [r9 + 8]
mov edx, dword [r9 + 0xc]
mov esi, ebx
mov ebp, dword [r9 + 0x10]
mov edi, ecx
xor edi, edx
and esi, edi
vmovdqa xmm6, xmmword [r11 + 0x40]
vmovdqa xmm10, xmmword [r11]
vmovdqu xmm0, xmmword [r10]
vmovdqu xmm1, xmmword [r10 + 0x10]
vmovdqu xmm2, xmmword [r10 + 0x20]
vmovdqu xmm3, xmmword [r10 + 0x30]
vpshufb xmm0, xmm0, xmm6
add r10, 0x40
vpshufb xmm1, xmm1, xmm6
vpshufb xmm2, xmm2, xmm6
vpshufb xmm3, xmm3, xmm6
vpaddd xmm4, xmm0, xmm10
vpaddd xmm5, xmm1, xmm10
vpaddd xmm6, xmm2, xmm10
vmovdqa xmmword [rsp], xmm4
vmovdqa xmmword [rsp + 0x10], xmm5
vmovdqa xmmword [rsp + 0x20], xmm6
vmovups xmm15, xmmword [r15 - 0x70]
vmovups xmm14, xmmword [r15 - 0x60]
jmp 0x140051040
shrd ebx, ebx, 2
vmovdqu xmm13, xmmword [r12]
vpxor xmm13, xmm13, xmm15
vpxor xmm12, xmm12, xmm13
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 - 0x50]
xor esi, edx
vpalignr xmm4, xmm1, xmm0, 8
mov edi, eax
add ebp, dword [rsp]
vpaddd xmm9, xmm10, xmm3
xor ebx, ecx
shld eax, eax, 5
vpsrldq xmm8, xmm3, 4
add ebp, esi
and edi, ebx
vpxor xmm4, xmm4, xmm0
xor ebx, ecx
add ebp, eax
vpxor xmm8, xmm8, xmm2
shrd eax, eax, 7
xor edi, ecx
mov esi, ebp
add edx, dword [rsp + 4]
vpxor xmm4, xmm4, xmm8
xor eax, ebx
shld ebp, ebp, 5
vmovdqa xmmword [rsp + 0x30], xmm9
add edx, edi
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 - 0x40]
and esi, eax
vpsrld xmm8, xmm4, 0x1f
xor eax, ebx
add edx, ebp
shrd ebp, ebp, 7
xor esi, ebx
vpslldq xmm9, xmm4, 0xc
vpaddd xmm4, xmm4, xmm4
mov edi, edx
add ecx, dword [rsp + 8]
xor ebp, eax
shld edx, edx, 5
vpor xmm4, xmm4, xmm8
vpsrld xmm8, xmm9, 0x1e
add ecx, esi
and edi, ebp
xor ebp, eax
add ecx, edx
vpslld xmm9, xmm9, 2
vpxor xmm4, xmm4, xmm8
shrd edx, edx, 7
xor edi, eax
mov esi, ecx
add ebx, dword [rsp + 0xc]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 - 0x30]
vpxor xmm4, xmm4, xmm9
xor edx, ebp
shld ecx, ecx, 5
add ebx, edi
and esi, edx
xor edx, ebp
add ebx, ecx
shrd ecx, ecx, 7
xor esi, ebp
vpalignr xmm5, xmm2, xmm1, 8
mov edi, ebx
add eax, dword [rsp + 0x10]
vpaddd xmm9, xmm10, xmm4
xor ecx, edx
shld ebx, ebx, 5
vpsrldq xmm8, xmm4, 4
add eax, esi
and edi, ecx
vpxor xmm5, xmm5, xmm1
xor ecx, edx
add eax, ebx
vpxor xmm8, xmm8, xmm3
shrd ebx, ebx, 7
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 - 0x20]
xor edi, edx
mov esi, eax
add ebp, dword [rsp + 0x14]
vpxor xmm5, xmm5, xmm8
xor ebx, ecx
shld eax, eax, 5
vmovdqa xmmword [rsp], xmm9
add ebp, edi
and esi, ebx
vpsrld xmm8, xmm5, 0x1f
xor ebx, ecx
add ebp, eax
shrd eax, eax, 7
xor esi, ecx
vpslldq xmm9, xmm5, 0xc
vpaddd xmm5, xmm5, xmm5
mov edi, ebp
add edx, dword [rsp + 0x18]
xor eax, ebx
shld ebp, ebp, 5
vpor xmm5, xmm5, xmm8
vpsrld xmm8, xmm9, 0x1e
add edx, esi
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 - 0x10]
and edi, eax
xor eax, ebx
add edx, ebp
vpslld xmm9, xmm9, 2
vpxor xmm5, xmm5, xmm8
shrd ebp, ebp, 7
xor edi, ebx
mov esi, edx
add ecx, dword [rsp + 0x1c]
vpxor xmm5, xmm5, xmm9
xor ebp, eax
shld edx, edx, 5
vmovdqa xmm10, xmmword [r11 + 0x10]
add ecx, edi
and esi, ebp
xor ebp, eax
add ecx, edx
shrd edx, edx, 7
xor esi, eax
vpalignr xmm6, xmm3, xmm2, 8
mov edi, ecx
add ebx, dword [rsp + 0x20]
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15]
vpaddd xmm9, xmm10, xmm5
xor edx, ebp
shld ecx, ecx, 5
vpsrldq xmm8, xmm5, 4
add ebx, esi
and edi, edx
vpxor xmm6, xmm6, xmm2
xor edx, ebp
add ebx, ecx
vpxor xmm8, xmm8, xmm4
shrd ecx, ecx, 7
xor edi, ebp
mov esi, ebx
add eax, dword [rsp + 0x24]
vpxor xmm6, xmm6, xmm8
xor ecx, edx
shld ebx, ebx, 5
vmovdqa xmmword [rsp + 0x10], xmm9
add eax, edi
and esi, ecx
vpsrld xmm8, xmm6, 0x1f
xor ecx, edx
add eax, ebx
shrd ebx, ebx, 7
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 + 0x10]
xor esi, edx
vpslldq xmm9, xmm6, 0xc
vpaddd xmm6, xmm6, xmm6
mov edi, eax
add ebp, dword [rsp + 0x28]
xor ebx, ecx
shld eax, eax, 5
vpor xmm6, xmm6, xmm8
vpsrld xmm8, xmm9, 0x1e
add ebp, esi
and edi, ebx
xor ebx, ecx
add ebp, eax
vpslld xmm9, xmm9, 2
vpxor xmm6, xmm6, xmm8
shrd eax, eax, 7
xor edi, ecx
mov esi, ebp
add edx, dword [rsp + 0x2c]
vpxor xmm6, xmm6, xmm9
xor eax, ebx
shld ebp, ebp, 5
add edx, edi
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 + 0x20]
and esi, eax
xor eax, ebx
add edx, ebp
shrd ebp, ebp, 7
xor esi, ebx
vpalignr xmm7, xmm4, xmm3, 8
mov edi, edx
add ecx, dword [rsp + 0x30]
vpaddd xmm9, xmm10, xmm6
xor ebp, eax
shld edx, edx, 5
vpsrldq xmm8, xmm6, 4
add ecx, esi
and edi, ebp
vpxor xmm7, xmm7, xmm3
xor ebp, eax
add ecx, edx
vpxor xmm8, xmm8, xmm5
shrd edx, edx, 7
xor edi, eax
mov esi, ecx
add ebx, dword [rsp + 0x34]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 + 0x30]
vpxor xmm7, xmm7, xmm8
xor edx, ebp
shld ecx, ecx, 5
vmovdqa xmmword [rsp + 0x20], xmm9
add ebx, edi
and esi, edx
vpsrld xmm8, xmm7, 0x1f
xor edx, ebp
add ebx, ecx
shrd ecx, ecx, 7
xor esi, ebp
vpslldq xmm9, xmm7, 0xc
vpaddd xmm7, xmm7, xmm7
mov edi, ebx
add eax, dword [rsp + 0x38]
xor ecx, edx
shld ebx, ebx, 5
vpor xmm7, xmm7, xmm8
vpsrld xmm8, xmm9, 0x1e
add eax, esi
and edi, ecx
xor ecx, edx
add eax, ebx
vpslld xmm9, xmm9, 2
vpxor xmm7, xmm7, xmm8
shrd ebx, ebx, 7
cmp r8d, 0xb
jb 0x14005139b
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 + 0x40]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 + 0x50]
je 0x14005139b
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 + 0x60]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 + 0x70]
vaesenclast xmm12, xmm12, xmm15
vmovups xmm15, xmmword [r15 - 0x70]
vmovups xmm14, xmmword [r15 - 0x60]
xor edi, edx
mov esi, eax
add ebp, dword [rsp + 0x3c]
vpxor xmm7, xmm7, xmm9
xor ebx, ecx
shld eax, eax, 5
add ebp, edi
and esi, ebx
xor ebx, ecx
add ebp, eax
vpalignr xmm8, xmm7, xmm6, 8
vpxor xmm0, xmm0, xmm4
shrd eax, eax, 7
xor esi, ecx
mov edi, ebp
add edx, dword [rsp]
vpxor xmm0, xmm0, xmm1
xor eax, ebx
shld ebp, ebp, 5
vpaddd xmm9, xmm10, xmm7
add edx, esi
vmovdqu xmm13, xmmword [r12 + 0x10]
vpxor xmm13, xmm13, xmm15
vmovups xmmword [r12 + r13], xmm12
vpxor xmm12, xmm12, xmm13
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 - 0x50]
and edi, eax
vpxor xmm0, xmm0, xmm8
xor eax, ebx
add edx, ebp
shrd ebp, ebp, 7
xor edi, ebx
vpsrld xmm8, xmm0, 0x1e
vmovdqa xmmword [rsp + 0x30], xmm9
mov esi, edx
add ecx, dword [rsp + 4]
xor ebp, eax
shld edx, edx, 5
vpslld xmm0, xmm0, 2
add ecx, edi
and esi, ebp
xor ebp, eax
add ecx, edx
shrd edx, edx, 7
xor esi, eax
mov edi, ecx
add ebx, dword [rsp + 8]
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 - 0x40]
vpor xmm0, xmm0, xmm8
xor edx, ebp
shld ecx, ecx, 5
add ebx, esi
and edi, edx
xor edx, ebp
add ebx, ecx
add eax, dword [rsp + 0xc]
xor edi, ebp
mov esi, ebx
shld ebx, ebx, 5
add eax, edi
xor esi, edx
shrd ecx, ecx, 7
add eax, ebx
vpalignr xmm8, xmm0, xmm7, 8
vpxor xmm1, xmm1, xmm5
add ebp, dword [rsp + 0x10]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 - 0x30]
xor esi, ecx
mov edi, eax
shld eax, eax, 5
vpxor xmm1, xmm1, xmm2
add ebp, esi
xor edi, ecx
vpaddd xmm9, xmm10, xmm0
shrd ebx, ebx, 7
add ebp, eax
vpxor xmm1, xmm1, xmm8
add edx, dword [rsp + 0x14]
xor edi, ebx
mov esi, ebp
shld ebp, ebp, 5
vpsrld xmm8, xmm1, 0x1e
vmovdqa xmmword [rsp], xmm9
add edx, edi
xor esi, ebx
shrd eax, eax, 7
add edx, ebp
vpslld xmm1, xmm1, 2
add ecx, dword [rsp + 0x18]
xor esi, eax
mov edi, edx
shld edx, edx, 5
add ecx, esi
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 - 0x20]
xor edi, eax
shrd ebp, ebp, 7
add ecx, edx
vpor xmm1, xmm1, xmm8
add ebx, dword [rsp + 0x1c]
xor edi, ebp
mov esi, ecx
shld ecx, ecx, 5
add ebx, edi
xor esi, ebp
shrd edx, edx, 7
add ebx, ecx
vpalignr xmm8, xmm1, xmm0, 8
vpxor xmm2, xmm2, xmm6
add eax, dword [rsp + 0x20]
xor esi, edx
mov edi, ebx
shld ebx, ebx, 5
vpxor xmm2, xmm2, xmm3
add eax, esi
xor edi, edx
vpaddd xmm9, xmm10, xmm1
vmovdqa xmm10, xmmword [r11 + 0x20]
shrd ecx, ecx, 7
add eax, ebx
vpxor xmm2, xmm2, xmm8
add ebp, dword [rsp + 0x24]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 - 0x10]
xor edi, ecx
mov esi, eax
shld eax, eax, 5
vpsrld xmm8, xmm2, 0x1e
vmovdqa xmmword [rsp + 0x10], xmm9
add ebp, edi
xor esi, ecx
shrd ebx, ebx, 7
add ebp, eax
vpslld xmm2, xmm2, 2
add edx, dword [rsp + 0x28]
xor esi, ebx
mov edi, ebp
shld ebp, ebp, 5
add edx, esi
xor edi, ebx
shrd eax, eax, 7
add edx, ebp
vpor xmm2, xmm2, xmm8
add ecx, dword [rsp + 0x2c]
xor edi, eax
mov esi, edx
shld edx, edx, 5
add ecx, edi
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15]
xor esi, eax
shrd ebp, ebp, 7
add ecx, edx
vpalignr xmm8, xmm2, xmm1, 8
vpxor xmm3, xmm3, xmm7
add ebx, dword [rsp + 0x30]
xor esi, ebp
mov edi, ecx
shld ecx, ecx, 5
vpxor xmm3, xmm3, xmm4
add ebx, esi
xor edi, ebp
vpaddd xmm9, xmm10, xmm2
shrd edx, edx, 7
add ebx, ecx
vpxor xmm3, xmm3, xmm8
add eax, dword [rsp + 0x34]
xor edi, edx
mov esi, ebx
shld ebx, ebx, 5
vpsrld xmm8, xmm3, 0x1e
vmovdqa xmmword [rsp + 0x20], xmm9
add eax, edi
xor esi, edx
shrd ecx, ecx, 7
add eax, ebx
vpslld xmm3, xmm3, 2
add ebp, dword [rsp + 0x38]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 + 0x10]
xor esi, ecx
mov edi, eax
shld eax, eax, 5
add ebp, esi
xor edi, ecx
shrd ebx, ebx, 7
add ebp, eax
vpor xmm3, xmm3, xmm8
add edx, dword [rsp + 0x3c]
xor edi, ebx
mov esi, ebp
shld ebp, ebp, 5
add edx, edi
xor esi, ebx
shrd eax, eax, 7
add edx, ebp
vpalignr xmm8, xmm3, xmm2, 8
vpxor xmm4, xmm4, xmm0
add ecx, dword [rsp]
xor esi, eax
mov edi, edx
shld edx, edx, 5
vpxor xmm4, xmm4, xmm5
add ecx, esi
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 + 0x20]
xor edi, eax
vpaddd xmm9, xmm10, xmm3
shrd ebp, ebp, 7
add ecx, edx
vpxor xmm4, xmm4, xmm8
add ebx, dword [rsp + 4]
xor edi, ebp
mov esi, ecx
shld ecx, ecx, 5
vpsrld xmm8, xmm4, 0x1e
vmovdqa xmmword [rsp + 0x30], xmm9
add ebx, edi
xor esi, ebp
shrd edx, edx, 7
add ebx, ecx
vpslld xmm4, xmm4, 2
add eax, dword [rsp + 8]
xor esi, edx
mov edi, ebx
shld ebx, ebx, 5
add eax, esi
xor edi, edx
shrd ecx, ecx, 7
add eax, ebx
vpor xmm4, xmm4, xmm8
add ebp, dword [rsp + 0xc]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 + 0x30]
xor edi, ecx
mov esi, eax
shld eax, eax, 5
add ebp, edi
xor esi, ecx
shrd ebx, ebx, 7
add ebp, eax
vpalignr xmm8, xmm4, xmm3, 8
vpxor xmm5, xmm5, xmm1
add edx, dword [rsp + 0x10]
xor esi, ebx
mov edi, ebp
shld ebp, ebp, 5
vpxor xmm5, xmm5, xmm6
add edx, esi
xor edi, ebx
vpaddd xmm9, xmm10, xmm4
shrd eax, eax, 7
add edx, ebp
vpxor xmm5, xmm5, xmm8
add ecx, dword [rsp + 0x14]
xor edi, eax
mov esi, edx
shld edx, edx, 5
vpsrld xmm8, xmm5, 0x1e
vmovdqa xmmword [rsp], xmm9
add ecx, edi
cmp r8d, 0xb
jb 0x14005175c
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 + 0x40]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 + 0x50]
je 0x14005175c
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 + 0x60]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 + 0x70]
vaesenclast xmm12, xmm12, xmm15
vmovups xmm15, xmmword [r15 - 0x70]
vmovups xmm14, xmmword [r15 - 0x60]
xor esi, eax
shrd ebp, ebp, 7
add ecx, edx
vpslld xmm5, xmm5, 2
add ebx, dword [rsp + 0x18]
xor esi, ebp
mov edi, ecx
shld ecx, ecx, 5
add ebx, esi
xor edi, ebp
shrd edx, edx, 7
add ebx, ecx
vpor xmm5, xmm5, xmm8
add eax, dword [rsp + 0x1c]
shrd ecx, ecx, 7
mov esi, ebx
xor edi, edx
shld ebx, ebx, 5
add eax, edi
xor esi, ecx
xor ecx, edx
add eax, ebx
vpalignr xmm8, xmm5, xmm4, 8
vpxor xmm6, xmm6, xmm2
add ebp, dword [rsp + 0x20]
vmovdqu xmm13, xmmword [r12 + 0x20]
vpxor xmm13, xmm13, xmm15
vmovups xmmword [r13 + r12 + 0x10], xmm12
vpxor xmm12, xmm12, xmm13
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 - 0x50]
and esi, ecx
xor ecx, edx
shrd ebx, ebx, 7
vpxor xmm6, xmm6, xmm7
mov edi, eax
xor esi, ecx
vpaddd xmm9, xmm10, xmm5
shld eax, eax, 5
add ebp, esi
vpxor xmm6, xmm6, xmm8
xor edi, ebx
xor ebx, ecx
add ebp, eax
add edx, dword [rsp + 0x24]
vpsrld xmm8, xmm6, 0x1e
vmovdqa xmmword [rsp + 0x10], xmm9
and edi, ebx
xor ebx, ecx
shrd eax, eax, 7
mov esi, ebp
vpslld xmm6, xmm6, 2
xor edi, ebx
shld ebp, ebp, 5
add edx, edi
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 - 0x40]
xor esi, eax
xor eax, ebx
add edx, ebp
add ecx, dword [rsp + 0x28]
and esi, eax
vpor xmm6, xmm6, xmm8
xor eax, ebx
shrd ebp, ebp, 7
mov edi, edx
xor esi, eax
shld edx, edx, 5
add ecx, esi
xor edi, ebp
xor ebp, eax
add ecx, edx
add ebx, dword [rsp + 0x2c]
and edi, ebp
xor ebp, eax
shrd edx, edx, 7
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 - 0x30]
mov esi, ecx
xor edi, ebp
shld ecx, ecx, 5
add ebx, edi
xor esi, edx
xor edx, ebp
add ebx, ecx
vpalignr xmm8, xmm6, xmm5, 8
vpxor xmm7, xmm7, xmm3
add eax, dword [rsp + 0x30]
and esi, edx
xor edx, ebp
shrd ecx, ecx, 7
vpxor xmm7, xmm7, xmm0
mov edi, ebx
xor esi, edx
vpaddd xmm9, xmm10, xmm6
vmovdqa xmm10, xmmword [r11 + 0x30]
shld ebx, ebx, 5
add eax, esi
vpxor xmm7, xmm7, xmm8
xor edi, ecx
xor ecx, edx
add eax, ebx
add ebp, dword [rsp + 0x34]
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 - 0x20]
vpsrld xmm8, xmm7, 0x1e
vmovdqa xmmword [rsp + 0x20], xmm9
and edi, ecx
xor ecx, edx
shrd ebx, ebx, 7
mov esi, eax
vpslld xmm7, xmm7, 2
xor edi, ecx
shld eax, eax, 5
add ebp, edi
xor esi, ebx
xor ebx, ecx
add ebp, eax
add edx, dword [rsp + 0x38]
and esi, ebx
vpor xmm7, xmm7, xmm8
xor ebx, ecx
shrd eax, eax, 7
mov edi, ebp
xor esi, ebx
shld ebp, ebp, 5
add edx, esi
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 - 0x10]
xor edi, eax
xor eax, ebx
add edx, ebp
add ecx, dword [rsp + 0x3c]
and edi, eax
xor eax, ebx
shrd ebp, ebp, 7
mov esi, edx
xor edi, eax
shld edx, edx, 5
add ecx, edi
xor esi, ebp
xor ebp, eax
add ecx, edx
vpalignr xmm8, xmm7, xmm6, 8
vpxor xmm0, xmm0, xmm4
add ebx, dword [rsp]
and esi, ebp
xor ebp, eax
shrd edx, edx, 7
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15]
vpxor xmm0, xmm0, xmm1
mov edi, ecx
xor esi, ebp
vpaddd xmm9, xmm10, xmm7
shld ecx, ecx, 5
add ebx, esi
vpxor xmm0, xmm0, xmm8
xor edi, edx
xor edx, ebp
add ebx, ecx
add eax, dword [rsp + 4]
vpsrld xmm8, xmm0, 0x1e
vmovdqa xmmword [rsp + 0x30], xmm9
and edi, edx
xor edx, ebp
shrd ecx, ecx, 7
mov esi, ebx
vpslld xmm0, xmm0, 2
xor edi, edx
shld ebx, ebx, 5
add eax, edi
xor esi, ecx
xor ecx, edx
add eax, ebx
add ebp, dword [rsp + 8]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 + 0x10]
and esi, ecx
vpor xmm0, xmm0, xmm8
xor ecx, edx
shrd ebx, ebx, 7
mov edi, eax
xor esi, ecx
shld eax, eax, 5
add ebp, esi
xor edi, ebx
xor ebx, ecx
add ebp, eax
add edx, dword [rsp + 0xc]
and edi, ebx
xor ebx, ecx
shrd eax, eax, 7
mov esi, ebp
xor edi, ebx
shld ebp, ebp, 5
add edx, edi
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 + 0x20]
xor esi, eax
xor eax, ebx
add edx, ebp
vpalignr xmm8, xmm0, xmm7, 8
vpxor xmm1, xmm1, xmm5
add ecx, dword [rsp + 0x10]
and esi, eax
xor eax, ebx
shrd ebp, ebp, 7
vpxor xmm1, xmm1, xmm2
mov edi, edx
xor esi, eax
vpaddd xmm9, xmm10, xmm0
shld edx, edx, 5
add ecx, esi
vpxor xmm1, xmm1, xmm8
xor edi, ebp
xor ebp, eax
add ecx, edx
add ebx, dword [rsp + 0x14]
vpsrld xmm8, xmm1, 0x1e
vmovdqa xmmword [rsp], xmm9
and edi, ebp
xor ebp, eax
shrd edx, edx, 7
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 + 0x30]
mov esi, ecx
vpslld xmm1, xmm1, 2
xor edi, ebp
shld ecx, ecx, 5
add ebx, edi
xor esi, edx
xor edx, ebp
add ebx, ecx
add eax, dword [rsp + 0x18]
and esi, edx
vpor xmm1, xmm1, xmm8
xor edx, ebp
shrd ecx, ecx, 7
mov edi, ebx
xor esi, edx
shld ebx, ebx, 5
add eax, esi
xor edi, ecx
xor ecx, edx
add eax, ebx
add ebp, dword [rsp + 0x1c]
cmp r8d, 0xb
jb 0x140051ab7
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 + 0x40]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 + 0x50]
je 0x140051ab7
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 + 0x60]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 + 0x70]
vaesenclast xmm12, xmm12, xmm15
vmovups xmm15, xmmword [r15 - 0x70]
vmovups xmm14, xmmword [r15 - 0x60]
and edi, ecx
xor ecx, edx
shrd ebx, ebx, 7
mov esi, eax
xor edi, ecx
shld eax, eax, 5
add ebp, edi
xor esi, ebx
xor ebx, ecx
add ebp, eax
vpalignr xmm8, xmm1, xmm0, 8
vpxor xmm2, xmm2, xmm6
add edx, dword [rsp + 0x20]
and esi, ebx
xor ebx, ecx
shrd eax, eax, 7
vpxor xmm2, xmm2, xmm3
mov edi, ebp
xor esi, ebx
vpaddd xmm9, xmm10, xmm1
shld ebp, ebp, 5
add edx, esi
vmovdqu xmm13, xmmword [r12 + 0x30]
vpxor xmm13, xmm13, xmm15
vmovups xmmword [r13 + r12 + 0x20], xmm12
vpxor xmm12, xmm12, xmm13
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 - 0x50]
vpxor xmm2, xmm2, xmm8
xor edi, eax
xor eax, ebx
add edx, ebp
add ecx, dword [rsp + 0x24]
vpsrld xmm8, xmm2, 0x1e
vmovdqa xmmword [rsp + 0x10], xmm9
and edi, eax
xor eax, ebx
shrd ebp, ebp, 7
mov esi, edx
vpslld xmm2, xmm2, 2
xor edi, eax
shld edx, edx, 5
add ecx, edi
xor esi, ebp
xor ebp, eax
add ecx, edx
add ebx, dword [rsp + 0x28]
and esi, ebp
vpor xmm2, xmm2, xmm8
xor ebp, eax
shrd edx, edx, 7
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 - 0x40]
mov edi, ecx
xor esi, ebp
shld ecx, ecx, 5
add ebx, esi
xor edi, edx
xor edx, ebp
add ebx, ecx
add eax, dword [rsp + 0x2c]
and edi, edx
xor edx, ebp
shrd ecx, ecx, 7
mov esi, ebx
xor edi, edx
shld ebx, ebx, 5
add eax, edi
xor esi, edx
add eax, ebx
vpalignr xmm8, xmm2, xmm1, 8
vpxor xmm3, xmm3, xmm7
add ebp, dword [rsp + 0x30]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 - 0x30]
xor esi, ecx
mov edi, eax
shld eax, eax, 5
vpxor xmm3, xmm3, xmm4
add ebp, esi
xor edi, ecx
vpaddd xmm9, xmm10, xmm2
shrd ebx, ebx, 7
add ebp, eax
vpxor xmm3, xmm3, xmm8
add edx, dword [rsp + 0x34]
xor edi, ebx
mov esi, ebp
shld ebp, ebp, 5
vpsrld xmm8, xmm3, 0x1e
vmovdqa xmmword [rsp + 0x20], xmm9
add edx, edi
xor esi, ebx
shrd eax, eax, 7
add edx, ebp
vpslld xmm3, xmm3, 2
add ecx, dword [rsp + 0x38]
xor esi, eax
mov edi, edx
shld edx, edx, 5
add ecx, esi
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 - 0x20]
xor edi, eax
shrd ebp, ebp, 7
add ecx, edx
vpor xmm3, xmm3, xmm8
add ebx, dword [rsp + 0x3c]
xor edi, ebp
mov esi, ecx
shld ecx, ecx, 5
add ebx, edi
xor esi, ebp
shrd edx, edx, 7
add ebx, ecx
add eax, dword [rsp]
vpaddd xmm9, xmm10, xmm3
xor esi, edx
mov edi, ebx
shld ebx, ebx, 5
add eax, esi
vmovdqa xmmword [rsp + 0x30], xmm9
xor edi, edx
shrd ecx, ecx, 7
add eax, ebx
add ebp, dword [rsp + 4]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 - 0x10]
xor edi, ecx
mov esi, eax
shld eax, eax, 5
add ebp, edi
xor esi, ecx
shrd ebx, ebx, 7
add ebp, eax
add edx, dword [rsp + 8]
xor esi, ebx
mov edi, ebp
shld ebp, ebp, 5
add edx, esi
xor edi, ebx
shrd eax, eax, 7
add edx, ebp
add ecx, dword [rsp + 0xc]
xor edi, eax
mov esi, edx
shld edx, edx, 5
add ecx, edi
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15]
xor esi, eax
shrd ebp, ebp, 7
add ecx, edx
cmp r10, r14
je 0x140051ec6
vmovdqa xmm9, xmmword [r11 + 0x40]
vmovdqa xmm10, xmmword [r11]
vmovdqu xmm0, xmmword [r10]
vmovdqu xmm1, xmmword [r10 + 0x10]
vmovdqu xmm2, xmmword [r10 + 0x20]
vmovdqu xmm3, xmmword [r10 + 0x30]
vpshufb xmm0, xmm0, xmm9
add r10, 0x40
add ebx, dword [rsp + 0x10]
xor esi, ebp
vpshufb xmm1, xmm1, xmm9
mov edi, ecx
shld ecx, ecx, 5
vpaddd xmm8, xmm0, xmm10
add ebx, esi
xor edi, ebp
shrd edx, edx, 7
add ebx, ecx
vmovdqa xmmword [rsp], xmm8
add eax, dword [rsp + 0x14]
xor edi, edx
mov esi, ebx
shld ebx, ebx, 5
add eax, edi
xor esi, edx
shrd ecx, ecx, 7
add eax, ebx
add ebp, dword [rsp + 0x18]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 + 0x10]
xor esi, ecx
mov edi, eax
shld eax, eax, 5
add ebp, esi
xor edi, ecx
shrd ebx, ebx, 7
add ebp, eax
add edx, dword [rsp + 0x1c]
xor edi, ebx
mov esi, ebp
shld ebp, ebp, 5
add edx, edi
xor esi, ebx
shrd eax, eax, 7
add edx, ebp
add ecx, dword [rsp + 0x20]
xor esi, eax
vpshufb xmm2, xmm2, xmm9
mov edi, edx
shld edx, edx, 5
vpaddd xmm8, xmm1, xmm10
add ecx, esi
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 + 0x20]
xor edi, eax
shrd ebp, ebp, 7
add ecx, edx
vmovdqa xmmword [rsp + 0x10], xmm8
add ebx, dword [rsp + 0x24]
xor edi, ebp
mov esi, ecx
shld ecx, ecx, 5
add ebx, edi
xor esi, ebp
shrd edx, edx, 7
add ebx, ecx
add eax, dword [rsp + 0x28]
xor esi, edx
mov edi, ebx
shld ebx, ebx, 5
add eax, esi
xor edi, edx
shrd ecx, ecx, 7
add eax, ebx
add ebp, dword [rsp + 0x2c]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 + 0x30]
xor edi, ecx
mov esi, eax
shld eax, eax, 5
add ebp, edi
xor esi, ecx
shrd ebx, ebx, 7
add ebp, eax
add edx, dword [rsp + 0x30]
xor esi, ebx
vpshufb xmm3, xmm3, xmm9
mov edi, ebp
shld ebp, ebp, 5
vpaddd xmm8, xmm2, xmm10
add edx, esi
xor edi, ebx
shrd eax, eax, 7
add edx, ebp
vmovdqa xmmword [rsp + 0x20], xmm8
add ecx, dword [rsp + 0x34]
xor edi, eax
mov esi, edx
shld edx, edx, 5
add ecx, edi
cmp r8d, 0xb
jb 0x140051e44
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 + 0x40]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 + 0x50]
je 0x140051e44
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 + 0x60]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 + 0x70]
vaesenclast xmm12, xmm12, xmm15
vmovups xmm15, xmmword [r15 - 0x70]
vmovups xmm14, xmmword [r15 - 0x60]
xor esi, eax
shrd ebp, ebp, 7
add ecx, edx
add ebx, dword [rsp + 0x38]
xor esi, ebp
mov edi, ecx
shld ecx, ecx, 5
add ebx, esi
xor edi, ebp
shrd edx, edx, 7
add ebx, ecx
add eax, dword [rsp + 0x3c]
xor edi, edx
mov esi, ebx
shld ebx, ebx, 5
add eax, edi
shrd ecx, ecx, 7
add eax, ebx
vmovups xmmword [r13 + r12 + 0x30], xmm12
lea r12, [r12 + 0x40]
add eax, dword [r9]
add esi, dword [r9 + 4]
add ecx, dword [r9 + 8]
add edx, dword [r9 + 0xc]
mov dword [r9], eax
add ebp, dword [r9 + 0x10]
mov dword [r9 + 4], esi
mov ebx, esi
mov dword [r9 + 8], ecx
mov edi, ecx
mov dword [r9 + 0xc], edx
xor edi, edx
mov dword [r9 + 0x10], ebp
and esi, edi
jmp 0x140051040
add ebx, dword [rsp + 0x10]
xor esi, ebp
mov edi, ecx
shld ecx, ecx, 5
add ebx, esi
xor edi, ebp
shrd edx, edx, 7
add ebx, ecx
add eax, dword [rsp + 0x14]
xor edi, edx
mov esi, ebx
shld ebx, ebx, 5
add eax, edi
xor esi, edx
shrd ecx, ecx, 7
add eax, ebx
add ebp, dword [rsp + 0x18]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 + 0x10]
xor esi, ecx
mov edi, eax
shld eax, eax, 5
add ebp, esi
xor edi, ecx
shrd ebx, ebx, 7
add ebp, eax
add edx, dword [rsp + 0x1c]
xor edi, ebx
mov esi, ebp
shld ebp, ebp, 5
add edx, edi
xor esi, ebx
shrd eax, eax, 7
add edx, ebp
add ecx, dword [rsp + 0x20]
xor esi, eax
mov edi, edx
shld edx, edx, 5
add ecx, esi
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 + 0x20]
xor edi, eax
shrd ebp, ebp, 7
add ecx, edx
add ebx, dword [rsp + 0x24]
xor edi, ebp
mov esi, ecx
shld ecx, ecx, 5
add ebx, edi
xor esi, ebp
shrd edx, edx, 7
add ebx, ecx
add eax, dword [rsp + 0x28]
xor esi, edx
mov edi, ebx
shld ebx, ebx, 5
add eax, esi
xor edi, edx
shrd ecx, ecx, 7
add eax, ebx
add ebp, dword [rsp + 0x2c]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 + 0x30]
xor edi, ecx
mov esi, eax
shld eax, eax, 5
add ebp, edi
xor esi, ecx
shrd ebx, ebx, 7
add ebp, eax
add edx, dword [rsp + 0x30]
xor esi, ebx
mov edi, ebp
shld ebp, ebp, 5
add edx, esi
xor edi, ebx
shrd eax, eax, 7
add edx, ebp
add ecx, dword [rsp + 0x34]
xor edi, eax
mov esi, edx
shld edx, edx, 5
add ecx, edi
cmp r8d, 0xb
jb 0x140051fef
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 + 0x40]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 + 0x50]
je 0x140051fef
vaesenc xmm12, xmm12, xmm15
vmovups xmm14, xmmword [r15 + 0x60]
vaesenc xmm12, xmm12, xmm14
vmovups xmm15, xmmword [r15 + 0x70]
vaesenclast xmm12, xmm12, xmm15
vmovups xmm15, xmmword [r15 - 0x70]
vmovups xmm14, xmmword [r15 - 0x60]
xor esi, eax
shrd ebp, ebp, 7
add ecx, edx
add ebx, dword [rsp + 0x38]
xor esi, ebp
mov edi, ecx
shld ecx, ecx, 5
add ebx, esi
xor edi, ebp
shrd edx, edx, 7
add ebx, ecx
add eax, dword [rsp + 0x3c]
xor edi, edx
mov esi, ebx
shld ebx, ebx, 5
add eax, edi
shrd ecx, ecx, 7
add eax, ebx
vmovups xmmword [r13 + r12 + 0x30], xmm12
mov r8, qword [rsp + 0x58]
add eax, dword [r9]
add esi, dword [r9 + 4]
add ecx, dword [r9 + 8]
mov dword [r9], eax
add edx, dword [r9 + 0xc]
mov dword [r9 + 4], esi
add ebp, dword [r9 + 0x10]
mov dword [r9 + 8], ecx
mov dword [r9 + 0xc], edx
mov dword [r9 + 0x10], ebp
vmovups xmmword [r8], xmm12
vzeroall
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x80]
movaps xmm9, xmmword [rsp + 0x90]
movaps xmm10, xmmword [rsp + 0xa0]
movaps xmm11, xmmword [rsp + 0xb0]
movaps xmm12, xmmword [rsp + 0xc0]
movaps xmm13, xmmword [rsp + 0xd0]
movaps xmm14, xmmword [rsp + 0xe0]
movaps xmm15, xmmword [rsp + 0xf0]
lea rsi, [rsp + 0x108]
mov r15, qword [rsi]
mov r14, qword [rsi + 8]
mov r13, qword [rsi + 0x10]
mov r12, qword [rsi + 0x18]
mov rbp, qword [rsi + 0x20]
mov rbx, qword [rsi + 0x28]
lea rsp, [rsi + 0x30]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rsi
mov rax, rsp
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rcx, r9
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x38]
lea rsp, [rsp - 0xa8]
movaps xmmword [rax - 0xa8], xmm6
movaps xmmword [rax - 0x98], xmm7
movaps xmmword [rax - 0x88], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x58], xmm11
movaps xmmword [rax - 0x48], xmm12
movaps xmmword [rax - 0x38], xmm13
movaps xmmword [rax - 0x28], xmm14
movaps xmmword [rax - 0x18], xmm15
movdqu xmm8, xmmword [r9]
movd xmm9, dword [r9 + 0x10]
movdqa xmm7, xmmword [0x140052150]
mov r11d, dword [rcx + 0xf0]
sub rsi, rdi
movups xmm15, xmmword [rcx]
movups xmm2, xmmword [r8]
movups xmm0, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x70]
pshufd xmm8, xmm8, 0x1b
pshufd xmm9, xmm9, 0x1b
jmp 0x140052270
movups xmm14, xmmword [rdi]
xorps xmm14, xmm15
xorps xmm2, xmm14
movups xmm1, xmmword [rcx - 0x50]
aesenc xmm2, xmm0
movdqu xmm3, xmmword [r10]
movdqa xmm12, xmm9
pshufb xmm3, xmm7
movdqu xmm4, xmmword [r10 + 0x10]
movdqa xmm11, xmm8
movups xmm0, xmmword [rcx - 0x40]
aesenc xmm2, xmm1
pshufb xmm4, xmm7
paddd xmm9, xmm3
movdqu xmm5, xmmword [r10 + 0x20]
lea r10, [r10 + 0x40]
pxor xmm3, xmm12
movups xmm1, xmmword [rcx - 0x30]
aesenc xmm2, xmm0
pxor xmm3, xmm12
movdqa xmm10, xmm8
pshufb xmm5, xmm7
sha1rnds4 xmm8, xmm9, 0
sha1nexte xmm10, xmm4
movups xmm0, xmmword [rcx - 0x20]
aesenc xmm2, xmm1
sha1msg1 xmm3, xmm4
movdqu xmm6, xmmword [r10 - 0x10]
movdqa xmm9, xmm8
pshufb xmm6, xmm7
movups xmm1, xmmword [rcx - 0x10]
aesenc xmm2, xmm0
sha1rnds4 xmm8, xmm10, 0
sha1nexte xmm9, xmm5
pxor xmm3, xmm5
sha1msg1 xmm4, xmm5
movups xmm0, xmmword [rcx]
aesenc xmm2, xmm1
movdqa xmm10, xmm8
sha1rnds4 xmm8, xmm9, 0
sha1nexte xmm10, xmm6
movups xmm1, xmmword [rcx + 0x10]
aesenc xmm2, xmm0
sha1msg2 xmm3, xmm6
pxor xmm4, xmm6
sha1msg1 xmm5, xmm6
movups xmm0, xmmword [rcx + 0x20]
aesenc xmm2, xmm1
movdqa xmm9, xmm8
sha1rnds4 xmm8, xmm10, 0
sha1nexte xmm9, xmm3
movups xmm1, xmmword [rcx + 0x30]
aesenc xmm2, xmm0
sha1msg2 xmm4, xmm3
pxor xmm5, xmm3
sha1msg1 xmm6, xmm3
cmp r11d, 0xb
jb 0x1400523a4
movups xmm0, xmmword [rcx + 0x40]
aesenc xmm2, xmm1
movups xmm1, xmmword [rcx + 0x50]
aesenc xmm2, xmm0
je 0x1400523a4
movups xmm0, xmmword [rcx + 0x60]
aesenc xmm2, xmm1
movups xmm1, xmmword [rcx + 0x70]
aesenc xmm2, xmm0
aesenclast xmm2, xmm1
movups xmm0, xmmword [rcx - 0x60]
movdqa xmm10, xmm8
sha1rnds4 xmm8, xmm9, 0
sha1nexte xmm10, xmm4
movups xmm14, xmmword [rdi + 0x10]
xorps xmm14, xmm15
movups xmmword [rsi + rdi], xmm2
xorps xmm2, xmm14
movups xmm1, xmmword [rcx - 0x50]
aesenc xmm2, xmm0
sha1msg2 xmm5, xmm4
pxor xmm6, xmm4
sha1msg1 xmm3, xmm4
movups xmm0, xmmword [rcx - 0x40]
aesenc xmm2, xmm1
movdqa xmm9, xmm8
sha1rnds4 xmm8, xmm10, 1
sha1nexte xmm9, xmm5
movups xmm1, xmmword [rcx - 0x30]
aesenc xmm2, xmm0
sha1msg2 xmm6, xmm5
pxor xmm3, xmm5
sha1msg1 xmm4, xmm5
movups xmm0, xmmword [rcx - 0x20]
aesenc xmm2, xmm1
movdqa xmm10, xmm8
sha1rnds4 xmm8, xmm9, 1
sha1nexte xmm10, xmm6
movups xmm1, xmmword [rcx - 0x10]
aesenc xmm2, xmm0
sha1msg2 xmm3, xmm6
pxor xmm4, xmm6
sha1msg1 xmm5, xmm6
movups xmm0, xmmword [rcx]
aesenc xmm2, xmm1
movdqa xmm9, xmm8
sha1rnds4 xmm8, xmm10, 1
sha1nexte xmm9, xmm3
movups xmm1, xmmword [rcx + 0x10]
aesenc xmm2, xmm0
sha1msg2 xmm4, xmm3
pxor xmm5, xmm3
sha1msg1 xmm6, xmm3
movups xmm0, xmmword [rcx + 0x20]
aesenc xmm2, xmm1
movdqa xmm10, xmm8
sha1rnds4 xmm8, xmm9, 1
sha1nexte xmm10, xmm4
movups xmm1, xmmword [rcx + 0x30]
aesenc xmm2, xmm0
sha1msg2 xmm5, xmm4
pxor xmm6, xmm4
sha1msg1 xmm3, xmm4
cmp r11d, 0xb
jb 0x1400524c6
movups xmm0, xmmword [rcx + 0x40]
aesenc xmm2, xmm1
movups xmm1, xmmword [rcx + 0x50]
aesenc xmm2, xmm0
je 0x1400524c6
movups xmm0, xmmword [rcx + 0x60]
aesenc xmm2, xmm1
movups xmm1, xmmword [rcx + 0x70]
aesenc xmm2, xmm0
aesenclast xmm2, xmm1
movups xmm0, xmmword [rcx - 0x60]
movdqa xmm9, xmm8
sha1rnds4 xmm8, xmm10, 1
sha1nexte xmm9, xmm5
movups xmm14, xmmword [rdi + 0x20]
xorps xmm14, xmm15
movups xmmword [rsi + rdi + 0x10], xmm2
xorps xmm2, xmm14
movups xmm1, xmmword [rcx - 0x50]
aesenc xmm2, xmm0
sha1msg2 xmm6, xmm5
pxor xmm3, xmm5
sha1msg1 xmm4, xmm5
movups xmm0, xmmword [rcx - 0x40]
aesenc xmm2, xmm1
movdqa xmm10, xmm8
sha1rnds4 xmm8, xmm9, 2
sha1nexte xmm10, xmm6
movups xmm1, xmmword [rcx - 0x30]
aesenc xmm2, xmm0
sha1msg2 xmm3, xmm6
pxor xmm4, xmm6
sha1msg1 xmm5, xmm6
movups xmm0, xmmword [rcx - 0x20]
aesenc xmm2, xmm1
movdqa xmm9, xmm8
sha1rnds4 xmm8, xmm10, 2
sha1nexte xmm9, xmm3
movups xmm1, xmmword [rcx - 0x10]
aesenc xmm2, xmm0
sha1msg2 xmm4, xmm3
pxor xmm5, xmm3
sha1msg1 xmm6, xmm3
movups xmm0, xmmword [rcx]
aesenc xmm2, xmm1
movdqa xmm10, xmm8
sha1rnds4 xmm8, xmm9, 2
sha1nexte xmm10, xmm4
movups xmm1, xmmword [rcx + 0x10]
aesenc xmm2, xmm0
sha1msg2 xmm5, xmm4
pxor xmm6, xmm4
sha1msg1 xmm3, xmm4
movups xmm0, xmmword [rcx + 0x20]
aesenc xmm2, xmm1
movdqa xmm9, xmm8
sha1rnds4 xmm8, xmm10, 2
sha1nexte xmm9, xmm5
movups xmm1, xmmword [rcx + 0x30]
aesenc xmm2, xmm0
sha1msg2 xmm6, xmm5
pxor xmm3, xmm5
sha1msg1 xmm4, xmm5
cmp r11d, 0xb
jb 0x1400525e9
movups xmm0, xmmword [rcx + 0x40]
aesenc xmm2, xmm1
movups xmm1, xmmword [rcx + 0x50]
aesenc xmm2, xmm0
je 0x1400525e9
movups xmm0, xmmword [rcx + 0x60]
aesenc xmm2, xmm1
movups xmm1, xmmword [rcx + 0x70]
aesenc xmm2, xmm0
aesenclast xmm2, xmm1
movups xmm0, xmmword [rcx - 0x60]
movdqa xmm10, xmm8
sha1rnds4 xmm8, xmm9, 2
sha1nexte xmm10, xmm6
movups xmm14, xmmword [rdi + 0x30]
xorps xmm14, xmm15
movups xmmword [rsi + rdi + 0x20], xmm2
xorps xmm2, xmm14
movups xmm1, xmmword [rcx - 0x50]
aesenc xmm2, xmm0
sha1msg2 xmm3, xmm6
pxor xmm4, xmm6
sha1msg1 xmm5, xmm6
movups xmm0, xmmword [rcx - 0x40]
aesenc xmm2, xmm1
movdqa xmm9, xmm8
sha1rnds4 xmm8, xmm10, 3
sha1nexte xmm9, xmm3
movups xmm1, xmmword [rcx - 0x30]
aesenc xmm2, xmm0
sha1msg2 xmm4, xmm3
pxor xmm5, xmm3
sha1msg1 xmm6, xmm3
movups xmm0, xmmword [rcx - 0x20]
aesenc xmm2, xmm1
movdqa xmm10, xmm8
sha1rnds4 xmm8, xmm9, 3
sha1nexte xmm10, xmm4
sha1msg2 xmm5, xmm4
pxor xmm6, xmm4
movups xmm1, xmmword [rcx - 0x10]
aesenc xmm2, xmm0
movdqa xmm9, xmm8
sha1rnds4 xmm8, xmm10, 3
sha1nexte xmm9, xmm5
sha1msg2 xmm6, xmm5
movups xmm0, xmmword [rcx]
aesenc xmm2, xmm1
movdqa xmm5, xmm12
movdqa xmm10, xmm8
sha1rnds4 xmm8, xmm9, 3
sha1nexte xmm10, xmm6
movups xmm1, xmmword [rcx + 0x10]
aesenc xmm2, xmm0
movdqa xmm9, xmm8
sha1rnds4 xmm8, xmm10, 3
sha1nexte xmm9, xmm5
movups xmm0, xmmword [rcx + 0x20]
aesenc xmm2, xmm1
movups xmm1, xmmword [rcx + 0x30]
aesenc xmm2, xmm0
cmp r11d, 0xb
jb 0x140052709
movups xmm0, xmmword [rcx + 0x40]
aesenc xmm2, xmm1
movups xmm1, xmmword [rcx + 0x50]
aesenc xmm2, xmm0
je 0x140052709
movups xmm0, xmmword [rcx + 0x60]
aesenc xmm2, xmm1
movups xmm1, xmmword [rcx + 0x70]
aesenc xmm2, xmm0
aesenclast xmm2, xmm1
movups xmm0, xmmword [rcx - 0x60]
dec rdx
paddd xmm8, xmm11
movups xmmword [rsi + rdi + 0x30], xmm2
lea rdi, [rdi + 0x40]
jne 0x140052270
pshufd xmm8, xmm8, 0x1b
pshufd xmm9, xmm9, 0x1b
movups xmmword [r8], xmm2
movdqu xmmword [r9], xmm8
movd dword [r9 + 0x10], xmm9
movaps xmm6, xmmword [rax - 0xa8]
movaps xmm7, xmmword [rax - 0x98]
movaps xmm8, xmmword [rax - 0x88]
movaps xmm9, xmmword [rax - 0x78]
movaps xmm10, xmmword [rax - 0x68]
movaps xmm11, xmmword [rax - 0x58]
movaps xmm12, xmmword [rax - 0x48]
movaps xmm13, xmmword [rax - 0x38]
movaps xmm14, xmmword [rax - 0x28]
movaps xmm15, xmmword [rax - 0x18]
mov rsp, rax
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret