Function at 0x14000b900
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
push r12
push rdi
mov rdi, rcx
push rsi
push rbx
sub rsp, 0xa0
and rsp, 0xffffffffffffffe0
sub rsp, 0x5e0
vmovaps xmmword [rsp + 0x5e0], xmm6
vmovaps xmmword [rsp + 0x5f0], xmm7
vmovaps xmmword [rsp + 0x600], xmm8
vmovaps xmmword [rsp + 0x610], xmm9
vmovaps xmmword [rsp + 0x620], xmm10
vmovaps xmmword [rsp + 0x630], xmm11
vmovaps xmmword [rsp + 0x640], xmm12
vmovaps xmmword [rsp + 0x650], xmm13
vmovaps xmmword [rsp + 0x660], xmm14
vmovaps xmmword [rsp + 0x670], xmm15
cmp r9, 0x1ff
jbe 0x14000c406
vpbroadcastd ymm4, dword [rcx]
lea rax, [r9 - 0x200]
and rax, 0xfffffffffffffe00
vmovdqa ymmword [rsp + 0x1c0], ymm4
lea rbx, [rax + 0x200]
mov rax, r8
vmovdqa ymmword [rsp + 0x380], ymm4
vpbroadcastd ymm4, dword [rcx + 4]
lea r11, [rdx + rbx]
vmovdqa ymmword [rsp + 0x1a0], ymm4
vmovdqa ymmword [rsp + 0x360], ymm4
vpbroadcastd ymm4, dword [rcx + 8]
vmovdqa ymmword [rsp + 0x180], ymm4
vmovdqa ymmword [rsp + 0x340], ymm4
vpbroadcastd ymm4, dword [rcx + 0xc]
vmovdqa ymmword [rsp + 0x160], ymm4
vmovdqa ymmword [rsp + 0x320], ymm4
vpbroadcastd ymm4, dword [rcx + 0x10]
vmovdqa ymmword [rsp + 0x140], ymm4
vmovdqa ymmword [rsp + 0x300], ymm4
vpbroadcastd ymm4, dword [rcx + 0x14]
vmovdqa ymmword [rsp + 0x120], ymm4
vmovdqa ymmword [rsp + 0x2e0], ymm4
vpbroadcastd ymm4, dword [rcx + 0x18]
vmovdqa ymmword [rsp + 0x100], ymm4
vmovdqa ymmword [rsp + 0x2c0], ymm4
vpbroadcastd ymm4, dword [rcx + 0x1c]
vmovdqa ymmword [rsp + 0xe0], ymm4
vmovdqa ymmword [rsp + 0x2a0], ymm4
vpbroadcastd ymm4, dword [rcx + 0x24]
vmovdqa ymmword [rsp + 0xc0], ymm4
vmovdqa ymmword [rsp + 0x280], ymm4
vpbroadcastd ymm4, dword [rcx + 0x28]
vmovdqa ymmword [rsp + 0xa0], ymm4
vmovdqa ymmword [rsp + 0x260], ymm4
vpbroadcastd ymm4, dword [rcx + 0x2c]
vmovdqa ymmword [rsp + 0x80], ymm4
vmovdqa ymmword [rsp + 0x240], ymm4
vpbroadcastd ymm4, dword [rcx + 0x30]
vmovdqa ymmword [rsp + 0x60], ymm4
vmovdqa ymmword [rsp + 0x220], ymm4
vpbroadcastd ymm4, dword [rcx + 0x38]
vmovdqa ymmword [rsp + 0x40], ymm4
vmovdqa ymmword [rsp + 0x200], ymm4
vpbroadcastd ymm4, dword [rcx + 0x3c]
vmovdqa ymmword [rsp + 0x20], ymm4
vmovdqa ymmword [rsp + 0x1e0], ymm4
mov ecx, dword [rdi + 0x34]
mov r10d, dword [rdi + 0x20]
vmovdqa ymm13, ymmword [rsp + 0x240]
vmovdqa ymm12, ymmword [rsp + 0x1e0]
vmovdqa ymm6, ymmword [rsp + 0x320]
shl rcx, 0x20
vmovdqa ymm3, ymmword [rsp + 0x2c0]
vmovdqa ymm15, ymmword [rsp + 0x2a0]
or rcx, r10
vmovdqa ymm9, ymmword [rsp + 0x340]
vmovdqa ymmword [rsp + 0x520], ymm13
vmovq xmm4, rcx
add rcx, 8
vmovdqa ymm7, ymmword [rsp + 0x280]
vmovdqa ymm11, ymmword [rsp + 0x360]
vpbroadcastq ymm0, xmm4
mov dword [rdi + 0x20], ecx
shr rcx, 0x20
vpaddq ymm1, ymm0, ymmword [0x140107380]
vpaddq ymm0, ymm0, ymmword [0x1401073a0]
mov dword [rdi + 0x34], ecx
vmovdqa ymm13, ymm3
mov ecx, 0xa
vmovdqa ymm4, ymmword [0x1401073c0]
vmovdqa ymm5, ymmword [rsp + 0x380]
vmovdqa ymmword [rsp + 0x500], ymm12
vmovdqa ymm12, ymm6
vmovdqa ymm2, ymmword [rsp + 0x300]
vpunpckldq ymm10, ymm0, ymm1
vpunpckhdq ymm0, ymm0, ymm1
vpunpckldq ymm1, ymm10, ymm0
vpunpckhdq ymm0, ymm10, ymm0
vmovdqa ymm10, ymmword [rsp + 0x2e0]
vpermd ymm4, ymm4, ymm1
vmovdqa ymmword [rsp + 0x3c0], ymm4
vmovdqa ymm8, ymm4
vmovdqa ymm4, ymmword [0x1401073c0]
vpermd ymm4, ymm4, ymm0
vmovdqa ymm0, ymmword [rsp + 0x200]
vmovdqa ymmword [rsp + 0x3a0], ymm4
vmovdqa ymm1, ymm4
vmovdqa ymm4, ymmword [rsp + 0x260]
vmovdqa ymmword [rsp + 0x540], ymm4
vmovdqa ymm4, ymmword [rsp + 0x220]
vpaddd ymm3, ymm5, ymm2
vpslld ymm6, ymm3, 7
vpsrld ymm3, ymm3, 0x19
vpxor ymm3, ymm6, ymm3
vpxor ymm4, ymm3, ymm4
vpaddd ymm3, ymm11, ymm10
vpslld ymm6, ymm3, 7
vpsrld ymm3, ymm3, 0x19
vpxor ymm3, ymm6, ymm3
vpxor ymm14, ymm3, ymm1
vpaddd ymm1, ymm4, ymm5
vpslld ymm3, ymm1, 9
vpsrld ymm1, ymm1, 0x17
vpxor ymm1, ymm3, ymm1
vpxor ymm6, ymm1, ymm8
vpaddd ymm1, ymm14, ymm11
vpslld ymm3, ymm1, 9
vpsrld ymm1, ymm1, 0x17
vpxor ymm1, ymm3, ymm1
vpxor ymm8, ymm1, ymm7
vpaddd ymm1, ymm4, ymm6
vmovdqa ymm7, ymm6
vmovdqa ymmword [rsp + 0x580], ymm7
vpslld ymm3, ymm1, 0xd
vpsrld ymm1, ymm1, 0x13
vmovdqa ymmword [rsp + 0x560], ymm8
vpxor ymm2, ymm2, ymm3
vpxor ymm6, ymm2, ymm1
vpaddd ymm1, ymm14, ymm8
vmovdqa ymmword [rsp + 0x4e0], ymm6
vpslld ymm2, ymm1, 0xd
vpsrld ymm1, ymm1, 0x13
vpxor ymm10, ymm10, ymm2
vpxor ymm3, ymm10, ymm1
vpaddd ymm1, ymm6, ymmword [rsp + 0x580]
vpslld ymm6, ymm1, 0x12
vpsrld ymm1, ymm1, 0xe
vpxor ymm5, ymm5, ymm6
vpxor ymm2, ymm5, ymm1
vpaddd ymm5, ymm3, ymmword [rsp + 0x560]
vpslld ymm6, ymm5, 0x12
vpsrld ymm5, ymm5, 0xe
vpxor ymm11, ymm11, ymm6
vpxor ymm1, ymm11, ymm5
vpaddd ymm5, ymm9, ymm13
vpslld ymm6, ymm5, 7
vpsrld ymm5, ymm5, 0x19
vpxor ymm5, ymm6, ymm5
vpaddd ymm6, ymm12, ymm15
vpxor ymm0, ymm5, ymm0
vpslld ymm5, ymm6, 7
vpsrld ymm6, ymm6, 0x19
vpxor ymm5, ymm5, ymm6
vpaddd ymm6, ymm0, ymm9
vpxor ymm5, ymm5, ymmword [rsp + 0x500]
vpslld ymm8, ymm6, 9
vpsrld ymm6, ymm6, 0x17
vpxor ymm8, ymm8, ymm6
vpaddd ymm6, ymm5, ymm12
vpxor ymm8, ymm8, ymmword [rsp + 0x540]
vpslld ymm11, ymm6, 9
vpsrld ymm6, ymm6, 0x17
vpxor ymm11, ymm11, ymm6
vpaddd ymm6, ymm8, ymm0
vpxor ymm11, ymm11, ymmword [rsp + 0x520]
vpslld ymm7, ymm6, 0xd
vpsrld ymm6, ymm6, 0x13
vpxor ymm13, ymm13, ymm7
vpxor ymm13, ymm13, ymm6
vpaddd ymm6, ymm11, ymm5
vpslld ymm7, ymm6, 0xd
vpsrld ymm6, ymm6, 0x13
vpxor ymm15, ymm15, ymm7
vpxor ymm7, ymm15, ymm6
vpaddd ymm6, ymm8, ymm13
vpslld ymm10, ymm6, 0x12
vpsrld ymm6, ymm6, 0xe
vpaddd ymm15, ymm11, ymm7
vpxor ymm9, ymm9, ymm10
vpxor ymm9, ymm9, ymm6
vpaddd ymm6, ymm2, ymm5
vpslld ymm10, ymm6, 7
vpsrld ymm6, ymm6, 0x19
vpxor ymm10, ymm10, ymm6
vpxor ymm10, ymm10, ymm3
vpslld ymm3, ymm15, 0x12
vpxor ymm6, ymm12, ymm3
vpaddd ymm3, ymm1, ymm4
vmovdqa ymmword [rsp + 0x4c0], ymm10
vpslld ymm12, ymm3, 7
vpsrld ymm3, ymm3, 0x19
vpxor ymm3, ymm12, ymm3
vpsrld ymm15, ymm15, 0xe
vpxor ymm13, ymm3, ymm13
vpaddd ymm3, ymm10, ymm2
vpxor ymm6, ymm6, ymm15
vmovdqa ymmword [rsp + 0x4a0], ymm13
vpslld ymm12, ymm3, 9
vpsrld ymm3, ymm3, 0x17
vpxor ymm3, ymm12, ymm3
vpxor ymm15, ymm3, ymm8
vpaddd ymm3, ymm13, ymm1
vmovdqa ymmword [rsp + 0x540], ymm15
vpslld ymm8, ymm3, 9
vpsrld ymm3, ymm3, 0x17
vmovdqa ymmword [rsp + 0x480], ymm15
vpxor ymm3, ymm8, ymm3
vpxor ymm12, ymm3, ymm11
vpaddd ymm3, ymm10, ymm15
vmovdqa ymmword [rsp + 0x520], ymm12
vpslld ymm8, ymm3, 0xd
vpsrld ymm3, ymm3, 0x13
vmovdqa ymmword [rsp + 0x460], ymm12
vpxor ymm3, ymm8, ymm3
vpxor ymm11, ymm3, ymm5
vpaddd ymm3, ymm13, ymm12
vmovdqa ymmword [rsp + 0x500], ymm11
vpslld ymm5, ymm3, 0xd
vpsrld ymm3, ymm3, 0x13
vmovdqa ymmword [rsp + 0x440], ymm11
vpxor ymm3, ymm5, ymm3
vpxor ymm4, ymm3, ymm4
vpaddd ymm3, ymm11, ymm15
vmovdqa ymmword [rsp + 0x420], ymm4
vpslld ymm5, ymm3, 0x12
vpsrld ymm3, ymm3, 0xe
vpxor ymm5, ymm5, ymm3
vpxor ymm5, ymm5, ymm2
vpaddd ymm2, ymm4, ymm12
vpslld ymm11, ymm2, 0x12
vpsrld ymm2, ymm2, 0xe
vpxor ymm11, ymm11, ymm2
vpxor ymm11, ymm11, ymm1
vpaddd ymm1, ymm9, ymm14
vpslld ymm15, ymm1, 7
vpsrld ymm1, ymm1, 0x19
vpxor ymm15, ymm15, ymm1
vpaddd ymm1, ymm6, ymm0
vpxor ymm15, ymm15, ymm7
vpslld ymm2, ymm1, 7
vpsrld ymm1, ymm1, 0x19
vpxor ymm2, ymm2, ymm1
vpaddd ymm1, ymm15, ymm9
vpxor ymm2, ymm2, ymmword [rsp + 0x4e0]
vmovdqa ymmword [rsp + 0x4e0], ymm15
vpslld ymm8, ymm1, 9
vpsrld ymm1, ymm1, 0x17
vpxor ymm8, ymm8, ymm1
vpaddd ymm1, ymm2, ymm6
vpxor ymm8, ymm8, ymmword [rsp + 0x580]
vmovdqa ymmword [rsp + 0x580], ymm2
vpslld ymm7, ymm1, 9
vpsrld ymm1, ymm1, 0x17
vpxor ymm7, ymm7, ymm1
vpaddd ymm3, ymm8, ymm15
vpxor ymm7, ymm7, ymmword [rsp + 0x560]
vmovdqa ymmword [rsp + 0x560], ymm8
vpslld ymm1, ymm3, 0xd
vpsrld ymm3, ymm3, 0x13
vmovdqa ymmword [rsp + 0x400], ymm7
vpxor ymm1, ymm1, ymm3
vpaddd ymm3, ymm7, ymm2
vpslld ymm12, ymm3, 0xd
vpsrld ymm3, ymm3, 0x13
vpxor ymm1, ymm1, ymm14
vmovdqa ymmword [rsp + 0x3e0], ymm1
vpxor ymm3, ymm12, ymm3
vpxor ymm0, ymm3, ymm0
vpaddd ymm3, ymm1, ymm8
vpslld ymm12, ymm3, 0x12
vpsrld ymm3, ymm3, 0xe
vpxor ymm3, ymm12, ymm3
vpaddd ymm12, ymm0, ymm7
vpxor ymm9, ymm3, ymm9
vpslld ymm3, ymm12, 0x12
vpsrld ymm12, ymm12, 0xe
vpxor ymm12, ymm3, ymm12
vpxor ymm12, ymm12, ymm6
sub ecx, 1
jne 0x14000bc06
vmovdqa ymm15, ymm9
vmovdqa ymm9, ymm0
vmovdqa ymm14, ymm12
vmovdqa ymm4, ymmword [rsp + 0x120]
vpaddd ymm3, ymm5, ymmword [rsp + 0x1c0]
add rdx, 0x200
vmovdqa ymm7, ymmword [rsp + 0x440]
add rax, 0x200
vpaddd ymm6, ymm7, ymmword [rsp + 0x20]
vpaddd ymm4, ymm4, ymm10
vmovdqa ymm7, ymmword [rsp + 0x480]
vpaddd ymm0, ymm7, ymmword [rsp + 0xa0]
vpunpckldq ymm2, ymm3, ymm4
vpunpckhdq ymm3, ymm3, ymm4
vmovdqa ymm4, ymmword [rsp + 0x420]
vpunpckldq ymm1, ymm0, ymm6
vpunpckhdq ymm0, ymm0, ymm6
vpunpcklqdq ymm7, ymm3, ymm0
vpunpckhqdq ymm3, ymm3, ymm0
vpunpcklqdq ymm6, ymm2, ymm1
vmovdqa ymm0, ymmword [rsp + 0x100]
vpunpckhqdq ymm1, ymm2, ymm1
vpaddd ymm2, ymm11, ymmword [rsp + 0x1a0]
vpaddd ymm11, ymm4, ymmword [rsp + 0x60]
vmovdqa ymm4, ymmword [rsp + 0x460]
vpaddd ymm0, ymm0, ymm13
vpaddd ymm4, ymm4, ymmword [rsp + 0x80]
vpunpckldq ymm8, ymm11, ymm2
vpunpckhdq ymm11, ymm11, ymm2
vpunpckldq ymm5, ymm0, ymm4
vpunpckhdq ymm0, ymm0, ymm4
vpunpcklqdq ymm12, ymm8, ymm5
vpunpcklqdq ymm13, ymm11, ymm0
vpunpckhqdq ymm8, ymm8, ymm5
vpunpckhqdq ymm11, ymm11, ymm0
vmovdqu xmm0, xmmword [rdx - 0x1c0]
vperm2i128 ymm4, ymm6, ymm12, 0x20
vperm2i128 ymm6, ymm6, ymm12, 0x31
vinserti128 ymm0, ymm0, xmmword [rdx - 0x1b0], 1
vperm2i128 ymm12, ymm1, ymm8, 0x20
vperm2i128 ymm5, ymm7, ymm13, 0x20
vperm2i128 ymm1, ymm1, ymm8, 0x31
vperm2i128 ymm8, ymm3, ymm11, 0x20
vperm2i128 ymm7, ymm7, ymm13, 0x31
vpxor ymm12, ymm12, ymm0
vmovdqu xmm0, xmmword [rdx - 0x180]
vperm2i128 ymm3, ymm3, ymm11, 0x31
vinserti128 ymm0, ymm0, xmmword [rdx - 0x170], 1
vpxor ymm5, ymm5, ymm0
vmovdqu xmm0, xmmword [rdx - 0x140]
vinserti128 ymm0, ymm0, xmmword [rdx - 0x130], 1
vpxor ymm8, ymm8, ymm0
vmovdqu xmm0, xmmword [rdx - 0x100]
vinserti128 ymm0, ymm0, xmmword [rdx - 0xf0], 1
vpxor ymm6, ymm6, ymm0
vmovdqu xmm0, xmmword [rdx - 0xc0]
vinserti128 ymm2, ymm0, xmmword [rdx - 0xb0], 1
vmovdqu xmm0, xmmword [rdx - 0x80]
vinserti128 ymm13, ymm0, xmmword [rdx - 0x70], 1
vmovdqu xmm0, xmmword [rdx - 0x40]
vinserti128 ymm0, ymm0, xmmword [rdx - 0x30], 1
vpxor ymm1, ymm1, ymm2
vpxor ymm7, ymm7, ymm13
vpxor ymm3, ymm3, ymm0
vmovdqu xmm0, xmmword [rdx - 0x200]
vinserti128 ymm0, ymm0, xmmword [rdx - 0x1f0], 1
vmovups xmmword [rax - 0x1c0], xmm12
vextracti128 xmmword [rax - 0x1b0], ymm12, 1
vpxor ymm0, ymm4, ymm0
vmovups xmmword [rax - 0x200], xmm0
vextracti128 xmmword [rax - 0x1f0], ymm0, 1
vmovups xmmword [rax - 0x180], xmm5
vextracti128 xmmword [rax - 0x70], ymm7, 1
vmovdqa ymm4, ymmword [rsp + 0x3a0]
vpaddd ymm10, ymm4, ymmword [rsp + 0x3e0]
vmovups xmmword [rax - 0x80], xmm7
vpaddd ymm9, ymm9, ymmword [rsp + 0x40]
vmovdqa ymm4, ymmword [rsp + 0x3c0]
vextracti128 xmmword [rax - 0xf0], ymm6, 1
vpaddd ymm2, ymm4, ymmword [rsp + 0x560]
vmovups xmmword [rax - 0x100], xmm6
vmovdqa ymm7, ymmword [rsp + 0x180]
vextracti128 xmmword [rax - 0xb0], ymm1, 1
vmovdqa ymm6, ymmword [rsp + 0x160]
vmovups xmmword [rax - 0xc0], xmm1
vmovdqa ymm4, ymmword [rsp + 0x4e0]
vextracti128 xmmword [rax - 0x30], ymm3, 1
vpaddd ymm4, ymm4, ymmword [rsp + 0xe0]
vmovups xmmword [rax - 0x40], xmm3
vpunpckldq ymm1, ymm2, ymm10
vpaddd ymm3, ymm7, ymm15
vpunpckhdq ymm10, ymm2, ymm10
vpaddd ymm14, ymm6, ymm14
vmovdqa ymm7, ymmword [rsp + 0x400]
vpaddd ymm2, ymm7, ymmword [rsp + 0xc0]
vpunpckldq ymm0, ymm3, ymm4
vpunpckldq ymm6, ymm9, ymm14
vmovdqa ymm7, ymmword [rsp + 0x580]
vpaddd ymm7, ymm7, ymmword [rsp + 0x140]
vpunpckhdq ymm3, ymm3, ymm4
vpunpckhdq ymm9, ymm9, ymm14
vpunpcklqdq ymm4, ymm1, ymm0
vextracti128 xmmword [rax - 0x170], ymm5, 1
vpunpckhqdq ymm0, ymm1, ymm0
vpunpckldq ymm1, ymm7, ymm2
vpunpckhdq ymm7, ymm7, ymm2
vmovups xmmword [rax - 0x140], xmm8
vextracti128 xmmword [rax - 0x130], ymm8, 1
vpunpcklqdq ymm11, ymm7, ymm9
vpunpcklqdq ymm8, ymm1, ymm6
vpunpckhqdq ymm9, ymm7, ymm9
vpunpckhqdq ymm1, ymm1, ymm6
vmovdqu xmm7, xmmword [rdx - 0x1a0]
vperm2i128 ymm12, ymm4, ymm8, 0x20
vperm2i128 ymm4, ymm4, ymm8, 0x31
vinserti128 ymm2, ymm7, xmmword [rdx - 0x190], 1
vperm2i128 ymm8, ymm0, ymm1, 0x20
vpunpcklqdq ymm5, ymm10, ymm3
vmovdqu xmm7, xmmword [rdx - 0x160]
vperm2i128 ymm1, ymm0, ymm1, 0x31
vperm2i128 ymm0, ymm5, ymm11, 0x20
vpunpckhqdq ymm10, ymm10, ymm3
vpxor ymm8, ymm8, ymm2
vperm2i128 ymm6, ymm10, ymm9, 0x20
vperm2i128 ymm5, ymm5, ymm11, 0x31
vinserti128 ymm2, ymm7, xmmword [rdx - 0x150], 1
vperm2i128 ymm10, ymm10, ymm9, 0x31
vmovdqu xmm7, xmmword [rdx - 0x120]
vpxor ymm0, ymm0, ymm2
vinserti128 ymm2, ymm7, xmmword [rdx - 0x110], 1
vmovdqu xmm7, xmmword [rdx - 0xe0]
vpxor ymm6, ymm6, ymm2
vinserti128 ymm2, ymm7, xmmword [rdx - 0xd0], 1
vmovdqu xmm7, xmmword [rdx - 0xa0]
vpxor ymm4, ymm4, ymm2
vinserti128 ymm2, ymm7, xmmword [rdx - 0x90], 1
vmovdqu xmm7, xmmword [rdx - 0x60]
vinserti128 ymm11, ymm7, xmmword [rdx - 0x50], 1
vmovdqu xmm7, xmmword [rdx - 0x20]
vpxor ymm1, ymm1, ymm2
vinserti128 ymm3, ymm7, xmmword [rdx - 0x10], 1
vmovdqu xmm7, xmmword [rdx - 0x1e0]
vinserti128 ymm2, ymm7, xmmword [rdx - 0x1d0], 1
vpxor ymm5, ymm5, ymm11
vmovups xmmword [rax - 0x1a0], xmm8
vextracti128 xmmword [rax - 0x190], ymm8, 1
vpxor ymm10, ymm10, ymm3
vmovups xmmword [rax - 0x160], xmm0
vextracti128 xmmword [rax - 0x150], ymm0, 1
vextracti128 xmmword [rax - 0x110], ymm6, 1
vpxor ymm12, ymm12, ymm2
vmovups xmmword [rax - 0x60], xmm5
vextracti128 xmmword [rax - 0xd0], ymm4, 1
vextracti128 xmmword [rax - 0x90], ymm1, 1
vmovups xmmword [rax - 0x1e0], xmm12
vextracti128 xmmword [rax - 0x50], ymm5, 1
vextracti128 xmmword [rax - 0x1d0], ymm12, 1
vextracti128 xmmword [rax - 0x10], ymm10, 1
vmovups xmmword [rax - 0x120], xmm6
vmovups xmmword [rax - 0xe0], xmm4
vmovups xmmword [rax - 0xa0], xmm1
vmovups xmmword [rax - 0x20], xmm10
cmp rdx, r11
jne 0x14000bae6
and r9d, 0x1ff
add r8, rbx
vzeroupper
cmp r9, 0xff
jbe 0x14000cbce
vmovdqa xmm2, xmmword [rdi]
vmovdqa xmm3, xmmword [rdi + 0x10]
vmovdqa xmm0, xmmword [rdi + 0x20]
vmovdqa xmm5, xmmword [rdi + 0x30]
vpshufd xmm4, xmm2, 0x55
vpshufd xmm7, xmm3, 0xaa
mov eax, dword [rdi + 0x34]
mov ecx, dword [rdi + 0x20]
vmovaps xmmword [rsp + 0x580], xmm7
vmovdqa xmm11, xmm4
vmovaps xmmword [rsp + 0x3c0], xmm4
vpshufd xmm4, xmm2, 0xaa
shl rax, 0x20
vmovaps xmmword [rsp + 0x340], xmm7
vpshufd xmm7, xmm3, 0xff
vmovdqa xmm9, xmm4
or rax, rcx
vmovaps xmmword [rsp + 0x3a0], xmm4
vmovdqa xmm15, xmm7
vpshufd xmm4, xmm2, 0xff
vmovaps xmmword [rsp + 0x320], xmm7
vpshufd xmm7, xmm3, 0
vmovdqa xmm14, xmm4
vmovaps xmmword [rsp + 0x380], xmm4
vpshufd xmm4, xmm2, 0
vmovdqa xmm2, xmm7
vmovaps xmmword [rsp + 0x300], xmm7
vpshufd xmm7, xmm3, 0x55
vmovaps xmmword [rsp + 0x2e0], xmm7
vmovdqa xmm10, xmm7
vpshufd xmm7, xmm0, 0xff
vmovaps xmmword [rsp + 0x2c0], xmm7
vmovdqa xmm13, xmm7
vpshufd xmm7, xmm0, 0x55
vmovaps xmmword [rsp + 0x2a0], xmm7
vmovdqa xmm6, xmm7
vpshufd xmm7, xmm0, 0xaa
vmovaps xmmword [rsp + 0x280], xmm7
vmovaps xmmword [rsp + 0x540], xmm7
vpshufd xmm7, xmm5, 0
vmovaps xmmword [rsp + 0x260], xmm7
vmovdqa xmm3, xmm7
vpshufd xmm7, xmm5, 0xaa
vmovaps xmmword [rsp + 0x240], xmm7
vmovdqa xmm0, xmm7
vpshufd xmm7, xmm5, 0xff
vmovq xmm5, rax
vpunpcklqdq xmm1, xmm5, xmm5
add rax, 4
vpaddq xmm5, xmm1, xmmword [0x1401073e0]
vmovaps xmmword [rsp + 0x220], xmm7
vpaddq xmm1, xmm1, xmmword [0x1401073f0]
vmovdqa xmm12, xmm7
mov dword [rdi + 0x20], eax
shr rax, 0x20
vmovaps xmmword [rsp + 0x520], xmm13
vmovdqa xmm13, xmmword [rsp + 0x580]
vpunpckldq xmm8, xmm1, xmm5
vpunpckhdq xmm1, xmm1, xmm5
mov dword [rdi + 0x34], eax
mov eax, 0xa
vpunpckldq xmm7, xmm8, xmm1
vpunpckhdq xmm5, xmm8, xmm1
vmovaps xmmword [rsp + 0x500], xmm12
vmovdqa xmm12, xmm14
vmovaps xmmword [rsp + 0x360], xmm4
vmovdqa xmm1, xmm5
vmovaps xmmword [rsp + 0x200], xmm7
vmovaps xmmword [rsp + 0x1e0], xmm5
vpaddd xmm5, xmm4, xmm2
vpslld xmm8, xmm5, 7
vpsrld xmm5, xmm5, 0x19
vpxor xmm5, xmm8, xmm5
vpxor xmm3, xmm5, xmm3
vpaddd xmm5, xmm11, xmm10
vpslld xmm8, xmm5, 7
vpsrld xmm5, xmm5, 0x19
vpxor xmm5, xmm8, xmm5
vpxor xmm14, xmm5, xmm1
vpaddd xmm1, xmm3, xmm4
vpslld xmm5, xmm1, 9
vpsrld xmm1, xmm1, 0x17
vpxor xmm1, xmm5, xmm1
vpxor xmm7, xmm1, xmm7
vpaddd xmm1, xmm14, xmm11
vmovaps xmmword [rsp + 0x580], xmm7
vpslld xmm5, xmm1, 9
vpsrld xmm1, xmm1, 0x17
vpxor xmm1, xmm5, xmm1
vpxor xmm8, xmm1, xmm6
vpaddd xmm1, xmm3, xmm7
vmovaps xmmword [rsp + 0x560], xmm8
vpslld xmm5, xmm1, 0xd
vpsrld xmm1, xmm1, 0x13
vpxor xmm2, xmm2, xmm5
vpxor xmm6, xmm2, xmm1
vpaddd xmm1, xmm14, xmm8
vmovaps xmmword [rsp + 0x4e0], xmm6
vpslld xmm2, xmm1, 0xd
vpsrld xmm1, xmm1, 0x13
vpxor xmm10, xmm10, xmm2
vpxor xmm5, xmm10, xmm1
vpaddd xmm1, xmm6, xmmword [rsp + 0x580]
vpslld xmm2, xmm1, 0x12
vpsrld xmm1, xmm1, 0xe
vpxor xmm4, xmm4, xmm2
vpxor xmm6, xmm4, xmm1
vpaddd xmm1, xmm5, xmmword [rsp + 0x560]
vpslld xmm4, xmm1, 0x12
vpsrld xmm1, xmm1, 0xe
vpxor xmm11, xmm11, xmm4
vpxor xmm2, xmm11, xmm1
vpaddd xmm1, xmm9, xmm13
vpslld xmm4, xmm1, 7
vpsrld xmm1, xmm1, 0x19
vpxor xmm1, xmm4, xmm1
vpaddd xmm4, xmm12, xmm15
vpxor xmm0, xmm1, xmm0
vpslld xmm1, xmm4, 7
vpsrld xmm4, xmm4, 0x19
vpaddd xmm7, xmm0, xmm9
vpxor xmm1, xmm1, xmm4
vpslld xmm4, xmm7, 9
vpxor xmm1, xmm1, xmmword [rsp + 0x500]
vpsrld xmm7, xmm7, 0x17
vpxor xmm4, xmm4, xmm7
vpaddd xmm7, xmm1, xmm12
vpxor xmm4, xmm4, xmmword [rsp + 0x540]
vpslld xmm11, xmm7, 9
vpsrld xmm7, xmm7, 0x17
vpxor xmm11, xmm11, xmm7
vpaddd xmm7, xmm4, xmm0
vpxor xmm11, xmm11, xmmword [rsp + 0x520]
vpslld xmm8, xmm7, 0xd
vpsrld xmm7, xmm7, 0x13
vpxor xmm13, xmm13, xmm8
vpaddd xmm8, xmm11, xmm1
vpxor xmm13, xmm13, xmm7
vpslld xmm7, xmm8, 0xd
vpxor xmm15, xmm15, xmm7
vpsrld xmm8, xmm8, 0x13
vpxor xmm7, xmm15, xmm8
vpaddd xmm8, xmm4, xmm13
vpslld xmm10, xmm8, 0x12
vpsrld xmm8, xmm8, 0xe
vpaddd xmm15, xmm11, xmm7
vpxor xmm9, xmm9, xmm10
vpxor xmm9, xmm9, xmm8
vpaddd xmm8, xmm6, xmm1
vpslld xmm10, xmm8, 7
vpsrld xmm8, xmm8, 0x19
vpxor xmm10, xmm10, xmm8
vpxor xmm10, xmm10, xmm5
vpslld xmm5, xmm15, 0x12
vpxor xmm8, xmm12, xmm5
vpaddd xmm5, xmm2, xmm3
vmovaps xmmword [rsp + 0x4c0], xmm10
vpslld xmm12, xmm5, 7
vpsrld xmm5, xmm5, 0x19
vpxor xmm5, xmm12, xmm5
vpsrld xmm15, xmm15, 0xe
vpxor xmm13, xmm5, xmm13
vpaddd xmm5, xmm10, xmm6
vpxor xmm8, xmm8, xmm15
vmovaps xmmword [rsp + 0x4a0], xmm13
vpslld xmm12, xmm5, 9
vpsrld xmm5, xmm5, 0x17
vpxor xmm5, xmm12, xmm5
vpxor xmm15, xmm5, xmm4
vpaddd xmm4, xmm13, xmm2
vmovaps xmmword [rsp + 0x540], xmm15
vpslld xmm5, xmm4, 9
vpsrld xmm4, xmm4, 0x17
vmovaps xmmword [rsp + 0x480], xmm15
vpxor xmm4, xmm5, xmm4
vpxor xmm12, xmm4, xmm11
vpaddd xmm4, xmm10, xmm15
vmovaps xmmword [rsp + 0x520], xmm12
vpslld xmm5, xmm4, 0xd
vpsrld xmm4, xmm4, 0x13
vmovaps xmmword [rsp + 0x460], xmm12
vpxor xmm4, xmm5, xmm4
vpxor xmm11, xmm4, xmm1
vpaddd xmm1, xmm13, xmm12
vmovaps xmmword [rsp + 0x500], xmm11
vpslld xmm4, xmm1, 0xd
vpsrld xmm1, xmm1, 0x13
vmovaps xmmword [rsp + 0x440], xmm11
vpxor xmm1, xmm4, xmm1
vpxor xmm3, xmm1, xmm3
vpaddd xmm1, xmm11, xmm15
vmovaps xmmword [rsp + 0x420], xmm3
vpslld xmm4, xmm1, 0x12
vpsrld xmm1, xmm1, 0xe
vpxor xmm4, xmm4, xmm1
vpaddd xmm1, xmm3, xmm12
vpslld xmm11, xmm1, 0x12
vpsrld xmm1, xmm1, 0xe
vpxor xmm4, xmm4, xmm6
vpxor xmm11, xmm11, xmm1
vpaddd xmm1, xmm9, xmm14
vpslld xmm15, xmm1, 7
vpsrld xmm1, xmm1, 0x19
vpxor xmm11, xmm11, xmm2
vpxor xmm15, xmm15, xmm1
vpaddd xmm1, xmm8, xmm0
vpxor xmm15, xmm15, xmm7
vpslld xmm2, xmm1, 7
vpsrld xmm1, xmm1, 0x19
vpxor xmm2, xmm2, xmm1
vpaddd xmm1, xmm15, xmm9
vpxor xmm2, xmm2, xmmword [rsp + 0x4e0]
vmovaps xmmword [rsp + 0x4e0], xmm15
vpslld xmm7, xmm1, 9
vpsrld xmm1, xmm1, 0x17
vpxor xmm7, xmm7, xmm1
vpaddd xmm1, xmm2, xmm8
vpxor xmm7, xmm7, xmmword [rsp + 0x580]
vmovaps xmmword [rsp + 0x580], xmm2
vpslld xmm6, xmm1, 9
vpsrld xmm1, xmm1, 0x17
vpxor xmm6, xmm6, xmm1
vpaddd xmm5, xmm7, xmm15
vpxor xmm6, xmm6, xmmword [rsp + 0x560]
vmovaps xmmword [rsp + 0x560], xmm7
vpslld xmm1, xmm5, 0xd
vpsrld xmm5, xmm5, 0x13
vmovaps xmmword [rsp + 0x400], xmm6
vpxor xmm1, xmm1, xmm5
vpaddd xmm5, xmm6, xmm2
vpslld xmm12, xmm5, 0xd
vpsrld xmm5, xmm5, 0x13
vpxor xmm1, xmm1, xmm14
vmovaps xmmword [rsp + 0x3e0], xmm1
vpxor xmm5, xmm12, xmm5
vpxor xmm0, xmm5, xmm0
vpaddd xmm5, xmm1, xmm7
vpslld xmm12, xmm5, 0x12
vpsrld xmm5, xmm5, 0xe
vpxor xmm5, xmm12, xmm5
vpaddd xmm12, xmm0, xmm6
vpxor xmm9, xmm5, xmm9
vpslld xmm5, xmm12, 0x12
vpsrld xmm12, xmm12, 0xe
vpxor xmm12, xmm5, xmm12
vpxor xmm12, xmm12, xmm8
sub eax, 1
jne 0x14000c5a7
vmovdqa xmm7, xmmword [rsp + 0x2e0]
vmovdqa xmm13, xmm9
vpaddd xmm2, xmm4, xmmword [rsp + 0x360]
vmovdqa xmm9, xmm0
vmovdqa xmm4, xmmword [rsp + 0x220]
sub r9, 0x100
vpaddd xmm5, xmm4, xmmword [rsp + 0x440]
add r8, 0x100
vmovdqa xmm4, xmmword [rsp + 0x280]
vpaddd xmm3, xmm7, xmm10
vpaddd xmm0, xmm4, xmmword [rsp + 0x480]
add rdx, 0x100
vmovdqa xmm4, xmmword [rsp + 0x260]
vpunpckldq xmm1, xmm2, xmm3
vpunpckhdq xmm2, xmm2, xmm3
vpunpckldq xmm6, xmm0, xmm5
vpunpckhdq xmm0, xmm0, xmm5
vpunpcklqdq xmm7, xmm1, xmm6
vpxor xmm7, xmm7, xmmword [rdx - 0x100]
vpunpckhqdq xmm1, xmm1, xmm6
vpunpcklqdq xmm8, xmm2, xmm0
vpunpckhqdq xmm2, xmm2, xmm0
vmovups xmmword [r8 - 0x100], xmm7
vpxor xmm1, xmm1, xmmword [rdx - 0xc0]
vmovups xmmword [r8 - 0xc0], xmm1
vpxor xmm8, xmm8, xmmword [rdx - 0x80]
vmovups xmmword [r8 - 0x80], xmm8
vpxor xmm2, xmm2, xmmword [rdx - 0x40]
vmovups xmmword [r8 - 0x40], xmm2
vpaddd xmm2, xmm11, xmmword [rsp + 0x3c0]
vpaddd xmm11, xmm4, xmmword [rsp + 0x420]
vmovdqa xmm4, xmmword [rsp + 0x2c0]
vpaddd xmm1, xmm4, xmmword [rsp + 0x460]
vmovdqa xmm4, xmmword [rsp + 0x340]
vpunpckldq xmm0, xmm11, xmm2
vpaddd xmm3, xmm4, xmmword [rsp + 0x4a0]
vpunpckhdq xmm11, xmm11, xmm2
vpunpckldq xmm4, xmm3, xmm1
vpunpckhdq xmm1, xmm3, xmm1
vpunpcklqdq xmm5, xmm0, xmm4
vpxor xmm5, xmm5, xmmword [rdx - 0xf0]
vpunpckhqdq xmm0, xmm0, xmm4
vmovdqa xmm4, xmmword [rsp + 0x1e0]
vpunpcklqdq xmm6, xmm11, xmm1
vpunpckhqdq xmm11, xmm11, xmm1
vpaddd xmm1, xmm4, xmmword [rsp + 0x3e0]
vmovdqa xmm4, xmmword [rsp + 0x200]
vmovups xmmword [r8 - 0xf0], xmm5
vpxor xmm0, xmm0, xmmword [rdx - 0xb0]
vmovups xmmword [r8 - 0xb0], xmm0
vpxor xmm6, xmm6, xmmword [rdx - 0x70]
vmovups xmmword [r8 - 0x70], xmm6
vpxor xmm11, xmm11, xmmword [rdx - 0x30]
vmovups xmmword [r8 - 0x30], xmm11
vpaddd xmm10, xmm4, xmmword [rsp + 0x560]
vmovdqa xmm4, xmmword [rsp + 0x320]
vpaddd xmm9, xmm9, xmmword [rsp + 0x240]
vpaddd xmm8, xmm4, xmm15
vpunpckldq xmm0, xmm10, xmm1
vpunpckhdq xmm1, xmm10, xmm1
vmovdqa xmm4, xmmword [rsp + 0x3a0]
vpaddd xmm5, xmm4, xmm13
vmovdqa xmm4, xmmword [rsp + 0x2a0]
vpunpckldq xmm2, xmm5, xmm8
vpunpckhdq xmm5, xmm5, xmm8
vpunpcklqdq xmm3, xmm0, xmm2
vpunpckhqdq xmm0, xmm0, xmm2
vpunpcklqdq xmm2, xmm1, xmm5
vpunpckhqdq xmm5, xmm1, xmm5
vpxor xmm1, xmm3, xmmword [rdx - 0xe0]
vmovups xmmword [r8 - 0xe0], xmm1
vpxor xmm0, xmm0, xmmword [rdx - 0xa0]
vmovups xmmword [r8 - 0xa0], xmm0
vpxor xmm0, xmm2, xmmword [rdx - 0x60]
vpaddd xmm2, xmm4, xmmword [rsp + 0x400]
vmovdqa xmm4, xmmword [rsp + 0x300]
vmovups xmmword [r8 - 0x60], xmm0
vpxor xmm5, xmm5, xmmword [rdx - 0x20]
vpaddd xmm0, xmm4, xmmword [rsp + 0x580]
vmovdqa xmm4, xmmword [rsp + 0x380]
vpunpckldq xmm1, xmm0, xmm2
vmovups xmmword [r8 - 0x20], xmm5
vpunpckhdq xmm0, xmm0, xmm2
vpaddd xmm14, xmm4, xmm12
vpunpckldq xmm4, xmm9, xmm14
vpunpckhdq xmm5, xmm9, xmm14
vpunpcklqdq xmm3, xmm1, xmm4
vpxor xmm3, xmm3, xmmword [rdx - 0xd0]
vpunpckhqdq xmm1, xmm1, xmm4
vpunpcklqdq xmm2, xmm0, xmm5
vpunpckhqdq xmm0, xmm0, xmm5
vmovups xmmword [r8 - 0xd0], xmm3
vpxor xmm1, xmm1, xmmword [rdx - 0x90]
vmovups xmmword [r8 - 0x90], xmm1
vpxor xmm1, xmm2, xmmword [rdx - 0x50]
vmovups xmmword [r8 - 0x50], xmm1
vpxor xmm0, xmm0, xmmword [rdx - 0x10]
vmovups xmmword [r8 - 0x10], xmm0
cmp r9, 0x3f
jbe 0x14000cef3
mov rsi, r8
mov rbx, rdx
lea r12, [rdx + r9]
vmovdqa xmm6, xmmword [rdi]
vmovdqa xmm5, xmmword [rdi + 0x10]
mov eax, 5
vmovdqa xmm4, xmmword [rdi + 0x20]
vmovdqa xmm3, xmmword [rdi + 0x30]
vmovdqa xmm9, xmm6
vmovdqa xmm12, xmm5
vmovdqa xmm13, xmm4
vmovdqa xmm15, xmm3
vpaddd xmm0, xmm9, xmm12
vpslld xmm2, xmm0, 7
vpsrld xmm0, xmm0, 0x19
vpxor xmm2, xmm2, xmm0
vpxor xmm2, xmm2, xmm15
vpaddd xmm0, xmm2, xmm9
vpsrld xmm8, xmm0, 0x17
vpslld xmm11, xmm0, 9
vpshufd xmm0, xmm2, 0x93
vpxor xmm11, xmm11, xmm8
vpxor xmm11, xmm11, xmm13
vpaddd xmm1, xmm11, xmm2
vpshufd xmm7, xmm11, 0x4e
vpslld xmm2, xmm1, 0xd
vpsrld xmm1, xmm1, 0x13
vpxor xmm2, xmm12, xmm2
vpxor xmm2, xmm2, xmm1
vpaddd xmm11, xmm11, xmm2
vpshufd xmm2, xmm2, 0x39
vpslld xmm8, xmm11, 0x12
vpsrld xmm11, xmm11, 0xe
vpxor xmm9, xmm9, xmm8
vpxor xmm8, xmm9, xmm11
vpaddd xmm1, xmm0, xmm8
vpslld xmm9, xmm1, 7
vpsrld xmm1, xmm1, 0x19
vpxor xmm2, xmm2, xmm9
vpxor xmm2, xmm2, xmm1
vpaddd xmm1, xmm2, xmm8
vpslld xmm9, xmm1, 9
vpsrld xmm10, xmm1, 0x17
vpshufd xmm1, xmm2, 0x93
vpxor xmm9, xmm7, xmm9
vpxor xmm9, xmm9, xmm10
vpaddd xmm2, xmm9, xmm2
vpshufd xmm10, xmm9, 0x4e
vpslld xmm11, xmm2, 0xd
vpsrld xmm7, xmm2, 0x13
vpxor xmm2, xmm0, xmm11
vpxor xmm2, xmm2, xmm7
vpaddd xmm9, xmm9, xmm2
vpshufd xmm2, xmm2, 0x39
vpslld xmm0, xmm9, 0x12
vpsrld xmm9, xmm9, 0xe
vpxor xmm9, xmm0, xmm9
vpxor xmm9, xmm9, xmm8
vpaddd xmm0, xmm1, xmm9
vpslld xmm7, xmm0, 7
vpsrld xmm0, xmm0, 0x19
vpxor xmm2, xmm2, xmm7
vpxor xmm2, xmm2, xmm0
vpaddd xmm0, xmm2, xmm9
vpshufd xmm7, xmm2, 0x93
vpslld xmm8, xmm0, 9
vpsrld xmm0, xmm0, 0x17
vpxor xmm10, xmm10, xmm8
vpxor xmm10, xmm10, xmm0
vpaddd xmm2, xmm10, xmm2
vpshufd xmm8, xmm10, 0x4e
vpslld xmm0, xmm2, 0xd
vpsrld xmm2, xmm2, 0x13
vpxor xmm1, xmm1, xmm0
vpxor xmm0, xmm1, xmm2
vpaddd xmm10, xmm10, xmm0
vpshufd xmm0, xmm0, 0x39
vpslld xmm1, xmm10, 0x12
vpsrld xmm10, xmm10, 0xe
vpxor xmm10, xmm1, xmm10
vpxor xmm10, xmm10, xmm9
vpaddd xmm1, xmm7, xmm10
vpslld xmm2, xmm1, 7
vpsrld xmm1, xmm1, 0x19
vpxor xmm0, xmm0, xmm2
vpxor xmm0, xmm0, xmm1
vpaddd xmm1, xmm0, xmm10
vpshufd xmm11, xmm0, 0x93
vpslld xmm2, xmm1, 9
vpsrld xmm1, xmm1, 0x17
vmovdqa xmm12, xmm11
vpxor xmm8, xmm8, xmm2
vpxor xmm1, xmm8, xmm1
vpaddd xmm0, xmm1, xmm0
vpshufd xmm14, xmm1, 0x4e
vpslld xmm2, xmm0, 0xd
vpsrld xmm0, xmm0, 0x13
vmovdqa xmm13, xmm14
vpxor xmm7, xmm7, xmm2
vpxor xmm0, xmm7, xmm0
vpaddd xmm1, xmm1, xmm0
vpshufd xmm0, xmm0, 0x39
vpslld xmm9, xmm1, 0x12
vpsrld xmm1, xmm1, 0xe
vmovdqa xmm15, xmm0
vpxor xmm1, xmm9, xmm1
vpxor xmm9, xmm1, xmm10
sub eax, 1
jne 0x14000cc0a
vpaddd xmm9, xmm9, xmm6
vpaddd xmm5, xmm11, xmm5
vpaddd xmm4, xmm14, xmm4
vpaddd xmm0, xmm0, xmm3
vmovd r11d, xmm9
xor r11d, dword [rbx]
vmovd r10d, xmm5
vmovd ecx, xmm4
xor r10d, dword [rbx + 0x30]
xor ecx, dword [rbx + 0x20]
vmovd eax, xmm0
xor eax, dword [rbx + 0x10]
mov dword [rsi], r11d
vpextrd r11d, xmm9, 1
mov dword [rsi + 0x30], r10d
vpextrd r10d, xmm5, 1
mov dword [rsi + 0x20], ecx
vpextrd ecx, xmm4, 1
mov dword [rsi + 0x10], eax
vpextrd eax, xmm0, 1
xor r10d, dword [rbx + 4]
xor ecx, dword [rbx + 0x34]
xor eax, dword [rbx + 0x24]
xor r11d, dword [rbx + 0x14]
mov dword [rsi + 4], r10d
vpextrd r10d, xmm5, 2
mov dword [rsi + 0x14], r11d
vpextrd r11d, xmm9, 2
mov dword [rsi + 0x34], ecx
vpextrd ecx, xmm4, 2
mov dword [rsi + 0x24], eax
vpextrd eax, xmm0, 2
xor r10d, dword [rbx + 0x18]
xor ecx, dword [rbx + 8]
xor eax, dword [rbx + 0x38]
xor r11d, dword [rbx + 0x28]
mov dword [rsi + 0x18], r10d
vpextrd r10d, xmm0, 3
mov dword [rsi + 0x28], r11d
vpextrd r11d, xmm4, 3
mov dword [rsi + 8], ecx
vpextrd ecx, xmm5, 3
mov dword [rsi + 0x38], eax
vpextrd eax, xmm9, 3
xor ecx, dword [rbx + 0x2c]
xor r11d, dword [rbx + 0x1c]
xor r10d, dword [rbx + 0xc]
xor eax, dword [rbx + 0x3c]
mov dword [rsi + 0x2c], ecx
mov dword [rsi + 0x3c], eax
mov dword [rsi + 0x1c], r11d
mov dword [rsi + 0xc], r10d
mov eax, dword [rdi + 0x20]
add eax, 1
cmp eax, 1
mov dword [rdi + 0x20], eax
mov rax, r12
adc dword [rdi + 0x34], 0
add rbx, 0x40
add rsi, 0x40
sub rax, rbx
cmp rax, 0x3f
ja 0x14000cbe2
lea rax, [r9 - 0x40]
and r9d, 0x3f
and rax, 0xffffffffffffffc0
add rax, 0x40
add r8, rax
add rdx, rax
test r9, r9
je 0x14000d1d7
vmovdqa xmm5, xmmword [rdi]
vmovdqa xmm4, xmmword [rdi + 0x10]
mov eax, 5
vmovdqa xmm3, xmmword [rdi + 0x20]
vmovdqa xmm2, xmmword [rdi + 0x30]
vmovdqa xmm7, xmm5
vmovdqa xmm6, xmm4
vmovdqa xmm9, xmm3
vmovdqa xmm10, xmm2
vpaddd xmm1, xmm7, xmm6
vpslld xmm0, xmm1, 7
vpsrld xmm1, xmm1, 0x19
vpxor xmm0, xmm0, xmm1
vpxor xmm0, xmm0, xmm10
vpaddd xmm8, xmm0, xmm7
vpsrld xmm10, xmm8, 0x17
vpslld xmm1, xmm8, 9
vpshufd xmm8, xmm0, 0x93
vpxor xmm1, xmm1, xmm10
vpxor xmm1, xmm1, xmm9
vpaddd xmm9, xmm1, xmm0
vpshufd xmm10, xmm1, 0x4e
vpslld xmm0, xmm9, 0xd
vpsrld xmm9, xmm9, 0x13
vpxor xmm0, xmm6, xmm0
vpxor xmm0, xmm0, xmm9
vpaddd xmm1, xmm1, xmm0
vpshufd xmm0, xmm0, 0x39
vpslld xmm9, xmm1, 0x12
vpsrld xmm1, xmm1, 0xe
vpxor xmm7, xmm7, xmm9
vpxor xmm7, xmm7, xmm1
vpaddd xmm1, xmm8, xmm7
vpslld xmm6, xmm1, 7
vpsrld xmm1, xmm1, 0x19
vpxor xmm0, xmm0, xmm6
vpxor xmm0, xmm0, xmm1
vpaddd xmm1, xmm0, xmm7
vpslld xmm9, xmm1, 9
vpsrld xmm6, xmm1, 0x17
vpshufd xmm1, xmm0, 0x93
vpxor xmm9, xmm10, xmm9
vpxor xmm9, xmm9, xmm6
vpaddd xmm0, xmm9, xmm0
vpshufd xmm10, xmm9, 0x4e
vpslld xmm11, xmm0, 0xd
vpsrld xmm6, xmm0, 0x13
vpxor xmm0, xmm8, xmm11
vpxor xmm0, xmm0, xmm6
vpaddd xmm9, xmm9, xmm0
vpshufd xmm0, xmm0, 0x39
vpslld xmm6, xmm9, 0x12
vpsrld xmm9, xmm9, 0xe
vpxor xmm9, xmm6, xmm9
vpxor xmm9, xmm9, xmm7
vpaddd xmm6, xmm1, xmm9
vpslld xmm7, xmm6, 7
vpsrld xmm6, xmm6, 0x19
vpxor xmm0, xmm0, xmm7
vpxor xmm0, xmm0, xmm6
vpaddd xmm6, xmm0, xmm9
vpshufd xmm7, xmm0, 0x93
vpslld xmm8, xmm6, 9
vpsrld xmm6, xmm6, 0x17
vpxor xmm10, xmm10, xmm8
vpxor xmm10, xmm10, xmm6
vpaddd xmm0, xmm10, xmm0
vpshufd xmm8, xmm10, 0x4e
vpslld xmm11, xmm0, 0xd
vpsrld xmm6, xmm0, 0x13
vpxor xmm0, xmm1, xmm11
vpxor xmm0, xmm0, xmm6
vpaddd xmm10, xmm10, xmm0
vpshufd xmm0, xmm0, 0x39
vpslld xmm11, xmm10, 0x12
vpsrld xmm10, xmm10, 0xe
vpxor xmm10, xmm11, xmm10
vpxor xmm11, xmm10, xmm9
vpaddd xmm1, xmm7, xmm11
vpslld xmm6, xmm1, 7
vpsrld xmm1, xmm1, 0x19
vpxor xmm0, xmm0, xmm6
vpxor xmm0, xmm0, xmm1
vpaddd xmm1, xmm0, xmm11
vpshufd xmm12, xmm0, 0x93
vpslld xmm9, xmm1, 9
vpsrld xmm1, xmm1, 0x17
vmovdqa xmm6, xmm12
vpxor xmm8, xmm8, xmm9
vpxor xmm1, xmm8, xmm1
vpaddd xmm0, xmm1, xmm0
vpshufd xmm8, xmm1, 0x4e
vpslld xmm10, xmm0, 0xd
vpsrld xmm0, xmm0, 0x13
vmovdqa xmm9, xmm8
vpxor xmm7, xmm7, xmm10
vpxor xmm0, xmm7, xmm0
vpaddd xmm1, xmm1, xmm0
vpshufd xmm0, xmm0, 0x39
vpslld xmm7, xmm1, 0x12
vpsrld xmm1, xmm1, 0xe
vmovdqa xmm10, xmm0
vpxor xmm1, xmm7, xmm1
vpxor xmm7, xmm1, xmm11
sub eax, 1
jne 0x14000cf24
vpaddd xmm5, xmm7, xmm5
vpaddd xmm4, xmm12, xmm4
xor eax, eax
vpaddd xmm3, xmm8, xmm3
vpaddd xmm0, xmm0, xmm2
vmovd dword [rsp + 0x5a0], xmm5
vpextrd dword [rsp + 0x5b4], xmm5, 1
vmovd dword [rsp + 0x5d0], xmm4
lea r10, [rsp + 0x5a0]
vpextrd dword [rsp + 0x5a4], xmm4, 1
vpextrd dword [rsp + 0x5d4], xmm3, 1
vmovd dword [rsp + 0x5c0], xmm3
vpextrd dword [rsp + 0x5c4], xmm0, 1
vpextrd dword [rsp + 0x5c8], xmm5, 2
vpextrd dword [rsp + 0x5b8], xmm4, 2
vmovd dword [rsp + 0x5b0], xmm0
vpextrd dword [rsp + 0x5a8], xmm3, 2
vpextrd dword [rsp + 0x5d8], xmm0, 2
vpextrd dword [rsp + 0x5dc], xmm5, 3
vpextrd dword [rsp + 0x5cc], xmm4, 3
vpextrd dword [rsp + 0x5bc], xmm3, 3
vpextrd dword [rsp + 0x5ac], xmm0, 3
movzx ecx, byte [rdx + rax]
xor cl, byte [r10 + rax]
mov byte [r8 + rax], cl
add rax, 1
cmp r9, rax
jne 0x14000d1b5
mov edx, 0x40
mov rcx, r10
call sym.sodium_memzero
vmovaps xmm6, xmmword [rsp + 0x5e0]
vmovaps xmm7, xmmword [rsp + 0x5f0]
vmovaps xmm8, xmmword [rsp + 0x600]
vmovaps xmm9, xmmword [rsp + 0x610]
vmovaps xmm10, xmmword [rsp + 0x620]
vmovaps xmm11, xmmword [rsp + 0x630]
vmovaps xmm12, xmmword [rsp + 0x640]
vmovaps xmm13, xmmword [rsp + 0x650]
vmovaps xmm14, xmmword [rsp + 0x660]
vmovaps xmm15, xmmword [rsp + 0x670]
lea rsp, [rbp - 0x20]
pop rbx
pop rsi
pop rdi
pop r12
pop rbp
ret