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

Disassembly:
sub esp, 0x5c
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x74]
push str.bones
push edi
xor esi, esi
call fcn.00602d20
push str.slots
push edi
mov dword [esp + 0x5c], eax
call fcn.00602d20
push 0x77a4b4
push edi
mov dword [esp + 0x54], eax
call fcn.00602d20
push str.transform
push edi
mov dword [esp + 0x60], eax
call fcn.00602d20
mov ebx, eax
push str.paths
push edi
mov dword [esp + 0x8c], ebx
call fcn.00602d20
mov ebp, eax
push str.deform
push edi
mov dword [esp + 0x98], ebp
call fcn.00602d20
push str.drawOrder
push edi
mov dword [esp + 0x88], eax
call fcn.00602d20
push str.events
push edi
mov dword [esp + 0x6c], eax
call fcn.00602d20
add esp, 0x40
mov dword [esp + 0x44], eax
cmp dword [esp + 0x2c], esi
jne 0x607f6d
push str.draworder
push edi
call fcn.00602d20
add esp, 8
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x607f89
mov eax, dword [eax + 4]
test eax, eax
je 0x607f89
lea esp, [esp]
add esi, dword [eax + 0xc]
mov eax, dword [eax]
test eax, eax
jne 0x607f80
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x607fa1
mov eax, dword [eax + 4]
test eax, eax
je 0x607fa1
add esi, dword [eax + 0xc]
mov eax, dword [eax]
test eax, eax
jne 0x607f98
mov eax, dword [esp + 0x40]
test eax, eax
je 0x607fae
mov eax, dword [eax + 0xc]
jmp 0x607fb0
xor eax, eax
add esi, eax
test ebx, ebx
je 0x607fbb
mov eax, dword [ebx + 0xc]
jmp 0x607fbd
xor eax, eax
add esi, eax
test ebp, ebp
je 0x607fd9
mov eax, dword [ebp + 4]
test eax, eax
je 0x607fd9
lea ebx, [ebx]
add esi, dword [eax + 0xc]
mov eax, dword [eax]
test eax, eax
jne 0x607fd0
mov eax, dword [esp + 0x50]
test eax, eax
je 0x607fff
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x607fff
mov eax, dword [ecx + 4]
test eax, eax
je 0x607ff9
nop
add esi, dword [eax + 0xc]
mov eax, dword [eax]
test eax, eax
jne 0x607ff0
mov ecx, dword [ecx]
test ecx, ecx
jne 0x607fe8
cmp dword [esp + 0x2c], 0
je 0x608007
inc esi
cmp dword [esp + 0x44], 0
je 0x60800f
inc esi
mov eax, dword [edi + 0x1c]
push esi
push eax
call fcn.005fb9d0
mov dword [esp + 0x28], eax
mov dword [eax + 8], 0
mov eax, dword [esp + 0x44]
add esp, 8
test eax, eax
je 0x608433
mov esi, dword [eax + 4]
mov dword [esp + 0x24], esi
test esi, esi
je 0x608433
mov ecx, dword [esi + 0x1c]
mov edx, dword [esp + 0x78]
push ecx
push edx
call fcn.00607880
mov ebx, eax
add esp, 8
mov dword [esp + 0x48], ebx
cmp ebx, 0xffffffff
je 0x6084b0
mov ebp, dword [esi + 4]
mov dword [esp + 0x28], ebp
test ebp, ebp
je 0x608425
jmp 0x60807b
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x48]
mov esi, dword [ebp + 0x1c]
mov ecx, str.color
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x6080a5
test dl, dl
je 0x6080a1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x6080a5
add eax, 2
add ecx, 2
test dl, dl
jne 0x608085
xor eax, eax
jmp 0x6080aa
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x60833b
mov eax, dword [ebp + 0xc]
push eax
call fcn.005fcc20
mov edi, eax
mov dword [edi + 0x14], ebx
mov ebx, dword [ebp + 4]
add esp, 4
xor esi, esi
test ebx, ebx
je 0x6082fa
push 0
push str.color
push ebx
call fcn.00602d60
add esp, 0xc
mov ebp, eax
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x6080e5
sub eax, edx
cmp eax, 8
je 0x6080fd
movss xmm0, dword [0x6db554]
jmp 0x60814b
mov cl, byte [ebp + 6]
mov dl, byte [ebp + 7]
push 0x10
lea eax, [esp + 0x58]
mov byte [esp + 0x14], cl
push eax
lea ecx, [esp + 0x18]
push ecx
mov byte [esp + 0x1d], dl
mov byte [esp + 0x1e], 0
call fcn.006998cd
mov edx, dword [esp + 0x60]
add esp, 0xc
cmp byte [edx], 0
je 0x608137
movss xmm0, dword [0x6db554]
jmp 0x60814b
cvtsi2ss xmm0, eax
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x6d98f8]
cvtsd2ss xmm0, xmm0
mov eax, ebp
movss dword [esp + 0x30], xmm0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x608156
sub eax, edx
cmp eax, 8
je 0x60816e
movss xmm0, dword [0x6db554]
jmp 0x6081bc
mov al, byte [ebp + 4]
mov cl, byte [ebp + 5]
push 0x10
lea edx, [esp + 0x5c]
mov byte [esp + 0x18], al
push edx
lea eax, [esp + 0x1c]
push eax
mov byte [esp + 0x21], cl
mov byte [esp + 0x22], 0
call fcn.006998cd
mov ecx, dword [esp + 0x64]
add esp, 0xc
cmp byte [ecx], 0
je 0x6081a8
movss xmm0, dword [0x6db554]
jmp 0x6081bc
cvtsi2ss xmm0, eax
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x6d98f8]
cvtsd2ss xmm0, xmm0
mov eax, ebp
movss dword [esp + 0x34], xmm0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x6081c7
sub eax, edx
cmp eax, 8
je 0x6081df
movss xmm0, dword [0x6db554]
jmp 0x60822d
mov dl, byte [ebp + 2]
mov al, byte [ebp + 3]
push 0x10
lea ecx, [esp + 0x60]
mov byte [esp + 0x1c], dl
push ecx
lea edx, [esp + 0x20]
push edx
mov byte [esp + 0x25], al
mov byte [esp + 0x26], 0
call fcn.006998cd
mov ecx, dword [esp + 0x68]
add esp, 0xc
cmp byte [ecx], 0
je 0x608219
movss xmm0, dword [0x6db554]
jmp 0x60822d
cvtsi2ss xmm0, eax
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x6d98f8]
cvtsd2ss xmm0, xmm0
mov eax, ebp
movss dword [esp + 0x38], xmm0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x608238
sub eax, edx
cmp eax, 8
je 0x608250
movss xmm0, dword [0x6db554]
jmp 0x60829e
mov dl, byte [ebp]
mov al, byte [ebp + 1]
push 0x10
lea ecx, [esp + 0x64]
mov byte [esp + 0x20], dl
push ecx
lea edx, [esp + 0x24]
push edx
mov byte [esp + 0x29], al
mov byte [esp + 0x2a], 0
call fcn.006998cd
mov ecx, dword [esp + 0x6c]
add esp, 0xc
cmp byte [ecx], 0
je 0x60828a
movss xmm0, dword [0x6db554]
jmp 0x60829e
cvtsi2ss xmm0, eax
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x6d98f8]
cvtsd2ss xmm0, xmm0
fld dword [esp + 0x30]
sub esp, 0x14
fstp dword [esp + 0x10]
movss dword [esp + 0x50], xmm0
fld dword [esp + 0x48]
fstp dword [esp + 0xc]
fld dword [esp + 0x4c]
fstp dword [esp + 8]
fld dword [esp + 0x50]
fstp dword [esp + 4]
fldz
fstp dword [esp]
push str.time
push ebx
call fcn.00602d80
fstp dword [esp + 8]
add esp, 8
push esi
push edi
call fcn.005fcc40
add esp, 0x1c
mov eax, ebx
call fcn.00607da0
mov ebx, dword [ebx]
inc esi
test ebx, ebx
jne 0x6080d0
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0xc]
mov dword [eax + edx*4], edi
inc dword [ecx + 8]
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0xc]
mov edx, dword [edi + 0x10]
movss xmm0, dword [ecx + 4]
lea eax, [eax + eax*4]
movss xmm1, dword [edx + eax*4 - 0x14]
cvtps2pd xmm2, xmm0
cvtps2pd xmm3, xmm1
comisd xmm2, xmm3
ja 0x608331
movaps xmm0, xmm1
movss dword [ecx + 4], xmm0
jmp 0x60840b
mov ecx, str.attachment
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x608362
test dl, dl
je 0x60835e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x608362
add eax, 2
add ecx, 2
test dl, dl
jne 0x608342
xor eax, eax
jmp 0x608367
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x6084db
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx + 0xc]
push eax
call fcn.005fcd70
mov ecx, dword [esp + 0x4c]
mov ebp, eax
mov dword [ebp + 0x10], ecx
mov esi, dword [ebx + 4]
add esp, 4
xor edi, edi
test esi, esi
je 0x6083d6
push str.name
push esi
call fcn.00602d20
add esp, 8
cmp dword [eax + 8], 2
jne 0x6083a9
xor eax, eax
jmp 0x6083ac
mov eax, dword [eax + 0x10]
fldz
push eax
push ecx
fstp dword [esp]
push str.time
push esi
call fcn.00602d80
fstp dword [esp + 8]
add esp, 8
push edi
push ebp
call fcn.005fcdf0
mov esi, dword [esi]
add esp, 0x10
inc edi
test esi, esi
jne 0x608391
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov dword [ecx + edx*4], ebp
inc dword [eax + 8]
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebp + 0xc]
movss xmm0, dword [eax + 4]
movss xmm1, dword [ecx + edx*4 - 4]
cvtps2pd xmm2, xmm0
cvtps2pd xmm3, xmm1
comisd xmm2, xmm3
ja 0x608406
movaps xmm0, xmm1
movss dword [eax + 4], xmm0
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x608073
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x24]
mov esi, dword [esi]
mov dword [esp + 0x24], esi
test esi, esi
jne 0x608042
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x60879f
mov eax, dword [eax + 4]
mov dword [esp + 0x38], eax
test eax, eax
je 0x60879f
mov edi, edi
mov esi, dword [esp + 0x38]
mov eax, dword [esi + 0x1c]
mov ecx, dword [esp + 0x78]
push eax
push ecx
call fcn.006077b0
add esp, 8
mov dword [esp + 0x4c], eax
cmp eax, 0xffffffff
je 0x6087fe
mov ebx, dword [esi + 4]
test ebx, ebx
je 0x60878d
lea ecx, [ecx]
mov edi, dword [ebx + 0x1c]
mov edx, str.rotate
mov ecx, edi
lea ebx, [ebx]
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x608507
test al, al
je 0x6084ac
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x608507
add ecx, 2
add edx, 2
test al, al
jne 0x608490
xor eax, eax
jmp 0x60850c
mov eax, dword [esp + 0x20]
push eax
call fcn.005fe510
mov ecx, dword [esi + 0x1c]
mov edx, dword [esp + 0x74]
push ecx
push str.Slot_not_found:
push edi
push edx
call fcn.00607c30
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x5c
ret
mov eax, dword [esp + 0x20]
push eax
call fcn.005fe510
mov ecx, dword [ebp + 0x1c]
mov edx, dword [esp + 0x74]
push ecx
push str.Invalid_timeline_type_for_a_slot:
push 0
push edx
call fcn.00607c30
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x5c
ret
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x6085b4
mov edx, dword [ebx + 0xc]
push edx
call fcn.005fc260
mov edi, eax
mov eax, dword [esp + 0x50]
mov dword [edi + 0x14], eax
mov ebp, dword [ebx + 4]
add esp, 4
xor esi, esi
test ebp, ebp
je 0x60857a
fldz
push ecx
fstp dword [esp]
push str.angle
push ebp
call fcn.00602d80
fstp dword [esp + 8]
fldz
add esp, 4
fstp dword [esp]
push str.time
push ebp
call fcn.00602d80
fstp dword [esp + 8]
add esp, 8
push esi
push edi
call fcn.005fc280
add esp, 0x10
mov eax, ebp
call fcn.00607da0
mov ebp, dword [ebp]
inc esi
test ebp, ebp
jne 0x608532
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [edx + ecx*4], edi
inc dword [eax + 8]
mov ecx, dword [ebx + 0xc]
mov edx, dword [edi + 0x10]
movss xmm0, dword [eax + 4]
movss xmm1, dword [edx + ecx*8 - 8]
cvtps2pd xmm2, xmm0
cvtps2pd xmm3, xmm1
comisd xmm2, xmm3
ja 0x6085aa
movaps xmm0, xmm1
movss dword [eax + 4], xmm0
jmp 0x60877f
mov edx, str.scale
mov ecx, edi
jmp 0x6085c0
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x6085e0
test al, al
je 0x6085dc
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x6085e0
add ecx, 2
add edx, 2
test al, al
jne 0x6085c0
xor eax, eax
jmp 0x6085e5
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
sete cl
mov edx, str.translate
mov ebp, ecx
mov ecx, edi
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x608615
test al, al
je 0x608611
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x608615
add ecx, 2
add edx, 2
test al, al
jne 0x6085f5
xor eax, eax
jmp 0x60861a
sbb eax, eax
sbb eax, 0xffffffff
xor edx, edx
test eax, eax
sete dl
mov ecx, str.shear
mov eax, edi
mov esi, edx
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x608650
test dl, dl
je 0x60864c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x608650
add eax, 2
add ecx, 2
test dl, dl
jne 0x608630
xor eax, eax
jmp 0x608655
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
test ebp, ebp
jne 0x60868d
test esi, esi
jne 0x608691
test eax, eax
je 0x608829
movss xmm0, dword [0x6d89ac]
xor edi, edi
movss dword [esp + 0x3c], xmm0
test ebp, ebp
je 0x60869b
mov eax, dword [ebx + 0xc]
push eax
call fcn.005fc710
jmp 0x6086b7
test esi, esi
je 0x60866e
mov edx, dword [esp + 0x70]
movss xmm0, dword [edx]
jmp 0x608676
test esi, esi
je 0x6086aa
mov ecx, dword [ebx + 0xc]
push ecx
call fcn.005fc4b0
jmp 0x6086b7
test eax, eax
je 0x6086bc
mov edx, dword [ebx + 0xc]
push edx
call fcn.005fc970
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x4c]
mov dword [edi + 0x14], eax
mov ebp, dword [ebx + 4]
xor esi, esi
test ebp, ebp
je 0x608747
fldz
push ecx
fstp dword [esp]
push 0x6d8f74
push ebp
call fcn.00602d80
fmul dword [esp + 0x48]
add esp, 4
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fstp dword [esp + 4]
fldz
fstp dword [esp]
push 0x6d8f78
push ebp
call fcn.00602d80
fmul dword [esp + 0x4c]
add esp, 4
fstp dword [esp + 0x6c]
fld dword [esp + 0x6c]
fstp dword [esp + 4]
fldz
fstp dword [esp]
push str.time
push ebp
call fcn.00602d80
fstp dword [esp + 8]
add esp, 8
push esi
push edi
call fcn.005fc4d0
add esp, 0x14
mov eax, ebp
call fcn.00607da0
mov ebp, dword [ebp]
inc esi
test ebp, ebp
jne 0x6086d0
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0xc]
mov dword [eax + edx*4], edi
inc dword [ecx + 8]
mov eax, dword [ebx + 0xc]
movss xmm0, dword [ecx + 4]
lea edx, [eax + eax*2]
mov eax, dword [edi + 0x10]
movss xmm1, dword [eax + edx*4 - 0xc]
cvtps2pd xmm2, xmm0
cvtps2pd xmm3, xmm1
comisd xmm2, xmm3
ja 0x60877a
movaps xmm0, xmm1
movss dword [ecx + 4], xmm0
mov ebx, dword [ebx]
test ebx, ebx
jne 0x608480
mov edi, dword [esp + 0x74]
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
mov dword [esp + 0x38], eax
test eax, eax
jne 0x608450
cmp dword [esp + 0x40], 0
je 0x608904
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x608904
lea esp, [esp]
mov eax, dword [ebx + 0x1c]
mov esi, dword [esp + 0x78]
push eax
push esi
call fcn.00607a30
mov ecx, dword [ebx + 0xc]
push ecx
mov ebp, eax
call fcn.005fdc80
mov ecx, dword [esi + 0x3c]
mov edi, eax
add esp, 0xc
xor eax, eax
test ecx, ecx
jle 0x608858
mov edx, dword [esi + 0x40]
lea ebx, [ebx]
cmp ebp, dword [edx]
je 0x608855
inc eax
add edx, 4
cmp eax, ecx
jl 0x6087f0
jmp 0x608858
mov edx, dword [esp + 0x20]
push edx
call fcn.005fe510
mov eax, dword [esi + 0x1c]
mov ecx, dword [esp + 0x74]
push eax
push str.Bone_not_found:
push edi
push ecx
call fcn.00607c30
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x5c
ret
mov edx, dword [esp + 0x20]
push edx
call fcn.005fe510
mov eax, dword [ebx + 0x1c]
mov ecx, dword [esp + 0x74]
push eax
push str.Invalid_timeline_type_for_a_bone:
push 0
push ecx
call fcn.00607c30
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x5c
ret
mov dword [edi + 0x14], eax
mov ebp, dword [ebx + 4]
xor esi, esi
test ebp, ebp
je 0x6088c2
push 1
push str.bendPositive
push ebp
call fcn.00602dc0
fld1
add esp, 0xc
neg eax
sbb eax, eax
and eax, 2
dec eax
push eax
push ecx
fstp dword [esp]
push 0x77a3c8
push ebp
call fcn.00602d80
fstp dword [esp + 8]
fldz
add esp, 4
fstp dword [esp]
push str.time
push ebp
call fcn.00602d80
fstp dword [esp + 8]
add esp, 8
push esi
push edi
call fcn.005fdca0
add esp, 0x14
mov eax, ebp
call fcn.00607da0
mov ebp, dword [ebp]
inc esi
test ebp, ebp
jne 0x608861
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov dword [ecx + edx*4], edi
inc dword [eax + 8]
mov ecx, dword [ebx + 0xc]
movss xmm0, dword [eax + 4]
lea edx, [ecx + ecx*2]
mov ecx, dword [edi + 0x10]
movss xmm1, dword [ecx + edx*4 - 0xc]
cvtps2pd xmm2, xmm0
cvtps2pd xmm3, xmm1
comisd xmm2, xmm3
ja 0x6088f5
movaps xmm0, xmm1
movss dword [eax + 4], xmm0
mov ebx, dword [ebx]
test ebx, ebx
jne 0x6087c0
mov eax, dword [esp + 0x64]
test eax, eax
je 0x608a43
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x608a43
jmp 0x608920
mov edx, dword [ebx + 0x1c]
mov esi, dword [esp + 0x78]
push edx
push esi
call fcn.00607aa0
mov ebp, eax
mov eax, dword [ebx + 0xc]
push eax
call fcn.005fdfa0
mov ecx, dword [esi + 0x44]
mov edi, eax
add esp, 0xc
xor eax, eax
test ecx, ecx
jle 0x608961
mov edx, dword [esi + 0x48]
lea ebx, [ebx]
cmp ebp, dword [edx]
je 0x60895e
inc eax
add edx, 4
cmp eax, ecx
jl 0x608950
jmp 0x608961
mov dword [edi + 0x14], eax
mov ebp, dword [ebx + 4]
xor esi, esi
test ebp, ebp
je 0x608a01
mov edi, edi
fld1
push ecx
fstp dword [esp]
push str.shearMix
push ebp
call fcn.00602d80
fstp dword [esp + 8]
fld1
add esp, 4
fstp dword [esp]
push str.scaleMix
push ebp
call fcn.00602d80
fstp dword [esp + 8]
fld1
add esp, 4
fstp dword [esp]
push str.translateMix
push ebp
call fcn.00602d80
fstp dword [esp + 8]
fld1
add esp, 4
fstp dword [esp]
push str.rotateMix
push ebp
call fcn.00602d80
fstp dword [esp + 8]
fldz
add esp, 4
fstp dword [esp]
push str.time
push ebp
call fcn.00602d80
fstp dword [esp + 8]
add esp, 8
push esi
push edi
call fcn.005fdfc0
add esp, 0x1c
mov eax, ebp
call fcn.00607da0
mov ebp, dword [ebp]
inc esi
test ebp, ebp
jne 0x608970
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [edx + ecx*4], edi
inc dword [eax + 8]
mov ecx, dword [ebx + 0xc]
mov edx, dword [edi + 0x10]
movss xmm0, dword [eax + 4]
lea ecx, [ecx + ecx*4]
movss xmm1, dword [edx + ecx*4 - 0x14]
cvtps2pd xmm2, xmm0
cvtps2pd xmm3, xmm1
comisd xmm2, xmm3
ja 0x608a34
movaps xmm0, xmm1
movss dword [eax + 4], xmm0
mov ebx, dword [ebx]
test ebx, ebx
jne 0x608920
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x20]
test eax, eax
je 0x608d57
mov ebp, dword [eax + 4]
mov dword [esp + 0x18], ebp
test ebp, ebp
je 0x608d57
mov eax, dword [ebp + 0x1c]
mov esi, dword [esp + 0x78]
push eax
push esi
call fcn.00607b10
mov edi, eax
add esp, 8
mov dword [esp + 0x4c], edi
test edi, edi
je 0x608e1b
mov edx, dword [esi + 0x4c]
xor eax, eax
test edx, edx
jle 0x608aa2
mov ecx, dword [esi + 0x50]
lea ecx, [ecx]
cmp dword [ecx], edi
je 0x608a9e
inc eax
add ecx, 4
cmp eax, edx
jl 0x608a90
jmp 0x608aa2
mov dword [esp + 0x48], eax
mov esi, dword [ebp + 4]
mov dword [esp + 0x1c], esi
test esi, esi
je 0x608d44
mov ebx, dword [esi + 0x1c]
mov ecx, str.position
mov eax, ebx
jmp 0x608ac0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x608ae0
test dl, dl
je 0x608adc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x608ae0
add eax, 2
add ecx, 2
test dl, dl
jne 0x608ac0
xor eax, eax
jmp 0x608ae5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x608c13
mov ecx, str.spacing
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x608b14
test dl, dl
je 0x608b10
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x608b14
add eax, 2
add ecx, 2
test dl, dl
jne 0x608af4
xor eax, eax
jmp 0x608b19
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x608c13
mov ecx, 0x77a3c8
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x608b48
test dl, dl
je 0x608b44
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x608b48
add eax, 2
add ecx, 2
test dl, dl
jne 0x608b28
xor eax, eax
jmp 0x608b4d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x608d36
mov ebx, dword [esp + 0x1c]
mov ecx, dword [ebx + 0xc]
push ecx
call fcn.005fe4b0
mov edx, dword [esp + 0x4c]
mov edi, eax
mov dword [edi + 0x14], edx
mov ebp, dword [ebx + 4]
add esp, 4
xor esi, esi
test ebp, ebp
je 0x608bd6
fld1
push ecx
fstp dword [esp]
push str.translateMix
push ebp
call fcn.00602d80
fstp dword [esp + 8]
fld1
add esp, 4
fstp dword [esp]
push str.rotateMix
push ebp
call fcn.00602d80
fstp dword [esp + 8]
fldz
add esp, 4
fstp dword [esp]
push str.time
push ebp
call fcn.00602d80
fstp dword [esp + 8]
add esp, 8
push esi
push edi
call fcn.005fe4d0
add esp, 0x14
mov eax, ebp
call fcn.00607da0
mov ebp, dword [ebp]
inc esi
test ebp, ebp
jne 0x608b77
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 0xc]
mov dword [edx + eax*4], edi
inc dword [ecx + 8]
mov eax, dword [ebx + 0xc]
mov edx, dword [edi + 0x10]
movss xmm0, dword [ecx + 4]
lea eax, [eax + eax*2]
movss xmm1, dword [edx + eax*4 - 0xc]
cvtps2pd xmm2, xmm0
cvtps2pd xmm3, xmm1
comisd xmm2, xmm3
ja 0x608c09
movaps xmm0, xmm1
movss dword [ecx + 4], xmm0
jmp 0x608d2e
movss xmm0, dword [0x6d89ac]
movss dword [esp + 0x40], xmm0
mov ecx, str.spacing
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x608c48
test dl, dl
je 0x608c44
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x608c48
add eax, 2
add ecx, 2
test dl, dl
jne 0x608c28
xor eax, eax
jmp 0x608c4d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov eax, dword [esi + 0xc]
push eax
jne 0x608c6f
call fcn.005fe2a0
mov ecx, dword [esp + 0x50]
mov edi, eax
mov eax, dword [ecx + 0x14]
add esp, 4
test eax, eax
je 0x608c83
cmp eax, 1
jmp 0x608c81
call fcn.005fe130
mov ecx, dword [esp + 0x50]
add esp, 4
cmp dword [ecx + 0x10], 0
mov edi, eax
jne 0x608c91
mov edx, dword [esp + 0x70]
movss xmm0, dword [edx]
movss dword [esp + 0x40], xmm0
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x1c]
mov dword [edi + 0x14], eax
mov ebp, dword [ecx + 4]
xor esi, esi
test ebp, ebp
je 0x608cf5
fldz
push ecx
fstp dword [esp]
push ebx
push ebp
call fcn.00602d80
fmul dword [esp + 0x4c]
add esp, 4
fstp dword [esp + 0x70]
fld dword [esp + 0x70]
fstp dword [esp + 4]
fldz
fstp dword [esp]
push str.time
push ebp
call fcn.00602d80
fstp dword [esp + 8]
add esp, 8
push esi
push edi
call fcn.005fe150
add esp, 0x10
mov eax, ebp
call fcn.00607da0
mov ebp, dword [ebp]
inc esi
test ebp, ebp
jne 0x608ca5
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov dword [ecx + edx*4], edi
inc dword [eax + 8]
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0xc]
mov edx, dword [edi + 0x10]
movss xmm0, dword [eax + 4]
movss xmm1, dword [edx + ecx*8 - 8]
cvtps2pd xmm2, xmm0
cvtps2pd xmm3, xmm1
comisd xmm2, xmm3
ja 0x608d29
movaps xmm0, xmm1
movss dword [eax + 4], xmm0
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov esi, dword [esi]
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x608ab1
mov ebp, dword [ebp]
mov dword [esp + 0x18], ebp
test ebp, ebp
jne 0x608a62
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x50]
test eax, eax
je 0x609137
mov esi, dword [eax + 4]
mov dword [esp + 0x18], esi
test esi, esi
je 0x609137
mov ecx, dword [esi + 0x1c]
mov edx, dword [esp + 0x78]
push ecx
push edx
call fcn.006078e0
mov esi, dword [esi + 4]
add esp, 8
mov dword [esp + 0x68], eax
mov dword [esp + 0x24], esi
test esi, esi
je 0x609121
jmp 0x608da0
mov esi, dword [esp + 0x24]
mov eax, dword [esi + 0x1c]
mov ecx, dword [esp + 0x78]
push eax
push ecx
call fcn.00607880
mov ebx, dword [esi + 4]
add esp, 8
mov dword [esp + 0x50], eax
mov dword [esp + 0x48], ebx
test ebx, ebx
je 0x609113
jmp 0x608dd0
mov edx, dword [ebx + 0x1c]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x68]
push edx
push eax
push ecx
call fcn.0060b3a0
add esp, 0xc
mov dword [esp + 0x40], eax
test eax, eax
je 0x60945f
xor ecx, ecx
cmp dword [eax + 0x14], ecx
setne cl
mov dword [esp + 0x4c], ecx
test ecx, ecx
je 0x608e4a
mov ecx, dword [eax + 0x18]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, eax
mov dword [esp + 0x74], eax
jmp 0x608e51
mov eax, dword [esp + 0x20]
push eax
call fcn.005fe510
mov ecx, dword [ebp + 0x1c]
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
push ecx
push str.Path_constraint_not_found:
push edx
push eax
call fcn.00607c30
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x5c
ret
mov edx, dword [eax + 0x18]
mov dword [esp + 0x74], edx
mov esi, dword [esp + 0x74]
push 0x184
lea eax, [esi*4]
push str.._spine_c_src_spineSkeletonJson.c
push eax
call fcn.00601850
mov ebp, eax
mov eax, dword [ebx + 0xc]
push esi
push eax
call fcn.005fda20
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x54]
mov edi, eax
mov dword [edi + 0x1c], ecx
mov dword [edi + 0x20], edx
mov esi, dword [ebx + 4]
add esp, 0x14
mov dword [esp + 0x64], edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], 0
test esi, esi
je 0x6090c3
mov ebx, dword [esp + 0x70]
push str.vertices
push esi
call fcn.00602d20
mov edi, eax
add esp, 8
test edi, edi
jne 0x608ef0
cmp dword [esp + 0x4c], eax
je 0x608ee0
mov eax, dword [esp + 0x74]
add eax, eax
add eax, eax
push eax
push edi
push ebp
mov dword [esp + 0x48], ebp
call fcn.00695690
add esp, 0xc
jmp 0x609073
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x3c], ecx
jmp 0x609073
push 0
push str.offset
push esi
call fcn.00602dc0
mov esi, eax
lea edx, [esi*4]
push edx
push 0
push ebp
mov dword [esp + 0x54], ebp
call fcn.00695690
movss xmm0, dword [ebx]
mov ecx, dword [edi + 4]
add esp, 0x18
ucomiss xmm0, dword [0x6d89ac]
lahf
test ah, 0x44
mov eax, esi
jp 0x608f40
test ecx, ecx
je 0x608f68
fld dword [ecx + 0x18]
inc eax
fstp dword [ebp + eax*4 - 4]
mov ecx, dword [ecx]
test ecx, ecx
jne 0x608f30
jmp 0x608f68
test ecx, ecx
je 0x608f68
movss xmm0, dword [ecx + 0x18]
movss xmm1, dword [ebx]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [ebp + eax*4], xmm0
mov ecx, dword [ecx]
inc eax
test ecx, ecx
jne 0x608f44
mov ecx, dword [esp + 0x74]
sub ecx, eax
add ecx, ecx
add ecx, ecx
push ecx
lea edx, [ebp + eax*4]
push 0
push edx
call fcn.00695690
add esp, 0xc
cmp dword [esp + 0x4c], 0
jne 0x609073
mov eax, dword [esp + 0x40]
mov ebx, dword [eax + 0x1c]
xor edi, edi
cmp dword [esp + 0x74], 4
jl 0x60903c
mov edx, dword [esp + 0x74]
add edx, 0xfffffffc
mov esi, ebx
shr edx, 2
sub esi, ebp
inc edx
lea ecx, [ebx + 0xc]
lea eax, [ebp + 4]
lea edi, [edx*4]
lea ecx, [ecx]
movss xmm0, dword [ecx - 0xc]
movss xmm1, dword [eax - 4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm0, xmm1
movss xmm1, dword [eax]
cvtpd2ps xmm0, xmm0
movss dword [eax - 4], xmm0
movss xmm0, dword [esi + eax]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm0, xmm1
movss xmm1, dword [eax + 4]
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
movss xmm0, dword [ecx - 4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [eax + 4], xmm0
movss xmm0, dword [eax + 8]
movss xmm1, dword [ecx]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [eax + 8], xmm0
add eax, 0x10
add ecx, 0x10
sub edx, 1
jne 0x608fc0
cmp edi, dword [esp + 0x74]
jge 0x609073
mov ecx, dword [esp + 0x74]
mov edx, ebx
sub edx, ebp
lea eax, [ebp + edi*4]
sub ecx, edi
movss xmm0, dword [eax + edx]
movss xmm1, dword [eax]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
add eax, 4
sub ecx, 1
jne 0x609050
mov ecx, dword [esp + 0x3c]
fldz
mov ebx, dword [esp + 0x1c]
push ecx
push ecx
fstp dword [esp]
push str.time
push ebx
call fcn.00602d80
fstp dword [esp + 8]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x74]
add esp, 8
push esi
push edi
call fcn.005fdac0
add esp, 0x10
mov eax, ebx
call fcn.00607da0
mov esi, dword [ebx]
inc dword [esp + 0x14]
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x608ea6
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x20]
push ebp
call fcn.006018c0
mov edx, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov dword [eax + edx*4], edi
inc dword [esi + 8]
mov ecx, dword [ebx + 0xc]
mov edx, dword [edi + 0x10]
movss xmm0, dword [esi + 4]
movss xmm1, dword [edx + ecx*4 - 4]
add esp, 4
cvtps2pd xmm2, xmm0
cvtps2pd xmm3, xmm1
comisd xmm2, xmm3
ja 0x6090fc
movaps xmm0, xmm1
movss dword [esi + 4], xmm0
mov ebx, dword [ebx]
mov dword [esp + 0x48], ebx
test ebx, ebx
jne 0x608dd0
mov esi, dword [esp + 0x24]
mov esi, dword [esi]
mov dword [esp + 0x24], esi
test esi, esi
jne 0x608da0
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov dword [esp + 0x18], esi
test esi, esi
jne 0x608d72
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x60931b
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 0x18]
mov eax, dword [esi + 0xc]
push edx
push eax
call fcn.005fd220
mov ecx, dword [esi + 4]
add esp, 8
mov dword [esp + 0x50], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], 0
test ecx, ecx
je 0x6092ea
mov esi, ecx
push str.offsets
push esi
xor ebx, ebx
call fcn.00602d20
add esp, 8
mov dword [esp + 0x68], eax
test eax, eax
je 0x60929a
mov edi, dword [esp + 0x78]
mov ecx, dword [edi + 0x18]
sub ecx, dword [eax + 0xc]
push 0x1ba
add ecx, ecx
add ecx, ecx
push str.._spine_c_src_spineSkeletonJson.c
push ecx
call fcn.00601850
mov edx, dword [edi + 0x18]
push 0x1bd
add edx, edx
add edx, edx
push str.._spine_c_src_spineSkeletonJson.c
push edx
mov dword [esp + 0x8c], eax
xor esi, esi
xor ebp, ebp
call fcn.00601850
mov ebx, eax
mov eax, dword [edi + 0x18]
add esp, 0x18
sub eax, 1
js 0x6091ed
lea ecx, [ecx]
sub eax, 1
mov dword [ebx + eax*4 + 4], 0xffffffff
jns 0x6091e0
mov eax, dword [esp + 0x68]
mov edi, dword [eax + 4]
test edi, edi
je 0x60924c
push 0
push str.slot
push edi
call fcn.00602d60
mov ecx, dword [esp + 0x84]
push eax
push ecx
call fcn.00607880
add esp, 0x14
cmp eax, 0xffffffff
je 0x60948b
cmp esi, eax
je 0x609230
mov ecx, dword [esp + 0x74]
mov dword [ecx + ebp*4], esi
inc esi
inc ebp
cmp esi, eax
jne 0x609227
push 0
push str.offset
push edi
call fcn.00602dc0
add eax, esi
mov dword [ebx + eax*4], esi
mov edi, dword [edi]
add esp, 0xc
inc esi
test edi, edi
jne 0x6091f8
mov eax, dword [esp + 0x78]
cmp esi, dword [eax + 0x18]
mov ecx, dword [esp + 0x74]
jge 0x60926a
lea esp, [esp]
mov dword [ecx + ebp*4], esi
inc esi
inc ebp
cmp esi, dword [eax + 0x18]
jl 0x609260
mov eax, dword [eax + 0x18]
sub eax, 1
js 0x609289
lea ebp, [ecx + ebp*4]
cmp dword [ebx + eax*4], 0xffffffff
jne 0x609284
mov edx, dword [ebp - 4]
sub ebp, 4
mov dword [ebx + eax*4], edx
sub eax, 1
jns 0x609275
mov eax, dword [esp + 0x74]
push eax
call fcn.006018c0
mov esi, dword [esp + 0x20]
add esp, 4
fldz
push ebx
push ecx
fstp dword [esp]
push str.time
push esi
call fcn.00602d80
fstp dword [esp + 8]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x60]
add esp, 8
push edi
push ecx
call fcn.005fd2a0
push ebx
call fcn.006018c0
mov esi, dword [esi]
inc edi
add esp, 0x14
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], edi
test esi, esi
jne 0x609174
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x20]
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc]
mov dword [edx + ecx*4], eax
inc dword [edi + 8]
mov ecx, dword [esi + 0xc]
mov edx, dword [eax + 0xc]
movss xmm0, dword [edi + 4]
movss xmm1, dword [edx + ecx*4 - 4]
cvtps2pd xmm2, xmm0
cvtps2pd xmm3, xmm1
comisd xmm2, xmm3
ja 0x609316
movaps xmm0, xmm1
movss dword [edi + 4], xmm0
mov ebp, dword [esp + 0x44]
test ebp, ebp
je 0x609455
mov eax, dword [ebp + 0xc]
push eax
call fcn.005fd070
mov esi, dword [ebp + 4]
add esp, 4
xor ebx, ebx
mov dword [esp + 0x74], eax
test esi, esi
je 0x609424
push 0
push str.name
push esi
call fcn.00602d60
mov ecx, dword [esp + 0x84]
push eax
push ecx
call fcn.00607950
mov edi, eax
add esp, 0x14
test edi, edi
je 0x6094c4
fldz
push edi
push ecx
fstp dword [esp]
push str.time
push esi
call fcn.00602d80
fstp dword [esp + 8]
add esp, 8
call fcn.00601780
mov edx, dword [edi + 4]
push edx
push 0x77a33c
push esi
mov ebp, eax
call fcn.00602dc0
mov dword [ebp + 8], eax
fld dword [edi + 8]
add esp, 0x10
fstp dword [esp]
push str.float
push esi
call fcn.00602d80
fstp dword [ebp + 0xc]
mov eax, dword [edi + 0xc]
push eax
push str.string
push esi
call fcn.00602d60
add esp, 0x18
test eax, eax
je 0x6093fe
mov ecx, eax
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x6093d0
sub ecx, edi
push 0x1ee
inc ecx
push str.._spine_c_src_spineSkeletonJson.c
push ecx
mov edi, eax
call fcn.00601850
add esp, 0xc
mov dword [ebp + 0x10], eax
mov ecx, eax
mov al, byte [edi]
mov byte [ecx], al
inc edi
inc ecx
test al, al
jne 0x6093f4
mov ecx, dword [esp + 0x74]
push ebp
push ebx
push ecx
call fcn.005fd0f0
mov esi, dword [esi]
add esp, 0xc
inc ebx
test esi, esi
jne 0x609344
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x74]
mov ebp, dword [esp + 0x44]
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc]
mov dword [edx + ecx*4], eax
inc dword [edi + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [eax + 0xc]
movss xmm0, dword [edi + 4]
movss xmm1, dword [edx + ecx*4 - 4]
cvtps2pd xmm2, xmm0
cvtps2pd xmm3, xmm1
comisd xmm2, xmm3
ja 0x609450
movaps xmm0, xmm1
movss dword [edi + 4], xmm0
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
mov ecx, dword [esp + 0x20]
push ecx
call fcn.005fe510
mov edx, dword [ebx + 0x1c]
mov eax, dword [esp + 0x74]
push edx
push str.Attachment_not_found:
push 0
push eax
call fcn.00607c30
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x5c
ret
mov edx, dword [esp + 0x20]
push edx
call fcn.005fe510
push 0
push str.slot
push edi
call fcn.00602d60
push eax
push str.Slot_not_found:
mov eax, dword [esp + 0x88]
push 0
push eax
call fcn.00607c30
add esp, 0x20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x5c
ret
mov edx, dword [esp + 0x20]
push edx
call fcn.005fe510
push 0
push str.name
push esi
call fcn.00602d60
push eax
push str.Event_not_found:
jmp 0x6094a8