47734a:	75 09                	jne    0x477355
47734c:	8b 07                	mov    (%edi),%eax
47734e:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
477355:	80 7f 1c 00          	cmpb   $0x0,0x1c(%edi)
477359:	74 0b                	je     0x477366
47735b:	8b 77 18             	mov    0x18(%edi),%esi
47735e:	e8 1d 02 00 00       	call   0x477580
477363:	89 70 10             	mov    %esi,0x10(%eax)
477366:	80 7f 24 00          	cmpb   $0x0,0x24(%edi)
47736a:	74 0d                	je     0x477379
47736c:	8b 77 20             	mov    0x20(%edi),%esi
47736f:	8b cf                	mov    %edi,%ecx
477371:	e8 0a 02 00 00       	call   0x477580
477376:	89 70 14             	mov    %esi,0x14(%eax)
477379:	5f                   	pop    %edi
47737a:	5e                   	pop    %esi
47737b:	c3                   	ret
47737c:	8b ff                	mov    %edi,%edi
47737e:	56                   	push   %esi
47737f:	8b f1                	mov    %ecx,%esi
477381:	ff b6 04 04 00 00    	push   0x404(%esi)
477387:	e8 6c e4 00 00       	call   0x4857f8
47738c:	83 a6 04 04 00 00 00 	andl   $0x0,0x404(%esi)
477393:	59                   	pop    %ecx
477394:	5e                   	pop    %esi
477395:	c3                   	ret
477396:	8b ff                	mov    %edi,%edi
477398:	55                   	push   %ebp
477399:	8b ec                	mov    %esp,%ebp
47739b:	56                   	push   %esi
47739c:	8b f1                	mov    %ecx,%esi
47739e:	ff 36                	push   (%esi)
4773a0:	e8 53 e4 00 00       	call   0x4857f8
4773a5:	8b 55 08             	mov    0x8(%ebp),%edx
4773a8:	83 26 00             	andl   $0x0,(%esi)
4773ab:	59                   	pop    %ecx
4773ac:	8b 02                	mov    (%edx),%eax
4773ae:	89 06                	mov    %eax,(%esi)
4773b0:	8b c6                	mov    %esi,%eax
4773b2:	83 22 00             	andl   $0x0,(%edx)
4773b5:	5e                   	pop    %esi
4773b6:	5d                   	pop    %ebp
4773b7:	c2 04 00             	ret    $0x4
4773ba:	8b ff                	mov    %edi,%edi
4773bc:	55                   	push   %ebp
4773bd:	8b ec                	mov    %esp,%ebp
4773bf:	8b 45 0c             	mov    0xc(%ebp),%eax
4773c2:	8b 4d 08             	mov    0x8(%ebp),%ecx
4773c5:	53                   	push   %ebx
4773c6:	8b 00                	mov    (%eax),%eax
4773c8:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
4773ce:	8b 00                	mov    (%eax),%eax
4773d0:	8a 18                	mov    (%eax),%bl
4773d2:	8a 01                	mov    (%ecx),%al
4773d4:	84 c0                	test   %al,%al
4773d6:	74 11                	je     0x4773e9
4773d8:	8a d0                	mov    %al,%dl
4773da:	8a c2                	mov    %dl,%al
4773dc:	3a d3                	cmp    %bl,%dl
4773de:	74 09                	je     0x4773e9
4773e0:	41                   	inc    %ecx
4773e1:	8a 01                	mov    (%ecx),%al
4773e3:	8a d0                	mov    %al,%dl
4773e5:	84 c0                	test   %al,%al
4773e7:	75 f1                	jne    0x4773da
4773e9:	41                   	inc    %ecx
4773ea:	84 c0                	test   %al,%al
4773ec:	74 29                	je     0x477417
4773ee:	eb 09                	jmp    0x4773f9
4773f0:	3c 65                	cmp    $0x65,%al
4773f2:	74 0b                	je     0x4773ff
4773f4:	3c 45                	cmp    $0x45,%al
4773f6:	74 07                	je     0x4773ff
4773f8:	41                   	inc    %ecx
4773f9:	8a 01                	mov    (%ecx),%al
4773fb:	84 c0                	test   %al,%al
4773fd:	75 f1                	jne    0x4773f0
4773ff:	8b d1                	mov    %ecx,%edx
477401:	49                   	dec    %ecx
477402:	8a 01                	mov    (%ecx),%al
477404:	3c 30                	cmp    $0x30,%al
477406:	74 f9                	je     0x477401
477408:	3a c3                	cmp    %bl,%al
47740a:	75 01                	jne    0x47740d
47740c:	49                   	dec    %ecx
47740d:	8a 02                	mov    (%edx),%al
47740f:	42                   	inc    %edx
477410:	41                   	inc    %ecx
477411:	88 01                	mov    %al,(%ecx)
477413:	84 c0                	test   %al,%al
477415:	75 f6                	jne    0x47740d
477417:	5b                   	pop    %ebx
477418:	5d                   	pop    %ebp
477419:	c3                   	ret
47741a:	8b ff                	mov    %edi,%edi
47741c:	55                   	push   %ebp
47741d:	8b ec                	mov    %esp,%ebp
47741f:	8a 4d 08             	mov    0x8(%ebp),%cl
477422:	8d 41 e0             	lea    -0x20(%ecx),%eax
477425:	3c 5a                	cmp    $0x5a,%al
477427:	77 12                	ja     0x47743b
477429:	0f be c1             	movsbl %cl,%eax
47742c:	83 e8 20             	sub    $0x20,%eax
47742f:	83 e0 7f             	and    $0x7f,%eax
477432:	8a 04 45 f9 19 4a 00 	mov    0x4a19f9(,%eax,2),%al
477439:	eb 02                	jmp    0x47743d
47743b:	32 c0                	xor    %al,%al
47743d:	0f b6 4d 0c          	movzbl 0xc(%ebp),%ecx
477441:	0f b6 c0             	movzbl %al,%eax
477444:	6b c0 09             	imul   $0x9,%eax,%eax
477447:	03 c1                	add    %ecx,%eax
477449:	83 e0 7f             	and    $0x7f,%eax
47744c:	8a 04 45 f8 19 4a 00 	mov    0x4a19f8(,%eax,2),%al
477453:	5d                   	pop    %ebp
477454:	c2 08 00             	ret    $0x8
477457:	8b ff                	mov    %edi,%edi
477459:	55                   	push   %ebp
47745a:	8b ec                	mov    %esp,%ebp
47745c:	8a 4d 08             	mov    0x8(%ebp),%cl
47745f:	8d 41 e0             	lea    -0x20(%ecx),%eax
477462:	3c 5a                	cmp    $0x5a,%al
477464:	77 12                	ja     0x477478
477466:	0f be c1             	movsbl %cl,%eax
477469:	83 e8 20             	sub    $0x20,%eax
47746c:	83 e0 7f             	and    $0x7f,%eax
47746f:	8a 04 45 f9 18 4a 00 	mov    0x4a18f9(,%eax,2),%al
477476:	eb 02                	jmp    0x47747a
477478:	32 c0                	xor    %al,%al
47747a:	0f b6 c8             	movzbl %al,%ecx
47747d:	0f b6 45 0c          	movzbl 0xc(%ebp),%eax
477481:	8d 04 c8             	lea    (%eax,%ecx,8),%eax
477484:	83 e0 7f             	and    $0x7f,%eax
477487:	8a 04 45 f8 18 4a 00 	mov    0x4a18f8(,%eax,2),%al
47748e:	5d                   	pop    %ebp
47748f:	c2 08 00             	ret    $0x8
477492:	8b ff                	mov    %edi,%edi
477494:	55                   	push   %ebp
477495:	8b ec                	mov    %esp,%ebp
477497:	8b 4d 08             	mov    0x8(%ebp),%ecx
47749a:	8d 41 e0             	lea    -0x20(%ecx),%eax
47749d:	66 83 f8 5a          	cmp    $0x5a,%ax
4774a1:	77 0f                	ja     0x4774b2
4774a3:	8d 41 e0             	lea    -0x20(%ecx),%eax
4774a6:	83 e0 7f             	and    $0x7f,%eax
4774a9:	8a 04 45 f9 19 4a 00 	mov    0x4a19f9(,%eax,2),%al
4774b0:	eb 02                	jmp    0x4774b4
4774b2:	32 c0                	xor    %al,%al
4774b4:	0f b6 4d 0c          	movzbl 0xc(%ebp),%ecx
4774b8:	0f b6 c0             	movzbl %al,%eax
4774bb:	6b c0 09             	imul   $0x9,%eax,%eax
4774be:	03 c1                	add    %ecx,%eax
4774c0:	83 e0 7f             	and    $0x7f,%eax
4774c3:	8a 04 45 f8 19 4a 00 	mov    0x4a19f8(,%eax,2),%al
4774ca:	5d                   	pop    %ebp
4774cb:	c2 08 00             	ret    $0x8
4774ce:	8b ff                	mov    %edi,%edi
4774d0:	55                   	push   %ebp
4774d1:	8b ec                	mov    %esp,%ebp
4774d3:	8b 45 0c             	mov    0xc(%ebp),%eax
4774d6:	8b 55 08             	mov    0x8(%ebp),%edx
4774d9:	53                   	push   %ebx
4774da:	57                   	push   %edi
4774db:	8b 08                	mov    (%eax),%ecx
4774dd:	8a 1a                	mov    (%edx),%bl
4774df:	0f b6 c3             	movzbl %bl,%eax
4774e2:	8b b9 94 00 00 00    	mov    0x94(%ecx),%edi
4774e8:	80 3c 38 65          	cmpb   $0x65,(%eax,%edi,1)
4774ec:	74 10                	je     0x4774fe
4774ee:	56                   	push   %esi
4774ef:	8b 31                	mov    (%ecx),%esi
4774f1:	42                   	inc    %edx
4774f2:	8a 1a                	mov    (%edx),%bl
4774f4:	0f b6 c3             	movzbl %bl,%eax
4774f7:	f6 04 46 04          	testb  $0x4,(%esi,%eax,2)
4774fb:	75 f4                	jne    0x4774f1
4774fd:	5e                   	pop    %esi
4774fe:	0f b6 c3             	movzbl %bl,%eax
477501:	80 3c 38 78          	cmpb   $0x78,(%eax,%edi,1)
477505:	75 05                	jne    0x47750c
477507:	83 c2 02             	add    $0x2,%edx
47750a:	8a 1a                	mov    (%edx),%bl
47750c:	8b 81 88 00 00 00    	mov    0x88(%ecx),%eax
477512:	8b 00                	mov    (%eax),%eax
477514:	8a 00                	mov    (%eax),%al
477516:	88 02                	mov    %al,(%edx)
477518:	42                   	inc    %edx
477519:	8a 02                	mov    (%edx),%al
47751b:	8a cb                	mov    %bl,%cl
47751d:	88 1a                	mov    %bl,(%edx)
47751f:	42                   	inc    %edx
477520:	8a d8                	mov    %al,%bl
477522:	84 c9                	test   %cl,%cl
477524:	75 f3                	jne    0x477519
477526:	5f                   	pop    %edi
477527:	5b                   	pop    %ebx
477528:	5d                   	pop    %ebp
477529:	c3                   	ret
47752a:	cc                   	int3
47752b:	cc                   	int3
47752c:	cc                   	int3
47752d:	cc                   	int3
47752e:	cc                   	int3
47752f:	cc                   	int3
477530:	8b ff                	mov    %edi,%edi
477532:	55                   	push   %ebp
477533:	8b ec                	mov    %esp,%ebp
477535:	51                   	push   %ecx
477536:	56                   	push   %esi
477537:	57                   	push   %edi
477538:	8b f9                	mov    %ecx,%edi
47753a:	ff 15 30 e1 49 00    	call   *0x49e130
477540:	80 7f 08 00          	cmpb   $0x0,0x8(%edi)
477544:	89 45 fc             	mov    %eax,-0x4(%ebp)
477547:	75 0f                	jne    0x477558
477549:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
477550:	33 c0                	xor    %eax,%eax
477552:	c6 47 08 01          	movb   $0x1,0x8(%edi)
477556:	eb 03                	jmp    0x47755b
477558:	8b 47 04             	mov    0x4(%edi),%eax
47755b:	50                   	push   %eax
47755c:	8d 45 fc             	lea    -0x4(%ebp),%eax
47755f:	50                   	push   %eax
477560:	e8 56 f7 00 00       	call   0x486cbb
477565:	83 c4 08             	add    $0x8,%esp
477568:	8b f0                	mov    %eax,%esi
47756a:	89 37                	mov    %esi,(%edi)
47756c:	ff 75 fc             	push   -0x4(%ebp)
47756f:	ff 15 4c e1 49 00    	call   *0x49e14c
477575:	5f                   	pop    %edi
477576:	8b c6                	mov    %esi,%eax
477578:	5e                   	pop    %esi
477579:	8b e5                	mov    %ebp,%esp
47757b:	5d                   	pop    %ebp
47757c:	c3                   	ret
47757d:	cc                   	int3
47757e:	cc                   	int3
47757f:	cc                   	int3
477580:	8b ff                	mov    %edi,%edi
477582:	55                   	push   %ebp
477583:	8b ec                	mov    %esp,%ebp
477585:	51                   	push   %ecx
477586:	57                   	push   %edi
477587:	8b f9                	mov    %ecx,%edi
477589:	83 3f 00             	cmpl   $0x0,(%edi)
47758c:	75 41                	jne    0x4775cf
47758e:	ff 15 30 e1 49 00    	call   *0x49e130
477594:	80 7f 08 00          	cmpb   $0x0,0x8(%edi)
477598:	89 45 fc             	mov    %eax,-0x4(%ebp)
47759b:	75 0f                	jne    0x4775ac
47759d:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
4775a4:	33 c0                	xor    %eax,%eax
4775a6:	c6 47 08 01          	movb   $0x1,0x8(%edi)
4775aa:	eb 03                	jmp    0x4775af
4775ac:	8b 47 04             	mov    0x4(%edi),%eax
4775af:	56                   	push   %esi
4775b0:	50                   	push   %eax
4775b1:	8d 45 fc             	lea    -0x4(%ebp),%eax
4775b4:	50                   	push   %eax
4775b5:	e8 01 f7 00 00       	call   0x486cbb
4775ba:	83 c4 08             	add    $0x8,%esp
4775bd:	8b f0                	mov    %eax,%esi
4775bf:	89 37                	mov    %esi,(%edi)
4775c1:	ff 75 fc             	push   -0x4(%ebp)
4775c4:	ff 15 4c e1 49 00    	call   *0x49e14c
4775ca:	85 f6                	test   %esi,%esi
4775cc:	5e                   	pop    %esi
4775cd:	74 07                	je     0x4775d6
4775cf:	8b 07                	mov    (%edi),%eax
4775d1:	5f                   	pop    %edi
4775d2:	8b e5                	mov    %ebp,%esp
4775d4:	5d                   	pop    %ebp
4775d5:	c3                   	ret
4775d6:	e8 be b3 00 00       	call   0x482999
4775db:	cc                   	int3
4775dc:	8b ff                	mov    %edi,%edi
4775de:	55                   	push   %ebp
4775df:	8b ec                	mov    %esp,%ebp
4775e1:	83 ec 10             	sub    $0x10,%esp
4775e4:	53                   	push   %ebx
4775e5:	56                   	push   %esi
4775e6:	8b f1                	mov    %ecx,%esi
4775e8:	8d 55 fc             	lea    -0x4(%ebp),%edx
4775eb:	57                   	push   %edi
4775ec:	33 db                	xor    %ebx,%ebx
4775ee:	43                   	inc    %ebx
4775ef:	8b 7e 08             	mov    0x8(%esi),%edi
4775f2:	8b 4e 0c             	mov    0xc(%esi),%ecx
4775f5:	53                   	push   %ebx
4775f6:	49                   	dec    %ecx
4775f7:	8b 47 18             	mov    0x18(%edi),%eax
4775fa:	6a 0a                	push   $0xa
4775fc:	51                   	push   %ecx
4775fd:	89 45 f8             	mov    %eax,-0x8(%ebp)
477600:	8b 47 1c             	mov    0x1c(%edi),%eax
477603:	51                   	push   %ecx
477604:	89 45 f4             	mov    %eax,-0xc(%ebp)
477607:	8b c4                	mov    %esp,%eax
477609:	57                   	push   %edi
47760a:	89 08                	mov    %ecx,(%eax)
47760c:	89 50 04             	mov    %edx,0x4(%eax)
47760f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
477612:	e8 15 e4 ff ff       	call   0x475a2c
477617:	8b c8                	mov    %eax,%ecx
477619:	83 c4 14             	add    $0x14,%esp
47761c:	8b 45 08             	mov    0x8(%ebp),%eax
47761f:	89 08                	mov    %ecx,(%eax)
477621:	8b 46 08             	mov    0x8(%esi),%eax
477624:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
477628:	74 06                	je     0x477630
47762a:	83 78 18 22          	cmpl   $0x22,0x18(%eax)
47762e:	74 08                	je     0x477638
477630:	8b 45 fc             	mov    -0x4(%ebp),%eax
477633:	3b 46 0c             	cmp    0xc(%esi),%eax
477636:	73 04                	jae    0x47763c
477638:	32 db                	xor    %bl,%bl
47763a:	eb 03                	jmp    0x47763f
47763c:	89 46 0c             	mov    %eax,0xc(%esi)
47763f:	8b 45 f8             	mov    -0x8(%ebp),%eax
477642:	89 47 18             	mov    %eax,0x18(%edi)
477645:	8b 45 f4             	mov    -0xc(%ebp),%eax
477648:	89 47 1c             	mov    %eax,0x1c(%edi)
47764b:	8a c3                	mov    %bl,%al
47764d:	5f                   	pop    %edi
47764e:	5e                   	pop    %esi
47764f:	5b                   	pop    %ebx
477650:	c9                   	leave
477651:	c2 04 00             	ret    $0x4
477654:	8b ff                	mov    %edi,%edi
477656:	55                   	push   %ebp
477657:	8b ec                	mov    %esp,%ebp
477659:	83 ec 10             	sub    $0x10,%esp
47765c:	53                   	push   %ebx
47765d:	56                   	push   %esi
47765e:	8b f1                	mov    %ecx,%esi
477660:	8d 55 fc             	lea    -0x4(%ebp),%edx
477663:	57                   	push   %edi
477664:	33 db                	xor    %ebx,%ebx
477666:	43                   	inc    %ebx
477667:	8b 7e 08             	mov    0x8(%esi),%edi
47766a:	8b 4e 0c             	mov    0xc(%esi),%ecx
47766d:	53                   	push   %ebx
47766e:	83 e9 02             	sub    $0x2,%ecx
477671:	8b 47 18             	mov    0x18(%edi),%eax
477674:	6a 0a                	push   $0xa
477676:	51                   	push   %ecx
477677:	89 45 f8             	mov    %eax,-0x8(%ebp)
47767a:	8b 47 1c             	mov    0x1c(%edi),%eax
47767d:	51                   	push   %ecx
47767e:	89 45 f4             	mov    %eax,-0xc(%ebp)
477681:	8b c4                	mov    %esp,%eax