Function at 0x40c700
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x38
movaps xmmword [rsp], xmm6
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp + 0x20], xmm8
mov eax, dword [0x004576c0]
test eax, eax
jne 0x40c8d3
lea r9, [0x004576e0]
lea r8, [r9 + 0x400]
movdqa xmm6, xmmword [0x00440c90]
movdqa xmm7, xmmword [0x00440ca0]
movdqa xmm5, xmmword [0x00440cb0]
movdqa xmm4, xmmword [0x00440cc0]
pxor xmm3, xmm3
movdqa xmm1, xmm6
paddd xmm6, xmm7
movdqa xmm2, xmm1
psrld xmm2, 1
pand xmm1, xmm5
movdqa xmm8, xmm2
pxor xmm8, xmm4
pcmpeqd xmm1, xmm3
pand xmm2, xmm1
pandn xmm1, xmm8
movdqa xmm0, xmm1
por xmm0, xmm2
movdqa xmm1, xmm0
psrld xmm1, 1
pand xmm0, xmm5
movdqa xmm8, xmm1
pxor xmm8, xmm4
pcmpeqd xmm0, xmm3
pand xmm1, xmm0
movdqa xmm2, xmm0
pandn xmm2, xmm8
por xmm2, xmm1
movdqa xmm0, xmm2
psrld xmm0, 1
pand xmm2, xmm5
movdqa xmm8, xmm0
pxor xmm8, xmm4
pcmpeqd xmm2, xmm3
pand xmm0, xmm2
pandn xmm2, xmm8
movdqa xmm1, xmm2
por xmm1, xmm0
movdqa xmm2, xmm1
psrld xmm2, 1
pand xmm1, xmm5
movdqa xmm8, xmm2
pxor xmm8, xmm4
pcmpeqd xmm1, xmm3
pand xmm2, xmm1
pandn xmm1, xmm8
movdqa xmm0, xmm1
por xmm0, xmm2
movdqa xmm1, xmm0
psrld xmm1, 1
pand xmm0, xmm5
movdqa xmm8, xmm1
pxor xmm8, xmm4
pcmpeqd xmm0, xmm3
pand xmm1, xmm0
pandn xmm0, xmm8
movdqa xmm2, xmm0
por xmm2, xmm1
movdqa xmm0, xmm2
psrld xmm0, 1
pand xmm2, xmm5
movdqa xmm8, xmm0
pxor xmm8, xmm4
pcmpeqd xmm2, xmm3
pand xmm0, xmm2
pandn xmm2, xmm8
movdqa xmm1, xmm2
por xmm1, xmm0
movdqa xmm2, xmm1
psrld xmm2, 1
pand xmm1, xmm5
movdqa xmm8, xmm2
pxor xmm8, xmm4
pcmpeqd xmm1, xmm3
pand xmm2, xmm1
pandn xmm1, xmm8
movdqa xmm0, xmm1
por xmm0, xmm2
movdqa xmm1, xmm0
psrld xmm1, 1
pand xmm0, xmm5
movdqa xmm8, xmm1
pxor xmm8, xmm4
pcmpeqd xmm0, xmm3
pand xmm1, xmm0
pandn xmm0, xmm8
por xmm0, xmm1
movdqa xmmword [r9], xmm0
add r9, 0x10
cmp r9, r8
jne 0x40c753
mov dword [0x004576c0], 1
test edx, edx
jle 0x40ca8d
lea r11d, [rdx - 1]
lea r10, [rcx + 1]
lea r8, [rcx + r11 + 1]
mov eax, 0xffffffff
lea rdx, [0x004576e0]
add r11, 1
and r11d, 7
je 0x40c9bb
cmp r11, 1
je 0x40c99c
cmp r11, 2
je 0x40c986
cmp r11, 3
je 0x40c970
cmp r11, 4
je 0x40c95a
cmp r11, 5
je 0x40c944
cmp r11, 6
jne 0x40ca75
movzx r9d, byte [rcx]
xor r9d, eax
movzx r11d, r9b
shr eax, 8
xor eax, dword [rdx + r11*4]
add rcx, 1
movzx r10d, byte [rcx]
xor r10d, eax
movzx r9d, r10b
shr eax, 8
xor eax, dword [rdx + r9*4]
add rcx, 1
movzx r11d, byte [rcx]
xor r11d, eax
movzx r10d, r11b
shr eax, 8
xor eax, dword [rdx + r10*4]
add rcx, 1
movzx r9d, byte [rcx]
xor r9d, eax
movzx r11d, r9b
shr eax, 8
xor eax, dword [rdx + r11*4]
add rcx, 1
movzx r10d, byte [rcx]
xor r10d, eax
movzx r9d, r10b
shr eax, 8
xor eax, dword [rdx + r9*4]
add rcx, 1
movzx r11d, byte [rcx]
xor r11d, eax
movzx r10d, r11b
shr eax, 8
xor eax, dword [rdx + r10*4]
add rcx, 1
cmp r8, rcx
je 0x40ca5f
movzx r9d, byte [rcx]
xor r9d, eax
movzx r11d, r9b
shr eax, 8
xor eax, dword [rdx + r11*4]
movzx r10d, byte [rcx + 1]
xor r10d, eax
movzx r9d, r10b
shr eax, 8
xor eax, dword [rdx + r9*4]
movzx r11d, byte [rcx + 2]
xor r11d, eax
movzx r10d, r11b
shr eax, 8
xor eax, dword [rdx + r10*4]
movzx r9d, byte [rcx + 3]
xor r9d, eax
movzx r11d, r9b
shr eax, 8
xor eax, dword [rdx + r11*4]
movzx r10d, byte [rcx + 4]
xor r10d, eax
movzx r9d, r10b
shr eax, 8
xor eax, dword [rdx + r9*4]
movzx r11d, byte [rcx + 5]
xor r11d, eax
movzx r10d, r11b
shr eax, 8
xor eax, dword [rdx + r10*4]
movzx r9d, byte [rcx + 6]
xor r9d, eax
movzx r11d, r9b
shr eax, 8
xor eax, dword [rdx + r11*4]
movzx r10d, byte [rcx + 7]
xor r10d, eax
movzx r9d, r10b
shr eax, 8
xor eax, dword [rdx + r9*4]
add rcx, 8
cmp r8, rcx
jne 0x40c9bb
not eax
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
add rsp, 0x38
ret
movzx ecx, byte [rcx]
not ecx
movzx eax, cl
mov eax, dword [rdx + rax*4]
xor eax, 0xffffff
mov rcx, r10
jmp 0x40c92e
xor eax, eax
jmp 0x40ca61