Function at 0x560130
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
push ebx
mov ebx, ecx
push esi
push edi
mov ecx, dword [ebx + 4]
mov esi, dword [ebx + 0x8c]
mov eax, dword [ebx + 0x84]
mov dword [esp + 0xc], eax
mov eax, dword [ecx + 0x5c]
mov dword [esp + 0x1c], ecx
lea edx, [esi + 0x2c]
push esi
push 0x540100
lea ecx, [esi + 0x21]
mov dword [esp + 0x18], eax
call fcn.00540ef0
mov edx, dword [ebp + 0xc]
add esp, 8
mov ecx, dword [ebp + 8]
mov edi, edx
mov eax, dword [esi + 0xc]
and edi, 1
mov dword [esp + 0x14], eax
lea esi, [ebx + 0x5c]
movd xmm0, edx
add edi, edi
movd xmm2, ecx
mov eax, ecx
and eax, 1
cvtdq2ps xmm2, xmm2
or edi, eax
shl edi, 8
cmp byte [ebx + 0x88], 2
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x18], xmm2
movss dword [esp + 0x20], xmm0
je 0x560309
addss xmm0, dword [0x6f2b28]
addss xmm2, dword [0x6f2b28]
lea eax, [esp + 0x28]
push eax
sub esp, 8
movss dword [esp + 4], xmm0
movss dword [esp], xmm2
push esi
call dword [esp + 0x1c]
movss xmm0, dword [esp + 0x38]
add esp, 0x10
mulss xmm0, dword [0x6f2e44]
call fcn.0067e8de
cmp byte [ebx + 0x88], 1
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], edx
jne 0x5602a0
movss xmm0, dword [esi + 0x18]
call fcn.004d5c30
movss xmm1, dword [0x6f2a2c]
comiss xmm1, xmm0
jb 0x560292
movss xmm2, dword [esi + 0x1c]
movaps xmm0, xmm2
call fcn.004d5c30
comiss xmm1, xmm0
jb 0x560265
movss xmm0, dword [esi + 0x20]
subss xmm0, dword [0x6f2b58]
call fcn.004d5c30
comiss xmm1, xmm0
jb 0x560265
movss xmm0, dword [esi]
mulss xmm0, dword [0x6f2e24]
cvttss2si eax, xmm0
cdq
shld edx, eax, 0x10
shl eax, 0x10
jmp 0x5602b1
movss xmm1, dword [esp + 0x20]
movss xmm0, dword [esi]
mulss xmm1, xmm2
addss xmm1, dword [esi + 0x20]
divss xmm0, xmm1
mulss xmm0, dword [0x6f2e24]
cvttss2si eax, xmm0
cdq
shld edx, eax, 0x10
shl eax, 0x10
jmp 0x5602b1
mov eax, dword [esp + 0x24]
cdq
shld edx, eax, 0x10
shl eax, 0x10
jmp 0x5602b1
movss xmm0, dword [esi]
mulss xmm0, dword [0x6f2e44]
call fcn.0067e8de
mov ecx, 0x5600e0
test eax, eax
jne 0x5602c5
test edx, edx
jne 0x5602c5
mov ecx, 0x55fd00
jmp 0x5602e2
mov esi, dword [esp + 0x1c]
mov esi, dword [esi + 0x58]
test esi, esi
jne 0x5602d7
mov ecx, 0x55fe50
jmp 0x5602e2
cmp esi, 2
mov ebx, 0x560080
cmove ecx, ebx
push dword [ebp + 0x14]
push edi
push dword [esp + 0x1c]
push dword [ebp + 0x10]
push dword [esp + 0x28]
push dword [esp + 0x20]
push edx
push eax
push dword [esp + 0x30]
call ecx
add esp, 0x24
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x28]
push eax
sub esp, 8
movss dword [esp + 4], xmm0
movss dword [esp], xmm2
push esi
call dword [esp + 0x1c]
movss xmm0, dword [esp + 0x38]
mulss xmm0, dword [0x6f2e24]
cvttss2si eax, xmm0
push eax
call dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
add esp, 0x14
movss xmm2, dword [esp + 0x18]
addss xmm2, dword [0x6f2b58]
movss xmm0, dword [esp + 0x20]
shr eax, 8
add eax, edi
xor edi, 0x100
movss dword [esp + 0x18], xmm2
mov eax, dword [ecx + eax*4]
mov dword [ebx], eax
add ebx, 4
sub dword [esp + 0x1c], 1
jne 0x560313
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10