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
40b044:	75 21                	jne    0x40b067
40b046:	0f b7 d9             	movzwl %cx,%ebx
40b049:	8b c3                	mov    %ebx,%eax
40b04b:	be 64 00 00 00       	mov    $0x64,%esi
40b050:	33 d2                	xor    %edx,%edx
40b052:	f7 f6                	div    %esi
40b054:	85 d2                	test   %edx,%edx
40b056:	75 14                	jne    0x40b06c
40b058:	8b c3                	mov    %ebx,%eax
40b05a:	b9 90 01 00 00       	mov    $0x190,%ecx
40b05f:	33 d2                	xor    %edx,%edx
40b061:	f7 f1                	div    %ecx
40b063:	85 d2                	test   %edx,%edx
40b065:	74 05                	je     0x40b06c
40b067:	33 c0                	xor    %eax,%eax
40b069:	5e                   	pop    %esi
40b06a:	5b                   	pop    %ebx
40b06b:	c3                   	ret
40b06c:	b0 01                	mov    $0x1,%al
40b06e:	5e                   	pop    %esi
40b06f:	5b                   	pop    %ebx
40b070:	c3                   	ret
40b071:	8d 40 00             	lea    0x0(%eax),%eax
40b074:	55                   	push   %ebp
40b075:	8b ec                	mov    %esp,%ebp
40b077:	83 c4 f8             	add    $0xfffffff8,%esp
40b07a:	53                   	push   %ebx
40b07b:	56                   	push   %esi
40b07c:	57                   	push   %edi
40b07d:	8b d9                	mov    %ecx,%ebx
40b07f:	8b fa                	mov    %edx,%edi
40b081:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
40b085:	c6 45 fd 00          	movb   $0x0,-0x3(%ebp)
40b089:	66 8b 45 fe          	mov    -0x2(%ebp),%ax
40b08d:	e8 a6 ff ff ff       	call   0x40b038
40b092:	83 e0 7f             	and    $0x7f,%eax
40b095:	8d 04 40             	lea    (%eax,%eax,2),%eax
40b098:	8d 34 c5 e0 a0 68 00 	lea    0x68a0e0(,%eax,8),%esi
40b09f:	66 83 7d fe 01       	cmpw   $0x1,-0x2(%ebp)
40b0a4:	0f 82 86 00 00 00    	jb     0x40b130
40b0aa:	66 81 7d fe 0f 27    	cmpw   $0x270f,-0x2(%ebp)
40b0b0:	77 7e                	ja     0x40b130
40b0b2:	66 83 ff 01          	cmp    $0x1,%di
40b0b6:	72 78                	jb     0x40b130
40b0b8:	66 83 ff 0c          	cmp    $0xc,%di
40b0bc:	77 72                	ja     0x40b130
40b0be:	66 83 fb 01          	cmp    $0x1,%bx
40b0c2:	72 6c                	jb     0x40b130
40b0c4:	0f b7 c7             	movzwl %di,%eax
40b0c7:	66 3b 5c 46 fe       	cmp    -0x2(%esi,%eax,2),%bx
40b0cc:	77 62                	ja     0x40b130
40b0ce:	0f b7 c7             	movzwl %di,%eax
40b0d1:	48                   	dec    %eax
40b0d2:	85 c0                	test   %eax,%eax
40b0d4:	7e 0e                	jle    0x40b0e4
40b0d6:	b9 01 00 00 00       	mov    $0x1,%ecx
40b0db:	66 03 5c 4e fe       	add    -0x2(%esi,%ecx,2),%bx
40b0e0:	41                   	inc    %ecx
40b0e1:	48                   	dec    %eax
40b0e2:	75 f7                	jne    0x40b0db
40b0e4:	0f b7 4d fe          	movzwl -0x2(%ebp),%ecx
40b0e8:	49                   	dec    %ecx
40b0e9:	8b c1                	mov    %ecx,%eax
40b0eb:	be 64 00 00 00       	mov    $0x64,%esi
40b0f0:	99                   	cltd
40b0f1:	f7 fe                	idiv   %esi
40b0f3:	69 f1 6d 01 00 00    	imul   $0x16d,%ecx,%esi
40b0f9:	8b d1                	mov    %ecx,%edx
40b0fb:	85 d2                	test   %edx,%edx
40b0fd:	79 03                	jns    0x40b102
40b0ff:	83 c2 03             	add    $0x3,%edx
40b102:	c1 fa 02             	sar    $0x2,%edx
40b105:	03 f2                	add    %edx,%esi
40b107:	2b f0                	sub    %eax,%esi
40b109:	8b c1                	mov    %ecx,%eax
40b10b:	b9 90 01 00 00       	mov    $0x190,%ecx
40b110:	99                   	cltd
40b111:	f7 f9                	idiv   %ecx
40b113:	03 f0                	add    %eax,%esi
40b115:	0f b7 c3             	movzwl %bx,%eax
40b118:	03 f0                	add    %eax,%esi
40b11a:	81 ee 5a 95 0a 00    	sub    $0xa955a,%esi
40b120:	89 75 f8             	mov    %esi,-0x8(%ebp)
40b123:	db 45 f8             	fildl  -0x8(%ebp)
40b126:	8b 45 08             	mov    0x8(%ebp),%eax
40b129:	dd 18                	fstpl  (%eax)
40b12b:	9b                   	fwait
40b12c:	c6 45 fd 01          	movb   $0x1,-0x3(%ebp)
40b130:	8a 45 fd             	mov    -0x3(%ebp),%al
40b133:	5f                   	pop    %edi
40b134:	5e                   	pop    %esi
40b135:	5b                   	pop    %ebx
40b136:	59                   	pop    %ecx
40b137:	59                   	pop    %ecx
40b138:	5d                   	pop    %ebp
40b139:	c2 04 00             	ret    $0x4
40b13c:	53                   	push   %ebx
40b13d:	56                   	push   %esi
40b13e:	57                   	push   %edi
40b13f:	83 c4 f8             	add    $0xfffffff8,%esp
40b142:	8b f9                	mov    %ecx,%edi
40b144:	8b f2                	mov    %edx,%esi
40b146:	8b d8                	mov    %eax,%ebx
40b148:	54                   	push   %esp
40b149:	8b cf                	mov    %edi,%ecx
40b14b:	8b d6                	mov    %esi,%edx
40b14d:	8b c3                	mov    %ebx,%eax
40b14f:	e8 20 ff ff ff       	call   0x40b074
40b154:	84 c0                	test   %al,%al
40b156:	75 0a                	jne    0x40b162
40b158:	a1 48 70 6a 00       	mov    0x6a7048,%eax
40b15d:	e8 16 df ff ff       	call   0x409078
40b162:	dd 04 24             	fldl   (%esp)
40b165:	59                   	pop    %ecx
40b166:	5a                   	pop    %edx
40b167:	5f                   	pop    %edi
40b168:	5e                   	pop    %esi
40b169:	5b                   	pop    %ebx
40b16a:	c3                   	ret
40b16b:	90                   	nop
40b16c:	55                   	push   %ebp
40b16d:	8b ec                	mov    %esp,%ebp
40b16f:	83 c4 e8             	add    $0xffffffe8,%esp
40b172:	53                   	push   %ebx
40b173:	56                   	push   %esi
40b174:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40b177:	89 55 f8             	mov    %edx,-0x8(%ebp)
40b17a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b17d:	8b 5d 08             	mov    0x8(%ebp),%ebx
40b180:	ff 75 10             	push   0x10(%ebp)
40b183:	ff 75 0c             	push   0xc(%ebp)
40b186:	8d 45 e8             	lea    -0x18(%ebp),%eax
40b189:	e8 5a fd ff ff       	call   0x40aee8
40b18e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40b191:	85 c9                	test   %ecx,%ecx
40b193:	7f 24                	jg     0x40b1b9
40b195:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b198:	66 c7 00 00 00       	movw   $0x0,(%eax)
40b19d:	8b 45 f8             	mov    -0x8(%ebp),%eax
40b1a0:	66 c7 00 00 00       	movw   $0x0,(%eax)
40b1a5:	8b 45 f4             	mov    -0xc(%ebp),%eax
40b1a8:	66 c7 00 00 00       	movw   $0x0,(%eax)
40b1ad:	66 c7 03 00 00       	movw   $0x0,(%ebx)
40b1b2:	33 d2                	xor    %edx,%edx
40b1b4:	e9 f2 00 00 00       	jmp    0x40b2ab
40b1b9:	8b c1                	mov    %ecx,%eax
40b1bb:	be 07 00 00 00       	mov    $0x7,%esi
40b1c0:	99                   	cltd
40b1c1:	f7 fe                	idiv   %esi
40b1c3:	42                   	inc    %edx
40b1c4:	66 89 13             	mov    %dx,(%ebx)
40b1c7:	49                   	dec    %ecx
40b1c8:	66 bb 01 00          	mov    $0x1,%bx
40b1cc:	81 f9 b1 3a 02 00    	cmp    $0x23ab1,%ecx
40b1d2:	7c 13                	jl     0x40b1e7
40b1d4:	81 e9 b1 3a 02 00    	sub    $0x23ab1,%ecx
40b1da:	66 81 c3 90 01       	add    $0x190,%bx
40b1df:	81 f9 b1 3a 02 00    	cmp    $0x23ab1,%ecx
40b1e5:	7d ed                	jge    0x40b1d4
40b1e7:	8d 45 f2             	lea    -0xe(%ebp),%eax
40b1ea:	50                   	push   %eax
40b1eb:	8d 45 f0             	lea    -0x10(%ebp),%eax
40b1ee:	66 ba ac 8e          	mov    $0x8eac,%dx
40b1f2:	91                   	xchg   %eax,%ecx
40b1f3:	e8 64 de ff ff       	call   0x40905c
40b1f8:	66 83 7d f0 04       	cmpw   $0x4,-0x10(%ebp)
40b1fd:	75 0a                	jne    0x40b209
40b1ff:	66 ff 4d f0          	decw   -0x10(%ebp)
40b203:	66 81 45 f2 ac 8e    	addw   $0x8eac,-0xe(%ebp)
40b209:	66 6b 45 f0 64       	imul   $0x64,-0x10(%ebp),%ax
40b20e:	66 03 d8             	add    %ax,%bx
40b211:	8d 45 f2             	lea    -0xe(%ebp),%eax
40b214:	50                   	push   %eax
40b215:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40b218:	0f b7 45 f2          	movzwl -0xe(%ebp),%eax