40ace4:	75 01                	jne    0x40ace7
40ace6:	46                   	inc    %esi
40ace7:	8a 06                	mov    (%esi),%al
40ace9:	2c 3a                	sub    $0x3a,%al
40aceb:	04 0a                	add    $0xa,%al
40aced:	73 0e                	jae    0x40acfd
40acef:	46                   	inc    %esi
40acf0:	6b d2 0a             	imul   $0xa,%edx,%edx
40acf3:	01 c2                	add    %eax,%edx
40acf5:	81 fa f4 01 00 00    	cmp    $0x1f4,%edx
40acfb:	72 ea                	jb     0x40ace7
40acfd:	80 f9 2d             	cmp    $0x2d,%cl
40ad00:	75 02                	jne    0x40ad04
40ad02:	f7 da                	neg    %edx
40ad04:	c3                   	ret
40ad05:	5b                   	pop    %ebx
40ad06:	5e                   	pop    %esi
40ad07:	5f                   	pop    %edi
40ad08:	8b e5                	mov    %ebp,%esp
40ad0a:	5d                   	pop    %ebp
40ad0b:	c3                   	ret
40ad0c:	55                   	push   %ebp
40ad0d:	8b ec                	mov    %esp,%ebp
40ad0f:	83 c4 c0             	add    $0xffffffc0,%esp
40ad12:	53                   	push   %ebx
40ad13:	8b d8                	mov    %eax,%ebx
40ad15:	6a 00                	push   $0x0
40ad17:	6a 0f                	push   $0xf
40ad19:	6a 00                	push   $0x0
40ad1b:	8d 55 08             	lea    0x8(%ebp),%edx
40ad1e:	8d 45 c0             	lea    -0x40(%ebp),%eax
40ad21:	33 c9                	xor    %ecx,%ecx
40ad23:	e8 cc f9 ff ff       	call   0x40a6f4
40ad28:	8b c8                	mov    %eax,%ecx
40ad2a:	8d 55 c0             	lea    -0x40(%ebp),%edx
40ad2d:	8b c3                	mov    %ebx,%eax
40ad2f:	e8 24 9c ff ff       	call   0x404958
40ad34:	5b                   	pop    %ebx
40ad35:	8b e5                	mov    %ebp,%esp
40ad37:	5d                   	pop    %ebp
40ad38:	c2 0c 00             	ret    $0xc
40ad3b:	90                   	nop
40ad3c:	55                   	push   %ebp
40ad3d:	8b ec                	mov    %esp,%ebp
40ad3f:	8b d0                	mov    %eax,%edx
40ad41:	db 6d 08             	fldt   0x8(%ebp)
40ad44:	d8 0d 88 ad 40 00    	fmuls  0x40ad88
40ad4a:	df 2d d0 a0 68 00    	fildll 0x68a0d0
40ad50:	de d9                	fcompp
40ad52:	df e0                	fnstsw %ax
40ad54:	9e                   	sahf
40ad55:	77 16                	ja     0x40ad6d
40ad57:	db 6d 08             	fldt   0x8(%ebp)
40ad5a:	d8 0d 88 ad 40 00    	fmuls  0x40ad88
40ad60:	df 2d d8 a0 68 00    	fildll 0x68a0d8
40ad66:	de d9                	fcompp
40ad68:	df e0                	fnstsw %ax
40ad6a:	9e                   	sahf
40ad6b:	73 04                	jae    0x40ad71
40ad6d:	33 c0                	xor    %eax,%eax
40ad6f:	eb 02                	jmp    0x40ad73
40ad71:	b0 01                	mov    $0x1,%al
40ad73:	84 c0                	test   %al,%al
40ad75:	74 0c                	je     0x40ad83
40ad77:	db 6d 08             	fldt   0x8(%ebp)
40ad7a:	d8 0d 88 ad 40 00    	fmuls  0x40ad88
40ad80:	df 3a                	fistpll (%edx)
40ad82:	9b                   	fwait
40ad83:	5d                   	pop    %ebp
40ad84:	c2 0c 00             	ret    $0xc
40ad87:	00 00                	add    %al,(%eax)
40ad89:	40                   	inc    %eax
40ad8a:	1c 46                	sbb    $0x46,%al
40ad8c:	55                   	push   %ebp
40ad8d:	8b ec                	mov    %esp,%ebp
40ad8f:	83 c4 ec             	add    $0xffffffec,%esp
40ad92:	33 c0                	xor    %eax,%eax
40ad94:	89 45 ec             	mov    %eax,-0x14(%ebp)
40ad97:	33 c0                	xor    %eax,%eax
40ad99:	55                   	push   %ebp
40ad9a:	68 fe ad 40 00       	push   $0x40adfe
40ad9f:	64 ff 30             	push   %fs:(%eax)
40ada2:	64 89 20             	mov    %esp,%fs:(%eax)
40ada5:	66 8b 45 10          	mov    0x10(%ebp),%ax
40ada9:	50                   	push   %eax
40adaa:	ff 75 0c             	push   0xc(%ebp)
40adad:	ff 75 08             	push   0x8(%ebp)
40adb0:	8d 45 f8             	lea    -0x8(%ebp),%eax
40adb3:	e8 84 ff ff ff       	call   0x40ad3c
40adb8:	84 c0                	test   %al,%al
40adba:	75 2c                	jne    0x40ade8
40adbc:	66 8b 45 10          	mov    0x10(%ebp),%ax
40adc0:	50                   	push   %eax
40adc1:	ff 75 0c             	push   0xc(%ebp)
40adc4:	ff 75 08             	push   0x8(%ebp)
40adc7:	8d 45 ec             	lea    -0x14(%ebp),%eax
40adca:	e8 3d ff ff ff       	call   0x40ad0c
40adcf:	8b 45 ec             	mov    -0x14(%ebp),%eax
40add2:	89 45 f0             	mov    %eax,-0x10(%ebp)
40add5:	c6 45 f4 0b          	movb   $0xb,-0xc(%ebp)
40add9:	8d 55 f0             	lea    -0x10(%ebp),%edx
40addc:	a1 10 72 6a 00       	mov    0x6a7210,%eax
40ade1:	33 c9                	xor    %ecx,%ecx
40ade3:	e8 a8 e2 ff ff       	call   0x409090
40ade8:	33 c0                	xor    %eax,%eax
40adea:	5a                   	pop    %edx
40adeb:	59                   	pop    %ecx
40adec:	59                   	pop    %ecx
40aded:	64 89 10             	mov    %edx,%fs:(%eax)
40adf0:	68 05 ae 40 00       	push   $0x40ae05
40adf5:	8d 45 ec             	lea    -0x14(%ebp),%eax
40adf8:	e8 6b 9a ff ff       	call   0x404868
40adfd:	c3                   	ret
40adfe:	e9 09 94 ff ff       	jmp    0x40420c
40ae03:	eb f0                	jmp    0x40adf5
40ae05:	df 6d f8             	fildll -0x8(%ebp)
40ae08:	8b e5                	mov    %ebp,%esp
40ae0a:	5d                   	pop    %ebp
40ae0b:	c2 0c 00             	ret    $0xc
40ae0e:	8b c0                	mov    %eax,%eax
40ae10:	55                   	push   %ebp
40ae11:	8b ec                	mov    %esp,%ebp
40ae13:	83 c4 c0             	add    $0xffffffc0,%esp
40ae16:	53                   	push   %ebx
40ae17:	56                   	push   %esi
40ae18:	57                   	push   %edi
40ae19:	8b f9                	mov    %ecx,%edi
40ae1b:	8b f2                	mov    %edx,%esi
40ae1d:	8b d8                	mov    %eax,%ebx
40ae1f:	53                   	push   %ebx
40ae20:	56                   	push   %esi
40ae21:	57                   	push   %edi
40ae22:	8d 55 0c             	lea    0xc(%ebp),%edx
40ae25:	8d 45 c0             	lea    -0x40(%ebp),%eax
40ae28:	33 c9                	xor    %ecx,%ecx
40ae2a:	e8 c5 f8 ff ff       	call   0x40a6f4
40ae2f:	8b c8                	mov    %eax,%ecx
40ae31:	8d 55 c0             	lea    -0x40(%ebp),%edx
40ae34:	8b 45 08             	mov    0x8(%ebp),%eax
40ae37:	e8 1c 9b ff ff       	call   0x404958
40ae3c:	5f                   	pop    %edi
40ae3d:	5e                   	pop    %esi
40ae3e:	5b                   	pop    %ebx
40ae3f:	8b e5                	mov    %ebp,%esp
40ae41:	5d                   	pop    %ebp
40ae42:	c2 10 00             	ret    $0x10
40ae45:	8d 40 00             	lea    0x0(%eax),%eax
40ae48:	53                   	push   %ebx
40ae49:	83 c4 ec             	add    $0xffffffec,%esp
40ae4c:	8b d8                	mov    %eax,%ebx
40ae4e:	8b c3                	mov    %ebx,%eax
40ae50:	e8 c3 9e ff ff       	call   0x404d18
40ae55:	8b d4                	mov    %esp,%edx
40ae57:	33 c9                	xor    %ecx,%ecx
40ae59:	e8 9a fd ff ff       	call   0x40abf8
40ae5e:	84 c0                	test   %al,%al
40ae60:	75 19                	jne    0x40ae7b
40ae62:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
40ae66:	c6 44 24 10 0b       	movb   $0xb,0x10(%esp)
40ae6b:	8d 54 24 0c          	lea    0xc(%esp),%edx
40ae6f:	a1 0c 6d 6a 00       	mov    0x6a6d0c,%eax
40ae74:	33 c9                	xor    %ecx,%ecx
40ae76:	e8 15 e2 ff ff       	call   0x409090
40ae7b:	db 2c 24             	fldt   (%esp)
40ae7e:	83 c4 14             	add    $0x14,%esp
40ae81:	5b                   	pop    %ebx
40ae82:	c3                   	ret
40ae83:	90                   	nop
40ae84:	53                   	push   %ebx
40ae85:	56                   	push   %esi
40ae86:	8b f2                	mov    %edx,%esi
40ae88:	8b d8                	mov    %eax,%ebx
40ae8a:	8b c3                	mov    %ebx,%eax
40ae8c:	e8 87 9e ff ff       	call   0x404d18
40ae91:	8b d6                	mov    %esi,%edx
40ae93:	33 c9                	xor    %ecx,%ecx
40ae95:	e8 5e fd ff ff       	call   0x40abf8
40ae9a:	5e                   	pop    %esi
40ae9b:	5b                   	pop    %ebx
40ae9c:	c3                   	ret
40ae9d:	8d 40 00             	lea    0x0(%eax),%eax
40aea0:	53                   	push   %ebx
40aea1:	56                   	push   %esi
40aea2:	83 c4 f4             	add    $0xfffffff4,%esp
40aea5:	8b f2                	mov    %edx,%esi
40aea7:	8b d8                	mov    %eax,%ebx
40aea9:	8b c3                	mov    %ebx,%eax
40aeab:	e8 68 9e ff ff       	call   0x404d18
40aeb0:	8b d4                	mov    %esp,%edx
40aeb2:	33 c9                	xor    %ecx,%ecx
40aeb4:	e8 3f fd ff ff       	call   0x40abf8
40aeb9:	84 c0                	test   %al,%al
40aebb:	74 06                	je     0x40aec3
40aebd:	db 2c 24             	fldt   (%esp)
40aec0:	dd 1e                	fstpl  (%esi)
40aec2:	9b                   	fwait
40aec3:	83 c4 0c             	add    $0xc,%esp
40aec6:	5e                   	pop    %esi
40aec7:	5b                   	pop    %ebx
40aec8:	c3                   	ret
40aec9:	8d 40 00             	lea    0x0(%eax),%eax
40aecc:	53                   	push   %ebx
40aecd:	56                   	push   %esi
40aece:	8b f2                	mov    %edx,%esi
40aed0:	8b d8                	mov    %eax,%ebx
40aed2:	8b c3                	mov    %ebx,%eax
40aed4:	e8 3f 9e ff ff       	call   0x404d18
40aed9:	8b d6                	mov    %esi,%edx
40aedb:	b1 01                	mov    $0x1,%cl
40aedd:	e8 16 fd ff ff       	call   0x40abf8
40aee2:	5e                   	pop    %esi
40aee3:	5b                   	pop    %ebx
40aee4:	c3                   	ret
40aee5:	8d 40 00             	lea    0x0(%eax),%eax
40aee8:	55                   	push   %ebp
40aee9:	8b ec                	mov    %esp,%ebp
40aeeb:	53                   	push   %ebx
40aeec:	31 db                	xor    %ebx,%ebx
40aeee:	89 c1                	mov    %eax,%ecx
40aef0:	dd 45 08             	fldl   0x8(%ebp)
40aef3:	d8 8b 90 a1 68 00    	fmuls  0x68a190(%ebx)
40aef9:	83 ec 08             	sub    $0x8,%esp
40aefc:	df 3c 24             	fistpll (%esp)
40aeff:	9b                   	fwait
40af00:	58                   	pop    %eax
40af01:	5a                   	pop    %edx
40af02:	09 d2                	or     %edx,%edx
40af04:	79 11                	jns    0x40af17
40af06:	f7 da                	neg    %edx
40af08:	f7 d8                	neg    %eax
40af0a:	83 da 00             	sbb    $0x0,%edx
40af0d:	f7 b3 94 a1 68 00    	divl   0x68a194(%ebx)
40af13:	f7 d8                	neg    %eax
40af15:	eb 06                	jmp    0x40af1d
40af17:	f7 b3 94 a1 68 00    	divl   0x68a194(%ebx)
40af1d:	05 5a 95 0a 00       	add    $0xa955a,%eax
40af22:	89 11                	mov    %edx,(%ecx)
40af24:	89 41 04             	mov    %eax,0x4(%ecx)
40af27:	5b                   	pop    %ebx
40af28:	5d                   	pop    %ebp
40af29:	c2 08 00             	ret    $0x8
40af2c:	55                   	push   %ebp
40af2d:	8b ec                	mov    %esp,%ebp
40af2f:	83 c4 f8             	add    $0xfffffff8,%esp
40af32:	56                   	push   %esi
40af33:	8b 75 0c             	mov    0xc(%ebp),%esi
40af36:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
40af3a:	66 83 f8 18          	cmp    $0x18,%ax
40af3e:	73 4d                	jae    0x40af8d
40af40:	66 83 fa 3c          	cmp    $0x3c,%dx
40af44:	73 47                	jae    0x40af8d
40af46:	66 83 f9 3c          	cmp    $0x3c,%cx
40af4a:	73 41                	jae    0x40af8d
40af4c:	66 81 fe e8 03       	cmp    $0x3e8,%si
40af51:	73 3a                	jae    0x40af8d
40af53:	0f b7 c0             	movzwl %ax,%eax
40af56:	69 c0 80 ee 36 00    	imul   $0x36ee80,%eax,%eax
40af5c:	0f b7 d2             	movzwl %dx,%edx
40af5f:	69 d2 60 ea 00 00    	imul   $0xea60,%edx,%edx
40af65:	03 c2                	add    %edx,%eax
40af67:	0f b7 d1             	movzwl %cx,%edx
40af6a:	69 d2 e8 03 00 00    	imul   $0x3e8,%edx,%edx
40af70:	03 c2                	add    %edx,%eax
40af72:	0f b7 d6             	movzwl %si,%edx
40af75:	03 c2                	add    %edx,%eax
40af77:	89 45 f8             	mov    %eax,-0x8(%ebp)
40af7a:	db 45 f8             	fildl  -0x8(%ebp)
40af7d:	d8 35 98 af 40 00    	fdivs  0x40af98
40af83:	8b 45 08             	mov    0x8(%ebp),%eax
40af86:	dd 18                	fstpl  (%eax)
40af88:	9b                   	fwait
40af89:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
40af8d:	8a 45 ff             	mov    -0x1(%ebp),%al
40af90:	5e                   	pop    %esi
40af91:	59                   	pop    %ecx
40af92:	59                   	pop    %ecx
40af93:	5d                   	pop    %ebp
40af94:	c2 08 00             	ret    $0x8
40af97:	00 80 cb a4 4c 55    	add    %al,0x554ca4cb(%eax)
40af9d:	8b ec                	mov    %esp,%ebp
40af9f:	83 c4 f8             	add    $0xfffffff8,%esp
40afa2:	53                   	push   %ebx
40afa3:	56                   	push   %esi
40afa4:	57                   	push   %edi
40afa5:	8b f9                	mov    %ecx,%edi
40afa7:	8b f2                	mov    %edx,%esi
40afa9:	8b d8                	mov    %eax,%ebx
40afab:	66 8b 45 08          	mov    0x8(%ebp),%ax
40afaf:	50                   	push   %eax
40afb0:	8d 45 f8             	lea    -0x8(%ebp),%eax
40afb3:	50                   	push   %eax
40afb4:	8b cf                	mov    %edi,%ecx
40afb6:	8b d6                	mov    %esi,%edx
40afb8:	8b c3                	mov    %ebx,%eax
40afba:	e8 6d ff ff ff       	call   0x40af2c
40afbf:	84 c0                	test   %al,%al
40afc1:	75 0a                	jne    0x40afcd
40afc3:	a1 e4 6e 6a 00       	mov    0x6a6ee4,%eax
40afc8:	e8 ab e0 ff ff       	call   0x409078
40afcd:	dd 45 f8             	fldl   -0x8(%ebp)
40afd0:	5f                   	pop    %edi
40afd1:	5e                   	pop    %esi
40afd2:	5b                   	pop    %ebx
40afd3:	59                   	pop    %ecx
40afd4:	59                   	pop    %ecx
40afd5:	5d                   	pop    %ebp
40afd6:	c2 04 00             	ret    $0x4
40afd9:	8d 40 00             	lea    0x0(%eax),%eax
40afdc:	55                   	push   %ebp
40afdd:	8b ec                	mov    %esp,%ebp
40afdf:	83 c4 f4             	add    $0xfffffff4,%esp
40afe2:	53                   	push   %ebx
40afe3:	56                   	push   %esi
40afe4:	57                   	push   %edi
40afe5:	8b f9                	mov    %ecx,%edi
40afe7:	8b f2                	mov    %edx,%esi
40afe9:	8b d8                	mov    %eax,%ebx
40afeb:	8d 45 fc             	lea    -0x4(%ebp),%eax
40afee:	50                   	push   %eax
40afef:	ff 75 10             	push   0x10(%ebp)
40aff2:	ff 75 0c             	push   0xc(%ebp)
40aff5:	8d 45 f4             	lea    -0xc(%ebp),%eax
40aff8:	e8 eb fe ff ff       	call   0x40aee8
40affd:	8b 45 f4             	mov    -0xc(%ebp),%eax
40b000:	8d 4d fe             	lea    -0x2(%ebp),%ecx
40b003:	66 ba 60 ea          	mov    $0xea60,%dx
40b007:	e8 50 e0 ff ff       	call   0x40905c
40b00c:	56                   	push   %esi
40b00d:	8b cb                	mov    %ebx,%ecx
40b00f:	0f b7 45 fe          	movzwl -0x2(%ebp),%eax
40b013:	66 ba 3c 00          	mov    $0x3c,%dx
40b017:	e8 40 e0 ff ff       	call   0x40905c
40b01c:	8b 45 08             	mov    0x8(%ebp),%eax
40b01f:	50                   	push   %eax
40b020:	8b cf                	mov    %edi,%ecx
40b022:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
40b026:	66 ba e8 03          	mov    $0x3e8,%dx
40b02a:	e8 2d e0 ff ff       	call   0x40905c
40b02f:	5f                   	pop    %edi
40b030:	5e                   	pop    %esi
40b031:	5b                   	pop    %ebx
40b032:	8b e5                	mov    %ebp,%esp
40b034:	5d                   	pop    %ebp
40b035:	c2 0c 00             	ret    $0xc
40b038:	53                   	push   %ebx
40b039:	56                   	push   %esi
40b03a:	8b c8                	mov    %eax,%ecx
40b03c:	0f b7 c1             	movzwl %cx,%eax
40b03f:	83 e0 03             	and    $0x3,%eax
40b042:	85 c0                	test   %eax,%eax