409bee:	74 01                	je     0x409bf1
409bf0:	aa                   	stos   %al,%es:(%edi)
409bf1:	e3 09                	jecxz  0x409bfc
409bf3:	b0 30                	mov    $0x30,%al
409bf5:	aa                   	stos   %al,%es:(%edi)
409bf6:	4a                   	dec    %edx
409bf7:	74 0c                	je     0x409c05
409bf9:	41                   	inc    %ecx
409bfa:	75 f9                	jne    0x409bf5
409bfc:	e8 f5 fe ff ff       	call   0x409af6
409c01:	aa                   	stos   %al,%es:(%edi)
409c02:	4a                   	dec    %edx
409c03:	75 f7                	jne    0x409bfc
409c05:	c3                   	ret
409c06:	31 db                	xor    %ebx,%ebx
409c08:	8a 5d f3             	mov    -0xd(%ebp),%bl
409c0b:	b9 03 00 00 00       	mov    $0x3,%ecx
409c10:	80 7d d6 00          	cmpb   $0x0,-0x2a(%ebp)
409c14:	74 08                	je     0x409c1e
409c16:	8a 5d f2             	mov    -0xe(%ebp),%bl
409c19:	b9 0f 04 00 00       	mov    $0x40f,%ecx
409c1e:	38 cb                	cmp    %cl,%bl
409c20:	76 02                	jbe    0x409c24
409c22:	88 cb                	mov    %cl,%bl
409c24:	00 eb                	add    %ch,%bl
409c26:	8d 9c 9b 69 9c 40 00 	lea    0x409c69(%ebx,%ebx,4),%ebx
409c2d:	03 5d ec             	add    -0x14(%ebp),%ebx
409c30:	b9 05 00 00 00       	mov    $0x5,%ecx
409c35:	8a 03                	mov    (%ebx),%al
409c37:	3c 40                	cmp    $0x40,%al
409c39:	74 1e                	je     0x409c59
409c3b:	51                   	push   %ecx
409c3c:	53                   	push   %ebx
409c3d:	3c 24                	cmp    $0x24,%al
409c3f:	74 07                	je     0x409c48
409c41:	3c 2a                	cmp    $0x2a,%al
409c43:	74 0a                	je     0x409c4f
409c45:	aa                   	stos   %al,%es:(%edi)
409c46:	eb 0c                	jmp    0x409c54
409c48:	e8 0d 00 00 00       	call   0x409c5a
409c4d:	eb 05                	jmp    0x409c54
409c4f:	e8 4d ff ff ff       	call   0x409ba1
409c54:	5b                   	pop    %ebx
409c55:	59                   	pop    %ecx
409c56:	43                   	inc    %ebx
409c57:	e2 dc                	loop   0x409c35
409c59:	c3                   	ret
409c5a:	56                   	push   %esi
409c5b:	8b 75 f4             	mov    -0xc(%ebp),%esi
409c5e:	85 f6                	test   %esi,%esi
409c60:	74 05                	je     0x409c67
409c62:	8b 4e fc             	mov    -0x4(%esi),%ecx
409c65:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
409c67:	5e                   	pop    %esi
409c68:	c3                   	ret
409c69:	24 2a                	and    $0x2a,%al
409c6b:	40                   	inc    %eax
409c6c:	40                   	inc    %eax
409c6d:	40                   	inc    %eax
409c6e:	2a 24 40             	sub    (%eax,%eax,2),%ah
409c71:	40                   	inc    %eax
409c72:	40                   	inc    %eax
409c73:	24 20                	and    $0x20,%al
409c75:	2a 40 40             	sub    0x40(%eax),%al
409c78:	2a 20                	sub    (%eax),%ah
409c7a:	24 40                	and    $0x40,%al
409c7c:	40                   	inc    %eax
409c7d:	28 24 2a             	sub    %ah,(%edx,%ebp,1)
409c80:	29 40 2d             	sub    %eax,0x2d(%eax)
409c83:	24 2a                	and    $0x2a,%al
409c85:	40                   	inc    %eax
409c86:	40                   	inc    %eax
409c87:	24 2d                	and    $0x2d,%al
409c89:	2a 40 40             	sub    0x40(%eax),%al
409c8c:	24 2a                	and    $0x2a,%al
409c8e:	2d 40 40 28 2a       	sub    $0x2a284040,%eax
409c93:	24 29                	and    $0x29,%al
409c95:	40                   	inc    %eax
409c96:	2d 2a 24 40 40       	sub    $0x4040242a,%eax
409c9b:	2a 2d 24 40 40 2a    	sub    0x2a404024,%ch
409ca1:	24 2d                	and    $0x2d,%al
409ca3:	40                   	inc    %eax
409ca4:	40                   	inc    %eax
409ca5:	2d 2a 20 24 40       	sub    $0x4024202a,%eax
409caa:	2d 24 20 2a 40       	sub    $0x402a2024,%eax
409caf:	2a 20                	sub    (%eax),%ah
409cb1:	24 2d                	and    $0x2d,%al
409cb3:	40                   	inc    %eax
409cb4:	24 20                	and    $0x20,%al
409cb6:	2a 2d 40 24 20 2d    	sub    0x2d202440,%ch
409cbc:	2a 40 2a             	sub    0x2a(%eax),%al
409cbf:	2d 20 24 40 28       	sub    $0x28402420,%eax
409cc4:	24 20                	and    $0x20,%al
409cc6:	2a 29                	sub    (%ecx),%ch
409cc8:	28 2a                	sub    %ch,(%edx)
409cca:	20 24 29             	and    %ah,(%ecx,%ebp,1)
409ccd:	8b e5                	mov    %ebp,%esp
409ccf:	5d                   	pop    %ebp
409cd0:	c2 0c 00             	ret    $0xc
409cd3:	90                   	nop
409cd4:	55                   	push   %ebp
409cd5:	8b ec                	mov    %esp,%ebp
409cd7:	83 c4 e0             	add    $0xffffffe0,%esp
409cda:	57                   	push   %edi
409cdb:	56                   	push   %esi
409cdc:	53                   	push   %ebx
409cdd:	89 c3                	mov    %eax,%ebx
409cdf:	89 d6                	mov    %edx,%esi
409ce1:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
409ce8:	80 f9 00             	cmp    $0x0,%cl
409ceb:	74 0a                	je     0x409cf7
409ced:	e8 31 01 00 00       	call   0x409e23
409cf2:	e9 00 02 00 00       	jmp    0x409ef7
409cf7:	e8 05 00 00 00       	call   0x409d01
409cfc:	e9 f6 01 00 00       	jmp    0x409ef7
409d01:	66 8b 46 08          	mov    0x8(%esi),%ax
409d05:	89 c2                	mov    %eax,%edx
409d07:	25 ff 7f 00 00       	and    $0x7fff,%eax
409d0c:	74 1e                	je     0x409d2c
409d0e:	3d ff 7f 00 00       	cmp    $0x7fff,%eax
409d13:	75 22                	jne    0x409d37
409d15:	66 f7 46 06 00 80    	testw  $0x8000,0x6(%esi)
409d1b:	74 11                	je     0x409d2e
409d1d:	83 3e 00             	cmpl   $0x0,(%esi)
409d20:	75 09                	jne    0x409d2b
409d22:	81 7e 04 00 00 00 80 	cmpl   $0x80000000,0x4(%esi)
409d29:	74 03                	je     0x409d2e
409d2b:	40                   	inc    %eax
409d2c:	31 d2                	xor    %edx,%edx
409d2e:	c6 43 03 00          	movb   $0x0,0x3(%ebx)
409d32:	e9 cd 00 00 00       	jmp    0x409e04
409d37:	db 2e                	fldt   (%esi)
409d39:	2d ff 3f 00 00       	sub    $0x3fff,%eax
409d3e:	69 c0 10 4d 00 00    	imul   $0x4d10,%eax,%eax
409d44:	c1 f8 10             	sar    $0x10,%eax
409d47:	40                   	inc    %eax
409d48:	89 45 f8             	mov    %eax,-0x8(%ebp)
409d4b:	b8 12 00 00 00       	mov    $0x12,%eax
409d50:	2b 45 f8             	sub    -0x8(%ebp),%eax
409d53:	d9 e1                	fabs
409d55:	53                   	push   %ebx
409d56:	8b 5d fc             	mov    -0x4(%ebp),%ebx
409d59:	e8 72 96 ff ff       	call   0x4033d0
409d5e:	5b                   	pop    %ebx
409d5f:	d9 fc                	frndint
409d61:	8b 7d fc             	mov    -0x4(%ebp),%edi
409d64:	db af 68 08 46 00    	fldt   0x460868(%edi)
409d6a:	d8 d9                	fcomp  %st(1)
409d6c:	9b dd 7d f6          	fstsw  -0xa(%ebp)
409d70:	9b                   	fwait
409d71:	66 f7 45 f6 00 41    	testw  $0x4100,-0xa(%ebp)
409d77:	74 09                	je     0x409d82
409d79:	da b7 74 08 46 00    	fidivl 0x460874(%edi)
409d7f:	ff 45 f8             	incl   -0x8(%ebp)
409d82:	df 75 e8             	fbstp  -0x18(%ebp)
409d85:	8d 7b 03             	lea    0x3(%ebx),%edi
409d88:	ba 09 00 00 00       	mov    $0x9,%edx
409d8d:	9b                   	fwait
409d8e:	8a 44 2a e7          	mov    -0x19(%edx,%ebp,1),%al
409d92:	88 c4                	mov    %al,%ah
409d94:	c0 e8 04             	shr    $0x4,%al
409d97:	80 e4 0f             	and    $0xf,%ah
409d9a:	66 05 30 30          	add    $0x3030,%ax
409d9e:	66 ab                	stos   %ax,%es:(%edi)
409da0:	4a                   	dec    %edx
409da1:	75 eb                	jne    0x409d8e
409da3:	32 c0                	xor    %al,%al
409da5:	aa                   	stos   %al,%es:(%edi)
409da6:	8b 7d f8             	mov    -0x8(%ebp),%edi
409da9:	03 7d 08             	add    0x8(%ebp),%edi
409dac:	79 07                	jns    0x409db5
409dae:	31 c0                	xor    %eax,%eax
409db0:	e9 77 ff ff ff       	jmp    0x409d2c
409db5:	3b 7d 0c             	cmp    0xc(%ebp),%edi
409db8:	72 03                	jb     0x409dbd
409dba:	8b 7d 0c             	mov    0xc(%ebp),%edi
409dbd:	83 ff 12             	cmp    $0x12,%edi
409dc0:	73 27                	jae    0x409de9
409dc2:	80 7c 3b 03 35       	cmpb   $0x35,0x3(%ebx,%edi,1)
409dc7:	72 25                	jb     0x409dee
409dc9:	c6 44 3b 03 00       	movb   $0x0,0x3(%ebx,%edi,1)
409dce:	4f                   	dec    %edi
409dcf:	78 0d                	js     0x409dde
409dd1:	fe 44 3b 03          	incb   0x3(%ebx,%edi,1)
409dd5:	80 7c 3b 03 39       	cmpb   $0x39,0x3(%ebx,%edi,1)
409dda:	77 ed                	ja     0x409dc9
409ddc:	eb 1f                	jmp    0x409dfd
409dde:	66 c7 43 03 31 00    	movw   $0x31,0x3(%ebx)
409de4:	ff 45 f8             	incl   -0x8(%ebp)
409de7:	eb 14                	jmp    0x409dfd
409de9:	bf 12 00 00 00       	mov    $0x12,%edi
409dee:	c6 44 3b 03 00       	movb   $0x0,0x3(%ebx,%edi,1)
409df3:	4f                   	dec    %edi
409df4:	78 19                	js     0x409e0f
409df6:	80 7c 3b 03 30       	cmpb   $0x30,0x3(%ebx,%edi,1)
409dfb:	74 f1                	je     0x409dee
409dfd:	66 8b 56 08          	mov    0x8(%esi),%dx
409e01:	8b 45 f8             	mov    -0x8(%ebp),%eax
409e04:	66 c1 ea 0f          	shr    $0xf,%dx
409e08:	66 89 03             	mov    %ax,(%ebx)
409e0b:	88 53 02             	mov    %dl,0x2(%ebx)
409e0e:	c3                   	ret
409e0f:	31 d2                	xor    %edx,%edx
409e11:	eb ee                	jmp    0x409e01
409e13:	0a 00                	or     (%eax),%al
409e15:	00 00                	add    %al,(%eax)
409e17:	64 00 00             	add    %al,%fs:(%eax)
409e1a:	00 e8                	add    %ch,%al
409e1c:	03 00                	add    (%eax),%eax
409e1e:	00 10                	add    %dl,(%eax)
409e20:	27                   	daa
409e21:	00 00                	add    %al,(%eax)
409e23:	8b 06                	mov    (%esi),%eax
409e25:	8b 56 04             	mov    0x4(%esi),%edx
409e28:	89 c1                	mov    %eax,%ecx
409e2a:	09 d1                	or     %edx,%ecx
409e2c:	0f 84 b7 00 00 00    	je     0x409ee9
409e32:	09 d2                	or     %edx,%edx
409e34:	79 07                	jns    0x409e3d
409e36:	f7 da                	neg    %edx
409e38:	f7 d8                	neg    %eax
409e3a:	83 da 00             	sbb    $0x0,%edx
409e3d:	31 c9                	xor    %ecx,%ecx
409e3f:	8b 7d 08             	mov    0x8(%ebp),%edi
409e42:	09 ff                	or     %edi,%edi
409e44:	7d 02                	jge    0x409e48
409e46:	31 ff                	xor    %edi,%edi
409e48:	83 ff 04             	cmp    $0x4,%edi
409e4b:	7c 1f                	jl     0x409e6c
409e4d:	bf 04 00 00 00       	mov    $0x4,%edi
409e52:	41                   	inc    %ecx
409e53:	2d 00 00 64 a7       	sub    $0xa7640000,%eax
409e58:	81 da b3 b6 e0 0d    	sbb    $0xde0b6b3,%edx
409e5e:	73 f2                	jae    0x409e52
409e60:	49                   	dec    %ecx
409e61:	05 00 00 64 a7       	add    $0xa7640000,%eax
409e66:	81 d2 b3 b6 e0 0d    	adc    $0xde0b6b3,%edx
409e6c:	89 45 e0             	mov    %eax,-0x20(%ebp)
409e6f:	89 55 e4             	mov    %edx,-0x1c(%ebp)
409e72:	df 6d e0             	fildll -0x20(%ebp)
409e75:	89 fa                	mov    %edi,%edx
409e77:	b8 04 00 00 00       	mov    $0x4,%eax
409e7c:	29 d0                	sub    %edx,%eax
409e7e:	74 0a                	je     0x409e8a
409e80:	8b 7d fc             	mov    -0x4(%ebp),%edi
409e83:	da b4 87 0f 9e 40 00 	fidivl 0x409e0f(%edi,%eax,4)
409e8a:	df 75 e8             	fbstp  -0x18(%ebp)
409e8d:	8d 7b 03             	lea    0x3(%ebx),%edi
409e90:	9b                   	fwait
409e91:	09 c9                	or     %ecx,%ecx
409e93:	75 1b                	jne    0x409eb0
409e95:	b9 09 00 00 00       	mov    $0x9,%ecx
409e9a:	8a 44 29 e7          	mov    -0x19(%ecx,%ebp,1),%al
409e9e:	88 c4                	mov    %al,%ah
409ea0:	c0 e8 04             	shr    $0x4,%al
409ea3:	75 1e                	jne    0x409ec3
409ea5:	88 e0                	mov    %ah,%al
409ea7:	24 0f                	and    $0xf,%al
409ea9:	75 1f                	jne    0x409eca
409eab:	49                   	dec    %ecx
409eac:	75 ec                	jne    0x409e9a
409eae:	eb 39                	jmp    0x409ee9
409eb0:	88 c8                	mov    %cl,%al
409eb2:	04 30                	add    $0x30,%al
409eb4:	aa                   	stos   %al,%es:(%edi)
409eb5:	b9 09 00 00 00       	mov    $0x9,%ecx
409eba:	8a 44 29 e7          	mov    -0x19(%ecx,%ebp,1),%al
409ebe:	88 c4                	mov    %al,%ah
409ec0:	c0 e8 04             	shr    $0x4,%al
409ec3:	04 30                	add    $0x30,%al
409ec5:	aa                   	stos   %al,%es:(%edi)
409ec6:	88 e0                	mov    %ah,%al
409ec8:	24 0f                	and    $0xf,%al
409eca:	04 30                	add    $0x30,%al
409ecc:	aa                   	stos   %al,%es:(%edi)
409ecd:	49                   	dec    %ecx
409ece:	75 ea                	jne    0x409eba
409ed0:	89 f8                	mov    %edi,%eax
409ed2:	8d 4c 13 03          	lea    0x3(%ebx,%edx,1),%ecx
409ed6:	29 c8                	sub    %ecx,%eax
409ed8:	c6 07 00             	movb   $0x0,(%edi)
409edb:	4f                   	dec    %edi
409edc:	80 3f 30             	cmpb   $0x30,(%edi)
409edf:	74 f7                	je     0x409ed8
409ee1:	8b 56 04             	mov    0x4(%esi),%edx
409ee4:	c1 ea 1f             	shr    $0x1f,%edx
409ee7:	eb 07                	jmp    0x409ef0
409ee9:	31 c0                	xor    %eax,%eax
409eeb:	31 d2                	xor    %edx,%edx
409eed:	88 43 03             	mov    %al,0x3(%ebx)
409ef0:	66 89 03             	mov    %ax,(%ebx)
409ef3:	88 53 02             	mov    %dl,0x2(%ebx)
409ef6:	c3                   	ret
409ef7:	5b                   	pop    %ebx
409ef8:	5e                   	pop    %esi
409ef9:	5f                   	pop    %edi
409efa:	8b e5                	mov    %ebp,%esp
409efc:	5d                   	pop    %ebp
409efd:	c2 08 00             	ret    $0x8
409f00:	55                   	push   %ebp
409f01:	8b ec                	mov    %esp,%ebp
409f03:	83 c4 f4             	add    $0xfffffff4,%esp
409f06:	57                   	push   %edi
409f07:	56                   	push   %esi
409f08:	53                   	push   %ebx
409f09:	89 c6                	mov    %eax,%esi
409f0b:	89 d7                	mov    %edx,%edi
409f0d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
409f14:	a0 0f 08 47 00       	mov    0x47080f,%al
409f19:	88 45 fb             	mov    %al,-0x5(%ebp)
409f1c:	89 cb                	mov    %ecx,%ebx
409f1e:	9b d9 7d f8          	fstcw  -0x8(%ebp)
409f22:	9b db e2             	fclex
409f25:	d9 2d 78 08 46 00    	fldcw  0x460878
409f2b:	d9 ee                	fldz
409f2d:	e8 85 00 00 00       	call   0x409fb7
409f32:	8a 3e                	mov    (%esi),%bh
409f34:	80 ff 2b             	cmp    $0x2b,%bh
409f37:	74 05                	je     0x409f3e
409f39:	80 ff 2d             	cmp    $0x2d,%bh
409f3c:	75 01                	jne    0x409f3f
409f3e:	46                   	inc    %esi
409f3f:	89 f1                	mov    %esi,%ecx
409f41:	e8 7c 00 00 00       	call   0x409fc2
409f46:	31 d2                	xor    %edx,%edx
409f48:	8a 06                	mov    (%esi),%al
409f4a:	3a 45 fb             	cmp    -0x5(%ebp),%al
409f4d:	75 08                	jne    0x409f57
409f4f:	46                   	inc    %esi
409f50:	e8 6d 00 00 00       	call   0x409fc2
409f55:	f7 da                	neg    %edx
409f57:	39 f1                	cmp    %esi,%ecx
409f59:	74 4f                	je     0x409faa
409f5b:	8a 06                	mov    (%esi),%al
409f5d:	24 df                	and    $0xdf,%al
409f5f:	3c 45                	cmp    $0x45,%al
409f61:	75 0a                	jne    0x409f6d
409f63:	46                   	inc    %esi
409f64:	52                   	push   %edx
409f65:	e8 74 00 00 00       	call   0x409fde
409f6a:	58                   	pop    %eax
409f6b:	01 c2                	add    %eax,%edx
409f6d:	e8 45 00 00 00       	call   0x409fb7
409f72:	80 3e 00             	cmpb   $0x0,(%esi)
409f75:	75 33                	jne    0x409faa
409f77:	89 d0                	mov    %edx,%eax
409f79:	80 fb 01             	cmp    $0x1,%bl
409f7c:	75 03                	jne    0x409f81
409f7e:	83 c0 04             	add    $0x4,%eax
409f81:	53                   	push   %ebx