Function at 0x18000f0e0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
push rbp
push rbx
push rdi
push r12
push r14
lea rbp, [rax - 0x68]
sub rsp, 0x140
test byte [rcx + 0xc], 0x42
mov r14d, r9d
mov rdi, qword [0x1801f6110]
mov r12, r8
mov rbx, rcx
jne 0x18000fa5d
cmp byte [rcx + 0x94], 0
jg 0x18000fa5d
cmp byte [rcx + 0x95], 0
jg 0x18000fa5d
cmp byte [rcx + 0x7f], 0
je 0x18000fa5d
movss xmm1, dword [rdi + 0x1930]
movss xmm0, dword [rbx + 0x40]
movaps xmm2, xmm1
addss xmm0, dword [0x1801eaff8]
movzx ecx, byte [rdi + 0xcb]
mulss xmm1, dword [0x1801eafb4]
mov qword [rax - 0x30], rsi
mulss xmm2, dword [0x1801eaffc]
mov qword [rax - 0x38], r13
xor r13b, r13b
mov qword [rax - 0x40], r15
addss xmm0, xmm1
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
xorps xmm8, xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
maxss xmm2, xmm0
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movss xmm13, dword [0x1801eb070]
movaps xmmword [rax - 0xd8], xmm14
movzx eax, cl
neg al
mov byte [rbp + 0x70], r13b
cvttss2si eax, xmm2
sbb r15d, r15d
and r15d, 4
mov dword [rsp + 0x70], r15d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1801eafe4]
cvttss2si eax, xmm0
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movss dword [rsp + 0x40], xmm7
test cl, cl
je 0x18000f212
movaps xmm11, xmm13
jmp 0x18000f216
xorps xmm11, xmm11
movss xmm12, dword [0x1801eb0f8]
xor ecx, ecx
movaps xmm9, xmm12
mov dword [rbx + 0x138], 1
movaps xmm10, xmm12
mov dword [rbx + 0x13c], 2
movaps xmm14, xmm12
mov dword [rsp + 0x34], 0x42555d2d
movaps xmm6, xmm12
mov dword [rsp + 0x38], 0x51495b
mov byte [rsp + 0x3c], 1
nop word [rax + rax]
lea eax, [rcx + 0xe]
xor byte [rsp + rcx + 0x34], al
inc rcx
cmp rcx, 7
jb 0x18000f260
lea rcx, [rsp + 0x34]
movaps xmmword [rsp + 0x80], xmm15
mov byte [rsp + 0x3c], r13b
call fcn.180013820
xor esi, esi
test r14d, r14d
jle 0x18000f60c
mov r13, qword [rbp + 0x90]
lea r14, [0x1801f4c88]
movss xmm15, dword [0x1801eb720]
movss xmm13, dword [rsp + 0x40]
movss xmm0, dword [rbx + 0x10]
movss xmm1, dword [rbx + 0x14]
movaps xmm3, xmm0
addss xmm3, dword [rbx + 0x18]
movaps xmm2, xmm1
addss xmm2, dword [rbx + 0x1c]
subss xmm3, xmm0
subss xmm2, xmm1
mulss xmm3, dword [r14 - 8]
mulss xmm2, dword [r14 - 4]
addss xmm3, xmm0
movss xmm0, dword [r14]
movaps xmm5, xmm0
mulss xmm0, xmm11
addss xmm2, xmm1
mulss xmm5, xmm13
movss xmm1, dword [r14 + 4]
movaps xmm4, xmm1
mulss xmm1, xmm11
addss xmm5, xmm3
mulss xmm4, xmm13
subss xmm3, xmm0
addss xmm4, xmm2
subss xmm2, xmm1
movss dword [rsp + 0x58], xmm5
comiss xmm3, xmm5
movss dword [rsp + 0x50], xmm3
movss dword [rsp + 0x54], xmm2
movss dword [rsp + 0x5c], xmm4
jbe 0x18000f345
movss dword [rsp + 0x50], xmm5
movss dword [rsp + 0x58], xmm3
comiss xmm2, xmm4
jbe 0x18000f356
movss dword [rsp + 0x54], xmm4
movss dword [rsp + 0x5c], xmm2
mov edx, esi
mov rcx, rbx
call fcn.18000b0e0
mov edx, eax
mov dword [rsp + 0x20], 0x2020
lea r9, [rsp + 0x31]
lea r8, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.1800290d0
movzx r12d, byte [rsp + 0x30]
movzx r15d, byte [rsp + 0x31]
test r12b, r12b
jne 0x18000f398
test r15b, r15b
je 0x18000f579
mov eax, esi
not eax
and eax, 1
add eax, 5
mov dword [rdi + 0x1ea8], eax
test r15b, r15b
je 0x18000f579
cmp byte [rdi + 0x42d], 0
je 0x18000f44c
test esi, esi
jne 0x18000f44c
mov rax, qword [rbp + 0x78]
lea rcx, [rsp + 0x34]
mov rdx, rbx
mov r8, qword [rax]
call fcn.18000ea50
mov rdx, qword [0x1801f6110]
mov byte [rbp + 0x70], 1
movss xmm14, dword [rax]
movss xmm6, dword [rax + 4]
mov ecx, dword [rdx + 0x1a80]
test ecx, ecx
setne al
mov byte [rdx + 0x1a8c], al
xor eax, eax
test ecx, ecx
je 0x18000f413
mov dword [rdx + 0x1a88], eax
mov word [rdx + 0x1a8e], ax
mov dword [rdx + 0x1a80], eax
mov qword [rdx + 0x1a94], 0
mov byte [rdx + 0x1a8d], 0
mov qword [rdx + 0x1aa8], rax
mov byte [rdx + 0x1a90], 0
test r15b, r15b
je 0x18000f58f
mov eax, 0x21
jmp 0x18000f59b
movss xmm6, dword [r14]
lea rcx, [rsp + 0x48]
movss xmm4, dword [r14 - 8]
movaps xmm0, xmm6
movss xmm5, dword [r14 - 4]
movaps xmm2, xmm13
movss xmm3, dword [r14 + 4]
xorps xmm2, xmm15
movss xmm7, dword [rdi + 0x134]
movaps xmm1, xmm3
subss xmm7, dword [rdi + 0x1aa0]
mulss xmm6, xmm2
mov rdx, rbx
mulss xmm0, xmm11
mulss xmm1, xmm11
subss xmm6, xmm0
mulss xmm3, xmm2
subss xmm3, xmm1
mulss xmm6, xmm4
addss xmm6, xmm0
mulss xmm3, xmm5
movss xmm0, dword [rdi + 0x130]
subss xmm0, dword [rdi + 0x1a9c]
addss xmm3, xmm1
movss xmm1, dword [rbx + 0x14]
movaps xmm10, xmm1
addss xmm1, dword [rbx + 0x1c]
addss xmm6, xmm0
movss xmm0, dword [rbx + 0x10]
addss xmm7, xmm3
movaps xmm9, xmm0
addss xmm0, dword [rbx + 0x18]
subss xmm9, xmm6
subss xmm10, xmm7
mulss xmm9, xmm4
mulss xmm10, xmm5
addss xmm9, xmm6
subss xmm6, xmm0
addss xmm10, xmm7
subss xmm7, xmm1
mulss xmm6, xmm4
mulss xmm7, xmm5
addss xmm6, xmm0
addss xmm7, xmm1
subss xmm6, xmm9
subss xmm7, xmm10
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r8, xmm0
call fcn.18000ea50
movss xmm0, dword [r14 - 8]
ucomiss xmm0, xmm8
movss xmm14, dword [rsp + 0x48]
jp 0x18000f559
jne 0x18000f559
movaps xmm0, xmm14
subss xmm0, xmm6
subss xmm9, xmm0
movss xmm0, dword [r14 - 4]
ucomiss xmm0, xmm8
movss xmm6, dword [rsp + 0x4c]
jp 0x18000f579
jne 0x18000f579
movaps xmm0, xmm6
subss xmm0, xmm7
subss xmm10, xmm0
test esi, esi
je 0x18000f439
test r15b, r15b
jne 0x18000f442
test r12b, r12b
je 0x18000f5d6
xor eax, eax
test r12b, r12b
setne al
add rax, 0x1f
mov rcx, qword [0x1801f6110]
add rax, 0xb
add rax, rax
movups xmm0, xmmword [rcx + rax*8 + 0x1568]
movups xmmword [rsp + 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rcx + 0x1568]
lea rcx, [rsp + 0x60]
movss dword [rsp + 0x6c], xmm0
call fcn.180009e50
mov dword [r13], eax
inc esi
add r14, 0x18
add r13, 4
cmp esi, dword [rbp + 0x88]
jl 0x18000f2b1
movss xmm13, dword [0x1801eb070]
movss xmm7, dword [rsp + 0x40]
mov r15d, dword [rsp + 0x70]
mov r12, qword [rbp + 0x80]
movzx r13d, byte [rbp + 0x70]
xor esi, esi
test r15d, r15d
je 0x18000f7ff
movss xmm15, dword [0x1801eafa4]
movaps xmm3, xmm7
movss dword [rsp + 0x20], xmm13
mov r8d, esi
lea rcx, [rsp + 0x60]
mov rdx, rbx
call fcn.18000ef90
lea ecx, [rsi + 4]
movsxd rdx, ecx
mov rcx, rbx
call fcn.18000b0e0
mov edx, eax
mov dword [rsp + 0x20], 0x20
lea r9, [rbp + 0x70]
lea r8, [rsp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.1800290d0
cmp byte [rsp + 0x30], 0
movzx ecx, byte [rbp + 0x70]
je 0x18000f67e
movss xmm0, dword [rdi + 0x1a78]
comiss xmm0, xmm15
ja 0x18000f686
test cl, cl
je 0x18000f7eb
mov eax, esi
and eax, 1
add eax, 3
mov dword [rdi + 0x1ea8], eax
test cl, cl
je 0x18000f7eb
movss xmm0, dword [rbx + 0x10]
movaps xmm11, xmm8
movss xmm1, dword [rbx + 0x14]
movaps xmm6, xmm0
mov dword [r12], esi
movaps xmm7, xmm1
movaps xmm12, xmm8
test esi, esi
jne 0x18000f6d3
movss xmm7, dword [rdi + 0x134]
subss xmm7, dword [rdi + 0x1aa0]
addss xmm7, xmm13
jmp 0x18000f73b
cmp esi, 1
jne 0x18000f6f8
movss xmm6, dword [rdi + 0x130]
subss xmm6, dword [rdi + 0x1a9c]
movss xmm12, dword [0x1801eaff8]
addss xmm6, xmm13
jmp 0x18000f73f
cmp esi, 2
jne 0x18000f721
movss xmm7, dword [rdi + 0x134]
movaps xmm12, xmm8
subss xmm7, dword [rdi + 0x1aa0]
movss xmm11, dword [0x1801eaff8]
addss xmm7, xmm13
jmp 0x18000f743
cmp esi, 3
jne 0x18000f743
movss xmm6, dword [rdi + 0x130]
subss xmm6, dword [rdi + 0x1a9c]
addss xmm6, xmm13
movaps xmm12, xmm8
movaps xmm11, xmm8
movaps xmm9, xmm0
lea rcx, [rsp + 0x48]
addss xmm0, dword [rbx + 0x18]
subss xmm9, xmm6
movaps xmm10, xmm1
addss xmm1, dword [rbx + 0x1c]
subss xmm10, xmm7
mov rdx, rbx
mulss xmm9, xmm12
mulss xmm10, xmm11
addss xmm9, xmm6
subss xmm6, xmm0
addss xmm10, xmm7
subss xmm7, xmm1
mulss xmm6, xmm12
mulss xmm7, xmm11
addss xmm6, xmm0
addss xmm7, xmm1
subss xmm6, xmm9
subss xmm7, xmm10
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r8, xmm0
call fcn.18000ea50
ucomiss xmm12, xmm8
movss xmm14, dword [rsp + 0x48]
jp 0x18000f7cb
jne 0x18000f7cb
movaps xmm0, xmm14
subss xmm0, xmm6
subss xmm9, xmm0
ucomiss xmm11, xmm8
movss xmm6, dword [rsp + 0x4c]
jp 0x18000f7e5
jne 0x18000f7e5
movaps xmm0, xmm6
subss xmm0, xmm7
subss xmm10, xmm0
movss xmm7, dword [rsp + 0x40]
inc esi
cmp esi, r15d
jl 0x18000f620
movss xmm12, dword [0x1801eb0f8]
mov rax, qword [0x1801f6110]
movaps xmm15, xmmword [rsp + 0x80]
movaps xmm13, xmmword [rsp + 0xa0]
mov r15, qword [rsp + 0x128]
mov rcx, qword [rax + 0x1a38]
mov rsi, qword [rsp + 0x138]
dec dword [rcx + 0xc0]
mov rax, qword [rdi + 0x1be0]
test rax, rax
je 0x18000f95b
cmp qword [rax + 0x360], rbx
jne 0x18000f95b
mov eax, dword [rdi + 0x1bc4]
cmp eax, 3
jne 0x18000f873
cmp byte [rdi + 0x149], 0
je 0x18000f95b
lea edx, [rax - 2]
lea rcx, [rbp + 0x70]
jmp 0x18000f884
cmp eax, 4
jne 0x18000f95b
lea edx, [rax - 2]
lea rcx, [rsp + 0x48]
movaps xmm3, xmm8
movss dword [rsp + 0x20], xmm8
call fcn.180015400
movss xmm7, dword [rax]
ucomiss xmm7, xmm8
movss xmm11, dword [rax + 4]
jp 0x18000f8b2
jne 0x18000f8b2
ucomiss xmm11, xmm8
jp 0x18000f8b2
je 0x18000f95b
movss xmm0, dword [rdi + 0x18]
lea rcx, [rsp + 0x60]
mulss xmm0, dword [0x1801eb0e0]
mov byte [rdi + 0x1c00], 0
movss xmm1, dword [rdi + 0xc0]
minss xmm1, dword [rdi + 0xc4]
mov byte [rdi + 0x1c0f], 1
mulss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm5, eax
mov rax, qword [0x1801f6110]
cvtdq2ps xmm5, xmm5
movups xmm0, xmmword [rax + 0x1828]
movups xmmword [rsp + 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1568]
movss dword [rsp + 0x6c], xmm0
call fcn.180009e50
mov rcx, qword [rbp + 0x90]
mov rdx, rbx
mulss xmm7, xmm5
mulss xmm11, xmm5
mov dword [rcx], eax
lea rcx, [rsp + 0x70]
addss xmm7, dword [rbx + 0x20]
addss xmm11, dword [rbx + 0x24]
movaps xmm0, xmm7
unpcklps xmm0, xmm11
movq r8, xmm0
call fcn.18000ea50
movss xmm14, dword [rax]
movss xmm6, dword [rax + 4]
ucomiss xmm14, xmm12
movaps xmm11, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0x100]
jp 0x18000f974
je 0x18000f9a2
test dword [rbx + 0xc], 0x100
mov rcx, qword [0x1801f6110]
movss dword [rbx + 0x20], xmm14
movss dword [rbx + 0x24], xmm6
jne 0x18000f9a2
comiss xmm8, dword [rcx + 0x2f08]
jb 0x18000f9a2
mov eax, dword [rcx + 0x1c]
mov dword [rcx + 0x2f08], eax
movaps xmm14, xmmword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0x110]
ucomiss xmm9, xmm12
movaps xmm12, xmmword [rsp + 0xb0]
jp 0x18000f9c4
je 0x18000fa09
test dword [rbx + 0xc], 0x100
mov rdx, qword [0x1801f6110]
cvttss2si eax, xmm9
movd xmm1, eax
cvttss2si eax, xmm10
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0x10], xmm1
movss dword [rbx + 0x14], xmm0
jne 0x18000fa09
comiss xmm8, dword [rdx + 0x2f08]
jb 0x18000fa09
mov ecx, dword [rdx + 0x1c]
mov dword [rdx + 0x2f08], ecx
movsd xmm0, qword [rbx + 0x20]
movzx eax, r13b
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm9, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
mov r13, qword [rsp + 0x130]
movsd qword [rbx + 0x18], xmm0
mov dword [rbx + 0x138], 0
mov dword [rbx + 0x13c], 1
add rsp, 0x140
pop r14
pop r12
pop rdi
pop rbx
pop rbp
ret
xor al, al
add rsp, 0x140
pop r14
pop r12
pop rdi
pop rbx
pop rbp
ret