Function at 0x1013ade0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1039756d
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x188
mov eax, dword [0x1049b0c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [0x1054ade8]
mov eax, dword [ebx + 0x10]
movss xmm0, dword [0x1206f170]
mov esi, dword [ebx + 8]
mov edi, dword [ebx + 0x1c]
mov dword [ebp - 0x128], eax
mov eax, dword [ecx + 0x19b0]
mov dword [ebp - 0x130], esi
mov dword [ebp - 0xbc], edi
movss dword [ebp - 0xfc], xmm0
mov byte [eax + 0xa4], 1
mov eax, dword [ecx + 0x19b0]
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0x100], eax
cmp byte [eax + 0xa7], 0
jne 0x1013bea2
mov ecx, dword [eax + 0xec]
xor edx, edx
mov eax, dword [eax + 0xf4]
push dword [eax + ecx*4 - 4]
mov ecx, esi
call fcn.100d21c0
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xc8], ecx
cmp dword [eax + 0x19ec], ecx
jne 0x1013aeb6
mov dword [eax + 0x19f0], ecx
cmp dword [eax + 0x1a20], ecx
jne 0x1013aec5
mov byte [eax + 0x1a24], 1
mov ecx, esi
cmp esi, 0xffffffff
jae 0x1013aee6
nop dword [eax]
mov dl, byte [ecx]
test dl, dl
je 0x1013aee6
cmp dl, 0x23
jne 0x1013aee0
cmp byte [ecx + 1], dl
je 0x1013aee6
inc ecx
cmp ecx, 0xffffffff
jb 0x1013aed0
xorps xmm0, xmm0
cmp esi, ecx
jne 0x1013aef7
movss dword [ebp - 0x12c], xmm0
jmp 0x1013af55
movss xmm2, dword [eax + 0x18c4]
push ecx
push ecx
push esi
push ecx
lea ecx, [ebp - 0xd0]
mov dword [esp], 0xbf800000
push ecx
mov ecx, dword [eax + 0x18c0]
call fcn.100f07f0
movss xmm0, dword [ebp - 0xd0]
addss xmm0, dword [0x1046f0f4]
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, dword [ebp - 0xdc]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x12c], xmm0
movss xmm0, dword [ebp - 0xcc]
movss dword [ebp - 0xcc], xmm0
mov ecx, dword [ebp - 0x100]
movss xmm0, dword [ecx + 0xfc]
movss xmm2, dword [ecx + 0xf8]
movaps xmm1, xmm0
addss xmm1, dword [0x1046f2d4]
movaps xmm3, xmm2
movss dword [ebp - 0x11c], xmm2
addss xmm3, dword [0x1046f3c0]
lea ecx, [ebp - 0xd0]
movss dword [ebp - 0x118], xmm0
movss dword [ebp - 0xf8], xmm2
movss dword [ebp - 0x110], xmm1
addss xmm1, dword [0x1046f1d8]
movss dword [ebp - 0x114], xmm3
movss dword [ebp - 0xf0], xmm3
subss xmm3, xmm2
movss dword [ebp - 0xf4], xmm0
movss dword [ebp - 0xec], xmm1
subss xmm1, xmm0
movss dword [ebp - 0xd0], xmm3
movss dword [ebp - 0xcc], xmm1
movss xmm1, dword [eax + 0x154c]
call fcn.100d4b30
mov edx, dword [ebp - 0xc8]
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0xf8]
call fcn.100d4c60
add esp, 4
test al, al
je 0x1013bea2
test edi, edi
jne 0x1013b02b
mov edi, 0x10464ea0
mov dword [ebp - 0xbc], edi
jmp 0x1013b1b9
lea eax, [ebp - 0x98]
mov ecx, 0x10530920
push eax
call fcn.1004f260
cmp dword [ebp - 0x84], 0xf
lea eax, [ebp - 0x98]
mov ecx, edi
cmova eax, dword [ebp - 0x98]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x1013b072
test dl, dl
je 0x1013b06e
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x1013b072
add ecx, 2
add eax, 2
test dl, dl
jne 0x1013b052
xor eax, eax
jmp 0x1013b077
sbb eax, eax
or eax, 1
lea ecx, [ebp - 0x98]
test eax, eax
je 0x1013b12f
call fcn.10033ed0
mov al, byte [edi]
cmp al, 0x25
jne 0x1013b0b8
cmp byte [edi + 1], 0x2e
jne 0x1013b0b8
cmp byte [edi + 2], 0x30
jne 0x1013b0b8
cmp byte [edi + 3], 0x66
jne 0x1013b0b8
cmp byte [edi + 4], 0
jne 0x1013b0b8
mov edi, 0x10464ea0
mov dword [ebp - 0xbc], edi
jmp 0x1013b1b9
test al, al
je 0x1013b0d2
nop dword [eax]
cmp al, 0x25
jne 0x1013b0ca
cmp byte [edi + 1], al
jne 0x1013b0d2
inc edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x1013b0c0
mov ecx, edi
call fcn.100f9460
mov dword [ebp - 0xb8], eax
cmp eax, edi
jbe 0x1013b1b3
cmp byte [eax - 1], 0x66
jne 0x1013b1b3
cmp edi, dword [ebp - 0xbc]
jne 0x1013b139
cmp byte [eax], 0
jne 0x1013b139
lea eax, [ebp - 0xb0]
mov ecx, 0x10530910
push eax
call fcn.1004f260
cmp dword [ebp - 0x9c], 0xf
lea edi, [ebp - 0xb0]
lea ecx, [ebp - 0xb0]
cmova edi, dword [ebp - 0xb0]
mov dword [ebp - 0xbc], edi
call fcn.10033ed0
jmp 0x1013b1b9
mov esi, dword [0x1054ade8]
lea eax, [ebp - 0x80]
push eax
mov ecx, 0x105308f0
call fcn.100564a0
mov ecx, dword [ebp - 0xbc]
lea eax, [ebp - 0x80]
mov dword [ebp - 4], 0
push dword [ebp - 0xb8]
cmp dword [ebp - 0x6c], 0xf
push ecx
cmova eax, dword [ebp - 0x80]
sub edi, ecx
push edi
push eax
add esi, 0x2fb8
push 0xc01
push esi
call fcn.100d2180
mov dword [ebp - 4], 0xffffffff
add esp, 0x18
mov eax, dword [ebp - 0x6c]
cmp eax, 0xf
jbe 0x1013b1a3
push eax
push dword [ebp - 0x80]
lea eax, [ebp - 0x80]
push eax
call fcn.10034640
add esp, 0xc
mov edi, esi
mov esi, dword [ebp - 0x130]
mov dword [ebp - 0xbc], edi
jmp 0x1013b1b9
mov edi, dword [ebp - 0xbc]
mov eax, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1013b1c0
xor edx, edx
test ecx, ecx
je 0x1013b1f3
mov edi, eax
nop
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013b1d0
mov dword [ebp - 0xb8], edi
mov edi, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xb8]
add eax, 0xd20a71a6
mov ecx, 0x1206f124
mov dword [ebp - 0x120], eax
lea eax, [ebp - 0x120]
push eax
call fcn.101326b0
mov dword [ebp - 0xc0], eax
xor ecx, ecx
mov eax, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x1013b220
xor edx, edx
test ecx, ecx
je 0x1013b253
mov edi, eax
nop
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013b230
mov dword [ebp - 0xb8], edi
mov edi, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xb8], eax
mov ecx, 0x1206f124
lea eax, [ebp - 0xb8]
push eax
call fcn.101326b0
mov edx, dword [ebp - 0xc8]
lea ecx, [ebp - 0x11c]
call fcn.100d4e50
mov ecx, dword [0x1055d084]
mov esi, dword [ebp - 0xc0]
add ecx, 0x8227453d
movzx eax, al
xor ecx, 0xb5eaaa9f
add esi, 4
movss xmm2, dword [ecx + 4]
mulss xmm2, dword [0x1046f1e0]
movss xmm0, dword [esi]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.10049560
comiss xmm0, dword [0x1046ef44]
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xc4], 0x3f800000
lea eax, [ebp - 0xc4]
mov dword [ebp - 0xb8], 0
movss xmm1, dword [0x1046f104]
movss dword [esi], xmm0
cmovae ecx, esi
comiss xmm1, xmm0
cmovae eax, ecx
mov eax, dword [eax]
mov dword [esi], eax
mov eax, dword [0x1055d084]
mov esi, dword [ebp - 0xc0]
add eax, 0x8227453d
xor eax, 0xb5eaaa9f
add esi, 8
movss xmm2, dword [eax + 4]
mulss xmm2, dword [0x1046f11c]
movss xmm0, dword [esi]
call fcn.10049560
comiss xmm0, dword [0x1046ef44]
lea ecx, [ebp - 0xb8]
mov edx, dword [ebp - 0xc8]
lea eax, [ebp - 0xc4]
mov dword [ebp - 0xc4], 0x3f800000
mov dword [ebp - 0xb8], 0
movss xmm1, dword [0x1046f104]
movss xmm2, dword [ebp - 0x11c]
addss xmm2, dword [0x1046f218]
movss dword [esi], xmm0
cmovae ecx, esi
comiss xmm1, xmm0
movss xmm0, dword [ebp - 0x118]
movaps xmm3, xmm2
addss xmm0, dword [0x1046f270]
addss xmm3, dword [0x1046f3ac]
cmovae eax, ecx
movss dword [ebp - 0x140], xmm2
lea ecx, [ebp - 0x140]
movaps xmm1, xmm0
movss dword [ebp - 0x13c], xmm0
addss xmm1, dword [0x1046f258]
mov eax, dword [eax]
mov dword [esi], eax
movss dword [ebp - 0xb8], xmm2
movss dword [ebp - 0xc4], xmm0
movss dword [ebp - 0xcc], xmm3
movss dword [ebp - 0xe0], xmm1
movss dword [ebp - 0x138], xmm3
movss dword [ebp - 0x134], xmm1
call fcn.100d4e50
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0x100]
mov byte [ebp - 0xe5], al
call fcn.100d4f40
cmp byte [ebp - 0xe5], 0
mov esi, dword [ebp - 0xdc]
mov byte [ebp - 0xb1], al
je 0x1013b424
cmp byte [esi + 0x3d8], 0
je 0x1013b424
mov cl, 1
jmp 0x1013b426
xor cl, cl
test al, al
jne 0x1013b446
test cl, cl
mov ecx, dword [ebp - 0xc8]
jne 0x1013b44c
cmp dword [esi + 0x1b08], ecx
je 0x1013b44c
cmp dword [esi + 0x1b14], ecx
jne 0x1013b493
jmp 0x1013b44c
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0x100]
call fcn.100d48e0
call fcn.100d49c0
mov ecx, edx
call fcn.100dbb70
or dword [esi + 0x1a00], 3
cmp byte [ebp - 0xb1], 0
jne 0x1013b481
mov eax, dword [ebp - 0xc8]
cmp dword [esi + 0x1b14], eax
jne 0x1013b493
mov eax, dword [ebp - 0x100]
dec dword [eax + 0x19c]
dec dword [eax + 0x1a0]
mov esi, dword [ebp - 0xc0]
mov cl, 0xd9
mov dword [ebp - 0xdc], 0xff
mov dword [ebp - 0xc0], 0
push 0xf
movss xmm1, dword [esi + 4]
movaps xmm0, xmm1
mulss xmm1, dword [0x1046f280]
mulss xmm0, dword [0x1046f4e4]
addss xmm1, dword [0x1046f244]
cvttss2si eax, xmm0
mulss xmm1, dword [ebp - 0xfc]
sub cl, al
lea eax, [ebp - 0x100]
mov byte [ebp - 0xb1], cl
lea ecx, [ebp - 0xc0]
cvttss2si edx, xmm1
test edx, edx
mov dword [ebp - 0x100], edx
cmovns ecx, eax
cmp edx, 0xff
lea eax, [ebp - 0xdc]
cmovle eax, ecx
mov cl, byte [eax]
movzx eax, byte [ebp - 0xb1]
push ecx
mov dword [esp], 0x40800000
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, cl
lea ecx, [ebp - 0xf8]
mulss xmm0, dword [0x1046efa4]
movss dword [ebp - 0xf8], xmm0
movss dword [ebp - 0xf4], xmm0
movss dword [ebp - 0xf0], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1046efa4]
movss dword [ebp - 0xec], xmm0
call fcn.1004a1d0
mov ecx, dword [0x1206e634]
push eax
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.100ece10
movss xmm0, dword [ebp - 0xcc]
movss xmm1, dword [ebp - 0xc4]
movss xmm2, dword [ebp - 0xe0]
movss dword [ebp - 0x148], xmm0
movss xmm0, dword [ebp - 0xfc]
mulss xmm0, dword [0x1046f310]
push 0xf
addss xmm1, dword [0x1046f208]
subss xmm2, dword [0x1046f208]
movss xmm3, dword [ebp - 0xb8]
cvttss2si eax, xmm0
push ecx
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 0
mov dword [esp], 0x40400000
movss dword [ebp - 0xc4], xmm1
movzx eax, al
movss dword [ebp - 0x150], xmm3
movss dword [ebp - 0x14c], xmm1
movss dword [ebp - 0x144], xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1046efa4]
movss dword [ebp - 0xec], xmm0
call fcn.1004a1d0
mov ecx, dword [0x1206e634]
push eax
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.100ece10
mov edx, dword [ebp - 0xc8]
lea eax, [ebp - 0x160]
push eax
mov eax, dword [ebx + 0x18]
sub esp, 8
xorps xmm0, xmm0
movups xmmword [ebp - 0x160], xmm0
push edi
push dword [eax]
mov eax, dword [ebx + 0x14]
push dword [eax]
push dword [ebp - 0x128]
push ecx
lea ecx, [ebp - 0x140]
call fcn.10103bb0
add esp, 0x20
mov byte [ebp - 0xb1], al
test al, al
je 0x1013b6b9
mov ecx, dword [0x1054ade8]
mov word [ecx + 0x19fb], 0x101
mov ecx, dword [ecx + 0x19b0]
or dword [ecx + 0x144], 4
movups xmm1, xmmword [ebp - 0x160]
movss xmm5, dword [ebp - 0x158]
comiss xmm5, xmm1
movss xmm6, dword [0x1046f094]
jbe 0x1013bc8e
movss xmm2, dword [0x1046f3bc]
movaps xmm3, xmm1
movss xmm0, dword [0x10520f88]
mulss xmm0, xmm2
mov dword [ebp - 0xc0], 0xff
shufps xmm3, xmm1, 0x55
addss xmm3, dword [0x1046f208]
cvttss2si eax, xmm0
mov dword [ebp - 0xcc], 0
movss xmm0, dword [0x10520f84]
mulss xmm0, xmm2
movzx eax, al
movss xmm7, dword [0x1046efa4]
movups xmmword [ebp - 0x80], xmm3
cvttss2si ecx, xmm0
movss xmm0, dword [0x10520f80]
movd xmm4, eax
lea eax, [ebp - 0xe0]
mulss xmm0, xmm2
mov dword [ebp - 0xc8], ecx
cvtdq2ps xmm4, xmm4
cvttss2si ecx, xmm0
movss xmm0, dword [0x10520f7c]
mulss xmm4, dword [ebp - 0xfc]
mov dword [ebp - 0xdc], ecx
mulss xmm0, xmm2
movaps xmm2, xmm1
cvttss2si edx, xmm4
cvttss2si ecx, xmm0
test edx, edx
mov dword [ebp - 0xe0], edx
shufps xmm2, xmm1, 0xff
subss xmm2, dword [0x1046f208]
mov dword [ebp - 0x100], ecx
lea ecx, [ebp - 0xcc]
cmovns ecx, eax
movss dword [ebp - 0xf4], xmm3
cmp edx, 0xff
mulss xmm4, xmm6
lea eax, [ebp - 0xc0]
cmovle eax, ecx
movss dword [ebp - 0xf8], xmm1
movaps xmmword [ebp - 0x140], xmm2
movss dword [ebp - 0xec], xmm2
cvttss2si edx, xmm4
mov cl, byte [eax]
mov eax, dword [ebp - 0x100]
movzx eax, al
mov dword [ebp - 0xc0], 0xff
mov dword [ebp - 0xcc], 0
movd xmm3, eax
mov eax, dword [ebp - 0xdc]
test edx, edx
movzx eax, al
cvtdq2ps xmm3, xmm3
mov dword [ebp - 0xe0], edx
movd xmm2, eax
mov eax, dword [ebp - 0xc8]
movzx eax, al
cvtdq2ps xmm2, xmm2
movd xmm1, eax
movzx eax, cl
lea ecx, [ebp - 0xcc]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
lea eax, [ebp - 0xe0]
cvtdq2ps xmm0, xmm0
cmovns ecx, eax
cmp edx, 0xff
lea eax, [ebp - 0xc0]
cmovle eax, ecx
mulss xmm3, xmm7
mov al, byte [eax]
mulss xmm2, xmm7
mulss xmm1, xmm7
mulss xmm0, xmm7
movss dword [ebp - 0xf0], xmm5
movss dword [ebp - 0x10c], xmm3
movss dword [ebp - 0x108], xmm2
movss dword [ebp - 0x104], xmm1
movss dword [ebp - 0x100], xmm0
movzx eax, al
movss dword [ebp - 0xd4], xmm2
movaps xmm2, xmmword [ebp - 0x140]
addss xmm2, dword [0x1046f158]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xd8], xmm3
mulss xmm0, xmm7
movss xmm7, dword [ebp - 0xb8]
movss xmm3, dword [ebp - 0xc4]
movss dword [ebp - 0xcc], xmm0
movss dword [ebp - 0xd0], xmm1
movups xmm0, xmmword [ebp - 0xd8]
movss xmm1, dword [0x1046f244]
movups xmmword [ebp - 0x190], xmm0
movups xmm0, xmmword [ebp - 0x10c]
movss xmm4, dword [0x1046f104]
movups xmmword [ebp - 0x180], xmm0
movaps xmm0, xmm5
movaps xmmword [ebp - 0x140], xmm2
subss xmm0, xmm7
movss dword [ebp - 0x170], xmm7
movss dword [ebp - 0x16c], xmm3
movss dword [ebp - 0x168], xmm0
movaps xmm0, xmm2
subss xmm0, xmm3
movss dword [ebp - 0x164], xmm0
movaps xmm0, xmm5
subss xmm0, xmm1
comiss xmm7, xmm0
movss dword [ebp - 0xcc], xmm0
jbe 0x1013b94b
movaps xmm0, xmm4
jmp 0x1013b950
movss xmm0, dword [esi + 8]
mulss xmm0, xmm1
lea ecx, [ebp - 0xcc]
lea eax, [ebp - 0x150]
mov edi, dword [0x1206e634]
lea esi, [ebp - 0xf0]
subss xmm2, xmm3
movss dword [ebp - 0xc0], xmm0
addss xmm0, dword [ebp - 0xcc]
push 9
push 6
comiss xmm0, xmm7
movss dword [ebp - 0xcc], xmm0
cmovae eax, ecx
mov ecx, edi
comiss xmm5, xmm0
movss xmm0, dword [0x1046f8b0]
andps xmm2, xmm0
cmovae esi, eax
mulss xmm2, xmm6
lea eax, [ebp - 0x104]
push eax
movss xmm1, dword [esi]
subss xmm2, xmm4
subss xmm1, xmm7
andps xmm1, xmm0
mulss xmm1, xmm6
subss xmm1, xmm4
minss xmm1, dword [0x1046f1d8]
minss xmm2, xmm1
movaps xmm0, xmm2
movss dword [ebp - 0xc4], xmm2
addss xmm0, xmm7
movss dword [ebp - 0x120], xmm0
movss dword [ebp - 0x104], xmm0
movaps xmm0, xmm2
addss xmm0, xmm3
movss dword [ebp - 0xe0], xmm0
movss dword [ebp - 0x100], xmm0
call fcn.100ec3b0
movss xmm0, dword [esi]
lea eax, [ebp - 0xd0]
movss xmm2, dword [ebp - 0xc4]
mov ecx, edi
subss xmm0, xmm2
push 0xc
push 9
push eax
movss dword [ebp - 0xd0], xmm0
movss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xcc], xmm0
call fcn.100ec3b0
movaps xmm1, xmmword [ebp - 0x140]
lea eax, [ebp - 0xd0]
subss xmm1, dword [ebp - 0xc4]
movss xmm0, dword [ebp - 0xd0]
mov ecx, edi
movss xmm2, dword [ebp - 0xc4]
push 3
push 0
push eax
movss dword [ebp - 0xd0], xmm0
movaps xmmword [ebp - 0x140], xmm1
movss dword [ebp - 0xcc], xmm1
call fcn.100ec3b0
movss xmm0, dword [ebp - 0x120]
lea eax, [ebp - 0xd0]
movss xmm2, dword [ebp - 0xc4]
mov ecx, edi
push 6
movss dword [ebp - 0xd0], xmm0
movaps xmm0, xmmword [ebp - 0x140]
push 3
push eax
movss dword [ebp - 0xcc], xmm0
call fcn.100ec3b0
lea eax, [ebp - 0x190]
mov ecx, edi
push eax
push dword [edi + 0x58]
push dword [edi + 0x60]
call fcn.100ebbe0
movss xmm2, dword [ebp - 0x158]
lea eax, [ebp - 0xcc]
movups xmm1, xmmword [ebp - 0x160]
mov dword [edi + 0x58], 0
lea ecx, [ebp - 0x150]
movaps xmm0, xmm2
mov esi, dword [0x1206e634]
subss xmm0, xmm1
mulss xmm0, dword [0x1046f094]
addss xmm0, xmm1
addss xmm0, dword [ebp - 0xc0]
subss xmm0, dword [0x1046f244]
comiss xmm0, dword [ebp - 0xb8]
movss dword [ebp - 0xcc], xmm0
cmovae ecx, eax
lea eax, [ebp - 0xf0]
comiss xmm2, xmm0
cmovae eax, ecx
lea ecx, [ebp - 0xf8]
movss xmm0, dword [eax]
movss dword [ebp - 0xe4], xmm0
movups xmm0, xmmword [ebp - 0x80]
mov dword [ebp - 0xf8], 0x3e969697
mov dword [ebp - 0xf4], 0x3e969697
addss xmm0, dword [0x1046f104]
mov dword [ebp - 0xf0], 0x3e969697
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xfc]
mulss xmm0, dword [0x1046f3bc]
cvttss2si eax, xmm0
movzx eax, al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1046efa4]
movss dword [ebp - 0xcc], xmm0
movss dword [ebp - 0xec], xmm0
call fcn.1004a1d0
mov edi, eax
test edi, 0xff000000
je 0x1013bc0d
movss xmm2, dword [0x1046f204]
lea eax, [ebp - 0xe4]
push 0xb
push ecx
mov dword [esp], 0x40b84e8a
xorps xmm3, xmm3
push eax
mov ecx, esi
call fcn.100ec4f0
push edi
push dword [esi + 0x58]
mov ecx, esi
push dword [esi + 0x60]
call fcn.100eb860
mov dword [esi + 0x58], 0
mov esi, dword [0x1206e634]
movss xmm0, dword [ebp - 0xcc]
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0xf8], 0x3f800000
mov dword [ebp - 0xf4], 0x3f800000
mov dword [ebp - 0xf0], 0x3f800000
movss dword [ebp - 0xec], xmm0
call fcn.1004a1d0
mov edi, eax
test edi, 0xff000000
je 0x1013bc88
movss xmm2, dword [0x1046f1e0]
lea eax, [ebp - 0xe4]
push 0xb
push ecx
mov dword [esp], 0x40b84e8a
xorps xmm3, xmm3
push eax
mov ecx, esi
call fcn.100ec4f0
push edi
push dword [esi + 0x58]
mov ecx, esi
push dword [esi + 0x60]
call fcn.100eb860
mov dword [esi + 0x58], 0
mov edi, dword [ebp - 0xbc]
push edi
push dword [ebp - 0x128]
mov edx, 0x40
lea ecx, [ebp - 0x58]
push 4
call fcn.100f86d0
mov edi, dword [0x1054ade8]
lea edx, [ebp - 0x58]
add esp, 8
add eax, edx
mov dword [ebp - 0xcc], eax
mov eax, edx
movss xmm2, dword [edi + 0x18c4]
push 0
push eax
push ecx
mov ecx, dword [edi + 0x18c0]
lea eax, [ebp - 0xe4]
mov dword [esp], 0xbf800000
push eax
call fcn.100f07f0
movss xmm0, dword [ebp - 0xe4]
lea eax, [ebp - 0x7c]
addss xmm0, dword [0x1046f0f4]
push eax
lea ecx, [edi + 0x1aac]
mov dword [ebp - 0x7c], 0
cvttss2si esi, xmm0
movss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xe0], xmm0
movups xmm0, xmmword [edi + 0x15c0]
movups xmmword [ebp - 0x78], xmm0
call fcn.100e1e70
movss xmm0, dword [ebp - 0xfc]
lea eax, [ebp - 0xe4]
mov dword [edi + 0x15c0], 0x3f800000
lea edx, [ebp - 0x114]
mov dword [edi + 0x15c4], 0x3f800000
lea ecx, [ebp - 0x124]
mov dword [edi + 0x15c8], 0x3f800000
movss dword [edi + 0x15cc], xmm0
movss xmm0, dword [ebp - 0x114]
movd xmm1, esi
cvtdq2ps xmm1, xmm1
push 0
push eax
push 0
lea eax, [ebp - 0x58]
mov dword [ebp - 0xe4], 0x3f000000
push dword [ebp - 0xcc]
addss xmm1, dword [0x1046f254]
push eax
mov dword [ebp - 0xe0], 0x3f000000
subss xmm0, xmm1
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x110]
subss xmm0, dword [0x1046f30c]
movss dword [ebp - 0x120], xmm0
call fcn.100d34b0
add esp, 0x14
mov ecx, 1
call fcn.100dc190
mov esi, dword [0x1054ade8]
lea eax, [ebp - 0x7c]
push eax
mov dword [ebp - 0x7c], 0
movups xmm0, xmmword [esi + 0x15c0]
lea ecx, [esi + 0x1aac]
movups xmmword [ebp - 0x78], xmm0
call fcn.100e1e70
movss xmm0, dword [ebp - 0xfc]
mov dword [esi + 0x15c0], 0x3f800000
mov dword [esi + 0x15c4], 0x3f800000
mov dword [esi + 0x15c8], 0x3f800000
mulss xmm0, dword [0x1046f094]
movss dword [esi + 0x15cc], xmm0
movss xmm0, dword [ebp - 0x12c]
comiss xmm0, dword [0x1046ef44]
jbe 0x1013be90
movss xmm0, dword [ebp - 0x11c]
xor edx, edx
addss xmm0, dword [0x1046f218]
mov ecx, dword [ebp - 0x130]
movss dword [ebp - 0xd0], xmm0
movss xmm0, dword [ebp - 0x118]
addss xmm0, dword [0x1046f208]
movss dword [ebp - 0xcc], xmm0
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
push 1
call fcn.100d33f0
add esp, 0xc
mov ecx, 1
call fcn.100dc190
mov al, byte [ebp - 0xb1]
jmp 0x1013bea4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.102fe398
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x1c