450603:	a1 7c 71 45 00       	mov    0x45717c,%eax
450608:	8b 1e                	mov    (%esi),%ebx
45060a:	8d 4d e8             	lea    -0x18(%ebp),%ecx
45060d:	50                   	push   %eax
45060e:	51                   	push   %ecx
45060f:	ff 15 e0 10 40 00    	call   *0x4010e0
450615:	50                   	push   %eax
450616:	56                   	push   %esi
450617:	ff 53 10             	call   *0x10(%ebx)
45061a:	3b c7                	cmp    %edi,%eax
45061c:	db e2                	fnclex
45061e:	7d 0f                	jge    0x45062f
450620:	6a 10                	push   $0x10
450622:	68 94 72 40 00       	push   $0x407294
450627:	56                   	push   %esi
450628:	50                   	push   %eax
450629:	ff 15 bc 10 40 00    	call   *0x4010bc
45062f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
450632:	ff 15 fc 11 40 00    	call   *0x4011fc
450638:	89 7d fc             	mov    %edi,-0x4(%ebp)
45063b:	68 4d 06 45 00       	push   $0x45064d
450640:	eb 0a                	jmp    0x45064c
450642:	8d 4d e8             	lea    -0x18(%ebp),%ecx
450645:	ff 15 fc 11 40 00    	call   *0x4011fc
45064b:	c3                   	ret
45064c:	c3                   	ret
45064d:	8b 45 08             	mov    0x8(%ebp),%eax
450650:	50                   	push   %eax
450651:	8b 10                	mov    (%eax),%edx
450653:	ff 52 08             	call   *0x8(%edx)
450656:	8b 45 fc             	mov    -0x4(%ebp),%eax
450659:	8b 4d ec             	mov    -0x14(%ebp),%ecx
45065c:	5f                   	pop    %edi
45065d:	5e                   	pop    %esi
45065e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
450665:	5b                   	pop    %ebx
450666:	8b e5                	mov    %ebp,%esp
450668:	5d                   	pop    %ebp
450669:	c2 04 00             	ret    $0x4
45066c:	90                   	nop
45066d:	90                   	nop
45066e:	90                   	nop
45066f:	90                   	nop
450670:	55                   	push   %ebp
450671:	8b ec                	mov    %esp,%ebp
450673:	83 ec 0c             	sub    $0xc,%esp
450676:	68 d6 15 40 00       	push   $0x4015d6
45067b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
450681:	50                   	push   %eax
450682:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
450689:	81 ec 94 00 00 00    	sub    $0x94,%esp
45068f:	53                   	push   %ebx
450690:	56                   	push   %esi
450691:	57                   	push   %edi
450692:	89 65 f4             	mov    %esp,-0xc(%ebp)
450695:	c7 45 f8 98 14 40 00 	movl   $0x401498,-0x8(%ebp)
45069c:	8b 45 08             	mov    0x8(%ebp),%eax
45069f:	8b c8                	mov    %eax,%ecx
4506a1:	83 e1 01             	and    $0x1,%ecx
4506a4:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4506a7:	24 fe                	and    $0xfe,%al
4506a9:	50                   	push   %eax
4506aa:	89 45 08             	mov    %eax,0x8(%ebp)
4506ad:	8b 10                	mov    (%eax),%edx
4506af:	ff 52 04             	call   *0x4(%edx)
4506b2:	b9 04 00 02 80       	mov    $0x80020004,%ecx
4506b7:	33 f6                	xor    %esi,%esi
4506b9:	89 4d b0             	mov    %ecx,-0x50(%ebp)
4506bc:	b8 0a 00 00 00       	mov    $0xa,%eax
4506c1:	89 4d c0             	mov    %ecx,-0x40(%ebp)
4506c4:	89 4d d0             	mov    %ecx,-0x30(%ebp)
4506c7:	89 75 c8             	mov    %esi,-0x38(%ebp)
4506ca:	89 75 b8             	mov    %esi,-0x48(%ebp)
4506cd:	89 75 a8             	mov    %esi,-0x58(%ebp)
4506d0:	89 75 98             	mov    %esi,-0x68(%ebp)
4506d3:	8d 55 98             	lea    -0x68(%ebp),%edx
4506d6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4506d9:	89 75 e8             	mov    %esi,-0x18(%ebp)
4506dc:	89 75 d8             	mov    %esi,-0x28(%ebp)
4506df:	66 89 35 32 70 45 00 	mov    %si,0x457032
4506e6:	89 45 a8             	mov    %eax,-0x58(%ebp)
4506e9:	89 45 b8             	mov    %eax,-0x48(%ebp)
4506ec:	89 45 c8             	mov    %eax,-0x38(%ebp)
4506ef:	c7 45 a0 50 8b 40 00 	movl   $0x408b50,-0x60(%ebp)
4506f6:	c7 45 98 08 00 00 00 	movl   $0x8,-0x68(%ebp)
4506fd:	ff 15 c0 11 40 00    	call   *0x4011c0
450703:	8d 45 a8             	lea    -0x58(%ebp),%eax
450706:	8d 4d b8             	lea    -0x48(%ebp),%ecx
450709:	50                   	push   %eax
45070a:	8d 55 c8             	lea    -0x38(%ebp),%edx
45070d:	51                   	push   %ecx
45070e:	52                   	push   %edx
45070f:	8d 45 d8             	lea    -0x28(%ebp),%eax
450712:	56                   	push   %esi
450713:	50                   	push   %eax
450714:	ff 15 d4 10 40 00    	call   *0x4010d4
45071a:	8d 4d a8             	lea    -0x58(%ebp),%ecx
45071d:	8d 55 b8             	lea    -0x48(%ebp),%edx
450720:	51                   	push   %ecx
450721:	8d 45 c8             	lea    -0x38(%ebp),%eax
450724:	52                   	push   %edx
450725:	8d 4d d8             	lea    -0x28(%ebp),%ecx
450728:	50                   	push   %eax
450729:	51                   	push   %ecx
45072a:	6a 04                	push   $0x4
45072c:	ff 15 a0 10 40 00    	call   *0x4010a0
450732:	a1 90 78 45 00       	mov    0x457890,%eax
450737:	83 c4 14             	add    $0x14,%esp
45073a:	3b c6                	cmp    %esi,%eax
45073c:	75 10                	jne    0x45074e
45073e:	68 90 78 45 00       	push   $0x457890
450743:	68 a4 72 40 00       	push   $0x4072a4
450748:	ff 15 88 11 40 00    	call   *0x401188
45074e:	a1 7c 71 45 00       	mov    0x45717c,%eax
450753:	8b 3d 90 78 45 00    	mov    0x457890,%edi
450759:	3b c6                	cmp    %esi,%eax
45075b:	75 10                	jne    0x45076d
45075d:	68 7c 71 45 00       	push   $0x45717c
450762:	68 8c 60 40 00       	push   $0x40608c
450767:	ff 15 88 11 40 00    	call   *0x401188
45076d:	8b 15 7c 71 45 00    	mov    0x45717c,%edx
450773:	8b 1f                	mov    (%edi),%ebx
450775:	8d 45 e8             	lea    -0x18(%ebp),%eax
450778:	52                   	push   %edx
450779:	50                   	push   %eax
45077a:	ff 15 e0 10 40 00    	call   *0x4010e0
450780:	50                   	push   %eax
450781:	57                   	push   %edi
450782:	ff 53 10             	call   *0x10(%ebx)
450785:	3b c6                	cmp    %esi,%eax
450787:	db e2                	fnclex
450789:	7d 0f                	jge    0x45079a
45078b:	6a 10                	push   $0x10
45078d:	68 94 72 40 00       	push   $0x407294
450792:	57                   	push   %edi
450793:	50                   	push   %eax
450794:	ff 15 bc 10 40 00    	call   *0x4010bc
45079a:	8d 4d e8             	lea    -0x18(%ebp),%ecx
45079d:	ff 15 fc 11 40 00    	call   *0x4011fc
4507a3:	89 75 fc             	mov    %esi,-0x4(%ebp)
4507a6:	68 d3 07 45 00       	push   $0x4507d3
4507ab:	eb 25                	jmp    0x4507d2
4507ad:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4507b0:	ff 15 fc 11 40 00    	call   *0x4011fc
4507b6:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4507b9:	8d 55 b8             	lea    -0x48(%ebp),%edx
4507bc:	51                   	push   %ecx
4507bd:	8d 45 c8             	lea    -0x38(%ebp),%eax
4507c0:	52                   	push   %edx
4507c1:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4507c4:	50                   	push   %eax
4507c5:	51                   	push   %ecx
4507c6:	6a 04                	push   $0x4
4507c8:	ff 15 a0 10 40 00    	call   *0x4010a0
4507ce:	83 c4 14             	add    $0x14,%esp
4507d1:	c3                   	ret
4507d2:	c3                   	ret
4507d3:	8b 45 08             	mov    0x8(%ebp),%eax
4507d6:	50                   	push   %eax
4507d7:	8b 10                	mov    (%eax),%edx
4507d9:	ff 52 08             	call   *0x8(%edx)
4507dc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4507df:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4507e2:	5f                   	pop    %edi
4507e3:	5e                   	pop    %esi
4507e4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4507eb:	5b                   	pop    %ebx
4507ec:	8b e5                	mov    %ebp,%esp
4507ee:	5d                   	pop    %ebp
4507ef:	c2 04 00             	ret    $0x4
4507f2:	90                   	nop
4507f3:	90                   	nop
4507f4:	90                   	nop
4507f5:	90                   	nop
4507f6:	90                   	nop
4507f7:	90                   	nop
4507f8:	90                   	nop
4507f9:	90                   	nop
4507fa:	90                   	nop
4507fb:	90                   	nop
4507fc:	90                   	nop
4507fd:	90                   	nop
4507fe:	90                   	nop
4507ff:	90                   	nop
450800:	55                   	push   %ebp
450801:	8b ec                	mov    %esp,%ebp
450803:	83 ec 0c             	sub    $0xc,%esp
450806:	68 d6 15 40 00       	push   $0x4015d6
45080b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
450811:	50                   	push   %eax
450812:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
450819:	83 ec 30             	sub    $0x30,%esp
45081c:	53                   	push   %ebx
45081d:	56                   	push   %esi
45081e:	57                   	push   %edi
45081f:	89 65 f4             	mov    %esp,-0xc(%ebp)
450822:	c7 45 f8 a8 14 40 00 	movl   $0x4014a8,-0x8(%ebp)
450829:	8b 45 08             	mov    0x8(%ebp),%eax
45082c:	8b c8                	mov    %eax,%ecx
45082e:	83 e1 01             	and    $0x1,%ecx
450831:	89 4d fc             	mov    %ecx,-0x4(%ebp)
450834:	24 fe                	and    $0xfe,%al
450836:	50                   	push   %eax
450837:	89 45 08             	mov    %eax,0x8(%ebp)
45083a:	8b 10                	mov    (%eax),%edx
45083c:	ff 52 04             	call   *0x4(%edx)
45083f:	a1 68 71 45 00       	mov    0x457168,%eax
450844:	85 c0                	test   %eax,%eax
450846:	75 10                	jne    0x450858
450848:	68 68 71 45 00       	push   $0x457168
45084d:	68 44 26 40 00       	push   $0x402644
450852:	ff 15 88 11 40 00    	call   *0x401188
450858:	83 ec 10             	sub    $0x10,%esp
45085b:	b9 0a 00 00 00       	mov    $0xa,%ecx
450860:	8b dc                	mov    %esp,%ebx
450862:	89 4d dc             	mov    %ecx,-0x24(%ebp)
450865:	b8 04 00 02 80       	mov    $0x80020004,%eax
45086a:	83 ec 10             	sub    $0x10,%esp
45086d:	89 0b                	mov    %ecx,(%ebx)
45086f:	8b 4d d0             	mov    -0x30(%ebp),%ecx
450872:	8b d0                	mov    %eax,%edx
450874:	8b 35 68 71 45 00    	mov    0x457168,%esi
45087a:	89 4b 04             	mov    %ecx,0x4(%ebx)
45087d:	8b cc                	mov    %esp,%ecx
45087f:	8b 3e                	mov    (%esi),%edi
450881:	56                   	push   %esi
450882:	89 43 08             	mov    %eax,0x8(%ebx)
450885:	8b 45 d8             	mov    -0x28(%ebp),%eax
450888:	89 43 0c             	mov    %eax,0xc(%ebx)
45088b:	8b 45 dc             	mov    -0x24(%ebp),%eax
45088e:	89 01                	mov    %eax,(%ecx)
450890:	8b 45 e0             	mov    -0x20(%ebp),%eax
450893:	89 41 04             	mov    %eax,0x4(%ecx)
450896:	89 51 08             	mov    %edx,0x8(%ecx)
450899:	8b 55 e8             	mov    -0x18(%ebp),%edx
45089c:	89 51 0c             	mov    %edx,0xc(%ecx)
45089f:	ff 97 b0 02 00 00    	call   *0x2b0(%edi)
4508a5:	85 c0                	test   %eax,%eax
4508a7:	db e2                	fnclex
4508a9:	7d 12                	jge    0x4508bd
4508ab:	68 b0 02 00 00       	push   $0x2b0
4508b0:	68 48 7e 40 00       	push   $0x407e48
4508b5:	56                   	push   %esi
4508b6:	50                   	push   %eax
4508b7:	ff 15 bc 10 40 00    	call   *0x4010bc
4508bd:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4508c4:	8b 45 08             	mov    0x8(%ebp),%eax
4508c7:	50                   	push   %eax
4508c8:	8b 08                	mov    (%eax),%ecx
4508ca:	ff 51 08             	call   *0x8(%ecx)
4508cd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4508d0:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4508d3:	5f                   	pop    %edi
4508d4:	5e                   	pop    %esi
4508d5:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4508dc:	5b                   	pop    %ebx
4508dd:	8b e5                	mov    %ebp,%esp
4508df:	5d                   	pop    %ebp
4508e0:	c2 04 00             	ret    $0x4
4508e3:	90                   	nop
4508e4:	90                   	nop
4508e5:	90                   	nop
4508e6:	90                   	nop
4508e7:	90                   	nop
4508e8:	90                   	nop
4508e9:	90                   	nop
4508ea:	90                   	nop
4508eb:	90                   	nop
4508ec:	90                   	nop
4508ed:	90                   	nop
4508ee:	90                   	nop
4508ef:	90                   	nop
4508f0:	55                   	push   %ebp
4508f1:	8b ec                	mov    %esp,%ebp
4508f3:	83 ec 0c             	sub    $0xc,%esp
4508f6:	68 d6 15 40 00       	push   $0x4015d6
4508fb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
450901:	50                   	push   %eax
450902:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
450909:	81 ec bc 01 00 00    	sub    $0x1bc,%esp
45090f:	53                   	push   %ebx
450910:	56                   	push   %esi
450911:	57                   	push   %edi
450912:	89 65 f4             	mov    %esp,-0xc(%ebp)
450915:	c7 45 f8 d0 14 40 00 	movl   $0x4014d0,-0x8(%ebp)
45091c:	8b 7d 08             	mov    0x8(%ebp),%edi
45091f:	8b c7                	mov    %edi,%eax
450921:	83 e0 01             	and    $0x1,%eax
450924:	89 45 fc             	mov    %eax,-0x4(%ebp)
450927:	83 e7 fe             	and    $0xfffffffe,%edi
45092a:	57                   	push   %edi
45092b:	89 7d 08             	mov    %edi,0x8(%ebp)
45092e:	8b 0f                	mov    (%edi),%ecx
450930:	ff 51 04             	call   *0x4(%ecx)
450933:	33 db                	xor    %ebx,%ebx
450935:	8d 95 74 ff ff ff    	lea    -0x8c(%ebp),%edx
45093b:	be 04 00 02 80       	mov    $0x80020004,%esi
450940:	89 9d 74 ff ff ff    	mov    %ebx,-0x8c(%ebp)
450946:	52                   	push   %edx
450947:	89 5d e8             	mov    %ebx,-0x18(%ebp)
45094a:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
45094d:	89 5d e0             	mov    %ebx,-0x20(%ebp)
450950:	89 5d dc             	mov    %ebx,-0x24(%ebp)
450953:	89 5d cc             	mov    %ebx,-0x34(%ebp)
450956:	89 5d c8             	mov    %ebx,-0x38(%ebp)
450959:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
45095c:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
45095f:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
450962:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
450965:	89 5d 98             	mov    %ebx,-0x68(%ebp)
450968:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
45096b:	89 5d 90             	mov    %ebx,-0x70(%ebp)
45096e:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
450971:	89 5d 88             	mov    %ebx,-0x78(%ebp)
450974:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
450977:	89 9d 64 ff ff ff    	mov    %ebx,-0x9c(%ebp)
45097d:	89 9d 54 ff ff ff    	mov    %ebx,-0xac(%ebp)
450983:	89 9d 44 ff ff ff    	mov    %ebx,-0xbc(%ebp)
450989:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
45098f:	89 9d 24 ff ff ff    	mov    %ebx,-0xdc(%ebp)
450995:	89 9d 14 ff ff ff    	mov    %ebx,-0xec(%ebp)
45099b:	89 9d 04 ff ff ff    	mov    %ebx,-0xfc(%ebp)
4509a1:	89 9d f4 fe ff ff    	mov    %ebx,-0x10c(%ebp)
4509a7:	89 9d e4 fe ff ff    	mov    %ebx,-0x11c(%ebp)
4509ad:	89 9d d4 fe ff ff    	mov    %ebx,-0x12c(%ebp)
4509b3:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
4509b9:	c7 85 74 ff ff ff 0a 	movl   $0xa,-0x8c(%ebp)
4509c0:	00 00 00
4509c3:	ff 15 cc 10 40 00    	call   *0x4010cc
4509c9:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
4509cf:	ff 15 98 10 40 00    	call   *0x401098
4509d5:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
4509db:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
4509e1:	50                   	push   %eax
4509e2:	c7 85 74 ff ff ff 0a 	movl   $0xa,-0x8c(%ebp)
4509e9:	00 00 00
4509ec:	ff 15 c8 10 40 00    	call   *0x4010c8
4509f2:	d8 0d c8 14 40 00    	fmuls  0x4014c8
4509f8:	df e0                	fnstsw %ax
4509fa:	a8 0d                	test   $0xd,%al
4509fc:	0f 85 62 24 00 00    	jne    0x452e64
450a02:	ff 15 f0 11 40 00    	call   *0x4011f0
450a08:	51                   	push   %ecx
450a09:	d9 1c 24             	fstps  (%esp)
450a0c:	ff 15 30 11 40 00    	call   *0x401130
450a12:	8b 35 d8 11 40 00    	mov    0x4011d8,%esi
450a18:	8b d0                	mov    %eax,%edx
450a1a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
450a1d:	ff d6                	call   *%esi
450a1f:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx