4533c7:	68 fc 7d 40 00       	push   $0x407dfc
4533cc:	56                   	push   %esi
4533cd:	50                   	push   %eax
4533ce:	ff 15 bc 10 40 00    	call   *0x4010bc
4533d4:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4533d7:	ff d7                	call   *%edi
4533d9:	a1 90 78 45 00       	mov    0x457890,%eax
4533de:	85 c0                	test   %eax,%eax
4533e0:	75 10                	jne    0x4533f2
4533e2:	68 90 78 45 00       	push   $0x457890
4533e7:	68 a4 72 40 00       	push   $0x4072a4
4533ec:	ff 15 88 11 40 00    	call   *0x401188
4533f2:	a1 7c 71 45 00       	mov    0x45717c,%eax
4533f7:	8b 35 90 78 45 00    	mov    0x457890,%esi
4533fd:	85 c0                	test   %eax,%eax
4533ff:	75 10                	jne    0x453411
453401:	68 7c 71 45 00       	push   $0x45717c
453406:	68 8c 60 40 00       	push   $0x40608c
45340b:	ff 15 88 11 40 00    	call   *0x401188
453411:	8b 15 7c 71 45 00    	mov    0x45717c,%edx
453417:	8b 1e                	mov    (%esi),%ebx
453419:	8d 45 c4             	lea    -0x3c(%ebp),%eax
45341c:	52                   	push   %edx
45341d:	50                   	push   %eax
45341e:	ff 15 e0 10 40 00    	call   *0x4010e0
453424:	50                   	push   %eax
453425:	56                   	push   %esi
453426:	ff 53 10             	call   *0x10(%ebx)
453429:	85 c0                	test   %eax,%eax
45342b:	db e2                	fnclex
45342d:	7d 0f                	jge    0x45343e
45342f:	6a 10                	push   $0x10
453431:	68 94 72 40 00       	push   $0x407294
453436:	56                   	push   %esi
453437:	50                   	push   %eax
453438:	ff 15 bc 10 40 00    	call   *0x4010bc
45343e:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
453441:	ff d7                	call   *%edi
453443:	e9 12 07 00 00       	jmp    0x453b5a
453448:	66 8b 0d 1e 70 45 00 	mov    0x45701e,%cx
45344f:	8b 16                	mov    (%esi),%edx
453451:	56                   	push   %esi
453452:	66 89 4d cc          	mov    %cx,-0x34(%ebp)
453456:	ff 92 00 03 00 00    	call   *0x300(%edx)
45345c:	8b 3d d0 10 40 00    	mov    0x4010d0,%edi
453462:	50                   	push   %eax
453463:	8d 45 c4             	lea    -0x3c(%ebp),%eax
453466:	50                   	push   %eax
453467:	ff d7                	call   *%edi
453469:	8b d8                	mov    %eax,%ebx
45346b:	6a 00                	push   $0x0
45346d:	53                   	push   %ebx
45346e:	8b 0b                	mov    (%ebx),%ecx
453470:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
453476:	85 c0                	test   %eax,%eax
453478:	db e2                	fnclex
45347a:	7d 12                	jge    0x45348e
45347c:	68 8c 00 00 00       	push   $0x8c
453481:	68 fc 7d 40 00       	push   $0x407dfc
453486:	53                   	push   %ebx
453487:	50                   	push   %eax
453488:	ff 15 bc 10 40 00    	call   *0x4010bc
45348e:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
453491:	ff 15 fc 11 40 00    	call   *0x4011fc
453497:	83 ec 10             	sub    $0x10,%esp
45349a:	b9 0b 00 00 00       	mov    $0xb,%ecx
45349f:	8b d4                	mov    %esp,%edx
4534a1:	33 c0                	xor    %eax,%eax
4534a3:	68 ec 8c 40 00       	push   $0x408cec
4534a8:	89 0a                	mov    %ecx,(%edx)
4534aa:	8b 4d a8             	mov    -0x58(%ebp),%ecx
4534ad:	89 4a 04             	mov    %ecx,0x4(%edx)
4534b0:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4534b3:	51                   	push   %ecx
4534b4:	89 42 08             	mov    %eax,0x8(%edx)
4534b7:	8b 45 b0             	mov    -0x50(%ebp),%eax
4534ba:	89 42 0c             	mov    %eax,0xc(%edx)
4534bd:	ff 15 24 11 40 00    	call   *0x401124
4534c3:	8b 16                	mov    (%esi),%edx
4534c5:	56                   	push   %esi
4534c6:	ff 92 08 03 00 00    	call   *0x308(%edx)
4534cc:	50                   	push   %eax
4534cd:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4534d0:	50                   	push   %eax
4534d1:	ff d7                	call   *%edi
4534d3:	8b d8                	mov    %eax,%ebx
4534d5:	6a 00                	push   $0x0
4534d7:	53                   	push   %ebx
4534d8:	8b 0b                	mov    (%ebx),%ecx
4534da:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
4534e0:	85 c0                	test   %eax,%eax
4534e2:	db e2                	fnclex
4534e4:	7d 12                	jge    0x4534f8
4534e6:	68 8c 00 00 00       	push   $0x8c
4534eb:	68 fc 7d 40 00       	push   $0x407dfc
4534f0:	53                   	push   %ebx
4534f1:	50                   	push   %eax
4534f2:	ff 15 bc 10 40 00    	call   *0x4010bc
4534f8:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4534fb:	ff 15 fc 11 40 00    	call   *0x4011fc
453501:	8b 16                	mov    (%esi),%edx
453503:	8d 45 b4             	lea    -0x4c(%ebp),%eax
453506:	50                   	push   %eax
453507:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
45350a:	8d 45 90             	lea    -0x70(%ebp),%eax
45350d:	51                   	push   %ecx
45350e:	50                   	push   %eax
45350f:	56                   	push   %esi
453510:	c7 45 8c 50 01 00 00 	movl   $0x150,-0x74(%ebp)
453517:	c7 45 90 78 00 00 00 	movl   $0x78,-0x70(%ebp)
45351e:	ff 92 f8 06 00 00    	call   *0x6f8(%edx)
453524:	85 c0                	test   %eax,%eax
453526:	7d 12                	jge    0x45353a
453528:	68 f8 06 00 00       	push   $0x6f8
45352d:	68 20 80 40 00       	push   $0x408020
453532:	56                   	push   %esi
453533:	50                   	push   %eax
453534:	ff 15 bc 10 40 00    	call   *0x4010bc
45353a:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
45353d:	51                   	push   %ecx
45353e:	ff 15 74 11 40 00    	call   *0x401174
453544:	8b 1d 98 10 40 00    	mov    0x401098,%ebx
45354a:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
45354d:	89 45 e8             	mov    %eax,-0x18(%ebp)
453550:	ff d3                	call   *%ebx
453552:	8d 55 88             	lea    -0x78(%ebp),%edx
453555:	c7 45 88 cd cc 4c 3e 	movl   $0x3e4ccccd,-0x78(%ebp)
45355c:	52                   	push   %edx
45355d:	e8 be 34 ff ff       	call   0x446a20
453562:	8b 06                	mov    (%esi),%eax
453564:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
453567:	51                   	push   %ecx
453568:	8d 55 8c             	lea    -0x74(%ebp),%edx
45356b:	8d 4d 90             	lea    -0x70(%ebp),%ecx
45356e:	52                   	push   %edx
45356f:	51                   	push   %ecx
453570:	56                   	push   %esi
453571:	c7 45 8c 50 01 00 00 	movl   $0x150,-0x74(%ebp)
453578:	c7 45 90 68 01 00 00 	movl   $0x168,-0x70(%ebp)
45357f:	ff 90 f8 06 00 00    	call   *0x6f8(%eax)
453585:	85 c0                	test   %eax,%eax
453587:	7d 12                	jge    0x45359b
453589:	68 f8 06 00 00       	push   $0x6f8
45358e:	68 20 80 40 00       	push   $0x408020
453593:	56                   	push   %esi
453594:	50                   	push   %eax
453595:	ff 15 bc 10 40 00    	call   *0x4010bc
45359b:	8d 55 b4             	lea    -0x4c(%ebp),%edx
45359e:	52                   	push   %edx
45359f:	ff 15 74 11 40 00    	call   *0x401174
4535a5:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
4535a8:	89 45 e0             	mov    %eax,-0x20(%ebp)
4535ab:	ff d3                	call   *%ebx
4535ad:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4535b0:	c7 45 bc 04 00 02 80 	movl   $0x80020004,-0x44(%ebp)
4535b7:	50                   	push   %eax
4535b8:	c7 45 b4 0a 00 00 00 	movl   $0xa,-0x4c(%ebp)
4535bf:	ff 15 c8 10 40 00    	call   *0x4010c8
4535c5:	d9 5d 88             	fstps  -0x78(%ebp)
4535c8:	d9 45 88             	flds   -0x78(%ebp)
4535cb:	d8 0d 00 15 40 00    	fmuls  0x401500
4535d1:	df e0                	fnstsw %ax
4535d3:	a8 0d                	test   $0xd,%al
4535d5:	0f 85 d3 05 00 00    	jne    0x453bae
4535db:	ff 15 f0 11 40 00    	call   *0x4011f0
4535e1:	0f bf 4d cc          	movswl -0x34(%ebp),%ecx
4535e5:	89 8d 70 ff ff ff    	mov    %ecx,-0x90(%ebp)
4535eb:	db 85 70 ff ff ff    	fildl  -0x90(%ebp)
4535f1:	0f bf 15 14 70 45 00 	movswl 0x457014,%edx
4535f8:	dd 9d 68 ff ff ff    	fstpl  -0x98(%ebp)
4535fe:	dd 85 68 ff ff ff    	fldl   -0x98(%ebp)
453604:	83 3d 00 70 45 00 00 	cmpl   $0x0,0x457000
45360b:	75 08                	jne    0x453615
45360d:	dc 35 f8 14 40 00    	fdivl  0x4014f8
453613:	eb 11                	jmp    0x453626
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