Function at 0x41a840
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
and rsp, 0xffffffffffffffc0
sub rsp, 0x80
lea rcx, [ecx*2]
shl rcx, 7
lea r9, [rcx - 0x80]
lea rax, [rsi + r9]
lea r9, [rdx + r9]
and rdx, rdx
movdqa xmm0, xmmword [rax]
movdqa xmm1, xmmword [rax + 0x10]
movdqa xmm2, xmmword [rax + 0x20]
movdqa xmm3, xmmword [rax + 0x30]
movdqa xmm4, xmmword [rax + 0x40]
movdqa xmm5, xmmword [rax + 0x50]
movdqa xmm6, xmmword [rax + 0x60]
movdqa xmm7, xmmword [rax + 0x70]
je 0x41a8c3
pxor xmm0, xmmword [r9]
pxor xmm1, xmmword [r9 + 0x10]
pxor xmm2, xmmword [r9 + 0x20]
pxor xmm3, xmmword [r9 + 0x30]
pxor xmm4, xmmword [r9 + 0x40]
pxor xmm5, xmmword [r9 + 0x50]
pxor xmm6, xmmword [r9 + 0x60]
pxor xmm7, xmmword [r9 + 0x70]
xor r9, r9
xor r8, r8
and rdx, rdx
pxor xmm0, xmmword [rsi + r9]
pxor xmm1, xmmword [rsi + r9 + 0x10]
pxor xmm2, xmmword [rsi + r9 + 0x20]
pxor xmm3, xmmword [rsi + r9 + 0x30]
pxor xmm4, xmmword [rsi + r9 + 0x40]
pxor xmm5, xmmword [rsi + r9 + 0x50]
pxor xmm6, xmmword [rsi + r9 + 0x60]
pxor xmm7, xmmword [rsi + r9 + 0x70]
je 0x41a93c
pxor xmm0, xmmword [rdx + r9]
pxor xmm1, xmmword [rdx + r9 + 0x10]
pxor xmm2, xmmword [rdx + r9 + 0x20]
pxor xmm3, xmmword [rdx + r9 + 0x30]
pxor xmm4, xmmword [rdx + r9 + 0x40]
pxor xmm5, xmmword [rdx + r9 + 0x50]
pxor xmm6, xmmword [rdx + r9 + 0x60]
pxor xmm7, xmmword [rdx + r9 + 0x70]
movdqa xmmword [rsp], xmm0
movdqa xmmword [rsp + 0x10], xmm1
movdqa xmmword [rsp + 0x20], xmm2
movdqa xmmword [rsp + 0x30], xmm3
movdqa xmmword [rsp + 0x40], xmm4
movdqa xmmword [rsp + 0x50], xmm5
movdqa xmmword [rsp + 0x60], xmm6
movdqa xmmword [rsp + 0x70], xmm7
mov rax, 8
movdqa xmm8, xmm0
movdqa xmm9, xmm1
paddq xmm8, xmm2
paddq xmm9, xmm3
pshufd xmm8, xmm8, 0xb1
pshufd xmm9, xmm9, 0xb1
pxor xmm6, xmm8
pxor xmm7, xmm9
movdqa xmm10, xmm0
movdqa xmm11, xmm1
paddq xmm10, xmm6
paddq xmm11, xmm7
movdqa xmm8, xmm10
movdqa xmm9, xmm11
psrlq xmm10, 0x33
psrlq xmm11, 0x33
psllq xmm8, 0xd
psllq xmm9, 0xd
pxor xmm4, xmm10
pxor xmm5, xmm11
pxor xmm4, xmm8
pxor xmm5, xmm9
movdqa xmm10, xmm6
movdqa xmm11, xmm7
paddq xmm10, xmm4
paddq xmm11, xmm5
movdqa xmm8, xmm10
movdqa xmm9, xmm11
psrlq xmm10, 0x19
psrlq xmm11, 0x19
psllq xmm8, 0x27
psllq xmm9, 0x27
pxor xmm2, xmm10
pxor xmm3, xmm11
pxor xmm2, xmm8
pxor xmm3, xmm9
movdqa xmm8, xmm4
movdqa xmm9, xmm5
paddq xmm8, xmm2
paddq xmm9, xmm3
pshufd xmm8, xmm8, 0xb1
pshufd xmm9, xmm9, 0xb1
pxor xmm0, xmm8
pxor xmm1, xmm9
movdqa xmm8, xmm2
movdqa xmm9, xmm3
movdqa xmm10, xmm6
movdqa xmm11, xmm7
movdqa xmm2, xmm7
movdqa xmm3, xmm6
punpcklqdq xmm10, xmm6
punpcklqdq xmm11, xmm7
movdqa xmm6, xmm8
movdqa xmm7, xmm9
punpcklqdq xmm9, xmm9
punpcklqdq xmm8, xmm8
punpckhqdq xmm2, xmm10
punpckhqdq xmm3, xmm11
punpckhqdq xmm6, xmm9
punpckhqdq xmm7, xmm8
sub rax, 2
movdqa xmm8, xmm0
movdqa xmm9, xmm1
paddq xmm8, xmm2
paddq xmm9, xmm3
pshufd xmm8, xmm8, 0xb1
pshufd xmm9, xmm9, 0xb1
pxor xmm6, xmm8
pxor xmm7, xmm9
movdqa xmm10, xmm0
movdqa xmm11, xmm1
paddq xmm10, xmm6
paddq xmm11, xmm7
movdqa xmm8, xmm10
movdqa xmm9, xmm11
psrlq xmm10, 0x33
psrlq xmm11, 0x33
psllq xmm8, 0xd
psllq xmm9, 0xd
pxor xmm5, xmm10
pxor xmm4, xmm11
pxor xmm5, xmm8
pxor xmm4, xmm9
movdqa xmm10, xmm6
movdqa xmm11, xmm7
paddq xmm10, xmm5
paddq xmm11, xmm4
movdqa xmm8, xmm10
movdqa xmm9, xmm11
psrlq xmm10, 0x19
psrlq xmm11, 0x19
psllq xmm8, 0x27
psllq xmm9, 0x27
pxor xmm2, xmm10
pxor xmm3, xmm11
pxor xmm2, xmm8
pxor xmm3, xmm9
movdqa xmm8, xmm5
movdqa xmm9, xmm4
paddq xmm8, xmm2
paddq xmm9, xmm3
pshufd xmm8, xmm8, 0xb1
pshufd xmm9, xmm9, 0xb1
pxor xmm0, xmm8
pxor xmm1, xmm9
movdqa xmm8, xmm2
movdqa xmm9, xmm3
movdqa xmm10, xmm6
movdqa xmm11, xmm7
movdqa xmm2, xmm7
movdqa xmm3, xmm6
punpcklqdq xmm10, xmm6
punpcklqdq xmm11, xmm7
movdqa xmm6, xmm8
movdqa xmm7, xmm9
punpcklqdq xmm9, xmm9
punpcklqdq xmm8, xmm8
punpckhqdq xmm2, xmm10
punpckhqdq xmm3, xmm11
punpckhqdq xmm6, xmm9
punpckhqdq xmm7, xmm8
ja 0x41a972
paddq xmm0, xmmword [rsp]
paddq xmm1, xmmword [rsp + 0x10]
paddq xmm2, xmmword [rsp + 0x20]
paddq xmm3, xmmword [rsp + 0x30]
paddq xmm4, xmmword [rsp + 0x40]
paddq xmm5, xmmword [rsp + 0x50]
paddq xmm6, xmmword [rsp + 0x60]
paddq xmm7, xmmword [rsp + 0x70]
lea rax, [r8 + r9]
xor r8, rcx
and rax, 0xffffffffffffff00
add r9, 0x80
shr rax, 1
add rax, rdi
cmp r9, rcx
movdqa xmmword [rax], xmm0
movdqa xmmword [rax + 0x10], xmm1
movdqa xmmword [rax + 0x20], xmm2
movdqa xmmword [rax + 0x30], xmm3
movdqa xmmword [rax + 0x40], xmm4
movdqa xmmword [rax + 0x50], xmm5
movdqa xmmword [rax + 0x60], xmm6
movdqa xmmword [rax + 0x70], xmm7
jne 0x41a8c9
mov rsp, rbp
pop rbp
ret