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
40b9dd:	ff 15 a8 11 40 00    	call   *0x4011a8
40b9e3:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b9e6:	ff 15 ac 11 40 00    	call   *0x4011ac
40b9ec:	b8 0a 00 00 00       	mov    $0xa,%eax
40b9f1:	8d 55 c0             	lea    -0x40(%ebp),%edx
40b9f4:	52                   	push   %edx
40b9f5:	89 45 c0             	mov    %eax,-0x40(%ebp)
40b9f8:	89 45 d0             	mov    %eax,-0x30(%ebp)
40b9fb:	8d 45 d0             	lea    -0x30(%ebp),%eax
40b9fe:	50                   	push   %eax
40b9ff:	68 00 00 f0 3f       	push   $0x3ff00000
40ba04:	53                   	push   %ebx
40ba05:	68 00 00 f0 3f       	push   $0x3ff00000
40ba0a:	53                   	push   %ebx
40ba0b:	68 00 00 f0 3f       	push   $0x3ff00000
40ba10:	53                   	push   %ebx
40ba11:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40ba16:	68 00 00 f0 3f       	push   $0x3ff00000
40ba1b:	53                   	push   %ebx
40ba1c:	89 4d c8             	mov    %ecx,-0x38(%ebp)
40ba1f:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40ba22:	ff 15 e0 10 40 00    	call   *0x4010e0
40ba28:	ff 15 9c 10 40 00    	call   *0x40109c
40ba2e:	dc 1d 10 12 40 00    	fcompl 0x401210
40ba34:	df e0                	fnstsw %ax
40ba36:	f6 c4 40             	test   $0x40,%ah
40ba39:	75 07                	jne    0x40ba42
40ba3b:	be 01 00 00 00       	mov    $0x1,%esi
40ba40:	eb 02                	jmp    0x40ba44
40ba42:	33 f6                	xor    %esi,%esi
40ba44:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40ba47:	51                   	push   %ecx
40ba48:	8d 55 d0             	lea    -0x30(%ebp),%edx
40ba4b:	52                   	push   %edx
40ba4c:	6a 02                	push   $0x2
40ba4e:	ff 15 28 10 40 00    	call   *0x401028
40ba54:	f7 de                	neg    %esi
40ba56:	83 c4 0c             	add    $0xc,%esp
40ba59:	66 85 f6             	test   %si,%si
40ba5c:	74 75                	je     0x40bad3
40ba5e:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40ba64:	75 10                	jne    0x40ba76
40ba66:	68 38 03 41 00       	push   $0x410338
40ba6b:	68 a8 7c 40 00       	push   $0x407ca8
40ba70:	ff 15 2c 11 40 00    	call   *0x40112c
40ba76:	8b 35 38 03 41 00    	mov    0x410338,%esi
40ba7c:	8b 06                	mov    (%esi),%eax
40ba7e:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40ba81:	51                   	push   %ecx
40ba82:	56                   	push   %esi
40ba83:	ff 50 4c             	call   *0x4c(%eax)
40ba86:	db e2                	fnclex
40ba88:	3b c3                	cmp    %ebx,%eax
40ba8a:	7d 0b                	jge    0x40ba97
40ba8c:	6a 4c                	push   $0x4c
40ba8e:	68 98 7c 40 00       	push   $0x407c98
40ba93:	56                   	push   %esi
40ba94:	50                   	push   %eax
40ba95:	ff d7                	call   *%edi
40ba97:	8b 45 e0             	mov    -0x20(%ebp),%eax
40ba9a:	8b 10                	mov    (%eax),%edx
40ba9c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40ba9f:	51                   	push   %ecx
40baa0:	68 e8 7e 40 00       	push   $0x407ee8
40baa5:	68 cc 7e 40 00       	push   $0x407ecc
40baaa:	50                   	push   %eax
40baab:	8b f0                	mov    %eax,%esi
40baad:	ff 52 24             	call   *0x24(%edx)
40bab0:	db e2                	fnclex
40bab2:	3b c3                	cmp    %ebx,%eax
40bab4:	7d 0b                	jge    0x40bac1
40bab6:	6a 24                	push   $0x24
40bab8:	68 20 7e 40 00       	push   $0x407e20
40babd:	56                   	push   %esi
40babe:	50                   	push   %eax
40babf:	ff d7                	call   *%edi
40bac1:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bac4:	ff 15 a8 11 40 00    	call   *0x4011a8
40baca:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40bacd:	ff 15 ac 11 40 00    	call   *0x4011ac
40bad3:	b8 0a 00 00 00       	mov    $0xa,%eax
40bad8:	8d 55 c0             	lea    -0x40(%ebp),%edx
40badb:	52                   	push   %edx
40badc:	89 45 c0             	mov    %eax,-0x40(%ebp)
40badf:	89 45 d0             	mov    %eax,-0x30(%ebp)
40bae2:	8d 45 d0             	lea    -0x30(%ebp),%eax
40bae5:	50                   	push   %eax
40bae6:	68 00 00 f0 3f       	push   $0x3ff00000
40baeb:	53                   	push   %ebx
40baec:	68 00 00 f0 3f       	push   $0x3ff00000
40baf1:	53                   	push   %ebx
40baf2:	68 00 00 f0 3f       	push   $0x3ff00000
40baf7:	53                   	push   %ebx
40baf8:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40bafd:	68 00 00 f0 3f       	push   $0x3ff00000
40bb02:	53                   	push   %ebx
40bb03:	89 4d c8             	mov    %ecx,-0x38(%ebp)
40bb06:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40bb09:	ff 15 e0 10 40 00    	call   *0x4010e0
40bb0f:	ff 15 9c 10 40 00    	call   *0x40109c
40bb15:	dc 1d 10 12 40 00    	fcompl 0x401210
40bb1b:	df e0                	fnstsw %ax
40bb1d:	f6 c4 40             	test   $0x40,%ah
40bb20:	75 07                	jne    0x40bb29
40bb22:	be 01 00 00 00       	mov    $0x1,%esi
40bb27:	eb 02                	jmp    0x40bb2b
40bb29:	33 f6                	xor    %esi,%esi
40bb2b:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40bb2e:	51                   	push   %ecx
40bb2f:	8d 55 d0             	lea    -0x30(%ebp),%edx
40bb32:	52                   	push   %edx
40bb33:	6a 02                	push   $0x2
40bb35:	ff 15 28 10 40 00    	call   *0x401028
40bb3b:	f7 de                	neg    %esi
40bb3d:	83 c4 0c             	add    $0xc,%esp
40bb40:	66 85 f6             	test   %si,%si
40bb43:	74 75                	je     0x40bbba
40bb45:	39 1d 38 03 41 00    	cmp    %ebx,0x410338
40bb4b:	75 10                	jne    0x40bb5d
40bb4d:	68 38 03 41 00       	push   $0x410338
40bb52:	68 a8 7c 40 00       	push   $0x407ca8
40bb57:	ff 15 2c 11 40 00    	call   *0x40112c
40bb5d:	8b 35 38 03 41 00    	mov    0x410338,%esi
40bb63:	8b 06                	mov    (%esi),%eax
40bb65:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40bb68:	51                   	push   %ecx
40bb69:	56                   	push   %esi
40bb6a:	ff 50 4c             	call   *0x4c(%eax)
40bb6d:	db e2                	fnclex
40bb6f:	3b c3                	cmp    %ebx,%eax
40bb71:	7d 0b                	jge    0x40bb7e
40bb73:	6a 4c                	push   $0x4c
40bb75:	68 98 7c 40 00       	push   $0x407c98
40bb7a:	56                   	push   %esi
40bb7b:	50                   	push   %eax
40bb7c:	ff d7                	call   *%edi
40bb7e:	8b 45 e0             	mov    -0x20(%ebp),%eax
40bb81:	8b 10                	mov    (%eax),%edx
40bb83:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bb86:	51                   	push   %ecx
40bb87:	68 24 7f 40 00       	push   $0x407f24
40bb8c:	68 0c 7f 40 00       	push   $0x407f0c
40bb91:	50                   	push   %eax
40bb92:	8b f0                	mov    %eax,%esi
40bb94:	ff 52 24             	call   *0x24(%edx)
40bb97:	db e2                	fnclex
40bb99:	3b c3                	cmp    %ebx,%eax
40bb9b:	7d 0b                	jge    0x40bba8
40bb9d:	6a 24                	push   $0x24
40bb9f:	68 20 7e 40 00       	push   $0x407e20
40bba4:	56                   	push   %esi
40bba5:	50                   	push   %eax
40bba6:	ff d7                	call   *%edi
40bba8:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bbab:	ff 15 a8 11 40 00    	call   *0x4011a8
40bbb1:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40bbb4:	ff 15 ac 11 40 00    	call   *0x4011ac
40bbba:	b8 0a 00 00 00       	mov    $0xa,%eax
40bbbf:	8d 55 c0             	lea    -0x40(%ebp),%edx
40bbc2:	52                   	push   %edx
40bbc3:	89 45 c0             	mov    %eax,-0x40(%ebp)
40bbc6:	89 45 d0             	mov    %eax,-0x30(%ebp)
40bbc9:	8d 45 d0             	lea    -0x30(%ebp),%eax
40bbcc:	50                   	push   %eax
40bbcd:	68 00 00 f0 3f       	push   $0x3ff00000
40bbd2:	53                   	push   %ebx
40bbd3:	68 00 00 f0 3f       	push   $0x3ff00000
40bbd8:	53                   	push   %ebx
40bbd9:	68 00 00 f0 3f       	push   $0x3ff00000
40bbde:	53                   	push   %ebx
40bbdf:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40bbe4:	68 00 00 f0 3f       	push   $0x3ff00000
40bbe9:	53                   	push   %ebx
40bbea:	89 4d c8             	mov    %ecx,-0x38(%ebp)
40bbed:	89 4d d8             	mov    %ecx,-0x28(%ebp)