Function at 0x180029070
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
mov eax, dword [rdx]
xorps xmm1, xmm1
movss xmm0, dword [0x180074be8]
xorps xmm3, xmm3
mov rdi, rdx
mov rbx, rcx
cvtsi2ss xmm1, rax
ucomiss xmm1, xmm3
jne 0x18002909d
movaps xmm1, xmm0
cmp qword [0x180083a98], 0x10
lea r8, [0x180083a80]
mov r10, qword [0x180083a90]
cmovae r8, qword [0x180083a80]
xor r9d, r9d
mov ecx, r9d
mov edx, r9d
test r10, r10
je 0x1800290ec
nop dword [rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x1800290d0
mov r11, qword [rbx + 0x278]
lea eax, [rcx + rcx*8]
mov ecx, eax
xorps xmm2, xmm2
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
add r8d, 0x36
addss xmm1, dword [r11 + r8*4]
movss dword [r11 + r8*4], xmm1
mov eax, dword [rdi + 4]
cvtsi2ss xmm2, rax
ucomiss xmm2, xmm3
jne 0x180029144
movaps xmm2, xmm0
cmp qword [0x180083858], 0x10
lea r8, [0x180083840]
mov r10, qword [0x180083850]
mov ecx, r9d
cmovae r8, qword [0x180083840]
mov rdx, r9
test r10, r10
je 0x18002918c
nop dword [rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180029170
lea eax, [rcx + rcx*8]
xorps xmm1, xmm1
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
add r8d, 0x36
addss xmm2, dword [r11 + r8*4]
movss dword [r11 + r8*4], xmm2
mov eax, dword [rdi + 8]
cvtsi2ss xmm1, rax
ucomiss xmm1, xmm3
jne 0x1800291dd
movaps xmm1, xmm0
cmp qword [0x180083778], 0x10
lea r8, [0x180083760]
mov r10, qword [0x180083770]
mov ecx, r9d
cmovae r8, qword [0x180083760]
mov rdx, r9
test r10, r10
je 0x18002922c
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180029210
lea eax, [rcx + rcx*8]
xorps xmm2, xmm2
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
add r8d, 0x36
addss xmm1, dword [r11 + r8*4]
movss dword [r11 + r8*4], xmm1
mov eax, dword [rdi + 0xc]
cvtsi2ss xmm2, rax
ucomiss xmm2, xmm3
jne 0x18002927d
movaps xmm2, xmm0
cmp qword [0x1800835b8], 0x10
lea r8, [0x1800835a0]
mov r10, qword [0x1800835b0]
mov ecx, r9d
cmovae r8, qword [0x1800835a0]
mov rdx, r9
test r10, r10
je 0x1800292cc
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x1800292b0
lea eax, [rcx + rcx*8]
xorps xmm1, xmm1
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
add r8d, 0x36
addss xmm2, dword [r11 + r8*4]
movss dword [r11 + r8*4], xmm2
mov eax, dword [rdi + 0x10]
cvtsi2ss xmm1, rax
ucomiss xmm1, xmm3
jne 0x18002931d
movaps xmm1, xmm0
cmp qword [0x180083f58], 0x10
lea r8, [0x180083f40]
mov r10, qword [0x180083f50]
mov ecx, r9d
cmovae r8, qword [0x180083f40]
mov rdx, r9
test r10, r10
je 0x180029373
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180029350
mov r11, qword [rbx + 0x278]
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
add r8d, 0x36
addss xmm1, dword [r11 + r8*4]
movss dword [r11 + r8*4], xmm1
xorps xmm1, xmm1
mov eax, dword [rdi + 0x14]
cvtsi2ss xmm1, rax
ucomiss xmm1, xmm3
jne 0x1800293c4
movaps xmm1, xmm0
cmp qword [0x180083678], 0x10
lea rdx, [0x180083660]
mov r8, qword [0x180083670]
mov rcx, r9
cmovae rdx, qword [0x180083660]
test r8, r8
je 0x180029416
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
inc rcx
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
cmp rcx, r8
jne 0x1800293f0
mov r11, qword [rbx + 0x278]
mov rbx, qword [rsp + 8]
lea ecx, [r9 + r9*8]
mov rdi, qword [rsp + 0x10]
mov edx, ecx
shr edx, 0xb
mov eax, 0x446f8657
xor edx, ecx
imul ecx, edx, 0x8001
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub ecx, eax
mov al, 1
add ecx, 0x36
addss xmm1, dword [r11 + rcx*4]
movss dword [r11 + rcx*4], xmm1
ret