Function at 0x14016f410
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
sub rsp, 0x328
vmovups xmmword [rsp + 0x280], xmm6
vmovups xmmword [rsp + 0x290], xmm7
vmovups xmmword [rsp + 0x2a0], xmm8
vmovups xmmword [rsp + 0x2b0], xmm9
vmovups xmmword [rsp + 0x2c0], xmm10
vmovups xmmword [rsp + 0x2d0], xmm11
vmovups xmmword [rsp + 0x2e0], xmm12
vmovups xmmword [rsp + 0x2f0], xmm13
vmovups xmmword [rsp + 0x300], xmm14
vmovups xmmword [rsp + 0x310], xmm15
mov r8d, 0x20
mov rsi, rdx
mov edx, dword [rcx + 0x2320]
mov rbx, rcx
movabs rcx, 0x100000001
vmovq xmm0, rcx
mov rax, rdx
vpbroadcastq ymm0, xmm0
add eax, 1
vmovdqu ymmword [rbx + rdx], ymm0
sub r8d, eax
test r8d, r8d
jle 0x14016fdb0
shl rax, 5
shl r8, 5
xor edx, edx
lea rcx, [rbx + rax]
vzeroupper
call sym.memset
mov rdx, rbx
mov rcx, rbx
call sym.panama_8way_push.constprop.0
vmovdqu ymm2, ymmword [rbx + 0x2100]
vmovdqu xmm0, xmmword [0x1402f50e0]
movabs rax, 0x100000001
vmovdqu ymm15, ymmword [rbx + 0x2180]
vmovdqu ymm11, ymmword [rbx + 0x22e0]
mov r9d, 0x20
vmovdqu ymmword [rsp + 0x20], ymm2
vmovdqu ymm2, ymmword [rbx + 0x2120]
vpermq ymm5, ymm0, 0x44
vmovdqu xmm0, xmmword [0x1402f50f0]
vmovdqu ymm10, ymmword [rbx + 0x2140]
vmovdqu ymm14, ymmword [rbx + 0x21a0]
vmovdqu ymmword [rsp + 0x220], ymm5
vmovdqu ymmword [rsp + 0x40], ymm2
vmovdqu ymm2, ymmword [rbx + 0x2160]
vpermq ymm7, ymm0, 0x44
vmovdqu ymm13, ymmword [rbx + 0x21c0]
vmovdqu ymmword [rsp + 0x240], ymm7
vmovq xmm7, rax
mov r8d, dword [rbx + 0x2324]
vmovdqu ymmword [rsp + 0x60], ymm2
vmovdqu ymm2, ymmword [rbx + 0x21e0]
vpbroadcastq ymm5, xmm7
vpcmpeqq ymm12, ymm12, ymm12
vmovdqu ymmword [rsp + 0x80], ymm2
vmovdqu ymm2, ymmword [rbx + 0x2200]
vmovdqu ymm8, ymm2
vmovdqu ymm2, ymmword [rbx + 0x2220]
vmovdqu ymmword [rsp + 0xa0], ymm2
vmovdqu ymm2, ymmword [rbx + 0x2240]
vmovdqu ymmword [rsp + 0xc0], ymm2
vmovdqu ymm2, ymmword [rbx + 0x2260]
vmovdqu ymmword [rsp + 0xe0], ymm2
vmovdqu ymm2, ymmword [rbx + 0x2280]
vmovdqu ymmword [rsp + 0x100], ymm2
vmovdqu ymm2, ymmword [rbx + 0x22a0]
vmovdqu ymmword [rsp + 0x120], ymm2
vmovdqu ymm2, ymmword [rbx + 0x22c0]
vmovdqu ymmword [rsp + 0x140], ymm2
vmovdqu ymm2, ymmword [rbx + 0x2300]
vmovdqu ymmword [rsp + 0x260], ymm5
vmovdqu ymmword [rsp + 0x180], ymm15
vmovdqu ymm15, ymm11
vmovdqu ymm11, ymm14
vmovdqu ymmword [rsp + 0x160], ymm10
nop word [rax + rax]
lea r10d, [r8 + 4]
lea eax, [r8 - 8]
vmovdqu ymm6, ymm8
mov ecx, r8d
lea r8d, [r8 - 1]
and eax, 0x1f
vmovdqu ymm3, ymmword [rsp + 0x60]
vmovdqu ymm4, ymmword [rsp + 0x180]
and r8d, 0x1f
shl rax, 8
vmovdqu ymm7, ymmword [rsp + 0x40]
vmovdqu ymm5, ymmword [rsp + 0x80]
mov edx, r8d
add rax, rbx
shl rdx, 8
add rdx, rbx
vmovdqu ymm0, ymmword [rdx + 0x140]
vpxor ymm1, ymm0, ymmword [rax + 0x100]
vpxor ymm0, ymm0, ymm3
vmovdqu ymmword [rax + 0x100], ymm1
vmovdqu ymmword [rdx + 0x140], ymm0
vmovdqu ymm0, ymmword [rdx + 0x160]
vpxor ymm1, ymm0, ymmword [rax + 0x120]
vpxor ymm0, ymm0, ymm4
vmovdqu ymmword [rax + 0x120], ymm1
vmovdqu ymmword [rdx + 0x160], ymm0
vmovdqu ymm0, ymmword [rdx + 0x180]
vpxor ymm1, ymm0, ymmword [rax + 0x140]
vpxor ymm0, ymm0, ymm11
vmovdqu ymmword [rax + 0x140], ymm1
vmovdqu ymmword [rdx + 0x180], ymm0
vmovdqu ymm0, ymmword [rdx + 0x1a0]
vpxor ymm1, ymm0, ymmword [rax + 0x160]
vpxor ymm0, ymm0, ymm13
vmovdqu ymmword [rax + 0x160], ymm1
vmovdqu ymmword [rdx + 0x1a0], ymm0
vmovdqu ymm0, ymmword [rdx + 0x1c0]
vpxor ymm1, ymm0, ymmword [rax + 0x180]
vpxor ymm0, ymm0, ymm5
vmovdqu ymmword [rax + 0x180], ymm1
vmovdqu ymmword [rdx + 0x1c0], ymm0
vmovdqu ymm0, ymmword [rdx + 0x1e0]
vpxor ymm1, ymm0, ymmword [rax + 0x1a0]
vpxor ymm0, ymm0, ymm8
vmovdqu ymmword [rax + 0x1a0], ymm1
vmovdqu ymmword [rdx + 0x1e0], ymm0
vmovdqu ymm0, ymmword [rdx + 0x100]
vpxor ymm1, ymm0, ymmword [rax + 0x1c0]
vpxor ymm0, ymm0, ymm7
vmovdqu ymmword [rax + 0x1c0], ymm1
vmovdqu ymmword [rdx + 0x100], ymm0
vmovdqu ymm0, ymmword [rdx + 0x120]
vmovdqu ymm8, ymmword [rsp + 0x160]
vpxor ymm1, ymm0, ymmword [rax + 0x1e0]
vpxor ymm0, ymm0, ymm8
vmovdqu ymmword [rax + 0x1e0], ymm1
mov eax, r10d
vmovdqu ymmword [rdx + 0x120], ymm0
vpxor ymm0, ymm12, ymm8
and eax, 0x1f
vpor ymm0, ymm0, ymm7
vpxor ymm1, ymm0, ymmword [rsp + 0x20]
add rax, 1
vpxor ymm0, ymm12, ymmword [rsp + 0xa0]
shl rax, 8
vmovdqu ymmword [rsp + 0x200], ymm1
add rax, rbx
vpor ymm0, ymm0, ymm6
vpxor ymm0, ymm0, ymm5
vpsrld ymm1, ymm0, 0x1f
vpslld ymm0, ymm0, 1
vpor ymm10, ymm0, ymm1
vpxor ymm0, ymm12, ymm2
vmovdqu ymmword [rsp + 0x1a0], ymm10
vpor ymm0, ymm0, ymm15
vpxor ymm0, ymm0, ymmword [rsp + 0x140]
vpxor ymm10, ymm12, ymm3
vpor ymm10, ymm10, ymm8
vpxor ymm8, ymm12, ymmword [rsp + 0x20]
vpsrld ymm1, ymm0, 0x1d
vpslld ymm0, ymm0, 3
vpxor ymm10, ymm10, ymm7
vpor ymm9, ymm0, ymm1
vpxor ymm0, ymm12, ymm13
vpor ymm8, ymm8, ymm2
vpor ymm0, ymm0, ymm11
vpxor ymm7, ymm12, ymm5
vpxor ymm8, ymm8, ymm15
vmovdqu ymmword [rsp + 0x1c0], ymm9
vpxor ymm0, ymm0, ymm4
vpor ymm7, ymm7, ymm13
vpxor ymm5, ymm12, ymm4
vpsrld ymm1, ymm0, 0x1a
vpslld ymm0, ymm0, 6
vpxor ymm7, ymm7, ymm11
vpor ymm14, ymm0, ymm1
vmovdqu ymm1, ymm6
vpxor ymm9, ymm12, ymmword [rsp + 0xc0]
vmovdqu ymmword [rsp + 0x1e0], ymm14
vpor ymm5, ymm5, ymm3
vpxor ymm14, ymm12, ymmword [rsp + 0x120]
vpor ymm14, ymm14, ymmword [rsp + 0x100]
vpxor ymm14, ymm14, ymmword [rsp + 0xe0]
vpxor ymm3, ymm12, ymmword [rsp + 0x40]
vpxor ymm1, ymm12, ymm1
vpor ymm9, ymm9, ymmword [rsp + 0xa0]
vpor ymm3, ymm3, ymmword [rsp + 0x20]
vpxor ymm5, ymm5, ymmword [rsp + 0x160]
vpsrld ymm0, ymm14, 0x16
vpxor ymm4, ymm12, ymmword [rsp + 0xe0]
vpslld ymm14, ymm14, 0xa
vpxor ymm9, ymm9, ymm6
vpxor ymm6, ymm12, ymmword [rsp + 0x140]
vpor ymm14, ymm14, ymm0
vpsrld ymm0, ymm10, 0x11
vpor ymm6, ymm6, ymmword [rsp + 0x120]
vpslld ymm10, ymm10, 0xf
vpxor ymm3, ymm3, ymm2
vpxor ymm6, ymm6, ymmword [rsp + 0x100]
vpor ymm4, ymm4, ymmword [rsp + 0xc0]
vpor ymm10, ymm10, ymm0
vpxor ymm4, ymm4, ymmword [rsp + 0xa0]
vpor ymm1, ymm1, ymmword [rsp + 0x80]
vpsrld ymm0, ymm9, 0xb
vpslld ymm9, ymm9, 0x15
vpor ymm9, ymm9, ymm0
vpsrld ymm0, ymm8, 4
vpxor ymm1, ymm1, ymm13
vpslld ymm8, ymm8, 0x1c
vpor ymm8, ymm8, ymm0
vpsrld ymm0, ymm7, 0x1c
vpslld ymm7, ymm7, 4
vpor ymm7, ymm7, ymm0
vpsrld ymm0, ymm6, 0x13
vpslld ymm6, ymm6, 0xd
vpor ymm6, ymm6, ymm0
vpsrld ymm0, ymm5, 9
vpslld ymm5, ymm5, 0x17
vpor ymm5, ymm5, ymm0
vpsrld ymm0, ymm4, 0x1e
vpslld ymm4, ymm4, 2
vpor ymm4, ymm4, ymm0
vpsrld ymm0, ymm3, 0x12
vpslld ymm3, ymm3, 0xe
vpor ymm3, ymm3, ymm0
vpsrld ymm0, ymm1, 5
vpslld ymm1, ymm1, 0x1b
vpor ymm1, ymm1, ymm0
vpxor ymm0, ymm12, ymm15
vpxor ymm15, ymm12, ymm11
vpor ymm15, ymm15, ymmword [rsp + 0x180]
vpxor ymm15, ymm15, ymmword [rsp + 0x60]
vpor ymm0, ymm0, ymmword [rsp + 0x140]
vpxor ymm0, ymm0, ymmword [rsp + 0x120]
vpshufb ymm15, ymm15, ymmword [rsp + 0x220]
vmovdqu ymm11, ymmword [rsp + 0x200]
vpxor ymm13, ymm11, ymmword [rsp + 0x260]
vpxor ymm11, ymm14, ymmword [rsp + 0x1a0]
vpsrld ymm2, ymm0, 0x17
vpslld ymm0, ymm0, 9
vpxor ymm13, ymm13, ymm11
vpor ymm0, ymm0, ymm2
vmovdqu ymm11, ymmword [rsp + 0x1a0]
vpxor ymm11, ymm11, ymmword [rsp + 0x1c0]
vpxor ymm2, ymm12, ymmword [rsp + 0x100]
vmovdqu ymmword [rsp + 0x20], ymm13
vpxor ymm13, ymm10, ymmword [rax]
vpor ymm2, ymm2, ymmword [rsp + 0xe0]
vpxor ymm2, ymm2, ymmword [rsp + 0xc0]
vpxor ymm13, ymm13, ymm11
vmovdqu ymm11, ymmword [rsp + 0x1c0]
vpxor ymm11, ymm11, ymmword [rsp + 0x1e0]
vpshufb ymm2, ymm2, ymmword [rsp + 0x240]
vmovdqu ymmword [rsp + 0x40], ymm13
vpxor ymm13, ymm9, ymmword [rax + 0x20]
vpxor ymm13, ymm13, ymm11
vpxor ymm11, ymm14, ymmword [rsp + 0x1e0]
vpxor ymm14, ymm14, ymm10
vmovdqu ymmword [rsp + 0x160], ymm13
vpxor ymm13, ymm8, ymmword [rax + 0x40]
vpxor ymm10, ymm10, ymm9
vpxor ymm9, ymm9, ymm8
vpxor ymm8, ymm8, ymm7
vpxor ymm13, ymm13, ymm11
vpxor ymm11, ymm7, ymmword [rax + 0x60]
vpxor ymm7, ymm7, ymm6
vmovdqu ymmword [rsp + 0x60], ymm13
vpxor ymm13, ymm11, ymm14
vpxor ymm11, ymm6, ymmword [rax + 0x80]
vpxor ymm6, ymm6, ymm5
vmovdqu ymmword [rsp + 0x180], ymm13
vpxor ymm13, ymm5, ymmword [rax + 0xa0]
vpxor ymm5, ymm5, ymm4
vpxor ymm11, ymm11, ymm10
vpxor ymm13, ymm13, ymm9
vpxor ymm9, ymm4, ymmword [rax + 0xc0]
vpxor ymm4, ymm4, ymm3
vpxor ymm8, ymm9, ymm8
vmovdqu ymmword [rsp + 0x80], ymm8
vpxor ymm8, ymm3, ymmword [rax + 0xe0]
mov eax, ecx
vpxor ymm3, ymm3, ymm1
xor eax, 0x10
mov rdx, rax
vpxor ymm7, ymm8, ymm7
shl rdx, 8
vmovdqu ymm8, ymm7
vpxor ymm7, ymm1, ymmword [rdx + rbx + 0x100]
mov rax, rdx
vpxor ymm1, ymm1, ymm0
add rax, rbx
vpxor ymm7, ymm7, ymm6
vpxor ymm6, ymm0, ymmword [rax + 0x120]
vmovdqu ymmword [rsp + 0xa0], ymm7
vpxor ymm5, ymm6, ymm5
vmovdqu ymmword [rsp + 0xc0], ymm5
vpxor ymm5, ymm15, ymmword [rax + 0x140]
vpxor ymm4, ymm5, ymm4
vmovdqu ymmword [rsp + 0xe0], ymm4
vpxor ymm4, ymm2, ymmword [rax + 0x160]
vmovdqu ymm6, ymmword [rsp + 0x200]
vpxor ymm0, ymm0, ymmword [rsp + 0x1a0]
vmovdqu ymm9, ymmword [rsp + 0x1c0]
vpxor ymm3, ymm4, ymm3
vmovdqu ymmword [rsp + 0x100], ymm3
vpxor ymm3, ymm6, ymmword [rax + 0x180]
vpxor ymm3, ymm3, ymm1
vpxor ymm1, ymm15, ymmword [rax + 0x1a0]
vpxor ymm15, ymm2, ymm15
vmovdqu ymmword [rsp + 0x120], ymm3
vpxor ymm3, ymm1, ymm0
vpxor ymm0, ymm9, ymmword [rax + 0x1c0]
vpxor ymm1, ymm2, ymmword [rsp + 0x1e0]
vmovdqu ymmword [rsp + 0x140], ymm3
vpxor ymm15, ymm0, ymm15
vpxor ymm0, ymm6, ymmword [rax + 0x1e0]
vpxor ymm2, ymm0, ymm1
sub r9d, 1
jne 0x14016f630
vmovdqu ymm5, ymmword [rsp + 0x20]
vmovdqu ymm7, ymmword [rsp + 0x40]
vmovdqu ymm14, ymm11
vmovdqu ymm11, ymm15
vmovdqu ymm10, ymmword [rsp + 0x160]
vmovdqu ymmword [rbx + 0x21a0], ymm14
vmovdqu ymm15, ymmword [rsp + 0x180]
vmovdqu ymmword [rbx + 0x2100], ymm5
vmovdqu ymm5, ymmword [rsp + 0x60]
vmovdqu ymm4, ymmword [rsp + 0xa0]
vmovdqu ymmword [rbx + 0x2120], ymm7
vmovdqu ymm7, ymmword [rsp + 0x80]
vmovdqu ymmword [rbx + 0x2160], ymm5
vmovdqu ymm5, ymmword [rsp + 0xc0]
vmovdqu ymmword [rbx + 0x21e0], ymm7
vmovdqu ymm7, ymmword [rsp + 0xe0]
vmovdqu ymmword [rbx + 0x2240], ymm5
vmovdqu ymm5, ymmword [rsp + 0x100]
vmovdqu ymmword [rbx + 0x2260], ymm7
vmovdqu ymm7, ymmword [rsp + 0x120]
vmovdqu ymmword [rbx + 0x2140], ymm10
vmovdqu ymmword [rbx + 0x2180], ymm15
vmovdqu ymmword [rbx + 0x21c0], ymm13
vmovdqu ymmword [rbx + 0x2200], ymm8
vmovdqu ymmword [rbx + 0x22a0], ymm7
vmovdqu ymmword [rbx + 0x22e0], ymm11
vmovdqu ymmword [rbx + 0x2220], ymm4
vmovdqu ymmword [rbx + 0x2280], ymm5
vmovdqu ymmword [rbx + 0x22c0], ymm3
vmovdqu ymmword [rbx + 0x2300], ymm2
vmovdqu ymmword [rsi], ymm4
vmovdqu ymm2, ymmword [rbx + 0x2240]
vmovdqu ymmword [rsi + 0x20], ymm2
vmovdqu ymm2, ymmword [rbx + 0x2260]
vmovdqu ymmword [rsi + 0x40], ymm2
vmovdqu ymm2, ymmword [rbx + 0x2280]
vmovdqu ymmword [rsi + 0x60], ymm2
vmovdqu ymm2, ymmword [rbx + 0x22a0]
vmovdqu ymmword [rsi + 0x80], ymm2
vmovdqu ymm2, ymmword [rbx + 0x22c0]
vmovdqu ymmword [rsi + 0xa0], ymm2
vmovdqu ymm2, ymmword [rbx + 0x22e0]
vmovdqu ymmword [rsi + 0xc0], ymm2
vmovdqu ymm0, ymmword [rbx + 0x2300]
vmovdqu ymmword [rsi + 0xe0], ymm0
vzeroupper
vmovups xmm6, xmmword [rsp + 0x280]
vmovups xmm7, xmmword [rsp + 0x290]
vmovups xmm8, xmmword [rsp + 0x2a0]
vmovups xmm9, xmmword [rsp + 0x2b0]
vmovups xmm10, xmmword [rsp + 0x2c0]
vmovups xmm11, xmmword [rsp + 0x2d0]
vmovups xmm12, xmmword [rsp + 0x2e0]
vmovups xmm13, xmmword [rsp + 0x2f0]
vmovups xmm14, xmmword [rsp + 0x300]
vmovups xmm15, xmmword [rsp + 0x310]
add rsp, 0x328
pop rbx
pop rsi
ret
vzeroupper
jmp 0x14016f4c6