454471:	85 c0                	test   %eax,%eax
454473:	75 10                	jne    0x454485
454475:	68 90 71 45 00       	push   $0x457190
45447a:	68 74 31 40 00       	push   $0x403174
45447f:	ff 15 88 11 40 00    	call   *0x401188
454485:	83 ec 10             	sub    $0x10,%esp
454488:	b9 0a 00 00 00       	mov    $0xa,%ecx
45448d:	8b fc                	mov    %esp,%edi
45448f:	89 4d a8             	mov    %ecx,-0x58(%ebp)
454492:	ba 04 00 02 80       	mov    $0x80020004,%edx
454497:	83 ec 10             	sub    $0x10,%esp
45449a:	89 0f                	mov    %ecx,(%edi)
45449c:	8b 8d 4c ff ff ff    	mov    -0xb4(%ebp),%ecx
4544a2:	8b c2                	mov    %edx,%eax
4544a4:	89 55 b0             	mov    %edx,-0x50(%ebp)
4544a7:	89 4f 04             	mov    %ecx,0x4(%edi)
4544aa:	8b cc                	mov    %esp,%ecx
4544ac:	83 ec 10             	sub    $0x10,%esp
4544af:	8b 35 90 71 45 00    	mov    0x457190,%esi
4544b5:	89 47 08             	mov    %eax,0x8(%edi)
4544b8:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
4544be:	8b 1e                	mov    (%esi),%ebx
4544c0:	89 47 0c             	mov    %eax,0xc(%edi)
4544c3:	b8 0a 00 00 00       	mov    $0xa,%eax
4544c8:	89 01                	mov    %eax,(%ecx)
4544ca:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
4544d0:	89 41 04             	mov    %eax,0x4(%ecx)
4544d3:	b8 0a 00 00 00       	mov    $0xa,%eax
4544d8:	89 51 08             	mov    %edx,0x8(%ecx)
4544db:	8b 95 64 ff ff ff    	mov    -0x9c(%ebp),%edx
4544e1:	89 51 0c             	mov    %edx,0xc(%ecx)
4544e4:	8b 95 6c ff ff ff    	mov    -0x94(%ebp),%edx
4544ea:	8b cc                	mov    %esp,%ecx
4544ec:	83 ec 10             	sub    $0x10,%esp
4544ef:	89 01                	mov    %eax,(%ecx)
4544f1:	b8 04 00 02 80       	mov    $0x80020004,%eax
4544f6:	89 51 04             	mov    %edx,0x4(%ecx)
4544f9:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
4544ff:	89 41 08             	mov    %eax,0x8(%ecx)
454502:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
454508:	89 41 0c             	mov    %eax,0xc(%ecx)
45450b:	8b cc                	mov    %esp,%ecx
45450d:	b8 0a 00 00 00       	mov    $0xa,%eax
454512:	83 ec 10             	sub    $0x10,%esp
454515:	89 01                	mov    %eax,(%ecx)
454517:	b8 04 00 02 80       	mov    $0x80020004,%eax
45451c:	89 51 04             	mov    %edx,0x4(%ecx)
45451f:	8b 55 8c             	mov    -0x74(%ebp),%edx
454522:	89 41 08             	mov    %eax,0x8(%ecx)
454525:	8b 45 84             	mov    -0x7c(%ebp),%eax
454528:	89 41 0c             	mov    %eax,0xc(%ecx)
45452b:	8b cc                	mov    %esp,%ecx
45452d:	b8 0a 00 00 00       	mov    $0xa,%eax
454532:	83 ec 10             	sub    $0x10,%esp
454535:	89 01                	mov    %eax,(%ecx)
454537:	b8 04 00 02 80       	mov    $0x80020004,%eax
45453c:	89 51 04             	mov    %edx,0x4(%ecx)
45453f:	8b 55 9c             	mov    -0x64(%ebp),%edx
454542:	89 41 08             	mov    %eax,0x8(%ecx)
454545:	8b 45 94             	mov    -0x6c(%ebp),%eax
454548:	89 41 0c             	mov    %eax,0xc(%ecx)
45454b:	8b cc                	mov    %esp,%ecx
45454d:	b8 0a 00 00 00       	mov    $0xa,%eax
454552:	83 ec 10             	sub    $0x10,%esp
454555:	89 01                	mov    %eax,(%ecx)
454557:	b8 04 00 02 80       	mov    $0x80020004,%eax
45455c:	89 51 04             	mov    %edx,0x4(%ecx)
45455f:	8b 55 a8             	mov    -0x58(%ebp),%edx
454562:	89 41 08             	mov    %eax,0x8(%ecx)
454565:	8b 45 a4             	mov    -0x5c(%ebp),%eax
454568:	89 41 0c             	mov    %eax,0xc(%ecx)
45456b:	8b 45 ac             	mov    -0x54(%ebp),%eax
45456e:	8b cc                	mov    %esp,%ecx
454570:	89 11                	mov    %edx,(%ecx)
454572:	8b 55 b0             	mov    -0x50(%ebp),%edx
454575:	89 41 04             	mov    %eax,0x4(%ecx)
454578:	8b 45 b4             	mov    -0x4c(%ebp),%eax
45457b:	89 51 08             	mov    %edx,0x8(%ecx)
45457e:	89 41 0c             	mov    %eax,0xc(%ecx)
454581:	8b 4d 10             	mov    0x10(%ebp),%ecx
454584:	0f bf 11             	movswl (%ecx),%edx
454587:	89 95 20 ff ff ff    	mov    %edx,-0xe0(%ebp)
45458d:	db 85 20 ff ff ff    	fildl  -0xe0(%ebp)
454593:	d9 9d 1c ff ff ff    	fstps  -0xe4(%ebp)
454599:	8b 85 1c ff ff ff    	mov    -0xe4(%ebp),%eax
45459f:	50                   	push   %eax
4545a0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4545a3:	0f bf 11             	movswl (%ecx),%edx
4545a6:	89 95 18 ff ff ff    	mov    %edx,-0xe8(%ebp)
4545ac:	8b 4d cc             	mov    -0x34(%ebp),%ecx
4545af:	db 85 18 ff ff ff    	fildl  -0xe8(%ebp)
4545b5:	d9 9d 14 ff ff ff    	fstps  -0xec(%ebp)
4545bb:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
4545c1:	50                   	push   %eax
4545c2:	68 6c 8c 40 00       	push   $0x408c6c
4545c7:	51                   	push   %ecx
4545c8:	ff 15 d4 11 40 00    	call   *0x4011d4
4545ce:	8b 3d d0 10 40 00    	mov    0x4010d0,%edi
4545d4:	8d 55 c8             	lea    -0x38(%ebp),%edx
4545d7:	50                   	push   %eax
4545d8:	52                   	push   %edx
4545d9:	ff d7                	call   *%edi
4545db:	50                   	push   %eax
4545dc:	56                   	push   %esi
4545dd:	ff 93 cc 02 00 00    	call   *0x2cc(%ebx)
4545e3:	85 c0                	test   %eax,%eax
4545e5:	db e2                	fnclex
4545e7:	7d 12                	jge    0x4545fb
4545e9:	68 cc 02 00 00       	push   $0x2cc
4545ee:	68 f0 7f 40 00       	push   $0x407ff0
4545f3:	56                   	push   %esi
4545f4:	50                   	push   %eax
4545f5:	ff 15 bc 10 40 00    	call   *0x4010bc
4545fb:	8d 45 c8             	lea    -0x38(%ebp),%eax
4545fe:	8d 4d cc             	lea    -0x34(%ebp),%ecx
454601:	50                   	push   %eax
454602:	8d 55 d0             	lea    -0x30(%ebp),%edx
454605:	51                   	push   %ecx
454606:	52                   	push   %edx
454607:	6a 03                	push   $0x3
454609:	ff 15 ac 10 40 00    	call   *0x4010ac
45460f:	83 c4 10             	add    $0x10,%esp
454612:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
454618:	c7 85 44 ff ff ff cd 	movl   $0x3dcccccd,-0xbc(%ebp)
45461f:	cc cc 3d
454622:	50                   	push   %eax
454623:	e8 f8 23 ff ff       	call   0x446a20
454628:	8b 75 08             	mov    0x8(%ebp),%esi
45462b:	b8 01 00 00 00       	mov    $0x1,%eax
454630:	66 03 45 e8          	add    -0x18(%ebp),%ax
454634:	0f 80 9a 00 00 00    	jo     0x4546d4
45463a:	89 45 e8             	mov    %eax,-0x18(%ebp)
45463d:	e9 94 fd ff ff       	jmp    0x4543d6
454642:	66 8b 4d d4          	mov    -0x2c(%ebp),%cx
454646:	8d 55 a8             	lea    -0x58(%ebp),%edx
454649:	66 89 4d b0          	mov    %cx,-0x50(%ebp)
45464d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
454650:	c7 45 a8 02 00 00 00 	movl   $0x2,-0x58(%ebp)
454657:	ff 15 90 10 40 00    	call   *0x401090
45465d:	9b                   	fwait
45465e:	68 96 46 45 00       	push   $0x454696
454663:	eb 30                	jmp    0x454695
454665:	f6 45 fc 04          	testb  $0x4,-0x4(%ebp)
454669:	74 09                	je     0x454674
45466b:	8d 4d d8             	lea    -0x28(%ebp),%ecx
45466e:	ff 15 98 10 40 00    	call   *0x401098
454674:	8d 55 c8             	lea    -0x38(%ebp),%edx
454677:	8d 45 cc             	lea    -0x34(%ebp),%eax
45467a:	52                   	push   %edx
45467b:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45467e:	50                   	push   %eax
45467f:	51                   	push   %ecx
454680:	6a 03                	push   $0x3
454682:	ff 15 ac 10 40 00    	call   *0x4010ac
454688:	83 c4 10             	add    $0x10,%esp
45468b:	8d 4d b8             	lea    -0x48(%ebp),%ecx
45468e:	ff 15 98 10 40 00    	call   *0x401098
454694:	c3                   	ret
454695:	c3                   	ret
454696:	8b 45 08             	mov    0x8(%ebp),%eax
454699:	50                   	push   %eax
45469a:	8b 10                	mov    (%eax),%edx
45469c:	ff 52 08             	call   *0x8(%edx)
45469f:	8b 45 14             	mov    0x14(%ebp),%eax
4546a2:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4546a5:	8b 55 dc             	mov    -0x24(%ebp),%edx
4546a8:	89 08                	mov    %ecx,(%eax)
4546aa:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4546ad:	89 50 04             	mov    %edx,0x4(%eax)
4546b0:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4546b3:	89 48 08             	mov    %ecx,0x8(%eax)
4546b6:	89 50 0c             	mov    %edx,0xc(%eax)
4546b9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4546bc:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4546bf:	5f                   	pop    %edi
4546c0:	5e                   	pop    %esi
4546c1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4546c8:	5b                   	pop    %ebx
4546c9:	8b e5                	mov    %ebp,%esp
4546cb:	5d                   	pop    %ebp
4546cc:	c2 10 00             	ret    $0x10
4546cf:	e9 08 cf fa ff       	jmp    0x4015dc
4546d4:	ff 15 7c 11 40 00    	call   *0x40117c
4546da:	90                   	nop
4546db:	90                   	nop
4546dc:	90                   	nop
4546dd:	90                   	nop
4546de:	90                   	nop
4546df:	90                   	nop
4546e0:	55                   	push   %ebp
4546e1:	8b ec                	mov    %esp,%ebp
4546e3:	83 ec 0c             	sub    $0xc,%esp
4546e6:	68 d6 15 40 00       	push   $0x4015d6
4546eb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4546f1:	50                   	push   %eax
4546f2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
4546f9:	83 ec 08             	sub    $0x8,%esp
4546fc:	53                   	push   %ebx
4546fd:	56                   	push   %esi
4546fe:	57                   	push   %edi
4546ff:	89 65 f4             	mov    %esp,-0xc(%ebp)
454702:	c7 45 f8 68 15 40 00 	movl   $0x401568,-0x8(%ebp)
454709:	8b 45 08             	mov    0x8(%ebp),%eax
45470c:	8b c8                	mov    %eax,%ecx
45470e:	83 e1 01             	and    $0x1,%ecx
454711:	89 4d fc             	mov    %ecx,-0x4(%ebp)
454714:	24 fe                	and    $0xfe,%al
454716:	50                   	push   %eax
454717:	89 45 08             	mov    %eax,0x8(%ebp)
45471a:	8b 10                	mov    (%eax),%edx
45471c:	ff 52 04             	call   *0x4(%edx)
45471f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
454726:	8b 45 08             	mov    0x8(%ebp),%eax
454729:	50                   	push   %eax
45472a:	8b 08                	mov    (%eax),%ecx
45472c:	ff 51 08             	call   *0x8(%ecx)
45472f:	8b 45 fc             	mov    -0x4(%ebp),%eax
454732:	8b 4d ec             	mov    -0x14(%ebp),%ecx
454735:	5f                   	pop    %edi
454736:	5e                   	pop    %esi
454737:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45473e:	5b                   	pop    %ebx
45473f:	8b e5                	mov    %ebp,%esp
454741:	5d                   	pop    %ebp
454742:	c2 0c 00             	ret    $0xc
454745:	90                   	nop
454746:	90                   	nop
454747:	90                   	nop
454748:	90                   	nop
454749:	90                   	nop
45474a:	90                   	nop
45474b:	90                   	nop
45474c:	90                   	nop
45474d:	90                   	nop
45474e:	90                   	nop
45474f:	90                   	nop
454750:	55                   	push   %ebp
454751:	8b ec                	mov    %esp,%ebp
454753:	83 ec 0c             	sub    $0xc,%esp
454756:	68 d6 15 40 00       	push   $0x4015d6
45475b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
454761:	50                   	push   %eax
454762:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
454769:	83 ec 18             	sub    $0x18,%esp
45476c:	53                   	push   %ebx
45476d:	56                   	push   %esi
45476e:	57                   	push   %edi
45476f:	89 65 f4             	mov    %esp,-0xc(%ebp)
454772:	c7 45 f8 70 15 40 00 	movl   $0x401570,-0x8(%ebp)
454779:	8b 7d 08             	mov    0x8(%ebp),%edi
45477c:	8b c7                	mov    %edi,%eax
45477e:	83 e0 01             	and    $0x1,%eax
454781:	89 45 fc             	mov    %eax,-0x4(%ebp)
454784:	83 e7 fe             	and    $0xfffffffe,%edi
454787:	57                   	push   %edi
454788:	89 7d 08             	mov    %edi,0x8(%ebp)
45478b:	8b 0f                	mov    (%edi),%ecx
45478d:	ff 51 04             	call   *0x4(%ecx)
454790:	a1 90 78 45 00       	mov    0x457890,%eax
454795:	33 db                	xor    %ebx,%ebx
454797:	3b c3                	cmp    %ebx,%eax
454799:	89 5d e8             	mov    %ebx,-0x18(%ebp)
45479c:	75 10                	jne    0x4547ae
45479e:	68 90 78 45 00       	push   $0x457890
4547a3:	68 a4 72 40 00       	push   $0x4072a4
4547a8:	ff 15 88 11 40 00    	call   *0x401188
4547ae:	8b 35 90 78 45 00    	mov    0x457890,%esi
4547b4:	8d 45 e8             	lea    -0x18(%ebp),%eax
4547b7:	57                   	push   %edi
4547b8:	50                   	push   %eax
4547b9:	8b 16                	mov    (%esi),%edx
4547bb:	89 55 d4             	mov    %edx,-0x2c(%ebp)
4547be:	ff 15 e0 10 40 00    	call   *0x4010e0
4547c4:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4547c7:	50                   	push   %eax
4547c8:	56                   	push   %esi
4547c9:	ff 51 10             	call   *0x10(%ecx)
4547cc:	3b c3                	cmp    %ebx,%eax
4547ce:	db e2                	fnclex
4547d0:	7d 0f                	jge    0x4547e1
4547d2:	6a 10                	push   $0x10
4547d4:	68 94 72 40 00       	push   $0x407294
4547d9:	56                   	push   %esi
4547da:	50                   	push   %eax
4547db:	ff 15 bc 10 40 00    	call   *0x4010bc
4547e1:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4547e4:	ff 15 fc 11 40 00    	call   *0x4011fc
4547ea:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4547ed:	68 ff 47 45 00       	push   $0x4547ff
4547f2:	eb 0a                	jmp    0x4547fe
4547f4:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4547f7:	ff 15 fc 11 40 00    	call   *0x4011fc
4547fd:	c3                   	ret
4547fe:	c3                   	ret
4547ff:	8b 45 08             	mov    0x8(%ebp),%eax
454802:	50                   	push   %eax
454803:	8b 10                	mov    (%eax),%edx
454805:	ff 52 08             	call   *0x8(%edx)
454808:	8b 45 fc             	mov    -0x4(%ebp),%eax
45480b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
45480e:	5f                   	pop    %edi
45480f:	5e                   	pop    %esi
454810:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
454817:	5b                   	pop    %ebx
454818:	8b e5                	mov    %ebp,%esp
45481a:	5d                   	pop    %ebp
45481b:	c2 04 00             	ret    $0x4
45481e:	90                   	nop
45481f:	90                   	nop
454820:	55                   	push   %ebp
454821:	8b ec                	mov    %esp,%ebp
454823:	83 ec 0c             	sub    $0xc,%esp
454826:	68 d6 15 40 00       	push   $0x4015d6
45482b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
454831:	50                   	push   %eax
454832:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
454839:	83 ec 20             	sub    $0x20,%esp
45483c:	53                   	push   %ebx
45483d:	56                   	push   %esi
45483e:	57                   	push   %edi
45483f:	89 65 f4             	mov    %esp,-0xc(%ebp)
454842:	c7 45 f8 80 15 40 00 	movl   $0x401580,-0x8(%ebp)
454849:	8b 7d 08             	mov    0x8(%ebp),%edi
45484c:	33 c0                	xor    %eax,%eax
45484e:	89 45 e8             	mov    %eax,-0x18(%ebp)
454851:	89 45 e4             	mov    %eax,-0x1c(%ebp)
454854:	89 45 e0             	mov    %eax,-0x20(%ebp)
454857:	89 45 dc             	mov    %eax,-0x24(%ebp)
45485a:	8b 07                	mov    (%edi),%eax
45485c:	50                   	push   %eax
45485d:	6a 01                	push   $0x1
45485f:	ff 15 64 11 40 00    	call   *0x401164
454865:	8b 75 0c             	mov    0xc(%ebp),%esi
454868:	8b 0f                	mov    (%edi),%ecx
45486a:	33 db                	xor    %ebx,%ebx
45486c:	3b f0                	cmp    %eax,%esi
45486e:	51                   	push   %ecx
45486f:	6a 01                	push   $0x1
454871:	0f 9e c3             	setle  %bl
454874:	ff 15 2c 11 40 00    	call   *0x40112c
45487a:	33 d2                	xor    %edx,%edx
45487c:	3b f0                	cmp    %eax,%esi
45487e:	0f 9d c2             	setge  %dl
454881:	85 da                	test   %ebx,%edx
454883:	0f 84 18 01 00 00    	je     0x4549a1
454889:	8b 07                	mov    (%edi),%eax
45488b:	50                   	push   %eax
45488c:	6a 01                	push   $0x1
45488e:	ff 15 64 11 40 00    	call   *0x401164
454894:	8b ce                	mov    %esi,%ecx