Function at 0x100bf000
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 0x1009b6e0
lea ecx, [esi + 0x21]
mov dword [esp + 0x18], eax
call fcn.1009c4d0
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 0x100bf1d9
addss xmm0, dword [0x10226268]
addss xmm2, dword [0x10226268]
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 [0x10226564]
call fcn.101d58ae
cmp byte [ebx + 0x88], 1
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], edx
jne 0x100bf170
movss xmm0, dword [esi + 0x18]
call fcn.1005f380
movss xmm1, dword [0x10226164]
comiss xmm1, xmm0
jb 0x100bf162
movss xmm2, dword [esi + 0x1c]
movaps xmm0, xmm2
call fcn.1005f380
comiss xmm1, xmm0
jb 0x100bf135
movss xmm0, dword [esi + 0x20]
subss xmm0, dword [0x10226298]
call fcn.1005f380
comiss xmm1, xmm0
jb 0x100bf135
movss xmm0, dword [esi]
mulss xmm0, dword [0x10226540]
cvttss2si eax, xmm0
cdq
shld edx, eax, 0x10
shl eax, 0x10
jmp 0x100bf181
movss xmm1, dword [esp + 0x20]
movss xmm0, dword [esi]
mulss xmm1, xmm2
addss xmm1, dword [esi + 0x20]
divss xmm0, xmm1
mulss xmm0, dword [0x10226540]
cvttss2si eax, xmm0
cdq
shld edx, eax, 0x10
shl eax, 0x10
jmp 0x100bf181
mov eax, dword [esp + 0x24]
cdq
shld edx, eax, 0x10
shl eax, 0x10
jmp 0x100bf181
movss xmm0, dword [esi]
mulss xmm0, dword [0x10226564]
call fcn.101d58ae
mov ecx, 0x100befb0
test eax, eax
jne 0x100bf195
test edx, edx
jne 0x100bf195
mov ecx, 0x100bebd0
jmp 0x100bf1b2
mov esi, dword [esp + 0x1c]
mov esi, dword [esi + 0x58]
test esi, esi
jne 0x100bf1a7
mov ecx, 0x100bed20
jmp 0x100bf1b2
cmp esi, 2
mov ebx, 0x100bef50
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 [0x10226540]
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 [0x10226298]
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 0x100bf1e3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10