40b46b:	7d 0f                	jge    0x40b47c
40b46d:	6a 44                	push   $0x44
40b46f:	68 bc 7d 40 00       	push   $0x407dbc
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 b0 11 40 00    	call   *0x4011b0
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 b0 11 40 00    	call   *0x4011b0
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 ac 11 40 00    	call   *0x4011ac
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 b6 12 40 00       	push   $0x4012b6
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 d8 7d 40 00       	push   $0x407dd8
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 d0 7d 40 00       	push   $0x407dd0
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 b6 12 40 00       	push   $0x4012b6
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 b0 7c 40 00       	push   $0x407cb0
40b6de:	ff 15 24 11 40 00    	call   *0x401124
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 a0 7c 40 00       	push   $0x407ca0
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 14 7e 40 00       	push   $0x407e14
40b721:	68 f4 7d 40 00       	push   $0x407df4
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 28 7e 40 00       	push   $0x407e28
40b739:	56                   	push   %esi
40b73a:	50                   	push   %eax
40b73b:	ff d7                	call   *%edi
40b73d:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b740:	ff 15 ac 11 40 00    	call   *0x4011ac
40b746:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b749:	ff 15 b0 11 40 00    	call   *0x4011b0
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
40b776:	68 00 00 f0 3f       	push   $0x3ff00000
40b77b:	53                   	push   %ebx
40b77c:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40b781:	68 00 00 f0 3f       	push   $0x3ff00000
40b786:	53                   	push   %ebx
40b787:	89 4d c8             	mov    %ecx,-0x38(%ebp)
40b78a:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40b78d:	ff 15 dc 10 40 00    	call   *0x4010dc
40b793:	ff 15 9c 10 40 00    	call   *0x40109c
40b799:	dc 1d 10 12 40 00    	fcompl 0x401210
40b79f:	df e0                	fnstsw %ax
40b7a1:	f6 c4 40             	test   $0x40,%ah
40b7a4:	75 07                	jne    0x40b7ad
40b7a6:	be 01 00 00 00       	mov    $0x1,%esi
40b7ab:	eb 02                	jmp    0x40b7af
40b7ad:	33 f6                	xor    %esi,%esi
40b7af:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40b7b2:	51                   	push   %ecx
40b7b3:	8d 55 d0             	lea    -0x30(%ebp),%edx
40b7b6:	52                   	push   %edx
40b7b7:	6a 02                	push   $0x2
40b7b9:	ff 15 28 10 40 00    	call   *0x401028
40b7bf:	f7 de                	neg    %esi
40b7c1:	83 c4 0c             	add    $0xc,%esp
40b7c4:	66 85 f6             	test   %si,%si
40b7c7:	74 75                	je     0x40b83e
40b7c9:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40b7cf:	75 10                	jne    0x40b7e1
40b7d1:	68 38 03 41 00       	push   $0x410338
40b7d6:	68 b0 7c 40 00       	push   $0x407cb0
40b7db:	ff 15 24 11 40 00    	call   *0x401124
40b7e1:	8b 35 38 03 41 00    	mov    0x410338,%esi
40b7e7:	8b 06                	mov    (%esi),%eax
40b7e9:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b7ec:	51                   	push   %ecx
40b7ed:	56                   	push   %esi
40b7ee:	ff 50 4c             	call   *0x4c(%eax)
40b7f1:	db e2                	fnclex
40b7f3:	3b c3                	cmp    %ebx,%eax
40b7f5:	7d 0b                	jge    0x40b802
40b7f7:	6a 4c                	push   $0x4c
40b7f9:	68 a0 7c 40 00       	push   $0x407ca0
40b7fe:	56                   	push   %esi
40b7ff:	50                   	push   %eax
40b800:	ff d7                	call   *%edi
40b802:	8b 45 e0             	mov    -0x20(%ebp),%eax
40b805:	8b 10                	mov    (%eax),%edx
40b807:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b80a:	51                   	push   %ecx
40b80b:	68 54 7e 40 00       	push   $0x407e54
40b810:	68 3c 7e 40 00       	push   $0x407e3c
40b815:	50                   	push   %eax
40b816:	8b f0                	mov    %eax,%esi
40b818:	ff 52 24             	call   *0x24(%edx)
40b81b:	db e2                	fnclex
40b81d:	3b c3                	cmp    %ebx,%eax
40b81f:	7d 0b                	jge    0x40b82c
40b821:	6a 24                	push   $0x24
40b823:	68 28 7e 40 00       	push   $0x407e28
40b828:	56                   	push   %esi
40b829:	50                   	push   %eax
40b82a:	ff d7                	call   *%edi
40b82c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b82f:	ff 15 ac 11 40 00    	call   *0x4011ac
40b835:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b838:	ff 15 b0 11 40 00    	call   *0x4011b0
40b83e:	b8 0a 00 00 00       	mov    $0xa,%eax
40b843:	8d 55 c0             	lea    -0x40(%ebp),%edx
40b846:	52                   	push   %edx
40b847:	89 45 c0             	mov    %eax,-0x40(%ebp)
40b84a:	89 45 d0             	mov    %eax,-0x30(%ebp)
40b84d:	8d 45 d0             	lea    -0x30(%ebp),%eax
40b850:	50                   	push   %eax
40b851:	68 00 00 f0 3f       	push   $0x3ff00000
40b856:	53                   	push   %ebx
40b857:	68 00 00 f0 3f       	push   $0x3ff00000