Function at 0x14015aa40
Capabilities:
Encode data using xor
Encrypt data using salsa20 or chacha

Disassembly:
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]
push rbp
push rbx
push r12
push r13
push r14
push r15
push r9
sub rsp, 0x1e0
lea rbp, [rsp + 0x20]
and rbp, 0xffffffffffffffe0
movaps xmmword [rbp], xmm6
movaps xmmword [rbp + 0x10], xmm7
movaps xmmword [rbp + 0x20], xmm8
movaps xmmword [rbp + 0x30], xmm9
movaps xmmword [rbp + 0x40], xmm10
movaps xmmword [rbp + 0x50], xmm11
movaps xmmword [rbp + 0x60], xmm12
movaps xmmword [rbp + 0x70], xmm13
movaps xmmword [rbp + 0x80], xmm14
movaps xmmword [rbp + 0x90], xmm15
mov rbx, rdx
mov qword [rbp + 0xc0], r8
mov qword [rbp + 0xc8], rbx
mov eax, dword [0x1404ed000]
and eax, 0x120
xor eax, 0x120
je 0x14015f300
cmp rbx, 0x80
jbe 0x14015c9c9
movdqa xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_k]
movdqu xmm4, xmmword [r9]
movdqu xmm8, xmmword [r9 + 0x10]
movdqu xmm12, xmmword [r9 + 0x20]
movdqa xmm7, xmm12
movdqa xmmword [rbp + 0xd0], xmm4
movdqa xmmword [rbp + 0xe0], xmm8
movdqa xmmword [rbp + 0x100], xmm12
mov r10d, 0xa
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b40]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm3, xmm4
pslld xmm3, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm3
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b20]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm3, xmm4
pslld xmm3, 7
psrld xmm4, 0x19
pxor xmm4, xmm3
palignr xmm4, xmm4, 4
palignr xmm8, xmm8, 8
palignr xmm12, xmm12, 0xc
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b40]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm3, xmm4
pslld xmm3, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm3
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b20]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm3, xmm4
pslld xmm3, 7
psrld xmm4, 0x19
pxor xmm4, xmm3
palignr xmm4, xmm4, 0xc
palignr xmm8, xmm8, 8
palignr xmm12, xmm12, 4
dec r10
jne 0x14015ab27
paddd xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm4, xmmword [rbp + 0xd0]
pand xmm0, xmmword [0x140381ba0]
movdqa xmmword [rbp + 0xa0], xmm0
movdqa xmmword [rbp + 0xb0], xmm4
mov r8, r8
call fcn.14015a800
cmp rbx, 0x100
jb 0x14015b427
movdqa xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_k]
movdqa xmm4, xmmword [rbp + 0xd0]
movdqa xmm8, xmmword [rbp + 0xe0]
movdqa xmm1, xmm0
movdqa xmm5, xmm4
movdqa xmm9, xmm8
movdqa xmm2, xmm0
movdqa xmm6, xmm4
movdqa xmm10, xmm8
movdqa xmm3, xmm0
movdqa xmm7, xmm4
movdqa xmm11, xmm8
movdqa xmm15, xmmword [rbp + 0x100]
paddd xmm15, xmmword [0x140381b70]
movdqa xmm14, xmm15
paddd xmm14, xmmword [0x140381b70]
movdqa xmm13, xmm14
paddd xmm13, xmmword [0x140381b70]
movdqa xmm12, xmm13
paddd xmm12, xmmword [0x140381b70]
movdqa xmmword [rbp + 0x100], xmm12
movdqa xmmword [rbp + 0x110], xmm13
movdqa xmmword [rbp + 0x120], xmm14
movdqa xmmword [rbp + 0x130], xmm15
mov ecx, 4
mov r8, rsi
movdqa xmmword [rbp + 0xf0], xmm8
movdqa xmm8, xmmword [0x140381b40]
paddd xmm3, xmm7
paddd xmm2, xmm6
paddd xmm1, xmm5
paddd xmm0, xmm4
pxor xmm15, xmm3
pxor xmm14, xmm2
pxor xmm13, xmm1
pxor xmm12, xmm0
pshufb xmm15, xmm8
pshufb xmm14, xmm8
pshufb xmm13, xmm8
pshufb xmm12, xmm8
movdqa xmm8, xmmword [rbp + 0xf0]
paddd xmm11, xmm15
paddd xmm10, xmm14
paddd xmm9, xmm13
paddd xmm8, xmm12
pxor xmm7, xmm11
add r10, qword [r8]
adc r11, qword [r8 + 8]
adc r12, 1
lea r8, [r8 + 0x10]
pxor xmm6, xmm10
pxor xmm5, xmm9
pxor xmm4, xmm8
movdqa xmmword [rbp + 0xf0], xmm8
movdqa xmm8, xmm7
psrld xmm8, 0x14
pslld xmm7, 0xc
pxor xmm7, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0x14
pslld xmm6, 0xc
pxor xmm6, xmm8
movdqa xmm8, xmm5
psrld xmm8, 0x14
pslld xmm5, 0xc
pxor xmm5, xmm8
movdqa xmm8, xmm4
psrld xmm8, 0x14
pslld xmm4, 0xc
pxor xmm4, xmm8
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
movdqa xmm8, xmmword [0x140381b20]
paddd xmm3, xmm7
paddd xmm2, xmm6
paddd xmm1, xmm5
paddd xmm0, xmm4
pxor xmm15, xmm3
pxor xmm14, xmm2
pxor xmm13, xmm1
pxor xmm12, xmm0
pshufb xmm15, xmm8
pshufb xmm14, xmm8
pshufb xmm13, xmm8
pshufb xmm12, xmm8
movdqa xmm8, xmmword [rbp + 0xf0]
paddd xmm11, xmm15
paddd xmm10, xmm14
paddd xmm9, xmm13
paddd xmm8, xmm12
pxor xmm7, xmm11
pxor xmm6, xmm10
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
pxor xmm5, xmm9
pxor xmm4, xmm8
movdqa xmmword [rbp + 0xf0], xmm8
movdqa xmm8, xmm7
psrld xmm8, 0x19
pslld xmm7, 7
pxor xmm7, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0x19
pslld xmm6, 7
pxor xmm6, xmm8
movdqa xmm8, xmm5
psrld xmm8, 0x19
pslld xmm5, 7
pxor xmm5, xmm8
movdqa xmm8, xmm4
psrld xmm8, 0x19
pslld xmm4, 7
pxor xmm4, xmm8
movdqa xmm8, xmmword [rbp + 0xf0]
imul r9, r12
add r15, r10
adc r9, rdx
palignr xmm7, xmm7, 4
palignr xmm11, xmm11, 8
palignr xmm15, xmm15, 0xc
palignr xmm6, xmm6, 4
palignr xmm10, xmm10, 8
palignr xmm14, xmm14, 0xc
palignr xmm5, xmm5, 4
palignr xmm9, xmm9, 8
palignr xmm13, xmm13, 0xc
palignr xmm4, xmm4, 4
palignr xmm8, xmm8, 8
palignr xmm12, xmm12, 0xc
movdqa xmmword [rbp + 0xf0], xmm8
movdqa xmm8, xmmword [0x140381b40]
paddd xmm3, xmm7
paddd xmm2, xmm6
paddd xmm1, xmm5
paddd xmm0, xmm4
pxor xmm15, xmm3
pxor xmm14, xmm2
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
pxor xmm13, xmm1
pxor xmm12, xmm0
pshufb xmm15, xmm8
pshufb xmm14, xmm8
pshufb xmm13, xmm8
pshufb xmm12, xmm8
movdqa xmm8, xmmword [rbp + 0xf0]
paddd xmm11, xmm15
paddd xmm10, xmm14
paddd xmm9, xmm13
paddd xmm8, xmm12
pxor xmm7, xmm11
pxor xmm6, xmm10
pxor xmm5, xmm9
pxor xmm4, xmm8
movdqa xmmword [rbp + 0xf0], xmm8
movdqa xmm8, xmm7
psrld xmm8, 0x14
pslld xmm7, 0xc
pxor xmm7, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0x14
pslld xmm6, 0xc
pxor xmm6, xmm8
movdqa xmm8, xmm5
psrld xmm8, 0x14
pslld xmm5, 0xc
pxor xmm5, xmm8
movdqa xmm8, xmm4
psrld xmm8, 0x14
pslld xmm4, 0xc
pxor xmm4, xmm8
movdqa xmm8, xmmword [0x140381b20]
paddd xmm3, xmm7
paddd xmm2, xmm6
paddd xmm1, xmm5
paddd xmm0, xmm4
pxor xmm15, xmm3
pxor xmm14, xmm2
pxor xmm13, xmm1
pxor xmm12, xmm0
pshufb xmm15, xmm8
pshufb xmm14, xmm8
pshufb xmm13, xmm8
pshufb xmm12, xmm8
movdqa xmm8, xmmword [rbp + 0xf0]
paddd xmm11, xmm15
paddd xmm10, xmm14
paddd xmm9, xmm13
paddd xmm8, xmm12
pxor xmm7, xmm11
pxor xmm6, xmm10
pxor xmm5, xmm9
pxor xmm4, xmm8
movdqa xmmword [rbp + 0xf0], xmm8
movdqa xmm8, xmm7
psrld xmm8, 0x19
pslld xmm7, 7
pxor xmm7, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0x19
pslld xmm6, 7
pxor xmm6, xmm8
movdqa xmm8, xmm5
psrld xmm8, 0x19
pslld xmm5, 7
pxor xmm5, xmm8
movdqa xmm8, xmm4
psrld xmm8, 0x19
pslld xmm4, 7
pxor xmm4, xmm8
movdqa xmm8, xmmword [rbp + 0xf0]
palignr xmm7, xmm7, 0xc
palignr xmm11, xmm11, 8
palignr xmm15, xmm15, 4
palignr xmm6, xmm6, 0xc
palignr xmm10, xmm10, 8
palignr xmm14, xmm14, 4
palignr xmm5, xmm5, 0xc
palignr xmm9, xmm9, 8
palignr xmm13, xmm13, 4
palignr xmm4, xmm4, 0xc
palignr xmm8, xmm8, 8
palignr xmm12, xmm12, 4
dec rcx
jge 0x14015acf9
add r10, qword [r8]
adc r11, qword [r8 + 8]
adc r12, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
lea r8, [r8 + 0x10]
cmp rcx, 0xfffffffffffffffa
jg 0x14015acf9
paddd xmm3, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm7, xmmword [rbp + 0xd0]
paddd xmm11, xmmword [rbp + 0xe0]
paddd xmm15, xmmword [rbp + 0x130]
paddd xmm2, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm6, xmmword [rbp + 0xd0]
paddd xmm10, xmmword [rbp + 0xe0]
paddd xmm14, xmmword [rbp + 0x120]
paddd xmm1, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm5, xmmword [rbp + 0xd0]
paddd xmm9, xmmword [rbp + 0xe0]
paddd xmm13, xmmword [rbp + 0x110]
paddd xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm4, xmmword [rbp + 0xd0]
paddd xmm8, xmmword [rbp + 0xe0]
paddd xmm12, xmmword [rbp + 0x100]
movdqa xmmword [rbp + 0xf0], xmm12
movdqu xmm12, xmmword [rsi]
pxor xmm12, xmm3
movdqu xmmword [rdi], xmm12
movdqu xmm12, xmmword [rsi + 0x10]
pxor xmm12, xmm7
movdqu xmmword [rdi + 0x10], xmm12
movdqu xmm12, xmmword [rsi + 0x20]
pxor xmm12, xmm11
movdqu xmmword [rdi + 0x20], xmm12
movdqu xmm12, xmmword [rsi + 0x30]
pxor xmm12, xmm15
movdqu xmmword [rdi + 0x30], xmm12
movdqu xmm3, xmmword [rsi + 0x40]
movdqu xmm7, xmmword [rsi + 0x50]
movdqu xmm11, xmmword [rsi + 0x60]
movdqu xmm15, xmmword [rsi + 0x70]
pxor xmm2, xmm3
pxor xmm6, xmm7
pxor xmm10, xmm11
pxor xmm15, xmm14
movdqu xmmword [rdi + 0x40], xmm2
movdqu xmmword [rdi + 0x50], xmm6
movdqu xmmword [rdi + 0x60], xmm10
movdqu xmmword [rdi + 0x70], xmm15
movdqu xmm3, xmmword [rsi + 0x80]
movdqu xmm7, xmmword [rsi + 0x90]
movdqu xmm11, xmmword [rsi + 0xa0]
movdqu xmm15, xmmword [rsi + 0xb0]
pxor xmm1, xmm3
pxor xmm5, xmm7
pxor xmm9, xmm11
pxor xmm15, xmm13
movdqu xmmword [rdi + 0x80], xmm1
movdqu xmmword [rdi + 0x90], xmm5
movdqu xmmword [rdi + 0xa0], xmm9
movdqu xmmword [rdi + 0xb0], xmm15
movdqu xmm3, xmmword [rsi + 0xc0]
movdqu xmm7, xmmword [rsi + 0xd0]
movdqu xmm11, xmmword [rsi + 0xe0]
movdqu xmm15, xmmword [rsi + 0xf0]
pxor xmm0, xmm3
pxor xmm4, xmm7
pxor xmm8, xmm11
pxor xmm15, xmmword [rbp + 0xf0]
movdqu xmmword [rdi + 0xc0], xmm0
movdqu xmmword [rdi + 0xd0], xmm4
movdqu xmmword [rdi + 0xe0], xmm8
movdqu xmmword [rdi + 0xf0], xmm15
lea rsi, [rsi + 0x100]
lea rdi, [rdi + 0x100]
sub rbx, 0x100
jmp 0x14015ac44
test rbx, rbx
je 0x14015c8a4
cmp rbx, 0xc0
ja 0x14015c000
cmp rbx, 0x80
ja 0x14015b9c3
cmp rbx, 0x40
ja 0x14015b658
movdqa xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_k]
movdqa xmm4, xmmword [rbp + 0xd0]
movdqa xmm8, xmmword [rbp + 0xe0]
movdqa xmm12, xmmword [rbp + 0x100]
paddd xmm12, xmmword [0x140381b70]
movdqa xmmword [rbp + 0x100], xmm12
xor r8, r8
mov rcx, rbx
cmp rcx, 0x10
jb 0x14015b532
add r10, qword [rsi + r8]
adc r11, qword [r8 + rsi + 8]
adc r12, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
sub rcx, 0x10
add r8, 0x10
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b40]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm3, xmm4
pslld xmm3, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm3
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b20]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm3, xmm4
pslld xmm3, 7
psrld xmm4, 0x19
pxor xmm4, xmm3
palignr xmm4, xmm4, 4
palignr xmm8, xmm8, 8
palignr xmm12, xmm12, 0xc
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b40]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm3, xmm4
pslld xmm3, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm3
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b20]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm3, xmm4
pslld xmm3, 7
psrld xmm4, 0x19
pxor xmm4, xmm3
palignr xmm4, xmm4, 0xc
palignr xmm8, xmm8, 8
palignr xmm12, xmm12, 4
cmp rcx, 0x10
jae 0x14015b498
cmp r8, 0xa0
jne 0x14015b532
paddd xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm4, xmmword [rbp + 0xd0]
paddd xmm8, xmmword [rbp + 0xe0]
paddd xmm12, xmmword [rbp + 0x100]
jmp 0x14015c781
movdqa xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_k]
movdqa xmm4, xmmword [rbp + 0xd0]
movdqa xmm8, xmmword [rbp + 0xe0]
movdqa xmm1, xmm0
movdqa xmm5, xmm4
movdqa xmm9, xmm8
movdqa xmm13, xmmword [rbp + 0x100]
paddd xmm13, xmmword [0x140381b70]
movdqa xmm12, xmm13
paddd xmm12, xmmword [0x140381b70]
movdqa xmmword [rbp + 0x100], xmm12
movdqa xmmword [rbp + 0x110], xmm13
mov rcx, rbx
and rcx, 0xfffffffffffffff0
xor r8, r8
add r10, qword [rsi + r8]
adc r11, qword [r8 + rsi + 8]
adc r12, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
add r8, 0x10
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b40]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm3, xmm4
pslld xmm3, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm3
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b20]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm3, xmm4
pslld xmm3, 7
psrld xmm4, 0x19
pxor xmm4, xmm3
palignr xmm4, xmm4, 4
palignr xmm8, xmm8, 8
palignr xmm12, xmm12, 0xc
paddd xmm1, xmm5
pxor xmm13, xmm1
pshufb xmm13, xmmword [0x140381b40]
paddd xmm9, xmm13
pxor xmm5, xmm9
movdqa xmm3, xmm5
pslld xmm3, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm3
paddd xmm1, xmm5
pxor xmm13, xmm1
pshufb xmm13, xmmword [0x140381b20]
paddd xmm9, xmm13
pxor xmm5, xmm9
movdqa xmm3, xmm5
pslld xmm3, 7
psrld xmm5, 0x19
pxor xmm5, xmm3
palignr xmm5, xmm5, 4
palignr xmm9, xmm9, 8
palignr xmm13, xmm13, 0xc
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b40]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm3, xmm4
pslld xmm3, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm3
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b20]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm3, xmm4
pslld xmm3, 7
psrld xmm4, 0x19
pxor xmm4, xmm3
palignr xmm4, xmm4, 0xc
palignr xmm8, xmm8, 8
palignr xmm12, xmm12, 4
paddd xmm1, xmm5
pxor xmm13, xmm1
pshufb xmm13, xmmword [0x140381b40]
paddd xmm9, xmm13
pxor xmm5, xmm9
movdqa xmm3, xmm5
pslld xmm3, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm3
paddd xmm1, xmm5
pxor xmm13, xmm1
pshufb xmm13, xmmword [0x140381b20]
paddd xmm9, xmm13
pxor xmm5, xmm9
movdqa xmm3, xmm5
pslld xmm3, 7
psrld xmm5, 0x19
pxor xmm5, xmm3
palignr xmm5, xmm5, 0xc
palignr xmm9, xmm9, 8
palignr xmm13, xmm13, 4
cmp r8, rcx
jb 0x14015b6ba
cmp r8, 0xa0
jne 0x14015b750
paddd xmm1, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm5, xmmword [rbp + 0xd0]
paddd xmm9, xmmword [rbp + 0xe0]
paddd xmm13, xmmword [rbp + 0x110]
paddd xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm4, xmmword [rbp + 0xd0]
paddd xmm8, xmmword [rbp + 0xe0]
paddd xmm12, xmmword [rbp + 0x100]
movdqu xmm3, xmmword [rsi]
movdqu xmm7, xmmword [rsi + 0x10]
movdqu xmm11, xmmword [rsi + 0x20]
movdqu xmm15, xmmword [rsi + 0x30]
pxor xmm1, xmm3
pxor xmm5, xmm7
pxor xmm9, xmm11
pxor xmm15, xmm13
movdqu xmmword [rdi], xmm1
movdqu xmmword [rdi + 0x10], xmm5
movdqu xmmword [rdi + 0x20], xmm9
movdqu xmmword [rdi + 0x30], xmm15
sub rbx, 0x40
lea rsi, [rsi + 0x40]
lea rdi, [rdi + 0x40]
jmp 0x14015c781
movdqa xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_k]
movdqa xmm4, xmmword [rbp + 0xd0]
movdqa xmm8, xmmword [rbp + 0xe0]
movdqa xmm1, xmm0
movdqa xmm5, xmm4
movdqa xmm9, xmm8
movdqa xmm2, xmm0
movdqa xmm6, xmm4
movdqa xmm10, xmm8
movdqa xmm14, xmmword [rbp + 0x100]
paddd xmm14, xmmword [0x140381b70]
movdqa xmm13, xmm14
paddd xmm13, xmmword [0x140381b70]
movdqa xmm12, xmm13
paddd xmm12, xmmword [0x140381b70]
movdqa xmmword [rbp + 0x100], xmm12
movdqa xmmword [rbp + 0x110], xmm13
movdqa xmmword [rbp + 0x120], xmm14
mov rcx, rbx
mov r8d, 0xa0
cmp rcx, 0xa0
cmovg rcx, r8
and rcx, 0xfffffffffffffff0
xor r8, r8
add r10, qword [rsi + r8]
adc r11, qword [r8 + rsi + 8]
adc r12, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
add r8, 0x10
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b40]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm3, xmm4
pslld xmm3, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm3
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b20]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm3, xmm4
pslld xmm3, 7
psrld xmm4, 0x19
pxor xmm4, xmm3
palignr xmm4, xmm4, 4
palignr xmm8, xmm8, 8
palignr xmm12, xmm12, 0xc
paddd xmm1, xmm5
pxor xmm13, xmm1
pshufb xmm13, xmmword [0x140381b40]
paddd xmm9, xmm13
pxor xmm5, xmm9
movdqa xmm3, xmm5
pslld xmm3, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm3
paddd xmm1, xmm5
pxor xmm13, xmm1
pshufb xmm13, xmmword [0x140381b20]
paddd xmm9, xmm13
pxor xmm5, xmm9
movdqa xmm3, xmm5
pslld xmm3, 7
psrld xmm5, 0x19
pxor xmm5, xmm3
palignr xmm5, xmm5, 4
palignr xmm9, xmm9, 8
palignr xmm13, xmm13, 0xc
paddd xmm2, xmm6
pxor xmm14, xmm2
pshufb xmm14, xmmword [0x140381b40]
paddd xmm10, xmm14
pxor xmm6, xmm10
movdqa xmm3, xmm6
pslld xmm3, 0xc
psrld xmm6, 0x14
pxor xmm6, xmm3
paddd xmm2, xmm6
pxor xmm14, xmm2
pshufb xmm14, xmmword [0x140381b20]
paddd xmm10, xmm14
pxor xmm6, xmm10
movdqa xmm3, xmm6
pslld xmm3, 7
psrld xmm6, 0x19
pxor xmm6, xmm3
palignr xmm6, xmm6, 4
palignr xmm10, xmm10, 8
palignr xmm14, xmm14, 0xc
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b40]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm3, xmm4
pslld xmm3, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm3
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b20]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm3, xmm4
pslld xmm3, 7
psrld xmm4, 0x19
pxor xmm4, xmm3
palignr xmm4, xmm4, 0xc
palignr xmm8, xmm8, 8
palignr xmm12, xmm12, 4
paddd xmm1, xmm5
pxor xmm13, xmm1
pshufb xmm13, xmmword [0x140381b40]
paddd xmm9, xmm13
pxor xmm5, xmm9
movdqa xmm3, xmm5
pslld xmm3, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm3
paddd xmm1, xmm5
pxor xmm13, xmm1
pshufb xmm13, xmmword [0x140381b20]
paddd xmm9, xmm13
pxor xmm5, xmm9
movdqa xmm3, xmm5
pslld xmm3, 7
psrld xmm5, 0x19
pxor xmm5, xmm3
palignr xmm5, xmm5, 0xc
palignr xmm9, xmm9, 8
palignr xmm13, xmm13, 4
paddd xmm2, xmm6
pxor xmm14, xmm2
pshufb xmm14, xmmword [0x140381b40]
paddd xmm10, xmm14
pxor xmm6, xmm10
movdqa xmm3, xmm6
pslld xmm3, 0xc
psrld xmm6, 0x14
pxor xmm6, xmm3
paddd xmm2, xmm6
pxor xmm14, xmm2
pshufb xmm14, xmmword [0x140381b20]
paddd xmm10, xmm14
pxor xmm6, xmm10
movdqa xmm3, xmm6
pslld xmm3, 7
psrld xmm6, 0x19
pxor xmm6, xmm3
palignr xmm6, xmm6, 0xc
palignr xmm10, xmm10, 8
palignr xmm14, xmm14, 4
cmp r8, rcx
jb 0x14015ba5a
cmp r8, 0xa0
jne 0x14015baf0
cmp rbx, 0xb0
jb 0x14015bf06
add r10, qword [rsi + 0xa0]
adc r11, qword [rsi + 0xa8]
adc r12, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
cmp rbx, 0xc0
jb 0x14015bf06
add r10, qword [rsi + 0xb0]
adc r11, qword [rsi + 0xb8]
adc r12, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
paddd xmm2, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm6, xmmword [rbp + 0xd0]
paddd xmm10, xmmword [rbp + 0xe0]
paddd xmm14, xmmword [rbp + 0x120]
paddd xmm1, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm5, xmmword [rbp + 0xd0]
paddd xmm9, xmmword [rbp + 0xe0]
paddd xmm13, xmmword [rbp + 0x110]
paddd xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm4, xmmword [rbp + 0xd0]
paddd xmm8, xmmword [rbp + 0xe0]
paddd xmm12, xmmword [rbp + 0x100]
movdqu xmm3, xmmword [rsi]
movdqu xmm7, xmmword [rsi + 0x10]
movdqu xmm11, xmmword [rsi + 0x20]
movdqu xmm15, xmmword [rsi + 0x30]
pxor xmm2, xmm3
pxor xmm6, xmm7
pxor xmm10, xmm11
pxor xmm15, xmm14
movdqu xmmword [rdi], xmm2
movdqu xmmword [rdi + 0x10], xmm6
movdqu xmmword [rdi + 0x20], xmm10
movdqu xmmword [rdi + 0x30], xmm15
movdqu xmm3, xmmword [rsi + 0x40]
movdqu xmm7, xmmword [rsi + 0x50]
movdqu xmm11, xmmword [rsi + 0x60]
movdqu xmm15, xmmword [rsi + 0x70]
pxor xmm1, xmm3
pxor xmm5, xmm7
pxor xmm9, xmm11
pxor xmm15, xmm13
movdqu xmmword [rdi + 0x40], xmm1
movdqu xmmword [rdi + 0x50], xmm5
movdqu xmmword [rdi + 0x60], xmm9
movdqu xmmword [rdi + 0x70], xmm15
sub rbx, 0x80
lea rsi, [rsi + 0x80]
lea rdi, [rdi + 0x80]
jmp 0x14015c781
movdqa xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_k]
movdqa xmm4, xmmword [rbp + 0xd0]
movdqa xmm8, xmmword [rbp + 0xe0]
movdqa xmm1, xmm0
movdqa xmm5, xmm4
movdqa xmm9, xmm8
movdqa xmm2, xmm0
movdqa xmm6, xmm4
movdqa xmm10, xmm8
movdqa xmm3, xmm0
movdqa xmm7, xmm4
movdqa xmm11, xmm8
movdqa xmm15, xmmword [rbp + 0x100]
paddd xmm15, xmmword [0x140381b70]
movdqa xmm14, xmm15
paddd xmm14, xmmword [0x140381b70]
movdqa xmm13, xmm14
paddd xmm13, xmmword [0x140381b70]
movdqa xmm12, xmm13
paddd xmm12, xmmword [0x140381b70]
movdqa xmmword [rbp + 0x100], xmm12
movdqa xmmword [rbp + 0x110], xmm13
movdqa xmmword [rbp + 0x120], xmm14
movdqa xmmword [rbp + 0x130], xmm15
xor r8, r8
add r10, qword [rsi + r8]
adc r11, qword [r8 + rsi + 8]
adc r12, 1
movdqa xmmword [rbp + 0xf0], xmm11
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b40]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm11, xmm4
pslld xmm11, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm11
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b20]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm11, xmm4
pslld xmm11, 7
psrld xmm4, 0x19
pxor xmm4, xmm11
palignr xmm4, xmm4, 4
palignr xmm8, xmm8, 8
palignr xmm12, xmm12, 0xc
paddd xmm1, xmm5
pxor xmm13, xmm1
pshufb xmm13, xmmword [0x140381b40]
paddd xmm9, xmm13
pxor xmm5, xmm9
movdqa xmm11, xmm5
pslld xmm11, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm11
paddd xmm1, xmm5
pxor xmm13, xmm1
pshufb xmm13, xmmword [0x140381b20]
paddd xmm9, xmm13
pxor xmm5, xmm9
movdqa xmm11, xmm5
pslld xmm11, 7
psrld xmm5, 0x19
pxor xmm5, xmm11
palignr xmm5, xmm5, 4
palignr xmm9, xmm9, 8
palignr xmm13, xmm13, 0xc
paddd xmm2, xmm6
pxor xmm14, xmm2
pshufb xmm14, xmmword [0x140381b40]
paddd xmm10, xmm14
pxor xmm6, xmm10
movdqa xmm11, xmm6
pslld xmm11, 0xc
psrld xmm6, 0x14
pxor xmm6, xmm11
paddd xmm2, xmm6
pxor xmm14, xmm2
pshufb xmm14, xmmword [0x140381b20]
paddd xmm10, xmm14
pxor xmm6, xmm10
movdqa xmm11, xmm6
pslld xmm11, 7
psrld xmm6, 0x19
pxor xmm6, xmm11
palignr xmm6, xmm6, 4
palignr xmm10, xmm10, 8
palignr xmm14, xmm14, 0xc
movdqa xmm11, xmmword [rbp + 0xf0]
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
movdqa xmmword [rbp + 0xf0], xmm9
paddd xmm3, xmm7
pxor xmm15, xmm3
pshufb xmm15, xmmword [0x140381b40]
paddd xmm11, xmm15
pxor xmm7, xmm11
movdqa xmm9, xmm7
pslld xmm9, 0xc
psrld xmm7, 0x14
pxor xmm7, xmm9
paddd xmm3, xmm7
pxor xmm15, xmm3
pshufb xmm15, xmmword [0x140381b20]
paddd xmm11, xmm15
pxor xmm7, xmm11
movdqa xmm9, xmm7
pslld xmm9, 7
psrld xmm7, 0x19
pxor xmm7, xmm9
palignr xmm7, xmm7, 4
palignr xmm11, xmm11, 8
palignr xmm15, xmm15, 0xc
movdqa xmm9, xmmword [rbp + 0xf0]
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
movdqa xmmword [rbp + 0xf0], xmm11
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b40]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm11, xmm4
pslld xmm11, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm11
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b20]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm11, xmm4
pslld xmm11, 7
psrld xmm4, 0x19
pxor xmm4, xmm11
palignr xmm4, xmm4, 0xc
palignr xmm8, xmm8, 8
palignr xmm12, xmm12, 4
paddd xmm1, xmm5
pxor xmm13, xmm1
pshufb xmm13, xmmword [0x140381b40]
paddd xmm9, xmm13
pxor xmm5, xmm9
movdqa xmm11, xmm5
pslld xmm11, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm11
paddd xmm1, xmm5
pxor xmm13, xmm1
pshufb xmm13, xmmword [0x140381b20]
paddd xmm9, xmm13
pxor xmm5, xmm9
movdqa xmm11, xmm5
pslld xmm11, 7
psrld xmm5, 0x19
pxor xmm5, xmm11
palignr xmm5, xmm5, 0xc
palignr xmm9, xmm9, 8
palignr xmm13, xmm13, 4
imul r9, r12
add r15, r10
adc r9, rdx
paddd xmm2, xmm6
pxor xmm14, xmm2
pshufb xmm14, xmmword [0x140381b40]
paddd xmm10, xmm14
pxor xmm6, xmm10
movdqa xmm11, xmm6
pslld xmm11, 0xc
psrld xmm6, 0x14
pxor xmm6, xmm11
paddd xmm2, xmm6
pxor xmm14, xmm2
pshufb xmm14, xmmword [0x140381b20]
paddd xmm10, xmm14
pxor xmm6, xmm10
movdqa xmm11, xmm6
pslld xmm11, 7
psrld xmm6, 0x19
pxor xmm6, xmm11
palignr xmm6, xmm6, 0xc
palignr xmm10, xmm10, 8
palignr xmm14, xmm14, 4
movdqa xmm11, xmmword [rbp + 0xf0]
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
movdqa xmmword [rbp + 0xf0], xmm9
paddd xmm3, xmm7
pxor xmm15, xmm3
pshufb xmm15, xmmword [0x140381b40]
paddd xmm11, xmm15
pxor xmm7, xmm11
movdqa xmm9, xmm7
pslld xmm9, 0xc
psrld xmm7, 0x14
pxor xmm7, xmm9
paddd xmm3, xmm7
pxor xmm15, xmm3
pshufb xmm15, xmmword [0x140381b20]
paddd xmm11, xmm15
pxor xmm7, xmm11
movdqa xmm9, xmm7
pslld xmm9, 7
psrld xmm7, 0x19
pxor xmm7, xmm9
palignr xmm7, xmm7, 0xc
palignr xmm11, xmm11, 8
palignr xmm15, xmm15, 4
movdqa xmm9, xmmword [rbp + 0xf0]
add r8, 0x10
cmp r8, 0xa0
jb 0x14015c0a3
mov rcx, rbx
and rcx, 0xfffffffffffffff0
add r10, qword [rsi + r8]
adc r11, qword [r8 + rsi + 8]
adc r12, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
add r8, 0x10
cmp r8, rcx
jb 0x14015c559
paddd xmm3, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm7, xmmword [rbp + 0xd0]
paddd xmm11, xmmword [rbp + 0xe0]
paddd xmm15, xmmword [rbp + 0x130]
paddd xmm2, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm6, xmmword [rbp + 0xd0]
paddd xmm10, xmmword [rbp + 0xe0]
paddd xmm14, xmmword [rbp + 0x120]
paddd xmm1, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm5, xmmword [rbp + 0xd0]
paddd xmm9, xmmword [rbp + 0xe0]
paddd xmm13, xmmword [rbp + 0x110]
paddd xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm4, xmmword [rbp + 0xd0]
paddd xmm8, xmmword [rbp + 0xe0]
paddd xmm12, xmmword [rbp + 0x100]
movdqa xmmword [rbp + 0xf0], xmm12
movdqu xmm12, xmmword [rsi]
pxor xmm12, xmm3
movdqu xmmword [rdi], xmm12
movdqu xmm12, xmmword [rsi + 0x10]
pxor xmm12, xmm7
movdqu xmmword [rdi + 0x10], xmm12
movdqu xmm12, xmmword [rsi + 0x20]
pxor xmm12, xmm11
movdqu xmmword [rdi + 0x20], xmm12
movdqu xmm12, xmmword [rsi + 0x30]
pxor xmm12, xmm15
movdqu xmmword [rdi + 0x30], xmm12
movdqu xmm3, xmmword [rsi + 0x40]
movdqu xmm7, xmmword [rsi + 0x50]
movdqu xmm11, xmmword [rsi + 0x60]
movdqu xmm15, xmmword [rsi + 0x70]
pxor xmm2, xmm3
pxor xmm6, xmm7
pxor xmm10, xmm11
pxor xmm15, xmm14
movdqu xmmword [rdi + 0x40], xmm2
movdqu xmmword [rdi + 0x50], xmm6
movdqu xmmword [rdi + 0x60], xmm10
movdqu xmmword [rdi + 0x70], xmm15
movdqu xmm3, xmmword [rsi + 0x80]
movdqu xmm7, xmmword [rsi + 0x90]
movdqu xmm11, xmmword [rsi + 0xa0]
movdqu xmm15, xmmword [rsi + 0xb0]
pxor xmm1, xmm3
pxor xmm5, xmm7
pxor xmm9, xmm11
pxor xmm15, xmm13
movdqu xmmword [rdi + 0x80], xmm1
movdqu xmmword [rdi + 0x90], xmm5
movdqu xmmword [rdi + 0xa0], xmm9
movdqu xmmword [rdi + 0xb0], xmm15
movdqa xmm12, xmmword [rbp + 0xf0]
sub rbx, 0xc0
lea rsi, [rsi + 0xc0]
lea rdi, [rdi + 0xc0]
cmp rbx, 0x10
jb 0x14015c7b6
sub rbx, 0x10
movdqu xmm3, xmmword [rsi]
pxor xmm0, xmm3
movdqu xmmword [rdi], xmm0
lea rsi, [rsi + 0x10]
lea rdi, [rdi + 0x10]
movdqa xmm0, xmm4
movdqa xmm4, xmm8
movdqa xmm8, xmm12
jmp 0x14015c781
movdqa xmm1, xmm0
test rbx, rbx
je 0x14015c8a4
pxor xmm3, xmm3
lea rsi, [rsi + rbx - 1]
mov r8, rbx
pslldq xmm3, 1
pinsrb xmm3, byte [rsi], 0
sub rsi, 1
sub r8, 1
jne 0x14015c7cf
movq r13, xmm3
pextrq r14, xmm3, 1
pxor xmm3, xmm1
pextrb byte [rdi], xmm3, 0
psrldq xmm3, 1
add rdi, 1
sub rbx, 1
jne 0x14015c7f8
add r10, r13
adc r11, r14
adc r12, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
add r10, qword [rbp + 0xc0]
adc r11, qword [rbp + 0xc8]
adc r12, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
mov r13, r10
mov r14, r11
mov r15, r12
sub r10, 0xfffffffffffffffb
sbb r11, 0xffffffffffffffff
sbb r12, 3
cmovb r10, r13
cmovb r11, r14
cmovb r12, r15
add r10, qword [rbp + 0xb0]
adc r11, qword [rbp + 0xb8]
movaps xmm6, xmmword [rbp]
movaps xmm7, xmmword [rbp + 0x10]
movaps xmm8, xmmword [rbp + 0x20]
movaps xmm9, xmmword [rbp + 0x30]
movaps xmm10, xmmword [rbp + 0x40]
movaps xmm11, xmmword [rbp + 0x50]
movaps xmm12, xmmword [rbp + 0x60]
movaps xmm13, xmmword [rbp + 0x70]
movaps xmm14, xmmword [rbp + 0x80]
movaps xmm15, xmmword [rbp + 0x90]
add rsp, 0x1e0
pop r9
mov qword [r9], r10
mov qword [r9 + 8], r11
pop r15
pop r14
pop r13
pop r12
pop rbx
pop rbp
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
ret
movdqu xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_k]
movdqa xmm1, xmm0
movdqa xmm2, xmm0
movdqu xmm4, xmmword [r9]
movdqa xmm5, xmm4
movdqa xmm6, xmm4
movdqu xmm8, xmmword [r9 + 0x10]
movdqa xmm9, xmm8
movdqa xmm10, xmm8
movdqu xmm12, xmmword [r9 + 0x20]
movdqa xmm13, xmm12
paddd xmm13, xmmword [0x140381b70]
movdqa xmm14, xmm13
paddd xmm14, xmmword [0x140381b70]
movdqa xmm7, xmm4
movdqa xmm11, xmm8
movdqa xmm15, xmm13
mov r10d, 0xa
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b40]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm3, xmm4
pslld xmm3, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm3
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b20]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm3, xmm4
pslld xmm3, 7
psrld xmm4, 0x19
pxor xmm4, xmm3
palignr xmm4, xmm4, 4
palignr xmm8, xmm8, 8
palignr xmm12, xmm12, 0xc
paddd xmm1, xmm5
pxor xmm13, xmm1
pshufb xmm13, xmmword [0x140381b40]
paddd xmm9, xmm13
pxor xmm5, xmm9
movdqa xmm3, xmm5
pslld xmm3, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm3
paddd xmm1, xmm5
pxor xmm13, xmm1
pshufb xmm13, xmmword [0x140381b20]
paddd xmm9, xmm13
pxor xmm5, xmm9
movdqa xmm3, xmm5
pslld xmm3, 7
psrld xmm5, 0x19
pxor xmm5, xmm3
palignr xmm5, xmm5, 4
palignr xmm9, xmm9, 8
palignr xmm13, xmm13, 0xc
paddd xmm2, xmm6
pxor xmm14, xmm2
pshufb xmm14, xmmword [0x140381b40]
paddd xmm10, xmm14
pxor xmm6, xmm10
movdqa xmm3, xmm6
pslld xmm3, 0xc
psrld xmm6, 0x14
pxor xmm6, xmm3
paddd xmm2, xmm6
pxor xmm14, xmm2
pshufb xmm14, xmmword [0x140381b20]
paddd xmm10, xmm14
pxor xmm6, xmm10
movdqa xmm3, xmm6
pslld xmm3, 7
psrld xmm6, 0x19
pxor xmm6, xmm3
palignr xmm6, xmm6, 4
palignr xmm10, xmm10, 8
palignr xmm14, xmm14, 0xc
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b40]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm3, xmm4
pslld xmm3, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm3
paddd xmm0, xmm4
pxor xmm12, xmm0
pshufb xmm12, xmmword [0x140381b20]
paddd xmm8, xmm12
pxor xmm4, xmm8
movdqa xmm3, xmm4
pslld xmm3, 7
psrld xmm4, 0x19
pxor xmm4, xmm3
palignr xmm4, xmm4, 0xc
palignr xmm8, xmm8, 8
palignr xmm12, xmm12, 4
paddd xmm1, xmm5
pxor xmm13, xmm1
pshufb xmm13, xmmword [0x140381b40]
paddd xmm9, xmm13
pxor xmm5, xmm9
movdqa xmm3, xmm5
pslld xmm3, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm3
paddd xmm1, xmm5
pxor xmm13, xmm1
pshufb xmm13, xmmword [0x140381b20]
paddd xmm9, xmm13
pxor xmm5, xmm9
movdqa xmm3, xmm5
pslld xmm3, 7
psrld xmm5, 0x19
pxor xmm5, xmm3
palignr xmm5, xmm5, 0xc
palignr xmm9, xmm9, 8
palignr xmm13, xmm13, 4
paddd xmm2, xmm6
pxor xmm14, xmm2
pshufb xmm14, xmmword [0x140381b40]
paddd xmm10, xmm14
pxor xmm6, xmm10
movdqa xmm3, xmm6
pslld xmm3, 0xc
psrld xmm6, 0x14
pxor xmm6, xmm3
paddd xmm2, xmm6
pxor xmm14, xmm2
pshufb xmm14, xmmword [0x140381b20]
paddd xmm10, xmm14
pxor xmm6, xmm10
movdqa xmm3, xmm6
pslld xmm3, 7
psrld xmm6, 0x19
pxor xmm6, xmm3
palignr xmm6, xmm6, 0xc
palignr xmm10, xmm10, 8
palignr xmm14, xmm14, 4
dec r10
jne 0x14015ca2c
paddd xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm1, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm2, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm4, xmm7
paddd xmm5, xmm7
paddd xmm6, xmm7
paddd xmm9, xmm11
paddd xmm10, xmm11
paddd xmm13, xmm15
paddd xmm15, xmmword [0x140381b70]
paddd xmm14, xmm15
pand xmm0, xmmword [0x140381ba0]
movdqa xmmword [rbp + 0xa0], xmm0
movdqa xmmword [rbp + 0xb0], xmm4
mov r8, r8
call fcn.14015a800
cmp rbx, 0x10
jb 0x14015c7ba
sub rbx, 0x10
add r10, qword [rsi]
adc r11, qword [rsi + 8]
adc r12, 1
movdqu xmm3, xmmword [rsi]
pxor xmm1, xmm3
movdqu xmmword [rdi], xmm1
lea rsi, [rsi + 0x10]
lea rdi, [rdi + 0x10]
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
movdqa xmm1, xmm5
movdqa xmm5, xmm9
movdqa xmm9, xmm13
movdqa xmm13, xmm2
movdqa xmm2, xmm6
movdqa xmm6, xmm10
movdqa xmm10, xmm14
jmp 0x14015cd42
vzeroupper
vmovdqa ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vbroadcasti128 ymm4, xmmword [r9]
vbroadcasti128 ymm8, xmmword [r9 + 0x10]
vbroadcasti128 ymm12, xmmword [r9 + 0x20]
vpaddd ymm12, ymm12, ymmword [0x140381b60]
cmp rbx, 0xc0
jbe 0x140161294
cmp rbx, 0x140
jbe 0x1401616fd
vmovdqa ymmword [rbp + 0xe0], ymm4
vmovdqa ymmword [rbp + 0x100], ymm8
vmovdqa ymmword [rbp + 0x140], ymm12
mov r10d, 0xa
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b40]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpsrld ymm3, ymm4, 0x14
vpslld ymm4, ymm4, 0xc
vpxor ymm4, ymm4, ymm3
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b20]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpslld ymm3, ymm4, 7
vpsrld ymm4, ymm4, 0x19
vpxor ymm4, ymm4, ymm3
vpalignr ymm12, ymm12, ymm12, 0xc
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm4, ymm4, ymm4, 4
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b40]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpsrld ymm3, ymm4, 0x14
vpslld ymm4, ymm4, 0xc
vpxor ymm4, ymm4, ymm3
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b20]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpslld ymm3, ymm4, 7
vpsrld ymm4, ymm4, 0x19
vpxor ymm4, ymm4, ymm3
vpalignr ymm12, ymm12, ymm12, 4
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm4, ymm4, ymm4, 0xc
dec r10
jne 0x14015f35c
vpaddd ymm0, ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm4, ymm4, ymmword [rbp + 0xe0]
vpaddd ymm8, ymm8, ymmword [rbp + 0x100]
vpaddd ymm12, ymm12, ymmword [rbp + 0x140]
vperm2i128 ymm3, ymm4, ymm0, 2
vpand ymm3, ymm3, ymmword [0x140381ba0]
vmovdqa ymmword [rbp + 0xa0], ymm3
vperm2i128 ymm0, ymm4, ymm0, 0x13
vperm2i128 ymm4, ymm12, ymm8, 0x13
mov r8, r8
call fcn.14015a800
xor rcx, rcx
add r10, qword [rsi + rcx]
adc r11, qword [rcx + rsi + 8]
adc r12, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
add rcx, 0x10
cmp rcx, 0x40
jne 0x14015f47a
vpxor ymm0, ymm0, ymmword [rsi]
vpxor ymm4, ymm4, ymmword [rsi + 0x20]
vmovdqu ymmword [rdi], ymm0
vmovdqu ymmword [rdi + 0x20], ymm4
lea rsi, [rsi + 0x40]
lea rdi, [rdi + 0x40]
sub rbx, 0x40
cmp rbx, 0x200
jb 0x14015fddf
vmovdqa ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vmovdqa ymm4, ymmword [rbp + 0xe0]
vmovdqa ymm8, ymmword [rbp + 0x100]
vmovdqa ymm1, ymm0
vmovdqa ymm5, ymm4
vmovdqa ymm9, ymm8
vmovdqa ymm2, ymm0
vmovdqa ymm6, ymm4
vmovdqa ymm10, ymm8
vmovdqa ymm3, ymm0
vmovdqa ymm7, ymm4
vmovdqa ymm11, ymm8
vmovdqa ymm12, ymmword [0x140381b80]
vpaddd ymm15, ymm12, ymmword [rbp + 0x140]
vpaddd ymm14, ymm12, ymm15
vpaddd ymm13, ymm12, ymm14
vpaddd ymm12, ymm12, ymm13
vmovdqa ymmword [rbp + 0x1a0], ymm15
vmovdqa ymmword [rbp + 0x180], ymm14
vmovdqa ymmword [rbp + 0x160], ymm13
vmovdqa ymmword [rbp + 0x140], ymm12
xor rcx, rcx
add r10, qword [rsi + rcx]
adc r11, qword [rcx + rsi + 8]
adc r12, 1
vmovdqa ymmword [rbp + 0x120], ymm8
vmovdqa ymm8, ymmword [0x140381b40]
vpaddd ymm3, ymm3, ymm7
vpaddd ymm2, ymm2, ymm6
vpaddd ymm1, ymm1, ymm5
vpaddd ymm0, ymm0, ymm4
vpxor ymm15, ymm15, ymm3
vpxor ymm14, ymm14, ymm2
vpxor ymm13, ymm13, ymm1
vpxor ymm12, ymm12, ymm0
mov rdx, qword [rbp + 0xa0]
mov r15, rdx
mulx r14, r13, r10
mulx rdx, rax, r11
imul r15, r12
add r14, rax
adc r15, rdx
vpshufb ymm15, ymm15, ymm8
vpshufb ymm14, ymm14, ymm8
vpshufb ymm13, ymm13, ymm8
vpshufb ymm12, ymm12, ymm8
vpaddd ymm11, ymm11, ymm15
vpaddd ymm10, ymm10, ymm14
vpaddd ymm9, ymm9, ymm13
vpaddd ymm8, ymm12, ymmword [rbp + 0x120]
vpxor ymm7, ymm7, ymm11
mov rdx, qword [rbp + 0xa8]
mulx rax, r10, r10
add r14, r10
mulx r9, r11, r11
adc r15, r11
adc r9, 0
imul rdx, r12
vpxor ymm6, ymm6, ymm10
vpxor ymm5, ymm5, ymm9
vpxor ymm4, ymm4, ymm8
vmovdqa ymmword [rbp + 0x120], ymm8
vpsrld ymm8, ymm7, 0x14
vpslld ymm7, ymm7, 0xc
vpxor ymm7, ymm7, ymm8
vpsrld ymm8, ymm6, 0x14
vpslld ymm6, ymm6, 0xc
vpxor ymm6, ymm6, ymm8
vpsrld ymm8, ymm5, 0x14
vpslld ymm5, ymm5, 0xc
add r15, rax
adc r9, rdx
vpxor ymm5, ymm5, ymm8
vpsrld ymm8, ymm4, 0x14
vpslld ymm4, ymm4, 0xc
vpxor ymm4, ymm4, ymm8
vmovdqa ymm8, ymmword [0x140381b20]
vpaddd ymm3, ymm3, ymm7
vpaddd ymm2, ymm2, ymm6
vpaddd ymm1, ymm1, ymm5
vpaddd ymm0, ymm0, ymm4
vpxor ymm15, ymm15, ymm3
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
vpxor ymm14, ymm14, ymm2
vpxor ymm13, ymm13, ymm1
vpxor ymm12, ymm12, ymm0
vpshufb ymm15, ymm15, ymm8
vpshufb ymm14, ymm14, ymm8
vpshufb ymm13, ymm13, ymm8
vpshufb ymm12, ymm12, ymm8
vpaddd ymm11, ymm11, ymm15
vpaddd ymm10, ymm10, ymm14
add r10, qword [rcx + rsi + 0x10]
adc r11, qword [rcx + rsi + 0x18]
adc r12, 1
vpaddd ymm9, ymm9, ymm13
vpaddd ymm8, ymm12, ymmword [rbp + 0x120]
vpxor ymm7, ymm7, ymm11
vpxor ymm6, ymm6, ymm10
vpxor ymm5, ymm5, ymm9
vpxor ymm4, ymm4, ymm8
vmovdqa ymmword [rbp + 0x120], ymm8
vpsrld ymm8, ymm7, 0x19
mov rdx, qword [rbp + 0xa0]
mov r15, rdx
mulx r14, r13, r10
mulx rdx, rax, r11
imul r15, r12
add r14, rax
adc r15, rdx
vpslld ymm7, ymm7, 7
vpxor ymm7, ymm7, ymm8
vpsrld ymm8, ymm6, 0x19
vpslld ymm6, ymm6, 7
vpxor ymm6, ymm6, ymm8
vpsrld ymm8, ymm5, 0x19
vpslld ymm5, ymm5, 7
vpxor ymm5, ymm5, ymm8
vpsrld ymm8, ymm4, 0x19
vpslld ymm4, ymm4, 7
vpxor ymm4, ymm4, ymm8
vmovdqa ymm8, ymmword [rbp + 0x120]
vpalignr ymm7, ymm7, ymm7, 4
vpalignr ymm11, ymm11, ymm11, 8
vpalignr ymm15, ymm15, ymm15, 0xc
vpalignr ymm6, ymm6, ymm6, 4
vpalignr ymm10, ymm10, ymm10, 8
vpalignr ymm14, ymm14, ymm14, 0xc
mov rdx, qword [rbp + 0xa8]
mulx rax, r10, r10
add r14, r10
mulx r9, r11, r11
adc r15, r11
adc r9, 0
imul rdx, r12
vpalignr ymm5, ymm5, ymm5, 4
vpalignr ymm9, ymm9, ymm9, 8
vpalignr ymm13, ymm13, ymm13, 0xc
vpalignr ymm4, ymm4, ymm4, 4
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm12, ymm12, ymm12, 0xc
vmovdqa ymmword [rbp + 0x120], ymm8
vmovdqa ymm8, ymmword [0x140381b40]
vpaddd ymm3, ymm3, ymm7
vpaddd ymm2, ymm2, ymm6
vpaddd ymm1, ymm1, ymm5
vpaddd ymm0, ymm0, ymm4
vpxor ymm15, ymm15, ymm3
vpxor ymm14, ymm14, ymm2
vpxor ymm13, ymm13, ymm1
vpxor ymm12, ymm12, ymm0
vpshufb ymm15, ymm15, ymm8
vpshufb ymm14, ymm14, ymm8
add r15, rax
adc r9, rdx
vpshufb ymm13, ymm13, ymm8
vpshufb ymm12, ymm12, ymm8
vpaddd ymm11, ymm11, ymm15
vpaddd ymm10, ymm10, ymm14
vpaddd ymm9, ymm9, ymm13
vpaddd ymm8, ymm12, ymmword [rbp + 0x120]
vpxor ymm7, ymm7, ymm11
vpxor ymm6, ymm6, ymm10
vpxor ymm5, ymm5, ymm9
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
vpxor ymm4, ymm4, ymm8
vmovdqa ymmword [rbp + 0x120], ymm8
vpsrld ymm8, ymm7, 0x14
vpslld ymm7, ymm7, 0xc
vpxor ymm7, ymm7, ymm8
vpsrld ymm8, ymm6, 0x14
vpslld ymm6, ymm6, 0xc
vpxor ymm6, ymm6, ymm8
add r10, qword [rcx + rsi + 0x20]
adc r11, qword [rcx + rsi + 0x28]
adc r12, 1
lea rcx, [rcx + 0x30]
vpsrld ymm8, ymm5, 0x14
vpslld ymm5, ymm5, 0xc
vpxor ymm5, ymm5, ymm8
vpsrld ymm8, ymm4, 0x14
vpslld ymm4, ymm4, 0xc
vpxor ymm4, ymm4, ymm8
vmovdqa ymm8, ymmword [0x140381b20]
vpaddd ymm3, ymm3, ymm7
vpaddd ymm2, ymm2, ymm6
vpaddd ymm1, ymm1, ymm5
vpaddd ymm0, ymm0, ymm4
vpxor ymm15, ymm15, ymm3
vpxor ymm14, ymm14, ymm2
vpxor ymm13, ymm13, ymm1
vpxor ymm12, ymm12, ymm0
vpshufb ymm15, ymm15, ymm8
vpshufb ymm14, ymm14, ymm8
vpshufb ymm13, ymm13, ymm8
mov rdx, qword [rbp + 0xa0]
mov r15, rdx
mulx r14, r13, r10
mulx rdx, rax, r11
imul r15, r12
add r14, rax
adc r15, rdx
vpshufb ymm12, ymm12, ymm8
vpaddd ymm11, ymm11, ymm15
vpaddd ymm10, ymm10, ymm14
vpaddd ymm9, ymm9, ymm13
vpaddd ymm8, ymm12, ymmword [rbp + 0x120]
vpxor ymm7, ymm7, ymm11
vpxor ymm6, ymm6, ymm10
vpxor ymm5, ymm5, ymm9
mov rdx, qword [rbp + 0xa8]
mulx rax, r10, r10
add r14, r10
mulx r9, r11, r11
adc r15, r11
adc r9, 0
imul rdx, r12
vpxor ymm4, ymm4, ymm8
vmovdqa ymmword [rbp + 0x120], ymm8
vpsrld ymm8, ymm7, 0x19
vpslld ymm7, ymm7, 7
vpxor ymm7, ymm7, ymm8
vpsrld ymm8, ymm6, 0x19
vpslld ymm6, ymm6, 7
vpxor ymm6, ymm6, ymm8
add r15, rax
adc r9, rdx
vpsrld ymm8, ymm5, 0x19
vpslld ymm5, ymm5, 7
vpxor ymm5, ymm5, ymm8
vpsrld ymm8, ymm4, 0x19
vpslld ymm4, ymm4, 7
vpxor ymm4, ymm4, ymm8
vmovdqa ymm8, ymmword [rbp + 0x120]
vpalignr ymm7, ymm7, ymm7, 0xc
vpalignr ymm11, ymm11, ymm11, 8
vpalignr ymm15, ymm15, ymm15, 4
vpalignr ymm6, ymm6, ymm6, 0xc
vpalignr ymm10, ymm10, ymm10, 8
vpalignr ymm14, ymm14, ymm14, 4
vpalignr ymm5, ymm5, ymm5, 0xc
vpalignr ymm9, ymm9, ymm9, 8
vpalignr ymm13, ymm13, ymm13, 4
vpalignr ymm4, ymm4, ymm4, 0xc
vpalignr ymm8, ymm8, ymm8, 8
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
vpalignr ymm12, ymm12, ymm12, 4
cmp rcx, 0x1e0
jne 0x14015f5ca
vpaddd ymm3, ymm3, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm7, ymm7, ymmword [rbp + 0xe0]
vpaddd ymm11, ymm11, ymmword [rbp + 0x100]
vpaddd ymm15, ymm15, ymmword [rbp + 0x1a0]
vpaddd ymm2, ymm2, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm6, ymm6, ymmword [rbp + 0xe0]
vpaddd ymm10, ymm10, ymmword [rbp + 0x100]
vpaddd ymm14, ymm14, ymmword [rbp + 0x180]
vpaddd ymm1, ymm1, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm5, ymm5, ymmword [rbp + 0xe0]
vpaddd ymm9, ymm9, ymmword [rbp + 0x100]
vpaddd ymm13, ymm13, ymmword [rbp + 0x160]
vpaddd ymm0, ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm4, ymm4, ymmword [rbp + 0xe0]
vpaddd ymm8, ymm8, ymmword [rbp + 0x100]
vpaddd ymm12, ymm12, ymmword [rbp + 0x140]
vmovdqa ymmword [rbp + 0x120], ymm0
add r10, qword [rsi + 0x1e0]
adc r11, qword [rsi + 0x1e8]
adc r12, 1
vperm2i128 ymm0, ymm7, ymm3, 2
vperm2i128 ymm7, ymm7, ymm3, 0x13
vperm2i128 ymm3, ymm15, ymm11, 2
vperm2i128 ymm11, ymm15, ymm11, 0x13
vpxor ymm0, ymm0, ymmword [rsi]
vpxor ymm3, ymm3, ymmword [rsi + 0x20]
vpxor ymm7, ymm7, ymmword [rsi + 0x40]
vpxor ymm11, ymm11, ymmword [rsi + 0x60]
vmovdqu ymmword [rdi], ymm0
vmovdqu ymmword [rdi + 0x20], ymm3
vmovdqu ymmword [rdi + 0x40], ymm7
vmovdqu ymmword [rdi + 0x60], ymm11
vmovdqa ymm0, ymmword [rbp + 0x120]
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
vperm2i128 ymm3, ymm6, ymm2, 2
vperm2i128 ymm6, ymm6, ymm2, 0x13
vperm2i128 ymm2, ymm14, ymm10, 2
vperm2i128 ymm10, ymm14, ymm10, 0x13
vpxor ymm3, ymm3, ymmword [rsi + 0x80]
vpxor ymm2, ymm2, ymmword [rsi + 0xa0]
vpxor ymm6, ymm6, ymmword [rsi + 0xc0]
vpxor ymm10, ymm10, ymmword [rsi + 0xe0]
vmovdqu ymmword [rdi + 0x80], ymm3
vmovdqu ymmword [rdi + 0xa0], ymm2
vmovdqu ymmword [rdi + 0xc0], ymm6
vmovdqu ymmword [rdi + 0xe0], ymm10
add r10, qword [rsi + 0x1f0]
adc r11, qword [rsi + 0x1f8]
adc r12, 1
vperm2i128 ymm3, ymm5, ymm1, 2
vperm2i128 ymm5, ymm5, ymm1, 0x13
vperm2i128 ymm1, ymm13, ymm9, 2
vperm2i128 ymm9, ymm13, ymm9, 0x13
vpxor ymm3, ymm3, ymmword [rsi + 0x100]
vpxor ymm1, ymm1, ymmword [rsi + 0x120]
vpxor ymm5, ymm5, ymmword [rsi + 0x140]
vpxor ymm9, ymm9, ymmword [rsi + 0x160]
vmovdqu ymmword [rdi + 0x100], ymm3
vmovdqu ymmword [rdi + 0x120], ymm1
vmovdqu ymmword [rdi + 0x140], ymm5
vmovdqu ymmword [rdi + 0x160], ymm9
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
vperm2i128 ymm3, ymm4, ymm0, 2
vperm2i128 ymm4, ymm4, ymm0, 0x13
vperm2i128 ymm0, ymm12, ymm8, 2
vperm2i128 ymm8, ymm12, ymm8, 0x13
vpxor ymm3, ymm3, ymmword [rsi + 0x180]
vpxor ymm0, ymm0, ymmword [rsi + 0x1a0]
vpxor ymm4, ymm4, ymmword [rsi + 0x1c0]
vpxor ymm8, ymm8, ymmword [rsi + 0x1e0]
vmovdqu ymmword [rdi + 0x180], ymm3
vmovdqu ymmword [rdi + 0x1a0], ymm0
vmovdqu ymmword [rdi + 0x1c0], ymm4
vmovdqu ymmword [rdi + 0x1e0], ymm8
lea rsi, [rsi + 0x200]
lea rdi, [rdi + 0x200]
sub rbx, 0x200
jmp 0x14015f53c
test rbx, rbx
vzeroupper
je 0x14015c8a4
cmp rbx, 0x180
ja 0x140160a4e
cmp rbx, 0x100
ja 0x140160465
cmp rbx, 0x80
ja 0x14016000e
vmovdqa ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vmovdqa ymm4, ymmword [rbp + 0xe0]
vmovdqa ymm8, ymmword [rbp + 0x100]
vmovdqa ymm12, ymmword [0x140381b80]
vpaddd ymm12, ymm12, ymmword [rbp + 0x140]
vmovdqa ymmword [rbp + 0x140], ymm12
xor r8, r8
mov rcx, rbx
and rcx, 0xfffffffffffffff0
test rcx, rcx
je 0x14015feeb
add r10, qword [rsi + r8]
adc r11, qword [r8 + rsi + 8]
adc r12, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
add r8, 0x10
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b40]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpsrld ymm3, ymm4, 0x14
vpslld ymm4, ymm4, 0xc
vpxor ymm4, ymm4, ymm3
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b20]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpslld ymm3, ymm4, 7
vpsrld ymm4, ymm4, 0x19
vpxor ymm4, ymm4, ymm3
vpalignr ymm12, ymm12, ymm12, 0xc
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm4, ymm4, ymm4, 4
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b40]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpsrld ymm3, ymm4, 0x14
vpslld ymm4, ymm4, 0xc
vpxor ymm4, ymm4, ymm3
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b20]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpslld ymm3, ymm4, 7
vpsrld ymm4, ymm4, 0x19
vpxor ymm4, ymm4, ymm3
vpalignr ymm12, ymm12, ymm12, 4
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm4, ymm4, ymm4, 0xc
cmp r8, rcx
jb 0x14015fe55
cmp r8, 0xa0
jne 0x14015feeb
vpaddd ymm0, ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm4, ymm4, ymmword [rbp + 0xe0]
vpaddd ymm8, ymm8, ymmword [rbp + 0x100]
vpaddd ymm12, ymm12, ymmword [rbp + 0x140]
vperm2i128 ymm3, ymm4, ymm0, 0x13
vperm2i128 ymm0, ymm4, ymm0, 2
vperm2i128 ymm4, ymm12, ymm8, 2
vperm2i128 ymm12, ymm12, ymm8, 0x13
vmovdqa ymm8, ymm3
jmp 0x14016122f
vmovdqa ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vmovdqa ymm4, ymmword [rbp + 0xe0]
vmovdqa ymm8, ymmword [rbp + 0x100]
vmovdqa ymm1, ymm0
vmovdqa ymm5, ymm4
vmovdqa ymm9, ymm8
vmovdqa ymm12, ymmword [0x140381b80]
vpaddd ymm13, ymm12, ymmword [rbp + 0x140]
vpaddd ymm12, ymm12, ymm13
vmovdqa ymmword [rbp + 0x140], ymm12
vmovdqa ymmword [rbp + 0x160], ymm13
mov qword [rbp + 0x120], rbx
mov rcx, rbx
sub rcx, 0x80
shr rcx, 4
mov r8d, 0xa
cmp rcx, 0xa
cmovg rcx, r8
mov rbx, rsi
xor r8, r8
add r10, qword [rbx]
adc r11, qword [rbx + 8]
adc r12, 1
mov rdx, qword [rbp + 0xa0]
mov r15, rdx
mulx r14, r13, r10
mulx rdx, rax, r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 0xa8]
mulx rax, r10, r10
add r14, r10
mulx r9, r11, r11
adc r15, r11
adc r9, 0
imul rdx, r12
add r15, rax
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
lea rbx, [rbx + 0x10]
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b40]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpsrld ymm3, ymm4, 0x14
vpslld ymm4, ymm4, 0xc
vpxor ymm4, ymm4, ymm3
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b20]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpslld ymm3, ymm4, 7
vpsrld ymm4, ymm4, 0x19
vpxor ymm4, ymm4, ymm3
vpalignr ymm12, ymm12, ymm12, 0xc
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm4, ymm4, ymm4, 4
vpaddd ymm1, ymm1, ymm5
vpxor ymm13, ymm13, ymm1
vpshufb ymm13, ymm13, ymmword [0x140381b40]
vpaddd ymm9, ymm9, ymm13
vpxor ymm5, ymm5, ymm9
vpsrld ymm3, ymm5, 0x14
vpslld ymm5, ymm5, 0xc
vpxor ymm5, ymm5, ymm3
vpaddd ymm1, ymm1, ymm5
vpxor ymm13, ymm13, ymm1
vpshufb ymm13, ymm13, ymmword [0x140381b20]
vpaddd ymm9, ymm9, ymm13
vpxor ymm5, ymm5, ymm9
vpslld ymm3, ymm5, 7
vpsrld ymm5, ymm5, 0x19
vpxor ymm5, ymm5, ymm3
vpalignr ymm13, ymm13, ymm13, 0xc
vpalignr ymm9, ymm9, ymm9, 8
vpalignr ymm5, ymm5, ymm5, 4
inc r8
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b40]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpsrld ymm3, ymm4, 0x14
vpslld ymm4, ymm4, 0xc
vpxor ymm4, ymm4, ymm3
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b20]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpslld ymm3, ymm4, 7
vpsrld ymm4, ymm4, 0x19
vpxor ymm4, ymm4, ymm3
vpalignr ymm12, ymm12, ymm12, 4
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm4, ymm4, ymm4, 0xc
vpaddd ymm1, ymm1, ymm5
vpxor ymm13, ymm13, ymm1
vpshufb ymm13, ymm13, ymmword [0x140381b40]
vpaddd ymm9, ymm9, ymm13
vpxor ymm5, ymm5, ymm9
vpsrld ymm3, ymm5, 0x14
vpslld ymm5, ymm5, 0xc
vpxor ymm5, ymm5, ymm3
vpaddd ymm1, ymm1, ymm5
vpxor ymm13, ymm13, ymm1
vpshufb ymm13, ymm13, ymmword [0x140381b20]
vpaddd ymm9, ymm9, ymm13
vpxor ymm5, ymm5, ymm9
vpslld ymm3, ymm5, 7
vpsrld ymm5, ymm5, 0x19
vpxor ymm5, ymm5, ymm3
vpalignr ymm13, ymm13, ymm13, 4
vpalignr ymm9, ymm9, ymm9, 8
vpalignr ymm5, ymm5, ymm5, 0xc
vpaddd ymm2, ymm2, ymm6
vpxor ymm14, ymm14, ymm2
vpshufb ymm14, ymm14, ymmword [0x140381b40]
vpaddd ymm10, ymm10, ymm14
vpxor ymm6, ymm6, ymm10
vpsrld ymm3, ymm6, 0x14
vpslld ymm6, ymm6, 0xc
vpxor ymm6, ymm6, ymm3
vpaddd ymm2, ymm2, ymm6
vpxor ymm14, ymm14, ymm2
vpshufb ymm14, ymm14, ymmword [0x140381b20]
vpaddd ymm10, ymm10, ymm14
vpxor ymm6, ymm6, ymm10
vpslld ymm3, ymm6, 7
vpsrld ymm6, ymm6, 0x19
vpxor ymm6, ymm6, ymm3
vpalignr ymm14, ymm14, ymm14, 4
vpalignr ymm10, ymm10, ymm10, 8
vpalignr ymm6, ymm6, ymm6, 0xc
cmp r8, rcx
jb 0x140160081
cmp r8, 0xa
jne 0x140160103
mov r8, rbx
sub rbx, rsi
mov rcx, rbx
mov rbx, qword [rbp + 0x120]
add rcx, 0x10
cmp rcx, rbx
jg 0x1401603b1
add r10, qword [r8]
adc r11, qword [r8 + 8]
adc r12, 1
mov rdx, qword [rbp + 0xa0]
mov r15, rdx
mulx r14, r13, r10
mulx rdx, rax, r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 0xa8]
mulx rax, r10, r10
add r14, r10
mulx r9, r11, r11
adc r15, r11
adc r9, 0
imul rdx, r12
add r15, rax
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
lea r8, [r8 + 0x10]
jmp 0x14016031d
vpaddd ymm1, ymm1, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm5, ymm5, ymmword [rbp + 0xe0]
vpaddd ymm9, ymm9, ymmword [rbp + 0x100]
vpaddd ymm13, ymm13, ymmword [rbp + 0x160]
vpaddd ymm0, ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm4, ymm4, ymmword [rbp + 0xe0]
vpaddd ymm8, ymm8, ymmword [rbp + 0x100]
vpaddd ymm12, ymm12, ymmword [rbp + 0x140]
vperm2i128 ymm3, ymm5, ymm1, 2
vperm2i128 ymm5, ymm5, ymm1, 0x13
vperm2i128 ymm1, ymm13, ymm9, 2
vperm2i128 ymm9, ymm13, ymm9, 0x13
vpxor ymm3, ymm3, ymmword [rsi]
vpxor ymm1, ymm1, ymmword [rsi + 0x20]
vpxor ymm5, ymm5, ymmword [rsi + 0x40]
vpxor ymm9, ymm9, ymmword [rsi + 0x60]
vmovdqu ymmword [rdi], ymm3
vmovdqu ymmword [rdi + 0x20], ymm1
vmovdqu ymmword [rdi + 0x40], ymm5
vmovdqu ymmword [rdi + 0x60], ymm9
vperm2i128 ymm3, ymm4, ymm0, 0x13
vperm2i128 ymm0, ymm4, ymm0, 2
vperm2i128 ymm4, ymm12, ymm8, 2
vperm2i128 ymm12, ymm12, ymm8, 0x13
vmovdqa ymm8, ymm3
lea rsi, [rsi + 0x80]
lea rdi, [rdi + 0x80]
sub rbx, 0x80
jmp 0x14016122f
vmovdqa ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vmovdqa ymm4, ymmword [rbp + 0xe0]
vmovdqa ymm8, ymmword [rbp + 0x100]
vmovdqa ymm1, ymm0
vmovdqa ymm5, ymm4
vmovdqa ymm9, ymm8
vmovdqa ymm2, ymm0
vmovdqa ymm6, ymm4
vmovdqa ymm10, ymm8
vmovdqa ymm12, ymmword [0x140381b80]
vpaddd ymm14, ymm12, ymmword [rbp + 0x140]
vpaddd ymm13, ymm12, ymm14
vpaddd ymm12, ymm12, ymm13
vmovdqa ymmword [rbp + 0x140], ymm12
vmovdqa ymmword [rbp + 0x160], ymm13
vmovdqa ymmword [rbp + 0x180], ymm14
mov qword [rbp + 0x120], rbx
mov rcx, rbx
sub rcx, 0x100
shr rcx, 4
add rcx, 6
mov r8d, 0xa
cmp rcx, 0xa
cmovg rcx, r8
mov rbx, rsi
xor r8, r8
add r10, qword [rbx]
adc r11, qword [rbx + 8]
adc r12, 1
mov rdx, qword [rbp + 0xa0]
mov r15, rdx
mulx r14, r13, r10
mulx rdx, rax, r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 0xa8]
mulx rax, r10, r10
add r14, r10
mulx r9, r11, r11
adc r15, r11
adc r9, 0
imul rdx, r12
add r15, rax
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
lea rbx, [rbx + 0x10]
vpaddd ymm2, ymm2, ymm6
vpxor ymm14, ymm14, ymm2
vpshufb ymm14, ymm14, ymmword [0x140381b40]
vpaddd ymm10, ymm10, ymm14
vpxor ymm6, ymm6, ymm10
vpsrld ymm3, ymm6, 0x14
vpslld ymm6, ymm6, 0xc
vpxor ymm6, ymm6, ymm3
vpaddd ymm2, ymm2, ymm6
vpxor ymm14, ymm14, ymm2
vpshufb ymm14, ymm14, ymmword [0x140381b20]
vpaddd ymm10, ymm10, ymm14
vpxor ymm6, ymm6, ymm10
vpslld ymm3, ymm6, 7
vpsrld ymm6, ymm6, 0x19
vpxor ymm6, ymm6, ymm3
vpalignr ymm14, ymm14, ymm14, 0xc
vpalignr ymm10, ymm10, ymm10, 8
vpalignr ymm6, ymm6, ymm6, 4
vpaddd ymm1, ymm1, ymm5
vpxor ymm13, ymm13, ymm1
vpshufb ymm13, ymm13, ymmword [0x140381b40]
vpaddd ymm9, ymm9, ymm13
vpxor ymm5, ymm5, ymm9
vpsrld ymm3, ymm5, 0x14
vpslld ymm5, ymm5, 0xc
vpxor ymm5, ymm5, ymm3
vpaddd ymm1, ymm1, ymm5
vpxor ymm13, ymm13, ymm1
vpshufb ymm13, ymm13, ymmword [0x140381b20]
vpaddd ymm9, ymm9, ymm13
vpxor ymm5, ymm5, ymm9
vpslld ymm3, ymm5, 7
vpsrld ymm5, ymm5, 0x19
vpxor ymm5, ymm5, ymm3
vpalignr ymm13, ymm13, ymm13, 0xc
vpalignr ymm9, ymm9, ymm9, 8
vpalignr ymm5, ymm5, ymm5, 4
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b40]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpsrld ymm3, ymm4, 0x14
vpslld ymm4, ymm4, 0xc
vpxor ymm4, ymm4, ymm3
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b20]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpslld ymm3, ymm4, 7
vpsrld ymm4, ymm4, 0x19
vpxor ymm4, ymm4, ymm3
vpalignr ymm12, ymm12, ymm12, 0xc
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm4, ymm4, ymm4, 4
add r10, qword [rbx]
adc r11, qword [rbx + 8]
adc r12, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
lea rbx, [rbx + 0x10]
inc r8
vpaddd ymm2, ymm2, ymm6
vpxor ymm14, ymm14, ymm2
vpshufb ymm14, ymm14, ymmword [0x140381b40]
vpaddd ymm10, ymm10, ymm14
vpxor ymm6, ymm6, ymm10
vpsrld ymm3, ymm6, 0x14
vpslld ymm6, ymm6, 0xc
vpxor ymm6, ymm6, ymm3
vpaddd ymm2, ymm2, ymm6
vpxor ymm14, ymm14, ymm2
vpshufb ymm14, ymm14, ymmword [0x140381b20]
vpaddd ymm10, ymm10, ymm14
vpxor ymm6, ymm6, ymm10
vpslld ymm3, ymm6, 7
vpsrld ymm6, ymm6, 0x19
vpxor ymm6, ymm6, ymm3
vpalignr ymm14, ymm14, ymm14, 4
vpalignr ymm10, ymm10, ymm10, 8
vpalignr ymm6, ymm6, ymm6, 0xc
vpaddd ymm1, ymm1, ymm5
vpxor ymm13, ymm13, ymm1
vpshufb ymm13, ymm13, ymmword [0x140381b40]
vpaddd ymm9, ymm9, ymm13
vpxor ymm5, ymm5, ymm9
vpsrld ymm3, ymm5, 0x14
vpslld ymm5, ymm5, 0xc
vpxor ymm5, ymm5, ymm3
vpaddd ymm1, ymm1, ymm5
vpxor ymm13, ymm13, ymm1
vpshufb ymm13, ymm13, ymmword [0x140381b20]
vpaddd ymm9, ymm9, ymm13
vpxor ymm5, ymm5, ymm9
vpslld ymm3, ymm5, 7
vpsrld ymm5, ymm5, 0x19
vpxor ymm5, ymm5, ymm3
vpalignr ymm13, ymm13, ymm13, 4
vpalignr ymm9, ymm9, ymm9, 8
vpalignr ymm5, ymm5, ymm5, 0xc
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b40]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpsrld ymm3, ymm4, 0x14
vpslld ymm4, ymm4, 0xc
vpxor ymm4, ymm4, ymm3
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b20]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpslld ymm3, ymm4, 7
vpsrld ymm4, ymm4, 0x19
vpxor ymm4, ymm4, ymm3
vpalignr ymm12, ymm12, ymm12, 4
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm4, ymm4, ymm4, 0xc
cmp r8, rcx
jb 0x1401604f6
cmp r8, 0xa
jne 0x140160578
mov r8, rbx
sub rbx, rsi
mov rcx, rbx
mov rbx, qword [rbp + 0x120]
add rcx, 0x10
cmp rcx, rbx
jg 0x140160922
add r10, qword [r8]
adc r11, qword [r8 + 8]
adc r12, 1
mov rdx, qword [rbp + 0xa0]
mov r15, rdx
mulx r14, r13, r10
mulx rdx, rax, r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 0xa8]
mulx rax, r10, r10
add r14, r10
mulx r9, r11, r11
adc r15, r11
adc r9, 0
imul rdx, r12
add r15, rax
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
lea r8, [r8 + 0x10]
jmp 0x14016088e
vpaddd ymm2, ymm2, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm6, ymm6, ymmword [rbp + 0xe0]
vpaddd ymm10, ymm10, ymmword [rbp + 0x100]
vpaddd ymm14, ymm14, ymmword [rbp + 0x180]
vpaddd ymm1, ymm1, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm5, ymm5, ymmword [rbp + 0xe0]
vpaddd ymm9, ymm9, ymmword [rbp + 0x100]
vpaddd ymm13, ymm13, ymmword [rbp + 0x160]
vpaddd ymm0, ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm4, ymm4, ymmword [rbp + 0xe0]
vpaddd ymm8, ymm8, ymmword [rbp + 0x100]
vpaddd ymm12, ymm12, ymmword [rbp + 0x140]
vperm2i128 ymm3, ymm6, ymm2, 2
vperm2i128 ymm6, ymm6, ymm2, 0x13
vperm2i128 ymm2, ymm14, ymm10, 2
vperm2i128 ymm10, ymm14, ymm10, 0x13
vpxor ymm3, ymm3, ymmword [rsi]
vpxor ymm2, ymm2, ymmword [rsi + 0x20]
vpxor ymm6, ymm6, ymmword [rsi + 0x40]
vpxor ymm10, ymm10, ymmword [rsi + 0x60]
vmovdqu ymmword [rdi], ymm3
vmovdqu ymmword [rdi + 0x20], ymm2
vmovdqu ymmword [rdi + 0x40], ymm6
vmovdqu ymmword [rdi + 0x60], ymm10
vperm2i128 ymm3, ymm5, ymm1, 2
vperm2i128 ymm5, ymm5, ymm1, 0x13
vperm2i128 ymm1, ymm13, ymm9, 2
vperm2i128 ymm9, ymm13, ymm9, 0x13
vpxor ymm3, ymm3, ymmword [rsi + 0x80]
vpxor ymm1, ymm1, ymmword [rsi + 0xa0]
vpxor ymm5, ymm5, ymmword [rsi + 0xc0]
vpxor ymm9, ymm9, ymmword [rsi + 0xe0]
vmovdqu ymmword [rdi + 0x80], ymm3
vmovdqu ymmword [rdi + 0xa0], ymm1
vmovdqu ymmword [rdi + 0xc0], ymm5
vmovdqu ymmword [rdi + 0xe0], ymm9
vperm2i128 ymm3, ymm4, ymm0, 0x13
vperm2i128 ymm0, ymm4, ymm0, 2
vperm2i128 ymm4, ymm12, ymm8, 2
vperm2i128 ymm12, ymm12, ymm8, 0x13
vmovdqa ymm8, ymm3
lea rsi, [rsi + 0x100]
lea rdi, [rdi + 0x100]
sub rbx, 0x100
jmp 0x14016122f
vmovdqa ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vmovdqa ymm4, ymmword [rbp + 0xe0]
vmovdqa ymm8, ymmword [rbp + 0x100]
vmovdqa ymm1, ymm0
vmovdqa ymm5, ymm4
vmovdqa ymm9, ymm8
vmovdqa ymm2, ymm0
vmovdqa ymm6, ymm4
vmovdqa ymm10, ymm8
vmovdqa ymm3, ymm0
vmovdqa ymm7, ymm4
vmovdqa ymm11, ymm8
vmovdqa ymm12, ymmword [0x140381b80]
vpaddd ymm15, ymm12, ymmword [rbp + 0x140]
vpaddd ymm14, ymm12, ymm15
vpaddd ymm13, ymm12, ymm14
vpaddd ymm12, ymm12, ymm13
vmovdqa ymmword [rbp + 0x1a0], ymm15
vmovdqa ymmword [rbp + 0x180], ymm14
vmovdqa ymmword [rbp + 0x160], ymm13
vmovdqa ymmword [rbp + 0x140], ymm12
xor rcx, rcx
mov r8, rsi
add r10, qword [r8]
adc r11, qword [r8 + 8]
adc r12, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
lea r8, [r8 + 0x10]
vmovdqa ymmword [rbp + 0x120], ymm8
vmovdqa ymm8, ymmword [0x140381b40]
vpaddd ymm3, ymm3, ymm7
vpaddd ymm2, ymm2, ymm6
vpaddd ymm1, ymm1, ymm5
vpaddd ymm0, ymm0, ymm4
vpxor ymm15, ymm15, ymm3
vpxor ymm14, ymm14, ymm2
vpxor ymm13, ymm13, ymm1
vpxor ymm12, ymm12, ymm0
vpshufb ymm15, ymm15, ymm8
vpshufb ymm14, ymm14, ymm8
vpshufb ymm13, ymm13, ymm8
vpshufb ymm12, ymm12, ymm8
vpaddd ymm11, ymm11, ymm15
vpaddd ymm10, ymm10, ymm14
vpaddd ymm9, ymm9, ymm13
vpaddd ymm8, ymm12, ymmword [rbp + 0x120]
vpxor ymm7, ymm7, ymm11
vpxor ymm6, ymm6, ymm10
vpxor ymm5, ymm5, ymm9
vpxor ymm4, ymm4, ymm8
vmovdqa ymmword [rbp + 0x120], ymm8
vpsrld ymm8, ymm7, 0x14
vpslld ymm7, ymm7, 0xc
vpxor ymm7, ymm7, ymm8
vpsrld ymm8, ymm6, 0x14
vpslld ymm6, ymm6, 0xc
vpxor ymm6, ymm6, ymm8
vpsrld ymm8, ymm5, 0x14
vpslld ymm5, ymm5, 0xc
vpxor ymm5, ymm5, ymm8
vpsrld ymm8, ymm4, 0x14
vpslld ymm4, ymm4, 0xc
vpxor ymm4, ymm4, ymm8
vmovdqa ymm8, ymmword [0x140381b20]
vpaddd ymm3, ymm3, ymm7
add r10, qword [r8]
adc r11, qword [r8 + 8]
adc r12, 1
mov rdx, qword [rbp + 0xa0]
mov r15, rdx
mulx r14, r13, r10
mulx rdx, rax, r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 0xa8]
mulx rax, r10, r10
add r14, r10
mulx r9, r11, r11
adc r15, r11
adc r9, 0
imul rdx, r12
add r15, rax
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
vpaddd ymm2, ymm2, ymm6
vpaddd ymm1, ymm1, ymm5
vpaddd ymm0, ymm0, ymm4
vpxor ymm15, ymm15, ymm3
vpxor ymm14, ymm14, ymm2
vpxor ymm13, ymm13, ymm1
vpxor ymm12, ymm12, ymm0
vpshufb ymm15, ymm15, ymm8
vpshufb ymm14, ymm14, ymm8
vpshufb ymm13, ymm13, ymm8
vpshufb ymm12, ymm12, ymm8
vpaddd ymm11, ymm11, ymm15
vpaddd ymm10, ymm10, ymm14
vpaddd ymm9, ymm9, ymm13
vpaddd ymm8, ymm12, ymmword [rbp + 0x120]
vpxor ymm7, ymm7, ymm11
vpxor ymm6, ymm6, ymm10
vpxor ymm5, ymm5, ymm9
vpxor ymm4, ymm4, ymm8
vmovdqa ymmword [rbp + 0x120], ymm8
vpsrld ymm8, ymm7, 0x19
vpslld ymm7, ymm7, 7
vpxor ymm7, ymm7, ymm8
vpsrld ymm8, ymm6, 0x19
vpslld ymm6, ymm6, 7
vpxor ymm6, ymm6, ymm8
vpsrld ymm8, ymm5, 0x19
vpslld ymm5, ymm5, 7
vpxor ymm5, ymm5, ymm8
vpsrld ymm8, ymm4, 0x19
vpslld ymm4, ymm4, 7
vpxor ymm4, ymm4, ymm8
vmovdqa ymm8, ymmword [rbp + 0x120]
vpalignr ymm7, ymm7, ymm7, 4
vpalignr ymm11, ymm11, ymm11, 8
vpalignr ymm15, ymm15, ymm15, 0xc
vpalignr ymm6, ymm6, ymm6, 4
vpalignr ymm10, ymm10, ymm10, 8
vpalignr ymm14, ymm14, ymm14, 0xc
vpalignr ymm5, ymm5, ymm5, 4
vpalignr ymm9, ymm9, ymm9, 8
vpalignr ymm13, ymm13, ymm13, 0xc
vpalignr ymm4, ymm4, ymm4, 4
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm12, ymm12, ymm12, 0xc
vmovdqa ymmword [rbp + 0x120], ymm8
vmovdqa ymm8, ymmword [0x140381b40]
vpaddd ymm3, ymm3, ymm7
add r10, qword [r8 + 0x10]
adc r11, qword [r8 + 0x18]
adc r12, 1
mov rdx, qword [rbp + 0xa0]
mov r15, rdx
mulx r14, r13, r10
mulx rdx, rax, r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 0xa8]
mulx rax, r10, r10
add r14, r10
mulx r9, r11, r11
adc r15, r11
adc r9, 0
imul rdx, r12
add r15, rax
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
lea r8, [r8 + 0x20]
vpaddd ymm2, ymm2, ymm6
vpaddd ymm1, ymm1, ymm5
vpaddd ymm0, ymm0, ymm4
vpxor ymm15, ymm15, ymm3
vpxor ymm14, ymm14, ymm2
vpxor ymm13, ymm13, ymm1
vpxor ymm12, ymm12, ymm0
vpshufb ymm15, ymm15, ymm8
vpshufb ymm14, ymm14, ymm8
vpshufb ymm13, ymm13, ymm8
vpshufb ymm12, ymm12, ymm8
vpaddd ymm11, ymm11, ymm15
vpaddd ymm10, ymm10, ymm14
vpaddd ymm9, ymm9, ymm13
vpaddd ymm8, ymm12, ymmword [rbp + 0x120]
vpxor ymm7, ymm7, ymm11
vpxor ymm6, ymm6, ymm10
vpxor ymm5, ymm5, ymm9
vpxor ymm4, ymm4, ymm8
vmovdqa ymmword [rbp + 0x120], ymm8
vpsrld ymm8, ymm7, 0x14
vpslld ymm7, ymm7, 0xc
vpxor ymm7, ymm7, ymm8
vpsrld ymm8, ymm6, 0x14
vpslld ymm6, ymm6, 0xc
vpxor ymm6, ymm6, ymm8
vpsrld ymm8, ymm5, 0x14
vpslld ymm5, ymm5, 0xc
vpxor ymm5, ymm5, ymm8
vpsrld ymm8, ymm4, 0x14
vpslld ymm4, ymm4, 0xc
vpxor ymm4, ymm4, ymm8
vmovdqa ymm8, ymmword [0x140381b20]
vpaddd ymm3, ymm3, ymm7
vpaddd ymm2, ymm2, ymm6
vpaddd ymm1, ymm1, ymm5
vpaddd ymm0, ymm0, ymm4
vpxor ymm15, ymm15, ymm3
vpxor ymm14, ymm14, ymm2
vpxor ymm13, ymm13, ymm1
vpxor ymm12, ymm12, ymm0
vpshufb ymm15, ymm15, ymm8
vpshufb ymm14, ymm14, ymm8
vpshufb ymm13, ymm13, ymm8
vpshufb ymm12, ymm12, ymm8
vpaddd ymm11, ymm11, ymm15
vpaddd ymm10, ymm10, ymm14
vpaddd ymm9, ymm9, ymm13
vpaddd ymm8, ymm12, ymmword [rbp + 0x120]
vpxor ymm7, ymm7, ymm11
vpxor ymm6, ymm6, ymm10
vpxor ymm5, ymm5, ymm9
vpxor ymm4, ymm4, ymm8
vmovdqa ymmword [rbp + 0x120], ymm8
vpsrld ymm8, ymm7, 0x19
vpslld ymm7, ymm7, 7
vpxor ymm7, ymm7, ymm8
vpsrld ymm8, ymm6, 0x19
vpslld ymm6, ymm6, 7
vpxor ymm6, ymm6, ymm8
vpsrld ymm8, ymm5, 0x19
vpslld ymm5, ymm5, 7
vpxor ymm5, ymm5, ymm8
vpsrld ymm8, ymm4, 0x19
vpslld ymm4, ymm4, 7
vpxor ymm4, ymm4, ymm8
vmovdqa ymm8, ymmword [rbp + 0x120]
vpalignr ymm7, ymm7, ymm7, 0xc
vpalignr ymm11, ymm11, ymm11, 8
vpalignr ymm15, ymm15, ymm15, 4
vpalignr ymm6, ymm6, ymm6, 0xc
vpalignr ymm10, ymm10, ymm10, 8
vpalignr ymm14, ymm14, ymm14, 4
vpalignr ymm5, ymm5, ymm5, 0xc
vpalignr ymm9, ymm9, ymm9, 8
vpalignr ymm13, ymm13, ymm13, 4
vpalignr ymm4, ymm4, ymm4, 0xc
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm12, ymm12, ymm12, 4
inc rcx
cmp rcx, 4
jl 0x140160ad2
cmp rcx, 0xa
jne 0x140160b6a
mov rcx, rbx
sub rcx, 0x180
and rcx, 0xfffffffffffffff0
test rcx, rcx
je 0x140161080
add r10, qword [r8]
adc r11, qword [r8 + 8]
adc r12, 1
mov rdx, qword [rbp + 0xa0]
mov r15, rdx
mulx r14, r13, r10
mulx rdx, rax, r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 0xa8]
mulx rax, r10, r10
add r14, r10
mulx r9, r11, r11
adc r15, r11
adc r9, 0
imul rdx, r12
add r15, rax
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
lea r8, [r8 + 0x10]
sub rcx, 0x10
jmp 0x140160fec
vpaddd ymm3, ymm3, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm7, ymm7, ymmword [rbp + 0xe0]
vpaddd ymm11, ymm11, ymmword [rbp + 0x100]
vpaddd ymm15, ymm15, ymmword [rbp + 0x1a0]
vpaddd ymm2, ymm2, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm6, ymm6, ymmword [rbp + 0xe0]
vpaddd ymm10, ymm10, ymmword [rbp + 0x100]
vpaddd ymm14, ymm14, ymmword [rbp + 0x180]
vpaddd ymm1, ymm1, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm5, ymm5, ymmword [rbp + 0xe0]
vpaddd ymm9, ymm9, ymmword [rbp + 0x100]
vpaddd ymm13, ymm13, ymmword [rbp + 0x160]
vpaddd ymm0, ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm4, ymm4, ymmword [rbp + 0xe0]
vpaddd ymm8, ymm8, ymmword [rbp + 0x100]
vpaddd ymm12, ymm12, ymmword [rbp + 0x140]
vmovdqa ymmword [rbp + 0x120], ymm0
vperm2i128 ymm0, ymm7, ymm3, 2
vperm2i128 ymm7, ymm7, ymm3, 0x13
vperm2i128 ymm3, ymm15, ymm11, 2
vperm2i128 ymm11, ymm15, ymm11, 0x13
vpxor ymm0, ymm0, ymmword [rsi]
vpxor ymm3, ymm3, ymmword [rsi + 0x20]
vpxor ymm7, ymm7, ymmword [rsi + 0x40]
vpxor ymm11, ymm11, ymmword [rsi + 0x60]
vmovdqu ymmword [rdi], ymm0
vmovdqu ymmword [rdi + 0x20], ymm3
vmovdqu ymmword [rdi + 0x40], ymm7
vmovdqu ymmword [rdi + 0x60], ymm11
vmovdqa ymm0, ymmword [rbp + 0x120]
vperm2i128 ymm3, ymm6, ymm2, 2
vperm2i128 ymm6, ymm6, ymm2, 0x13
vperm2i128 ymm2, ymm14, ymm10, 2
vperm2i128 ymm10, ymm14, ymm10, 0x13
vpxor ymm3, ymm3, ymmword [rsi + 0x80]
vpxor ymm2, ymm2, ymmword [rsi + 0xa0]
vpxor ymm6, ymm6, ymmword [rsi + 0xc0]
vpxor ymm10, ymm10, ymmword [rsi + 0xe0]
vmovdqu ymmword [rdi + 0x80], ymm3
vmovdqu ymmword [rdi + 0xa0], ymm2
vmovdqu ymmword [rdi + 0xc0], ymm6
vmovdqu ymmword [rdi + 0xe0], ymm10
vperm2i128 ymm3, ymm5, ymm1, 2
vperm2i128 ymm5, ymm5, ymm1, 0x13
vperm2i128 ymm1, ymm13, ymm9, 2
vperm2i128 ymm9, ymm13, ymm9, 0x13
vpxor ymm3, ymm3, ymmword [rsi + 0x100]
vpxor ymm1, ymm1, ymmword [rsi + 0x120]
vpxor ymm5, ymm5, ymmword [rsi + 0x140]
vpxor ymm9, ymm9, ymmword [rsi + 0x160]
vmovdqu ymmword [rdi + 0x100], ymm3
vmovdqu ymmword [rdi + 0x120], ymm1
vmovdqu ymmword [rdi + 0x140], ymm5
vmovdqu ymmword [rdi + 0x160], ymm9
vperm2i128 ymm3, ymm4, ymm0, 0x13
vperm2i128 ymm0, ymm4, ymm0, 2
vperm2i128 ymm4, ymm12, ymm8, 2
vperm2i128 ymm12, ymm12, ymm8, 0x13
vmovdqa ymm8, ymm3
lea rsi, [rsi + 0x180]
lea rdi, [rdi + 0x180]
sub rbx, 0x180
cmp rbx, 0x20
jb 0x140161260
sub rbx, 0x20
vpxor ymm0, ymm0, ymmword [rsi]
vmovdqu ymmword [rdi], ymm0
lea rsi, [rsi + 0x20]
lea rdi, [rdi + 0x20]
vmovdqa ymm0, ymm4
vmovdqa ymm4, ymm8
vmovdqa ymm8, ymm12
jmp 0x14016122f
cmp rbx, 0x10
vmovdqa xmm1, xmm0
jb 0x14016128c
sub rbx, 0x10
vpxor xmm1, xmm0, xmmword [rsi]
vmovdqu xmmword [rdi], xmm1
lea rsi, [rsi + 0x10]
lea rdi, [rdi + 0x10]
vperm2i128 ymm0, ymm0, ymm0, 0x11
vmovdqa xmm1, xmm0
vzeroupper
jmp 0x14015c7ba
vmovdqa ymm1, ymm0
vmovdqa ymm2, ymm0
vmovdqa ymm5, ymm4
vmovdqa ymm6, ymm4
vmovdqa ymm9, ymm8
vmovdqa ymm10, ymm8
vpaddd ymm13, ymm12, ymmword [0x140381b80]
vmovdqa ymm11, ymm12
vmovdqa ymm15, ymm13
mov r10d, 0xa
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b40]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpsrld ymm3, ymm4, 0x14
vpslld ymm4, ymm4, 0xc
vpxor ymm4, ymm4, ymm3
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b20]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpslld ymm3, ymm4, 7
vpsrld ymm4, ymm4, 0x19
vpxor ymm4, ymm4, ymm3
vpalignr ymm12, ymm12, ymm12, 0xc
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm4, ymm4, ymm4, 4
vpaddd ymm1, ymm1, ymm5
vpxor ymm13, ymm13, ymm1
vpshufb ymm13, ymm13, ymmword [0x140381b40]
vpaddd ymm9, ymm9, ymm13
vpxor ymm5, ymm5, ymm9
vpsrld ymm3, ymm5, 0x14
vpslld ymm5, ymm5, 0xc
vpxor ymm5, ymm5, ymm3
vpaddd ymm1, ymm1, ymm5
vpxor ymm13, ymm13, ymm1
vpshufb ymm13, ymm13, ymmword [0x140381b20]
vpaddd ymm9, ymm9, ymm13
vpxor ymm5, ymm5, ymm9
vpslld ymm3, ymm5, 7
vpsrld ymm5, ymm5, 0x19
vpxor ymm5, ymm5, ymm3
vpalignr ymm13, ymm13, ymm13, 0xc
vpalignr ymm9, ymm9, ymm9, 8
vpalignr ymm5, ymm5, ymm5, 4
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b40]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpsrld ymm3, ymm4, 0x14
vpslld ymm4, ymm4, 0xc
vpxor ymm4, ymm4, ymm3
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b20]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpslld ymm3, ymm4, 7
vpsrld ymm4, ymm4, 0x19
vpxor ymm4, ymm4, ymm3
vpalignr ymm12, ymm12, ymm12, 4
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm4, ymm4, ymm4, 0xc
vpaddd ymm1, ymm1, ymm5
vpxor ymm13, ymm13, ymm1
vpshufb ymm13, ymm13, ymmword [0x140381b40]
vpaddd ymm9, ymm9, ymm13
vpxor ymm5, ymm5, ymm9
vpsrld ymm3, ymm5, 0x14
vpslld ymm5, ymm5, 0xc
vpxor ymm5, ymm5, ymm3
vpaddd ymm1, ymm1, ymm5
vpxor ymm13, ymm13, ymm1
vpshufb ymm13, ymm13, ymmword [0x140381b20]
vpaddd ymm9, ymm9, ymm13
vpxor ymm5, ymm5, ymm9
vpslld ymm3, ymm5, 7
vpsrld ymm5, ymm5, 0x19
vpxor ymm5, ymm5, ymm3
vpalignr ymm13, ymm13, ymm13, 4
vpalignr ymm9, ymm9, ymm9, 8
vpalignr ymm5, ymm5, ymm5, 0xc
dec r10
jne 0x1401612c6
vpaddd ymm0, ymm0, ymm2
vpaddd ymm1, ymm1, ymm2
vpaddd ymm4, ymm4, ymm6
vpaddd ymm5, ymm5, ymm6
vpaddd ymm8, ymm8, ymm10
vpaddd ymm9, ymm9, ymm10
vpaddd ymm12, ymm12, ymm11
vpaddd ymm13, ymm13, ymm15
vperm2i128 ymm3, ymm4, ymm0, 2
vpand ymm3, ymm3, ymmword [0x140381ba0]
vmovdqa ymmword [rbp + 0xa0], ymm3
vperm2i128 ymm0, ymm4, ymm0, 0x13
vperm2i128 ymm4, ymm12, ymm8, 0x13
vperm2i128 ymm8, ymm5, ymm1, 2
vperm2i128 ymm12, ymm13, ymm9, 2
vperm2i128 ymm1, ymm5, ymm1, 0x13
vperm2i128 ymm5, ymm13, ymm9, 0x13
mov r8, r8
call fcn.14015a800
cmp rbx, 0x20
jb 0x140161639
sub rbx, 0x20
add r10, qword [rsi]
adc r11, qword [rsi + 8]
adc r12, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
add r10, qword [rsi + 0x10]
adc r11, qword [rsi + 0x18]
adc r12, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
vpxor ymm0, ymm0, ymmword [rsi]
vmovdqu ymmword [rdi], ymm0
lea rsi, [rsi + 0x20]
lea rdi, [rdi + 0x20]
vmovdqa ymm0, ymm4
vmovdqa ymm4, ymm8
vmovdqa ymm8, ymm12
vmovdqa ymm12, ymm1
vmovdqa ymm1, ymm5
vmovdqa ymm5, ymm9
vmovdqa ymm9, ymm13
vmovdqa ymm13, ymm2
vmovdqa ymm2, ymm6
jmp 0x1401614c5
cmp rbx, 0x10
vmovdqa xmm1, xmm0
jb 0x1401616f5
sub rbx, 0x10
add r10, qword [rsi]
adc r11, qword [rsi + 8]
adc r12, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
vpxor xmm3, xmm0, xmmword [rsi]
vmovdqu xmmword [rdi], xmm3
lea rsi, [rsi + 0x10]
lea rdi, [rdi + 0x10]
vextracti128 xmm1, ymm0, 1
vzeroupper
jmp 0x14015c7ba
vmovdqa ymm1, ymm0
vmovdqa ymm2, ymm0
vmovdqa ymm5, ymm4
vmovdqa ymm6, ymm4
vmovdqa ymm9, ymm8
vmovdqa ymm10, ymm8
vpaddd ymm13, ymm12, ymmword [0x140381b80]
vpaddd ymm14, ymm13, ymmword [0x140381b80]
vmovdqa ymm7, ymm4
vmovdqa ymm11, ymm8
vmovdqa ymmword [rbp + 0x140], ymm12
vmovdqa ymmword [rbp + 0x160], ymm13
vmovdqa ymmword [rbp + 0x180], ymm14
mov r10d, 0xa
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b40]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpsrld ymm3, ymm4, 0x14
vpslld ymm4, ymm4, 0xc
vpxor ymm4, ymm4, ymm3
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b20]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpslld ymm3, ymm4, 7
vpsrld ymm4, ymm4, 0x19
vpxor ymm4, ymm4, ymm3
vpalignr ymm12, ymm12, ymm12, 0xc
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm4, ymm4, ymm4, 4
vpaddd ymm1, ymm1, ymm5
vpxor ymm13, ymm13, ymm1
vpshufb ymm13, ymm13, ymmword [0x140381b40]
vpaddd ymm9, ymm9, ymm13
vpxor ymm5, ymm5, ymm9
vpsrld ymm3, ymm5, 0x14
vpslld ymm5, ymm5, 0xc
vpxor ymm5, ymm5, ymm3
vpaddd ymm1, ymm1, ymm5
vpxor ymm13, ymm13, ymm1
vpshufb ymm13, ymm13, ymmword [0x140381b20]
vpaddd ymm9, ymm9, ymm13
vpxor ymm5, ymm5, ymm9
vpslld ymm3, ymm5, 7
vpsrld ymm5, ymm5, 0x19
vpxor ymm5, ymm5, ymm3
vpalignr ymm13, ymm13, ymm13, 0xc
vpalignr ymm9, ymm9, ymm9, 8
vpalignr ymm5, ymm5, ymm5, 4
vpaddd ymm2, ymm2, ymm6
vpxor ymm14, ymm14, ymm2
vpshufb ymm14, ymm14, ymmword [0x140381b40]
vpaddd ymm10, ymm10, ymm14
vpxor ymm6, ymm6, ymm10
vpsrld ymm3, ymm6, 0x14
vpslld ymm6, ymm6, 0xc
vpxor ymm6, ymm6, ymm3
vpaddd ymm2, ymm2, ymm6
vpxor ymm14, ymm14, ymm2
vpshufb ymm14, ymm14, ymmword [0x140381b20]
vpaddd ymm10, ymm10, ymm14
vpxor ymm6, ymm6, ymm10
vpslld ymm3, ymm6, 7
vpsrld ymm6, ymm6, 0x19
vpxor ymm6, ymm6, ymm3
vpalignr ymm14, ymm14, ymm14, 0xc
vpalignr ymm10, ymm10, ymm10, 8
vpalignr ymm6, ymm6, ymm6, 4
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b40]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpsrld ymm3, ymm4, 0x14
vpslld ymm4, ymm4, 0xc
vpxor ymm4, ymm4, ymm3
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vpshufb ymm12, ymm12, ymmword [0x140381b20]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
vpslld ymm3, ymm4, 7
vpsrld ymm4, ymm4, 0x19
vpxor ymm4, ymm4, ymm3
vpalignr ymm12, ymm12, ymm12, 4
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm4, ymm4, ymm4, 0xc
vpaddd ymm1, ymm1, ymm5
vpxor ymm13, ymm13, ymm1
vpshufb ymm13, ymm13, ymmword [0x140381b40]
vpaddd ymm9, ymm9, ymm13
vpxor ymm5, ymm5, ymm9
vpsrld ymm3, ymm5, 0x14
vpslld ymm5, ymm5, 0xc
vpxor ymm5, ymm5, ymm3
vpaddd ymm1, ymm1, ymm5
vpxor ymm13, ymm13, ymm1
vpshufb ymm13, ymm13, ymmword [0x140381b20]
vpaddd ymm9, ymm9, ymm13
vpxor ymm5, ymm5, ymm9
vpslld ymm3, ymm5, 7
vpsrld ymm5, ymm5, 0x19
vpxor ymm5, ymm5, ymm3
vpalignr ymm13, ymm13, ymm13, 4
vpalignr ymm9, ymm9, ymm9, 8
vpalignr ymm5, ymm5, ymm5, 0xc
vpaddd ymm2, ymm2, ymm6
vpxor ymm14, ymm14, ymm2
vpshufb ymm14, ymm14, ymmword [0x140381b40]
vpaddd ymm10, ymm10, ymm14
vpxor ymm6, ymm6, ymm10
vpsrld ymm3, ymm6, 0x14
vpslld ymm6, ymm6, 0xc
vpxor ymm6, ymm6, ymm3
vpaddd ymm2, ymm2, ymm6
vpxor ymm14, ymm14, ymm2
vpshufb ymm14, ymm14, ymmword [0x140381b20]
vpaddd ymm10, ymm10, ymm14
vpxor ymm6, ymm6, ymm10
vpslld ymm3, ymm6, 7
vpsrld ymm6, ymm6, 0x19
vpxor ymm6, ymm6, ymm3
vpalignr ymm14, ymm14, ymm14, 4
vpalignr ymm10, ymm10, ymm10, 8
vpalignr ymm6, ymm6, ymm6, 0xc
dec r10
jne 0x14016174e
vpaddd ymm0, ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm1, ymm1, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm2, ymm2, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm4, ymm4, ymm7
vpaddd ymm5, ymm5, ymm7
vpaddd ymm6, ymm6, ymm7
vpaddd ymm8, ymm8, ymm11
vpaddd ymm9, ymm9, ymm11
vpaddd ymm10, ymm10, ymm11
vpaddd ymm12, ymm12, ymmword [rbp + 0x140]
vpaddd ymm13, ymm13, ymmword [rbp + 0x160]
vpaddd ymm14, ymm14, ymmword [rbp + 0x180]
vperm2i128 ymm3, ymm4, ymm0, 2
vpand ymm3, ymm3, ymmword [0x140381ba0]
vmovdqa ymmword [rbp + 0xa0], ymm3
vperm2i128 ymm0, ymm4, ymm0, 0x13
vperm2i128 ymm4, ymm12, ymm8, 0x13
vperm2i128 ymm8, ymm5, ymm1, 2
vperm2i128 ymm12, ymm13, ymm9, 2
vperm2i128 ymm1, ymm5, ymm1, 0x13
vperm2i128 ymm5, ymm13, ymm9, 0x13
vperm2i128 ymm9, ymm6, ymm2, 2
vperm2i128 ymm13, ymm14, ymm10, 2
vperm2i128 ymm2, ymm6, ymm2, 0x13
vperm2i128 ymm6, ymm14, ymm10, 0x13
jmp 0x1401614bd