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
5216dd:	50                   	push   %eax
5216de:	e8 fd fc ff ff       	call   0x5213e0
5216e3:	83 c4 0c             	add    $0xc,%esp
5216e6:	eb 08                	jmp    0x5216f0
5216e8:	e8 73 f8 00 00       	call   0x530f60
5216ed:	83 c4 08             	add    $0x8,%esp
5216f0:	8b f0                	mov    %eax,%esi
5216f2:	85 f6                	test   %esi,%esi
5216f4:	74 0b                	je     0x521701
5216f6:	53                   	push   %ebx
5216f7:	57                   	push   %edi
5216f8:	56                   	push   %esi
5216f9:	e8 02 18 0c 00       	call   0x5e2f00
5216fe:	83 c4 0c             	add    $0xc,%esp
521701:	8b c6                	mov    %esi,%eax
521703:	5e                   	pop    %esi
521704:	5b                   	pop    %ebx
521705:	5f                   	pop    %edi
521706:	5d                   	pop    %ebp
521707:	c3                   	ret
521708:	cc                   	int3
521709:	cc                   	int3
52170a:	cc                   	int3
52170b:	cc                   	int3
52170c:	cc                   	int3
52170d:	cc                   	int3
52170e:	cc                   	int3
52170f:	cc                   	int3
521710:	55                   	push   %ebp
521711:	8b ec                	mov    %esp,%ebp
521713:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
521717:	75 04                	jne    0x52171d
521719:	33 c0                	xor    %eax,%eax
52171b:	5d                   	pop    %ebp
52171c:	c3                   	ret
52171d:	8b 45 14             	mov    0x14(%ebp),%eax
521720:	53                   	push   %ebx
521721:	8b 5d 10             	mov    0x10(%ebp),%ebx
521724:	8b cb                	mov    %ebx,%ecx
521726:	83 c1 01             	add    $0x1,%ecx
521729:	56                   	push   %esi
52172a:	83 d0 00             	adc    $0x0,%eax
52172d:	50                   	push   %eax
52172e:	51                   	push   %ecx
52172f:	ff 75 08             	push   0x8(%ebp)
521732:	e8 a9 fc ff ff       	call   0x5213e0
521737:	8b f0                	mov    %eax,%esi
521739:	83 c4 0c             	add    $0xc,%esp
52173c:	85 f6                	test   %esi,%esi
52173e:	74 11                	je     0x521751
521740:	53                   	push   %ebx
521741:	ff 75 0c             	push   0xc(%ebp)
521744:	56                   	push   %esi
521745:	e8 b6 17 0c 00       	call   0x5e2f00
52174a:	83 c4 0c             	add    $0xc,%esp
52174d:	c6 04 33 00          	movb   $0x0,(%ebx,%esi,1)
521751:	8b c6                	mov    %esi,%eax
521753:	5e                   	pop    %esi
521754:	5b                   	pop    %ebx
521755:	5d                   	pop    %ebp
521756:	c3                   	ret
521757:	cc                   	int3
521758:	cc                   	int3
521759:	cc                   	int3
52175a:	cc                   	int3
52175b:	cc                   	int3
52175c:	cc                   	int3
52175d:	cc                   	int3
52175e:	cc                   	int3
52175f:	cc                   	int3
521760:	55                   	push   %ebp
521761:	8b ec                	mov    %esp,%ebp
521763:	83 ec 0c             	sub    $0xc,%esp
521766:	57                   	push   %edi
521767:	8b 7d 08             	mov    0x8(%ebp),%edi
52176a:	80 3f 30             	cmpb   $0x30,(%edi)
52176d:	0f 85 c6 00 00 00    	jne    0x521839
521773:	8a 47 01             	mov    0x1(%edi),%al
521776:	3c 78                	cmp    $0x78,%al
521778:	74 08                	je     0x521782
52177a:	3c 58                	cmp    $0x58,%al
52177c:	0f 85 b7 00 00 00    	jne    0x521839
521782:	80 7f 02 30          	cmpb   $0x30,0x2(%edi)
521786:	0f 57 c0             	xorps  %xmm0,%xmm0
521789:	53                   	push   %ebx
52178a:	56                   	push   %esi
52178b:	be 02 00 00 00       	mov    $0x2,%esi
521790:	66 0f 13 45 f4       	movlpd %xmm0,-0xc(%ebp)
521795:	89 75 fc             	mov    %esi,-0x4(%ebp)
521798:	75 10                	jne    0x5217aa
52179a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
5217a0:	46                   	inc    %esi
5217a1:	80 3c 3e 30          	cmpb   $0x30,(%esi,%edi,1)
5217a5:	74 f9                	je     0x5217a0
5217a7:	89 75 fc             	mov    %esi,-0x4(%ebp)
5217aa:	8a 0c 3e             	mov    (%esi,%edi,1),%cl
5217ad:	8b de                	mov    %esi,%ebx
5217af:	8b 55 f8             	mov    -0x8(%ebp),%edx
5217b2:	0f b6 c1             	movzbl %cl,%eax
5217b5:	f6 80 40 1b 6b 00 08 	testb  $0x8,0x6b1b40(%eax)
5217bc:	74 4e                	je     0x52180c
5217be:	8b 75 f4             	mov    -0xc(%ebp),%esi
5217c1:	89 55 08             	mov    %edx,0x8(%ebp)
5217c4:	0f be d1             	movsbl %cl,%edx
5217c7:	8b ca                	mov    %edx,%ecx
5217c9:	c1 f9 06             	sar    $0x6,%ecx
5217cc:	80 e1 01             	and    $0x1,%cl
5217cf:	8a c1                	mov    %cl,%al
5217d1:	c0 e0 03             	shl    $0x3,%al
5217d4:	2a c1                	sub    %cl,%al
5217d6:	8b 4d 08             	mov    0x8(%ebp),%ecx
5217d9:	2a d0                	sub    %al,%dl
5217db:	80 e2 0f             	and    $0xf,%dl
5217de:	0f a4 f1 04          	shld   $0x4,%esi,%ecx
5217e2:	0f b6 c2             	movzbl %dl,%eax
5217e5:	99                   	cltd
5217e6:	c1 e6 04             	shl    $0x4,%esi
5217e9:	03 f0                	add    %eax,%esi
5217eb:	13 d1                	adc    %ecx,%edx
5217ed:	8a 4c 3b 01          	mov    0x1(%ebx,%edi,1),%cl
5217f1:	43                   	inc    %ebx
5217f2:	0f b6 c1             	movzbl %cl,%eax
5217f5:	89 55 08             	mov    %edx,0x8(%ebp)
5217f8:	f6 80 40 1b 6b 00 08 	testb  $0x8,0x6b1b40(%eax)
5217ff:	75 c3                	jne    0x5217c4
521801:	89 75 08             	mov    %esi,0x8(%ebp)
521804:	8b 75 fc             	mov    -0x4(%ebp),%esi
521807:	8b 4d 08             	mov    0x8(%ebp),%ecx
52180a:	eb 03                	jmp    0x52180f
52180c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
52180f:	8b 45 0c             	mov    0xc(%ebp),%eax
521812:	89 08                	mov    %ecx,(%eax)
521814:	89 50 04             	mov    %edx,0x4(%eax)
521817:	80 3c 3b 00          	cmpb   $0x0,(%ebx,%edi,1)
52181b:	75 10                	jne    0x52182d
52181d:	2b de                	sub    %esi,%ebx
52181f:	83 fb 10             	cmp    $0x10,%ebx
521822:	7f 09                	jg     0x52182d
521824:	5e                   	pop    %esi
521825:	5b                   	pop    %ebx
521826:	33 c0                	xor    %eax,%eax
521828:	5f                   	pop    %edi
521829:	8b e5                	mov    %ebp,%esp
52182b:	5d                   	pop    %ebp
52182c:	c3                   	ret
52182d:	5e                   	pop    %esi
52182e:	5b                   	pop    %ebx
52182f:	b8 02 00 00 00       	mov    $0x2,%eax
521834:	5f                   	pop    %edi
521835:	8b e5                	mov    %ebp,%esp
521837:	5d                   	pop    %ebp
521838:	c3                   	ret
521839:	8b c7                	mov    %edi,%eax
52183b:	8d 50 01             	lea    0x1(%eax),%edx
52183e:	66 90                	xchg   %ax,%ax
521840:	8a 08                	mov    (%eax),%cl
521842:	40                   	inc    %eax
521843:	84 c9                	test   %cl,%cl
521845:	75 f9                	jne    0x521840
521847:	2b c2                	sub    %edx,%eax
521849:	6a 01                	push   $0x1
52184b:	25 ff ff ff 3f       	and    $0x3fffffff,%eax
521850:	50                   	push   %eax
521851:	ff 75 0c             	push   0xc(%ebp)
521854:	57                   	push   %edi
521855:	e8 e6 7c ff ff       	call   0x519540
52185a:	83 c4 10             	add    $0x10,%esp
52185d:	5f                   	pop    %edi
52185e:	8b e5                	mov    %ebp,%esp
521860:	5d                   	pop    %ebp
521861:	c3                   	ret
521862:	cc                   	int3
521863:	cc                   	int3
521864:	cc                   	int3
521865:	cc                   	int3