408354:	5b                   	pop    %ebx
408355:	c3                   	ret
408356:	8b c0                	mov    %eax,%eax
408358:	53                   	push   %ebx
408359:	8b d8                	mov    %eax,%ebx
40835b:	b8 0c 00 00 00       	mov    $0xc,%eax
408360:	e8 13 a4 ff ff       	call   0x402778
408365:	8b 15 34 d1 48 00    	mov    0x48d134,%edx
40836b:	89 10                	mov    %edx,(%eax)
40836d:	8b 15 74 af 49 00    	mov    0x49af74,%edx
408373:	8b 12                	mov    (%edx),%edx
408375:	89 50 04             	mov    %edx,0x4(%eax)
408378:	89 58 08             	mov    %ebx,0x8(%eax)
40837b:	a3 34 d1 48 00       	mov    %eax,0x48d134
408380:	a1 74 af 49 00       	mov    0x49af74,%eax
408385:	c7 00 2c 83 40 00    	movl   $0x40832c,(%eax)
40838b:	5b                   	pop    %ebx
40838c:	c3                   	ret
40838d:	8d 40 00             	lea    0x0(%eax),%eax
408390:	53                   	push   %ebx
408391:	56                   	push   %esi
408392:	57                   	push   %edi
408393:	8b fa                	mov    %edx,%edi
408395:	8b f0                	mov    %eax,%esi
408397:	8b c6                	mov    %esi,%eax
408399:	e8 86 c0 ff ff       	call   0x404424
40839e:	8b d8                	mov    %eax,%ebx
4083a0:	8b c7                	mov    %edi,%eax
4083a2:	8b d3                	mov    %ebx,%edx
4083a4:	e8 07 c4 ff ff       	call   0x4047b0
4083a9:	8b d6                	mov    %esi,%edx
4083ab:	8b 37                	mov    (%edi),%esi
4083ad:	85 db                	test   %ebx,%ebx
4083af:	74 15                	je     0x4083c6
4083b1:	8a 02                	mov    (%edx),%al
4083b3:	3c 61                	cmp    $0x61,%al
4083b5:	72 06                	jb     0x4083bd
4083b7:	3c 7a                	cmp    $0x7a,%al
4083b9:	77 02                	ja     0x4083bd
4083bb:	2c 20                	sub    $0x20,%al
4083bd:	88 06                	mov    %al,(%esi)
4083bf:	42                   	inc    %edx
4083c0:	46                   	inc    %esi
4083c1:	4b                   	dec    %ebx
4083c2:	85 db                	test   %ebx,%ebx
4083c4:	75 eb                	jne    0x4083b1
4083c6:	5f                   	pop    %edi
4083c7:	5e                   	pop    %esi
4083c8:	5b                   	pop    %ebx
4083c9:	c3                   	ret
4083ca:	8b c0                	mov    %eax,%eax
4083cc:	53                   	push   %ebx
4083cd:	56                   	push   %esi
4083ce:	57                   	push   %edi
4083cf:	8b fa                	mov    %edx,%edi
4083d1:	8b f0                	mov    %eax,%esi
4083d3:	8b c6                	mov    %esi,%eax
4083d5:	e8 4a c0 ff ff       	call   0x404424
4083da:	8b d8                	mov    %eax,%ebx
4083dc:	8b c7                	mov    %edi,%eax
4083de:	8b d3                	mov    %ebx,%edx
4083e0:	e8 cb c3 ff ff       	call   0x4047b0
4083e5:	8b d6                	mov    %esi,%edx
4083e7:	8b 37                	mov    (%edi),%esi
4083e9:	85 db                	test   %ebx,%ebx
4083eb:	74 15                	je     0x408402
4083ed:	8a 02                	mov    (%edx),%al
4083ef:	3c 41                	cmp    $0x41,%al
4083f1:	72 06                	jb     0x4083f9
4083f3:	3c 5a                	cmp    $0x5a,%al
4083f5:	77 02                	ja     0x4083f9
4083f7:	04 20                	add    $0x20,%al
4083f9:	88 06                	mov    %al,(%esi)
4083fb:	42                   	inc    %edx
4083fc:	46                   	inc    %esi
4083fd:	4b                   	dec    %ebx
4083fe:	85 db                	test   %ebx,%ebx
408400:	75 eb                	jne    0x4083ed
408402:	5f                   	pop    %edi
408403:	5e                   	pop    %esi
408404:	5b                   	pop    %ebx
408405:	c3                   	ret
408406:	8b c0                	mov    %eax,%eax
408408:	56                   	push   %esi
408409:	57                   	push   %edi
40840a:	89 c6                	mov    %eax,%esi
40840c:	89 d7                	mov    %edx,%edi
40840e:	09 c0                	or     %eax,%eax
408410:	74 03                	je     0x408415
408412:	8b 40 fc             	mov    -0x4(%eax),%eax
408415:	09 d2                	or     %edx,%edx
408417:	74 03                	je     0x40841c
408419:	8b 52 fc             	mov    -0x4(%edx),%edx
40841c:	89 c1                	mov    %eax,%ecx
40841e:	39 d1                	cmp    %edx,%ecx
408420:	76 02                	jbe    0x408424
408422:	89 d1                	mov    %edx,%ecx
408424:	39 c9                	cmp    %ecx,%ecx
408426:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
408428:	74 08                	je     0x408432
40842a:	0f b6 46 ff          	movzbl -0x1(%esi),%eax
40842e:	0f b6 57 ff          	movzbl -0x1(%edi),%edx
408432:	29 d0                	sub    %edx,%eax
408434:	5f                   	pop    %edi
408435:	5e                   	pop    %esi
408436:	c3                   	ret
408437:	90                   	nop
408438:	56                   	push   %esi
408439:	57                   	push   %edi
40843a:	89 c6                	mov    %eax,%esi
40843c:	89 d7                	mov    %edx,%edi
40843e:	89 ca                	mov    %ecx,%edx
408440:	31 c0                	xor    %eax,%eax
408442:	83 e2 03             	and    $0x3,%edx
408445:	c1 f9 02             	sar    $0x2,%ecx
408448:	78 0a                	js     0x408454
40844a:	f3 a7                	repz cmpsl %es:(%edi),%ds:(%esi)
40844c:	75 07                	jne    0x408455
40844e:	89 d1                	mov    %edx,%ecx
408450:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
408452:	75 01                	jne    0x408455
408454:	40                   	inc    %eax
408455:	5f                   	pop    %edi
408456:	5e                   	pop    %esi
408457:	c3                   	ret
408458:	56                   	push   %esi
408459:	57                   	push   %edi
40845a:	53                   	push   %ebx
40845b:	89 c6                	mov    %eax,%esi
40845d:	89 d7                	mov    %edx,%edi
40845f:	09 c0                	or     %eax,%eax
408461:	74 03                	je     0x408466
408463:	8b 40 fc             	mov    -0x4(%eax),%eax
408466:	09 d2                	or     %edx,%edx
408468:	74 03                	je     0x40846d
40846a:	8b 52 fc             	mov    -0x4(%edx),%edx
40846d:	89 c1                	mov    %eax,%ecx
40846f:	39 d1                	cmp    %edx,%ecx
408471:	76 02                	jbe    0x408475
408473:	89 d1                	mov    %edx,%ecx
408475:	39 c9                	cmp    %ecx,%ecx
408477:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
408479:	74 2a                	je     0x4084a5
40847b:	8a 5e ff             	mov    -0x1(%esi),%bl
40847e:	80 fb 61             	cmp    $0x61,%bl
408481:	72 08                	jb     0x40848b
408483:	80 fb 7a             	cmp    $0x7a,%bl
408486:	77 03                	ja     0x40848b
408488:	80 eb 20             	sub    $0x20,%bl
40848b:	8a 7f ff             	mov    -0x1(%edi),%bh
40848e:	80 ff 61             	cmp    $0x61,%bh
408491:	72 08                	jb     0x40849b
408493:	80 ff 7a             	cmp    $0x7a,%bh
408496:	77 03                	ja     0x40849b
408498:	80 ef 20             	sub    $0x20,%bh
40849b:	38 fb                	cmp    %bh,%bl
40849d:	74 d8                	je     0x408477
40849f:	0f b6 c3             	movzbl %bl,%eax
4084a2:	0f b6 d7             	movzbl %bh,%edx
4084a5:	29 d0                	sub    %edx,%eax
4084a7:	5b                   	pop    %ebx
4084a8:	5f                   	pop    %edi
4084a9:	5e                   	pop    %esi
4084aa:	c3                   	ret
4084ab:	90                   	nop
4084ac:	39 d0                	cmp    %edx,%eax
4084ae:	74 19                	je     0x4084c9
4084b0:	09 c0                	or     %eax,%eax
4084b2:	74 17                	je     0x4084cb
4084b4:	09 d2                	or     %edx,%edx
4084b6:	74 14                	je     0x4084cc
4084b8:	8b 48 fc             	mov    -0x4(%eax),%ecx
4084bb:	3b 4a fc             	cmp    -0x4(%edx),%ecx
4084be:	75 0c                	jne    0x4084cc
4084c0:	e8 93 ff ff ff       	call   0x408458
4084c5:	85 c0                	test   %eax,%eax
4084c7:	75 03                	jne    0x4084cc
4084c9:	b0 01                	mov    $0x1,%al
4084cb:	c3                   	ret
4084cc:	31 c0                	xor    %eax,%eax
4084ce:	c3                   	ret
4084cf:	90                   	nop
4084d0:	53                   	push   %ebx
4084d1:	56                   	push   %esi
4084d2:	57                   	push   %edi
4084d3:	8b fa                	mov    %edx,%edi
4084d5:	8b f0                	mov    %eax,%esi
4084d7:	8b c6                	mov    %esi,%eax
4084d9:	e8 46 bf ff ff       	call   0x404424
4084de:	8b d8                	mov    %eax,%ebx
4084e0:	8b c6                	mov    %esi,%eax
4084e2:	e8 3d c1 ff ff       	call   0x404624
4084e7:	8b d0                	mov    %eax,%edx
4084e9:	8b c7                	mov    %edi,%eax
4084eb:	8b cb                	mov    %ebx,%ecx
4084ed:	e8 62 bd ff ff       	call   0x404254
4084f2:	85 db                	test   %ebx,%ebx
4084f4:	7e 09                	jle    0x4084ff
4084f6:	53                   	push   %ebx
4084f7:	8b 07                	mov    (%edi),%eax
4084f9:	50                   	push   %eax
4084fa:	e8 99 e6 ff ff       	call   0x406b98
4084ff:	5f                   	pop    %edi
408500:	5e                   	pop    %esi
408501:	5b                   	pop    %ebx
408502:	c3                   	ret
408503:	90                   	nop
408504:	53                   	push   %ebx
408505:	56                   	push   %esi
408506:	8b f2                	mov    %edx,%esi
408508:	8b d8                	mov    %eax,%ebx
40850a:	8b c6                	mov    %esi,%eax
40850c:	e8 13 bf ff ff       	call   0x404424
408511:	50                   	push   %eax
408512:	8b c6                	mov    %esi,%eax
408514:	e8 0b c1 ff ff       	call   0x404624
408519:	50                   	push   %eax
40851a:	8b c3                	mov    %ebx,%eax
40851c:	e8 03 bf ff ff       	call   0x404424
408521:	50                   	push   %eax
408522:	8b c3                	mov    %ebx,%eax
408524:	e8 fb c0 ff ff       	call   0x404624
408529:	50                   	push   %eax
40852a:	6a 00                	push   $0x0
40852c:	68 00 04 00 00       	push   $0x400
408531:	e8 aa e1 ff ff       	call   0x4066e0
408536:	83 e8 02             	sub    $0x2,%eax
408539:	5e                   	pop    %esi
40853a:	5b                   	pop    %ebx
40853b:	c3                   	ret
40853c:	53                   	push   %ebx
40853d:	56                   	push   %esi
40853e:	8b f2                	mov    %edx,%esi
408540:	8b d8                	mov    %eax,%ebx
408542:	8b c6                	mov    %esi,%eax
408544:	e8 db be ff ff       	call   0x404424
408549:	50                   	push   %eax
40854a:	8b c6                	mov    %esi,%eax
40854c:	e8 d3 c0 ff ff       	call   0x404624
408551:	50                   	push   %eax
408552:	8b c3                	mov    %ebx,%eax
408554:	e8 cb be ff ff       	call   0x404424
408559:	50                   	push   %eax
40855a:	8b c3                	mov    %ebx,%eax
40855c:	e8 c3 c0 ff ff       	call   0x404624
408561:	50                   	push   %eax
408562:	6a 01                	push   $0x1
408564:	68 00 04 00 00       	push   $0x400
408569:	e8 72 e1 ff ff       	call   0x4066e0
40856e:	83 e8 02             	sub    $0x2,%eax
408571:	5e                   	pop    %esi
408572:	5b                   	pop    %ebx
408573:	c3                   	ret
408574:	53                   	push   %ebx
408575:	56                   	push   %esi
408576:	8b f2                	mov    %edx,%esi
408578:	8b d8                	mov    %eax,%ebx
40857a:	8b d6                	mov    %esi,%edx
40857c:	8b c3                	mov    %ebx,%eax
40857e:	e8 b9 ff ff ff       	call   0x40853c
408583:	85 c0                	test   %eax,%eax
408585:	0f 94 c0             	sete   %al
408588:	5e                   	pop    %esi
408589:	5b                   	pop    %ebx
40858a:	c3                   	ret
40858b:	90                   	nop
40858c:	53                   	push   %ebx
40858d:	56                   	push   %esi
40858e:	8b f2                	mov    %edx,%esi
408590:	8b d8                	mov    %eax,%ebx
408592:	6a ff                	push   $0xffffffff
408594:	56                   	push   %esi
408595:	6a ff                	push   $0xffffffff
408597:	53                   	push   %ebx
408598:	6a 01                	push   $0x1
40859a:	68 00 04 00 00       	push   $0x400
40859f:	e8 3c e1 ff ff       	call   0x4066e0
4085a4:	83 e8 02             	sub    $0x2,%eax
4085a7:	5e                   	pop    %esi
4085a8:	5b                   	pop    %ebx
4085a9:	c3                   	ret
4085aa:	8b c0                	mov    %eax,%eax
4085ac:	53                   	push   %ebx
4085ad:	56                   	push   %esi
4085ae:	57                   	push   %edi
4085af:	8b d9                	mov    %ecx,%ebx
4085b1:	8b fa                	mov    %edx,%edi
4085b3:	8b f0                	mov    %eax,%esi
4085b5:	53                   	push   %ebx
4085b6:	57                   	push   %edi
4085b7:	53                   	push   %ebx
4085b8:	56                   	push   %esi
4085b9:	6a 01                	push   $0x1
4085bb:	68 00 04 00 00       	push   $0x400
4085c0:	e8 1b e1 ff ff       	call   0x4066e0
4085c5:	83 e8 02             	sub    $0x2,%eax
4085c8:	5f                   	pop    %edi
4085c9:	5e                   	pop    %esi
4085ca:	5b                   	pop    %ebx
4085cb:	c3                   	ret
4085cc:	53                   	push   %ebx
4085cd:	56                   	push   %esi
4085ce:	57                   	push   %edi
4085cf:	55                   	push   %ebp
4085d0:	8b ea                	mov    %edx,%ebp
4085d2:	8b f8                	mov    %eax,%edi
4085d4:	8b c7                	mov    %edi,%eax
4085d6:	e8 49 be ff ff       	call   0x404424
4085db:	8b f0                	mov    %eax,%esi
4085dd:	bb 01 00 00 00       	mov    $0x1,%ebx
4085e2:	eb 01                	jmp    0x4085e5
4085e4:	43                   	inc    %ebx
4085e5:	3b f3                	cmp    %ebx,%esi
4085e7:	7c 07                	jl     0x4085f0
4085e9:	80 7c 1f ff 20       	cmpb   $0x20,-0x1(%edi,%ebx,1)
4085ee:	76 f4                	jbe    0x4085e4
4085f0:	3b f3                	cmp    %ebx,%esi
4085f2:	7d 0a                	jge    0x4085fe
4085f4:	8b c5                	mov    %ebp,%eax
4085f6:	e8 69 bb ff ff       	call   0x404164
4085fb:	eb 17                	jmp    0x408614
4085fd:	4e                   	dec    %esi
4085fe:	80 7c 37 ff 20       	cmpb   $0x20,-0x1(%edi,%esi,1)
408603:	76 f8                	jbe    0x4085fd
408605:	55                   	push   %ebp
408606:	8b ce                	mov    %esi,%ecx
408608:	2b cb                	sub    %ebx,%ecx
40860a:	41                   	inc    %ecx
40860b:	8b d3                	mov    %ebx,%edx
40860d:	8b c7                	mov    %edi,%eax
40860f:	e8 70 c0 ff ff       	call   0x404684
408614:	5d                   	pop    %ebp
408615:	5f                   	pop    %edi
408616:	5e                   	pop    %esi
408617:	5b                   	pop    %ebx
408618:	c3                   	ret
408619:	8d 40 00             	lea    0x0(%eax),%eax
40861c:	53                   	push   %ebx
40861d:	56                   	push   %esi
40861e:	57                   	push   %edi
40861f:	55                   	push   %ebp
408620:	51                   	push   %ecx
408621:	89 0c 24             	mov    %ecx,(%esp)
408624:	8b da                	mov    %edx,%ebx
408626:	8b f0                	mov    %eax,%esi
408628:	8b 04 24             	mov    (%esp),%eax
40862b:	e8 34 bb ff ff       	call   0x404164
408630:	83 3e 00             	cmpl   $0x0,(%esi)
408633:	0f 84 da 00 00 00    	je     0x408713
408639:	8b 06                	mov    (%esi),%eax