5184ff:	8b 55 f8             	mov    -0x8(%ebp),%edx
518502:	0f b7 42 10          	movzwl 0x10(%edx),%eax
518506:	a8 01                	test   $0x1,%al
518508:	74 1f                	je     0x518529
51850a:	68 98 97 6b 00       	push   $0x6b9798
51850f:	57                   	push   %edi
518510:	e8 4b ad 00 00       	call   0x523260
518515:	83 c4 08             	add    $0x8,%esp
518518:	5e                   	pop    %esi
518519:	5b                   	pop    %ebx
51851a:	5f                   	pop    %edi
51851b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51851e:	33 cd                	xor    %ebp,%ecx
518520:	e8 b5 8f 0c 00       	call   0x5e14da
518525:	8b e5                	mov    %ebp,%esp
518527:	5d                   	pop    %ebp
518528:	c3                   	ret
518529:	8b 4d e8             	mov    -0x18(%ebp),%ecx
51852c:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
518530:	74 1f                	je     0x518551
518532:	68 b8 97 6b 00       	push   $0x6b97b8
518537:	57                   	push   %edi
518538:	e8 23 ad 00 00       	call   0x523260
51853d:	83 c4 08             	add    $0x8,%esp
518540:	5e                   	pop    %esi
518541:	5b                   	pop    %ebx
518542:	5f                   	pop    %edi
518543:	8b 4d fc             	mov    -0x4(%ebp),%ecx
518546:	33 cd                	xor    %ebp,%ecx
518548:	e8 8d 8f 0c 00       	call   0x5e14da
51854d:	8b e5                	mov    %ebp,%esp
51854f:	5d                   	pop    %ebp
518550:	c3                   	ret
518551:	a8 60                	test   $0x60,%al
518553:	0f 85 d2 00 00 00    	jne    0x51862b
518559:	85 f6                	test   %esi,%esi
51855b:	74 11                	je     0x51856e
51855d:	8b 46 0c             	mov    0xc(%esi),%eax
518560:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
518567:	80 38 77             	cmpb   $0x77,(%eax)
51856a:	0f 44 75 f8          	cmove  -0x8(%ebp),%esi
51856e:	8b 45 f4             	mov    -0xc(%ebp),%eax
518571:	8b 40 20             	mov    0x20(%eax),%eax
518574:	25 00 40 00 00       	and    $0x4000,%eax
518579:	83 c8 00             	or     $0x0,%eax
51857c:	74 29                	je     0x5185a7
51857e:	83 79 10 00          	cmpl   $0x0,0x10(%ecx)
518582:	74 23                	je     0x5185a7
518584:	85 f6                	test   %esi,%esi
518586:	74 1f                	je     0x5185a7
518588:	68 d4 97 6b 00       	push   $0x6b97d4
51858d:	57                   	push   %edi
51858e:	e8 cd ac 00 00       	call   0x523260
518593:	83 c4 08             	add    $0x8,%esp
518596:	5e                   	pop    %esi
518597:	5b                   	pop    %ebx
518598:	5f                   	pop    %edi
518599:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51859c:	33 cd                	xor    %ebp,%ecx
51859e:	e8 37 8f 0c 00       	call   0x5e14da
5185a3:	8b e5                	mov    %ebp,%esp
5185a5:	5d                   	pop    %ebp
5185a6:	c3                   	ret
5185a7:	80 7a 0c 00          	cmpb   $0x0,0xc(%edx)
5185ab:	74 23                	je     0x5185d0
5185ad:	85 f6                	test   %esi,%esi
5185af:	75 23                	jne    0x5185d4
5185b1:	68 10 98 6b 00       	push   $0x6b9810
5185b6:	57                   	push   %edi
5185b7:	e8 a4 ac 00 00       	call   0x523260
5185bc:	83 c4 08             	add    $0x8,%esp
5185bf:	5e                   	pop    %esi
5185c0:	5b                   	pop    %ebx
5185c1:	5f                   	pop    %edi
5185c2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5185c5:	33 cd                	xor    %ebp,%ecx
5185c7:	e8 0e 8f 0c 00       	call   0x5e14da
5185cc:	8b e5                	mov    %ebp,%esp
5185ce:	5d                   	pop    %ebp
5185cf:	c3                   	ret
5185d0:	85 f6                	test   %esi,%esi
5185d2:	74 7a                	je     0x51864e
5185d4:	6a 00                	push   $0x0
5185d6:	8d 45 f8             	lea    -0x8(%ebp),%eax
5185d9:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
5185e0:	50                   	push   %eax
5185e1:	6a 41                	push   $0x41
5185e3:	6a 01                	push   $0x1
5185e5:	56                   	push   %esi
5185e6:	8b 75 f4             	mov    -0xc(%ebp),%esi
5185e9:	56                   	push   %esi
5185ea:	e8 b1 11 04 00       	call   0x5597a0
5185ef:	83 c4 18             	add    $0x18,%esp
5185f2:	85 c0                	test   %eax,%eax
5185f4:	0f 85 4d 01 00 00    	jne    0x518747
5185fa:	8b 45 f8             	mov    -0x8(%ebp),%eax
5185fd:	85 c0                	test   %eax,%eax
5185ff:	75 1f                	jne    0x518620
518601:	68 48 98 6b 00       	push   $0x6b9848
518606:	57                   	push   %edi
518607:	e8 54 ac 00 00       	call   0x523260
51860c:	83 c4 08             	add    $0x8,%esp
51860f:	5e                   	pop    %esi
518610:	5b                   	pop    %ebx
518611:	5f                   	pop    %edi
518612:	8b 4d fc             	mov    -0x4(%ebp),%ecx
518615:	33 cd                	xor    %ebp,%ecx
518617:	e8 be 8e 0c 00       	call   0x5e14da
51861c:	8b e5                	mov    %ebp,%esp
51861e:	5d                   	pop    %ebp
51861f:	c3                   	ret
518620:	50                   	push   %eax
518621:	e8 aa a4 fc ff       	call   0x4e2ad0
518626:	83 c4 04             	add    $0x4,%esp
518629:	eb 26                	jmp    0x518651
51862b:	a8 40                	test   $0x40,%al
51862d:	74 1f                	je     0x51864e
51862f:	68 78 98 6b 00       	push   $0x6b9878
518634:	57                   	push   %edi
518635:	e8 26 ac 00 00       	call   0x523260
51863a:	83 c4 08             	add    $0x8,%esp
51863d:	5e                   	pop    %esi
51863e:	5b                   	pop    %ebx
51863f:	5f                   	pop    %edi
518640:	8b 4d fc             	mov    -0x4(%ebp),%ecx
518643:	33 cd                	xor    %ebp,%ecx
518645:	e8 90 8e 0c 00       	call   0x5e14da
51864a:	8b e5                	mov    %ebp,%esp
51864c:	5d                   	pop    %ebp
51864d:	c3                   	ret
51864e:	8b 75 f4             	mov    -0xc(%ebp),%esi
518651:	8b 45 f0             	mov    -0x10(%ebp),%eax
518654:	6a 00                	push   $0x0
518656:	ff 70 04             	push   0x4(%eax)
518659:	ff 30                	push   (%eax)
51865b:	56                   	push   %esi
51865c:	e8 af 90 00 00       	call   0x521710
518661:	8b d0                	mov    %eax,%edx
518663:	83 c4 10             	add    $0x10,%esp
518666:	89 55 f8             	mov    %edx,-0x8(%ebp)
518669:	85 d2                	test   %edx,%edx
51866b:	74 65                	je     0x5186d2
51866d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
518670:	8b 46 18             	mov    0x18(%esi),%eax
518673:	89 45 f0             	mov    %eax,-0x10(%ebp)
518676:	8b 49 04             	mov    0x4(%ecx),%ecx
518679:	49                   	dec    %ecx
51867a:	03 ca                	add    %edx,%ecx
51867c:	3b ca                	cmp    %edx,%ecx
51867e:	76 1a                	jbe    0x51869a
518680:	8a 01                	mov    (%ecx),%al
518682:	3c 3b                	cmp    $0x3b,%al
518684:	74 0c                	je     0x518692
518686:	0f b6 c0             	movzbl %al,%eax
518689:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
518690:	74 08                	je     0x51869a
518692:	c6 01 00             	movb   $0x0,(%ecx)
518695:	49                   	dec    %ecx
518696:	3b ca                	cmp    %edx,%ecx
518698:	77 e6                	ja     0x518680
51869a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
51869d:	83 4e 18 02          	orl    $0x2,0x18(%esi)
5186a1:	ff 75 e4             	push   -0x1c(%ebp)
5186a4:	8b 49 34             	mov    0x34(%ecx),%ecx
5186a7:	8d 41 01             	lea    0x1(%ecx),%eax
5186aa:	50                   	push   %eax
5186ab:	52                   	push   %edx
5186ac:	51                   	push   %ecx
5186ad:	68 24 8a 6b 00       	push   $0x6b8a24
5186b2:	ff 75 ec             	push   -0x14(%ebp)
5186b5:	68 98 98 6b 00       	push   $0x6b9898
5186ba:	57                   	push   %edi
5186bb:	e8 e0 8f 01 00       	call   0x5316a0
5186c0:	ff 75 f8             	push   -0x8(%ebp)
5186c3:	56                   	push   %esi
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)