Function at 0x180272670
Capabilities:
Encode data using xor

Disassembly:
push rbx
movsxd r10, dword [rdx + 8]
lea rbx, [rcx - 1]
movsxd rax, dword [r8 + 8]
mov r11, rdx
mov rcx, r10
shr rbx, 0x3f
xor rcx, rax
dec rbx
and rcx, rbx
xor r10d, ecx
mov dword [rdx + 8], r10d
lea r10d, [r9 - 1]
xor dword [r8 + 8], ecx
movq xmm3, rbx
movsxd rdx, dword [rdx + 0x10]
movsxd rax, dword [r8 + 0x10]
mov rcx, rdx
xor rcx, rax
punpcklqdq xmm3, xmm3
and rcx, rbx
xor edx, ecx
mov dword [r11 + 0x10], edx
xor dword [r8 + 0x10], ecx
mov edx, dword [r11 + 0x14]
mov ecx, edx
mov eax, dword [r8 + 0x14]
xor rcx, rax
and ecx, 4
and rcx, rbx
xor edx, ecx
mov dword [r11 + 0x14], edx
xor dword [r8 + 0x14], ecx
cmp r10d, 9
ja case.default.0x1802726fb
lea rdx, [0x180000000]
movsxd rax, r10d
mov ecx, dword [rdx + rax*4 + 0x2729c8]
add rcx, rdx
jmp rcx
mov edx, 0xa
mov qword [rsp + 0x18], rdi
lea ecx, [r9 - 0xa]
cmp r9d, edx
jle 0x180272836
cmp ecx, 4
jb 0x180272836
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x20], r14
mov r14, qword [r8]
movsxd rax, r10d
mov qword [rsp + 0x28], r15
mov r15, qword [r11]
lea rsi, [r14 + 0x50]
lea r10, [r14 + rax*8]
lea rax, [r15 + rax*8]
lea rdi, [r15 + 0x50]
cmp rsi, rax
ja 0x180272753
cmp r10, rdi
jae 0x180272827
cmp rsi, r8
ja 0x180272761
cmp r10, r8
jae 0x180272827
cmp rsi, r11
ja 0x18027276f
cmp r10, r11
jae 0x180272827
cmp rdi, r8
ja 0x18027277d
cmp rax, r8
jae 0x180272827
cmp rdi, r11
ja 0x18027278b
cmp rax, r11
jae 0x180272827
and ecx, 0x80000003
jge 0x18027279a
dec ecx
or ecx, 0xfffffffc
inc ecx
mov eax, r9d
sub eax, ecx
mov ecx, 0x50
nop dword [rax]
nop dword [rax + rax]
movdqu xmm1, xmmword [r15 + rcx]
add edx, 4
movdqu xmm2, xmmword [r14 + rcx]
lea rcx, [rcx + 0x20]
pxor xmm2, xmm1
pand xmm2, xmm3
movdqa xmm0, xmm2
pxor xmm0, xmm1
movdqu xmmword [r15 + rcx - 0x20], xmm0
movdqu xmm1, xmmword [r14 + rcx - 0x20]
pxor xmm1, xmm2
movdqu xmmword [r14 + rcx - 0x20], xmm1
movdqu xmm1, xmmword [r15 + rcx - 0x10]
movdqu xmm2, xmmword [r14 + rcx - 0x10]
pxor xmm2, xmm1
pand xmm2, xmm3
movdqa xmm0, xmm2
pxor xmm0, xmm1
movdqu xmmword [r15 + rcx - 0x10], xmm0
movdqu xmm1, xmmword [r14 + rcx - 0x10]
pxor xmm1, xmm2
movdqu xmmword [r14 + rcx - 0x10], xmm1
cmp edx, eax
jl 0x1802727b0
mov r14, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x10]
mov r15, qword [rsp + 0x28]
movsxd r10, edx
movsxd rdi, r9d
cmp r10, rdi
jge 0x18027286e
mov rax, qword [r11]
mov rcx, qword [rax + r10*8]
lea rdx, [rax + r10*8]
mov rax, qword [r8]
mov r9, qword [rax + r10*8]
xor r9, rcx
and r9, rbx
xor rcx, r9
mov qword [rdx], rcx
mov rax, qword [r8]
xor qword [rax + r10*8], r9
inc r10
cmp r10, rdi
jl 0x180272841
mov rdi, qword [rsp + 0x18]
mov rax, qword [r8]
mov r9, qword [r11]
mov rdx, qword [rax + 0x48]
mov rcx, qword [r9 + 0x48]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r9 + 0x48], rcx
mov rax, qword [r8]
xor qword [rax + 0x48], rdx
mov rax, qword [r8]
mov r9, qword [r11]
mov rdx, qword [rax + 0x40]
mov rcx, qword [r9 + 0x40]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r9 + 0x40], rcx
mov rax, qword [r8]
xor qword [rax + 0x40], rdx
mov rax, qword [r8]
mov r9, qword [r11]
mov rdx, qword [rax + 0x38]
mov rcx, qword [r9 + 0x38]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r9 + 0x38], rcx
mov rax, qword [r8]
xor qword [rax + 0x38], rdx
mov rax, qword [r8]
mov r9, qword [r11]
mov rdx, qword [rax + 0x30]
mov rcx, qword [r9 + 0x30]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r9 + 0x30], rcx
mov rax, qword [r8]
xor qword [rax + 0x30], rdx
mov rax, qword [r8]
mov r9, qword [r11]
mov rdx, qword [rax + 0x28]
mov rcx, qword [r9 + 0x28]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r9 + 0x28], rcx
mov rax, qword [r8]
xor qword [rax + 0x28], rdx
mov rax, qword [r8]
mov r9, qword [r11]
mov rdx, qword [rax + 0x20]
mov rcx, qword [r9 + 0x20]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r9 + 0x20], rcx
mov rax, qword [r8]
xor qword [rax + 0x20], rdx
mov rax, qword [r8]
mov r9, qword [r11]
mov rdx, qword [rax + 0x18]
mov rcx, qword [r9 + 0x18]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r9 + 0x18], rcx
mov rax, qword [r8]
xor qword [rax + 0x18], rdx
mov rax, qword [r8]
mov r9, qword [r11]
mov rdx, qword [rax + 0x10]
mov rcx, qword [r9 + 0x10]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r9 + 0x10], rcx
mov rax, qword [r8]
xor qword [rax + 0x10], rdx
mov rax, qword [r8]
mov r9, qword [r11]
mov rdx, qword [rax + 8]
mov rcx, qword [r9 + 8]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r9 + 8], rcx
mov rax, qword [r8]
xor qword [rax + 8], rdx
mov rax, qword [r8]
mov r9, qword [r11]
mov rcx, qword [rax]
mov rdx, qword [r9]
xor rcx, rdx
and rcx, rbx
xor rdx, rcx
mov qword [r9], rdx
mov rax, qword [r8]
xor qword [rax], rcx
pop rbx
ret