Function at 0x1400147e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
push r14
mov r14, r8
push r12
push rdi
push rsi
push rbx
mov rbx, rcx
mov rcx, rdx
sub rsp, 0xa0
and rsp, 0xffffffffffffffe0
sub rsp, 0x4c0
vmovups xmmword [rsp + 0x4c0], xmm6
vmovups xmmword [rsp + 0x4d0], xmm7
vmovups xmmword [rsp + 0x4e0], xmm8
vmovups xmmword [rsp + 0x4f0], xmm9
vmovups xmmword [rsp + 0x500], xmm10
vmovups xmmword [rsp + 0x510], xmm11
vmovups xmmword [rsp + 0x520], xmm12
vmovups xmmword [rsp + 0x530], xmm13
vmovups xmmword [rsp + 0x540], xmm14
vmovups xmmword [rsp + 0x550], xmm15
cmp r9, 0x1ff
jbe 0x14001510e
vpbroadcastd ymm7, dword [rbx]
lea rax, [r9 - 0x200]
and rax, 0xfffffffffffffe00
vmovdqu ymmword [rsp + 0x1c0], ymm7
lea r8, [rax + 0x200]
vmovdqu ymmword [rsp + 0x380], ymm7
vpbroadcastd ymm7, dword [rbx + 4]
lea r11, [rdx + r8]
mov rdx, r14
vmovdqu ymmword [rsp + 0x1a0], ymm7
vmovdqu ymmword [rsp + 0x360], ymm7
vpbroadcastd ymm7, dword [rbx + 8]
vmovdqu ymmword [rsp + 0x180], ymm7
vmovdqu ymmword [rsp + 0x340], ymm7
vpbroadcastd ymm7, dword [rbx + 0xc]
vmovdqu ymmword [rsp + 0x160], ymm7
vmovdqu ymmword [rsp + 0x320], ymm7
vpbroadcastd ymm7, dword [rbx + 0x10]
vmovdqu ymmword [rsp + 0x140], ymm7
vmovdqu ymmword [rsp + 0x300], ymm7
vpbroadcastd ymm7, dword [rbx + 0x14]
vmovdqu ymmword [rsp + 0x120], ymm7
vmovdqu ymmword [rsp + 0x2e0], ymm7
vpbroadcastd ymm7, dword [rbx + 0x18]
vmovdqu ymmword [rsp + 0x100], ymm7
vmovdqu ymmword [rsp + 0x2c0], ymm7
vpbroadcastd ymm7, dword [rbx + 0x1c]
vmovdqu ymmword [rsp + 0xe0], ymm7
vmovdqu ymmword [rsp + 0x2a0], ymm7
vpbroadcastd ymm7, dword [rbx + 0x24]
vmovdqu ymmword [rsp + 0xc0], ymm7
vmovdqu ymmword [rsp + 0x280], ymm7
vpbroadcastd ymm7, dword [rbx + 0x28]
vmovdqu ymmword [rsp + 0xa0], ymm7
vmovdqu ymmword [rsp + 0x260], ymm7
vpbroadcastd ymm7, dword [rbx + 0x2c]
vmovdqu ymmword [rsp + 0x80], ymm7
vmovdqu ymmword [rsp + 0x240], ymm7
vpbroadcastd ymm7, dword [rbx + 0x30]
vmovdqu ymmword [rsp + 0x60], ymm7
vmovdqu ymmword [rsp + 0x220], ymm7
vpbroadcastd ymm7, dword [rbx + 0x38]
vmovdqu ymmword [rsp + 0x40], ymm7
vmovdqu ymmword [rsp + 0x200], ymm7
vpbroadcastd ymm7, dword [rbx + 0x3c]
vmovdqu ymmword [rsp + 0x20], ymm7
vmovdqu ymmword [rsp + 0x1e0], ymm7
nop
mov eax, dword [rbx + 0x34]
mov edi, dword [rbx + 0x20]
vmovdqu ymm13, ymmword [rsp + 0x240]
vmovdqu ymm4, ymmword [rsp + 0x320]
vmovdqu ymm15, ymmword [rsp + 0x2a0]
shl rax, 0x20
vmovdqu ymm12, ymmword [rsp + 0x200]
vmovdqu ymm9, ymmword [rsp + 0x280]
or rax, rdi
vmovdqu ymm14, ymm13
vmovdqu ymm10, ymmword [rsp + 0x360]
vmovdqu ymm6, ymmword [rsp + 0x2e0]
vmovq xmm7, rax
add rax, 8
vmovdqu ymm11, ymmword [rsp + 0x220]
vpbroadcastq ymm0, xmm7
mov dword [rbx + 0x20], eax
shr rax, 0x20
vpaddq ymm1, ymm0, ymmword [0x140050660]
vpaddq ymm0, ymm0, ymmword [0x140050680]
vmovdqu ymm7, ymmword [0x1400506a0]
mov dword [rbx + 0x34], eax
mov eax, 0xa
vmovdqu ymm5, ymmword [rsp + 0x380]
vpunpckldq ymm2, ymm0, ymm1
vpunpckhdq ymm0, ymm0, ymm1
vpunpckldq ymm1, ymm2, ymm0
vpunpckhdq ymm0, ymm2, ymm0
vmovdqu ymm2, ymmword [rsp + 0x260]
vpermd ymm7, ymm7, ymm1
vmovdqu ymm1, ymmword [rsp + 0x340]
vmovdqu ymmword [rsp + 0x3c0], ymm7
vmovdqu ymm3, ymm7
vmovdqu ymm7, ymmword [0x1400506a0]
vmovdqu ymmword [rsp + 0x420], ymm2
vmovdqu ymm2, ymmword [rsp + 0x1e0]
vpermd ymm7, ymm7, ymm0
vmovdqu ymm0, ymmword [rsp + 0x2c0]
vmovdqu ymmword [rsp + 0x400], ymm2
vmovdqu ymm2, ymmword [rsp + 0x300]
vmovdqu ymmword [rsp + 0x3a0], ymm7
vmovdqu ymm13, ymm0
nop dword [rax + rax]
vpaddd ymm0, ymm5, ymm2
vpslld ymm8, ymm0, 7
vpsrld ymm0, ymm0, 0x19
vpxor ymm8, ymm8, ymm0
vpaddd ymm0, ymm10, ymm6
vpxor ymm11, ymm8, ymm11
vpslld ymm8, ymm0, 7
vpsrld ymm0, ymm0, 0x19
vpxor ymm8, ymm8, ymm0
vpaddd ymm0, ymm11, ymm5
vpxor ymm7, ymm8, ymm7
vpslld ymm8, ymm0, 9
vpsrld ymm0, ymm0, 0x17
vpxor ymm8, ymm8, ymm0
vpaddd ymm0, ymm7, ymm10
vpxor ymm8, ymm8, ymm3
vpslld ymm3, ymm0, 9
vpsrld ymm0, ymm0, 0x17
vpxor ymm3, ymm3, ymm0
vpaddd ymm0, ymm11, ymm8
vpxor ymm3, ymm3, ymm9
vmovdqu ymm9, ymm8
vmovdqu ymmword [rsp + 0x460], ymm3
vpslld ymm3, ymm0, 0xd
vpsrld ymm0, ymm0, 0x13
vmovdqu ymmword [rsp + 0x440], ymm9
vpxor ymm3, ymm2, ymm3
vpxor ymm2, ymm3, ymm0
vmovdqu ymm3, ymmword [rsp + 0x460]
vmovdqu ymmword [rsp + 0x3e0], ymm2
vpaddd ymm0, ymm7, ymm3
vpslld ymm8, ymm0, 0xd
vpsrld ymm0, ymm0, 0x13
vpxor ymm8, ymm6, ymm8
vpxor ymm8, ymm8, ymm0
vpaddd ymm0, ymm2, ymmword [rsp + 0x440]
vpslld ymm2, ymm0, 0x12
vpsrld ymm0, ymm0, 0xe
vpxor ymm2, ymm5, ymm2
vpxor ymm2, ymm2, ymm0
vpaddd ymm0, ymm8, ymmword [rsp + 0x460]
vpslld ymm3, ymm0, 0x12
vpsrld ymm0, ymm0, 0xe
vpxor ymm10, ymm10, ymm3
vpxor ymm10, ymm10, ymm0
vpaddd ymm0, ymm1, ymm13
vpslld ymm3, ymm0, 7
vpsrld ymm0, ymm0, 0x19
vpxor ymm3, ymm3, ymm0
vpxor ymm12, ymm3, ymm12
vpaddd ymm3, ymm4, ymm15
vpslld ymm0, ymm3, 7
vpsrld ymm3, ymm3, 0x19
vpxor ymm0, ymm0, ymm3
vpaddd ymm3, ymm12, ymm1
vpxor ymm0, ymm0, ymmword [rsp + 0x400]
vpslld ymm5, ymm3, 9
vpsrld ymm3, ymm3, 0x17
vpaddd ymm6, ymm0, ymm4
vpxor ymm5, ymm5, ymm3
vpxor ymm5, ymm5, ymmword [rsp + 0x420]
vpslld ymm3, ymm6, 9
vpsrld ymm6, ymm6, 0x17
vpxor ymm3, ymm3, ymm6
vpaddd ymm6, ymm5, ymm12
vpxor ymm3, ymm3, ymm14
vpslld ymm14, ymm6, 0xd
vpxor ymm14, ymm13, ymm14
vpsrld ymm6, ymm6, 0x13
vpxor ymm14, ymm14, ymm6
vpaddd ymm6, ymm3, ymm0
vpslld ymm9, ymm6, 0xd
vpsrld ymm6, ymm6, 0x13
vpxor ymm9, ymm15, ymm9
vpxor ymm9, ymm9, ymm6
vpaddd ymm6, ymm5, ymm14
vpslld ymm13, ymm6, 0x12
vpsrld ymm6, ymm6, 0xe
vpxor ymm13, ymm1, ymm13
vpaddd ymm1, ymm2, ymm0
vpxor ymm15, ymm13, ymm6
vpslld ymm6, ymm1, 7
vpsrld ymm1, ymm1, 0x19
vpxor ymm6, ymm6, ymm1
vpaddd ymm1, ymm3, ymm9
vpxor ymm6, ymm6, ymm8
vpslld ymm8, ymm1, 0x12
vpxor ymm8, ymm4, ymm8
vpsrld ymm1, ymm1, 0xe
vpxor ymm8, ymm8, ymm1
vpaddd ymm1, ymm10, ymm11
vpslld ymm4, ymm1, 7
vpsrld ymm1, ymm1, 0x19
vpxor ymm4, ymm4, ymm1
vpaddd ymm1, ymm6, ymm2
vpxor ymm13, ymm4, ymm14
vpslld ymm4, ymm1, 9
vpsrld ymm1, ymm1, 0x17
vpxor ymm4, ymm4, ymm1
vpaddd ymm1, ymm13, ymm10
vpxor ymm5, ymm4, ymm5
vpslld ymm4, ymm1, 9
vmovdqu ymmword [rsp + 0x420], ymm5
vpsrld ymm1, ymm1, 0x17
vpxor ymm4, ymm4, ymm1
vpaddd ymm1, ymm6, ymm5
vpxor ymm14, ymm4, ymm3
vpslld ymm3, ymm1, 0xd
vpsrld ymm1, ymm1, 0x13
vpxor ymm3, ymm3, ymm1
vpxor ymm4, ymm3, ymm0
vpaddd ymm0, ymm14, ymm13
vmovdqu ymmword [rsp + 0x400], ymm4
vpslld ymm1, ymm0, 0xd
vpsrld ymm0, ymm0, 0x13
vpxor ymm1, ymm1, ymm0
vpaddd ymm0, ymm4, ymm5
vpxor ymm11, ymm1, ymm11
vpslld ymm5, ymm0, 0x12
vpsrld ymm0, ymm0, 0xe
vpxor ymm5, ymm5, ymm0
vpaddd ymm0, ymm11, ymm14
vpslld ymm1, ymm0, 0x12
vpsrld ymm0, ymm0, 0xe
vpxor ymm5, ymm5, ymm2
vpxor ymm1, ymm1, ymm0
vpaddd ymm0, ymm7, ymm15
vpxor ymm10, ymm1, ymm10
vmovdqu ymm1, ymm15
vpslld ymm15, ymm0, 7
vpsrld ymm0, ymm0, 0x19
vmovdqu ymm4, ymm1
vpxor ymm15, ymm15, ymm0
vpaddd ymm0, ymm8, ymm12
vpxor ymm15, ymm15, ymm9
vpslld ymm2, ymm0, 7
vpsrld ymm0, ymm0, 0x19
vpxor ymm2, ymm2, ymm0
vpaddd ymm0, ymm15, ymm1
vpxor ymm2, ymm2, ymmword [rsp + 0x3e0]
vpslld ymm3, ymm0, 9
vpsrld ymm0, ymm0, 0x17
vpxor ymm3, ymm3, ymm0
vpaddd ymm0, ymm2, ymm8
vpxor ymm3, ymm3, ymmword [rsp + 0x440]
vpslld ymm9, ymm0, 9
vpsrld ymm0, ymm0, 0x17
vpxor ymm9, ymm9, ymm0
vpaddd ymm0, ymm3, ymm15
vpxor ymm9, ymm9, ymmword [rsp + 0x460]
vpslld ymm1, ymm0, 0xd
vpsrld ymm0, ymm0, 0x13
vpxor ymm1, ymm1, ymm0
vpaddd ymm0, ymm9, ymm2
vpxor ymm7, ymm1, ymm7
vpslld ymm1, ymm0, 0xd
vpsrld ymm0, ymm0, 0x13
vpxor ymm1, ymm1, ymm0
vpaddd ymm0, ymm7, ymm3
vpxor ymm12, ymm1, ymm12
vpslld ymm1, ymm0, 0x12
vpsrld ymm0, ymm0, 0xe
vpxor ymm1, ymm1, ymm0
vpaddd ymm0, ymm12, ymm9
vpxor ymm1, ymm1, ymm4
vpslld ymm4, ymm0, 0x12
vpsrld ymm0, ymm0, 0xe
vpxor ymm4, ymm4, ymm0
vpxor ymm4, ymm4, ymm8
sub eax, 1
jne 0x140014ae8
vpaddd ymm5, ymm5, ymmword [rsp + 0x1c0]
vpaddd ymm11, ymm11, ymmword [rsp + 0x60]
vmovdqu ymmword [rsp + 0x440], ymm1
add rcx, 0x200
vpaddd ymm1, ymm6, ymmword [rsp + 0x120]
vmovdqu ymm6, ymmword [rsp + 0x20]
vmovdqu ymmword [rsp + 0x3e0], ymm4
add rdx, 0x200
vpaddd ymm6, ymm6, ymmword [rsp + 0x400]
vmovdqu ymm0, ymmword [rsp + 0xa0]
vmovdqu ymmword [rsp + 0x460], ymm13
vmovdqu ymm13, ymm14
vpaddd ymm0, ymm0, ymmword [rsp + 0x420]
vpunpckldq ymm4, ymm5, ymm1
vpunpckhdq ymm5, ymm5, ymm1
vpaddd ymm10, ymm10, ymmword [rsp + 0x1a0]
vpunpckldq ymm8, ymm0, ymm6
vpunpckhdq ymm0, ymm0, ymm6
vmovdqu ymm6, ymmword [rsp + 0x100]
vpunpcklqdq ymm14, ymm5, ymm0
vpunpckhqdq ymm5, ymm5, ymm0
vpunpcklqdq ymm1, ymm4, ymm8
vpaddd ymm0, ymm6, ymmword [rsp + 0x460]
vpunpckhqdq ymm8, ymm4, ymm8
vpunpckldq ymm4, ymm11, ymm10
vmovdqu ymmword [rsp + 0x420], ymm5
vpaddd ymm5, ymm13, ymmword [rsp + 0x80]
vpunpckhdq ymm11, ymm11, ymm10
vmovdqu ymm13, ymmword [rsp + 0x420]
vpunpckldq ymm6, ymm0, ymm5
vpunpckhdq ymm0, ymm0, ymm5
vpunpcklqdq ymm5, ymm4, ymm6
vpunpckhqdq ymm4, ymm4, ymm6
vpunpcklqdq ymm6, ymm11, ymm0
vpunpckhqdq ymm0, ymm11, ymm0
vperm2i128 ymm10, ymm1, ymm5, 0x20
vperm2i128 ymm5, ymm1, ymm5, 0x31
vpxor ymm10, ymm10, ymmword [rcx - 0x200]
vpxor ymm5, ymm5, ymmword [rcx - 0x100]
vperm2i128 ymm1, ymm8, ymm4, 0x20
vperm2i128 ymm4, ymm8, ymm4, 0x31
vpxor ymm1, ymm1, ymmword [rcx - 0x1c0]
vperm2i128 ymm8, ymm14, ymm6, 0x20
vpxor ymm4, ymm4, ymmword [rcx - 0xc0]
vpxor ymm8, ymm8, ymmword [rcx - 0x180]
vperm2i128 ymm14, ymm14, ymm6, 0x31
vperm2i128 ymm6, ymm13, ymm0, 0x20
vpxor ymm14, ymm14, ymmword [rcx - 0x80]
vperm2i128 ymm0, ymm13, ymm0, 0x31
vpxor ymm6, ymm6, ymmword [rcx - 0x140]
vpxor ymm0, ymm0, ymmword [rcx - 0x40]
vmovdqu ymmword [rdx - 0x1c0], ymm1
vmovdqu ymmword [rdx - 0x100], ymm5
vmovdqu ymmword [rdx - 0x140], ymm6
vmovdqu ymmword [rdx - 0xc0], ymm4
vmovdqu ymmword [rdx - 0x40], ymm0
vmovdqu ymmword [rdx - 0x200], ymm10
vmovdqu ymmword [rdx - 0x180], ymm8
vmovdqu ymmword [rdx - 0x80], ymm14
vpaddd ymm7, ymm7, ymmword [rsp + 0x3a0]
vpaddd ymm12, ymm12, ymmword [rsp + 0x40]
vpaddd ymm3, ymm3, ymmword [rsp + 0x3c0]
vpaddd ymm4, ymm15, ymmword [rsp + 0xe0]
vmovdqu ymm5, ymmword [rsp + 0x180]
vpaddd ymm0, ymm5, ymmword [rsp + 0x440]
vpaddd ymm9, ymm9, ymmword [rsp + 0xc0]
vpunpckldq ymm1, ymm3, ymm7
vpaddd ymm2, ymm2, ymmword [rsp + 0x140]
vpunpckhdq ymm3, ymm3, ymm7
vpunpckldq ymm5, ymm0, ymm4
vpunpckhdq ymm0, ymm0, ymm4
vmovdqu ymm7, ymmword [rsp + 0x160]
vpaddd ymm6, ymm7, ymmword [rsp + 0x3e0]
vpunpcklqdq ymm4, ymm1, ymm5
vpunpckhqdq ymm5, ymm1, ymm5
vpunpcklqdq ymm1, ymm3, ymm0
vpunpckhqdq ymm0, ymm3, ymm0
vpunpckldq ymm3, ymm2, ymm9
vpunpckldq ymm7, ymm12, ymm6
vpunpckhdq ymm2, ymm2, ymm9
vpunpckhdq ymm12, ymm12, ymm6
vpunpcklqdq ymm6, ymm3, ymm7
vpunpckhqdq ymm7, ymm3, ymm7
vpunpcklqdq ymm3, ymm2, ymm12
vpunpckhqdq ymm12, ymm2, ymm12
vperm2i128 ymm2, ymm4, ymm6, 0x20
vperm2i128 ymm6, ymm4, ymm6, 0x31
vpxor ymm2, ymm2, ymmword [rcx - 0x1e0]
vpxor ymm6, ymm6, ymmword [rcx - 0xe0]
vperm2i128 ymm4, ymm5, ymm7, 0x20
vperm2i128 ymm7, ymm5, ymm7, 0x31
vpxor ymm4, ymm4, ymmword [rcx - 0x1a0]
vperm2i128 ymm5, ymm1, ymm3, 0x20
vpxor ymm7, ymm7, ymmword [rcx - 0xa0]
vpxor ymm5, ymm5, ymmword [rcx - 0x160]
vperm2i128 ymm1, ymm1, ymm3, 0x31
vperm2i128 ymm3, ymm0, ymm12, 0x20
vpxor ymm1, ymm1, ymmword [rcx - 0x60]
vperm2i128 ymm12, ymm0, ymm12, 0x31
vpxor ymm3, ymm3, ymmword [rcx - 0x120]
vpxor ymm12, ymm12, ymmword [rcx - 0x20]
vmovdqu ymmword [rdx - 0x1e0], ymm2
vmovdqu ymmword [rdx - 0x1a0], ymm4
vmovdqu ymmword [rdx - 0x160], ymm5
vmovdqu ymmword [rdx - 0x120], ymm3
vmovdqu ymmword [rdx - 0xe0], ymm6
vmovdqu ymmword [rdx - 0xa0], ymm7
vmovdqu ymmword [rdx - 0x60], ymm1
vmovdqu ymmword [rdx - 0x20], ymm12
cmp rcx, r11
jne 0x1400149d0
and r9d, 0x1ff
add r14, r8
cmp r9, 0xff
jbe 0x1400158a1
vmovdqu xmm0, xmmword [rbx]
mov eax, dword [rbx + 0x34]
mov edx, dword [rbx + 0x20]
vpshufd xmm7, xmm0, 0x55
shl rax, 0x20
vmovdqu xmmword [rsp + 0x380], xmm7
vmovdqu xmm10, xmm7
or rax, rdx
vpshufd xmm7, xmm0, 0xaa
vmovdqu xmmword [rsp + 0x360], xmm7
vmovq xmm3, rax
add rax, 4
vmovdqu xmmword [rsp + 0x440], xmm7
vpshufd xmm7, xmm0, 0xff
vmovdqu xmmword [rsp + 0x340], xmm7
vmovdqu xmmword [rsp + 0x420], xmm7
vpshufd xmm7, xmm0, 0
vmovdqu xmm0, xmmword [rbx + 0x10]
vmovdqu xmmword [rsp + 0x320], xmm7
vmovdqu xmm5, xmm7
vpshufd xmm7, xmm0, 0xaa
vpshufd xmm4, xmm0, 0x55
vmovdqu xmmword [rsp + 0x460], xmm7
vmovdqu xmm6, xmm4
vmovdqu xmmword [rsp + 0x300], xmm7
vpshufd xmm7, xmm0, 0xff
vmovdqu xmmword [rsp + 0x2e0], xmm7
vmovdqu xmm15, xmm7
vpshufd xmm7, xmm0, 0
vmovdqu xmm0, xmmword [rbx + 0x20]
vmovdqu xmmword [rsp + 0x2c0], xmm7
vmovdqu xmm2, xmm7
vpshufd xmm7, xmm0, 0xff
vpshufd xmm14, xmm0, 0xaa
mov dword [rbx + 0x20], eax
shr rax, 0x20
vmovdqu xmmword [rsp + 0x2a0], xmm7
vmovdqu xmm13, xmm7
vpshufd xmm7, xmm0, 0x55
vmovdqu xmm0, xmmword [rbx + 0x30]
vmovdqu xmmword [rsp + 0x280], xmm7
vmovdqu xmm9, xmm7
vpshufd xmm7, xmm0, 0
vpshufd xmm8, xmm0, 0xff
mov dword [rbx + 0x34], eax
mov eax, 0xa
vmovdqu xmmword [rsp + 0x260], xmm7
vmovdqu xmm11, xmm7
vpshufd xmm7, xmm0, 0xaa
vpunpcklqdq xmm0, xmm3, xmm3
vpaddq xmm3, xmm0, xmmword [0x140050690]
vmovdqu xmm12, xmm7
vpaddq xmm0, xmm0, xmmword [0x140050680]
vmovdqu xmmword [rsp + 0x240], xmm7
vmovdqu xmmword [rsp + 0x400], xmm14
vmovdqu xmmword [rsp + 0x3e0], xmm8
vpunpckldq xmm1, xmm0, xmm3
vpunpckhdq xmm0, xmm0, xmm3
vmovdqu xmmword [rsp + 0x1c0], xmm14
vpunpckldq xmm7, xmm1, xmm0
vmovdqu xmm14, xmmword [rsp + 0x460]
vmovdqu xmmword [rsp + 0x220], xmm7
vmovdqu xmm3, xmm7
vpunpckhdq xmm7, xmm1, xmm0
vmovdqu xmmword [rsp + 0x1a0], xmm8
vmovdqu xmmword [rsp + 0x200], xmm7
vmovdqu xmmword [rsp + 0x1e0], xmm4
vmovdqu xmmword [rsp + 0x3c0], xmm13
vmovdqu xmm8, xmmword [rsp + 0x440]
vmovdqu xmm13, xmmword [rsp + 0x420]
nop word cs:[rax + rax]
vpaddd xmm0, xmm5, xmm2
vpslld xmm4, xmm0, 7
vpsrld xmm0, xmm0, 0x19
vpxor xmm4, xmm4, xmm0
vpaddd xmm0, xmm10, xmm6
vpxor xmm4, xmm4, xmm11
vpslld xmm1, xmm0, 7
vpsrld xmm0, xmm0, 0x19
vpxor xmm1, xmm1, xmm0
vpaddd xmm0, xmm4, xmm5
vpxor xmm1, xmm1, xmm7
vpslld xmm7, xmm0, 9
vpsrld xmm0, xmm0, 0x17
vpxor xmm7, xmm7, xmm0
vpaddd xmm0, xmm1, xmm10
vpxor xmm7, xmm7, xmm3
vpslld xmm3, xmm0, 9
vmovdqu xmmword [rsp + 0x440], xmm7
vpsrld xmm0, xmm0, 0x17
vpxor xmm3, xmm3, xmm0
vpaddd xmm0, xmm4, xmm7
vpxor xmm11, xmm3, xmm9
vpslld xmm3, xmm0, 0xd
vpxor xmm3, xmm2, xmm3
vpsrld xmm0, xmm0, 0x13
vmovdqu xmm2, xmm11
vmovdqu xmmword [rsp + 0x420], xmm2
vpxor xmm3, xmm3, xmm0
vpaddd xmm0, xmm1, xmm11
vpaddd xmm2, xmm8, xmm14
vmovdqu xmmword [rsp + 0x3a0], xmm3
vpslld xmm11, xmm0, 0xd
vpsrld xmm0, xmm0, 0x13
vpxor xmm11, xmm6, xmm11
vpxor xmm11, xmm11, xmm0
vpaddd xmm0, xmm3, xmmword [rsp + 0x440]
vpslld xmm7, xmm0, 0x12
vpsrld xmm0, xmm0, 0xe
vpxor xmm7, xmm5, xmm7
vpaddd xmm5, xmm13, xmm15
vpxor xmm7, xmm7, xmm0
vpaddd xmm0, xmm11, xmmword [rsp + 0x420]
vpslld xmm3, xmm0, 0x12
vpsrld xmm0, xmm0, 0xe
vpxor xmm3, xmm10, xmm3
vpxor xmm3, xmm3, xmm0
vpslld xmm0, xmm2, 7
vpsrld xmm2, xmm2, 0x19
vpxor xmm0, xmm0, xmm2
vpslld xmm2, xmm5, 7
vpxor xmm0, xmm0, xmm12
vpsrld xmm5, xmm5, 0x19
vpxor xmm2, xmm2, xmm5
vpaddd xmm5, xmm0, xmm8
vpxor xmm2, xmm2, xmmword [rsp + 0x3e0]
vpslld xmm9, xmm5, 9
vpsrld xmm5, xmm5, 0x17
vpaddd xmm6, xmm2, xmm13
vpxor xmm9, xmm9, xmm5
vpxor xmm9, xmm9, xmmword [rsp + 0x400]
vpslld xmm5, xmm6, 9
vpsrld xmm6, xmm6, 0x17
vpxor xmm5, xmm5, xmm6
vpaddd xmm6, xmm9, xmm0
vpxor xmm5, xmm5, xmmword [rsp + 0x3c0]
vpslld xmm10, xmm6, 0xd
vpsrld xmm6, xmm6, 0x13
vpxor xmm10, xmm14, xmm10
vpxor xmm10, xmm10, xmm6
vpaddd xmm6, xmm5, xmm2
vpslld xmm12, xmm6, 0xd
vpsrld xmm6, xmm6, 0x13
vpxor xmm12, xmm15, xmm12
vpxor xmm12, xmm12, xmm6
vpaddd xmm6, xmm9, xmm10
vpslld xmm14, xmm6, 0x12
vpsrld xmm6, xmm6, 0xe
vpxor xmm8, xmm8, xmm14
vpaddd xmm14, xmm7, xmm2
vpxor xmm8, xmm8, xmm6
vpslld xmm6, xmm14, 7
vpsrld xmm14, xmm14, 0x19
vpxor xmm6, xmm6, xmm14
vpxor xmm6, xmm6, xmm11
vpaddd xmm11, xmm5, xmm12
vpslld xmm14, xmm11, 0x12
vpsrld xmm11, xmm11, 0xe
vpxor xmm14, xmm13, xmm14
vpxor xmm13, xmm14, xmm11
vpaddd xmm11, xmm3, xmm4
vmovdqu xmmword [rsp + 0x460], xmm13
vpslld xmm13, xmm11, 7
vpsrld xmm11, xmm11, 0x19
vpxor xmm13, xmm13, xmm11
vpxor xmm14, xmm13, xmm10
vpaddd xmm10, xmm6, xmm7
vmovdqu xmm13, xmmword [rsp + 0x460]
vpslld xmm11, xmm10, 9
vpsrld xmm10, xmm10, 0x17
vpxor xmm11, xmm11, xmm10
vpxor xmm15, xmm11, xmm9
vpaddd xmm9, xmm14, xmm3
vmovdqu xmmword [rsp + 0x400], xmm15
vpslld xmm10, xmm9, 9
vpsrld xmm9, xmm9, 0x17
vpxor xmm10, xmm10, xmm9
vpxor xmm10, xmm10, xmm5
vpaddd xmm5, xmm6, xmm15
vmovdqu xmmword [rsp + 0x3c0], xmm10
vpslld xmm9, xmm5, 0xd
vpsrld xmm5, xmm5, 0x13
vpxor xmm9, xmm9, xmm5
vpxor xmm5, xmm9, xmm2
vpaddd xmm2, xmm14, xmm10
vmovdqu xmmword [rsp + 0x3e0], xmm5
vpslld xmm11, xmm2, 0xd
vpsrld xmm2, xmm2, 0x13
vpxor xmm11, xmm11, xmm2
vpaddd xmm2, xmm5, xmm15
vpxor xmm11, xmm11, xmm4
vpslld xmm5, xmm2, 0x12
vpsrld xmm2, xmm2, 0xe
vpxor xmm5, xmm5, xmm2
vpaddd xmm2, xmm11, xmm10
vpslld xmm10, xmm2, 0x12
vpsrld xmm2, xmm2, 0xe
vpxor xmm5, xmm5, xmm7
vpxor xmm10, xmm10, xmm2
vpaddd xmm2, xmm8, xmm1
vpslld xmm15, xmm2, 7
vpsrld xmm2, xmm2, 0x19
vpxor xmm10, xmm10, xmm3
vpxor xmm15, xmm15, xmm2
vpaddd xmm3, xmm0, xmm13
vpxor xmm15, xmm15, xmm12
vpslld xmm2, xmm3, 7
vpaddd xmm4, xmm15, xmm8
vpsrld xmm3, xmm3, 0x19
vpxor xmm2, xmm2, xmm3
vpslld xmm3, xmm4, 9
vpxor xmm2, xmm2, xmmword [rsp + 0x3a0]
vpsrld xmm4, xmm4, 0x17
vpxor xmm3, xmm3, xmm4
vpaddd xmm4, xmm2, xmmword [rsp + 0x460]
vpxor xmm3, xmm3, xmmword [rsp + 0x440]
vpslld xmm9, xmm4, 9
vpsrld xmm4, xmm4, 0x17
vpxor xmm9, xmm9, xmm4
vpaddd xmm4, xmm3, xmm15
vpxor xmm9, xmm9, xmmword [rsp + 0x420]
vpslld xmm7, xmm4, 0xd
vpsrld xmm4, xmm4, 0x13
vpxor xmm7, xmm7, xmm4
vpxor xmm7, xmm7, xmm1
vpaddd xmm1, xmm9, xmm2
vpslld xmm12, xmm1, 0xd
vpsrld xmm1, xmm1, 0x13
vpxor xmm12, xmm12, xmm1
vpxor xmm12, xmm12, xmm0
vpaddd xmm0, xmm7, xmm3
vpslld xmm1, xmm0, 0x12
vpsrld xmm0, xmm0, 0xe
vpxor xmm1, xmm1, xmm0
vpaddd xmm0, xmm12, xmm9
vpslld xmm13, xmm0, 0x12
vpsrld xmm0, xmm0, 0xe
vpxor xmm8, xmm1, xmm8
vpxor xmm13, xmm13, xmm0
vpxor xmm13, xmm13, xmmword [rsp + 0x460]
sub eax, 1
jne 0x1400152d0
vmovdqu xmm4, xmmword [rsp + 0x1e0]
sub r9, 0x100
vpaddd xmm5, xmm5, xmmword [rsp + 0x320]
vmovdqu xmmword [rsp + 0x460], xmm14
vmovdqu xmmword [rsp + 0x440], xmm8
add r14, 0x100
vmovdqu xmm8, xmmword [rsp + 0x1a0]
vmovdqu xmm14, xmmword [rsp + 0x1c0]
vpaddd xmm4, xmm4, xmm6
add rcx, 0x100
vpaddd xmm6, xmm8, xmmword [rsp + 0x3e0]
vmovdqu xmmword [rsp + 0x420], xmm13
vpaddd xmm0, xmm14, xmmword [rsp + 0x400]
vpunpckldq xmm1, xmm5, xmm4
vpunpckhdq xmm5, xmm5, xmm4
vmovdqu xmm13, xmmword [rsp + 0x3c0]
vpaddd xmm10, xmm10, xmmword [rsp + 0x380]
vpaddd xmm7, xmm7, xmmword [rsp + 0x200]
vpunpckldq xmm8, xmm0, xmm6
vpunpckhdq xmm0, xmm0, xmm6
vpunpcklqdq xmm4, xmm1, xmm8
vpxor xmm4, xmm4, xmmword [rcx - 0x100]
vpunpckhqdq xmm1, xmm1, xmm8
vpunpcklqdq xmm6, xmm5, xmm0
vpunpckhqdq xmm0, xmm5, xmm0
vmovdqu xmm5, xmmword [rsp + 0x300]
vpaddd xmm5, xmm5, xmmword [rsp + 0x460]
vmovdqu xmmword [r14 - 0x100], xmm4
vpxor xmm1, xmm1, xmmword [rcx - 0xc0]
vpaddd xmm4, xmm13, xmmword [rsp + 0x2a0]
vmovdqu xmmword [r14 - 0xc0], xmm1
vpxor xmm6, xmm6, xmmword [rcx - 0x80]
vmovdqu xmmword [r14 - 0x80], xmm6
vpxor xmm0, xmm0, xmmword [rcx - 0x40]
vpunpckldq xmm6, xmm5, xmm4
vpunpckhdq xmm5, xmm5, xmm4
vmovdqu xmmword [r14 - 0x40], xmm0
vpaddd xmm0, xmm11, xmmword [rsp + 0x260]
vpunpckldq xmm1, xmm0, xmm10
vpunpckhdq xmm0, xmm0, xmm10
vpunpcklqdq xmm4, xmm1, xmm6
vpxor xmm4, xmm4, xmmword [rcx - 0xf0]
vpunpckhqdq xmm1, xmm1, xmm6
vpunpcklqdq xmm6, xmm0, xmm5
vpunpckhqdq xmm5, xmm0, xmm5
vmovdqu xmmword [r14 - 0xf0], xmm4
vpxor xmm1, xmm1, xmmword [rcx - 0xb0]
vmovdqu xmmword [r14 - 0xb0], xmm1
vpxor xmm6, xmm6, xmmword [rcx - 0x70]
vmovdqu xmmword [r14 - 0x70], xmm6
vpxor xmm5, xmm5, xmmword [rcx - 0x30]
vmovdqu xmmword [r14 - 0x30], xmm5
vpaddd xmm3, xmm3, xmmword [rsp + 0x220]
vpaddd xmm4, xmm15, xmmword [rsp + 0x2e0]
vmovdqu xmm5, xmmword [rsp + 0x360]
vpaddd xmm0, xmm5, xmmword [rsp + 0x440]
vpunpckldq xmm1, xmm3, xmm7
vpunpckhdq xmm3, xmm3, xmm7
vmovdqu xmm7, xmmword [rsp + 0x340]
vpunpckldq xmm5, xmm0, xmm4
vpunpckhdq xmm0, xmm0, xmm4
vpunpcklqdq xmm4, xmm3, xmm0
vpunpcklqdq xmm6, xmm1, xmm5
vpunpckhqdq xmm0, xmm3, xmm0
vpxor xmm3, xmm6, xmmword [rcx - 0xe0]
vpunpckhqdq xmm1, xmm1, xmm5
vmovdqu xmmword [r14 - 0xe0], xmm3
vpxor xmm1, xmm1, xmmword [rcx - 0xa0]
vpaddd xmm3, xmm7, xmmword [rsp + 0x420]
vmovdqu xmmword [r14 - 0xa0], xmm1
vpxor xmm1, xmm4, xmmword [rcx - 0x60]
vpaddd xmm4, xmm9, xmmword [rsp + 0x280]
vmovdqu xmmword [r14 - 0x60], xmm1
vpxor xmm0, xmm0, xmmword [rcx - 0x20]
vpaddd xmm1, xmm12, xmmword [rsp + 0x240]
vmovdqu xmmword [r14 - 0x20], xmm0
vpunpckldq xmm5, xmm1, xmm3
vpunpckhdq xmm1, xmm1, xmm3
vpaddd xmm0, xmm2, xmmword [rsp + 0x2c0]
vpunpckldq xmm2, xmm0, xmm4
vpunpckhdq xmm0, xmm0, xmm4
vpunpcklqdq xmm3, xmm0, xmm1
vpunpcklqdq xmm4, xmm2, xmm5
vpunpckhqdq xmm0, xmm0, xmm1
vpxor xmm1, xmm4, xmmword [rcx - 0xd0]
vpunpckhqdq xmm2, xmm2, xmm5
vmovdqu xmmword [r14 - 0xd0], xmm1
vpxor xmm1, xmm2, xmmword [rcx - 0x90]
vmovdqu xmmword [r14 - 0x90], xmm1
vpxor xmm1, xmm3, xmmword [rcx - 0x50]
vmovdqu xmmword [r14 - 0x50], xmm1
vpxor xmm0, xmm0, xmmword [rcx - 0x10]
vmovdqu xmmword [r14 - 0x10], xmm0
cmp r9, 0x3f
jbe 0x140015bcd
mov rsi, r14
mov r8, rcx
lea rdi, [rcx + r9]
vmovdqu xmm5, xmmword [rbx]
vmovdqu xmm4, xmmword [rbx + 0x10]
mov eax, 5
vmovdqu xmm3, xmmword [rbx + 0x20]
vmovdqu xmm2, xmmword [rbx + 0x30]
vmovdqu xmm10, xmm5
vmovdqu xmm9, xmm4
vmovdqu xmm7, xmm3
vmovdqu xmm13, xmm2
nop dword [rax]
vpaddd xmm0, xmm10, xmm9
vpslld xmm6, xmm0, 7
vpsrld xmm0, xmm0, 0x19
vpxor xmm6, xmm6, xmm0
vpxor xmm6, xmm6, xmm13
vpaddd xmm1, xmm6, xmm10
vpsrld xmm8, xmm1, 0x17
vpslld xmm0, xmm1, 9
vpshufd xmm1, xmm6, 0x93
vpxor xmm0, xmm0, xmm8
vpxor xmm0, xmm0, xmm7
vpaddd xmm7, xmm0, xmm6
vpshufd xmm8, xmm0, 0x4e
vpslld xmm6, xmm7, 0xd
vpsrld xmm7, xmm7, 0x13
vpxor xmm6, xmm9, xmm6
vpxor xmm6, xmm6, xmm7
vpaddd xmm0, xmm0, xmm6
vpshufd xmm6, xmm6, 0x39
vpslld xmm7, xmm0, 0x12
vpsrld xmm0, xmm0, 0xe
vpxor xmm7, xmm10, xmm7
vpxor xmm7, xmm7, xmm0
vpaddd xmm0, xmm1, xmm7
vpslld xmm9, xmm0, 7
vpsrld xmm0, xmm0, 0x19
vpxor xmm6, xmm6, xmm9
vpxor xmm6, xmm6, xmm0
vpaddd xmm0, xmm6, xmm7
vpslld xmm10, xmm0, 9
vpsrld xmm9, xmm0, 0x17
vpshufd xmm0, xmm6, 0x93
vpxor xmm8, xmm8, xmm10
vpxor xmm8, xmm8, xmm9
vpaddd xmm6, xmm8, xmm6
vpshufd xmm9, xmm8, 0x4e
vpslld xmm10, xmm6, 0xd
vpsrld xmm6, xmm6, 0x13
vpxor xmm1, xmm1, xmm10
vpxor xmm1, xmm1, xmm6
vpaddd xmm8, xmm8, xmm1
vpshufd xmm1, xmm1, 0x39
vpslld xmm6, xmm8, 0x12
vpsrld xmm8, xmm8, 0xe
vpxor xmm8, xmm6, xmm8
vpxor xmm8, xmm8, xmm7
vpaddd xmm6, xmm0, xmm8
vpslld xmm7, xmm6, 7
vpsrld xmm6, xmm6, 0x19
vpxor xmm1, xmm1, xmm7
vpxor xmm1, xmm1, xmm6
vpaddd xmm6, xmm1, xmm8
vpslld xmm10, xmm6, 9
vpsrld xmm7, xmm6, 0x17
vpshufd xmm6, xmm1, 0x93
vpxor xmm9, xmm9, xmm10
vpxor xmm9, xmm9, xmm7
vpaddd xmm1, xmm9, xmm1
vpshufd xmm7, xmm9, 0x4e
vpslld xmm10, xmm1, 0xd
vpsrld xmm1, xmm1, 0x13
vpxor xmm0, xmm0, xmm10
vpxor xmm0, xmm0, xmm1
vpaddd xmm9, xmm9, xmm0
vpshufd xmm0, xmm0, 0x39
vpslld xmm1, xmm9, 0x12
vpsrld xmm9, xmm9, 0xe
vpxor xmm1, xmm1, xmm9
vpxor xmm8, xmm1, xmm8
vpaddd xmm1, xmm6, xmm8
vpslld xmm9, xmm1, 7
vpsrld xmm1, xmm1, 0x19
vpxor xmm0, xmm0, xmm9
vpxor xmm0, xmm0, xmm1
vpaddd xmm9, xmm0, xmm8
vpshufd xmm11, xmm0, 0x93
vpslld xmm1, xmm9, 9
vpsrld xmm10, xmm9, 0x17
vmovdqu xmm9, xmm11
vpxor xmm1, xmm7, xmm1
vpxor xmm1, xmm1, xmm10
vpaddd xmm0, xmm1, xmm0
vpshufd xmm12, xmm1, 0x4e
vpslld xmm10, xmm0, 0xd
vpsrld xmm0, xmm0, 0x13
vmovdqu xmm7, xmm12
vpxor xmm6, xmm6, xmm10
vpxor xmm6, xmm6, xmm0
vpaddd xmm1, xmm1, xmm6
vpshufd xmm6, xmm6, 0x39
vpslld xmm10, xmm1, 0x12
vpsrld xmm1, xmm1, 0xe
vmovdqu xmm13, xmm6
vpxor xmm10, xmm10, xmm1
vpxor xmm10, xmm10, xmm8
sub eax, 1
jne 0x1400158e0
vpaddd xmm10, xmm10, xmm5
vpaddd xmm11, xmm11, xmm4
vpaddd xmm12, xmm12, xmm3
vpaddd xmm6, xmm6, xmm2
vmovd r12d, xmm10
xor r12d, dword [r8]
vmovd r11d, xmm11
vmovd edx, xmm12
xor r11d, dword [r8 + 0x30]
xor edx, dword [r8 + 0x20]
vmovd eax, xmm6
xor eax, dword [r8 + 0x10]
mov dword [rsi], r12d
vpextrd r12d, xmm10, 1
mov dword [rsi + 0x30], r11d
vpextrd r11d, xmm11, 1
vpextrd r10d, xmm12, 3
mov dword [rsi + 0x20], edx
vpextrd edx, xmm12, 1
mov dword [rsi + 0x10], eax
vpextrd eax, xmm6, 1
xor r11d, dword [r8 + 4]
xor edx, dword [r8 + 0x34]
xor eax, dword [r8 + 0x24]
xor r12d, dword [r8 + 0x14]
mov dword [rsi + 4], r11d
vpextrd r11d, xmm11, 2
mov dword [rsi + 0x14], r12d
vpextrd r12d, xmm10, 2
mov dword [rsi + 0x34], edx
vpextrd edx, xmm12, 2
mov dword [rsi + 0x24], eax
vpextrd eax, xmm6, 2
xor r11d, dword [r8 + 0x18]
xor edx, dword [r8 + 8]
xor eax, dword [r8 + 0x38]
xor r12d, dword [r8 + 0x28]
mov dword [rsi + 0x18], r11d
vpextrd r11d, xmm11, 3
mov dword [rsi + 8], edx
vpextrd edx, xmm6, 3
mov dword [rsi + 0x38], eax
vpextrd eax, xmm10, 3
mov dword [rsi + 0x28], r12d
xor r11d, dword [r8 + 0x2c]
xor r10d, dword [r8 + 0x1c]
xor edx, dword [r8 + 0xc]
xor eax, dword [r8 + 0x3c]
mov dword [rsi + 0x2c], r11d
mov dword [rsi + 0x3c], eax
mov dword [rsi + 0x1c], r10d
mov dword [rsi + 0xc], edx
mov eax, dword [rbx + 0x20]
add eax, 1
cmp eax, 1
mov dword [rbx + 0x20], eax
mov rax, rdi
adc dword [rbx + 0x34], 0
add r8, 0x40
add rsi, 0x40
sub rax, r8
cmp rax, 0x3f
ja 0x1400158b5
lea rax, [r9 - 0x40]
and r9d, 0x3f
and rax, 0xffffffffffffffc0
add rax, 0x40
add r14, rax
add rcx, rax
test r9, r9
je 0x140015ef0
vmovdqu xmm5, xmmword [rbx]
vmovdqu xmm4, xmmword [rbx + 0x10]
mov edx, 5
vmovdqu xmm3, xmmword [rbx + 0x20]
vmovdqu xmm2, xmmword [rbx + 0x30]
vmovdqu xmm7, xmm5
vmovdqu xmm6, xmm4
vmovdqu xmm9, xmm3
vmovdqu xmm0, xmm2
nop
vpaddd xmm1, xmm7, xmm6
vpslld xmm8, xmm1, 7
vpsrld xmm1, xmm1, 0x19
vpxor xmm8, xmm8, xmm1
vpxor xmm8, xmm8, xmm0
vpaddd xmm1, xmm8, xmm7
vpsrld xmm10, xmm1, 0x17
vpslld xmm0, xmm1, 9
vpshufd xmm1, xmm8, 0x93
vpxor xmm0, xmm0, xmm10
vpxor xmm9, xmm0, xmm9
vpaddd xmm8, xmm9, xmm8
vpslld xmm0, xmm8, 0xd
vpsrld xmm10, xmm8, 0x13
vpshufd xmm8, xmm9, 0x4e
vpxor xmm0, xmm6, xmm0
vpxor xmm0, xmm0, xmm10
vpaddd xmm9, xmm9, xmm0
vpshufd xmm6, xmm0, 0x39
vpslld xmm10, xmm9, 0x12
vpsrld xmm9, xmm9, 0xe
vpxor xmm7, xmm7, xmm10
vpxor xmm7, xmm7, xmm9
vpaddd xmm0, xmm1, xmm7
vpslld xmm9, xmm0, 7
vpsrld xmm0, xmm0, 0x19
vpxor xmm6, xmm6, xmm9
vpxor xmm6, xmm6, xmm0
vpaddd xmm0, xmm6, xmm7
vpslld xmm10, xmm0, 9
vpsrld xmm9, xmm0, 0x17
vpshufd xmm0, xmm6, 0x93
vpxor xmm8, xmm8, xmm10
vpxor xmm8, xmm8, xmm9
vpaddd xmm6, xmm8, xmm6
vpshufd xmm9, xmm8, 0x4e
vpslld xmm10, xmm6, 0xd
vpsrld xmm6, xmm6, 0x13
vpxor xmm1, xmm1, xmm10
vpxor xmm1, xmm1, xmm6
vpaddd xmm8, xmm8, xmm1
vpshufd xmm1, xmm1, 0x39
vpslld xmm6, xmm8, 0x12
vpsrld xmm8, xmm8, 0xe
vpxor xmm6, xmm6, xmm8
vpxor xmm6, xmm6, xmm7
vpaddd xmm7, xmm0, xmm6
vpslld xmm8, xmm7, 7
vpsrld xmm7, xmm7, 0x19
vpxor xmm1, xmm1, xmm8
vpxor xmm1, xmm1, xmm7
vpaddd xmm7, xmm1, xmm6
vpslld xmm10, xmm7, 9
vpsrld xmm8, xmm7, 0x17
vpshufd xmm7, xmm1, 0x93
vpxor xmm9, xmm9, xmm10
vpxor xmm9, xmm9, xmm8
vpaddd xmm1, xmm9, xmm1
vpshufd xmm8, xmm9, 0x4e
vpslld xmm10, xmm1, 0xd
vpsrld xmm1, xmm1, 0x13
vpxor xmm0, xmm0, xmm10
vpxor xmm0, xmm0, xmm1
vpaddd xmm9, xmm9, xmm0
vpshufd xmm0, xmm0, 0x39
vpslld xmm10, xmm9, 0x12
vpsrld xmm9, xmm9, 0xe
vpxor xmm10, xmm10, xmm9
vpxor xmm10, xmm10, xmm6
vpaddd xmm1, xmm7, xmm10
vpslld xmm6, xmm1, 7
vpsrld xmm1, xmm1, 0x19
vpxor xmm0, xmm0, xmm6
vpxor xmm0, xmm0, xmm1
vpaddd xmm1, xmm0, xmm10
vpshufd xmm11, xmm0, 0x93
vpslld xmm12, xmm1, 9
vpsrld xmm9, xmm1, 0x17
vmovdqu xmm6, xmm11
vpxor xmm1, xmm8, xmm12
vpxor xmm1, xmm1, xmm9
vpaddd xmm0, xmm1, xmm0
vpshufd xmm8, xmm1, 0x4e
vpslld xmm12, xmm0, 0xd
vpsrld xmm0, xmm0, 0x13
vmovdqu xmm9, xmm8
vpxor xmm7, xmm7, xmm12
vpxor xmm0, xmm7, xmm0
vpaddd xmm1, xmm1, xmm0
vpshufd xmm12, xmm0, 0x39
vpslld xmm7, xmm1, 0x12
vpsrld xmm1, xmm1, 0xe
vmovdqu xmm0, xmm12
vpxor xmm7, xmm7, xmm1
vpxor xmm7, xmm7, xmm10
sub edx, 1
jne 0x140015c00
vpaddd xmm1, xmm7, xmm5
vpaddd xmm11, xmm11, xmm4
vpaddd xmm8, xmm8, xmm3
vpaddd xmm0, xmm12, xmm2
vmovd dword [rsp + 0x480], xmm1
vpextrd dword [rsp + 0x494], xmm1, 1
vmovd dword [rsp + 0x4b0], xmm11
lea r8, [r9 - 1]
vpextrd dword [rsp + 0x484], xmm11, 1
vpextrd dword [rsp + 0x4b4], xmm8, 1
vmovd dword [rsp + 0x4a0], xmm8
vpextrd dword [rsp + 0x4a4], xmm0, 1
vpextrd dword [rsp + 0x4a8], xmm1, 2
vpextrd dword [rsp + 0x498], xmm11, 2
vmovd dword [rsp + 0x490], xmm0
vpextrd dword [rsp + 0x488], xmm8, 2
vpextrd dword [rsp + 0x4b8], xmm0, 2
vpextrd dword [rsp + 0x4bc], xmm1, 3
vpextrd dword [rsp + 0x4ac], xmm11, 3
vpextrd dword [rsp + 0x49c], xmm8, 3
vpextrd dword [rsp + 0x48c], xmm0, 3
cmp r8, 0xe
jbe 0x140016172
lea rax, [rcx + 1]
mov r10, r14
sub r10, rax
xor eax, eax
cmp r10, 0x1e
ja 0x140015f5a
lea r8, [rsp + 0x480]
nop dword [rax + rax]
movzx edx, byte [r8 + rax]
xor dl, byte [rcx + rax]
mov byte [r14 + rax], dl
add rax, 1
cmp r9, rax
jne 0x140015ec0
mov edx, 0x40
mov rcx, r8
vzeroupper
call sym.sodium_memzero
jmp 0x140015ef3
vzeroupper
vmovups xmm6, xmmword [rsp + 0x4c0]
vmovups xmm7, xmmword [rsp + 0x4d0]
vmovups xmm8, xmmword [rsp + 0x4e0]
vmovups xmm9, xmmword [rsp + 0x4f0]
vmovups xmm10, xmmword [rsp + 0x500]
vmovups xmm11, xmmword [rsp + 0x510]
vmovups xmm12, xmmword [rsp + 0x520]
vmovups xmm13, xmmword [rsp + 0x530]
vmovups xmm14, xmmword [rsp + 0x540]
vmovups xmm15, xmmword [rsp + 0x550]
lea rsp, [rbp - 0x28]
pop rbx
pop rsi
pop rdi
pop r12
pop r14
pop rbp
ret
cmp r8, 0x1e
jbe 0x140016188
vmovdqu ymm7, ymmword [rcx]
vpxor ymm0, ymm7, ymmword [rsp + 0x480]
vmovdqu ymmword [r14], ymm0
cmp r9, 0x20
je 0x140016155
lea rax, [r9 - 0x21]
lea r8, [r9 - 0x20]
cmp rax, 0xe
jbe 0x140016179
mov eax, 0x20
mov edx, 0x20
vmovdqu xmm7, xmmword [rcx + rax]
add edx, 0x10
vpxor xmm0, xmm7, xmmword [rsp + rax + 0x480]
vmovdqu xmmword [r14 + rax], xmm0
add rax, 0x10
cmp r8, 0x10
je 0x140016155
mov r11d, edx
movzx r8d, byte [rcx + rax]
xor r8b, byte [rsp + r11 + 0x480]
mov byte [r14 + rax], r8b
lea eax, [rdx + 1]
cmp rax, r9
jae 0x140016155
movzx r8d, byte [rcx + rax]
xor r8b, byte [rsp + rax + 0x480]
mov byte [r14 + rax], r8b
lea eax, [rdx + 2]
cmp rax, r9
jae 0x140016155
movzx r8d, byte [rcx + rax]
xor r8b, byte [rsp + rax + 0x480]
mov byte [r14 + rax], r8b
lea eax, [rdx + 3]
cmp rax, r9
jae 0x140016155
movzx r8d, byte [rcx + rax]
xor r8b, byte [rsp + rax + 0x480]
mov byte [r14 + rax], r8b
lea eax, [rdx + 4]
cmp rax, r9
jae 0x140016155
movzx r8d, byte [rcx + rax]
xor r8b, byte [rsp + rax + 0x480]
mov byte [r14 + rax], r8b
lea eax, [rdx + 5]
cmp rax, r9
jae 0x140016155
movzx r8d, byte [rcx + rax]
xor r8b, byte [rsp + rax + 0x480]
mov byte [r14 + rax], r8b
lea eax, [rdx + 6]
cmp rax, r9
jae 0x140016155
movzx r8d, byte [rcx + rax]
xor r8b, byte [rsp + rax + 0x480]
mov byte [r14 + rax], r8b
lea eax, [rdx + 7]
cmp rax, r9
jae 0x140016155
movzx r8d, byte [rcx + rax]
xor r8b, byte [rsp + rax + 0x480]
mov byte [r14 + rax], r8b
lea eax, [rdx + 8]
cmp rax, r9
jae 0x140016155
movzx r8d, byte [rcx + rax]
xor r8b, byte [rsp + rax + 0x480]
mov byte [r14 + rax], r8b
lea eax, [rdx + 9]
cmp rax, r9
jae 0x140016155
movzx r8d, byte [rcx + rax]
xor r8b, byte [rsp + rax + 0x480]
mov byte [r14 + rax], r8b
lea eax, [rdx + 0xa]
cmp rax, r9
jae 0x140016155
movzx r8d, byte [rcx + rax]
xor r8b, byte [rsp + rax + 0x480]
mov byte [r14 + rax], r8b
lea eax, [rdx + 0xb]
cmp rax, r9
jae 0x140016155
movzx r8d, byte [rcx + rax]
xor r8b, byte [rsp + rax + 0x480]
mov byte [r14 + rax], r8b
lea eax, [rdx + 0xc]
cmp rax, r9
jae 0x140016155
movzx r8d, byte [rcx + rax]
xor r8b, byte [rsp + rax + 0x480]
mov byte [r14 + rax], r8b
lea eax, [rdx + 0xd]
cmp rax, r9
jae 0x140016155
movzx r8d, byte [rcx + rax]
xor r8b, byte [rsp + rax + 0x480]
mov byte [r14 + rax], r8b
lea eax, [rdx + 0xe]
cmp rax, r9
jae 0x140016155
movzx edx, byte [rcx + rax]
xor dl, byte [rsp + rax + 0x480]
mov byte [r14 + rax], dl
lea r8, [rsp + 0x480]
mov edx, 0x40
mov rcx, r8
vzeroupper
call sym.sodium_memzero
jmp 0x140015ef3
xor eax, eax
jmp 0x140015eb0
mov edx, 0x20
mov eax, 0x20
jmp 0x140015fc1
mov r8, r9
xor eax, eax
jmp 0x140015f9c