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

Disassembly:
sub esp, 0x7c
push ebx
mov ebx, dword [esp + 0x84]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x24]
movss xmm0, dword [ebx + 0x10]
push ebp
push esi
mov esi, dword [esp + 0x94]
push edi
lea edi, [esi + esi*2 + 2]
mov dword [esp + 0x28], eax
movss dword [esp + 0x14], xmm0
mov dword [esp + 0x30], ecx
cmp dword [ebx + 0x28], edi
je 0x60394a
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x603927
push eax
call fcn.006018c0
add esp, 4
push 0xdb
lea edx, [esi + esi*2]
lea eax, [edx*4 + 8]
push str.._spine_c_src_spinePathConstraint.c
push eax
call fcn.00601850
add esp, 0xc
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x28], edi
mov ecx, dword [ebx + 0x2c]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x94]
mov edi, dword [ecx + 0x20]
mov ebp, dword [ecx + 0x2c]
mov eax, 0x2aaaaaab
imul edi
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ecx + 0x30], 0
mov dword [esp + 0x68], ebp
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x24], 0xffffffff
jne 0x603daa
mov ecx, dword [ecx + 0x28]
neg ebp
sbb ebp, ebp
add ebp, 2
sub eax, ebp
cmp dword [esp + 0xa0], 0
movss xmm1, dword [ecx + eax*4]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x3c], eax
movss dword [esp + 0x10], xmm1
je 0x6039cd
cvtss2sd xmm2, dword [esp + 0x14]
cvtps2pd xmm0, xmm1
mulsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x14], xmm0
cmp dword [esp + 0xa4], 0
je 0x603a8e
mov edi, dword [esp + 0x30]
xor ecx, ecx
cmp esi, 4
jl 0x603a6a
lea edx, [esi - 4]
shr edx, 2
inc edx
lea eax, [edi + 8]
lea ecx, [edx*4]
jmp 0x603a00
movss xmm0, dword [eax - 8]
cvtps2pd xmm0, xmm0
cvtss2sd xmm2, xmm1
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [eax - 8], xmm0
movss xmm0, dword [eax - 4]
cvtps2pd xmm0, xmm0
cvtss2sd xmm2, xmm1
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [eax - 4], xmm0
movss xmm0, dword [eax]
cvtps2pd xmm0, xmm0
cvtss2sd xmm2, xmm1
mulsd xmm0, xmm2
movss xmm2, dword [eax + 4]
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
cvtss2sd xmm0, xmm1
cvtps2pd xmm2, xmm2
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [eax + 4], xmm0
add eax, 0x10
sub edx, 1
jne 0x603a00
cmp ecx, esi
jge 0x603a8e
mov edi, edi
movss xmm0, dword [edi + ecx*4]
cvtps2pd xmm0, xmm0
cvtss2sd xmm2, xmm1
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [edi + ecx*4], xmm0
inc ecx
cmp ecx, esi
jl 0x603a70
mov edi, 8
cmp dword [ebx + 0x30], edi
je 0x603ac8
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x603aa8
push eax
call fcn.006018c0
add esp, 4
push 0xed
push str.._spine_c_src_spinePathConstraint.c
push 0x20
call fcn.00601850
movss xmm1, dword [esp + 0x1c]
add esp, 0xc
mov dword [ebx + 0x34], eax
mov dword [ebx + 0x30], edi
mov ebx, dword [ebx + 0x34]
xor ebp, ebp
cmp esi, ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
jle 0x604a6f
mov esi, dword [esp + 0x94]
jmp 0x603af6
movss xmm1, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
movss xmm0, dword [edx + eax*4]
cvtss2sd xmm2, dword [esp + 0x14]
mov edi, dword [esp + 0x68]
movss dword [esp + 0x7c], xmm0
cvtps2pd xmm0, xmm0
addsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x14], xmm0
movaps xmm2, xmm0
test edi, edi
je 0x603bb2
fld dword [esp + 0x14]
fld dword [esp + 0x10]
call fcn.0069833a
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fldz
fcompi st(1)
fstp st(0)
jbe 0x603b65
movss xmm0, dword [esp + 0x18]
cvtss2sd xmm1, dword [esp + 0x10]
cvtps2pd xmm0, xmm0
addsd xmm0, xmm1
cvtpd2ps xmm2, xmm0
jmp 0x603b6b
movss xmm2, dword [esp + 0x18]
xor ebp, ebp
mov eax, dword [esp + 0x80]
movss xmm0, dword [eax + ebp*4]
cvtss2sd xmm1, xmm2
cvtps2pd xmm3, xmm0
comisd xmm1, xmm3
jbe 0x603b96
movss xmm0, dword [eax + ebp*4 + 4]
inc ebp
cvtps2pd xmm3, xmm0
comisd xmm1, xmm3
ja 0x603b86
cvtps2pd xmm0, xmm0
test ebp, ebp
jne 0x603c84
cvtss2sd xmm1, xmm2
divsd xmm1, xmm0
cvtsd2ss xmm0, xmm1
jmp 0x603ca4
xorps xmm3, xmm3
comiss xmm3, xmm0
jbe 0x603c06
mov eax, 0xfffffffe
cmp dword [esp + 0x24], eax
je 0x603bde
mov ecx, dword [esp + 0x28]
push 0
push ebx
push 4
push 2
push ecx
push esi
mov dword [esp + 0x3c], eax
call fcn.00603490
add esp, 0x18
fld dword [esp + 0x14]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x2c]
push ecx
xor eax, eax
fstp dword [esp]
mov ecx, ebx
call fcn.006035f0
mov esi, dword [esp + 0x98]
add esp, 4
jmp 0x603d83
cvtss2sd xmm3, xmm0
cvtss2sd xmm4, xmm1
comisd xmm3, xmm4
jbe 0x603b6d
mov eax, 0xfffffffd
cmp dword [esp + 0x24], eax
je 0x603c4e
mov edx, dword [esp + 0x40]
push 0
push ebx
push 4
add edx, 0xfffffffa
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
push edx
push eax
push esi
call fcn.00603490
movss xmm1, dword [esp + 0x28]
movss xmm0, dword [esp + 0x2c]
add esp, 0x18
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x2c]
cvtss2sd xmm0, xmm0
cvtss2sd xmm1, xmm1
push ecx
subsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
xor eax, eax
mov ecx, ebx
movss dword [esp], xmm0
call fcn.00603670
mov esi, dword [esp + 0x98]
add esp, 4
jmp 0x603d83
movss xmm1, dword [eax + ebp*4 - 4]
cvtps2pd xmm3, xmm1
cvtss2sd xmm2, xmm2
cvtps2pd xmm1, xmm1
subsd xmm0, xmm1
subsd xmm2, xmm3
divsd xmm2, xmm0
cvtsd2ss xmm0, xmm2
movss dword [esp + 0x18], xmm0
cmp ebp, dword [esp + 0x24]
je 0x603d05
mov dword [esp + 0x24], ebp
test edi, edi
je 0x603ce9
cmp ebp, dword [esp + 0x3c]
jne 0x603ce9
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x28]
push 0
push ebx
push 4
add ecx, 0xfffffffc
push ecx
push edi
push esi
call fcn.00603490
push 4
push ebx
push 4
push 0
push edi
push esi
call fcn.00603490
add esp, 0x30
jmp 0x603d05
mov ecx, dword [esp + 0x28]
push 0
push ebx
lea edx, [ebp + ebp*2]
push 8
lea eax, [edx + edx + 2]
push eax
push ecx
push esi
call fcn.00603490
add esp, 0x18
cmp dword [esp + 0x9c], 0
jne 0x603d2d
cmp dword [esp + 0x1c], 0
jle 0x603d29
movss xmm0, dword [esp + 0x7c]
ucomiss xmm0, dword [0x6d89a8]
lahf
test ah, 0x44
jnp 0x603d2d
xor eax, eax
jmp 0x603d32
mov eax, 1
mov edx, dword [esp + 0x20]
fld dword [ebx + 0x1c]
mov edi, dword [esp + 0x2c]
movss xmm0, dword [esp + 0x18]
push eax
push edx
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [ebx + 0x18]
fstp dword [esp + 0x18]
fld dword [ebx + 0x14]
fstp dword [esp + 0x14]
fld dword [ebx + 0x10]
fstp dword [esp + 0x10]
fld dword [ebx + 0xc]
fstp dword [esp + 0xc]
fld dword [ebx + 8]
fstp dword [esp + 8]
fld dword [ebx + 4]
fstp dword [esp + 4]
fld dword [ebx]
fstp dword [esp]
call fcn.006036f0
add esp, 0x28
mov eax, dword [esp + 0x1c]
add dword [esp + 0x20], 3
inc eax
cmp eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
jl 0x603af0
mov eax, dword [esp + 0x2c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret
test ebp, ebp
je 0x603e36
add edi, 2
mov dword [esp + 0x40], edi
cmp dword [ebx + 0x30], edi
je 0x603dee
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x603dce
push eax
call fcn.006018c0
add esp, 4
push 0x129
lea eax, [edi*4]
push str.._spine_c_src_spinePathConstraint.c
push eax
call fcn.00601850
add esp, 0xc
mov dword [ebx + 0x34], eax
mov dword [ebx + 0x30], edi
mov esi, dword [ebx + 0x34]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x94]
push 0
push esi
lea ebp, [edi - 4]
push ebp
push 2
push ecx
push edx
call fcn.00603490
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xac]
push ebp
push esi
push 2
push 0
push eax
push ecx
call fcn.00603490
fld dword [esi]
fstp dword [esi + edi*4 - 8]
add esp, 0x30
fld dword [esi + 4]
fstp dword [esi + edi*4 - 4]
jmp 0x603e95
sub edi, 4
dec eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edi
cmp dword [ebx + 0x30], edi
je 0x603e77
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x603e57
push eax
call fcn.006018c0
add esp, 4
push 0x136
lea edx, [edi*4]
push str.._spine_c_src_spinePathConstraint.c
push edx
call fcn.00601850
add esp, 0xc
mov dword [ebx + 0x34], eax
mov dword [ebx + 0x30], edi
mov esi, dword [ebx + 0x34]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x94]
push 0
push esi
push edi
push 2
push eax
push ecx
call fcn.00603490
add esp, 0x18
mov edi, dword [esp + 0x3c]
cmp dword [ebx + 0x38], edi
je 0x603ece
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x603eae
push eax
call fcn.006018c0
add esp, 4
push 0x140
lea edx, [edi*4]
push str.._spine_c_src_spinePathConstraint.c
push edx
call fcn.00601850
add esp, 0xc
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x38], edi
xorps xmm5, xmm5
mov eax, dword [ebx + 0x3c]
movss xmm3, dword [esi]
movss xmm4, dword [esi + 4]
movsd xmm0, qword [0x6d9dc0]
xor ecx, ecx
movaps xmm1, xmm5
mov dword [esp + 0x78], eax
movss dword [esp + 0x10], xmm1
movss dword [esp + 0x64], xmm3
movss dword [esp + 0x60], xmm4
movss dword [esp + 0x5c], xmm5
movss dword [esp + 0x38], xmm5
movss dword [esp + 0x58], xmm5
movss dword [esp + 0x48], xmm5
movss dword [esp + 0x34], xmm5
movss dword [esp + 0x28], xmm5
test edi, edi
jle 0x604292
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0x3c]
lea eax, [esi + 0x10]
jmp 0x603f40
movss xmm5, dword [eax - 8]
movss xmm6, dword [eax + 8]
movss xmm1, dword [eax - 4]
movss xmm2, dword [eax + 4]
movss dword [esp + 0x34], xmm6
movss xmm6, dword [eax + 0xc]
movss dword [esp + 0x28], xmm6
movss dword [esp + 0x38], xmm1
movss xmm1, dword [eax]
cvtps2pd xmm6, xmm3
cvtps2pd xmm7, xmm5
mulsd xmm7, xmm0
subsd xmm6, xmm7
cvtps2pd xmm7, xmm1
addsd xmm6, xmm7
mulsd xmm6, qword [0x77a148]
cvtss2sd xmm7, dword [esp + 0x38]
mulsd xmm7, xmm0
cvtpd2ps xmm6, xmm6
movss dword [esp + 0x3c], xmm6
cvtps2pd xmm6, xmm4
subsd xmm6, xmm7
cvtps2pd xmm7, xmm2
addsd xmm6, xmm7
mulsd xmm6, qword [0x77a148]
cvtpd2ps xmm6, xmm6
movss dword [esp + 0x44], xmm6
movsd xmm6, qword [0x77a140]
movss dword [esp + 0x58], xmm1
cvtps2pd xmm1, xmm1
cvtps2pd xmm7, xmm5
subsd xmm7, xmm1
mulsd xmm7, qword [0x6db4a8]
cvtps2pd xmm1, xmm3
subsd xmm7, xmm1
cvtss2sd xmm1, dword [esp + 0x34]
addsd xmm7, xmm1
mulsd xmm7, xmm6
cvtsd2ss xmm1, xmm7
cvtss2sd xmm7, dword [esp + 0x38]
movss dword [esp + 0x48], xmm2
cvtps2pd xmm2, xmm2
subsd xmm7, xmm2
mulsd xmm7, qword [0x6db4a8]
cvtps2pd xmm2, xmm4
subsd xmm7, xmm2
cvtss2sd xmm2, dword [esp + 0x28]
addsd xmm7, xmm2
mulsd xmm7, xmm6
cvtss2sd xmm6, dword [esp + 0x3c]
cvtsd2ss xmm2, xmm7
mulsd xmm6, xmm0
cvtss2sd xmm7, xmm1
addsd xmm6, xmm7
cvtpd2ps xmm6, xmm6
movss dword [esp + 0x20], xmm6
cvtss2sd xmm6, dword [esp + 0x44]
cvtps2pd xmm3, xmm3
mulsd xmm6, xmm0
cvtss2sd xmm7, xmm2
addsd xmm6, xmm7
cvtps2pd xmm7, xmm5
subsd xmm7, xmm3
mulsd xmm7, qword [0x77a138]
cvtss2sd xmm3, dword [esp + 0x3c]
addsd xmm7, xmm3
movss dword [esp + 0x5c], xmm5
movsd xmm5, qword [0x6dd510]
cvtss2sd xmm3, xmm1
mulsd xmm3, xmm5
addsd xmm7, xmm3
cvtsd2ss xmm3, xmm7
cvtss2sd xmm7, dword [esp + 0x38]
cvtps2pd xmm4, xmm4
subsd xmm7, xmm4
cvtss2sd xmm4, dword [esp + 0x44]
mulsd xmm7, qword [0x77a138]
addsd xmm7, xmm4
cvtss2sd xmm4, xmm2
cvtpd2ps xmm6, xmm6
mulsd xmm4, xmm5
addsd xmm7, xmm4
cvtsd2ss xmm4, xmm7
movss dword [esp + 0x80], xmm4
cvtss2sd xmm4, xmm4
cvtss2sd xmm5, xmm3
movapd xmm7, xmm5
mulsd xmm7, xmm5
movapd xmm5, xmm4
mulsd xmm5, xmm4
addsd xmm7, xmm5
cvtss2sd xmm5, dword [esp + 0x10]
sqrtsd xmm4, xmm7
cvtpd2ps xmm4, xmm4
cvtss2sd xmm4, xmm4
addsd xmm4, xmm5
movss xmm5, dword [esp + 0x20]
cvtss2sd xmm7, xmm6
cvtpd2ps xmm4, xmm4
movss dword [esp + 0x10], xmm4
cvtps2pd xmm4, xmm5
cvtps2pd xmm5, xmm5
cvtss2sd xmm3, xmm3
addsd xmm3, xmm4
cvtss2sd xmm4, dword [esp + 0x80]
addsd xmm4, xmm7
cvtss2sd xmm7, xmm1
addsd xmm5, xmm7
cvtpd2ps xmm5, xmm5
movss dword [esp + 0x20], xmm5
cvtss2sd xmm5, xmm6
cvtpd2ps xmm3, xmm3
cvtss2sd xmm6, xmm2
addsd xmm5, xmm6
cvtpd2ps xmm5, xmm5
movss dword [esp + 0x54], xmm5
cvtss2sd xmm6, xmm3
movapd xmm7, xmm6
mulsd xmm7, xmm6
cvtpd2ps xmm4, xmm4
cvtss2sd xmm5, xmm4
movapd xmm6, xmm5
mulsd xmm6, xmm5
addsd xmm7, xmm6
cvtss2sd xmm6, dword [esp + 0x10]
sqrtsd xmm5, xmm7
cvtpd2ps xmm5, xmm5
cvtss2sd xmm5, xmm5
addsd xmm5, xmm6
cvtpd2ps xmm5, xmm5
movss dword [esp + 0x10], xmm5
cvtss2sd xmm5, dword [esp + 0x20]
cvtss2sd xmm3, xmm3
addsd xmm3, xmm5
cvtss2sd xmm5, dword [esp + 0x54]
cvtpd2ps xmm3, xmm3
cvtss2sd xmm6, xmm3
movapd xmm7, xmm6
mulsd xmm7, xmm6
cvtss2sd xmm4, xmm4
addsd xmm4, xmm5
cvtpd2ps xmm4, xmm4
cvtss2sd xmm5, xmm4
movapd xmm6, xmm5
mulsd xmm6, xmm5
addsd xmm7, xmm6
cvtss2sd xmm6, dword [esp + 0x10]
sqrtsd xmm5, xmm7
cvtpd2ps xmm5, xmm5
cvtss2sd xmm5, xmm5
addsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x20]
cvtss2sd xmm1, xmm1
addsd xmm6, xmm1
cvtss2sd xmm1, xmm3
addsd xmm6, xmm1
cvtss2sd xmm1, dword [esp + 0x54]
cvtss2sd xmm2, xmm2
addsd xmm1, xmm2
cvtpd2ps xmm5, xmm5
cvtpd2ps xmm3, xmm6
cvtss2sd xmm2, xmm4
movss xmm4, dword [esp + 0x28]
addsd xmm1, xmm2
cvtpd2ps xmm1, xmm1
cvtss2sd xmm1, xmm1
cvtss2sd xmm2, xmm3
movapd xmm3, xmm2
mulsd xmm3, xmm2
movapd xmm2, xmm1
mulsd xmm2, xmm1
addsd xmm3, xmm2
sqrtsd xmm1, xmm3
movss xmm3, dword [esp + 0x34]
cvtpd2ps xmm1, xmm1
cvtss2sd xmm1, xmm1
cvtss2sd xmm2, xmm5
addsd xmm1, xmm2
cvtpd2ps xmm1, xmm1
movss dword [edx + ecx*4], xmm1
inc ecx
add eax, 0x18
cmp ecx, edi
movss dword [esp + 0x10], xmm1
jl 0x603f40
xorps xmm5, xmm5
movss dword [esp + 0x60], xmm4
movss dword [esp + 0x64], xmm3
xor eax, eax
cmp dword [esp + 0xa0], eax
je 0x6042b5
cvtss2sd xmm3, dword [esp + 0x14]
cvtss2sd xmm2, xmm1
mulsd xmm2, xmm3
cvtsd2ss xmm2, xmm2
movss dword [esp + 0x14], xmm2
mov edi, dword [esp + 0x98]
cmp dword [esp + 0xa4], eax
je 0x604380
mov ebp, dword [esp + 0x30]
xor ecx, ecx
cmp edi, 4
jl 0x60435c
lea edx, [edi - 4]
shr edx, 2
inc edx
lea eax, [ebp + 8]
lea ecx, [edx*4]
lea esp, [esp]
movss xmm3, dword [eax - 8]
cvtps2pd xmm3, xmm3
cvtss2sd xmm2, xmm1
mulsd xmm2, xmm3
cvtsd2ss xmm2, xmm2
movss dword [eax - 8], xmm2
movss xmm2, dword [eax - 4]
cvtps2pd xmm2, xmm2
cvtss2sd xmm3, xmm1
mulsd xmm2, xmm3
movss xmm3, dword [eax]
cvtpd2ps xmm2, xmm2
movss dword [eax - 4], xmm2
cvtps2pd xmm3, xmm3
cvtss2sd xmm2, xmm1
mulsd xmm2, xmm3
cvtpd2ps xmm2, xmm2
movss dword [eax], xmm2
movss xmm2, dword [eax + 4]
cvtps2pd xmm2, xmm2
cvtss2sd xmm3, xmm1
mulsd xmm2, xmm3
cvtpd2ps xmm2, xmm2
movss dword [eax + 4], xmm2
add eax, 0x10
sub edx, 1
jne 0x6042f0
xor eax, eax
cmp ecx, edi
jge 0x604380
movss xmm2, dword [ebp + ecx*4]
cvtps2pd xmm2, xmm2
cvtss2sd xmm3, xmm1
mulsd xmm2, xmm3
cvtpd2ps xmm2, xmm2
movss dword [ebp + ecx*4], xmm2
inc ecx
cmp ecx, edi
jl 0x604360
xor ebp, ebp
cmp edi, eax
movss dword [esp + 0x80], xmm5
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x54], eax
jle 0x604a6f
mov ecx, dword [esp + 0x2c]
add ecx, 8
mov dword [esp + 0x50], ecx
mov edi, ecx
jmp 0x6043c1
movss xmm1, dword [esp + 0x10]
movsd xmm0, qword [0x6d9dc0]
xorps xmm5, xmm5
cmp dword [esp + 0x68], 0
fld dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
movss xmm2, dword [edx + eax*4]
cvtss2sd xmm3, dword [esp + 0x14]
movss dword [esp + 0x88], xmm2
cvtps2pd xmm2, xmm2
addsd xmm2, xmm3
cvtpd2ps xmm2, xmm2
movss dword [esp + 0x14], xmm2
movaps xmm3, xmm2
je 0x604448
fld dword [esp + 0x14]
fxch st(1)
call fcn.0069833a
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fldz
fcompi st(1)
fstp st(0)
jbe 0x604430
movss xmm0, dword [esp + 0x18]
cvtss2sd xmm1, dword [esp + 0x10]
cvtps2pd xmm0, xmm0
addsd xmm0, xmm1
cvtpd2ps xmm3, xmm0
jmp 0x604436
movss xmm3, dword [esp + 0x18]
movsd xmm0, qword [0x6d9dc0]
xorps xmm5, xmm5
xor ebp, ebp
jmp 0x60456e
comiss xmm5, xmm2
jbe 0x6044c6
fstp st(0)
fld dword [esi]
fstp dword [esp + 0x6c]
fld dword [esi + 4]
fstp dword [esp + 0x70]
fld dword [esi + 0xc]
fsub dword [esp + 0x70]
fstp dword [esp + 0x74]
fld dword [esp + 0x74]
fld dword [esi + 8]
fsub dword [esp + 0x6c]
fstp dword [esp + 0x74]
fld dword [esp + 0x74]
call fcn.0069842a
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
call fcn.00697710
fstp dword [esp + 0x74]
fld dword [esp + 0x74]
fmul dword [esp + 0x14]
fadd dword [esp + 0x6c]
fstp dword [edi - 8]
fld dword [esp + 0x50]
call fcn.00697840
fstp dword [esp + 0x74]
fld dword [esp + 0x74]
fmul dword [esp + 0x14]
fadd dword [esp + 0x70]
fstp dword [edi - 4]
fld dword [esp + 0x50]
fstp dword [edi]
jmp 0x604a4d
cvtss2sd xmm2, xmm2
cvtss2sd xmm1, xmm1
comisd xmm2, xmm1
jbe 0x60456c
fsubr dword [esp + 0x14]
mov eax, dword [esp + 0x40]
fstp dword [esp + 0x6c]
fld dword [esi + eax*4 - 8]
fstp dword [esp + 0x70]
fld dword [esi + eax*4 - 4]
fstp dword [esp + 0x74]
fld dword [esp + 0x74]
fsub dword [esi + eax*4 - 0xc]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fld dword [esp + 0x70]
fsub dword [esi + eax*4 - 0x10]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
call fcn.0069842a
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
call fcn.00697710
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fmul dword [esp + 0x6c]
fadd dword [esp + 0x70]
fstp dword [edi - 8]
fld dword [esp + 0x50]
call fcn.00697840
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fmul dword [esp + 0x6c]
fadd dword [esp + 0x74]
fstp dword [edi - 4]
fld dword [esp + 0x50]
fstp dword [edi]
jmp 0x604a4d
fstp st(0)
mov eax, dword [esp + 0x78]
movss xmm1, dword [eax + ebp*4]
cvtss2sd xmm2, xmm3
cvtps2pd xmm4, xmm1
comisd xmm2, xmm4
jbe 0x604594
movss xmm1, dword [eax + ebp*4 + 4]
inc ebp
cvtps2pd xmm4, xmm1
comisd xmm2, xmm4
ja 0x604584
cvtps2pd xmm1, xmm1
test ebp, ebp
jne 0x6045a9
cvtss2sd xmm2, xmm3
divsd xmm2, xmm1
cvtsd2ss xmm1, xmm2
jmp 0x6045c9
movss xmm2, dword [eax + ebp*4 - 4]
cvtps2pd xmm4, xmm2
cvtss2sd xmm3, xmm3
cvtps2pd xmm2, xmm2
subsd xmm1, xmm2
subsd xmm3, xmm4
divsd xmm3, xmm1
cvtsd2ss xmm1, xmm3
movss dword [esp + 0x18], xmm1
cmp ebp, dword [esp + 0x24]
je 0x604928
lea eax, [ebp + ebp*2]
add eax, eax
movss xmm4, dword [esi + eax*4 + 0x14]
movss xmm5, dword [esi + eax*4 + 8]
movss xmm1, dword [esi + eax*4]
movss xmm3, dword [esi + eax*4 + 0x10]
movss dword [esp + 0x48], xmm4
movss xmm4, dword [esi + eax*4 + 0x18]
movss xmm6, dword [esi + eax*4 + 0xc]
movss xmm2, dword [esi + eax*4 + 4]
movss dword [esp + 0x34], xmm4
movss xmm4, dword [esi + eax*4 + 0x1c]
movss dword [esp + 0x28], xmm4
cvtps2pd xmm7, xmm5
mulsd xmm7, xmm0
cvtps2pd xmm4, xmm1
subsd xmm4, xmm7
cvtps2pd xmm7, xmm3
addsd xmm4, xmm7
mulsd xmm4, qword [0x779b40]
cvtpd2ps xmm4, xmm4
movss dword [esp + 0x3c], xmm4
movss dword [esp + 0x58], xmm3
cvtps2pd xmm3, xmm3
cvtps2pd xmm7, xmm6
mulsd xmm7, xmm0
cvtps2pd xmm4, xmm2
subsd xmm4, xmm7
cvtss2sd xmm7, dword [esp + 0x48]
addsd xmm4, xmm7
mulsd xmm4, qword [0x779b40]
cvtpd2ps xmm4, xmm4
movss dword [esp + 0x44], xmm4
cvtps2pd xmm4, xmm5
subsd xmm4, xmm3
mulsd xmm4, qword [0x6db4a8]
cvtps2pd xmm3, xmm1
subsd xmm4, xmm3
cvtss2sd xmm3, dword [esp + 0x34]
addsd xmm4, xmm3
mulsd xmm4, qword [0x779b38]
cvtpd2ps xmm7, xmm4
cvtss2sd xmm4, dword [esp + 0x48]
cvtps2pd xmm3, xmm6
subsd xmm3, xmm4
mulsd xmm3, qword [0x6db4a8]
cvtps2pd xmm4, xmm2
subsd xmm3, xmm4
cvtss2sd xmm4, dword [esp + 0x28]
addsd xmm3, xmm4
mulsd xmm3, qword [0x779b38]
cvtpd2ps xmm3, xmm3
movss dword [esp + 0x4c], xmm3
cvtss2sd xmm3, dword [esp + 0x3c]
mulsd xmm3, xmm0
cvtss2sd xmm4, xmm7
addsd xmm3, xmm4
cvtss2sd xmm4, dword [esp + 0x44]
mulsd xmm4, xmm0
cvtss2sd xmm0, dword [esp + 0x4c]
addsd xmm4, xmm0
movss dword [esp + 0x64], xmm1
cvtps2pd xmm0, xmm5
cvtps2pd xmm1, xmm1
subsd xmm0, xmm1
mulsd xmm0, qword [0x7678d8]
cvtss2sd xmm1, dword [esp + 0x3c]
movss dword [esp + 0x5c], xmm5
addsd xmm0, xmm1
movsd xmm1, qword [0x6dd510]
cvtss2sd xmm5, xmm7
mulsd xmm5, xmm1
addsd xmm0, xmm5
mov dword [esp + 0x24], ebp
movss dword [esp + 0x60], xmm2
movss dword [esp + 0x38], xmm6
movss dword [esp + 0x7c], xmm7
cvtpd2ps xmm3, xmm3
cvtpd2ps xmm4, xmm4
cvtsd2ss xmm0, xmm0
cvtps2pd xmm5, xmm6
cvtps2pd xmm2, xmm2
subsd xmm5, xmm2
mulsd xmm5, qword [0x7678d8]
cvtss2sd xmm2, dword [esp + 0x44]
addsd xmm5, xmm2
cvtss2sd xmm2, dword [esp + 0x4c]
mulsd xmm2, xmm1
addsd xmm5, xmm2
cvtpd2ps xmm1, xmm5
cvtss2sd xmm5, xmm0
movapd xmm6, xmm5
cvtss2sd xmm2, xmm1
mulsd xmm6, xmm5
movapd xmm5, xmm2
mulsd xmm5, xmm2
addsd xmm6, xmm5
sqrtsd xmm2, xmm6
cvtpd2ps xmm2, xmm2
movss dword [ebx + 0x48], xmm2
mov eax, 1
jmp 0x6047c6
movss xmm7, dword [esp + 0x7c]
cvtss2sd xmm5, xmm3
cvtss2sd xmm0, xmm0
addsd xmm0, xmm5
cvtss2sd xmm5, xmm4
cvtss2sd xmm1, xmm1
addsd xmm1, xmm5
cvtss2sd xmm5, xmm7
cvtss2sd xmm3, xmm3
addsd xmm3, xmm5
cvtss2sd xmm5, dword [esp + 0x4c]
cvtsd2ss xmm0, xmm0
cvtss2sd xmm6, xmm0
cvtss2sd xmm4, xmm4
addsd xmm4, xmm5
movapd xmm7, xmm6
mulsd xmm7, xmm6
cvtsd2ss xmm1, xmm1
cvtss2sd xmm5, xmm1
movapd xmm6, xmm5
mulsd xmm6, xmm5
addsd xmm7, xmm6
sqrtsd xmm5, xmm7
cvtsd2ss xmm5, xmm5
cvtss2sd xmm2, xmm2
cvtss2sd xmm5, xmm5
addsd xmm5, xmm2
cvtsd2ss xmm2, xmm5
movss dword [ebx + eax*4 + 0x48], xmm2
inc eax
cmp eax, 8
cvtsd2ss xmm3, xmm3
cvtsd2ss xmm4, xmm4
jl 0x6047c0
cvtss2sd xmm0, xmm0
cvtss2sd xmm5, xmm3
addsd xmm0, xmm5
cvtsd2ss xmm0, xmm0
cvtss2sd xmm6, xmm0
cvtss2sd xmm1, xmm1
cvtss2sd xmm5, xmm4
addsd xmm1, xmm5
cvtsd2ss xmm1, xmm1
cvtss2sd xmm5, xmm1
movapd xmm7, xmm6
mulsd xmm7, xmm6
movapd xmm6, xmm5
mulsd xmm6, xmm5
cvtss2sd xmm0, xmm0
addsd xmm7, xmm6
sqrtsd xmm5, xmm7
cvtsd2ss xmm5, xmm5
cvtss2sd xmm5, xmm5
cvtss2sd xmm3, xmm3
cvtss2sd xmm2, xmm2
addsd xmm5, xmm2
cvtsd2ss xmm2, xmm5
cvtss2sd xmm5, dword [esp + 0x7c]
addsd xmm3, xmm5
xorps xmm5, xmm5
addsd xmm3, xmm0
cvtss2sd xmm1, xmm1
cvtss2sd xmm0, xmm4
cvtss2sd xmm4, dword [esp + 0x4c]
addsd xmm0, xmm4
addsd xmm0, xmm1
cvtsd2ss xmm3, xmm3
cvtsd2ss xmm0, xmm0
cvtss2sd xmm0, xmm0
cvtss2sd xmm1, xmm3
movapd xmm3, xmm1
mulsd xmm3, xmm1
movapd xmm1, xmm0
mulsd xmm1, xmm0
addsd xmm3, xmm1
sqrtsd xmm0, xmm3
cvtsd2ss xmm0, xmm0
cvtss2sd xmm0, xmm0
cvtss2sd xmm1, xmm2
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [ebx + 0x68], xmm2
movss dword [esp + 0x80], xmm0
movss dword [ebx + 0x6c], xmm0
mov dword [esp + 0x54], 0
jmp 0x604931
movss xmm0, dword [esp + 0x80]
cvtss2sd xmm1, dword [esp + 0x18]
mov eax, dword [esp + 0x54]
cvtss2sd xmm0, xmm0
mulsd xmm0, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebx + eax*4 + 0x48]
cvtss2sd xmm2, xmm1
cvtps2pd xmm3, xmm0
comisd xmm2, xmm3
jbe 0x604974
lea ebx, [ebx]
movss xmm0, dword [ebx + eax*4 + 0x4c]
inc eax
cvtps2pd xmm3, xmm0
comisd xmm2, xmm3
ja 0x604960
mov dword [esp + 0x54], eax
cvtss2sd xmm1, xmm1
cvtps2pd xmm0, xmm0
test eax, eax
jne 0x604985
divsd xmm1, xmm0
jmp 0x6049a9
movss xmm2, dword [ebx + eax*4 + 0x44]
cvtps2pd xmm3, xmm2
subsd xmm1, xmm3
cvtps2pd xmm2, xmm2
subsd xmm0, xmm2
divsd xmm1, xmm0
cvtsi2ss xmm0, eax
cvtss2sd xmm0, xmm0
addsd xmm1, xmm0
cmp dword [esp + 0x9c], 0
cvtsd2ss xmm0, xmm1
jne 0x6049d4
cmp dword [esp + 0x1c], 0
jle 0x6049d0
movss xmm1, dword [esp + 0x88]
ucomiss xmm1, xmm5
lahf
test ah, 0x44
jnp 0x6049d4
xor eax, eax
jmp 0x6049d9
mov eax, 1
mov ecx, dword [esp + 0x20]
fld dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
push eax
push ecx
sub esp, 0x20
fstp dword [esp + 0x1c]
cvtss2sd xmm0, xmm0
fld dword [esp + 0x5c]
mulsd xmm0, qword [0x6dd3f8]
fstp dword [esp + 0x18]
cvtpd2ps xmm0, xmm0
fld dword [esp + 0x70]
fstp dword [esp + 0x14]
fld dword [esp + 0x80]
fstp dword [esp + 0x10]
fld dword [esp + 0x60]
fstp dword [esp + 0xc]
fld dword [esp + 0x84]
fstp dword [esp + 8]
fld dword [esp + 0x88]
fstp dword [esp + 4]
fld dword [esp + 0x8c]
fstp dword [esp]
call fcn.006036f0
mov edi, dword [esp + 0x78]
add esp, 0x28
mov eax, dword [esp + 0x1c]
add dword [esp + 0x20], 3
inc eax
add edi, 0xc
cmp eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x50], edi
jl 0x6043b0
mov eax, dword [esp + 0x2c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret