55f4ba:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
55f4c0:	8b 10                	mov    (%eax),%edx
55f4c2:	8b 70 08             	mov    0x8(%eax),%esi
55f4c5:	0f b7 0c 53          	movzwl (%ebx,%edx,2),%ecx
55f4c9:	8b 0c 8e             	mov    (%esi,%ecx,4),%ecx
55f4cc:	8b 70 0c             	mov    0xc(%eax),%esi
55f4cf:	3b 4d f8             	cmp    -0x8(%ebp),%ecx
55f4d2:	77 0e                	ja     0x55f4e2
55f4d4:	8d 4a 01             	lea    0x1(%edx),%ecx
55f4d7:	89 08                	mov    %ecx,(%eax)
55f4d9:	3b ce                	cmp    %esi,%ecx
55f4db:	7c e3                	jl     0x55f4c0
55f4dd:	8b 55 fc             	mov    -0x4(%ebp),%edx
55f4e0:	eb 1a                	jmp    0x55f4fc
55f4e2:	8b 55 fc             	mov    -0x4(%ebp),%edx
55f4e5:	3b ca                	cmp    %edx,%ecx
55f4e7:	73 13                	jae    0x55f4fc
55f4e9:	8b d1                	mov    %ecx,%edx
55f4eb:	8b 08                	mov    (%eax),%ecx
55f4ed:	89 55 fc             	mov    %edx,-0x4(%ebp)
55f4f0:	0f b7 0c 4b          	movzwl (%ebx,%ecx,2),%ecx
55f4f4:	8b 5d 10             	mov    0x10(%ebp),%ebx
55f4f7:	03 48 10             	add    0x10(%eax),%ecx
55f4fa:	89 0b                	mov    %ecx,(%ebx)
55f4fc:	83 e8 14             	sub    $0x14,%eax
55f4ff:	83 ef 01             	sub    $0x1,%edi
55f502:	79 ac                	jns    0x55f4b0
55f504:	8b 4d 08             	mov    0x8(%ebp),%ecx
55f507:	5e                   	pop    %esi
55f508:	5b                   	pop    %ebx
55f509:	8b 45 0c             	mov    0xc(%ebp),%eax
55f50c:	89 11                	mov    %edx,(%ecx)
55f50e:	5f                   	pop    %edi
55f50f:	89 10                	mov    %edx,(%eax)
55f511:	33 c0                	xor    %eax,%eax
55f513:	83 fa ff             	cmp    $0xffffffff,%edx
55f516:	0f 94 c0             	sete   %al
55f519:	8b e5                	mov    %ebp,%esp
55f51b:	5d                   	pop    %ebp
55f51c:	c3                   	ret
55f51d:	cc                   	int3
55f51e:	cc                   	int3
55f51f:	cc                   	int3
55f520:	55                   	push   %ebp
55f521:	8b ec                	mov    %esp,%ebp
55f523:	83 ec 0c             	sub    $0xc,%esp
55f526:	a1 d4 89 72 00       	mov    0x7289d4,%eax
55f52b:	33 c5                	xor    %ebp,%eax
55f52d:	89 45 fc             	mov    %eax,-0x4(%ebp)
55f530:	a1 70 00 73 00       	mov    0x730070,%eax
55f535:	56                   	push   %esi
55f536:	57                   	push   %edi
55f537:	8b 7d 08             	mov    0x8(%ebp),%edi
55f53a:	85 c0                	test   %eax,%eax
55f53c:	74 02                	je     0x55f540
55f53e:	ff d0                	call   *%eax
55f540:	8b 47 08             	mov    0x8(%edi),%eax
55f543:	8d 55 f4             	lea    -0xc(%ebp),%edx
55f546:	52                   	push   %edx
55f547:	50                   	push   %eax
55f548:	8b 08                	mov    (%eax),%ecx
55f54a:	8b 41 18             	mov    0x18(%ecx),%eax
55f54d:	ff d0                	call   *%eax
55f54f:	8b f0                	mov    %eax,%esi
55f551:	83 c4 08             	add    $0x8,%esp
55f554:	85 f6                	test   %esi,%esi
55f556:	75 26                	jne    0x55f57e
55f558:	53                   	push   %ebx
55f559:	8b 5d 10             	mov    0x10(%ebp),%ebx
55f55c:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
55f55f:	7c 1c                	jl     0x55f57d
55f561:	8b 55 0c             	mov    0xc(%ebp),%edx
55f564:	7f 05                	jg     0x55f56b
55f566:	39 55 f4             	cmp    %edx,-0xc(%ebp)
55f569:	76 12                	jbe    0x55f57d
55f56b:	8b 47 08             	mov    0x8(%edi),%eax
55f56e:	53                   	push   %ebx
55f56f:	52                   	push   %edx
55f570:	50                   	push   %eax
55f571:	8b 08                	mov    (%eax),%ecx
55f573:	8b 41 10             	mov    0x10(%ecx),%eax
55f576:	ff d0                	call   *%eax
55f578:	83 c4 0c             	add    $0xc,%esp
55f57b:	8b f0                	mov    %eax,%esi
55f57d:	5b                   	pop    %ebx
55f57e:	a1 74 00 73 00       	mov    0x730074,%eax
55f583:	85 c0                	test   %eax,%eax
55f585:	74 02                	je     0x55f589
55f587:	ff d0                	call   *%eax
55f589:	85 f6                	test   %esi,%esi
55f58b:	74 11                	je     0x55f59e
55f58d:	ff 77 6c             	push   0x6c(%edi)
55f590:	68 90 82 6b 00       	push   $0x6b8290
55f595:	56                   	push   %esi
55f596:	e8 45 0a f8 ff       	call   0x4dffe0
55f59b:	83 c4 0c             	add    $0xc,%esp
55f59e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
55f5a1:	5f                   	pop    %edi
55f5a2:	33 cd                	xor    %ebp,%ecx
55f5a4:	5e                   	pop    %esi
55f5a5:	e8 30 1f 08 00       	call   0x5e14da
55f5aa:	8b e5                	mov    %ebp,%esp
55f5ac:	5d                   	pop    %ebp
55f5ad:	c3                   	ret
55f5ae:	cc                   	int3
55f5af:	cc                   	int3
55f5b0:	55                   	push   %ebp
55f5b1:	8b ec                	mov    %esp,%ebp
55f5b3:	83 ec 0c             	sub    $0xc,%esp
55f5b6:	8b 55 18             	mov    0x18(%ebp),%edx
55f5b9:	33 c0                	xor    %eax,%eax
55f5bb:	53                   	push   %ebx
55f5bc:	8b 5d 14             	mov    0x14(%ebp),%ebx
55f5bf:	56                   	push   %esi
55f5c0:	8b 12                	mov    (%edx),%edx
55f5c2:	33 f6                	xor    %esi,%esi
55f5c4:	33 c9                	xor    %ecx,%ecx
55f5c6:	89 55 f8             	mov    %edx,-0x8(%ebp)
55f5c9:	8b 1b                	mov    (%ebx),%ebx
55f5cb:	57                   	push   %edi
55f5cc:	8b 7d 0c             	mov    0xc(%ebp),%edi
55f5cf:	89 4d f4             	mov    %ecx,-0xc(%ebp)
55f5d2:	8b 4d 10             	mov    0x10(%ebp),%ecx
55f5d5:	89 5d fc             	mov    %ebx,-0x4(%ebp)
55f5d8:	eb 09                	jmp    0x55f5e3
55f5da:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
55f5e0:	8b 5d fc             	mov    -0x4(%ebp),%ebx
55f5e3:	3b f2                	cmp    %edx,%esi
55f5e5:	7c 28                	jl     0x55f60f
55f5e7:	3b c1                	cmp    %ecx,%eax
55f5e9:	7c 28                	jl     0x55f613
55f5eb:	8b 45 14             	mov    0x14(%ebp),%eax
55f5ee:	8b 4d f4             	mov    -0xc(%ebp),%ecx
55f5f1:	89 38                	mov    %edi,(%eax)
55f5f3:	8b 45 18             	mov    0x18(%ebp),%eax
55f5f6:	89 08                	mov    %ecx,(%eax)
55f5f8:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
55f5fb:	50                   	push   %eax
55f5fc:	ff 75 1c             	push   0x1c(%ebp)
55f5ff:	57                   	push   %edi
55f600:	e8 fb 38 08 00       	call   0x5e2f00
55f605:	83 c4 0c             	add    $0xc,%esp
55f608:	5f                   	pop    %edi
55f609:	5e                   	pop    %esi
55f60a:	5b                   	pop    %ebx
55f60b:	8b e5                	mov    %ebp,%esp
55f60d:	5d                   	pop    %ebp
55f60e:	c3                   	ret
55f60f:	3b c1                	cmp    %ecx,%eax
55f611:	7d 28                	jge    0x55f63b
55f613:	3b f2                	cmp    %edx,%esi
55f615:	7d 1a                	jge    0x55f631
55f617:	0f b7 14 73          	movzwl (%ebx,%esi,2),%edx
55f61b:	8b 5d 08             	mov    0x8(%ebp),%ebx
55f61e:	0f b7 0c 47          	movzwl (%edi,%eax,2),%ecx
55f622:	8b 0c 8b             	mov    (%ebx,%ecx,4),%ecx
55f625:	3b 0c 93             	cmp    (%ebx,%edx,4),%ecx
55f628:	73 14                	jae    0x55f63e
55f62a:	0f b7 14 47          	movzwl (%edi,%eax,2),%edx
55f62e:	40                   	inc    %eax
55f62f:	eb 15                	jmp    0x55f646
55f631:	0f b7 14 47          	movzwl (%edi,%eax,2),%edx
55f635:	40                   	inc    %eax
55f636:	8b 5d 08             	mov    0x8(%ebp),%ebx
55f639:	eb 0b                	jmp    0x55f646
55f63b:	8b 5d 08             	mov    0x8(%ebp),%ebx
55f63e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
55f641:	0f b7 14 71          	movzwl (%ecx,%esi,2),%edx
55f645:	46                   	inc    %esi
55f646:	8b 7d 1c             	mov    0x1c(%ebp),%edi
55f649:	0f b7 ca             	movzwl %dx,%ecx
55f64c:	8b 1c 8b             	mov    (%ebx,%ecx,4),%ebx
55f64f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
55f652:	66 89 14 4f          	mov    %dx,(%edi,%ecx,2)
55f656:	41                   	inc    %ecx
55f657:	8b 7d 0c             	mov    0xc(%ebp),%edi
55f65a:	8b 55 f8             	mov    -0x8(%ebp),%edx
55f65d:	89 4d f4             	mov    %ecx,-0xc(%ebp)
55f660:	8b 4d 10             	mov    0x10(%ebp),%ecx
55f663:	3b c1                	cmp    %ecx,%eax
55f665:	0f 8d 75 ff ff ff    	jge    0x55f5e0
55f66b:	0f b7 0c 47          	movzwl (%edi,%eax,2),%ecx
55f66f:	8b 55 08             	mov    0x8(%ebp),%edx
55f672:	39 1c 8a             	cmp    %ebx,(%edx,%ecx,4)
55f675:	8b 4d 10             	mov    0x10(%ebp),%ecx
55f678:	8b 55 f8             	mov    -0x8(%ebp),%edx
55f67b:	8b 5d fc             	mov    -0x4(%ebp),%ebx
55f67e:	0f 85 5f ff ff ff    	jne    0x55f5e3
55f684:	40                   	inc    %eax
55f685:	e9 59 ff ff ff       	jmp    0x55f5e3
55f68a:	cc                   	int3
55f68b:	cc                   	int3
55f68c:	cc                   	int3
55f68d:	cc                   	int3
55f68e:	cc                   	int3
55f68f:	cc                   	int3
55f690:	55                   	push   %ebp
55f691:	8b ec                	mov    %esp,%ebp
55f693:	81 ec 98 00 00 00    	sub    $0x98,%esp
55f699:	a1 d4 89 72 00       	mov    0x7289d4,%eax
55f69e:	33 c5                	xor    %ebp,%eax
55f6a0:	89 45 fc             	mov    %eax,-0x4(%ebp)
55f6a3:	8b 45 10             	mov    0x10(%ebp),%eax
55f6a6:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
55f6ac:	8b 45 14             	mov    0x14(%ebp),%eax
55f6af:	53                   	push   %ebx
55f6b0:	56                   	push   %esi
55f6b1:	8b 75 0c             	mov    0xc(%ebp),%esi
55f6b4:	33 db                	xor    %ebx,%ebx
55f6b6:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
55f6bc:	8b 00                	mov    (%eax),%eax
55f6be:	57                   	push   %edi
55f6bf:	89 45 88             	mov    %eax,-0x78(%ebp)
55f6c2:	33 c0                	xor    %eax,%eax
55f6c4:	6a 68                	push   $0x68
55f6c6:	89 45 90             	mov    %eax,-0x70(%ebp)
55f6c9:	89 45 8c             	mov    %eax,-0x74(%ebp)
55f6cc:	8d 45 94             	lea    -0x6c(%ebp),%eax
55f6cf:	53                   	push   %ebx
55f6d0:	50                   	push   %eax
55f6d1:	89 b5 74 ff ff ff    	mov    %esi,-0x8c(%ebp)
55f6d7:	e8 24 43 08 00       	call   0x5e3a00
55f6dc:	33 c0                	xor    %eax,%eax
55f6de:	8d 7b 01             	lea    0x1(%ebx),%edi
55f6e1:	83 c4 0c             	add    $0xc,%esp
55f6e4:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
55f6ea:	39 45 88             	cmp    %eax,-0x78(%ebp)
55f6ed:	0f 8e 52 01 00 00    	jle    0x55f845
55f6f3:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
55f6f9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
55f700:	ba 01 00 00 00       	mov    $0x1,%edx
55f705:	33 db                	xor    %ebx,%ebx
55f707:	89 55 90             	mov    %edx,-0x70(%ebp)
55f70a:	8b f9                	mov    %ecx,%edi
55f70c:	89 7d 8c             	mov    %edi,-0x74(%ebp)
55f70f:	89 9d 70 ff ff ff    	mov    %ebx,-0x90(%ebp)
55f715:	84 c2                	test   %al,%dl
55f717:	0f 84 7c 00 00 00    	je     0x55f799
55f71d:	0f 1f 00             	nopl   (%eax)
55f720:	8b 4c dd 94          	mov    -0x6c(%ebp,%ebx,8),%ecx
55f724:	33 c0                	xor    %eax,%eax
55f726:	8b 5c dd 98          	mov    -0x68(%ebp,%ebx,8),%ebx
55f72a:	33 f6                	xor    %esi,%esi
55f72c:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
55f72f:	89 9d 68 ff ff ff    	mov    %ebx,-0x98(%ebp)
55f735:	89 45 80             	mov    %eax,-0x80(%ebp)
55f738:	eb 09                	jmp    0x55f743
55f73a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
55f740:	8b 7d 8c             	mov    -0x74(%ebp),%edi
55f743:	3b f2                	cmp    %edx,%esi
55f745:	7c 7d                	jl     0x55f7c4
55f747:	3b c1                	cmp    %ecx,%eax
55f749:	7c 7d                	jl     0x55f7c8
55f74b:	8b 4d 80             	mov    -0x80(%ebp),%ecx
55f74e:	8b fb                	mov    %ebx,%edi
55f750:	8b b5 74 ff ff ff    	mov    -0x8c(%ebp),%esi
55f756:	8b c1                	mov    %ecx,%eax
55f758:	89 45 90             	mov    %eax,-0x70(%ebp)
55f75b:	89 7d 8c             	mov    %edi,-0x74(%ebp)
55f75e:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
55f761:	50                   	push   %eax
55f762:	56                   	push   %esi
55f763:	53                   	push   %ebx
55f764:	e8 97 37 08 00       	call   0x5e2f00
55f769:	8b 9d 70 ff ff ff    	mov    -0x90(%ebp),%ebx
55f76f:	b8 01 00 00 00       	mov    $0x1,%eax
55f774:	8b 55 90             	mov    -0x70(%ebp),%edx
55f777:	43                   	inc    %ebx
55f778:	8b cb                	mov    %ebx,%ecx
55f77a:	89 9d 70 ff ff ff    	mov    %ebx,-0x90(%ebp)
55f780:	d3 e0                	shl    %cl,%eax
55f782:	83 c4 0c             	add    $0xc,%esp
55f785:	85 85 7c ff ff ff    	test   %eax,-0x84(%ebp)
55f78b:	75 93                	jne    0x55f720
55f78d:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
55f793:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
55f799:	40                   	inc    %eax
55f79a:	89 7c dd 98          	mov    %edi,-0x68(%ebp,%ebx,8)
55f79e:	83 c1 02             	add    $0x2,%ecx
55f7a1:	89 54 dd 94          	mov    %edx,-0x6c(%ebp,%ebx,8)
55f7a5:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
55f7ab:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
55f7b1:	3b 45 88             	cmp    -0x78(%ebp),%eax
55f7b4:	0f 8c 46 ff ff ff    	jl     0x55f700
55f7ba:	bf 01 00 00 00       	mov    $0x1,%edi
55f7bf:	e9 83 00 00 00       	jmp    0x55f847
55f7c4:	3b c1                	cmp    %ecx,%eax
55f7c6:	7d 28                	jge    0x55f7f0
55f7c8:	3b f2                	cmp    %edx,%esi
55f7ca:	7d 1a                	jge    0x55f7e6
55f7cc:	0f b7 14 77          	movzwl (%edi,%esi,2),%edx
55f7d0:	8b 7d 08             	mov    0x8(%ebp),%edi
55f7d3:	0f b7 0c 43          	movzwl (%ebx,%eax,2),%ecx
55f7d7:	8b 0c 8f             	mov    (%edi,%ecx,4),%ecx
55f7da:	3b 0c 97             	cmp    (%edi,%edx,4),%ecx
55f7dd:	73 14                	jae    0x55f7f3
55f7df:	0f b7 14 43          	movzwl (%ebx,%eax,2),%edx
55f7e3:	40                   	inc    %eax
55f7e4:	eb 15                	jmp    0x55f7fb
55f7e6:	0f b7 14 43          	movzwl (%ebx,%eax,2),%edx
55f7ea:	40                   	inc    %eax
55f7eb:	8b 7d 08             	mov    0x8(%ebp),%edi
55f7ee:	eb 0b                	jmp    0x55f7fb
55f7f0:	8b 7d 08             	mov    0x8(%ebp),%edi
55f7f3:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
55f7f6:	0f b7 14 71          	movzwl (%ecx,%esi,2),%edx
55f7fa:	46                   	inc    %esi
55f7fb:	8b 9d 74 ff ff ff    	mov    -0x8c(%ebp),%ebx
55f801:	0f b7 ca             	movzwl %dx,%ecx
55f804:	8b 3c 8f             	mov    (%edi,%ecx,4),%edi
55f807:	8b 4d 80             	mov    -0x80(%ebp),%ecx
55f80a:	66 89 14 4b          	mov    %dx,(%ebx,%ecx,2)
55f80e:	41                   	inc    %ecx
55f80f:	8b 9d 68 ff ff ff    	mov    -0x98(%ebp),%ebx
55f815:	8b 55 90             	mov    -0x70(%ebp),%edx
55f818:	89 4d 80             	mov    %ecx,-0x80(%ebp)
55f81b:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
55f81e:	3b c1                	cmp    %ecx,%eax
55f820:	0f 8d 1a ff ff ff    	jge    0x55f740
55f826:	0f b7 0c 43          	movzwl (%ebx,%eax,2),%ecx
55f82a:	8b 55 08             	mov    0x8(%ebp),%edx
55f82d:	39 3c 8a             	cmp    %edi,(%edx,%ecx,4)
55f830:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
55f833:	8b 55 90             	mov    -0x70(%ebp),%edx
55f836:	8b 7d 8c             	mov    -0x74(%ebp),%edi
55f839:	0f 85 04 ff ff ff    	jne    0x55f743
55f83f:	40                   	inc    %eax
55f840:	e9 fb fe ff ff       	jmp    0x55f740
55f845:	33 d2                	xor    %edx,%edx
55f847:	43                   	inc    %ebx
55f848:	83 fb 0d             	cmp    $0xd,%ebx
55f84b:	73 4e                	jae    0x55f89b
55f84d:	8b 45 88             	mov    -0x78(%ebp),%eax
55f850:	8b cb                	mov    %ebx,%ecx
55f852:	d3 c7                	rol    %cl,%edi
55f854:	85 f8                	test   %edi,%eax
55f856:	74 1f                	je     0x55f877
55f858:	56                   	push   %esi
55f859:	8d 45 90             	lea    -0x70(%ebp),%eax
55f85c:	50                   	push   %eax
55f85d:	8d 45 8c             	lea    -0x74(%ebp),%eax
55f860:	50                   	push   %eax
55f861:	ff 74 dd 94          	push   -0x6c(%ebp,%ebx,8)
55f865:	ff 74 dd 98          	push   -0x68(%ebp,%ebx,8)
55f869:	ff 75 08             	push   0x8(%ebp)
55f86c:	e8 3f fd ff ff       	call   0x55f5b0
55f871:	8b 45 88             	mov    -0x78(%ebp),%eax
55f874:	83 c4 18             	add    $0x18,%esp
55f877:	43                   	inc    %ebx
55f878:	d1 c7                	rol    $1,%edi