5ed740:	8b 4d c0             	mov    -0x40(%ebp),%ecx
5ed743:	66 3b f1             	cmp    %cx,%si
5ed746:	0f 82 bb 00 00 00    	jb     0x5ed807
5ed74c:	66 3b 75 bc          	cmp    -0x44(%ebp),%si
5ed750:	0f 82 4c ff ff ff    	jb     0x5ed6a2
5ed756:	8b 4d b8             	mov    -0x48(%ebp),%ecx
5ed759:	66 3b f1             	cmp    %cx,%si
5ed75c:	0f 82 a5 00 00 00    	jb     0x5ed807
5ed762:	66 3b 75 b4          	cmp    -0x4c(%ebp),%si
5ed766:	0f 82 36 ff ff ff    	jb     0x5ed6a2
5ed76c:	8b 4d b0             	mov    -0x50(%ebp),%ecx
5ed76f:	66 3b f1             	cmp    %cx,%si
5ed772:	0f 82 8f 00 00 00    	jb     0x5ed807
5ed778:	66 3b 75 ac          	cmp    -0x54(%ebp),%si
5ed77c:	0f 82 20 ff ff ff    	jb     0x5ed6a2
5ed782:	8b 4d a8             	mov    -0x58(%ebp),%ecx
5ed785:	66 3b f1             	cmp    %cx,%si
5ed788:	72 7d                	jb     0x5ed807
5ed78a:	66 3b 75 a4          	cmp    -0x5c(%ebp),%si
5ed78e:	0f 82 0e ff ff ff    	jb     0x5ed6a2
5ed794:	8b 4d a0             	mov    -0x60(%ebp),%ecx
5ed797:	66 3b f1             	cmp    %cx,%si
5ed79a:	72 6b                	jb     0x5ed807
5ed79c:	66 3b 75 9c          	cmp    -0x64(%ebp),%si
5ed7a0:	0f 82 fc fe ff ff    	jb     0x5ed6a2
5ed7a6:	8b 4d 98             	mov    -0x68(%ebp),%ecx
5ed7a9:	66 3b f1             	cmp    %cx,%si
5ed7ac:	72 59                	jb     0x5ed807
5ed7ae:	66 3b 75 94          	cmp    -0x6c(%ebp),%si
5ed7b2:	0f 82 ea fe ff ff    	jb     0x5ed6a2
5ed7b8:	8b 4d 90             	mov    -0x70(%ebp),%ecx
5ed7bb:	66 3b f1             	cmp    %cx,%si
5ed7be:	72 47                	jb     0x5ed807
5ed7c0:	66 3b 75 8c          	cmp    -0x74(%ebp),%si
5ed7c4:	0f 82 d8 fe ff ff    	jb     0x5ed6a2
5ed7ca:	8b 4d 88             	mov    -0x78(%ebp),%ecx
5ed7cd:	66 3b f1             	cmp    %cx,%si
5ed7d0:	72 35                	jb     0x5ed807
5ed7d2:	66 3b 75 84          	cmp    -0x7c(%ebp),%si
5ed7d6:	0f 82 c6 fe ff ff    	jb     0x5ed6a2
5ed7dc:	8b 4d 80             	mov    -0x80(%ebp),%ecx
5ed7df:	66 3b f1             	cmp    %cx,%si
5ed7e2:	72 23                	jb     0x5ed807
5ed7e4:	66 3b b5 7c ff ff ff 	cmp    -0x84(%ebp),%si
5ed7eb:	73 1a                	jae    0x5ed807
5ed7ed:	e9 b0 fe ff ff       	jmp    0x5ed6a2
5ed7f2:	66 3b b5 78 ff ff ff 	cmp    -0x88(%ebp),%si
5ed7f9:	0f 82 a3 fe ff ff    	jb     0x5ed6a2
5ed7ff:	83 c8 ff             	or     $0xffffffff,%eax
5ed802:	83 f8 ff             	cmp    $0xffffffff,%eax
5ed805:	75 2a                	jne    0x5ed831
5ed807:	0f b7 c6             	movzwl %si,%eax
5ed80a:	83 f8 41             	cmp    $0x41,%eax
5ed80d:	72 0a                	jb     0x5ed819
5ed80f:	83 f8 5a             	cmp    $0x5a,%eax
5ed812:	77 05                	ja     0x5ed819
5ed814:	8d 48 9f             	lea    -0x61(%eax),%ecx
5ed817:	eb 08                	jmp    0x5ed821
5ed819:	8d 48 9f             	lea    -0x61(%eax),%ecx
5ed81c:	83 f9 19             	cmp    $0x19,%ecx
5ed81f:	77 0d                	ja     0x5ed82e
5ed821:	83 f9 19             	cmp    $0x19,%ecx
5ed824:	77 03                	ja     0x5ed829
5ed826:	83 c0 e0             	add    $0xffffffe0,%eax
5ed829:	83 c0 c9             	add    $0xffffffc9,%eax
5ed82c:	eb 03                	jmp    0x5ed831
5ed82e:	83 c8 ff             	or     $0xffffffff,%eax
5ed831:	83 f8 ff             	cmp    $0xffffffff,%eax
5ed834:	74 35                	je     0x5ed86b
5ed836:	3b 45 14             	cmp    0x14(%ebp),%eax
5ed839:	73 30                	jae    0x5ed86b
5ed83b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5ed83e:	3b cf                	cmp    %edi,%ecx
5ed840:	72 0a                	jb     0x5ed84c
5ed842:	75 04                	jne    0x5ed848
5ed844:	3b c2                	cmp    %edx,%eax
5ed846:	76 04                	jbe    0x5ed84c
5ed848:	6a 0c                	push   $0xc
5ed84a:	eb 0b                	jmp    0x5ed857
5ed84c:	0f af 4d 14          	imul   0x14(%ebp),%ecx
5ed850:	6a 08                	push   $0x8
5ed852:	03 c8                	add    %eax,%ecx
5ed854:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5ed857:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5ed85a:	58                   	pop    %eax
5ed85b:	0f b7 31             	movzwl (%ecx),%esi
5ed85e:	83 c1 02             	add    $0x2,%ecx
5ed861:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5ed864:	0b d8                	or     %eax,%ebx
5ed866:	e9 23 fe ff ff       	jmp    0x5ed68e
5ed86b:	56                   	push   %esi
5ed86c:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5ed86f:	e8 d5 03 00 00       	call   0x5edc49
5ed874:	f6 c3 08             	test   $0x8,%bl
5ed877:	75 0d                	jne    0x5ed886
5ed879:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
5ed87f:	33 db                	xor    %ebx,%ebx
5ed881:	89 45 0c             	mov    %eax,0xc(%ebp)
5ed884:	eb 41                	jmp    0x5ed8c7
5ed886:	8b 75 fc             	mov    -0x4(%ebp),%esi
5ed889:	56                   	push   %esi
5ed88a:	53                   	push   %ebx
5ed88b:	e8 9d f7 ff ff       	call   0x5ed02d
5ed890:	59                   	pop    %ecx
5ed891:	59                   	pop    %ecx
5ed892:	84 c0                	test   %al,%al
5ed894:	74 28                	je     0x5ed8be
5ed896:	e8 5e f7 ff ff       	call   0x5ecff9
5ed89b:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
5ed8a1:	f6 c3 01             	test   $0x1,%bl
5ed8a4:	75 05                	jne    0x5ed8ab
5ed8a6:	83 ce ff             	or     $0xffffffff,%esi
5ed8a9:	eb 1a                	jmp    0x5ed8c5
5ed8ab:	f6 c3 02             	test   $0x2,%bl
5ed8ae:	74 07                	je     0x5ed8b7
5ed8b0:	bb 00 00 00 80       	mov    $0x80000000,%ebx
5ed8b5:	eb 10                	jmp    0x5ed8c7
5ed8b7:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
5ed8bc:	eb 09                	jmp    0x5ed8c7
5ed8be:	f6 c3 02             	test   $0x2,%bl
5ed8c1:	74 02                	je     0x5ed8c5
5ed8c3:	f7 de                	neg    %esi
5ed8c5:	8b de                	mov    %esi,%ebx
5ed8c7:	80 bd 6c ff ff ff 00 	cmpb   $0x0,-0x94(%ebp)
5ed8ce:	5e                   	pop    %esi
5ed8cf:	0f 84 46 fa ff ff    	je     0x5ed31b
5ed8d5:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
5ed8db:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
5ed8e2:	e9 34 fa ff ff       	jmp    0x5ed31b
5ed8e7:	8b ff                	mov    %edi,%edi
5ed8e9:	55                   	push   %ebp
5ed8ea:	8b ec                	mov    %esp,%ebp
5ed8ec:	83 ec 3c             	sub    $0x3c,%esp
5ed8ef:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5ed8f2:	53                   	push   %ebx
5ed8f3:	56                   	push   %esi
5ed8f4:	57                   	push   %edi
5ed8f5:	e8 7d 03 00 00       	call   0x5edc77
5ed8fa:	84 c0                	test   %al,%al
5ed8fc:	74 21                	je     0x5ed91f
5ed8fe:	8b 45 14             	mov    0x14(%ebp),%eax
5ed901:	85 c0                	test   %eax,%eax
5ed903:	74 35                	je     0x5ed93a
5ed905:	83 f8 02             	cmp    $0x2,%eax
5ed908:	7c 05                	jl     0x5ed90f
5ed90a:	83 f8 24             	cmp    $0x24,%eax
5ed90d:	7e 2b                	jle    0x5ed93a
5ed90f:	e8 e5 f6 ff ff       	call   0x5ecff9
5ed914:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5ed91a:	e8 00 f6 ff ff       	call   0x5ecf1f
5ed91f:	33 ff                	xor    %edi,%edi
5ed921:	8b df                	mov    %edi,%ebx
5ed923:	8b f7                	mov    %edi,%esi
5ed925:	8b 45 10             	mov    0x10(%ebp),%eax
5ed928:	85 c0                	test   %eax,%eax
5ed92a:	74 05                	je     0x5ed931
5ed92c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5ed92f:	89 08                	mov    %ecx,(%eax)
5ed931:	5f                   	pop    %edi
5ed932:	8b d6                	mov    %esi,%edx
5ed934:	8b c3                	mov    %ebx,%eax
5ed936:	5e                   	pop    %esi
5ed937:	5b                   	pop    %ebx
5ed938:	c9                   	leave
5ed939:	c3                   	ret
5ed93a:	ff 75 08             	push   0x8(%ebp)
5ed93d:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
5ed940:	e8 48 02 00 00       	call   0x5edb8d
5ed945:	8b 45 0c             	mov    0xc(%ebp),%eax
5ed948:	33 ff                	xor    %edi,%edi
5ed94a:	89 7d f0             	mov    %edi,-0x10(%ebp)
5ed94d:	8b f7                	mov    %edi,%esi
5ed94f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5ed952:	eb 03                	jmp    0x5ed957
5ed954:	8b 45 0c             	mov    0xc(%ebp),%eax
5ed957:	8a 18                	mov    (%eax),%bl
5ed959:	40                   	inc    %eax
5ed95a:	89 45 0c             	mov    %eax,0xc(%ebp)
5ed95d:	8d 45 c8             	lea    -0x38(%ebp),%eax
5ed960:	50                   	push   %eax
5ed961:	0f b6 c3             	movzbl %bl,%eax
5ed964:	6a 08                	push   $0x8
5ed966:	50                   	push   %eax
5ed967:	88 5d f4             	mov    %bl,-0xc(%ebp)
5ed96a:	88 5d ff             	mov    %bl,-0x1(%ebp)
5ed96d:	e8 42 03 00 00       	call   0x5edcb4
5ed972:	83 c4 0c             	add    $0xc,%esp
5ed975:	85 c0                	test   %eax,%eax
5ed977:	75 db                	jne    0x5ed954
5ed979:	0f b6 45 18          	movzbl 0x18(%ebp),%eax
5ed97d:	89 45 f8             	mov    %eax,-0x8(%ebp)
5ed980:	80 fb 2d             	cmp    $0x2d,%bl
5ed983:	75 08                	jne    0x5ed98d
5ed985:	83 c8 02             	or     $0x2,%eax
5ed988:	89 45 f8             	mov    %eax,-0x8(%ebp)
5ed98b:	eb 05                	jmp    0x5ed992
5ed98d:	80 fb 2b             	cmp    $0x2b,%bl
5ed990:	75 11                	jne    0x5ed9a3
5ed992:	8b 55 0c             	mov    0xc(%ebp),%edx
5ed995:	8a 1a                	mov    (%edx),%bl
5ed997:	42                   	inc    %edx
5ed998:	88 5d ff             	mov    %bl,-0x1(%ebp)
5ed99b:	88 5d f4             	mov    %bl,-0xc(%ebp)
5ed99e:	89 55 0c             	mov    %edx,0xc(%ebp)
5ed9a1:	eb 03                	jmp    0x5ed9a6
5ed9a3:	8b 55 0c             	mov    0xc(%ebp),%edx
5ed9a6:	8b 4d 14             	mov    0x14(%ebp),%ecx
5ed9a9:	85 c9                	test   %ecx,%ecx
5ed9ab:	74 09                	je     0x5ed9b6
5ed9ad:	83 f9 10             	cmp    $0x10,%ecx
5ed9b0:	0f 85 8a 00 00 00    	jne    0x5eda40
5ed9b6:	8a c3                	mov    %bl,%al
5ed9b8:	2c 30                	sub    $0x30,%al
5ed9ba:	3c 09                	cmp    $0x9,%al
5ed9bc:	77 08                	ja     0x5ed9c6
5ed9be:	0f be c3             	movsbl %bl,%eax
5ed9c1:	83 c0 d0             	add    $0xffffffd0,%eax
5ed9c4:	eb 23                	jmp    0x5ed9e9
5ed9c6:	8a c3                	mov    %bl,%al
5ed9c8:	2c 61                	sub    $0x61,%al
5ed9ca:	3c 19                	cmp    $0x19,%al
5ed9cc:	77 08                	ja     0x5ed9d6
5ed9ce:	0f be c3             	movsbl %bl,%eax
5ed9d1:	83 c0 a9             	add    $0xffffffa9,%eax
5ed9d4:	eb 13                	jmp    0x5ed9e9
5ed9d6:	8a c3                	mov    %bl,%al
5ed9d8:	2c 41                	sub    $0x41,%al
5ed9da:	3c 19                	cmp    $0x19,%al
5ed9dc:	77 08                	ja     0x5ed9e6
5ed9de:	0f be c3             	movsbl %bl,%eax
5ed9e1:	83 c0 c9             	add    $0xffffffc9,%eax
5ed9e4:	eb 03                	jmp    0x5ed9e9
5ed9e6:	83 c8 ff             	or     $0xffffffff,%eax
5ed9e9:	85 c0                	test   %eax,%eax
5ed9eb:	74 0c                	je     0x5ed9f9
5ed9ed:	85 c9                	test   %ecx,%ecx
5ed9ef:	75 4f                	jne    0x5eda40
5ed9f1:	6a 0a                	push   $0xa
5ed9f3:	58                   	pop    %eax
5ed9f4:	89 45 14             	mov    %eax,0x14(%ebp)
5ed9f7:	eb 49                	jmp    0x5eda42
5ed9f9:	8a 02                	mov    (%edx),%al
5ed9fb:	42                   	inc    %edx
5ed9fc:	88 45 e8             	mov    %al,-0x18(%ebp)
5ed9ff:	89 55 0c             	mov    %edx,0xc(%ebp)
5eda02:	3c 78                	cmp    $0x78,%al
5eda04:	74 1f                	je     0x5eda25
5eda06:	3c 58                	cmp    $0x58,%al
5eda08:	74 1b                	je     0x5eda25
5eda0a:	85 c9                	test   %ecx,%ecx
5eda0c:	75 07                	jne    0x5eda15
5eda0e:	c7 45 14 08 00 00 00 	movl   $0x8,0x14(%ebp)
5eda15:	ff 75 e8             	push   -0x18(%ebp)
5eda18:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5eda1b:	e8 00 02 00 00       	call   0x5edc20
5eda20:	8b 45 14             	mov    0x14(%ebp),%eax
5eda23:	eb 1d                	jmp    0x5eda42
5eda25:	85 c9                	test   %ecx,%ecx
5eda27:	75 07                	jne    0x5eda30
5eda29:	c7 45 14 10 00 00 00 	movl   $0x10,0x14(%ebp)
5eda30:	8a 02                	mov    (%edx),%al
5eda32:	88 45 ff             	mov    %al,-0x1(%ebp)
5eda35:	88 45 f4             	mov    %al,-0xc(%ebp)
5eda38:	8d 42 01             	lea    0x1(%edx),%eax
5eda3b:	89 45 0c             	mov    %eax,0xc(%ebp)
5eda3e:	eb e0                	jmp    0x5eda20
5eda40:	8b c1                	mov    %ecx,%eax
5eda42:	99                   	cltd
5eda43:	53                   	push   %ebx
5eda44:	8b ca                	mov    %edx,%ecx
5eda46:	89 45 d8             	mov    %eax,-0x28(%ebp)
5eda49:	51                   	push   %ecx
5eda4a:	50                   	push   %eax
5eda4b:	6a ff                	push   $0xffffffff
5eda4d:	6a ff                	push   $0xffffffff
5eda4f:	89 4d dc             	mov    %ecx,-0x24(%ebp)
5eda52:	e8 29 44 ff ff       	call   0x5e1e80
5eda57:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
5eda5a:	5b                   	pop    %ebx
5eda5b:	90                   	nop
5eda5c:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5eda5f:	89 4d e0             	mov    %ecx,-0x20(%ebp)
5eda62:	8a 4d ff             	mov    -0x1(%ebp),%cl
5eda65:	89 45 ec             	mov    %eax,-0x14(%ebp)
5eda68:	89 55 e8             	mov    %edx,-0x18(%ebp)
5eda6b:	8a c1                	mov    %cl,%al
5eda6d:	2c 30                	sub    $0x30,%al
5eda6f:	3c 09                	cmp    $0x9,%al
5eda71:	77 08                	ja     0x5eda7b
5eda73:	0f be c9             	movsbl %cl,%ecx
5eda76:	83 c1 d0             	add    $0xffffffd0,%ecx
5eda79:	eb 23                	jmp    0x5eda9e
5eda7b:	8a c1                	mov    %cl,%al
5eda7d:	2c 61                	sub    $0x61,%al
5eda7f:	3c 19                	cmp    $0x19,%al
5eda81:	77 08                	ja     0x5eda8b
5eda83:	0f be c9             	movsbl %cl,%ecx
5eda86:	83 c1 a9             	add    $0xffffffa9,%ecx
5eda89:	eb 13                	jmp    0x5eda9e
5eda8b:	8a c1                	mov    %cl,%al
5eda8d:	2c 41                	sub    $0x41,%al
5eda8f:	3c 19                	cmp    $0x19,%al
5eda91:	77 08                	ja     0x5eda9b
5eda93:	0f be c9             	movsbl %cl,%ecx
5eda96:	83 c1 c9             	add    $0xffffffc9,%ecx
5eda99:	eb 03                	jmp    0x5eda9e
5eda9b:	83 c9 ff             	or     $0xffffffff,%ecx
5eda9e:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5edaa1:	83 f9 ff             	cmp    $0xffffffff,%ecx
5edaa4:	74 60                	je     0x5edb06
5edaa6:	3b 4d 14             	cmp    0x14(%ebp),%ecx
5edaa9:	73 5b                	jae    0x5edb06
5edaab:	8b 45 f0             	mov    -0x10(%ebp),%eax
5edaae:	83 cb 08             	or     $0x8,%ebx
5edab1:	3b f2                	cmp    %edx,%esi
5edab3:	72 23                	jb     0x5edad8
5edab5:	8b 55 ec             	mov    -0x14(%ebp),%edx
5edab8:	77 04                	ja     0x5edabe
5edaba:	3b c2                	cmp    %edx,%eax
5edabc:	72 1a                	jb     0x5edad8
5edabe:	3b c2                	cmp    %edx,%eax
5edac0:	75 11                	jne    0x5edad3
5edac2:	3b 75 e8             	cmp    -0x18(%ebp),%esi
5edac5:	75 0c                	jne    0x5edad3
5edac7:	3b 7d e4             	cmp    -0x1c(%ebp),%edi
5edaca:	72 0f                	jb     0x5edadb
5edacc:	77 05                	ja     0x5edad3
5edace:	3b 4d e0             	cmp    -0x20(%ebp),%ecx
5edad1:	76 08                	jbe    0x5edadb
5edad3:	83 cb 04             	or     $0x4,%ebx
5edad6:	eb 1a                	jmp    0x5edaf2
5edad8:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5edadb:	56                   	push   %esi
5edadc:	50                   	push   %eax
5edadd:	ff 75 dc             	push   -0x24(%ebp)
5edae0:	ff 75 d8             	push   -0x28(%ebp)
5edae3:	e8 18 40 ff ff       	call   0x5e1b00
5edae8:	03 45 f8             	add    -0x8(%ebp),%eax
5edaeb:	8b f2                	mov    %edx,%esi
5edaed:	89 45 f0             	mov    %eax,-0x10(%ebp)
5edaf0:	13 f7                	adc    %edi,%esi
5edaf2:	8b 45 0c             	mov    0xc(%ebp),%eax
5edaf5:	8b 55 e8             	mov    -0x18(%ebp),%edx
5edaf8:	8a 08                	mov    (%eax),%cl
5edafa:	40                   	inc    %eax
5edafb:	88 4d f4             	mov    %cl,-0xc(%ebp)
5edafe:	89 45 0c             	mov    %eax,0xc(%ebp)
5edb01:	e9 65 ff ff ff       	jmp    0x5eda6b
5edb06:	ff 75 f4             	push   -0xc(%ebp)
5edb09:	8d 4d 0c             	lea    0xc(%ebp),%ecx