Function at 0x180033250
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
lea ebx, [rcx - 1]
movsxd rdi, r9d
mov ecx, dword [rdx + 8]
mov r10, r8
shr ebx, 0x1f
mov eax, ecx
xor eax, dword [r8 + 8]
dec ebx
and eax, ebx
mov r11, rdx
xor ecx, eax
mov dword [rdx + 8], ecx
xor dword [r8 + 8], eax
lea r8d, [rdi - 1]
movd xmm4, ebx
pshufd xmm4, xmm4, 0
cmp r8d, 9
ja case.default.0x1800332a2
lea rdx, [0x180000000]
movsxd rax, r8d
mov ecx, dword [rdx + rax*4 + 0x334f4]
add rcx, rdx
jmp rcx
mov edx, 0xa
lea ecx, [rdi - 0xa]
cmp edi, edx
jle 0x18003338d
cmp ecx, 4
jb 0x18003338d
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], r14
mov r14, qword [r10]
movsxd rax, r8d
mov qword [rsp + 0x20], r15
mov r15, qword [r11]
lea rsi, [r14 + 0x28]
lea r8, [r14 + rax*4]
lea rax, [r15 + rax*4]
lea r9, [r15 + 0x28]
cmp rsi, rax
ja 0x1800332f3
cmp r8, r9
jae 0x18003337e
cmp rsi, r10
ja 0x180033301
cmp r8, r10
jae 0x18003337e
cmp rsi, r11
ja 0x18003330b
cmp r8, r11
jae 0x18003337e
cmp r9, r10
ja 0x180033315
cmp rax, r10
jae 0x18003337e
cmp r9, r11
ja 0x18003331f
cmp rax, r11
jae 0x18003337e
and ecx, 0x80000003
jge 0x18003332e
dec ecx
or ecx, 0xfffffffc
inc ecx
mov r8d, edi
sub r8d, ecx
mov eax, 0x28
nop dword [rax]
movdqu xmm2, xmmword [r14 + rax]
add edx, 4
movdqu xmm1, xmmword [r15 + rax]
lea rax, [rax + 0x10]
movdqa xmm3, xmm2
pxor xmm3, xmm1
pand xmm3, xmm4
movdqa xmm0, xmm3
pxor xmm3, xmm2
pxor xmm0, xmm1
movdqu xmmword [r15 + rax - 0x10], xmm0
movdqu xmmword [r14 + rax - 0x10], xmm3
cmp edx, r8d
jl 0x180033340
mov r14, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x10]
mov r15, qword [rsp + 0x20]
movsxd r9, edx
cmp r9, rdi
jge case.0x1800332a2.10
nop word [rax + rax]
mov rax, qword [r11]
mov ecx, dword [rax + r9*4]
lea rdx, [rax + r9*4]
mov rax, qword [r10]
mov r8d, dword [rax + r9*4]
xor r8d, ecx
and r8d, ebx
xor ecx, r8d
mov dword [rdx], ecx
mov rax, qword [r10]
xor dword [rax + r9*4], r8d
inc r9
cmp r9, rdi
jl 0x1800333a0
mov rax, qword [r10]
mov r8, qword [r11]
mov edx, dword [rax + 0x24]
mov ecx, dword [r8 + 0x24]
xor edx, ecx
and edx, ebx
xor ecx, edx
mov dword [r8 + 0x24], ecx
mov rax, qword [r10]
xor dword [rax + 0x24], edx
mov rax, qword [r10]
mov r8, qword [r11]
mov edx, dword [rax + 0x20]
mov ecx, dword [r8 + 0x20]
xor edx, ecx
and edx, ebx
xor ecx, edx
mov dword [r8 + 0x20], ecx
mov rax, qword [r10]
xor dword [rax + 0x20], edx
mov rax, qword [r10]
mov r8, qword [r11]
mov edx, dword [rax + 0x1c]
mov ecx, dword [r8 + 0x1c]
xor edx, ecx
and edx, ebx
xor ecx, edx
mov dword [r8 + 0x1c], ecx
mov rax, qword [r10]
xor dword [rax + 0x1c], edx
mov rax, qword [r10]
mov r8, qword [r11]
mov edx, dword [rax + 0x18]
mov ecx, dword [r8 + 0x18]
xor edx, ecx
and edx, ebx
xor ecx, edx
mov dword [r8 + 0x18], ecx
mov rax, qword [r10]
xor dword [rax + 0x18], edx
mov rax, qword [r10]
mov r8, qword [r11]
mov edx, dword [rax + 0x14]
mov ecx, dword [r8 + 0x14]
xor edx, ecx
and edx, ebx
xor ecx, edx
mov dword [r8 + 0x14], ecx
mov rax, qword [r10]
xor dword [rax + 0x14], edx
mov rax, qword [r10]
mov r8, qword [r11]
mov edx, dword [rax + 0x10]
mov ecx, dword [r8 + 0x10]
xor edx, ecx
and edx, ebx
xor ecx, edx
mov dword [r8 + 0x10], ecx
mov rax, qword [r10]
xor dword [rax + 0x10], edx
mov rax, qword [r10]
mov r8, qword [r11]
mov edx, dword [rax + 0xc]
mov ecx, dword [r8 + 0xc]
xor edx, ecx
and edx, ebx
xor ecx, edx
mov dword [r8 + 0xc], ecx
mov rax, qword [r10]
xor dword [rax + 0xc], edx
mov rax, qword [r10]
mov r8, qword [r11]
mov edx, dword [rax + 8]
mov ecx, dword [r8 + 8]
xor edx, ecx
and edx, ebx
xor ecx, edx
mov dword [r8 + 8], ecx
mov rax, qword [r10]
xor dword [rax + 8], edx
mov rax, qword [r10]
mov r8, qword [r11]
mov edx, dword [rax + 4]
mov ecx, dword [r8 + 4]
xor edx, ecx
and edx, ebx
xor ecx, edx
mov dword [r8 + 4], ecx
mov rax, qword [r10]
xor dword [rax + 4], edx
mov rax, qword [r10]
mov r8, qword [r11]
mov ecx, dword [rax]
mov edx, dword [r8]
xor ecx, edx
and ecx, ebx
mov rbx, qword [rsp + 0x28]
xor edx, ecx
mov dword [r8], edx
mov rax, qword [r10]
xor dword [rax], ecx
pop rdi
ret