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
40b7de:	56                   	push   %esi
40b7df:	50                   	push   %eax
40b7e0:	ff d7                	call   *%edi
40b7e2:	8b 45 e0             	mov    -0x20(%ebp),%eax
40b7e5:	8b 10                	mov    (%eax),%edx
40b7e7:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b7ea:	51                   	push   %ecx
40b7eb:	68 4c 7e 40 00       	push   $0x407e4c
40b7f0:	68 34 7e 40 00       	push   $0x407e34
40b7f5:	50                   	push   %eax
40b7f6:	8b f0                	mov    %eax,%esi
40b7f8:	ff 52 24             	call   *0x24(%edx)
40b7fb:	db e2                	fnclex
40b7fd:	3b c3                	cmp    %ebx,%eax
40b7ff:	7d 0b                	jge    0x40b80c
40b801:	6a 24                	push   $0x24
40b803:	68 20 7e 40 00       	push   $0x407e20
40b808:	56                   	push   %esi
40b809:	50                   	push   %eax
40b80a:	ff d7                	call   *%edi
40b80c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b80f:	ff 15 a8 11 40 00    	call   *0x4011a8
40b815:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b818:	ff 15 ac 11 40 00    	call   *0x4011ac
40b81e:	b8 0a 00 00 00       	mov    $0xa,%eax
40b823:	8d 55 c0             	lea    -0x40(%ebp),%edx
40b826:	52                   	push   %edx
40b827:	89 45 c0             	mov    %eax,-0x40(%ebp)
40b82a:	89 45 d0             	mov    %eax,-0x30(%ebp)
40b82d:	8d 45 d0             	lea    -0x30(%ebp),%eax
40b830:	50                   	push   %eax
40b831:	68 00 00 f0 3f       	push   $0x3ff00000
40b836:	53                   	push   %ebx
40b837:	68 00 00 f0 3f       	push   $0x3ff00000
40b83c:	53                   	push   %ebx
40b83d:	68 00 00 f0 3f       	push   $0x3ff00000
40b842:	53                   	push   %ebx
40b843:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40b848:	68 00 00 f0 3f       	push   $0x3ff00000
40b84d:	53                   	push   %ebx
40b84e:	89 4d c8             	mov    %ecx,-0x38(%ebp)
40b851:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40b854:	ff 15 e0 10 40 00    	call   *0x4010e0
40b85a:	ff 15 9c 10 40 00    	call   *0x40109c
40b860:	dc 1d 10 12 40 00    	fcompl 0x401210
40b866:	df e0                	fnstsw %ax
40b868:	f6 c4 40             	test   $0x40,%ah
40b86b:	75 07                	jne    0x40b874
40b86d:	be 01 00 00 00       	mov    $0x1,%esi
40b872:	eb 02                	jmp    0x40b876
40b874:	33 f6                	xor    %esi,%esi
40b876:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40b879:	51                   	push   %ecx
40b87a:	8d 55 d0             	lea    -0x30(%ebp),%edx
40b87d:	52                   	push   %edx
40b87e:	6a 02                	push   $0x2
40b880:	ff 15 28 10 40 00    	call   *0x401028
40b886:	f7 de                	neg    %esi
40b888:	83 c4 0c             	add    $0xc,%esp
40b88b:	66 85 f6             	test   %si,%si
40b88e:	74 75                	je     0x40b905
40b890:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40b896:	75 10                	jne    0x40b8a8
40b898:	68 38 03 41 00       	push   $0x410338
40b89d:	68 a8 7c 40 00       	push   $0x407ca8
40b8a2:	ff 15 2c 11 40 00    	call   *0x40112c
40b8a8:	8b 35 38 03 41 00    	mov    0x410338,%esi
40b8ae:	8b 06                	mov    (%esi),%eax
40b8b0:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b8b3:	51                   	push   %ecx
40b8b4:	56                   	push   %esi
40b8b5:	ff 50 4c             	call   *0x4c(%eax)
40b8b8:	db e2                	fnclex
40b8ba:	3b c3                	cmp    %ebx,%eax
40b8bc:	7d 0b                	jge    0x40b8c9
40b8be:	6a 4c                	push   $0x4c
40b8c0:	68 98 7c 40 00       	push   $0x407c98
40b8c5:	56                   	push   %esi
40b8c6:	50                   	push   %eax
40b8c7:	ff d7                	call   *%edi
40b8c9:	8b 45 e0             	mov    -0x20(%ebp),%eax
40b8cc:	8b 10                	mov    (%eax),%edx
40b8ce:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b8d1:	51                   	push   %ecx
40b8d2:	68 7c 7e 40 00       	push   $0x407e7c
40b8d7:	68 5c 7e 40 00       	push   $0x407e5c
40b8dc:	50                   	push   %eax
40b8dd:	8b f0                	mov    %eax,%esi
40b8df:	ff 52 24             	call   *0x24(%edx)
40b8e2:	db e2                	fnclex
40b8e4:	3b c3                	cmp    %ebx,%eax
40b8e6:	7d 0b                	jge    0x40b8f3
40b8e8:	6a 24                	push   $0x24
40b8ea:	68 20 7e 40 00       	push   $0x407e20
40b8ef:	56                   	push   %esi
40b8f0:	50                   	push   %eax
40b8f1:	ff d7                	call   *%edi
40b8f3:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b8f6:	ff 15 a8 11 40 00    	call   *0x4011a8
40b8fc:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b8ff:	ff 15 ac 11 40 00    	call   *0x4011ac
40b905:	b8 0a 00 00 00       	mov    $0xa,%eax
40b90a:	8d 55 c0             	lea    -0x40(%ebp),%edx
40b90d:	52                   	push   %edx
40b90e:	89 45 c0             	mov    %eax,-0x40(%ebp)
40b911:	89 45 d0             	mov    %eax,-0x30(%ebp)
40b914:	8d 45 d0             	lea    -0x30(%ebp),%eax
40b917:	50                   	push   %eax
40b918:	68 00 00 f0 3f       	push   $0x3ff00000
40b91d:	53                   	push   %ebx
40b91e:	68 00 00 f0 3f       	push   $0x3ff00000
40b923:	53                   	push   %ebx
40b924:	68 00 00 f0 3f       	push   $0x3ff00000
40b929:	53                   	push   %ebx
40b92a:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40b92f:	68 00 00 f0 3f       	push   $0x3ff00000
40b934:	53                   	push   %ebx
40b935:	89 4d c8             	mov    %ecx,-0x38(%ebp)
40b938:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40b93b:	ff 15 e0 10 40 00    	call   *0x4010e0
40b941:	ff 15 9c 10 40 00    	call   *0x40109c
40b947:	dc 1d 10 12 40 00    	fcompl 0x401210
40b94d:	df e0                	fnstsw %ax
40b94f:	f6 c4 40             	test   $0x40,%ah
40b952:	75 07                	jne    0x40b95b
40b954:	be 01 00 00 00       	mov    $0x1,%esi
40b959:	eb 02                	jmp    0x40b95d
40b95b:	33 f6                	xor    %esi,%esi
40b95d:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40b960:	51                   	push   %ecx
40b961:	8d 55 d0             	lea    -0x30(%ebp),%edx
40b964:	52                   	push   %edx
40b965:	6a 02                	push   $0x2
40b967:	ff 15 28 10 40 00    	call   *0x401028
40b96d:	f7 de                	neg    %esi
40b96f:	83 c4 0c             	add    $0xc,%esp
40b972:	66 85 f6             	test   %si,%si
40b975:	74 75                	je     0x40b9ec
40b977:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40b97d:	75 10                	jne    0x40b98f
40b97f:	68 38 03 41 00       	push   $0x410338
40b984:	68 a8 7c 40 00       	push   $0x407ca8
40b989:	ff 15 2c 11 40 00    	call   *0x40112c
40b98f:	8b 35 38 03 41 00    	mov    0x410338,%esi
40b995:	8b 06                	mov    (%esi),%eax
40b997:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b99a:	51                   	push   %ecx
40b99b:	56                   	push   %esi
40b99c:	ff 50 4c             	call   *0x4c(%eax)
40b99f:	db e2                	fnclex
40b9a1:	3b c3                	cmp    %ebx,%eax
40b9a3:	7d 0b                	jge    0x40b9b0
40b9a5:	6a 4c                	push   $0x4c
40b9a7:	68 98 7c 40 00       	push   $0x407c98
40b9ac:	56                   	push   %esi
40b9ad:	50                   	push   %eax
40b9ae:	ff d7                	call   *%edi
40b9b0:	8b 45 e0             	mov    -0x20(%ebp),%eax
40b9b3:	8b 10                	mov    (%eax),%edx
40b9b5:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b9b8:	51                   	push   %ecx
40b9b9:	68 b0 7e 40 00       	push   $0x407eb0
40b9be:	68 94 7e 40 00       	push   $0x407e94
40b9c3:	50                   	push   %eax
40b9c4:	8b f0                	mov    %eax,%esi
40b9c6:	ff 52 24             	call   *0x24(%edx)
40b9c9:	db e2                	fnclex
40b9cb:	3b c3                	cmp    %ebx,%eax
40b9cd:	7d 0b                	jge    0x40b9da
40b9cf:	6a 24                	push   $0x24
40b9d1:	68 20 7e 40 00       	push   $0x407e20
40b9d6:	56                   	push   %esi
40b9d7:	50                   	push   %eax
40b9d8:	ff d7                	call   *%edi
40b9da:	8d 4d e4             	lea    -0x1c(%ebp),%ecx