Function at 0x572dc0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xd78
push esi
push edi
mov edi, ecx
mov dword [esp + 0x4c], 0
movss xmm0, dword [0x739850]
mov dword [esp + 0x28], edi
mov byte [edi + 0x418], 0
maxss xmm0, dword [edi + 0x3a4]
movss dword [edi + 0x3a4], xmm0
call fcn.00588400
mov ecx, dword [ebp + 8]
push 0x734f3c
push str.material
call fcn.00465fd0
mov ecx, dword [ebp + 8]
mov esi, eax
push 0x738ac9
push str.starttime
call fcn.00465fd0
mov ecx, dword [ebp + 8]
push 0x738c31
push str.animationmode
mov dword [esp + 0xb8], eax
call fcn.00465fd0
mov ecx, dword [ebp + 8]
push 0x738c5a
push str.sequencemultiplier
mov dword [esp + 0x40], eax
call fcn.00465fd0
mov ecx, dword [ebp + 8]
push 0x7388ed
push str.flags
mov dword [esp + 0x4c], eax
call fcn.00465fd0
cmp byte [esi + 8], 4
mov dword [esp + 0x84], eax
jne 0x572f08
mov edx, dword [edi + 0x318]
test edx, edx
je 0x572ea0
mov ecx, dword [edi + 0x298]
test ecx, ecx
je 0x572ea0
push edx
call fcn.004fa920
mov dword [edi + 0x318], 0
mov ecx, dword [esi]
mov edx, dword [edi + 0x70]
test ecx, ecx
je 0x572eb6
mov eax, dword [esi + 8]
shr eax, 8
test al, 1
je 0x572eb6
add ecx, 4
push ecx
lea ecx, [edx + 0x2968]
call fcn.004f58c0
mov edx, eax
mov dword [edi + 0x298], edx
test edx, edx
je 0x572f08
mov al, byte [esp + 0x1d4]
sub esp, 0x28
mov ecx, esp
mov dword [esp + 0x1f8], 0x58ef60
mov dword [ecx], 0x738f94
mov dword [ecx + 4], 0x58ef60
mov byte [ecx + 8], al
mov dword [ecx + 0xc], edi
mov dword [ecx + 0x24], ecx
mov ecx, edx
call fcn.004fa830
mov dword [edi + 0x318], eax
mov ecx, dword [esp + 0xb0]
xorps xmm0, xmm0
movss dword [esp + 0x2c], xmm0
movzx eax, byte [ecx + 8]
cmp eax, 1
je 0x572f2b
cmp eax, 2
je 0x572f2b
cmp eax, 3
jne 0x572f30
call fcn.00465660
mov ecx, dword [esp + 0x84]
movss dword [edi + 0x2a0], xmm0
movzx eax, byte [ecx + 8]
cmp eax, 1
je 0x572f56
cmp eax, 2
je 0x572f56
cmp eax, 3
je 0x572f56
xor al, al
jmp 0x572f5b
call fcn.00465370
mov byte [edi + 0x29c], al
mov eax, dword [esp + 0x38]
cmp byte [eax + 8], 4
jne 0x572fa9
lea ecx, [esp + 0x538]
mov dword [esp + 0x4c], 1
push ecx
mov ecx, eax
call fcn.00465130
cmp dword [eax + 0x14], 0xf
mov edx, dword [eax + 0x10]
jbe 0x572f8d
mov eax, dword [eax]
push 0xb
push str.randomframe
mov ecx, eax
call fcn.004108e0
add esp, 8
test al, al
je 0x572fa9
mov ecx, 1
jmp 0x572fab
xor ecx, ecx
test byte [esp + 0x4c], 1
mov dword [edi + 0x2a8], ecx
je 0x572fca
lea ecx, [esp + 0x538]
call fcn.004143d0
mov ecx, dword [edi + 0x2a8]
mov edx, dword [esp + 0x44]
movss xmm0, dword [0x739900]
movzx eax, byte [edx + 8]
cmp eax, 1
je 0x572fe9
cmp eax, 2
je 0x572fe9
cmp eax, 3
jne 0x572ff6
mov ecx, edx
call fcn.00465660
mov ecx, dword [edi + 0x2a8]
movss dword [edi + 0x2a4], xmm0
mov dl, byte [edi + 0x29c]
movzx eax, word [edi + 0xb8]
test dl, 4
je 0x57301a
or eax, 0x80
movzx eax, ax
jmp 0x57301f
and eax, 0xff7f
mov word [edi + 0xb8], ax
cmp ecx, 1
jne 0x573034
or dl, 2
mov byte [edi + 0x29c], dl
mov esi, dword [ebp + 8]
mov ecx, esi
push 0x738c6f
push str.emitter
call fcn.00465fd0
push 0x738c67
push str.initializer
mov ecx, esi
mov dword [esp + 0x40], eax
call fcn.00465fd0
push 0x738c88
push str.operator
mov ecx, esi
mov dword [esp + 0x50], eax
call fcn.00465fd0
push 0x738bfc
push str.renderer
mov ecx, esi
mov dword [esp + 0x3c], eax
call fcn.00465fd0
mov byte [esp + 0x190], 7
and dword [esp + 0x190], 0xfffffeff
push 8
mov dword [esp + 0x88], eax
mov dword [esp + 0xb8], 0x3f800000
mov dword [esp + 0xbc], 0x3f800000
mov dword [esp + 0xc0], 0x3f800000
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
call fcn.005ab82c
mov esi, eax
add esp, 4
mov dword [esi], 0
push 0x30
mov dword [esi + 4], 0
call fcn.005ab82c
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
lea eax, [esp + 0x188]
push eax
push dword [ebp + 8]
mov dword [esp + 0x190], esi
call fcn.0057b650
push 0x738c3a
push str.colorn
lea ecx, [esp + 0x190]
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x573156
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x573156
add edx, 4
lea ecx, [esp + 0x40c]
call fcn.0044b270
movss xmm2, dword [0x739900]
movq xmm3, qword [eax]
movq qword [esp + 0xb4], xmm3
mov eax, dword [eax + 8]
mov dword [esp + 0xbc], eax
mov eax, dword [edi + 0x70]
mov eax, dword [eax + 0xd0]
shr eax, 0x11
test al, 1
je 0x57319b
movss xmm7, dword [edi + 0x3a8]
jmp 0x57319e
movaps xmm7, xmm2
movss xmm1, dword [edi + 0x3ac]
lea ecx, [edi + 0x3ac]
movss xmm0, dword [esp + 0x2c]
comiss xmm1, xmm0
movss dword [esp + 0x88], xmm2
movss dword [esp + 0x8c], xmm2
movss dword [esp + 0x4c], xmm2
jae 0x5731dc
ucomiss xmm7, xmm2
lahf
test ah, 0x44
jp 0x5731dc
xor dl, dl
jmp 0x5731de
mov dl, 1
comiss xmm1, xmm0
lea eax, [esp + 0xb4]
mov byte [esp + 0x5f], dl
cmovae eax, ecx
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x60], xmm0
movss xmm2, dword [esp + 0x60]
mov dword [esp + 0x68], eax
movups xmmword [esp + 0x1a0], xmm2
test dl, dl
je 0x57327a
movss xmm0, dword [esp + 0x68]
movss xmm1, dword [esp + 0x64]
mulss xmm0, xmm7
mulss xmm2, xmm7
movss dword [esp + 0x1e4], xmm0
mov eax, dword [esp + 0x1e4]
mulss xmm1, xmm7
mov dword [esp + 0x74], eax
movss xmm0, dword [esp + 0x74]
movss dword [esp + 0x4c], xmm0
unpcklps xmm2, xmm1
movq qword [esp + 0x6c], xmm2
movss xmm0, dword [esp + 0x70]
movss dword [esp + 0x8c], xmm0
movss xmm0, dword [esp + 0x6c]
movq qword [esp + 0x1dc], xmm2
movss dword [esp + 0x88], xmm0
movq qword [edi + 0x420], xmm3
sub esp, 0xc
mov eax, dword [esp + 0xc8]
mov ecx, esp
mov dword [edi + 0x428], eax
movq xmm0, qword [esp + 0xc0]
mov eax, dword [esp + 0xc8]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [esp + 0x460]
call fcn.00570800
add esp, 0xc
movq xmm0, qword [eax]
movq qword [esp + 0xb4], xmm0
mov eax, dword [eax + 8]
movss xmm0, dword [esp + 0x88]
mov dword [esp + 0xbc], eax
movss dword [edi + 0x27c], xmm0
movss xmm0, dword [esp + 0x8c]
movss dword [edi + 0x280], xmm0
movss xmm0, dword [esp + 0x4c]
movss dword [edi + 0x284], xmm0
mov eax, dword [edi + 0x390]
mov dword [edi + 0x288], eax
test dl, dl
je 0x5733a7
movups xmm0, xmmword [esp + 0x1a0]
sub esp, 0xc
movss xmm2, dword [esp + 0x70]
mov ecx, esp
movss xmm1, dword [esp + 0x74]
mulss xmm0, xmm7
mulss xmm2, xmm7
mulss xmm1, xmm7
unpcklps xmm0, xmm2
movq qword [ecx], xmm0
movss dword [esp + 0x1fc], xmm1
mov eax, dword [esp + 0x1fc]
mov dword [ecx + 8], eax
lea ecx, [esp + 0x46c]
movq qword [esp + 0x1f4], xmm0
call fcn.00570800
add esp, 0xc
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x6c], xmm0
mov dword [esp + 0x74], eax
movss xmm0, dword [esp + 0x74]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [esp + 0x70]
movss dword [esp + 0x8c], xmm0
movss xmm0, dword [esp + 0x6c]
movss dword [esp + 0x88], xmm0
mov eax, dword [edi + 0x70]
mov edx, dword [eax + 0x287c]
mov esi, edx
mov dword [esp + 0xb0], edx
mov byte [edi + 0x2ac], 0
mov dword [esp + 0x1c], esi
lea eax, [edx + 0x2000]
mov dword [esp + 0xac], eax
lea ecx, [edx + 0x4000]
lea eax, [edx + 0x6000]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x54], eax
cmp byte [edx + 8], 6
jne 0x573d82
mov eax, dword [esp + 0xac]
mov ecx, edx
mov dword [esp + 0x20], eax
lea eax, [esp + 0x180]
push eax
call fcn.00466e90
lea eax, [esp + 0x90]
mov ecx, edx
push eax
call fcn.00466ed0
nop dword [eax]
cmp byte [esp + 0x184], 0
mov ecx, dword [esp + 0x180]
mov dword [esp + 0x24], ecx
je 0x57343e
mov al, byte [esp + 0x94]
jmp 0x573448
cmp ecx, dword [esp + 0x90]
sete al
test al, al
jne 0x573d2f
cmp byte [ecx + 0x20], 7
lea edi, [ecx + 0x18]
jne 0x573d1a
push 0x720af0
push str.name
mov ecx, edi
call fcn.00465fd0
mov dword [esp + 0x38], eax
mov edx, dword [eax + 8]
cmp dl, 4
jne 0x573d1a
mov ecx, dword [eax]
test ecx, ecx
je 0x57348f
shr edx, 8
test dl, 1
je 0x57348f
add ecx, 4
push str.sphererandom
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x57392d
mov eax, dword [esp + 0x20]
mov ecx, edi
mov byte [eax], 1
add eax, 0x10
mov dword [esp + 0x14], eax
add eax, 0xd0
mov dword [esp + 0x20], eax
call fcn.00570a50
push 0x737cb2
push str.origin
mov ecx, edi
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x5734e7
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x5734e7
add edx, 4
lea ecx, [esp + 0x46c]
call fcn.0044b270
push 0x7388fa
push str.directions
mov ecx, edi
mov dword [esp + 0x154], 0
movss xmm0, dword [eax]
movss dword [esp + 0x148], xmm0
movss xmm0, dword [eax + 4]
movss dword [esp + 0x14c], xmm0
movss xmm0, dword [eax + 8]
movss dword [esp + 0x150], xmm0
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x57354b
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x57354b
add edx, 4
lea ecx, [esp + 0x478]
call fcn.0044b270
push 0x73890f
push str.distancemin
mov ecx, edi
mov dword [esp + 0x144], 0
movss xmm0, dword [eax]
movss dword [esp + 0x138], xmm0
movss xmm0, dword [eax + 4]
movss dword [esp + 0x13c], xmm0
movss xmm0, dword [eax + 8]
movss dword [esp + 0x140], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x73892f
push str.distancemax
mov ecx, edi
movss dword [esp + 0x40], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738920
push str.speedmin
mov ecx, edi
movss dword [esp + 0x1a8], xmm0
call fcn.00465fd0
mov ecx, dword [esp + 0x28]
add ecx, 0x39c
mov dword [esp + 0x18], ecx
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x18]
mov ecx, edi
push 0x738948
push str.speedmax
mulss xmm0, dword [eax]
movss dword [esp + 0x4c], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x18]
mov ecx, edi
movaps xmm1, xmmword [esp + 0x140]
push 0x738914
push str.sign
mulss xmm0, dword [eax]
mov eax, dword [esp + 0x1c]
movups xmmword [esp + 0x1c8], xmm0
movups xmmword [eax + 0x40], xmm1
movaps xmm1, xmmword [esp + 0x138]
movups xmmword [eax + 0x50], xmm1
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x573673
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x573666
add edx, 4
mov eax, dword [esp + 0x28]
add eax, 0x39c
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x484]
call fcn.0044b270
mov dword [esp + 0xfc], 0
xorps xmm1, xmm1
push 0x732c70
push str.rate
movss xmm0, dword [eax]
mov ecx, edi
movss dword [esp + 0xf8], xmm0
movss xmm0, dword [eax + 4]
movss dword [esp + 0xfc], xmm0
movss xmm0, dword [eax + 8]
mov eax, dword [esp + 0x1c]
movss dword [esp + 0x100], xmm0
xorps xmm0, xmm0
movaps xmm2, xmmword [esp + 0xf8]
cmpneqps xmm0, xmm2
movups xmmword [eax + 0x70], xmm0
movaps xmm0, xmm2
cmpltps xmm0, xmm1
movups xmmword [eax + 0x60], xmm0
call fcn.00465fd0
mov ecx, dword [esp + 0x28]
add ecx, 0x398
mov dword [esp + 0x40], ecx
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x40]
mov ecx, edi
push 0x733e04
push str.duration
mulss xmm0, dword [eax]
mov eax, dword [esp + 0x1c]
movss dword [eax], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x14]
mov ecx, edi
push 0x7388c1
push str.instantaneous
movss dword [eax + 4], xmm0
movss dword [eax + 8], xmm0
movss xmm0, dword [esp + 0x40]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x80], xmm0
movups xmm0, xmmword [esp + 0x1a8]
subss xmm0, dword [esp + 0x40]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x90], xmm0
movss xmm0, dword [esp + 0x4c]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0xa0], xmm0
movups xmm0, xmmword [esp + 0x1c8]
subss xmm0, dword [esp + 0x4c]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0xb0], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465370
mov ecx, dword [esp + 0x14]
push 0x73893c
push str.controlpoint
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465370
mov ecx, 7
cmp eax, ecx
push 0x7388ed
cmovb ecx, eax
mov eax, dword [esp + 0x18]
push str.flags
mov dword [eax + 0xc0], ecx
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465370
mov ecx, dword [esp + 0x14]
movaps xmm0, xmmword [esp + 0xf0]
mulps xmm0, xmm0
mov dword [ecx + 0x18], eax
mov dword [ecx + 0xc], 0
movaps xmm1, xmm0
movhlps xmm1, xmm0
addps xmm1, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 1
addss xmm1, xmm0
comiss xmm1, dword [0x73981c]
jbe 0x573837
or eax, 1
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x28]
add eax, 0x39c
mov dword [esp + 0x18], eax
add ecx, 0x20
mov edx, edi
call fcn.00571ae0
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xac]
mov byte [esi], 2
add esi, 0x10
push 0x732c70
push str.rate
lea ecx, [ecx + 0x18]
mov dword [esp + 0x24], esi
mov dword [esi + 4], 0x20
mov edi, esi
mov dword [esi], eax
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xac]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x14]
movss dword [esi + 8], xmm0
sub eax, ecx
mov dword [esi + 0x10], eax
lea esi, [edi + 0x30]
mov byte [edi + 0x20], 5
add edi, 0x50
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x24]
mov dword [esi + 4], 0x20
push 0x738920
mov dword [esi], ecx
push str.speedmin
lea ecx, [edi + 0x18]
mov dword [esp + 0x1c], eax
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738948
push str.speedmax
lea ecx, [edi + 0x18]
movss dword [esi + 8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x28]
mov dword [esi + 0x10], eax
movss dword [esi + 0xc], xmm0
lea eax, [ecx + 0xa0]
mov dword [esi + 0x14], eax
lea eax, [ecx + 0xb0]
mov dword [esi + 0x18], eax
lea ecx, [esp + 0x180]
inc byte [edi + 0x2ac]
mov esi, dword [esp + 0x1c]
call fcn.00428d00
jmp 0x573420
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
test ecx, ecx
je 0x573944
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x573944
add ecx, 4
push str.boxrandom
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x573d1a
mov eax, dword [esp + 0x20]
mov ecx, edi
mov byte [eax], 2
add eax, 0x10
mov dword [esp + 0x14], eax
sub eax, 0xffffff80
mov dword [esp + 0x20], eax
call fcn.00570bf0
push 0x73890f
push str.distancemin
mov ecx, edi
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x57399a
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x57399a
add edx, 4
lea ecx, [esp + 0x6c]
call fcn.0044b270
push 0x73892f
push str.distancemax
mov ecx, edi
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x5739c7
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x5739c7
add edx, 4
lea ecx, [esp + 0xd0]
call fcn.0044b270
movss xmm0, dword [esp + 0xd0]
mov ecx, edi
subss xmm0, dword [esp + 0x6c]
push 0x738920
push str.speedmin
movss dword [esp + 0x68], xmm0
movss xmm0, dword [esp + 0xdc]
subss xmm0, dword [esp + 0x78]
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [esp + 0xe0]
subss xmm0, dword [esp + 0x7c]
movss dword [esp + 0x70], xmm0
call fcn.00465fd0
mov ecx, dword [esp + 0x28]
add ecx, 0x39c
mov dword [esp + 0x18], ecx
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x18]
mov ecx, edi
push 0x738948
push str.speedmax
mulss xmm0, dword [eax]
movss dword [esp + 0x40], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x18]
mov ecx, edi
push 0x737cb2
push str.origin
mulss xmm0, dword [eax]
movss dword [esp + 0x4c], xmm0
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x573a9d
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x573a90
add edx, 4
mov eax, dword [esp + 0x28]
add eax, 0x39c
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x490]
call fcn.0044b270
mov edx, dword [esp + 0x14]
mov ecx, edi
push 0x7388fa
push str.directions
movq xmm0, qword [eax]
movq qword [edx + 0x40], xmm0
mov eax, dword [eax + 8]
mov dword [edx + 0x48], eax
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x573aed
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x573ae0
add edx, 4
mov eax, dword [esp + 0x28]
add eax, 0x39c
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x49c]
call fcn.0044b270
mov ecx, dword [esp + 0x14]
push 0x732c70
push str.rate
movq xmm0, qword [eax]
movq qword [ecx + 0x4c], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 0x54], eax
mov ecx, edi
call fcn.00465fd0
mov edi, dword [esp + 0x28]
mov ecx, eax
add edi, 0x398
call fcn.00465660
mulss xmm0, dword [edi]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
push 0x733e04
push str.duration
movss dword [edx], xmm0
lea ecx, [ecx + 0x18]
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
movss xmm1, dword [esp + 0x38]
push 0x7388c1
movss dword [ecx + 4], xmm0
movss dword [ecx + 8], xmm0
movq xmm0, qword [esp + 0x70]
movq qword [ecx + 0x58], xmm0
movq xmm0, qword [esp + 0x64]
mov dword [ecx + 0x60], eax
mov eax, dword [esp + 0x6c]
movq qword [ecx + 0x64], xmm0
movss xmm0, dword [esp + 0x48]
subss xmm0, xmm1
mov dword [ecx + 0x6c], eax
movss dword [ecx + 0x70], xmm1
push str.instantaneous
movss dword [ecx + 0x74], xmm0
mov ecx, dword [esp + 0x2c]
lea ecx, [ecx + 0x18]
call fcn.00465fd0
mov ecx, eax
call fcn.00465370
mov ecx, dword [esp + 0x14]
push 0x73893c
push str.controlpoint
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
mov ecx, dword [esp + 0x2c]
lea ecx, [ecx + 0x18]
call fcn.00465fd0
mov ecx, eax
call fcn.00465370
mov edx, dword [esp + 0x14]
mov ecx, 7
cmp eax, ecx
push 0x7388ed
cmovb ecx, eax
mov dword [edx + 0x78], ecx
mov ecx, dword [esp + 0x28]
push str.flags
lea ecx, [ecx + 0x18]
call fcn.00465fd0
mov ecx, eax
call fcn.00465370
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0xc], 0
lea edx, [edx + 0x18]
add ecx, 0x20
call fcn.00571ae0
mov byte [esi], 2
add esi, 0x10
mov dword [esp + 0x1c], esi
add dword [esp + 0x1c], 0x20
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xac]
push 0x732c70
mov dword [esi + 4], 0x20
push str.rate
lea ecx, [ecx + 0x18]
mov dword [esi], eax
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xac]
sub eax, ecx
mov dword [esi + 0xc], edi
mov edi, dword [esp + 0x24]
movss dword [esi + 8], xmm0
mov dword [esi + 0x10], eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
lea esi, [eax + 0x10]
push 0x738920
push str.speedmin
mov byte [eax], 4
add eax, 0x30
mov dword [esi + 4], 0x20
mov dword [esi], ecx
lea ecx, [edi + 0x18]
mov dword [esp + 0x24], eax
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738948
push str.speedmax
lea ecx, [edi + 0x18]
movss dword [esi + 8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x28]
mov dword [esi + 0x10], eax
movss dword [esi + 0xc], xmm0
lea eax, [ecx + 0x70]
mov dword [esi + 0x14], eax
lea eax, [ecx + 0x74]
mov dword [esi + 0x18], eax
lea ecx, [esp + 0x180]
inc byte [edi + 0x2ac]
mov esi, dword [esp + 0x1c]
call fcn.00428d00
jmp 0x573420
mov edi, dword [esp + 0x28]
lea ecx, [esp + 0x180]
call fcn.00428d00
jmp 0x573420
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0xac]
mov dword [esp + 0x20], eax
je 0x573d76
add eax, 0x10
push 0x10
push eax
call fcn.005d7dea
mov ecx, eax
mov eax, dword [esp + 0x28]
push eax
push dword [esp + 0xb8]
mov dword [esp + 0x48], ecx
push ecx
call fcn.005c3580
mov eax, dword [esp + 0x34]
add esp, 0x14
mov ecx, dword [esp + 0x38]
mov word [eax + ecx], 0
jmp 0x573d78
xor ecx, ecx
mov dword [edi + 0x268], ecx
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x48]
movzx eax, byte [edx + 8]
cmp eax, 6
jne 0x5758d6
mov dword [esp + 0x20], ecx
sub eax, eax
je 0x573da0
sub eax, 1
jne 0x573db4
mov eax, dword [edx]
test eax, eax
je 0x573db4
mov eax, dword [eax]
mov eax, dword [eax]
mov byte [esp + 0x11c], 0
jmp 0x573dbe
xor eax, eax
mov byte [esp + 0x11c], 1
mov dword [esp + 0x118], eax
movzx ecx, byte [edx + 8]
sub ecx, 6
je 0x573dd3
sub ecx, 1
jne 0x573ddf
mov ecx, dword [edx]
test ecx, ecx
je 0x573ddf
mov ecx, dword [ecx]
xor dl, dl
jmp 0x573de3
xor ecx, ecx
mov dl, 1
mov byte [esp + 0x17c], dl
mov byte [esp + 0x33], dl
mov edx, dword [esp + 0x28]
add edx, 0x3a4
mov dword [esp + 0x178], ecx
mov dword [esp + 0x44], edx
mov dl, byte [esp + 0x33]
nop word [eax + eax]
cmp byte [esp + 0x11c], 0
jne 0x573e1f
cmp eax, ecx
sete dl
test dl, dl
jne 0x575891
cmp byte [eax + 0x20], 7
lea edi, [eax + 0x18]
mov dword [esp + 0x24], edi
jne 0x57586b
push 0x720af0
push str.name
mov ecx, edi
call fcn.00465fd0
mov dword [esp + 0x14], eax
mov ecx, dword [eax + 8]
cmp cl, 4
jne 0x57586b
mov eax, dword [eax]
test eax, eax
je 0x573e6a
shr ecx, 8
test cl, 1
je 0x573e6a
add eax, 4
push str.lifetimerandom
push eax
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x573fc0
mov eax, dword [esp + 0x20]
mov edx, 0x732ef4
movss xmm2, dword [esp + 0x2c]
mov ecx, edi
lea esi, [eax + 0x10]
mov byte [eax], 1
add eax, 0x1c
mov dword [esp + 0x38], esi
mov dword [esp + 0x20], eax
call fcn.00591380
movss xmm2, dword [0x739900]
mov edx, 0x732ef8
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x739900]
mov edx, str.exponent
mov ecx, edi
call fcn.00591380
push 0x732ef7
push 0x732ef4
mov ecx, edi
call fcn.00465fd0
mov edi, dword [esp + 0x28]
add edi, 0x3a0
mov ecx, eax
call fcn.00465660
mulss xmm0, dword [edi]
mov ecx, dword [esp + 0x24]
push 0x732efb
push 0x732ef8
movss dword [esp + 0x50], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mulss xmm0, dword [edi]
mov ecx, dword [esp + 0x24]
movss xmm1, dword [esp + 0x48]
push 0x738954
subss xmm0, xmm1
movss dword [esi], xmm1
push str.exponent
movss dword [esi + 4], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
movss dword [esi + 8], xmm0
lea esi, [eax + 0x10]
push 0x732ef7
mov byte [eax], 4
add eax, 0x30
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x5c]
mov dword [esi + 4], 0x20
push 0x732ef4
mov dword [esi], eax
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov ecx, dword [esp + 0x24]
push 0x732efb
push 0x732ef8
movss dword [esi + 8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x58]
mov dword [esi + 0x10], edi
movss dword [esi + 0xc], xmm0
mov dword [esi + 0x14], eax
add eax, 4
mov dword [esi + 0x18], eax
jmp 0x575867
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x573fd7
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x573fd7
add ecx, 4
push str.sizerandom
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x574058
mov eax, dword [esp + 0x20]
mov edx, 0x732ef4
movss xmm2, dword [esp + 0x2c]
mov ecx, edi
lea esi, [eax + 0x10]
mov byte [eax], 2
add eax, 0x1c
mov dword [esp + 0x38], esi
mov dword [esp + 0x20], eax
call fcn.00591380
movss xmm2, dword [0x739900]
mov edx, 0x732ef8
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x739900]
mov edx, str.exponent
mov ecx, edi
call fcn.00591380
push 0x732ef7
push 0x732ef4
mov ecx, edi
call fcn.00465fd0
mov edi, dword [esp + 0x28]
add edi, 0x394
jmp 0x573eea
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x57406f
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x57406f
add ecx, 4
push str.colorrandom
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x574638
mov eax, dword [esp + 0x20]
mov edx, 0x732ef4
push str.0_0_0
mov ecx, edi
mov byte [eax], 3
add eax, 0x10
mov dword [esp + 0x1c], eax
add eax, 0x1c
mov dword [esp + 0x24], eax
call fcn.00591470
add esp, 4
mov edx, 0x732ef8
mov ecx, edi
push str.255_255_255
call fcn.00591470
movss xmm2, dword [0x739900]
add esp, 4
mov edx, str.exponent
mov ecx, edi
call fcn.00591380
push 0x732ef7
push 0x732ef4
mov ecx, edi
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x5740fa
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x5740fa
add edx, 4
lea ecx, [esp + 0x4a8]
call fcn.0044b270
movss xmm1, dword [0x739a44]
mov ecx, edi
push 0x732efb
push 0x732ef8
movss xmm0, dword [eax]
divss xmm0, xmm1
movss dword [esp + 0x44], xmm0
movss dword [esp + 0x80], xmm0
movss xmm0, dword [eax + 4]
divss xmm0, xmm1
movss dword [esp + 0x50], xmm0
movss dword [esp + 0x84], xmm0
movss xmm0, dword [eax + 8]
divss xmm0, xmm1
movss dword [esp + 0x40], xmm0
movss dword [esp + 0x88], xmm0
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x574179
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x574179
add edx, 4
lea ecx, [esp + 0x4c0]
call fcn.0044b270
cmp byte [esp + 0x5f], 0
movss xmm3, dword [0x739a44]
movss xmm0, dword [eax]
movss xmm2, dword [eax + 4]
movss xmm1, dword [eax + 8]
divss xmm0, xmm3
mov eax, dword [esp + 0x80]
divss xmm2, xmm3
divss xmm1, xmm3
movss dword [esp + 0x60], xmm0
movss dword [esp + 0x64], xmm2
movss dword [esp + 0x68], xmm1
je 0x574484
movq xmm0, qword [esp + 0x78]
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [esp + 0x4d8]
call fcn.00570800
mov ecx, esp
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x84], xmm0
movq xmm0, qword [esp + 0x6c]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x74]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [esp + 0x4e4]
call fcn.00570800
movss xmm2, dword [esp + 0x98]
add esp, 4
subss xmm2, dword [esp + 0xc0]
movss xmm3, dword [esp + 0x80]
movq xmm0, qword [eax]
movss xmm1, dword [esp + 0x54]
subss xmm1, dword [esp + 0xc4]
mov eax, dword [eax + 8]
movq qword [esp + 0x68], xmm0
movss xmm0, dword [esp + 0x90]
subss xmm0, dword [esp + 0xbc]
mov dword [esp + 0x70], eax
movss dword [esp + 0x2c], xmm2
movss dword [esp + 0x24], xmm1
addss xmm3, xmm0
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esp + 0x84]
addss xmm0, xmm2
movss dword [esp + 0x50], xmm3
fld dword [esp + 0x50]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x88]
addss xmm0, xmm1
fstp qword [esp]
movups xmmword [esp + 0x98], xmm3
movss dword [esp + 0x48], xmm0
call fcn.006d3790
movups xmm0, xmmword [esp + 0x98]
movss xmm1, dword [0x739900]
fstp dword [esp + 0x50]
subss xmm0, dword [esp + 0x50]
movups xmmword [esp + 0x98], xmm0
movss xmm0, dword [esp + 0x34]
maxss xmm0, dword [esp + 0x40]
minss xmm1, xmm0
movss xmm0, dword [0x739900]
movss dword [esp + 0x44], xmm1
movss xmm1, dword [esp + 0x34]
maxss xmm1, dword [esp + 0x48]
minss xmm0, xmm1
movss dword [esp + 0x88], xmm0
movss xmm0, dword [esp + 0x68]
addss xmm0, dword [esp + 0x1c]
movss dword [esp + 0x50], xmm0
fld dword [esp + 0x50]
movups xmmword [esp + 0xc8], xmm0
movss xmm0, dword [esp + 0x6c]
addss xmm0, dword [esp + 0x2c]
fstp qword [esp]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x70]
addss xmm0, dword [esp + 0x24]
movss dword [esp + 0x48], xmm0
call fcn.006d3790
movups xmm0, xmmword [esp + 0xc8]
movss xmm1, dword [0x739900]
fstp dword [esp + 0x50]
subss xmm0, dword [esp + 0x50]
movups xmmword [esp + 0xc8], xmm0
movss xmm0, dword [esp + 0x34]
maxss xmm0, dword [esp + 0x40]
minss xmm1, xmm0
movss dword [esp + 0x50], xmm1
movss xmm1, dword [esp + 0x34]
maxss xmm1, dword [esp + 0x48]
movss xmm0, dword [0x739900]
mov eax, dword [esp + 0x88]
push ecx
mov ecx, esp
minss xmm0, xmm1
movups xmm1, xmmword [esp + 0x9c]
movss dword [esp + 0x74], xmm0
movss xmm0, dword [esp + 0x48]
unpcklps xmm1, xmm0
movq qword [ecx], xmm1
mov dword [ecx + 8], eax
lea ecx, [esp + 0x4f0]
call fcn.005708d0
movups xmm1, xmmword [esp + 0xcc]
mov ecx, esp
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x9c], xmm0
movq qword [esp + 0x84], xmm0
movss xmm0, dword [esp + 0x54]
unpcklps xmm1, xmm0
mov dword [esp + 0x48], eax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x74]
movq qword [ecx], xmm1
mov dword [ecx + 8], eax
lea ecx, [esp + 0x4fc]
call fcn.005708d0
movss xmm5, dword [esp + 0x8c]
add esp, 0xc
movss xmm4, dword [esp + 0x7c]
movss xmm3, dword [esp + 0x78]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq xmm6, qword [esp + 0x90]
movq qword [esp + 0x60], xmm0
movss xmm2, dword [esp + 0x64]
movss xmm0, dword [esp + 0x60]
mov dword [esp + 0x68], eax
movss xmm1, dword [esp + 0x68]
mov eax, dword [esp + 0x3c]
jmp 0x57449c
movq xmm6, qword [esp + 0x78]
movss xmm3, dword [esp + 0x3c]
movss xmm4, dword [esp + 0x48]
movss xmm5, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
subss xmm0, xmm3
subss xmm2, xmm4
subss xmm1, xmm5
push 0x738954
movq qword [ecx], xmm6
mov dword [ecx + 8], eax
unpcklps xmm0, xmm2
movss dword [esp + 0x200], xmm1
mov eax, dword [esp + 0x200]
movq qword [ecx + 0xc], xmm0
mov dword [ecx + 0x14], eax
mov ecx, edi
push str.exponent
movq qword [esp + 0x1fc], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov ecx, dword [esp + 0x18]
lea eax, [esi + 0x10]
push 0x732ef7
push 0x732ef4
mov dword [esp + 0x48], eax
movss dword [ecx + 0x18], xmm0
mov ecx, dword [esp + 0x60]
mov byte [esi], 8
add esi, 0x50
mov dword [eax + 4], pe_nt_image_headers32
mov dword [eax], ecx
mov ecx, edi
mov dword [esp + 0x24], esi
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x57453a
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x57453a
add edx, 4
lea ecx, [esp + 0x4fc]
call fcn.0044b270
movss xmm3, dword [0x739a44]
mov ecx, dword [esp + 0x40]
push 0x732efb
movss xmm1, dword [eax]
movss xmm2, dword [eax + 4]
movss xmm0, dword [eax + 8]
divss xmm2, xmm3
push 0x732ef8
divss xmm1, xmm3
divss xmm0, xmm3
unpcklps xmm1, xmm2
movss dword [esp + 0x210], xmm0
mov eax, dword [esp + 0x210]
movq qword [ecx + 8], xmm1
mov dword [ecx + 0x10], eax
mov ecx, edi
movq qword [esp + 0x208], xmm1
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x5745b4
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x5745b4
add edx, 4
lea ecx, [esp + 0x508]
call fcn.0044b270
movss xmm3, dword [0x739a44]
mov ecx, dword [esp + 0x40]
movss xmm1, dword [eax]
movss xmm2, dword [eax + 4]
movss xmm0, dword [eax + 8]
divss xmm2, xmm3
divss xmm0, xmm3
divss xmm1, xmm3
movss dword [esp + 0x214], xmm0
mov eax, dword [esp + 0x214]
unpcklps xmm1, xmm2
movq qword [ecx + 0x14], xmm1
mov dword [ecx + 0x1c], eax
movq xmm0, qword [esp + 0xb4]
movq qword [ecx + 0x20], xmm0
mov eax, dword [esp + 0xbc]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0x58]
mov dword [ecx + 0x2c], eax
add eax, 0xc
movq qword [esp + 0x20c], xmm1
mov dword [ecx + 0x30], eax
jmp 0x57586b
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x57464f
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x57464f
add ecx, 4
push str.alpharandom
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x57471d
mov eax, dword [esp + 0x20]
mov edx, 0x732ef4
movss xmm2, dword [0x73986c]
mov ecx, edi
mov byte [eax], 4
lea esi, [eax + 0x10]
add eax, 0x1c
mov dword [esp + 0x20], eax
call fcn.00591380
movss xmm2, dword [0x739900]
mov edx, 0x732ef8
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x739900]
mov edx, str.exponent
mov ecx, edi
call fcn.00591380
push 0x732ef7
push 0x732ef4
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x732efb
push 0x732ef8
mov ecx, edi
movss dword [esp + 0x44], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
movss xmm1, dword [esp + 0x3c]
mov ecx, edi
subss xmm0, xmm1
movss dword [esi], xmm1
push 0x738954
push str.exponent
movss dword [esi + 4], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
movss dword [esi + 8], xmm0
jmp 0x575867
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x574734
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x574734
add ecx, 4
push str.velocityrandom
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x5749b8
mov eax, dword [esp + 0x20]
mov edx, 0x732ef4
push str._32__32_0
mov ecx, edi
mov byte [eax], 5
add eax, 0x10
mov dword [esp + 0x18], eax
add eax, 0x1c
mov dword [esp + 0x24], eax
call fcn.00591470
add esp, 4
mov edx, 0x732ef8
mov ecx, edi
push str.32_32_0
call fcn.00591470
movss xmm2, dword [0x739900]
add esp, 4
mov edx, str.exponent
mov ecx, edi
call fcn.00591380
mov eax, dword [esp + 0x28]
mov ecx, edi
push 0x732ef7
push 0x732ef4
movss xmm0, dword [eax + 0x39c]
movss dword [esp + 0x20], xmm0
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x5747d1
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x5747d1
add edx, 4
lea ecx, [esp + 0x514]
call fcn.0044b270
movss xmm0, dword [esp + 0x18]
mov ecx, edi
movaps xmm1, xmm0
push 0x732efb
mulss xmm1, dword [eax]
push 0x732ef8
movss dword [esp + 0x50], xmm1
movss dword [esp + 0x138], xmm1
movaps xmm1, xmm0
mulss xmm0, dword [eax + 8]
mulss xmm1, dword [eax + 4]
mov eax, dword [esp + 0x30]
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x140], xmm0
movss dword [esp + 0x40], xmm1
movss xmm0, dword [eax + 0x39c]
movss dword [esp + 0x13c], xmm1
movss dword [esp + 0x44], xmm0
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x57485a
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x57485a
add edx, 4
lea ecx, [esp + 0x520]
call fcn.0044b270
movss xmm3, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
movaps xmm2, xmm3
movq xmm0, qword [esp + 0x130]
movaps xmm1, xmm3
mulss xmm2, dword [eax]
push 0x738954
mulss xmm1, dword [eax + 4]
push str.exponent
mulss xmm3, dword [eax + 8]
mov eax, dword [esp + 0x140]
subss xmm2, dword [esp + 0x50]
subss xmm1, dword [esp + 0x40]
subss xmm3, dword [esp + 0x20]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
unpcklps xmm2, xmm1
movss dword [esp + 0x228], xmm3
mov eax, dword [esp + 0x228]
movq qword [ecx + 0xc], xmm2
mov dword [ecx + 0x14], eax
mov ecx, edi
movq qword [esp + 0x220], xmm2
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov ecx, dword [esp + 0x14]
lea eax, [esi + 0x10]
push 0x732ef7
push 0x732ef4
mov dword [esp + 0x48], eax
movss dword [ecx + 0x18], xmm0
mov ecx, dword [esp + 0x60]
mov byte [esi], 7
add esi, 0x40
mov dword [eax + 4], 0x30
mov dword [eax], ecx
mov ecx, edi
mov dword [esp + 0x24], esi
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x574934
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x574934
add edx, 4
lea ecx, [esp + 0x52c]
call fcn.0044b270
mov ecx, dword [esp + 0x40]
push 0x732efb
push 0x732ef8
movq xmm0, qword [eax]
movq qword [ecx + 8], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x574977
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x574977
add edx, 4
lea ecx, [esp + 0x358]
call fcn.0044b270
mov ecx, dword [esp + 0x40]
movq xmm0, qword [eax]
movq qword [ecx + 0x14], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x28]
add eax, 0x39c
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x58]
mov dword [ecx + 0x24], eax
add eax, 0xc
mov dword [ecx + 0x28], eax
jmp 0x57586b
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x5749cf
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x5749cf
add ecx, 4
push str.turbulentvelocityrandom
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x574dce
mov eax, dword [esp + 0x20]
mov edx, str.speedmin
movss xmm2, dword [0x739a28]
mov ecx, edi
mov byte [eax], 6
add eax, 0x10
mov dword [esp + 0x24], eax
add eax, 0x60
mov dword [esp + 0x20], eax
call fcn.00591380
movss xmm2, dword [0x739a40]
mov edx, str.speedmax
mov ecx, edi
call fcn.00591380
movss xmm2, dword [esp + 0x2c]
mov edx, str.phasemin
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x739878]
mov edx, str.phasemax
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x739900]
mov edx, str.timescale
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x739900]
mov edx, str.scale
mov ecx, edi
call fcn.00591380
movss xmm2, dword [esp + 0x2c]
mov edx, str.offset
mov ecx, edi
call fcn.00591380
push str.0_1_0
mov edx, str.forward
mov ecx, edi
call fcn.00591470
add esp, 4
mov edx, str.right
mov ecx, edi
push str.0_0_1
call fcn.00591470
add esp, 4
mov edx, 0x737284
mov ecx, edi
push str.1_0_0
call fcn.00591470
add esp, 4
mov ecx, edi
push 0x737ca9
push str.scale
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738999
push str.timescale
mov ecx, edi
movss dword [esp + 0x44], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x44]
mov ecx, edi
push 0x7389b6
push str.offset
mulss xmm0, dword [eax]
movss dword [esp + 0x50], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738984
push str.phasemin
mov ecx, edi
movss dword [esp + 0x40], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x7389a4
movss dword [esp + 0x1c], xmm0
push str.phasemax
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
subss xmm0, dword [esp + 0x18]
push 0x738920
push str.speedmin
mov ecx, edi
movss dword [esp + 0x24], xmm0
call fcn.00465fd0
mov ecx, dword [esp + 0x28]
add ecx, 0x39c
mov dword [esp + 0x14], ecx
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x14]
mov ecx, edi
push 0x738948
push str.speedmax
mulss xmm0, dword [eax]
movss dword [esp + 0x58], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x14]
mov ecx, edi
push 0x7389c7
push str.forward
mulss xmm0, dword [eax]
movss dword [esp + 0x98], xmm0
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x574bf0
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x574be3
add edx, 4
mov eax, dword [esp + 0x28]
add eax, 0x39c
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x364]
call fcn.0044b270
mov ecx, dword [esp + 0x24]
push 0x73842d
push str.right
movq xmm0, qword [eax]
movq qword [ecx + 0x1c], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 0x24], eax
mov ecx, edi
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
jne 0x574c2c
mov eax, dword [esp + 0x14]
jmp 0x574c42
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x574c39
add edx, 4
mov eax, dword [esp + 0x28]
add eax, 0x39c
lea ecx, [esp + 0x370]
mov dword [esp + 0x40], eax
call fcn.0044b270
mov ecx, dword [esp + 0x24]
push 0x737286
push 0x737284
movq xmm0, qword [eax]
movq qword [ecx + 0x28], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 0x30], eax
mov ecx, edi
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x574c91
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x574c89
add edx, 4
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x37c]
call fcn.0044b270
mov ecx, dword [esp + 0x24]
mov edx, edi
movss xmm1, dword [esp + 0x50]
movq xmm0, qword [eax]
movq qword [ecx + 0x34], xmm0
mov eax, dword [eax + 8]
movss xmm0, dword [esp + 0x3c]
mov dword [ecx + 0x3c], eax
movss dword [ecx + 0x14], xmm0
movss xmm0, dword [esp + 0x48]
movss dword [ecx + 0x10], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [ecx + 0x18], xmm0
movss xmm0, dword [esp + 0x18]
movss dword [ecx + 8], xmm0
movss xmm0, dword [esp + 0x1c]
movss dword [ecx + 0xc], xmm0
movss xmm0, dword [esp + 0x90]
subss xmm0, xmm1
movss dword [ecx], xmm1
movss dword [ecx + 4], xmm0
add ecx, 0x40
call fcn.00571ae0
mov eax, dword [esp + 0x58]
mov ecx, edi
mov byte [esi], 2
add esi, 0x10
push 0x738999
mov dword [esp + 0x20], esi
add dword [esp + 0x20], 0x20
mov dword [esi + 4], 0x20
push str.timescale
mov dword [esi], eax
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x58]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x24]
sub eax, ecx
movss dword [esi + 8], xmm0
mov dword [esp + 0x24], eax
add eax, 0x10
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x1c]
lea esi, [eax + 0x10]
push 0x738920
push str.speedmin
mov byte [eax], 4
add eax, 0x30
mov dword [esi + 4], 0x20
mov dword [esi], ecx
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738948
push str.speedmax
mov ecx, edi
movss dword [esi + 8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x14]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x24]
movss dword [esi + 0xc], xmm0
mov dword [esi + 0x14], eax
add eax, 4
mov dword [esi + 0x18], eax
jmp 0x575867
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x574de5
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x574de5
add ecx, 4
push str.rotationrandom
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x57500c
mov eax, dword [esp + 0x20]
mov edx, 0x732ef4
push str.0_0_0
mov ecx, edi
mov byte [eax], 7
add eax, 0x10
mov dword [esp + 0x1c], eax
add eax, 0x1c
mov dword [esp + 0x24], eax
call fcn.00591470
add esp, 4
mov edx, 0x732ef8
mov ecx, edi
push str.0_0_6.28318530717
call fcn.00591470
movss xmm2, dword [0x739900]
add esp, 4
mov edx, str.exponent
mov ecx, edi
call fcn.00591380
movss xmm0, dword [esp + 0x2c]
mov ecx, edi
push 0x732ef7
movaps xmm1, xmm0
movss dword [esp + 0x70], xmm0
push 0x732ef4
movss dword [esp + 0x78], xmm0
movss dword [esp + 0x7c], xmm0
movss dword [esp + 0xe8], xmm0
movss dword [esp + 0x48], xmm1
movss dword [esp + 0x44], xmm0
call fcn.00465fd0
push 0x732efb
push 0x732ef8
mov ecx, edi
mov dword [esp + 0x98], eax
call fcn.00465fd0
mov edx, dword [esp + 0x90]
mov dword [esp + 0x50], eax
mov eax, dword [edx + 8]
movzx ecx, al
cmp ecx, 1
je 0x574ef9
cmp ecx, 2
je 0x574ef9
cmp ecx, 3
je 0x574ef9
cmp ecx, 4
jne 0x574f06
mov edx, dword [edx]
test edx, edx
je 0x574eda
shr eax, 8
test al, 1
je 0x574eda
add edx, 4
lea ecx, [esp + 0x388]
call fcn.0044b270
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x6c], xmm0
mov dword [esp + 0x74], eax
jmp 0x574f06
mov ecx, edx
call fcn.00465660
movss dword [esp + 0x74], xmm0
mov edx, dword [esp + 0x50]
mov ecx, dword [edx + 8]
movzx eax, cl
cmp eax, 1
je 0x574f7b
cmp eax, 2
je 0x574f7b
cmp eax, 3
je 0x574f7b
cmp eax, 4
jne 0x574f87
mov edx, dword [edx]
test edx, edx
je 0x574f35
shr ecx, 8
test cl, 1
je 0x574f35
add edx, 4
lea ecx, [esp + 0x394]
call fcn.0044b270
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x140], xmm0
movss xmm1, dword [esp + 0x144]
movss xmm0, dword [esp + 0x140]
mov dword [esp + 0x148], eax
movss xmm2, dword [esp + 0x148]
movss dword [esp + 0x40], xmm1
jmp 0x574f95
mov ecx, edx
call fcn.00465660
movaps xmm2, xmm0
jmp 0x574f8d
movss xmm2, dword [esp + 0x3c]
movups xmm0, xmmword [esp + 0xe0]
mov ecx, dword [esp + 0x18]
movq xmm1, qword [esp + 0x6c]
subss xmm0, dword [esp + 0x6c]
subss xmm2, dword [esp + 0x74]
mov eax, dword [esp + 0x74]
movq qword [ecx], xmm1
movss xmm1, dword [esp + 0x40]
subss xmm1, dword [esp + 0x70]
mov dword [ecx + 8], eax
movss dword [esp + 0x22c], xmm2
mov eax, dword [esp + 0x22c]
push 0x738954
unpcklps xmm0, xmm1
movq qword [ecx + 0xc], xmm0
mov dword [ecx + 0x14], eax
mov ecx, edi
push str.exponent
movq qword [esp + 0x22c], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov ecx, dword [esp + 0x18]
movss dword [ecx + 0x18], xmm0
jmp 0x57586b
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x575023
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x575023
add ecx, 4
push str.angularvelocityrandom
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x5752ad
mov eax, dword [esp + 0x20]
mov edx, 0x732ef4
push str.0_0__5
mov ecx, edi
mov byte [eax], 8
add eax, 0x10
mov dword [esp + 0x18], eax
add eax, 0x1c
mov dword [esp + 0x24], eax
call fcn.00591470
add esp, 4
mov edx, 0x732ef8
mov ecx, edi
push str.0_0_5
call fcn.00591470
movss xmm2, dword [0x739900]
add esp, 4
mov edx, str.exponent
mov ecx, edi
call fcn.00591380
mov eax, dword [esp + 0x28]
mov ecx, edi
push 0x732ef7
push 0x732ef4
movss xmm0, dword [eax + 0x39c]
movss dword [esp + 0x20], xmm0
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x5750c0
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x5750c0
add edx, 4
lea ecx, [esp + 0x3a0]
call fcn.0044b270
movss xmm0, dword [esp + 0x18]
mov ecx, edi
movaps xmm1, xmm0
push 0x732efb
mulss xmm1, dword [eax]
push 0x732ef8
movss dword [esp + 0x58], xmm1
movss dword [esp + 0xf8], xmm1
movaps xmm1, xmm0
mulss xmm0, dword [eax + 8]
mulss xmm1, dword [eax + 4]
mov eax, dword [esp + 0x30]
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x100], xmm0
movss dword [esp + 0x44], xmm1
movss xmm0, dword [eax + 0x39c]
movss dword [esp + 0xfc], xmm1
movss dword [esp + 0x98], xmm0
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x57514c
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x57514c
add edx, 4
lea ecx, [esp + 0x3ac]
call fcn.0044b270
movss xmm3, dword [esp + 0x90]
mov ecx, dword [esp + 0x14]
movaps xmm2, xmm3
movq xmm0, qword [esp + 0xf0]
movaps xmm1, xmm3
mulss xmm2, dword [eax]
push 0x738954
mulss xmm1, dword [eax + 4]
push str.exponent
mulss xmm3, dword [eax + 8]
mov eax, dword [esp + 0x100]
subss xmm2, dword [esp + 0x58]
subss xmm1, dword [esp + 0x44]
subss xmm3, dword [esp + 0x20]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
unpcklps xmm2, xmm1
movss dword [esp + 0x240], xmm3
mov eax, dword [esp + 0x240]
movq qword [ecx + 0xc], xmm2
mov dword [ecx + 0x14], eax
mov ecx, edi
movq qword [esp + 0x238], xmm2
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov ecx, dword [esp + 0x14]
lea eax, [esi + 0x10]
push 0x732ef7
push 0x732ef4
mov dword [esp + 0x48], eax
movss dword [ecx + 0x18], xmm0
mov ecx, dword [esp + 0x60]
mov byte [esi], 7
add esi, 0x40
mov dword [eax + 4], 0x30
mov dword [eax], ecx
mov ecx, edi
mov dword [esp + 0x24], esi
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x575229
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x575229
add edx, 4
lea ecx, [esp + 0x3b8]
call fcn.0044b270
mov ecx, dword [esp + 0x40]
push 0x732efb
push 0x732ef8
movq xmm0, qword [eax]
movq qword [ecx + 8], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x57526c
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x57526c
add edx, 4
lea ecx, [esp + 0x3c4]
call fcn.0044b270
mov ecx, dword [esp + 0x40]
movq xmm0, qword [eax]
movq qword [ecx + 0x14], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x28]
add eax, 0x39c
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x58]
mov dword [ecx + 0x24], eax
add eax, 0xc
mov dword [ecx + 0x28], eax
jmp 0x57586b
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x5752c4
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x5752c4
add ecx, 4
push str.mapsequencearoundcontrolpoint
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x57567a
mov eax, dword [esp + 0x20]
mov ecx, edi
mov byte [eax], 9
add eax, 0x10
mov dword [esp + 0x14], eax
add eax, 0x54
mov dword [esp + 0x20], eax
call fcn.00570dc0
push 0x7389fd
push str.count
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
movss xmm1, dword [0x739838]
comiss xmm0, xmm1
jbe 0x575336
push 0x7389fd
push str.count
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
movaps xmm1, xmm0
movss xmm0, dword [0x739900]
mov ecx, edi
mov eax, dword [esp + 0x14]
divss xmm0, xmm1
push 0x738a0e
push str.bounds
mov dword [eax + 4], 0
movss dword [eax], xmm0
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x575375
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x575375
add edx, 4
lea ecx, [esp + 0x1b0]
call fcn.005707b0
movss xmm1, dword [esp + 0x1b0]
mov ecx, edi
movss xmm0, dword [esp + 0x1b4]
mov eax, dword [esp + 0x14]
subss xmm0, xmm1
push 0x738a1d
push str.limitbehavior
movss dword [eax + 8], xmm1
movss dword [eax + 0xc], xmm0
call fcn.00465fd0
lea ecx, [esp + 0x550]
push ecx
mov ecx, eax
call fcn.00465130
cmp dword [eax + 0x14], 0xf
mov edx, dword [eax + 0x10]
jbe 0x5753d0
mov eax, dword [eax]
push 6
push str.mirror
mov ecx, eax
call fcn.004108e0
mov ecx, dword [esp + 0x1c]
add esp, 8
movzx eax, al
mov dword [ecx + 0x4c], eax
lea ecx, [esp + 0x550]
call fcn.004143d0
push 0x73893c
push str.controlpoint
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465370
mov ecx, 7
cmp eax, ecx
push 0x738920
cmovb ecx, eax
mov eax, dword [esp + 0x18]
push str.speedmin
mov dword [eax + 0x50], ecx
mov ecx, edi
mov eax, dword [esp + 0x30]
movss xmm0, dword [eax + 0x39c]
movss dword [esp + 0x20], xmm0
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x575456
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x575456
add edx, 4
lea ecx, [esp + 0x3d0]
call fcn.0044b270
movss xmm0, dword [esp + 0x18]
mov ecx, edi
movaps xmm1, xmm0
push 0x738948
mulss xmm1, dword [eax]
push str.speedmax
movss dword [esp + 0x58], xmm1
movss dword [esp + 0xd8], xmm1
movaps xmm1, xmm0
mulss xmm0, dword [eax + 8]
mulss xmm1, dword [eax + 4]
mov eax, dword [esp + 0x30]
movss dword [esp + 0x20], xmm0
movss dword [esp + 0xe0], xmm0
movss dword [esp + 0x44], xmm1
movss xmm0, dword [eax + 0x39c]
movss dword [esp + 0xdc], xmm1
movss dword [esp + 0x98], xmm0
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x5754e2
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x5754e2
add edx, 4
lea ecx, [esp + 0x3dc]
call fcn.0044b270
movss xmm3, dword [esp + 0x90]
mov ecx, dword [esp + 0x14]
movaps xmm2, xmm3
movq xmm0, qword [esp + 0xd0]
movaps xmm1, xmm3
mulss xmm2, dword [eax]
push 0x738a04
mulss xmm1, dword [eax + 4]
push str.axis
mulss xmm3, dword [eax + 8]
mov eax, dword [esp + 0xe0]
subss xmm2, dword [esp + 0x58]
subss xmm1, dword [esp + 0x44]
subss xmm3, dword [esp + 0x20]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
unpcklps xmm2, xmm1
movss dword [esp + 0x24c], xmm3
mov eax, dword [esp + 0x24c]
movq qword [ecx + 0x1c], xmm2
mov dword [ecx + 0x24], eax
mov ecx, edi
movq qword [esp + 0x244], xmm2
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x575581
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x575581
add edx, 4
lea ecx, [esp + 0x3e8]
call fcn.0044b270
mov edx, dword [esp + 0x14]
lea ecx, [edx + 0x28]
movq xmm0, qword [eax]
movq qword [ecx], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
lea eax, [edx + 0x40]
push eax
add edx, 0x34
call fcn.00571520
mov ecx, dword [esp + 0x5c]
lea eax, [esi + 0x10]
add esp, 4
mov byte [esi], 7
mov dword [eax + 4], 0x30
add esi, 0x40
mov dword [eax], ecx
mov ecx, edi
mov dword [esp + 0x40], eax
push 0x738920
push str.speedmin
mov dword [esp + 0x24], esi
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x5755f3
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x5755f3
add edx, 4
lea ecx, [esp + 0x3f4]
call fcn.0044b270
mov ecx, dword [esp + 0x40]
push 0x738948
push str.speedmax
movq xmm0, qword [eax]
movq qword [ecx + 8], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x575636
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x575636
add edx, 4
lea ecx, [esp + 0x400]
call fcn.0044b270
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
movq xmm0, qword [eax]
movq qword [edx + 0x14], xmm0
mov eax, dword [eax + 8]
mov dword [edx + 0x1c], eax
mov eax, dword [esp + 0x28]
add eax, 0x39c
sub ecx, dword [esp + 0x58]
mov dword [edx + 0x20], eax
lea eax, [ecx + 0x10]
mov dword [edx + 0x24], eax
lea eax, [ecx + 0x1c]
mov dword [edx + 0x28], eax
jmp 0x57586b
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x575691
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x575691
add ecx, 4
push str.mapsequencebetweencontrolpoints
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x57586b
mov eax, dword [esp + 0x20]
mov edx, str.count
push 0x20
mov ecx, edi
lea esi, [eax + 0x10]
mov byte [eax], 0xa
add eax, 0x2c
mov dword [esp + 0x94], esi
mov dword [esp + 0x24], eax
call fcn.00591290
add esp, 4
mov edx, str.bounds
mov ecx, edi
push 0x7389f4
call fcn.00591470
add esp, 4
mov edx, str.limitbehavior
mov ecx, edi
push str.repeat
call fcn.00591470
add esp, 4
mov edx, str.controlpointstart
mov ecx, edi
push 0
call fcn.00591290
add esp, 4
mov edx, str.controlpointend
mov ecx, edi
push 1
call fcn.00591290
add esp, 4
mov ecx, edi
push 0x7389fd
push str.count
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
movss xmm1, dword [0x739838]
comiss xmm0, xmm1
jbe 0x57575a
push 0x7389fd
push str.count
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
movaps xmm1, xmm0
movss xmm0, dword [0x739900]
mov ecx, edi
divss xmm0, xmm1
push 0x738a0e
mov dword [esi + 4], 0
push str.bounds
movss dword [esi], xmm0
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x575795
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x575795
add edx, 4
lea ecx, [esp + 0x150]
call fcn.005707b0
movss xmm1, dword [esp + 0x150]
mov ecx, edi
movss xmm0, dword [esp + 0x154]
subss xmm0, xmm1
movss dword [esi + 8], xmm1
push 0x738a1d
push str.limitbehavior
movss dword [esi + 0xc], xmm0
call fcn.00465fd0
lea ecx, [esp + 0x568]
push ecx
mov ecx, eax
call fcn.00465130
cmp dword [eax + 0x14], 0xf
mov edx, dword [eax + 0x10]
jbe 0x5757ec
mov eax, dword [eax]
push 6
push str.mirror
mov ecx, eax
call fcn.004108e0
add esp, 8
movzx eax, al
lea ecx, [esp + 0x568]
mov dword [esi + 0x10], eax
call fcn.004143d0
push 0x738a49
push str.controlpointstart
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465370
push 0x738a37
push str.controlpointend
mov ecx, edi
mov dword [esi + 0x14], eax
call fcn.00465fd0
mov ecx, eax
call fcn.00465370
mov edi, dword [esp + 0x90]
mov edx, 7
mov esi, eax
mov eax, 7
cmp dword [edi + 0x14], edx
cmovb edx, dword [edi + 0x14]
cmp esi, eax
mov dword [edi + 0x14], edx
cmovb eax, esi
mov dword [edi + 0x18], eax
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x118]
call fcn.00428d00
mov eax, dword [esp + 0x118]
mov dl, byte [esp + 0x17c]
mov ecx, dword [esp + 0x178]
jmp 0x573e10
mov edi, dword [esp + 0x20]
sub edi, dword [esp + 0x58]
je 0x5758ca
lea eax, [edi + 0x10]
push 0x10
push eax
call fcn.005d7dea
push edi
push dword [esp + 0x64]
mov dword [esp + 0xa0], eax
push eax
call fcn.005c3580
mov eax, dword [esp + 0xa4]
add esp, 0x14
mov word [edi + eax], 0
jmp 0x5758cc
xor eax, eax
mov edi, dword [esp + 0x28]
mov dword [edi + 0x26c], eax
mov edx, dword [esp + 0x34]
movzx eax, byte [edx + 8]
cmp eax, 6
jne 0x577b89
mov edi, dword [esp + 0x54]
mov dword [esp + 0x20], edi
sub eax, eax
je 0x5758f8
sub eax, 1
jne 0x57590c
mov eax, dword [edx]
test eax, eax
je 0x57590c
mov eax, dword [eax]
mov eax, dword [eax]
mov byte [esp + 0x124], 0
jmp 0x575916
xor eax, eax
mov byte [esp + 0x124], 1
mov dword [esp + 0x120], eax
movzx ecx, byte [edx + 8]
sub ecx, 6
je 0x57592b
sub ecx, 1
jne 0x575937
mov ecx, dword [edx]
test ecx, ecx
je 0x575937
mov ecx, dword [ecx]
xor dl, dl
jmp 0x57593b
xor ecx, ecx
mov dl, 1
mov byte [esp + 0x16c], dl
mov byte [esp + 0x33], dl
mov edx, dword [esp + 0x28]
add edx, 0x3a4
mov dword [esp + 0x168], ecx
mov dword [esp + 0x38], edx
mov dl, byte [esp + 0x33]
nop
cmp byte [esp + 0x124], 0
jne 0x57596f
cmp eax, ecx
sete dl
test dl, dl
jne 0x577b4a
cmp byte [eax + 0x20], 7
lea edi, [eax + 0x18]
mov dword [esp + 0x24], edi
jne 0x577b24
push 0x720af0
push str.name
mov ecx, edi
call fcn.00465fd0
mov dword [esp + 0x14], eax
mov ecx, dword [eax + 8]
cmp cl, 4
jne 0x577b24
mov eax, dword [eax]
test eax, eax
je 0x5759ba
shr ecx, 8
test cl, 1
je 0x5759ba
add eax, 4
push str.movement
push eax
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x575ca4
mov eax, dword [esp + 0x20]
mov ecx, edi
push 0x738a93
push str.gravity
mov byte [eax], 1
add eax, 0x10
mov dword [esp + 0x2c], eax
add eax, 0x40
mov dword [esp + 0x28], eax
call fcn.00466230
test eax, eax
jne 0x575a52
push str.0_0_0
lea ecx, [esp + 0x27c]
call fcn.004649b0
push 0x738a93
push str.gravity
mov ecx, edi
call fcn.00465fd0
push eax
lea ecx, [esp + 0x27c]
call fcn.00464cb0
lea ecx, [esp + 0x278]
call fcn.00465f40
mov eax, dword [esp + 0x284]
xorps xmm0, xmm0
movlpd qword [esp + 0x278], xmm0
test eax, eax
je 0x575a52
push eax
call fcn.004672a0
movss xmm2, dword [esp + 0x2c]
mov edx, str.drag
mov ecx, edi
call fcn.00591380
mov eax, dword [esp + 0x28]
mov ecx, edi
add eax, 0x39c
push 0x738a93
push str.gravity
mov dword [esp + 0x1c], eax
movss xmm0, dword [eax]
movss dword [esp + 0x44], xmm0
call fcn.00465fd0
mov ecx, dword [eax]
test ecx, ecx
jne 0x575aa7
movss xmm0, dword [esp + 0x2c]
mov dword [esp + 0x18], ecx
movaps xmm1, xmm0
movaps xmm2, xmm0
jmp 0x575b31
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x575ab4
add ecx, 4
mov eax, dword [esp + 0x28]
movss xmm0, dword [esp + 0x2c]
add eax, 0x39c
mov dword [esp + 0x14], eax
movaps xmm1, xmm0
mov dword [esp + 0x18], ecx
movaps xmm2, xmm0
test ecx, ecx
je 0x575b31
cmp byte [ecx], 0
je 0x575b31
push ecx
call fcn.005d49b2
add esp, 4
lea ecx, [esp + 0x18]
fstp dword [esp + 0x50]
call fcn.0044b230
push dword [esp + 0x18]
call fcn.005d49b2
add esp, 4
lea ecx, [esp + 0x18]
fstp dword [esp + 0x90]
call fcn.0044b230
push dword [esp + 0x18]
call fcn.005d49b2
movss xmm2, dword [esp + 0x94]
add esp, 4
movss xmm1, dword [esp + 0x50]
fstp dword [esp + 0x34]
movss xmm0, dword [esp + 0x34]
movss xmm3, dword [esp + 0x3c]
mov ecx, edi
mov eax, dword [esp + 0x24]
mulss xmm1, xmm3
push 0x738a88
mulss xmm2, xmm3
push str.drag
mulss xmm0, xmm3
shufps xmm1, xmm1, 0
movups xmmword [eax], xmm1
shufps xmm2, xmm2, 0
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x10], xmm2
movups xmmword [eax + 0x20], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov ecx, dword [esp + 0x24]
lea eax, [esi + 0x10]
shufps xmm0, xmm0, 0
push 0x738a93
push str.gravity
movups xmmword [ecx + 0x30], xmm0
mov ecx, dword [esp + 0x5c]
mov byte [esi], 6
add esi, 0x40
mov dword [eax + 4], 0x30
mov dword [eax], ecx
mov ecx, edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x24], esi
call fcn.00465fd0
mov ecx, dword [eax]
test ecx, ecx
jne 0x575bd5
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], ecx
mov dword [esp + 0x114], ecx
jmp 0x575c65
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x575be2
add ecx, 4
mov eax, dword [esp + 0x28]
add eax, 0x39c
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
test ecx, ecx
je 0x575c65
cmp byte [ecx], 0
je 0x575c65
push ecx
call fcn.005d49b2
add esp, 4
lea ecx, [esp + 0x18]
fstp dword [esp + 0x10c]
call fcn.0044b230
push dword [esp + 0x18]
call fcn.005d49b2
add esp, 4
lea ecx, [esp + 0x18]
fstp dword [esp + 0x110]
call fcn.0044b230
push dword [esp + 0x18]
call fcn.005d49b2
fstp dword [esp + 0x118]
add esp, 4
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
sub edx, dword [esp + 0x54]
movq xmm0, qword [esp + 0x10c]
mov eax, dword [esp + 0x114]
movq qword [ecx + 8], xmm0
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x14], eax
lea eax, [edx + 0x10]
mov dword [ecx + 0x18], edx
mov dword [ecx + 0x1c], eax
lea eax, [edx + 0x20]
mov dword [ecx + 0x20], eax
jmp 0x577b24
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x575cbb
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x575cbb
add ecx, 4
push str.angularmovement
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x575f4c
mov eax, dword [esp + 0x20]
mov edx, str.force
push str.0_0_0
mov ecx, edi
mov byte [eax], 2
add eax, 0x10
mov dword [esp + 0x28], eax
add eax, 0x40
mov dword [esp + 0x24], eax
call fcn.00591470
movss xmm2, dword [esp + 0x30]
add esp, 4
mov edx, str.drag
mov ecx, edi
call fcn.00591380
mov eax, dword [esp + 0x28]
mov ecx, edi
add eax, 0x39c
push 0x738aa5
push str.force
mov dword [esp + 0x1c], eax
movss xmm0, dword [eax]
movss dword [esp + 0x44], xmm0
call fcn.00465fd0
mov ecx, dword [eax]
test ecx, ecx
jne 0x575d4f
movss xmm0, dword [esp + 0x2c]
mov dword [esp + 0x18], ecx
movaps xmm1, xmm0
movaps xmm2, xmm0
jmp 0x575dd9
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x575d5c
add ecx, 4
mov eax, dword [esp + 0x28]
movss xmm0, dword [esp + 0x2c]
add eax, 0x39c
mov dword [esp + 0x14], eax
movaps xmm1, xmm0
mov dword [esp + 0x18], ecx
movaps xmm2, xmm0
test ecx, ecx
je 0x575dd9
cmp byte [ecx], 0
je 0x575dd9
push ecx
call fcn.005d49b2
add esp, 4
lea ecx, [esp + 0x18]
fstp dword [esp + 0x50]
call fcn.0044b230
push dword [esp + 0x18]
call fcn.005d49b2
add esp, 4
lea ecx, [esp + 0x18]
fstp dword [esp + 0x90]
call fcn.0044b230
push dword [esp + 0x18]
call fcn.005d49b2
movss xmm2, dword [esp + 0x94]
add esp, 4
movss xmm1, dword [esp + 0x50]
fstp dword [esp + 0x34]
movss xmm0, dword [esp + 0x34]
movss xmm3, dword [esp + 0x3c]
mov ecx, edi
mov eax, dword [esp + 0x24]
mulss xmm1, xmm3
push 0x738a88
mulss xmm2, xmm3
push str.drag
mulss xmm0, xmm3
shufps xmm1, xmm1, 0
movups xmmword [eax], xmm1
shufps xmm2, xmm2, 0
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x10], xmm2
movups xmmword [eax + 0x20], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov ecx, dword [esp + 0x24]
lea eax, [esi + 0x10]
shufps xmm0, xmm0, 0
push 0x738aa5
push str.force
movups xmmword [ecx + 0x30], xmm0
mov ecx, dword [esp + 0x5c]
mov byte [esi], 6
add esi, 0x40
mov dword [eax + 4], 0x30
mov dword [eax], ecx
mov ecx, edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x24], esi
call fcn.00465fd0
mov ecx, dword [eax]
test ecx, ecx
jne 0x575e7d
mov dword [esp + 0x18], ecx
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], ecx
jmp 0x575f0d
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x575e8a
add ecx, 4
mov eax, dword [esp + 0x28]
add eax, 0x39c
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
test ecx, ecx
je 0x575f0d
cmp byte [ecx], 0
je 0x575f0d
push ecx
call fcn.005d49b2
add esp, 4
lea ecx, [esp + 0x18]
fstp dword [esp + 0x100]
call fcn.0044b230
push dword [esp + 0x18]
call fcn.005d49b2
add esp, 4
lea ecx, [esp + 0x18]
fstp dword [esp + 0x104]
call fcn.0044b230
push dword [esp + 0x18]
call fcn.005d49b2
fstp dword [esp + 0x10c]
add esp, 4
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x54]
movq xmm0, qword [esp + 0x100]
mov eax, dword [esp + 0x108]
movq qword [edx + 8], xmm0
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x14]
mov dword [edx + 0x14], eax
lea eax, [ecx + 0x10]
mov dword [edx + 0x18], ecx
mov dword [edx + 0x1c], eax
lea eax, [ecx + 0x20]
mov dword [edx + 0x20], eax
jmp 0x577b24
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x575f63
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x575f63
add ecx, 4
push str.alphafade
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x575ff2
mov eax, dword [esp + 0x20]
mov edx, str.fadeintime
movss xmm2, dword [0x7398c0]
mov ecx, edi
mov byte [eax], 3
lea esi, [eax + 0x10]
add eax, 0x30
mov dword [esp + 0x20], eax
call fcn.00591380
movss xmm2, dword [0x7398c0]
mov edx, str.fadeouttime
mov ecx, edi
call fcn.00591380
push 0x738a9e
push str.fadeintime
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738abf
shufps xmm0, xmm0, 0
mov ecx, edi
push str.fadeouttime
movups xmmword [esi], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
shufps xmm0, xmm0, 0
movups xmmword [esi + 0x10], xmm0
jmp 0x577b20
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x576009
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x576009
add ecx, 4
push str.sizechange
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x5761c7
mov eax, dword [esp + 0x20]
mov edx, str.startvalue
movss xmm2, dword [0x739900]
mov ecx, edi
lea esi, [eax + 0x10]
mov byte [eax], 4
add eax, 0x50
mov dword [esp + 0x50], esi
mov dword [esp + 0x20], eax
call fcn.00591380
movss xmm2, dword [esp + 0x2c]
mov edx, str.endvalue
mov ecx, edi
call fcn.00591380
movss xmm2, dword [esp + 0x2c]
mov edx, str.starttime
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x739900]
mov edx, str.endtime
mov ecx, edi
call fcn.00591380
push 0x738ac9
push str.starttime
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738ae7
push str.endtime
mov ecx, edi
movss dword [esp + 0x3c], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738ab2
push str.startvalue
mov ecx, edi
movss dword [esp + 0x2c8], xmm0
call fcn.00465fd0
mov edi, dword [esp + 0x28]
mov ecx, eax
add edi, 0x394
call fcn.00465660
mulss xmm0, dword [edi]
mov ecx, dword [esp + 0x24]
push 0x738ad4
push str.endvalue
movss dword [esp + 0x98], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
movss xmm1, dword [esp + 0x34]
movaps xmm2, xmm0
movups xmm0, xmmword [esp + 0x2c0]
mov eax, dword [esp + 0x1c]
mulss xmm2, dword [edi]
mov ecx, dword [esp + 0x24]
subss xmm0, dword [esp + 0x34]
shufps xmm1, xmm1, 0
movups xmmword [esi + 0x20], xmm1
movss xmm1, dword [esp + 0x90]
subss xmm2, xmm1
shufps xmm0, xmm0, 0
rcpps xmm0, xmm0
push 0x738ab2
push str.startvalue
shufps xmm2, xmm2, 0
movups xmmword [esi + 0x30], xmm0
movaps xmm0, xmm1
shufps xmm0, xmm0, 0
movups xmmword [esi], xmm0
movups xmmword [esi + 0x10], xmm2
lea esi, [eax + 0x10]
mov byte [eax], 5
add eax, 0x30
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x5c]
mov dword [esi + 4], 0x20
mov dword [esi], eax
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov ecx, dword [esp + 0x24]
push 0x738ad4
push str.endvalue
movss dword [esi + 8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0x54]
movss dword [esi + 0xc], xmm0
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], eax
add eax, 0x10
jmp 0x577b1d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x5761de
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x5761de
add ecx, 4
push str.colorchange
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x576703
mov eax, dword [esp + 0x20]
mov edx, str.startvalue
push str.1_1_1
mov ecx, edi
mov byte [eax], 5
add eax, 0x10
mov dword [esp + 0x44], eax
sub eax, 0xffffff80
mov dword [esp + 0x24], eax
call fcn.00591470
add esp, 4
mov edx, str.endvalue
mov ecx, edi
push str.0_0_0
call fcn.00591470
movss xmm2, dword [esp + 0x30]
add esp, 4
mov edx, str.starttime
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x739900]
mov edx, str.endtime
mov ecx, edi
call fcn.00591380
push 0x738ac9
push str.starttime
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738ae7
push str.endtime
mov ecx, edi
movss dword [esp + 0x44], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738ab2
push str.startvalue
mov ecx, edi
movss dword [esp + 0x2d8], xmm0
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x5762ba
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x5762ba
add edx, 4
lea ecx, [esp + 0x60]
call fcn.0044b270
push 0x738ad4
push str.endvalue
mov ecx, edi
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x5762e7
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x5762e7
add edx, 4
lea ecx, [esp + 0x78]
call fcn.0044b270
cmp byte [esp + 0x5f], 0
je 0x57657f
movq xmm0, qword [esp + 0x60]
sub esp, 0xc
mov eax, dword [esp + 0x74]
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [esp + 0x4c0]
call fcn.00570800
mov ecx, esp
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x6c], xmm0
movq xmm0, qword [esp + 0x84]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x8c]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [esp + 0x424]
call fcn.00570800
movss xmm2, dword [esp + 0x94]
add esp, 4
subss xmm2, dword [esp + 0xbc]
movss xmm1, dword [esp + 0x54]
movq xmm0, qword [eax]
subss xmm1, dword [esp + 0xc4]
mov eax, dword [eax + 8]
movq qword [esp + 0x80], xmm0
movss xmm0, dword [esp + 0x94]
subss xmm0, dword [esp + 0xc0]
movups xmmword [esp + 0x158], xmm2
mov dword [esp + 0x88], eax
addss xmm2, dword [esp + 0x68]
movss dword [esp + 0x1c], xmm1
movss dword [esp + 0x20], xmm0
addss xmm0, dword [esp + 0x6c]
movss dword [esp + 0x3c], xmm2
fld dword [esp + 0x3c]
fstp qword [esp]
movss dword [esp + 0x98], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esp + 0x70]
movups xmmword [esp + 0xc8], xmm2
movss dword [esp + 0x58], xmm0
call fcn.006d3790
movups xmm0, xmmword [esp + 0xc8]
movss xmm1, dword [0x739900]
fstp dword [esp + 0x3c]
subss xmm0, dword [esp + 0x3c]
movups xmmword [esp + 0xc8], xmm0
movss xmm0, dword [esp + 0x34]
maxss xmm0, dword [esp + 0x98]
minss xmm1, xmm0
movss xmm0, dword [0x739900]
movss dword [esp + 0x98], xmm1
movss xmm1, dword [esp + 0x34]
maxss xmm1, dword [esp + 0x58]
minss xmm0, xmm1
movss dword [esp + 0x70], xmm0
movups xmm0, xmmword [esp + 0x158]
addss xmm0, dword [esp + 0x80]
movss dword [esp + 0x3c], xmm0
fld dword [esp + 0x3c]
movups xmmword [esp + 0x158], xmm0
movss xmm0, dword [esp + 0x20]
addss xmm0, dword [esp + 0x84]
fstp qword [esp]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x1c]
addss xmm0, dword [esp + 0x88]
movss dword [esp + 0x1c], xmm0
call fcn.006d3790
movups xmm0, xmmword [esp + 0x158]
movss xmm1, dword [0x739900]
fstp dword [esp + 0x3c]
subss xmm0, dword [esp + 0x3c]
movups xmmword [esp + 0x158], xmm0
movss xmm0, dword [esp + 0x34]
maxss xmm0, dword [esp + 0x20]
minss xmm1, xmm0
movss dword [esp + 0x3c], xmm1
movss xmm1, dword [esp + 0x34]
maxss xmm1, dword [esp + 0x1c]
movss xmm0, dword [0x739900]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, esp
minss xmm0, xmm1
movups xmm1, xmmword [esp + 0xcc]
movss dword [esp + 0x8c], xmm0
movss xmm0, dword [esp + 0x9c]
unpcklps xmm1, xmm0
movq qword [ecx], xmm1
mov dword [ecx + 8], eax
lea ecx, [esp + 0x430]
call fcn.005708d0
movups xmm1, xmmword [esp + 0x15c]
mov ecx, esp
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x6c], xmm0
movss xmm0, dword [esp + 0x40]
unpcklps xmm1, xmm0
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x8c]
movq qword [ecx], xmm1
mov dword [ecx + 8], eax
lea ecx, [esp + 0x43c]
call fcn.005708d0
add esp, 0xc
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x78], xmm0
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x40]
movss xmm0, dword [esp + 0x3c]
shufps xmm0, xmm0, 0
movss xmm1, dword [esp + 0x60]
movups xmmword [eax + 0x60], xmm0
movups xmm0, xmmword [esp + 0x2d0]
mov ecx, dword [esp + 0x54]
push 0x738ab2
subss xmm0, dword [esp + 0x40]
push str.startvalue
shufps xmm0, xmm0, 0
rcpps xmm0, xmm0
movups xmmword [eax + 0x70], xmm0
movaps xmm0, xmm1
shufps xmm0, xmm0, 0
movups xmmword [eax], xmm0
movss xmm0, dword [esp + 0x6c]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x10], xmm0
movss xmm0, dword [esp + 0x70]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x20], xmm0
movss xmm0, dword [esp + 0x80]
subss xmm0, xmm1
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x30], xmm0
movss xmm0, dword [esp + 0x84]
subss xmm0, dword [esp + 0x6c]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x40], xmm0
movss xmm0, dword [esp + 0x88]
subss xmm0, dword [esp + 0x70]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x50], xmm0
lea eax, [esi + 0x10]
mov byte [esi], 9
add esi, 0x60
mov dword [eax + 4], 0x50
mov dword [eax], ecx
mov ecx, edi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x24], esi
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x57665b
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x57665b
add edx, 4
lea ecx, [esp + 0x43c]
call fcn.0044b270
mov ecx, dword [esp + 0x44]
push 0x738ad4
push str.endvalue
movq xmm0, qword [eax]
movq qword [ecx + 8], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x57669e
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x57669e
add edx, 4
lea ecx, [esp + 0x448]
call fcn.0044b270
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
sub ecx, dword [esp + 0x54]
movq xmm0, qword [eax]
movq qword [edx + 0x14], xmm0
mov eax, dword [eax + 8]
mov dword [edx + 0x1c], eax
movq xmm0, qword [esp + 0xb4]
movq qword [edx + 0x20], xmm0
mov eax, dword [esp + 0xbc]
mov dword [edx + 0x28], eax
lea eax, [ecx + 0x10]
mov dword [edx + 0x2c], ecx
mov dword [edx + 0x30], eax
lea eax, [ecx + 0x20]
mov dword [edx + 0x34], eax
lea eax, [ecx + 0x30]
mov dword [edx + 0x38], eax
lea eax, [ecx + 0x40]
mov dword [edx + 0x3c], eax
lea eax, [ecx + 0x50]
mov dword [edx + 0x40], eax
jmp 0x577b24
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x57671a
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x57671a
add ecx, 4
push str.alphachange
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x576853
mov eax, dword [esp + 0x20]
mov edx, str.startvalue
movss xmm2, dword [0x739900]
mov ecx, edi
mov byte [eax], 6
lea esi, [eax + 0x10]
add eax, 0x50
mov dword [esp + 0x20], eax
call fcn.00591380
movss xmm2, dword [esp + 0x2c]
mov edx, str.endvalue
mov ecx, edi
call fcn.00591380
movss xmm2, dword [esp + 0x2c]
mov edx, str.starttime
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x739900]
mov edx, str.endtime
mov ecx, edi
call fcn.00591380
push 0x738ac9
push str.starttime
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738ae7
push str.endtime
mov ecx, edi
movss dword [esp + 0x3c], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738ab2
push str.startvalue
mov ecx, edi
movss dword [esp + 0x348], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738ad4
push str.endvalue
mov ecx, edi
movss dword [esp + 0x98], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
movss xmm1, dword [esp + 0x34]
movaps xmm2, xmm0
movups xmm0, xmmword [esp + 0x340]
shufps xmm1, xmm1, 0
subss xmm0, dword [esp + 0x34]
movups xmmword [esi + 0x20], xmm1
shufps xmm0, xmm0, 0
rcpps xmm1, xmm0
movups xmmword [esi + 0x30], xmm1
movss xmm1, dword [esp + 0x90]
subss xmm2, xmm1
movaps xmm0, xmm1
shufps xmm0, xmm0, 0
movups xmmword [esi], xmm0
shufps xmm2, xmm2, 0
movups xmmword [esi + 0x10], xmm2
jmp 0x577b20
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x57686a
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x57686a
add ecx, 4
push str.oscillateposition
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x576b3b
mov eax, dword [esp + 0x20]
mov edx, str.mask
push str.1_1_0
mov ecx, edi
mov byte [eax], 7
add eax, 0x10
mov dword [esp + 0x48], eax
add eax, 0x90
mov dword [esp + 0x24], eax
call fcn.00591470
movss xmm2, dword [0x739900]
add esp, 4
mov edx, str.frequencymin
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x7399b0]
mov edx, str.frequencymax
mov ecx, edi
call fcn.00591380
movss xmm2, dword [esp + 0x2c]
mov edx, str.scalemin
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x7399bc]
mov edx, str.scalemax
mov ecx, edi
call fcn.00591380
movss xmm2, dword [esp + 0x2c]
mov edx, str.phasemin
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x7399b8]
mov edx, str.phasemax
mov ecx, edi
call fcn.00591380
push 0x738afc
push str.mask
mov ecx, edi
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x576943
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x576943
add edx, 4
lea ecx, [esp + 0xd0]
call fcn.0044b270
push 0x738af4
push str.frequencymin
mov ecx, edi
call fcn.00465fd0
mov edi, dword [esp + 0x28]
mov ecx, eax
add edi, 0x39c
call fcn.00465660
mulss xmm0, dword [edi]
mov esi, dword [esp + 0x24]
mov ecx, esi
push 0x738b18
push str.frequencymax
movups xmmword [esp + 0xe8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mulss xmm0, dword [edi]
mov ecx, esi
push 0x738984
push str.phasemin
subss xmm0, dword [esp + 0xe8]
movups xmmword [esp + 0xc8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x7389a4
push str.phasemax
mov ecx, esi
movss dword [esp + 0x1b8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
subss xmm0, dword [esp + 0x1b0]
push 0x738b08
push str.scalemin
mov ecx, esi
movups xmmword [esp + 0x158], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738b30
push str.scalemax
mov ecx, esi
movss dword [esp + 0x2e8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
movss xmm1, dword [esp + 0xd0]
mov eax, dword [esp + 0x44]
shufps xmm1, xmm1, 0
movups xmm2, xmmword [esp + 0x2e0]
movups xmmword [eax], xmm1
movss xmm1, dword [esp + 0xd4]
subss xmm0, xmm2
shufps xmm1, xmm1, 0
movups xmmword [eax + 0x10], xmm1
movss xmm1, dword [esp + 0xd8]
shufps xmm1, xmm1, 0
movups xmmword [eax + 0x20], xmm1
movups xmm1, xmmword [esp + 0xe0]
shufps xmm2, xmm2, 0
shufps xmm1, xmm1, 0
movups xmmword [eax + 0x30], xmm1
movups xmm1, xmmword [esp + 0xc0]
shufps xmm0, xmm0, 0
shufps xmm1, xmm1, 0
movups xmmword [eax + 0x40], xmm1
movups xmm1, xmmword [esp + 0x1b0]
shufps xmm1, xmm1, 0
movups xmmword [eax + 0x50], xmm1
movups xmm1, xmmword [esp + 0x150]
shufps xmm1, xmm1, 0
movups xmmword [eax + 0x60], xmm1
movups xmmword [eax + 0x70], xmm2
movups xmmword [eax + 0x80], xmm0
mov eax, dword [esp + 0x1c]
mov byte [eax], 5
lea esi, [eax + 0x10]
mov ecx, dword [esp + 0x24]
add eax, 0x30
push 0x738af4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x58]
mov dword [esi + 4], 0x20
push str.frequencymin
mov dword [esi], eax
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov ecx, dword [esp + 0x24]
push 0x738b18
push str.frequencymax
movss dword [esi + 8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov ecx, dword [esp + 0x44]
sub ecx, dword [esp + 0x54]
movss dword [esi + 0xc], xmm0
mov dword [esi + 0x10], edi
lea eax, [ecx + 0x30]
mov dword [esi + 0x14], eax
lea eax, [ecx + 0x40]
jmp 0x577b1d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x576b52
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x576b52
add ecx, 4
push str.oscillatealpha
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x576e5e
mov eax, dword [esp + 0x20]
mov edx, str.frequencymin
movss xmm2, dword [0x739900]
mov ecx, edi
mov dword [esp + 0x44], eax
mov byte [eax], 8
lea esi, [eax + 0x10]
add eax, 0xb0
mov dword [esp + 0x20], eax
call fcn.00591380
movss xmm2, dword [0x7399bc]
mov edx, str.frequencymax
mov ecx, edi
call fcn.00591380
movss xmm2, dword [esp + 0x2c]
mov edx, str.scalemin
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x739900]
mov edx, str.scalemax
mov ecx, edi
call fcn.00591380
movss xmm2, dword [esp + 0x2c]
mov edx, str.phasemin
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x7399b8]
mov edx, str.phasemax
mov ecx, edi
call fcn.00591380
push 0x738af4
push str.frequencymin
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738b18
push str.frequencymax
mov ecx, edi
movss dword [esp + 0x298], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
subss xmm0, dword [esp + 0x290]
push 0x738984
push str.phasemin
mov ecx, edi
movups xmmword [esp + 0xe8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x7389a4
push str.phasemax
mov ecx, edi
movss dword [esp + 0x2a8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
subss xmm0, dword [esp + 0x2a0]
push 0x738b08
push str.scalemin
mov ecx, edi
movups xmmword [esp + 0xc8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738b30
push str.scalemax
mov ecx, edi
movss dword [esp + 0x2f8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
movups xmm2, xmmword [esp + 0x290]
movups xmm1, xmmword [esp + 0x2f0]
shufps xmm2, xmm2, 0
movups xmmword [esi], xmm2
subss xmm0, xmm1
movups xmm2, xmmword [esp + 0xe0]
shufps xmm2, xmm2, 0
movups xmmword [esi + 0x10], xmm2
movups xmm2, xmmword [esp + 0x2a0]
mov edx, str.blendinstart
mov ecx, edi
shufps xmm1, xmm1, 0
shufps xmm2, xmm2, 0
movups xmmword [esi + 0x20], xmm2
movups xmm2, xmmword [esp + 0xc0]
shufps xmm0, xmm0, 0
shufps xmm2, xmm2, 0
movups xmmword [esi + 0x30], xmm2
movss xmm2, dword [esp + 0x2c]
movups xmmword [esi + 0x40], xmm1
movups xmmword [esi + 0x50], xmm0
call fcn.00591380
movss xmm2, dword [esp + 0x2c]
mov edx, str.blendinend
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x739900]
mov edx, str.blendoutstart
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x739900]
mov edx, str.blendoutend
mov ecx, edi
call fcn.00591380
push 0x738a64
push str.blendinstart
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738a56
push str.blendinend
mov ecx, edi
movss dword [esp + 0x3c], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738a81
push str.blendoutstart
mov ecx, edi
movss dword [esp + 0x98], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738a73
push str.blendoutend
mov ecx, edi
movss dword [esp + 0x58], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
movss xmm1, dword [esp + 0x34]
movaps xmm2, xmm0
movss xmm3, dword [esp + 0x90]
comiss xmm3, dword [esp + 0x2c]
shufps xmm1, xmm1, 0
movups xmmword [esi + 0x60], xmm1
movaps xmm1, xmm3
subss xmm1, dword [esp + 0x34]
shufps xmm1, xmm1, 0
rcpps xmm1, xmm1
movups xmmword [esi + 0x70], xmm1
movss xmm1, dword [esp + 0x50]
subss xmm2, xmm1
movaps xmm0, xmm1
shufps xmm0, xmm0, 0
movups xmmword [esi + 0x80], xmm0
shufps xmm2, xmm2, 0
rcpps xmm0, xmm2
movups xmmword [esi + 0x90], xmm0
ja 0x576e51
movss xmm0, dword [0x739900]
comiss xmm0, xmm1
ja 0x576e51
mov ecx, dword [esp + 0x44]
mov al, byte [ecx]
mov byte [ecx], al
jmp 0x577b20
mov ecx, dword [esp + 0x44]
mov al, 0xe
mov byte [ecx], al
jmp 0x577b20
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x576e75
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x576e75
add ecx, 4
push str.oscillatesize
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x57703f
mov eax, dword [esp + 0x20]
mov edx, str.frequencymin
movss xmm2, dword [0x739900]
mov ecx, edi
mov byte [eax], 9
lea esi, [eax + 0x10]
add eax, 0x70
mov dword [esp + 0x20], eax
call fcn.00591380
movss xmm2, dword [0x7399bc]
mov edx, str.frequencymax
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x7398e0]
mov edx, str.scalemin
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x739910]
mov edx, str.scalemax
mov ecx, edi
call fcn.00591380
movss xmm2, dword [esp + 0x2c]
mov edx, str.phasemin
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x7399b8]
mov edx, str.phasemax
mov ecx, edi
call fcn.00591380
push 0x738af4
push str.frequencymin
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738b18
push str.frequencymax
mov ecx, edi
movss dword [esp + 0x2b8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
subss xmm0, dword [esp + 0x2b0]
push 0x738984
push str.phasemin
mov ecx, edi
movups xmmword [esp + 0xe8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x7389a4
push str.phasemax
mov ecx, edi
movss dword [esp + 0x1c8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
subss xmm0, dword [esp + 0x1c0]
push 0x738b08
push str.scalemin
mov ecx, edi
movups xmmword [esp + 0xc8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738b30
push str.scalemax
mov ecx, edi
movss dword [esp + 0x308], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
movups xmm2, xmmword [esp + 0x2b0]
movups xmm1, xmmword [esp + 0x300]
shufps xmm2, xmm2, 0
movups xmmword [esi], xmm2
subss xmm0, xmm1
movups xmm2, xmmword [esp + 0xe0]
shufps xmm2, xmm2, 0
movups xmmword [esi + 0x10], xmm2
movups xmm2, xmmword [esp + 0x1c0]
shufps xmm2, xmm2, 0
movups xmmword [esi + 0x20], xmm2
movups xmm2, xmmword [esp + 0xc0]
shufps xmm1, xmm1, 0
shufps xmm2, xmm2, 0
movups xmmword [esi + 0x30], xmm2
shufps xmm0, xmm0, 0
movups xmmword [esi + 0x40], xmm1
movups xmmword [esi + 0x50], xmm0
jmp 0x577b20
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x577056
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x577056
add ecx, 4
push str.controlpointattract
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x577265
mov eax, dword [esp + 0x20]
mov edx, str.offset
push str.0_0_0
mov ecx, edi
mov byte [eax], 0xa
add eax, 0x10
mov dword [esp + 0x1c], eax
add eax, 0x60
mov dword [esp + 0x24], eax
call fcn.00591470
movss xmm2, dword [0x739a64]
add esp, 4
mov edx, str.scale
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x739a64]
mov edx, str.threshold
mov ecx, edi
call fcn.00591380
push 0
mov edx, str.controlpoint
mov ecx, edi
call fcn.00591290
add esp, 4
mov ecx, edi
push 0x7389b6
push str.offset
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x5770f2
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x5770f2
add edx, 4
lea ecx, [esp + 0xf0]
call fcn.0044b270
push 0x737ca9
push str.scale
mov ecx, edi
call fcn.00465fd0
mov ecx, dword [esp + 0x28]
add ecx, 0x39c
mov dword [esp + 0x44], ecx
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x44]
mov ecx, edi
push 0x738b25
push str.threshold
mulss xmm0, dword [eax]
movups xmmword [esp + 0xe8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x18]
mov ecx, edi
movups xmm1, xmmword [esp + 0xe0]
push 0x73893c
shufps xmm0, xmm0, 0
shufps xmm1, xmm1, 0
movups xmmword [eax + 0x30], xmm1
movups xmmword [eax + 0x40], xmm0
movss xmm0, dword [esp + 0xf4]
shufps xmm0, xmm0, 0
movups xmmword [eax], xmm0
movss xmm0, dword [esp + 0xf8]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x10], xmm0
movss xmm0, dword [esp + 0xfc]
shufps xmm0, xmm0, 0
push str.controlpoint
movups xmmword [eax + 0x20], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465370
cmp eax, 7
jae 0x5771cf
push 0x73893c
push str.controlpoint
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465370
push 0x73893c
push str.controlpoint
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465370
cmp eax, 7
jae 0x577206
push 0x73893c
push str.controlpoint
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465370
jmp 0x57720b
mov eax, 7
mov ecx, dword [esp + 0x18]
push 0x737ca9
push str.scale
mov dword [ecx + 0x50], eax
mov ecx, edi
mov eax, dword [esp + 0x5c]
mov byte [esi], 3
add esi, 0x10
mov dword [esp + 0x24], esi
add dword [esp + 0x24], 0x20
mov dword [esi + 4], 0x20
mov dword [esi], eax
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x44]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0x54]
add eax, 0x30
movss dword [esi + 8], xmm0
mov dword [esi + 0x10], eax
jmp 0x577b20
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x57727c
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x57727c
add ecx, 4
push str.turbulence
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x57767e
mov eax, dword [esp + 0x20]
mov edx, str.timescale
movss xmm2, dword [0x7399d4]
mov ecx, edi
mov byte [eax], 0xb
add eax, 0x10
mov dword [esp + 0x18], eax
add eax, 0xc0
mov dword [esp + 0x20], eax
call fcn.00591380
push str.1_1_0
mov edx, str.mask
mov ecx, edi
call fcn.00591470
movss xmm2, dword [0x739850]
add esp, 4
mov edx, str.scale
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x739a60]
mov edx, str.speedmin
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x739a70]
mov edx, str.speedmax
mov ecx, edi
call fcn.00591380
movss xmm2, dword [esp + 0x2c]
mov edx, str.phasemin
mov ecx, edi
call fcn.00591380
movss xmm2, dword [esp + 0x2c]
mov edx, str.phasemax
mov ecx, edi
call fcn.00591380
push 0x738afc
push str.mask
mov ecx, edi
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x577355
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x577355
add edx, 4
lea ecx, [esp + 0x140]
call fcn.0044b270
push 0x737ca9
push str.scale
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738984
push str.phasemin
mov ecx, edi
movss dword [esp + 0x318], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x7389a4
push str.phasemax
mov ecx, edi
movss dword [esp + 0x1a8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
subss xmm0, dword [esp + 0x1a0]
push 0x738920
push str.speedmin
mov ecx, edi
movups xmmword [esp + 0xc8], xmm0
call fcn.00465fd0
mov edi, dword [esp + 0x28]
mov ecx, eax
add edi, 0x39c
call fcn.00465660
mulss xmm0, dword [edi]
mov ecx, dword [esp + 0x24]
push 0x738948
push str.speedmax
movups xmmword [esp + 0xe8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mulss xmm0, dword [edi]
mov ecx, dword [esp + 0x24]
push 0x738999
push str.timescale
subss xmm0, dword [esp + 0xe8]
movups xmmword [esp + 0x158], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x38]
movss xmm1, dword [esp + 0x140]
movss xmm2, dword [esp + 0x144]
movss xmm3, dword [esp + 0x148]
mulss xmm0, dword [eax]
mov eax, dword [esp + 0x18]
movss dword [eax + 0x80], xmm0
movaps xmm0, xmm1
shufps xmm0, xmm0, 0
movups xmmword [eax], xmm0
movaps xmm0, xmm2
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x10], xmm0
movaps xmm0, xmm3
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [esp + 0x310]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x30], xmm0
movups xmm0, xmmword [esp + 0x1a0]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x60], xmm0
movups xmm0, xmmword [esp + 0xc0]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x70], xmm0
movups xmm0, xmmword [esp + 0xe0]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x40], xmm0
movups xmm0, xmmword [esp + 0x150]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x50], xmm0
movss xmm0, dword [esp + 0x2c]
ucomiss xmm1, xmm0
lahf
xor esi, esi
test ah, 0x44
mov eax, 1
cmovp esi, eax
ucomiss xmm2, xmm0
lahf
xor edx, edx
test ah, 0x44
mov eax, 2
cmovp edx, eax
ucomiss xmm3, xmm0
lahf
xor ecx, ecx
test ah, 0x44
mov eax, 4
cmovp ecx, eax
or ecx, edx
mov edx, dword [esp + 0x18]
or ecx, esi
mov dword [edx + 0x90], ecx
lea ecx, [edx + 0xa0]
mov edx, dword [esp + 0x24]
call fcn.00571ae0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
lea esi, [eax + 0x10]
push 0x738999
push str.timescale
mov byte [eax], 2
add eax, 0x30
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x5c]
mov dword [esi + 4], 0x20
mov dword [esi], eax
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x54]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x18]
sub eax, ecx
movss dword [esi + 8], xmm0
mov dword [esp + 0x18], eax
sub eax, 0xffffff80
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x1c]
lea esi, [eax + 0x10]
push 0x738920
push str.speedmin
mov byte [eax], 5
add eax, 0x30
mov dword [esi + 4], 0x20
mov dword [esi], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov ecx, dword [esp + 0x24]
push 0x738948
push str.speedmax
movss dword [esi + 8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov edx, dword [esp + 0x18]
movss dword [esi + 0xc], xmm0
movaps xmm0, xmmword [0x739c60]
movaps xmmword [0x74b670], xmm0
movaps xmm0, xmmword [0x739d10]
lea eax, [edx + 0x40]
movaps xmmword [0x74b610], xmm0
xorps xmm0, xmm0
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], eax
lea eax, [edx + 0x50]
movaps xmmword [0x74b620], xmm0
movaps xmm0, xmmword [0x739ea0]
movaps xmm1, xmmword [0x739e00]
movaps xmmword [0x74b680], xmm0
movaps xmm0, xmmword [0x739df0]
movaps xmmword [0x74b600], xmm0
movaps xmm0, xmmword [0x739e10]
movaps xmmword [0x74b640], xmm0
movaps xmm0, xmmword [0x739e20]
movaps xmmword [0x74b690], xmm0
movaps xmm0, xmmword [0x739f40]
movaps xmmword [0x74b630], xmm1
movaps xmmword [0x74b660], xmm1
movaps xmmword [0x74b650], xmm0
jmp 0x577b1d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x577695
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x577695
add ecx, 4
push str.vortex
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x577b24
mov eax, dword [esp + 0x20]
mov edx, str.offset
push str.0_0_0
mov ecx, edi
mov byte [eax], 0xc
add eax, 0x10
mov dword [esp + 0x48], eax
add eax, 0xf0
mov dword [esp + 0x24], eax
call fcn.00591470
add esp, 4
mov edx, str.axis
mov ecx, edi
push str.0_0_1
call fcn.00591470
movss xmm2, dword [0x739a60]
add esp, 4
mov edx, str.distanceinner
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x739a68]
mov edx, str.distanceouter
mov ecx, edi
call fcn.00591380
movss xmm2, dword [0x739a78]
mov edx, str.speedinner
mov ecx, edi
call fcn.00591380
movss xmm2, dword [esp + 0x2c]
mov edx, str.speedouter
mov ecx, edi
call fcn.00591380
movss xmm2, dword [esp + 0x2c]
mov edx, str.gravity
mov ecx, edi
call fcn.00591380
push 0
mov edx, str.controlpoint
mov ecx, edi
call fcn.00591290
add esp, 4
mov edx, str.flags
mov ecx, edi
push 0
call fcn.00591290
add esp, 4
mov ecx, edi
push 0x7389b6
push str.offset
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x577790
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x577790
add edx, 4
lea ecx, [esp + 0x130]
call fcn.0044b270
push 0x738a04
push str.axis
mov ecx, edi
call fcn.00465fd0
mov edx, dword [eax]
test edx, edx
je 0x5777c0
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x5777c0
add edx, 4
lea ecx, [esp + 0x6c]
call fcn.0044b270
push 0x7388ed
push str.flags
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465370
push 0x738b51
push str.distanceinner
mov ecx, edi
mov byte [esp + 0x3b], al
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738b41
push str.distanceouter
mov ecx, edi
movss dword [esp + 0x44], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738b6a
push str.speedinner
mov ecx, edi
movss dword [esp + 0x328], xmm0
call fcn.00465fd0
mov ecx, dword [esp + 0x28]
add ecx, 0x39c
mov dword [esp + 0x18], ecx
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x18]
mov ecx, edi
push 0x738b5e
push str.speedouter
mulss xmm0, dword [eax]
movss dword [esp + 0x50], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov eax, dword [esp + 0x18]
mov ecx, edi
push 0x738a93
push str.gravity
mulss xmm0, dword [eax]
movups xmmword [esp + 0xc8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x73893c
push str.controlpoint
mov ecx, edi
movss dword [esp + 0x338], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465370
movss xmm0, dword [esp + 0x6c]
mov ecx, 7
movss xmm3, dword [esp + 0x74]
movaps xmm2, xmm0
mulss xmm2, xmm0
cmp eax, ecx
movups xmmword [esp + 0xe0], xmm0
cmovb ecx, eax
movss xmm0, dword [esp + 0x70]
movaps xmm1, xmm0
movss dword [esp + 0x34], xmm0
mulss xmm1, xmm0
movaps xmm0, xmm3
mov dword [esp + 0x50], ecx
mulss xmm0, xmm3
addss xmm2, xmm1
movss dword [esp + 0x90], xmm3
addss xmm2, xmm0
movss xmm0, dword [0x739840]
comiss xmm0, xmm2
jbe 0x577943
movss xmm1, dword [esp + 0x2c]
movaps xmm0, xmm1
mov dword [esp + 0x250], 0x3f800000
mov eax, dword [esp + 0x250]
unpcklps xmm0, xmm1
movq qword [esp + 0x248], xmm0
jmp 0x5779ad
cvtps2pd xmm0, xmm2
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x577955
sqrtsd xmm0, xmm0
jmp 0x57795a
call fcn.006d5e50
movss xmm1, dword [0x739900]
cvtsd2ss xmm0, xmm0
mov ecx, dword [esp + 0x50]
movss xmm3, dword [esp + 0x34]
divss xmm1, xmm0
movups xmm0, xmmword [esp + 0xe0]
movss xmm2, dword [esp + 0x90]
mulss xmm0, xmm1
mulss xmm3, xmm1
mulss xmm2, xmm1
unpcklps xmm0, xmm3
movq qword [esp + 0x254], xmm0
movss dword [esp + 0x25c], xmm2
mov eax, dword [esp + 0x25c]
test byte [esp + 0x33], 1
movq qword [esp + 0x6c], xmm0
movss xmm0, dword [esp + 0x130]
shufps xmm0, xmm0, 0
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x44]
movss xmm1, dword [esp + 0x48]
movups xmmword [eax], xmm0
movss xmm0, dword [esp + 0x134]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x10], xmm0
movss xmm0, dword [esp + 0x138]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x20], xmm0
movss xmm0, dword [esp + 0x6c]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x30], xmm0
movss xmm0, dword [esp + 0x70]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x40], xmm0
movss xmm0, dword [esp + 0x74]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x50], xmm0
movss xmm0, dword [esp + 0x3c]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x60], xmm0
movups xmm0, xmmword [esp + 0x320]
subss xmm0, dword [esp + 0x3c]
shufps xmm0, xmm0, 0
rcpps xmm0, xmm0
movups xmmword [eax + 0x70], xmm0
movaps xmm0, xmm1
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x80], xmm0
movups xmm0, xmmword [esp + 0xc0]
subss xmm0, xmm1
shufps xmm0, xmm0, 0
movups xmmword [eax + 0x90], xmm0
movups xmm0, xmmword [esp + 0x330]
shufps xmm0, xmm0, 0
movups xmmword [eax + 0xa0], xmm0
mov dword [eax + 0xc0], ecx
je 0x577a92
movaps xmm0, xmmword [0x739ea0]
jmp 0x577a95
xorps xmm0, xmm0
lea ecx, [eax + 0xd0]
movups xmmword [eax + 0xb0], xmm0
mov edx, edi
call fcn.00571ae0
mov eax, dword [esp + 0x54]
mov ecx, edi
mov byte [esi], 5
add esi, 0x10
push 0x738b6a
mov dword [esp + 0x20], esi
add dword [esp + 0x20], 0x20
mov dword [esi + 4], 0x20
push str.speedinner
mov dword [esi], eax
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
push 0x738b5e
push str.speedouter
mov ecx, edi
movss dword [esi + 8], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov ecx, dword [esp + 0x44]
sub ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x18]
mov dword [esi + 0x10], eax
movss dword [esi + 0xc], xmm0
lea eax, [ecx + 0x80]
mov dword [esi + 0x14], eax
lea eax, [ecx + 0x90]
mov dword [esi + 0x18], eax
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x120]
call fcn.00428d00
mov eax, dword [esp + 0x120]
mov dl, byte [esp + 0x16c]
mov ecx, dword [esp + 0x168]
jmp 0x575960
mov edi, dword [esp + 0x20]
sub edi, dword [esp + 0x54]
je 0x577b7d
lea eax, [edi + 0x10]
push 0x10
push eax
call fcn.005d7dea
push edi
push dword [esp + 0x60]
mov dword [esp + 0x44], eax
push eax
call fcn.005c3580
mov eax, dword [esp + 0x48]
add esp, 0x14
mov word [eax + edi], 0
jmp 0x577b7f
xor eax, eax
mov edi, dword [esp + 0x28]
mov dword [edi + 0x270], eax
mov ecx, dword [esp + 0x84]
movzx eax, byte [ecx + 8]
cmp eax, 6
jne 0x577f69
lea edi, [esp + 0x580]
sub eax, eax
je 0x577bad
sub eax, 1
jne 0x577bbb
mov eax, dword [ecx]
test eax, eax
je 0x577bbb
mov eax, dword [eax]
xor dh, dh
mov eax, dword [eax]
jmp 0x577bbf
xor eax, eax
mov dh, 1
mov byte [esp + 0x12c], dh
mov dword [esp + 0x128], eax
movzx ecx, byte [ecx + 8]
sub ecx, 6
je 0x577bdb
sub ecx, 1
jne 0x577bee
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx]
test ecx, ecx
je 0x577bee
mov ecx, dword [ecx]
xor dl, dl
jmp 0x577bf2
xor ecx, ecx
mov dl, 1
mov byte [esp + 0x174], dl
mov dword [esp + 0x170], ecx
test dh, dh
jne 0x577c09
cmp eax, ecx
sete dl
test dl, dl
jne 0x577f27
cmp byte [eax + 0x20], 7
lea esi, [eax + 0x18]
mov dword [esp + 0x14], esi
jne 0x577efa
push 0x720af0
push str.name
mov ecx, esi
call fcn.00465fd0
mov dword [esp + 0x4c], eax
mov ecx, dword [eax + 8]
cmp cl, 4
jne 0x577efa
mov eax, dword [eax]
test eax, eax
je 0x577c54
shr ecx, 8
test cl, 1
je 0x577c54
add eax, 4
push str.sprite
push eax
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x577c85
mov edx, dword [esp + 0x14]
lea esi, [edi + 0x10]
mov byte [edi], 1
mov ecx, esi
add edi, 0x40
call fcn.005717e0
mov dword [esi], 0
jmp 0x577efa
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
test ecx, ecx
je 0x577c9c
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x577c9c
add ecx, 4
push str.spritetrail
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x577d3b
mov edx, dword [esp + 0x14]
lea esi, [edi + 0x10]
mov byte [edi], 2
mov ecx, esi
add edi, 0x50
call fcn.005717e0
movss xmm2, dword [0x73986c]
mov edx, 0x734790
mov ecx, dword [esp + 0x14]
call fcn.00591380
movss xmm2, dword [0x7399bc]
mov edx, str.maxlength
mov ecx, dword [esp + 0x14]
call fcn.00591380
mov ecx, dword [esp + 0x14]
push 0x734796
push 0x734790
mov dword [esi], 0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mov ecx, dword [esp + 0x14]
push 0x738b95
push str.maxlength
movss dword [esi + 0x30], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
movss dword [esi + 0x34], xmm0
jmp 0x577efa
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
test ecx, ecx
je 0x577d52
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x577d52
add ecx, 4
push str.rope
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x577de6
lea eax, [edi + 0x10]
mov byte [edi], 3
mov edx, esi
mov dword [esp + 0x84], eax
mov ecx, eax
add edi, 0x50
call fcn.005717e0
push 4
mov edx, str.subdivision
mov ecx, esi
call fcn.00591290
mov eax, dword [esp + 0x88]
add esp, 4
mov ecx, esi
push 0x738b8b
push str.subdivision
mov dword [eax], 0
call fcn.00465fd0
mov ecx, eax
call fcn.004652e0
cmp eax, 0x20
jge 0x577dd2
xor ecx, ecx
test eax, eax
cmovs eax, ecx
mov ecx, dword [esp + 0x84]
mov dword [ecx + 0x30], eax
jmp 0x577efa
mov ecx, dword [esp + 0x84]
mov eax, 0x20
mov dword [ecx + 0x30], eax
jmp 0x577efa
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
test ecx, ecx
je 0x577dfd
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x577dfd
add ecx, 4
push str.ropetrail
push ecx
call fcn.005cda34
add esp, 8
test eax, eax
jne 0x577efa
lea eax, [edi + 0x10]
mov byte [edi], 4
mov edx, esi
mov dword [esp + 0x4c], eax
mov ecx, eax
add edi, 0x50
call fcn.005717e0
movss xmm2, dword [0x739900]
mov edx, 0x734790
mov ecx, esi
call fcn.00591380
push 4
mov edx, str.segments
mov ecx, esi
call fcn.00591290
add esp, 4
mov edx, str.subdivision
mov ecx, esi
push 1
call fcn.00591290
mov eax, dword [esp + 0x50]
add esp, 4
mov ecx, esi
push 0x734796
push 0x734790
mov dword [eax], 0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
maxss xmm0, dword [0x739840]
mov eax, dword [esp + 0x4c]
mov ecx, esi
push 0x738bac
push str.segments
movss dword [eax + 0x30], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.004652e0
cmp eax, 0x20
jge 0x577ebc
cmp eax, 2
mov ecx, 2
cmovl eax, ecx
jmp 0x577ec1
mov eax, 0x20
mov ecx, dword [esp + 0x4c]
push 0x738b8b
push str.subdivision
mov dword [ecx + 0x34], eax
mov ecx, esi
call fcn.00465fd0
mov ecx, eax
call fcn.004652e0
cmp eax, 0x20
jge 0x577eee
xor ecx, ecx
test eax, eax
cmovs eax, ecx
jmp 0x577ef3
mov eax, 0x20
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x38], eax
lea ecx, [esp + 0x128]
call fcn.00428d00
mov dh, byte [esp + 0x12c]
mov eax, dword [esp + 0x128]
mov dl, byte [esp + 0x174]
mov ecx, dword [esp + 0x170]
jmp 0x577c00
lea eax, [esp + 0x580]
sub edi, eax
je 0x577f59
lea eax, [edi + 0x10]
push 0x10
push eax
call fcn.005d7dea
mov esi, eax
lea eax, [esp + 0x588]
push edi
push eax
push esi
call fcn.005c3580
add esp, 0x14
mov word [esi + edi], 0
jmp 0x577f5b
xor esi, esi
mov edi, dword [esp + 0x28]
mov dword [edi + 0x274], esi
mov esi, dword [esp + 0x1c]
cmp dword [edi + 0x268], 0
jne 0x577f89
push 0x10
push 0x10
call fcn.005d7dea
add esp, 8
mov word [eax], 0
mov dword [edi + 0x268], eax
cmp dword [edi + 0x26c], 0
jne 0x577fa9
push 0x10
push 0x10
call fcn.005d7dea
add esp, 8
mov word [eax], 0
mov dword [edi + 0x26c], eax
cmp dword [edi + 0x270], 0
jne 0x577fc9
push 0x10
push 0x10
call fcn.005d7dea
add esp, 8
mov word [eax], 0
mov dword [edi + 0x270], eax
cmp dword [edi + 0x274], 0
jne 0x577fe9
push 0x10
push 0x10
call fcn.005d7dea
add esp, 8
mov word [eax], 0
mov dword [edi + 0x274], eax
sub esi, dword [esp + 0xb0]
push 0x10
test esi, esi
jle 0x5780bb
lea eax, [esi + 0x10]
push eax
call fcn.005d7dea
push esi
push dword [esp + 0xbc]
mov dword [esp + 0x44], eax
push eax
call fcn.005c3580
mov ecx, dword [esp + 0x48]
add esp, 0x14
mov word [ecx + esi], 0
mov dword [edi + 0x278], ecx
cmp byte [ecx], 0
mov edx, dword [edi + 0x268]
je 0x578059
mov edi, dword [esp + 0xac]
nop word [eax + eax]
cmp dword [ecx + 0x10], edi
jne 0x578048
mov dword [ecx + 0x10], edx
mov eax, dword [ecx + 0x14]
add ecx, 0x10
add ecx, eax
cmp byte [ecx], 0
jne 0x578040
mov edi, dword [esp + 0x28]
mov ecx, dword [edi + 0x278]
mov edx, dword [edi + 0x26c]
cmp byte [ecx], 0
je 0x578089
mov edi, dword [esp + 0x58]
nop
cmp dword [ecx + 0x10], edi
jne 0x578078
mov dword [ecx + 0x10], edx
mov eax, dword [ecx + 0x14]
add ecx, 0x10
add ecx, eax
cmp byte [ecx], 0
jne 0x578070
mov edi, dword [esp + 0x28]
mov ecx, dword [edi + 0x278]
mov edx, dword [edi + 0x270]
cmp byte [ecx], 0
je 0x5780d0
mov edi, dword [esp + 0x54]
nop
cmp dword [ecx + 0x10], edi
jne 0x5780a8
mov dword [ecx + 0x10], edx
mov eax, dword [ecx + 0x14]
add ecx, 0x10
add ecx, eax
cmp byte [ecx], 0
jne 0x5780a0
mov edi, dword [esp + 0x28]
jmp 0x5780d0
push 0x10
call fcn.005d7dea
add esp, 8
mov word [eax], 0
mov dword [edi + 0x278], eax
cmp dword [edi + 0x260], 0
jbe 0x5780e0
mov ecx, edi
call fcn.00588780
push 0x280
push 0
push dword [edi + 0x2b0]
call fcn.005c3040
mov ecx, dword [ebp + 8]
add esp, 0xc
push 0x73893c
push str.controlpoint
call fcn.00465fd0
mov dword [esp + 0x3c], eax
cmp byte [eax + 8], 6
jne 0x578374
xor edx, edx
lea ecx, [edi + 0x3b8]
mov dword [esp + 0x84], edx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x88], ecx
push edx
mov ecx, eax
call fcn.00465b20
mov esi, eax
mov dword [esp + 0xb0], esi
cmp byte [esi + 8], 7
jne 0x57833d
push 0x7389b6
push str.offset
mov ecx, esi
call fcn.00466230
test eax, eax
jne 0x5781ba
push str.0_0_0
lea ecx, [esp + 0x264]
call fcn.004649b0
push 0x7389b6
push str.offset
mov ecx, esi
call fcn.00465fd0
push eax
lea ecx, [esp + 0x264]
call fcn.00464cb0
lea ecx, [esp + 0x260]
call fcn.00465f40
mov eax, dword [esp + 0x26c]
xorps xmm0, xmm0
movlpd qword [esp + 0x260], xmm0
test eax, eax
je 0x5781ba
push eax
call fcn.004672a0
push 0
mov edx, str.flags
mov ecx, esi
call fcn.00591290
mov esi, dword [edi + 0x2b0]
add esp, 4
mov ecx, dword [esp + 0xb0]
add esi, dword [esp + 0x8c]
push 0x7388ed
push str.flags
call fcn.00465fd0
mov ecx, eax
call fcn.00465370
mov ecx, dword [esp + 0x88]
mov dword [esi + 0x40], eax
movss xmm0, dword [ecx]
ucomiss xmm0, dword [0x739aa4]
lahf
test ah, 0x44
jnp 0x578242
movss dword [esp + 0xc0], xmm0
movss xmm0, dword [ecx + 4]
movss dword [esp + 0xc4], xmm0
movss xmm0, dword [ecx + 8]
movss dword [esp + 0xc8], xmm0
movups xmm0, xmmword [esp + 0xc0]
jmp 0x578313
mov ecx, dword [esp + 0xb0]
push 0x7389b6
push str.offset
call fcn.00465fd0
mov ecx, dword [eax]
test ecx, ecx
jne 0x578273
movss xmm1, dword [esp + 0x2c]
mov dword [esp + 0x4c], ecx
movaps xmm2, xmm1
movaps xmm3, xmm1
movaps xmm0, xmm1
jmp 0x5782f0
mov eax, dword [eax + 8]
shr eax, 8
test al, 1
je 0x578280
add ecx, 4
movss xmm0, dword [esp + 0x2c]
mov dword [esp + 0x4c], ecx
movaps xmm2, xmm0
movaps xmm3, xmm0
test ecx, ecx
je 0x5782f0
cmp byte [ecx], 0
je 0x5782f0
push ecx
call fcn.005d49b2
add esp, 4
lea ecx, [esp + 0x4c]
fstp dword [esp + 0x50]
call fcn.0044b230
push dword [esp + 0x4c]
call fcn.005d49b2
add esp, 4
lea ecx, [esp + 0x4c]
fstp dword [esp + 0x90]
call fcn.0044b230
push dword [esp + 0x4c]
call fcn.005d49b2
movss xmm3, dword [esp + 0x94]
add esp, 4
movss xmm2, dword [esp + 0x50]
fstp dword [esp + 0x34]
movss xmm0, dword [esp + 0x34]
movss dword [esp + 0xd0], xmm2
movss dword [esp + 0xd4], xmm3
movss dword [esp + 0xd8], xmm0
movups xmm0, xmmword [esp + 0xd0]
movups xmmword [esi + 0x30], xmm0
movss xmm0, dword [esi + 0x30]
shufps xmm0, xmm0, 0
movups xmmword [esi], xmm0
movss xmm0, dword [esi + 0x34]
shufps xmm0, xmm0, 0
movups xmmword [esi + 0x10], xmm0
movss xmm0, dword [esi + 0x38]
shufps xmm0, xmm0, 0
movups xmmword [esi + 0x20], xmm0
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x84]
add eax, 0x50
add dword [esp + 0x88], 0xc
inc edx
mov dword [esp + 0x8c], eax
cmp eax, 0x280
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x84], edx
jl 0x578132
lea ecx, [esp + 0x188]
call fcn.00465f40
mov eax, dword [esp + 0x194]
xorps xmm0, xmm0
movlpd qword [esp + 0x188], xmm0
test eax, eax
je 0x57839d
push eax
call fcn.004672a0
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4