Function at 0x529750
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x2e0
vmovups xmmword [rsp + 0x240], xmm6
vmovups xmmword [rsp + 0x250], xmm7
vmovups xmmword [rsp + 0x260], xmm8
vmovups xmmword [rsp + 0x270], xmm9
vmovups xmmword [rsp + 0x280], xmm10
vmovups xmmword [rsp + 0x290], xmm11
vmovups xmmword [rsp + 0x2a0], xmm12
vmovups xmmword [rsp + 0x2b0], xmm13
vmovups xmmword [rsp + 0x2c0], xmm14
vmovups xmmword [rsp + 0x2d0], xmm15
vmovdqu ymm2, ymmword [rcx + 0x2100]
vmovdqu ymm7, ymmword [rcx + 0x2140]
vmovdqu ymm15, ymmword [rcx + 0x2220]
vmovdqu ymm0, ymmword [rcx + 0x2300]
mov r11d, dword [rcx + 0x2324]
mov r9, rcx
lea rbx, [r8 - 1]
vmovdqu ymmword [rsp], ymm2
vmovdqu ymm2, ymmword [rcx + 0x2120]
vmovdqu ymmword [rsp + 0x200], ymm7
vmovdqu ymm7, ymmword [rcx + 0x2180]
vmovdqu ymmword [rsp + 0x1e0], ymm2
vmovdqu ymm2, ymmword [rcx + 0x2160]
vmovdqu ymmword [rsp + 0x40], ymm7
vmovdqu ymm7, ymmword [rcx + 0x21c0]
vmovdqu ymmword [rsp + 0x20], ymm2
vmovdqu ymm2, ymmword [rcx + 0x21a0]
vmovdqu ymmword [rsp + 0x80], ymm7
vmovdqu ymm7, ymmword [rcx + 0x2200]
vmovdqu ymmword [rsp + 0x60], ymm2
vmovdqu ymm2, ymmword [rcx + 0x21e0]
vmovdqu ymmword [rsp + 0xc0], ymm7
vmovdqu ymm7, ymmword [rcx + 0x2260]
vmovdqu ymmword [rsp + 0xa0], ymm2
vmovdqu ymm2, ymmword [rcx + 0x2240]
vmovdqu ymmword [rsp + 0x100], ymm7
vmovdqu ymm7, ymmword [rcx + 0x22a0]
vmovdqu ymmword [rsp + 0xe0], ymm2
vmovdqu ymm2, ymmword [rcx + 0x2280]
vmovdqu ymmword [rsp + 0x140], ymm7
vmovdqu ymmword [rsp + 0x120], ymm2
vmovdqu ymm2, ymmword [rcx + 0x22c0]
vmovdqu ymmword [rsp + 0x160], ymm2
vmovdqu ymm2, ymmword [rcx + 0x22e0]
test r8, r8
je 0x529e9b
mov eax, 1
vmovq xmm1, rax
vpbroadcastd ymm7, xmm1
vmovdqu ymmword [rsp + 0x220], ymm7
vpcmpeqq ymm14, ymm14, ymm14
nop
lea r10d, [r11 - 8]
mov r8d, r11d
lea r11d, [r11 - 1]
add rdx, 0x100
and r11d, 0x1f
and r10d, 0x1f
mov eax, r11d
shl r10, 8
shl rax, 8
lea rcx, [r9 + r10]
add rax, r9
vmovdqu ymm1, ymmword [rax + 0x140]
vpxor ymm3, ymm1, ymmword [r9 + r10 + 0x100]
vmovdqu ymmword [rcx + 0x100], ymm3
vpxor ymm1, ymm1, ymmword [rdx - 0xc0]
vmovdqu ymmword [rax + 0x140], ymm1
vmovdqu ymm1, ymmword [rax + 0x160]
vpxor ymm3, ymm1, ymmword [rcx + 0x120]
vmovdqu ymmword [rcx + 0x120], ymm3
vpxor ymm1, ymm1, ymmword [rdx - 0xa0]
vmovdqu ymmword [rax + 0x160], ymm1
vmovdqu ymm1, ymmword [rax + 0x180]
vpxor ymm3, ymm1, ymmword [rcx + 0x140]
vmovdqu ymmword [rcx + 0x140], ymm3
vpxor ymm1, ymm1, ymmword [rdx - 0x80]
vmovdqu ymmword [rax + 0x180], ymm1
vmovdqu ymm1, ymmword [rax + 0x1a0]
vpxor ymm3, ymm1, ymmword [rcx + 0x160]
vmovdqu ymmword [rcx + 0x160], ymm3
vpxor ymm1, ymm1, ymmword [rdx - 0x60]
vmovdqu ymmword [rax + 0x1a0], ymm1
vmovdqu ymm1, ymmword [rax + 0x1c0]
vpxor ymm3, ymm1, ymmword [rcx + 0x180]
vmovdqu ymmword [rcx + 0x180], ymm3
vpxor ymm1, ymm1, ymmword [rdx - 0x40]
vmovdqu ymmword [rax + 0x1c0], ymm1
vmovdqu ymm1, ymmword [rax + 0x1e0]
vpxor ymm3, ymm1, ymmword [rcx + 0x1a0]
vmovdqu ymmword [rcx + 0x1a0], ymm3
vpxor ymm1, ymm1, ymmword [rdx - 0x20]
vmovdqu ymmword [rax + 0x1e0], ymm1
vmovdqu ymm1, ymmword [rax + 0x100]
vpxor ymm3, ymm1, ymmword [rcx + 0x1c0]
vmovdqu ymmword [rcx + 0x1c0], ymm3
vpxor ymm1, ymm1, ymmword [rdx - 0x100]
vmovdqu ymm4, ymmword [rsp + 0x200]
vmovdqu ymm5, ymmword [rsp + 0x1e0]
vmovdqu ymm6, ymmword [rsp]
vmovdqu ymm8, ymmword [rsp + 0xc0]
vpxor ymm10, ymm14, ymmword [rsp + 0xe0]
vpxor ymm11, ymm14, ymmword [rsp + 0x20]
vpxor ymm13, ymm14, ymmword [rsp + 0x80]
vpxor ymm12, ymm14, ymmword [rsp + 0x140]
vpor ymm13, ymm13, ymmword [rsp + 0x60]
vpor ymm12, ymm12, ymmword [rsp + 0x120]
vpxor ymm13, ymm13, ymmword [rsp + 0x40]
vpxor ymm12, ymm12, ymmword [rsp + 0x100]
vmovdqu ymmword [rax + 0x100], ymm1
vmovdqu ymm1, ymmword [rax + 0x120]
vpxor ymm3, ymm1, ymmword [rcx + 0x1e0]
vpor ymm10, ymm10, ymm15
vpor ymm11, ymm11, ymm4
vpxor ymm10, ymm10, ymm8
vpxor ymm11, ymm11, ymm5
vmovdqu ymmword [rcx + 0x1e0], ymm3
vpxor ymm1, ymm1, ymmword [rdx - 0xe0]
vmovdqu ymmword [rax + 0x120], ymm1
vpxor ymm1, ymm14, ymm4
mov eax, r8d
vpor ymm1, ymm1, ymm5
xor eax, 0x10
vpxor ymm7, ymm1, ymm6
vpxor ymm1, ymm14, ymm15
mov rcx, rax
vmovdqu ymmword [rsp + 0x1c0], ymm7
vmovdqu ymm7, ymmword [rsp + 0xa0]
vpor ymm1, ymm1, ymm8
shl rcx, 8
vpxor ymm1, ymm1, ymm7
vpxor ymm8, ymm14, ymm7
vpxor ymm7, ymm14, ymmword [rsp + 0x160]
vpor ymm8, ymm8, ymmword [rsp + 0x80]
vpsrld ymm3, ymm1, 0x1f
vpslld ymm1, ymm1, 1
vpor ymm3, ymm1, ymm3
vpxor ymm1, ymm14, ymm0
vpor ymm1, ymm1, ymm2
vpxor ymm1, ymm1, ymmword [rsp + 0x160]
vmovdqu ymmword [rsp + 0x1a0], ymm3
vpor ymm7, ymm7, ymmword [rsp + 0x140]
vpxor ymm8, ymm8, ymmword [rsp + 0x60]
vpxor ymm7, ymm7, ymmword [rsp + 0x120]
vpsrld ymm3, ymm1, 0x1d
vpslld ymm1, ymm1, 3
vpor ymm9, ymm1, ymm3
vmovdqu ymm3, ymm5
vmovdqu ymmword [rsp + 0x180], ymm9
vpxor ymm5, ymm14, ymmword [rsp + 0x100]
vpxor ymm9, ymm14, ymm6
vpxor ymm6, ymm14, ymmword [rsp + 0x40]
vpor ymm6, ymm6, ymmword [rsp + 0x20]
vpor ymm9, ymm9, ymm0
vpsrld ymm1, ymm13, 0x1a
vpslld ymm13, ymm13, 6
vpor ymm5, ymm5, ymmword [rsp + 0xe0]
vpxor ymm9, ymm9, ymm2
vpor ymm13, ymm13, ymm1
vpsrld ymm1, ymm12, 0x16
vpslld ymm12, ymm12, 0xa
vpor ymm12, ymm12, ymm1
vpsrld ymm1, ymm11, 0x11
vpslld ymm11, ymm11, 0xf
vpor ymm11, ymm11, ymm1
vpsrld ymm1, ymm10, 0xb
vpslld ymm10, ymm10, 0x15
vpor ymm10, ymm10, ymm1
vpsrld ymm1, ymm9, 4
vpslld ymm9, ymm9, 0x1c
vpor ymm9, ymm9, ymm1
vpsrld ymm1, ymm8, 0x1c
vpslld ymm8, ymm8, 4
vpor ymm8, ymm8, ymm1
vpsrld ymm1, ymm7, 0x13
vpslld ymm7, ymm7, 0xd
vpor ymm7, ymm7, ymm1
vpxor ymm2, ymm14, ymm2
vpor ymm2, ymm2, ymmword [rsp + 0x160]
vpxor ymm6, ymm6, ymm4
vpxor ymm15, ymm5, ymm15
vpsrld ymm1, ymm6, 9
vpslld ymm6, ymm6, 0x17
vpor ymm6, ymm6, ymm1
vpsrld ymm1, ymm15, 0x1e
vpslld ymm15, ymm15, 2
vpor ymm5, ymm15, ymm1
vpxor ymm15, ymm14, ymm3
vpor ymm15, ymm15, ymmword [rsp]
vpxor ymm0, ymm15, ymm0
vpxor ymm15, ymm14, ymmword [rsp + 0x60]
vpsrld ymm3, ymm0, 0x12
vpslld ymm0, ymm0, 0xe
vpor ymm4, ymm0, ymm3
vpxor ymm3, ymm14, ymmword [rsp + 0xc0]
vpor ymm3, ymm3, ymmword [rsp + 0xa0]
vpor ymm15, ymm15, ymmword [rsp + 0x40]
vpxor ymm3, ymm3, ymmword [rsp + 0x80]
vpxor ymm15, ymm15, ymmword [rsp + 0x20]
vpsrld ymm0, ymm3, 5
vpslld ymm3, ymm3, 0x1b
vpor ymm3, ymm3, ymm0
vpxor ymm0, ymm2, ymmword [rsp + 0x140]
vpsrld ymm1, ymm15, 8
vpslld ymm15, ymm15, 0x18
vpsrld ymm2, ymm0, 0x17
vpslld ymm0, ymm0, 9
vpor ymm2, ymm0, ymm2
vpor ymm0, ymm15, ymm1
vpxor ymm1, ymm14, ymmword [rsp + 0x120]
vpor ymm1, ymm1, ymmword [rsp + 0x100]
vpxor ymm1, ymm1, ymmword [rsp + 0xe0]
vpsrld ymm15, ymm1, 0x18
vpslld ymm1, ymm1, 8
vpor ymm1, ymm1, ymm15
vpxor ymm15, ymm12, ymmword [rsp + 0x1a0]
vpxor ymm15, ymm15, ymmword [rsp + 0x220]
vpxor ymm15, ymm15, ymmword [rsp + 0x1c0]
vmovdqu ymmword [rsp], ymm15
vmovdqu ymm15, ymmword [rsp + 0x1a0]
vpxor ymm15, ymm15, ymmword [rsp + 0x180]
vpxor ymm15, ymm15, ymm11
vpxor ymm15, ymm15, ymmword [rdx - 0x100]
vmovdqu ymmword [rsp + 0x1e0], ymm15
vpxor ymm15, ymm13, ymmword [rsp + 0x180]
vpxor ymm15, ymm15, ymm10
vpxor ymm15, ymm15, ymmword [rdx - 0xe0]
vmovdqu ymmword [rsp + 0x200], ymm15
vpxor ymm15, ymm12, ymm13
vpxor ymm12, ymm11, ymm12
vpxor ymm11, ymm10, ymm11
vpxor ymm15, ymm15, ymm9
vpxor ymm10, ymm9, ymm10
vpxor ymm15, ymm15, ymmword [rdx - 0xc0]
vpxor ymm12, ymm12, ymm8
vpxor ymm11, ymm11, ymm7
vpxor ymm12, ymm12, ymmword [rdx - 0xa0]
vpxor ymm11, ymm11, ymmword [rdx - 0x80]
vpxor ymm10, ymm10, ymm6
vpxor ymm10, ymm10, ymmword [rdx - 0x60]
vpxor ymm9, ymm8, ymm9
vpxor ymm8, ymm7, ymm8
vpxor ymm9, ymm9, ymm5
vpxor ymm8, ymm8, ymm4
vmovdqu ymmword [rsp + 0x20], ymm15
vpxor ymm15, ymm6, ymm7
vpxor ymm6, ymm5, ymm6
vpxor ymm5, ymm4, ymm5
vpxor ymm15, ymm15, ymm3
vpxor ymm6, ymm6, ymm2
vpxor ymm4, ymm3, ymm4
vmovdqu ymmword [rsp + 0x40], ymm12
vmovdqu ymmword [rsp + 0x80], ymm10
vpxor ymm3, ymm2, ymm3
vmovdqu ymmword [rsp + 0x60], ymm11
vpxor ymm12, ymm9, ymmword [rdx - 0x40]
vpxor ymm4, ymm4, ymm1
vpxor ymm5, ymm5, ymm0
vpxor ymm2, ymm2, ymmword [rsp + 0x1a0]
vpxor ymm6, ymm6, ymmword [r9 + rcx + 0x120]
vpxor ymm4, ymm4, ymmword [r9 + rcx + 0x160]
vmovdqu ymm7, ymmword [rsp + 0x1c0]
vpxor ymm3, ymm3, ymmword [r9 + rcx + 0x180]
vpxor ymm10, ymm8, ymmword [rdx - 0x20]
sub rbx, 1
vpxor ymm15, ymm15, ymmword [rcx + r9 + 0x100]
vmovdqu ymmword [rsp + 0xa0], ymm12
vpxor ymm2, ymm2, ymm0
vpxor ymm2, ymm2, ymmword [r9 + rcx + 0x1a0]
vmovdqu ymmword [rsp + 0xe0], ymm6
vpxor ymm6, ymm5, ymmword [r9 + rcx + 0x140]
vmovdqu ymmword [rsp + 0x120], ymm4
vpxor ymm4, ymm3, ymm7
vmovdqu ymmword [rsp + 0xc0], ymm10
vmovdqu ymmword [rsp + 0x140], ymm4
vmovdqu ymmword [rsp + 0x160], ymm2
vpxor ymm2, ymm0, ymmword [rsp + 0x180]
vpxor ymm0, ymm1, ymm13
vpxor ymm0, ymm0, ymmword [r9 + rcx + 0x1e0]
vmovdqu ymmword [rsp + 0x100], ymm6
vpxor ymm2, ymm2, ymm1
vpxor ymm0, ymm0, ymm7
vpxor ymm2, ymm2, ymmword [r9 + rcx + 0x1c0]
jae 0x5298e0
vmovdqu ymm7, ymmword [rsp]
vmovdqu ymm5, ymmword [rsp + 0x120]
vmovdqu ymmword [r9 + 0x2220], ymm15
vmovdqu ymmword [r9 + 0x22e0], ymm2
vmovdqu ymmword [r9 + 0x2300], ymm0
mov dword [r9 + 0x2324], r11d
vmovdqu ymmword [r9 + 0x2100], ymm7
vmovdqu ymm7, ymmword [rsp + 0x1e0]
vmovdqu ymmword [r9 + 0x2280], ymm5
vmovdqu ymm5, ymmword [rsp + 0x160]
vmovdqu ymmword [r9 + 0x2120], ymm7
vmovdqu ymm7, ymmword [rsp + 0x200]
vmovdqu ymmword [r9 + 0x22c0], ymm5
vmovdqu ymmword [r9 + 0x2140], ymm7
vmovdqu ymm7, ymmword [rsp + 0x20]
vmovdqu ymmword [r9 + 0x2160], ymm7
vmovdqu ymm7, ymmword [rsp + 0x40]
vmovdqu ymmword [r9 + 0x2180], ymm7
vmovdqu ymm7, ymmword [rsp + 0x60]
vmovdqu ymmword [r9 + 0x21a0], ymm7
vmovdqu ymm7, ymmword [rsp + 0x80]
vmovdqu ymmword [r9 + 0x21c0], ymm7
vmovdqu ymm7, ymmword [rsp + 0xa0]
vmovdqu ymmword [r9 + 0x21e0], ymm7
vmovdqu ymm7, ymmword [rsp + 0xc0]
vmovdqu ymmword [r9 + 0x2200], ymm7
vmovdqu ymm7, ymmword [rsp + 0xe0]
vmovdqu ymmword [r9 + 0x2240], ymm7
vmovdqu ymm7, ymmword [rsp + 0x100]
vmovdqu ymmword [r9 + 0x2260], ymm7
vmovdqu ymm7, ymmword [rsp + 0x140]
vmovdqu ymmword [r9 + 0x22a0], ymm7
vzeroupper
vmovups xmm6, xmmword [rsp + 0x240]
vmovups xmm7, xmmword [rsp + 0x250]
vmovups xmm8, xmmword [rsp + 0x260]
vmovups xmm9, xmmword [rsp + 0x270]
vmovups xmm10, xmmword [rsp + 0x280]
vmovups xmm11, xmmword [rsp + 0x290]
vmovups xmm12, xmmword [rsp + 0x2a0]
vmovups xmm13, xmmword [rsp + 0x2b0]
vmovups xmm14, xmmword [rsp + 0x2c0]
vmovups xmm15, xmmword [rsp + 0x2d0]
add rsp, 0x2e0
pop rbx
ret