524509:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
524510:	00
524511:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
524518:	00
524519:	8b 06                	mov    (%esi),%eax
52451b:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
52451f:	74 0f                	je     0x524530
524521:	68 08 92 6b 00       	push   $0x6b9208
524526:	6a ff                	push   $0xffffffff
524528:	50                   	push   %eax
524529:	e8 82 f7 fd ff       	call   0x503cb0
52452e:	eb 4a                	jmp    0x52457a
524530:	85 d2                	test   %edx,%edx
524532:	79 04                	jns    0x524538
524534:	8b 56 6c             	mov    0x6c(%esi),%edx
524537:	4a                   	dec    %edx
524538:	8b 46 68             	mov    0x68(%esi),%eax
52453b:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
52453e:	80 7c 88 01 00       	cmpb   $0x0,0x1(%eax,%ecx,4)
524543:	8d 04 88             	lea    (%eax,%ecx,4),%eax
524546:	74 13                	je     0x52455b
524548:	6a ff                	push   $0xffffffff
52454a:	68 08 92 6b 00       	push   $0x6b9208
52454f:	50                   	push   %eax
524550:	56                   	push   %esi
524551:	e8 ea 56 03 00       	call   0x559c40
524556:	83 c4 10             	add    $0x10,%esp
524559:	eb 22                	jmp    0x52457d
52455b:	c7 40 10 08 92 6b 00 	movl   $0x6b9208,0x10(%eax)
524562:	c6 40 01 ff          	movb   $0xff,0x1(%eax)
524566:	eb 15                	jmp    0x52457d
524568:	8d 45 e0             	lea    -0x20(%ebp),%eax
52456b:	50                   	push   %eax
52456c:	ff 31                	push   (%ecx)
52456e:	57                   	push   %edi
52456f:	e8 5c 1c 00 00       	call   0x5261d0
524574:	8b 5d e0             	mov    -0x20(%ebp),%ebx
524577:	89 45 f4             	mov    %eax,-0xc(%ebp)
52457a:	83 c4 0c             	add    $0xc,%esp
52457d:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
524581:	74 2c                	je     0x5245af
524583:	8b 45 cc             	mov    -0x34(%ebp),%eax
524586:	ff 30                	push   (%eax)
524588:	e8 d3 f4 ff ff       	call   0x523a60
52458d:	83 c4 04             	add    $0x4,%esp
524590:	85 c0                	test   %eax,%eax
524592:	74 1b                	je     0x5245af
524594:	8b 4e 6c             	mov    0x6c(%esi),%ecx
524597:	39 4e 70             	cmp    %ecx,0x70(%esi)
52459a:	7f 75                	jg     0x524611
52459c:	8b 45 e8             	mov    -0x18(%ebp),%eax
52459f:	50                   	push   %eax
5245a0:	ff 75 f4             	push   -0xc(%ebp)
5245a3:	50                   	push   %eax
5245a4:	6a 65                	push   $0x65
5245a6:	56                   	push   %esi
5245a7:	e8 54 1f fe ff       	call   0x506500
5245ac:	83 c4 14             	add    $0x14,%esp
5245af:	8b 55 f4             	mov    -0xc(%ebp),%edx
5245b2:	85 db                	test   %ebx,%ebx
5245b4:	74 14                	je     0x5245ca
5245b6:	8a 47 13             	mov    0x13(%edi),%al
5245b9:	3c 08                	cmp    $0x8,%al
5245bb:	73 0d                	jae    0x5245ca
5245bd:	0f b6 c0             	movzbl %al,%eax
5245c0:	89 9c 87 94 00 00 00 	mov    %ebx,0x94(%edi,%eax,4)
5245c7:	fe 47 13             	incb   0x13(%edi)
5245ca:	8b 45 d0             	mov    -0x30(%ebp),%eax
5245cd:	8b 00                	mov    (%eax),%eax
5245cf:	48                   	dec    %eax
5245d0:	39 45 dc             	cmp    %eax,-0x24(%ebp)
5245d3:	0f 8c 15 01 00 00    	jl     0x5246ee
5245d9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5245dc:	39 4d d4             	cmp    %ecx,-0x2c(%ebp)
5245df:	0f 85 09 01 00 00    	jne    0x5246ee
5245e5:	8b 45 ec             	mov    -0x14(%ebp),%eax
5245e8:	33 db                	xor    %ebx,%ebx
5245ea:	3b c2                	cmp    %edx,%eax
5245ec:	8b 56 6c             	mov    0x6c(%esi),%edx
5245ef:	0f 95 c3             	setne  %bl
5245f2:	8d 1c 5d 32 00 00 00 	lea    0x32(,%ebx,2),%ebx
5245f9:	39 56 70             	cmp    %edx,0x70(%esi)
5245fc:	7f 4b                	jg     0x524649
5245fe:	ff 75 f4             	push   -0xc(%ebp)
524601:	51                   	push   %ecx
524602:	50                   	push   %eax
524603:	53                   	push   %ebx
524604:	56                   	push   %esi
524605:	e8 f6 1e fe ff       	call   0x506500
52460a:	83 c4 14             	add    $0x14,%esp
52460d:	8b d0                	mov    %eax,%edx
52460f:	eb 70                	jmp    0x524681
524611:	8b 55 e8             	mov    -0x18(%ebp),%edx
524614:	8d 41 01             	lea    0x1(%ecx),%eax
524617:	8b 7d e8             	mov    -0x18(%ebp),%edi
52461a:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52461d:	89 46 6c             	mov    %eax,0x6c(%esi)
524620:	8b 46 68             	mov    0x68(%esi),%eax
524623:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
524627:	8b 55 f4             	mov    -0xc(%ebp),%edx
52462a:	89 7c 88 0c          	mov    %edi,0xc(%eax,%ecx,4)
52462e:	8b 7d c4             	mov    -0x3c(%ebp),%edi
524631:	c7 04 88 65 00 00 00 	movl   $0x65,(%eax,%ecx,4)
524638:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
52463c:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
524643:	00
524644:	e9 69 ff ff ff       	jmp    0x5245b2
524649:	8d 42 01             	lea    0x1(%edx),%eax
52464c:	89 46 6c             	mov    %eax,0x6c(%esi)
52464f:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
524652:	8b 46 68             	mov    0x68(%esi),%eax
524655:	88 1c 88             	mov    %bl,(%eax,%ecx,4)
524658:	33 db                	xor    %ebx,%ebx
52465a:	66 89 5c 88 02       	mov    %bx,0x2(%eax,%ecx,4)
52465f:	8b 5d ec             	mov    -0x14(%ebp),%ebx
524662:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
524666:	8b 5d f0             	mov    -0x10(%ebp),%ebx
524669:	89 5c 88 08          	mov    %ebx,0x8(%eax,%ecx,4)
52466d:	8b 5d f4             	mov    -0xc(%ebp),%ebx
524670:	89 5c 88 0c          	mov    %ebx,0xc(%eax,%ecx,4)
524674:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52467b:	00
52467c:	c6 44 88 01 00       	movb   $0x0,0x1(%eax,%ecx,4)
524681:	8b 06                	mov    (%esi),%eax
524683:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
524687:	74 10                	je     0x524699
524689:	ff 75 e4             	push   -0x1c(%ebp)
52468c:	6a fe                	push   $0xfffffffe
52468e:	50                   	push   %eax
52468f:	e8 1c f6 fd ff       	call   0x503cb0
524694:	83 c4 0c             	add    $0xc,%esp
524697:	eb 37                	jmp    0x5246d0
524699:	85 d2                	test   %edx,%edx
52469b:	79 04                	jns    0x5246a1
52469d:	8b 56 6c             	mov    0x6c(%esi),%edx
5246a0:	4a                   	dec    %edx
5246a1:	8b 46 68             	mov    0x68(%esi),%eax
5246a4:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
5246a7:	80 7c 88 01 00       	cmpb   $0x0,0x1(%eax,%ecx,4)
5246ac:	8d 04 88             	lea    (%eax,%ecx,4),%eax
5246af:	74 11                	je     0x5246c2
5246b1:	6a fe                	push   $0xfffffffe
5246b3:	ff 75 e4             	push   -0x1c(%ebp)
5246b6:	50                   	push   %eax
5246b7:	56                   	push   %esi
5246b8:	e8 83 55 03 00       	call   0x559c40
5246bd:	83 c4 10             	add    $0x10,%esp
5246c0:	eb 0e                	jmp    0x5246d0
5246c2:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5246c5:	85 c9                	test   %ecx,%ecx
5246c7:	74 07                	je     0x5246d0
5246c9:	89 48 10             	mov    %ecx,0x10(%eax)
5246cc:	c6 40 01 fe          	movb   $0xfe,0x1(%eax)
5246d0:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5246d3:	85 c9                	test   %ecx,%ecx
5246d5:	0f 8e e1 00 00 00    	jle    0x5247bc
5246db:	8b 45 c0             	mov    -0x40(%ebp),%eax
5246de:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5246e1:	8a 00                	mov    (%eax),%al
5246e3:	0c 10                	or     $0x10,%al
5246e5:	66 0f be d0          	movsbw %al,%dx
5246e9:	e9 c6 00 00 00       	jmp    0x5247b4
5246ee:	8b 45 ec             	mov    -0x14(%ebp),%eax
5246f1:	33 db                	xor    %ebx,%ebx
5246f3:	3b c2                	cmp    %edx,%eax
5246f5:	8b 56 6c             	mov    0x6c(%esi),%edx
5246f8:	0f 95 c3             	setne  %bl
5246fb:	8d 1c 5d 33 00 00 00 	lea    0x33(,%ebx,2),%ebx
524702:	39 56 70             	cmp    %edx,0x70(%esi)
524705:	7f 15                	jg     0x52471c
524707:	ff 75 f4             	push   -0xc(%ebp)
52470a:	ff 75 d8             	push   -0x28(%ebp)
52470d:	50                   	push   %eax
52470e:	53                   	push   %ebx
52470f:	56                   	push   %esi
524710:	e8 eb 1d fe ff       	call   0x506500
524715:	83 c4 14             	add    $0x14,%esp
524718:	8b d0                	mov    %eax,%edx
52471a:	eb 38                	jmp    0x524754
52471c:	8d 42 01             	lea    0x1(%edx),%eax
52471f:	89 46 6c             	mov    %eax,0x6c(%esi)
524722:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
524725:	8b 46 68             	mov    0x68(%esi),%eax
524728:	88 1c 88             	mov    %bl,(%eax,%ecx,4)
52472b:	33 db                	xor    %ebx,%ebx
52472d:	66 89 5c 88 02       	mov    %bx,0x2(%eax,%ecx,4)
524732:	8b 5d ec             	mov    -0x14(%ebp),%ebx
524735:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
524739:	8b 5d d8             	mov    -0x28(%ebp),%ebx
52473c:	89 5c 88 08          	mov    %ebx,0x8(%eax,%ecx,4)
524740:	8b 5d f4             	mov    -0xc(%ebp),%ebx
524743:	89 5c 88 0c          	mov    %ebx,0xc(%eax,%ecx,4)
524747:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52474e:	00
52474f:	c6 44 88 01 00       	movb   $0x0,0x1(%eax,%ecx,4)
524754:	8b 06                	mov    (%esi),%eax
524756:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
52475a:	74 10                	je     0x52476c
52475c:	ff 75 e4             	push   -0x1c(%ebp)
52475f:	6a fe                	push   $0xfffffffe
524761:	50                   	push   %eax
524762:	e8 49 f5 fd ff       	call   0x503cb0
524767:	83 c4 0c             	add    $0xc,%esp
52476a:	eb 37                	jmp    0x5247a3
52476c:	85 d2                	test   %edx,%edx
52476e:	79 04                	jns    0x524774
524770:	8b 56 6c             	mov    0x6c(%esi),%edx
524773:	4a                   	dec    %edx
524774:	8b 46 68             	mov    0x68(%esi),%eax
524777:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
52477a:	80 7c 88 01 00       	cmpb   $0x0,0x1(%eax,%ecx,4)
52477f:	8d 04 88             	lea    (%eax,%ecx,4),%eax
524782:	74 11                	je     0x524795
524784:	6a fe                	push   $0xfffffffe
524786:	ff 75 e4             	push   -0x1c(%ebp)
524789:	50                   	push   %eax
52478a:	56                   	push   %esi
52478b:	e8 b0 54 03 00       	call   0x559c40
524790:	83 c4 10             	add    $0x10,%esp
524793:	eb 0e                	jmp    0x5247a3
524795:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
524798:	85 c9                	test   %ecx,%ecx
52479a:	74 07                	je     0x5247a3
52479c:	89 48 10             	mov    %ecx,0x10(%eax)
52479f:	c6 40 01 fe          	movb   $0xfe,0x1(%eax)
5247a3:	8b 46 6c             	mov    0x6c(%esi),%eax
5247a6:	85 c0                	test   %eax,%eax
5247a8:	7e 12                	jle    0x5247bc
5247aa:	8b 4d c0             	mov    -0x40(%ebp),%ecx
5247ad:	66 0f be 11          	movsbw (%ecx),%dx
5247b1:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
5247b4:	8b 46 68             	mov    0x68(%esi),%eax
5247b7:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
5247bc:	8b 55 d0             	mov    -0x30(%ebp),%edx
5247bf:	8b 45 dc             	mov    -0x24(%ebp),%eax
5247c2:	8b 4d cc             	mov    -0x34(%ebp),%ecx
5247c5:	40                   	inc    %eax
5247c6:	83 c1 14             	add    $0x14,%ecx
5247c9:	89 45 dc             	mov    %eax,-0x24(%ebp)
5247cc:	3b 02                	cmp    (%edx),%eax
5247ce:	8b 55 bc             	mov    -0x44(%ebp),%edx
5247d1:	89 4d cc             	mov    %ecx,-0x34(%ebp)
5247d4:	0f 8c b9 fc ff ff    	jl     0x524493
5247da:	8b 5d e8             	mov    -0x18(%ebp),%ebx
5247dd:	85 db                	test   %ebx,%ebx
5247df:	0f 84 97 00 00 00    	je     0x52487c
5247e5:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5247e8:	39 4e 70             	cmp    %ecx,0x70(%esi)
5247eb:	7f 13                	jg     0x524800
5247ed:	6a 00                	push   $0x0
5247ef:	ff 75 d4             	push   -0x2c(%ebp)
5247f2:	53                   	push   %ebx
5247f3:	6a 32                	push   $0x32
5247f5:	56                   	push   %esi
5247f6:	e8 05 1d fe ff       	call   0x506500
5247fb:	83 c4 14             	add    $0x14,%esp
5247fe:	eb 2e                	jmp    0x52482e
524800:	8b 55 d4             	mov    -0x2c(%ebp),%edx
524803:	8d 41 01             	lea    0x1(%ecx),%eax
524806:	89 46 6c             	mov    %eax,0x6c(%esi)
524809:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52480c:	8b 46 68             	mov    0x68(%esi),%eax
52480f:	c7 04 88 32 00 00 00 	movl   $0x32,(%eax,%ecx,4)
524816:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
52481a:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
52481e:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
524825:	00
524826:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52482d:	00
52482e:	8b 4e 6c             	mov    0x6c(%esi),%ecx
524831:	39 4e 70             	cmp    %ecx,0x70(%esi)
524834:	7f 14                	jg     0x52484a
524836:	6a 00                	push   $0x0
524838:	ff 75 f0             	push   -0x10(%ebp)
52483b:	6a 00                	push   $0x0
52483d:	6a 0b                	push   $0xb
52483f:	56                   	push   %esi
524840:	e8 bb 1c fe ff       	call   0x506500
524845:	83 c4 14             	add    $0x14,%esp
524848:	eb 32                	jmp    0x52487c
52484a:	8b 55 f0             	mov    -0x10(%ebp),%edx
52484d:	8d 41 01             	lea    0x1(%ecx),%eax
524850:	89 46 6c             	mov    %eax,0x6c(%esi)
524853:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
524856:	8b 46 68             	mov    0x68(%esi),%eax
524859:	c7 04 88 0b 00 00 00 	movl   $0xb,(%eax,%ecx,4)
524860:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
524867:	00
524868:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
52486c:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
524873:	00
524874:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52487b:	00
52487c:	8b 4e 0c             	mov    0xc(%esi),%ecx
52487f:	8b 55 d8             	mov    -0x28(%ebp),%edx
524882:	f7 d2                	not    %edx
524884:	8b 41 3c             	mov    0x3c(%ecx),%eax
524887:	03 41 38             	add    0x38(%ecx),%eax
52488a:	79 0d                	jns    0x524899
52488c:	52                   	push   %edx
52488d:	56                   	push   %esi
52488e:	51                   	push   %ecx
52488f:	e8 0c ef fe ff       	call   0x5137a0
524894:	83 c4 0c             	add    $0xc,%esp
524897:	eb 09                	jmp    0x5248a2
524899:	8b 49 40             	mov    0x40(%ecx),%ecx
52489c:	8b 46 6c             	mov    0x6c(%esi),%eax
52489f:	89 04 91             	mov    %eax,(%ecx,%edx,4)
5248a2:	85 db                	test   %ebx,%ebx
5248a4:	0f 84 db 06 00 00    	je     0x524f85
5248aa:	8a 47 13             	mov    0x13(%edi),%al
5248ad:	3c 08                	cmp    $0x8,%al
5248af:	0f 83 d0 06 00 00    	jae    0x524f85
5248b5:	0f b6 c0             	movzbl %al,%eax
5248b8:	89 9c 87 94 00 00 00 	mov    %ebx,0x94(%edi,%eax,4)
5248bf:	fe 47 13             	incb   0x13(%edi)
5248c2:	e9 be 06 00 00       	jmp    0x524f85
5248c7:	8b 55 f0             	mov    -0x10(%ebp),%edx
5248ca:	39 55 d4             	cmp    %edx,-0x2c(%ebp)
5248cd:	75 05                	jne    0x5248d4
5248cf:	89 55 d8             	mov    %edx,-0x28(%ebp)
5248d2:	eb 0c                	jmp    0x5248e0
5248d4:	ff 4f 38             	decl   0x38(%edi)
5248d7:	8b 47 38             	mov    0x38(%edi),%eax
5248da:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5248dd:	89 45 d8             	mov    %eax,-0x28(%ebp)
5248e0:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
5248e4:	0f 85 9b 06 00 00    	jne    0x524f85
5248ea:	85 db                	test   %ebx,%ebx
5248ec:	0f 8e c2 00 00 00    	jle    0x5249b4
5248f2:	8b 45 e8             	mov    -0x18(%ebp),%eax
5248f5:	8b f9                	mov    %ecx,%edi
5248f7:	33 db                	xor    %ebx,%ebx
5248f9:	89 45 d0             	mov    %eax,-0x30(%ebp)
5248fc:	0f 1f 40 00          	nopl   0x0(%eax)
524900:	8b 45 e0             	mov    -0x20(%ebp),%eax
524903:	8b 48 0c             	mov    0xc(%eax),%ecx
524906:	8a 01                	mov    (%ecx),%al
524908:	88 45 cb             	mov    %al,-0x35(%ebp)
52490b:	3c ad                	cmp    $0xad,%al
52490d:	75 03                	jne    0x524912
52490f:	8a 41 02             	mov    0x2(%ecx),%al
524912:	3c ae                	cmp    $0xae,%al
524914:	75 07                	jne    0x52491d
524916:	8b 51 14             	mov    0x14(%ecx),%edx
524919:	8b 02                	mov    (%edx),%eax
52491b:	eb 0c                	jmp    0x524929
52491d:	3c 88                	cmp    $0x88,%al
52491f:	75 26                	jne    0x524947
524921:	8b 51 14             	mov    0x14(%ecx),%edx