51531a:	83 c4 04             	add    $0x4,%esp
51531d:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
515321:	8b 40 0c             	mov    0xc(%eax),%eax
515324:	8b 40 38             	mov    0x38(%eax),%eax
515327:	8b 40 28             	mov    0x28(%eax),%eax
51532a:	0f c8                	bswap  %eax
51532c:	89 45 f4             	mov    %eax,-0xc(%ebp)
51532f:	74 0f                	je     0x515340
515331:	83 46 0c ff          	addl   $0xffffffff,0xc(%esi)
515335:	75 09                	jne    0x515340
515337:	56                   	push   %esi
515338:	e8 93 36 04 00       	call   0x5589d0
51533d:	83 c4 04             	add    $0x4,%esp
515340:	8b 4d fc             	mov    -0x4(%ebp),%ecx
515343:	8b 47 10             	mov    0x10(%edi),%eax
515346:	8b 44 08 0c          	mov    0xc(%eax,%ecx,1),%eax
51534a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
51534d:	3b 08                	cmp    (%eax),%ecx
51534f:	74 16                	je     0x515367
515351:	ff 75 f8             	push   -0x8(%ebp)
515354:	57                   	push   %edi
515355:	e8 56 2c 02 00       	call   0x537fb0
51535a:	8b 45 08             	mov    0x8(%ebp),%eax
51535d:	83 c4 08             	add    $0x8,%esp
515360:	c7 40 0c 11 00 00 00 	movl   $0x11,0xc(%eax)
515367:	85 db                	test   %ebx,%ebx
515369:	74 46                	je     0x5153b1
51536b:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51536f:	74 12                	je     0x515383
515371:	ff 46 0c             	incl   0xc(%esi)
515374:	80 7e 0a 00          	cmpb   $0x0,0xa(%esi)
515378:	75 09                	jne    0x515383
51537a:	56                   	push   %esi
51537b:	e8 50 1c fe ff       	call   0x4f6fd0
515380:	83 c4 04             	add    $0x4,%esp
515383:	6a 00                	push   $0x0
515385:	56                   	push   %esi
515386:	e8 a5 5d 00 00       	call   0x51b130
51538b:	83 c4 08             	add    $0x8,%esp
51538e:	85 c0                	test   %eax,%eax
515390:	75 0a                	jne    0x51539c
515392:	50                   	push   %eax
515393:	56                   	push   %esi
515394:	e8 37 5e 00 00       	call   0x51b1d0
515399:	83 c4 08             	add    $0x8,%esp
51539c:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
5153a0:	74 0f                	je     0x5153b1
5153a2:	83 46 0c ff          	addl   $0xffffffff,0xc(%esi)
5153a6:	75 09                	jne    0x5153b1
5153a8:	56                   	push   %esi
5153a9:	e8 22 36 04 00       	call   0x5589d0
5153ae:	83 c4 04             	add    $0x4,%esp
5153b1:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5153b4:	83 45 fc 10          	addl   $0x10,-0x4(%ebp)
5153b8:	43                   	inc    %ebx
5153b9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5153bc:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5153bf:	3b 5f 14             	cmp    0x14(%edi),%ebx
5153c2:	0f 8c bc fe ff ff    	jl     0x515284
5153c8:	5e                   	pop    %esi
5153c9:	5b                   	pop    %ebx
5153ca:	5f                   	pop    %edi
5153cb:	8b e5                	mov    %ebp,%esp
5153cd:	5d                   	pop    %ebp
5153ce:	c3                   	ret
5153cf:	cc                   	int3
5153d0:	55                   	push   %ebp
5153d1:	8b ec                	mov    %esp,%ebp
5153d3:	8b 45 0c             	mov    0xc(%ebp),%eax
5153d6:	83 ec 08             	sub    $0x8,%esp
5153d9:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
5153dd:	53                   	push   %ebx
5153de:	56                   	push   %esi
5153df:	57                   	push   %edi
5153e0:	75 79                	jne    0x51545b
5153e2:	8b 48 08             	mov    0x8(%eax),%ecx
5153e5:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5153e8:	85 c9                	test   %ecx,%ecx
5153ea:	74 6f                	je     0x51545b
5153ec:	8b 45 08             	mov    0x8(%ebp),%eax
5153ef:	85 c0                	test   %eax,%eax
5153f1:	74 68                	je     0x51545b
5153f3:	8b 10                	mov    (%eax),%edx
5153f5:	33 ff                	xor    %edi,%edi
5153f7:	89 55 0c             	mov    %edx,0xc(%ebp)
5153fa:	85 d2                	test   %edx,%edx
5153fc:	7e 53                	jle    0x515451
5153fe:	8d 58 08             	lea    0x8(%eax),%ebx
515401:	8b 33                	mov    (%ebx),%esi
515403:	8b c1                	mov    %ecx,%eax
515405:	2b f1                	sub    %ecx,%esi
515407:	0f b6 10             	movzbl (%eax),%edx
51540a:	0f b6 0c 06          	movzbl (%esi,%eax,1),%ecx
51540e:	3b d1                	cmp    %ecx,%edx
515410:	75 1b                	jne    0x51542d
515412:	85 d2                	test   %edx,%edx
515414:	75 29                	jne    0x51543f
515416:	8b 45 10             	mov    0x10(%ebp),%eax
515419:	8b 4d 08             	mov    0x8(%ebp),%ecx
51541c:	c1 e7 04             	shl    $0x4,%edi
51541f:	89 08                	mov    %ecx,(%eax)
515421:	8d 41 08             	lea    0x8(%ecx),%eax
515424:	03 c7                	add    %edi,%eax
515426:	5f                   	pop    %edi
515427:	5e                   	pop    %esi
515428:	5b                   	pop    %ebx
515429:	8b e5                	mov    %ebp,%esp
51542b:	5d                   	pop    %ebp
51542c:	c3                   	ret
51542d:	0f b6 89 20 2a 6b 00 	movzbl 0x6b2a20(%ecx),%ecx
515434:	0f b6 92 20 2a 6b 00 	movzbl 0x6b2a20(%edx),%edx
51543b:	2b d1                	sub    %ecx,%edx
51543d:	75 03                	jne    0x515442
51543f:	40                   	inc    %eax
515440:	eb c5                	jmp    0x515407
515442:	8b 4d fc             	mov    -0x4(%ebp),%ecx
515445:	47                   	inc    %edi
515446:	83 c3 10             	add    $0x10,%ebx
515449:	3b 7d 0c             	cmp    0xc(%ebp),%edi
51544c:	7c b3                	jl     0x515401
51544e:	8b 45 08             	mov    0x8(%ebp),%eax
515451:	8b 40 04             	mov    0x4(%eax),%eax
515454:	89 45 08             	mov    %eax,0x8(%ebp)
515457:	85 c0                	test   %eax,%eax
515459:	75 98                	jne    0x5153f3
51545b:	5f                   	pop    %edi
51545c:	5e                   	pop    %esi
51545d:	33 c0                	xor    %eax,%eax
51545f:	5b                   	pop    %ebx
515460:	8b e5                	mov    %ebp,%esp
515462:	5d                   	pop    %ebp
515463:	c3                   	ret
515464:	cc                   	int3
515465:	cc                   	int3
515466:	cc                   	int3
515467:	cc                   	int3
515468:	cc                   	int3
515469:	cc                   	int3
51546a:	cc                   	int3
51546b:	cc                   	int3
51546c:	cc                   	int3
51546d:	cc                   	int3
51546e:	cc                   	int3
51546f:	cc                   	int3
515470:	55                   	push   %ebp
515471:	8b ec                	mov    %esp,%ebp
515473:	8b 4d 0c             	mov    0xc(%ebp),%ecx
515476:	8b 41 04             	mov    0x4(%ecx),%eax
515479:	84 c0                	test   %al,%al
51547b:	78 5c                	js     0x5154d9
51547d:	0d 80 00 00 00       	or     $0x80,%eax
515482:	89 41 04             	mov    %eax,0x4(%ecx)
515485:	8b 45 08             	mov    0x8(%ebp),%eax
515488:	53                   	push   %ebx
515489:	8b 59 20             	mov    0x20(%ecx),%ebx
51548c:	57                   	push   %edi
51548d:	8b 00                	mov    (%eax),%eax
51548f:	33 ff                	xor    %edi,%edi
515491:	89 45 0c             	mov    %eax,0xc(%ebp)
515494:	39 3b                	cmp    %edi,(%ebx)
515496:	7e 3f                	jle    0x5154d7
515498:	56                   	push   %esi
515499:	8d 73 1c             	lea    0x1c(%ebx),%esi
51549c:	0f 1f 40 00          	nopl   0x0(%eax)
5154a0:	8b 56 fc             	mov    -0x4(%esi),%edx
5154a3:	f6 42 24 02          	testb  $0x2,0x24(%edx)
5154a7:	74 25                	je     0x5154ce
5154a9:	8b 0e                	mov    (%esi),%ecx
5154ab:	85 c9                	test   %ecx,%ecx
5154ad:	74 1f                	je     0x5154ce
5154af:	8b 41 34             	mov    0x34(%ecx),%eax
5154b2:	85 c0                	test   %eax,%eax
5154b4:	74 09                	je     0x5154bf
5154b6:	8b c8                	mov    %eax,%ecx
5154b8:	8b 41 34             	mov    0x34(%ecx),%eax
5154bb:	85 c0                	test   %eax,%eax
5154bd:	75 f7                	jne    0x5154b6
5154bf:	6a 40                	push   $0x40
5154c1:	51                   	push   %ecx
5154c2:	52                   	push   %edx
5154c3:	ff 75 0c             	push   0xc(%ebp)
5154c6:	e8 35 6b 02 00       	call   0x53c000
5154cb:	83 c4 10             	add    $0x10,%esp
5154ce:	47                   	inc    %edi
5154cf:	83 c6 48             	add    $0x48,%esi
5154d2:	3b 3b                	cmp    (%ebx),%edi
5154d4:	7c ca                	jl     0x5154a0
5154d6:	5e                   	pop    %esi
5154d7:	5f                   	pop    %edi
5154d8:	5b                   	pop    %ebx
5154d9:	5d                   	pop    %ebp
5154da:	c3                   	ret
5154db:	cc                   	int3
5154dc:	cc                   	int3
5154dd:	cc                   	int3
5154de:	cc                   	int3
5154df:	cc                   	int3
5154e0:	55                   	push   %ebp
5154e1:	8b ec                	mov    %esp,%ebp
5154e3:	83 ec 60             	sub    $0x60,%esp
5154e6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5154e9:	53                   	push   %ebx
5154ea:	56                   	push   %esi
5154eb:	8b 75 08             	mov    0x8(%ebp),%esi
5154ee:	0f b7 41 04          	movzwl 0x4(%ecx),%eax
5154f2:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
5154f9:	8b 1e                	mov    (%esi),%ebx
5154fb:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5154fe:	8b 13                	mov    (%ebx),%edx
515500:	83 49 04 40          	orl    $0x40,0x4(%ecx)
515504:	89 55 f4             	mov    %edx,-0xc(%ebp)
515507:	80 7a 51 00          	cmpb   $0x0,0x51(%edx)
51550b:	74 0b                	je     0x515518
51550d:	5e                   	pop    %esi
51550e:	b8 02 00 00 00       	mov    $0x2,%eax
515513:	5b                   	pop    %ebx
515514:	8b e5                	mov    %ebp,%esp
515516:	5d                   	pop    %ebp
515517:	c3                   	ret
515518:	a8 40                	test   $0x40,%al
51551a:	74 0b                	je     0x515527
51551c:	5e                   	pop    %esi
51551d:	b8 01 00 00 00       	mov    $0x1,%eax
515522:	5b                   	pop    %ebx
515523:	8b e5                	mov    %ebp,%esp
515525:	5d                   	pop    %ebp
515526:	c3                   	ret
515527:	66 83 7e 14 00       	cmpw   $0x0,0x14(%esi)
51552c:	74 09                	je     0x515537
51552e:	ff 43 64             	incl   0x64(%ebx)
515531:	8b 43 64             	mov    0x64(%ebx),%eax
515534:	89 41 10             	mov    %eax,0x10(%ecx)
515537:	8b 41 20             	mov    0x20(%ecx),%eax
51553a:	89 45 f0             	mov    %eax,-0x10(%ebp)
51553d:	8b 41 1c             	mov    0x1c(%ecx),%eax
515540:	8b 49 40             	mov    0x40(%ecx),%ecx
515543:	89 45 cc             	mov    %eax,-0x34(%ebp)
515546:	85 c9                	test   %ecx,%ecx
515548:	74 0f                	je     0x515559
51554a:	8b 83 08 01 00 00    	mov    0x108(%ebx),%eax
515550:	89 41 04             	mov    %eax,0x4(%ecx)
515553:	89 8b 08 01 00 00    	mov    %ecx,0x108(%ebx)
515559:	8b 4d f0             	mov    -0x10(%ebp),%ecx
51555c:	57                   	push   %edi
51555d:	51                   	push   %ecx
51555e:	53                   	push   %ebx
51555f:	e8 ac 77 02 00       	call   0x53cd10
515564:	33 ff                	xor    %edi,%edi
515566:	8d 41 08             	lea    0x8(%ecx),%eax
515569:	83 c4 08             	add    $0x8,%esp
51556c:	89 7d dc             	mov    %edi,-0x24(%ebp)
51556f:	8b d8                	mov    %eax,%ebx
515571:	89 45 b4             	mov    %eax,-0x4c(%ebp)
515574:	39 39                	cmp    %edi,(%ecx)
515576:	0f 8e 97 01 00 00    	jle    0x515713
51557c:	0f 1f 40 00          	nopl   0x0(%eax)
515580:	f6 43 28 20          	testb  $0x20,0x28(%ebx)
515584:	0f 85 77 01 00 00    	jne    0x515701
51558a:	53                   	push   %ebx
51558b:	56                   	push   %esi
51558c:	e8 df 32 05 00       	call   0x568870
515591:	83 c4 08             	add    $0x8,%esp
515594:	85 c0                	test   %eax,%eax
515596:	75 32                	jne    0x5155ca
515598:	39 43 10             	cmp    %eax,0x10(%ebx)
51559b:	0f 85 49 01 00 00    	jne    0x5156ea
5155a1:	39 43 08             	cmp    %eax,0x8(%ebx)
5155a4:	75 30                	jne    0x5155d6
5155a6:	ff 73 14             	push   0x14(%ebx)
5155a9:	56                   	push   %esi
5155aa:	e8 41 a8 03 00       	call   0x54fdf0
5155af:	83 c4 08             	add    $0x8,%esp
5155b2:	85 c0                	test   %eax,%eax
5155b4:	75 14                	jne    0x5155ca
5155b6:	53                   	push   %ebx
5155b7:	ff 75 f8             	push   -0x8(%ebp)
5155ba:	e8 c1 dd 00 00       	call   0x523380
5155bf:	83 c4 08             	add    $0x8,%esp
5155c2:	85 c0                	test   %eax,%eax
5155c4:	0f 84 20 01 00 00    	je     0x5156ea
5155ca:	5f                   	pop    %edi
5155cb:	5e                   	pop    %esi
5155cc:	b8 02 00 00 00       	mov    $0x2,%eax
5155d1:	5b                   	pop    %ebx
5155d2:	8b e5                	mov    %ebp,%esp
5155d4:	5d                   	pop    %ebp
5155d5:	c3                   	ret
5155d6:	53                   	push   %ebx
5155d7:	6a 00                	push   $0x0
5155d9:	ff 75 f8             	push   -0x8(%ebp)
5155dc:	e8 4f b6 01 00       	call   0x530c30
5155e1:	8b f8                	mov    %eax,%edi
5155e3:	83 c4 0c             	add    $0xc,%esp
5155e6:	89 7b 10             	mov    %edi,0x10(%ebx)
5155e9:	85 ff                	test   %edi,%edi
5155eb:	74 dd                	je     0x5155ca
5155ed:	8b 47 20             	mov    0x20(%edi),%eax
5155f0:	3d ff ff 00 00       	cmp    $0xffff,%eax
5155f5:	0f 83 17 02 00 00    	jae    0x515812
5155fb:	40                   	inc    %eax
5155fc:	83 7f 38 00          	cmpl   $0x0,0x38(%edi)
515600:	89 47 20             	mov    %eax,0x20(%edi)
515603:	75 1e                	jne    0x515623
515605:	53                   	push   %ebx
515606:	ff 75 f8             	push   -0x8(%ebp)
515609:	e8 72 27 fe ff       	call   0x4f7d80
51560e:	83 c4 08             	add    $0x8,%esp
515611:	85 c0                	test   %eax,%eax
515613:	75 b5                	jne    0x5155ca
515615:	39 47 38             	cmp    %eax,0x38(%edi)
515618:	75 09                	jne    0x515623
51561a:	39 47 0c             	cmp    %eax,0xc(%edi)
51561d:	0f 84 c4 00 00 00    	je     0x5156e7
515623:	8a 46 14             	mov    0x14(%esi),%al
515626:	57                   	push   %edi
515627:	ff 75 f8             	push   -0x8(%ebp)
51562a:	88 45 ff             	mov    %al,-0x1(%ebp)
51562d:	e8 ae 85 03 00       	call   0x54dbe0
515632:	83 c4 08             	add    $0x8,%esp
515635:	85 c0                	test   %eax,%eax
515637:	75 91                	jne    0x5155ca
515639:	8b 75 f4             	mov    -0xc(%ebp),%esi
51563c:	39 47 0c             	cmp    %eax,0xc(%edi)
51563f:	74 1f                	je     0x515660
515641:	8b 46 20             	mov    0x20(%esi),%eax
515644:	25 00 00 00 80       	and    $0x80000000,%eax
515649:	83 c8 00             	or     $0x0,%eax
51564c:	75 12                	jne    0x515660
51564e:	ff 37                	push   (%edi)
515650:	68 08 b2 6b 00       	push   $0x6bb208
515655:	ff 75 f8             	push   -0x8(%ebp)
515658:	e8 03 dc 00 00       	call   0x523260
51565d:	83 c4 0c             	add    $0xc,%esp
515660:	83 7f 38 00          	cmpl   $0x0,0x38(%edi)
515664:	74 3d                	je     0x5156a3
515666:	f6 43 28 40          	testb  $0x40,0x28(%ebx)
51566a:	74 37                	je     0x5156a3
51566c:	8b 57 40             	mov    0x40(%edi),%edx
51566f:	85 d2                	test   %edx,%edx
515671:	74 30                	je     0x5156a3
515673:	8b 46 20             	mov    0x20(%esi),%eax
515676:	25 80 00 00 00       	and    $0x80,%eax
51567b:	83 c8 00             	or     $0x0,%eax
51567e:	74 07                	je     0x515687
515680:	b9 01 00 00 00       	mov    $0x1,%ecx
515685:	eb 02                	jmp    0x515689
515687:	33 c9                	xor    %ecx,%ecx
515689:	0f b6 42 11          	movzbl 0x11(%edx),%eax
51568d:	3b c1                	cmp    %ecx,%eax
51568f:	76 12                	jbe    0x5156a3