40b987:	ff 15 28 10 40 00    	call   *0x401028
40b98d:	f7 de                	neg    %esi
40b98f:	83 c4 0c             	add    $0xc,%esp
40b992:	66 85 f6             	test   %si,%si
40b995:	74 75                	je     0x40ba0c
40b997:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40b99d:	75 10                	jne    0x40b9af
40b99f:	68 38 03 41 00       	push   $0x410338
40b9a4:	68 c4 7c 40 00       	push   $0x407cc4
40b9a9:	ff 15 28 11 40 00    	call   *0x401128
40b9af:	8b 35 38 03 41 00    	mov    0x410338,%esi
40b9b5:	8b 06                	mov    (%esi),%eax
40b9b7:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b9ba:	51                   	push   %ecx
40b9bb:	56                   	push   %esi
40b9bc:	ff 50 4c             	call   *0x4c(%eax)
40b9bf:	db e2                	fnclex
40b9c1:	3b c3                	cmp    %ebx,%eax
40b9c3:	7d 0b                	jge    0x40b9d0
40b9c5:	6a 4c                	push   $0x4c
40b9c7:	68 b4 7c 40 00       	push   $0x407cb4
40b9cc:	56                   	push   %esi
40b9cd:	50                   	push   %eax
40b9ce:	ff d7                	call   *%edi
40b9d0:	8b 45 e0             	mov    -0x20(%ebp),%eax
40b9d3:	8b 10                	mov    (%eax),%edx
40b9d5:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b9d8:	51                   	push   %ecx
40b9d9:	68 cc 7e 40 00       	push   $0x407ecc
40b9de:	68 b0 7e 40 00       	push   $0x407eb0
40b9e3:	50                   	push   %eax
40b9e4:	8b f0                	mov    %eax,%esi
40b9e6:	ff 52 24             	call   *0x24(%edx)
40b9e9:	db e2                	fnclex
40b9eb:	3b c3                	cmp    %ebx,%eax
40b9ed:	7d 0b                	jge    0x40b9fa
40b9ef:	6a 24                	push   $0x24
40b9f1:	68 3c 7e 40 00       	push   $0x407e3c
40b9f6:	56                   	push   %esi
40b9f7:	50                   	push   %eax
40b9f8:	ff d7                	call   *%edi
40b9fa:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b9fd:	ff 15 a8 11 40 00    	call   *0x4011a8
40ba03:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40ba06:	ff 15 ac 11 40 00    	call   *0x4011ac
40ba0c:	b8 0a 00 00 00       	mov    $0xa,%eax
40ba11:	8d 55 c0             	lea    -0x40(%ebp),%edx
40ba14:	52                   	push   %edx
40ba15:	89 45 c0             	mov    %eax,-0x40(%ebp)
40ba18:	89 45 d0             	mov    %eax,-0x30(%ebp)
40ba1b:	8d 45 d0             	lea    -0x30(%ebp),%eax
40ba1e:	50                   	push   %eax
40ba1f:	68 00 00 f0 3f       	push   $0x3ff00000
40ba24:	53                   	push   %ebx
40ba25:	68 00 00 f0 3f       	push   $0x3ff00000
40ba2a:	53                   	push   %ebx
40ba2b:	68 00 00 f0 3f       	push   $0x3ff00000
40ba30:	53                   	push   %ebx
40ba31:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40ba36:	68 00 00 f0 3f       	push   $0x3ff00000
40ba3b:	53                   	push   %ebx
40ba3c:	89 4d c8             	mov    %ecx,-0x38(%ebp)
40ba3f:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40ba42:	ff 15 dc 10 40 00    	call   *0x4010dc
40ba48:	ff 15 9c 10 40 00    	call   *0x40109c
40ba4e:	dc 1d 10 12 40 00    	fcompl 0x401210
40ba54:	df e0                	fnstsw %ax
40ba56:	f6 c4 40             	test   $0x40,%ah
40ba59:	75 07                	jne    0x40ba62
40ba5b:	be 01 00 00 00       	mov    $0x1,%esi
40ba60:	eb 02                	jmp    0x40ba64
40ba62:	33 f6                	xor    %esi,%esi
40ba64:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40ba67:	51                   	push   %ecx
40ba68:	8d 55 d0             	lea    -0x30(%ebp),%edx
40ba6b:	52                   	push   %edx
40ba6c:	6a 02                	push   $0x2
40ba6e:	ff 15 28 10 40 00    	call   *0x401028
40ba74:	f7 de                	neg    %esi
40ba76:	83 c4 0c             	add    $0xc,%esp
40ba79:	66 85 f6             	test   %si,%si
40ba7c:	74 75                	je     0x40baf3
40ba7e:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40ba84:	75 10                	jne    0x40ba96
40ba86:	68 38 03 41 00       	push   $0x410338
40ba8b:	68 c4 7c 40 00       	push   $0x407cc4
40ba90:	ff 15 28 11 40 00    	call   *0x401128
40ba96:	8b 35 38 03 41 00    	mov    0x410338,%esi
40ba9c:	8b 06                	mov    (%esi),%eax
40ba9e:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40baa1:	51                   	push   %ecx
40baa2:	56                   	push   %esi
40baa3:	ff 50 4c             	call   *0x4c(%eax)
40baa6:	db e2                	fnclex
40baa8:	3b c3                	cmp    %ebx,%eax
40baaa:	7d 0b                	jge    0x40bab7
40baac:	6a 4c                	push   $0x4c
40baae:	68 b4 7c 40 00       	push   $0x407cb4
40bab3:	56                   	push   %esi
40bab4:	50                   	push   %eax
40bab5:	ff d7                	call   *%edi
40bab7:	8b 45 e0             	mov    -0x20(%ebp),%eax
40baba:	8b 10                	mov    (%eax),%edx
40babc:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40babf:	51                   	push   %ecx
40bac0:	68 04 7f 40 00       	push   $0x407f04
40bac5:	68 e8 7e 40 00       	push   $0x407ee8
40baca:	50                   	push   %eax
40bacb:	8b f0                	mov    %eax,%esi
40bacd:	ff 52 24             	call   *0x24(%edx)
40bad0:	db e2                	fnclex
40bad2:	3b c3                	cmp    %ebx,%eax
40bad4:	7d 0b                	jge    0x40bae1
40bad6:	6a 24                	push   $0x24
40bad8:	68 3c 7e 40 00       	push   $0x407e3c
40badd:	56                   	push   %esi
40bade:	50                   	push   %eax
40badf:	ff d7                	call   *%edi
40bae1:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bae4:	ff 15 a8 11 40 00    	call   *0x4011a8
40baea:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40baed:	ff 15 ac 11 40 00    	call   *0x4011ac
40baf3:	b8 0a 00 00 00       	mov    $0xa,%eax
40baf8:	8d 55 c0             	lea    -0x40(%ebp),%edx
40bafb:	52                   	push   %edx
40bafc:	89 45 c0             	mov    %eax,-0x40(%ebp)
40baff:	89 45 d0             	mov    %eax,-0x30(%ebp)
40bb02:	8d 45 d0             	lea    -0x30(%ebp),%eax
40bb05:	50                   	push   %eax
40bb06:	68 00 00 f0 3f       	push   $0x3ff00000
40bb0b:	53                   	push   %ebx
40bb0c:	68 00 00 f0 3f       	push   $0x3ff00000
40bb11:	53                   	push   %ebx
40bb12:	68 00 00 f0 3f       	push   $0x3ff00000
40bb17:	53                   	push   %ebx
40bb18:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40bb1d:	68 00 00 f0 3f       	push   $0x3ff00000
40bb22:	53                   	push   %ebx
40bb23:	89 4d c8             	mov    %ecx,-0x38(%ebp)
40bb26:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40bb29:	ff 15 dc 10 40 00    	call   *0x4010dc
40bb2f:	ff 15 9c 10 40 00    	call   *0x40109c
40bb35:	dc 1d 10 12 40 00    	fcompl 0x401210
40bb3b:	df e0                	fnstsw %ax
40bb3d:	f6 c4 40             	test   $0x40,%ah
40bb40:	75 07                	jne    0x40bb49
40bb42:	be 01 00 00 00       	mov    $0x1,%esi
40bb47:	eb 02                	jmp    0x40bb4b
40bb49:	33 f6                	xor    %esi,%esi
40bb4b:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40bb4e:	51                   	push   %ecx
40bb4f:	8d 55 d0             	lea    -0x30(%ebp),%edx
40bb52:	52                   	push   %edx
40bb53:	6a 02                	push   $0x2
40bb55:	ff 15 28 10 40 00    	call   *0x401028
40bb5b:	f7 de                	neg    %esi
40bb5d:	83 c4 0c             	add    $0xc,%esp
40bb60:	66 85 f6             	test   %si,%si
40bb63:	74 75                	je     0x40bbda
40bb65:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40bb6b:	75 10                	jne    0x40bb7d
40bb6d:	68 38 03 41 00       	push   $0x410338
40bb72:	68 c4 7c 40 00       	push   $0x407cc4
40bb77:	ff 15 28 11 40 00    	call   *0x401128
40bb7d:	8b 35 38 03 41 00    	mov    0x410338,%esi
40bb83:	8b 06                	mov    (%esi),%eax
40bb85:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40bb88:	51                   	push   %ecx
40bb89:	56                   	push   %esi
40bb8a:	ff 50 4c             	call   *0x4c(%eax)
40bb8d:	db e2                	fnclex
40bb8f:	3b c3                	cmp    %ebx,%eax
40bb91:	7d 0b                	jge    0x40bb9e
40bb93:	6a 4c                	push   $0x4c
40bb95:	68 b4 7c 40 00       	push   $0x407cb4
40bb9a:	56                   	push   %esi
40bb9b:	50                   	push   %eax
40bb9c:	ff d7                	call   *%edi
40bb9e:	8b 45 e0             	mov    -0x20(%ebp),%eax
40bba1:	8b 10                	mov    (%eax),%edx
40bba3:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bba6:	51                   	push   %ecx
40bba7:	68 40 7f 40 00       	push   $0x407f40
40bbac:	68 28 7f 40 00       	push   $0x407f28
40bbb1:	50                   	push   %eax
40bbb2:	8b f0                	mov    %eax,%esi
40bbb4:	ff 52 24             	call   *0x24(%edx)
40bbb7:	db e2                	fnclex
40bbb9:	3b c3                	cmp    %ebx,%eax
40bbbb:	7d 0b                	jge    0x40bbc8
40bbbd:	6a 24                	push   $0x24
40bbbf:	68 3c 7e 40 00       	push   $0x407e3c
40bbc4:	56                   	push   %esi
40bbc5:	50                   	push   %eax
40bbc6:	ff d7                	call   *%edi
40bbc8:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bbcb:	ff 15 a8 11 40 00    	call   *0x4011a8
40bbd1:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40bbd4:	ff 15 ac 11 40 00    	call   *0x4011ac
40bbda:	b8 0a 00 00 00       	mov    $0xa,%eax
40bbdf:	8d 55 c0             	lea    -0x40(%ebp),%edx
40bbe2:	52                   	push   %edx
40bbe3:	89 45 c0             	mov    %eax,-0x40(%ebp)
40bbe6:	89 45 d0             	mov    %eax,-0x30(%ebp)
40bbe9:	8d 45 d0             	lea    -0x30(%ebp),%eax
40bbec:	50                   	push   %eax
40bbed:	68 00 00 f0 3f       	push   $0x3ff00000
40bbf2:	53                   	push   %ebx
40bbf3:	68 00 00 f0 3f       	push   $0x3ff00000
40bbf8:	53                   	push   %ebx
40bbf9:	68 00 00 f0 3f       	push   $0x3ff00000
40bbfe:	53                   	push   %ebx
40bbff:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40bc04:	68 00 00 f0 3f       	push   $0x3ff00000
40bc09:	53                   	push   %ebx
40bc0a:	89 4d c8             	mov    %ecx,-0x38(%ebp)
40bc0d:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40bc10:	ff 15 dc 10 40 00    	call   *0x4010dc
40bc16:	ff 15 9c 10 40 00    	call   *0x40109c
40bc1c:	dc 1d 10 12 40 00    	fcompl 0x401210
40bc22:	df e0                	fnstsw %ax
40bc24:	f6 c4 40             	test   $0x40,%ah
40bc27:	75 07                	jne    0x40bc30
40bc29:	be 01 00 00 00       	mov    $0x1,%esi
40bc2e:	eb 02                	jmp    0x40bc32
40bc30:	33 f6                	xor    %esi,%esi
40bc32:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40bc35:	51                   	push   %ecx
40bc36:	8d 55 d0             	lea    -0x30(%ebp),%edx
40bc39:	52                   	push   %edx
40bc3a:	6a 02                	push   $0x2
40bc3c:	ff 15 28 10 40 00    	call   *0x401028
40bc42:	f7 de                	neg    %esi
40bc44:	83 c4 0c             	add    $0xc,%esp
40bc47:	66 85 f6             	test   %si,%si
40bc4a:	74 75                	je     0x40bcc1
40bc4c:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40bc52:	75 10                	jne    0x40bc64
40bc54:	68 38 03 41 00       	push   $0x410338
40bc59:	68 c4 7c 40 00       	push   $0x407cc4
40bc5e:	ff 15 28 11 40 00    	call   *0x401128
40bc64:	8b 35 38 03 41 00    	mov    0x410338,%esi
40bc6a:	8b 06                	mov    (%esi),%eax
40bc6c:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40bc6f:	51                   	push   %ecx
40bc70:	56                   	push   %esi
40bc71:	ff 50 4c             	call   *0x4c(%eax)
40bc74:	db e2                	fnclex
40bc76:	3b c3                	cmp    %ebx,%eax
40bc78:	7d 0b                	jge    0x40bc85
40bc7a:	6a 4c                	push   $0x4c
40bc7c:	68 b4 7c 40 00       	push   $0x407cb4
40bc81:	56                   	push   %esi
40bc82:	50                   	push   %eax
40bc83:	ff d7                	call   *%edi
40bc85:	8b 45 e0             	mov    -0x20(%ebp),%eax
40bc88:	8b 10                	mov    (%eax),%edx
40bc8a:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bc8d:	51                   	push   %ecx
40bc8e:	68 6c 7f 40 00       	push   $0x407f6c
40bc93:	68 58 7f 40 00       	push   $0x407f58
40bc98:	50                   	push   %eax
40bc99:	8b f0                	mov    %eax,%esi
40bc9b:	ff 52 24             	call   *0x24(%edx)
40bc9e:	db e2                	fnclex
40bca0:	3b c3                	cmp    %ebx,%eax
40bca2:	7d 0b                	jge    0x40bcaf
40bca4:	6a 24                	push   $0x24
40bca6:	68 3c 7e 40 00       	push   $0x407e3c
40bcab:	56                   	push   %esi
40bcac:	50                   	push   %eax
40bcad:	ff d7                	call   *%edi
40bcaf:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bcb2:	ff 15 a8 11 40 00    	call   *0x4011a8
40bcb8:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40bcbb:	ff 15 ac 11 40 00    	call   *0x4011ac
40bcc1:	b8 0a 00 00 00       	mov    $0xa,%eax
40bcc6:	8d 55 c0             	lea    -0x40(%ebp),%edx
40bcc9:	52                   	push   %edx
40bcca:	89 45 c0             	mov    %eax,-0x40(%ebp)
40bccd:	89 45 d0             	mov    %eax,-0x30(%ebp)
40bcd0:	8d 45 d0             	lea    -0x30(%ebp),%eax
40bcd3:	50                   	push   %eax
40bcd4:	68 00 00 f0 3f       	push   $0x3ff00000
40bcd9:	53                   	push   %ebx
40bcda:	68 00 00 f0 3f       	push   $0x3ff00000
40bcdf:	53                   	push   %ebx
40bce0:	68 00 00 f0 3f       	push   $0x3ff00000
40bce5:	53                   	push   %ebx
40bce6:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40bceb:	68 00 00 f0 3f       	push   $0x3ff00000
40bcf0:	53                   	push   %ebx
40bcf1:	89 4d c8             	mov    %ecx,-0x38(%ebp)
40bcf4:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40bcf7:	ff 15 dc 10 40 00    	call   *0x4010dc
40bcfd:	ff 15 9c 10 40 00    	call   *0x40109c
40bd03:	dc 1d 10 12 40 00    	fcompl 0x401210
40bd09:	df e0                	fnstsw %ax
40bd0b:	f6 c4 40             	test   $0x40,%ah
40bd0e:	75 07                	jne    0x40bd17
40bd10:	be 01 00 00 00       	mov    $0x1,%esi
40bd15:	eb 02                	jmp    0x40bd19
40bd17:	33 f6                	xor    %esi,%esi
40bd19:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40bd1c:	51                   	push   %ecx
40bd1d:	8d 55 d0             	lea    -0x30(%ebp),%edx
40bd20:	52                   	push   %edx
40bd21:	6a 02                	push   $0x2
40bd23:	ff 15 28 10 40 00    	call   *0x401028
40bd29:	f7 de                	neg    %esi
40bd2b:	83 c4 0c             	add    $0xc,%esp
40bd2e:	66 85 f6             	test   %si,%si
40bd31:	74 75                	je     0x40bda8
40bd33:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40bd39:	75 10                	jne    0x40bd4b
40bd3b:	68 38 03 41 00       	push   $0x410338
40bd40:	68 c4 7c 40 00       	push   $0x407cc4
40bd45:	ff 15 28 11 40 00    	call   *0x401128
40bd4b:	8b 35 38 03 41 00    	mov    0x410338,%esi
40bd51:	8b 06                	mov    (%esi),%eax
40bd53:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40bd56:	51                   	push   %ecx
40bd57:	56                   	push   %esi
40bd58:	ff 50 4c             	call   *0x4c(%eax)
40bd5b:	db e2                	fnclex
40bd5d:	3b c3                	cmp    %ebx,%eax
40bd5f:	7d 0b                	jge    0x40bd6c
40bd61:	6a 4c                	push   $0x4c
40bd63:	68 b4 7c 40 00       	push   $0x407cb4
40bd68:	56                   	push   %esi
40bd69:	50                   	push   %eax
40bd6a:	ff d7                	call   *%edi
40bd6c:	8b 45 e0             	mov    -0x20(%ebp),%eax
40bd6f:	8b 10                	mov    (%eax),%edx
40bd71:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bd74:	51                   	push   %ecx
40bd75:	68 a8 7f 40 00       	push   $0x407fa8
40bd7a:	68 90 7f 40 00       	push   $0x407f90
40bd7f:	50                   	push   %eax
40bd80:	8b f0                	mov    %eax,%esi
40bd82:	ff 52 24             	call   *0x24(%edx)
40bd85:	db e2                	fnclex
40bd87:	3b c3                	cmp    %ebx,%eax
40bd89:	7d 0b                	jge    0x40bd96
40bd8b:	6a 24                	push   $0x24
40bd8d:	68 3c 7e 40 00       	push   $0x407e3c
40bd92:	56                   	push   %esi
40bd93:	50                   	push   %eax
40bd94:	ff d7                	call   *%edi
40bd96:	8d 4d e4             	lea    -0x1c(%ebp),%ecx