5fe4dc:	8d 51 02             	lea    0x2(%ecx),%edx
5fe4df:	66 8b 01             	mov    (%ecx),%ax
5fe4e2:	83 c1 02             	add    $0x2,%ecx
5fe4e5:	66 3b c7             	cmp    %di,%ax
5fe4e8:	75 f5                	jne    0x5fe4df
5fe4ea:	2b ca                	sub    %edx,%ecx
5fe4ec:	d1 f9                	sar    $1,%ecx
5fe4ee:	8d 1c 4b             	lea    (%ebx,%ecx,2),%ebx
5fe4f1:	83 c3 02             	add    $0x2,%ebx
5fe4f4:	eb 01                	jmp    0x5fe4f7
5fe4f6:	43                   	inc    %ebx
5fe4f7:	f6 c3 01             	test   $0x1,%bl
5fe4fa:	75 fa                	jne    0x5fe4f6
5fe4fc:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
5fe500:	75 2f                	jne    0x5fe531
5fe502:	8b c3                	mov    %ebx,%eax
5fe504:	d1 e8                	shr    $1,%eax
5fe506:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
5fe509:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe50c:	89 8e 58 01 00 00    	mov    %ecx,0x158(%esi)
5fe512:	ff b0 58 01 00 00    	push   0x158(%eax)
5fe518:	8b 45 f0             	mov    -0x10(%ebp),%eax
5fe51b:	2b c3                	sub    %ebx,%eax
5fe51d:	d1 e8                	shr    $1,%eax
5fe51f:	50                   	push   %eax
5fe520:	51                   	push   %ecx
5fe521:	e8 ee 81 ff ff       	call   0x5f6714
5fe526:	83 c4 0c             	add    $0xc,%esp
5fe529:	85 c0                	test   %eax,%eax
5fe52b:	0f 85 0a 01 00 00    	jne    0x5fe63b
5fe531:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe534:	8b 88 58 01 00 00    	mov    0x158(%eax),%ecx
5fe53a:	8d 51 02             	lea    0x2(%ecx),%edx
5fe53d:	66 8b 01             	mov    (%ecx),%ax
5fe540:	83 c1 02             	add    $0x2,%ecx
5fe543:	66 3b c7             	cmp    %di,%ax
5fe546:	75 f5                	jne    0x5fe53d
5fe548:	2b ca                	sub    %edx,%ecx
5fe54a:	d1 f9                	sar    $1,%ecx
5fe54c:	8d 1c 4b             	lea    (%ebx,%ecx,2),%ebx
5fe54f:	83 c3 02             	add    $0x2,%ebx
5fe552:	eb 01                	jmp    0x5fe555
5fe554:	43                   	inc    %ebx
5fe555:	f6 c3 01             	test   $0x1,%bl
5fe558:	75 fa                	jne    0x5fe554
5fe55a:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
5fe55e:	75 2f                	jne    0x5fe58f
5fe560:	8b c3                	mov    %ebx,%eax
5fe562:	d1 e8                	shr    $1,%eax
5fe564:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
5fe567:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe56a:	89 8e 5c 01 00 00    	mov    %ecx,0x15c(%esi)
5fe570:	ff b0 5c 01 00 00    	push   0x15c(%eax)
5fe576:	8b 45 f0             	mov    -0x10(%ebp),%eax
5fe579:	2b c3                	sub    %ebx,%eax
5fe57b:	d1 e8                	shr    $1,%eax
5fe57d:	50                   	push   %eax
5fe57e:	51                   	push   %ecx
5fe57f:	e8 90 81 ff ff       	call   0x5f6714
5fe584:	83 c4 0c             	add    $0xc,%esp
5fe587:	85 c0                	test   %eax,%eax
5fe589:	0f 85 ac 00 00 00    	jne    0x5fe63b
5fe58f:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe592:	8b 88 5c 01 00 00    	mov    0x15c(%eax),%ecx
5fe598:	8d 51 02             	lea    0x2(%ecx),%edx
5fe59b:	66 8b 01             	mov    (%ecx),%ax
5fe59e:	83 c1 02             	add    $0x2,%ecx
5fe5a1:	66 3b c7             	cmp    %di,%ax
5fe5a4:	75 f5                	jne    0x5fe59b
5fe5a6:	2b ca                	sub    %edx,%ecx
5fe5a8:	d1 f9                	sar    $1,%ecx
5fe5aa:	8d 1c 4b             	lea    (%ebx,%ecx,2),%ebx
5fe5ad:	83 c3 02             	add    $0x2,%ebx
5fe5b0:	eb 01                	jmp    0x5fe5b3
5fe5b2:	43                   	inc    %ebx
5fe5b3:	f6 c3 01             	test   $0x1,%bl
5fe5b6:	75 fa                	jne    0x5fe5b2
5fe5b8:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
5fe5bc:	75 2b                	jne    0x5fe5e9
5fe5be:	8b c3                	mov    %ebx,%eax
5fe5c0:	d1 e8                	shr    $1,%eax
5fe5c2:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
5fe5c5:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe5c8:	89 8e 60 01 00 00    	mov    %ecx,0x160(%esi)
5fe5ce:	ff b0 60 01 00 00    	push   0x160(%eax)
5fe5d4:	8b 45 f0             	mov    -0x10(%ebp),%eax
5fe5d7:	2b c3                	sub    %ebx,%eax
5fe5d9:	d1 e8                	shr    $1,%eax
5fe5db:	50                   	push   %eax
5fe5dc:	51                   	push   %ecx
5fe5dd:	e8 32 81 ff ff       	call   0x5f6714
5fe5e2:	83 c4 0c             	add    $0xc,%esp
5fe5e5:	85 c0                	test   %eax,%eax
5fe5e7:	75 52                	jne    0x5fe63b
5fe5e9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe5ec:	8b 88 60 01 00 00    	mov    0x160(%eax),%ecx
5fe5f2:	8d 51 02             	lea    0x2(%ecx),%edx
5fe5f5:	66 8b 01             	mov    (%ecx),%ax
5fe5f8:	83 c1 02             	add    $0x2,%ecx
5fe5fb:	66 3b c7             	cmp    %di,%ax
5fe5fe:	75 f5                	jne    0x5fe5f5
5fe600:	2b ca                	sub    %edx,%ecx
5fe602:	8b 55 f8             	mov    -0x8(%ebp),%edx
5fe605:	d1 f9                	sar    $1,%ecx
5fe607:	42                   	inc    %edx
5fe608:	89 55 f8             	mov    %edx,-0x8(%ebp)
5fe60b:	8d 71 01             	lea    0x1(%ecx),%esi
5fe60e:	8d 34 73             	lea    (%ebx,%esi,2),%esi
5fe611:	83 fa 02             	cmp    $0x2,%edx
5fe614:	7d 0b                	jge    0x5fe621
5fe616:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fe619:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5fe61c:	e9 5d f9 ff ff       	jmp    0x5fdf7e
5fe621:	8b 7d f4             	mov    -0xc(%ebp),%edi
5fe624:	80 7d e4 00          	cmpb   $0x0,-0x1c(%ebp)
5fe628:	74 0a                	je     0x5fe634
5fe62a:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5fe62d:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
5fe634:	8b c7                	mov    %edi,%eax
5fe636:	5f                   	pop    %edi
5fe637:	5e                   	pop    %esi
5fe638:	5b                   	pop    %ebx
5fe639:	c9                   	leave
5fe63a:	c3                   	ret
5fe63b:	57                   	push   %edi
5fe63c:	57                   	push   %edi
5fe63d:	57                   	push   %edi
5fe63e:	57                   	push   %edi
5fe63f:	57                   	push   %edi
5fe640:	e8 07 e9 fe ff       	call   0x5ecf4c
5fe645:	cc                   	int3
5fe646:	8b ff                	mov    %edi,%edi
5fe648:	55                   	push   %ebp
5fe649:	8b ec                	mov    %esp,%ebp
5fe64b:	6a 00                	push   $0x0
5fe64d:	ff 75 18             	push   0x18(%ebp)
5fe650:	ff 75 14             	push   0x14(%ebp)
5fe653:	ff 75 10             	push   0x10(%ebp)
5fe656:	ff 75 0c             	push   0xc(%ebp)
5fe659:	ff 75 08             	push   0x8(%ebp)
5fe65c:	e8 05 00 00 00       	call   0x5fe666
5fe661:	83 c4 18             	add    $0x18,%esp
5fe664:	5d                   	pop    %ebp
5fe665:	c3                   	ret
5fe666:	8b ff                	mov    %edi,%edi
5fe668:	55                   	push   %ebp
5fe669:	8b ec                	mov    %esp,%ebp
5fe66b:	83 ec 28             	sub    $0x28,%esp
5fe66e:	57                   	push   %edi
5fe66f:	8b 7d 08             	mov    0x8(%ebp),%edi
5fe672:	85 ff                	test   %edi,%edi
5fe674:	75 17                	jne    0x5fe68d
5fe676:	e8 7e e9 fe ff       	call   0x5ecff9
5fe67b:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5fe681:	e8 99 e8 fe ff       	call   0x5ecf1f
5fe686:	33 c0                	xor    %eax,%eax
5fe688:	e9 59 01 00 00       	jmp    0x5fe7e6
5fe68d:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
5fe691:	74 e3                	je     0x5fe676
5fe693:	56                   	push   %esi
5fe694:	8b 75 10             	mov    0x10(%ebp),%esi
5fe697:	33 c0                	xor    %eax,%eax
5fe699:	66 89 07             	mov    %ax,(%edi)
5fe69c:	85 f6                	test   %esi,%esi
5fe69e:	75 17                	jne    0x5fe6b7
5fe6a0:	e8 54 e9 fe ff       	call   0x5ecff9
5fe6a5:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5fe6ab:	e8 6f e8 fe ff       	call   0x5ecf1f
5fe6b0:	33 c0                	xor    %eax,%eax
5fe6b2:	e9 2e 01 00 00       	jmp    0x5fe7e5
5fe6b7:	ff 75 1c             	push   0x1c(%ebp)
5fe6ba:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5fe6bd:	e8 cb f4 fe ff       	call   0x5edb8d
5fe6c2:	8b 55 18             	mov    0x18(%ebp),%edx
5fe6c5:	85 d2                	test   %edx,%edx
5fe6c7:	75 0c                	jne    0x5fe6d5
5fe6c9:	8b 45 dc             	mov    -0x24(%ebp),%eax
5fe6cc:	8b 90 9c 00 00 00    	mov    0x9c(%eax),%edx
5fe6d2:	89 55 18             	mov    %edx,0x18(%ebp)
5fe6d5:	8b 45 0c             	mov    0xc(%ebp),%eax
5fe6d8:	8b cf                	mov    %edi,%ecx
5fe6da:	53                   	push   %ebx
5fe6db:	33 db                	xor    %ebx,%ebx
5fe6dd:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5fe6e0:	89 45 f8             	mov    %eax,-0x8(%ebp)
5fe6e3:	85 c0                	test   %eax,%eax
5fe6e5:	0f 86 bb 00 00 00    	jbe    0x5fe7a6
5fe6eb:	0f b7 3e             	movzwl (%esi),%edi
5fe6ee:	89 7d ec             	mov    %edi,-0x14(%ebp)
5fe6f1:	66 85 ff             	test   %di,%di
5fe6f4:	8b 7d 08             	mov    0x8(%ebp),%edi
5fe6f7:	89 75 e8             	mov    %esi,-0x18(%ebp)
5fe6fa:	0f 84 8d 00 00 00    	je     0x5fe78d
5fe700:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fe703:	66 83 f8 25          	cmp    $0x25,%ax
5fe707:	74 15                	je     0x5fe71e
5fe709:	66 89 01             	mov    %ax,(%ecx)
5fe70c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5fe70f:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fe712:	83 c1 02             	add    $0x2,%ecx
5fe715:	48                   	dec    %eax
5fe716:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5fe719:	89 45 f8             	mov    %eax,-0x8(%ebp)
5fe71c:	eb 61                	jmp    0x5fe77f
5fe71e:	39 5d 14             	cmp    %ebx,0x14(%ebp)
5fe721:	0f 84 9b 00 00 00    	je     0x5fe7c2
5fe727:	83 c6 02             	add    $0x2,%esi
5fe72a:	88 5d f0             	mov    %bl,-0x10(%ebp)
5fe72d:	0f b7 06             	movzwl (%esi),%eax
5fe730:	8b c8                	mov    %eax,%ecx
5fe732:	83 f8 23             	cmp    $0x23,%eax
5fe735:	75 0d                	jne    0x5fe744
5fe737:	8b 75 e8             	mov    -0x18(%ebp),%esi
5fe73a:	83 c6 04             	add    $0x4,%esi
5fe73d:	c6 45 f0 01          	movb   $0x1,-0x10(%ebp)
5fe741:	0f b7 0e             	movzwl (%esi),%ecx
5fe744:	66 83 f9 45          	cmp    $0x45,%cx
5fe748:	74 09                	je     0x5fe753
5fe74a:	0f b7 c1             	movzwl %cx,%eax
5fe74d:	66 83 f9 4f          	cmp    $0x4f,%cx
5fe751:	75 06                	jne    0x5fe759
5fe753:	83 c6 02             	add    $0x2,%esi
5fe756:	0f b7 06             	movzwl (%esi),%eax
5fe759:	ff 75 f0             	push   -0x10(%ebp)
5fe75c:	8d 4d f8             	lea    -0x8(%ebp),%ecx
5fe75f:	52                   	push   %edx
5fe760:	51                   	push   %ecx
5fe761:	8d 4d f4             	lea    -0xc(%ebp),%ecx
5fe764:	51                   	push   %ecx
5fe765:	ff 75 14             	push   0x14(%ebp)
5fe768:	50                   	push   %eax
5fe769:	8d 45 dc             	lea    -0x24(%ebp),%eax
5fe76c:	50                   	push   %eax
5fe76d:	e8 8b e5 ff ff       	call   0x5fccfd
5fe772:	83 c4 1c             	add    $0x1c,%esp
5fe775:	84 c0                	test   %al,%al
5fe777:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fe77a:	74 22                	je     0x5fe79e
5fe77c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5fe77f:	8b 55 18             	mov    0x18(%ebp),%edx
5fe782:	83 c6 02             	add    $0x2,%esi
5fe785:	85 c0                	test   %eax,%eax
5fe787:	0f 85 5e ff ff ff    	jne    0x5fe6eb
5fe78d:	85 c0                	test   %eax,%eax
5fe78f:	74 15                	je     0x5fe7a6
5fe791:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5fe794:	33 c0                	xor    %eax,%eax
5fe796:	66 89 01             	mov    %ax,(%ecx)
5fe799:	2b 5d f8             	sub    -0x8(%ebp),%ebx
5fe79c:	eb 34                	jmp    0x5fe7d2
5fe79e:	85 c0                	test   %eax,%eax
5fe7a0:	74 04                	je     0x5fe7a6
5fe7a2:	b1 01                	mov    $0x1,%cl
5fe7a4:	eb 02                	jmp    0x5fe7a8
5fe7a6:	8a cb                	mov    %bl,%cl
5fe7a8:	33 d2                	xor    %edx,%edx
5fe7aa:	66 89 17             	mov    %dx,(%edi)
5fe7ad:	84 c9                	test   %cl,%cl
5fe7af:	75 11                	jne    0x5fe7c2
5fe7b1:	85 c0                	test   %eax,%eax
5fe7b3:	75 0d                	jne    0x5fe7c2
5fe7b5:	e8 3f e8 fe ff       	call   0x5ecff9
5fe7ba:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
5fe7c0:	eb 10                	jmp    0x5fe7d2
5fe7c2:	e8 32 e8 fe ff       	call   0x5ecff9
5fe7c7:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5fe7cd:	e8 4d e7 fe ff       	call   0x5ecf1f
5fe7d2:	80 7d e4 00          	cmpb   $0x0,-0x1c(%ebp)
5fe7d6:	74 0a                	je     0x5fe7e2
5fe7d8:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5fe7db:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
5fe7e2:	8b c3                	mov    %ebx,%eax
5fe7e4:	5b                   	pop    %ebx
5fe7e5:	5e                   	pop    %esi
5fe7e6:	5f                   	pop    %edi
5fe7e7:	c9                   	leave
5fe7e8:	c3                   	ret
5fe7e9:	8b ff                	mov    %edi,%edi
5fe7eb:	55                   	push   %ebp
5fe7ec:	8b ec                	mov    %esp,%ebp
5fe7ee:	6a 00                	push   $0x0
5fe7f0:	6a 00                	push   $0x0
5fe7f2:	ff 75 14             	push   0x14(%ebp)
5fe7f5:	ff 75 10             	push   0x10(%ebp)
5fe7f8:	ff 75 0c             	push   0xc(%ebp)
5fe7fb:	ff 75 08             	push   0x8(%ebp)
5fe7fe:	e8 63 fe ff ff       	call   0x5fe666
5fe803:	83 c4 18             	add    $0x18,%esp
5fe806:	5d                   	pop    %ebp
5fe807:	c3                   	ret
5fe808:	6a 0c                	push   $0xc
5fe80a:	68 f0 1c 70 00       	push   $0x701cf0
5fe80f:	e8 fc 3c fe ff       	call   0x5e2510
5fe814:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
5fe818:	8b 45 08             	mov    0x8(%ebp),%eax
5fe81b:	ff 30                	push   (%eax)
5fe81d:	e8 80 d9 ff ff       	call   0x5fc1a2
5fe822:	59                   	pop    %ecx
5fe823:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5fe827:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5fe82a:	e8 34 00 00 00       	call   0x5fe863
5fe82f:	8b f0                	mov    %eax,%esi
5fe831:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5fe834:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5fe83b:	e8 17 00 00 00       	call   0x5fe857
5fe840:	8b c6                	mov    %esi,%eax
5fe842:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5fe845:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5fe84c:	59                   	pop    %ecx
5fe84d:	5f                   	pop    %edi
5fe84e:	5e                   	pop    %esi
5fe84f:	5b                   	pop    %ebx
5fe850:	c9                   	leave
5fe851:	c2 0c 00             	ret    $0xc
5fe854:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5fe857:	8b 45 10             	mov    0x10(%ebp),%eax
5fe85a:	ff 30                	push   (%eax)
5fe85c:	e8 55 d9 ff ff       	call   0x5fc1b6
5fe861:	59                   	pop    %ecx
5fe862:	c3                   	ret
5fe863:	8b ff                	mov    %edi,%edi
5fe865:	55                   	push   %ebp
5fe866:	8b ec                	mov    %esp,%ebp
5fe868:	51                   	push   %ecx
5fe869:	56                   	push   %esi
5fe86a:	8b f1                	mov    %ecx,%esi
5fe86c:	57                   	push   %edi
5fe86d:	8b 06                	mov    (%esi),%eax
5fe86f:	8b 38                	mov    (%eax),%edi
5fe871:	57                   	push   %edi
5fe872:	e8 3b 82 00 00       	call   0x606ab2
5fe877:	88 45 fc             	mov    %al,-0x4(%ebp)
5fe87a:	8b 06                	mov    (%esi),%eax
5fe87c:	ff 30                	push   (%eax)
5fe87e:	8b 46 0c             	mov    0xc(%esi),%eax
5fe881:	ff 30                	push   (%eax)
5fe883:	8b 46 08             	mov    0x8(%esi),%eax
5fe886:	ff 30                	push   (%eax)
5fe888:	8b 46 04             	mov    0x4(%esi),%eax
5fe88b:	ff 30                	push   (%eax)
5fe88d:	e8 14 00 00 00       	call   0x5fe8a6
5fe892:	57                   	push   %edi
5fe893:	ff 75 fc             	push   -0x4(%ebp)
5fe896:	8b f0                	mov    %eax,%esi
5fe898:	e8 c8 82 00 00       	call   0x606b65
5fe89d:	83 c4 1c             	add    $0x1c,%esp
5fe8a0:	8b c6                	mov    %esi,%eax
5fe8a2:	5f                   	pop    %edi
5fe8a3:	5e                   	pop    %esi
5fe8a4:	c9                   	leave