40b3ed:	68 78 77 40 00       	push   $0x407778
40b3f2:	ff 15 30 11 40 00    	call   *0x401130
40b3f8:	dc 1d d8 11 40 00    	fcompl 0x4011d8
40b3fe:	df e0                	fnstsw %ax
40b400:	f6 c4 40             	test   $0x40,%ah
40b403:	75 7b                	jne    0x40b480
40b405:	ff 15 60 11 40 00    	call   *0x401160
40b40b:	50                   	push   %eax
40b40c:	8d 45 e0             	lea    -0x20(%ebp),%eax
40b40f:	50                   	push   %eax
40b410:	ff d3                	call   *%ebx
40b412:	8b d8                	mov    %eax,%ebx
40b414:	8d 55 a0             	lea    -0x60(%ebp),%edx
40b417:	52                   	push   %edx
40b418:	8d 45 b0             	lea    -0x50(%ebp),%eax
40b41b:	50                   	push   %eax
40b41c:	8d 55 c0             	lea    -0x40(%ebp),%edx
40b41f:	52                   	push   %edx
40b420:	8d 45 d0             	lea    -0x30(%ebp),%eax
40b423:	50                   	push   %eax
40b424:	68 86 46 00 00       	push   $0x4686
40b429:	89 7d a8             	mov    %edi,-0x58(%ebp)
40b42c:	89 75 a0             	mov    %esi,-0x60(%ebp)
40b42f:	89 7d b8             	mov    %edi,-0x48(%ebp)
40b432:	89 75 b0             	mov    %esi,-0x50(%ebp)
40b435:	89 7d c8             	mov    %edi,-0x38(%ebp)
40b438:	89 75 c0             	mov    %esi,-0x40(%ebp)
40b43b:	89 7d d8             	mov    %edi,-0x28(%ebp)
40b43e:	89 75 d0             	mov    %esi,-0x30(%ebp)
40b441:	8b 0b                	mov    (%ebx),%ecx
40b443:	53                   	push   %ebx
40b444:	ff 51 44             	call   *0x44(%ecx)
40b447:	db e2                	fnclex
40b449:	85 c0                	test   %eax,%eax
40b44b:	7d 0f                	jge    0x40b45c
40b44d:	6a 44                	push   $0x44
40b44f:	68 b4 7d 40 00       	push   $0x407db4
40b454:	53                   	push   %ebx
40b455:	50                   	push   %eax
40b456:	ff 15 48 10 40 00    	call   *0x401048
40b45c:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b45f:	ff 15 ac 11 40 00    	call   *0x4011ac
40b465:	8d 4d a0             	lea    -0x60(%ebp),%ecx
40b468:	51                   	push   %ecx
40b469:	8d 55 b0             	lea    -0x50(%ebp),%edx
40b46c:	52                   	push   %edx
40b46d:	8d 45 c0             	lea    -0x40(%ebp),%eax
40b470:	50                   	push   %eax
40b471:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40b474:	51                   	push   %ecx
40b475:	6a 04                	push   $0x4
40b477:	ff 15 28 10 40 00    	call   *0x401028
40b47d:	83 c4 14             	add    $0x14,%esp
40b480:	9b                   	fwait
40b481:	68 b7 b4 40 00       	push   $0x40b4b7
40b486:	eb 25                	jmp    0x40b4ad
40b488:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b48b:	ff 15 ac 11 40 00    	call   *0x4011ac
40b491:	8d 55 a0             	lea    -0x60(%ebp),%edx
40b494:	52                   	push   %edx
40b495:	8d 45 b0             	lea    -0x50(%ebp),%eax
40b498:	50                   	push   %eax
40b499:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40b49c:	51                   	push   %ecx
40b49d:	8d 55 d0             	lea    -0x30(%ebp),%edx
40b4a0:	52                   	push   %edx
40b4a1:	6a 04                	push   $0x4
40b4a3:	ff 15 28 10 40 00    	call   *0x401028
40b4a9:	83 c4 14             	add    $0x14,%esp
40b4ac:	c3                   	ret
40b4ad:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40b4b0:	ff 15 a8 11 40 00    	call   *0x4011a8
40b4b6:	c3                   	ret
40b4b7:	8b 45 24             	mov    0x24(%ebp),%eax
40b4ba:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40b4bd:	8b 55 e8             	mov    -0x18(%ebp),%edx
40b4c0:	89 08                	mov    %ecx,(%eax)
40b4c2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40b4c5:	5f                   	pop    %edi
40b4c6:	89 50 04             	mov    %edx,0x4(%eax)
40b4c9:	5e                   	pop    %esi
40b4ca:	33 c0                	xor    %eax,%eax
40b4cc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40b4d3:	5b                   	pop    %ebx
40b4d4:	8b e5                	mov    %ebp,%esp
40b4d6:	5d                   	pop    %ebp
40b4d7:	c2 20 00             	ret    $0x20
40b4da:	90                   	nop
40b4db:	90                   	nop
40b4dc:	90                   	nop
40b4dd:	90                   	nop
40b4de:	90                   	nop
40b4df:	90                   	nop
40b4e0:	55                   	push   %ebp
40b4e1:	8b ec                	mov    %esp,%ebp
40b4e3:	83 ec 0c             	sub    $0xc,%esp
40b4e6:	68 b6 12 40 00       	push   $0x4012b6
40b4eb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40b4f1:	50                   	push   %eax
40b4f2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40b4f9:	83 ec 58             	sub    $0x58,%esp
40b4fc:	53                   	push   %ebx
40b4fd:	56                   	push   %esi
40b4fe:	57                   	push   %edi
40b4ff:	89 65 f4             	mov    %esp,-0xc(%ebp)
40b502:	c7 45 f8 00 12 40 00 	movl   $0x401200,-0x8(%ebp)
40b509:	33 f6                	xor    %esi,%esi
40b50b:	89 75 fc             	mov    %esi,-0x4(%ebp)
40b50e:	8b 45 08             	mov    0x8(%ebp),%eax
40b511:	8b 08                	mov    (%eax),%ecx
40b513:	50                   	push   %eax
40b514:	ff 51 04             	call   *0x4(%ecx)
40b517:	6a 08                	push   $0x8
40b519:	68 d0 7d 40 00       	push   $0x407dd0
40b51e:	8d 55 d0             	lea    -0x30(%ebp),%edx
40b521:	52                   	push   %edx
40b522:	89 75 e8             	mov    %esi,-0x18(%ebp)
40b525:	89 75 c4             	mov    %esi,-0x3c(%ebp)
40b528:	89 75 c8             	mov    %esi,-0x38(%ebp)
40b52b:	89 75 b4             	mov    %esi,-0x4c(%ebp)
40b52e:	89 75 a4             	mov    %esi,-0x5c(%ebp)
40b531:	89 75 a0             	mov    %esi,-0x60(%ebp)
40b534:	89 75 9c             	mov    %esi,-0x64(%ebp)
40b537:	ff 15 bc 10 40 00    	call   *0x4010bc
40b53d:	56                   	push   %esi
40b53e:	6a ff                	push   $0xffffffff
40b540:	8d 45 d0             	lea    -0x30(%ebp),%eax
40b543:	68 c8 7d 40 00       	push   $0x407dc8
40b548:	8d 55 a4             	lea    -0x5c(%ebp),%edx
40b54b:	89 45 a0             	mov    %eax,-0x60(%ebp)
40b54e:	52                   	push   %edx
40b54f:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40b552:	8d 4d a0             	lea    -0x60(%ebp),%ecx
40b555:	50                   	push   %eax
40b556:	89 4d ac             	mov    %ecx,-0x54(%ebp)
40b559:	c7 45 a4 08 60 00 00 	movl   $0x6008,-0x5c(%ebp)
40b560:	ff 15 98 10 40 00    	call   *0x401098
40b566:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
40b569:	51                   	push   %ecx
40b56a:	68 08 20 00 00       	push   $0x2008
40b56f:	ff 15 5c 10 40 00    	call   *0x40105c
40b575:	8d 55 9c             	lea    -0x64(%ebp),%edx
40b578:	89 45 9c             	mov    %eax,-0x64(%ebp)
40b57b:	52                   	push   %edx
40b57c:	8d 45 e8             	lea    -0x18(%ebp),%eax
40b57f:	50                   	push   %eax
40b580:	ff 15 8c 11 40 00    	call   *0x40118c
40b586:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
40b589:	ff 15 14 10 40 00    	call   *0x401014
40b58f:	9b                   	fwait
40b590:	68 be b5 40 00       	push   $0x40b5be
40b595:	eb 0a                	jmp    0x40b5a1
40b597:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
40b59a:	ff 15 14 10 40 00    	call   *0x401014
40b5a0:	c3                   	ret
40b5a1:	8b 3d 68 10 40 00    	mov    0x401068,%edi
40b5a7:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40b5aa:	51                   	push   %ecx
40b5ab:	33 f6                	xor    %esi,%esi
40b5ad:	56                   	push   %esi
40b5ae:	ff d7                	call   *%edi
40b5b0:	8d 45 a0             	lea    -0x60(%ebp),%eax
40b5b3:	50                   	push   %eax
40b5b4:	8d 55 d0             	lea    -0x30(%ebp),%edx
40b5b7:	56                   	push   %esi
40b5b8:	89 55 a0             	mov    %edx,-0x60(%ebp)
40b5bb:	ff d7                	call   *%edi
40b5bd:	c3                   	ret
40b5be:	8b 45 08             	mov    0x8(%ebp),%eax
40b5c1:	8b 08                	mov    (%eax),%ecx
40b5c3:	50                   	push   %eax
40b5c4:	ff 51 08             	call   *0x8(%ecx)
40b5c7:	8b 45 10             	mov    0x10(%ebp),%eax
40b5ca:	8b 55 c4             	mov    -0x3c(%ebp),%edx
40b5cd:	8b 4d c8             	mov    -0x38(%ebp),%ecx
40b5d0:	89 10                	mov    %edx,(%eax)
40b5d2:	89 48 04             	mov    %ecx,0x4(%eax)
40b5d5:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b5d8:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40b5db:	5f                   	pop    %edi
40b5dc:	5e                   	pop    %esi
40b5dd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40b5e4:	5b                   	pop    %ebx
40b5e5:	8b e5                	mov    %ebp,%esp
40b5e7:	5d                   	pop    %ebp
40b5e8:	c2 0c 00             	ret    $0xc
40b5eb:	90                   	nop
40b5ec:	90                   	nop
40b5ed:	90                   	nop
40b5ee:	90                   	nop
40b5ef:	90                   	nop
40b5f0:	55                   	push   %ebp
40b5f1:	8b ec                	mov    %esp,%ebp
40b5f3:	83 ec 0c             	sub    $0xc,%esp
40b5f6:	68 b6 12 40 00       	push   $0x4012b6
40b5fb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40b601:	50                   	push   %eax
40b602:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40b609:	83 ec 64             	sub    $0x64,%esp
40b60c:	53                   	push   %ebx
40b60d:	56                   	push   %esi
40b60e:	57                   	push   %edi
40b60f:	89 65 f4             	mov    %esp,-0xc(%ebp)
40b612:	c7 45 f8 18 12 40 00 	movl   $0x401218,-0x8(%ebp)
40b619:	33 db                	xor    %ebx,%ebx
40b61b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40b61e:	8b 45 08             	mov    0x8(%ebp),%eax
40b621:	8b 08                	mov    (%eax),%ecx
40b623:	50                   	push   %eax
40b624:	ff 51 04             	call   *0x4(%ecx)
40b627:	b8 0a 00 00 00       	mov    $0xa,%eax
40b62c:	89 5d d0             	mov    %ebx,-0x30(%ebp)
40b62f:	89 5d c0             	mov    %ebx,-0x40(%ebp)
40b632:	8d 55 c0             	lea    -0x40(%ebp),%edx
40b635:	52                   	push   %edx
40b636:	89 45 c0             	mov    %eax,-0x40(%ebp)
40b639:	89 45 d0             	mov    %eax,-0x30(%ebp)
40b63c:	8d 45 d0             	lea    -0x30(%ebp),%eax
40b63f:	50                   	push   %eax
40b640:	68 00 00 f0 3f       	push   $0x3ff00000
40b645:	53                   	push   %ebx
40b646:	68 00 00 f0 3f       	push   $0x3ff00000
40b64b:	53                   	push   %ebx
40b64c:	68 00 00 f0 3f       	push   $0x3ff00000
40b651:	53                   	push   %ebx
40b652:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40b657:	68 00 00 f0 3f       	push   $0x3ff00000
40b65c:	53                   	push   %ebx
40b65d:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40b660:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40b663:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40b666:	89 4d c8             	mov    %ecx,-0x38(%ebp)
40b669:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40b66c:	ff 15 e0 10 40 00    	call   *0x4010e0
40b672:	ff 15 9c 10 40 00    	call   *0x40109c
40b678:	dc 1d 10 12 40 00    	fcompl 0x401210
40b67e:	df e0                	fnstsw %ax
40b680:	f6 c4 40             	test   $0x40,%ah
40b683:	75 07                	jne    0x40b68c
40b685:	be 01 00 00 00       	mov    $0x1,%esi
40b68a:	eb 02                	jmp    0x40b68e
40b68c:	33 f6                	xor    %esi,%esi
40b68e:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40b691:	51                   	push   %ecx
40b692:	8d 55 d0             	lea    -0x30(%ebp),%edx
40b695:	52                   	push   %edx
40b696:	6a 02                	push   $0x2
40b698:	ff 15 28 10 40 00    	call   *0x401028
40b69e:	f7 de                	neg    %esi
40b6a0:	83 c4 0c             	add    $0xc,%esp
40b6a3:	66 85 f6             	test   %si,%si
40b6a6:	0f 84 85 00 00 00    	je     0x40b731
40b6ac:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40b6b2:	75 10                	jne    0x40b6c4
40b6b4:	68 38 03 41 00       	push   $0x410338
40b6b9:	68 a8 7c 40 00       	push   $0x407ca8
40b6be:	ff 15 2c 11 40 00    	call   *0x40112c
40b6c4:	8b 35 38 03 41 00    	mov    0x410338,%esi
40b6ca:	8b 06                	mov    (%esi),%eax
40b6cc:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b6cf:	51                   	push   %ecx
40b6d0:	56                   	push   %esi
40b6d1:	ff 50 4c             	call   *0x4c(%eax)
40b6d4:	db e2                	fnclex
40b6d6:	3b c3                	cmp    %ebx,%eax
40b6d8:	7d 13                	jge    0x40b6ed
40b6da:	8b 3d 48 10 40 00    	mov    0x401048,%edi
40b6e0:	6a 4c                	push   $0x4c
40b6e2:	68 98 7c 40 00       	push   $0x407c98
40b6e7:	56                   	push   %esi
40b6e8:	50                   	push   %eax
40b6e9:	ff d7                	call   *%edi
40b6eb:	eb 06                	jmp    0x40b6f3
40b6ed:	8b 3d 48 10 40 00    	mov    0x401048,%edi
40b6f3:	8b 45 e0             	mov    -0x20(%ebp),%eax
40b6f6:	8b 10                	mov    (%eax),%edx
40b6f8:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b6fb:	51                   	push   %ecx
40b6fc:	68 0c 7e 40 00       	push   $0x407e0c
40b701:	68 ec 7d 40 00       	push   $0x407dec
40b706:	50                   	push   %eax
40b707:	8b f0                	mov    %eax,%esi
40b709:	ff 52 24             	call   *0x24(%edx)
40b70c:	db e2                	fnclex
40b70e:	3b c3                	cmp    %ebx,%eax
40b710:	7d 0b                	jge    0x40b71d
40b712:	6a 24                	push   $0x24
40b714:	68 20 7e 40 00       	push   $0x407e20
40b719:	56                   	push   %esi
40b71a:	50                   	push   %eax
40b71b:	ff d7                	call   *%edi
40b71d:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b720:	ff 15 a8 11 40 00    	call   *0x4011a8
40b726:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b729:	ff 15 ac 11 40 00    	call   *0x4011ac
40b72f:	eb 06                	jmp    0x40b737
40b731:	8b 3d 48 10 40 00    	mov    0x401048,%edi
40b737:	b8 0a 00 00 00       	mov    $0xa,%eax
40b73c:	8d 55 c0             	lea    -0x40(%ebp),%edx
40b73f:	52                   	push   %edx
40b740:	89 45 c0             	mov    %eax,-0x40(%ebp)
40b743:	89 45 d0             	mov    %eax,-0x30(%ebp)
40b746:	8d 45 d0             	lea    -0x30(%ebp),%eax
40b749:	50                   	push   %eax
40b74a:	68 00 00 f0 3f       	push   $0x3ff00000
40b74f:	53                   	push   %ebx
40b750:	68 00 00 f0 3f       	push   $0x3ff00000
40b755:	53                   	push   %ebx
40b756:	68 00 00 f0 3f       	push   $0x3ff00000
40b75b:	53                   	push   %ebx
40b75c:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40b761:	68 00 00 f0 3f       	push   $0x3ff00000
40b766:	53                   	push   %ebx
40b767:	89 4d c8             	mov    %ecx,-0x38(%ebp)
40b76a:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40b76d:	ff 15 e0 10 40 00    	call   *0x4010e0
40b773:	ff 15 9c 10 40 00    	call   *0x40109c
40b779:	dc 1d 10 12 40 00    	fcompl 0x401210
40b77f:	df e0                	fnstsw %ax
40b781:	f6 c4 40             	test   $0x40,%ah
40b784:	75 07                	jne    0x40b78d
40b786:	be 01 00 00 00       	mov    $0x1,%esi
40b78b:	eb 02                	jmp    0x40b78f
40b78d:	33 f6                	xor    %esi,%esi
40b78f:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40b792:	51                   	push   %ecx
40b793:	8d 55 d0             	lea    -0x30(%ebp),%edx
40b796:	52                   	push   %edx
40b797:	6a 02                	push   $0x2
40b799:	ff 15 28 10 40 00    	call   *0x401028
40b79f:	f7 de                	neg    %esi
40b7a1:	83 c4 0c             	add    $0xc,%esp
40b7a4:	66 85 f6             	test   %si,%si
40b7a7:	74 75                	je     0x40b81e
40b7a9:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40b7af:	75 10                	jne    0x40b7c1
40b7b1:	68 38 03 41 00       	push   $0x410338
40b7b6:	68 a8 7c 40 00       	push   $0x407ca8
40b7bb:	ff 15 2c 11 40 00    	call   *0x40112c
40b7c1:	8b 35 38 03 41 00    	mov    0x410338,%esi
40b7c7:	8b 06                	mov    (%esi),%eax
40b7c9:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b7cc:	51                   	push   %ecx
40b7cd:	56                   	push   %esi
40b7ce:	ff 50 4c             	call   *0x4c(%eax)
40b7d1:	db e2                	fnclex
40b7d3:	3b c3                	cmp    %ebx,%eax
40b7d5:	7d 0b                	jge    0x40b7e2
40b7d7:	6a 4c                	push   $0x4c
40b7d9:	68 98 7c 40 00       	push   $0x407c98