5186c4:	e8 a7 8c 00 00       	call   0x521370
5186c9:	8b 45 f0             	mov    -0x10(%ebp),%eax
5186cc:	83 c4 28             	add    $0x28,%esp
5186cf:	89 46 18             	mov    %eax,0x18(%esi)
5186d2:	57                   	push   %edi
5186d3:	e8 f8 51 01 00       	call   0x52d8d0
5186d8:	8b d0                	mov    %eax,%edx
5186da:	83 c4 04             	add    $0x4,%esp
5186dd:	89 55 f4             	mov    %edx,-0xc(%ebp)
5186e0:	85 d2                	test   %edx,%edx
5186e2:	74 59                	je     0x51873d
5186e4:	57                   	push   %edi
5186e5:	e8 96 48 01 00       	call   0x52cf80
5186ea:	6a 02                	push   $0x2
5186ec:	8b f0                	mov    %eax,%esi
5186ee:	56                   	push   %esi
5186ef:	53                   	push   %ebx
5186f0:	6a 5d                	push   $0x5d
5186f2:	52                   	push   %edx
5186f3:	e8 48 94 02 00       	call   0x541b40
5186f8:	53                   	push   %ebx
5186f9:	ff 75 f4             	push   -0xc(%ebp)
5186fc:	e8 ef 53 03 00       	call   0x54daf0
518701:	6a fe                	push   $0xfffffffe
518703:	56                   	push   %esi
518704:	6a 52                	push   $0x52
518706:	ff 75 f4             	push   -0xc(%ebp)
518709:	e8 d2 93 02 00       	call   0x541ae0
51870e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
518711:	8b 41 6c             	mov    0x6c(%ecx),%eax
518714:	83 c0 02             	add    $0x2,%eax
518717:	50                   	push   %eax
518718:	56                   	push   %esi
518719:	6a 30                	push   $0x30
51871b:	51                   	push   %ecx
51871c:	e8 bf 93 02 00       	call   0x541ae0
518721:	83 c4 40             	add    $0x40,%esp
518724:	6a 03                	push   $0x3
518726:	6a 02                	push   $0x2
518728:	53                   	push   %ebx
518729:	6a 5e                	push   $0x5e
51872b:	ff 75 f4             	push   -0xc(%ebp)
51872e:	e8 0d 94 02 00       	call   0x541b40
518733:	56                   	push   %esi
518734:	57                   	push   %edi
518735:	e8 56 f6 01 00       	call   0x537d90
51873a:	83 c4 1c             	add    $0x1c,%esp
51873d:	53                   	push   %ebx
51873e:	57                   	push   %edi
51873f:	e8 cc a5 ff ff       	call   0x512d10
518744:	83 c4 08             	add    $0x8,%esp
518747:	5e                   	pop    %esi
518748:	5b                   	pop    %ebx
518749:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51874c:	33 cd                	xor    %ebp,%ecx
51874e:	5f                   	pop    %edi
51874f:	e8 86 8d 0c 00       	call   0x5e14da
518754:	8b e5                	mov    %ebp,%esp
518756:	5d                   	pop    %ebp
518757:	c3                   	ret
518758:	cc                   	int3
518759:	cc                   	int3
51875a:	cc                   	int3
51875b:	cc                   	int3
51875c:	cc                   	int3
51875d:	cc                   	int3
51875e:	cc                   	int3
51875f:	cc                   	int3
518760:	55                   	push   %ebp
518761:	8b ec                	mov    %esp,%ebp
518763:	83 ec 18             	sub    $0x18,%esp
518766:	53                   	push   %ebx
518767:	56                   	push   %esi
518768:	8b 75 08             	mov    0x8(%ebp),%esi
51876b:	57                   	push   %edi
51876c:	33 ff                	xor    %edi,%edi
51876e:	8b 06                	mov    (%esi),%eax
518770:	89 45 f8             	mov    %eax,-0x8(%ebp)
518773:	8b 45 0c             	mov    0xc(%ebp),%eax
518776:	83 c0 08             	add    $0x8,%eax
518779:	50                   	push   %eax
51877a:	57                   	push   %edi
51877b:	56                   	push   %esi
51877c:	e8 af 84 01 00       	call   0x530c30
518781:	8b d8                	mov    %eax,%ebx
518783:	83 c4 0c             	add    $0xc,%esp
518786:	89 5d f0             	mov    %ebx,-0x10(%ebp)
518789:	85 db                	test   %ebx,%ebx
51878b:	0f 84 8f 01 00 00    	je     0x518920
518791:	53                   	push   %ebx
518792:	56                   	push   %esi
518793:	e8 b8 ee fe ff       	call   0x507650
518798:	83 c4 08             	add    $0x8,%esp
51879b:	85 c0                	test   %eax,%eax
51879d:	0f 85 7d 01 00 00    	jne    0x518920
5187a3:	33 c9                	xor    %ecx,%ecx
5187a5:	b8 60 99 6b 00       	mov    $0x6b9960,%eax
5187aa:	39 4b 0c             	cmp    %ecx,0xc(%ebx)
5187ad:	0f 44 c1             	cmove  %ecx,%eax
5187b0:	39 4b 38             	cmp    %ecx,0x38(%ebx)
5187b3:	74 07                	je     0x5187bc
5187b5:	b8 68 99 6b 00       	mov    $0x6b9968,%eax
5187ba:	eb 04                	jmp    0x5187c0
5187bc:	85 c0                	test   %eax,%eax
5187be:	74 16                	je     0x5187d6
5187c0:	ff 33                	push   (%ebx)
5187c2:	50                   	push   %eax
5187c3:	68 78 99 6b 00       	push   $0x6b9978
5187c8:	56                   	push   %esi
5187c9:	e8 92 aa 00 00       	call   0x523260
5187ce:	83 c4 10             	add    $0x10,%esp
5187d1:	e9 4a 01 00 00       	jmp    0x518920
5187d6:	ff 73 48             	push   0x48(%ebx)
5187d9:	ff 75 f8             	push   -0x8(%ebp)
5187dc:	e8 7f 12 02 00       	call   0x539a60
5187e1:	8b c8                	mov    %eax,%ecx
5187e3:	89 45 e8             	mov    %eax,-0x18(%ebp)
5187e6:	8b 45 f8             	mov    -0x8(%ebp),%eax
5187e9:	03 c9                	add    %ecx,%ecx
5187eb:	6a 00                	push   $0x0
5187ed:	ff 33                	push   (%ebx)
5187ef:	8b 40 10             	mov    0x10(%eax),%eax
5187f2:	8b 04 c8             	mov    (%eax,%ecx,8),%eax
5187f5:	50                   	push   %eax
5187f6:	6a 1a                	push   $0x1a
5187f8:	56                   	push   %esi
5187f9:	89 45 ec             	mov    %eax,-0x14(%ebp)
5187fc:	e8 9f 0f 00 00       	call   0x5197a0
518801:	83 c4 1c             	add    $0x1c,%esp
518804:	85 c0                	test   %eax,%eax
518806:	0f 85 14 01 00 00    	jne    0x518920
51880c:	ff 75 10             	push   0x10(%ebp)
51880f:	ff 75 f8             	push   -0x8(%ebp)
518812:	e8 19 8e 01 00       	call   0x531630
518817:	83 c4 08             	add    $0x8,%esp
51881a:	89 45 fc             	mov    %eax,-0x4(%ebp)
51881d:	85 c0                	test   %eax,%eax
51881f:	0f 84 f9 00 00 00    	je     0x51891e
518825:	0f bf 4b 2a          	movswl 0x2a(%ebx),%ecx
518829:	33 ff                	xor    %edi,%edi
51882b:	89 4d f4             	mov    %ecx,-0xc(%ebp)
51882e:	85 c9                	test   %ecx,%ecx
518830:	7e 28                	jle    0x51885a
518832:	8b 73 04             	mov    0x4(%ebx),%esi
518835:	8b d8                	mov    %eax,%ebx
518837:	53                   	push   %ebx
518838:	ff 36                	push   (%esi)
51883a:	e8 f1 53 02 00       	call   0x53dc30
51883f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
518842:	83 c4 08             	add    $0x8,%esp
518845:	85 c0                	test   %eax,%eax
518847:	74 08                	je     0x518851
518849:	47                   	inc    %edi
51884a:	83 c6 14             	add    $0x14,%esi
51884d:	3b f9                	cmp    %ecx,%edi
51884f:	7c e6                	jl     0x518837
518851:	8b 5d f0             	mov    -0x10(%ebp),%ebx
518854:	8b 75 08             	mov    0x8(%ebp),%esi
518857:	8b 45 fc             	mov    -0x4(%ebp),%eax
51885a:	3b f9                	cmp    %ecx,%edi
51885c:	75 17                	jne    0x518875
51885e:	50                   	push   %eax
51885f:	68 cc 8b 6b 00       	push   $0x6b8bcc
518864:	56                   	push   %esi
518865:	e8 f6 a9 00 00       	call   0x523260
51886a:	8b 7d fc             	mov    -0x4(%ebp),%edi
51886d:	83 c4 0c             	add    $0xc,%esp
518870:	e9 ab 00 00 00       	jmp    0x518920
518875:	8b 46 74             	mov    0x74(%esi),%eax
518878:	8b ce                	mov    %esi,%ecx
51887a:	ff 75 14             	push   0x14(%ebp)
51887d:	85 c0                	test   %eax,%eax
51887f:	ff 75 f8             	push   -0x8(%ebp)
518882:	0f 45 c8             	cmovne %eax,%ecx
518885:	c6 41 15 01          	movb   $0x1,0x15(%ecx)
518889:	e8 a2 8d 01 00       	call   0x531630
51888e:	8b f0                	mov    %eax,%esi
518890:	83 c4 08             	add    $0x8,%esp
518893:	89 75 f4             	mov    %esi,-0xc(%ebp)
518896:	85 f6                	test   %esi,%esi
518898:	74 7f                	je     0x518919
51889a:	8b 45 14             	mov    0x14(%ebp),%eax
51889d:	8b 08                	mov    (%eax),%ecx
51889f:	8b 45 ec             	mov    -0x14(%ebp),%eax
5188a2:	0f b6 09             	movzbl (%ecx),%ecx
5188a5:	0f b6 b1 40 1b 6b 00 	movzbl 0x6b1b40(%ecx),%esi
5188ac:	8b 0b                	mov    (%ebx),%ecx
5188ae:	81 e6 80 00 00 00    	and    $0x80,%esi
5188b4:	51                   	push   %ecx
5188b5:	33 db                	xor    %ebx,%ebx
5188b7:	83 7d e8 01          	cmpl   $0x1,-0x18(%ebp)
5188bb:	0f 94 c3             	sete   %bl
5188be:	53                   	push   %ebx
5188bf:	56                   	push   %esi
5188c0:	ff 75 f4             	push   -0xc(%ebp)
5188c3:	57                   	push   %edi
5188c4:	51                   	push   %ecx
5188c5:	50                   	push   %eax
5188c6:	68 24 8a 6b 00       	push   $0x6b8a24
5188cb:	50                   	push   %eax
5188cc:	68 a0 99 6b 00       	push   $0x6b99a0
5188d1:	ff 75 08             	push   0x8(%ebp)
5188d4:	e8 c7 8d 01 00       	call   0x5316a0
5188d9:	8b 45 f0             	mov    -0x10(%ebp),%eax
5188dc:	56                   	push   %esi
5188dd:	ff 75 f4             	push   -0xc(%ebp)
5188e0:	8b 75 08             	mov    0x8(%ebp),%esi
5188e3:	57                   	push   %edi
5188e4:	ff 30                	push   (%eax)
5188e6:	8b 7d ec             	mov    -0x14(%ebp),%edi
5188e9:	57                   	push   %edi
5188ea:	68 24 8a 6b 00       	push   $0x6b8a24
5188ef:	68 70 9a 6b 00       	push   $0x6b9a70
5188f4:	56                   	push   %esi
5188f5:	e8 a6 8d 01 00       	call   0x5316a0
5188fa:	83 c4 4c             	add    $0x4c,%esp
5188fd:	ff 75 e8             	push   -0x18(%ebp)
518900:	56                   	push   %esi
518901:	e8 0a a4 ff ff       	call   0x512d10
518906:	53                   	push   %ebx
518907:	57                   	push   %edi
518908:	56                   	push   %esi
518909:	e8 32 a7 ff ff       	call   0x513040
51890e:	8b 7d fc             	mov    -0x4(%ebp),%edi
518911:	83 c4 14             	add    $0x14,%esp
518914:	8b 75 f4             	mov    -0xc(%ebp),%esi
518917:	eb 09                	jmp    0x518922
518919:	8b 7d fc             	mov    -0x4(%ebp),%edi
51891c:	eb 04                	jmp    0x518922
51891e:	8b f8                	mov    %eax,%edi
518920:	33 f6                	xor    %esi,%esi
518922:	ff 75 0c             	push   0xc(%ebp)
518925:	8b 5d f8             	mov    -0x8(%ebp),%ebx
518928:	53                   	push   %ebx
518929:	e8 42 44 02 00       	call   0x53cd70
51892e:	83 c4 08             	add    $0x8,%esp
518931:	85 ff                	test   %edi,%edi
518933:	74 0a                	je     0x51893f
518935:	57                   	push   %edi
518936:	53                   	push   %ebx
518937:	e8 34 8a 00 00       	call   0x521370
51893c:	83 c4 08             	add    $0x8,%esp
51893f:	85 f6                	test   %esi,%esi
518941:	74 0a                	je     0x51894d
518943:	56                   	push   %esi
518944:	53                   	push   %ebx
518945:	e8 26 8a 00 00       	call   0x521370
51894a:	83 c4 08             	add    $0x8,%esp
51894d:	5f                   	pop    %edi
51894e:	5e                   	pop    %esi
51894f:	5b                   	pop    %ebx
518950:	8b e5                	mov    %ebp,%esp
518952:	5d                   	pop    %ebp
518953:	c3                   	ret
518954:	cc                   	int3
518955:	cc                   	int3
518956:	cc                   	int3
518957:	cc                   	int3
518958:	cc                   	int3
518959:	cc                   	int3
51895a:	cc                   	int3
51895b:	cc                   	int3
51895c:	cc                   	int3
51895d:	cc                   	int3
51895e:	cc                   	int3
51895f:	cc                   	int3
518960:	55                   	push   %ebp
518961:	8b ec                	mov    %esp,%ebp
518963:	83 ec 24             	sub    $0x24,%esp
518966:	53                   	push   %ebx
518967:	56                   	push   %esi
518968:	57                   	push   %edi
518969:	8b 7d 08             	mov    0x8(%ebp),%edi
51896c:	33 db                	xor    %ebx,%ebx
51896e:	89 5d f0             	mov    %ebx,-0x10(%ebp)
518971:	8b 37                	mov    (%edi),%esi
518973:	89 75 e0             	mov    %esi,-0x20(%ebp)
518976:	8b 46 18             	mov    0x18(%esi),%eax
518979:	89 45 e4             	mov    %eax,-0x1c(%ebp)
51897c:	38 5e 51             	cmp    %bl,0x51(%esi)
51897f:	0f 85 7d 02 00 00    	jne    0x518c02
518985:	8b 45 0c             	mov    0xc(%ebp),%eax
518988:	83 c0 08             	add    $0x8,%eax
51898b:	50                   	push   %eax
51898c:	53                   	push   %ebx
51898d:	57                   	push   %edi
51898e:	e8 9d 82 01 00       	call   0x530c30
518993:	83 c4 0c             	add    $0xc,%esp
518996:	89 45 fc             	mov    %eax,-0x4(%ebp)
518999:	85 c0                	test   %eax,%eax
51899b:	0f 84 61 02 00 00    	je     0x518c02
5189a1:	8b 48 48             	mov    0x48(%eax),%ecx
5189a4:	ba c0 bd f0 ff       	mov    $0xfff0bdc0,%edx
5189a9:	89 55 f8             	mov    %edx,-0x8(%ebp)
5189ac:	85 c9                	test   %ecx,%ecx
5189ae:	74 1c                	je     0x5189cc
5189b0:	8b 07                	mov    (%edi),%eax
5189b2:	33 d2                	xor    %edx,%edx
5189b4:	89 55 f8             	mov    %edx,-0x8(%ebp)
5189b7:	8b 40 10             	mov    0x10(%eax),%eax
5189ba:	83 c0 0c             	add    $0xc,%eax
5189bd:	39 08                	cmp    %ecx,(%eax)
5189bf:	74 0b                	je     0x5189cc
5189c1:	8d 40 10             	lea    0x10(%eax),%eax
5189c4:	42                   	inc    %edx
5189c5:	39 08                	cmp    %ecx,(%eax)
5189c7:	75 f8                	jne    0x5189c1
5189c9:	89 55 f8             	mov    %edx,-0x8(%ebp)
5189cc:	8b 46 10             	mov    0x10(%esi),%eax
5189cf:	8b ca                	mov    %edx,%ecx
5189d1:	ff 75 10             	push   0x10(%ebp)
5189d4:	03 c9                	add    %ecx,%ecx
5189d6:	56                   	push   %esi
5189d7:	8b 04 c8             	mov    (%eax,%ecx,8),%eax
5189da:	83 4e 18 02          	orl    $0x2,0x18(%esi)
5189de:	89 45 08             	mov    %eax,0x8(%ebp)
5189e1:	e8 4a 8c 01 00       	call   0x531630
5189e6:	8b d8                	mov    %eax,%ebx
5189e8:	83 c4 08             	add    $0x8,%esp
5189eb:	85 db                	test   %ebx,%ebx
5189ed:	0f 84 0f 02 00 00    	je     0x518c02
5189f3:	ff 75 08             	push   0x8(%ebp)
5189f6:	53                   	push   %ebx
5189f7:	56                   	push   %esi
5189f8:	e8 c3 ff 00 00       	call   0x5289c0
5189fd:	83 c4 0c             	add    $0xc,%esp
518a00:	85 c0                	test   %eax,%eax
518a02:	0f 85 eb 01 00 00    	jne    0x518bf3
518a08:	ff 75 08             	push   0x8(%ebp)
518a0b:	53                   	push   %ebx
518a0c:	56                   	push   %esi
518a0d:	e8 0e ff 00 00       	call   0x528920
518a12:	83 c4 0c             	add    $0xc,%esp
518a15:	85 c0                	test   %eax,%eax
518a17:	0f 85 d6 01 00 00    	jne    0x518bf3
518a1d:	8b 45 fc             	mov    -0x4(%ebp),%eax
518a20:	50                   	push   %eax
518a21:	57                   	push   %edi
518a22:	e8 29 ec fe ff       	call   0x507650
518a27:	83 c4 08             	add    $0x8,%esp
518a2a:	85 c0                	test   %eax,%eax
518a2c:	0f 85 d0 01 00 00    	jne    0x518c02
518a32:	53                   	push   %ebx
518a33:	68 1c 69 6b 00       	push   $0x6b691c
518a38:	53                   	push   %ebx
518a39:	57                   	push   %edi
518a3a:	e8 81 55 00 00       	call   0x51dfc0
518a3f:	83 c4 10             	add    $0x10,%esp
518a42:	85 c0                	test   %eax,%eax
518a44:	0f 85 b8 01 00 00    	jne    0x518c02