Function at 0x100266d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x12c
mov eax, dword [0x10047014]
xor eax, esp
mov dword [esp + 0x128], eax
push ebx
push esi
push edi
mov edi, dword [0x1006f180]
mov ebx, edx
mov dword [esp + 0x1c], ecx
mov edx, dword [edi + 0x1928]
mov esi, edx
mov dword [esp + 0x18], edx
movss xmm3, dword [esi + 0xc8]
movss xmm5, dword [esi + 0xcc]
movss xmm4, dword [esi + 0x220]
mov ecx, dword [esi + 0x1c4]
movss xmm2, dword [esi + 0x21c]
subss xmm3, dword [esi + 0xc]
subss xmm5, dword [esi + 0x10]
subss xmm4, dword [esi + 0x10]
subss xmm2, dword [esi + 0xc]
test ecx, ecx
je 0x1002677e
mov edx, dword [ecx + 0xc]
movss xmm0, dword [ecx + 0x14]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
lea ecx, [edx*8]
sub ecx, edx
mov edx, dword [esi + 0x1c4]
movss xmm2, dword [edx + 0x18]
mov eax, dword [edx + 0x34]
subss xmm2, xmm0
mov edx, esi
mulss xmm2, dword [eax + ecx*4]
addss xmm2, xmm0
subss xmm2, dword [esi + 0x3c]
mov ecx, dword [ebp + 8]
subss xmm4, xmm5
xorps xmm5, xmm5
subss xmm2, xmm3
movss xmm3, dword [0x10043cd8]
mov esi, 1
cvttss2si eax, dword [ecx]
movd xmm1, eax
cvttss2si eax, dword [ecx + 4]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
ucomiss xmm1, xmm5
cvtdq2ps xmm0, xmm0
lahf
xor ecx, ecx
test ah, 0x44
cmovnp ecx, esi
ucomiss xmm0, xmm5
lahf
xor esi, esi
test ah, 0x44
mov eax, 2
cmovnp esi, eax
or esi, ecx
comiss xmm5, xmm1
mov dword [esp + 0xc], esi
jb 0x100267e4
addss xmm1, xmm2
comiss xmm1, xmm3
jae 0x100267e4
movaps xmm1, xmm3
comiss xmm5, xmm0
jb 0x100267f5
addss xmm0, xmm4
comiss xmm0, xmm3
jae 0x100267f5
movaps xmm0, xmm3
mov ecx, dword [esp + 0x1c]
movss dword [edi + 0x19e4], xmm1
movss dword [edi + 0x19e8], xmm0
mov dword [edi + 0x19bc], 1
mov eax, dword [edx]
push ebx
test ecx, ecx
je 0x10026835
push ecx
push eax
push str._s__s__08X
lea eax, [esp + 0x40]
push 0x100
push eax
call fcn.1000c5d0
add esp, 0x18
jmp 0x1002684d
push eax
push str._s__08X
lea eax, [esp + 0x3c]
push 0x100
push eax
call fcn.1000c5d0
add esp, 0x14
movss xmm0, dword [edi + 0x1530]
lea ecx, [esp + 0x30]
push 0x1000107
xor edx, edx
movss dword [esp + 0x24], xmm0
mov dword [edi + 0x1530], 0
call fcn.100172b0
mov esi, dword [edi + 0x1928]
add esp, 4
movss xmm0, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
movss dword [edi + 0x1530], xmm0
cmp dword [esi + 0x88], 1
mov byte [esp + 0x17], al
mov dword [esi + 0x50], ebx
mov dword [esi + 0x9c], ecx
jne 0x100268bc
mov edx, dword [esp + 0x18]
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov dword [edx + 0xc8], ecx
mov dword [edx + 0xcc], eax
cmp dword [edi + 0x1a2c], ebx
jne 0x100268fa
cmp dword [esi + 0x138], 0
jne 0x100268d6
cmp byte [esi + 0x12d], 0
je 0x100268fa
mov ecx, esi
call fcn.1001b8e0
xor dl, dl
mov ecx, esi
call fcn.1000e8e0
lea ecx, [ebx + 1]
mov edx, esi
call fcn.1000d810
mov dword [edi + 0x196c], 2
mov eax, dword [0x1006f180]
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x18]
push 0xf
mov eax, dword [eax + 0x1928]
push ecx
mov ecx, dword [ebx + 0x27c]
mov dword [esp], 0x3f800000
movss xmm1, dword [eax + 0xc]
movss xmm2, dword [eax + 0x10]
movaps xmm0, xmm1
addss xmm0, dword [edi]
addss xmm1, dword [0x10043bf8]
push 0xff1a1816
lea eax, [esp + 0x18]
push eax
movss dword [esp + 0x1c], xmm0
lea eax, [esp + 0x30]
movaps xmm0, xmm2
movss dword [esp + 0x30], xmm1
addss xmm0, dword [edi + 4]
addss xmm2, dword [0x10043cdc]
push eax
movss dword [esp + 0x24], xmm0
movss dword [esp + 0x38], xmm2
call fcn.10034be0
mov eax, dword [0x1006f180]
push 0xf
push ecx
mov ecx, dword [ebx + 0x27c]
mov eax, dword [eax + 0x1928]
mov dword [esp], 0
push 0xffbe9270
movss xmm1, dword [eax + 0xc]
movss xmm2, dword [eax + 0x10]
movaps xmm0, xmm1
addss xmm0, dword [edi]
addss xmm1, dword [0x10043bf8]
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x30]
movss dword [esp + 0x1c], xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x10043d10]
addss xmm2, dword [0x10043d08]
push eax
movss dword [esp + 0x34], xmm1
movss dword [esp + 0x24], xmm0
movss dword [esp + 0x38], xmm2
call fcn.10034be0
mov eax, dword [0x1006f180]
mov esi, dword [ebx + 0x27c]
mov ecx, esi
push 0xf
mov eax, dword [eax + 0x1928]
test byte [esi + 0x24], 1
movss xmm1, dword [eax + 0xc]
movss xmm2, dword [eax + 0x10]
movaps xmm3, xmm1
addss xmm3, dword [edi]
addss xmm1, dword [0x10043bf8]
lea eax, [esp + 0x10]
movaps xmm4, xmm2
addss xmm4, dword [edi + 4]
addss xmm2, dword [0x10043cdc]
push eax
lea eax, [esp + 0x28]
push eax
je 0x10026a4c
movss xmm0, dword [0x10043c50]
subss xmm3, xmm0
subss xmm4, xmm0
addss xmm1, xmm0
addss xmm2, xmm0
jmp 0x10026a6c
subss xmm3, dword [0x10043c4c]
subss xmm4, dword [0x10043c4c]
addss xmm1, dword [0x10043c50]
addss xmm2, dword [0x10043c50]
movss dword [esp + 0x18], xmm3
movss xmm3, dword [0x10043c74]
movss dword [esp + 0x1c], xmm4
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x30], xmm2
call fcn.10034650
push ecx
mov dword [esp], 0x3f800000
mov ecx, esi
push 1
push 0xff201e1c
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.10033300
mov ecx, dword [esi + 0x58]
test ecx, ecx
jns 0x10026acd
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [esi + 0x54]
call fcn.100274b0
mov eax, dword [0x1006f180]
xorps xmm2, xmm2
push 0
push ecx
mov dword [esi + 0x54], 0
mov eax, dword [eax + 0x1928]
mov ecx, dword [ebx + 0x27c]
mov dword [esp], 0
push 0
push dword [esp + 0x28]
movss xmm0, dword [eax + 0xc]
movss xmm1, dword [eax + 0x10]
lea eax, [esp + 0x1c]
addss xmm0, dword [0x10043cdc]
addss xmm1, dword [0x10043ce4]
push 0xffc8c8c8
push eax
push 0
movss dword [esp + 0x28], xmm0
movss dword [esp + 0x2c], xmm1
call fcn.10034ec0
mov ecx, edi
mov dword [esp + 0x10], 0x41f00000
mov dword [esp + 0x20], 0xa091735
mov dword [esp + 0x24], 0x340b0503
mov dword [esp + 0x28], 0x382e2b
movss xmm0, dword [ecx]
xor ecx, ecx
movss dword [esp + 0xc], xmm0
mov byte [esp + 0x2c], 1
mov al, cl
add al, 0x66
xor byte [esp + ecx + 0x20], al
inc ecx
cmp ecx, 0xb
jb 0x10026b62
lea edx, [esp + 0xc]
mov byte [esp + 0x2c], 0
lea ecx, [esp + 0x20]
call fcn.1001cf90
mov ecx, dword [esp + 0x134]
mov al, byte [esp + 0x17]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1003a8e0
mov esp, ebp
pop ebp
ret