5fd9b3:	66 8b 07             	mov    (%edi),%ax
5fd9b6:	83 c7 02             	add    $0x2,%edi
5fd9b9:	66 89 01             	mov    %ax,(%ecx)
5fd9bc:	83 06 02             	addl   $0x2,(%esi)
5fd9bf:	ff 0b                	decl   (%ebx)
5fd9c1:	4a                   	dec    %edx
5fd9c2:	8b 03                	mov    (%ebx),%eax
5fd9c4:	85 d2                	test   %edx,%edx
5fd9c6:	7f e5                	jg     0x5fd9ad
5fd9c8:	8b 75 e8             	mov    -0x18(%ebp),%esi
5fd9cb:	56                   	push   %esi
5fd9cc:	e8 dc 29 fd ff       	call   0x5d03ad
5fd9d1:	59                   	pop    %ecx
5fd9d2:	b0 01                	mov    $0x1,%al
5fd9d4:	8d 65 c4             	lea    -0x3c(%ebp),%esp
5fd9d7:	5f                   	pop    %edi
5fd9d8:	5e                   	pop    %esi
5fd9d9:	5b                   	pop    %ebx
5fd9da:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5fd9dd:	33 cd                	xor    %ebp,%ecx
5fd9df:	e8 f6 3a fe ff       	call   0x5e14da
5fd9e4:	c9                   	leave
5fd9e5:	c3                   	ret
5fd9e6:	6a 00                	push   $0x0
5fd9e8:	e8 c0 29 fd ff       	call   0x5d03ad
5fd9ed:	59                   	pop    %ecx
5fd9ee:	8b 5d dc             	mov    -0x24(%ebp),%ebx
5fd9f1:	e9 73 02 00 00       	jmp    0x5fdc69
5fd9f6:	8b 33                	mov    (%ebx),%esi
5fd9f8:	85 f6                	test   %esi,%esi
5fd9fa:	74 d6                	je     0x5fd9d2
5fd9fc:	c6 45 e0 00          	movb   $0x0,-0x20(%ebp)
5fda00:	33 c0                	xor    %eax,%eax
5fda02:	89 7d e8             	mov    %edi,-0x18(%ebp)
5fda05:	8b df                	mov    %edi,%ebx
5fda07:	0f b7 ca             	movzwl %dx,%ecx
5fda0a:	83 c3 02             	add    $0x2,%ebx
5fda0d:	40                   	inc    %eax
5fda0e:	66 39 0b             	cmp    %cx,(%ebx)
5fda11:	74 f7                	je     0x5fda0a
5fda13:	0f b7 ca             	movzwl %dx,%ecx
5fda16:	89 5d e8             	mov    %ebx,-0x18(%ebp)
5fda19:	8b 5d dc             	mov    -0x24(%ebp),%ebx
5fda1c:	83 f9 64             	cmp    $0x64,%ecx
5fda1f:	0f 87 24 01 00 00    	ja     0x5fdb49
5fda25:	0f 84 ed 00 00 00    	je     0x5fdb18
5fda2b:	83 f9 27             	cmp    $0x27,%ecx
5fda2e:	0f 84 9a 00 00 00    	je     0x5fdace
5fda34:	83 f9 41             	cmp    $0x41,%ecx
5fda37:	74 13                	je     0x5fda4c
5fda39:	83 f9 48             	cmp    $0x48,%ecx
5fda3c:	74 58                	je     0x5fda96
5fda3e:	83 f9 4d             	cmp    $0x4d,%ecx
5fda41:	74 22                	je     0x5fda65
5fda43:	83 f9 61             	cmp    $0x61,%ecx
5fda46:	0f 85 e4 01 00 00    	jne    0x5fdc30
5fda4c:	68 d8 35 6d 00       	push   $0x6d35d8
5fda51:	57                   	push   %edi
5fda52:	e8 a7 96 ff ff       	call   0x5f70fe
5fda57:	59                   	pop    %ecx
5fda58:	59                   	pop    %ecx
5fda59:	85 c0                	test   %eax,%eax
5fda5b:	75 53                	jne    0x5fdab0
5fda5d:	8d 4f 0a             	lea    0xa(%edi),%ecx
5fda60:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5fda63:	eb 62                	jmp    0x5fdac7
5fda65:	83 e8 01             	sub    $0x1,%eax
5fda68:	74 21                	je     0x5fda8b
5fda6a:	83 e8 01             	sub    $0x1,%eax
5fda6d:	74 20                	je     0x5fda8f
5fda6f:	83 e8 01             	sub    $0x1,%eax
5fda72:	74 10                	je     0x5fda84
5fda74:	83 e8 01             	sub    $0x1,%eax
5fda77:	0f 85 b3 01 00 00    	jne    0x5fdc30
5fda7d:	6a 42                	push   $0x42
5fda7f:	e9 c4 01 00 00       	jmp    0x5fdc48
5fda84:	6a 62                	push   $0x62
5fda86:	e9 bd 01 00 00       	jmp    0x5fdc48
5fda8b:	c6 45 e0 01          	movb   $0x1,-0x20(%ebp)
5fda8f:	6a 6d                	push   $0x6d
5fda91:	e9 b2 01 00 00       	jmp    0x5fdc48
5fda96:	83 e8 01             	sub    $0x1,%eax
5fda99:	74 0a                	je     0x5fdaa5
5fda9b:	83 e8 01             	sub    $0x1,%eax
5fda9e:	74 09                	je     0x5fdaa9
5fdaa0:	e9 8b 01 00 00       	jmp    0x5fdc30
5fdaa5:	c6 45 e0 01          	movb   $0x1,-0x20(%ebp)
5fdaa9:	6a 48                	push   $0x48
5fdaab:	e9 98 01 00 00       	jmp    0x5fdc48
5fdab0:	68 e4 35 6d 00       	push   $0x6d35e4
5fdab5:	57                   	push   %edi
5fdab6:	e8 43 96 ff ff       	call   0x5f70fe
5fdabb:	59                   	pop    %ecx
5fdabc:	59                   	pop    %ecx
5fdabd:	85 c0                	test   %eax,%eax
5fdabf:	75 06                	jne    0x5fdac7
5fdac1:	8d 47 06             	lea    0x6(%edi),%eax
5fdac4:	89 45 e8             	mov    %eax,-0x18(%ebp)
5fdac7:	6a 70                	push   $0x70
5fdac9:	e9 7a 01 00 00       	jmp    0x5fdc48
5fdace:	8d 3c 47             	lea    (%edi,%eax,2),%edi
5fdad1:	a8 01                	test   $0x1,%al
5fdad3:	0f 84 90 01 00 00    	je     0x5fdc69
5fdad9:	0f b7 0f             	movzwl (%edi),%ecx
5fdadc:	66 85 c9             	test   %cx,%cx
5fdadf:	0f 84 ed fe ff ff    	je     0x5fd9d2
5fdae5:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5fdae8:	85 f6                	test   %esi,%esi
5fdaea:	0f 84 79 01 00 00    	je     0x5fdc69
5fdaf0:	6a 27                	push   $0x27
5fdaf2:	58                   	pop    %eax
5fdaf3:	83 c7 02             	add    $0x2,%edi
5fdaf6:	66 3b c8             	cmp    %ax,%cx
5fdaf9:	0f 84 6a 01 00 00    	je     0x5fdc69
5fdaff:	8b 02                	mov    (%edx),%eax
5fdb01:	66 89 08             	mov    %cx,(%eax)
5fdb04:	83 02 02             	addl   $0x2,(%edx)
5fdb07:	ff 0b                	decl   (%ebx)
5fdb09:	0f b7 0f             	movzwl (%edi),%ecx
5fdb0c:	8b 33                	mov    (%ebx),%esi
5fdb0e:	66 85 c9             	test   %cx,%cx
5fdb11:	75 d5                	jne    0x5fdae8
5fdb13:	e9 51 01 00 00       	jmp    0x5fdc69
5fdb18:	83 e8 01             	sub    $0x1,%eax
5fdb1b:	74 21                	je     0x5fdb3e
5fdb1d:	83 e8 01             	sub    $0x1,%eax
5fdb20:	74 20                	je     0x5fdb42
5fdb22:	83 e8 01             	sub    $0x1,%eax
5fdb25:	74 10                	je     0x5fdb37
5fdb27:	83 e8 01             	sub    $0x1,%eax
5fdb2a:	0f 85 00 01 00 00    	jne    0x5fdc30
5fdb30:	6a 41                	push   $0x41
5fdb32:	e9 11 01 00 00       	jmp    0x5fdc48
5fdb37:	6a 61                	push   $0x61
5fdb39:	e9 0a 01 00 00       	jmp    0x5fdc48
5fdb3e:	c6 45 e0 01          	movb   $0x1,-0x20(%ebp)
5fdb42:	6a 64                	push   $0x64
5fdb44:	e9 ff 00 00 00       	jmp    0x5fdc48
5fdb49:	83 e9 68             	sub    $0x68,%ecx
5fdb4c:	0f 84 d4 00 00 00    	je     0x5fdc26
5fdb52:	83 e9 05             	sub    $0x5,%ecx
5fdb55:	0f 84 b7 00 00 00    	je     0x5fdc12
5fdb5b:	83 e9 06             	sub    $0x6,%ecx
5fdb5e:	0f 84 9a 00 00 00    	je     0x5fdbfe
5fdb64:	83 e9 01             	sub    $0x1,%ecx
5fdb67:	74 27                	je     0x5fdb90
5fdb69:	83 e9 05             	sub    $0x5,%ecx
5fdb6c:	0f 85 be 00 00 00    	jne    0x5fdc30
5fdb72:	48                   	dec    %eax
5fdb73:	83 e8 01             	sub    $0x1,%eax
5fdb76:	74 11                	je     0x5fdb89
5fdb78:	48                   	dec    %eax
5fdb79:	83 e8 01             	sub    $0x1,%eax
5fdb7c:	0f 85 ae 00 00 00    	jne    0x5fdc30
5fdb82:	6a 59                	push   $0x59
5fdb84:	e9 bf 00 00 00       	jmp    0x5fdc48
5fdb89:	6a 79                	push   $0x79
5fdb8b:	e9 b8 00 00 00       	jmp    0x5fdc48
5fdb90:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5fdb93:	83 79 08 0b          	cmpl   $0xb,0x8(%ecx)
5fdb97:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5fdb9a:	7f 08                	jg     0x5fdba4
5fdb9c:	8b 91 4c 01 00 00    	mov    0x14c(%ecx),%edx
5fdba2:	eb 06                	jmp    0x5fdbaa
5fdba4:	8b 91 50 01 00 00    	mov    0x150(%ecx),%edx
5fdbaa:	83 f8 01             	cmp    $0x1,%eax
5fdbad:	75 1c                	jne    0x5fdbcb
5fdbaf:	85 f6                	test   %esi,%esi
5fdbb1:	74 18                	je     0x5fdbcb
5fdbb3:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5fdbb6:	8b 08                	mov    (%eax),%ecx
5fdbb8:	66 8b 02             	mov    (%edx),%ax
5fdbbb:	66 89 01             	mov    %ax,(%ecx)
5fdbbe:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5fdbc1:	83 00 02             	addl   $0x2,(%eax)
5fdbc4:	ff 0b                	decl   (%ebx)
5fdbc6:	e9 9b 00 00 00       	jmp    0x5fdc66
5fdbcb:	0f b7 0a             	movzwl (%edx),%ecx
5fdbce:	66 85 c9             	test   %cx,%cx
5fdbd1:	0f 84 8f 00 00 00    	je     0x5fdc66
5fdbd7:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5fdbda:	85 f6                	test   %esi,%esi
5fdbdc:	0f 84 84 00 00 00    	je     0x5fdc66
5fdbe2:	8b 00                	mov    (%eax),%eax
5fdbe4:	83 c2 02             	add    $0x2,%edx
5fdbe7:	66 89 08             	mov    %cx,(%eax)
5fdbea:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5fdbed:	83 00 02             	addl   $0x2,(%eax)
5fdbf0:	ff 0b                	decl   (%ebx)
5fdbf2:	0f b7 0a             	movzwl (%edx),%ecx
5fdbf5:	8b 33                	mov    (%ebx),%esi
5fdbf7:	66 85 c9             	test   %cx,%cx
5fdbfa:	75 de                	jne    0x5fdbda
5fdbfc:	eb 68                	jmp    0x5fdc66
5fdbfe:	83 e8 01             	sub    $0x1,%eax
5fdc01:	74 07                	je     0x5fdc0a
5fdc03:	83 e8 01             	sub    $0x1,%eax
5fdc06:	74 06                	je     0x5fdc0e
5fdc08:	eb 26                	jmp    0x5fdc30
5fdc0a:	c6 45 e0 01          	movb   $0x1,-0x20(%ebp)
5fdc0e:	6a 53                	push   $0x53
5fdc10:	eb 36                	jmp    0x5fdc48
5fdc12:	83 e8 01             	sub    $0x1,%eax
5fdc15:	74 07                	je     0x5fdc1e
5fdc17:	83 e8 01             	sub    $0x1,%eax
5fdc1a:	74 06                	je     0x5fdc22
5fdc1c:	eb 12                	jmp    0x5fdc30
5fdc1e:	c6 45 e0 01          	movb   $0x1,-0x20(%ebp)
5fdc22:	6a 4d                	push   $0x4d
5fdc24:	eb 22                	jmp    0x5fdc48
5fdc26:	83 e8 01             	sub    $0x1,%eax
5fdc29:	74 17                	je     0x5fdc42
5fdc2b:	83 e8 01             	sub    $0x1,%eax
5fdc2e:	74 16                	je     0x5fdc46
5fdc30:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5fdc33:	83 c7 02             	add    $0x2,%edi
5fdc36:	8b 01                	mov    (%ecx),%eax
5fdc38:	66 89 10             	mov    %dx,(%eax)
5fdc3b:	83 01 02             	addl   $0x2,(%ecx)
5fdc3e:	ff 0b                	decl   (%ebx)
5fdc40:	eb 27                	jmp    0x5fdc69
5fdc42:	c6 45 e0 01          	movb   $0x1,-0x20(%ebp)
5fdc46:	6a 49                	push   $0x49
5fdc48:	58                   	pop    %eax
5fdc49:	ff 75 e0             	push   -0x20(%ebp)
5fdc4c:	ff 75 d8             	push   -0x28(%ebp)
5fdc4f:	53                   	push   %ebx
5fdc50:	ff 75 e4             	push   -0x1c(%ebp)
5fdc53:	ff 75 d4             	push   -0x2c(%ebp)
5fdc56:	50                   	push   %eax
5fdc57:	ff 75 d0             	push   -0x30(%ebp)
5fdc5a:	e8 9e f0 ff ff       	call   0x5fccfd
5fdc5f:	83 c4 1c             	add    $0x1c,%esp
5fdc62:	84 c0                	test   %al,%al
5fdc64:	74 14                	je     0x5fdc7a
5fdc66:	8b 7d e8             	mov    -0x18(%ebp),%edi
5fdc69:	0f b7 17             	movzwl (%edi),%edx
5fdc6c:	66 85 d2             	test   %dx,%dx
5fdc6f:	0f 85 81 fd ff ff    	jne    0x5fd9f6
5fdc75:	e9 58 fd ff ff       	jmp    0x5fd9d2
5fdc7a:	e8 7a f3 fe ff       	call   0x5ecff9
5fdc7f:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5fdc85:	32 c0                	xor    %al,%al
5fdc87:	e9 48 fd ff ff       	jmp    0x5fd9d4
5fdc8c:	8b ff                	mov    %edi,%edi
5fdc8e:	55                   	push   %ebp
5fdc8f:	8b ec                	mov    %esp,%ebp
5fdc91:	83 ec 1c             	sub    $0x1c,%esp
5fdc94:	53                   	push   %ebx
5fdc95:	56                   	push   %esi
5fdc96:	57                   	push   %edi
5fdc97:	33 db                	xor    %ebx,%ebx
5fdc99:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5fdc9c:	53                   	push   %ebx
5fdc9d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5fdca0:	e8 e8 fe fe ff       	call   0x5edb8d
5fdca5:	8b 45 e8             	mov    -0x18(%ebp),%eax
5fdca8:	6a 07                	push   $0x7
5fdcaa:	5f                   	pop    %edi
5fdcab:	8b 80 9c 00 00 00    	mov    0x9c(%eax),%eax
5fdcb1:	05 d0 00 00 00       	add    $0xd0,%eax
5fdcb6:	89 45 f8             	mov    %eax,-0x8(%ebp)
5fdcb9:	8b f0                	mov    %eax,%esi
5fdcbb:	8b 56 e4             	mov    -0x1c(%esi),%edx
5fdcbe:	8d 4a 02             	lea    0x2(%edx),%ecx
5fdcc1:	66 8b 02             	mov    (%edx),%ax
5fdcc4:	83 c2 02             	add    $0x2,%edx
5fdcc7:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
5fdccb:	75 f4                	jne    0x5fdcc1
5fdccd:	2b d1                	sub    %ecx,%edx
5fdccf:	8b 0e                	mov    (%esi),%ecx
5fdcd1:	d1 fa                	sar    $1,%edx
5fdcd3:	8d 41 02             	lea    0x2(%ecx),%eax
5fdcd6:	89 45 f4             	mov    %eax,-0xc(%ebp)
5fdcd9:	66 8b 01             	mov    (%ecx),%ax
5fdcdc:	83 c1 02             	add    $0x2,%ecx
5fdcdf:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
5fdce3:	75 f4                	jne    0x5fdcd9
5fdce5:	2b 4d f4             	sub    -0xc(%ebp),%ecx
5fdce8:	83 c3 02             	add    $0x2,%ebx
5fdceb:	d1 f9                	sar    $1,%ecx
5fdced:	83 c6 04             	add    $0x4,%esi
5fdcf0:	8d 04 11             	lea    (%ecx,%edx,1),%eax
5fdcf3:	03 d8                	add    %eax,%ebx
5fdcf5:	83 ef 01             	sub    $0x1,%edi
5fdcf8:	75 c1                	jne    0x5fdcbb
5fdcfa:	8d 04 5d 02 00 00 00 	lea    0x2(,%ebx,2),%eax
5fdd01:	50                   	push   %eax
5fdd02:	e8 ee 80 00 00       	call   0x605df5
5fdd07:	8b f8                	mov    %eax,%edi
5fdd09:	33 c0                	xor    %eax,%eax
5fdd0b:	59                   	pop    %ecx
5fdd0c:	85 ff                	test   %edi,%edi
5fdd0e:	75 07                	jne    0x5fdd17
5fdd10:	8b f8                	mov    %eax,%edi
5fdd12:	e9 a9 00 00 00       	jmp    0x5fddc0
5fdd17:	6a 3a                	push   $0x3a
5fdd19:	89 45 f4             	mov    %eax,-0xc(%ebp)
5fdd1c:	8b f7                	mov    %edi,%esi
5fdd1e:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fdd21:	59                   	pop    %ecx
5fdd22:	66 89 0e             	mov    %cx,(%esi)
5fdd25:	83 c6 02             	add    $0x2,%esi
5fdd28:	ff 70 e4             	push   -0x1c(%eax)
5fdd2b:	8b ce                	mov    %esi,%ecx
5fdd2d:	8b c3                	mov    %ebx,%eax
5fdd2f:	2b cf                	sub    %edi,%ecx
5fdd31:	d1 f9                	sar    $1,%ecx
5fdd33:	2b c1                	sub    %ecx,%eax
5fdd35:	40                   	inc    %eax
5fdd36:	50                   	push   %eax
5fdd37:	56                   	push   %esi
5fdd38:	e8 d7 89 ff ff       	call   0x5f6714
5fdd3d:	83 c4 0c             	add    $0xc,%esp
5fdd40:	85 c0                	test   %eax,%eax
5fdd42:	0f 85 96 00 00 00    	jne    0x5fddde
5fdd48:	8b ce                	mov    %esi,%ecx
5fdd4a:	8d 51 02             	lea    0x2(%ecx),%edx
5fdd4d:	66 8b 01             	mov    (%ecx),%ax
5fdd50:	83 c1 02             	add    $0x2,%ecx
5fdd53:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
5fdd57:	75 f4                	jne    0x5fdd4d
5fdd59:	2b ca                	sub    %edx,%ecx
5fdd5b:	d1 f9                	sar    $1,%ecx
5fdd5d:	6a 3a                	push   $0x3a
5fdd5f:	58                   	pop    %eax
5fdd60:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
5fdd63:	66 89 06             	mov    %ax,(%esi)
5fdd66:	83 c6 02             	add    $0x2,%esi
5fdd69:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fdd6c:	8b ce                	mov    %esi,%ecx
5fdd6e:	2b cf                	sub    %edi,%ecx
5fdd70:	d1 f9                	sar    $1,%ecx
5fdd72:	ff 30                	push   (%eax)
5fdd74:	8b c3                	mov    %ebx,%eax
5fdd76:	2b c1                	sub    %ecx,%eax
5fdd78:	40                   	inc    %eax
5fdd79:	50                   	push   %eax
5fdd7a:	56                   	push   %esi
5fdd7b:	e8 94 89 ff ff       	call   0x5f6714
5fdd80:	83 c4 0c             	add    $0xc,%esp
5fdd83:	85 c0                	test   %eax,%eax
5fdd85:	75 57                	jne    0x5fddde
5fdd87:	8b ce                	mov    %esi,%ecx
5fdd89:	8d 51 02             	lea    0x2(%ecx),%edx
5fdd8c:	66 8b 01             	mov    (%ecx),%ax
5fdd8f:	83 c1 02             	add    $0x2,%ecx
5fdd92:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
5fdd96:	75 f4                	jne    0x5fdd8c
5fdd98:	8b 45 f8             	mov    -0x8(%ebp),%eax