5213e3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5213e6:	56                   	push   %esi
5213e7:	8b 75 08             	mov    0x8(%ebp),%esi
5213ea:	57                   	push   %edi
5213eb:	8b 7d 10             	mov    0x10(%ebp),%edi
5213ee:	0f b7 86 1c 01 00 00 	movzwl 0x11c(%esi),%eax
5213f5:	99                   	cltd
5213f6:	3b fa                	cmp    %edx,%edi
5213f8:	72 34                	jb     0x52142e
5213fa:	77 04                	ja     0x521400
5213fc:	3b c8                	cmp    %eax,%ecx
5213fe:	76 2e                	jbe    0x52142e
521400:	83 be 18 01 00 00 00 	cmpl   $0x0,0x118(%esi)
521407:	75 15                	jne    0x52141e
521409:	ff 86 2c 01 00 00    	incl   0x12c(%esi)
52140f:	57                   	push   %edi
521410:	51                   	push   %ecx
521411:	56                   	push   %esi
521412:	e8 a9 bd fd ff       	call   0x4fd1c0
521417:	83 c4 0c             	add    $0xc,%esp
52141a:	5f                   	pop    %edi
52141b:	5e                   	pop    %esi
52141c:	5d                   	pop    %ebp
52141d:	c3                   	ret
52141e:	80 7e 51 00          	cmpb   $0x0,0x51(%esi)
521422:	0f 84 8a 00 00 00    	je     0x5214b2
521428:	5f                   	pop    %edi
521429:	33 c0                	xor    %eax,%eax
52142b:	5e                   	pop    %esi
52142c:	5d                   	pop    %ebp
52142d:	c3                   	ret
52142e:	85 ff                	test   %edi,%edi
521430:	77 42                	ja     0x521474
521432:	72 08                	jb     0x52143c
521434:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
52143a:	77 38                	ja     0x521474
52143c:	8b 86 40 01 00 00    	mov    0x140(%esi),%eax
521442:	85 c0                	test   %eax,%eax
521444:	74 12                	je     0x521458
521446:	8b 08                	mov    (%eax),%ecx
521448:	89 8e 40 01 00 00    	mov    %ecx,0x140(%esi)
52144e:	ff 86 28 01 00 00    	incl   0x128(%esi)
521454:	5f                   	pop    %edi
521455:	5e                   	pop    %esi
521456:	5d                   	pop    %ebp
521457:	c3                   	ret
521458:	8b 86 3c 01 00 00    	mov    0x13c(%esi),%eax
52145e:	85 c0                	test   %eax,%eax
521460:	74 12                	je     0x521474
521462:	8b 08                	mov    (%eax),%ecx
521464:	89 8e 3c 01 00 00    	mov    %ecx,0x13c(%esi)
52146a:	ff 86 28 01 00 00    	incl   0x128(%esi)
521470:	5f                   	pop    %edi
521471:	5e                   	pop    %esi
521472:	5d                   	pop    %ebp
521473:	c3                   	ret
521474:	8b 86 38 01 00 00    	mov    0x138(%esi),%eax
52147a:	85 c0                	test   %eax,%eax
52147c:	74 12                	je     0x521490
52147e:	8b 08                	mov    (%eax),%ecx
521480:	89 8e 38 01 00 00    	mov    %ecx,0x138(%esi)
521486:	ff 86 28 01 00 00    	incl   0x128(%esi)
52148c:	5f                   	pop    %edi
52148d:	5e                   	pop    %esi
52148e:	5d                   	pop    %ebp
52148f:	c3                   	ret
521490:	8b 86 34 01 00 00    	mov    0x134(%esi),%eax
521496:	85 c0                	test   %eax,%eax
521498:	74 12                	je     0x5214ac
52149a:	8b 08                	mov    (%eax),%ecx
52149c:	89 8e 34 01 00 00    	mov    %ecx,0x134(%esi)
5214a2:	ff 86 28 01 00 00    	incl   0x128(%esi)
5214a8:	5f                   	pop    %edi
5214a9:	5e                   	pop    %esi
5214aa:	5d                   	pop    %ebp
5214ab:	c3                   	ret
5214ac:	ff 86 30 01 00 00    	incl   0x130(%esi)
5214b2:	57                   	push   %edi
5214b3:	51                   	push   %ecx
5214b4:	56                   	push   %esi
5214b5:	e8 06 bd fd ff       	call   0x4fd1c0
5214ba:	83 c4 0c             	add    $0xc,%esp
5214bd:	5f                   	pop    %edi
5214be:	5e                   	pop    %esi
5214bf:	5d                   	pop    %ebp
5214c0:	c3                   	ret
5214c1:	cc                   	int3
5214c2:	cc                   	int3
5214c3:	cc                   	int3
5214c4:	cc                   	int3
5214c5:	cc                   	int3
5214c6:	cc                   	int3
5214c7:	cc                   	int3
5214c8:	cc                   	int3
5214c9:	cc                   	int3
5214ca:	cc                   	int3
5214cb:	cc                   	int3
5214cc:	cc                   	int3
5214cd:	cc                   	int3
5214ce:	cc                   	int3
5214cf:	cc                   	int3
5214d0:	55                   	push   %ebp
5214d1:	8b ec                	mov    %esp,%ebp
5214d3:	8b 45 08             	mov    0x8(%ebp),%eax
5214d6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5214d9:	85 c0                	test   %eax,%eax
5214db:	74 28                	je     0x521505
5214dd:	3b 88 4c 01 00 00    	cmp    0x14c(%eax),%ecx
5214e3:	73 20                	jae    0x521505
5214e5:	3b 88 44 01 00 00    	cmp    0x144(%eax),%ecx
5214eb:	72 07                	jb     0x5214f4
5214ed:	b8 80 00 00 00       	mov    $0x80,%eax
5214f2:	5d                   	pop    %ebp
5214f3:	c3                   	ret
5214f4:	3b 88 48 01 00 00    	cmp    0x148(%eax),%ecx
5214fa:	72 09                	jb     0x521505
5214fc:	0f b7 80 1e 01 00 00 	movzwl 0x11e(%eax),%eax
521503:	5d                   	pop    %ebp
521504:	c3                   	ret
521505:	51                   	push   %ecx
521506:	ff 15 3c 18 72 00    	call   *0x72183c
52150c:	83 c4 04             	add    $0x4,%esp
52150f:	5d                   	pop    %ebp
521510:	c3                   	ret
521511:	cc                   	int3
521512:	cc                   	int3
521513:	cc                   	int3
521514:	cc                   	int3
521515:	cc                   	int3
521516:	cc                   	int3
521517:	cc                   	int3
521518:	cc                   	int3
521519:	cc                   	int3
52151a:	cc                   	int3
52151b:	cc                   	int3
52151c:	cc                   	int3
52151d:	cc                   	int3
52151e:	cc                   	int3
52151f:	cc                   	int3
521520:	55                   	push   %ebp
521521:	8b ec                	mov    %esp,%ebp
521523:	8b 45 08             	mov    0x8(%ebp),%eax
521526:	56                   	push   %esi
521527:	57                   	push   %edi
521528:	8b 7d 0c             	mov    0xc(%ebp),%edi
52152b:	ff 75 10             	push   0x10(%ebp)
52152e:	57                   	push   %edi
52152f:	85 c0                	test   %eax,%eax
521531:	74 0b                	je     0x52153e
521533:	50                   	push   %eax
521534:	e8 a7 fe ff ff       	call   0x5213e0
521539:	83 c4 0c             	add    $0xc,%esp
52153c:	eb 08                	jmp    0x521546
52153e:	e8 1d fa 00 00       	call   0x530f60
521543:	83 c4 08             	add    $0x8,%esp
521546:	8b f0                	mov    %eax,%esi
521548:	85 f6                	test   %esi,%esi
52154a:	74 0c                	je     0x521558
52154c:	57                   	push   %edi
52154d:	6a 00                	push   $0x0
52154f:	56                   	push   %esi
521550:	e8 ab 24 0c 00       	call   0x5e3a00
521555:	83 c4 0c             	add    $0xc,%esp
521558:	5f                   	pop    %edi
521559:	8b c6                	mov    %esi,%eax
52155b:	5e                   	pop    %esi
52155c:	5d                   	pop    %ebp
52155d:	c3                   	ret
52155e:	cc                   	int3
52155f:	cc                   	int3
521560:	55                   	push   %ebp
521561:	8b ec                	mov    %esp,%ebp
521563:	8b 4d 0c             	mov    0xc(%ebp),%ecx
521566:	85 c9                	test   %ecx,%ecx
521568:	75 13                	jne    0x52157d
52156a:	ff 75 14             	push   0x14(%ebp)
52156d:	ff 75 10             	push   0x10(%ebp)
521570:	ff 75 08             	push   0x8(%ebp)
521573:	e8 68 fe ff ff       	call   0x5213e0
521578:	83 c4 0c             	add    $0xc,%esp
52157b:	5d                   	pop    %ebp
52157c:	c3                   	ret
52157d:	53                   	push   %ebx
52157e:	8b 5d 14             	mov    0x14(%ebp),%ebx
521581:	56                   	push   %esi
521582:	8b 75 08             	mov    0x8(%ebp),%esi
521585:	57                   	push   %edi
521586:	8b 7d 10             	mov    0x10(%ebp),%edi
521589:	3b 8e 4c 01 00 00    	cmp    0x14c(%esi),%ecx
52158f:	73 3e                	jae    0x5215cf
521591:	3b 8e 44 01 00 00    	cmp    0x144(%esi),%ecx
521597:	72 15                	jb     0x5215ae
521599:	85 db                	test   %ebx,%ebx
52159b:	77 32                	ja     0x5215cf
52159d:	72 29                	jb     0x5215c8
52159f:	81 ff 80 00 00 00    	cmp    $0x80,%edi
5215a5:	77 28                	ja     0x5215cf
5215a7:	5f                   	pop    %edi
5215a8:	5e                   	pop    %esi
5215a9:	8b c1                	mov    %ecx,%eax
5215ab:	5b                   	pop    %ebx
5215ac:	5d                   	pop    %ebp
5215ad:	c3                   	ret
5215ae:	3b 8e 48 01 00 00    	cmp    0x148(%esi),%ecx
5215b4:	72 19                	jb     0x5215cf
5215b6:	0f b7 86 1e 01 00 00 	movzwl 0x11e(%esi),%eax
5215bd:	99                   	cltd
5215be:	3b da                	cmp    %edx,%ebx
5215c0:	77 0d                	ja     0x5215cf
5215c2:	72 04                	jb     0x5215c8
5215c4:	3b f8                	cmp    %eax,%edi
5215c6:	77 07                	ja     0x5215cf
5215c8:	5f                   	pop    %edi
5215c9:	5e                   	pop    %esi
5215ca:	8b c1                	mov    %ecx,%eax
5215cc:	5b                   	pop    %ebx
5215cd:	5d                   	pop    %ebp
5215ce:	c3                   	ret
5215cf:	53                   	push   %ebx
5215d0:	57                   	push   %edi
5215d1:	51                   	push   %ecx
5215d2:	56                   	push   %esi
5215d3:	e8 48 bc fd ff       	call   0x4fd220
5215d8:	83 c4 10             	add    $0x10,%esp
5215db:	5f                   	pop    %edi
5215dc:	5e                   	pop    %esi
5215dd:	5b                   	pop    %ebx
5215de:	5d                   	pop    %ebp
5215df:	c3                   	ret
5215e0:	55                   	push   %ebp
5215e1:	8b ec                	mov    %esp,%ebp
5215e3:	56                   	push   %esi
5215e4:	57                   	push   %edi
5215e5:	ff 75 14             	push   0x14(%ebp)
5215e8:	8b 7d 0c             	mov    0xc(%ebp),%edi
5215eb:	ff 75 10             	push   0x10(%ebp)
5215ee:	57                   	push   %edi
5215ef:	ff 75 08             	push   0x8(%ebp)
5215f2:	e8 69 ff ff ff       	call   0x521560
5215f7:	8b f0                	mov    %eax,%esi
5215f9:	83 c4 10             	add    $0x10,%esp
5215fc:	85 f6                	test   %esi,%esi
5215fe:	75 12                	jne    0x521612
521600:	85 ff                	test   %edi,%edi
521602:	74 0e                	je     0x521612
521604:	57                   	push   %edi
521605:	ff 75 08             	push   0x8(%ebp)
521608:	e8 63 fd ff ff       	call   0x521370
52160d:	83 c4 08             	add    $0x8,%esp
521610:	8b c6                	mov    %esi,%eax
521612:	5f                   	pop    %edi
521613:	5e                   	pop    %esi
521614:	5d                   	pop    %ebp
521615:	c3                   	ret
521616:	cc                   	int3
521617:	cc                   	int3
521618:	cc                   	int3
521619:	cc                   	int3
52161a:	cc                   	int3
52161b:	cc                   	int3
52161c:	cc                   	int3
52161d:	cc                   	int3
52161e:	cc                   	int3
52161f:	cc                   	int3
521620:	55                   	push   %ebp
521621:	8b ec                	mov    %esp,%ebp
521623:	53                   	push   %ebx
521624:	56                   	push   %esi
521625:	8b 75 0c             	mov    0xc(%ebp),%esi
521628:	57                   	push   %edi
521629:	0f b6 06             	movzbl (%esi),%eax
52162c:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
521633:	74 19                	je     0x52164e
521635:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%eax,%eax,1)
52163c:	00 00 00 00
521640:	0f b6 46 01          	movzbl 0x1(%esi),%eax
521644:	46                   	inc    %esi
521645:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
52164c:	75 f2                	jne    0x521640
52164e:	8b 45 10             	mov    0x10(%ebp),%eax
521651:	2b c6                	sub    %esi,%eax
521653:	85 c0                	test   %eax,%eax
521655:	7e 1c                	jle    0x521673
521657:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
52165e:	00 00
521660:	0f b6 4c 06 ff       	movzbl -0x1(%esi,%eax,1),%ecx
521665:	f6 81 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%ecx)
52166c:	74 05                	je     0x521673
52166e:	48                   	dec    %eax
52166f:	85 c0                	test   %eax,%eax
521671:	7f ed                	jg     0x521660
521673:	99                   	cltd
521674:	8b d8                	mov    %eax,%ebx
521676:	8b cb                	mov    %ebx,%ecx
521678:	83 c1 01             	add    $0x1,%ecx
52167b:	83 d2 00             	adc    $0x0,%edx
52167e:	52                   	push   %edx
52167f:	51                   	push   %ecx
521680:	ff 75 08             	push   0x8(%ebp)
521683:	e8 58 fd ff ff       	call   0x5213e0
521688:	8b f8                	mov    %eax,%edi
52168a:	83 c4 0c             	add    $0xc,%esp
52168d:	85 ff                	test   %edi,%edi
52168f:	74 0f                	je     0x5216a0
521691:	53                   	push   %ebx
521692:	56                   	push   %esi
521693:	57                   	push   %edi
521694:	e8 67 18 0c 00       	call   0x5e2f00
521699:	83 c4 0c             	add    $0xc,%esp
52169c:	c6 04 1f 00          	movb   $0x0,(%edi,%ebx,1)
5216a0:	8b c7                	mov    %edi,%eax
5216a2:	5f                   	pop    %edi
5216a3:	5e                   	pop    %esi
5216a4:	5b                   	pop    %ebx
5216a5:	5d                   	pop    %ebp
5216a6:	c3                   	ret
5216a7:	cc                   	int3
5216a8:	cc                   	int3
5216a9:	cc                   	int3
5216aa:	cc                   	int3
5216ab:	cc                   	int3
5216ac:	cc                   	int3
5216ad:	cc                   	int3
5216ae:	cc                   	int3
5216af:	cc                   	int3
5216b0:	55                   	push   %ebp
5216b1:	8b ec                	mov    %esp,%ebp
5216b3:	57                   	push   %edi
5216b4:	8b 7d 0c             	mov    0xc(%ebp),%edi
5216b7:	85 ff                	test   %edi,%edi
5216b9:	75 05                	jne    0x5216c0
5216bb:	33 c0                	xor    %eax,%eax
5216bd:	5f                   	pop    %edi
5216be:	5d                   	pop    %ebp
5216bf:	c3                   	ret
5216c0:	8b cf                	mov    %edi,%ecx
5216c2:	8d 51 01             	lea    0x1(%ecx),%edx
5216c5:	8a 01                	mov    (%ecx),%al
5216c7:	41                   	inc    %ecx
5216c8:	84 c0                	test   %al,%al
5216ca:	75 f9                	jne    0x5216c5
5216cc:	8b 45 08             	mov    0x8(%ebp),%eax
5216cf:	2b ca                	sub    %edx,%ecx
5216d1:	53                   	push   %ebx
5216d2:	56                   	push   %esi
5216d3:	6a 00                	push   $0x0
5216d5:	8d 59 01             	lea    0x1(%ecx),%ebx
5216d8:	53                   	push   %ebx
5216d9:	85 c0                	test   %eax,%eax
5216db:	74 0b                	je     0x5216e8