6992f6:	33 c0                	xor    %eax,%eax
6992f8:	5e                   	pop    %esi
6992f9:	c2 04 00             	ret    $0x4
6992fc:	83 f9 01             	cmp    $0x1,%ecx
6992ff:	75 24                	jne    0x699325
699301:	ff 70 08             	push   0x8(%eax)
699304:	ff 15 44 35 d8 00    	call   *0xd83544
69930a:	85 c0                	test   %eax,%eax
69930c:	75 e8                	jne    0x6992f6
69930e:	8b 35 d4 36 d8 00    	mov    0xd836d4,%esi
699314:	ff d6                	call   *%esi
699316:	85 c0                	test   %eax,%eax
699318:	74 dc                	je     0x6992f6
69931a:	ff d6                	call   *%esi
69931c:	05 80 fc 0a 00       	add    $0xafc80,%eax
699321:	5e                   	pop    %esi
699322:	c2 04 00             	ret    $0x4
699325:	83 f9 02             	cmp    $0x2,%ecx
699328:	75 cc                	jne    0x6992f6
69932a:	ff 70 08             	push   0x8(%eax)
69932d:	ff 15 40 35 d8 00    	call   *0xd83540
699333:	eb d5                	jmp    0x69930a
699335:	cc                   	int3
699336:	cc                   	int3
699337:	cc                   	int3
699338:	cc                   	int3
699339:	cc                   	int3
69933a:	cc                   	int3
69933b:	cc                   	int3
69933c:	cc                   	int3
69933d:	cc                   	int3
69933e:	cc                   	int3
69933f:	cc                   	int3
699340:	cc                   	int3
699341:	cc                   	int3
699342:	cc                   	int3
699343:	cc                   	int3
699344:	cc                   	int3
699345:	cc                   	int3
699346:	cc                   	int3
699347:	cc                   	int3
699348:	cc                   	int3
699349:	cc                   	int3
69934a:	cc                   	int3
69934b:	cc                   	int3
69934c:	cc                   	int3
69934d:	cc                   	int3
69934e:	cc                   	int3
69934f:	cc                   	int3
699350:	8b 44 24 04          	mov    0x4(%esp),%eax
699354:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
699358:	75 14                	jne    0x69936e
69935a:	c7 40 04 ff ff ff ff 	movl   $0xffffffff,0x4(%eax)
699361:	83 c0 0c             	add    $0xc,%eax
699364:	50                   	push   %eax
699365:	ff 15 cc 36 d8 00    	call   *0xd836cc
69936b:	33 c0                	xor    %eax,%eax
69936d:	c3                   	ret
69936e:	ff 70 08             	push   0x8(%eax)
699371:	ff 15 84 36 d8 00    	call   *0xd83684
699377:	85 c0                	test   %eax,%eax
699379:	75 f0                	jne    0x69936b
69937b:	ff 15 d4 36 d8 00    	call   *0xd836d4
699381:	85 c0                	test   %eax,%eax
699383:	74 e6                	je     0x69936b
699385:	ff 15 d4 36 d8 00    	call   *0xd836d4
69938b:	05 80 fc 0a 00       	add    $0xafc80,%eax
699390:	c3                   	ret
699391:	cc                   	int3
699392:	cc                   	int3
699393:	cc                   	int3
699394:	cc                   	int3
699395:	cc                   	int3
699396:	cc                   	int3
699397:	cc                   	int3
699398:	cc                   	int3
699399:	cc                   	int3
69939a:	cc                   	int3
69939b:	cc                   	int3
69939c:	cc                   	int3
69939d:	cc                   	int3
69939e:	cc                   	int3
69939f:	cc                   	int3
6993a0:	cc                   	int3
6993a1:	cc                   	int3
6993a2:	cc                   	int3
6993a3:	cc                   	int3
6993a4:	cc                   	int3
6993a5:	cc                   	int3
6993a6:	cc                   	int3
6993a7:	cc                   	int3
6993a8:	cc                   	int3
6993a9:	cc                   	int3
6993aa:	cc                   	int3
6993ab:	cc                   	int3
6993ac:	cc                   	int3
6993ad:	cc                   	int3
6993ae:	cc                   	int3
6993af:	cc                   	int3
6993b0:	8b 44 24 04          	mov    0x4(%esp),%eax
6993b4:	66 83 38 00          	cmpw   $0x0,(%eax)
6993b8:	75 2a                	jne    0x6993e4
6993ba:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
6993bf:	75 23                	jne    0x6993e4
6993c1:	66 83 78 04 00       	cmpw   $0x0,0x4(%eax)
6993c6:	75 1c                	jne    0x6993e4
6993c8:	66 83 78 06 00       	cmpw   $0x0,0x6(%eax)
6993cd:	75 15                	jne    0x6993e4
6993cf:	66 83 78 08 00       	cmpw   $0x0,0x8(%eax)
6993d4:	75 0e                	jne    0x6993e4
6993d6:	b9 ff ff 00 00       	mov    $0xffff,%ecx
6993db:	66 39 48 0a          	cmp    %cx,0xa(%eax)
6993df:	75 03                	jne    0x6993e4
6993e1:	b0 01                	mov    $0x1,%al
6993e3:	c3                   	ret
6993e4:	32 c0                	xor    %al,%al
6993e6:	c3                   	ret
6993e7:	cc                   	int3
6993e8:	cc                   	int3
6993e9:	cc                   	int3
6993ea:	cc                   	int3
6993eb:	cc                   	int3
6993ec:	cc                   	int3
6993ed:	cc                   	int3
6993ee:	cc                   	int3
6993ef:	cc                   	int3
6993f0:	cc                   	int3
6993f1:	cc                   	int3
6993f2:	cc                   	int3
6993f3:	cc                   	int3
6993f4:	cc                   	int3
6993f5:	cc                   	int3
6993f6:	cc                   	int3
6993f7:	cc                   	int3
6993f8:	cc                   	int3
6993f9:	cc                   	int3
6993fa:	cc                   	int3
6993fb:	cc                   	int3
6993fc:	cc                   	int3
6993fd:	cc                   	int3
6993fe:	cc                   	int3
6993ff:	cc                   	int3
699400:	83 ec 18             	sub    $0x18,%esp
699403:	83 7c 24 24 4f       	cmpl   $0x4f,0x24(%esp)
699408:	b9 4e 00 00 00       	mov    $0x4e,%ecx
69940d:	8b 44 24 2c          	mov    0x2c(%esp),%eax
699411:	0f 57 c9             	xorps  %xmm1,%xmm1
699414:	0f 4c 4c 24 24       	cmovl  0x24(%esp),%ecx
699419:	f2 0f 10 44 24 1c    	movsd  0x1c(%esp),%xmm0
69941f:	66 0f 2f c8          	comisd %xmm0,%xmm1
699423:	56                   	push   %esi
699424:	8b 74 24 38          	mov    0x38(%esp),%esi
699428:	57                   	push   %edi
699429:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
69942d:	8b fe                	mov    %esi,%edi
69942f:	c7 44 24 2c 00 00 00 	movl   $0x0,0x2c(%esp)
699436:	00
699437:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
69943d:	76 0d                	jbe    0x69944c
69943f:	0f 57 05 b0 46 bf 00 	xorps  0xbf46b0,%xmm0
699446:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
69944c:	8d 44 24 08          	lea    0x8(%esp),%eax
699450:	50                   	push   %eax
699451:	83 ec 08             	sub    $0x8,%esp
699454:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
699459:	e8 4d c3 d9 ff       	call   0x4357ab
69945e:	f2 0f 10 44 24 14    	movsd  0x14(%esp),%xmm0
699464:	83 c4 0c             	add    $0xc,%esp
699467:	f2 0f 10 15 90 46 bf 	movsd  0xbf4690,%xmm2
69946e:	00
69946f:	0f 57 db             	xorps  %xmm3,%xmm3
699472:	66 0f 2e c3          	ucomisd %xmm3,%xmm0
699476:	dd 5c 24 24          	fstpl  0x24(%esp)
69947a:	9f                   	lahf
69947b:	f6 c4 44             	test   $0x44,%ah
69947e:	0f 8b af 00 00 00    	jnp    0x699533
699484:	8d 46 50             	lea    0x50(%esi),%eax
699487:	8b d0                	mov    %eax,%edx
699489:	89 44 24 18          	mov    %eax,0x18(%esp)
69948d:	89 54 24 34          	mov    %edx,0x34(%esp)
699491:	3b d6                	cmp    %esi,%edx
699493:	76 73                	jbe    0x699508
699495:	33 ff                	xor    %edi,%edi
699497:	66 0f 2e c3          	ucomisd %xmm3,%xmm0
69949b:	9f                   	lahf
69949c:	f6 c4 44             	test   $0x44,%ah
69949f:	7b 62                	jnp    0x699503
6994a1:	f2 0f 5e c2          	divsd  %xmm2,%xmm0
6994a5:	8d 44 24 08          	lea    0x8(%esp),%eax
6994a9:	50                   	push   %eax
6994aa:	83 ec 08             	sub    $0x8,%esp
6994ad:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
6994b2:	e8 f4 c2 d9 ff       	call   0x4357ab
6994b7:	8b 54 24 40          	mov    0x40(%esp),%edx
6994bb:	b1 30                	mov    $0x30,%cl
6994bd:	f2 0f 10 15 90 46 bf 	movsd  0xbf4690,%xmm2
6994c4:	00
6994c5:	4a                   	dec    %edx
6994c6:	dd 5c 24 1c          	fstpl  0x1c(%esp)
6994ca:	f2 0f 10 44 24 1c    	movsd  0x1c(%esp),%xmm0
6994d0:	47                   	inc    %edi
6994d1:	f2 0f 58 05 80 46 bf 	addsd  0xbf4680,%xmm0
6994d8:	00
6994d9:	83 c4 0c             	add    $0xc,%esp
6994dc:	89 54 24 34          	mov    %edx,0x34(%esp)
6994e0:	89 7c 24 2c          	mov    %edi,0x2c(%esp)
6994e4:	f2 0f 59 05 a0 46 bf 	mulsd  0xbf46a0,%xmm0
6994eb:	00
6994ec:	f2 0f 2c c0          	cvttsd2si %xmm0,%eax
6994f0:	2a c8                	sub    %al,%cl
6994f2:	88 0a                	mov    %cl,(%edx)
6994f4:	3b d6                	cmp    %esi,%edx
6994f6:	76 0b                	jbe    0x699503
6994f8:	f2 0f 10 44 24 08    	movsd  0x8(%esp),%xmm0
6994fe:	0f 57 db             	xorps  %xmm3,%xmm3
699501:	eb 94                	jmp    0x699497
699503:	8b fe                	mov    %esi,%edi
699505:	8d 46 50             	lea    0x50(%esi),%eax
699508:	33 c9                	xor    %ecx,%ecx
69950a:	2b c2                	sub    %edx,%eax
69950c:	3b 54 24 18          	cmp    0x18(%esp),%edx
699510:	0f 47 c1             	cmova  %ecx,%eax
699513:	89 44 24 34          	mov    %eax,0x34(%esp)
699517:	85 c0                	test   %eax,%eax
699519:	74 10                	je     0x69952b
69951b:	2b d6                	sub    %esi,%edx
69951d:	8b f0                	mov    %eax,%esi
69951f:	90                   	nop
699520:	8a 04 3a             	mov    (%edx,%edi,1),%al
699523:	41                   	inc    %ecx
699524:	88 07                	mov    %al,(%edi)
699526:	47                   	inc    %edi
699527:	3b ce                	cmp    %esi,%ecx
699529:	72 f5                	jb     0x699520
69952b:	f2 0f 10 4c 24 24    	movsd  0x24(%esp),%xmm1
699531:	eb 45                	jmp    0x699578
699533:	f2 0f 10 4c 24 24    	movsd  0x24(%esp),%xmm1
699539:	66 0f 2f cb          	comisd %xmm3,%xmm1
69953d:	76 39                	jbe    0x699578
69953f:	f2 0f 10 1d 00 b8 bd 	movsd  0xbdb800,%xmm3
699546:	00
699547:	0f 28 c1             	movaps %xmm1,%xmm0
69954a:	f2 0f 59 c2          	mulsd  %xmm2,%xmm0
69954e:	66 0f 2f d8          	comisd %xmm0,%xmm3
699552:	f2 0f 11 44 24 10    	movsd  %xmm0,0x10(%esp)
699558:	76 1e                	jbe    0x699578
69955a:	33 c0                	xor    %eax,%eax
69955c:	0f 1f 40 00          	nopl   0x0(%eax)
699560:	0f 28 c8             	movaps %xmm0,%xmm1
699563:	48                   	dec    %eax
699564:	f2 0f 59 c2          	mulsd  %xmm2,%xmm0
699568:	66 0f 2f d8          	comisd %xmm0,%xmm3
69956c:	77 f2                	ja     0x699560
69956e:	f2 0f 11 44 24 10    	movsd  %xmm0,0x10(%esp)
699574:	89 44 24 2c          	mov    %eax,0x2c(%esp)
699578:	8b 54 24 3c          	mov    0x3c(%esp),%edx
69957c:	8b 44 24 1c          	mov    0x1c(%esp),%eax
699580:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
699584:	03 c2                	add    %edx,%eax
699586:	83 7c 24 38 00       	cmpl   $0x0,0x38(%esp)
69958b:	8d 34 08             	lea    (%eax,%ecx,1),%esi
69958e:	0f 45 f0             	cmovne %eax,%esi
699591:	3b f2                	cmp    %edx,%esi
699593:	73 17                	jae    0x6995ac
699595:	8b 4c 24 30          	mov    0x30(%esp),%ecx
699599:	8b 44 24 1c          	mov    0x1c(%esp),%eax
69959d:	f7 d8                	neg    %eax
69959f:	5f                   	pop    %edi
6995a0:	89 01                	mov    %eax,(%ecx)
6995a2:	8b c2                	mov    %edx,%eax
6995a4:	c6 02 00             	movb   $0x0,(%edx)
6995a7:	5e                   	pop    %esi
6995a8:	83 c4 18             	add    $0x18,%esp
6995ab:	c3                   	ret
6995ac:	8b 44 24 30          	mov    0x30(%esp),%eax
6995b0:	89 08                	mov    %ecx,(%eax)
6995b2:	3b fe                	cmp    %esi,%edi
6995b4:	77 52                	ja     0x699608
6995b6:	8d 42 50             	lea    0x50(%edx),%eax
6995b9:	89 44 24 2c          	mov    %eax,0x2c(%esp)
6995bd:	0f 1f 00             	nopl   (%eax)
6995c0:	3b f8                	cmp    %eax,%edi
6995c2:	73 40                	jae    0x699604
6995c4:	8d 44 24 10          	lea    0x10(%esp),%eax
6995c8:	f2 0f 59 ca          	mulsd  %xmm2,%xmm1
6995cc:	50                   	push   %eax
6995cd:	83 ec 08             	sub    $0x8,%esp
6995d0:	f2 0f 11 0c 24       	movsd  %xmm1,(%esp)
6995d5:	e8 d1 c1 d9 ff       	call   0x4357ab
6995da:	f2 0f 2c 44 24 1c    	cvttsd2si 0x1c(%esp),%eax
6995e0:	83 c4 0c             	add    $0xc,%esp
6995e3:	dd 5c 24 24          	fstpl  0x24(%esp)
6995e7:	04 30                	add    $0x30,%al
6995e9:	88 07                	mov    %al,(%edi)
6995eb:	47                   	inc    %edi
6995ec:	3b fe                	cmp    %esi,%edi
6995ee:	77 14                	ja     0x699604
6995f0:	f2 0f 10 4c 24 24    	movsd  0x24(%esp),%xmm1
6995f6:	f2 0f 10 15 90 46 bf 	movsd  0xbf4690,%xmm2
6995fd:	00
6995fe:	8b 44 24 2c          	mov    0x2c(%esp),%eax
699602:	eb bc                	jmp    0x6995c0
699604:	8b 54 24 3c          	mov    0x3c(%esp),%edx
699608:	8d 42 50             	lea    0x50(%edx),%eax
69960b:	3b f0                	cmp    %eax,%esi
69960d:	72 0c                	jb     0x69961b
69960f:	5f                   	pop    %edi
699610:	c6 42 4f 00          	movb   $0x0,0x4f(%edx)
699614:	8b c2                	mov    %edx,%eax
699616:	5e                   	pop    %esi
699617:	83 c4 18             	add    $0x18,%esp
69961a:	c3                   	ret
69961b:	80 06 05             	addb   $0x5,(%esi)
69961e:	8b ce                	mov    %esi,%ecx
699620:	80 3e 39             	cmpb   $0x39,(%esi)
699623:	7e 29                	jle    0x69964e
699625:	c6 01 30             	movb   $0x30,(%ecx)
699628:	3b ca                	cmp    %edx,%ecx
69962a:	76 05                	jbe    0x699631
69962c:	49                   	dec    %ecx
69962d:	fe 01                	incb   (%ecx)
69962f:	eb 18                	jmp    0x699649
699631:	8b 44 24 30          	mov    0x30(%esp),%eax
699635:	c6 01 31             	movb   $0x31,(%ecx)
699638:	ff 00                	incl   (%eax)
69963a:	83 7c 24 38 00       	cmpl   $0x0,0x38(%esp)
69963f:	75 08                	jne    0x699649
699641:	3b f2                	cmp    %edx,%esi
699643:	76 03                	jbe    0x699648
699645:	c6 06 30             	movb   $0x30,(%esi)
699648:	46                   	inc    %esi
699649:	80 39 39             	cmpb   $0x39,(%ecx)
69964c:	7f d7                	jg     0x699625
69964e:	5f                   	pop    %edi
69964f:	c6 06 00             	movb   $0x0,(%esi)
699652:	8b c2                	mov    %edx,%eax
699654:	5e                   	pop    %esi
699655:	83 c4 18             	add    $0x18,%esp
699658:	c3                   	ret
699659:	cc                   	int3
69965a:	cc                   	int3
69965b:	cc                   	int3
69965c:	cc                   	int3
69965d:	cc                   	int3
69965e:	cc                   	int3
69965f:	cc                   	int3
699660:	cc                   	int3
699661:	cc                   	int3
699662:	cc                   	int3
699663:	cc                   	int3