46aa45:	d9 03                	flds   (%ebx)
46aa47:	e8 a3 67 f9 ff       	call   0x4011ef
46aa4c:	8b 5d f0             	mov    -0x10(%ebp),%ebx
46aa4f:	89 03                	mov    %eax,(%ebx)
46aa51:	8b 5d 08             	mov    0x8(%ebp),%ebx
46aa54:	8b 1b                	mov    (%ebx),%ebx
46aa56:	81 c3 7c 01 00 00    	add    $0x17c,%ebx
46aa5c:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46aa5f:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
46aa66:	6a 00                	push   $0x0
46aa68:	ff 75 ec             	push   -0x14(%ebp)
46aa6b:	ff 75 f0             	push   -0x10(%ebp)
46aa6e:	8b 04 24             	mov    (%esp),%eax
46aa71:	8b 00                	mov    (%eax),%eax
46aa73:	8b 00                	mov    (%eax),%eax
46aa75:	ff 90 ac 00 00 00    	call   *0xac(%eax)
46aa7b:	83 e0 01             	and    $0x1,%eax
46aa7e:	83 f0 01             	xor    $0x1,%eax
46aa81:	85 c0                	test   %eax,%eax
46aa83:	0f 84 25 01 00 00    	je     0x46abae
46aa89:	8b 5d 08             	mov    0x8(%ebp),%ebx
46aa8c:	8b 1b                	mov    (%ebx),%ebx
46aa8e:	81 c3 58 01 00 00    	add    $0x158,%ebx
46aa94:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46aa97:	8b 5d 08             	mov    0x8(%ebp),%ebx
46aa9a:	8b 1b                	mov    (%ebx),%ebx
46aa9c:	8b 9b 64 01 00 00    	mov    0x164(%ebx),%ebx
46aaa2:	83 c3 08             	add    $0x8,%ebx
46aaa5:	89 5d ec             	mov    %ebx,-0x14(%ebp)
46aaa8:	8b 5d f0             	mov    -0x10(%ebp),%ebx
46aaab:	db 03                	fildl  (%ebx)
46aaad:	dd 5d e4             	fstpl  -0x1c(%ebp)
46aab0:	8b 5d ec             	mov    -0x14(%ebp),%ebx
46aab3:	d9 03                	flds   (%ebx)
46aab5:	dd 5d dc             	fstpl  -0x24(%ebp)
46aab8:	dd 45 e4             	fldl   -0x1c(%ebp)
46aabb:	dc 65 dc             	fsubl  -0x24(%ebp)
46aabe:	dc 1d 7a 0a 4e 00    	fcompl 0x4e0a7a
46aac4:	df e0                	fnstsw %ax
46aac6:	f6 c4 41             	test   $0x41,%ah
46aac9:	0f 85 df 00 00 00    	jne    0x46abae
46aacf:	8b 5d 08             	mov    0x8(%ebp),%ebx
46aad2:	8b 1b                	mov    (%ebx),%ebx
46aad4:	81 c3 7c 01 00 00    	add    $0x17c,%ebx
46aada:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46aadd:	ff 75 f0             	push   -0x10(%ebp)
46aae0:	8b 04 24             	mov    (%esp),%eax
46aae3:	8b 00                	mov    (%eax),%eax
46aae5:	8b 00                	mov    (%eax),%eax
46aae7:	ff 50 68             	call   *0x68(%eax)
46aaea:	89 45 ec             	mov    %eax,-0x14(%ebp)
46aaed:	68 00 80 00 00       	push   $0x8000
46aaf2:	ff 75 ec             	push   -0x14(%ebp)
46aaf5:	e8 aa 54 fc ff       	call   0x42ffa4
46aafa:	8b 5d 08             	mov    0x8(%ebp),%ebx
46aafd:	8b 1b                	mov    (%ebx),%ebx
46aaff:	81 c3 78 01 00 00    	add    $0x178,%ebx
46ab05:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46ab08:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
46ab0f:	6a 00                	push   $0x0
46ab11:	ff 75 ec             	push   -0x14(%ebp)
46ab14:	ff 75 f0             	push   -0x10(%ebp)
46ab17:	8b 04 24             	mov    (%esp),%eax
46ab1a:	8b 00                	mov    (%eax),%eax
46ab1c:	8b 00                	mov    (%eax),%eax
46ab1e:	ff 90 ac 00 00 00    	call   *0xac(%eax)
46ab24:	85 c0                	test   %eax,%eax
46ab26:	0f 84 82 00 00 00    	je     0x46abae
46ab2c:	8b 5d 08             	mov    0x8(%ebp),%ebx
46ab2f:	8b 1b                	mov    (%ebx),%ebx
46ab31:	81 c3 78 01 00 00    	add    $0x178,%ebx
46ab37:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46ab3a:	8b 5d 08             	mov    0x8(%ebp),%ebx
46ab3d:	8b 1b                	mov    (%ebx),%ebx
46ab3f:	81 c3 5c 01 00 00    	add    $0x15c,%ebx
46ab45:	89 5d ec             	mov    %ebx,-0x14(%ebp)
46ab48:	8b 5d 08             	mov    0x8(%ebp),%ebx
46ab4b:	8b 1b                	mov    (%ebx),%ebx
46ab4d:	81 c3 7c 01 00 00    	add    $0x17c,%ebx
46ab53:	89 5d e8             	mov    %ebx,-0x18(%ebp)
46ab56:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
46ab5d:	6a 00                	push   $0x0
46ab5f:	ff 75 e4             	push   -0x1c(%ebp)
46ab62:	ff 75 e8             	push   -0x18(%ebp)
46ab65:	8b 04 24             	mov    (%esp),%eax
46ab68:	8b 00                	mov    (%eax),%eax
46ab6a:	8b 00                	mov    (%eax),%eax
46ab6c:	ff 90 c0 00 00 00    	call   *0xc0(%eax)
46ab72:	89 45 e0             	mov    %eax,-0x20(%ebp)
46ab75:	8b 5d ec             	mov    -0x14(%ebp),%ebx
46ab78:	db 03                	fildl  (%ebx)
46ab7a:	dd 5d d8             	fstpl  -0x28(%ebp)
46ab7d:	dd 45 d8             	fldl   -0x28(%ebp)
46ab80:	db 45 e0             	fildl  -0x20(%ebp)
46ab83:	dd 5d d0             	fstpl  -0x30(%ebp)
46ab86:	dc 45 d0             	faddl  -0x30(%ebp)
46ab89:	dd 5d c8             	fstpl  -0x38(%ebp)
46ab8c:	6a 01                	push   $0x1
46ab8e:	68 00 00 00 00       	push   $0x0
46ab93:	6a 01                	push   $0x1
46ab95:	dd 45 c8             	fldl   -0x38(%ebp)
46ab98:	e8 52 66 f9 ff       	call   0x4011ef
46ab9d:	50                   	push   %eax
46ab9e:	ff 75 f0             	push   -0x10(%ebp)
46aba1:	8b 04 24             	mov    (%esp),%eax
46aba4:	8b 00                	mov    (%eax),%eax
46aba6:	8b 00                	mov    (%eax),%eax
46aba8:	ff 90 9c 01 00 00    	call   *0x19c(%eax)
46abae:	8b 5d 08             	mov    0x8(%ebp),%ebx
46abb1:	8b 1b                	mov    (%ebx),%ebx
46abb3:	81 c3 7c 01 00 00    	add    $0x17c,%ebx
46abb9:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46abbc:	8b 5d 08             	mov    0x8(%ebp),%ebx
46abbf:	8b 1b                	mov    (%ebx),%ebx
46abc1:	81 c3 58 01 00 00    	add    $0x158,%ebx
46abc7:	89 5d ec             	mov    %ebx,-0x14(%ebp)
46abca:	8b 5d 08             	mov    0x8(%ebp),%ebx
46abcd:	8b 1b                	mov    (%ebx),%ebx
46abcf:	81 c3 78 01 00 00    	add    $0x178,%ebx
46abd5:	89 5d e8             	mov    %ebx,-0x18(%ebp)
46abd8:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
46abdf:	6a 00                	push   $0x0
46abe1:	ff 75 e4             	push   -0x1c(%ebp)
46abe4:	ff 75 e8             	push   -0x18(%ebp)
46abe7:	8b 04 24             	mov    (%esp),%eax
46abea:	8b 00                	mov    (%eax),%eax
46abec:	8b 00                	mov    (%eax),%eax
46abee:	ff 90 ac 00 00 00    	call   *0xac(%eax)
46abf4:	89 45 e0             	mov    %eax,-0x20(%ebp)
46abf7:	8b 5d 08             	mov    0x8(%ebp),%ebx
46abfa:	8b 1b                	mov    (%ebx),%ebx
46abfc:	81 c3 78 01 00 00    	add    $0x178,%ebx
46ac02:	89 5d dc             	mov    %ebx,-0x24(%ebp)
46ac05:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
46ac0c:	6a 00                	push   $0x0
46ac0e:	ff 75 d8             	push   -0x28(%ebp)
46ac11:	ff 75 dc             	push   -0x24(%ebp)
46ac14:	8b 04 24             	mov    (%esp),%eax
46ac17:	8b 00                	mov    (%eax),%eax
46ac19:	8b 00                	mov    (%eax),%eax
46ac1b:	ff 90 bc 00 00 00    	call   *0xbc(%eax)
46ac21:	89 45 d4             	mov    %eax,-0x2c(%ebp)
46ac24:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
46ac28:	0f 84 08 00 00 00    	je     0x46ac36
46ac2e:	8b 45 d4             	mov    -0x2c(%ebp),%eax
46ac31:	e9 05 00 00 00       	jmp    0x46ac3b
46ac36:	b8 00 00 00 00       	mov    $0x0,%eax
46ac3b:	89 45 d0             	mov    %eax,-0x30(%ebp)
46ac3e:	8b 5d ec             	mov    -0x14(%ebp),%ebx
46ac41:	db 03                	fildl  (%ebx)
46ac43:	dd 5d c8             	fstpl  -0x38(%ebp)
46ac46:	dd 45 c8             	fldl   -0x38(%ebp)
46ac49:	db 45 d0             	fildl  -0x30(%ebp)
46ac4c:	dd 5d c0             	fstpl  -0x40(%ebp)
46ac4f:	dc 45 c0             	faddl  -0x40(%ebp)
46ac52:	dd 5d b8             	fstpl  -0x48(%ebp)
46ac55:	6a 01                	push   $0x1
46ac57:	68 00 00 00 00       	push   $0x0
46ac5c:	6a 01                	push   $0x1
46ac5e:	dd 45 b8             	fldl   -0x48(%ebp)
46ac61:	e8 89 65 f9 ff       	call   0x4011ef
46ac66:	50                   	push   %eax
46ac67:	ff 75 f0             	push   -0x10(%ebp)
46ac6a:	8b 04 24             	mov    (%esp),%eax
46ac6d:	8b 00                	mov    (%eax),%eax
46ac6f:	8b 00                	mov    (%eax),%eax
46ac71:	ff 90 9c 01 00 00    	call   *0x19c(%eax)
46ac77:	ff 75 08             	push   0x8(%ebp)
46ac7a:	8b 04 24             	mov    (%esp),%eax
46ac7d:	8b 00                	mov    (%eax),%eax
46ac7f:	8b 00                	mov    (%eax),%eax
46ac81:	ff 90 a8 01 00 00    	call   *0x1a8(%eax)
46ac87:	8b 45 0c             	mov    0xc(%ebp),%eax
46ac8a:	e9 00 00 00 00       	jmp    0x46ac8f
46ac8f:	50                   	push   %eax
46ac90:	8b 5d fc             	mov    -0x4(%ebp),%ebx
46ac93:	53                   	push   %ebx
46ac94:	53                   	push   %ebx
46ac95:	8b 1b                	mov    (%ebx),%ebx
46ac97:	85 db                	test   %ebx,%ebx
46ac99:	74 09                	je     0x46aca4
46ac9b:	53                   	push   %ebx
46ac9c:	e8 03 59 03 00       	call   0x4a05a4
46aca1:	83 c4 04             	add    $0x4,%esp
46aca4:	5b                   	pop    %ebx
46aca5:	e8 fa 58 03 00       	call   0x4a05a4
46acaa:	83 c4 04             	add    $0x4,%esp
46acad:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46acb0:	85 db                	test   %ebx,%ebx
46acb2:	74 09                	je     0x46acbd
46acb4:	53                   	push   %ebx
46acb5:	e8 ea 58 03 00       	call   0x4a05a4
46acba:	83 c4 04             	add    $0x4,%esp
46acbd:	58                   	pop    %eax
46acbe:	8b e5                	mov    %ebp,%esp
46acc0:	5d                   	pop    %ebp
46acc1:	c2 2c 00             	ret    $0x2c
46acc4:	55                   	push   %ebp
46acc5:	8b ec                	mov    %esp,%ebp
46acc7:	81 ec 44 00 00 00    	sub    $0x44,%esp
46accd:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
46acd4:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
46acdb:	6a 01                	push   $0x1
46acdd:	ff 75 0c             	push   0xc(%ebp)
46ace0:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
46ace7:	6a 00                	push   $0x0
46ace9:	ff 75 f4             	push   -0xc(%ebp)
46acec:	ff 75 08             	push   0x8(%ebp)
46acef:	8b 04 24             	mov    (%esp),%eax
46acf2:	8b 00                	mov    (%eax),%eax
46acf4:	8b 00                	mov    (%eax),%eax
46acf6:	ff 90 90 01 00 00    	call   *0x190(%eax)
46acfc:	85 c0                	test   %eax,%eax
46acfe:	0f 84 24 00 00 00    	je     0x46ad28
46ad04:	ff 75 08             	push   0x8(%ebp)
46ad07:	8b 04 24             	mov    (%esp),%eax
46ad0a:	8b 00                	mov    (%eax),%eax
46ad0c:	8b 00                	mov    (%eax),%eax
46ad0e:	ff 90 c4 01 00 00    	call   *0x1c4(%eax)
46ad14:	89 45 e8             	mov    %eax,-0x18(%ebp)
46ad17:	83 7d e8 01          	cmpl   $0x1,-0x18(%ebp)
46ad1b:	0f 8e 07 00 00 00    	jle    0x46ad28
46ad21:	b8 01 00 00 00       	mov    $0x1,%eax
46ad26:	eb 05                	jmp    0x46ad2d
46ad28:	b8 00 00 00 00       	mov    $0x0,%eax
46ad2d:	85 c0                	test   %eax,%eax
46ad2f:	0f 84 74 06 00 00    	je     0x46b3a9
46ad35:	8b 5d 08             	mov    0x8(%ebp),%ebx
46ad38:	8b 1b                	mov    (%ebx),%ebx
46ad3a:	81 c3 58 01 00 00    	add    $0x158,%ebx
46ad40:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46ad43:	8b 5d 08             	mov    0x8(%ebp),%ebx
46ad46:	8b 1b                	mov    (%ebx),%ebx
46ad48:	81 c3 58 01 00 00    	add    $0x158,%ebx
46ad4e:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46ad51:	8b 5d 08             	mov    0x8(%ebp),%ebx
46ad54:	8b 1b                	mov    (%ebx),%ebx
46ad56:	8b 9b 20 01 00 00    	mov    0x120(%ebx),%ebx
46ad5c:	e8 92 89 f9 ff       	call   0x4036f3
46ad61:	53                   	push   %ebx
46ad62:	51                   	push   %ecx
46ad63:	8b 45 0c             	mov    0xc(%ebp),%eax
46ad66:	48                   	dec    %eax
46ad67:	79 17                	jns    0x46ad80
46ad69:	68 89 00 00 00       	push   $0x89
46ad6e:	68 9a d1 03 04       	push   $0x403d19a
46ad73:	68 04 00 00 00       	push   $0x4
46ad78:	e8 2d 58 03 00       	call   0x4a05aa
46ad7d:	83 c4 0c             	add    $0xc,%esp
46ad80:	59                   	pop    %ecx
46ad81:	5b                   	pop    %ebx
46ad82:	3b c1                	cmp    %ecx,%eax
46ad84:	7c 17                	jl     0x46ad9d
46ad86:	68 89 00 00 00       	push   $0x89
46ad8b:	68 9a d1 03 04       	push   $0x403d19a
46ad90:	68 01 00 00 00       	push   $0x1
46ad95:	e8 10 58 03 00       	call   0x4a05aa
46ad9a:	83 c4 0c             	add    $0xc,%esp
46ad9d:	c1 e0 02             	shl    $0x2,%eax
46ada0:	03 d8                	add    %eax,%ebx
46ada2:	8b 1b                	mov    (%ebx),%ebx
46ada4:	83 c3 0c             	add    $0xc,%ebx
46ada7:	89 5d ec             	mov    %ebx,-0x14(%ebp)
46adaa:	8b 5d f0             	mov    -0x10(%ebp),%ebx
46adad:	db 03                	fildl  (%ebx)
46adaf:	dd 5d e4             	fstpl  -0x1c(%ebp)
46adb2:	dd 45 e4             	fldl   -0x1c(%ebp)
46adb5:	8b 5d ec             	mov    -0x14(%ebp),%ebx
46adb8:	db 03                	fildl  (%ebx)
46adba:	dd 5d dc             	fstpl  -0x24(%ebp)
46adbd:	dc 65 dc             	fsubl  -0x24(%ebp)
46adc0:	dd 5d d4             	fstpl  -0x2c(%ebp)
46adc3:	dd 45 d4             	fldl   -0x2c(%ebp)
46adc6:	e8 24 64 f9 ff       	call   0x4011ef
46adcb:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46adce:	89 03                	mov    %eax,(%ebx)
46add0:	8b 5d 08             	mov    0x8(%ebp),%ebx
46add3:	8b 1b                	mov    (%ebx),%ebx
46add5:	81 c3 2c 01 00 00    	add    $0x12c,%ebx
46addb:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46adde:	8b 5d 08             	mov    0x8(%ebp),%ebx
46ade1:	8b 1b                	mov    (%ebx),%ebx
46ade3:	81 c3 2c 01 00 00    	add    $0x12c,%ebx
46ade9:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46adec:	8b 5d 08             	mov    0x8(%ebp),%ebx
46adef:	8b 1b                	mov    (%ebx),%ebx
46adf1:	8b 9b 20 01 00 00    	mov    0x120(%ebx),%ebx
46adf7:	e8 f7 88 f9 ff       	call   0x4036f3
46adfc:	53                   	push   %ebx
46adfd:	51                   	push   %ecx
46adfe:	8b 45 0c             	mov    0xc(%ebp),%eax
46ae01:	48                   	dec    %eax
46ae02:	79 17                	jns    0x46ae1b
46ae04:	68 d4 00 00 00       	push   $0xd4
46ae09:	68 9a d1 03 04       	push   $0x403d19a
46ae0e:	68 04 00 00 00       	push   $0x4
46ae13:	e8 92 57 03 00       	call   0x4a05aa
46ae18:	83 c4 0c             	add    $0xc,%esp
46ae1b:	59                   	pop    %ecx
46ae1c:	5b                   	pop    %ebx
46ae1d:	3b c1                	cmp    %ecx,%eax
46ae1f:	7c 17                	jl     0x46ae38
46ae21:	68 d4 00 00 00       	push   $0xd4
46ae26:	68 9a d1 03 04       	push   $0x403d19a
46ae2b:	68 01 00 00 00       	push   $0x1
46ae30:	e8 75 57 03 00       	call   0x4a05aa
46ae35:	83 c4 0c             	add    $0xc,%esp
46ae38:	c1 e0 02             	shl    $0x2,%eax
46ae3b:	03 d8                	add    %eax,%ebx
46ae3d:	8b 1b                	mov    (%ebx),%ebx
46ae3f:	83 c3 0c             	add    $0xc,%ebx
46ae42:	89 5d ec             	mov    %ebx,-0x14(%ebp)
46ae45:	8b 5d f0             	mov    -0x10(%ebp),%ebx
46ae48:	db 03                	fildl  (%ebx)
46ae4a:	dd 5d e4             	fstpl  -0x1c(%ebp)
46ae4d:	dd 45 e4             	fldl   -0x1c(%ebp)
46ae50:	8b 5d ec             	mov    -0x14(%ebp),%ebx
46ae53:	db 03                	fildl  (%ebx)
46ae55:	dd 5d dc             	fstpl  -0x24(%ebp)
46ae58:	dc 65 dc             	fsubl  -0x24(%ebp)
46ae5b:	dd 5d d4             	fstpl  -0x2c(%ebp)
46ae5e:	dd 45 d4             	fldl   -0x2c(%ebp)
46ae61:	e8 89 63 f9 ff       	call   0x4011ef
46ae66:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46ae69:	89 03                	mov    %eax,(%ebx)
46ae6b:	8b 5d 08             	mov    0x8(%ebp),%ebx
46ae6e:	8b 1b                	mov    (%ebx),%ebx
46ae70:	81 c3 2c 01 00 00    	add    $0x12c,%ebx
46ae76:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46ae79:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46ae7c:	83 3b 00             	cmpl   $0x0,(%ebx)
46ae7f:	0f 8d 17 00 00 00    	jge    0x46ae9c
46ae85:	8b 5d 08             	mov    0x8(%ebp),%ebx
46ae88:	8b 1b                	mov    (%ebx),%ebx
46ae8a:	81 c3 2c 01 00 00    	add    $0x12c,%ebx
46ae90:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46ae93:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46ae96:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
46ae9c:	8b 5d 08             	mov    0x8(%ebp),%ebx
46ae9f:	8b 1b                	mov    (%ebx),%ebx
46aea1:	81 c3 7c 01 00 00    	add    $0x17c,%ebx
46aea7:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46aeaa:	8b 5d 08             	mov    0x8(%ebp),%ebx
46aead:	8b 1b                	mov    (%ebx),%ebx
46aeaf:	81 c3 2c 01 00 00    	add    $0x12c,%ebx
46aeb5:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46aeb8:	6a 01                	push   $0x1
46aeba:	68 00 00 00 00       	push   $0x0
46aebf:	6a 01                	push   $0x1
46aec1:	8b 5d f0             	mov    -0x10(%ebp),%ebx