40d7a7:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40d7aa:	ff 15 a8 11 40 00    	call   *0x4011a8
40d7b0:	c3                   	ret
40d7b1:	8b 45 08             	mov    0x8(%ebp),%eax
40d7b4:	8b 10                	mov    (%eax),%edx
40d7b6:	50                   	push   %eax
40d7b7:	ff 52 08             	call   *0x8(%edx)
40d7ba:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d7bd:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40d7c0:	5f                   	pop    %edi
40d7c1:	5e                   	pop    %esi
40d7c2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40d7c9:	5b                   	pop    %ebx
40d7ca:	8b e5                	mov    %ebp,%esp
40d7cc:	5d                   	pop    %ebp
40d7cd:	c2 24 00             	ret    $0x24
40d7d0:	55                   	push   %ebp
40d7d1:	8b ec                	mov    %esp,%ebp
40d7d3:	83 ec 0c             	sub    $0xc,%esp
40d7d6:	68 b6 12 40 00       	push   $0x4012b6
40d7db:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40d7e1:	50                   	push   %eax
40d7e2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40d7e9:	83 ec 68             	sub    $0x68,%esp
40d7ec:	53                   	push   %ebx
40d7ed:	56                   	push   %esi
40d7ee:	57                   	push   %edi
40d7ef:	89 65 f4             	mov    %esp,-0xc(%ebp)
40d7f2:	c7 45 f8 80 12 40 00 	movl   $0x401280,-0x8(%ebp)
40d7f9:	33 db                	xor    %ebx,%ebx
40d7fb:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40d7fe:	8b 45 08             	mov    0x8(%ebp),%eax
40d801:	8b 08                	mov    (%eax),%ecx
40d803:	50                   	push   %eax
40d804:	ff 51 04             	call   *0x4(%ecx)
40d807:	8b 55 0c             	mov    0xc(%ebp),%edx
40d80a:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40d80d:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40d810:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40d813:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40d816:	89 5d dc             	mov    %ebx,-0x24(%ebp)
40d819:	89 5d cc             	mov    %ebx,-0x34(%ebp)
40d81c:	89 5d bc             	mov    %ebx,-0x44(%ebp)
40d81f:	ff 15 48 11 40 00    	call   *0x401148
40d825:	b8 0a 00 00 00       	mov    $0xa,%eax
40d82a:	8d 55 bc             	lea    -0x44(%ebp),%edx
40d82d:	52                   	push   %edx
40d82e:	89 45 bc             	mov    %eax,-0x44(%ebp)
40d831:	89 45 cc             	mov    %eax,-0x34(%ebp)
40d834:	8d 45 cc             	lea    -0x34(%ebp),%eax
40d837:	50                   	push   %eax
40d838:	68 00 00 f0 3f       	push   $0x3ff00000
40d83d:	53                   	push   %ebx
40d83e:	68 00 00 f0 3f       	push   $0x3ff00000
40d843:	53                   	push   %ebx
40d844:	68 00 00 f0 3f       	push   $0x3ff00000
40d849:	53                   	push   %ebx
40d84a:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40d84f:	68 00 00 f0 3f       	push   $0x3ff00000
40d854:	53                   	push   %ebx
40d855:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
40d858:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40d85b:	ff 15 e0 10 40 00    	call   *0x4010e0
40d861:	ff 15 9c 10 40 00    	call   *0x40109c
40d867:	dc 1d 10 12 40 00    	fcompl 0x401210
40d86d:	df e0                	fnstsw %ax
40d86f:	f6 c4 40             	test   $0x40,%ah
40d872:	75 07                	jne    0x40d87b
40d874:	be 01 00 00 00       	mov    $0x1,%esi
40d879:	eb 02                	jmp    0x40d87d
40d87b:	33 f6                	xor    %esi,%esi
40d87d:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40d880:	51                   	push   %ecx
40d881:	8d 55 cc             	lea    -0x34(%ebp),%edx
40d884:	52                   	push   %edx
40d885:	6a 02                	push   $0x2
40d887:	ff 15 28 10 40 00    	call   *0x401028
40d88d:	f7 de                	neg    %esi
40d88f:	83 c4 0c             	add    $0xc,%esp
40d892:	66 85 f6             	test   %si,%si
40d895:	0f 84 85 00 00 00    	je     0x40d920
40d89b:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40d8a1:	75 10                	jne    0x40d8b3
40d8a3:	68 38 03 41 00       	push   $0x410338
40d8a8:	68 a8 7c 40 00       	push   $0x407ca8
40d8ad:	ff 15 2c 11 40 00    	call   *0x40112c
40d8b3:	8b 35 38 03 41 00    	mov    0x410338,%esi
40d8b9:	8b 06                	mov    (%esi),%eax
40d8bb:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40d8be:	51                   	push   %ecx
40d8bf:	56                   	push   %esi
40d8c0:	ff 50 4c             	call   *0x4c(%eax)
40d8c3:	db e2                	fnclex
40d8c5:	3b c3                	cmp    %ebx,%eax
40d8c7:	7d 13                	jge    0x40d8dc
40d8c9:	8b 3d 48 10 40 00    	mov    0x401048,%edi
40d8cf:	6a 4c                	push   $0x4c
40d8d1:	68 98 7c 40 00       	push   $0x407c98
40d8d6:	56                   	push   %esi
40d8d7:	50                   	push   %eax
40d8d8:	ff d7                	call   *%edi
40d8da:	eb 06                	jmp    0x40d8e2
40d8dc:	8b 3d 48 10 40 00    	mov    0x401048,%edi
40d8e2:	8b 45 dc             	mov    -0x24(%ebp),%eax
40d8e5:	8b 10                	mov    (%eax),%edx
40d8e7:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40d8ea:	51                   	push   %ecx
40d8eb:	68 c0 82 40 00       	push   $0x4082c0
40d8f0:	68 a4 82 40 00       	push   $0x4082a4
40d8f5:	50                   	push   %eax
40d8f6:	8b f0                	mov    %eax,%esi
40d8f8:	ff 52 24             	call   *0x24(%edx)
40d8fb:	db e2                	fnclex
40d8fd:	3b c3                	cmp    %ebx,%eax
40d8ff:	7d 0b                	jge    0x40d90c
40d901:	6a 24                	push   $0x24
40d903:	68 20 7e 40 00       	push   $0x407e20
40d908:	56                   	push   %esi
40d909:	50                   	push   %eax
40d90a:	ff d7                	call   *%edi
40d90c:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40d90f:	ff 15 a8 11 40 00    	call   *0x4011a8
40d915:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40d918:	ff 15 ac 11 40 00    	call   *0x4011ac
40d91e:	eb 06                	jmp    0x40d926
40d920:	8b 3d 48 10 40 00    	mov    0x401048,%edi
40d926:	b8 0a 00 00 00       	mov    $0xa,%eax
40d92b:	8d 55 bc             	lea    -0x44(%ebp),%edx
40d92e:	52                   	push   %edx
40d92f:	89 45 bc             	mov    %eax,-0x44(%ebp)
40d932:	89 45 cc             	mov    %eax,-0x34(%ebp)
40d935:	8d 45 cc             	lea    -0x34(%ebp),%eax
40d938:	50                   	push   %eax
40d939:	68 00 00 f0 3f       	push   $0x3ff00000
40d93e:	53                   	push   %ebx
40d93f:	68 00 00 f0 3f       	push   $0x3ff00000
40d944:	53                   	push   %ebx
40d945:	68 00 00 f0 3f       	push   $0x3ff00000
40d94a:	53                   	push   %ebx
40d94b:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40d950:	68 00 00 f0 3f       	push   $0x3ff00000
40d955:	53                   	push   %ebx
40d956:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
40d959:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40d95c:	ff 15 e0 10 40 00    	call   *0x4010e0
40d962:	ff 15 9c 10 40 00    	call   *0x40109c
40d968:	dc 1d 10 12 40 00    	fcompl 0x401210
40d96e:	df e0                	fnstsw %ax
40d970:	f6 c4 40             	test   $0x40,%ah
40d973:	75 07                	jne    0x40d97c
40d975:	be 01 00 00 00       	mov    $0x1,%esi
40d97a:	eb 02                	jmp    0x40d97e
40d97c:	33 f6                	xor    %esi,%esi
40d97e:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40d981:	51                   	push   %ecx
40d982:	8d 55 cc             	lea    -0x34(%ebp),%edx
40d985:	52                   	push   %edx
40d986:	6a 02                	push   $0x2
40d988:	ff 15 28 10 40 00    	call   *0x401028
40d98e:	f7 de                	neg    %esi
40d990:	83 c4 0c             	add    $0xc,%esp
40d993:	66 85 f6             	test   %si,%si
40d996:	74 75                	je     0x40da0d
40d998:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40d99e:	75 10                	jne    0x40d9b0
40d9a0:	68 38 03 41 00       	push   $0x410338
40d9a5:	68 a8 7c 40 00       	push   $0x407ca8
40d9aa:	ff 15 2c 11 40 00    	call   *0x40112c
40d9b0:	8b 35 38 03 41 00    	mov    0x410338,%esi
40d9b6:	8b 06                	mov    (%esi),%eax
40d9b8:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40d9bb:	51                   	push   %ecx
40d9bc:	56                   	push   %esi
40d9bd:	ff 50 4c             	call   *0x4c(%eax)
40d9c0:	db e2                	fnclex
40d9c2:	3b c3                	cmp    %ebx,%eax
40d9c4:	7d 0b                	jge    0x40d9d1
40d9c6:	6a 4c                	push   $0x4c
40d9c8:	68 98 7c 40 00       	push   $0x407c98
40d9cd:	56                   	push   %esi
40d9ce:	50                   	push   %eax
40d9cf:	ff d7                	call   *%edi
40d9d1:	8b 45 dc             	mov    -0x24(%ebp),%eax
40d9d4:	8b 10                	mov    (%eax),%edx
40d9d6:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40d9d9:	51                   	push   %ecx
40d9da:	68 18 83 40 00       	push   $0x408318
40d9df:	68 ec 82 40 00       	push   $0x4082ec
40d9e4:	50                   	push   %eax
40d9e5:	8b f0                	mov    %eax,%esi
40d9e7:	ff 52 24             	call   *0x24(%edx)
40d9ea:	db e2                	fnclex
40d9ec:	3b c3                	cmp    %ebx,%eax
40d9ee:	7d 0b                	jge    0x40d9fb
40d9f0:	6a 24                	push   $0x24
40d9f2:	68 20 7e 40 00       	push   $0x407e20
40d9f7:	56                   	push   %esi
40d9f8:	50                   	push   %eax
40d9f9:	ff d7                	call   *%edi
40d9fb:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40d9fe:	ff 15 a8 11 40 00    	call   *0x4011a8
40da04:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40da07:	ff 15 ac 11 40 00    	call   *0x4011ac
40da0d:	b8 0a 00 00 00       	mov    $0xa,%eax
40da12:	8d 55 bc             	lea    -0x44(%ebp),%edx
40da15:	52                   	push   %edx
40da16:	89 45 bc             	mov    %eax,-0x44(%ebp)
40da19:	89 45 cc             	mov    %eax,-0x34(%ebp)
40da1c:	8d 45 cc             	lea    -0x34(%ebp),%eax
40da1f:	50                   	push   %eax
40da20:	68 00 00 f0 3f       	push   $0x3ff00000
40da25:	53                   	push   %ebx
40da26:	68 00 00 f0 3f       	push   $0x3ff00000
40da2b:	53                   	push   %ebx
40da2c:	68 00 00 f0 3f       	push   $0x3ff00000
40da31:	53                   	push   %ebx
40da32:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40da37:	68 00 00 f0 3f       	push   $0x3ff00000
40da3c:	53                   	push   %ebx
40da3d:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
40da40:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40da43:	ff 15 e0 10 40 00    	call   *0x4010e0
40da49:	ff 15 9c 10 40 00    	call   *0x40109c
40da4f:	dc 1d 10 12 40 00    	fcompl 0x401210
40da55:	df e0                	fnstsw %ax
40da57:	f6 c4 40             	test   $0x40,%ah
40da5a:	75 07                	jne    0x40da63
40da5c:	be 01 00 00 00       	mov    $0x1,%esi
40da61:	eb 02                	jmp    0x40da65
40da63:	33 f6                	xor    %esi,%esi
40da65:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40da68:	51                   	push   %ecx
40da69:	8d 55 cc             	lea    -0x34(%ebp),%edx
40da6c:	52                   	push   %edx
40da6d:	6a 02                	push   $0x2
40da6f:	ff 15 28 10 40 00    	call   *0x401028
40da75:	f7 de                	neg    %esi
40da77:	83 c4 0c             	add    $0xc,%esp
40da7a:	66 85 f6             	test   %si,%si
40da7d:	74 75                	je     0x40daf4
40da7f:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40da85:	75 10                	jne    0x40da97
40da87:	68 38 03 41 00       	push   $0x410338
40da8c:	68 a8 7c 40 00       	push   $0x407ca8
40da91:	ff 15 2c 11 40 00    	call   *0x40112c
40da97:	8b 35 38 03 41 00    	mov    0x410338,%esi
40da9d:	8b 06                	mov    (%esi),%eax
40da9f:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40daa2:	51                   	push   %ecx
40daa3:	56                   	push   %esi
40daa4:	ff 50 4c             	call   *0x4c(%eax)
40daa7:	db e2                	fnclex
40daa9:	3b c3                	cmp    %ebx,%eax
40daab:	7d 0b                	jge    0x40dab8
40daad:	6a 4c                	push   $0x4c
40daaf:	68 98 7c 40 00       	push   $0x407c98
40dab4:	56                   	push   %esi
40dab5:	50                   	push   %eax
40dab6:	ff d7                	call   *%edi
40dab8:	8b 45 dc             	mov    -0x24(%ebp),%eax
40dabb:	8b 10                	mov    (%eax),%edx
40dabd:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40dac0:	51                   	push   %ecx
40dac1:	68 60 83 40 00       	push   $0x408360
40dac6:	68 40 83 40 00       	push   $0x408340
40dacb:	50                   	push   %eax
40dacc:	8b f0                	mov    %eax,%esi
40dace:	ff 52 24             	call   *0x24(%edx)
40dad1:	db e2                	fnclex
40dad3:	3b c3                	cmp    %ebx,%eax
40dad5:	7d 0b                	jge    0x40dae2
40dad7:	6a 24                	push   $0x24
40dad9:	68 20 7e 40 00       	push   $0x407e20
40dade:	56                   	push   %esi
40dadf:	50                   	push   %eax
40dae0:	ff d7                	call   *%edi
40dae2:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40dae5:	ff 15 a8 11 40 00    	call   *0x4011a8
40daeb:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40daee:	ff 15 ac 11 40 00    	call   *0x4011ac
40daf4:	b8 0a 00 00 00       	mov    $0xa,%eax
40daf9:	8d 55 bc             	lea    -0x44(%ebp),%edx
40dafc:	52                   	push   %edx
40dafd:	89 45 bc             	mov    %eax,-0x44(%ebp)
40db00:	89 45 cc             	mov    %eax,-0x34(%ebp)
40db03:	8d 45 cc             	lea    -0x34(%ebp),%eax
40db06:	50                   	push   %eax
40db07:	68 00 00 f0 3f       	push   $0x3ff00000
40db0c:	53                   	push   %ebx
40db0d:	68 00 00 f0 3f       	push   $0x3ff00000
40db12:	53                   	push   %ebx
40db13:	68 00 00 f0 3f       	push   $0x3ff00000
40db18:	53                   	push   %ebx
40db19:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40db1e:	68 00 00 f0 3f       	push   $0x3ff00000
40db23:	53                   	push   %ebx
40db24:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
40db27:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40db2a:	ff 15 e0 10 40 00    	call   *0x4010e0
40db30:	ff 15 9c 10 40 00    	call   *0x40109c
40db36:	dc 1d 10 12 40 00    	fcompl 0x401210
40db3c:	df e0                	fnstsw %ax
40db3e:	f6 c4 40             	test   $0x40,%ah
40db41:	75 07                	jne    0x40db4a
40db43:	be 01 00 00 00       	mov    $0x1,%esi
40db48:	eb 02                	jmp    0x40db4c
40db4a:	33 f6                	xor    %esi,%esi
40db4c:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40db4f:	51                   	push   %ecx
40db50:	8d 55 cc             	lea    -0x34(%ebp),%edx
40db53:	52                   	push   %edx
40db54:	6a 02                	push   $0x2
40db56:	ff 15 28 10 40 00    	call   *0x401028
40db5c:	f7 de                	neg    %esi
40db5e:	83 c4 0c             	add    $0xc,%esp
40db61:	66 85 f6             	test   %si,%si
40db64:	74 75                	je     0x40dbdb
40db66:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40db6c:	75 10                	jne    0x40db7e
40db6e:	68 38 03 41 00       	push   $0x410338
40db73:	68 a8 7c 40 00       	push   $0x407ca8
40db78:	ff 15 2c 11 40 00    	call   *0x40112c
40db7e:	8b 35 38 03 41 00    	mov    0x410338,%esi
40db84:	8b 06                	mov    (%esi),%eax
40db86:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40db89:	51                   	push   %ecx
40db8a:	56                   	push   %esi
40db8b:	ff 50 4c             	call   *0x4c(%eax)
40db8e:	db e2                	fnclex
40db90:	3b c3                	cmp    %ebx,%eax
40db92:	7d 0b                	jge    0x40db9f
40db94:	6a 4c                	push   $0x4c
40db96:	68 98 7c 40 00       	push   $0x407c98
40db9b:	56                   	push   %esi
40db9c:	50                   	push   %eax
40db9d:	ff d7                	call   *%edi
40db9f:	8b 45 dc             	mov    -0x24(%ebp),%eax
40dba2:	8b 10                	mov    (%eax),%edx
40dba4:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40dba7:	51                   	push   %ecx
40dba8:	68 7c 83 40 00       	push   $0x40837c
40dbad:	68 6c 83 40 00       	push   $0x40836c
40dbb2:	50                   	push   %eax
40dbb3:	8b f0                	mov    %eax,%esi
40dbb5:	ff 52 24             	call   *0x24(%edx)
40dbb8:	db e2                	fnclex
40dbba:	3b c3                	cmp    %ebx,%eax
40dbbc:	7d 0b                	jge    0x40dbc9
40dbbe:	6a 24                	push   $0x24
40dbc0:	68 20 7e 40 00       	push   $0x407e20