409f50:	72 03                	jb     0x409f55
409f52:	8b 7d 0c             	mov    0xc(%ebp),%edi
409f55:	83 ff 12             	cmp    $0x12,%edi
409f58:	73 27                	jae    0x409f81
409f5a:	80 7c 3b 03 35       	cmpb   $0x35,0x3(%ebx,%edi,1)
409f5f:	72 25                	jb     0x409f86
409f61:	c6 44 3b 03 00       	movb   $0x0,0x3(%ebx,%edi,1)
409f66:	4f                   	dec    %edi
409f67:	78 0d                	js     0x409f76
409f69:	fe 44 3b 03          	incb   0x3(%ebx,%edi,1)
409f6d:	80 7c 3b 03 39       	cmpb   $0x39,0x3(%ebx,%edi,1)
409f72:	77 ed                	ja     0x409f61
409f74:	eb 1f                	jmp    0x409f95
409f76:	66 c7 43 03 31 00    	movw   $0x31,0x3(%ebx)
409f7c:	ff 45 f8             	incl   -0x8(%ebp)
409f7f:	eb 14                	jmp    0x409f95
409f81:	bf 12 00 00 00       	mov    $0x12,%edi
409f86:	c6 44 3b 03 00       	movb   $0x0,0x3(%ebx,%edi,1)
409f8b:	4f                   	dec    %edi
409f8c:	78 19                	js     0x409fa7
409f8e:	80 7c 3b 03 30       	cmpb   $0x30,0x3(%ebx,%edi,1)
409f93:	74 f1                	je     0x409f86
409f95:	66 8b 56 08          	mov    0x8(%esi),%dx
409f99:	8b 45 f8             	mov    -0x8(%ebp),%eax
409f9c:	66 c1 ea 0f          	shr    $0xf,%dx
409fa0:	66 89 03             	mov    %ax,(%ebx)
409fa3:	88 53 02             	mov    %dl,0x2(%ebx)
409fa6:	c3                   	ret
409fa7:	31 d2                	xor    %edx,%edx
409fa9:	eb ee                	jmp    0x409f99
409fab:	0a 00                	or     (%eax),%al
409fad:	00 00                	add    %al,(%eax)
409faf:	64 00 00             	add    %al,%fs:(%eax)
409fb2:	00 e8                	add    %ch,%al
409fb4:	03 00                	add    (%eax),%eax
409fb6:	00 10                	add    %dl,(%eax)
409fb8:	27                   	daa
409fb9:	00 00                	add    %al,(%eax)
409fbb:	8b 06                	mov    (%esi),%eax
409fbd:	8b 56 04             	mov    0x4(%esi),%edx
409fc0:	89 c1                	mov    %eax,%ecx
409fc2:	09 d1                	or     %edx,%ecx
409fc4:	0f 84 b7 00 00 00    	je     0x40a081
409fca:	09 d2                	or     %edx,%edx
409fcc:	79 07                	jns    0x409fd5
409fce:	f7 da                	neg    %edx
409fd0:	f7 d8                	neg    %eax
409fd2:	83 da 00             	sbb    $0x0,%edx
409fd5:	31 c9                	xor    %ecx,%ecx
409fd7:	8b 7d 08             	mov    0x8(%ebp),%edi
409fda:	09 ff                	or     %edi,%edi
409fdc:	7d 02                	jge    0x409fe0
409fde:	31 ff                	xor    %edi,%edi
409fe0:	83 ff 04             	cmp    $0x4,%edi
409fe3:	7c 1f                	jl     0x40a004
409fe5:	bf 04 00 00 00       	mov    $0x4,%edi
409fea:	41                   	inc    %ecx
409feb:	2d 00 00 64 a7       	sub    $0xa7640000,%eax
409ff0:	81 da b3 b6 e0 0d    	sbb    $0xde0b6b3,%edx
409ff6:	73 f2                	jae    0x409fea
409ff8:	49                   	dec    %ecx
409ff9:	05 00 00 64 a7       	add    $0xa7640000,%eax
409ffe:	81 d2 b3 b6 e0 0d    	adc    $0xde0b6b3,%edx
40a004:	89 45 e0             	mov    %eax,-0x20(%ebp)
40a007:	89 55 e4             	mov    %edx,-0x1c(%ebp)
40a00a:	df 6d e0             	fildll -0x20(%ebp)
40a00d:	89 fa                	mov    %edi,%edx
40a00f:	b8 04 00 00 00       	mov    $0x4,%eax
40a014:	29 d0                	sub    %edx,%eax
40a016:	74 0a                	je     0x40a022
40a018:	8b 7d fc             	mov    -0x4(%ebp),%edi
40a01b:	da b4 87 a7 9f 40 00 	fidivl 0x409fa7(%edi,%eax,4)
40a022:	df 75 e8             	fbstp  -0x18(%ebp)
40a025:	8d 7b 03             	lea    0x3(%ebx),%edi
40a028:	9b                   	fwait
40a029:	09 c9                	or     %ecx,%ecx
40a02b:	75 1b                	jne    0x40a048
40a02d:	b9 09 00 00 00       	mov    $0x9,%ecx
40a032:	8a 44 29 e7          	mov    -0x19(%ecx,%ebp,1),%al
40a036:	88 c4                	mov    %al,%ah
40a038:	c0 e8 04             	shr    $0x4,%al
40a03b:	75 1e                	jne    0x40a05b
40a03d:	88 e0                	mov    %ah,%al
40a03f:	24 0f                	and    $0xf,%al
40a041:	75 1f                	jne    0x40a062
40a043:	49                   	dec    %ecx
40a044:	75 ec                	jne    0x40a032
40a046:	eb 39                	jmp    0x40a081
40a048:	88 c8                	mov    %cl,%al
40a04a:	04 30                	add    $0x30,%al
40a04c:	aa                   	stos   %al,%es:(%edi)
40a04d:	b9 09 00 00 00       	mov    $0x9,%ecx
40a052:	8a 44 29 e7          	mov    -0x19(%ecx,%ebp,1),%al
40a056:	88 c4                	mov    %al,%ah
40a058:	c0 e8 04             	shr    $0x4,%al
40a05b:	04 30                	add    $0x30,%al
40a05d:	aa                   	stos   %al,%es:(%edi)
40a05e:	88 e0                	mov    %ah,%al
40a060:	24 0f                	and    $0xf,%al
40a062:	04 30                	add    $0x30,%al
40a064:	aa                   	stos   %al,%es:(%edi)
40a065:	49                   	dec    %ecx
40a066:	75 ea                	jne    0x40a052
40a068:	89 f8                	mov    %edi,%eax
40a06a:	8d 4c 13 03          	lea    0x3(%ebx,%edx,1),%ecx
40a06e:	29 c8                	sub    %ecx,%eax
40a070:	c6 07 00             	movb   $0x0,(%edi)
40a073:	4f                   	dec    %edi
40a074:	80 3f 30             	cmpb   $0x30,(%edi)
40a077:	74 f7                	je     0x40a070
40a079:	8b 56 04             	mov    0x4(%esi),%edx
40a07c:	c1 ea 1f             	shr    $0x1f,%edx
40a07f:	eb 07                	jmp    0x40a088
40a081:	31 c0                	xor    %eax,%eax
40a083:	31 d2                	xor    %edx,%edx
40a085:	88 43 03             	mov    %al,0x3(%ebx)
40a088:	66 89 03             	mov    %ax,(%ebx)
40a08b:	88 53 02             	mov    %dl,0x2(%ebx)
40a08e:	c3                   	ret
40a08f:	5b                   	pop    %ebx
40a090:	5e                   	pop    %esi
40a091:	5f                   	pop    %edi
40a092:	8b e5                	mov    %ebp,%esp
40a094:	5d                   	pop    %ebp
40a095:	c2 08 00             	ret    $0x8
40a098:	55                   	push   %ebp
40a099:	8b ec                	mov    %esp,%ebp
40a09b:	83 c4 f4             	add    $0xfffffff4,%esp
40a09e:	57                   	push   %edi
40a09f:	56                   	push   %esi
40a0a0:	53                   	push   %ebx
40a0a1:	89 c6                	mov    %eax,%esi
40a0a3:	89 d7                	mov    %edx,%edi
40a0a5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40a0ac:	a0 0f a8 4a 00       	mov    0x4aa80f,%al
40a0b1:	88 45 fb             	mov    %al,-0x5(%ebp)
40a0b4:	89 cb                	mov    %ecx,%ebx
40a0b6:	9b d9 7d f8          	fstcw  -0x8(%ebp)
40a0ba:	9b db e2             	fclex
40a0bd:	d9 2d 74 b8 49 00    	fldcw  0x49b874
40a0c3:	d9 ee                	fldz
40a0c5:	e8 85 00 00 00       	call   0x40a14f
40a0ca:	8a 3e                	mov    (%esi),%bh
40a0cc:	80 ff 2b             	cmp    $0x2b,%bh
40a0cf:	74 05                	je     0x40a0d6
40a0d1:	80 ff 2d             	cmp    $0x2d,%bh
40a0d4:	75 01                	jne    0x40a0d7
40a0d6:	46                   	inc    %esi
40a0d7:	89 f1                	mov    %esi,%ecx
40a0d9:	e8 7c 00 00 00       	call   0x40a15a
40a0de:	31 d2                	xor    %edx,%edx
40a0e0:	8a 06                	mov    (%esi),%al
40a0e2:	3a 45 fb             	cmp    -0x5(%ebp),%al
40a0e5:	75 08                	jne    0x40a0ef
40a0e7:	46                   	inc    %esi
40a0e8:	e8 6d 00 00 00       	call   0x40a15a
40a0ed:	f7 da                	neg    %edx
40a0ef:	39 f1                	cmp    %esi,%ecx
40a0f1:	74 4f                	je     0x40a142
40a0f3:	8a 06                	mov    (%esi),%al
40a0f5:	24 df                	and    $0xdf,%al
40a0f7:	3c 45                	cmp    $0x45,%al
40a0f9:	75 0a                	jne    0x40a105
40a0fb:	46                   	inc    %esi
40a0fc:	52                   	push   %edx
40a0fd:	e8 74 00 00 00       	call   0x40a176
40a102:	58                   	pop    %eax
40a103:	01 c2                	add    %eax,%edx
40a105:	e8 45 00 00 00       	call   0x40a14f
40a10a:	80 3e 00             	cmpb   $0x0,(%esi)
40a10d:	75 33                	jne    0x40a142
40a10f:	89 d0                	mov    %edx,%eax
40a111:	80 fb 01             	cmp    $0x1,%bl
40a114:	75 03                	jne    0x40a119
40a116:	83 c0 04             	add    $0x4,%eax
40a119:	53                   	push   %ebx
40a11a:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40a11d:	e8 d6 92 ff ff       	call   0x4033f8
40a122:	5b                   	pop    %ebx
40a123:	80 ff 2d             	cmp    $0x2d,%bh
40a126:	75 02                	jne    0x40a12a
40a128:	d9 e0                	fchs
40a12a:	80 fb 00             	cmp    $0x0,%bl
40a12d:	74 04                	je     0x40a133
40a12f:	df 3f                	fistpll (%edi)
40a131:	eb 02                	jmp    0x40a135
40a133:	db 3f                	fstpt  (%edi)
40a135:	9b df e0             	fstsw  %ax
40a138:	66 a9 09 00          	test   $0x9,%ax
40a13c:	75 06                	jne    0x40a144
40a13e:	b0 01                	mov    $0x1,%al
40a140:	eb 04                	jmp    0x40a146
40a142:	dd d8                	fstp   %st(0)
40a144:	31 c0                	xor    %eax,%eax
40a146:	9b db e2             	fclex
40a149:	d9 6d f8             	fldcw  -0x8(%ebp)
40a14c:	9b                   	fwait
40a14d:	eb 56                	jmp    0x40a1a5
40a14f:	ac                   	lods   %ds:(%esi),%al
40a150:	08 c0                	or     %al,%al
40a152:	74 04                	je     0x40a158
40a154:	3c 20                	cmp    $0x20,%al
40a156:	74 f7                	je     0x40a14f
40a158:	4e                   	dec    %esi
40a159:	c3                   	ret
40a15a:	31 c0                	xor    %eax,%eax
40a15c:	31 d2                	xor    %edx,%edx
40a15e:	ac                   	lods   %ds:(%esi),%al
40a15f:	2c 3a                	sub    $0x3a,%al
40a161:	04 0a                	add    $0xa,%al
40a163:	73 0f                	jae    0x40a174
40a165:	da 0d 70 b8 49 00    	fimull 0x49b870
40a16b:	89 45 f4             	mov    %eax,-0xc(%ebp)
40a16e:	da 45 f4             	fiaddl -0xc(%ebp)
40a171:	42                   	inc    %edx
40a172:	eb ea                	jmp    0x40a15e
40a174:	4e                   	dec    %esi
40a175:	c3                   	ret
40a176:	31 c0                	xor    %eax,%eax
40a178:	31 d2                	xor    %edx,%edx
40a17a:	8a 0e                	mov    (%esi),%cl
40a17c:	80 f9 2b             	cmp    $0x2b,%cl
40a17f:	74 05                	je     0x40a186
40a181:	80 f9 2d             	cmp    $0x2d,%cl
40a184:	75 01                	jne    0x40a187
40a186:	46                   	inc    %esi
40a187:	8a 06                	mov    (%esi),%al
40a189:	2c 3a                	sub    $0x3a,%al
40a18b:	04 0a                	add    $0xa,%al
40a18d:	73 0e                	jae    0x40a19d
40a18f:	46                   	inc    %esi
40a190:	6b d2 0a             	imul   $0xa,%edx,%edx
40a193:	01 c2                	add    %eax,%edx
40a195:	81 fa f4 01 00 00    	cmp    $0x1f4,%edx
40a19b:	72 ea                	jb     0x40a187
40a19d:	80 f9 2d             	cmp    $0x2d,%cl
40a1a0:	75 02                	jne    0x40a1a4
40a1a2:	f7 da                	neg    %edx
40a1a4:	c3                   	ret
40a1a5:	5b                   	pop    %ebx
40a1a6:	5e                   	pop    %esi
40a1a7:	5f                   	pop    %edi
40a1a8:	8b e5                	mov    %ebp,%esp
40a1aa:	5d                   	pop    %ebp
40a1ab:	c3                   	ret
40a1ac:	55                   	push   %ebp
40a1ad:	8b ec                	mov    %esp,%ebp
40a1af:	83 c4 c0             	add    $0xffffffc0,%esp
40a1b2:	53                   	push   %ebx
40a1b3:	8b d8                	mov    %eax,%ebx
40a1b5:	6a 00                	push   $0x0
40a1b7:	6a 0f                	push   $0xf
40a1b9:	6a 00                	push   $0x0
40a1bb:	8d 55 08             	lea    0x8(%ebp),%edx
40a1be:	8d 45 c0             	lea    -0x40(%ebp),%eax
40a1c1:	33 c9                	xor    %ecx,%ecx
40a1c3:	e8 d0 f9 ff ff       	call   0x409b98
40a1c8:	8b c8                	mov    %eax,%ecx
40a1ca:	8d 55 c0             	lea    -0x40(%ebp),%edx
40a1cd:	8b c3                	mov    %ebx,%eax
40a1cf:	e8 64 a6 ff ff       	call   0x404838
40a1d4:	5b                   	pop    %ebx
40a1d5:	8b e5                	mov    %ebp,%esp
40a1d7:	5d                   	pop    %ebp
40a1d8:	c2 0c 00             	ret    $0xc
40a1db:	90                   	nop
40a1dc:	55                   	push   %ebp
40a1dd:	8b ec                	mov    %esp,%ebp
40a1df:	83 c4 c0             	add    $0xffffffc0,%esp
40a1e2:	53                   	push   %ebx
40a1e3:	8b d8                	mov    %eax,%ebx
40a1e5:	6a 00                	push   $0x0
40a1e7:	6a 00                	push   $0x0
40a1e9:	6a 00                	push   $0x0
40a1eb:	8d 55 08             	lea    0x8(%ebp),%edx
40a1ee:	8d 45 c0             	lea    -0x40(%ebp),%eax
40a1f1:	b1 01                	mov    $0x1,%cl
40a1f3:	e8 a0 f9 ff ff       	call   0x409b98
40a1f8:	8b c8                	mov    %eax,%ecx
40a1fa:	8d 55 c0             	lea    -0x40(%ebp),%edx
40a1fd:	8b c3                	mov    %ebx,%eax
40a1ff:	e8 34 a6 ff ff       	call   0x404838
40a204:	5b                   	pop    %ebx
40a205:	8b e5                	mov    %ebp,%esp
40a207:	5d                   	pop    %ebp
40a208:	c2 08 00             	ret    $0x8
40a20b:	90                   	nop
40a20c:	53                   	push   %ebx
40a20d:	83 c4 ec             	add    $0xffffffec,%esp
40a210:	8b d8                	mov    %eax,%ebx
40a212:	8b c3                	mov    %ebx,%eax
40a214:	e8 f3 a9 ff ff       	call   0x404c0c
40a219:	8b d4                	mov    %esp,%edx
40a21b:	33 c9                	xor    %ecx,%ecx
40a21d:	e8 76 fe ff ff       	call   0x40a098
40a222:	84 c0                	test   %al,%al
40a224:	75 19                	jne    0x40a23f
40a226:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
40a22a:	c6 44 24 10 0b       	movb   $0xb,0x10(%esp)
40a22f:	8d 54 24 0c          	lea    0xc(%esp),%edx
40a233:	a1 54 74 4a 00       	mov    0x4a7454,%eax
40a238:	33 c9                	xor    %ecx,%ecx
40a23a:	e8 05 e5 ff ff       	call   0x408744
40a23f:	db 2c 24             	fldt   (%esp)
40a242:	83 c4 14             	add    $0x14,%esp
40a245:	5b                   	pop    %ebx
40a246:	c3                   	ret
40a247:	90                   	nop
40a248:	53                   	push   %ebx
40a249:	56                   	push   %esi
40a24a:	8b f2                	mov    %edx,%esi
40a24c:	8b d8                	mov    %eax,%ebx
40a24e:	8b c3                	mov    %ebx,%eax
40a250:	e8 b7 a9 ff ff       	call   0x404c0c
40a255:	8b d6                	mov    %esi,%edx
40a257:	33 c9                	xor    %ecx,%ecx
40a259:	e8 3a fe ff ff       	call   0x40a098
40a25e:	5e                   	pop    %esi
40a25f:	5b                   	pop    %ebx
40a260:	c3                   	ret
40a261:	8d 40 00             	lea    0x0(%eax),%eax
40a264:	53                   	push   %ebx
40a265:	56                   	push   %esi
40a266:	83 c4 f4             	add    $0xfffffff4,%esp
40a269:	8b f2                	mov    %edx,%esi
40a26b:	8b d8                	mov    %eax,%ebx
40a26d:	8b c3                	mov    %ebx,%eax
40a26f:	e8 98 a9 ff ff       	call   0x404c0c
40a274:	8b d4                	mov    %esp,%edx
40a276:	33 c9                	xor    %ecx,%ecx
40a278:	e8 1b fe ff ff       	call   0x40a098
40a27d:	84 c0                	test   %al,%al
40a27f:	74 06                	je     0x40a287
40a281:	db 2c 24             	fldt   (%esp)
40a284:	dd 1e                	fstpl  (%esi)
40a286:	9b                   	fwait
40a287:	83 c4 0c             	add    $0xc,%esp
40a28a:	5e                   	pop    %esi
40a28b:	5b                   	pop    %ebx
40a28c:	c3                   	ret
40a28d:	8d 40 00             	lea    0x0(%eax),%eax
40a290:	53                   	push   %ebx
40a291:	56                   	push   %esi
40a292:	83 c4 f4             	add    $0xfffffff4,%esp
40a295:	8b f2                	mov    %edx,%esi
40a297:	8b d8                	mov    %eax,%ebx
40a299:	8b c3                	mov    %ebx,%eax
40a29b:	e8 6c a9 ff ff       	call   0x404c0c
40a2a0:	8b d4                	mov    %esp,%edx
40a2a2:	33 c9                	xor    %ecx,%ecx