Function at 0x1403d4fe0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
movdqa xmmword [rsp + 0xa0], xmm15
movdqa xmmword [rsp + 0x90], xmm14
movdqa xmmword [rsp + 0x80], xmm13
movdqa xmmword [rsp + 0x70], xmm12
movdqa xmmword [rsp + 0x60], xmm11
movdqa xmmword [rsp + 0x50], xmm10
movdqa xmmword [rsp + 0x40], xmm9
movdqa xmmword [rsp + 0x30], xmm8
movdqa xmmword [rsp + 0x20], xmm7
movdqa xmmword [rsp + 0x10], xmm6
mov eax, dword [0x14057af70]
test eax, eax
jne 0x1403d5514
mov qword [rsp + 8], rdx
mov eax, dword [rsp + 0x130]
movdqa xmm2, xmmword [0x14044a9a0]
xor r10d, r10d
pxor xmm3, xmm3
movdqa xmm4, xmmword [0x140467a00]
pcmpeqd xmm5, xmm5
movdqa xmm6, xmmword [0x140467a10]
movdqa xmm7, xmmword [0x140467a20]
movdqa xmm8, xmmword [0x140467a30]
movdqa xmm9, xmmword [0x140467a40]
movdqa xmm10, xmmword [0x140467a60]
lea r11, [0x14057a770]
movdqa xmm1, xmmword [0x14044aad0]
nop
movdqa xmm12, xmm2
psrld xmm12, 4
movdqa xmm11, xmm2
pslld xmm11, 0x1f
psrad xmm11, 0x1f
pand xmm11, xmm4
movdqa xmm13, xmm11
pandn xmm13, xmm12
pandn xmm12, xmm11
por xmm12, xmm13
movdqa xmm13, xmm2
pslld xmm13, 0x1e
psrad xmm13, 0x1f
pand xmm13, xmm6
pxor xmm13, xmm12
movdqa xmm11, xmm2
pslld xmm11, 0x1d
psrad xmm11, 0x1f
pand xmm11, xmm7
movdqa xmm14, xmm11
pxor xmm14, xmm13
movdqa xmm15, xmm13
pandn xmm15, xmm14
pandn xmm11, xmm13
por xmm11, xmm15
movdqa xmm14, xmm2
pslld xmm14, 0x1c
psrad xmm14, 0x1f
pand xmm14, xmm9
movdqa xmm15, xmm11
pandn xmm15, xmm14
pandn xmm14, xmm11
por xmm14, xmm15
movdqa xmm15, xmm14
psrld xmm15, 4
pslld xmm12, 0x1f
psrad xmm12, 0x1f
pand xmm12, xmm4
movdqa xmm0, xmm15
pandn xmm0, xmm12
pandn xmm12, xmm15
por xmm12, xmm0
movdqa xmm0, xmm13
pxor xmm0, xmmword [0x140467a50]
pandn xmm13, xmm10
por xmm13, xmm0
pxor xmm13, xmm5
pcmpeqd xmm13, xmm3
pandn xmm13, xmm6
movdqa xmm0, xmm12
pandn xmm0, xmm13
pandn xmm13, xmm12
por xmm13, xmm0
pslld xmm11, 0x1d
psrad xmm11, 0x1f
pand xmm11, xmm7
movdqa xmm0, xmm13
pandn xmm0, xmm11
pandn xmm11, xmm13
por xmm11, xmm0
movdqa xmm0, xmm14
pxor xmm0, xmm8
por xmm14, xmm8
pxor xmm14, xmm5
por xmm14, xmm0
pxor xmm14, xmm5
pcmpeqd xmm14, xmm3
pandn xmm14, xmm9
pxor xmm14, xmm11
movdqa xmmword [r10 + r11], xmm14
cmp r10, 0x3f0
je 0x1403d5236
add r10, 0x10
paddd xmm2, xmm1
jmp 0x1403d50b0
movdqa xmm15, xmm10
mov dword [rsp + 4], r9d
movabs rdx, 0xc4040e0711bcb726
movabs r10, 0x7d8bdd700e1be938
movabs rsi, 0x733e6f5b911398f2
movdqa xmm9, xmmword [0x14044a9a0]
movabs rdi, 0x1ae496379d2015e3
xor ebx, ebx
pxor xmm3, xmm3
pcmpeqd xmm5, xmm5
movdqa xmm11, xmmword [0x140467a90]
movdqa xmm12, xmmword [0x14044aa90]
movdqa xmm13, xmmword [0x14044aaa0]
movdqa xmm14, xmmword [0x14044a9c0]
movdqa xmm15, xmmword [0x140467aa0]
movdqa xmm4, xmmword [0x140467ab0]
mov r15d, eax
not r15
mov r12, r15
and r12, rsi
mov r11, rdx
mov r9, r10
lea r13, [rdx + r10]
mov r14, rsi
lea rbp, [rsi + 0x104]
and r15, rbp
nop word cs:[rax + rax]
movdqa xmm0, xmm9
psrld xmm0, 6
movdqa xmm2, xmm9
pslld xmm2, 0x1f
psrad xmm2, 0x1f
pand xmm2, xmmword [0x14044aa10]
movdqa xmm6, xmm0
pxor xmm6, xmm2
movdqa xmm7, xmm2
pandn xmm7, xmm6
pxor xmm6, xmm5
pandn xmm2, xmm0
por xmm2, xmm6
pxor xmm2, xmm5
por xmm2, xmm7
movdqa xmm0, xmm9
pslld xmm0, 0x1e
psrad xmm0, 0x1f
pand xmm0, xmmword [0x14044aa30]
movdqa xmm7, xmm2
pxor xmm7, xmm5
movdqa xmm6, xmm2
pandn xmm6, xmm0
por xmm7, xmm0
pxor xmm7, xmm5
por xmm7, xmm6
movdqa xmm0, xmm9
pandn xmm0, xmm1
movdqa xmm6, xmm1
pandn xmm6, xmm9
por xmm6, xmm0
movdqa xmm0, xmm9
pxor xmm0, xmmword [0x140467a70]
movdqa xmm8, xmm9
pandn xmm8, xmm0
por xmm8, xmm6
pxor xmm8, xmm5
pcmpeqd xmm8, xmm3
pandn xmm8, xmmword [0x14044aa60]
movdqa xmm0, xmm9
pslld xmm0, 0x1c
psrad xmm0, 0x1f
pand xmm0, xmmword [0x14044aa80]
movdqa xmm6, xmm8
pandn xmm6, xmm0
pandn xmm0, xmm8
por xmm0, xmm6
movdqa xmm6, xmm9
pxor xmm6, xmmword [0x140467a80]
movdqa xmm8, xmm9
pandn xmm8, xmm11
por xmm8, xmm6
pxor xmm8, xmm5
pcmpeqd xmm8, xmm3
movdqa xmm6, xmm8
pxor xmm6, xmm0
pandn xmm8, xmm12
pandn xmm6, xmm8
pandn xmm8, xmm0
por xmm8, xmm6
movdqa xmm0, xmm9
pxor xmm0, xmm13
movdqa xmm6, xmm9
por xmm6, xmm13
pxor xmm6, xmm5
por xmm6, xmm0
pxor xmm6, xmm5
pcmpeqd xmm6, xmm3
pandn xmm6, xmm14
movdqa xmm0, xmm8
pandn xmm0, xmm6
pandn xmm6, xmm8
por xmm6, xmm0
movdqa xmm0, xmm7
pandn xmm0, xmm6
pandn xmm6, xmm7
por xmm6, xmm0
movdqa xmm0, xmm2
pxor xmm0, xmm15
pandn xmm2, xmm4
por xmm2, xmm0
pxor xmm2, xmm5
psrld xmm6, 2
pcmpeqd xmm2, xmm3
pandn xmm2, xmm12
pxor xmm2, xmm6
movdqa xmm0, xmm7
pxor xmm0, xmm10
pand xmm0, xmm7
pcmpeqd xmm0, xmm3
pandn xmm0, xmm14
movdqa xmm6, xmm2
pandn xmm6, xmm0
pandn xmm0, xmm2
por xmm0, xmm6
lea rdx, [0x14057ab70]
movdqa xmmword [rdx + rbx*4], xmm0
movdqa xmm0, xmm9
pxor xmm0, xmm1
pand xmm9, xmm1
paddd xmm9, xmm9
paddd xmm9, xmm0
mov r10, qword [0x140568228]
mov esi, r14d
not esi
and esi, eax
or rsi, r12
sub rsi, rdi
sub rsi, r9
add rsi, rdi
add rsi, r10
add rsi, r13
sub rsi, r11
add rbx, rsi
mov edx, ebp
not edx
and edx, eax
or rdx, r15
add rdx, r10
cmp rbx, rdx
jne 0x1403d52e0
mov dword [0x14057af70], 1
mov rdx, qword [rsp + 8]
mov r9d, dword [rsp + 4]
test r9d, r9d
lea rax, [0x14057ab70]
lea r9, [0x14057a770]
cmove r9, rax
test rdx, rdx
je 0x1403d55c6
test dl, 1
jne 0x1403d5545
mov r10, rdx
cmp rdx, 1
jne 0x1403d5572
jmp 0x1403d55c9
lea r10, [rdx - 1]
movzx eax, byte [rcx]
xor al, r8b
inc rcx
movzx r11d, al
shr r8d, 8
mov eax, r8d
xor eax, r8d
not eax
and eax, dword [r9 + r11*4]
xor eax, r8d
mov r8d, eax
cmp rdx, 1
je 0x1403d55c9
add r10, 0xfffffffffffffffe
xor eax, eax
nop dword [rax + rax]
movzx edx, byte [rcx + rax]
xor dl, r8b
movzx edx, dl
shr r8d, 8
xor r8d, dword [r9 + rdx*4]
mov edx, r8d
xor dl, r8b
not dl
and dl, byte [rcx + rax + 1]
xor dl, r8b
movzx edx, dl
mov r11d, r8d
shr r11d, 8
mov r8d, r11d
xor r8d, r11d
not r8d
and r8d, dword [r9 + rdx*4]
xor r8d, r11d
cmp r10, rax
je 0x1403d55c6
add rax, 2
jmp 0x1403d5580
mov eax, r8d
movaps xmm6, xmmword [rsp + 0x10]
movaps xmm7, xmmword [rsp + 0x20]
movaps xmm8, xmmword [rsp + 0x30]
movaps xmm9, xmmword [rsp + 0x40]
movaps xmm10, xmmword [rsp + 0x50]
movaps xmm11, xmmword [rsp + 0x60]
movaps xmm12, xmmword [rsp + 0x70]
movaps xmm13, xmmword [rsp + 0x80]
movaps xmm14, xmmword [rsp + 0x90]
movaps xmm15, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret