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

Disassembly:
mov r14, qword gs:[0x28]
mov r14, qword [r14]
lea r12, [rsp - 0xa8]
cmp r12, qword [r14 + 0x10]
jbe 0x52473e
sub rsp, 0x128
mov qword [rsp + 0x120], rbp
lea rbp, [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 [0x00871f8c], 1
je 0x52162b
cmp rbx, 0x80
jbe 0x520f3f
movdqu xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_k]
movdqu xmm3, xmmword [r8 + 0x10]
movdqu xmm6, xmmword [r8 + 0x20]
movdqu xmm9, xmmword [r8 + 0x30]
movdqa xmmword [rbp + 0x20], xmm3
movdqa xmmword [rbp + 0x30], xmm6
movdqa xmm1, xmm0
movdqa xmm4, xmm3
movdqa xmm7, xmm6
movdqa xmm10, xmm9
paddd xmm10, xmmword [0x0069a6d0]
movdqa xmm2, xmm1
movdqa xmm5, xmm4
movdqa xmm8, xmm7
movdqa xmm11, xmm10
paddd xmm11, xmmword [0x0069a6d0]
movdqa xmm12, xmm2
movdqa xmm13, xmm5
movdqa xmm14, xmm8
movdqa xmm15, xmm11
paddd xmm15, xmmword [0x0069a6d0]
movdqa xmmword [rbp + 0x50], xmm9
movdqa xmmword [rbp + 0x60], xmm10
movdqa xmmword [rbp + 0x70], xmm11
movdqa xmmword [rbp + 0x80], xmm15
mov r9, 0xa
movdqa xmmword [rbp + 0x40], xmm14
paddd xmm0, xmm3
pxor xmm9, xmm0
pshufb xmm9, xmmword [0x0069ec40]
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm14, xmm3
pslld xmm14, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm14
paddd xmm0, xmm3
pxor xmm9, xmm0
pshufb xmm9, xmmword [0x0069ec60]
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm14, xmm3
pslld xmm14, 7
psrld xmm3, 0x19
pxor xmm3, xmm14
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec40]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm14, xmm4
pslld xmm14, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm14
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec60]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm14, xmm4
pslld xmm14, 7
psrld xmm4, 0x19
pxor xmm4, xmm14
paddd xmm2, xmm5
pxor xmm11, xmm2
pshufb xmm11, xmmword [0x0069ec40]
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm14, xmm5
pslld xmm14, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm14
paddd xmm2, xmm5
pxor xmm11, xmm2
pshufb xmm11, xmmword [0x0069ec60]
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
pshufb xmm15, xmmword [0x0069ec40]
paddd xmm14, xmm15
pxor xmm13, xmm14
movdqa xmm7, xmm13
pslld xmm7, 0xc
psrld xmm13, 0x14
pxor xmm13, xmm7
paddd xmm12, xmm13
pxor xmm15, xmm12
pshufb xmm15, xmmword [0x0069ec60]
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
movdqa xmmword [rbp + 0x40], xmm14
paddd xmm0, xmm3
pxor xmm9, xmm0
pshufb xmm9, xmmword [0x0069ec40]
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm14, xmm3
pslld xmm14, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm14
paddd xmm0, xmm3
pxor xmm9, xmm0
pshufb xmm9, xmmword [0x0069ec60]
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm14, xmm3
pslld xmm14, 7
psrld xmm3, 0x19
pxor xmm3, xmm14
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec40]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm14, xmm4
pslld xmm14, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm14
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec60]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm14, xmm4
pslld xmm14, 7
psrld xmm4, 0x19
pxor xmm4, xmm14
paddd xmm2, xmm5
pxor xmm11, xmm2
pshufb xmm11, xmmword [0x0069ec40]
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm14, xmm5
pslld xmm14, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm14
paddd xmm2, xmm5
pxor xmm11, xmm2
pshufb xmm11, xmmword [0x0069ec60]
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
pshufb xmm15, xmmword [0x0069ec40]
paddd xmm14, xmm15
pxor xmm13, xmm14
movdqa xmm7, xmm13
pslld xmm7, 0xc
psrld xmm13, 0x14
pxor xmm13, xmm7
paddd xmm12, xmm13
pxor xmm15, xmm12
pshufb xmm15, xmmword [0x0069ec60]
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, 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 r9
jne 0x51f65e
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 xmm12, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm3, xmmword [rbp + 0x20]
paddd xmm4, xmmword [rbp + 0x20]
paddd xmm5, xmmword [rbp + 0x20]
paddd xmm13, xmmword [rbp + 0x20]
paddd xmm7, xmmword [rbp + 0x30]
paddd xmm8, xmmword [rbp + 0x30]
paddd xmm14, xmmword [rbp + 0x30]
paddd xmm10, xmmword [rbp + 0x60]
paddd xmm11, xmmword [rbp + 0x70]
paddd xmm15, xmmword [rbp + 0x80]
pand xmm0, xmmword [0x0069ec20]
movdqa xmmword [rbp], xmm0
movdqa xmmword [rbp + 0x10], xmm3
mov r9, qword [rsp + 0x180]
call fcn.0051aa60
movdqu xmm0, xmmword [rsi]
movdqu xmm3, xmmword [rsi + 0x10]
movdqu xmm6, xmmword [rsi + 0x20]
movdqu xmm9, xmmword [rsi + 0x30]
pxor xmm1, xmm0
pxor xmm4, xmm3
pxor xmm7, xmm6
pxor xmm10, xmm9
movdqu xmmword [rdi], xmm1
movdqu xmmword [rdi + 0x10], xmm4
movdqu xmmword [rdi + 0x20], xmm7
movdqu xmmword [rdi + 0x30], xmm10
movdqu xmm0, xmmword [rsi + 0x40]
movdqu xmm3, xmmword [rsi + 0x50]
movdqu xmm6, xmmword [rsi + 0x60]
movdqu xmm9, xmmword [rsi + 0x70]
pxor xmm2, xmm0
pxor xmm5, xmm3
pxor xmm8, xmm6
pxor xmm11, xmm9
movdqu xmmword [rdi + 0x40], xmm2
movdqu xmmword [rdi + 0x50], xmm5
movdqu xmmword [rdi + 0x60], xmm8
movdqu xmmword [rdi + 0x70], xmm11
mov rcx, pe_nt_image_headers64
sub rbx, 0x80
lea rsi, [rsi + 0x80]
movdqa xmm1, xmm12
movdqa xmm4, xmm13
movdqa xmm7, xmm14
movdqa xmm10, xmm15
cmp rbx, 0x40
jbe 0x5212d7
movdqu xmm0, xmmword [rsi]
movdqu xmm3, xmmword [rsi + 0x10]
movdqu xmm6, xmmword [rsi + 0x20]
movdqu xmm9, xmmword [rsi + 0x30]
pxor xmm12, xmm0
pxor xmm13, xmm3
pxor xmm14, xmm6
pxor xmm15, xmm9
movdqu xmmword [rdi + 0x80], xmm12
movdqu xmmword [rdi + 0x90], xmm13
movdqu xmmword [rdi + 0xa0], xmm14
movdqu xmmword [rdi + 0xb0], xmm15
add rcx, 0x40
sub rbx, 0x40
lea rsi, [rsi + 0x40]
mov rcx, 2
mov r9, 8
cmp rbx, 0x40
jbe 0x5203b3
cmp rbx, 0x80
jbe 0x520616
cmp rbx, 0xc0
jbe 0x5209e9
movdqa xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_k]
movdqa xmm3, xmmword [rbp + 0x20]
movdqa xmm6, xmmword [rbp + 0x30]
movdqa xmm9, xmmword [rbp + 0x80]
paddd xmm9, xmmword [0x0069a6d0]
movdqa xmm1, xmm0
movdqa xmm4, xmm3
movdqa xmm7, xmm6
movdqa xmm10, xmm9
paddd xmm10, xmmword [0x0069a6d0]
movdqa xmm2, xmm1
movdqa xmm5, xmm4
movdqa xmm8, xmm7
movdqa xmm11, xmm10
paddd xmm11, xmmword [0x0069a6d0]
movdqa xmm12, xmm2
movdqa xmm13, xmm5
movdqa xmm14, xmm8
movdqa xmm15, xmm11
paddd xmm15, xmmword [0x0069a6d0]
movdqa xmmword [rbp + 0x50], xmm9
movdqa xmmword [rbp + 0x60], xmm10
movdqa xmmword [rbp + 0x70], xmm11
movdqa xmmword [rbp + 0x80], xmm15
movdqa xmmword [rbp + 0x40], xmm14
paddd xmm0, xmm3
pxor xmm9, xmm0
pshufb xmm9, xmmword [0x0069ec40]
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm14, xmm3
pslld xmm14, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm14
paddd xmm0, xmm3
pxor xmm9, xmm0
pshufb xmm9, xmmword [0x0069ec60]
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm14, xmm3
pslld xmm14, 7
psrld xmm3, 0x19
pxor xmm3, xmm14
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec40]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm14, xmm4
pslld xmm14, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm14
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec60]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm14, xmm4
pslld xmm14, 7
psrld xmm4, 0x19
pxor xmm4, xmm14
paddd xmm2, xmm5
pxor xmm11, xmm2
pshufb xmm11, xmmword [0x0069ec40]
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm14, xmm5
pslld xmm14, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm14
paddd xmm2, xmm5
pxor xmm11, xmm2
pshufb xmm11, xmmword [0x0069ec60]
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
pshufb xmm15, xmmword [0x0069ec40]
paddd xmm14, xmm15
pxor xmm13, xmm14
movdqa xmm7, xmm13
pslld xmm7, 0xc
psrld xmm13, 0x14
pxor xmm13, xmm7
paddd xmm12, xmm13
pxor xmm15, xmm12
pshufb xmm15, xmmword [0x0069ec60]
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 [rdi]
adc r11, qword [rdi + 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 rdi, [rdi + 0x10]
movdqa xmmword [rbp + 0x40], xmm14
paddd xmm0, xmm3
pxor xmm9, xmm0
pshufb xmm9, xmmword [0x0069ec40]
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm14, xmm3
pslld xmm14, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm14
paddd xmm0, xmm3
pxor xmm9, xmm0
pshufb xmm9, xmmword [0x0069ec60]
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm14, xmm3
pslld xmm14, 7
psrld xmm3, 0x19
pxor xmm3, xmm14
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec40]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm14, xmm4
pslld xmm14, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm14
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec60]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm14, xmm4
pslld xmm14, 7
psrld xmm4, 0x19
pxor xmm4, xmm14
paddd xmm2, xmm5
pxor xmm11, xmm2
pshufb xmm11, xmmword [0x0069ec40]
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm14, xmm5
pslld xmm14, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm14
paddd xmm2, xmm5
pxor xmm11, xmm2
pshufb xmm11, xmmword [0x0069ec60]
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
pshufb xmm15, xmmword [0x0069ec40]
paddd xmm14, xmm15
pxor xmm13, xmm14
movdqa xmm7, xmm13
pslld xmm7, 0xc
psrld xmm13, 0x14
pxor xmm13, xmm7
paddd xmm12, xmm13
pxor xmm15, xmm12
pshufb xmm15, xmmword [0x0069ec60]
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 r9
jge 0x51fc8c
add r10, qword [rdi]
adc r11, qword [rdi + 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 rdi, [rdi + 0x10]
dec rcx
jg 0x51fc8c
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 xmm12, xmmword [str.expand_32_byte_kexpand_32_byte_k]
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
movdqa xmm15, xmmword [rbp + 0x40]
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
add rsi, 0xc0
mov rcx, 0xc0
sub rbx, 0xc0
movdqa xmm1, xmm12
movdqa xmm4, xmm13
movdqa xmm7, xmm14
movdqa xmm10, xmm15
cmp rbx, 0x40
jbe 0x5212d7
movdqu xmm0, xmmword [rsi]
movdqu xmm3, xmmword [rsi + 0x10]
movdqu xmm6, xmmword [rsi + 0x20]
movdqu xmm9, xmmword [rsi + 0x30]
pxor xmm12, xmm0
pxor xmm13, xmm3
pxor xmm14, xmm6
pxor xmm15, xmm9
movdqu xmmword [rdi + 0xc0], xmm12
movdqu xmmword [rdi + 0xd0], xmm13
movdqu xmmword [rdi + 0xe0], xmm14
movdqu xmmword [rdi + 0xf0], xmm15
lea rsi, [rsi + 0x40]
sub rbx, 0x40
mov rcx, 6
mov r9, 4
cmp rbx, 0xc0
jg 0x51fbfb
mov rcx, rbx
test rbx, rbx
je 0x5212d7
mov rcx, 6
cmp rbx, 0x40
jbe 0x5203b3
cmp rbx, 0x80
jbe 0x520616
jmp 0x5209e9
movdqa xmm1, xmmword [str.expand_32_byte_kexpand_32_byte_k]
movdqa xmm4, xmmword [rbp + 0x20]
movdqa xmm7, xmmword [rbp + 0x30]
movdqa xmm10, xmmword [rbp + 0x80]
paddd xmm10, xmmword [0x0069a6d0]
movdqa xmmword [rbp + 0x50], xmm10
add r10, qword [rdi]
adc r11, qword [rdi + 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 rdi, [rdi + 0x10]
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec40]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm13, xmm4
pslld xmm13, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm13
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec60]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm13, xmm4
pslld xmm13, 7
psrld xmm4, 0x19
pxor xmm4, xmm13
palignr xmm4, xmm4, 4
palignr xmm7, xmm7, 8
palignr xmm10, xmm10, 0xc
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec40]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm13, xmm4
pslld xmm13, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm13
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec60]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm13, xmm4
pslld xmm13, 7
psrld xmm4, 0x19
pxor xmm4, xmm13
palignr xmm4, xmm4, 0xc
palignr xmm7, xmm7, 8
palignr xmm10, xmm10, 4
add r10, qword [rdi]
adc r11, qword [rdi + 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 rdi, [rdi + 0x10]
dec rcx
jg 0x5203dd
dec r9
jge 0x52046d
paddd xmm1, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm4, xmmword [rbp + 0x20]
paddd xmm7, xmmword [rbp + 0x30]
paddd xmm10, xmmword [rbp + 0x50]
jmp 0x52137a
movdqa xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_k]
movdqa xmm3, xmmword [rbp + 0x20]
movdqa xmm6, xmmword [rbp + 0x30]
movdqa xmm9, xmmword [rbp + 0x80]
paddd xmm9, xmmword [0x0069a6d0]
movdqa xmmword [rbp + 0x50], xmm9
movdqa xmm1, xmm0
movdqa xmm4, xmm3
movdqa xmm7, xmm6
movdqa xmm10, xmm9
paddd xmm10, xmmword [0x0069a6d0]
movdqa xmmword [rbp + 0x60], xmm10
add r10, qword [rdi]
adc r11, qword [rdi + 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 rdi, [rdi + 0x10]
paddd xmm0, xmm3
pxor xmm9, xmm0
pshufb xmm9, xmmword [0x0069ec40]
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm12
paddd xmm0, xmm3
pxor xmm9, xmm0
pshufb xmm9, xmmword [0x0069ec60]
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 7
psrld xmm3, 0x19
pxor xmm3, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec40]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec60]
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
add r10, qword [rdi]
adc r11, qword [rdi + 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 rdi, [rdi + 0x10]
paddd xmm0, xmm3
pxor xmm9, xmm0
pshufb xmm9, xmmword [0x0069ec40]
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm12
paddd xmm0, xmm3
pxor xmm9, xmm0
pshufb xmm9, xmmword [0x0069ec60]
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 7
psrld xmm3, 0x19
pxor xmm3, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec40]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec60]
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
dec rcx
jg 0x520660
dec r9
jge 0x5206f0
paddd xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm1, xmmword [str.expand_32_byte_kexpand_32_byte_k]
paddd xmm3, xmmword [rbp + 0x20]
paddd xmm4, xmmword [rbp + 0x20]
paddd xmm6, xmmword [rbp + 0x30]
paddd xmm7, xmmword [rbp + 0x30]
paddd xmm9, xmmword [rbp + 0x50]
paddd xmm10, xmmword [rbp + 0x60]
movdqu xmm12, xmmword [rsi]
movdqu xmm13, xmmword [rsi + 0x10]
movdqu xmm14, xmmword [rsi + 0x20]
movdqu xmm15, xmmword [rsi + 0x30]
pxor xmm0, xmm12
pxor xmm3, xmm13
pxor xmm6, xmm14
pxor xmm9, xmm15
movdqu xmmword [rdi], xmm0
movdqu xmmword [rdi + 0x10], xmm3
movdqu xmmword [rdi + 0x20], xmm6
movdqu xmmword [rdi + 0x30], xmm9
mov rcx, 0x40
lea rsi, [rsi + 0x40]
sub rbx, 0x40
jmp 0x5212d7
movdqa xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_k]
movdqa xmm3, xmmword [rbp + 0x20]
movdqa xmm6, xmmword [rbp + 0x30]
movdqa xmm9, xmmword [rbp + 0x80]
paddd xmm9, xmmword [0x0069a6d0]
movdqa xmmword [rbp + 0x50], xmm9
movdqa xmm1, xmm0
movdqa xmm4, xmm3
movdqa xmm7, xmm6
movdqa xmm10, xmm9
paddd xmm10, xmmword [0x0069a6d0]
movdqa xmmword [rbp + 0x60], xmm10
movdqa xmm2, xmm1
movdqa xmm5, xmm4
movdqa xmm8, xmm7
movdqa xmm11, xmm10
paddd xmm11, xmmword [0x0069a6d0]
movdqa xmmword [rbp + 0x70], xmm11
add r10, qword [rdi]
adc r11, qword [rdi + 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 rdi, [rdi + 0x10]
paddd xmm0, xmm3
pxor xmm9, xmm0
pshufb xmm9, xmmword [0x0069ec40]
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm12
paddd xmm0, xmm3
pxor xmm9, xmm0
pshufb xmm9, xmmword [0x0069ec60]
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 7
psrld xmm3, 0x19
pxor xmm3, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec40]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec60]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 7
psrld xmm4, 0x19
pxor xmm4, xmm12
paddd xmm2, xmm5
pxor xmm11, xmm2
pshufb xmm11, xmmword [0x0069ec40]
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm12, xmm5
pslld xmm12, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm12
paddd xmm2, xmm5
pxor xmm11, xmm2
pshufb xmm11, xmmword [0x0069ec60]
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
add r10, qword [rdi]
adc r11, qword [rdi + 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 rdi, [rdi + 0x10]
paddd xmm0, xmm3
pxor xmm9, xmm0
pshufb xmm9, xmmword [0x0069ec40]
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm12
paddd xmm0, xmm3
pxor xmm9, xmm0
pshufb xmm9, xmmword [0x0069ec60]
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 7
psrld xmm3, 0x19
pxor xmm3, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec40]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec60]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 7
psrld xmm4, 0x19
pxor xmm4, xmm12
paddd xmm2, xmm5
pxor xmm11, xmm2
pshufb xmm11, xmmword [0x0069ec40]
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm12, xmm5
pslld xmm12, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm12
paddd xmm2, xmm5
pxor xmm11, xmm2
pshufb xmm11, xmmword [0x0069ec60]
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
dec rcx
jg 0x520a54
dec r9
jge 0x520ae4
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 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 + 0x50]
paddd xmm10, xmmword [rbp + 0x60]
paddd xmm11, xmmword [rbp + 0x70]
movdqu xmm12, xmmword [rsi]
movdqu xmm13, xmmword [rsi + 0x10]
movdqu xmm14, xmmword [rsi + 0x20]
movdqu xmm15, xmmword [rsi + 0x30]
pxor xmm0, xmm12
pxor xmm3, xmm13
pxor xmm6, xmm14
pxor xmm9, xmm15
movdqu xmmword [rdi], xmm0
movdqu xmmword [rdi + 0x10], xmm3
movdqu xmmword [rdi + 0x20], xmm6
movdqu xmmword [rdi + 0x30], xmm9
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
movdqa xmm1, xmm2
movdqa xmm4, xmm5
movdqa xmm7, xmm8
movdqa xmm10, xmm11
mov rcx, pe_nt_image_headers64
lea rsi, [rsi + 0x80]
sub rbx, 0x80
jmp 0x5212d7
movdqu xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_k]
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 [0x0069a6d0]
movdqa xmm2, xmm1
movdqa xmm5, xmm4
movdqa xmm8, xmm7
movdqa xmm11, xmm10
paddd xmm11, xmmword [0x0069a6d0]
movdqa xmm13, xmm3
movdqa xmm14, xmm6
movdqa xmm15, xmm10
mov r9, 0xa
paddd xmm0, xmm3
pxor xmm9, xmm0
pshufb xmm9, xmmword [0x0069ec40]
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm12
paddd xmm0, xmm3
pxor xmm9, xmm0
pshufb xmm9, xmmword [0x0069ec60]
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 7
psrld xmm3, 0x19
pxor xmm3, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec40]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec60]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 7
psrld xmm4, 0x19
pxor xmm4, xmm12
paddd xmm2, xmm5
pxor xmm11, xmm2
pshufb xmm11, xmmword [0x0069ec40]
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm12, xmm5
pslld xmm12, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm12
paddd xmm2, xmm5
pxor xmm11, xmm2
pshufb xmm11, xmmword [0x0069ec60]
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
pshufb xmm9, xmmword [0x0069ec40]
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 0xc
psrld xmm3, 0x14
pxor xmm3, xmm12
paddd xmm0, xmm3
pxor xmm9, xmm0
pshufb xmm9, xmmword [0x0069ec60]
paddd xmm6, xmm9
pxor xmm3, xmm6
movdqa xmm12, xmm3
pslld xmm12, 7
psrld xmm3, 0x19
pxor xmm3, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec40]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 0xc
psrld xmm4, 0x14
pxor xmm4, xmm12
paddd xmm1, xmm4
pxor xmm10, xmm1
pshufb xmm10, xmmword [0x0069ec60]
paddd xmm7, xmm10
pxor xmm4, xmm7
movdqa xmm12, xmm4
pslld xmm12, 7
psrld xmm4, 0x19
pxor xmm4, xmm12
paddd xmm2, xmm5
pxor xmm11, xmm2
pshufb xmm11, xmmword [0x0069ec40]
paddd xmm8, xmm11
pxor xmm5, xmm8
movdqa xmm12, xmm5
pslld xmm12, 0xc
psrld xmm5, 0x14
pxor xmm5, xmm12
paddd xmm2, xmm5
pxor xmm11, xmm2
pshufb xmm11, xmmword [0x0069ec60]
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 0x520fa4
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 xmm3, xmm13
paddd xmm4, xmm13
paddd xmm5, xmm13
paddd xmm7, xmm14
paddd xmm8, xmm14
paddd xmm10, xmm15
paddd xmm15, xmmword [0x0069a6d0]
paddd xmm11, xmm15
pand xmm0, xmmword [0x0069ec20]
movdqu xmmword [rbp], xmm0
movdqu xmmword [rbp + 0x10], xmm3
mov r9, qword [rsp + 0x180]
call fcn.0051aa60
xor rcx, rcx
cmp rcx, 0x10
jb 0x52137a
add r10, qword [rdi]
adc r11, qword [rdi + 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 rdi, 0x10
jmp 0x5212d7
cmp rbx, 0x10
jb 0x52145d
sub rbx, 0x10
movdqu xmm12, xmmword [rsi]
pxor xmm1, xmm12
movdqu xmmword [rdi], xmm1
lea rsi, [rsi + 0x10]
lea rdi, [rdi + 0x10]
movq r13, xmm1
psrldq xmm1, 8
movq r14, xmm1
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
movdqa xmm1, xmm4
movdqa xmm4, xmm7
movdqa xmm7, xmm10
movdqa xmm10, xmm2
movdqa xmm2, xmm5
movdqa xmm5, xmm8
movdqa xmm8, xmm11
jmp 0x52137a
test rbx, rbx
je 0x521556
mov r9, rbx
shl r9, 4
lea r13, [0x006a6060]
mov rcx, rbx
lea rsi, [rsi + rbx - 1]
xor r15, r15
xor r8, r8
xor rax, rax
shld r8, r15, 8
shl r15, 8
mov al, byte [rsi]
xor r15, rax
lea rsi, [rsi - 1]
dec rcx
jne 0x521485
mov qword [rbp + 0x40], r15
mov qword [rbp + 0x48], r8
pxor xmm1, xmmword [rbp + 0x40]
movdqu xmmword [rdi], xmm1
movdqu xmm12, xmmword [r13 + r9 - 0x10]
pand xmm1, xmm12
movq r13, xmm1
psrldq xmm1, 8
movq r14, xmm1
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
add rdi, rbx
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]
mov qword [rdi], r10
mov qword [rdi + 8], r11
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
vzeroupper
vmovdqu ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vbroadcasti128 ymm14, xmmword [r8 + 0x10]
vbroadcasti128 ymm12, xmmword [r8 + 0x20]
vbroadcasti128 ymm4, xmmword [r8 + 0x30]
vpaddd ymm4, ymm4, ymmword [0x0069ebe0]
cmp rbx, 0xc0
jbe 0x522afd
cmp rbx, 0x140
jbe 0x522fdd
vmovdqa ymm5, ymm0
vmovdqa ymm6, ymm0
vmovdqa ymm7, ymm0
vmovdqa ymm9, ymm14
vmovdqa ymm10, ymm14
vmovdqa ymm11, ymm14
vmovdqa ymmword [rbp + 0x20], ymm14
vmovdqa ymm13, ymm12
vmovdqa ymm8, ymm12
vmovdqa ymm15, ymm12
vmovdqa ymmword [rbp + 0x40], ymm12
vpaddd ymm1, ymm4, ymmword [0x0069ebc0]
vmovdqa ymmword [rbp + 0x60], ymm4
vpaddd ymm2, ymm1, ymmword [0x0069ebc0]
vmovdqa ymmword [rbp + 0x80], ymm1
vpaddd ymm3, ymm2, ymmword [0x0069ebc0]
vmovdqa ymmword [rbp + 0xa0], ymm2
vmovdqa ymmword [rbp + 0xc0], ymm3
mov r9, 0xa
vmovdqa ymmword [rbp + 0xe0], ymm15
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x0069ec40]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm15, ymm14, 0xc
vpsrld ymm14, ymm14, 0x14
vpxor ymm14, ymm14, ymm15
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x0069ec60]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm15, ymm14, 7
vpsrld ymm14, ymm14, 0x19
vpxor ymm14, ymm14, ymm15
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x0069ec40]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm15, ymm9, 0xc
vpsrld ymm9, ymm9, 0x14
vpxor ymm9, ymm9, ymm15
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x0069ec60]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm15, ymm9, 7
vpsrld ymm9, ymm9, 0x19
vpxor ymm9, ymm9, ymm15
vpaddd ymm6, ymm6, ymm10
vpxor ymm2, ymm2, ymm6
vpshufb ymm2, ymm2, ymmword [0x0069ec40]
vpaddd ymm8, ymm8, ymm2
vpxor ymm10, ymm10, ymm8
vpslld ymm15, ymm10, 0xc
vpsrld ymm10, ymm10, 0x14
vpxor ymm10, ymm10, ymm15
vpaddd ymm6, ymm6, ymm10
vpxor ymm2, ymm2, ymm6
vpshufb ymm2, ymm2, ymmword [0x0069ec60]
vpaddd ymm8, ymm8, ymm2
vpxor ymm10, ymm10, ymm8
vpslld ymm15, ymm10, 7
vpsrld ymm10, ymm10, 0x19
vpxor ymm10, ymm10, ymm15
vmovdqa ymm15, ymmword [rbp + 0xe0]
vmovdqa ymmword [rbp + 0xe0], ymm13
vpaddd ymm7, ymm7, ymm11
vpxor ymm3, ymm3, ymm7
vpshufb ymm3, ymm3, ymmword [0x0069ec40]
vpaddd ymm15, ymm15, ymm3
vpxor ymm11, ymm11, ymm15
vpslld ymm13, ymm11, 0xc
vpsrld ymm11, ymm11, 0x14
vpxor ymm11, ymm11, ymm13
vpaddd ymm7, ymm7, ymm11
vpxor ymm3, ymm3, ymm7
vpshufb ymm3, ymm3, ymmword [0x0069ec60]
vpaddd ymm15, ymm15, ymm3
vpxor ymm11, ymm11, ymm15
vpslld ymm13, ymm11, 7
vpsrld ymm11, ymm11, 0x19
vpxor ymm11, ymm11, ymm13
vmovdqa ymm13, ymmword [rbp + 0xe0]
vpalignr ymm14, ymm14, ymm14, 4
vpalignr ymm12, ymm12, ymm12, 8
vpalignr ymm4, ymm4, ymm4, 0xc
vpalignr ymm9, ymm9, ymm9, 4
vpalignr ymm13, ymm13, ymm13, 8
vpalignr ymm1, ymm1, ymm1, 0xc
vpalignr ymm10, ymm10, ymm10, 4
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm2, ymm2, ymm2, 0xc
vpalignr ymm11, ymm11, ymm11, 4
vpalignr ymm15, ymm15, ymm15, 8
vpalignr ymm3, ymm3, ymm3, 0xc
vmovdqa ymmword [rbp + 0xe0], ymm15
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x0069ec40]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm15, ymm14, 0xc
vpsrld ymm14, ymm14, 0x14
vpxor ymm14, ymm14, ymm15
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x0069ec60]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm15, ymm14, 7
vpsrld ymm14, ymm14, 0x19
vpxor ymm14, ymm14, ymm15
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x0069ec40]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm15, ymm9, 0xc
vpsrld ymm9, ymm9, 0x14
vpxor ymm9, ymm9, ymm15
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x0069ec60]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm15, ymm9, 7
vpsrld ymm9, ymm9, 0x19
vpxor ymm9, ymm9, ymm15
vpaddd ymm6, ymm6, ymm10
vpxor ymm2, ymm2, ymm6
vpshufb ymm2, ymm2, ymmword [0x0069ec40]
vpaddd ymm8, ymm8, ymm2
vpxor ymm10, ymm10, ymm8
vpslld ymm15, ymm10, 0xc
vpsrld ymm10, ymm10, 0x14
vpxor ymm10, ymm10, ymm15
vpaddd ymm6, ymm6, ymm10
vpxor ymm2, ymm2, ymm6
vpshufb ymm2, ymm2, ymmword [0x0069ec60]
vpaddd ymm8, ymm8, ymm2
vpxor ymm10, ymm10, ymm8
vpslld ymm15, ymm10, 7
vpsrld ymm10, ymm10, 0x19
vpxor ymm10, ymm10, ymm15
vmovdqa ymm15, ymmword [rbp + 0xe0]
vmovdqa ymmword [rbp + 0xe0], ymm13
vpaddd ymm7, ymm7, ymm11
vpxor ymm3, ymm3, ymm7
vpshufb ymm3, ymm3, ymmword [0x0069ec40]
vpaddd ymm15, ymm15, ymm3
vpxor ymm11, ymm11, ymm15
vpslld ymm13, ymm11, 0xc
vpsrld ymm11, ymm11, 0x14
vpxor ymm11, ymm11, ymm13
vpaddd ymm7, ymm7, ymm11
vpxor ymm3, ymm3, ymm7
vpshufb ymm3, ymm3, ymmword [0x0069ec60]
vpaddd ymm15, ymm15, ymm3
vpxor ymm11, ymm11, ymm15
vpslld ymm13, ymm11, 7
vpsrld ymm11, ymm11, 0x19
vpxor ymm11, ymm11, ymm13
vmovdqa ymm13, ymmword [rbp + 0xe0]
vpalignr ymm14, ymm14, ymm14, 0xc
vpalignr ymm12, ymm12, ymm12, 8
vpalignr ymm4, ymm4, ymm4, 4
vpalignr ymm9, ymm9, ymm9, 0xc
vpalignr ymm13, ymm13, ymm13, 8
vpalignr ymm1, ymm1, ymm1, 4
vpalignr ymm10, ymm10, ymm10, 0xc
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm2, ymm2, ymm2, 4
vpalignr ymm11, ymm11, ymm11, 0xc
vpalignr ymm15, ymm15, ymm15, 8
vpalignr ymm3, ymm3, ymm3, 4
dec r9
jne 0x5216da
vpaddd ymm0, ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm5, ymm5, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm6, ymm6, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm7, ymm7, ymmword [str.expand_32_byte_kexpand_32_byte_k]
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]
vperm2i128 ymm12, ymm4, ymm12, 0x13
vperm2i128 ymm4, ymm14, ymm0, 2
vperm2i128 ymm0, ymm14, ymm0, 0x13
vpand ymm4, ymm4, ymmword [0x0069ec20]
vmovdqa ymmword [rbp], ymm4
mov r9, qword [rsp + 0x180]
call fcn.0051aa60
vpxor ymm0, ymm0, ymmword [rsi]
vpxor ymm12, ymm12, ymmword [rsi + 0x20]
vmovdqu ymmword [rdi], ymm0
vmovdqu ymmword [rdi + 0x20], 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 + 0x40]
vpxor ymm14, ymm14, ymmword [rsi + 0x60]
vpxor ymm12, ymm12, ymmword [rsi + 0x80]
vpxor ymm4, ymm4, ymmword [rsi + 0xa0]
vmovdqu ymmword [rdi + 0x40], ymm0
vmovdqu ymmword [rdi + 0x60], ymm14
vmovdqu ymmword [rdi + 0x80], ymm12
vmovdqu ymmword [rdi + 0xa0], 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 + 0xc0]
vpxor ymm14, ymm14, ymmword [rsi + 0xe0]
vpxor ymm12, ymm12, ymmword [rsi + 0x100]
vpxor ymm4, ymm4, ymmword [rsi + 0x120]
vmovdqu ymmword [rdi + 0xc0], ymm0
vmovdqu ymmword [rdi + 0xe0], ymm14
vmovdqu ymmword [rdi + 0x100], ymm12
vmovdqu ymmword [rdi + 0x120], ymm4
mov rcx, 0x140
sub rbx, 0x140
lea rsi, [rsi + 0x140]
vperm2i128 ymm0, ymm11, ymm7, 2
vperm2i128 ymm14, ymm3, ymm15, 2
vperm2i128 ymm12, ymm11, ymm7, 0x13
vperm2i128 ymm4, ymm3, ymm15, 0x13
cmp rbx, 0x80
jbe 0x522d46
vpxor ymm0, ymm0, ymmword [rsi]
vpxor ymm14, ymm14, ymmword [rsi + 0x20]
vpxor ymm12, ymm12, ymmword [rsi + 0x40]
vpxor ymm4, ymm4, ymmword [rsi + 0x60]
vmovdqu ymmword [rdi + 0x140], ymm0
vmovdqu ymmword [rdi + 0x160], ymm14
vmovdqu ymmword [rdi + 0x180], ymm12
vmovdqu ymmword [rdi + 0x1a0], ymm4
sub rbx, 0x80
lea rsi, [rsi + 0x80]
mov rcx, 8
mov r9, 2
cmp rbx, 0x80
jbe 0x523339
cmp rbx, 0x100
jbe 0x523621
cmp rbx, 0x180
jbe 0x523a62
cmp rbx, 0x200
jbe 0x523ff9
vmovdqa ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
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 [0x0069ebc0]
vpaddd ymm1, ymm4, ymmword [0x0069ebc0]
vpaddd ymm2, ymm1, ymmword [0x0069ebc0]
vpaddd ymm3, ymm2, ymmword [0x0069ebc0]
vmovdqa ymmword [rbp + 0x60], ymm4
vmovdqa ymmword [rbp + 0x80], ymm1
vmovdqa ymmword [rbp + 0xa0], ymm2
vmovdqa ymmword [rbp + 0xc0], ymm3
vmovdqa ymmword [rbp + 0xe0], ymm15
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x0069ec40]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm15, ymm14, 0xc
vpsrld ymm14, ymm14, 0x14
vpxor ymm14, ymm14, ymm15
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x0069ec60]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm15, ymm14, 7
vpsrld ymm14, ymm14, 0x19
vpxor ymm14, ymm14, ymm15
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x0069ec40]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm15, ymm9, 0xc
vpsrld ymm9, ymm9, 0x14
vpxor ymm9, ymm9, ymm15
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x0069ec60]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm15, ymm9, 7
vpsrld ymm9, ymm9, 0x19
vpxor ymm9, ymm9, ymm15
vpaddd ymm6, ymm6, ymm10
vpxor ymm2, ymm2, ymm6
vpshufb ymm2, ymm2, ymmword [0x0069ec40]
vpaddd ymm8, ymm8, ymm2
vpxor ymm10, ymm10, ymm8
vpslld ymm15, ymm10, 0xc
vpsrld ymm10, ymm10, 0x14
vpxor ymm10, ymm10, ymm15
vpaddd ymm6, ymm6, ymm10
vpxor ymm2, ymm2, ymm6
vpshufb ymm2, ymm2, ymmword [0x0069ec60]
vpaddd ymm8, ymm8, ymm2
vpxor ymm10, ymm10, ymm8
vpslld ymm15, ymm10, 7
vpsrld ymm10, ymm10, 0x19
vpxor ymm10, ymm10, ymm15
vmovdqa ymm15, ymmword [rbp + 0xe0]
vmovdqa ymmword [rbp + 0xe0], ymm13
vpaddd ymm7, ymm7, ymm11
vpxor ymm3, ymm3, ymm7
vpshufb ymm3, ymm3, ymmword [0x0069ec40]
vpaddd ymm15, ymm15, ymm3
vpxor ymm11, ymm11, ymm15
vpslld ymm13, ymm11, 0xc
vpsrld ymm11, ymm11, 0x14
vpxor ymm11, ymm11, ymm13
vpaddd ymm7, ymm7, ymm11
vpxor ymm3, ymm3, ymm7
vpshufb ymm3, ymm3, ymmword [0x0069ec60]
vpaddd ymm15, ymm15, ymm3
vpxor ymm11, ymm11, ymm15
vpslld ymm13, ymm11, 7
vpsrld ymm11, ymm11, 0x19
vpxor ymm11, ymm11, ymm13
vmovdqa ymm13, ymmword [rbp + 0xe0]
vpalignr ymm14, ymm14, ymm14, 4
vpalignr ymm12, ymm12, ymm12, 8
vpalignr ymm4, ymm4, ymm4, 0xc
vpalignr ymm9, ymm9, ymm9, 4
vpalignr ymm13, ymm13, ymm13, 8
vpalignr ymm1, ymm1, ymm1, 0xc
vpalignr ymm10, ymm10, ymm10, 4
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm2, ymm2, ymm2, 0xc
vpalignr ymm11, ymm11, ymm11, 4
vpalignr ymm15, ymm15, ymm15, 8
vpalignr ymm3, ymm3, ymm3, 0xc
vmovdqa ymmword [rbp + 0xe0], ymm15
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x0069ec40]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm15, ymm14, 0xc
vpsrld ymm14, ymm14, 0x14
vpxor ymm14, ymm14, ymm15
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x0069ec60]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm15, ymm14, 7
vpsrld ymm14, ymm14, 0x19
vpxor ymm14, ymm14, ymm15
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x0069ec40]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm15, ymm9, 0xc
vpsrld ymm9, ymm9, 0x14
vpxor ymm9, ymm9, ymm15
vpaddd ymm5, ymm5, ymm9
vpxor ymm1, ymm1, ymm5
vpshufb ymm1, ymm1, ymmword [0x0069ec60]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm15, ymm9, 7
vpsrld ymm9, ymm9, 0x19
vpxor ymm9, ymm9, ymm15
vpaddd ymm6, ymm6, ymm10
vpxor ymm2, ymm2, ymm6
vpshufb ymm2, ymm2, ymmword [0x0069ec40]
vpaddd ymm8, ymm8, ymm2
vpxor ymm10, ymm10, ymm8
vpslld ymm15, ymm10, 0xc
vpsrld ymm10, ymm10, 0x14
vpxor ymm10, ymm10, ymm15
vpaddd ymm6, ymm6, ymm10
vpxor ymm2, ymm2, ymm6
vpshufb ymm2, ymm2, ymmword [0x0069ec60]
vpaddd ymm8, ymm8, ymm2
vpxor ymm10, ymm10, ymm8
vpslld ymm15, ymm10, 7
vpsrld ymm10, ymm10, 0x19
vpxor ymm10, ymm10, ymm15
vmovdqa ymm15, ymmword [rbp + 0xe0]
vmovdqa ymmword [rbp + 0xe0], ymm13
vpaddd ymm7, ymm7, ymm11
vpxor ymm3, ymm3, ymm7
vpshufb ymm3, ymm3, ymmword [0x0069ec40]
vpaddd ymm15, ymm15, ymm3
vpxor ymm11, ymm11, ymm15
vpslld ymm13, ymm11, 0xc
vpsrld ymm11, ymm11, 0x14
vpxor ymm11, ymm11, ymm13
vpaddd ymm7, ymm7, ymm11
vpxor ymm3, ymm3, ymm7
vpshufb ymm3, ymm3, ymmword [0x0069ec60]
vpaddd ymm15, ymm15, ymm3
vpxor ymm11, ymm11, ymm15
vpslld ymm13, ymm11, 7
vpsrld ymm11, ymm11, 0x19
vpxor ymm11, ymm11, ymm13
vmovdqa ymm13, ymmword [rbp + 0xe0]
vpalignr ymm14, ymm14, ymm14, 0xc
vpalignr ymm12, ymm12, ymm12, 8
vpalignr ymm4, ymm4, ymm4, 4
vpalignr ymm9, ymm9, ymm9, 0xc
vpalignr ymm13, ymm13, ymm13, 8
vpalignr ymm1, ymm1, ymm1, 4
vpalignr ymm10, ymm10, ymm10, 0xc
vpalignr ymm8, ymm8, ymm8, 8
vpalignr ymm2, ymm2, ymm2, 4
vpalignr ymm11, ymm11, ymm11, 0xc
vpalignr ymm15, ymm15, ymm15, 8
vpalignr ymm3, ymm3, ymm3, 4
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 [0x0069ec40]
vpshufb ymm1, ymm1, ymmword [0x0069ec40]
vpshufb ymm2, ymm2, ymmword [0x0069ec40]
vpshufb ymm3, ymm3, ymmword [0x0069ec40]
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]
sub rdi, 0x10
mov rcx, 9
jmp 0x52231c
vmovdqu ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
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 [0x0069ebc0]
vpaddd ymm1, ymm4, ymmword [0x0069ebc0]
vpaddd ymm2, ymm1, ymmword [0x0069ebc0]
vpaddd ymm3, ymm2, ymmword [0x0069ebc0]
vmovdqa ymmword [rbp + 0x60], ymm4
vmovdqa ymmword [rbp + 0x80], ymm1
vmovdqa ymmword [rbp + 0xa0], ymm2
vmovdqa ymmword [rbp + 0xc0], ymm3
mov rcx, 0xa
add r10, qword [rdi]
adc r11, qword [rdi + 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 [0x0069ec40]
vpshufb ymm1, ymm1, ymmword [0x0069ec40]
vpshufb ymm2, ymm2, ymmword [0x0069ec40]
vpshufb ymm3, ymm3, ymmword [0x0069ec40]
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 [0x0069ec60]
vpshufb ymm1, ymm1, ymmword [0x0069ec60]
vpshufb ymm2, ymm2, ymmword [0x0069ec60]
vpshufb ymm3, ymm3, ymmword [0x0069ec60]
add r10, qword [rdi + 0x10]
adc r11, qword [rdi + 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 [0x0069ec40]
vpshufb ymm1, ymm1, ymmword [0x0069ec40]
vpshufb ymm2, ymm2, ymmword [0x0069ec40]
vpshufb ymm3, ymm3, ymmword [0x0069ec40]
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 [rdi + 0x20]
adc r11, qword [rdi + 0x28]
adc r12, 1
lea rdi, [rdi + 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 [0x0069ec60]
vpshufb ymm1, ymm1, ymmword [0x0069ec60]
vpshufb ymm2, ymm2, ymmword [0x0069ec60]
vpshufb ymm3, ymm3, ymmword [0x0069ec60]
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
dec rcx
jne 0x5221e0
vpaddd ymm0, ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm5, ymm5, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm6, ymm6, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm7, ymm7, ymmword [str.expand_32_byte_kexpand_32_byte_k]
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 [rdi]
adc r11, qword [rdi + 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 rdi, [rdi + 0x20]
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 [rdi - 0x10]
adc r11, qword [rdi - 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
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]
sub rbx, 0x200
cmp rbx, 0x200
jg 0x522158
add r10, qword [rdi]
adc r11, qword [rdi + 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 [rdi + 0x10]
adc r11, qword [rdi + 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 rdi, [rdi + 0x20]
mov rcx, 0xa
mov r9, 0
cmp rbx, 0x80
jbe 0x523339
cmp rbx, 0x100
jbe 0x523621
cmp rbx, 0x180
jbe 0x523a62
jmp 0x523ff9
vmovdqa ymm5, ymm0
vmovdqa ymm9, ymm14
vmovdqa ymm13, ymm12
vpaddd ymm1, ymm4, ymmword [0x0069ebc0]
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 [0x0069ec40]
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 [0x0069ec60]
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 [0x0069ec40]
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 [0x0069ec60]
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 [0x0069ec40]
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 [0x0069ec60]
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 [0x0069ec40]
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 [0x0069ec60]
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 0x522b31
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 [0x0069ec20]
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 fcn.0051aa60
xor rcx, rcx
cmp rcx, 0x10
jb 0x522de9
add r10, qword [rdi]
adc r11, qword [rdi + 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 rdi, 0x10
jmp 0x522d46
cmp rbx, 0x20
jb 0x522f2d
sub rbx, 0x20
vpxor ymm0, ymm0, ymmword [rsi]
vmovdqu ymmword [rdi], ymm0
lea rsi, [rsi + 0x20]
add r10, qword [rdi]
adc r11, qword [rdi + 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 [rdi + 0x10]
adc r11, qword [rdi + 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 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 0x522de9
cmp rbx, 0x10
vmovdqa xmm1, xmm0
jb 0x522fd5
sub rbx, 0x10
vpxor xmm12, xmm0, xmmword [rsi]
vmovdqu xmmword [rdi], xmm12
lea rsi, [rsi + 0x10]
add r10, qword [rdi]
adc r11, qword [rdi + 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 rdi, [rdi + 0x10]
vperm2i128 ymm0, ymm0, ymm0, 0x11
vmovdqa xmm1, xmm0
vzeroupper
jmp 0x52145d
vmovdqa ymm5, ymm0
vmovdqa ymm9, ymm14
vmovdqa ymm13, ymm12
vpaddd ymm1, ymm4, ymmword [0x0069ebc0]
vmovdqa ymm6, ymm0
vmovdqa ymm10, ymm14
vmovdqa ymm8, ymm12
vpaddd ymm2, ymm1, ymmword [0x0069ebc0]
vmovdqa ymm7, ymm14
vmovdqa ymm11, ymm12
vmovdqa ymm15, ymm4
mov r9, 0xa
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x0069ec40]
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 [0x0069ec60]
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 [0x0069ec40]
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 [0x0069ec60]
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 [0x0069ec40]
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 [0x0069ec60]
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 [0x0069ec40]
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 [0x0069ec60]
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 [0x0069ec40]
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 [0x0069ec60]
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 [0x0069ec40]
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 [0x0069ec60]
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 0x52301e
vmovdqa ymm3, ymmword [str.expand_32_byte_kexpand_32_byte_k]
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 [0x0069ebc0]
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 [0x0069ec20]
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 0x522d36
vmovdqa ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vmovdqa ymm14, ymmword [rbp + 0x20]
vmovdqa ymm12, ymmword [rbp + 0x40]
vmovdqa ymm4, ymmword [rbp + 0xc0]
vpaddd ymm4, ymm4, ymmword [0x0069ebc0]
vmovdqa ymm1, ymm4
add r10, qword [rdi]
adc r11, qword [rdi + 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 rdi, [rdi + 0x10]
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x0069ec40]
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 [0x0069ec60]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 7
vpsrld ymm14, ymm14, 0x19
vpxor ymm14, ymm14, ymm3
add r10, qword [rdi]
adc r11, qword [rdi + 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
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 [0x0069ec40]
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 [0x0069ec60]
vpaddd ymm12, ymm12, ymm4
vpxor ymm14, ymm14, ymm12
vpslld ymm3, ymm14, 7
vpsrld ymm14, ymm14, 0x19
vpxor ymm14, ymm14, ymm3
add r10, qword [rdi + 0x10]
adc r11, qword [rdi + 0x18]
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 rdi, [rdi + 0x20]
vpalignr ymm14, ymm14, ymm14, 0xc
vpalignr ymm12, ymm12, ymm12, 8
vpalignr ymm4, ymm4, ymm4, 4
dec rcx
jg 0x52335f
dec r9
jge 0x5233ef
vpaddd ymm5, ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm9, ymm14, ymmword [rbp + 0x20]
vpaddd ymm13, ymm12, ymmword [rbp + 0x40]
vpaddd ymm1, ymm4, ymm1
vperm2i128 ymm0, ymm9, ymm5, 2
vperm2i128 ymm14, ymm1, ymm13, 2
vperm2i128 ymm12, ymm9, ymm5, 0x13
vperm2i128 ymm4, ymm1, ymm13, 0x13
jmp 0x522de9
vmovdqa ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vmovdqa ymm5, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vmovdqa ymm14, ymmword [rbp + 0x20]
vmovdqa ymm9, ymmword [rbp + 0x20]
vmovdqa ymm12, ymmword [rbp + 0x40]
vmovdqa ymm13, ymmword [rbp + 0x40]
vmovdqa ymm4, ymmword [rbp + 0xc0]
vpaddd ymm4, ymm4, ymmword [0x0069ebc0]
vpaddd ymm1, ymm4, ymmword [0x0069ebc0]
vmovdqa ymm7, ymm4
vmovdqa ymm11, ymm1
add r10, qword [rdi]
adc r11, qword [rdi + 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 rdi, [rdi + 0x10]
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x0069ec40]
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 [0x0069ec60]
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 [0x0069ec40]
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 [0x0069ec60]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 7
vpsrld ymm9, ymm9, 0x19
vpxor ymm9, ymm9, ymm3
add r10, qword [rdi]
adc r11, qword [rdi + 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
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 [0x0069ec40]
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 [0x0069ec60]
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 [0x0069ec40]
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 [0x0069ec60]
vpaddd ymm13, ymm13, ymm1
vpxor ymm9, ymm9, ymm13
vpslld ymm3, ymm9, 7
vpsrld ymm9, ymm9, 0x19
vpxor ymm9, ymm9, ymm3
add r10, qword [rdi + 0x10]
adc r11, qword [rdi + 0x18]
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 rdi, [rdi + 0x20]
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 rcx
jg 0x523666
dec r9
jge 0x5236f6
vpaddd ymm0, ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm5, ymm5, ymmword [str.expand_32_byte_kexpand_32_byte_k]
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 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
mov rcx, pe_nt_image_headers64
lea rsi, [rsi + 0x80]
sub rbx, 0x80
vperm2i128 ymm0, ymm9, ymm5, 2
vperm2i128 ymm14, ymm1, ymm13, 2
vperm2i128 ymm12, ymm9, ymm5, 0x13
vperm2i128 ymm4, ymm1, ymm13, 0x13
jmp 0x522d46
vmovdqa ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
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 [0x0069ebc0]
vpaddd ymm1, ymm4, ymmword [0x0069ebc0]
vpaddd ymm2, ymm1, ymmword [0x0069ebc0]
vmovdqa ymm7, ymm4
vmovdqa ymm11, ymm1
vmovdqa ymm15, ymm2
add r10, qword [rdi]
adc r11, qword [rdi + 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 rdi, [rdi + 0x10]
vpaddd ymm0, ymm0, ymm14
vpxor ymm4, ymm4, ymm0
vpshufb ymm4, ymm4, ymmword [0x0069ec40]
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 [0x0069ec60]
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 [0x0069ec40]
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 [0x0069ec60]
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 [0x0069ec40]
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 [0x0069ec60]
vpaddd ymm8, ymm8, ymm2
vpxor ymm10, ymm10, ymm8
vpslld ymm3, ymm10, 7
vpsrld ymm10, ymm10, 0x19
vpxor ymm10, ymm10, ymm3
add r10, qword [rdi]
adc r11, qword [rdi + 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
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 [0x0069ec40]
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 [0x0069ec60]
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 [0x0069ec40]
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 [0x0069ec60]
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 [0x0069ec40]
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 [0x0069ec60]
vpaddd ymm8, ymm8, ymm2
vpxor ymm10, ymm10, ymm8
vpslld ymm3, ymm10, 7
vpsrld ymm10, ymm10, 0x19
vpxor ymm10, ymm10, ymm3
add r10, qword [rdi + 0x10]
adc r11, qword [rdi + 0x18]
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 rdi, [rdi + 0x20]
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 rcx
jg 0x523abe
dec r9
jge 0x523b4e
vpaddd ymm0, ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm5, ymm5, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm6, ymm6, ymmword [str.expand_32_byte_kexpand_32_byte_k]
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, ymm7
vpaddd ymm1, ymm1, ymm11
vpaddd ymm2, ymm2, ymm15
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
mov rcx, 0x100
lea rsi, [rsi + 0x100]
sub rbx, 0x100
vperm2i128 ymm0, ymm10, ymm6, 2
vperm2i128 ymm14, ymm2, ymm8, 2
vperm2i128 ymm12, ymm10, ymm6, 0x13
vperm2i128 ymm4, ymm2, ymm8, 0x13
jmp 0x522d46
vmovdqa ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
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 [0x0069ebc0]
vpaddd ymm1, ymm4, ymmword [0x0069ebc0]
vpaddd ymm2, ymm1, ymmword [0x0069ebc0]
vpaddd ymm3, ymm2, ymmword [0x0069ebc0]
vmovdqa ymmword [rbp + 0x60], ymm4
vmovdqa ymmword [rbp + 0x80], ymm1
vmovdqa ymmword [rbp + 0xa0], ymm2
vmovdqa ymmword [rbp + 0xc0], ymm3
add r10, qword [rdi]
adc r11, qword [rdi + 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 rdi, [rdi + 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 [0x0069ec40]
vpshufb ymm1, ymm1, ymmword [0x0069ec40]
vpshufb ymm2, ymm2, ymmword [0x0069ec40]
vpshufb ymm3, ymm3, ymmword [0x0069ec40]
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 [rdi]
adc r11, qword [rdi + 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 [0x0069ec60]
vpshufb ymm1, ymm1, ymmword [0x0069ec60]
vpshufb ymm2, ymm2, ymmword [0x0069ec60]
vpshufb ymm3, ymm3, ymmword [0x0069ec60]
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 [0x0069ec40]
vpshufb ymm1, ymm1, ymmword [0x0069ec40]
vpshufb ymm2, ymm2, ymmword [0x0069ec40]
vpshufb ymm3, ymm3, ymmword [0x0069ec40]
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 [rdi + 0x10]
adc r11, qword [rdi + 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 rdi, [rdi + 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 [0x0069ec60]
vpshufb ymm1, ymm1, ymmword [0x0069ec60]
vpshufb ymm2, ymm2, ymmword [0x0069ec60]
vpshufb ymm3, ymm3, ymmword [0x0069ec60]
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
dec rcx
jg 0x52407a
dec r9
jge 0x52410a
vpaddd ymm0, ymm0, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm5, ymm5, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm6, ymm6, ymmword [str.expand_32_byte_kexpand_32_byte_k]
vpaddd ymm7, ymm7, ymmword [str.expand_32_byte_kexpand_32_byte_k]
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
vpxor ymm15, ymm15, ymmword [rsi]
vmovdqu ymmword [rdi], ymm15
vperm2i128 ymm15, ymm4, ymm12, 2
vpxor ymm15, ymm15, ymmword [rsi + 0x20]
vmovdqu ymmword [rdi + 0x20], ymm15
vperm2i128 ymm15, ymm14, ymm0, 0x13
vpxor ymm15, ymm15, ymmword [rsi + 0x40]
vmovdqu ymmword [rdi + 0x40], ymm15
vperm2i128 ymm15, ymm4, ymm12, 0x13
vpxor ymm15, ymm15, ymmword [rsi + 0x60]
vmovdqu ymmword [rdi + 0x60], ymm15
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
mov rcx, 0x180
lea rsi, [rsi + 0x180]
sub rbx, 0x180
vperm2i128 ymm0, ymm11, ymm7, 2
vperm2i128 ymm14, ymm3, ymmword [rbp + 0xe0], 2
vperm2i128 ymm12, ymm11, ymm7, 0x13
vperm2i128 ymm4, ymm3, ymmword [rbp + 0xe0], 0x13
jmp 0x522d46
call fcn.004609c0
jmp fcn.0051f540