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

Disassembly:
mov r14, qword [0x0179ea20]
mov r14, qword gs:[r14]
mov r14, qword [r14]
lea r12, [rsp - 0xa8]
cmp r12, qword [r14 + 0x10]
jbe 0x5909fd
push rbp
mov rbp, rsp
sub rsp, 0x120
mov rbp, rsp
add rbp, 0x20
and rbp, 0xffffffffffffffe0
mov rdi, qword [rsp + 0x130]
mov r8, qword [rsp + 0x148]
mov rsi, qword [rsp + 0x160]
mov rbx, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x178]
cmp byte [0x0179e7cf], 1
je 0x58e3d4
cmp rbx, 0x80
jbe 0x58c96f
movdqu xmm0, xmmword [0x015789a0]
movdqu xmm3, xmmword [r8 + 0x10]
movdqu xmm6, xmmword [r8 + 0x20]
movdqu xmm9, xmmword [r8 + 0x30]
movdqa xmm13, xmm9
movdqa xmmword [rbp + 0x20], xmm3
movdqa xmmword [rbp + 0x30], xmm6
movdqa xmmword [rbp + 0x80], xmm9
mov r9, 0xa
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm12, xmm9
pslld xmm12, 0x10
psrld xmm9, 0x10
pxor xmm9, xmm12
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm12
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm12, xmm9
pslld xmm12, 8
psrld xmm9, 0x18
pxor xmm9, xmm12
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 7
psrld xmm3, 0x19
pxor xmm3, xmm12
palignr xmm3, xmm3, 4
palignr xmm6, xmm6, 8
palignr xmm9, xmm9, 0xc
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm12, xmm9
pslld xmm12, 0x10
psrld xmm9, 0x10
pxor xmm9, xmm12
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm12
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm12, xmm9
pslld xmm12, 8
psrld xmm9, 0x18
pxor xmm9, xmm12
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 7
psrld xmm3, 0x19
pxor xmm3, xmm12
palignr xmm3, xmm3, 0xc
palignr xmm6, xmm6, 8
palignr xmm9, xmm9, 4
dec r9
jne 0x58bed1
paddd xmm0, xmmword [0x015789a0]
paddd xmm3, xmmword [rbp + 0x20]
pand xmm0, xmmword [0x01578a40]
movdqa xmmword [rbp], xmm0
movdqa xmmword [rbp + 0x10], xmm3
mov r9, qword [rsp + 0x180]
call sym.polyHashADInternal
cmp rbx, 0x100
jb 0x58c85b
movdqa xmm0, xmmword [0x015789a0]
movdqa xmm3, xmmword [rbp + 0x20]
movdqa xmm6, xmmword [rbp + 0x30]
movdqa xmm9, xmmword [rbp + 0x80]
paddd xmm9, xmmword [0x01577720]
movdqa xmm1, xmm0
movdqa xmm4, xmm3
movdqa xmm7, xmm6
movdqa xmm10, xmm9
paddd xmm10, xmmword [0x01577720]
movdqa xmm2, xmm1
movdqa xmm5, xmm4
movdqa xmm8, xmm7
movdqa xmm11, xmm10
paddd xmm11, xmmword [0x01577720]
movdqa xmm12, xmm2
movdqa xmm13, xmm5
movdqa xmm14, xmm8
movdqa xmm15, xmm11
paddd xmm15, xmmword [0x01577720]
movdqa xmmword [rbp + 0x50], xmm9
movdqa xmmword [rbp + 0x60], xmm10
movdqa xmmword [rbp + 0x70], xmm11
movdqa xmmword [rbp + 0x80], xmm15
mov rcx, 4
mov r9, rsi
movdqa xmmword [rbp + 0x40], xmm14
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm14, xmm9
pslld xmm14, 0x10
psrld xmm9, 0x10
pxor xmm9, xmm14
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm14, xmm3
pslld xmm14, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm14
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm14, xmm9
pslld xmm14, 8
psrld xmm9, 0x18
pxor xmm9, xmm14
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm14, xmm3
pslld xmm14, 7
psrld xmm3, 0x19
pxor xmm3, xmm14
paddd xmm1, xmm4
pxor xmm10, xmm1
movdqa xmm14, xmm10
pslld xmm14, 0x10
psrld xmm10, 0x10
pxor xmm10, xmm14
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm14, xmm4
pslld xmm14, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm14
paddd xmm1, xmm4
pxor xmm10, xmm1
movdqa xmm14, xmm10
pslld xmm14, 8
psrld xmm10, 0x18
pxor xmm10, xmm14
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm14, xmm4
pslld xmm14, 7
psrld xmm4, 0x19
pxor xmm4, xmm14
paddd xmm2, xmm5
pxor xmm11, xmm2
movdqa xmm14, xmm11
pslld xmm14, 0x10
psrld xmm11, 0x10
pxor xmm11, xmm14
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm14, xmm5
pslld xmm14, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm14
paddd xmm2, xmm5
pxor xmm11, xmm2
movdqa xmm14, xmm11
pslld xmm14, 8
psrld xmm11, 0x18
pxor xmm11, xmm14
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm14, xmm5
pslld xmm14, 7
psrld xmm5, 0x19
pxor xmm5, xmm14
movdqa xmm14, xmmword [rbp + 0x40]
movdqa xmmword [rbp + 0x40], xmm7
paddd xmm12, xmm13
pxor xmm15, xmm12
movdqa xmm7, xmm15
pslld xmm7, 0x10
psrld xmm15, 0x10
pxor xmm15, xmm7
paddd xmm14, xmm15
pxor xmm13, xmm14
movdqa xmm7, xmm13
pslld xmm7, 0xc
psrld xmm13, 0x14
pxor xmm13, xmm7
paddd xmm12, xmm13
pxor xmm15, xmm12
movdqa xmm7, xmm15
pslld xmm7, 8
psrld xmm15, 0x18
pxor xmm15, xmm7
paddd xmm14, xmm15
pxor xmm13, xmm14
movdqa xmm7, xmm13
pslld xmm7, 7
psrld xmm13, 0x19
pxor xmm13, xmm7
movdqa xmm7, xmmword [rbp + 0x40]
add r10, qword [r9]
adc r11, qword [r9 + 8]
adc r12, 1
palignr xmm3, xmm3, 4
palignr xmm4, xmm4, 4
palignr xmm5, xmm5, 4
palignr xmm13, xmm13, 4
palignr xmm6, xmm6, 8
palignr xmm7, xmm7, 8
palignr xmm8, xmm8, 8
palignr xmm14, xmm14, 8
palignr xmm9, xmm9, 0xc
palignr xmm10, xmm10, 0xc
palignr xmm11, xmm11, 0xc
palignr xmm15, xmm15, 0xc
mov rax, qword [rbp]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 8]
mov r8, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 8]
mul r11
add r15, rax
adc rdx, 0
lea r9, [r9 + 0x10]
movdqa xmmword [rbp + 0x40], xmm14
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm14, xmm9
pslld xmm14, 0x10
psrld xmm9, 0x10
pxor xmm9, xmm14
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm14, xmm3
pslld xmm14, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm14
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm14, xmm9
pslld xmm14, 8
psrld xmm9, 0x18
pxor xmm9, xmm14
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm14, xmm3
pslld xmm14, 7
psrld xmm3, 0x19
pxor xmm3, xmm14
paddd xmm1, xmm4
pxor xmm10, xmm1
movdqa xmm14, xmm10
pslld xmm14, 0x10
psrld xmm10, 0x10
pxor xmm10, xmm14
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm14, xmm4
pslld xmm14, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm14
paddd xmm1, xmm4
pxor xmm10, xmm1
movdqa xmm14, xmm10
pslld xmm14, 8
psrld xmm10, 0x18
pxor xmm10, xmm14
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm14, xmm4
pslld xmm14, 7
psrld xmm4, 0x19
pxor xmm4, xmm14
paddd xmm2, xmm5
pxor xmm11, xmm2
movdqa xmm14, xmm11
pslld xmm14, 0x10
psrld xmm11, 0x10
pxor xmm11, xmm14
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm14, xmm5
pslld xmm14, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm14
paddd xmm2, xmm5
pxor xmm11, xmm2
movdqa xmm14, xmm11
pslld xmm14, 8
psrld xmm11, 0x18
pxor xmm11, xmm14
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm14, xmm5
pslld xmm14, 7
psrld xmm5, 0x19
pxor xmm5, xmm14
movdqa xmm14, xmmword [rbp + 0x40]
movdqa xmmword [rbp + 0x40], xmm7
imul r8, r12
add r15, r10
adc r8, rdx
paddd xmm12, xmm13
pxor xmm15, xmm12
movdqa xmm7, xmm15
pslld xmm7, 0x10
psrld xmm15, 0x10
pxor xmm15, xmm7
paddd xmm14, xmm15
pxor xmm13, xmm14
movdqa xmm7, xmm13
pslld xmm7, 0xc
psrld xmm13, 0x14
pxor xmm13, xmm7
paddd xmm12, xmm13
pxor xmm15, xmm12
movdqa xmm7, xmm15
pslld xmm7, 8
psrld xmm15, 0x18
pxor xmm15, xmm7
paddd xmm14, xmm15
pxor xmm13, xmm14
movdqa xmm7, xmm13
pslld xmm7, 7
psrld xmm13, 0x19
pxor xmm13, xmm7
movdqa xmm7, xmmword [rbp + 0x40]
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
palignr xmm3, xmm3, 0xc
palignr xmm4, xmm4, 0xc
palignr xmm5, xmm5, 0xc
palignr xmm13, xmm13, 0xc
palignr xmm6, xmm6, 8
palignr xmm7, xmm7, 8
palignr xmm8, xmm8, 8
palignr xmm14, xmm14, 8
palignr xmm9, xmm9, 4
palignr xmm10, xmm10, 4
palignr xmm11, xmm11, 4
palignr xmm15, xmm15, 4
dec rcx
jge 0x58c0c8
add r10, qword [r9]
adc r11, qword [r9 + 8]
adc r12, 1
mov rax, qword [rbp]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 8]
mov r8, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 8]
mul r11
add r15, rax
adc rdx, 0
imul r8, r12
add r15, r10
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
lea r9, [r9 + 0x10]
cmp rcx, 0xfffffffffffffffa
jg 0x58c0c8
paddd xmm0, xmmword [0x015789a0]
paddd xmm1, xmmword [0x015789a0]
paddd xmm2, xmmword [0x015789a0]
paddd xmm12, xmmword [0x015789a0]
paddd xmm3, xmmword [rbp + 0x20]
paddd xmm4, xmmword [rbp + 0x20]
paddd xmm5, xmmword [rbp + 0x20]
paddd xmm13, xmmword [rbp + 0x20]
paddd xmm6, xmmword [rbp + 0x30]
paddd xmm7, xmmword [rbp + 0x30]
paddd xmm8, xmmword [rbp + 0x30]
paddd xmm14, xmmword [rbp + 0x30]
paddd xmm9, xmmword [rbp + 0x50]
paddd xmm10, xmmword [rbp + 0x60]
paddd xmm11, xmmword [rbp + 0x70]
paddd xmm15, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x40], xmm15
movdqu xmm15, xmmword [rsi]
pxor xmm0, xmm15
movdqu xmmword [rdi], xmm0
movdqu xmm15, xmmword [rsi + 0x10]
pxor xmm3, xmm15
movdqu xmmword [rdi + 0x10], xmm3
movdqu xmm15, xmmword [rsi + 0x20]
pxor xmm6, xmm15
movdqu xmmword [rdi + 0x20], xmm6
movdqu xmm15, xmmword [rsi + 0x30]
pxor xmm9, xmm15
movdqu xmmword [rdi + 0x30], xmm9
movdqu xmm9, xmmword [rsi + 0x40]
pxor xmm1, xmm9
movdqu xmmword [rdi + 0x40], xmm1
movdqu xmm9, xmmword [rsi + 0x50]
pxor xmm4, xmm9
movdqu xmmword [rdi + 0x50], xmm4
movdqu xmm9, xmmword [rsi + 0x60]
pxor xmm7, xmm9
movdqu xmmword [rdi + 0x60], xmm7
movdqu xmm9, xmmword [rsi + 0x70]
pxor xmm10, xmm9
movdqu xmmword [rdi + 0x70], xmm10
movdqu xmm9, xmmword [rsi + 0x80]
pxor xmm2, xmm9
movdqu xmmword [rdi + 0x80], xmm2
movdqu xmm9, xmmword [rsi + 0x90]
pxor xmm5, xmm9
movdqu xmmword [rdi + 0x90], xmm5
movdqu xmm9, xmmword [rsi + 0xa0]
pxor xmm8, xmm9
movdqu xmmword [rdi + 0xa0], xmm8
movdqu xmm9, xmmword [rsi + 0xb0]
pxor xmm11, xmm9
movdqu xmmword [rdi + 0xb0], xmm11
movdqu xmm9, xmmword [rsi + 0xc0]
pxor xmm12, xmm9
movdqu xmmword [rdi + 0xc0], xmm12
movdqu xmm9, xmmword [rsi + 0xd0]
pxor xmm13, xmm9
movdqu xmmword [rdi + 0xd0], xmm13
movdqu xmm9, xmmword [rsi + 0xe0]
pxor xmm14, xmm9
movdqu xmmword [rdi + 0xe0], xmm14
movdqu xmm9, xmmword [rsi + 0xf0]
pxor xmm9, xmmword [rbp + 0x40]
movdqu xmmword [rdi + 0xf0], xmm9
lea rsi, [rsi + 0x100]
lea rdi, [rdi + 0x100]
sub rbx, 0x100
jmp 0x58c020
test rbx, rbx
je 0x58c889
cmp rbx, 0x40
jbe 0x58cf49
cmp rbx, 0x80
jbe 0x58d19a
cmp rbx, 0xc0
jbe 0x58d54a
jmp 0x58dbf2
add r10, qword [rsp + 0x180]
adc r11, qword [rsp + 0x168]
adc r12, 1
mov rax, qword [rbp]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 8]
mov r8, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 8]
mul r11
add r15, rax
adc rdx, 0
imul r8, r12
add r15, r10
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
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 + 0x10]
adc r11, qword [rbp + 0x18]
xor rax, rax
mov rdx, 1
xor r10, qword [rsi]
xor r11, qword [rsi + 8]
or r10, r11
cmove rax, rdx
mov byte [rsp + 0x190], al
add rsp, 0x120
pop rbp
ret
movdqu xmm0, xmmword [0x015789a0]
movdqu xmm3, xmmword [r8 + 0x10]
movdqu xmm6, xmmword [r8 + 0x20]
movdqu xmm9, xmmword [r8 + 0x30]
movdqa xmm1, xmm0
movdqa xmm4, xmm3
movdqa xmm7, xmm6
movdqa xmm10, xmm9
paddd xmm10, xmmword [0x01577720]
movdqa xmm2, xmm1
movdqa xmm5, xmm4
movdqa xmm8, xmm7
movdqa xmm11, xmm10
paddd xmm11, xmmword [0x01577720]
movdqa xmm13, xmm3
movdqa xmm14, xmm6
movdqa xmm15, xmm10
mov r9, 0xa
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm12, xmm9
pslld xmm12, 0x10
psrld xmm9, 0x10
pxor xmm9, xmm12
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm12
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm12, xmm9
pslld xmm12, 8
psrld xmm9, 0x18
pxor xmm9, xmm12
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 7
psrld xmm3, 0x19
pxor xmm3, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
movdqa xmm12, xmm10
pslld xmm12, 0x10
psrld xmm10, 0x10
pxor xmm10, xmm12
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
movdqa xmm12, xmm10
pslld xmm12, 8
psrld xmm10, 0x18
pxor xmm10, xmm12
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 7
psrld xmm4, 0x19
pxor xmm4, xmm12
paddd xmm2, xmm5
pxor xmm11, xmm2
movdqa xmm12, xmm11
pslld xmm12, 0x10
psrld xmm11, 0x10
pxor xmm11, xmm12
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm12, xmm5
pslld xmm12, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm12
paddd xmm2, xmm5
pxor xmm11, xmm2
movdqa xmm12, xmm11
pslld xmm12, 8
psrld xmm11, 0x18
pxor xmm11, xmm12
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm12, xmm5
pslld xmm12, 7
psrld xmm5, 0x19
pxor xmm5, xmm12
palignr xmm3, xmm3, 4
palignr xmm4, xmm4, 4
palignr xmm5, xmm5, 4
palignr xmm6, xmm6, 8
palignr xmm7, xmm7, 8
palignr xmm8, xmm8, 8
palignr xmm9, xmm9, 0xc
palignr xmm10, xmm10, 0xc
palignr xmm11, xmm11, 0xc
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm12, xmm9
pslld xmm12, 0x10
psrld xmm9, 0x10
pxor xmm9, xmm12
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm12
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm12, xmm9
pslld xmm12, 8
psrld xmm9, 0x18
pxor xmm9, xmm12
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 7
psrld xmm3, 0x19
pxor xmm3, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
movdqa xmm12, xmm10
pslld xmm12, 0x10
psrld xmm10, 0x10
pxor xmm10, xmm12
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
movdqa xmm12, xmm10
pslld xmm12, 8
psrld xmm10, 0x18
pxor xmm10, xmm12
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 7
psrld xmm4, 0x19
pxor xmm4, xmm12
paddd xmm2, xmm5
pxor xmm11, xmm2
movdqa xmm12, xmm11
pslld xmm12, 0x10
psrld xmm11, 0x10
pxor xmm11, xmm12
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm12, xmm5
pslld xmm12, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm12
paddd xmm2, xmm5
pxor xmm11, xmm2
movdqa xmm12, xmm11
pslld xmm12, 8
psrld xmm11, 0x18
pxor xmm11, xmm12
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm12, xmm5
pslld xmm12, 7
psrld xmm5, 0x19
pxor xmm5, xmm12
palignr xmm3, xmm3, 0xc
palignr xmm4, xmm4, 0xc
palignr xmm5, xmm5, 0xc
palignr xmm6, xmm6, 8
palignr xmm7, xmm7, 8
palignr xmm8, xmm8, 8
palignr xmm9, xmm9, 4
palignr xmm10, xmm10, 4
palignr xmm11, xmm11, 4
dec r9
jne 0x58c9d4
paddd xmm0, xmmword [0x015789a0]
paddd xmm1, xmmword [0x015789a0]
paddd xmm2, xmmword [0x015789a0]
paddd xmm3, xmm13
paddd xmm4, xmm13
paddd xmm5, xmm13
paddd xmm7, xmm14
paddd xmm8, xmm14
paddd xmm10, xmm15
paddd xmm15, xmmword [0x01577720]
paddd xmm11, xmm15
pand xmm0, xmmword [0x01578a40]
movdqu xmmword [rbp], xmm0
movdqu xmmword [rbp + 0x10], xmm3
mov r9, qword [rsp + 0x180]
call sym.polyHashADInternal
cmp rbx, 0x10
jb 0x58ce69
sub rbx, 0x10
add r10, qword [rsi]
adc r11, qword [rsi + 8]
adc r12, 1
movdqu xmm12, xmmword [rsi]
pxor xmm1, xmm12
movdqu xmmword [rdi], xmm1
lea rsi, [rsi + 0x10]
lea rdi, [rdi + 0x10]
mov rax, qword [rbp]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 8]
mov r8, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 8]
mul r11
add r15, rax
adc rdx, 0
imul r8, r12
add r15, r10
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
movdqa xmm1, xmm4
movdqa xmm4, xmm7
movdqa xmm7, xmm10
movdqa xmm10, xmm2
movdqa xmm2, xmm5
movdqa xmm5, xmm8
movdqa xmm8, xmm11
jmp 0x58cd94
test rbx, rbx
je 0x58c889
mov r9, rbx
shl r9, 4
lea r13, [0x0157ce00]
movdqu xmm12, xmmword [rsi]
add rsi, rbx
pand xmm12, xmmword [r13 + r9 - 0x10]
movdqa xmmword [rbp + 0x40], xmm12
movq r13, xmm12
mov r14, qword [rbp + 0x48]
pxor xmm12, xmm1
movq r8, xmm12
mov byte [rdi], r8b
psrldq xmm12, 1
inc rdi
dec rbx
jne 0x58cea3
add r10, r13
adc r11, r14
adc r12, 1
mov rax, qword [rbp]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 8]
mov r8, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 8]
mul r11
add r15, rax
adc rdx, 0
imul r8, r12
add r15, r10
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
jmp 0x58c889
movdqa xmm0, xmmword [0x015789a0]
movdqa xmm3, xmmword [rbp + 0x20]
movdqa xmm6, xmmword [rbp + 0x30]
movdqa xmm9, xmmword [rbp + 0x80]
paddd xmm9, xmmword [0x01577720]
movdqa xmmword [rbp + 0x50], xmm9
xor r9, r9
mov rcx, rbx
cmp rcx, 0x10
jb 0x58d015
add r10, qword [rsi + r9]
adc r11, qword [rsi + r9 + 8]
adc r12, 1
mov rax, qword [rbp]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 8]
mov r8, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 8]
mul r11
add r15, rax
adc rdx, 0
imul r8, r12
add r15, r10
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
sub rcx, 0x10
add r9, 0x10
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm12, xmm9
pslld xmm12, 0x10
psrld xmm9, 0x10
pxor xmm9, xmm12
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm12
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm12, xmm9
pslld xmm12, 8
psrld xmm9, 0x18
pxor xmm9, xmm12
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 7
psrld xmm3, 0x19
pxor xmm3, xmm12
palignr xmm3, xmm3, 4
palignr xmm6, xmm6, 8
palignr xmm9, xmm9, 0xc
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm12, xmm9
pslld xmm12, 0x10
psrld xmm9, 0x10
pxor xmm9, xmm12
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm12
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm12, xmm9
pslld xmm12, 8
psrld xmm9, 0x18
pxor xmm9, xmm12
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 7
psrld xmm3, 0x19
pxor xmm3, xmm12
palignr xmm3, xmm3, 0xc
palignr xmm6, xmm6, 8
palignr xmm9, xmm9, 4
cmp rcx, 0x10
jae 0x58cf83
cmp r9, 0xa0
jne 0x58d015
paddd xmm0, xmmword [0x015789a0]
paddd xmm3, xmmword [rbp + 0x20]
paddd xmm6, xmmword [rbp + 0x30]
paddd xmm9, xmmword [rbp + 0x50]
cmp rbx, 0x10
jb 0x58d191
sub rbx, 0x10
movdqu xmm12, xmmword [rsi]
pxor xmm0, xmm12
movdqu xmmword [rdi], xmm0
lea rsi, [rsi + 0x10]
lea rdi, [rdi + 0x10]
movdqa xmm0, xmm3
movdqa xmm3, xmm6
movdqa xmm6, xmm9
jmp 0x58d162
movdqa xmm1, xmm0
jmp 0x58ce69
movdqa xmm1, xmmword [0x015789a0]
movdqa xmm4, xmmword [rbp + 0x20]
movdqa xmm7, xmmword [rbp + 0x30]
movdqa xmm10, xmmword [rbp + 0x80]
paddd xmm10, xmmword [0x01577720]
movdqa xmmword [rbp + 0x50], xmm10
movdqa xmm0, xmm1
movdqa xmm3, xmm4
movdqa xmm6, xmm7
movdqa xmm9, xmm10
paddd xmm9, xmmword [0x01577720]
movdqa xmmword [rbp + 0x60], xmm9
xor r9, r9
mov rcx, rbx
and rcx, 0xfffffffffffffff0
add r10, qword [rsi + r9]
adc r11, qword [rsi + r9 + 8]
adc r12, 1
mov rax, qword [rbp]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 8]
mov r8, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 8]
mul r11
add r15, rax
adc rdx, 0
imul r8, r12
add r15, r10
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
add r9, 0x10
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm12, xmm9
pslld xmm12, 0x10
psrld xmm9, 0x10
pxor xmm9, xmm12
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm12
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm12, xmm9
pslld xmm12, 8
psrld xmm9, 0x18
pxor xmm9, xmm12
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 7
psrld xmm3, 0x19
pxor xmm3, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
movdqa xmm12, xmm10
pslld xmm12, 0x10
psrld xmm10, 0x10
pxor xmm10, xmm12
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
movdqa xmm12, xmm10
pslld xmm12, 8
psrld xmm10, 0x18
pxor xmm10, xmm12
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 7
psrld xmm4, 0x19
pxor xmm4, xmm12
palignr xmm3, xmm3, 4
palignr xmm6, xmm6, 8
palignr xmm9, xmm9, 0xc
palignr xmm4, xmm4, 4
palignr xmm7, xmm7, 8
palignr xmm10, xmm10, 0xc
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm12, xmm9
pslld xmm12, 0x10
psrld xmm9, 0x10
pxor xmm9, xmm12
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm12
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm12, xmm9
pslld xmm12, 8
psrld xmm9, 0x18
pxor xmm9, xmm12
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 7
psrld xmm3, 0x19
pxor xmm3, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
movdqa xmm12, xmm10
pslld xmm12, 0x10
psrld xmm10, 0x10
pxor xmm10, xmm12
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
movdqa xmm12, xmm10
pslld xmm12, 8
psrld xmm10, 0x18
pxor xmm10, xmm12
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 7
psrld xmm4, 0x19
pxor xmm4, xmm12
palignr xmm3, xmm3, 0xc
palignr xmm6, xmm6, 8
palignr xmm9, xmm9, 4
palignr xmm4, xmm4, 0xc
palignr xmm7, xmm7, 8
palignr xmm10, xmm10, 4
cmp r9, rcx
jb 0x58d1ee
cmp r9, 0xa0
jne 0x58d27c
paddd xmm0, xmmword [0x015789a0]
paddd xmm1, xmmword [0x015789a0]
paddd xmm3, xmmword [rbp + 0x20]
paddd xmm4, xmmword [rbp + 0x20]
paddd xmm6, xmmword [rbp + 0x30]
paddd xmm7, xmmword [rbp + 0x30]
paddd xmm9, xmmword [rbp + 0x60]
paddd xmm10, xmmword [rbp + 0x50]
movdqu xmm12, xmmword [rsi]
movdqu xmm13, xmmword [rsi + 0x10]
movdqu xmm14, xmmword [rsi + 0x20]
movdqu xmm15, xmmword [rsi + 0x30]
pxor xmm1, xmm12
pxor xmm4, xmm13
pxor xmm7, xmm14
pxor xmm10, xmm15
movdqu xmmword [rdi], xmm1
movdqu xmmword [rdi + 0x10], xmm4
movdqu xmmword [rdi + 0x20], xmm7
movdqu xmmword [rdi + 0x30], xmm10
sub rbx, 0x40
lea rsi, [rsi + 0x40]
lea rdi, [rdi + 0x40]
jmp 0x58d162
movdqa xmm2, xmmword [0x015789a0]
movdqa xmm5, xmmword [rbp + 0x20]
movdqa xmm8, xmmword [rbp + 0x30]
movdqa xmm11, xmmword [rbp + 0x80]
paddd xmm11, xmmword [0x01577720]
movdqa xmmword [rbp + 0x50], xmm11
movdqa xmm1, xmm2
movdqa xmm4, xmm5
movdqa xmm7, xmm8
movdqa xmm10, xmm11
paddd xmm10, xmmword [0x01577720]
movdqa xmmword [rbp + 0x60], xmm10
movdqa xmm0, xmm1
movdqa xmm3, xmm4
movdqa xmm6, xmm7
movdqa xmm9, xmm10
paddd xmm9, xmmword [0x01577720]
movdqa xmmword [rbp + 0x70], xmm9
mov rcx, rbx
mov r9, 0xa0
cmp rcx, 0xa0
cmovg rcx, r9
and rcx, 0xfffffffffffffff0
xor r9, r9
add r10, qword [rsi + r9]
adc r11, qword [rsi + r9 + 8]
adc r12, 1
mov rax, qword [rbp]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 8]
mov r8, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 8]
mul r11
add r15, rax
adc rdx, 0
imul r8, r12
add r15, r10
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
add r9, 0x10
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm12, xmm9
pslld xmm12, 0x10
psrld xmm9, 0x10
pxor xmm9, xmm12
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm12
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm12, xmm9
pslld xmm12, 8
psrld xmm9, 0x18
pxor xmm9, xmm12
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 7
psrld xmm3, 0x19
pxor xmm3, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
movdqa xmm12, xmm10
pslld xmm12, 0x10
psrld xmm10, 0x10
pxor xmm10, xmm12
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
movdqa xmm12, xmm10
pslld xmm12, 8
psrld xmm10, 0x18
pxor xmm10, xmm12
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 7
psrld xmm4, 0x19
pxor xmm4, xmm12
paddd xmm2, xmm5
pxor xmm11, xmm2
movdqa xmm12, xmm11
pslld xmm12, 0x10
psrld xmm11, 0x10
pxor xmm11, xmm12
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm12, xmm5
pslld xmm12, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm12
paddd xmm2, xmm5
pxor xmm11, xmm2
movdqa xmm12, xmm11
pslld xmm12, 8
psrld xmm11, 0x18
pxor xmm11, xmm12
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm12, xmm5
pslld xmm12, 7
psrld xmm5, 0x19
pxor xmm5, xmm12
palignr xmm3, xmm3, 4
palignr xmm6, xmm6, 8
palignr xmm9, xmm9, 0xc
palignr xmm4, xmm4, 4
palignr xmm7, xmm7, 8
palignr xmm10, xmm10, 0xc
palignr xmm5, xmm5, 4
palignr xmm8, xmm8, 8
palignr xmm11, xmm11, 0xc
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm12, xmm9
pslld xmm12, 0x10
psrld xmm9, 0x10
pxor xmm9, xmm12
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm12
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm12, xmm9
pslld xmm12, 8
psrld xmm9, 0x18
pxor xmm9, xmm12
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 7
psrld xmm3, 0x19
pxor xmm3, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
movdqa xmm12, xmm10
pslld xmm12, 0x10
psrld xmm10, 0x10
pxor xmm10, xmm12
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
movdqa xmm12, xmm10
pslld xmm12, 8
psrld xmm10, 0x18
pxor xmm10, xmm12
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 7
psrld xmm4, 0x19
pxor xmm4, xmm12
paddd xmm2, xmm5
pxor xmm11, xmm2
movdqa xmm12, xmm11
pslld xmm12, 0x10
psrld xmm11, 0x10
pxor xmm11, xmm12
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm12, xmm5
pslld xmm12, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm12
paddd xmm2, xmm5
pxor xmm11, xmm2
movdqa xmm12, xmm11
pslld xmm12, 8
psrld xmm11, 0x18
pxor xmm11, xmm12
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm12, xmm5
pslld xmm12, 7
psrld xmm5, 0x19
pxor xmm5, xmm12
palignr xmm3, xmm3, 0xc
palignr xmm6, xmm6, 8
palignr xmm9, xmm9, 4
palignr xmm4, xmm4, 0xc
palignr xmm7, xmm7, 8
palignr xmm10, xmm10, 4
palignr xmm5, xmm5, 0xc
palignr xmm8, xmm8, 8
palignr xmm11, xmm11, 4
cmp r9, rcx
jb 0x58d5d2
cmp r9, 0xa0
jne 0x58d660
cmp rbx, 0xb0
jb 0x58db0e
add r10, qword [rsi + 0xa0]
adc r11, qword [rsi + 0xa8]
adc r12, 1
mov rax, qword [rbp]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 8]
mov r8, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 8]
mul r11
add r15, rax
adc rdx, 0
imul r8, r12
add r15, r10
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
cmp rbx, 0xc0
jb 0x58db0e
add r10, qword [rsi + 0xb0]
adc r11, qword [rsi + 0xb8]
adc r12, 1
mov rax, qword [rbp]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 8]
mov r8, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 8]
mul r11
add r15, rax
adc rdx, 0
imul r8, r12
add r15, r10
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
paddd xmm0, xmmword [0x015789a0]
paddd xmm1, xmmword [0x015789a0]
paddd xmm2, xmmword [0x015789a0]
paddd xmm3, xmmword [rbp + 0x20]
paddd xmm4, xmmword [rbp + 0x20]
paddd xmm5, xmmword [rbp + 0x20]
paddd xmm6, xmmword [rbp + 0x30]
paddd xmm7, xmmword [rbp + 0x30]
paddd xmm8, xmmword [rbp + 0x30]
paddd xmm9, xmmword [rbp + 0x70]
paddd xmm10, xmmword [rbp + 0x60]
paddd xmm11, xmmword [rbp + 0x50]
movdqu xmm12, xmmword [rsi]
movdqu xmm13, xmmword [rsi + 0x10]
movdqu xmm14, xmmword [rsi + 0x20]
movdqu xmm15, xmmword [rsi + 0x30]
pxor xmm2, xmm12
pxor xmm5, xmm13
pxor xmm8, xmm14
pxor xmm11, xmm15
movdqu xmmword [rdi], xmm2
movdqu xmmword [rdi + 0x10], xmm5
movdqu xmmword [rdi + 0x20], xmm8
movdqu xmmword [rdi + 0x30], xmm11
movdqu xmm12, xmmword [rsi + 0x40]
movdqu xmm13, xmmword [rsi + 0x50]
movdqu xmm14, xmmword [rsi + 0x60]
movdqu xmm15, xmmword [rsi + 0x70]
pxor xmm1, xmm12
pxor xmm4, xmm13
pxor xmm7, xmm14
pxor xmm10, xmm15
movdqu xmmword [rdi + 0x40], xmm1
movdqu xmmword [rdi + 0x50], xmm4
movdqu xmmword [rdi + 0x60], xmm7
movdqu xmmword [rdi + 0x70], xmm10
sub rbx, 0x80
lea rsi, [rsi + 0x80]
lea rdi, [rdi + 0x80]
jmp 0x58d162
movdqa xmm0, xmmword [0x015789a0]
movdqa xmm3, xmmword [rbp + 0x20]
movdqa xmm6, xmmword [rbp + 0x30]
movdqa xmm9, xmmword [rbp + 0x80]
paddd xmm9, xmmword [0x01577720]
movdqa xmm1, xmm0
movdqa xmm4, xmm3
movdqa xmm7, xmm6
movdqa xmm10, xmm9
paddd xmm10, xmmword [0x01577720]
movdqa xmm2, xmm1
movdqa xmm5, xmm4
movdqa xmm8, xmm7
movdqa xmm11, xmm10
paddd xmm11, xmmword [0x01577720]
movdqa xmm12, xmm2
movdqa xmm13, xmm5
movdqa xmm14, xmm8
movdqa xmm15, xmm11
paddd xmm15, xmmword [0x01577720]
movdqa xmmword [rbp + 0x50], xmm9
movdqa xmmword [rbp + 0x60], xmm10
movdqa xmmword [rbp + 0x70], xmm11
movdqa xmmword [rbp + 0x80], xmm15
xor r9, r9
add r10, qword [rsi + r9]
adc r11, qword [rsi + r9 + 8]
adc r12, 1
movdqa xmmword [rbp + 0x40], xmm14
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm14, xmm9
pslld xmm14, 0x10
psrld xmm9, 0x10
pxor xmm9, xmm14
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm14, xmm3
pslld xmm14, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm14
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm14, xmm9
pslld xmm14, 8
psrld xmm9, 0x18
pxor xmm9, xmm14
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm14, xmm3
pslld xmm14, 7
psrld xmm3, 0x19
pxor xmm3, xmm14
paddd xmm1, xmm4
pxor xmm10, xmm1
movdqa xmm14, xmm10
pslld xmm14, 0x10
psrld xmm10, 0x10
pxor xmm10, xmm14
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm14, xmm4
pslld xmm14, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm14
paddd xmm1, xmm4
pxor xmm10, xmm1
movdqa xmm14, xmm10
pslld xmm14, 8
psrld xmm10, 0x18
pxor xmm10, xmm14
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm14, xmm4
pslld xmm14, 7
psrld xmm4, 0x19
pxor xmm4, xmm14
paddd xmm2, xmm5
pxor xmm11, xmm2
movdqa xmm14, xmm11
pslld xmm14, 0x10
psrld xmm11, 0x10
pxor xmm11, xmm14
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm14, xmm5
pslld xmm14, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm14
paddd xmm2, xmm5
pxor xmm11, xmm2
movdqa xmm14, xmm11
pslld xmm14, 8
psrld xmm11, 0x18
pxor xmm11, xmm14
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm14, xmm5
pslld xmm14, 7
psrld xmm5, 0x19
pxor xmm5, xmm14
movdqa xmm14, xmmword [rbp + 0x40]
movdqa xmmword [rbp + 0x40], xmm7
paddd xmm12, xmm13
pxor xmm15, xmm12
movdqa xmm7, xmm15
pslld xmm7, 0x10
psrld xmm15, 0x10
pxor xmm15, xmm7
paddd xmm14, xmm15
pxor xmm13, xmm14
movdqa xmm7, xmm13
pslld xmm7, 0xc
psrld xmm13, 0x14
pxor xmm13, xmm7
paddd xmm12, xmm13
pxor xmm15, xmm12
movdqa xmm7, xmm15
pslld xmm7, 8
psrld xmm15, 0x18
pxor xmm15, xmm7
paddd xmm14, xmm15
pxor xmm13, xmm14
movdqa xmm7, xmm13
pslld xmm7, 7
psrld xmm13, 0x19
pxor xmm13, xmm7
movdqa xmm7, xmmword [rbp + 0x40]
palignr xmm3, xmm3, 4
palignr xmm4, xmm4, 4
palignr xmm5, xmm5, 4
palignr xmm13, xmm13, 4
palignr xmm6, xmm6, 8
palignr xmm7, xmm7, 8
palignr xmm8, xmm8, 8
palignr xmm14, xmm14, 8
palignr xmm9, xmm9, 0xc
palignr xmm10, xmm10, 0xc
palignr xmm11, xmm11, 0xc
palignr xmm15, xmm15, 0xc
mov rax, qword [rbp]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 8]
mov r8, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 8]
mul r11
add r15, rax
adc rdx, 0
movdqa xmmword [rbp + 0x40], xmm14
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm14, xmm9
pslld xmm14, 0x10
psrld xmm9, 0x10
pxor xmm9, xmm14
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm14, xmm3
pslld xmm14, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm14
paddd xmm0, xmm3
pxor xmm9, xmm0
movdqa xmm14, xmm9
pslld xmm14, 8
psrld xmm9, 0x18
pxor xmm9, xmm14
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm14, xmm3
pslld xmm14, 7
psrld xmm3, 0x19
pxor xmm3, xmm14
paddd xmm1, xmm4
pxor xmm10, xmm1
movdqa xmm14, xmm10
pslld xmm14, 0x10
psrld xmm10, 0x10
pxor xmm10, xmm14
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm14, xmm4
pslld xmm14, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm14
paddd xmm1, xmm4
pxor xmm10, xmm1
movdqa xmm14, xmm10
pslld xmm14, 8
psrld xmm10, 0x18
pxor xmm10, xmm14
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm14, xmm4
pslld xmm14, 7
psrld xmm4, 0x19
pxor xmm4, xmm14
paddd xmm2, xmm5
pxor xmm11, xmm2
movdqa xmm14, xmm11
pslld xmm14, 0x10
psrld xmm11, 0x10
pxor xmm11, xmm14
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm14, xmm5
pslld xmm14, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm14
paddd xmm2, xmm5
pxor xmm11, xmm2
movdqa xmm14, xmm11
pslld xmm14, 8
psrld xmm11, 0x18
pxor xmm11, xmm14
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm14, xmm5
pslld xmm14, 7
psrld xmm5, 0x19
pxor xmm5, xmm14
movdqa xmm14, xmmword [rbp + 0x40]
movdqa xmmword [rbp + 0x40], xmm7
paddd xmm12, xmm13
pxor xmm15, xmm12
movdqa xmm7, xmm15
pslld xmm7, 0x10
psrld xmm15, 0x10
pxor xmm15, xmm7
paddd xmm14, xmm15
pxor xmm13, xmm14
movdqa xmm7, xmm13
pslld xmm7, 0xc
psrld xmm13, 0x14
pxor xmm13, xmm7
paddd xmm12, xmm13
pxor xmm15, xmm12
movdqa xmm7, xmm15
pslld xmm7, 8
psrld xmm15, 0x18
pxor xmm15, xmm7
paddd xmm14, xmm15
pxor xmm13, xmm14
movdqa xmm7, xmm13
pslld xmm7, 7
psrld xmm13, 0x19
pxor xmm13, xmm7
movdqa xmm7, xmmword [rbp + 0x40]
imul r8, r12
add r15, r10
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
palignr xmm3, xmm3, 0xc
palignr xmm4, xmm4, 0xc
palignr xmm5, xmm5, 0xc
palignr xmm13, xmm13, 0xc
palignr xmm6, xmm6, 8
palignr xmm7, xmm7, 8
palignr xmm8, xmm8, 8
palignr xmm14, xmm14, 8
palignr xmm9, xmm9, 4
palignr xmm10, xmm10, 4
palignr xmm11, xmm11, 4
palignr xmm15, xmm15, 4
add r9, 0x10
cmp r9, 0xa0
jb 0x58dc86
mov rcx, rbx
and rcx, 0xfffffffffffffff0
add r10, qword [rsi + r9]
adc r11, qword [rsi + r9 + 8]
adc r12, 1
mov rax, qword [rbp]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 8]
mov r8, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 8]
mul r11
add r15, rax
adc rdx, 0
imul r8, r12
add r15, r10
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
add r9, 0x10
cmp r9, rcx
jb 0x58e1ce
paddd xmm0, xmmword [0x015789a0]
paddd xmm1, xmmword [0x015789a0]
paddd xmm2, xmmword [0x015789a0]
paddd xmm12, xmmword [0x015789a0]
paddd xmm3, xmmword [rbp + 0x20]
paddd xmm4, xmmword [rbp + 0x20]
paddd xmm5, xmmword [rbp + 0x20]
paddd xmm13, xmmword [rbp + 0x20]
paddd xmm6, xmmword [rbp + 0x30]
paddd xmm7, xmmword [rbp + 0x30]
paddd xmm8, xmmword [rbp + 0x30]
paddd xmm14, xmmword [rbp + 0x30]
paddd xmm9, xmmword [rbp + 0x50]
paddd xmm10, xmmword [rbp + 0x60]
paddd xmm11, xmmword [rbp + 0x70]
paddd xmm15, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x40], xmm15
movdqu xmm15, xmmword [rsi]
pxor xmm0, xmm15
movdqu xmm15, xmmword [rsi + 0x10]
pxor xmm3, xmm15
movdqu xmm15, xmmword [rsi + 0x20]
pxor xmm6, xmm15
movdqu xmm15, xmmword [rsi + 0x30]
pxor xmm9, xmm15
movdqu xmmword [rdi], xmm0
movdqu xmmword [rdi + 0x10], xmm3
movdqu xmmword [rdi + 0x20], xmm6
movdqu xmmword [rdi + 0x30], xmm9
movdqu xmm0, xmmword [rsi + 0x40]
movdqu xmm3, xmmword [rsi + 0x50]
movdqu xmm6, xmmword [rsi + 0x60]
movdqu xmm9, xmmword [rsi + 0x70]
pxor xmm1, xmm0
pxor xmm4, xmm3
pxor xmm7, xmm6
pxor xmm10, xmm9
movdqu xmmword [rdi + 0x40], xmm1
movdqu xmmword [rdi + 0x50], xmm4
movdqu xmmword [rdi + 0x60], xmm7
movdqu xmmword [rdi + 0x70], xmm10
movdqu xmm0, xmmword [rsi + 0x80]
movdqu xmm3, xmmword [rsi + 0x90]
movdqu xmm6, xmmword [rsi + 0xa0]
movdqu xmm9, xmmword [rsi + 0xb0]
pxor xmm2, xmm0
pxor xmm5, xmm3
pxor xmm8, xmm6
pxor xmm11, xmm9
movdqu xmmword [rdi + 0x80], xmm2
movdqu xmmword [rdi + 0x90], xmm5
movdqu xmmword [rdi + 0xa0], xmm8
movdqu xmmword [rdi + 0xb0], xmm11
lea rsi, [rsi + 0xc0]
lea rdi, [rdi + 0xc0]
sub rbx, 0xc0
movdqa xmm0, xmm12
movdqa xmm3, xmm13
movdqa xmm6, xmm14
movdqa xmm9, xmmword [rbp + 0x40]
jmp 0x58d162
vzeroupper
vmovdqu ymm0, ymmword [0x015789a0]
vbroadcasti128 ymm14, xmmword [r8 + 0x10]
vbroadcasti128 ymm12, xmmword [r8 + 0x20]
vbroadcasti128 ymm4, xmmword [r8 + 0x30]
vpaddd ymm4, ymm4, ymmword [0x01578a20]
cmp rbx, 0xc0
jbe 0x58eeb6
cmp rbx, 0x140
jbe 0x58f2f0
vmovdqa ymmword [rbp + 0x20], ymm14
vmovdqa ymmword [rbp + 0x40], ymm12
vmovdqa ymmword [rbp + 0xc0], ymm4
mov r9, 0xa
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x015789c0]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 0xc
vpsrld ymm14, ymm14, 0x14
vpxor ymm14, ymm14, ymm3
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x015789e0]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 7
vpsrld ymm14, ymm14, 0x19
vpxor ymm14, ymm14, ymm3
vpalignr ymm14, ymm14, ymm14, 4
vpalignr ymm12, ymm12, ymm12, 8
vpalignr ymm4, ymm4, ymm4, 0xc
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x015789c0]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 0xc
vpsrld ymm14, ymm14, 0x14
vpxor ymm14, ymm14, ymm3
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x015789e0]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 7
vpsrld ymm14, ymm14, 0x19
vpxor ymm14, ymm14, ymm3
vpalignr ymm14, ymm14, ymm14, 0xc
vpalignr ymm12, ymm12, ymm12, 8
vpalignr ymm4, ymm4, ymm4, 4
dec r9
jne 0x58e42c
vpaddd ymm0, ymm0, ymmword [0x015789a0]
vpaddd ymm14, ymm14, ymmword [rbp + 0x20]
vpaddd ymm12, ymm12, ymmword [rbp + 0x40]
vpaddd ymm4, ymm4, ymmword [rbp + 0xc0]
vperm2i128 ymm3, ymm14, ymm0, 2
vpand ymm3, ymm3, ymmword [0x01578a40]
vmovdqa ymmword [rbp], ymm3
vperm2i128 ymm0, ymm14, ymm0, 0x13
vperm2i128 ymm14, ymm4, ymm12, 0x13
mov r9, qword [rsp + 0x180]
call sym.polyHashADInternal
xor rcx, rcx
add r10, qword [rsi + rcx]
adc r11, qword [rsi + rcx + 8]
adc r12, 1
mov rdx, qword [rbp]
mov r15, rdx
mulx r14, r13, r10
imul r15, r12
mulx rdx, rax, r11
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 8]
mulx rax, r10, r10
add r14, r10
mulx r8, r11, r11
adc r15, r11
adc r8, 0
imul rdx, r12
add r15, rax
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
add rcx, 0x10
cmp rcx, 0x40
jne 0x58e54e
vpxor ymm0, ymm0, ymmword [rsi]
vpxor ymm14, ymm14, ymmword [rsi + 0x20]
vmovdqu ymmword [rdi], ymm0
vmovdqu ymmword [rdi + 0x20], ymm14
lea rsi, [rsi + 0x40]
lea rdi, [rdi + 0x40]
sub rbx, 0x40
cmp rbx, 0x200
jb 0x58ee81
vmovdqu ymm0, ymmword [0x015789a0]
vmovdqa ymm5, ymm0
vmovdqa ymm6, ymm0
vmovdqa ymm7, ymm0
vmovdqa ymm14, ymmword [rbp + 0x20]
vmovdqa ymm9, ymm14
vmovdqa ymm10, ymm14
vmovdqa ymm11, ymm14
vmovdqa ymm12, ymmword [rbp + 0x40]
vmovdqa ymm13, ymm12
vmovdqa ymm8, ymm12
vmovdqa ymm15, ymm12
vmovdqa ymm4, ymmword [rbp + 0xc0]
vpaddd ymm4, ymm4, ymmword [0x01578a00]
vpaddd ymm1, ymm4, ymmword [0x01578a00]
vpaddd ymm2, ymm1, ymmword [0x01578a00]
vpaddd ymm3, ymm2, ymmword [0x01578a00]
vmovdqa ymmword [rbp + 0x60], ymm4
vmovdqa ymmword [rbp + 0x80], ymm1
vmovdqa ymmword [rbp + 0xa0], ymm2
vmovdqa ymmword [rbp + 0xc0], ymm3
xor rcx, rcx
add r10, qword [rsi + rcx]
adc r11, qword [rsi + rcx + 8]
adc r12, 1
vpaddd ymm0, ymm0, ymm14
vpaddd ymm5, ymm5, ymm9
vpaddd ymm6, ymm6, ymm10
vpaddd ymm7, ymm7, ymm11
mov rdx, qword [rbp]
mov r15, rdx
mulx r14, r13, r10
imul r15, r12
mulx rdx, rax, r11
add r14, rax
adc r15, rdx
vpxor ymm4, ymm4, ymm0
vpxor ymm1, ymm1, ymm5
vpxor ymm2, ymm2, ymm6
vpxor ymm3, ymm3, ymm7
vpshufb ymm4, ymm4, ymmword [0x015789c0]
vpshufb ymm1, ymm1, ymmword [0x015789c0]
vpshufb ymm2, ymm2, ymmword [0x015789c0]
vpshufb ymm3, ymm3, ymmword [0x015789c0]
mov rdx, qword [rbp + 8]
mulx rax, r10, r10
add r14, r10
mulx r8, r11, r11
adc r15, r11
adc r8, 0
vpaddd ymm12, ymm12, ymm4
vpaddd ymm13, ymm13, ymm1
vpaddd ymm8, ymm8, ymm2
vpaddd ymm15, ymm15, ymm3
vpxor ymm14, ymm14, ymm12
vpxor ymm9, ymm9, ymm13
vpxor ymm10, ymm10, ymm8
vpxor ymm11, ymm11, ymm15
imul rdx, r12
add r15, rax
adc r8, rdx
vmovdqa ymmword [rbp + 0xe0], ymm15
vpslld ymm15, ymm14, 0xc
vpsrld ymm14, ymm14, 0x14
vpxor ymm14, ymm14, ymm15
vpslld ymm15, ymm9, 0xc
vpsrld ymm9, ymm9, 0x14
vpxor ymm9, ymm9, ymm15
vpslld ymm15, ymm10, 0xc
vpsrld ymm10, ymm10, 0x14
vpxor ymm10, ymm10, ymm15
vpslld ymm15, ymm11, 0xc
vpsrld ymm11, ymm11, 0x14
vpxor ymm11, ymm11, ymm15
vmovdqa ymm15, ymmword [rbp + 0xe0]
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
vpaddd ymm0, ymm0, ymm14
vpaddd ymm5, ymm5, ymm9
vpaddd ymm6, ymm6, ymm10
vpaddd ymm7, ymm7, ymm11
vpxor ymm4, ymm4, ymm0
vpxor ymm1, ymm1, ymm5
vpxor ymm2, ymm2, ymm6
vpxor ymm3, ymm3, ymm7
vpshufb ymm4, ymm4, ymmword [0x015789e0]
vpshufb ymm1, ymm1, ymmword [0x015789e0]
vpshufb ymm2, ymm2, ymmword [0x015789e0]
vpshufb ymm3, ymm3, ymmword [0x015789e0]
add r10, qword [rsi + rcx + 0x10]
adc r11, qword [rsi + rcx + 0x18]
adc r12, 1
vpaddd ymm12, ymm12, ymm4
vpaddd ymm13, ymm13, ymm1
vpaddd ymm8, ymm8, ymm2
vpaddd ymm15, ymm15, ymm3
mov rdx, qword [rbp]
mov r15, rdx
mulx r14, r13, r10
imul r15, r12
mulx rdx, rax, r11
add r14, rax
adc r15, rdx
vpxor ymm14, ymm14, ymm12
vpxor ymm9, ymm9, ymm13
vpxor ymm10, ymm10, ymm8
vpxor ymm11, ymm11, ymm15
vmovdqa ymmword [rbp + 0xe0], ymm15
vpslld ymm15, ymm14, 7
vpsrld ymm14, ymm14, 0x19
vpxor ymm14, ymm14, ymm15
vpslld ymm15, ymm9, 7
vpsrld ymm9, ymm9, 0x19
vpxor ymm9, ymm9, ymm15
vpslld ymm15, ymm10, 7
vpsrld ymm10, ymm10, 0x19
vpxor ymm10, ymm10, ymm15
vpslld ymm15, ymm11, 7
vpsrld ymm11, ymm11, 0x19
vpxor ymm11, ymm11, ymm15
vmovdqa ymm15, ymmword [rbp + 0xe0]
mov rdx, qword [rbp + 8]
mulx rax, r10, r10
add r14, r10
mulx r8, r11, r11
adc r15, r11
adc r8, 0
vpalignr ymm14, ymm14, ymm14, 4
vpalignr ymm9, ymm9, ymm9, 4
vpalignr ymm10, ymm10, ymm10, 4
vpalignr ymm11, ymm11, ymm11, 4
vpalignr ymm12, ymm12, ymm12, 8
vpalignr ymm13, ymm13, ymm13, 8
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm15, ymm15, ymm15, 8
vpalignr ymm4, ymm4, ymm4, 0xc
vpalignr ymm1, ymm1, ymm1, 0xc
vpalignr ymm2, ymm2, ymm2, 0xc
vpalignr ymm3, ymm3, ymm3, 0xc
vpaddd ymm0, ymm0, ymm14
vpaddd ymm5, ymm5, ymm9
vpaddd ymm6, ymm6, ymm10
vpaddd ymm7, ymm7, ymm11
imul rdx, r12
add r15, rax
adc r8, rdx
vpxor ymm4, ymm4, ymm0
vpxor ymm1, ymm1, ymm5
vpxor ymm2, ymm2, ymm6
vpxor ymm3, ymm3, ymm7
vpshufb ymm4, ymm4, ymmword [0x015789c0]
vpshufb ymm1, ymm1, ymmword [0x015789c0]
vpshufb ymm2, ymm2, ymmword [0x015789c0]
vpshufb ymm3, ymm3, ymmword [0x015789c0]
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
vpaddd ymm12, ymm12, ymm4
vpaddd ymm13, ymm13, ymm1
vpaddd ymm8, ymm8, ymm2
vpaddd ymm15, ymm15, ymm3
vpxor ymm14, ymm14, ymm12
vpxor ymm9, ymm9, ymm13
vpxor ymm10, ymm10, ymm8
vpxor ymm11, ymm11, ymm15
add r10, qword [rsi + rcx + 0x20]
adc r11, qword [rsi + rcx + 0x28]
adc r12, 1
lea rcx, [rcx + 0x30]
vmovdqa ymmword [rbp + 0xe0], ymm15
vpslld ymm15, ymm14, 0xc
vpsrld ymm14, ymm14, 0x14
vpxor ymm14, ymm14, ymm15
vpslld ymm15, ymm9, 0xc
vpsrld ymm9, ymm9, 0x14
vpxor ymm9, ymm9, ymm15
vpslld ymm15, ymm10, 0xc
vpsrld ymm10, ymm10, 0x14
vpxor ymm10, ymm10, ymm15
vpslld ymm15, ymm11, 0xc
vpsrld ymm11, ymm11, 0x14
vpxor ymm11, ymm11, ymm15
vmovdqa ymm15, ymmword [rbp + 0xe0]
mov rdx, qword [rbp]
mov r15, rdx
mulx r14, r13, r10
imul r15, r12
mulx rdx, rax, r11
add r14, rax
adc r15, rdx
vpaddd ymm0, ymm0, ymm14
vpaddd ymm5, ymm5, ymm9
vpaddd ymm6, ymm6, ymm10
vpaddd ymm7, ymm7, ymm11
vpxor ymm4, ymm4, ymm0
vpxor ymm1, ymm1, ymm5
vpxor ymm2, ymm2, ymm6
vpxor ymm3, ymm3, ymm7
mov rdx, qword [rbp + 8]
mulx rax, r10, r10
add r14, r10
mulx r8, r11, r11
adc r15, r11
adc r8, 0
vpshufb ymm4, ymm4, ymmword [0x015789e0]
vpshufb ymm1, ymm1, ymmword [0x015789e0]
vpshufb ymm2, ymm2, ymmword [0x015789e0]
vpshufb ymm3, ymm3, ymmword [0x015789e0]
vpaddd ymm12, ymm12, ymm4
vpaddd ymm13, ymm13, ymm1
vpaddd ymm8, ymm8, ymm2
vpaddd ymm15, ymm15, ymm3
imul rdx, r12
add r15, rax
adc r8, rdx
vpxor ymm14, ymm14, ymm12
vpxor ymm9, ymm9, ymm13
vpxor ymm10, ymm10, ymm8
vpxor ymm11, ymm11, ymm15
vmovdqa ymmword [rbp + 0xe0], ymm15
vpslld ymm15, ymm14, 7
vpsrld ymm14, ymm14, 0x19
vpxor ymm14, ymm14, ymm15
vpslld ymm15, ymm9, 7
vpsrld ymm9, ymm9, 0x19
vpxor ymm9, ymm9, ymm15
vpslld ymm15, ymm10, 7
vpsrld ymm10, ymm10, 0x19
vpxor ymm10, ymm10, ymm15
vpslld ymm15, ymm11, 7
vpsrld ymm11, ymm11, 0x19
vpxor ymm11, ymm11, ymm15
vmovdqa ymm15, ymmword [rbp + 0xe0]
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
vpalignr ymm14, ymm14, ymm14, 0xc
vpalignr ymm9, ymm9, ymm9, 0xc
vpalignr ymm10, ymm10, ymm10, 0xc
vpalignr ymm11, ymm11, ymm11, 0xc
vpalignr ymm12, ymm12, ymm12, 8
vpalignr ymm13, ymm13, ymm13, 8
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm15, ymm15, ymm15, 8
vpalignr ymm4, ymm4, ymm4, 4
vpalignr ymm1, ymm1, ymm1, 4
vpalignr ymm2, ymm2, ymm2, 4
vpalignr ymm3, ymm3, ymm3, 4
cmp rcx, 0x1e0
jne 0x58e689
vpaddd ymm0, ymm0, ymmword [0x015789a0]
vpaddd ymm5, ymm5, ymmword [0x015789a0]
vpaddd ymm6, ymm6, ymmword [0x015789a0]
vpaddd ymm7, ymm7, ymmword [0x015789a0]
vpaddd ymm14, ymm14, ymmword [rbp + 0x20]
vpaddd ymm9, ymm9, ymmword [rbp + 0x20]
vpaddd ymm10, ymm10, ymmword [rbp + 0x20]
vpaddd ymm11, ymm11, ymmword [rbp + 0x20]
vpaddd ymm12, ymm12, ymmword [rbp + 0x40]
vpaddd ymm13, ymm13, ymmword [rbp + 0x40]
vpaddd ymm8, ymm8, ymmword [rbp + 0x40]
vpaddd ymm15, ymm15, ymmword [rbp + 0x40]
vpaddd ymm4, ymm4, ymmword [rbp + 0x60]
vpaddd ymm1, ymm1, ymmword [rbp + 0x80]
vpaddd ymm2, ymm2, ymmword [rbp + 0xa0]
vpaddd ymm3, ymm3, ymmword [rbp + 0xc0]
vmovdqa ymmword [rbp + 0xe0], ymm15
add r10, qword [rsi + 0x1e0]
adc r11, qword [rsi + 0x1e8]
adc r12, 1
mov rdx, qword [rbp]
mov r15, rdx
mulx r14, r13, r10
imul r15, r12
mulx rdx, rax, r11
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 8]
mulx rax, r10, r10
add r14, r10
mulx r8, r11, r11
adc r15, r11
adc r8, 0
imul rdx, r12
add r15, rax
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
vperm2i128 ymm15, ymm14, ymm0, 2
vperm2i128 ymm14, ymm14, ymm0, 0x13
vperm2i128 ymm0, ymm4, ymm12, 2
vperm2i128 ymm12, ymm4, ymm12, 0x13
vpxor ymm15, ymm15, ymmword [rsi]
vpxor ymm0, ymm0, ymmword [rsi + 0x20]
vpxor ymm14, ymm14, ymmword [rsi + 0x40]
vpxor ymm12, ymm12, ymmword [rsi + 0x60]
vmovdqu ymmword [rdi], ymm15
vmovdqu ymmword [rdi + 0x20], ymm0
vmovdqu ymmword [rdi + 0x40], ymm14
vmovdqu ymmword [rdi + 0x60], ymm12
vperm2i128 ymm0, ymm9, ymm5, 2
vperm2i128 ymm14, ymm1, ymm13, 2
vperm2i128 ymm12, ymm9, ymm5, 0x13
vperm2i128 ymm4, ymm1, ymm13, 0x13
vpxor ymm0, ymm0, ymmword [rsi + 0x80]
vpxor ymm14, ymm14, ymmword [rsi + 0xa0]
vpxor ymm12, ymm12, ymmword [rsi + 0xc0]
vpxor ymm4, ymm4, ymmword [rsi + 0xe0]
vmovdqu ymmword [rdi + 0x80], ymm0
vmovdqu ymmword [rdi + 0xa0], ymm14
vmovdqu ymmword [rdi + 0xc0], ymm12
vmovdqu ymmword [rdi + 0xe0], ymm4
add r10, qword [rsi + 0x1f0]
adc r11, qword [rsi + 0x1f8]
adc r12, 1
mov rdx, qword [rbp]
mov r15, rdx
mulx r14, r13, r10
imul r15, r12
mulx rdx, rax, r11
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 8]
mulx rax, r10, r10
add r14, r10
mulx r8, r11, r11
adc r15, r11
adc r8, 0
imul rdx, r12
add r15, rax
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
vperm2i128 ymm0, ymm10, ymm6, 2
vperm2i128 ymm14, ymm2, ymm8, 2
vperm2i128 ymm12, ymm10, ymm6, 0x13
vperm2i128 ymm4, ymm2, ymm8, 0x13
vpxor ymm0, ymm0, ymmword [rsi + 0x100]
vpxor ymm14, ymm14, ymmword [rsi + 0x120]
vpxor ymm12, ymm12, ymmword [rsi + 0x140]
vpxor ymm4, ymm4, ymmword [rsi + 0x160]
vmovdqu ymmword [rdi + 0x100], ymm0
vmovdqu ymmword [rdi + 0x120], ymm14
vmovdqu ymmword [rdi + 0x140], ymm12
vmovdqu ymmword [rdi + 0x160], ymm4
vperm2i128 ymm0, ymm11, ymm7, 2
vperm2i128 ymm14, ymm3, ymmword [rbp + 0xe0], 2
vperm2i128 ymm12, ymm11, ymm7, 0x13
vperm2i128 ymm4, ymm3, ymmword [rbp + 0xe0], 0x13
vpxor ymm0, ymm0, ymmword [rsi + 0x180]
vpxor ymm14, ymm14, ymmword [rsi + 0x1a0]
vpxor ymm12, ymm12, ymmword [rsi + 0x1c0]
vpxor ymm4, ymm4, ymmword [rsi + 0x1e0]
vmovdqu ymmword [rdi + 0x180], ymm0
vmovdqu ymmword [rdi + 0x1a0], ymm14
vmovdqu ymmword [rdi + 0x1c0], ymm12
vmovdqu ymmword [rdi + 0x1e0], ymm4
lea rsi, [rsi + 0x200]
lea rdi, [rdi + 0x200]
sub rbx, 0x200
jmp 0x58e5f8
test rbx, rbx
je 0x58c889
cmp rbx, 0x80
jbe 0x58f64c
cmp rbx, 0x100
jbe 0x58f871
cmp rbx, 0x180
jbe 0x58fc51
jmp 0x59021d
vmovdqa ymm5, ymm0
vmovdqa ymm9, ymm14
vmovdqa ymm13, ymm12
vpaddd ymm1, ymm4, ymmword [0x01578a00]
vmovdqa ymm6, ymm0
vmovdqa ymm10, ymm14
vmovdqa ymm8, ymm12
vmovdqa ymm2, ymm4
vmovdqa ymm15, ymm1
mov r9, 0xa
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x015789c0]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 0xc
vpsrld ymm14, ymm14, 0x14
vpxor ymm14, ymm14, ymm3
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x015789e0]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 7
vpsrld ymm14, ymm14, 0x19
vpxor ymm14, ymm14, ymm3
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x015789c0]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 0xc
vpsrld ymm9, ymm9, 0x14
vpxor ymm9, ymm9, ymm3
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x015789e0]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 7
vpsrld ymm9, ymm9, 0x19
vpxor ymm9, ymm9, ymm3
vpalignr ymm14, ymm14, ymm14, 4
vpalignr ymm9, ymm9, ymm9, 4
vpalignr ymm12, ymm12, ymm12, 8
vpalignr ymm13, ymm13, ymm13, 8
vpalignr ymm4, ymm4, ymm4, 0xc
vpalignr ymm1, ymm1, ymm1, 0xc
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x015789c0]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 0xc
vpsrld ymm14, ymm14, 0x14
vpxor ymm14, ymm14, ymm3
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x015789e0]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 7
vpsrld ymm14, ymm14, 0x19
vpxor ymm14, ymm14, ymm3
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x015789c0]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 0xc
vpsrld ymm9, ymm9, 0x14
vpxor ymm9, ymm9, ymm3
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x015789e0]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 7
vpsrld ymm9, ymm9, 0x19
vpxor ymm9, ymm9, ymm3
vpalignr ymm14, ymm14, ymm14, 0xc
vpalignr ymm9, ymm9, ymm9, 0xc
vpalignr ymm12, ymm12, ymm12, 8
vpalignr ymm13, ymm13, ymm13, 8
vpalignr ymm4, ymm4, ymm4, 4
vpalignr ymm1, ymm1, ymm1, 4
dec r9
jne 0x58eeea
vpaddd ymm0, ymm0, ymm6
vpaddd ymm5, ymm5, ymm6
vpaddd ymm14, ymm14, ymm10
vpaddd ymm9, ymm9, ymm10
vpaddd ymm12, ymm12, ymm8
vpaddd ymm13, ymm13, ymm8
vpaddd ymm4, ymm4, ymm2
vpaddd ymm1, ymm1, ymm15
vperm2i128 ymm3, ymm14, ymm0, 2
vpand ymm3, ymm3, ymmword [0x01578a40]
vmovdqa ymmword [rbp], ymm3
vperm2i128 ymm0, ymm14, ymm0, 0x13
vperm2i128 ymm14, ymm4, ymm12, 0x13
vperm2i128 ymm12, ymm9, ymm5, 2
vperm2i128 ymm4, ymm1, ymm13, 2
vperm2i128 ymm5, ymm9, ymm5, 0x13
vperm2i128 ymm9, ymm1, ymm13, 0x13
mov r9, qword [rsp + 0x180]
call sym.polyHashADInternal
cmp rbx, 0x20
jb 0x58f240
sub rbx, 0x20
add r10, qword [rsi]
adc r11, qword [rsi + 8]
adc r12, 1
mov rdx, qword [rbp]
mov r15, rdx
mulx r14, r13, r10
imul r15, r12
mulx rdx, rax, r11
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 8]
mulx rax, r10, r10
add r14, r10
mulx r8, r11, r11
adc r15, r11
adc r8, 0
imul rdx, r12
add r15, rax
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
add r10, qword [rsi + 0x10]
adc r11, qword [rsi + 0x18]
adc r12, 1
mov rdx, qword [rbp]
mov r15, rdx
mulx r14, r13, r10
imul r15, r12
mulx rdx, rax, r11
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 8]
mulx rax, r10, r10
add r14, r10
mulx r8, r11, r11
adc r15, r11
adc r8, 0
imul rdx, r12
add r15, rax
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
vpxor ymm0, ymm0, ymmword [rsi]
vmovdqu ymmword [rdi], ymm0
lea rsi, [rsi + 0x20]
lea rdi, [rdi + 0x20]
vmovdqa ymm0, ymm14
vmovdqa ymm14, ymm12
vmovdqa ymm12, ymm4
vmovdqa ymm4, ymm5
vmovdqa ymm5, ymm9
vmovdqa ymm9, ymm13
vmovdqa ymm13, ymm1
vmovdqa ymm1, ymm6
vmovdqa ymm6, ymm10
jmp 0x58f0fc
cmp rbx, 0x10
vmovdqa xmm1, xmm0
jb 0x58f2e8
sub rbx, 0x10
add r10, qword [rsi]
adc r11, qword [rsi + 8]
adc r12, 1
mov rdx, qword [rbp]
mov r15, rdx
mulx r14, r13, r10
imul r15, r12
mulx rdx, rax, r11
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 8]
mulx rax, r10, r10
add r14, r10
mulx r8, r11, r11
adc r15, r11
adc r8, 0
imul rdx, r12
add r15, rax
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
vpxor xmm12, xmm0, xmmword [rsi]
vmovdqu xmmword [rdi], xmm12
lea rsi, [rsi + 0x10]
lea rdi, [rdi + 0x10]
vperm2i128 ymm0, ymm0, ymm0, 0x11
vmovdqa xmm1, xmm0
vzeroupper
jmp 0x58ce69
vmovdqa ymm5, ymm0
vmovdqa ymm9, ymm14
vmovdqa ymm13, ymm12
vpaddd ymm1, ymm4, ymmword [0x01578a00]
vmovdqa ymm6, ymm0
vmovdqa ymm10, ymm14
vmovdqa ymm8, ymm12
vpaddd ymm2, ymm1, ymmword [0x01578a00]
vmovdqa ymm7, ymm14
vmovdqa ymm11, ymm12
vmovdqa ymm15, ymm4
mov r9, 0xa
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x015789c0]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 0xc
vpsrld ymm14, ymm14, 0x14
vpxor ymm14, ymm14, ymm3
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x015789e0]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 7
vpsrld ymm14, ymm14, 0x19
vpxor ymm14, ymm14, ymm3
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x015789c0]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 0xc
vpsrld ymm9, ymm9, 0x14
vpxor ymm9, ymm9, ymm3
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x015789e0]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 7
vpsrld ymm9, ymm9, 0x19
vpxor ymm9, ymm9, ymm3
vpaddd ymm6, ymm6, ymm10
vpxor ymm2, ymm2, ymm6
vpshufb ymm2, ymm2, ymmword [0x015789c0]
vpaddd ymm8, ymm8, ymm2
vpxor ymm10, ymm10, ymm8
vpslld ymm3, ymm10, 0xc
vpsrld ymm10, ymm10, 0x14
vpxor ymm10, ymm10, ymm3
vpaddd ymm6, ymm6, ymm10
vpxor ymm2, ymm2, ymm6
vpshufb ymm2, ymm2, ymmword [0x015789e0]
vpaddd ymm8, ymm8, ymm2
vpxor ymm10, ymm10, ymm8
vpslld ymm3, ymm10, 7
vpsrld ymm10, ymm10, 0x19
vpxor ymm10, ymm10, ymm3
vpalignr ymm14, ymm14, ymm14, 4
vpalignr ymm9, ymm9, ymm9, 4
vpalignr ymm10, ymm10, ymm10, 4
vpalignr ymm12, ymm12, ymm12, 8
vpalignr ymm13, ymm13, ymm13, 8
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm4, ymm4, ymm4, 0xc
vpalignr ymm1, ymm1, ymm1, 0xc
vpalignr ymm2, ymm2, ymm2, 0xc
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x015789c0]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 0xc
vpsrld ymm14, ymm14, 0x14
vpxor ymm14, ymm14, ymm3
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x015789e0]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 7
vpsrld ymm14, ymm14, 0x19
vpxor ymm14, ymm14, ymm3
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x015789c0]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 0xc
vpsrld ymm9, ymm9, 0x14
vpxor ymm9, ymm9, ymm3
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x015789e0]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 7
vpsrld ymm9, ymm9, 0x19
vpxor ymm9, ymm9, ymm3
vpaddd ymm6, ymm6, ymm10
vpxor ymm2, ymm2, ymm6
vpshufb ymm2, ymm2, ymmword [0x015789c0]
vpaddd ymm8, ymm8, ymm2
vpxor ymm10, ymm10, ymm8
vpslld ymm3, ymm10, 0xc
vpsrld ymm10, ymm10, 0x14
vpxor ymm10, ymm10, ymm3
vpaddd ymm6, ymm6, ymm10
vpxor ymm2, ymm2, ymm6
vpshufb ymm2, ymm2, ymmword [0x015789e0]
vpaddd ymm8, ymm8, ymm2
vpxor ymm10, ymm10, ymm8
vpslld ymm3, ymm10, 7
vpsrld ymm10, ymm10, 0x19
vpxor ymm10, ymm10, ymm3
vpalignr ymm14, ymm14, ymm14, 0xc
vpalignr ymm9, ymm9, ymm9, 0xc
vpalignr ymm10, ymm10, ymm10, 0xc
vpalignr ymm12, ymm12, ymm12, 8
vpalignr ymm13, ymm13, ymm13, 8
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm4, ymm4, ymm4, 4
vpalignr ymm1, ymm1, ymm1, 4
vpalignr ymm2, ymm2, ymm2, 4
dec r9
jne 0x58f331
vmovdqa ymm3, ymmword [0x015789a0]
vpaddd ymm0, ymm0, ymm3
vpaddd ymm5, ymm5, ymm3
vpaddd ymm6, ymm6, ymm3
vpaddd ymm14, ymm14, ymm7
vpaddd ymm9, ymm9, ymm7
vpaddd ymm10, ymm10, ymm7
vpaddd ymm12, ymm12, ymm11
vpaddd ymm13, ymm13, ymm11
vpaddd ymm8, ymm8, ymm11
vmovdqa ymm3, ymmword [0x01578a00]
vpaddd ymm4, ymm4, ymm15
vpaddd ymm15, ymm15, ymm3
vpaddd ymm1, ymm1, ymm15
vpaddd ymm15, ymm15, ymm3
vpaddd ymm2, ymm2, ymm15
vperm2i128 ymm3, ymm14, ymm0, 2
vpand ymm3, ymm3, ymmword [0x01578a40]
vmovdqa ymmword [rbp], ymm3
vperm2i128 ymm0, ymm14, ymm0, 0x13
vperm2i128 ymm14, ymm4, ymm12, 0x13
vperm2i128 ymm12, ymm9, ymm5, 2
vperm2i128 ymm4, ymm1, ymm13, 2
vperm2i128 ymm5, ymm9, ymm5, 0x13
vperm2i128 ymm9, ymm1, ymm13, 0x13
vperm2i128 ymm13, ymm10, ymm6, 2
vperm2i128 ymm1, ymm2, ymm8, 2
vperm2i128 ymm6, ymm10, ymm6, 0x13
vperm2i128 ymm10, ymm2, ymm8, 0x13
jmp 0x58f0ef
vmovdqa ymm5, ymmword [0x015789a0]
vmovdqa ymm9, ymmword [rbp + 0x20]
vmovdqa ymm13, ymmword [rbp + 0x40]
vmovdqa ymm1, ymmword [rbp + 0xc0]
vpaddd ymm1, ymm1, ymmword [0x01578a00]
vmovdqa ymm4, ymm1
xor r9, r9
mov rcx, rbx
and rcx, 0xfffffffffffffff0
test rcx, rcx
je 0x58f6ff
add r10, qword [rsi + r9]
adc r11, qword [rsi + r9 + 8]
adc r12, 1
mov rdx, qword [rbp]
mov r15, rdx
mulx r14, r13, r10
imul r15, r12
mulx rdx, rax, r11
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 8]
mulx rax, r10, r10
add r14, r10
mulx r8, r11, r11
adc r15, r11
adc r8, 0
imul rdx, r12
add r15, rax
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
add r9, 0x10
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x015789c0]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 0xc
vpsrld ymm9, ymm9, 0x14
vpxor ymm9, ymm9, ymm3
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x015789e0]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 7
vpsrld ymm9, ymm9, 0x19
vpxor ymm9, ymm9, ymm3
vpalignr ymm9, ymm9, ymm9, 4
vpalignr ymm13, ymm13, ymm13, 8
vpalignr ymm1, ymm1, ymm1, 0xc
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x015789c0]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 0xc
vpsrld ymm9, ymm9, 0x14
vpxor ymm9, ymm9, ymm3
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x015789e0]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 7
vpsrld ymm9, ymm9, 0x19
vpxor ymm9, ymm9, ymm3
vpalignr ymm9, ymm9, ymm9, 0xc
vpalignr ymm13, ymm13, ymm13, 8
vpalignr ymm1, ymm1, ymm1, 4
cmp r9, rcx
jb 0x58f681
cmp r9, 0xa0
jne 0x58f6ff
vpaddd ymm5, ymm5, ymmword [0x015789a0]
vpaddd ymm9, ymm9, ymmword [rbp + 0x20]
vpaddd ymm13, ymm13, ymmword [rbp + 0x40]
vpaddd ymm1, ymm1, ymm4
vperm2i128 ymm0, ymm9, ymm5, 2
vperm2i128 ymm14, ymm1, ymm13, 2
vperm2i128 ymm12, ymm9, ymm5, 0x13
vperm2i128 ymm4, ymm1, ymm13, 0x13
cmp rbx, 0x20
jb 0x58f841
sub rbx, 0x20
vpxor ymm0, ymm0, ymmword [rsi]
vmovdqu ymmword [rdi], ymm0
lea rsi, [rsi + 0x20]
lea rdi, [rdi + 0x20]
vmovdqa ymm0, ymm14
vmovdqa ymm14, ymm12
vmovdqa ymm12, ymm4
jmp 0x58f817
cmp rbx, 0x10
vmovdqa xmm1, xmm0
jb 0x58f869
sub rbx, 0x10
vpxor xmm12, xmm0, xmmword [rsi]
vmovdqu xmmword [rdi], xmm12
lea rsi, [rsi + 0x10]
lea rdi, [rdi + 0x10]
vperm2i128 ymm0, ymm0, ymm0, 0x11
vmovdqa xmm1, xmm0
vzeroupper
jmp 0x58ce69
vmovdqa ymm0, ymmword [0x015789a0]
vmovdqa ymm5, ymm0
vmovdqa ymm14, ymmword [rbp + 0x20]
vmovdqa ymm9, ymm14
vmovdqa ymm12, ymmword [rbp + 0x40]
vmovdqa ymm13, ymm12
vmovdqa ymm4, ymmword [rbp + 0xc0]
vpaddd ymm4, ymm4, ymmword [0x01578a00]
vpaddd ymm1, ymm4, ymmword [0x01578a00]
vmovdqa ymm7, ymm4
vmovdqa ymm11, ymm1
mov qword [rbp + 0xe0], rbx
mov rcx, rbx
sub rcx, 0x80
shr rcx, 4
mov r9, 0xa
cmp rcx, 0xa
cmovg rcx, r9
mov rbx, rsi
xor r9, r9
add r10, qword [rbx]
adc r11, qword [rbx + 8]
adc r12, 1
mov rdx, qword [rbp]
mov r15, rdx
mulx r14, r13, r10
imul r15, r12
mulx rdx, rax, r11
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 8]
mulx rax, r10, r10
add r14, r10
mulx r8, r11, r11
adc r15, r11
adc r8, 0
imul rdx, r12
add r15, rax
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
lea rbx, [rbx + 0x10]
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x015789c0]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 0xc
vpsrld ymm14, ymm14, 0x14
vpxor ymm14, ymm14, ymm3
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x015789e0]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 7
vpsrld ymm14, ymm14, 0x19
vpxor ymm14, ymm14, ymm3
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x015789c0]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 0xc
vpsrld ymm9, ymm9, 0x14
vpxor ymm9, ymm9, ymm3
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x015789e0]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 7
vpsrld ymm9, ymm9, 0x19
vpxor ymm9, ymm9, ymm3
vpalignr ymm14, ymm14, ymm14, 4
vpalignr ymm9, ymm9, ymm9, 4
vpalignr ymm12, ymm12, ymm12, 8
vpalignr ymm13, ymm13, ymm13, 8
vpalignr ymm4, ymm4, ymm4, 0xc
vpalignr ymm1, ymm1, ymm1, 0xc
inc r9
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x015789c0]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 0xc
vpsrld ymm14, ymm14, 0x14
vpxor ymm14, ymm14, ymm3
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x015789e0]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 7
vpsrld ymm14, ymm14, 0x19
vpxor ymm14, ymm14, ymm3
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x015789c0]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 0xc
vpsrld ymm9, ymm9, 0x14
vpxor ymm9, ymm9, ymm3
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x015789e0]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 7
vpsrld ymm9, ymm9, 0x19
vpxor ymm9, ymm9, ymm3
vpalignr ymm14, ymm14, ymm14, 0xc
vpalignr ymm9, ymm9, ymm9, 0xc
vpalignr ymm12, ymm12, ymm12, 8
vpalignr ymm13, ymm13, ymm13, 8
vpalignr ymm4, ymm4, ymm4, 4
vpalignr ymm1, ymm1, ymm1, 4
cmp r9, rcx
jb 0x58f8dc
cmp r9, 0xa
jne 0x58f95c
mov r9, rbx
sub rbx, rsi
mov rcx, rbx
mov rbx, qword [rbp + 0xe0]
add rcx, 0x10
cmp rcx, rbx
jg 0x58fbb4
add r10, qword [r9]
adc r11, qword [r9 + 8]
adc r12, 1
mov rdx, qword [rbp]
mov r15, rdx
mulx r14, r13, r10
imul r15, r12
mulx rdx, rax, r11
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 8]
mulx rax, r10, r10
add r14, r10
mulx r8, r11, r11
adc r15, r11
adc r8, 0
imul rdx, r12
add r15, rax
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
lea r9, [r9 + 0x10]
jmp 0x58fb22
vpaddd ymm0, ymm0, ymmword [0x015789a0]
vpaddd ymm5, ymm5, ymmword [0x015789a0]
vpaddd ymm14, ymm14, ymmword [rbp + 0x20]
vpaddd ymm9, ymm9, ymmword [rbp + 0x20]
vpaddd ymm12, ymm12, ymmword [rbp + 0x40]
vpaddd ymm13, ymm13, ymmword [rbp + 0x40]
vpaddd ymm4, ymm4, ymm7
vpaddd ymm1, ymm1, ymm11
vperm2i128 ymm6, ymm14, ymm0, 2
vperm2i128 ymm10, ymm4, ymm12, 2
vperm2i128 ymm8, ymm14, ymm0, 0x13
vperm2i128 ymm2, ymm4, ymm12, 0x13
vperm2i128 ymm0, ymm9, ymm5, 2
vperm2i128 ymm14, ymm1, ymm13, 2
vperm2i128 ymm12, ymm9, ymm5, 0x13
vperm2i128 ymm4, ymm1, ymm13, 0x13
vpxor ymm6, ymm6, ymmword [rsi]
vpxor ymm10, ymm10, ymmword [rsi + 0x20]
vpxor ymm8, ymm8, ymmword [rsi + 0x40]
vpxor ymm2, ymm2, ymmword [rsi + 0x60]
vmovdqu ymmword [rdi], ymm6
vmovdqu ymmword [rdi + 0x20], ymm10
vmovdqu ymmword [rdi + 0x40], ymm8
vmovdqu ymmword [rdi + 0x60], ymm2
lea rsi, [rsi + 0x80]
lea rdi, [rdi + 0x80]
sub rbx, 0x80
jmp 0x58f817
vmovdqa ymm0, ymmword [0x015789a0]
vmovdqa ymm5, ymm0
vmovdqa ymm6, ymm0
vmovdqa ymm14, ymmword [rbp + 0x20]
vmovdqa ymm9, ymm14
vmovdqa ymm10, ymm14
vmovdqa ymm12, ymmword [rbp + 0x40]
vmovdqa ymm13, ymm12
vmovdqa ymm8, ymm12
vmovdqa ymm4, ymmword [rbp + 0xc0]
vpaddd ymm4, ymm4, ymmword [0x01578a00]
vpaddd ymm1, ymm4, ymmword [0x01578a00]
vpaddd ymm2, ymm1, ymmword [0x01578a00]
vmovdqa ymmword [rbp + 0x60], ymm4
vmovdqa ymmword [rbp + 0x80], ymm1
vmovdqa ymmword [rbp + 0xa0], ymm2
mov qword [rbp + 0xe0], rbx
mov rcx, rbx
sub rcx, 0x100
shr rcx, 4
add rcx, 6
mov r9, 0xa
cmp rcx, 0xa
cmovg rcx, r9
mov rbx, rsi
xor r9, r9
add r10, qword [rbx]
adc r11, qword [rbx + 8]
adc r12, 1
mov rdx, qword [rbp]
mov r15, rdx
mulx r14, r13, r10
imul r15, r12
mulx rdx, rax, r11
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 8]
mulx rax, r10, r10
add r14, r10
mulx r8, r11, r11
adc r15, r11
adc r8, 0
imul rdx, r12
add r15, rax
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
lea rbx, [rbx + 0x10]
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x015789c0]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 0xc
vpsrld ymm14, ymm14, 0x14
vpxor ymm14, ymm14, ymm3
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x015789e0]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 7
vpsrld ymm14, ymm14, 0x19
vpxor ymm14, ymm14, ymm3
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x015789c0]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 0xc
vpsrld ymm9, ymm9, 0x14
vpxor ymm9, ymm9, ymm3
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x015789e0]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 7
vpsrld ymm9, ymm9, 0x19
vpxor ymm9, ymm9, ymm3
vpaddd ymm6, ymm6, ymm10
vpxor ymm2, ymm2, ymm6
vpshufb ymm2, ymm2, ymmword [0x015789c0]
vpaddd ymm8, ymm8, ymm2
vpxor ymm10, ymm10, ymm8
vpslld ymm3, ymm10, 0xc
vpsrld ymm10, ymm10, 0x14
vpxor ymm10, ymm10, ymm3
vpaddd ymm6, ymm6, ymm10
vpxor ymm2, ymm2, ymm6
vpshufb ymm2, ymm2, ymmword [0x015789e0]
vpaddd ymm8, ymm8, ymm2
vpxor ymm10, ymm10, ymm8
vpslld ymm3, ymm10, 7
vpsrld ymm10, ymm10, 0x19
vpxor ymm10, ymm10, ymm3
vpalignr ymm14, ymm14, ymm14, 4
vpalignr ymm9, ymm9, ymm9, 4
vpalignr ymm10, ymm10, ymm10, 4
vpalignr ymm12, ymm12, ymm12, 8
vpalignr ymm13, ymm13, ymm13, 8
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm4, ymm4, ymm4, 0xc
vpalignr ymm1, ymm1, ymm1, 0xc
vpalignr ymm2, ymm2, ymm2, 0xc
add r10, qword [rbx]
adc r11, qword [rbx + 8]
adc r12, 1
mov rdx, qword [rbp]
mov r15, rdx
mulx r14, r13, r10
imul r15, r12
mulx rdx, rax, r11
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 8]
mulx rax, r10, r10
add r14, r10
mulx r8, r11, r11
adc r15, r11
adc r8, 0
imul rdx, r12
add r15, rax
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
lea rbx, [rbx + 0x10]
inc r9
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x015789c0]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 0xc
vpsrld ymm14, ymm14, 0x14
vpxor ymm14, ymm14, ymm3
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x015789e0]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 7
vpsrld ymm14, ymm14, 0x19
vpxor ymm14, ymm14, ymm3
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x015789c0]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 0xc
vpsrld ymm9, ymm9, 0x14
vpxor ymm9, ymm9, ymm3
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x015789e0]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 7
vpsrld ymm9, ymm9, 0x19
vpxor ymm9, ymm9, ymm3
vpaddd ymm6, ymm6, ymm10
vpxor ymm2, ymm2, ymm6
vpshufb ymm2, ymm2, ymmword [0x015789c0]
vpaddd ymm8, ymm8, ymm2
vpxor ymm10, ymm10, ymm8
vpslld ymm3, ymm10, 0xc
vpsrld ymm10, ymm10, 0x14
vpxor ymm10, ymm10, ymm3
vpaddd ymm6, ymm6, ymm10
vpxor ymm2, ymm2, ymm6
vpshufb ymm2, ymm2, ymmword [0x015789e0]
vpaddd ymm8, ymm8, ymm2
vpxor ymm10, ymm10, ymm8
vpslld ymm3, ymm10, 7
vpsrld ymm10, ymm10, 0x19
vpxor ymm10, ymm10, ymm3
vpalignr ymm14, ymm14, ymm14, 0xc
vpalignr ymm9, ymm9, ymm9, 0xc
vpalignr ymm10, ymm10, ymm10, 0xc
vpalignr ymm12, ymm12, ymm12, 8
vpalignr ymm13, ymm13, ymm13, 8
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm4, ymm4, ymm4, 4
vpalignr ymm1, ymm1, ymm1, 4
vpalignr ymm2, ymm2, ymm2, 4
cmp r9, rcx
jb 0x58fce2
cmp r9, 0xa
jne 0x58fd62
mov r9, rbx
sub rbx, rsi
mov rcx, rbx
mov rbx, qword [rbp + 0xe0]
add rcx, 0x10
cmp rcx, rbx
jg 0x59010a
add r10, qword [r9]
adc r11, qword [r9 + 8]
adc r12, 1
mov rdx, qword [rbp]
mov r15, rdx
mulx r14, r13, r10
imul r15, r12
mulx rdx, rax, r11
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 8]
mulx rax, r10, r10
add r14, r10
mulx r8, r11, r11
adc r15, r11
adc r8, 0
imul rdx, r12
add r15, rax
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
lea r9, [r9 + 0x10]
jmp 0x590078
vpaddd ymm0, ymm0, ymmword [0x015789a0]
vpaddd ymm5, ymm5, ymmword [0x015789a0]
vpaddd ymm6, ymm6, ymmword [0x015789a0]
vpaddd ymm14, ymm14, ymmword [rbp + 0x20]
vpaddd ymm9, ymm9, ymmword [rbp + 0x20]
vpaddd ymm10, ymm10, ymmword [rbp + 0x20]
vpaddd ymm12, ymm12, ymmword [rbp + 0x40]
vpaddd ymm13, ymm13, ymmword [rbp + 0x40]
vpaddd ymm8, ymm8, ymmword [rbp + 0x40]
vpaddd ymm4, ymm4, ymmword [rbp + 0x60]
vpaddd ymm1, ymm1, ymmword [rbp + 0x80]
vpaddd ymm2, ymm2, ymmword [rbp + 0xa0]
vperm2i128 ymm3, ymm14, ymm0, 2
vperm2i128 ymm7, ymm4, ymm12, 2
vperm2i128 ymm11, ymm14, ymm0, 0x13
vperm2i128 ymm15, ymm4, ymm12, 0x13
vpxor ymm3, ymm3, ymmword [rsi]
vpxor ymm7, ymm7, ymmword [rsi + 0x20]
vpxor ymm11, ymm11, ymmword [rsi + 0x40]
vpxor ymm15, ymm15, ymmword [rsi + 0x60]
vmovdqu ymmword [rdi], ymm3
vmovdqu ymmword [rdi + 0x20], ymm7
vmovdqu ymmword [rdi + 0x40], ymm11
vmovdqu ymmword [rdi + 0x60], ymm15
vperm2i128 ymm3, ymm9, ymm5, 2
vperm2i128 ymm7, ymm1, ymm13, 2
vperm2i128 ymm11, ymm9, ymm5, 0x13
vperm2i128 ymm15, ymm1, ymm13, 0x13
vpxor ymm3, ymm3, ymmword [rsi + 0x80]
vpxor ymm7, ymm7, ymmword [rsi + 0xa0]
vpxor ymm11, ymm11, ymmword [rsi + 0xc0]
vpxor ymm15, ymm15, ymmword [rsi + 0xe0]
vmovdqu ymmword [rdi + 0x80], ymm3
vmovdqu ymmword [rdi + 0xa0], ymm7
vmovdqu ymmword [rdi + 0xc0], ymm11
vmovdqu ymmword [rdi + 0xe0], ymm15
vperm2i128 ymm0, ymm10, ymm6, 2
vperm2i128 ymm14, ymm2, ymm8, 2
vperm2i128 ymm12, ymm10, ymm6, 0x13
vperm2i128 ymm4, ymm2, ymm8, 0x13
lea rsi, [rsi + 0x100]
lea rdi, [rdi + 0x100]
sub rbx, 0x100
jmp 0x58f817
vmovdqu ymm0, ymmword [0x015789a0]
vmovdqa ymm5, ymm0
vmovdqa ymm6, ymm0
vmovdqa ymm7, ymm0
vmovdqa ymm14, ymmword [rbp + 0x20]
vmovdqa ymm9, ymm14
vmovdqa ymm10, ymm14
vmovdqa ymm11, ymm14
vmovdqa ymm12, ymmword [rbp + 0x40]
vmovdqa ymm13, ymm12
vmovdqa ymm8, ymm12
vmovdqa ymm15, ymm12
vmovdqa ymm4, ymmword [rbp + 0xc0]
vpaddd ymm4, ymm4, ymmword [0x01578a00]
vpaddd ymm1, ymm4, ymmword [0x01578a00]
vpaddd ymm2, ymm1, ymmword [0x01578a00]
vpaddd ymm3, ymm2, ymmword [0x01578a00]
vmovdqa ymmword [rbp + 0x60], ymm4
vmovdqa ymmword [rbp + 0x80], ymm1
vmovdqa ymmword [rbp + 0xa0], ymm2
vmovdqa ymmword [rbp + 0xc0], ymm3
xor rcx, rcx
mov r9, rsi
add r10, qword [r9]
adc r11, qword [r9 + 8]
adc r12, 1
mov rdx, qword [rbp]
mov r15, rdx
mulx r14, r13, r10
imul r15, r12
mulx rdx, rax, r11
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 8]
mulx rax, r10, r10
add r14, r10
mulx r8, r11, r11
adc r15, r11
adc r8, 0
imul rdx, r12
add r15, rax
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
lea r9, [r9 + 0x10]
vpaddd ymm0, ymm0, ymm14
vpaddd ymm5, ymm5, ymm9
vpaddd ymm6, ymm6, ymm10
vpaddd ymm7, ymm7, ymm11
vpxor ymm4, ymm4, ymm0
vpxor ymm1, ymm1, ymm5
vpxor ymm2, ymm2, ymm6
vpxor ymm3, ymm3, ymm7
vpshufb ymm4, ymm4, ymmword [0x015789c0]
vpshufb ymm1, ymm1, ymmword [0x015789c0]
vpshufb ymm2, ymm2, ymmword [0x015789c0]
vpshufb ymm3, ymm3, ymmword [0x015789c0]
vpaddd ymm12, ymm12, ymm4
vpaddd ymm13, ymm13, ymm1
vpaddd ymm8, ymm8, ymm2
vpaddd ymm15, ymm15, ymm3
vpxor ymm14, ymm14, ymm12
vpxor ymm9, ymm9, ymm13
vpxor ymm10, ymm10, ymm8
vpxor ymm11, ymm11, ymm15
vmovdqa ymmword [rbp + 0xe0], ymm15
vpslld ymm15, ymm14, 0xc
vpsrld ymm14, ymm14, 0x14
vpxor ymm14, ymm14, ymm15
vpslld ymm15, ymm9, 0xc
vpsrld ymm9, ymm9, 0x14
vpxor ymm9, ymm9, ymm15
vpslld ymm15, ymm10, 0xc
vpsrld ymm10, ymm10, 0x14
vpxor ymm10, ymm10, ymm15
vpslld ymm15, ymm11, 0xc
vpsrld ymm11, ymm11, 0x14
vpxor ymm11, ymm11, ymm15
vmovdqa ymm15, ymmword [rbp + 0xe0]
add r10, qword [r9]
adc r11, qword [r9 + 8]
adc r12, 1
mov rdx, qword [rbp]
mov r15, rdx
mulx r14, r13, r10
imul r15, r12
mulx rdx, rax, r11
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 8]
mulx rax, r10, r10
add r14, r10
mulx r8, r11, r11
adc r15, r11
adc r8, 0
imul rdx, r12
add r15, rax
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
vpaddd ymm0, ymm0, ymm14
vpaddd ymm5, ymm5, ymm9
vpaddd ymm6, ymm6, ymm10
vpaddd ymm7, ymm7, ymm11
vpxor ymm4, ymm4, ymm0
vpxor ymm1, ymm1, ymm5
vpxor ymm2, ymm2, ymm6
vpxor ymm3, ymm3, ymm7
vpshufb ymm4, ymm4, ymmword [0x015789e0]
vpshufb ymm1, ymm1, ymmword [0x015789e0]
vpshufb ymm2, ymm2, ymmword [0x015789e0]
vpshufb ymm3, ymm3, ymmword [0x015789e0]
vpaddd ymm12, ymm12, ymm4
vpaddd ymm13, ymm13, ymm1
vpaddd ymm8, ymm8, ymm2
vpaddd ymm15, ymm15, ymm3
vpxor ymm14, ymm14, ymm12
vpxor ymm9, ymm9, ymm13
vpxor ymm10, ymm10, ymm8
vpxor ymm11, ymm11, ymm15
vmovdqa ymmword [rbp + 0xe0], ymm15
vpslld ymm15, ymm14, 7
vpsrld ymm14, ymm14, 0x19
vpxor ymm14, ymm14, ymm15
vpslld ymm15, ymm9, 7
vpsrld ymm9, ymm9, 0x19
vpxor ymm9, ymm9, ymm15
vpslld ymm15, ymm10, 7
vpsrld ymm10, ymm10, 0x19
vpxor ymm10, ymm10, ymm15
vpslld ymm15, ymm11, 7
vpsrld ymm11, ymm11, 0x19
vpxor ymm11, ymm11, ymm15
vmovdqa ymm15, ymmword [rbp + 0xe0]
vpalignr ymm14, ymm14, ymm14, 4
vpalignr ymm9, ymm9, ymm9, 4
vpalignr ymm10, ymm10, ymm10, 4
vpalignr ymm11, ymm11, ymm11, 4
vpalignr ymm12, ymm12, ymm12, 8
vpalignr ymm13, ymm13, ymm13, 8
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm15, ymm15, ymm15, 8
vpalignr ymm4, ymm4, ymm4, 0xc
vpalignr ymm1, ymm1, ymm1, 0xc
vpalignr ymm2, ymm2, ymm2, 0xc
vpalignr ymm3, ymm3, ymm3, 0xc
vpaddd ymm0, ymm0, ymm14
vpaddd ymm5, ymm5, ymm9
vpaddd ymm6, ymm6, ymm10
vpaddd ymm7, ymm7, ymm11
vpxor ymm4, ymm4, ymm0
vpxor ymm1, ymm1, ymm5
vpxor ymm2, ymm2, ymm6
vpxor ymm3, ymm3, ymm7
vpshufb ymm4, ymm4, ymmword [0x015789c0]
vpshufb ymm1, ymm1, ymmword [0x015789c0]
vpshufb ymm2, ymm2, ymmword [0x015789c0]
vpshufb ymm3, ymm3, ymmword [0x015789c0]
vpaddd ymm12, ymm12, ymm4
vpaddd ymm13, ymm13, ymm1
vpaddd ymm8, ymm8, ymm2
vpaddd ymm15, ymm15, ymm3
vpxor ymm14, ymm14, ymm12
vpxor ymm9, ymm9, ymm13
vpxor ymm10, ymm10, ymm8
vpxor ymm11, ymm11, ymm15
add r10, qword [r9 + 0x10]
adc r11, qword [r9 + 0x18]
adc r12, 1
mov rdx, qword [rbp]
mov r15, rdx
mulx r14, r13, r10
imul r15, r12
mulx rdx, rax, r11
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 8]
mulx rax, r10, r10
add r14, r10
mulx r8, r11, r11
adc r15, r11
adc r8, 0
imul rdx, r12
add r15, rax
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
lea r9, [r9 + 0x20]
vmovdqa ymmword [rbp + 0xe0], ymm15
vpslld ymm15, ymm14, 0xc
vpsrld ymm14, ymm14, 0x14
vpxor ymm14, ymm14, ymm15
vpslld ymm15, ymm9, 0xc
vpsrld ymm9, ymm9, 0x14
vpxor ymm9, ymm9, ymm15
vpslld ymm15, ymm10, 0xc
vpsrld ymm10, ymm10, 0x14
vpxor ymm10, ymm10, ymm15
vpslld ymm15, ymm11, 0xc
vpsrld ymm11, ymm11, 0x14
vpxor ymm11, ymm11, ymm15
vmovdqa ymm15, ymmword [rbp + 0xe0]
vpaddd ymm0, ymm0, ymm14
vpaddd ymm5, ymm5, ymm9
vpaddd ymm6, ymm6, ymm10
vpaddd ymm7, ymm7, ymm11
vpxor ymm4, ymm4, ymm0
vpxor ymm1, ymm1, ymm5
vpxor ymm2, ymm2, ymm6
vpxor ymm3, ymm3, ymm7
vpshufb ymm4, ymm4, ymmword [0x015789e0]
vpshufb ymm1, ymm1, ymmword [0x015789e0]
vpshufb ymm2, ymm2, ymmword [0x015789e0]
vpshufb ymm3, ymm3, ymmword [0x015789e0]
vpaddd ymm12, ymm12, ymm4
vpaddd ymm13, ymm13, ymm1
vpaddd ymm8, ymm8, ymm2
vpaddd ymm15, ymm15, ymm3
vpxor ymm14, ymm14, ymm12
vpxor ymm9, ymm9, ymm13
vpxor ymm10, ymm10, ymm8
vpxor ymm11, ymm11, ymm15
vmovdqa ymmword [rbp + 0xe0], ymm15
vpslld ymm15, ymm14, 7
vpsrld ymm14, ymm14, 0x19
vpxor ymm14, ymm14, ymm15
vpslld ymm15, ymm9, 7
vpsrld ymm9, ymm9, 0x19
vpxor ymm9, ymm9, ymm15
vpslld ymm15, ymm10, 7
vpsrld ymm10, ymm10, 0x19
vpxor ymm10, ymm10, ymm15
vpslld ymm15, ymm11, 7
vpsrld ymm11, ymm11, 0x19
vpxor ymm11, ymm11, ymm15
vmovdqa ymm15, ymmword [rbp + 0xe0]
vpalignr ymm14, ymm14, ymm14, 0xc
vpalignr ymm9, ymm9, ymm9, 0xc
vpalignr ymm10, ymm10, ymm10, 0xc
vpalignr ymm11, ymm11, ymm11, 0xc
vpalignr ymm12, ymm12, ymm12, 8
vpalignr ymm13, ymm13, ymm13, 8
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm15, ymm15, ymm15, 8
vpalignr ymm4, ymm4, ymm4, 4
vpalignr ymm1, ymm1, ymm1, 4
vpalignr ymm2, ymm2, ymm2, 4
vpalignr ymm3, ymm3, ymm3, 4
inc rcx
cmp rcx, 4
jl 0x5902a4
cmp rcx, 0xa
jne 0x590324
mov rcx, rbx
sub rcx, 0x180
and rcx, 0xfffffffffffffff0
test rcx, rcx
je 0x590868
add r10, qword [r9]
adc r11, qword [r9 + 8]
adc r12, 1
mov rdx, qword [rbp]
mov r15, rdx
mulx r14, r13, r10
imul r15, r12
mulx rdx, rax, r11
add r14, rax
adc r15, rdx
mov rdx, qword [rbp + 8]
mulx rax, r10, r10
add r14, r10
mulx r8, r11, r11
adc r15, r11
adc r8, 0
imul rdx, r12
add r15, rax
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
lea r9, [r9 + 0x10]
sub rcx, 0x10
jmp 0x5907d6
vpaddd ymm0, ymm0, ymmword [0x015789a0]
vpaddd ymm5, ymm5, ymmword [0x015789a0]
vpaddd ymm6, ymm6, ymmword [0x015789a0]
vpaddd ymm7, ymm7, ymmword [0x015789a0]
vpaddd ymm14, ymm14, ymmword [rbp + 0x20]
vpaddd ymm9, ymm9, ymmword [rbp + 0x20]
vpaddd ymm10, ymm10, ymmword [rbp + 0x20]
vpaddd ymm11, ymm11, ymmword [rbp + 0x20]
vpaddd ymm12, ymm12, ymmword [rbp + 0x40]
vpaddd ymm13, ymm13, ymmword [rbp + 0x40]
vpaddd ymm8, ymm8, ymmword [rbp + 0x40]
vpaddd ymm15, ymm15, ymmword [rbp + 0x40]
vpaddd ymm4, ymm4, ymmword [rbp + 0x60]
vpaddd ymm1, ymm1, ymmword [rbp + 0x80]
vpaddd ymm2, ymm2, ymmword [rbp + 0xa0]
vpaddd ymm3, ymm3, ymmword [rbp + 0xc0]
vmovdqa ymmword [rbp + 0xe0], ymm15
vperm2i128 ymm15, ymm14, ymm0, 2
vperm2i128 ymm14, ymm14, ymm0, 0x13
vperm2i128 ymm0, ymm4, ymm12, 2
vperm2i128 ymm12, ymm4, ymm12, 0x13
vpxor ymm15, ymm15, ymmword [rsi]
vpxor ymm0, ymm0, ymmword [rsi + 0x20]
vpxor ymm14, ymm14, ymmword [rsi + 0x40]
vpxor ymm12, ymm12, ymmword [rsi + 0x60]
vmovdqu ymmword [rdi], ymm15
vmovdqu ymmword [rdi + 0x20], ymm0
vmovdqu ymmword [rdi + 0x40], ymm14
vmovdqu ymmword [rdi + 0x60], ymm12
vperm2i128 ymm0, ymm9, ymm5, 2
vperm2i128 ymm14, ymm1, ymm13, 2
vperm2i128 ymm12, ymm9, ymm5, 0x13
vperm2i128 ymm4, ymm1, ymm13, 0x13
vpxor ymm0, ymm0, ymmword [rsi + 0x80]
vpxor ymm14, ymm14, ymmword [rsi + 0xa0]
vpxor ymm12, ymm12, ymmword [rsi + 0xc0]
vpxor ymm4, ymm4, ymmword [rsi + 0xe0]
vmovdqu ymmword [rdi + 0x80], ymm0
vmovdqu ymmword [rdi + 0xa0], ymm14
vmovdqu ymmword [rdi + 0xc0], ymm12
vmovdqu ymmword [rdi + 0xe0], ymm4
vperm2i128 ymm0, ymm10, ymm6, 2
vperm2i128 ymm14, ymm2, ymm8, 2
vperm2i128 ymm12, ymm10, ymm6, 0x13
vperm2i128 ymm4, ymm2, ymm8, 0x13
vpxor ymm0, ymm0, ymmword [rsi + 0x100]
vpxor ymm14, ymm14, ymmword [rsi + 0x120]
vpxor ymm12, ymm12, ymmword [rsi + 0x140]
vpxor ymm4, ymm4, ymmword [rsi + 0x160]
vmovdqu ymmword [rdi + 0x100], ymm0
vmovdqu ymmword [rdi + 0x120], ymm14
vmovdqu ymmword [rdi + 0x140], ymm12
vmovdqu ymmword [rdi + 0x160], ymm4
vperm2i128 ymm0, ymm11, ymm7, 2
vperm2i128 ymm14, ymm3, ymmword [rbp + 0xe0], 2
vperm2i128 ymm12, ymm11, ymm7, 0x13
vperm2i128 ymm4, ymm3, ymmword [rbp + 0xe0], 0x13
lea rsi, [rsi + 0x180]
lea rdi, [rdi + 0x180]
sub rbx, 0x180
jmp 0x58f817
call sym.runtime.morestack_noctxt.abi0
jmp sym.vendor_golang.org_x_crypto_chacha20poly1305.chacha20Poly1305Open.abi0