53654c:	e8 8f b5 00 00       	call   0x541ae0
536551:	8b 56 6c             	mov    0x6c(%esi),%edx
536554:	8d 4f ff             	lea    -0x1(%edi),%ecx
536557:	83 c4 10             	add    $0x10,%esp
53655a:	85 c9                	test   %ecx,%ecx
53655c:	79 03                	jns    0x536561
53655e:	8d 4a ff             	lea    -0x1(%edx),%ecx
536561:	8b 06                	mov    (%esi),%eax
536563:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
536567:	74 07                	je     0x536570
536569:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
53656e:	eb 09                	jmp    0x536579
536570:	8b 46 68             	mov    0x68(%esi),%eax
536573:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
536576:	8d 04 88             	lea    (%eax,%ecx,4),%eax
536579:	89 50 08             	mov    %edx,0x8(%eax)
53657c:	80 fb 71             	cmp    $0x71,%bl
53657f:	0f 84 18 02 00 00    	je     0x53679d
536585:	8b 56 6c             	mov    0x6c(%esi),%edx
536588:	39 56 70             	cmp    %edx,0x70(%esi)
53658b:	7f 15                	jg     0x5365a2
53658d:	6a 00                	push   $0x0
53658f:	6a 02                	push   $0x2
536591:	6a 00                	push   $0x0
536593:	6a 73                	push   $0x73
536595:	56                   	push   %esi
536596:	e8 65 ff fc ff       	call   0x506500
53659b:	83 c4 14             	add    $0x14,%esp
53659e:	8b d0                	mov    %eax,%edx
5365a0:	eb 33                	jmp    0x5365d5
5365a2:	8d 42 01             	lea    0x1(%edx),%eax
5365a5:	89 46 6c             	mov    %eax,0x6c(%esi)
5365a8:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
5365ab:	8b 46 68             	mov    0x68(%esi),%eax
5365ae:	c7 04 88 73 00 00 00 	movl   $0x73,(%eax,%ecx,4)
5365b5:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
5365bc:	00
5365bd:	c7 44 88 08 02 00 00 	movl   $0x2,0x8(%eax,%ecx,4)
5365c4:	00
5365c5:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
5365cc:	00
5365cd:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5365d4:	00
5365d5:	8b 06                	mov    (%esi),%eax
5365d7:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
5365db:	74 12                	je     0x5365ef
5365dd:	68 7c ac 6b 00       	push   $0x6bac7c
5365e2:	6a 00                	push   $0x0
5365e4:	50                   	push   %eax
5365e5:	e8 c6 d6 fc ff       	call   0x503cb0
5365ea:	83 c4 0c             	add    $0xc,%esp
5365ed:	eb 22                	jmp    0x536611
5365ef:	85 d2                	test   %edx,%edx
5365f1:	79 04                	jns    0x5365f7
5365f3:	8b 56 6c             	mov    0x6c(%esi),%edx
5365f6:	4a                   	dec    %edx
5365f7:	8b 46 68             	mov    0x68(%esi),%eax
5365fa:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
5365fd:	6a 00                	push   $0x0
5365ff:	68 7c ac 6b 00       	push   $0x6bac7c
536604:	8d 04 88             	lea    (%eax,%ecx,4),%eax
536607:	50                   	push   %eax
536608:	56                   	push   %esi
536609:	e8 32 36 02 00       	call   0x559c40
53660e:	83 c4 10             	add    $0x10,%esp
536611:	8b 45 ac             	mov    -0x54(%ebp),%eax
536614:	8b 40 08             	mov    0x8(%eax),%eax
536617:	89 45 b4             	mov    %eax,-0x4c(%ebp)
53661a:	85 c0                	test   %eax,%eax
53661c:	0f 84 7b 01 00 00    	je     0x53679d
536622:	8b 4d bc             	mov    -0x44(%ebp),%ecx
536625:	bb 08 00 00 00       	mov    $0x8,%ebx
53662a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
536630:	3b c8                	cmp    %eax,%ecx
536632:	0f 84 56 01 00 00    	je     0x53678e
536638:	8b 4e 6c             	mov    0x6c(%esi),%ecx
53663b:	39 4e 70             	cmp    %ecx,0x70(%esi)
53663e:	7f 1a                	jg     0x53665a
536640:	8b 45 9c             	mov    -0x64(%ebp),%eax
536643:	6a 00                	push   $0x0
536645:	83 c0 f8             	add    $0xfffffff8,%eax
536648:	6a 03                	push   $0x3
53664a:	03 c3                	add    %ebx,%eax
53664c:	50                   	push   %eax
53664d:	6a 5c                	push   $0x5c
53664f:	56                   	push   %esi
536650:	e8 ab fe fc ff       	call   0x506500
536655:	83 c4 14             	add    $0x14,%esp
536658:	eb 38                	jmp    0x536692
53665a:	8d 41 01             	lea    0x1(%ecx),%eax
53665d:	89 46 6c             	mov    %eax,0x6c(%esi)
536660:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
536663:	8b 46 68             	mov    0x68(%esi),%eax
536666:	c7 04 88 5c 00 00 00 	movl   $0x5c,(%eax,%ecx,4)
53666d:	c7 44 88 08 03 00 00 	movl   $0x3,0x8(%eax,%ecx,4)
536674:	00
536675:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
53667c:	00
53667d:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
536680:	8b 45 9c             	mov    -0x64(%ebp),%eax
536683:	83 c0 f8             	add    $0xfffffff8,%eax
536686:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
53668d:	03 c3                	add    %ebx,%eax
53668f:	89 41 04             	mov    %eax,0x4(%ecx)
536692:	8b 7e 6c             	mov    0x6c(%esi),%edi
536695:	39 7e 70             	cmp    %edi,0x70(%esi)
536698:	7f 14                	jg     0x5366ae
53669a:	6a 03                	push   $0x3
53669c:	6a 00                	push   $0x0
53669e:	53                   	push   %ebx
53669f:	6a 35                	push   $0x35
5366a1:	56                   	push   %esi
5366a2:	e8 59 fe fc ff       	call   0x506500
5366a7:	83 c4 14             	add    $0x14,%esp
5366aa:	8b f8                	mov    %eax,%edi
5366ac:	eb 2f                	jmp    0x5366dd
5366ae:	8d 47 01             	lea    0x1(%edi),%eax
5366b1:	89 46 6c             	mov    %eax,0x6c(%esi)
5366b4:	8d 0c bf             	lea    (%edi,%edi,4),%ecx
5366b7:	8b 46 68             	mov    0x68(%esi),%eax
5366ba:	c7 04 88 35 00 00 00 	movl   $0x35,(%eax,%ecx,4)
5366c1:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
5366c5:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
5366cc:	00
5366cd:	c7 44 88 0c 03 00 00 	movl   $0x3,0xc(%eax,%ecx,4)
5366d4:	00
5366d5:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5366dc:	00
5366dd:	8b 46 6c             	mov    0x6c(%esi),%eax
5366e0:	85 c0                	test   %eax,%eax
5366e2:	7e 10                	jle    0x5366f4
5366e4:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
5366e7:	ba 90 00 00 00       	mov    $0x90,%edx
5366ec:	8b 46 68             	mov    0x68(%esi),%eax
5366ef:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
5366f4:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5366f7:	6a 00                	push   $0x0
5366f9:	ff 30                	push   (%eax)
5366fb:	6a 00                	push   $0x0
5366fd:	6a 04                	push   $0x4
5366ff:	6a 00                	push   $0x0
536701:	6a 73                	push   $0x73
536703:	56                   	push   %esi
536704:	e8 87 b4 00 00       	call   0x541b90
536709:	8b 4e 6c             	mov    0x6c(%esi),%ecx
53670c:	83 c4 1c             	add    $0x1c,%esp
53670f:	39 4e 70             	cmp    %ecx,0x70(%esi)
536712:	7f 13                	jg     0x536727
536714:	6a 03                	push   $0x3
536716:	6a 02                	push   $0x2
536718:	6a 04                	push   $0x4
53671a:	6a 6e                	push   $0x6e
53671c:	56                   	push   %esi
53671d:	e8 de fd fc ff       	call   0x506500
536722:	83 c4 14             	add    $0x14,%esp
536725:	eb 33                	jmp    0x53675a
536727:	8d 41 01             	lea    0x1(%ecx),%eax
53672a:	89 46 6c             	mov    %eax,0x6c(%esi)
53672d:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
536730:	8b 46 68             	mov    0x68(%esi),%eax
536733:	c7 04 88 6e 00 00 00 	movl   $0x6e,(%eax,%ecx,4)
53673a:	c7 44 88 04 04 00 00 	movl   $0x4,0x4(%eax,%ecx,4)
536741:	00
536742:	c7 44 88 08 02 00 00 	movl   $0x2,0x8(%eax,%ecx,4)
536749:	00
53674a:	c7 44 88 0c 03 00 00 	movl   $0x3,0xc(%eax,%ecx,4)
536751:	00
536752:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
536759:	00
53675a:	56                   	push   %esi
53675b:	e8 90 0b fd ff       	call   0x5072f0
536760:	8b 56 6c             	mov    0x6c(%esi),%edx
536763:	83 c4 04             	add    $0x4,%esp
536766:	85 ff                	test   %edi,%edi
536768:	79 03                	jns    0x53676d
53676a:	8d 7a ff             	lea    -0x1(%edx),%edi
53676d:	8b 06                	mov    (%esi),%eax
53676f:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
536773:	74 07                	je     0x53677c
536775:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
53677a:	eb 09                	jmp    0x536785
53677c:	8b 46 68             	mov    0x68(%esi),%eax
53677f:	8d 0c bf             	lea    (%edi,%edi,4),%ecx
536782:	8d 04 88             	lea    (%eax,%ecx,4),%eax
536785:	8b 4d bc             	mov    -0x44(%ebp),%ecx
536788:	89 50 08             	mov    %edx,0x8(%eax)
53678b:	8b 45 b4             	mov    -0x4c(%ebp),%eax
53678e:	8b 40 14             	mov    0x14(%eax),%eax
536791:	43                   	inc    %ebx
536792:	89 45 b4             	mov    %eax,-0x4c(%ebp)
536795:	85 c0                	test   %eax,%eax
536797:	0f 85 93 fe ff ff    	jne    0x536630
53679d:	8b 5d d0             	mov    -0x30(%ebp),%ebx
5367a0:	8b 1b                	mov    (%ebx),%ebx
5367a2:	89 5d d0             	mov    %ebx,-0x30(%ebp)
5367a5:	85 db                	test   %ebx,%ebx
5367a7:	0f 85 13 f7 ff ff    	jne    0x535ec0
5367ad:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
5367b0:	8b 4d c8             	mov    -0x38(%ebp),%ecx
5367b3:	8b 7d c4             	mov    -0x3c(%ebp),%edi
5367b6:	8b 45 d8             	mov    -0x28(%ebp),%eax
5367b9:	41                   	inc    %ecx
5367ba:	89 4d c8             	mov    %ecx,-0x38(%ebp)
5367bd:	3b 48 14             	cmp    0x14(%eax),%ecx
5367c0:	0f 8c 7a f5 ff ff    	jl     0x535d40
5367c6:	6a 00                	push   $0x0
5367c8:	68 ac 27 6b 00       	push   $0x6b27ac
5367cd:	6a 07                	push   $0x7
5367cf:	56                   	push   %esi
5367d0:	e8 cb b4 00 00       	call   0x541ca0
5367d5:	8b d0                	mov    %eax,%edx
5367d7:	83 c4 10             	add    $0x10,%esp
5367da:	85 d2                	test   %edx,%edx
5367dc:	74 2c                	je     0x53680a
5367de:	a1 24 68 6b 00       	mov    0x6b6824,%eax
5367e3:	b9 01 00 00 00       	mov    $0x1,%ecx
5367e8:	2b 4d e8             	sub    -0x18(%ebp),%ecx
5367eb:	85 c0                	test   %eax,%eax
5367ed:	89 4a 08             	mov    %ecx,0x8(%edx)
5367f0:	b9 dc c2 6b 00       	mov    $0x6bc2dc,%ecx
5367f5:	0f 45 c8             	cmovne %eax,%ecx
5367f8:	c6 42 29 ff          	movb   $0xff,0x29(%edx)
5367fc:	c7 42 38 9c ac 6b 00 	movl   $0x6bac9c,0x38(%edx)
536803:	c6 42 65 ff          	movb   $0xff,0x65(%edx)
536807:	89 4a 74             	mov    %ecx,0x74(%edx)
53680a:	8b 06                	mov    (%esi),%eax
53680c:	b9 ec 02 73 00       	mov    $0x7302ec,%ecx
536811:	8b 56 6c             	mov    0x6c(%esi),%edx
536814:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
536818:	75 03                	jne    0x53681d
53681a:	8b 4e 68             	mov    0x68(%esi),%ecx
53681d:	8d 42 fe             	lea    -0x2(%edx),%eax
536820:	89 41 0c             	mov    %eax,0xc(%ecx)
536823:	e9 05 05 00 00       	jmp    0x536d2d
536828:	85 c9                	test   %ecx,%ecx
53682a:	75 2f                	jne    0x53685b
53682c:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
53682f:	53                   	push   %ebx
536830:	e8 5b 0c 00 00       	call   0x537490
536835:	83 c4 04             	add    $0x4,%esp
536838:	85 c0                	test   %eax,%eax
53683a:	0f 85 ed 04 00 00    	jne    0x536d2d
536840:	8b 03                	mov    (%ebx),%eax
536842:	0f b6 40 4e          	movzbl 0x4e(%eax),%eax
536846:	ff 34 c5 00 28 6b 00 	push   0x6b2800(,%eax,8)
53684d:	56                   	push   %esi
53684e:	e8 4d e4 fd ff       	call   0x514ca0
536853:	83 c4 08             	add    $0x8,%esp
536856:	e9 d2 04 00 00       	jmp    0x536d2d
53685b:	8b 45 d8             	mov    -0x28(%ebp),%eax
53685e:	ba 01 00 00 00       	mov    $0x1,%edx
536863:	8b 70 14             	mov    0x14(%eax),%esi
536866:	85 f6                	test   %esi,%esi
536868:	7e 2d                	jle    0x536897
53686a:	8b 48 10             	mov    0x10(%eax),%ecx
53686d:	83 c1 0c             	add    $0xc,%ecx
536870:	83 79 f8 00          	cmpl   $0x0,-0x8(%ecx)
536874:	74 0e                	je     0x536884
536876:	8b 01                	mov    (%ecx),%eax
536878:	33 ff                	xor    %edi,%edi
53687a:	8a 40 4e             	mov    0x4e(%eax),%al
53687d:	24 05                	and    $0x5,%al
53687f:	3c 01                	cmp    $0x1,%al
536881:	0f 44 d7             	cmove  %edi,%edx
536884:	83 c1 10             	add    $0x10,%ecx
536887:	83 ee 01             	sub    $0x1,%esi
53688a:	75 e4                	jne    0x536870
53688c:	85 d2                	test   %edx,%edx
53688e:	0f 84 99 04 00 00    	je     0x536d2d
536894:	8b 4d b8             	mov    -0x48(%ebp),%ecx
536897:	a1 00 28 6b 00       	mov    0x6b2800,%eax
53689c:	be 00 28 6b 00       	mov    $0x6b2800,%esi
5368a1:	85 c0                	test   %eax,%eax
5368a3:	74 3b                	je     0x5368e0
5368a5:	50                   	push   %eax
5368a6:	51                   	push   %ecx
5368a7:	e8 84 73 00 00       	call   0x53dc30
5368ac:	83 c4 08             	add    $0x8,%esp
5368af:	85 c0                	test   %eax,%eax
5368b1:	74 0f                	je     0x5368c2
5368b3:	8b 46 08             	mov    0x8(%esi),%eax
5368b6:	83 c6 08             	add    $0x8,%esi
5368b9:	8b 4d b8             	mov    -0x48(%ebp),%ecx
5368bc:	85 c0                	test   %eax,%eax
5368be:	75 e5                	jne    0x5368a5
5368c0:	eb 27                	jmp    0x5368e9
5368c2:	8a 46 04             	mov    0x4(%esi),%al
5368c5:	0f b6 c8             	movzbl %al,%ecx
5368c8:	84 c0                	test   %al,%al
5368ca:	75 05                	jne    0x5368d1
5368cc:	b9 02 00 00 00       	mov    $0x2,%ecx
5368d1:	8b 45 d8             	mov    -0x28(%ebp),%eax
5368d4:	88 48 4e             	mov    %cl,0x4e(%eax)
5368d7:	8b 40 10             	mov    0x10(%eax),%eax
5368da:	8b 40 0c             	mov    0xc(%eax),%eax
5368dd:	88 48 4d             	mov    %cl,0x4d(%eax)
5368e0:	83 3e 00             	cmpl   $0x0,(%esi)
5368e3:	0f 85 44 04 00 00    	jne    0x536d2d
5368e9:	ff 75 b8             	push   -0x48(%ebp)
5368ec:	68 a0 ac 6b 00       	push   $0x6baca0
5368f1:	ff 75 d4             	push   -0x2c(%ebp)
5368f4:	e8 67 c9 fe ff       	call   0x523260
5368f9:	e9 2c 04 00 00       	jmp    0x536d2a
5368fe:	ff 75 c4             	push   -0x3c(%ebp)
536901:	8b 7b 08             	mov    0x8(%ebx),%edi
536904:	56                   	push   %esi
536905:	e8 e6 71 01 00       	call   0x54daf0
53690a:	83 c4 08             	add    $0x8,%esp
53690d:	83 7d b8 00          	cmpl   $0x0,-0x48(%ebp)
536911:	74 36                	je     0x536949
536913:	f6 43 05 08          	testb  $0x8,0x5(%ebx)
536917:	75 30                	jne    0x536949
536919:	6a 00                	push   $0x0
53691b:	68 48 28 6b 00       	push   $0x6b2848
536920:	6a 02                	push   $0x2
536922:	56                   	push   %esi
536923:	e8 78 b3 00 00       	call   0x541ca0
536928:	ff 75 b8             	push   -0x48(%ebp)
53692b:	8b f0                	mov    %eax,%esi
53692d:	8b 45 c4             	mov    -0x3c(%ebp),%eax
536930:	89 46 04             	mov    %eax,0x4(%esi)
536933:	89 46 18             	mov    %eax,0x18(%esi)
536936:	89 7e 1c             	mov    %edi,0x1c(%esi)
536939:	e8 d2 2b fe ff       	call   0x519510
53693e:	83 c4 14             	add    $0x14,%esp
536941:	89 46 20             	mov    %eax,0x20(%esi)
536944:	e9 e4 03 00 00       	jmp    0x536d2d
536949:	6a 00                	push   $0x0
53694b:	68 50 28 6b 00       	push   $0x6b2850
536950:	6a 03                	push   $0x3
536952:	56                   	push   %esi
536953:	e8 48 b3 00 00       	call   0x541ca0
536958:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
53695b:	83 c4 10             	add    $0x10,%esp
53695e:	89 48 04             	mov    %ecx,0x4(%eax)
536961:	89 48 18             	mov    %ecx,0x18(%eax)
536964:	89 78 20             	mov    %edi,0x20(%eax)
536967:	83 a6 98 00 00 00 bf 	andl   $0xffffffbf,0x98(%esi)
53696e:	e9 ba 03 00 00       	jmp    0x536d2d
536973:	8b 45 d4             	mov    -0x2c(%ebp),%eax
536976:	33 ff                	xor    %edi,%edi
536978:	57                   	push   %edi
536979:	c7 40 2c 01 00 00 00 	movl   $0x1,0x2c(%eax)
536980:	e8 eb e5 fa ff       	call   0x4e4f70
536985:	83 c4 04             	add    $0x4,%esp
536988:	85 c0                	test   %eax,%eax
53698a:	74 27                	je     0x5369b3
53698c:	0f 1f 40 00          	nopl   0x0(%eax)
536990:	50                   	push   %eax
536991:	6a 01                	push   $0x1