409147:	40                   	inc    %eax
409148:	89 45 f8             	mov    %eax,-0x8(%ebp)
40914b:	b8 12 00 00 00       	mov    $0x12,%eax
409150:	2b 45 f8             	sub    -0x8(%ebp),%eax
409153:	d9 e1                	fabs
409155:	53                   	push   %ebx
409156:	8b 5d fc             	mov    -0x4(%ebp),%ebx
409159:	e8 3e 9c ff ff       	call   0x402d9c
40915e:	5b                   	pop    %ebx
40915f:	d9 fc                	frndint
409161:	8b 7d fc             	mov    -0x4(%ebp),%edi
409164:	db af 68 31 46 00    	fldt   0x463168(%edi)
40916a:	d8 d9                	fcomp  %st(1)
40916c:	9b dd 7d f6          	fstsw  -0xa(%ebp)
409170:	9b                   	fwait
409171:	66 f7 45 f6 00 41    	testw  $0x4100,-0xa(%ebp)
409177:	74 09                	je     0x409182
409179:	da b7 74 31 46 00    	fidivl 0x463174(%edi)
40917f:	ff 45 f8             	incl   -0x8(%ebp)
409182:	df 75 e8             	fbstp  -0x18(%ebp)
409185:	8d 7b 03             	lea    0x3(%ebx),%edi
409188:	ba 09 00 00 00       	mov    $0x9,%edx
40918d:	9b                   	fwait
40918e:	8a 44 2a e7          	mov    -0x19(%edx,%ebp,1),%al
409192:	88 c4                	mov    %al,%ah
409194:	c0 e8 04             	shr    $0x4,%al
409197:	80 e4 0f             	and    $0xf,%ah
40919a:	66 05 30 30          	add    $0x3030,%ax
40919e:	66 ab                	stos   %ax,%es:(%edi)
4091a0:	4a                   	dec    %edx
4091a1:	75 eb                	jne    0x40918e
4091a3:	32 c0                	xor    %al,%al
4091a5:	aa                   	stos   %al,%es:(%edi)
4091a6:	8b 7d f8             	mov    -0x8(%ebp),%edi
4091a9:	03 7d 08             	add    0x8(%ebp),%edi
4091ac:	79 07                	jns    0x4091b5
4091ae:	31 c0                	xor    %eax,%eax
4091b0:	e9 77 ff ff ff       	jmp    0x40912c
4091b5:	3b 7d 0c             	cmp    0xc(%ebp),%edi
4091b8:	72 03                	jb     0x4091bd
4091ba:	8b 7d 0c             	mov    0xc(%ebp),%edi
4091bd:	83 ff 12             	cmp    $0x12,%edi
4091c0:	73 27                	jae    0x4091e9
4091c2:	80 7c 3b 03 35       	cmpb   $0x35,0x3(%ebx,%edi,1)
4091c7:	72 25                	jb     0x4091ee
4091c9:	c6 44 3b 03 00       	movb   $0x0,0x3(%ebx,%edi,1)
4091ce:	4f                   	dec    %edi
4091cf:	78 0d                	js     0x4091de
4091d1:	fe 44 3b 03          	incb   0x3(%ebx,%edi,1)
4091d5:	80 7c 3b 03 39       	cmpb   $0x39,0x3(%ebx,%edi,1)
4091da:	77 ed                	ja     0x4091c9
4091dc:	eb 1f                	jmp    0x4091fd
4091de:	66 c7 43 03 31 00    	movw   $0x31,0x3(%ebx)
4091e4:	ff 45 f8             	incl   -0x8(%ebp)
4091e7:	eb 14                	jmp    0x4091fd
4091e9:	bf 12 00 00 00       	mov    $0x12,%edi
4091ee:	c6 44 3b 03 00       	movb   $0x0,0x3(%ebx,%edi,1)
4091f3:	4f                   	dec    %edi
4091f4:	78 19                	js     0x40920f
4091f6:	80 7c 3b 03 30       	cmpb   $0x30,0x3(%ebx,%edi,1)
4091fb:	74 f1                	je     0x4091ee
4091fd:	66 8b 56 08          	mov    0x8(%esi),%dx
409201:	8b 45 f8             	mov    -0x8(%ebp),%eax
409204:	66 c1 ea 0f          	shr    $0xf,%dx
409208:	66 89 03             	mov    %ax,(%ebx)
40920b:	88 53 02             	mov    %dl,0x2(%ebx)
40920e:	c3                   	ret
40920f:	31 d2                	xor    %edx,%edx
409211:	eb ee                	jmp    0x409201
409213:	0a 00                	or     (%eax),%al
409215:	00 00                	add    %al,(%eax)
409217:	64 00 00             	add    %al,%fs:(%eax)
40921a:	00 e8                	add    %ch,%al
40921c:	03 00                	add    (%eax),%eax
40921e:	00 10                	add    %dl,(%eax)
409220:	27                   	daa
409221:	00 00                	add    %al,(%eax)
409223:	8b 06                	mov    (%esi),%eax
409225:	8b 56 04             	mov    0x4(%esi),%edx
409228:	89 c1                	mov    %eax,%ecx
40922a:	09 d1                	or     %edx,%ecx
40922c:	0f 84 b7 00 00 00    	je     0x4092e9
409232:	09 d2                	or     %edx,%edx
409234:	79 07                	jns    0x40923d
409236:	f7 da                	neg    %edx
409238:	f7 d8                	neg    %eax
40923a:	83 da 00             	sbb    $0x0,%edx
40923d:	31 c9                	xor    %ecx,%ecx
40923f:	8b 7d 08             	mov    0x8(%ebp),%edi
409242:	09 ff                	or     %edi,%edi
409244:	7d 02                	jge    0x409248
409246:	31 ff                	xor    %edi,%edi
409248:	83 ff 04             	cmp    $0x4,%edi
40924b:	7c 1f                	jl     0x40926c
40924d:	bf 04 00 00 00       	mov    $0x4,%edi
409252:	41                   	inc    %ecx
409253:	2d 00 00 64 a7       	sub    $0xa7640000,%eax
409258:	81 da b3 b6 e0 0d    	sbb    $0xde0b6b3,%edx
40925e:	73 f2                	jae    0x409252
409260:	49                   	dec    %ecx
409261:	05 00 00 64 a7       	add    $0xa7640000,%eax
409266:	81 d2 b3 b6 e0 0d    	adc    $0xde0b6b3,%edx
40926c:	89 45 e0             	mov    %eax,-0x20(%ebp)
40926f:	89 55 e4             	mov    %edx,-0x1c(%ebp)
409272:	df 6d e0             	fildll -0x20(%ebp)
409275:	89 fa                	mov    %edi,%edx
409277:	b8 04 00 00 00       	mov    $0x4,%eax
40927c:	29 d0                	sub    %edx,%eax
40927e:	74 0a                	je     0x40928a
409280:	8b 7d fc             	mov    -0x4(%ebp),%edi
409283:	da b4 87 0f 92 40 00 	fidivl 0x40920f(%edi,%eax,4)
40928a:	df 75 e8             	fbstp  -0x18(%ebp)
40928d:	8d 7b 03             	lea    0x3(%ebx),%edi
409290:	9b                   	fwait
409291:	09 c9                	or     %ecx,%ecx
409293:	75 1b                	jne    0x4092b0
409295:	b9 09 00 00 00       	mov    $0x9,%ecx
40929a:	8a 44 29 e7          	mov    -0x19(%ecx,%ebp,1),%al
40929e:	88 c4                	mov    %al,%ah
4092a0:	c0 e8 04             	shr    $0x4,%al
4092a3:	75 1e                	jne    0x4092c3
4092a5:	88 e0                	mov    %ah,%al
4092a7:	24 0f                	and    $0xf,%al
4092a9:	75 1f                	jne    0x4092ca
4092ab:	49                   	dec    %ecx
4092ac:	75 ec                	jne    0x40929a
4092ae:	eb 39                	jmp    0x4092e9
4092b0:	88 c8                	mov    %cl,%al
4092b2:	04 30                	add    $0x30,%al
4092b4:	aa                   	stos   %al,%es:(%edi)
4092b5:	b9 09 00 00 00       	mov    $0x9,%ecx
4092ba:	8a 44 29 e7          	mov    -0x19(%ecx,%ebp,1),%al
4092be:	88 c4                	mov    %al,%ah
4092c0:	c0 e8 04             	shr    $0x4,%al
4092c3:	04 30                	add    $0x30,%al
4092c5:	aa                   	stos   %al,%es:(%edi)
4092c6:	88 e0                	mov    %ah,%al
4092c8:	24 0f                	and    $0xf,%al
4092ca:	04 30                	add    $0x30,%al
4092cc:	aa                   	stos   %al,%es:(%edi)
4092cd:	49                   	dec    %ecx
4092ce:	75 ea                	jne    0x4092ba
4092d0:	89 f8                	mov    %edi,%eax
4092d2:	8d 4c 13 03          	lea    0x3(%ebx,%edx,1),%ecx
4092d6:	29 c8                	sub    %ecx,%eax
4092d8:	c6 07 00             	movb   $0x0,(%edi)
4092db:	4f                   	dec    %edi
4092dc:	80 3f 30             	cmpb   $0x30,(%edi)
4092df:	74 f7                	je     0x4092d8
4092e1:	8b 56 04             	mov    0x4(%esi),%edx
4092e4:	c1 ea 1f             	shr    $0x1f,%edx
4092e7:	eb 07                	jmp    0x4092f0
4092e9:	31 c0                	xor    %eax,%eax
4092eb:	31 d2                	xor    %edx,%edx
4092ed:	88 43 03             	mov    %al,0x3(%ebx)
4092f0:	66 89 03             	mov    %ax,(%ebx)
4092f3:	88 53 02             	mov    %dl,0x2(%ebx)
4092f6:	c3                   	ret
4092f7:	5b                   	pop    %ebx
4092f8:	5e                   	pop    %esi
4092f9:	5f                   	pop    %edi
4092fa:	8b e5                	mov    %ebp,%esp
4092fc:	5d                   	pop    %ebp
4092fd:	c2 08 00             	ret    $0x8
409300:	55                   	push   %ebp
409301:	8b ec                	mov    %esp,%ebp
409303:	83 c4 f4             	add    $0xfffffff4,%esp
409306:	57                   	push   %edi
409307:	56                   	push   %esi
409308:	53                   	push   %ebx
409309:	89 c6                	mov    %eax,%esi
40930b:	89 d7                	mov    %edx,%edi
40930d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
409314:	a0 87 e6 46 00       	mov    0x46e687,%al
409319:	88 45 fb             	mov    %al,-0x5(%ebp)
40931c:	89 cb                	mov    %ecx,%ebx
40931e:	9b d9 7d f8          	fstcw  -0x8(%ebp)
409322:	9b db e2             	fclex
409325:	d9 2d 78 31 46 00    	fldcw  0x463178
40932b:	d9 ee                	fldz
40932d:	e8 85 00 00 00       	call   0x4093b7
409332:	8a 3e                	mov    (%esi),%bh
409334:	80 ff 2b             	cmp    $0x2b,%bh
409337:	74 05                	je     0x40933e
409339:	80 ff 2d             	cmp    $0x2d,%bh
40933c:	75 01                	jne    0x40933f
40933e:	46                   	inc    %esi
40933f:	89 f1                	mov    %esi,%ecx
409341:	e8 7c 00 00 00       	call   0x4093c2
409346:	31 d2                	xor    %edx,%edx
409348:	8a 06                	mov    (%esi),%al
40934a:	3a 45 fb             	cmp    -0x5(%ebp),%al
40934d:	75 08                	jne    0x409357
40934f:	46                   	inc    %esi
409350:	e8 6d 00 00 00       	call   0x4093c2
409355:	f7 da                	neg    %edx
409357:	39 f1                	cmp    %esi,%ecx
409359:	74 4f                	je     0x4093aa
40935b:	8a 06                	mov    (%esi),%al
40935d:	24 df                	and    $0xdf,%al
40935f:	3c 45                	cmp    $0x45,%al
409361:	75 0a                	jne    0x40936d
409363:	46                   	inc    %esi
409364:	52                   	push   %edx
409365:	e8 74 00 00 00       	call   0x4093de
40936a:	58                   	pop    %eax
40936b:	01 c2                	add    %eax,%edx
40936d:	e8 45 00 00 00       	call   0x4093b7
409372:	80 3e 00             	cmpb   $0x0,(%esi)
409375:	75 33                	jne    0x4093aa
409377:	89 d0                	mov    %edx,%eax
409379:	80 fb 01             	cmp    $0x1,%bl
40937c:	75 03                	jne    0x409381
40937e:	83 c0 04             	add    $0x4,%eax
409381:	53                   	push   %ebx
409382:	8b 5d fc             	mov    -0x4(%ebp),%ebx
409385:	e8 12 9a ff ff       	call   0x402d9c
40938a:	5b                   	pop    %ebx
40938b:	80 ff 2d             	cmp    $0x2d,%bh
40938e:	75 02                	jne    0x409392
409390:	d9 e0                	fchs
409392:	80 fb 00             	cmp    $0x0,%bl
409395:	74 04                	je     0x40939b
409397:	df 3f                	fistpll (%edi)
409399:	eb 02                	jmp    0x40939d
40939b:	db 3f                	fstpt  (%edi)
40939d:	9b df e0             	fstsw  %ax
4093a0:	66 a9 09 00          	test   $0x9,%ax
4093a4:	75 06                	jne    0x4093ac
4093a6:	b0 01                	mov    $0x1,%al
4093a8:	eb 04                	jmp    0x4093ae
4093aa:	dd d8                	fstp   %st(0)
4093ac:	31 c0                	xor    %eax,%eax
4093ae:	9b db e2             	fclex
4093b1:	d9 6d f8             	fldcw  -0x8(%ebp)
4093b4:	9b                   	fwait
4093b5:	eb 56                	jmp    0x40940d
4093b7:	ac                   	lods   %ds:(%esi),%al
4093b8:	08 c0                	or     %al,%al
4093ba:	74 04                	je     0x4093c0
4093bc:	3c 20                	cmp    $0x20,%al
4093be:	74 f7                	je     0x4093b7
4093c0:	4e                   	dec    %esi
4093c1:	c3                   	ret
4093c2:	31 c0                	xor    %eax,%eax
4093c4:	31 d2                	xor    %edx,%edx
4093c6:	ac                   	lods   %ds:(%esi),%al
4093c7:	2c 3a                	sub    $0x3a,%al
4093c9:	04 0a                	add    $0xa,%al
4093cb:	73 0f                	jae    0x4093dc
4093cd:	da 0d 74 31 46 00    	fimull 0x463174
4093d3:	89 45 f4             	mov    %eax,-0xc(%ebp)
4093d6:	da 45 f4             	fiaddl -0xc(%ebp)
4093d9:	42                   	inc    %edx
4093da:	eb ea                	jmp    0x4093c6
4093dc:	4e                   	dec    %esi
4093dd:	c3                   	ret
4093de:	31 c0                	xor    %eax,%eax
4093e0:	31 d2                	xor    %edx,%edx
4093e2:	8a 0e                	mov    (%esi),%cl
4093e4:	80 f9 2b             	cmp    $0x2b,%cl
4093e7:	74 05                	je     0x4093ee
4093e9:	80 f9 2d             	cmp    $0x2d,%cl
4093ec:	75 01                	jne    0x4093ef
4093ee:	46                   	inc    %esi
4093ef:	8a 06                	mov    (%esi),%al
4093f1:	2c 3a                	sub    $0x3a,%al
4093f3:	04 0a                	add    $0xa,%al
4093f5:	73 0e                	jae    0x409405
4093f7:	46                   	inc    %esi
4093f8:	6b d2 0a             	imul   $0xa,%edx,%edx
4093fb:	01 c2                	add    %eax,%edx
4093fd:	81 fa f4 01 00 00    	cmp    $0x1f4,%edx
409403:	72 ea                	jb     0x4093ef
409405:	80 f9 2d             	cmp    $0x2d,%cl
409408:	75 02                	jne    0x40940c
40940a:	f7 da                	neg    %edx
40940c:	c3                   	ret
40940d:	5b                   	pop    %ebx
40940e:	5e                   	pop    %esi
40940f:	5f                   	pop    %edi
409410:	8b e5                	mov    %ebp,%esp
409412:	5d                   	pop    %ebp
409413:	c3                   	ret
409414:	55                   	push   %ebp
409415:	8b ec                	mov    %esp,%ebp
409417:	83 c4 c0             	add    $0xffffffc0,%esp
40941a:	53                   	push   %ebx
40941b:	8b d8                	mov    %eax,%ebx
40941d:	6a 00                	push   $0x0
40941f:	6a 0f                	push   $0xf
409421:	6a 00                	push   $0x0
409423:	8d 55 08             	lea    0x8(%ebp),%edx
409426:	8d 45 c0             	lea    -0x40(%ebp),%eax
409429:	33 c9                	xor    %ecx,%ecx
40942b:	e8 d0 f9 ff ff       	call   0x408e00
409430:	8b c8                	mov    %eax,%ecx
409432:	8d 55 c0             	lea    -0x40(%ebp),%edx
409435:	8b c3                	mov    %ebx,%eax
409437:	e8 4c ac ff ff       	call   0x404088
40943c:	5b                   	pop    %ebx
40943d:	8b e5                	mov    %ebp,%esp
40943f:	5d                   	pop    %ebp
409440:	c2 0c 00             	ret    $0xc
409443:	90                   	nop
409444:	55                   	push   %ebp
409445:	8b ec                	mov    %esp,%ebp
409447:	83 c4 c0             	add    $0xffffffc0,%esp
40944a:	53                   	push   %ebx
40944b:	8b d8                	mov    %eax,%ebx
40944d:	6a 00                	push   $0x0
40944f:	6a 00                	push   $0x0
409451:	6a 00                	push   $0x0
409453:	8d 55 08             	lea    0x8(%ebp),%edx
409456:	8d 45 c0             	lea    -0x40(%ebp),%eax
409459:	b1 01                	mov    $0x1,%cl
40945b:	e8 a0 f9 ff ff       	call   0x408e00
409460:	8b c8                	mov    %eax,%ecx
409462:	8d 55 c0             	lea    -0x40(%ebp),%edx
409465:	8b c3                	mov    %ebx,%eax
409467:	e8 1c ac ff ff       	call   0x404088
40946c:	5b                   	pop    %ebx
40946d:	8b e5                	mov    %ebp,%esp
40946f:	5d                   	pop    %ebp
409470:	c2 08 00             	ret    $0x8
409473:	90                   	nop
409474:	53                   	push   %ebx
409475:	56                   	push   %esi
409476:	8b f2                	mov    %edx,%esi
409478:	8b d8                	mov    %eax,%ebx
40947a:	8b c3                	mov    %ebx,%eax
40947c:	e8 d7 af ff ff       	call   0x404458
409481:	8b d6                	mov    %esi,%edx
409483:	33 c9                	xor    %ecx,%ecx
409485:	e8 76 fe ff ff       	call   0x409300
40948a:	5e                   	pop    %esi
40948b:	5b                   	pop    %ebx
40948c:	c3                   	ret
40948d:	8d 40 00             	lea    0x0(%eax),%eax
409490:	53                   	push   %ebx
409491:	56                   	push   %esi
409492:	83 c4 f4             	add    $0xfffffff4,%esp
409495:	8b f2                	mov    %edx,%esi
409497:	8b d8                	mov    %eax,%ebx
409499:	8b c3                	mov    %ebx,%eax
40949b:	e8 b8 af ff ff       	call   0x404458
4094a0:	8b d4                	mov    %esp,%edx
4094a2:	33 c9                	xor    %ecx,%ecx
4094a4:	e8 57 fe ff ff       	call   0x409300
4094a9:	84 c0                	test   %al,%al