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

Disassembly:
sub esp, 0x60
push ebx
mov ebx, dword [esp + 0x68]
mov eax, dword [ebx + 8]
push ebp
push esi
push edi
push eax
xor ebp, ebp
xor esi, esi
call fcn.006018c0
push ebp
push 4
mov dword [ebx + 8], ebp
mov dword [ebx + 0x10], ebp
call fcn.0069eb66
add esp, 0xc
cmp eax, ebp
je 0x609788
push eax
call fcn.006a3650
add esp, 4
mov esi, eax
push 0x6ee238
push 4
call fcn.0069eb66
mov ecx, dword [esp + 0x80]
push ecx
call fcn.00603100
mov edi, eax
push esi
push 4
mov dword [esp + 0x48], edi
call fcn.0069eb66
add esp, 0x14
cmp esi, ebp
je 0x6097bf
push esi
call fcn.00695d3f
add esp, 4
cmp edi, ebp
jne 0x6097e2
call fcn.00602870
push eax
push str.Invalid_skeleton_JSON:
push ebp
push ebx
call fcn.00607c30
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret
call fcn.006075b0
mov ebx, eax
push str.skeleton
push edi
mov dword [esp + 0x38], ebx
call fcn.00602d20
mov esi, eax
add esp, 8
cmp esi, ebp
je 0x6098d0
push ebp
push str.hash
push esi
call fcn.00602d60
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x609817
push 0
sub eax, ecx
push str.hash
push esi
mov ebp, eax
call fcn.00602d60
push 0x25f
push str.._spine_c_src_spineSkeletonJson.c
inc ebp
push ebp
mov edi, eax
call fcn.00601850
add esp, 0x18
mov dword [ebx + 4], eax
mov cl, byte [edi]
mov byte [eax], cl
inc edi
inc eax
test cl, cl
jne 0x609848
push 0
push str.spine
push esi
call fcn.00602d60
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x609865
push 0
sub eax, ecx
push str.spine
push esi
mov ebp, eax
call fcn.00602d60
push 0x260
push str.._spine_c_src_spineSkeletonJson.c
inc ebp
push ebp
mov edi, eax
call fcn.00601850
add esp, 0x18
mov dword [ebx], eax
mov cl, byte [edi]
mov byte [eax], cl
inc edi
inc eax
test cl, cl
jne 0x609895
fldz
push ecx
fstp dword [esp]
push str.width
push esi
call fcn.00602d80
fstp dword [ebx + 8]
fldz
add esp, 8
fstp dword [esp]
push str.height
push esi
call fcn.00602d80
fstp dword [ebx + 0xc]
mov edi, dword [esp + 0x40]
add esp, 0xc
push str.bones
push edi
call fcn.00602d20
mov esi, eax
mov edx, dword [esi + 0xc]
push 0x267
add edx, edx
add edx, edx
push str.._spine_c_src_spineSkeletonJson.c
push edx
call fcn.00601850
mov dword [ebx + 0x14], eax
mov esi, dword [esi + 4]
add esp, 0x14
test esi, esi
je 0x609a5f
xor ebp, ebp
xor edi, edi
push edi
push str.parent
push esi
call fcn.00602d60
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x609936
mov eax, dword [esp + 0x30]
push ebx
push eax
call fcn.00607740
mov edi, eax
add esp, 8
test edi, edi
je 0x609bb0
push edi
push 0
push str.name
push esi
call fcn.00602d60
mov ebx, dword [esp + 0x40]
mov ecx, dword [ebx + 0x10]
add esp, 0xc
push eax
push ecx
call fcn.00601680
fldz
add esp, 8
fstp dword [esp]
push str.length
push esi
mov edi, eax
call fcn.00602d80
mov edx, dword [esp + 0x80]
fmul dword [edx]
add esp, 8
fstp dword [edi + 0xc]
fldz
fstp dword [esp]
push 0x6d8f78
push esi
call fcn.00602d80
mov eax, dword [esp + 0x80]
fmul dword [eax]
add esp, 8
fstp dword [edi + 0x10]
fldz
fstp dword [esp]
push 0x6d8f74
push esi
call fcn.00602d80
mov ecx, dword [esp + 0x80]
fmul dword [ecx]
add esp, 8
fstp dword [edi + 0x14]
fldz
fstp dword [esp]
push str.rotation
push esi
call fcn.00602d80
fstp dword [edi + 0x18]
fld1
add esp, 8
fstp dword [esp]
push str.scaleX
push esi
call fcn.00602d80
fstp dword [edi + 0x1c]
fld1
add esp, 8
fstp dword [esp]
push str.scaleY
push esi
call fcn.00602d80
fstp dword [edi + 0x20]
fldz
add esp, 8
fstp dword [esp]
push str.shearX
push esi
call fcn.00602d80
fstp dword [edi + 0x24]
fldz
add esp, 8
fstp dword [esp]
push str.shearY
push esi
call fcn.00602d80
fstp dword [edi + 0x28]
push 1
push str.inheritRotation
push esi
call fcn.00602dc0
push 1
mov dword [edi + 0x2c], eax
push str.inheritScale
push esi
call fcn.00602dc0
mov dword [edi + 0x30], eax
mov edx, dword [ebx + 0x14]
mov dword [edx + ebp], edi
inc dword [ebx + 0x10]
mov esi, dword [esi]
add esp, 0x24
add ebp, 4
test esi, esi
jne 0x609907
mov edi, dword [esp + 0x34]
push str.slots
push edi
call fcn.00602d20
mov esi, eax
add esp, 8
test esi, esi
je 0x609c85
mov eax, dword [esi + 0xc]
mov dword [ebx + 0x18], eax
mov ecx, dword [esi + 0xc]
push 0x28b
add ecx, ecx
add ecx, ecx
push str.._spine_c_src_spineSkeletonJson.c
push ecx
call fcn.00601850
mov dword [ebx + 0x1c], eax
mov ebp, dword [esi + 4]
add esp, 0xc
mov dword [esp + 0x38], 0
test ebp, ebp
je 0x609c85
lea ecx, [ecx]
push 0
push str.bone
push ebp
call fcn.00602d60
mov edi, dword [esp + 0x3c]
mov esi, eax
push esi
push edi
call fcn.00607740
add esp, 0x14
test eax, eax
je 0x60a0fb
push eax
push 0
push str.name
push ebp
call fcn.00602d60
mov edx, dword [esp + 0x48]
add esp, 0xc
push eax
push edx
call fcn.0060b5d0
push 0
push str.color
push ebp
mov ebx, eax
call fcn.00602d60
mov esi, eax
add esp, 0x18
test esi, esi
je 0x609b4a
xor edi, edi
mov edx, esi
call fcn.00607d20
mov edi, 1
mov edx, esi
movss dword [ebx + 0x10], xmm0
call fcn.00607d20
mov edi, 2
mov edx, esi
movss dword [ebx + 0x14], xmm0
call fcn.00607d20
mov edi, 3
mov edx, esi
movss dword [ebx + 0x18], xmm0
call fcn.00607d20
movss dword [ebx + 0x1c], xmm0
push str.attachment
push ebp
call fcn.00602d20
add esp, 8
test eax, eax
je 0x609b69
mov eax, dword [eax + 0x10]
push eax
push ebx
call fcn.0060b680
add esp, 8
push str.blend
push ebp
call fcn.00602d20
add esp, 8
test eax, eax
je 0x609c61
mov esi, dword [eax + 0x10]
mov ecx, str.additive
mov eax, esi
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x609bdf
test dl, dl
je 0x609bac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x609bdf
add eax, 2
add ecx, 2
test dl, dl
jne 0x609b90
xor eax, eax
jmp 0x609be4
mov eax, dword [esp + 0x30]
push eax
call fcn.006075d0
push ebx
push str.Parent_bone_not_found:
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x80]
push ecx
push edx
call fcn.00607c30
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x609bf1
mov dword [ebx + 0x20], 1
jmp 0x609c61
mov ecx, str.multiply
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x609c18
test dl, dl
je 0x609c14
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x609c18
add eax, 2
add ecx, 2
test dl, dl
jne 0x609bf8
xor eax, eax
jmp 0x609c1d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x609c2a
mov dword [ebx + 0x20], 2
jmp 0x609c61
mov ecx, str.screen
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x609c51
test dl, dl
je 0x609c4d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x609c51
add eax, 2
add ecx, 2
test dl, dl
jne 0x609c31
xor eax, eax
jmp 0x609c56
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x609c61
mov dword [ebx + 0x20], 3
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
mov edx, dword [ecx + 0x1c]
mov dword [edx + eax*4], ebx
mov ebp, dword [ebp]
inc eax
mov dword [esp + 0x38], eax
test ebp, ebp
jne 0x609ab0
mov edi, dword [esp + 0x34]
mov ebx, ecx
push 0x77a4b4
push edi
call fcn.00602d20
mov esi, eax
add esp, 8
test esi, esi
je 0x609dc2
mov edx, dword [esi + 0xc]
mov dword [ebx + 0x3c], edx
mov eax, dword [esi + 0xc]
push 0x2b9
add eax, eax
add eax, eax
push str.._spine_c_src_spineSkeletonJson.c
push eax
call fcn.00601850
mov dword [ebx + 0x40], eax
mov edi, dword [esi + 4]
add esp, 0xc
test edi, edi
je 0x609dc2
mov dword [esp + 0x3c], 0
push 0
push str.name
push edi
call fcn.00602d60
push eax
call fcn.006027d0
push str.bones
push edi
mov esi, eax
call fcn.00602d20
mov ebp, eax
mov ecx, dword [ebp + 0xc]
mov dword [esi + 4], ecx
mov edx, dword [ebp + 0xc]
push 0x2c1
add edx, edx
add edx, edx
push str.._spine_c_src_spineSkeletonJson.c
push edx
call fcn.00601850
mov dword [esi + 8], eax
mov ebp, dword [ebp + 4]
add esp, 0x24
test ebp, ebp
je 0x609d4f
xor ebx, ebx
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x30]
push eax
push ecx
call fcn.00607740
mov edx, dword [esi + 8]
mov dword [ebx + edx], eax
mov eax, dword [esi + 8]
add esp, 8
cmp dword [ebx + eax], 0
je 0x60a123
mov ebp, dword [ebp]
add ebx, 4
test ebp, ebp
jne 0x609d21
mov ebx, dword [esp + 0x30]
push 0
push str.target
push edi
call fcn.00602d60
push eax
push ebx
call fcn.00607740
add esp, 0x14
mov dword [esi + 0xc], eax
test eax, eax
je 0x60a13b
push 1
push str.bendPositive
push edi
call fcn.00602dc0
fld1
neg eax
fstp dword [esp + 8]
sbb eax, eax
add esp, 8
and eax, 2
dec eax
push 0x77a3c8
push edi
mov dword [esi + 0x10], eax
call fcn.00602d80
fstp dword [esi + 0x14]
mov eax, dword [esp + 0x48]
mov ecx, dword [ebx + 0x40]
mov dword [eax + ecx], esi
mov edi, dword [edi]
add eax, 4
add esp, 0xc
mov dword [esp + 0x3c], eax
test edi, edi
jne 0x609cd3
mov eax, dword [esp + 0x34]
push str.transform
push eax
call fcn.00602d20
mov esi, eax
add esp, 8
test esi, esi
je 0x609fba
mov ecx, dword [esi + 0xc]
mov dword [ebx + 0x44], ecx
mov edx, dword [esi + 0xc]
push 0x2df
add edx, edx
add edx, edx
push str.._spine_c_src_spineSkeletonJson.c
push edx
call fcn.00601850
mov dword [ebx + 0x48], eax
mov esi, dword [esi + 4]
add esp, 0xc
test esi, esi
je 0x609fba
mov dword [esp + 0x3c], 0
push 0
push str.name
push esi
call fcn.00602d60
push eax
call fcn.0060bd00
push str.bones
push esi
mov edi, eax
call fcn.00602d20
mov ebp, eax
mov eax, dword [ebp + 0xc]
mov dword [edi + 4], eax
mov ecx, dword [ebp + 0xc]
push 0x2e7
add ecx, ecx
add ecx, ecx
push str.._spine_c_src_spineSkeletonJson.c
push ecx
call fcn.00601850
mov dword [edi + 8], eax
mov ebp, dword [ebp + 4]
add esp, 0x24
test ebp, ebp
je 0x609e90
xor ebx, ebx
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x30]
push edx
push eax
call fcn.00607740
mov ecx, dword [edi + 8]
mov dword [ebx + ecx], eax
mov edx, dword [edi + 8]
add esp, 8
cmp dword [ebx + edx], 0
je 0x60a14f
mov ebp, dword [ebp]
add ebx, 4
test ebp, ebp
jne 0x609e62
mov ebx, dword [esp + 0x74]
push 0
push str.target
push esi
call fcn.00602d60
push eax
mov eax, dword [esp + 0x40]
push eax
call fcn.00607740
add esp, 0x14
mov dword [edi + 0xc], eax
test eax, eax
je 0x60a17e
fldz
push ecx
fstp dword [esp]
push str.rotation
push esi
call fcn.00602d80
fstp dword [edi + 0x20]
fldz
add esp, 8
fstp dword [esp]
push 0x6d8f78
push esi
call fcn.00602d80
fmul dword [ebx]
add esp, 8
fstp dword [edi + 0x24]
fldz
fstp dword [esp]
push 0x6d8f74
push esi
call fcn.00602d80
fmul dword [ebx]
add esp, 8
fstp dword [edi + 0x28]
fldz
fstp dword [esp]
push str.scaleX
push esi
call fcn.00602d80
fstp dword [edi + 0x2c]
fldz
add esp, 8
fstp dword [esp]
push str.scaleY
push esi
call fcn.00602d80
fstp dword [edi + 0x30]
fldz
add esp, 8
fstp dword [esp]
push str.shearY
push esi
call fcn.00602d80
fstp dword [edi + 0x34]
fld1
add esp, 8
fstp dword [esp]
push str.rotateMix
push esi
call fcn.00602d80
fstp dword [edi + 0x10]
fld1
add esp, 8
fstp dword [esp]
push str.translateMix
push esi
call fcn.00602d80
fstp dword [edi + 0x14]
fld1
add esp, 8
fstp dword [esp]
push str.scaleMix
push esi
call fcn.00602d80
fstp dword [edi + 0x18]
fld1
add esp, 8
fstp dword [esp]
push str.shearMix
push esi
call fcn.00602d80
fstp dword [edi + 0x1c]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x48]
mov edx, dword [ecx + 0x48]
mov dword [eax + edx], edi
mov esi, dword [esi]
add eax, 4
add esp, 0xc
mov dword [esp + 0x3c], eax
test esi, esi
jne 0x609e14
mov ecx, dword [esp + 0x34]
push str.path
push ecx
call fcn.00602d20
mov esi, eax
add esp, 8
test esi, esi
je 0x60a463
mov edx, dword [esi + 0xc]
mov edi, dword [esp + 0x30]
mov dword [edi + 0x4c], edx
mov eax, dword [esi + 0xc]
push 0x30e
add eax, eax
add eax, eax
push str.._spine_c_src_spineSkeletonJson.c
push eax
call fcn.00601850
mov dword [edi + 0x50], eax
mov ebx, dword [esi + 4]
add esp, 0xc
test ebx, ebx
je 0x60a463
mov dword [esp + 0x38], 0
push 0
push str.name
push ebx
call fcn.00602d60
push eax
call fcn.00605170
push str.bones
push ebx
mov ebp, eax
call fcn.00602d20
mov esi, eax
mov ecx, dword [esi + 0xc]
mov dword [ebp + 4], ecx
mov edx, dword [esi + 0xc]
push 0x317
add edx, edx
add edx, edx
push str.._spine_c_src_spineSkeletonJson.c
push edx
call fcn.00601850
mov dword [ebp + 8], eax
mov esi, dword [esi + 4]
add esp, 0x24
xor edi, edi
test esi, esi
je 0x60a08f
mov edi, edi
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x30]
push eax
push ecx
call fcn.00607740
mov edx, dword [ebp + 8]
mov dword [edi + edx], eax
mov eax, dword [ebp + 8]
add esp, 8
cmp dword [edi + eax], 0
je 0x60a505
mov esi, dword [esi]
add edi, 4
test esi, esi
jne 0x60a060
xor edi, edi
push edi
push str.target
push ebx
call fcn.00602d60
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.00607810
add esp, 0x14
mov dword [ebp + 0xc], eax
cmp eax, edi
je 0x60a534
push 0x77a658
push str.positionMode
push ebx
call fcn.00602d60
mov esi, eax
add esp, 0xc
mov edx, str.fixed
mov ecx, esi
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x60a1a9
test al, al
je 0x60a0f4
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x60a1a9
add ecx, 2
add edx, 2
test al, al
jne 0x60a0d0
xor eax, eax
jmp 0x60a1ae
push edi
call fcn.006075d0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x78]
push esi
push str.Slot_bone_not_found:
push eax
push ecx
call fcn.00607c30
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret
mov edx, dword [esp + 0x30]
push edx
call fcn.006075d0
mov eax, dword [ebp + 0x10]
push eax
push str.IK_bone_not_found:
jmp 0x609bc0
push ebx
call fcn.006075d0
mov eax, dword [ebp + 0x1c]
push eax
push str.Target_bone_not_found:
jmp 0x609bc0
mov eax, dword [esp + 0x30]
push eax
call fcn.006075d0
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x78]
push ecx
push str.Transform_bone_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, 0x60
ret
mov ecx, dword [esp + 0x30]
push ecx
call fcn.006075d0
mov edx, dword [ebp + 0x1c]
mov eax, dword [esp + 0x38]
push edx
push str.Target_bone_not_found:
push eax
push ebx
call fcn.00607c30
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
jne 0x60a1b7
mov dword [ebp + 0x10], edi
jmp 0x60a1f0
mov ecx, 0x77a658
mov eax, esi
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x60a1e0
test dl, dl
je 0x60a1dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x60a1e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x60a1c0
xor eax, eax
jmp 0x60a1e5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
jne 0x60a1f0
mov dword [ebp + 0x10], 1
push str.length
push str.spacingMode
push ebx
call fcn.00602d60
mov esi, eax
add esp, 0xc
mov edx, str.length
mov ecx, esi
lea esp, [esp]
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x60a230
test al, al
je 0x60a22c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x60a230
add ecx, 2
add edx, 2
test al, al
jne 0x60a210
xor eax, eax
jmp 0x60a235
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
jne 0x60a23e
mov dword [ebp + 0x14], edi
jmp 0x60a2b0
mov edx, str.fixed
mov ecx, esi
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x60a265
test al, al
je 0x60a261
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x60a265
add ecx, 2
add edx, 2
test al, al
jne 0x60a245
xor eax, eax
jmp 0x60a26a
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
jne 0x60a277
mov dword [ebp + 0x14], 1
jmp 0x60a2b0
mov ecx, 0x77a658
mov eax, esi
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x60a2a0
test dl, dl
je 0x60a29c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x60a2a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x60a280
xor eax, eax
jmp 0x60a2a5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
jne 0x60a2b0
mov dword [ebp + 0x14], 2
push str.tangent
push str.rotateMode
push ebx
call fcn.00602d60
mov esi, eax
add esp, 0xc
mov edx, str.tangent
mov ecx, esi
lea esp, [esp]
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x60a2f0
test al, al
je 0x60a2ec
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x60a2f0
add ecx, 2
add edx, 2
test al, al
jne 0x60a2d0
xor eax, eax
jmp 0x60a2f5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
jne 0x60a2fe
mov dword [ebp + 0x18], edi
jmp 0x60a370
mov edx, str.chain
mov ecx, esi
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x60a325
test al, al
je 0x60a321
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x60a325
add ecx, 2
add edx, 2
test al, al
jne 0x60a305
xor eax, eax
jmp 0x60a32a
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
jne 0x60a337
mov dword [ebp + 0x18], 1
jmp 0x60a370
mov ecx, str.chainScale
mov eax, esi
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x60a360
test dl, dl
je 0x60a35c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x60a360
add eax, 2
add ecx, 2
test dl, dl
jne 0x60a340
xor eax, eax
jmp 0x60a365
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
jne 0x60a370
mov dword [ebp + 0x18], 2
fldz
push ecx
fstp dword [esp]
push str.rotation
push ebx
call fcn.00602d80
fstp dword [ebp + 0x1c]
fldz
add esp, 8
fstp dword [esp]
push str.position
push ebx
call fcn.00602d80
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
add esp, 0xc
fstp dword [ebp + 0x20]
cmp dword [ebp + 0x10], edi
jne 0x60a3cb
mov edx, dword [esp + 0x74]
movss xmm1, dword [edx]
movss xmm0, dword [esp + 0x3c]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [ebp + 0x20], xmm0
fldz
push ecx
fstp dword [esp]
push str.spacing
push ebx
call fcn.00602d80
fstp dword [esp + 0x48]
mov eax, dword [ebp + 0x14]
fld dword [esp + 0x48]
add esp, 0xc
fstp dword [ebp + 0x24]
cmp eax, edi
je 0x60a3f6
cmp eax, 1
jne 0x60a417
mov eax, dword [esp + 0x74]
movss xmm1, dword [eax]
movss xmm0, dword [esp + 0x3c]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [ebp + 0x24], xmm0
fld1
push ecx
fstp dword [esp]
push str.rotateMix
push ebx
call fcn.00602d80
fstp dword [ebp + 0x28]
fld1
add esp, 8
fstp dword [esp]
push str.translateMix
push ebx
call fcn.00602d80
fstp dword [ebp + 0x2c]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x44]
mov edx, dword [ecx + 0x50]
mov dword [eax + edx], ebp
mov ebx, dword [ebx]
add eax, 4
add esp, 0xc
mov dword [esp + 0x38], eax
cmp ebx, edi
jne 0x60a010
mov edx, dword [esp + 0x34]
push str.skins
push edx
call fcn.00602d20
mov esi, eax
add esp, 8
test esi, esi
je 0x60af44
mov eax, dword [esi + 0xc]
push 0x347
add eax, eax
add eax, eax
push str.._spine_c_src_spineSkeletonJson.c
push eax
call fcn.00601850
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 0x24], eax
mov esi, dword [esi + 4]
add esp, 0xc
mov dword [esp + 0x48], esi
mov dword [esp + 0x38], 0
test esi, esi
je 0x60af44
mov edx, dword [esi + 0x1c]
push edx
call fcn.0060b2d0
mov edi, dword [esp + 0x34]
mov ecx, dword [edi + 0x24]
mov ebx, eax
mov eax, dword [edi + 0x20]
mov dword [ecx + eax*4], ebx
add esp, 4
inc dword [edi + 0x20]
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x44], ebx
mov ecx, str.default
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x60a563
test dl, dl
je 0x60a501
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x60a563
add eax, 2
add ecx, 2
test dl, dl
jne 0x60a4e1
xor eax, eax
jmp 0x60a568
mov eax, dword [esp + 0x30]
push eax
call fcn.006075d0
mov ecx, dword [esi + 0x10]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x78]
push ecx
push str.Path_bone_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, 0x60
ret
mov ecx, dword [esp + 0x30]
push ecx
call fcn.006075d0
mov edx, dword [esi + 0x1c]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x78]
push edx
push str.Target_slot_not_found:
push eax
push ecx
call fcn.00607c30
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x60a56f
mov dword [edi + 0x28], ebx
mov ebx, dword [esi + 4]
mov dword [esp + 0x3c], ebx
test ebx, ebx
je 0x60af32
jmp 0x60a584
mov ebx, dword [esp + 0x3c]
mov edx, dword [ebx + 0x1c]
mov eax, dword [esp + 0x30]
push edx
push eax
call fcn.00607880
mov ebp, dword [ebx + 4]
add esp, 8
mov dword [esp + 0x40], eax
test ebp, ebp
je 0x60af1c
mov eax, dword [ebp + 0x1c]
push eax
push str.name
push ebp
mov dword [esp + 0x78], eax
call fcn.00602d60
mov edi, eax
push edi
push str.path
push ebp
call fcn.00602d60
push str.region
push str.type
push ebp
mov esi, eax
call fcn.00602d60
add esp, 0x24
mov ebx, eax
mov ecx, str.region
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x60a601
test dl, dl
je 0x60a5fd
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x60a601
add eax, 2
add ecx, 2
test dl, dl
jne 0x60a5e1
xor eax, eax
jmp 0x60a606
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x60a6f9
mov ecx, str.mesh
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x60a635
test dl, dl
je 0x60a631
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x60a635
add eax, 2
add ecx, 2
test dl, dl
jne 0x60a615
xor eax, eax
jmp 0x60a63a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x60a648
mov eax, 2
jmp 0x60a6f9
mov ecx, str.linkedmesh
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x60a670
test dl, dl
je 0x60a66c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x60a670
add eax, 2
add ecx, 2
test dl, dl
jne 0x60a650
xor eax, eax
jmp 0x60a675
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x60a683
mov eax, 3
jmp 0x60a6f9
mov ecx, str.boundingbox
mov eax, ebx
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x60a6b0
test dl, dl
je 0x60a6ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x60a6b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x60a690
xor eax, eax
jmp 0x60a6b5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x60a6c0
mov eax, 1
jmp 0x60a6f9
mov ecx, str.path
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x60a6e7
test dl, dl
je 0x60a6e3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x60a6e7
add eax, 2
add ecx, 2
test dl, dl
jne 0x60a6c7
xor eax, eax
jmp 0x60a6ec
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x60af6d
mov eax, 4
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x74]
mov edx, dword [ebx + 4]
push esi
push edi
push eax
push ecx
push edx
call fcn.00600360
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x60a74e
mov eax, dword [ebx + 4]
cmp dword [eax], edi
je 0x60af11
mov edx, dword [esp + 0x30]
push edx
call fcn.006075d0
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x38]
push ecx
push edx
push eax
push ebx
call fcn.00607c30
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret
mov eax, dword [edi + 4]
cmp eax, 4
ja case.default.0x60a75a
jmp dword [eax*4 + 0x60b1cc]
test esi, esi
je 0x60a79c
mov eax, esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x60a770
sub eax, edx
push 0x37b
inc eax
push str.._spine_c_src_spineSkeletonJson.c
push eax
call fcn.00601850
add esp, 0xc
mov dword [edi + 0x10], eax
mov ecx, eax
mov al, byte [esi]
mov byte [ecx], al
inc esi
inc ecx
test al, al
jne 0x60a792
fldz
push ecx
fstp dword [esp]
push 0x6d8f78
push ebp
call fcn.00602d80
fmul dword [ebx]
add esp, 8
fstp dword [edi + 0x14]
fldz
fstp dword [esp]
push 0x6d8f74
push ebp
call fcn.00602d80
fmul dword [ebx]
add esp, 8
fstp dword [edi + 0x18]
fld1
fstp dword [esp]
push str.scaleX
push ebp
call fcn.00602d80
fstp dword [edi + 0x1c]
fld1
add esp, 8
fstp dword [esp]
push str.scaleY
push ebp
call fcn.00602d80
fstp dword [edi + 0x20]
fldz
add esp, 8
fstp dword [esp]
push str.rotation
push ebp
call fcn.00602d80
fstp dword [edi + 0x24]
fld dword [0x6dd530]
add esp, 8
fstp dword [esp]
push str.width
push ebp
call fcn.00602d80
fmul dword [ebx]
add esp, 8
fstp dword [edi + 0x28]
fld dword [0x6dd530]
fstp dword [esp]
push str.height
push ebp
call fcn.00602d80
fmul dword [ebx]
push 0
push str.color
push ebp
fstp dword [edi + 0x2c]
call fcn.00602d60
mov esi, eax
add esp, 0x18
test esi, esi
je 0x60aa1b
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x60a861
sub eax, edx
cmp eax, 8
je 0x60a879
movss xmm0, dword [0x6db554]
jmp 0x60a8c6
mov cl, byte [esi]
mov dl, byte [esi + 1]
push 0x10
lea eax, [esp + 0x50]
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 + 0x58]
add esp, 0xc
cmp byte [edx], 0
je 0x60a8b2
movss xmm0, dword [0x6db554]
jmp 0x60a8c6
cvtsi2ss xmm0, eax
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x6d98f8]
cvtsd2ss xmm0, xmm0
mov eax, esi
movss dword [edi + 0x30], xmm0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x60a8d0
sub eax, edx
cmp eax, 8
je 0x60a8e8
movss xmm0, dword [0x6db554]
jmp 0x60a936
mov al, byte [esi + 2]
mov cl, byte [esi + 3]
push 0x10
lea edx, [esp + 0x54]
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 + 0x5c]
add esp, 0xc
cmp byte [ecx], 0
je 0x60a922
movss xmm0, dword [0x6db554]
jmp 0x60a936
cvtsi2ss xmm0, eax
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x6d98f8]
cvtsd2ss xmm0, xmm0
mov eax, esi
movss dword [edi + 0x34], xmm0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x60a940
sub eax, edx
cmp eax, 8
je 0x60a958
movss xmm0, dword [0x6db554]
jmp 0x60a9a6
mov dl, byte [esi + 4]
mov al, byte [esi + 5]
push 0x10
lea ecx, [esp + 0x58]
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 + 0x60]
add esp, 0xc
cmp byte [ecx], 0
je 0x60a992
movss xmm0, dword [0x6db554]
jmp 0x60a9a6
cvtsi2ss xmm0, eax
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x6d98f8]
cvtsd2ss xmm0, xmm0
mov eax, esi
movss dword [edi + 0x38], xmm0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x60a9b0
sub eax, edx
cmp eax, 8
je 0x60a9c8
movss xmm0, dword [0x6db554]
jmp 0x60aa16
mov dl, byte [esi + 6]
mov al, byte [esi + 7]
push 0x10
lea ecx, [esp + 0x5c]
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 + 0x64]
add esp, 0xc
cmp byte [ecx], 0
je 0x60aa02
movss xmm0, dword [0x6db554]
jmp 0x60aa16
cvtsi2ss xmm0, eax
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x6d98f8]
cvtsd2ss xmm0, xmm0
movss dword [edi + 0x3c], xmm0
push edi
call fcn.00605300
mov edx, dword [ebx + 4]
push edi
push edx
call fcn.006003b0
add esp, 0xc
jmp case.default.0x60a75a
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x60aa38
sub eax, edx
push 0x395
inc eax
push str.._spine_c_src_spineSkeletonJson.c
push eax
call fcn.00601850
add esp, 0xc
mov dword [edi + 0x54], eax
mov ecx, eax
lea ebx, [ebx]
mov al, byte [esi]
mov byte [ecx], al
inc esi
inc ecx
test al, al
jne 0x60aa60
push 0
push str.color
push ebp
call fcn.00602d60
mov esi, eax
add esp, 0xc
test esi, esi
je 0x60ac41
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x60aa87
sub eax, edx
cmp eax, 8
je 0x60aa9f
movss xmm0, dword [0x6db554]
jmp 0x60aaec
mov al, byte [esi]
mov cl, byte [esi + 1]
push 0x10
lea edx, [esp + 0x60]
mov byte [esp + 0x24], al
push edx
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0x2d], cl
mov byte [esp + 0x2e], 0
call fcn.006998cd
mov ecx, dword [esp + 0x68]
add esp, 0xc
cmp byte [ecx], 0
je 0x60aad8
movss xmm0, dword [0x6db554]
jmp 0x60aaec
cvtsi2ss xmm0, eax
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x6d98f8]
cvtsd2ss xmm0, xmm0
mov eax, esi
movss dword [edi + 0x68], xmm0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x60aaf6
sub eax, edx
cmp eax, 8
je 0x60ab0e
movss xmm0, dword [0x6db554]
jmp 0x60ab5c
mov dl, byte [esi + 2]
mov al, byte [esi + 3]
push 0x10
lea ecx, [esp + 0x64]
mov byte [esp + 0x28], dl
push ecx
lea edx, [esp + 0x2c]
push edx
mov byte [esp + 0x31], al
mov byte [esp + 0x32], 0
call fcn.006998cd
mov ecx, dword [esp + 0x6c]
add esp, 0xc
cmp byte [ecx], 0
je 0x60ab48
movss xmm0, dword [0x6db554]
jmp 0x60ab5c
cvtsi2ss xmm0, eax
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x6d98f8]
cvtsd2ss xmm0, xmm0
mov eax, esi
movss dword [edi + 0x6c], xmm0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x60ab66
sub eax, edx
cmp eax, 8
je 0x60ab7e
movss xmm0, dword [0x6db554]
jmp 0x60abcc
mov dl, byte [esi + 4]
mov al, byte [esi + 5]
push 0x10
lea ecx, [esp + 0x68]
mov byte [esp + 0x2c], dl
push ecx
lea edx, [esp + 0x30]
push edx
mov byte [esp + 0x35], al
mov byte [esp + 0x36], 0
call fcn.006998cd
mov ecx, dword [esp + 0x70]
add esp, 0xc
cmp byte [ecx], 0
je 0x60abb8
movss xmm0, dword [0x6db554]
jmp 0x60abcc
cvtsi2ss xmm0, eax
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x6d98f8]
cvtsd2ss xmm0, xmm0
mov eax, esi
movss dword [edi + 0x70], xmm0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x60abd6
sub eax, edx
cmp eax, 8
je 0x60abee
movss xmm0, dword [0x6db554]
jmp 0x60ac3c
mov dl, byte [esi + 6]
mov al, byte [esi + 7]
push 0x10
lea ecx, [esp + 0x6c]
mov byte [esp + 0x30], dl
push ecx
lea edx, [esp + 0x34]
push edx
mov byte [esp + 0x39], al
mov byte [esp + 0x3a], 0
call fcn.006998cd
mov ecx, dword [esp + 0x74]
add esp, 0xc
cmp byte [ecx], 0
je 0x60ac28
movss xmm0, dword [0x6db554]
jmp 0x60ac3c
cvtsi2ss xmm0, eax
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x6d98f8]
cvtsd2ss xmm0, xmm0
movss dword [edi + 0x74], xmm0
fld dword [0x6dd530]
push ecx
fstp dword [esp]
push str.width
push ebp
call fcn.00602d80
fmul dword [ebx]
add esp, 8
fstp dword [edi + 0x8c]
fld dword [0x6dd530]
fstp dword [esp]
push str.height
push ebp
call fcn.00602d80
fmul dword [ebx]
push str.parent
push ebp
fstp dword [edi + 0x90]
call fcn.00602d20
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x60adcb
push str.triangles
push ebp
call fcn.00602d20
mov esi, eax
mov edx, dword [esi + 0xc]
mov dword [edi + 0x60], edx
mov eax, dword [esi + 0xc]
push 0x3a7
add eax, eax
push str.._spine_c_src_spineSkeletonJson.c
push eax
call fcn.00601850
mov dword [edi + 0x64], eax
mov eax, dword [esi + 4]
add esp, 0x14
test eax, eax
je 0x60ace4
xor ecx, ecx
lea esp, [esp]
mov si, word [eax + 0x14]
mov edx, dword [edi + 0x64]
mov word [ecx + edx], si
mov eax, dword [eax]
add ecx, 2
test eax, eax
jne 0x60acd0
push 0x77a53c
push ebp
call fcn.00602d20
mov esi, eax
mov ebx, dword [esi + 0xc]
push 0x3ad
lea eax, [ebx*4]
push str.._spine_c_src_spineSkeletonJson.c
push eax
call fcn.00601850
mov dword [edi + 0x58], eax
mov eax, dword [esi + 4]
add esp, 0x14
test eax, eax
je 0x60ad32
xor ecx, ecx
lea ebx, [ebx]
fld dword [eax + 0x18]
mov edx, dword [edi + 0x58]
fstp dword [ecx + edx]
mov eax, dword [eax]
add ecx, 4
test eax, eax
jne 0x60ad20
mov eax, dword [esp + 0x74]
push ebx
push eax
mov esi, edi
mov ecx, ebp
call fcn.006094f0
push edi
call fcn.00603230
push 0
push str.hull
push ebp
call fcn.00602dc0
push str.edges
push ebp
mov dword [edi + 0x78], eax
call fcn.00602d20
mov esi, eax
add esp, 0x20
test esi, esi
je 0x60adb5
mov ecx, dword [esi + 0xc]
mov dword [edi + 0x84], ecx
mov edx, dword [esi + 0xc]
push 0x3ba
add edx, edx
add edx, edx
push str.._spine_c_src_spineSkeletonJson.c
push edx
call fcn.00601850
mov dword [edi + 0x88], eax
mov eax, dword [esi + 4]
add esp, 0xc
test eax, eax
je 0x60adb5
xor ecx, ecx
lea ecx, [ecx]
mov esi, dword [eax + 0x14]
mov edx, dword [edi + 0x88]
mov dword [ecx + edx], esi
mov eax, dword [eax]
add ecx, 4
test eax, eax
jne 0x60ada0
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 4]
push edi
push ecx
call fcn.006003b0
add esp, 8
jmp case.default.0x60a75a
push 1
push str.deform
push ebp
call fcn.00602dc0
add esp, 0xc
mov dword [edi + 0x80], eax
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x40]
push edx
push eax
push 0
push str.skin
push ebp
call fcn.00602d60
add esp, 0xc
push eax
push edi
mov esi, ebx
call fcn.00607e40
add esp, 0x10
jmp case.default.0x60a75a
push 0
push str.vertexCount
push ebp
call fcn.00602dc0
mov ecx, dword [esp + 0x80]
mov ebx, eax
add ebx, ebx
push ebx
push ecx
mov esi, edi
mov ecx, ebp
call fcn.006094f0
mov edx, dword [esp + 0x88]
mov dword [edi + 0x18], ebx
mov eax, dword [edx + 4]
push edi
push eax
call fcn.006003b0
add esp, 0x1c
jmp case.default.0x60a75a
push 0
push str.closed
push ebp
call fcn.00602dc0
push 1
push str.constantSpeed
push ebp
mov dword [edi + 0x2c], eax
call fcn.00602dc0
push 0
push str.vertexCount
push ebp
mov dword [edi + 0x30], eax
call fcn.00602dc0
mov edx, dword [esp + 0x98]
mov ebx, eax
lea ecx, [ebx + ebx]
push ecx
push edx
mov esi, edi
mov ecx, ebp
call fcn.006094f0
mov eax, 0x55555556
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x24], eax
push 0x3d9
add eax, eax
add eax, eax
push str.._spine_c_src_spineSkeletonJson.c
push eax
call fcn.00601850
push str.lengths
push ebp
mov dword [edi + 0x28], eax
call fcn.00602d20
mov eax, dword [eax + 4]
add esp, 0x40
test eax, eax
je case.default.0x60a75a
mov edx, dword [esp + 0x74]
xor ecx, ecx
movss xmm0, dword [eax + 0x18]
movss xmm1, dword [edx]
mov esi, dword [edi + 0x28]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [ecx + esi], xmm0
mov eax, dword [eax]
add ecx, 4
test eax, eax
jne 0x60aed1
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
push edi
push ecx
push edx
push eax
call fcn.0060b370
add esp, 0x10
mov ebp, dword [ebp]
test ebp, ebp
jne 0x60a5a4
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx]
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x60a580
mov esi, dword [esp + 0x48]
mov esi, dword [esi]
inc dword [esp + 0x38]
mov dword [esp + 0x48], esi
test esi, esi
jne 0x60a4b7
mov ecx, dword [esp + 0x74]
xor ebp, ebp
cmp dword [ecx + 0x10], ebp
jle 0x60aff7
xor edi, edi
mov ebx, ecx
mov esi, dword [ebx + 0x18]
mov eax, dword [esi + edi + 4]
add esi, edi
test eax, eax
jne 0x60af99
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0x28]
jmp 0x60afa7
mov ecx, dword [esp + 0x30]
push ecx
call fcn.006075d0
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x78]
push ebx
push str.Unknown_attachment_type:
push edx
push eax
call fcn.00607c30
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret
push eax
mov eax, dword [esp + 0x34]
push eax
call fcn.006078e0
add esp, 8
test eax, eax
je 0x60b14d
mov ecx, dword [esi]
mov edx, dword [esi + 8]
push ecx
push edx
push eax
call fcn.0060b3a0
add esp, 0xc
test eax, eax
je 0x60b175
push eax
mov eax, dword [esi + 0xc]
push eax
call fcn.006033b0
mov ecx, dword [esi + 0xc]
push ecx
call fcn.00603230
mov edx, dword [esi + 0xc]
mov eax, dword [ebx + 4]
push edx
push eax
call fcn.006003b0
inc ebp
add esp, 0x14
add edi, 0x10
cmp ebp, dword [ebx + 0x10]
jl 0x60af57
mov edx, dword [esp + 0x34]
push str.events
push edx
call fcn.00602d20
mov esi, eax
add esp, 8
test esi, esi
je 0x60b0d6
mov eax, dword [esi + 0xc]
mov edi, dword [esp + 0x30]
mov dword [edi + 0x2c], eax
mov ecx, dword [esi + 0xc]
push 0x404
add ecx, ecx
add ecx, ecx
push str.._spine_c_src_spineSkeletonJson.c
push ecx
call fcn.00601850
mov dword [edi + 0x30], eax
mov esi, dword [esi + 4]
add esp, 0xc
test esi, esi
je 0x60b0d6
xor ebx, ebx
mov edx, dword [esi + 0x1c]
push edx
call fcn.006017d0
push 0
push 0x77a33c
push esi
mov ebp, eax
call fcn.00602dc0
fldz
add esp, 0xc
fstp dword [esp]
push str.float
push esi
mov dword [ebp + 4], eax
call fcn.00602d80
fstp dword [ebp + 8]
push 0
push str.string
push esi
call fcn.00602d60
add esp, 0x18
test eax, eax
je 0x60b0bf
mov ecx, eax
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x60b091
sub ecx, edi
push 0x40a
inc ecx
push str.._spine_c_src_spineSkeletonJson.c
push ecx
mov edi, eax
call fcn.00601850
add esp, 0xc
mov dword [ebp + 0xc], eax
mov ecx, eax
mov al, byte [edi]
mov byte [ecx], al
inc edi
inc ecx
test al, al
jne 0x60b0b5
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x30]
mov dword [ebx + ecx], ebp
mov esi, dword [esi]
add ebx, 4
test esi, esi
jne 0x60b047
mov edx, dword [esp + 0x34]
push str.animations
push edx
call fcn.00602d20
mov esi, eax
add esp, 8
test esi, esi
je 0x60b1af
mov eax, dword [esi + 0xc]
push 0x413
add eax, eax
add eax, eax
push str.._spine_c_src_spineSkeletonJson.c
push eax
call fcn.00601850
mov edi, dword [esp + 0x3c]
mov dword [edi + 0x38], eax
mov esi, dword [esi + 4]
add esp, 0xc
test esi, esi
je 0x60b1b3
mov ebx, dword [esp + 0x74]
mov ebp, 1
push edi
push esi
push ebx
call fcn.00607ec0
add esp, 0xc
test eax, eax
je 0x60b19c
mov ecx, dword [edi + 0x34]
mov edx, dword [edi + 0x38]
mov dword [edx + ecx*4], eax
add dword [edi + 0x34], ebp
mov esi, dword [esi]
test esi, esi
jne 0x60b127
jmp 0x60b1b3
mov ecx, dword [esp + 0x30]
push ecx
call fcn.006075d0
mov edx, dword [esi + 4]
push edx
push str.Skin_not_found:
push 0
push ebx
call fcn.00607c30
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret
mov eax, dword [esp + 0x30]
push eax
call fcn.006075d0
mov ecx, dword [esi]
push ecx
push str.Parent_mesh_not_found:
push 0
push ebx
call fcn.00607c30
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret
push edi
call fcn.006075d0
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
push eax
call fcn.006028d0
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret