40b398:	52                   	push   %edx
40b399:	8d 55 b0             	lea    -0x50(%ebp),%edx
40b39c:	52                   	push   %edx
40b39d:	8d 55 c0             	lea    -0x40(%ebp),%edx
40b3a0:	52                   	push   %edx
40b3a1:	8d 55 d0             	lea    -0x30(%ebp),%edx
40b3a4:	52                   	push   %edx
40b3a5:	68 71 22 00 00       	push   $0x2271
40b3aa:	89 7d a8             	mov    %edi,-0x58(%ebp)
40b3ad:	89 75 a0             	mov    %esi,-0x60(%ebp)
40b3b0:	89 7d b8             	mov    %edi,-0x48(%ebp)
40b3b3:	89 75 b0             	mov    %esi,-0x50(%ebp)
40b3b6:	89 7d c8             	mov    %edi,-0x38(%ebp)
40b3b9:	89 75 c0             	mov    %esi,-0x40(%ebp)
40b3bc:	89 7d d8             	mov    %edi,-0x28(%ebp)
40b3bf:	89 75 d0             	mov    %esi,-0x30(%ebp)
40b3c2:	8b 08                	mov    (%eax),%ecx
40b3c4:	50                   	push   %eax
40b3c5:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
40b3cb:	ff 51 44             	call   *0x44(%ecx)
40b3ce:	db e2                	fnclex
40b3d0:	85 c0                	test   %eax,%eax
40b3d2:	7d 15                	jge    0x40b3e9
40b3d4:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
40b3da:	6a 44                	push   $0x44
40b3dc:	68 d0 7d 40 00       	push   $0x407dd0
40b3e1:	51                   	push   %ecx
40b3e2:	50                   	push   %eax
40b3e3:	ff 15 48 10 40 00    	call   *0x401048
40b3e9:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b3ec:	ff 15 ac 11 40 00    	call   *0x4011ac
40b3f2:	8d 55 a0             	lea    -0x60(%ebp),%edx
40b3f5:	52                   	push   %edx
40b3f6:	8d 45 b0             	lea    -0x50(%ebp),%eax
40b3f9:	50                   	push   %eax
40b3fa:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40b3fd:	51                   	push   %ecx
40b3fe:	8d 55 d0             	lea    -0x30(%ebp),%edx
40b401:	52                   	push   %edx
40b402:	6a 04                	push   $0x4
40b404:	ff 15 28 10 40 00    	call   *0x401028
40b40a:	83 c4 14             	add    $0x14,%esp
40b40d:	68 94 77 40 00       	push   $0x407794
40b412:	ff 15 2c 11 40 00    	call   *0x40112c
40b418:	dc 1d d8 11 40 00    	fcompl 0x4011d8
40b41e:	df e0                	fnstsw %ax
40b420:	f6 c4 40             	test   $0x40,%ah
40b423:	75 7b                	jne    0x40b4a0
40b425:	ff 15 5c 11 40 00    	call   *0x40115c
40b42b:	50                   	push   %eax
40b42c:	8d 45 e0             	lea    -0x20(%ebp),%eax
40b42f:	50                   	push   %eax
40b430:	ff d3                	call   *%ebx
40b432:	8b d8                	mov    %eax,%ebx
40b434:	8d 55 a0             	lea    -0x60(%ebp),%edx
40b437:	52                   	push   %edx
40b438:	8d 45 b0             	lea    -0x50(%ebp),%eax
40b43b:	50                   	push   %eax
40b43c:	8d 55 c0             	lea    -0x40(%ebp),%edx
40b43f:	52                   	push   %edx
40b440:	8d 45 d0             	lea    -0x30(%ebp),%eax
40b443:	50                   	push   %eax
40b444:	68 86 46 00 00       	push   $0x4686
40b449:	89 7d a8             	mov    %edi,-0x58(%ebp)
40b44c:	89 75 a0             	mov    %esi,-0x60(%ebp)
40b44f:	89 7d b8             	mov    %edi,-0x48(%ebp)
40b452:	89 75 b0             	mov    %esi,-0x50(%ebp)
40b455:	89 7d c8             	mov    %edi,-0x38(%ebp)
40b458:	89 75 c0             	mov    %esi,-0x40(%ebp)
40b45b:	89 7d d8             	mov    %edi,-0x28(%ebp)
40b45e:	89 75 d0             	mov    %esi,-0x30(%ebp)
40b461:	8b 0b                	mov    (%ebx),%ecx
40b463:	53                   	push   %ebx
40b464:	ff 51 44             	call   *0x44(%ecx)
40b467:	db e2                	fnclex
40b469:	85 c0                	test   %eax,%eax
40b46b:	7d 0f                	jge    0x40b47c
40b46d:	6a 44                	push   $0x44
40b46f:	68 d0 7d 40 00       	push   $0x407dd0
40b474:	53                   	push   %ebx
40b475:	50                   	push   %eax
40b476:	ff 15 48 10 40 00    	call   *0x401048
40b47c:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b47f:	ff 15 ac 11 40 00    	call   *0x4011ac
40b485:	8d 4d a0             	lea    -0x60(%ebp),%ecx
40b488:	51                   	push   %ecx
40b489:	8d 55 b0             	lea    -0x50(%ebp),%edx
40b48c:	52                   	push   %edx
40b48d:	8d 45 c0             	lea    -0x40(%ebp),%eax
40b490:	50                   	push   %eax
40b491:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40b494:	51                   	push   %ecx
40b495:	6a 04                	push   $0x4
40b497:	ff 15 28 10 40 00    	call   *0x401028
40b49d:	83 c4 14             	add    $0x14,%esp
40b4a0:	9b                   	fwait
40b4a1:	68 d7 b4 40 00       	push   $0x40b4d7
40b4a6:	eb 25                	jmp    0x40b4cd
40b4a8:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b4ab:	ff 15 ac 11 40 00    	call   *0x4011ac
40b4b1:	8d 55 a0             	lea    -0x60(%ebp),%edx
40b4b4:	52                   	push   %edx
40b4b5:	8d 45 b0             	lea    -0x50(%ebp),%eax
40b4b8:	50                   	push   %eax
40b4b9:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40b4bc:	51                   	push   %ecx
40b4bd:	8d 55 d0             	lea    -0x30(%ebp),%edx
40b4c0:	52                   	push   %edx
40b4c1:	6a 04                	push   $0x4
40b4c3:	ff 15 28 10 40 00    	call   *0x401028
40b4c9:	83 c4 14             	add    $0x14,%esp
40b4cc:	c3                   	ret
40b4cd:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40b4d0:	ff 15 a8 11 40 00    	call   *0x4011a8
40b4d6:	c3                   	ret
40b4d7:	8b 45 24             	mov    0x24(%ebp),%eax
40b4da:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40b4dd:	8b 55 e8             	mov    -0x18(%ebp),%edx
40b4e0:	89 08                	mov    %ecx,(%eax)
40b4e2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40b4e5:	5f                   	pop    %edi
40b4e6:	89 50 04             	mov    %edx,0x4(%eax)
40b4e9:	5e                   	pop    %esi
40b4ea:	33 c0                	xor    %eax,%eax
40b4ec:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40b4f3:	5b                   	pop    %ebx
40b4f4:	8b e5                	mov    %ebp,%esp
40b4f6:	5d                   	pop    %ebp
40b4f7:	c2 20 00             	ret    $0x20
40b4fa:	90                   	nop
40b4fb:	90                   	nop
40b4fc:	90                   	nop
40b4fd:	90                   	nop
40b4fe:	90                   	nop
40b4ff:	90                   	nop
40b500:	55                   	push   %ebp
40b501:	8b ec                	mov    %esp,%ebp
40b503:	83 ec 0c             	sub    $0xc,%esp
40b506:	68 c6 12 40 00       	push   $0x4012c6
40b50b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40b511:	50                   	push   %eax
40b512:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40b519:	83 ec 58             	sub    $0x58,%esp
40b51c:	53                   	push   %ebx
40b51d:	56                   	push   %esi
40b51e:	57                   	push   %edi
40b51f:	89 65 f4             	mov    %esp,-0xc(%ebp)
40b522:	c7 45 f8 00 12 40 00 	movl   $0x401200,-0x8(%ebp)
40b529:	33 f6                	xor    %esi,%esi
40b52b:	89 75 fc             	mov    %esi,-0x4(%ebp)
40b52e:	8b 45 08             	mov    0x8(%ebp),%eax
40b531:	8b 08                	mov    (%eax),%ecx
40b533:	50                   	push   %eax
40b534:	ff 51 04             	call   *0x4(%ecx)
40b537:	6a 08                	push   $0x8
40b539:	68 ec 7d 40 00       	push   $0x407dec
40b53e:	8d 55 d0             	lea    -0x30(%ebp),%edx
40b541:	52                   	push   %edx
40b542:	89 75 e8             	mov    %esi,-0x18(%ebp)
40b545:	89 75 c4             	mov    %esi,-0x3c(%ebp)
40b548:	89 75 c8             	mov    %esi,-0x38(%ebp)
40b54b:	89 75 b4             	mov    %esi,-0x4c(%ebp)
40b54e:	89 75 a4             	mov    %esi,-0x5c(%ebp)
40b551:	89 75 a0             	mov    %esi,-0x60(%ebp)
40b554:	89 75 9c             	mov    %esi,-0x64(%ebp)
40b557:	ff 15 bc 10 40 00    	call   *0x4010bc
40b55d:	56                   	push   %esi
40b55e:	6a ff                	push   $0xffffffff
40b560:	8d 45 d0             	lea    -0x30(%ebp),%eax
40b563:	68 e4 7d 40 00       	push   $0x407de4
40b568:	8d 55 a4             	lea    -0x5c(%ebp),%edx
40b56b:	89 45 a0             	mov    %eax,-0x60(%ebp)
40b56e:	52                   	push   %edx
40b56f:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40b572:	8d 4d a0             	lea    -0x60(%ebp),%ecx
40b575:	50                   	push   %eax
40b576:	89 4d ac             	mov    %ecx,-0x54(%ebp)
40b579:	c7 45 a4 08 60 00 00 	movl   $0x6008,-0x5c(%ebp)
40b580:	ff 15 98 10 40 00    	call   *0x401098
40b586:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
40b589:	51                   	push   %ecx
40b58a:	68 08 20 00 00       	push   $0x2008
40b58f:	ff 15 5c 10 40 00    	call   *0x40105c
40b595:	8d 55 9c             	lea    -0x64(%ebp),%edx
40b598:	89 45 9c             	mov    %eax,-0x64(%ebp)
40b59b:	52                   	push   %edx
40b59c:	8d 45 e8             	lea    -0x18(%ebp),%eax
40b59f:	50                   	push   %eax
40b5a0:	ff 15 88 11 40 00    	call   *0x401188
40b5a6:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
40b5a9:	ff 15 14 10 40 00    	call   *0x401014
40b5af:	9b                   	fwait
40b5b0:	68 de b5 40 00       	push   $0x40b5de
40b5b5:	eb 0a                	jmp    0x40b5c1
40b5b7:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
40b5ba:	ff 15 14 10 40 00    	call   *0x401014
40b5c0:	c3                   	ret
40b5c1:	8b 3d 68 10 40 00    	mov    0x401068,%edi
40b5c7:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40b5ca:	51                   	push   %ecx
40b5cb:	33 f6                	xor    %esi,%esi
40b5cd:	56                   	push   %esi
40b5ce:	ff d7                	call   *%edi
40b5d0:	8d 45 a0             	lea    -0x60(%ebp),%eax
40b5d3:	50                   	push   %eax
40b5d4:	8d 55 d0             	lea    -0x30(%ebp),%edx
40b5d7:	56                   	push   %esi
40b5d8:	89 55 a0             	mov    %edx,-0x60(%ebp)
40b5db:	ff d7                	call   *%edi
40b5dd:	c3                   	ret
40b5de:	8b 45 08             	mov    0x8(%ebp),%eax
40b5e1:	8b 08                	mov    (%eax),%ecx
40b5e3:	50                   	push   %eax
40b5e4:	ff 51 08             	call   *0x8(%ecx)
40b5e7:	8b 45 10             	mov    0x10(%ebp),%eax
40b5ea:	8b 55 c4             	mov    -0x3c(%ebp),%edx
40b5ed:	8b 4d c8             	mov    -0x38(%ebp),%ecx
40b5f0:	89 10                	mov    %edx,(%eax)
40b5f2:	89 48 04             	mov    %ecx,0x4(%eax)
40b5f5:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b5f8:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40b5fb:	5f                   	pop    %edi
40b5fc:	5e                   	pop    %esi
40b5fd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40b604:	5b                   	pop    %ebx
40b605:	8b e5                	mov    %ebp,%esp
40b607:	5d                   	pop    %ebp
40b608:	c2 0c 00             	ret    $0xc
40b60b:	90                   	nop
40b60c:	90                   	nop
40b60d:	90                   	nop
40b60e:	90                   	nop
40b60f:	90                   	nop
40b610:	55                   	push   %ebp
40b611:	8b ec                	mov    %esp,%ebp
40b613:	83 ec 0c             	sub    $0xc,%esp
40b616:	68 c6 12 40 00       	push   $0x4012c6
40b61b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40b621:	50                   	push   %eax
40b622:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40b629:	83 ec 64             	sub    $0x64,%esp
40b62c:	53                   	push   %ebx
40b62d:	56                   	push   %esi
40b62e:	57                   	push   %edi
40b62f:	89 65 f4             	mov    %esp,-0xc(%ebp)
40b632:	c7 45 f8 18 12 40 00 	movl   $0x401218,-0x8(%ebp)
40b639:	33 db                	xor    %ebx,%ebx
40b63b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40b63e:	8b 45 08             	mov    0x8(%ebp),%eax
40b641:	8b 08                	mov    (%eax),%ecx
40b643:	50                   	push   %eax
40b644:	ff 51 04             	call   *0x4(%ecx)
40b647:	b8 0a 00 00 00       	mov    $0xa,%eax
40b64c:	89 5d d0             	mov    %ebx,-0x30(%ebp)
40b64f:	89 5d c0             	mov    %ebx,-0x40(%ebp)
40b652:	8d 55 c0             	lea    -0x40(%ebp),%edx
40b655:	52                   	push   %edx
40b656:	89 45 c0             	mov    %eax,-0x40(%ebp)
40b659:	89 45 d0             	mov    %eax,-0x30(%ebp)
40b65c:	8d 45 d0             	lea    -0x30(%ebp),%eax
40b65f:	50                   	push   %eax
40b660:	68 00 00 f0 3f       	push   $0x3ff00000
40b665:	53                   	push   %ebx
40b666:	68 00 00 f0 3f       	push   $0x3ff00000
40b66b:	53                   	push   %ebx
40b66c:	68 00 00 f0 3f       	push   $0x3ff00000
40b671:	53                   	push   %ebx
40b672:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40b677:	68 00 00 f0 3f       	push   $0x3ff00000
40b67c:	53                   	push   %ebx
40b67d:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40b680:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40b683:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40b686:	89 4d c8             	mov    %ecx,-0x38(%ebp)
40b689:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40b68c:	ff 15 dc 10 40 00    	call   *0x4010dc
40b692:	ff 15 9c 10 40 00    	call   *0x40109c
40b698:	dc 1d 10 12 40 00    	fcompl 0x401210
40b69e:	df e0                	fnstsw %ax
40b6a0:	f6 c4 40             	test   $0x40,%ah
40b6a3:	75 07                	jne    0x40b6ac
40b6a5:	be 01 00 00 00       	mov    $0x1,%esi
40b6aa:	eb 02                	jmp    0x40b6ae
40b6ac:	33 f6                	xor    %esi,%esi
40b6ae:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40b6b1:	51                   	push   %ecx
40b6b2:	8d 55 d0             	lea    -0x30(%ebp),%edx
40b6b5:	52                   	push   %edx
40b6b6:	6a 02                	push   $0x2
40b6b8:	ff 15 28 10 40 00    	call   *0x401028
40b6be:	f7 de                	neg    %esi
40b6c0:	83 c4 0c             	add    $0xc,%esp
40b6c3:	66 85 f6             	test   %si,%si
40b6c6:	0f 84 85 00 00 00    	je     0x40b751
40b6cc:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40b6d2:	75 10                	jne    0x40b6e4
40b6d4:	68 38 03 41 00       	push   $0x410338
40b6d9:	68 c4 7c 40 00       	push   $0x407cc4
40b6de:	ff 15 28 11 40 00    	call   *0x401128
40b6e4:	8b 35 38 03 41 00    	mov    0x410338,%esi
40b6ea:	8b 06                	mov    (%esi),%eax
40b6ec:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b6ef:	51                   	push   %ecx
40b6f0:	56                   	push   %esi
40b6f1:	ff 50 4c             	call   *0x4c(%eax)
40b6f4:	db e2                	fnclex
40b6f6:	3b c3                	cmp    %ebx,%eax
40b6f8:	7d 13                	jge    0x40b70d
40b6fa:	8b 3d 48 10 40 00    	mov    0x401048,%edi
40b700:	6a 4c                	push   $0x4c
40b702:	68 b4 7c 40 00       	push   $0x407cb4
40b707:	56                   	push   %esi
40b708:	50                   	push   %eax
40b709:	ff d7                	call   *%edi
40b70b:	eb 06                	jmp    0x40b713
40b70d:	8b 3d 48 10 40 00    	mov    0x401048,%edi
40b713:	8b 45 e0             	mov    -0x20(%ebp),%eax
40b716:	8b 10                	mov    (%eax),%edx
40b718:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b71b:	51                   	push   %ecx
40b71c:	68 28 7e 40 00       	push   $0x407e28
40b721:	68 08 7e 40 00       	push   $0x407e08
40b726:	50                   	push   %eax
40b727:	8b f0                	mov    %eax,%esi
40b729:	ff 52 24             	call   *0x24(%edx)
40b72c:	db e2                	fnclex
40b72e:	3b c3                	cmp    %ebx,%eax
40b730:	7d 0b                	jge    0x40b73d
40b732:	6a 24                	push   $0x24
40b734:	68 3c 7e 40 00       	push   $0x407e3c
40b739:	56                   	push   %esi
40b73a:	50                   	push   %eax
40b73b:	ff d7                	call   *%edi
40b73d:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b740:	ff 15 a8 11 40 00    	call   *0x4011a8
40b746:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b749:	ff 15 ac 11 40 00    	call   *0x4011ac
40b74f:	eb 06                	jmp    0x40b757
40b751:	8b 3d 48 10 40 00    	mov    0x401048,%edi
40b757:	b8 0a 00 00 00       	mov    $0xa,%eax
40b75c:	8d 55 c0             	lea    -0x40(%ebp),%edx
40b75f:	52                   	push   %edx
40b760:	89 45 c0             	mov    %eax,-0x40(%ebp)
40b763:	89 45 d0             	mov    %eax,-0x30(%ebp)
40b766:	8d 45 d0             	lea    -0x30(%ebp),%eax
40b769:	50                   	push   %eax
40b76a:	68 00 00 f0 3f       	push   $0x3ff00000
40b76f:	53                   	push   %ebx
40b770:	68 00 00 f0 3f       	push   $0x3ff00000
40b775:	53                   	push   %ebx