40d73b:	ff d6                	call   *%esi
40d73d:	66 3d 01 00          	cmp    $0x1,%ax
40d741:	74 07                	je     0x40d74a
40d743:	68 f4 81 40 00       	push   $0x4081f4
40d748:	ff d7                	call   *%edi
40d74a:	68 8c 77 40 00       	push   $0x40778c
40d74f:	ff d6                	call   *%esi
40d751:	66 3d 01 00          	cmp    $0x1,%ax
40d755:	74 07                	je     0x40d75e
40d757:	68 1c 82 40 00       	push   $0x40821c
40d75c:	ff d7                	call   *%edi
40d75e:	68 8c 77 40 00       	push   $0x40778c
40d763:	ff d6                	call   *%esi
40d765:	66 3d 01 00          	cmp    $0x1,%ax
40d769:	74 07                	je     0x40d772
40d76b:	68 38 82 40 00       	push   $0x408238
40d770:	ff d7                	call   *%edi
40d772:	68 8c 77 40 00       	push   $0x40778c
40d777:	ff d6                	call   *%esi
40d779:	66 3d 01 00          	cmp    $0x1,%ax
40d77d:	74 07                	je     0x40d786
40d77f:	68 54 82 40 00       	push   $0x408254
40d784:	ff d7                	call   *%edi
40d786:	68 8c 77 40 00       	push   $0x40778c
40d78b:	ff d6                	call   *%esi
40d78d:	66 3d 01 00          	cmp    $0x1,%ax
40d791:	74 07                	je     0x40d79a
40d793:	68 68 82 40 00       	push   $0x408268
40d798:	ff d7                	call   *%edi
40d79a:	68 8c 77 40 00       	push   $0x40778c
40d79f:	ff d6                	call   *%esi
40d7a1:	66 3d 01 00          	cmp    $0x1,%ax
40d7a5:	74 07                	je     0x40d7ae
40d7a7:	68 90 82 40 00       	push   $0x408290
40d7ac:	ff d7                	call   *%edi
40d7ae:	68 8c 77 40 00       	push   $0x40778c
40d7b3:	ff d6                	call   *%esi
40d7b5:	66 3d 01 00          	cmp    $0x1,%ax
40d7b9:	74 07                	je     0x40d7c2
40d7bb:	68 ac 82 40 00       	push   $0x4082ac
40d7c0:	ff d7                	call   *%edi
40d7c2:	68 d1 d7 40 00       	push   $0x40d7d1
40d7c7:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40d7ca:	ff 15 a8 11 40 00    	call   *0x4011a8
40d7d0:	c3                   	ret
40d7d1:	8b 45 08             	mov    0x8(%ebp),%eax
40d7d4:	8b 10                	mov    (%eax),%edx
40d7d6:	50                   	push   %eax
40d7d7:	ff 52 08             	call   *0x8(%edx)
40d7da:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d7dd:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40d7e0:	5f                   	pop    %edi
40d7e1:	5e                   	pop    %esi
40d7e2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40d7e9:	5b                   	pop    %ebx
40d7ea:	8b e5                	mov    %ebp,%esp
40d7ec:	5d                   	pop    %ebp
40d7ed:	c2 24 00             	ret    $0x24
40d7f0:	55                   	push   %ebp
40d7f1:	8b ec                	mov    %esp,%ebp
40d7f3:	83 ec 0c             	sub    $0xc,%esp
40d7f6:	68 c6 12 40 00       	push   $0x4012c6
40d7fb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40d801:	50                   	push   %eax
40d802:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40d809:	83 ec 68             	sub    $0x68,%esp
40d80c:	53                   	push   %ebx
40d80d:	56                   	push   %esi
40d80e:	57                   	push   %edi
40d80f:	89 65 f4             	mov    %esp,-0xc(%ebp)
40d812:	c7 45 f8 80 12 40 00 	movl   $0x401280,-0x8(%ebp)
40d819:	33 db                	xor    %ebx,%ebx
40d81b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40d81e:	8b 45 08             	mov    0x8(%ebp),%eax
40d821:	8b 08                	mov    (%eax),%ecx
40d823:	50                   	push   %eax
40d824:	ff 51 04             	call   *0x4(%ecx)
40d827:	8b 55 0c             	mov    0xc(%ebp),%edx
40d82a:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40d82d:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40d830:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40d833:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40d836:	89 5d dc             	mov    %ebx,-0x24(%ebp)
40d839:	89 5d cc             	mov    %ebx,-0x34(%ebp)
40d83c:	89 5d bc             	mov    %ebx,-0x44(%ebp)
40d83f:	ff 15 44 11 40 00    	call   *0x401144
40d845:	b8 0a 00 00 00       	mov    $0xa,%eax
40d84a:	8d 55 bc             	lea    -0x44(%ebp),%edx
40d84d:	52                   	push   %edx
40d84e:	89 45 bc             	mov    %eax,-0x44(%ebp)
40d851:	89 45 cc             	mov    %eax,-0x34(%ebp)
40d854:	8d 45 cc             	lea    -0x34(%ebp),%eax
40d857:	50                   	push   %eax
40d858:	68 00 00 f0 3f       	push   $0x3ff00000
40d85d:	53                   	push   %ebx
40d85e:	68 00 00 f0 3f       	push   $0x3ff00000
40d863:	53                   	push   %ebx
40d864:	68 00 00 f0 3f       	push   $0x3ff00000
40d869:	53                   	push   %ebx
40d86a:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40d86f:	68 00 00 f0 3f       	push   $0x3ff00000
40d874:	53                   	push   %ebx
40d875:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
40d878:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40d87b:	ff 15 dc 10 40 00    	call   *0x4010dc
40d881:	ff 15 9c 10 40 00    	call   *0x40109c
40d887:	dc 1d 10 12 40 00    	fcompl 0x401210
40d88d:	df e0                	fnstsw %ax
40d88f:	f6 c4 40             	test   $0x40,%ah
40d892:	75 07                	jne    0x40d89b
40d894:	be 01 00 00 00       	mov    $0x1,%esi
40d899:	eb 02                	jmp    0x40d89d
40d89b:	33 f6                	xor    %esi,%esi
40d89d:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40d8a0:	51                   	push   %ecx
40d8a1:	8d 55 cc             	lea    -0x34(%ebp),%edx
40d8a4:	52                   	push   %edx
40d8a5:	6a 02                	push   $0x2
40d8a7:	ff 15 28 10 40 00    	call   *0x401028
40d8ad:	f7 de                	neg    %esi
40d8af:	83 c4 0c             	add    $0xc,%esp
40d8b2:	66 85 f6             	test   %si,%si
40d8b5:	0f 84 85 00 00 00    	je     0x40d940
40d8bb:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40d8c1:	75 10                	jne    0x40d8d3
40d8c3:	68 38 03 41 00       	push   $0x410338
40d8c8:	68 c4 7c 40 00       	push   $0x407cc4
40d8cd:	ff 15 28 11 40 00    	call   *0x401128
40d8d3:	8b 35 38 03 41 00    	mov    0x410338,%esi
40d8d9:	8b 06                	mov    (%esi),%eax
40d8db:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40d8de:	51                   	push   %ecx
40d8df:	56                   	push   %esi
40d8e0:	ff 50 4c             	call   *0x4c(%eax)
40d8e3:	db e2                	fnclex
40d8e5:	3b c3                	cmp    %ebx,%eax
40d8e7:	7d 13                	jge    0x40d8fc
40d8e9:	8b 3d 48 10 40 00    	mov    0x401048,%edi
40d8ef:	6a 4c                	push   $0x4c
40d8f1:	68 b4 7c 40 00       	push   $0x407cb4
40d8f6:	56                   	push   %esi
40d8f7:	50                   	push   %eax
40d8f8:	ff d7                	call   *%edi
40d8fa:	eb 06                	jmp    0x40d902
40d8fc:	8b 3d 48 10 40 00    	mov    0x401048,%edi
40d902:	8b 45 dc             	mov    -0x24(%ebp),%eax
40d905:	8b 10                	mov    (%eax),%edx
40d907:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40d90a:	51                   	push   %ecx
40d90b:	68 dc 82 40 00       	push   $0x4082dc
40d910:	68 c0 82 40 00       	push   $0x4082c0
40d915:	50                   	push   %eax
40d916:	8b f0                	mov    %eax,%esi
40d918:	ff 52 24             	call   *0x24(%edx)
40d91b:	db e2                	fnclex
40d91d:	3b c3                	cmp    %ebx,%eax
40d91f:	7d 0b                	jge    0x40d92c
40d921:	6a 24                	push   $0x24
40d923:	68 3c 7e 40 00       	push   $0x407e3c
40d928:	56                   	push   %esi
40d929:	50                   	push   %eax
40d92a:	ff d7                	call   *%edi
40d92c:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40d92f:	ff 15 a8 11 40 00    	call   *0x4011a8
40d935:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40d938:	ff 15 ac 11 40 00    	call   *0x4011ac
40d93e:	eb 06                	jmp    0x40d946
40d940:	8b 3d 48 10 40 00    	mov    0x401048,%edi
40d946:	b8 0a 00 00 00       	mov    $0xa,%eax
40d94b:	8d 55 bc             	lea    -0x44(%ebp),%edx
40d94e:	52                   	push   %edx
40d94f:	89 45 bc             	mov    %eax,-0x44(%ebp)
40d952:	89 45 cc             	mov    %eax,-0x34(%ebp)
40d955:	8d 45 cc             	lea    -0x34(%ebp),%eax
40d958:	50                   	push   %eax
40d959:	68 00 00 f0 3f       	push   $0x3ff00000
40d95e:	53                   	push   %ebx
40d95f:	68 00 00 f0 3f       	push   $0x3ff00000
40d964:	53                   	push   %ebx
40d965:	68 00 00 f0 3f       	push   $0x3ff00000
40d96a:	53                   	push   %ebx
40d96b:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40d970:	68 00 00 f0 3f       	push   $0x3ff00000
40d975:	53                   	push   %ebx
40d976:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
40d979:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40d97c:	ff 15 dc 10 40 00    	call   *0x4010dc
40d982:	ff 15 9c 10 40 00    	call   *0x40109c
40d988:	dc 1d 10 12 40 00    	fcompl 0x401210
40d98e:	df e0                	fnstsw %ax
40d990:	f6 c4 40             	test   $0x40,%ah
40d993:	75 07                	jne    0x40d99c
40d995:	be 01 00 00 00       	mov    $0x1,%esi
40d99a:	eb 02                	jmp    0x40d99e
40d99c:	33 f6                	xor    %esi,%esi
40d99e:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40d9a1:	51                   	push   %ecx
40d9a2:	8d 55 cc             	lea    -0x34(%ebp),%edx
40d9a5:	52                   	push   %edx
40d9a6:	6a 02                	push   $0x2
40d9a8:	ff 15 28 10 40 00    	call   *0x401028
40d9ae:	f7 de                	neg    %esi
40d9b0:	83 c4 0c             	add    $0xc,%esp
40d9b3:	66 85 f6             	test   %si,%si
40d9b6:	74 75                	je     0x40da2d
40d9b8:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40d9be:	75 10                	jne    0x40d9d0
40d9c0:	68 38 03 41 00       	push   $0x410338
40d9c5:	68 c4 7c 40 00       	push   $0x407cc4
40d9ca:	ff 15 28 11 40 00    	call   *0x401128
40d9d0:	8b 35 38 03 41 00    	mov    0x410338,%esi
40d9d6:	8b 06                	mov    (%esi),%eax
40d9d8:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40d9db:	51                   	push   %ecx
40d9dc:	56                   	push   %esi
40d9dd:	ff 50 4c             	call   *0x4c(%eax)
40d9e0:	db e2                	fnclex
40d9e2:	3b c3                	cmp    %ebx,%eax
40d9e4:	7d 0b                	jge    0x40d9f1
40d9e6:	6a 4c                	push   $0x4c
40d9e8:	68 b4 7c 40 00       	push   $0x407cb4
40d9ed:	56                   	push   %esi
40d9ee:	50                   	push   %eax
40d9ef:	ff d7                	call   *%edi
40d9f1:	8b 45 dc             	mov    -0x24(%ebp),%eax
40d9f4:	8b 10                	mov    (%eax),%edx
40d9f6:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40d9f9:	51                   	push   %ecx
40d9fa:	68 34 83 40 00       	push   $0x408334
40d9ff:	68 08 83 40 00       	push   $0x408308
40da04:	50                   	push   %eax
40da05:	8b f0                	mov    %eax,%esi
40da07:	ff 52 24             	call   *0x24(%edx)
40da0a:	db e2                	fnclex
40da0c:	3b c3                	cmp    %ebx,%eax
40da0e:	7d 0b                	jge    0x40da1b
40da10:	6a 24                	push   $0x24
40da12:	68 3c 7e 40 00       	push   $0x407e3c
40da17:	56                   	push   %esi
40da18:	50                   	push   %eax
40da19:	ff d7                	call   *%edi
40da1b:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40da1e:	ff 15 a8 11 40 00    	call   *0x4011a8
40da24:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40da27:	ff 15 ac 11 40 00    	call   *0x4011ac
40da2d:	b8 0a 00 00 00       	mov    $0xa,%eax
40da32:	8d 55 bc             	lea    -0x44(%ebp),%edx
40da35:	52                   	push   %edx
40da36:	89 45 bc             	mov    %eax,-0x44(%ebp)
40da39:	89 45 cc             	mov    %eax,-0x34(%ebp)
40da3c:	8d 45 cc             	lea    -0x34(%ebp),%eax
40da3f:	50                   	push   %eax
40da40:	68 00 00 f0 3f       	push   $0x3ff00000
40da45:	53                   	push   %ebx
40da46:	68 00 00 f0 3f       	push   $0x3ff00000
40da4b:	53                   	push   %ebx
40da4c:	68 00 00 f0 3f       	push   $0x3ff00000
40da51:	53                   	push   %ebx
40da52:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40da57:	68 00 00 f0 3f       	push   $0x3ff00000
40da5c:	53                   	push   %ebx
40da5d:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
40da60:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40da63:	ff 15 dc 10 40 00    	call   *0x4010dc
40da69:	ff 15 9c 10 40 00    	call   *0x40109c
40da6f:	dc 1d 10 12 40 00    	fcompl 0x401210
40da75:	df e0                	fnstsw %ax
40da77:	f6 c4 40             	test   $0x40,%ah
40da7a:	75 07                	jne    0x40da83
40da7c:	be 01 00 00 00       	mov    $0x1,%esi
40da81:	eb 02                	jmp    0x40da85
40da83:	33 f6                	xor    %esi,%esi
40da85:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40da88:	51                   	push   %ecx
40da89:	8d 55 cc             	lea    -0x34(%ebp),%edx
40da8c:	52                   	push   %edx
40da8d:	6a 02                	push   $0x2
40da8f:	ff 15 28 10 40 00    	call   *0x401028
40da95:	f7 de                	neg    %esi
40da97:	83 c4 0c             	add    $0xc,%esp
40da9a:	66 85 f6             	test   %si,%si
40da9d:	74 75                	je     0x40db14
40da9f:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40daa5:	75 10                	jne    0x40dab7
40daa7:	68 38 03 41 00       	push   $0x410338
40daac:	68 c4 7c 40 00       	push   $0x407cc4
40dab1:	ff 15 28 11 40 00    	call   *0x401128
40dab7:	8b 35 38 03 41 00    	mov    0x410338,%esi
40dabd:	8b 06                	mov    (%esi),%eax
40dabf:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40dac2:	51                   	push   %ecx
40dac3:	56                   	push   %esi
40dac4:	ff 50 4c             	call   *0x4c(%eax)
40dac7:	db e2                	fnclex
40dac9:	3b c3                	cmp    %ebx,%eax
40dacb:	7d 0b                	jge    0x40dad8
40dacd:	6a 4c                	push   $0x4c
40dacf:	68 b4 7c 40 00       	push   $0x407cb4
40dad4:	56                   	push   %esi
40dad5:	50                   	push   %eax
40dad6:	ff d7                	call   *%edi
40dad8:	8b 45 dc             	mov    -0x24(%ebp),%eax
40dadb:	8b 10                	mov    (%eax),%edx
40dadd:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40dae0:	51                   	push   %ecx
40dae1:	68 7c 83 40 00       	push   $0x40837c
40dae6:	68 5c 83 40 00       	push   $0x40835c
40daeb:	50                   	push   %eax
40daec:	8b f0                	mov    %eax,%esi
40daee:	ff 52 24             	call   *0x24(%edx)
40daf1:	db e2                	fnclex
40daf3:	3b c3                	cmp    %ebx,%eax
40daf5:	7d 0b                	jge    0x40db02
40daf7:	6a 24                	push   $0x24
40daf9:	68 3c 7e 40 00       	push   $0x407e3c
40dafe:	56                   	push   %esi
40daff:	50                   	push   %eax
40db00:	ff d7                	call   *%edi
40db02:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40db05:	ff 15 a8 11 40 00    	call   *0x4011a8
40db0b:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40db0e:	ff 15 ac 11 40 00    	call   *0x4011ac
40db14:	b8 0a 00 00 00       	mov    $0xa,%eax
40db19:	8d 55 bc             	lea    -0x44(%ebp),%edx
40db1c:	52                   	push   %edx
40db1d:	89 45 bc             	mov    %eax,-0x44(%ebp)
40db20:	89 45 cc             	mov    %eax,-0x34(%ebp)
40db23:	8d 45 cc             	lea    -0x34(%ebp),%eax
40db26:	50                   	push   %eax
40db27:	68 00 00 f0 3f       	push   $0x3ff00000
40db2c:	53                   	push   %ebx
40db2d:	68 00 00 f0 3f       	push   $0x3ff00000
40db32:	53                   	push   %ebx
40db33:	68 00 00 f0 3f       	push   $0x3ff00000
40db38:	53                   	push   %ebx
40db39:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40db3e:	68 00 00 f0 3f       	push   $0x3ff00000
40db43:	53                   	push   %ebx
40db44:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
40db47:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40db4a:	ff 15 dc 10 40 00    	call   *0x4010dc
40db50:	ff 15 9c 10 40 00    	call   *0x40109c
40db56:	dc 1d 10 12 40 00    	fcompl 0x401210
40db5c:	df e0                	fnstsw %ax
40db5e:	f6 c4 40             	test   $0x40,%ah
40db61:	75 07                	jne    0x40db6a
40db63:	be 01 00 00 00       	mov    $0x1,%esi
40db68:	eb 02                	jmp    0x40db6c
40db6a:	33 f6                	xor    %esi,%esi
40db6c:	8d 4d bc             	lea    -0x44(%ebp),%ecx