5afb9c:	74 3c                	je     0x5afbda
5afb9e:	dd 45 08             	fldl   0x8(%ebp)
5afba1:	d8 1d f0 01 5b 00    	fcomps 0x5b01f0
5afba7:	df e0                	fnstsw %ax
5afba9:	9e                   	sahf
5afbaa:	74 2e                	je     0x5afbda
5afbac:	dd 45 08             	fldl   0x8(%ebp)
5afbaf:	d8 1d f4 01 5b 00    	fcomps 0x5b01f4
5afbb5:	df e0                	fnstsw %ax
5afbb7:	9e                   	sahf
5afbb8:	74 20                	je     0x5afbda
5afbba:	dd 45 08             	fldl   0x8(%ebp)
5afbbd:	d8 1d f8 01 5b 00    	fcomps 0x5b01f8
5afbc3:	df e0                	fnstsw %ax
5afbc5:	9e                   	sahf
5afbc6:	74 12                	je     0x5afbda
5afbc8:	dd 45 08             	fldl   0x8(%ebp)
5afbcb:	d8 1d fc 01 5b 00    	fcomps 0x5b01fc
5afbd1:	df e0                	fnstsw %ax
5afbd3:	9e                   	sahf
5afbd4:	0f 85 f2 02 00 00    	jne    0x5afecc
5afbda:	dd 45 08             	fldl   0x8(%ebp)
5afbdd:	d8 1d ec 01 5b 00    	fcomps 0x5b01ec
5afbe3:	df e0                	fnstsw %ax
5afbe5:	9e                   	sahf
5afbe6:	0f 85 b1 00 00 00    	jne    0x5afc9d
5afbec:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5afbef:	89 45 e8             	mov    %eax,-0x18(%ebp)
5afbf2:	8b 75 e0             	mov    -0x20(%ebp),%esi
5afbf5:	6a 01                	push   $0x1
5afbf7:	8b ce                	mov    %esi,%ecx
5afbf9:	8b 55 e8             	mov    -0x18(%ebp),%edx
5afbfc:	8b 45 f0             	mov    -0x10(%ebp),%eax
5afbff:	8b 18                	mov    (%eax),%ebx
5afc01:	ff 53 24             	call   *0x24(%ebx)
5afc04:	6a 00                	push   $0x0
5afc06:	6a 00                	push   $0x0
5afc08:	8b 45 f0             	mov    -0x10(%ebp),%eax
5afc0b:	e8 b8 c3 04 00       	call   0x5fbfc8
5afc10:	8b 45 e0             	mov    -0x20(%ebp),%eax
5afc13:	48                   	dec    %eax
5afc14:	85 c0                	test   %eax,%eax
5afc16:	0f 8c b3 05 00 00    	jl     0x5b01cf
5afc1c:	40                   	inc    %eax
5afc1d:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
5afc23:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
5afc2a:	8b 55 e0             	mov    -0x20(%ebp),%edx
5afc2d:	2b 55 d8             	sub    -0x28(%ebp),%edx
5afc30:	4a                   	dec    %edx
5afc31:	8b 45 f0             	mov    -0x10(%ebp),%eax
5afc34:	8b 08                	mov    (%eax),%ecx
5afc36:	ff 11                	call   *(%ecx)
5afc38:	89 45 8c             	mov    %eax,-0x74(%ebp)
5afc3b:	8b 45 d8             	mov    -0x28(%ebp),%eax
5afc3e:	83 e0 07             	and    $0x7,%eax
5afc41:	8b 15 88 6d 6a 00    	mov    0x6a6d88,%edx
5afc47:	0f b6 04 02          	movzbl (%edx,%eax,1),%eax
5afc4b:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5afc4e:	8b 7d d8             	mov    -0x28(%ebp),%edi
5afc51:	c1 ef 03             	shr    $0x3,%edi
5afc54:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5afc57:	4e                   	dec    %esi
5afc58:	85 f6                	test   %esi,%esi
5afc5a:	7c 31                	jl     0x5afc8d
5afc5c:	46                   	inc    %esi
5afc5d:	33 db                	xor    %ebx,%ebx
5afc5f:	8b d3                	mov    %ebx,%edx
5afc61:	8b 45 fc             	mov    -0x4(%ebp),%eax
5afc64:	8b 08                	mov    (%eax),%ecx
5afc66:	ff 11                	call   *(%ecx)
5afc68:	0f b6 04 38          	movzbl (%eax,%edi,1),%eax
5afc6c:	23 45 d4             	and    -0x2c(%ebp),%eax
5afc6f:	74 18                	je     0x5afc89
5afc71:	8b c3                	mov    %ebx,%eax
5afc73:	c1 e8 03             	shr    $0x3,%eax
5afc76:	03 45 8c             	add    -0x74(%ebp),%eax
5afc79:	8b d3                	mov    %ebx,%edx
5afc7b:	83 e2 07             	and    $0x7,%edx
5afc7e:	8b 0d 88 6d 6a 00    	mov    0x6a6d88,%ecx
5afc84:	8a 14 11             	mov    (%ecx,%edx,1),%dl
5afc87:	08 10                	or     %dl,(%eax)
5afc89:	43                   	inc    %ebx
5afc8a:	4e                   	dec    %esi
5afc8b:	75 d2                	jne    0x5afc5f
5afc8d:	ff 45 d8             	incl   -0x28(%ebp)
5afc90:	ff 8d 78 ff ff ff    	decl   -0x88(%ebp)
5afc96:	75 92                	jne    0x5afc2a
5afc98:	e9 32 05 00 00       	jmp    0x5b01cf
5afc9d:	dd 45 08             	fldl   0x8(%ebp)
5afca0:	d8 1d f0 01 5b 00    	fcomps 0x5b01f0
5afca6:	df e0                	fnstsw %ax
5afca8:	9e                   	sahf
5afca9:	74 12                	je     0x5afcbd
5afcab:	dd 45 08             	fldl   0x8(%ebp)
5afcae:	d8 1d f4 01 5b 00    	fcomps 0x5b01f4
5afcb4:	df e0                	fnstsw %ax
5afcb6:	9e                   	sahf
5afcb7:	0f 85 b1 00 00 00    	jne    0x5afd6e
5afcbd:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5afcc0:	89 45 e8             	mov    %eax,-0x18(%ebp)
5afcc3:	8b 75 e0             	mov    -0x20(%ebp),%esi
5afcc6:	6a 01                	push   $0x1
5afcc8:	8b ce                	mov    %esi,%ecx
5afcca:	8b 55 e8             	mov    -0x18(%ebp),%edx
5afccd:	8b 45 f0             	mov    -0x10(%ebp),%eax
5afcd0:	8b 18                	mov    (%eax),%ebx
5afcd2:	ff 53 24             	call   *0x24(%ebx)
5afcd5:	6a 00                	push   $0x0
5afcd7:	6a 00                	push   $0x0
5afcd9:	8b 45 f0             	mov    -0x10(%ebp),%eax
5afcdc:	e8 e7 c2 04 00       	call   0x5fbfc8
5afce1:	8b 45 e0             	mov    -0x20(%ebp),%eax
5afce4:	48                   	dec    %eax
5afce5:	85 c0                	test   %eax,%eax
5afce7:	0f 8c e2 04 00 00    	jl     0x5b01cf
5afced:	40                   	inc    %eax
5afcee:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
5afcf4:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
5afcfb:	8b 55 d8             	mov    -0x28(%ebp),%edx
5afcfe:	8b 45 f0             	mov    -0x10(%ebp),%eax
5afd01:	8b 08                	mov    (%eax),%ecx
5afd03:	ff 11                	call   *(%ecx)
5afd05:	89 45 8c             	mov    %eax,-0x74(%ebp)
5afd08:	8b 45 d8             	mov    -0x28(%ebp),%eax
5afd0b:	83 e0 07             	and    $0x7,%eax
5afd0e:	8b 15 88 6d 6a 00    	mov    0x6a6d88,%edx
5afd14:	0f b6 04 02          	movzbl (%edx,%eax,1),%eax
5afd18:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5afd1b:	8b 7d d8             	mov    -0x28(%ebp),%edi
5afd1e:	c1 ef 03             	shr    $0x3,%edi
5afd21:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5afd24:	4e                   	dec    %esi
5afd25:	85 f6                	test   %esi,%esi
5afd27:	7c 35                	jl     0x5afd5e
5afd29:	46                   	inc    %esi
5afd2a:	33 db                	xor    %ebx,%ebx
5afd2c:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5afd2f:	2b d3                	sub    %ebx,%edx
5afd31:	4a                   	dec    %edx
5afd32:	8b 45 fc             	mov    -0x4(%ebp),%eax
5afd35:	8b 08                	mov    (%eax),%ecx
5afd37:	ff 11                	call   *(%ecx)
5afd39:	0f b6 04 38          	movzbl (%eax,%edi,1),%eax
5afd3d:	23 45 d4             	and    -0x2c(%ebp),%eax
5afd40:	74 18                	je     0x5afd5a
5afd42:	8b c3                	mov    %ebx,%eax
5afd44:	c1 e8 03             	shr    $0x3,%eax
5afd47:	03 45 8c             	add    -0x74(%ebp),%eax
5afd4a:	8b d3                	mov    %ebx,%edx
5afd4c:	83 e2 07             	and    $0x7,%edx
5afd4f:	8b 0d 88 6d 6a 00    	mov    0x6a6d88,%ecx
5afd55:	8a 14 11             	mov    (%ecx,%edx,1),%dl
5afd58:	08 10                	or     %dl,(%eax)
5afd5a:	43                   	inc    %ebx
5afd5b:	4e                   	dec    %esi
5afd5c:	75 ce                	jne    0x5afd2c
5afd5e:	ff 45 d8             	incl   -0x28(%ebp)
5afd61:	ff 8d 78 ff ff ff    	decl   -0x88(%ebp)
5afd67:	75 92                	jne    0x5afcfb
5afd69:	e9 61 04 00 00       	jmp    0x5b01cf
5afd6e:	dd 45 08             	fldl   0x8(%ebp)
5afd71:	d8 1d f8 01 5b 00    	fcomps 0x5b01f8
5afd77:	df e0                	fnstsw %ax
5afd79:	9e                   	sahf
5afd7a:	74 12                	je     0x5afd8e
5afd7c:	dd 45 08             	fldl   0x8(%ebp)
5afd7f:	d8 1d fc 01 5b 00    	fcomps 0x5b01fc
5afd85:	df e0                	fnstsw %ax
5afd87:	9e                   	sahf
5afd88:	0f 85 41 04 00 00    	jne    0x5b01cf
5afd8e:	8b 45 e0             	mov    -0x20(%ebp),%eax
5afd91:	89 45 e8             	mov    %eax,-0x18(%ebp)
5afd94:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5afd97:	6a 01                	push   $0x1
5afd99:	8b ce                	mov    %esi,%ecx
5afd9b:	8b 55 e8             	mov    -0x18(%ebp),%edx
5afd9e:	8b 45 f0             	mov    -0x10(%ebp),%eax
5afda1:	8b 18                	mov    (%eax),%ebx
5afda3:	ff 53 24             	call   *0x24(%ebx)
5afda6:	8b 45 e0             	mov    -0x20(%ebp),%eax
5afda9:	85 c0                	test   %eax,%eax
5afdab:	79 03                	jns    0x5afdb0
5afdad:	83 c0 07             	add    $0x7,%eax
5afdb0:	c1 f8 03             	sar    $0x3,%eax
5afdb3:	89 45 cc             	mov    %eax,-0x34(%ebp)
5afdb6:	8b 45 e0             	mov    -0x20(%ebp),%eax
5afdb9:	83 e0 07             	and    $0x7,%eax
5afdbc:	85 c0                	test   %eax,%eax
5afdbe:	74 15                	je     0x5afdd5
5afdc0:	ff 45 cc             	incl   -0x34(%ebp)
5afdc3:	8b 45 e0             	mov    -0x20(%ebp),%eax
5afdc6:	83 e0 07             	and    $0x7,%eax
5afdc9:	ba 08 00 00 00       	mov    $0x8,%edx
5afdce:	2b d0                	sub    %eax,%edx
5afdd0:	89 55 c8             	mov    %edx,-0x38(%ebp)
5afdd3:	eb 05                	jmp    0x5afdda
5afdd5:	33 c0                	xor    %eax,%eax
5afdd7:	89 45 c8             	mov    %eax,-0x38(%ebp)
5afdda:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
5afdde:	75 63                	jne    0x5afe43
5afde0:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5afde3:	48                   	dec    %eax
5afde4:	85 c0                	test   %eax,%eax
5afde6:	0f 8c e3 03 00 00    	jl     0x5b01cf
5afdec:	40                   	inc    %eax
5afded:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
5afdf3:	33 db                	xor    %ebx,%ebx
5afdf5:	8b d3                	mov    %ebx,%edx
5afdf7:	8b 45 f0             	mov    -0x10(%ebp),%eax
5afdfa:	8b 08                	mov    (%eax),%ecx
5afdfc:	ff 11                	call   *(%ecx)
5afdfe:	8b f8                	mov    %eax,%edi
5afe00:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5afe03:	4a                   	dec    %edx
5afe04:	2b d3                	sub    %ebx,%edx
5afe06:	8b 45 fc             	mov    -0x4(%ebp),%eax
5afe09:	8b 08                	mov    (%eax),%ecx
5afe0b:	ff 11                	call   *(%ecx)
5afe0d:	89 45 88             	mov    %eax,-0x78(%ebp)
5afe10:	8b 45 cc             	mov    -0x34(%ebp),%eax
5afe13:	48                   	dec    %eax
5afe14:	01 45 88             	add    %eax,-0x78(%ebp)
5afe17:	8b 75 cc             	mov    -0x34(%ebp),%esi
5afe1a:	4e                   	dec    %esi
5afe1b:	85 f6                	test   %esi,%esi
5afe1d:	7c 16                	jl     0x5afe35
5afe1f:	46                   	inc    %esi
5afe20:	8b 45 88             	mov    -0x78(%ebp),%eax
5afe23:	8a 00                	mov    (%eax),%al
5afe25:	88 07                	mov    %al,(%edi)
5afe27:	8b c7                	mov    %edi,%eax
5afe29:	e8 66 0d 04 00       	call   0x5f0b94
5afe2e:	47                   	inc    %edi
5afe2f:	ff 4d 88             	decl   -0x78(%ebp)
5afe32:	4e                   	dec    %esi
5afe33:	75 eb                	jne    0x5afe20
5afe35:	43                   	inc    %ebx
5afe36:	ff 8d 78 ff ff ff    	decl   -0x88(%ebp)
5afe3c:	75 b7                	jne    0x5afdf5
5afe3e:	e9 8c 03 00 00       	jmp    0x5b01cf
5afe43:	8b 45 cc             	mov    -0x34(%ebp),%eax
5afe46:	e8 61 29 e5 ff       	call   0x4027ac
5afe4b:	89 45 84             	mov    %eax,-0x7c(%ebp)
5afe4e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5afe51:	48                   	dec    %eax
5afe52:	85 c0                	test   %eax,%eax
5afe54:	7c 69                	jl     0x5afebf
5afe56:	40                   	inc    %eax
5afe57:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
5afe5d:	33 db                	xor    %ebx,%ebx
5afe5f:	8b 7d 84             	mov    -0x7c(%ebp),%edi
5afe62:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5afe65:	4a                   	dec    %edx
5afe66:	2b d3                	sub    %ebx,%edx
5afe68:	8b 45 fc             	mov    -0x4(%ebp),%eax
5afe6b:	8b 08                	mov    (%eax),%ecx
5afe6d:	ff 11                	call   *(%ecx)
5afe6f:	89 45 88             	mov    %eax,-0x78(%ebp)
5afe72:	8b 45 cc             	mov    -0x34(%ebp),%eax
5afe75:	48                   	dec    %eax
5afe76:	01 45 88             	add    %eax,-0x78(%ebp)
5afe79:	8b 75 cc             	mov    -0x34(%ebp),%esi
5afe7c:	4e                   	dec    %esi
5afe7d:	85 f6                	test   %esi,%esi
5afe7f:	7c 16                	jl     0x5afe97
5afe81:	46                   	inc    %esi
5afe82:	8b 45 88             	mov    -0x78(%ebp),%eax
5afe85:	8a 00                	mov    (%eax),%al
5afe87:	88 07                	mov    %al,(%edi)
5afe89:	8b c7                	mov    %edi,%eax
5afe8b:	e8 04 0d 04 00       	call   0x5f0b94
5afe90:	47                   	inc    %edi
5afe91:	ff 4d 88             	decl   -0x78(%ebp)
5afe94:	4e                   	dec    %esi
5afe95:	75 eb                	jne    0x5afe82
5afe97:	8b 45 c8             	mov    -0x38(%ebp),%eax
5afe9a:	50                   	push   %eax
5afe9b:	8b 45 e0             	mov    -0x20(%ebp),%eax
5afe9e:	50                   	push   %eax
5afe9f:	8b 45 cc             	mov    -0x34(%ebp),%eax
5afea2:	50                   	push   %eax
5afea3:	8b d3                	mov    %ebx,%edx
5afea5:	8b 45 f0             	mov    -0x10(%ebp),%eax
5afea8:	8b 08                	mov    (%eax),%ecx
5afeaa:	ff 11                	call   *(%ecx)
5afeac:	33 c9                	xor    %ecx,%ecx
5afeae:	8b 55 84             	mov    -0x7c(%ebp),%edx
5afeb1:	e8 2e c4 ff ff       	call   0x5ac2e4
5afeb6:	43                   	inc    %ebx
5afeb7:	ff 8d 78 ff ff ff    	decl   -0x88(%ebp)
5afebd:	75 a0                	jne    0x5afe5f
5afebf:	8b 45 84             	mov    -0x7c(%ebp),%eax
5afec2:	e8 05 29 e5 ff       	call   0x4027cc
5afec7:	e9 03 03 00 00       	jmp    0x5b01cf
5afecc:	dd 45 08             	fldl   0x8(%ebp)
5afecf:	d9 e0                	fchs
5afed1:	db 2d 00 02 5b 00    	fldt   0x5b0200
5afed7:	de f9                	fdivrp %st,%st(1)
5afed9:	dd 5d a0             	fstpl  -0x60(%ebp)
5afedc:	9b dd 45 a0          	fldl   -0x60(%ebp)
5afee0:	e8 5f 2d e5 ff       	call   0x402c44
5afee5:	d8 0d 0c 02 5b 00    	fmuls  0x5b020c
5afeeb:	e8 dc 2d e5 ff       	call   0x402ccc
5afef0:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
5afef6:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
5afefc:	df ad 70 ff ff ff    	fildll -0x90(%ebp)
5aff02:	d8 35 0c 02 5b 00    	fdivs  0x5b020c
5aff08:	dd 5d 98             	fstpl  -0x68(%ebp)
5aff0b:	9b dd 45 a0          	fldl   -0x60(%ebp)
5aff0f:	e8 78 2d e5 ff       	call   0x402c8c
5aff14:	d8 0d 0c 02 5b 00    	fmuls  0x5b020c
5aff1a:	e8 ad 2d e5 ff       	call   0x402ccc
5aff1f:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
5aff25:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
5aff2b:	df ad 70 ff ff ff    	fildll -0x90(%ebp)
5aff31:	d8 35 0c 02 5b 00    	fdivs  0x5b020c
5aff37:	dd 5d 90             	fstpl  -0x70(%ebp)
5aff3a:	9b db 45 e0          	fildl  -0x20(%ebp)
5aff3e:	dc 4d 98             	fmull  -0x68(%ebp)
5aff41:	d9 e1                	fabs
5aff43:	db bd 64 ff ff ff    	fstpt  -0x9c(%ebp)
5aff49:	9b db 45 e4          	fildl  -0x1c(%ebp)
5aff4d:	dc 4d 90             	fmull  -0x70(%ebp)
5aff50:	d9 e1                	fabs
5aff52:	db ad 64 ff ff ff    	fldt   -0x9c(%ebp)
5aff58:	de c1                	faddp  %st,%st(1)
5aff5a:	e8 6d 2d e5 ff       	call   0x402ccc
5aff5f:	89 45 e8             	mov    %eax,-0x18(%ebp)
5aff62:	8b 45 e0             	mov    -0x20(%ebp),%eax
5aff65:	f7 d8                	neg    %eax
5aff67:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
5aff6d:	db 85 60 ff ff ff    	fildl  -0xa0(%ebp)
5aff73:	dc 4d 90             	fmull  -0x70(%ebp)
5aff76:	d9 e1                	fabs
5aff78:	db bd 64 ff ff ff    	fstpt  -0x9c(%ebp)
5aff7e:	9b db 45 e4          	fildl  -0x1c(%ebp)
5aff82:	dc 4d 98             	fmull  -0x68(%ebp)
5aff85:	d9 e1                	fabs
5aff87:	db ad 64 ff ff ff    	fldt   -0x9c(%ebp)
5aff8d:	de c1                	faddp  %st,%st(1)
5aff8f:	e8 38 2d e5 ff       	call   0x402ccc
5aff94:	8b f0                	mov    %eax,%esi
5aff96:	89 b5 60 ff ff ff    	mov    %esi,-0xa0(%ebp)
5aff9c:	db 85 60 ff ff ff    	fildl  -0xa0(%ebp)
5affa2:	d8 35 10 02 5b 00    	fdivs  0x5b0210
5affa8:	d8 25 14 02 5b 00    	fsubs  0x5b0214
5affae:	dd 5d c0             	fstpl  -0x40(%ebp)
5affb1:	9b db 45 e8          	fildl  -0x18(%ebp)
5affb5:	d8 35 10 02 5b 00    	fdivs  0x5b0210
5affbb:	d8 25 14 02 5b 00    	fsubs  0x5b0214