40e42b:	80 00 00
40e42e:	ff 15 18 11 40 00    	call   *0x401118
40e434:	8d 8d 30 ff ff ff    	lea    -0xd0(%ebp),%ecx
40e43a:	51                   	push   %ecx
40e43b:	8d 95 40 ff ff ff    	lea    -0xc0(%ebp),%edx
40e441:	52                   	push   %edx
40e442:	6a 02                	push   $0x2
40e444:	8b f0                	mov    %eax,%esi
40e446:	ff 15 18 10 40 00    	call   *0x401018
40e44c:	83 c4 0c             	add    $0xc,%esp
40e44f:	66 3b f3             	cmp    %bx,%si
40e452:	74 41                	je     0x40e495
40e454:	dd 05 a8 11 40 00    	fldl   0x4011a8
40e45a:	8b 0f                	mov    (%edi),%ecx
40e45c:	df e0                	fnstsw %ax
40e45e:	a8 0d                	test   $0xd,%al
40e460:	0f 85 2d 11 00 00    	jne    0x40f593
40e466:	d9 9d 70 fe ff ff    	fstps  -0x190(%ebp)
40e46c:	d9 85 70 fe ff ff    	flds   -0x190(%ebp)
40e472:	51                   	push   %ecx
40e473:	d9 1c 24             	fstps  (%esp)
40e476:	57                   	push   %edi
40e477:	ff 91 84 00 00 00    	call   *0x84(%ecx)
40e47d:	db e2                	fnclex
40e47f:	3b c3                	cmp    %ebx,%eax
40e481:	7d 12                	jge    0x40e495
40e483:	68 84 00 00 00       	push   $0x84
40e488:	68 9c d7 40 00       	push   $0x40d79c
40e48d:	57                   	push   %edi
40e48e:	50                   	push   %eax
40e48f:	ff 15 38 10 40 00    	call   *0x401038
40e495:	8d 95 40 ff ff ff    	lea    -0xc0(%ebp),%edx
40e49b:	52                   	push   %edx
40e49c:	68 00 00 f0 3f       	push   $0x3ff00000
40e4a1:	53                   	push   %ebx
40e4a2:	68 00 00 f0 3f       	push   $0x3ff00000
40e4a7:	53                   	push   %ebx
40e4a8:	68 00 00 f0 3f       	push   $0x3ff00000
40e4ad:	53                   	push   %ebx
40e4ae:	68 00 00 28 40       	push   $0x40280000
40e4b3:	be 01 00 00 00       	mov    $0x1,%esi
40e4b8:	53                   	push   %ebx
40e4b9:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40e4bf:	c7 85 40 ff ff ff 02 	movl   $0x2,-0xc0(%ebp)
40e4c6:	00 00 00
40e4c9:	ff 15 9c 10 40 00    	call   *0x40109c
40e4cf:	ff 15 6c 10 40 00    	call   *0x40106c
40e4d5:	dc 1d a0 11 40 00    	fcompl 0x4011a0
40e4db:	df e0                	fnstsw %ax
40e4dd:	f6 c4 40             	test   $0x40,%ah
40e4e0:	74 02                	je     0x40e4e4
40e4e2:	33 f6                	xor    %esi,%esi
40e4e4:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
40e4ea:	ff 15 14 10 40 00    	call   *0x401014
40e4f0:	f7 de                	neg    %esi
40e4f2:	66 85 f6             	test   %si,%si
40e4f5:	0f 84 ab 00 00 00    	je     0x40e5a6
40e4fb:	39 1d 20 07 41 00    	cmp    %ebx,0x410720
40e501:	75 10                	jne    0x40e513
40e503:	68 20 07 41 00       	push   $0x410720
40e508:	68 94 d9 40 00       	push   $0x40d994
40e50d:	ff 15 e8 10 40 00    	call   *0x4010e8
40e513:	8b 35 20 07 41 00    	mov    0x410720,%esi
40e519:	8b 06                	mov    (%esi),%eax
40e51b:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
40e521:	51                   	push   %ecx
40e522:	56                   	push   %esi
40e523:	ff 50 1c             	call   *0x1c(%eax)
40e526:	db e2                	fnclex
40e528:	3b c3                	cmp    %ebx,%eax
40e52a:	7d 0f                	jge    0x40e53b
40e52c:	6a 1c                	push   $0x1c
40e52e:	68 84 d9 40 00       	push   $0x40d984
40e533:	56                   	push   %esi
40e534:	50                   	push   %eax
40e535:	ff 15 38 10 40 00    	call   *0x401038
40e53b:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
40e541:	83 ec 10             	sub    $0x10,%esp
40e544:	8b dc                	mov    %esp,%ebx
40e546:	ba 0a 00 00 00       	mov    $0xa,%edx
40e54b:	89 13                	mov    %edx,(%ebx)
40e54d:	89 95 fc fe ff ff    	mov    %edx,-0x104(%ebp)
40e553:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
40e559:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40e55e:	89 53 04             	mov    %edx,0x4(%ebx)
40e561:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
40e567:	8b 38                	mov    (%eax),%edi
40e569:	89 4b 08             	mov    %ecx,0x8(%ebx)
40e56c:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
40e572:	68 d0 d9 40 00       	push   $0x40d9d0
40e577:	50                   	push   %eax
40e578:	8b f0                	mov    %eax,%esi
40e57a:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40e57d:	ff 57 60             	call   *0x60(%edi)
40e580:	db e2                	fnclex
40e582:	33 db                	xor    %ebx,%ebx
40e584:	3b c3                	cmp    %ebx,%eax
40e586:	7d 0f                	jge    0x40e597
40e588:	6a 60                	push   $0x60
40e58a:	68 1c da 40 00       	push   $0x40da1c
40e58f:	56                   	push   %esi
40e590:	50                   	push   %eax
40e591:	ff 15 38 10 40 00    	call   *0x401038
40e597:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
40e59d:	ff 15 5c 11 40 00    	call   *0x40115c
40e5a3:	8b 7d 08             	mov    0x8(%ebp),%edi
40e5a6:	39 1d 20 07 41 00    	cmp    %ebx,0x410720
40e5ac:	75 10                	jne    0x40e5be
40e5ae:	68 20 07 41 00       	push   $0x410720
40e5b3:	68 94 d9 40 00       	push   $0x40d994
40e5b8:	ff 15 e8 10 40 00    	call   *0x4010e8
40e5be:	8b 35 20 07 41 00    	mov    0x410720,%esi
40e5c4:	8b 16                	mov    (%esi),%edx
40e5c6:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
40e5cc:	50                   	push   %eax
40e5cd:	56                   	push   %esi
40e5ce:	ff 52 14             	call   *0x14(%edx)
40e5d1:	db e2                	fnclex
40e5d3:	3b c3                	cmp    %ebx,%eax
40e5d5:	7d 0f                	jge    0x40e5e6
40e5d7:	6a 14                	push   $0x14
40e5d9:	68 84 d9 40 00       	push   $0x40d984
40e5de:	56                   	push   %esi
40e5df:	50                   	push   %eax
40e5e0:	ff 15 38 10 40 00    	call   *0x401038
40e5e6:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
40e5ec:	8b 08                	mov    (%eax),%ecx
40e5ee:	8d 95 a8 fe ff ff    	lea    -0x158(%ebp),%edx
40e5f4:	52                   	push   %edx
40e5f5:	50                   	push   %eax
40e5f6:	8b f0                	mov    %eax,%esi
40e5f8:	ff 91 18 01 00 00    	call   *0x118(%ecx)
40e5fe:	db e2                	fnclex
40e600:	3b c3                	cmp    %ebx,%eax
40e602:	7d 12                	jge    0x40e616
40e604:	68 18 01 00 00       	push   $0x118
40e609:	68 b4 d9 40 00       	push   $0x40d9b4
40e60e:	56                   	push   %esi
40e60f:	50                   	push   %eax
40e610:	ff 15 38 10 40 00    	call   *0x401038
40e616:	8b 8d a8 fe ff ff    	mov    -0x158(%ebp),%ecx
40e61c:	ff 15 90 10 40 00    	call   *0x401090
40e622:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
40e628:	ff 15 5c 11 40 00    	call   *0x40115c
40e62e:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
40e634:	50                   	push   %eax
40e635:	ff 15 20 11 40 00    	call   *0x401120
40e63b:	6a 01                	push   $0x1
40e63d:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
40e643:	51                   	push   %ecx
40e644:	8d 95 30 ff ff ff    	lea    -0xd0(%ebp),%edx
40e64a:	52                   	push   %edx
40e64b:	ff 15 34 10 40 00    	call   *0x401034
40e651:	8d 95 30 ff ff ff    	lea    -0xd0(%ebp),%edx
40e657:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40e65a:	ff 15 10 10 40 00    	call   *0x401010
40e660:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
40e666:	ff 15 14 10 40 00    	call   *0x401014
40e66c:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
40e672:	89 18                	mov    %ebx,(%eax)
40e674:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
40e67a:	c7 41 04 00 00 f0 3f 	movl   $0x3ff00000,0x4(%ecx)
40e681:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
40e687:	89 5a 08             	mov    %ebx,0x8(%edx)
40e68a:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
40e690:	8d 95 a8 fe ff ff    	lea    -0x158(%ebp),%edx
40e696:	52                   	push   %edx
40e697:	68 00 00 f0 3f       	push   $0x3ff00000
40e69c:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
40e6a2:	c7 40 0c 00 00 00 40 	movl   $0x40000000,0xc(%eax)
40e6a9:	53                   	push   %ebx
40e6aa:	89 8d a8 fe ff ff    	mov    %ecx,-0x158(%ebp)
40e6b0:	ff 15 0c 11 40 00    	call   *0x40110c
40e6b6:	ff 15 6c 10 40 00    	call   *0x40106c
40e6bc:	dc 1d 98 11 40 00    	fcompl 0x401198
40e6c2:	df e0                	fnstsw %ax
40e6c4:	f6 c4 40             	test   $0x40,%ah
40e6c7:	0f 85 b8 00 00 00    	jne    0x40e785
40e6cd:	83 ec 10             	sub    $0x10,%esp
40e6d0:	8b dc                	mov    %esp,%ebx
40e6d2:	b9 09 00 00 00       	mov    $0x9,%ecx
40e6d7:	89 0b                	mov    %ecx,(%ebx)
40e6d9:	89 8d fc fe ff ff    	mov    %ecx,-0x104(%ebp)
40e6df:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
40e6e5:	89 4b 04             	mov    %ecx,0x4(%ebx)
40e6e8:	8b c7                	mov    %edi,%eax
40e6ea:	89 43 08             	mov    %eax,0x8(%ebx)
40e6ed:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
40e6f3:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
40e6f9:	89 43 0c             	mov    %eax,0xc(%ebx)
40e6fc:	8b 85 e0 fe ff ff    	mov    -0x120(%ebp),%eax
40e702:	83 ec 10             	sub    $0x10,%esp
40e705:	8b cc                	mov    %esp,%ecx
40e707:	be 08 00 00 00       	mov    $0x8,%esi
40e70c:	89 31                	mov    %esi,(%ecx)
40e70e:	89 41 04             	mov    %eax,0x4(%ecx)
40e711:	ba 30 da 40 00       	mov    $0x40da30,%edx
40e716:	89 51 08             	mov    %edx,0x8(%ecx)
40e719:	89 95 e4 fe ff ff    	mov    %edx,-0x11c(%ebp)
40e71f:	8b 95 e8 fe ff ff    	mov    -0x118(%ebp),%edx
40e725:	89 51 0c             	mov    %edx,0xc(%ecx)
40e728:	8b 95 c0 fe ff ff    	mov    -0x140(%ebp),%edx
40e72e:	83 ec 10             	sub    $0x10,%esp
40e731:	8b c4                	mov    %esp,%eax
40e733:	c7 85 bc fe ff ff 03 	movl   $0x3,-0x144(%ebp)
40e73a:	00 00 00
40e73d:	8b 8d bc fe ff ff    	mov    -0x144(%ebp),%ecx
40e743:	89 08                	mov    %ecx,(%eax)
40e745:	8b 8d c8 fe ff ff    	mov    -0x138(%ebp),%ecx
40e74b:	89 50 04             	mov    %edx,0x4(%eax)
40e74e:	6a 03                	push   $0x3
40e750:	bf 4f 1d 5b 00       	mov    $0x5b1d4f,%edi
40e755:	68 60 da 40 00       	push   $0x40da60
40e75a:	8d 55 94             	lea    -0x6c(%ebp),%edx
40e75d:	89 78 08             	mov    %edi,0x8(%eax)
40e760:	52                   	push   %edx
40e761:	89 b5 dc fe ff ff    	mov    %esi,-0x124(%ebp)
40e767:	89 bd c4 fe ff ff    	mov    %edi,-0x13c(%ebp)
40e76d:	89 48 0c             	mov    %ecx,0xc(%eax)
40e770:	ff 15 94 10 40 00    	call   *0x401094
40e776:	50                   	push   %eax
40e777:	ff 15 24 11 40 00    	call   *0x401124
40e77d:	8b 7d 08             	mov    0x8(%ebp),%edi
40e780:	83 c4 3c             	add    $0x3c,%esp
40e783:	33 db                	xor    %ebx,%ebx
40e785:	8b 07                	mov    (%edi),%eax
40e787:	8d 8d a8 fe ff ff    	lea    -0x158(%ebp),%ecx
40e78d:	51                   	push   %ecx
40e78e:	57                   	push   %edi
40e78f:	ff 90 b0 00 00 00    	call   *0xb0(%eax)
40e795:	db e2                	fnclex
40e797:	3b c3                	cmp    %ebx,%eax
40e799:	7d 12                	jge    0x40e7ad
40e79b:	68 b0 00 00 00       	push   $0xb0
40e7a0:	68 9c d7 40 00       	push   $0x40d79c
40e7a5:	57                   	push   %edi
40e7a6:	50                   	push   %eax
40e7a7:	ff 15 38 10 40 00    	call   *0x401038
40e7ad:	d9 85 a8 fe ff ff    	flds   -0x158(%ebp)
40e7b3:	d8 1d 90 11 40 00    	fcomps 0x401190
40e7b9:	df e0                	fnstsw %ax
40e7bb:	f6 c4 40             	test   $0x40,%ah
40e7be:	0f 84 90 00 00 00    	je     0x40e854
40e7c4:	39 1d 20 07 41 00    	cmp    %ebx,0x410720
40e7ca:	75 10                	jne    0x40e7dc
40e7cc:	68 20 07 41 00       	push   $0x410720
40e7d1:	68 94 d9 40 00       	push   $0x40d994
40e7d6:	ff 15 e8 10 40 00    	call   *0x4010e8
40e7dc:	8b 35 20 07 41 00    	mov    0x410720,%esi
40e7e2:	8d 9d 54 ff ff ff    	lea    -0xac(%ebp),%ebx
40e7e8:	53                   	push   %ebx
40e7e9:	68 09 53 00 00       	push   $0x5309
40e7ee:	83 ec 10             	sub    $0x10,%esp
40e7f1:	b9 02 00 00 00       	mov    $0x2,%ecx
40e7f6:	8b dc                	mov    %esp,%ebx
40e7f8:	89 0b                	mov    %ecx,(%ebx)
40e7fa:	89 8d fc fe ff ff    	mov    %ecx,-0x104(%ebp)
40e800:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
40e806:	b8 1b 00 00 00       	mov    $0x1b,%eax
40e80b:	89 4b 04             	mov    %ecx,0x4(%ebx)
40e80e:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
40e814:	8b 16                	mov    (%esi),%edx
40e816:	89 43 08             	mov    %eax,0x8(%ebx)
40e819:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
40e81f:	56                   	push   %esi
40e820:	89 43 0c             	mov    %eax,0xc(%ebx)
40e823:	ff 52 34             	call   *0x34(%edx)
40e826:	db e2                	fnclex
40e828:	33 db                	xor    %ebx,%ebx
40e82a:	3b c3                	cmp    %ebx,%eax
40e82c:	7d 0f                	jge    0x40e83d
40e82e:	6a 34                	push   $0x34
40e830:	68 84 d9 40 00       	push   $0x40d984
40e835:	56                   	push   %esi
40e836:	50                   	push   %eax
40e837:	ff 15 38 10 40 00    	call   *0x401038
40e83d:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
40e843:	50                   	push   %eax
40e844:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
40e847:	51                   	push   %ecx
40e848:	89 9d 54 ff ff ff    	mov    %ebx,-0xac(%ebp)
40e84e:	ff 15 fc 10 40 00    	call   *0x4010fc
40e854:	68 c8 d9 40 00       	push   $0x40d9c8
40e859:	68 a0 da 40 00       	push   $0x40daa0
40e85e:	ff 15 30 10 40 00    	call   *0x401030
40e864:	8b d0                	mov    %eax,%edx
40e866:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
40e86c:	ff 15 48 11 40 00    	call   *0x401148
40e872:	6a 02                	push   $0x2
40e874:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
40e87a:	50                   	push   %eax
40e87b:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
40e881:	8d 95 60 ff ff ff    	lea    -0xa0(%ebp),%edx
40e887:	51                   	push   %ecx
40e888:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
40e88e:	c7 85 fc fe ff ff 08 	movl   $0x4008,-0x104(%ebp)
40e895:	40 00 00
40e898:	ff 15 24 10 40 00    	call   *0x401024
40e89e:	8d 95 40 ff ff ff    	lea    -0xc0(%ebp),%edx
40e8a4:	52                   	push   %edx
40e8a5:	8d 85 ec fe ff ff    	lea    -0x114(%ebp),%eax
40e8ab:	50                   	push   %eax
40e8ac:	c7 85 f4 fe ff ff ac 	movl   $0x40daac,-0x10c(%ebp)
40e8b3:	da 40 00
40e8b6:	c7 85 ec fe ff ff 08 	movl   $0x8008,-0x114(%ebp)
40e8bd:	80 00 00
40e8c0:	ff 15 18 11 40 00    	call   *0x401118
40e8c6:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
40e8cc:	8b f0                	mov    %eax,%esi
40e8ce:	ff 15 14 10 40 00    	call   *0x401014
40e8d4:	66 3b f3             	cmp    %bx,%si
40e8d7:	74 41                	je     0x40e91a
40e8d9:	dd 05 88 11 40 00    	fldl   0x401188
40e8df:	8b 0f                	mov    (%edi),%ecx
40e8e1:	df e0                	fnstsw %ax
40e8e3:	a8 0d                	test   $0xd,%al
40e8e5:	0f 85 a8 0c 00 00    	jne    0x40f593
40e8eb:	d9 9d 6c fe ff ff    	fstps  -0x194(%ebp)
40e8f1:	d9 85 6c fe ff ff    	flds   -0x194(%ebp)
40e8f7:	51                   	push   %ecx
40e8f8:	d9 1c 24             	fstps  (%esp)
40e8fb:	57                   	push   %edi
40e8fc:	ff 91 84 00 00 00    	call   *0x84(%ecx)
40e902:	db e2                	fnclex
40e904:	3b c3                	cmp    %ebx,%eax
40e906:	7d 12                	jge    0x40e91a
40e908:	68 84 00 00 00       	push   $0x84
40e90d:	68 9c d7 40 00       	push   $0x40d79c
40e912:	57                   	push   %edi
40e913:	50                   	push   %eax
40e914:	ff 15 38 10 40 00    	call   *0x401038
40e91a:	8b 35 30 10 40 00    	mov    0x401030,%esi
40e920:	68 b4 da 40 00       	push   $0x40dab4
40e925:	68 bc da 40 00       	push   $0x40dabc
40e92a:	ff d6                	call   *%esi
40e92c:	8b d0                	mov    %eax,%edx
40e92e:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
40e934:	ff 15 48 11 40 00    	call   *0x401148
40e93a:	50                   	push   %eax
40e93b:	68 c4 da 40 00       	push   $0x40dac4
40e940:	ff d6                	call   *%esi
40e942:	8b d0                	mov    %eax,%edx
40e944:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
40e94a:	ff 15 48 11 40 00    	call   *0x401148
40e950:	50                   	push   %eax
40e951:	ff 15 58 10 40 00    	call   *0x401058
40e957:	33 d2                	xor    %edx,%edx
40e959:	66 3d ff ff          	cmp    $0xffff,%ax
40e95d:	0f 95 c2             	setne  %dl
40e960:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax