405307:	a1 b0 98 42 00       	mov    0x4298b0,%eax
40530c:	89 58 1c             	mov    %ebx,0x1c(%eax)
40530f:	a1 b0 98 42 00       	mov    0x4298b0,%eax
405314:	50                   	push   %eax
405315:	6a eb                	push   $0xffffffeb
405317:	53                   	push   %ebx
405318:	e8 ef fc ff ff       	call   0x40500c
40531d:	33 c0                	xor    %eax,%eax
40531f:	a3 b0 98 42 00       	mov    %eax,0x4298b0
405324:	eb 0b                	jmp    0x405331
405326:	6a eb                	push   $0xffffffeb
405328:	53                   	push   %ebx
405329:	e8 7e fc ff ff       	call   0x404fac
40532e:	89 45 fc             	mov    %eax,-0x4(%ebp)
405331:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
405335:	74 0d                	je     0x405344
405337:	8d 55 e0             	lea    -0x20(%ebp),%edx
40533a:	8b 45 fc             	mov    -0x4(%ebp),%eax
40533d:	8b 08                	mov    (%eax),%ecx
40533f:	ff 51 14             	call   *0x14(%ecx)
405342:	eb 24                	jmp    0x405368
405344:	83 3d 98 98 42 00 00 	cmpl   $0x0,0x429898
40534b:	74 0f                	je     0x40535c
40534d:	8d 55 e0             	lea    -0x20(%ebp),%edx
405350:	a1 98 98 42 00       	mov    0x429898,%eax
405355:	8b 08                	mov    (%eax),%ecx
405357:	ff 51 14             	call   *0x14(%ecx)
40535a:	eb 0c                	jmp    0x405368
40535c:	8b 45 14             	mov    0x14(%ebp),%eax
40535f:	50                   	push   %eax
405360:	57                   	push   %edi
405361:	56                   	push   %esi
405362:	53                   	push   %ebx
405363:	e8 0c fc ff ff       	call   0x404f74
405368:	5f                   	pop    %edi
405369:	5e                   	pop    %esi
40536a:	5b                   	pop    %ebx
40536b:	8b e5                	mov    %ebp,%esp
40536d:	5d                   	pop    %ebp
40536e:	c2 10 00             	ret    $0x10
405371:	8d 40 00             	lea    0x0(%eax),%eax
405374:	55                   	push   %ebp
405375:	8b ec                	mov    %esp,%ebp
405377:	51                   	push   %ecx
405378:	53                   	push   %ebx
405379:	56                   	push   %esi
40537a:	57                   	push   %edi
40537b:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
40537f:	33 d2                	xor    %edx,%edx
405381:	55                   	push   %ebp
405382:	68 af 53 40 00       	push   $0x4053af
405387:	64 ff 32             	push   %fs:(%edx)
40538a:	64 89 22             	mov    %esp,%fs:(%edx)
40538d:	85 c0                	test   %eax,%eax
40538f:	75 0c                	jne    0x40539d
405391:	64 8f 05 00 00 00 00 	pop    %fs:0x0
405398:	83 c4 08             	add    $0x8,%esp
40539b:	eb 1c                	jmp    0x4053b9
40539d:	8b 10                	mov    (%eax),%edx
40539f:	ff 52 10             	call   *0x10(%edx)
4053a2:	88 45 ff             	mov    %al,-0x1(%ebp)
4053a5:	33 c0                	xor    %eax,%eax
4053a7:	5a                   	pop    %edx
4053a8:	59                   	pop    %ecx
4053a9:	59                   	pop    %ecx
4053aa:	64 89 10             	mov    %edx,%fs:(%eax)
4053ad:	eb 0a                	jmp    0x4053b9
4053af:	e9 28 dc ff ff       	jmp    0x402fdc
4053b4:	e8 db dd ff ff       	call   0x403194
4053b9:	8a 45 ff             	mov    -0x1(%ebp),%al
4053bc:	5f                   	pop    %edi
4053bd:	5e                   	pop    %esi
4053be:	5b                   	pop    %ebx
4053bf:	59                   	pop    %ecx
4053c0:	5d                   	pop    %ebp
4053c1:	c3                   	ret
4053c2:	8b c0                	mov    %eax,%eax
4053c4:	8b 15 58 4c 40 00    	mov    0x404c58,%edx
4053ca:	33 c0                	xor    %eax,%eax
4053cc:	e8 2f 4e 00 00       	call   0x40a200
4053d1:	c3                   	ret
4053d2:	8b c0                	mov    %eax,%eax
4053d4:	e8 8b 50 00 00       	call   0x40a464
4053d9:	8b d0                	mov    %eax,%edx
4053db:	c1 ea 13             	shr    $0x13,%edx
4053de:	66 83 e2 1f          	and    $0x1f,%dx
4053e2:	8b c8                	mov    %eax,%ecx
4053e4:	c1 e9 06             	shr    $0x6,%ecx
4053e7:	66 81 e1 e0 03       	and    $0x3e0,%cx
4053ec:	66 0b d1             	or     %cx,%dx
4053ef:	c1 e0 07             	shl    $0x7,%eax
4053f2:	66 25 00 7c          	and    $0x7c00,%ax
4053f6:	66 0b d0             	or     %ax,%dx
4053f9:	8b c2                	mov    %edx,%eax
4053fb:	c3                   	ret
4053fc:	53                   	push   %ebx
4053fd:	56                   	push   %esi
4053fe:	8b f2                	mov    %edx,%esi
405400:	8b d8                	mov    %eax,%ebx
405402:	8b c3                	mov    %ebx,%eax
405404:	8b ce                	mov    %esi,%ecx
405406:	33 d2                	xor    %edx,%edx
405408:	e8 3f 51 00 00       	call   0x40a54c
40540d:	8b c6                	mov    %esi,%eax
40540f:	e8 50 50 00 00       	call   0x40a464
405414:	89 43 21             	mov    %eax,0x21(%ebx)
405417:	5e                   	pop    %esi
405418:	5b                   	pop    %ebx
405419:	c3                   	ret
40541a:	8b c0                	mov    %eax,%eax
40541c:	53                   	push   %ebx
40541d:	56                   	push   %esi
40541e:	8b f2                	mov    %edx,%esi
405420:	8b d8                	mov    %eax,%ebx
405422:	8b 43 31             	mov    0x31(%ebx),%eax
405425:	3b f0                	cmp    %eax,%esi
405427:	74 1e                	je     0x405447
405429:	85 c0                	test   %eax,%eax
40542b:	74 10                	je     0x40543d
40542d:	8b c3                	mov    %ebx,%eax
40542f:	e8 bc 50 00 00       	call   0x40a4f0
405434:	8b 43 31             	mov    0x31(%ebx),%eax
405437:	50                   	push   %eax
405438:	e8 c3 f4 ff ff       	call   0x404900
40543d:	89 73 31             	mov    %esi,0x31(%ebx)
405440:	8b c3                	mov    %ebx,%eax
405442:	e8 a9 50 00 00       	call   0x40a4f0
405447:	5e                   	pop    %esi
405448:	5b                   	pop    %ebx
405449:	c3                   	ret
40544a:	8b c0                	mov    %eax,%eax
40544c:	3a 50 35             	cmp    0x35(%eax),%dl
40544f:	74 08                	je     0x405459
405451:	88 50 35             	mov    %dl,0x35(%eax)
405454:	e8 97 50 00 00       	call   0x40a4f0
405459:	c3                   	ret
40545a:	8b c0                	mov    %eax,%eax
40545c:	3a 50 48             	cmp    0x48(%eax),%dl
40545f:	74 08                	je     0x405469
405461:	88 50 48             	mov    %dl,0x48(%eax)
405464:	e8 87 50 00 00       	call   0x40a4f0
405469:	c3                   	ret
40546a:	8b c0                	mov    %eax,%eax
40546c:	92                   	xchg   %eax,%edx
40546d:	8b 42 19             	mov    0x19(%edx),%eax
405470:	85 c0                	test   %eax,%eax
405472:	75 0e                	jne    0x405482
405474:	52                   	push   %edx
405475:	8d 4a 31             	lea    0x31(%edx),%ecx
405478:	51                   	push   %ecx
405479:	e8 ce fa ff ff       	call   0x404f4c
40547e:	5a                   	pop    %edx
40547f:	89 42 19             	mov    %eax,0x19(%edx)
405482:	c3                   	ret
405483:	90                   	nop
405484:	53                   	push   %ebx
405485:	8b d8                	mov    %eax,%ebx
405487:	8b c3                	mov    %ebx,%eax
405489:	33 d2                	xor    %edx,%edx
40548b:	e8 98 53 00 00       	call   0x40a828
405490:	8b 43 2d             	mov    0x2d(%ebx),%eax
405493:	e8 78 4d 00 00       	call   0x40a210
405498:	8b 43 29             	mov    0x29(%ebx),%eax
40549b:	e8 70 4d 00 00       	call   0x40a210
4054a0:	8b 43 31             	mov    0x31(%ebx),%eax
4054a3:	e8 68 4d 00 00       	call   0x40a210
4054a8:	8b c3                	mov    %ebx,%eax
4054aa:	e8 71 4d 00 00       	call   0x40a220
4054af:	8b c3                	mov    %ebx,%eax
4054b1:	5b                   	pop    %ebx
4054b2:	c3                   	ret
4054b3:	90                   	nop
4054b4:	e8 a7 52 00 00       	call   0x40a760
4054b9:	c3                   	ret
4054ba:	8b c0                	mov    %eax,%eax
4054bc:	89 01                	mov    %eax,(%ecx)
4054be:	89 51 04             	mov    %edx,0x4(%ecx)
4054c1:	c3                   	ret
4054c2:	8b c0                	mov    %eax,%eax
4054c4:	01 10                	add    %edx,(%eax)
4054c6:	83 50 04 00          	adcl   $0x0,0x4(%eax)
4054ca:	c3                   	ret
4054cb:	90                   	nop
4054cc:	56                   	push   %esi
4054cd:	96                   	xchg   %eax,%esi
4054ce:	ad                   	lods   %ds:(%esi),%eax
4054cf:	2b 02                	sub    (%edx),%eax
4054d1:	89 01                	mov    %eax,(%ecx)
4054d3:	ad                   	lods   %ds:(%esi),%eax
4054d4:	1b 42 04             	sbb    0x4(%edx),%eax
4054d7:	89 41 04             	mov    %eax,0x4(%ecx)
4054da:	5e                   	pop    %esi
4054db:	c3                   	ret
4054dc:	8b 08                	mov    (%eax),%ecx
4054de:	f7 d9                	neg    %ecx
4054e0:	89 0a                	mov    %ecx,(%edx)
4054e2:	b9 00 00 00 00       	mov    $0x0,%ecx
4054e7:	1b 48 04             	sbb    0x4(%eax),%ecx
4054ea:	89 4a 04             	mov    %ecx,0x4(%edx)
4054ed:	c3                   	ret
4054ee:	8b c0                	mov    %eax,%eax
4054f0:	56                   	push   %esi
4054f1:	57                   	push   %edi
4054f2:	96                   	xchg   %eax,%esi
4054f3:	89 cf                	mov    %ecx,%edi
4054f5:	89 d1                	mov    %edx,%ecx
4054f7:	ad                   	lods   %ds:(%esi),%eax
4054f8:	f7 e1                	mul    %ecx
4054fa:	ab                   	stos   %eax,%es:(%edi)
4054fb:	87 d1                	xchg   %edx,%ecx
4054fd:	ad                   	lods   %ds:(%esi),%eax
4054fe:	f7 e2                	mul    %edx
405500:	01 c8                	add    %ecx,%eax
405502:	ab                   	stos   %eax,%es:(%edi)
405503:	5f                   	pop    %edi
405504:	5e                   	pop    %esi
405505:	c3                   	ret
405506:	8b c0                	mov    %eax,%eax
405508:	31 d2                	xor    %edx,%edx
40550a:	39 50 04             	cmp    %edx,0x4(%eax)
40550d:	92                   	xchg   %eax,%edx
40550e:	7f 06                	jg     0x405516
405510:	7c 06                	jl     0x405518
405512:	39 02                	cmp    %eax,(%edx)
405514:	74 03                	je     0x405519
405516:	40                   	inc    %eax
405517:	c3                   	ret
405518:	48                   	dec    %eax
405519:	c3                   	ret
40551a:	8b c0                	mov    %eax,%eax
40551c:	53                   	push   %ebx
40551d:	56                   	push   %esi
40551e:	83 c4 f8             	add    $0xfffffff8,%esp
405521:	8b f2                	mov    %edx,%esi
405523:	8b d8                	mov    %eax,%ebx
405525:	8b cc                	mov    %esp,%ecx
405527:	8b d6                	mov    %esi,%edx
405529:	8b c3                	mov    %ebx,%eax
40552b:	e8 9c ff ff ff       	call   0x4054cc
405530:	8b c4                	mov    %esp,%eax
405532:	e8 d1 ff ff ff       	call   0x405508
405537:	59                   	pop    %ecx
405538:	5a                   	pop    %edx
405539:	5e                   	pop    %esi
40553a:	5b                   	pop    %ebx
40553b:	c3                   	ret
40553c:	53                   	push   %ebx
40553d:	56                   	push   %esi
40553e:	57                   	push   %edi
40553f:	55                   	push   %ebp
405540:	83 c4 f4             	add    $0xfffffff4,%esp
405543:	8b fa                	mov    %edx,%edi
405545:	8b f0                	mov    %eax,%esi
405547:	33 c0                	xor    %eax,%eax
405549:	89 07                	mov    %eax,(%edi)
40554b:	33 c0                	xor    %eax,%eax
40554d:	89 47 04             	mov    %eax,0x4(%edi)
405550:	bd 01 00 00 00       	mov    $0x1,%ebp
405555:	85 f6                	test   %esi,%esi
405557:	74 7d                	je     0x4055d6
405559:	c6 04 24 00          	movb   $0x0,(%esp)
40555d:	8a 06                	mov    (%esi),%al
40555f:	3c 2d                	cmp    $0x2d,%al
405561:	75 07                	jne    0x40556a
405563:	c6 04 24 01          	movb   $0x1,(%esp)
405567:	45                   	inc    %ebp
405568:	eb 43                	jmp    0x4055ad
40556a:	3c 2b                	cmp    $0x2b,%al
40556c:	75 3f                	jne    0x4055ad
40556e:	45                   	inc    %ebp
40556f:	eb 3c                	jmp    0x4055ad
405571:	8a 5c 2e ff          	mov    -0x1(%esi,%ebp,1),%bl
405575:	80 fb 30             	cmp    $0x30,%bl
405578:	72 3e                	jb     0x4055b8
40557a:	80 fb 39             	cmp    $0x39,%bl
40557d:	77 39                	ja     0x4055b8
40557f:	8d 4c 24 04          	lea    0x4(%esp),%ecx
405583:	8b c7                	mov    %edi,%eax
405585:	ba 0a 00 00 00       	mov    $0xa,%edx
40558a:	e8 e1 53 00 00       	call   0x40a970
40558f:	8b 44 24 04          	mov    0x4(%esp),%eax
405593:	89 07                	mov    %eax,(%edi)
405595:	8b 44 24 08          	mov    0x8(%esp),%eax
405599:	89 47 04             	mov    %eax,0x4(%edi)
40559c:	33 d2                	xor    %edx,%edx
40559e:	8a 54 2e ff          	mov    -0x1(%esi,%ebp,1),%dl
4055a2:	83 ea 30             	sub    $0x30,%edx
4055a5:	8b c7                	mov    %edi,%eax
4055a7:	e8 18 ff ff ff       	call   0x4054c4
4055ac:	45                   	inc    %ebp
4055ad:	8b c6                	mov    %esi,%eax
4055af:	e8 40 e3 ff ff       	call   0x4038f4
4055b4:	3b e8                	cmp    %eax,%ebp
4055b6:	7e b9                	jle    0x405571
4055b8:	80 3c 24 00          	cmpb   $0x0,(%esp)
4055bc:	74 18                	je     0x4055d6
4055be:	8d 54 24 04          	lea    0x4(%esp),%edx
4055c2:	8b c7                	mov    %edi,%eax
4055c4:	e8 13 ff ff ff       	call   0x4054dc
4055c9:	8b 44 24 04          	mov    0x4(%esp),%eax
4055cd:	89 07                	mov    %eax,(%edi)
4055cf:	8b 44 24 08          	mov    0x8(%esp),%eax
4055d3:	89 47 04             	mov    %eax,0x4(%edi)
4055d6:	83 c4 0c             	add    $0xc,%esp
4055d9:	5d                   	pop    %ebp
4055da:	5f                   	pop    %edi
4055db:	5e                   	pop    %esi
4055dc:	5b                   	pop    %ebx
4055dd:	c3                   	ret
4055de:	8b c0                	mov    %eax,%eax
4055e0:	55                   	push   %ebp
4055e1:	8b ec                	mov    %esp,%ebp
4055e3:	d9 e8                	fld1
4055e5:	85 c0                	test   %eax,%eax
4055e7:	74 17                	je     0x405600
4055e9:	db 6d 08             	fldt   0x8(%ebp)
4055ec:	7f 08                	jg     0x4055f6
4055ee:	d8 f9                	fdivr  %st(1),%st
4055f0:	f7 d8                	neg    %eax
4055f2:	eb 02                	jmp    0x4055f6
4055f4:	d8 c8                	fmul   %st(0),%st
4055f6:	d1 e8                	shr    $1,%eax
4055f8:	73 fa                	jae    0x4055f4
4055fa:	dc c9                	fmul   %st,%st(1)
4055fc:	75 f6                	jne    0x4055f4
4055fe:	dd d8                	fstp   %st(0)
405600:	9b                   	fwait
405601:	5d                   	pop    %ebp
405602:	c2 0c 00             	ret    $0xc
405605:	8d 40 00             	lea    0x0(%eax),%eax
405608:	55                   	push   %ebp
405609:	8b ec                	mov    %esp,%ebp
40560b:	83 c4 dc             	add    $0xffffffdc,%esp
40560e:	53                   	push   %ebx
40560f:	56                   	push   %esi
405610:	57                   	push   %edi
405611:	33 d2                	xor    %edx,%edx
405613:	89 55 dc             	mov    %edx,-0x24(%ebp)
405616:	8b f0                	mov    %eax,%esi
405618:	33 c0                	xor    %eax,%eax
40561a:	55                   	push   %ebp
40561b:	68 55 57 40 00       	push   $0x405755
405620:	64 ff 30             	push   %fs:(%eax)
405623:	64 89 20             	mov    %esp,%fs:(%eax)
405626:	33 c0                	xor    %eax,%eax
405628:	89 45 f8             	mov    %eax,-0x8(%ebp)
40562b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40562e:	85 f6                	test   %esi,%esi
405630:	0f 84 09 01 00 00    	je     0x40573f
405636:	c6 45 f7 00          	movb   $0x0,-0x9(%ebp)