Function at 0x140047ed0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x60
mov rax, qword [0x1400a7fc0]
xor rax, rsp
mov qword [rsp + 0x30], rax
movss xmm1, dword [rcx + 0xc]
xor r11d, r11d
movss xmm0, dword [rcx + 0x10]
mov rbx, rcx
movss xmm2, dword [rcx + 0x14]
mov esi, 1
mov rdi, qword [rcx]
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm7
xorps xmm7, xmm7
ucomiss xmm1, xmm7
movss dword [rsp + 0x20], xmm1
movss dword [rsp + 0x24], xmm0
movss dword [rsp + 0x28], xmm2
jp 0x140047f5e
jne 0x140047f5e
ucomiss xmm0, xmm7
jp 0x140047f5e
jne 0x140047f5e
ucomiss xmm2, xmm7
jp 0x140047f5e
jne 0x140047f5e
lea rdx, [rsp + 0x20]
call fcn.140047bb0
movss xmm2, dword [rsp + 0x28]
mov r11d, esi
movss xmm0, dword [rsp + 0x24]
movss xmm1, dword [rsp + 0x20]
comiss xmm7, xmm0
movss xmm6, dword [0x14009bb50]
jbe 0x140047f6e
xorps xmm0, xmm6
comiss xmm7, xmm1
jbe 0x140047f76
xorps xmm1, xmm6
xor r10d, r10d
comiss xmm0, xmm1
cmova r10d, esi
comiss xmm7, xmm2
jbe 0x140047f88
xorps xmm2, xmm6
movss xmm0, dword [rsp + r10*4 + 0x20]
comiss xmm7, xmm0
jbe 0x140047f97
xorps xmm0, xmm6
mov eax, 2
comiss xmm2, xmm0
cmova r10d, eax
mov eax, 0xaaaaaaab
movss xmm1, dword [rsp + r10*4 + 0x20]
lea r8d, [r10 + 1]
mul r8d
mov dword [rbx + r10*4 + 0x18], 0
mov eax, 0xaaaaaaab
shr edx, 1
lea ecx, [rdx + rdx*2]
sub r8d, ecx
lea ecx, [r10 + 2]
mul ecx
movsxd r8, r8d
shr edx, 1
mov dword [rbx + r8*4 + 0x18], 0x3f800000
lea eax, [rdx + rdx*2]
sub ecx, eax
comiss xmm1, xmm7
movsxd rax, ecx
mov dword [rbx + rax*4 + 0x18], 0
mov dword [rbx + r10*4 + 0x24], 0
jbe 0x140048008
movss xmm0, dword [0x14009b55c]
jmp 0x14004800b
xorps xmm0, xmm0
movss dword [rbx + r8*4 + 0x24], xmm0
jbe 0x14004801e
movss xmm0, dword [0x14009b470]
jmp 0x140048026
movss xmm0, dword [0x14009b56c]
movss dword [rbx + rax*4 + 0x24], xmm0
mov rax, qword [rdi]
cmp rax, rdi
je 0x140048098
nop dword [rax]
nop dword [rax + rax]
movss xmm5, dword [rax + 0x1c]
movss xmm3, dword [rax + 0x18]
movaps xmm0, xmm5
mulss xmm0, dword [rbx + 0x1c]
movaps xmm2, xmm3
mulss xmm2, dword [rbx + 0x18]
movss xmm4, dword [rax + 0x20]
movaps xmm1, xmm4
mulss xmm1, dword [rbx + 0x20]
addss xmm2, xmm0
addss xmm2, xmm1
movss dword [rax + 0x24], xmm2
mulss xmm5, dword [rbx + 0x28]
mulss xmm3, dword [rbx + 0x24]
mulss xmm4, dword [rbx + 0x2c]
addss xmm5, xmm3
addss xmm5, xmm4
movss dword [rax + 0x28], xmm5
mov rax, qword [rax]
cmp rax, rdi
jne 0x140048040
test r11d, r11d
je 0x140048161
mov r11, qword [rbx]
movaps xmm2, xmm7
mov r10, qword [r11 + 0x38]
mov qword [rsp + 0x78], r14
lea r14, [r11 + 0x38]
cmp r10, r14
je 0x14004815c
nop dword [rax]
mov r9, qword [r10 + 0x10]
mov r8, r9
cmp dword [r9 + 0x38], 0
jle 0x140048101
nop
mov rdx, qword [r8 + 0x20]
mov rax, qword [r8 + 8]
mov r8, qword [r8 + 0x18]
movss xmm1, dword [rdx + 0x24]
mov rcx, qword [rax + 0x20]
movss xmm0, dword [rcx + 0x28]
addss xmm0, dword [rdx + 0x28]
subss xmm1, dword [rcx + 0x24]
mulss xmm1, xmm0
addss xmm2, xmm1
cmp r8, r9
jne 0x1400480d0
mov r10, qword [r10]
cmp r10, r14
jne 0x1400480c0
comiss xmm7, xmm2
jbe 0x14004815c
mov rax, qword [r11]
cmp rax, r11
je 0x140048135
nop word [rax + rax]
movss xmm0, dword [rax + 0x28]
xorps xmm0, xmm6
movss dword [rax + 0x28], xmm0
mov rax, qword [rax]
cmp rax, r11
jne 0x140048120
movss xmm0, dword [rbx + 0x24]
movss xmm1, dword [rbx + 0x28]
xorps xmm0, xmm6
movss dword [rbx + 0x24], xmm0
xorps xmm1, xmm6
movss xmm0, dword [rbx + 0x2c]
xorps xmm0, xmm6
movss dword [rbx + 0x28], xmm1
movss dword [rbx + 0x2c], xmm0
mov r14, qword [rsp + 0x78]
mov rax, qword [rdi]
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x50]
cmp rax, rdi
je 0x1400481df
movss xmm1, dword [rax + 0x24]
test esi, esi
je 0x140048194
movss dword [rbx + 0x38], xmm1
xor esi, esi
movss dword [rbx + 0x30], xmm1
movss xmm0, dword [rax + 0x28]
movss dword [rbx + 0x34], xmm0
jmp 0x1400481d2
movss xmm0, dword [rbx + 0x30]
comiss xmm0, xmm1
jbe 0x1400481a3
movss dword [rbx + 0x30], xmm1
movss xmm0, dword [rax + 0x24]
comiss xmm0, dword [rbx + 0x38]
jbe 0x1400481b3
movss dword [rbx + 0x38], xmm0
movss xmm1, dword [rax + 0x28]
movss xmm0, dword [rbx + 0x34]
comiss xmm0, xmm1
jbe 0x1400481c7
movss dword [rbx + 0x34], xmm1
movss xmm0, dword [rax + 0x28]
comiss xmm0, dword [rbx + 0x3c]
jbe 0x1400481d7
movss dword [rbx + 0x3c], xmm0
mov rax, qword [rax]
cmp rax, rdi
jne 0x140048173
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.14006f340
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret