453615:	ff 35 fc 14 40 00    	push   0x4014fc
45361b:	ff 35 f8 14 40 00    	push   0x4014f8
453621:	e8 ce df fa ff       	call   0x4015f4
453626:	89 95 64 ff ff ff    	mov    %edx,-0x9c(%ebp)
45362c:	db 85 64 ff ff ff    	fildl  -0x9c(%ebp)
453632:	dd 9d 5c ff ff ff    	fstpl  -0xa4(%ebp)
453638:	dc 85 5c ff ff ff    	faddl  -0xa4(%ebp)
45363e:	de c1                	faddp  %st,%st(1)
453640:	df e0                	fnstsw %ax
453642:	a8 0d                	test   $0xd,%al
453644:	0f 85 64 05 00 00    	jne    0x453bae
45364a:	ff 15 c4 11 40 00    	call   *0x4011c4
453650:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
453653:	66 89 46 34          	mov    %ax,0x34(%esi)
453657:	ff d3                	call   *%ebx
453659:	8d 45 b4             	lea    -0x4c(%ebp),%eax
45365c:	c7 45 bc 04 00 02 80 	movl   $0x80020004,-0x44(%ebp)
453663:	50                   	push   %eax
453664:	c7 45 b4 0a 00 00 00 	movl   $0xa,-0x4c(%ebp)
45366b:	ff 15 c8 10 40 00    	call   *0x4010c8
453671:	d8 0d 00 15 40 00    	fmuls  0x401500
453677:	df e0                	fnstsw %ax
453679:	a8 0d                	test   $0xd,%al
45367b:	0f 85 2d 05 00 00    	jne    0x453bae
453681:	ff 15 f0 11 40 00    	call   *0x4011f0
453687:	d8 05 60 14 40 00    	fadds  0x401460
45368d:	df e0                	fnstsw %ax
45368f:	a8 0d                	test   $0xd,%al
453691:	0f 85 17 05 00 00    	jne    0x453bae
453697:	ff 15 c4 11 40 00    	call   *0x4011c4
45369d:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
4536a0:	66 89 46 36          	mov    %ax,0x36(%esi)
4536a4:	ff d3                	call   *%ebx
4536a6:	b8 01 00 00 00       	mov    $0x1,%eax
4536ab:	66 39 46 36          	cmp    %ax,0x36(%esi)
4536af:	7d 04                	jge    0x4536b5
4536b1:	66 89 46 36          	mov    %ax,0x36(%esi)
4536b5:	66 8b 4d e0          	mov    -0x20(%ebp),%cx
4536b9:	66 39 4d e8          	cmp    %cx,-0x18(%ebp)
4536bd:	0f 8c 16 03 00 00    	jl     0x4539d9
4536c3:	8d 55 88             	lea    -0x78(%ebp),%edx
4536c6:	c7 45 88 cd cc cc 3d 	movl   $0x3dcccccd,-0x78(%ebp)
4536cd:	52                   	push   %edx
4536ce:	e8 4d 33 ff ff       	call   0x446a20
4536d3:	66 8b 46 38          	mov    0x38(%esi),%ax
4536d7:	8b 0e                	mov    (%esi),%ecx
4536d9:	66 2b 46 34          	sub    0x34(%esi),%ax
4536dd:	56                   	push   %esi
4536de:	0f 80 cf 04 00 00    	jo     0x453bb3
4536e4:	66 89 46 38          	mov    %ax,0x38(%esi)
4536e8:	ff 91 34 03 00 00    	call   *0x334(%ecx)
4536ee:	8d 55 c4             	lea    -0x3c(%ebp),%edx
4536f1:	50                   	push   %eax
4536f2:	52                   	push   %edx
4536f3:	ff d7                	call   *%edi
4536f5:	8b 18                	mov    (%eax),%ebx
4536f7:	89 45 84             	mov    %eax,-0x7c(%ebp)
4536fa:	66 8b 46 38          	mov    0x38(%esi),%ax
4536fe:	50                   	push   %eax
4536ff:	ff 15 84 10 40 00    	call   *0x401084
453705:	8b d0                	mov    %eax,%edx
453707:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45370a:	ff 15 d8 11 40 00    	call   *0x4011d8
453710:	8b cb                	mov    %ebx,%ecx
453712:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
453715:	50                   	push   %eax
453716:	53                   	push   %ebx
453717:	ff 51 54             	call   *0x54(%ecx)
45371a:	85 c0                	test   %eax,%eax
45371c:	db e2                	fnclex
45371e:	7d 0f                	jge    0x45372f
453720:	6a 54                	push   $0x54
453722:	68 88 7b 40 00       	push   $0x407b88
453727:	53                   	push   %ebx
453728:	50                   	push   %eax
453729:	ff 15 bc 10 40 00    	call   *0x4010bc
45372f:	8d 4d c8             	lea    -0x38(%ebp),%ecx
453732:	ff 15 00 12 40 00    	call   *0x401200
453738:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45373b:	ff 15 fc 11 40 00    	call   *0x4011fc
453741:	8b 16                	mov    (%esi),%edx
453743:	56                   	push   %esi
453744:	ff 92 00 03 00 00    	call   *0x300(%edx)
45374a:	50                   	push   %eax
45374b:	8d 45 c4             	lea    -0x3c(%ebp),%eax
45374e:	50                   	push   %eax
45374f:	ff d7                	call   *%edi
453751:	8b d8                	mov    %eax,%ebx
453753:	6a ff                	push   $0xffffffff
453755:	53                   	push   %ebx
453756:	8b 0b                	mov    (%ebx),%ecx
453758:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
45375e:	85 c0                	test   %eax,%eax
453760:	db e2                	fnclex
453762:	7d 12                	jge    0x453776
453764:	68 8c 00 00 00       	push   $0x8c
453769:	68 fc 7d 40 00       	push   $0x407dfc
45376e:	53                   	push   %ebx
45376f:	50                   	push   %eax
453770:	ff 15 bc 10 40 00    	call   *0x4010bc
453776:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
453779:	ff 15 fc 11 40 00    	call   *0x4011fc
45377f:	8b 16                	mov    (%esi),%edx
453781:	56                   	push   %esi
453782:	ff 92 00 03 00 00    	call   *0x300(%edx)
453788:	50                   	push   %eax
453789:	8d 45 c4             	lea    -0x3c(%ebp),%eax
45378c:	50                   	push   %eax
45378d:	ff d7                	call   *%edi
45378f:	8b d8                	mov    %eax,%ebx
453791:	6a ff                	push   $0xffffffff
453793:	53                   	push   %ebx
453794:	8b 0b                	mov    (%ebx),%ecx
453796:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
45379c:	85 c0                	test   %eax,%eax
45379e:	db e2                	fnclex
4537a0:	7d 12                	jge    0x4537b4
4537a2:	68 8c 00 00 00       	push   $0x8c
4537a7:	68 fc 7d 40 00       	push   $0x407dfc
4537ac:	53                   	push   %ebx
4537ad:	50                   	push   %eax
4537ae:	ff 15 bc 10 40 00    	call   *0x4010bc
4537b4:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4537b7:	ff 15 fc 11 40 00    	call   *0x4011fc
4537bd:	83 ec 10             	sub    $0x10,%esp
4537c0:	b9 0b 00 00 00       	mov    $0xb,%ecx
4537c5:	8b d4                	mov    %esp,%edx
4537c7:	83 c8 ff             	or     $0xffffffff,%eax
4537ca:	68 ec 8c 40 00       	push   $0x408cec
4537cf:	89 0a                	mov    %ecx,(%edx)
4537d1:	8b 4d a8             	mov    -0x58(%ebp),%ecx
4537d4:	89 4a 04             	mov    %ecx,0x4(%edx)
4537d7:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4537da:	51                   	push   %ecx
4537db:	89 42 08             	mov    %eax,0x8(%edx)
4537de:	8b 45 b0             	mov    -0x50(%ebp),%eax
4537e1:	89 42 0c             	mov    %eax,0xc(%edx)
4537e4:	ff 15 24 11 40 00    	call   *0x401124
4537ea:	8b 16                	mov    (%esi),%edx
4537ec:	56                   	push   %esi
4537ed:	ff 92 04 03 00 00    	call   *0x304(%edx)
4537f3:	50                   	push   %eax
4537f4:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4537f7:	50                   	push   %eax
4537f8:	ff d7                	call   *%edi
4537fa:	8b d8                	mov    %eax,%ebx
4537fc:	6a ff                	push   $0xffffffff
4537fe:	53                   	push   %ebx
4537ff:	8b 0b                	mov    (%ebx),%ecx
453801:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
453807:	85 c0                	test   %eax,%eax
453809:	db e2                	fnclex
45380b:	7d 12                	jge    0x45381f
45380d:	68 8c 00 00 00       	push   $0x8c
453812:	68 fc 7d 40 00       	push   $0x407dfc
453817:	53                   	push   %ebx
453818:	50                   	push   %eax
453819:	ff 15 bc 10 40 00    	call   *0x4010bc
45381f:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
453822:	ff 15 fc 11 40 00    	call   *0x4011fc
453828:	66 83 7e 38 01       	cmpw   $0x1,0x38(%esi)
45382d:	0f 8d 27 03 00 00    	jge    0x453b5a
453833:	33 c0                	xor    %eax,%eax
453835:	66 a3 32 70 45 00    	mov    %ax,0x457032
45383b:	66 a3 36 70 45 00    	mov    %ax,0x457036
453841:	e8 7a 37 ff ff       	call   0x446fc0
453846:	8b 16                	mov    (%esi),%edx
453848:	56                   	push   %esi
453849:	ff 92 34 03 00 00    	call   *0x334(%edx)
45384f:	50                   	push   %eax
453850:	8d 45 c4             	lea    -0x3c(%ebp),%eax
453853:	50                   	push   %eax
453854:	ff d7                	call   *%edi
453856:	8b d8                	mov    %eax,%ebx
453858:	68 4c 75 40 00       	push   $0x40754c
45385d:	53                   	push   %ebx
45385e:	8b 0b                	mov    (%ebx),%ecx
453860:	ff 51 54             	call   *0x54(%ecx)
453863:	85 c0                	test   %eax,%eax
453865:	db e2                	fnclex
453867:	7d 0f                	jge    0x453878
453869:	6a 54                	push   $0x54
45386b:	68 88 7b 40 00       	push   $0x407b88
453870:	53                   	push   %ebx
453871:	50                   	push   %eax
453872:	ff 15 bc 10 40 00    	call   *0x4010bc
453878:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45387b:	ff 15 fc 11 40 00    	call   *0x4011fc
453881:	e8 ea 28 ff ff       	call   0x446170
453886:	8b 16                	mov    (%esi),%edx
453888:	56                   	push   %esi
453889:	ff 92 00 03 00 00    	call   *0x300(%edx)
45388f:	50                   	push   %eax
453890:	8d 45 c4             	lea    -0x3c(%ebp),%eax
453893:	50                   	push   %eax
453894:	ff d7                	call   *%edi
453896:	8b d8                	mov    %eax,%ebx
453898:	6a 00                	push   $0x0
45389a:	53                   	push   %ebx
45389b:	8b 0b                	mov    (%ebx),%ecx
45389d:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
4538a3:	85 c0                	test   %eax,%eax
4538a5:	db e2                	fnclex
4538a7:	7d 12                	jge    0x4538bb
4538a9:	68 8c 00 00 00       	push   $0x8c
4538ae:	68 fc 7d 40 00       	push   $0x407dfc
4538b3:	53                   	push   %ebx
4538b4:	50                   	push   %eax
4538b5:	ff 15 bc 10 40 00    	call   *0x4010bc
4538bb:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4538be:	ff 15 fc 11 40 00    	call   *0x4011fc
4538c4:	83 ec 10             	sub    $0x10,%esp
4538c7:	b9 0b 00 00 00       	mov    $0xb,%ecx
4538cc:	8b d4                	mov    %esp,%edx
4538ce:	33 c0                	xor    %eax,%eax
4538d0:	68 ec 8c 40 00       	push   $0x408cec
4538d5:	89 0a                	mov    %ecx,(%edx)
4538d7:	8b 4d a8             	mov    -0x58(%ebp),%ecx
4538da:	89 4a 04             	mov    %ecx,0x4(%edx)
4538dd:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4538e0:	51                   	push   %ecx
4538e1:	89 42 08             	mov    %eax,0x8(%edx)
4538e4:	8b 45 b0             	mov    -0x50(%ebp),%eax
4538e7:	89 42 0c             	mov    %eax,0xc(%edx)
4538ea:	ff 15 24 11 40 00    	call   *0x401124
4538f0:	8b 16                	mov    (%esi),%edx
4538f2:	56                   	push   %esi
4538f3:	ff 92 04 03 00 00    	call   *0x304(%edx)
4538f9:	50                   	push   %eax
4538fa:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4538fd:	50                   	push   %eax
4538fe:	ff d7                	call   *%edi
453900:	8b d8                	mov    %eax,%ebx
453902:	6a 00                	push   $0x0
453904:	53                   	push   %ebx
453905:	8b 0b                	mov    (%ebx),%ecx
453907:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
45390d:	85 c0                	test   %eax,%eax
45390f:	db e2                	fnclex
453911:	7d 12                	jge    0x453925
453913:	68 8c 00 00 00       	push   $0x8c
453918:	68 fc 7d 40 00       	push   $0x407dfc
45391d:	53                   	push   %ebx
45391e:	50                   	push   %eax
45391f:	ff 15 bc 10 40 00    	call   *0x4010bc
453925:	8b 1d fc 11 40 00    	mov    0x4011fc,%ebx
45392b:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45392e:	ff d3                	call   *%ebx
453930:	8b 16                	mov    (%esi),%edx
453932:	56                   	push   %esi
453933:	ff 92 08 03 00 00    	call   *0x308(%edx)
453939:	50                   	push   %eax
45393a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
45393d:	50                   	push   %eax
45393e:	ff d7                	call   *%edi
453940:	8b f0                	mov    %eax,%esi
453942:	6a ff                	push   $0xffffffff
453944:	56                   	push   %esi
453945:	8b 0e                	mov    (%esi),%ecx
453947:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
45394d:	85 c0                	test   %eax,%eax
45394f:	db e2                	fnclex
453951:	7d 12                	jge    0x453965
453953:	68 8c 00 00 00       	push   $0x8c
453958:	68 fc 7d 40 00       	push   $0x407dfc
45395d:	56                   	push   %esi
45395e:	50                   	push   %eax
45395f:	ff 15 bc 10 40 00    	call   *0x4010bc
453965:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
453968:	ff d3                	call   *%ebx
45396a:	a1 90 78 45 00       	mov    0x457890,%eax
45396f:	85 c0                	test   %eax,%eax
453971:	75 10                	jne    0x453983
453973:	68 90 78 45 00       	push   $0x457890
453978:	68 a4 72 40 00       	push   $0x4072a4
45397d:	ff 15 88 11 40 00    	call   *0x401188
453983:	a1 90 71 45 00       	mov    0x457190,%eax
453988:	8b 35 90 78 45 00    	mov    0x457890,%esi
45398e:	85 c0                	test   %eax,%eax
453990:	75 10                	jne    0x4539a2
453992:	68 90 71 45 00       	push   $0x457190
453997:	68 74 31 40 00       	push   $0x403174
45399c:	ff 15 88 11 40 00    	call   *0x401188
4539a2:	8b 15 90 71 45 00    	mov    0x457190,%edx
4539a8:	8b 3e                	mov    (%esi),%edi
4539aa:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4539ad:	52                   	push   %edx
4539ae:	50                   	push   %eax
4539af:	ff 15 e0 10 40 00    	call   *0x4010e0
4539b5:	50                   	push   %eax
4539b6:	56                   	push   %esi
4539b7:	ff 57 10             	call   *0x10(%edi)
4539ba:	85 c0                	test   %eax,%eax
4539bc:	db e2                	fnclex
4539be:	7d 0f                	jge    0x4539cf
4539c0:	6a 10                	push   $0x10
4539c2:	68 94 72 40 00       	push   $0x407294
4539c7:	56                   	push   %esi
4539c8:	50                   	push   %eax
4539c9:	ff 15 bc 10 40 00    	call   *0x4010bc
4539cf:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4539d2:	ff d3                	call   *%ebx
4539d4:	e9 81 01 00 00       	jmp    0x453b5a
4539d9:	66 8b 0d 1c 70 45 00 	mov    0x45701c,%cx
4539e0:	56                   	push   %esi
4539e1:	66 2b 4e 36          	sub    0x36(%esi),%cx
4539e5:	0f 80 c8 01 00 00    	jo     0x453bb3
4539eb:	66 89 0d 1c 70 45 00 	mov    %cx,0x45701c
4539f2:	8b 16                	mov    (%esi),%edx
4539f4:	ff 92 30 03 00 00    	call   *0x330(%edx)
4539fa:	50                   	push   %eax
4539fb:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4539fe:	50                   	push   %eax
4539ff:	ff d7                	call   *%edi
453a01:	66 8b 0d 1c 70 45 00 	mov    0x45701c,%cx
453a08:	8b 18                	mov    (%eax),%ebx
453a0a:	51                   	push   %ecx
453a0b:	89 45 84             	mov    %eax,-0x7c(%ebp)
453a0e:	ff 15 84 10 40 00    	call   *0x401084
453a14:	8b d0                	mov    %eax,%edx
453a16:	8d 4d c8             	lea    -0x38(%ebp),%ecx
453a19:	ff 15 d8 11 40 00    	call   *0x4011d8
453a1f:	8b d3                	mov    %ebx,%edx
453a21:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
453a24:	50                   	push   %eax
453a25:	53                   	push   %ebx
453a26:	ff 52 54             	call   *0x54(%edx)
453a29:	85 c0                	test   %eax,%eax
453a2b:	db e2                	fnclex
453a2d:	7d 0f                	jge    0x453a3e
453a2f:	6a 54                	push   $0x54
453a31:	68 88 7b 40 00       	push   $0x407b88
453a36:	53                   	push   %ebx
453a37:	50                   	push   %eax
453a38:	ff 15 bc 10 40 00    	call   *0x4010bc
453a3e:	8d 4d c8             	lea    -0x38(%ebp),%ecx
453a41:	ff 15 00 12 40 00    	call   *0x401200
453a47:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
453a4a:	ff 15 fc 11 40 00    	call   *0x4011fc
453a50:	8d 45 88             	lea    -0x78(%ebp),%eax
453a53:	c7 45 88 cd cc 4c 3e 	movl   $0x3e4ccccd,-0x78(%ebp)
453a5a:	50                   	push   %eax
453a5b:	e8 c0 2f ff ff       	call   0x446a20
453a60:	8b 0e                	mov    (%esi),%ecx
453a62:	56                   	push   %esi
453a63:	ff 91 00 03 00 00    	call   *0x300(%ecx)
453a69:	8d 55 c4             	lea    -0x3c(%ebp),%edx
453a6c:	50                   	push   %eax
453a6d:	52                   	push   %edx
453a6e:	ff d7                	call   *%edi