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
521866:	cc                   	int3
521867:	cc                   	int3
521868:	cc                   	int3
521869:	cc                   	int3
52186a:	cc                   	int3
52186b:	cc                   	int3
52186c:	cc                   	int3
52186d:	cc                   	int3
52186e:	cc                   	int3
52186f:	cc                   	int3
521870:	55                   	push   %ebp
521871:	8b ec                	mov    %esp,%ebp
521873:	83 ec 0c             	sub    $0xc,%esp
521876:	53                   	push   %ebx
521877:	56                   	push   %esi
521878:	57                   	push   %edi
521879:	8b 7d 08             	mov    0x8(%ebp),%edi
52187c:	b8 1a 00 00 00       	mov    $0x1a,%eax
521881:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
521885:	b9 05 00 00 00       	mov    $0x5,%ecx
52188a:	ba 21 00 00 00       	mov    $0x21,%edx
52188f:	c7 45 f4 21 00 20 00 	movl   $0x200021,-0xc(%ebp)
521896:	c7 45 f8 1e 00 1c 00 	movl   $0x1c001e,-0x8(%ebp)
52189d:	8b d9                	mov    %ecx,%ebx
52189f:	0f b7 47 32          	movzwl 0x32(%edi),%eax
5218a3:	8b 77 08             	mov    0x8(%edi),%esi
5218a6:	66 3b c8             	cmp    %ax,%cx
5218a9:	72 02                	jb     0x5218ad
5218ab:	8b d8                	mov    %eax,%ebx
5218ad:	8b 47 0c             	mov    0xc(%edi),%eax
5218b0:	0f b7 40 2e          	movzwl 0x2e(%eax),%eax
5218b4:	66 89 06             	mov    %ax,(%esi)
5218b7:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
5218bb:	74 06                	je     0x5218c3
5218bd:	83 c0 f6             	add    $0xfffffff6,%eax
5218c0:	66 89 06             	mov    %ax,(%esi)
5218c3:	66 39 16             	cmp    %dx,(%esi)
5218c6:	7d 03                	jge    0x5218cb
5218c8:	66 89 16             	mov    %dx,(%esi)
5218cb:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
5218ce:	50                   	push   %eax
5218cf:	8d 45 f4             	lea    -0xc(%ebp),%eax
5218d2:	50                   	push   %eax
5218d3:	8d 46 02             	lea    0x2(%esi),%eax
5218d6:	50                   	push   %eax
5218d7:	e8 24 16 0c 00       	call   0x5e2f00
5218dc:	0f b7 47 32          	movzwl 0x32(%edi),%eax
5218e0:	8d 4b 01             	lea    0x1(%ebx),%ecx
5218e3:	83 c4 0c             	add    $0xc,%esp
5218e6:	3b c8                	cmp    %eax,%ecx
5218e8:	77 13                	ja     0x5218fd
5218ea:	ba 17 00 00 00       	mov    $0x17,%edx
5218ef:	90                   	nop
5218f0:	66 89 14 4e          	mov    %dx,(%esi,%ecx,2)
5218f4:	41                   	inc    %ecx
5218f5:	0f b7 47 32          	movzwl 0x32(%edi),%eax
5218f9:	3b c8                	cmp    %eax,%ecx
5218fb:	7e f3                	jle    0x5218f0
5218fd:	80 7f 36 00          	cmpb   $0x0,0x36(%edi)
521901:	74 0a                	je     0x52190d
521903:	0f b7 47 32          	movzwl 0x32(%edi),%eax
521907:	33 c9                	xor    %ecx,%ecx
521909:	66 89 0c 46          	mov    %cx,(%esi,%eax,2)
52190d:	5f                   	pop    %edi
52190e:	5e                   	pop    %esi
52190f:	5b                   	pop    %ebx
521910:	8b e5                	mov    %ebp,%esp
521912:	5d                   	pop    %ebp
521913:	c3                   	ret
521914:	cc                   	int3
521915:	cc                   	int3
521916:	cc                   	int3
521917:	cc                   	int3
521918:	cc                   	int3
521919:	cc                   	int3
52191a:	cc                   	int3
52191b:	cc                   	int3
52191c:	cc                   	int3
52191d:	cc                   	int3
52191e:	cc                   	int3
52191f:	cc                   	int3
521920:	55                   	push   %ebp
521921:	8b ec                	mov    %esp,%ebp
521923:	8b 45 08             	mov    0x8(%ebp),%eax
521926:	8b 80 e4 00 00 00    	mov    0xe4(%eax),%eax
52192c:	85 c0                	test   %eax,%eax
52192e:	74 0d                	je     0x52193d
521930:	8b 48 10             	mov    0x10(%eax),%ecx
521933:	85 c9                	test   %ecx,%ecx
521935:	74 06                	je     0x52193d
521937:	8a 45 0c             	mov    0xc(%ebp),%al
52193a:	88 41 18             	mov    %al,0x18(%ecx)
52193d:	5d                   	pop    %ebp
52193e:	c3                   	ret
52193f:	cc                   	int3
521940:	55                   	push   %ebp
521941:	8b ec                	mov    %esp,%ebp
521943:	8b 45 0c             	mov    0xc(%ebp),%eax
521946:	56                   	push   %esi
521947:	8b 70 04             	mov    0x4(%eax),%esi
52194a:	85 f6                	test   %esi,%esi
52194c:	74 69                	je     0x5219b7
52194e:	53                   	push   %ebx
52194f:	33 c9                	xor    %ecx,%ecx
521951:	33 db                	xor    %ebx,%ebx
521953:	57                   	push   %edi
521954:	8b 7d 08             	mov    0x8(%ebp),%edi
521957:	66 3b 48 2a          	cmp    0x2a(%eax),%cx
52195b:	7d 47                	jge    0x5219a4
52195d:	0f 1f 00             	nopl   (%eax)
521960:	8b 06                	mov    (%esi),%eax
521962:	85 c0                	test   %eax,%eax
521964:	74 0a                	je     0x521970
521966:	50                   	push   %eax
521967:	57                   	push   %edi
521968:	e8 03 fa ff ff       	call   0x521370
52196d:	83 c4 08             	add    $0x8,%esp
521970:	8b 46 04             	mov    0x4(%esi),%eax
521973:	85 c0                	test   %eax,%eax
521975:	74 0a                	je     0x521981
521977:	50                   	push   %eax
521978:	57                   	push   %edi
521979:	e8 32 4e 00 00       	call   0x5267b0
52197e:	83 c4 08             	add    $0x8,%esp
521981:	8b 46 08             	mov    0x8(%esi),%eax
521984:	85 c0                	test   %eax,%eax
521986:	74 0a                	je     0x521992
521988:	50                   	push   %eax
521989:	57                   	push   %edi
52198a:	e8 e1 f9 ff ff       	call   0x521370
52198f:	83 c4 08             	add    $0x8,%esp
521992:	8b 45 0c             	mov    0xc(%ebp),%eax
521995:	43                   	inc    %ebx
521996:	83 c6 14             	add    $0x14,%esi
521999:	0f bf 40 2a          	movswl 0x2a(%eax),%eax
52199d:	3b d8                	cmp    %eax,%ebx
52199f:	7c bf                	jl     0x521960
5219a1:	8b 45 0c             	mov    0xc(%ebp),%eax
5219a4:	8b 40 04             	mov    0x4(%eax),%eax
5219a7:	85 c0                	test   %eax,%eax
5219a9:	74 0a                	je     0x5219b5
5219ab:	50                   	push   %eax
5219ac:	57                   	push   %edi
5219ad:	e8 be f9 ff ff       	call   0x521370
5219b2:	83 c4 08             	add    $0x8,%esp
5219b5:	5f                   	pop    %edi
5219b6:	5b                   	pop    %ebx
5219b7:	5e                   	pop    %esi
5219b8:	5d                   	pop    %ebp
5219b9:	c3                   	ret
5219ba:	cc                   	int3
5219bb:	cc                   	int3
5219bc:	cc                   	int3
5219bd:	cc                   	int3
5219be:	cc                   	int3
5219bf:	cc                   	int3
5219c0:	55                   	push   %ebp
5219c1:	8b ec                	mov    %esp,%ebp
5219c3:	81 ec 98 00 00 00    	sub    $0x98,%esp
5219c9:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5219ce:	33 c5                	xor    %ebp,%eax
5219d0:	89 45 fc             	mov    %eax,-0x4(%ebp)
5219d3:	8b 45 10             	mov    0x10(%ebp),%eax
5219d6:	0f 57 c0             	xorps  %xmm0,%xmm0
5219d9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5219dc:	53                   	push   %ebx
5219dd:	89 45 a4             	mov    %eax,-0x5c(%ebp)
5219e0:	8b 45 14             	mov    0x14(%ebp),%eax
5219e3:	56                   	push   %esi
5219e4:	57                   	push   %edi
5219e5:	8b 7d 08             	mov    0x8(%ebp),%edi
5219e8:	89 45 9c             	mov    %eax,-0x64(%ebp)
5219eb:	8b 45 18             	mov    0x18(%ebp),%eax
5219ee:	89 45 ac             	mov    %eax,-0x54(%ebp)
5219f1:	33 c0                	xor    %eax,%eax