4093c7:	89 cb                	mov    %ecx,%ebx
4093c9:	32 c0                	xor    %al,%al
4093cb:	85 c9                	test   %ecx,%ecx
4093cd:	74 05                	je     0x4093d4
4093cf:	f2 ae                	repnz scas %es:(%edi),%al
4093d1:	75 01                	jne    0x4093d4
4093d3:	41                   	inc    %ecx
4093d4:	29 cb                	sub    %ecx,%ebx
4093d6:	89 f7                	mov    %esi,%edi
4093d8:	89 d6                	mov    %edx,%esi
4093da:	89 fa                	mov    %edi,%edx
4093dc:	89 d9                	mov    %ebx,%ecx
4093de:	c1 e9 02             	shr    $0x2,%ecx
4093e1:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4093e3:	89 d9                	mov    %ebx,%ecx
4093e5:	83 e1 03             	and    $0x3,%ecx
4093e8:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4093ea:	aa                   	stos   %al,%es:(%edi)
4093eb:	89 d0                	mov    %edx,%eax
4093ed:	5b                   	pop    %ebx
4093ee:	5e                   	pop    %esi
4093ef:	5f                   	pop    %edi
4093f0:	c3                   	ret
4093f1:	8d 40 00             	lea    0x0(%eax),%eax
4093f4:	53                   	push   %ebx
4093f5:	56                   	push   %esi
4093f6:	57                   	push   %edi
4093f7:	8b f2                	mov    %edx,%esi
4093f9:	8b f8                	mov    %eax,%edi
4093fb:	8b de                	mov    %esi,%ebx
4093fd:	85 db                	test   %ebx,%ebx
4093ff:	74 05                	je     0x409406
409401:	83 eb 04             	sub    $0x4,%ebx
409404:	8b 1b                	mov    (%ebx),%ebx
409406:	8b c6                	mov    %esi,%eax
409408:	e8 ff b7 ff ff       	call   0x404c0c
40940d:	8b d0                	mov    %eax,%edx
40940f:	8b cb                	mov    %ebx,%ecx
409411:	8b c7                	mov    %edi,%eax
409413:	e8 a8 ff ff ff       	call   0x4093c0
409418:	5f                   	pop    %edi
409419:	5e                   	pop    %esi
40941a:	5b                   	pop    %ebx
40941b:	c3                   	ret
40941c:	53                   	push   %ebx
40941d:	56                   	push   %esi
40941e:	57                   	push   %edi
40941f:	8b f9                	mov    %ecx,%edi
409421:	8b f2                	mov    %edx,%esi
409423:	8b d8                	mov    %eax,%ebx
409425:	8b c6                	mov    %esi,%eax
409427:	e8 e0 b7 ff ff       	call   0x404c0c
40942c:	8b d0                	mov    %eax,%edx
40942e:	8b cf                	mov    %edi,%ecx
409430:	8b c3                	mov    %ebx,%eax
409432:	e8 89 ff ff ff       	call   0x4093c0
409437:	5f                   	pop    %edi
409438:	5e                   	pop    %esi
409439:	5b                   	pop    %ebx
40943a:	c3                   	ret
40943b:	90                   	nop
40943c:	29 c2                	sub    %eax,%edx
40943e:	75 03                	jne    0x409443
409440:	31 c0                	xor    %eax,%eax
409442:	c3                   	ret
409443:	0f b6 0c 02          	movzbl (%edx,%eax,1),%ecx
409447:	3a 08                	cmp    (%eax),%cl
409449:	75 76                	jne    0x4094c1
40944b:	84 c9                	test   %cl,%cl
40944d:	74 72                	je     0x4094c1
40944f:	0f b6 4c 02 01       	movzbl 0x1(%edx,%eax,1),%ecx
409454:	3a 48 01             	cmp    0x1(%eax),%cl
409457:	75 65                	jne    0x4094be
409459:	84 c9                	test   %cl,%cl
40945b:	74 61                	je     0x4094be
40945d:	0f b6 4c 02 02       	movzbl 0x2(%edx,%eax,1),%ecx
409462:	3a 48 02             	cmp    0x2(%eax),%cl
409465:	75 54                	jne    0x4094bb
409467:	84 c9                	test   %cl,%cl
409469:	74 50                	je     0x4094bb
40946b:	0f b6 4c 02 03       	movzbl 0x3(%edx,%eax,1),%ecx
409470:	3a 48 03             	cmp    0x3(%eax),%cl
409473:	75 43                	jne    0x4094b8
409475:	83 c0 04             	add    $0x4,%eax
409478:	84 c9                	test   %cl,%cl
40947a:	74 39                	je     0x4094b5
40947c:	0f b6 0c 02          	movzbl (%edx,%eax,1),%ecx
409480:	3a 08                	cmp    (%eax),%cl
409482:	75 3d                	jne    0x4094c1
409484:	84 c9                	test   %cl,%cl
409486:	74 39                	je     0x4094c1
409488:	0f b6 4c 02 01       	movzbl 0x1(%edx,%eax,1),%ecx
40948d:	3a 48 01             	cmp    0x1(%eax),%cl
409490:	75 2c                	jne    0x4094be
409492:	84 c9                	test   %cl,%cl
409494:	74 28                	je     0x4094be
409496:	0f b6 4c 02 02       	movzbl 0x2(%edx,%eax,1),%ecx
40949b:	3a 48 02             	cmp    0x2(%eax),%cl
40949e:	75 1b                	jne    0x4094bb
4094a0:	84 c9                	test   %cl,%cl
4094a2:	74 17                	je     0x4094bb
4094a4:	0f b6 4c 02 03       	movzbl 0x3(%edx,%eax,1),%ecx
4094a9:	3a 48 03             	cmp    0x3(%eax),%cl
4094ac:	75 0a                	jne    0x4094b8
4094ae:	83 c0 04             	add    $0x4,%eax
4094b1:	84 c9                	test   %cl,%cl
4094b3:	75 8e                	jne    0x409443
4094b5:	83 e8 04             	sub    $0x4,%eax
4094b8:	83 c0 01             	add    $0x1,%eax
4094bb:	83 c0 01             	add    $0x1,%eax
4094be:	83 c0 01             	add    $0x1,%eax
4094c1:	0f b6 00             	movzbl (%eax),%eax
4094c4:	29 c8                	sub    %ecx,%eax
4094c6:	c3                   	ret
4094c7:	90                   	nop
4094c8:	57                   	push   %edi
4094c9:	56                   	push   %esi
4094ca:	53                   	push   %ebx
4094cb:	89 d7                	mov    %edx,%edi
4094cd:	89 c6                	mov    %eax,%esi
4094cf:	89 cb                	mov    %ecx,%ebx
4094d1:	31 c0                	xor    %eax,%eax
4094d3:	09 c9                	or     %ecx,%ecx
4094d5:	74 2f                	je     0x409506
4094d7:	f2 ae                	repnz scas %es:(%edi),%al
4094d9:	29 cb                	sub    %ecx,%ebx
4094db:	89 d9                	mov    %ebx,%ecx
4094dd:	89 d7                	mov    %edx,%edi
4094df:	31 d2                	xor    %edx,%edx
4094e1:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
4094e3:	74 21                	je     0x409506
4094e5:	8a 46 ff             	mov    -0x1(%esi),%al
4094e8:	3c 61                	cmp    $0x61,%al
4094ea:	72 06                	jb     0x4094f2
4094ec:	3c 7a                	cmp    $0x7a,%al
4094ee:	77 02                	ja     0x4094f2
4094f0:	2c 20                	sub    $0x20,%al
4094f2:	8a 57 ff             	mov    -0x1(%edi),%dl
4094f5:	80 fa 61             	cmp    $0x61,%dl
4094f8:	72 08                	jb     0x409502
4094fa:	80 fa 7a             	cmp    $0x7a,%dl
4094fd:	77 03                	ja     0x409502
4094ff:	80 ea 20             	sub    $0x20,%dl
409502:	29 d0                	sub    %edx,%eax
409504:	74 db                	je     0x4094e1
409506:	5b                   	pop    %ebx
409507:	5e                   	pop    %esi
409508:	5f                   	pop    %edi
409509:	c3                   	ret
40950a:	8b c0                	mov    %eax,%eax
40950c:	eb 08                	jmp    0x409516
40950e:	84 c9                	test   %cl,%cl
409510:	75 03                	jne    0x409515
409512:	33 c0                	xor    %eax,%eax
409514:	c3                   	ret
409515:	40                   	inc    %eax
409516:	0f b6 08             	movzbl (%eax),%ecx
409519:	3a d1                	cmp    %cl,%dl
40951b:	75 f1                	jne    0x40950e
40951d:	c3                   	ret
40951e:	8b c0                	mov    %eax,%eax
409520:	57                   	push   %edi
409521:	56                   	push   %esi
409522:	53                   	push   %ebx
409523:	09 c0                	or     %eax,%eax
409525:	74 44                	je     0x40956b
409527:	09 d2                	or     %edx,%edx
409529:	74 40                	je     0x40956b
40952b:	89 c3                	mov    %eax,%ebx
40952d:	89 d7                	mov    %edx,%edi
40952f:	32 c0                	xor    %al,%al
409531:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
409536:	f2 ae                	repnz scas %es:(%edi),%al
409538:	f7 d1                	not    %ecx
40953a:	49                   	dec    %ecx
40953b:	74 2e                	je     0x40956b
40953d:	89 ce                	mov    %ecx,%esi
40953f:	89 df                	mov    %ebx,%edi
409541:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
409546:	f2 ae                	repnz scas %es:(%edi),%al
409548:	f7 d1                	not    %ecx
40954a:	29 f1                	sub    %esi,%ecx
40954c:	76 1d                	jbe    0x40956b
40954e:	89 df                	mov    %ebx,%edi
409550:	8d 5e ff             	lea    -0x1(%esi),%ebx
409553:	89 d6                	mov    %edx,%esi
409555:	ac                   	lods   %ds:(%esi),%al
409556:	f2 ae                	repnz scas %es:(%edi),%al
409558:	75 11                	jne    0x40956b
40955a:	89 c8                	mov    %ecx,%eax
40955c:	57                   	push   %edi
40955d:	89 d9                	mov    %ebx,%ecx
40955f:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
409561:	5f                   	pop    %edi
409562:	89 c1                	mov    %eax,%ecx
409564:	75 ed                	jne    0x409553
409566:	8d 47 ff             	lea    -0x1(%edi),%eax
409569:	eb 02                	jmp    0x40956d
40956b:	31 c0                	xor    %eax,%eax
40956d:	5b                   	pop    %ebx
40956e:	5e                   	pop    %esi
40956f:	5f                   	pop    %edi
409570:	c3                   	ret
409571:	8d 40 00             	lea    0x0(%eax),%eax
409574:	53                   	push   %ebx
409575:	56                   	push   %esi
409576:	8b f2                	mov    %edx,%esi
409578:	8b d8                	mov    %eax,%ebx
40957a:	8b c6                	mov    %esi,%eax
40957c:	8b d3                	mov    %ebx,%edx
40957e:	e8 bd b3 ff ff       	call   0x404940
409583:	5e                   	pop    %esi
409584:	5b                   	pop    %ebx
409585:	c3                   	ret
409586:	8b c0                	mov    %eax,%eax
409588:	53                   	push   %ebx
409589:	8b d8                	mov    %eax,%ebx
40958b:	83 c3 04             	add    $0x4,%ebx
40958e:	8b c3                	mov    %ebx,%eax
409590:	e8 67 97 ff ff       	call   0x402cfc
409595:	89 18                	mov    %ebx,(%eax)
409597:	83 c0 04             	add    $0x4,%eax
40959a:	5b                   	pop    %ebx
40959b:	c3                   	ret
40959c:	83 e8 04             	sub    $0x4,%eax
40959f:	8b 00                	mov    (%eax),%eax
4095a1:	83 e8 04             	sub    $0x4,%eax
4095a4:	c3                   	ret
4095a5:	8d 40 00             	lea    0x0(%eax),%eax
4095a8:	53                   	push   %ebx
4095a9:	56                   	push   %esi
4095aa:	8b d8                	mov    %eax,%ebx
4095ac:	85 db                	test   %ebx,%ebx
4095ae:	75 05                	jne    0x4095b5
4095b0:	33 c0                	xor    %eax,%eax
4095b2:	5e                   	pop    %esi
4095b3:	5b                   	pop    %ebx
4095b4:	c3                   	ret
4095b5:	8b c3                	mov    %ebx,%eax
4095b7:	e8 90 fd ff ff       	call   0x40934c
4095bc:	8b f0                	mov    %eax,%esi
4095be:	46                   	inc    %esi
4095bf:	8b c6                	mov    %esi,%eax
4095c1:	e8 c2 ff ff ff       	call   0x409588
4095c6:	8b ce                	mov    %esi,%ecx
4095c8:	8b d3                	mov    %ebx,%edx
4095ca:	e8 a9 fd ff ff       	call   0x409378
4095cf:	5e                   	pop    %esi
4095d0:	5b                   	pop    %ebx
4095d1:	c3                   	ret
4095d2:	8b c0                	mov    %eax,%eax
4095d4:	85 c0                	test   %eax,%eax
4095d6:	74 0a                	je     0x4095e2
4095d8:	83 e8 04             	sub    $0x4,%eax
4095db:	8b 10                	mov    (%eax),%edx
4095dd:	e8 36 97 ff ff       	call   0x402d18
4095e2:	c3                   	ret
4095e3:	90                   	nop
4095e4:	53                   	push   %ebx
4095e5:	56                   	push   %esi
4095e6:	57                   	push   %edi
4095e7:	83 c4 d8             	add    $0xffffffd8,%esp
4095ea:	8b d9                	mov    %ecx,%ebx
4095ec:	8b f2                	mov    %edx,%esi
4095ee:	8b f8                	mov    %eax,%edi
4095f0:	83 fb 1f             	cmp    $0x1f,%ebx
4095f3:	76 05                	jbe    0x4095fa
4095f5:	bb 1f 00 00 00       	mov    $0x1f,%ebx
4095fa:	8b d3                	mov    %ebx,%edx
4095fc:	4a                   	dec    %edx
4095fd:	8b c6                	mov    %esi,%eax
4095ff:	e8 28 38 00 00       	call   0x40ce2c
409604:	3c 01                	cmp    $0x1,%al
409606:	75 01                	jne    0x409609
409608:	4b                   	dec    %ebx
409609:	8b c4                	mov    %esp,%eax
40960b:	8b cb                	mov    %ebx,%ecx
40960d:	8b d6                	mov    %esi,%edx
40960f:	e8 64 fd ff ff       	call   0x409378
409614:	c6 04 1c 00          	movb   $0x0,(%esp,%ebx,1)
409618:	8b c4                	mov    %esp,%eax
40961a:	89 44 24 20          	mov    %eax,0x20(%esp)
40961e:	c6 44 24 24 06       	movb   $0x6,0x24(%esp)
409623:	8d 54 24 20          	lea    0x20(%esp),%edx
409627:	8b 04 bd 5c b8 49 00 	mov    0x49b85c(,%edi,4),%eax
40962e:	33 c9                	xor    %ecx,%ecx
409630:	e8 0f f1 ff ff       	call   0x408744
409635:	83 c4 28             	add    $0x28,%esp
409638:	5f                   	pop    %edi
409639:	5e                   	pop    %esi
40963a:	5b                   	pop    %ebx
40963b:	c3                   	ret
40963c:	53                   	push   %ebx
40963d:	8b 0d 04 78 4a 00    	mov    0x4a7804,%ecx
409643:	83 39 00             	cmpl   $0x0,(%ecx)
409646:	74 0c                	je     0x409654
409648:	8b 1d 04 78 4a 00    	mov    0x4a7804,%ebx
40964e:	8b 1b                	mov    (%ebx),%ebx
409650:	ff d3                	call   *%ebx
409652:	5b                   	pop    %ebx
409653:	c3                   	ret
409654:	b0 10                	mov    $0x10,%al
409656:	e8 f1 97 ff ff       	call   0x402e4c
40965b:	5b                   	pop    %ebx
40965c:	c3                   	ret
40965d:	8d 40 00             	lea    0x0(%eax),%eax
409660:	53                   	push   %ebx
409661:	8b d8                	mov    %eax,%ebx
409663:	8b c3                	mov    %ebx,%eax
409665:	e8 de b0 ff ff       	call   0x404748
40966a:	5b                   	pop    %ebx
40966b:	c3                   	ret
40966c:	55                   	push   %ebp
40966d:	8b ec                	mov    %esp,%ebp
40966f:	83 c4 94             	add    $0xffffff94,%esp
409672:	53                   	push   %ebx
409673:	33 db                	xor    %ebx,%ebx
409675:	89 5d ec             	mov    %ebx,-0x14(%ebp)
409678:	53                   	push   %ebx
409679:	56                   	push   %esi
40967a:	57                   	push   %edi
40967b:	89 c7                	mov    %eax,%edi
40967d:	89 ce                	mov    %ecx,%esi
40967f:	31 c0                	xor    %eax,%eax
409681:	89 45 fc             	mov    %eax,-0x4(%ebp)
409684:	03 4d 10             	add    0x10(%ebp),%ecx
409687:	89 7d f8             	mov    %edi,-0x8(%ebp)
40968a:	31 c0                	xor    %eax,%eax
40968c:	89 45 f4             	mov    %eax,-0xc(%ebp)
40968f:	89 45 f0             	mov    %eax,-0x10(%ebp)
409692:	89 45 ec             	mov    %eax,-0x14(%ebp)
409695:	09 d2                	or     %edx,%edx
409697:	74 0d                	je     0x4096a6
409699:	39 ce                	cmp    %ecx,%esi
40969b:	74 09                	je     0x4096a6
40969d:	ac                   	lods   %ds:(%esi),%al
40969e:	3c 25                	cmp    $0x25,%al
4096a0:	74 0e                	je     0x4096b0
4096a2:	aa                   	stos   %al,%es:(%edi)
4096a3:	4a                   	dec    %edx
4096a4:	75 f3                	jne    0x409699
4096a6:	89 f8                	mov    %edi,%eax
4096a8:	2b 45 f8             	sub    -0x8(%ebp),%eax
4096ab:	e9 23 03 00 00       	jmp    0x4099d3
4096b0:	39 ce                	cmp    %ecx,%esi
4096b2:	74 f2                	je     0x4096a6
4096b4:	ac                   	lods   %ds:(%esi),%al
4096b5:	3c 25                	cmp    $0x25,%al
4096b7:	74 e9                	je     0x4096a2
4096b9:	8d 5e fe             	lea    -0x2(%esi),%ebx