Function at 0x180029460
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
mov eax, dword [rdx]
mov rdi, rdx
movss xmm0, dword [0x180074be8]
mov rbx, rcx
test eax, eax
je 0x180029488
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
jmp 0x18002948b
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 0x1800294dc
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 0x1800294c0
mov r10, 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 [r10 + r8*4]
movss dword [r10 + r8*4], xmm1
mov eax, dword [rdi + 8]
test eax, eax
je 0x180029532
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
jmp 0x180029535
movaps xmm1, xmm0
cmp qword [0x180083858], 0x10
lea r8, [0x180083840]
mov r11, qword [0x180083850]
mov ecx, r9d
cmovae r8, qword [0x180083840]
mov rdx, r9
test r11, r11
je 0x18002957c
nop
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, r11
jne 0x180029560
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 [r10 + r8*4]
movss dword [r10 + r8*4], xmm1
mov eax, dword [rdi + 0x10]
test eax, eax
je 0x1800295cb
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
jmp 0x1800295ce
movaps xmm1, xmm0
cmp qword [0x180083778], 0x10
lea r8, [0x180083760]
mov r11, qword [0x180083770]
mov ecx, r9d
cmovae r8, qword [0x180083760]
mov rdx, r9
test r11, r11
je 0x18002961c
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, r11
jne 0x180029600
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 [r10 + r8*4]
movss dword [r10 + r8*4], xmm1
mov eax, dword [rdi + 0x18]
test eax, eax
je 0x18002966b
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
jmp 0x18002966e
movaps xmm1, xmm0
cmp qword [0x1800835b8], 0x10
lea r8, [0x1800835a0]
mov r11, qword [0x1800835b0]
mov ecx, r9d
cmovae r8, qword [0x1800835a0]
mov rdx, r9
test r11, r11
je 0x1800296bc
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, r11
jne 0x1800296a0
lea eax, [rcx + rcx*8]
xorps xmm2, xmm2
mov ecx, eax
xorps xmm3, xmm3
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 [r10 + r8*4]
movss dword [r10 + r8*4], xmm1
mov eax, dword [rdi + 0x20]
cvtsi2ss xmm2, rax
ucomiss xmm2, xmm3
jne 0x180029710
movaps xmm2, xmm0
cmp qword [0x180083f58], 0x10
lea r8, [0x180083f40]
mov r11, qword [0x180083f50]
mov ecx, r9d
cmovae r8, qword [0x180083f40]
mov rdx, r9
test r11, r11
je 0x180029763
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, r11
jne 0x180029740
mov r10, qword [rbx + 0x278]
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 [r10 + r8*4]
movss dword [r10 + r8*4], xmm2
mov eax, dword [rdi + 0x24]
cvtsi2ss xmm1, rax
ucomiss xmm1, xmm3
jne 0x1800297b4
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 0x180029806
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 0x1800297e0
mov r10, 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 [r10 + rcx*4]
movss dword [r10 + rcx*4], xmm1
ret