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
5fe8a5:	c3                   	ret
5fe8a6:	8b ff                	mov    %edi,%edi
5fe8a8:	55                   	push   %ebp
5fe8a9:	8b ec                	mov    %esp,%ebp
5fe8ab:	83 ec 0c             	sub    $0xc,%esp
5fe8ae:	53                   	push   %ebx
5fe8af:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5fe8b2:	56                   	push   %esi
5fe8b3:	57                   	push   %edi
5fe8b4:	85 db                	test   %ebx,%ebx
5fe8b6:	74 1e                	je     0x5fe8d6
5fe8b8:	8b 75 10             	mov    0x10(%ebp),%esi
5fe8bb:	85 f6                	test   %esi,%esi
5fe8bd:	74 17                	je     0x5fe8d6
5fe8bf:	8b 7d 14             	mov    0x14(%ebp),%edi
5fe8c2:	85 ff                	test   %edi,%edi
5fe8c4:	75 17                	jne    0x5fe8dd
5fe8c6:	e8 2e e7 fe ff       	call   0x5ecff9
5fe8cb:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5fe8d1:	e8 49 e6 fe ff       	call   0x5ecf1f
5fe8d6:	33 c0                	xor    %eax,%eax
5fe8d8:	5f                   	pop    %edi
5fe8d9:	5e                   	pop    %esi
5fe8da:	5b                   	pop    %ebx
5fe8db:	c9                   	leave
5fe8dc:	c3                   	ret
5fe8dd:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5fe8e1:	74 e3                	je     0x5fe8c6
5fe8e3:	83 c8 ff             	or     $0xffffffff,%eax
5fe8e6:	33 d2                	xor    %edx,%edx
5fe8e8:	f7 f3                	div    %ebx
5fe8ea:	3b f0                	cmp    %eax,%esi
5fe8ec:	77 d8                	ja     0x5fe8c6
5fe8ee:	8d 47 0c             	lea    0xc(%edi),%eax
5fe8f1:	89 45 f4             	mov    %eax,-0xc(%ebp)
5fe8f4:	8b 00                	mov    (%eax),%eax
5fe8f6:	90                   	nop
5fe8f7:	a9 c0 04 00 00       	test   $0x4c0,%eax
5fe8fc:	74 05                	je     0x5fe903
5fe8fe:	8b 4f 18             	mov    0x18(%edi),%ecx
5fe901:	eb 05                	jmp    0x5fe908
5fe903:	b9 00 10 00 00       	mov    $0x1000,%ecx
5fe908:	0f af de             	imul   %esi,%ebx
5fe90b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5fe90e:	8b f3                	mov    %ebx,%esi
5fe910:	85 db                	test   %ebx,%ebx
5fe912:	0f 84 f0 00 00 00    	je     0x5fea08
5fe918:	8b 55 08             	mov    0x8(%ebp),%edx
5fe91b:	8b 47 0c             	mov    0xc(%edi),%eax
5fe91e:	90                   	nop
5fe91f:	a8 c0                	test   $0xc0,%al
5fe921:	74 40                	je     0x5fe963
5fe923:	8b 47 08             	mov    0x8(%edi),%eax
5fe926:	85 c0                	test   %eax,%eax
5fe928:	74 39                	je     0x5fe963
5fe92a:	0f 88 e0 00 00 00    	js     0x5fea10
5fe930:	8b 47 0c             	mov    0xc(%edi),%eax
5fe933:	90                   	nop
5fe934:	a8 01                	test   $0x1,%al
5fe936:	0f 85 dd 00 00 00    	jne    0x5fea19
5fe93c:	8b 47 08             	mov    0x8(%edi),%eax
5fe93f:	89 45 f8             	mov    %eax,-0x8(%ebp)
5fe942:	3b f0                	cmp    %eax,%esi
5fe944:	73 05                	jae    0x5fe94b
5fe946:	8b c6                	mov    %esi,%eax
5fe948:	89 75 f8             	mov    %esi,-0x8(%ebp)
5fe94b:	50                   	push   %eax
5fe94c:	52                   	push   %edx
5fe94d:	ff 37                	push   (%edi)
5fe94f:	e8 ac 45 fe ff       	call   0x5e2f00
5fe954:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fe957:	83 c4 0c             	add    $0xc,%esp
5fe95a:	29 47 08             	sub    %eax,0x8(%edi)
5fe95d:	2b f0                	sub    %eax,%esi
5fe95f:	01 07                	add    %eax,(%edi)
5fe961:	eb 6b                	jmp    0x5fe9ce
5fe963:	3b f1                	cmp    %ecx,%esi
5fe965:	72 6c                	jb     0x5fe9d3
5fe967:	8b 47 0c             	mov    0xc(%edi),%eax
5fe96a:	90                   	nop
5fe96b:	a8 c0                	test   $0xc0,%al
5fe96d:	74 12                	je     0x5fe981
5fe96f:	57                   	push   %edi
5fe970:	e8 e7 c6 ff ff       	call   0x5fb05c
5fe975:	59                   	pop    %ecx
5fe976:	85 c0                	test   %eax,%eax
5fe978:	0f 85 9b 00 00 00    	jne    0x5fea19
5fe97e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5fe981:	8b c6                	mov    %esi,%eax
5fe983:	85 c9                	test   %ecx,%ecx
5fe985:	74 0d                	je     0x5fe994
5fe987:	33 d2                	xor    %edx,%edx
5fe989:	f7 f1                	div    %ecx
5fe98b:	8b c6                	mov    %esi,%eax
5fe98d:	2b c2                	sub    %edx,%eax
5fe98f:	89 45 f8             	mov    %eax,-0x8(%ebp)
5fe992:	eb 03                	jmp    0x5fe997
5fe994:	89 75 f8             	mov    %esi,-0x8(%ebp)
5fe997:	83 f8 fe             	cmp    $0xfffffffe,%eax
5fe99a:	72 06                	jb     0x5fe9a2
5fe99c:	6a fe                	push   $0xfffffffe
5fe99e:	58                   	pop    %eax
5fe99f:	89 45 f8             	mov    %eax,-0x8(%ebp)
5fe9a2:	50                   	push   %eax
5fe9a3:	ff 75 08             	push   0x8(%ebp)
5fe9a6:	57                   	push   %edi
5fe9a7:	e8 fc 0d 00 00       	call   0x5ff7a8
5fe9ac:	59                   	pop    %ecx
5fe9ad:	50                   	push   %eax
5fe9ae:	e8 39 c3 00 00       	call   0x60acec
5fe9b3:	8b d0                	mov    %eax,%edx
5fe9b5:	83 c4 0c             	add    $0xc,%esp
5fe9b8:	83 fa ff             	cmp    $0xffffffff,%edx
5fe9bb:	74 53                	je     0x5fea10
5fe9bd:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5fe9c0:	8b c1                	mov    %ecx,%eax
5fe9c2:	3b d1                	cmp    %ecx,%edx
5fe9c4:	77 02                	ja     0x5fe9c8
5fe9c6:	8b c2                	mov    %edx,%eax
5fe9c8:	2b f0                	sub    %eax,%esi
5fe9ca:	3b d1                	cmp    %ecx,%edx
5fe9cc:	72 42                	jb     0x5fea10
5fe9ce:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5fe9d1:	eb 25                	jmp    0x5fe9f8
5fe9d3:	0f be 02             	movsbl (%edx),%eax
5fe9d6:	57                   	push   %edi
5fe9d7:	50                   	push   %eax
5fe9d8:	e8 a6 a6 00 00       	call   0x609083
5fe9dd:	59                   	pop    %ecx
5fe9de:	59                   	pop    %ecx
5fe9df:	83 f8 ff             	cmp    $0xffffffff,%eax
5fe9e2:	74 35                	je     0x5fea19
5fe9e4:	8b 4f 18             	mov    0x18(%edi),%ecx
5fe9e7:	4e                   	dec    %esi
5fe9e8:	33 c0                	xor    %eax,%eax
5fe9ea:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5fe9ed:	85 c9                	test   %ecx,%ecx
5fe9ef:	7f 06                	jg     0x5fe9f7
5fe9f1:	33 c9                	xor    %ecx,%ecx
5fe9f3:	41                   	inc    %ecx
5fe9f4:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5fe9f7:	40                   	inc    %eax
5fe9f8:	8b 55 08             	mov    0x8(%ebp),%edx
5fe9fb:	03 d0                	add    %eax,%edx
5fe9fd:	89 55 08             	mov    %edx,0x8(%ebp)
5fea00:	85 f6                	test   %esi,%esi
5fea02:	0f 85 13 ff ff ff    	jne    0x5fe91b
5fea08:	8b 45 10             	mov    0x10(%ebp),%eax
5fea0b:	e9 c8 fe ff ff       	jmp    0x5fe8d8
5fea10:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fea13:	6a 10                	push   $0x10
5fea15:	59                   	pop    %ecx
5fea16:	f0 09 08             	lock or %ecx,(%eax)
5fea19:	2b de                	sub    %esi,%ebx
5fea1b:	33 d2                	xor    %edx,%edx
5fea1d:	8b c3                	mov    %ebx,%eax
5fea1f:	f7 75 0c             	divl   0xc(%ebp)
5fea22:	e9 b1 fe ff ff       	jmp    0x5fe8d8
5fea27:	8b ff                	mov    %edi,%edi
5fea29:	55                   	push   %ebp
5fea2a:	8b ec                	mov    %esp,%ebp
5fea2c:	83 ec 1c             	sub    $0x1c,%esp
5fea2f:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
5fea33:	74 1d                	je     0x5fea52
5fea35:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
5fea39:	74 17                	je     0x5fea52
5fea3b:	8b 45 14             	mov    0x14(%ebp),%eax
5fea3e:	85 c0                	test   %eax,%eax
5fea40:	75 14                	jne    0x5fea56
5fea42:	e8 b2 e5 fe ff       	call   0x5ecff9
5fea47:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5fea4d:	e8 cd e4 fe ff       	call   0x5ecf1f
5fea52:	33 c0                	xor    %eax,%eax
5fea54:	c9                   	leave
5fea55:	c3                   	ret