40641e:	c1 e1 06             	shl    $0x6,%ecx
406421:	66 0b d1             	or     %cx,%dx
406424:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406427:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
40642b:	eb 07                	jmp    0x406434
40642d:	8b 55 fc             	mov    -0x4(%ebp),%edx
406430:	66 89 0c 42          	mov    %cx,(%edx,%eax,2)
406434:	40                   	inc    %eax
406435:	3b 75 08             	cmp    0x8(%ebp),%esi
406438:	73 09                	jae    0x406443
40643a:	3b 45 f8             	cmp    -0x8(%ebp),%eax
40643d:	0f 82 75 ff ff ff    	jb     0x4063b8
406443:	3b 45 f8             	cmp    -0x8(%ebp),%eax
406446:	72 04                	jb     0x40644c
406448:	8b 45 f8             	mov    -0x8(%ebp),%eax
40644b:	48                   	dec    %eax
40644c:	8b 55 fc             	mov    -0x4(%ebp),%edx
40644f:	66 c7 04 42 00 00    	movw   $0x0,(%edx,%eax,2)
406455:	eb 4a                	jmp    0x4064a1
406457:	3b 75 08             	cmp    0x8(%ebp),%esi
40645a:	73 45                	jae    0x4064a1
40645c:	8b 55 f4             	mov    -0xc(%ebp),%edx
40645f:	0f b6 14 32          	movzbl (%edx,%esi,1),%edx
406463:	46                   	inc    %esi
406464:	f6 c2 80             	test   $0x80,%dl
406467:	74 32                	je     0x40649b
406469:	3b 75 08             	cmp    0x8(%ebp),%esi
40646c:	73 37                	jae    0x4064a5
40646e:	80 e2 3f             	and    $0x3f,%dl
406471:	f6 c2 20             	test   $0x20,%dl
406474:	74 15                	je     0x40648b
406476:	8b 55 f4             	mov    -0xc(%ebp),%edx
406479:	0f b6 14 32          	movzbl (%edx,%esi,1),%edx
40647d:	46                   	inc    %esi
40647e:	80 e2 c0             	and    $0xc0,%dl
406481:	80 fa 80             	cmp    $0x80,%dl
406484:	75 1f                	jne    0x4064a5
406486:	3b 75 08             	cmp    0x8(%ebp),%esi
406489:	73 1a                	jae    0x4064a5
40648b:	8b 55 f4             	mov    -0xc(%ebp),%edx
40648e:	0f b6 14 32          	movzbl (%edx,%esi,1),%edx
406492:	46                   	inc    %esi
406493:	80 e2 c0             	and    $0xc0,%dl
406496:	80 fa 80             	cmp    $0x80,%dl
406499:	75 0a                	jne    0x4064a5
40649b:	40                   	inc    %eax
40649c:	3b 75 08             	cmp    0x8(%ebp),%esi
40649f:	72 bb                	jb     0x40645c
4064a1:	40                   	inc    %eax
4064a2:	89 45 f0             	mov    %eax,-0x10(%ebp)
4064a5:	8b 45 f0             	mov    -0x10(%ebp),%eax
4064a8:	5e                   	pop    %esi
4064a9:	5b                   	pop    %ebx
4064aa:	8b e5                	mov    %ebp,%esp
4064ac:	5d                   	pop    %ebp
4064ad:	c2 04 00             	ret    $0x4
4064b0:	55                   	push   %ebp
4064b1:	8b ec                	mov    %esp,%ebp
4064b3:	83 c4 f8             	add    $0xfffffff8,%esp
4064b6:	53                   	push   %ebx
4064b7:	56                   	push   %esi
4064b8:	33 c9                	xor    %ecx,%ecx
4064ba:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4064bd:	89 55 f8             	mov    %edx,-0x8(%ebp)
4064c0:	8b f0                	mov    %eax,%esi
4064c2:	33 c0                	xor    %eax,%eax
4064c4:	55                   	push   %ebp
4064c5:	68 5c 65 40 00       	push   $0x40655c
4064ca:	64 ff 30             	push   %fs:(%eax)
4064cd:	64 89 20             	mov    %esp,%fs:(%eax)
4064d0:	8b 45 f8             	mov    -0x8(%ebp),%eax
4064d3:	e8 70 e2 ff ff       	call   0x404748
4064d8:	8b c6                	mov    %esi,%eax
4064da:	33 d2                	xor    %edx,%edx
4064dc:	e8 ef eb ff ff       	call   0x4050d0
4064e1:	74 63                	je     0x406546
4064e3:	8b c6                	mov    %esi,%eax
4064e5:	e8 da eb ff ff       	call   0x4050c4
4064ea:	8d 14 40             	lea    (%eax,%eax,2),%edx
4064ed:	8d 45 fc             	lea    -0x4(%ebp),%eax
4064f0:	e8 9f e9 ff ff       	call   0x404e94
4064f5:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4064f8:	85 db                	test   %ebx,%ebx
4064fa:	74 05                	je     0x406501
4064fc:	83 eb 04             	sub    $0x4,%ebx
4064ff:	8b 1b                	mov    (%ebx),%ebx
406501:	8b c6                	mov    %esi,%eax
406503:	e8 bc eb ff ff       	call   0x4050c4
406508:	50                   	push   %eax
406509:	8b c6                	mov    %esi,%eax
40650b:	e8 a4 eb ff ff       	call   0x4050b4
406510:	50                   	push   %eax
406511:	8b 45 fc             	mov    -0x4(%ebp),%eax
406514:	e8 f3 e6 ff ff       	call   0x404c0c
406519:	8d 53 01             	lea    0x1(%ebx),%edx
40651c:	59                   	pop    %ecx
40651d:	e8 82 fd ff ff       	call   0x4062a4
406522:	85 c0                	test   %eax,%eax
406524:	7e 0d                	jle    0x406533
406526:	8b d0                	mov    %eax,%edx
406528:	4a                   	dec    %edx
406529:	8d 45 fc             	lea    -0x4(%ebp),%eax
40652c:	e8 63 e9 ff ff       	call   0x404e94
406531:	eb 08                	jmp    0x40653b
406533:	8d 45 fc             	lea    -0x4(%ebp),%eax
406536:	e8 0d e2 ff ff       	call   0x404748
40653b:	8b 45 f8             	mov    -0x8(%ebp),%eax
40653e:	8b 55 fc             	mov    -0x4(%ebp),%edx
406541:	e8 56 e2 ff ff       	call   0x40479c
406546:	33 c0                	xor    %eax,%eax
406548:	5a                   	pop    %edx
406549:	59                   	pop    %ecx
40654a:	59                   	pop    %ecx
40654b:	64 89 10             	mov    %edx,%fs:(%eax)
40654e:	68 63 65 40 00       	push   $0x406563
406553:	8d 45 fc             	lea    -0x4(%ebp),%eax
406556:	e8 ed e1 ff ff       	call   0x404748
40655b:	c3                   	ret
40655c:	e9 4f db ff ff       	jmp    0x4040b0
406561:	eb f0                	jmp    0x406553
406563:	5e                   	pop    %esi
406564:	5b                   	pop    %ebx
406565:	59                   	pop    %ecx
406566:	59                   	pop    %ecx
406567:	5d                   	pop    %ebp
406568:	c3                   	ret
406569:	8d 40 00             	lea    0x0(%eax),%eax
40656c:	55                   	push   %ebp
40656d:	8b ec                	mov    %esp,%ebp
40656f:	83 c4 f4             	add    $0xfffffff4,%esp
406572:	53                   	push   %ebx
406573:	56                   	push   %esi
406574:	33 c9                	xor    %ecx,%ecx
406576:	89 4d fc             	mov    %ecx,-0x4(%ebp)
406579:	89 55 f8             	mov    %edx,-0x8(%ebp)
40657c:	8b f0                	mov    %eax,%esi
40657e:	33 c0                	xor    %eax,%eax
406580:	55                   	push   %ebp
406581:	68 17 66 40 00       	push   $0x406617
406586:	64 ff 30             	push   %fs:(%eax)
406589:	64 89 20             	mov    %esp,%fs:(%eax)
40658c:	8b 45 f8             	mov    -0x8(%ebp),%eax
40658f:	e8 c0 e9 ff ff       	call   0x404f54
406594:	85 f6                	test   %esi,%esi
406596:	74 69                	je     0x406601
406598:	89 75 f4             	mov    %esi,-0xc(%ebp)
40659b:	8b 5d f4             	mov    -0xc(%ebp),%ebx
40659e:	8b c3                	mov    %ebx,%eax
4065a0:	85 c0                	test   %eax,%eax
4065a2:	74 05                	je     0x4065a9
4065a4:	83 e8 04             	sub    $0x4,%eax
4065a7:	8b 00                	mov    (%eax),%eax
4065a9:	8d 55 fc             	lea    -0x4(%ebp),%edx
4065ac:	92                   	xchg   %eax,%edx
4065ad:	e8 ee eb ff ff       	call   0x4051a0
4065b2:	85 db                	test   %ebx,%ebx
4065b4:	74 05                	je     0x4065bb
4065b6:	83 eb 04             	sub    $0x4,%ebx
4065b9:	8b 1b                	mov    (%ebx),%ebx
4065bb:	53                   	push   %ebx
4065bc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4065bf:	e8 00 eb ff ff       	call   0x4050c4
4065c4:	40                   	inc    %eax
4065c5:	50                   	push   %eax
4065c6:	8b c6                	mov    %esi,%eax
4065c8:	e8 3f e6 ff ff       	call   0x404c0c
4065cd:	50                   	push   %eax
4065ce:	8b 45 fc             	mov    -0x4(%ebp),%eax
4065d1:	e8 de ea ff ff       	call   0x4050b4
4065d6:	59                   	pop    %ecx
4065d7:	5a                   	pop    %edx
4065d8:	e8 a3 fd ff ff       	call   0x406380
4065dd:	85 c0                	test   %eax,%eax
4065df:	7e 0d                	jle    0x4065ee
4065e1:	8b d0                	mov    %eax,%edx
4065e3:	4a                   	dec    %edx
4065e4:	8d 45 fc             	lea    -0x4(%ebp),%eax
4065e7:	e8 b4 eb ff ff       	call   0x4051a0
4065ec:	eb 08                	jmp    0x4065f6
4065ee:	8d 45 fc             	lea    -0x4(%ebp),%eax
4065f1:	e8 5e e9 ff ff       	call   0x404f54
4065f6:	8b 45 f8             	mov    -0x8(%ebp),%eax
4065f9:	8b 55 fc             	mov    -0x4(%ebp),%edx
4065fc:	e8 8f e9 ff ff       	call   0x404f90
406601:	33 c0                	xor    %eax,%eax
406603:	5a                   	pop    %edx
406604:	59                   	pop    %ecx
406605:	59                   	pop    %ecx
406606:	64 89 10             	mov    %edx,%fs:(%eax)
406609:	68 1e 66 40 00       	push   $0x40661e
40660e:	8d 45 fc             	lea    -0x4(%ebp),%eax
406611:	e8 3e e9 ff ff       	call   0x404f54
406616:	c3                   	ret
406617:	e9 94 da ff ff       	jmp    0x4040b0
40661c:	eb f0                	jmp    0x40660e
40661e:	5e                   	pop    %esi
40661f:	5b                   	pop    %ebx
406620:	8b e5                	mov    %ebp,%esp
406622:	5d                   	pop    %ebp
406623:	c3                   	ret
406624:	55                   	push   %ebp
406625:	8b ec                	mov    %esp,%ebp
406627:	6a 00                	push   $0x0
406629:	53                   	push   %ebx
40662a:	56                   	push   %esi
40662b:	8b f2                	mov    %edx,%esi
40662d:	8b d8                	mov    %eax,%ebx
40662f:	33 c0                	xor    %eax,%eax
406631:	55                   	push   %ebp
406632:	68 67 66 40 00       	push   $0x406667
406637:	64 ff 30             	push   %fs:(%eax)
40663a:	64 89 20             	mov    %esp,%fs:(%eax)
40663d:	8d 45 fc             	lea    -0x4(%ebp),%eax
406640:	8b d3                	mov    %ebx,%edx
406642:	e8 5d ea ff ff       	call   0x4050a4
406647:	8b 45 fc             	mov    -0x4(%ebp),%eax
40664a:	8b d6                	mov    %esi,%edx
40664c:	e8 5f fe ff ff       	call   0x4064b0
406651:	33 c0                	xor    %eax,%eax
406653:	5a                   	pop    %edx
406654:	59                   	pop    %ecx
406655:	59                   	pop    %ecx
406656:	64 89 10             	mov    %edx,%fs:(%eax)
406659:	68 6e 66 40 00       	push   $0x40666e
40665e:	8d 45 fc             	lea    -0x4(%ebp),%eax
406661:	e8 ee e8 ff ff       	call   0x404f54
406666:	c3                   	ret
406667:	e9 44 da ff ff       	jmp    0x4040b0
40666c:	eb f0                	jmp    0x40665e
40666e:	5e                   	pop    %esi
40666f:	5b                   	pop    %ebx
406670:	59                   	pop    %ecx
406671:	5d                   	pop    %ebp
406672:	c3                   	ret
406673:	90                   	nop
406674:	53                   	push   %ebx
406675:	56                   	push   %esi
406676:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
40667c:	50                   	push   %eax
40667d:	8b f2                	mov    %edx,%esi
40667f:	8b d8                	mov    %eax,%ebx
406681:	85 db                	test   %ebx,%ebx
406683:	74 3d                	je     0x4066c2
406685:	81 7b 04 00 00 01 00 	cmpl   $0x10000,0x4(%ebx)
40668c:	7d 2a                	jge    0x4066b8
40668e:	68 00 10 00 00       	push   $0x1000
406693:	8d 44 24 04          	lea    0x4(%esp),%eax
406697:	50                   	push   %eax
406698:	8b 43 04             	mov    0x4(%ebx),%eax
40669b:	50                   	push   %eax
40669c:	8b 03                	mov    (%ebx),%eax
40669e:	8b 00                	mov    (%eax),%eax
4066a0:	e8 d7 f4 ff ff       	call   0x405b7c
4066a5:	50                   	push   %eax
4066a6:	e8 59 ac ff ff       	call   0x401304
4066ab:	8b c8                	mov    %eax,%ecx
4066ad:	8b d4                	mov    %esp,%edx
4066af:	8b c6                	mov    %esi,%eax
4066b1:	e8 82 e1 ff ff       	call   0x404838
4066b6:	eb 0a                	jmp    0x4066c2
4066b8:	8b c6                	mov    %esi,%eax
4066ba:	8b 53 04             	mov    0x4(%ebx),%edx
4066bd:	e8 7e e2 ff ff       	call   0x404940
4066c2:	81 c4 00 10 00 00    	add    $0x1000,%esp
4066c8:	5e                   	pop    %esi
4066c9:	5b                   	pop    %ebx
4066ca:	c3                   	ret
4066cb:	90                   	nop
4066cc:	ff 25 70 c8 4a 00    	jmp    *0x4ac870
4066d2:	8b c0                	mov    %eax,%eax
4066d4:	55                   	push   %ebp
4066d5:	8b ec                	mov    %esp,%ebp
4066d7:	33 c0                	xor    %eax,%eax
4066d9:	55                   	push   %ebp
4066da:	68 28 67 40 00       	push   $0x406728
4066df:	64 ff 30             	push   %fs:(%eax)
4066e2:	64 89 20             	mov    %esp,%fs:(%eax)
4066e5:	ff 05 b8 85 4a 00    	incl   0x4a85b8
4066eb:	75 2d                	jne    0x40671a
4066ed:	b8 50 80 4a 00       	mov    $0x4a8050,%eax
4066f2:	e8 f9 c9 ff ff       	call   0x4030f0
4066f7:	b8 1c 82 4a 00       	mov    $0x4a821c,%eax
4066fc:	e8 ef c9 ff ff       	call   0x4030f0
406701:	b8 e8 83 4a 00       	mov    $0x4a83e8,%eax
406706:	e8 e5 c9 ff ff       	call   0x4030f0
40670b:	e8 80 c5 ff ff       	call   0x402c90
406710:	b8 38 b0 49 00       	mov    $0x49b038,%eax
406715:	e8 2e e0 ff ff       	call   0x404748
40671a:	33 c0                	xor    %eax,%eax
40671c:	5a                   	pop    %edx
40671d:	59                   	pop    %ecx
40671e:	59                   	pop    %ecx
40671f:	64 89 10             	mov    %edx,%fs:(%eax)
406722:	68 2f 67 40 00       	push   $0x40672f
406727:	c3                   	ret
406728:	e9 83 d9 ff ff       	jmp    0x4040b0
40672d:	eb f8                	jmp    0x406727
40672f:	5d                   	pop    %ebp
406730:	c3                   	ret
406731:	8d 40 00             	lea    0x0(%eax),%eax
406734:	ff 25 f8 c8 4a 00    	jmp    *0x4ac8f8
40673a:	8b c0                	mov    %eax,%eax
40673c:	ff 25 f4 c8 4a 00    	jmp    *0x4ac8f4
406742:	8b c0                	mov    %eax,%eax
406744:	ff 25 f0 c8 4a 00    	jmp    *0x4ac8f0
40674a:	8b c0                	mov    %eax,%eax
40674c:	ff 25 ec c8 4a 00    	jmp    *0x4ac8ec
406752:	8b c0                	mov    %eax,%eax
406754:	50                   	push   %eax
406755:	6a 40                	push   $0x40
406757:	e8 e0 ff ff ff       	call   0x40673c
40675c:	c3                   	ret
40675d:	8d 40 00             	lea    0x0(%eax),%eax
406760:	b8 34 00 00 00       	mov    $0x34,%eax
406765:	c3                   	ret
406766:	8b c0                	mov    %eax,%eax
406768:	53                   	push   %ebx
406769:	e8 f2 ff ff ff       	call   0x406760
40676e:	8b d8                	mov    %eax,%ebx
406770:	85 db                	test   %ebx,%ebx
406772:	74 36                	je     0x4067aa
406774:	83 3d 88 b7 49 00 ff 	cmpl   $0xffffffff,0x49b788
40677b:	75 0a                	jne    0x406787
40677d:	b8 e2 00 00 00       	mov    $0xe2,%eax
406782:	e8 b5 df ff ff       	call   0x40473c
406787:	8b c3                	mov    %ebx,%eax
406789:	e8 c6 ff ff ff       	call   0x406754
40678e:	85 c0                	test   %eax,%eax
406790:	75 0c                	jne    0x40679e
406792:	b8 e2 00 00 00       	mov    $0xe2,%eax
406797:	e8 a0 df ff ff       	call   0x40473c
40679c:	eb 0c                	jmp    0x4067aa
40679e:	50                   	push   %eax
40679f:	a1 88 b7 49 00       	mov    0x49b788,%eax
4067a4:	50                   	push   %eax
4067a5:	e8 a2 ff ff ff       	call   0x40674c
4067aa:	5b                   	pop    %ebx
4067ab:	c3                   	ret
4067ac:	8a 0d f4 a7 4a 00    	mov    0x4aa7f4,%cl
4067b2:	a1 88 b7 49 00       	mov    0x49b788,%eax
4067b7:	84 c9                	test   %cl,%cl
4067b9:	75 26                	jne    0x4067e1
4067bb:	64 8b 15 2c 00 00 00 	mov    %fs:0x2c,%edx
4067c2:	8b 04 82             	mov    (%edx,%eax,4),%eax
4067c5:	c3                   	ret
4067c6:	e8 9d ff ff ff       	call   0x406768
4067cb:	a1 88 b7 49 00       	mov    0x49b788,%eax
4067d0:	50                   	push   %eax
4067d1:	e8 6e ff ff ff       	call   0x406744
4067d6:	85 c0                	test   %eax,%eax