44e94b:	33 c9                	xor    %ecx,%ecx
44e94d:	89 7d f4             	mov    %edi,-0xc(%ebp)
44e950:	89 75 f8             	mov    %esi,-0x8(%ebp)
44e953:	89 45 fc             	mov    %eax,-0x4(%ebp)
44e956:	8a 06                	mov    (%esi),%al
44e958:	3a 81 5c c9 49 00    	cmp    0x49c95c(%ecx),%al
44e95e:	74 08                	je     0x44e968
44e960:	3a 81 60 c9 49 00    	cmp    0x49c960(%ecx),%al
44e966:	75 42                	jne    0x44e9aa
44e968:	8b 07                	mov    (%edi),%eax
44e96a:	8a 10                	mov    (%eax),%dl
44e96c:	40                   	inc    %eax
44e96d:	41                   	inc    %ecx
44e96e:	89 07                	mov    %eax,(%edi)
44e970:	88 16                	mov    %dl,(%esi)
44e972:	83 f9 03             	cmp    $0x3,%ecx
44e975:	75 df                	jne    0x44e956
44e977:	52                   	push   %edx
44e978:	8b cf                	mov    %edi,%ecx
44e97a:	e8 41 4a 00 00       	call   0x4533c0
44e97f:	8b 07                	mov    (%edi),%eax
44e981:	89 45 10             	mov    %eax,0x10(%ebp)
44e984:	8a 08                	mov    (%eax),%cl
44e986:	40                   	inc    %eax
44e987:	89 07                	mov    %eax,(%edi)
44e989:	88 0e                	mov    %cl,(%esi)
44e98b:	80 f9 28             	cmp    $0x28,%cl
44e98e:	74 2a                	je     0x44e9ba
44e990:	8d 4d f4             	lea    -0xc(%ebp),%ecx
44e993:	e8 38 08 00 00       	call   0x44f1d0
44e998:	0f b6 c0             	movzbl %al,%eax
44e99b:	f7 d8                	neg    %eax
44e99d:	1b c0                	sbb    %eax,%eax
44e99f:	83 e0 fd             	and    $0xfffffffd,%eax
44e9a2:	83 c0 07             	add    $0x7,%eax
44e9a5:	e9 a3 00 00 00       	jmp    0x44ea4d
44e9aa:	8d 4d f4             	lea    -0xc(%ebp),%ecx
44e9ad:	e8 1e 08 00 00       	call   0x44f1d0
44e9b2:	6a 07                	push   $0x7
44e9b4:	58                   	pop    %eax
44e9b5:	e9 93 00 00 00       	jmp    0x44ea4d
44e9ba:	8b 07                	mov    (%edi),%eax
44e9bc:	53                   	push   %ebx
44e9bd:	57                   	push   %edi
44e9be:	56                   	push   %esi
44e9bf:	8a 08                	mov    (%eax),%cl
44e9c1:	40                   	inc    %eax
44e9c2:	89 07                	mov    %eax,(%edi)
44e9c4:	88 0e                	mov    %cl,(%esi)
44e9c6:	e8 2d 02 00 00       	call   0x44ebf8
44e9cb:	59                   	pop    %ecx
44e9cc:	59                   	pop    %ecx
44e9cd:	84 c0                	test   %al,%al
44e9cf:	74 04                	je     0x44e9d5
44e9d1:	6a 05                	push   $0x5
44e9d3:	eb 0f                	jmp    0x44e9e4
44e9d5:	57                   	push   %edi
44e9d6:	56                   	push   %esi
44e9d7:	e8 9b 01 00 00       	call   0x44eb77
44e9dc:	59                   	pop    %ecx
44e9dd:	59                   	pop    %ecx
44e9de:	84 c0                	test   %al,%al
44e9e0:	74 12                	je     0x44e9f4
44e9e2:	6a 06                	push   $0x6
44e9e4:	0f b6 16             	movzbl (%esi),%edx
44e9e7:	8b cf                	mov    %edi,%ecx
44e9e9:	5b                   	pop    %ebx
44e9ea:	52                   	push   %edx
44e9eb:	e8 d0 49 00 00       	call   0x4533c0
44e9f0:	8b c3                	mov    %ebx,%eax
44e9f2:	eb 58                	jmp    0x44ea4c
44e9f4:	80 3e 29             	cmpb   $0x29,(%esi)
44e9f7:	74 50                	je     0x44ea49
44e9f9:	8a 06                	mov    (%esi),%al
44e9fb:	84 c0                	test   %al,%al
44e9fd:	74 2e                	je     0x44ea2d
44e9ff:	0f be c8             	movsbl %al,%ecx
44ea02:	8d 41 d0             	lea    -0x30(%ecx),%eax
44ea05:	83 f8 09             	cmp    $0x9,%eax
44ea08:	76 15                	jbe    0x44ea1f
44ea0a:	8d 41 9f             	lea    -0x61(%ecx),%eax
44ea0d:	83 f8 19             	cmp    $0x19,%eax
44ea10:	76 0d                	jbe    0x44ea1f
44ea12:	8d 41 bf             	lea    -0x41(%ecx),%eax
44ea15:	83 f8 19             	cmp    $0x19,%eax
44ea18:	76 05                	jbe    0x44ea1f
44ea1a:	83 f9 5f             	cmp    $0x5f,%ecx
44ea1d:	75 13                	jne    0x44ea32
44ea1f:	8b 07                	mov    (%edi),%eax
44ea21:	8a 08                	mov    (%eax),%cl
44ea23:	40                   	inc    %eax
44ea24:	89 07                	mov    %eax,(%edi)
44ea26:	88 0e                	mov    %cl,(%esi)
44ea28:	80 f9 29             	cmp    $0x29,%cl
44ea2b:	75 cc                	jne    0x44e9f9
44ea2d:	80 3e 29             	cmpb   $0x29,(%esi)
44ea30:	74 17                	je     0x44ea49
44ea32:	8d 4d f4             	lea    -0xc(%ebp),%ecx
44ea35:	e8 96 07 00 00       	call   0x44f1d0
44ea3a:	0f b6 c0             	movzbl %al,%eax
44ea3d:	f7 d8                	neg    %eax
44ea3f:	1b c0                	sbb    %eax,%eax
44ea41:	83 e0 fd             	and    $0xfffffffd,%eax
44ea44:	83 c0 07             	add    $0x7,%eax
44ea47:	eb 03                	jmp    0x44ea4c
44ea49:	6a 04                	push   $0x4
44ea4b:	58                   	pop    %eax
44ea4c:	5b                   	pop    %ebx
44ea4d:	5f                   	pop    %edi
44ea4e:	5e                   	pop    %esi
44ea4f:	8b e5                	mov    %ebp,%esp
44ea51:	5d                   	pop    %ebp
44ea52:	c3                   	ret
44ea53:	8b ff                	mov    %edi,%edi
44ea55:	55                   	push   %ebp
44ea56:	8b ec                	mov    %esp,%ebp
44ea58:	83 ec 0c             	sub    $0xc,%esp
44ea5b:	53                   	push   %ebx
44ea5c:	56                   	push   %esi
44ea5d:	8b 75 08             	mov    0x8(%ebp),%esi
44ea60:	8d 45 10             	lea    0x10(%ebp),%eax
44ea63:	57                   	push   %edi
44ea64:	8b 7d 0c             	mov    0xc(%ebp),%edi
44ea67:	33 c9                	xor    %ecx,%ecx
44ea69:	6a 06                	push   $0x6
44ea6b:	89 7d f4             	mov    %edi,-0xc(%ebp)
44ea6e:	89 75 f8             	mov    %esi,-0x8(%ebp)
44ea71:	89 45 fc             	mov    %eax,-0x4(%ebp)
44ea74:	5b                   	pop    %ebx
44ea75:	0f b7 06             	movzwl (%esi),%eax
44ea78:	66 3b 81 8c c9 49 00 	cmp    0x49c98c(%ecx),%ax
44ea7f:	74 09                	je     0x44ea8a
44ea81:	66 3b 81 94 c9 49 00 	cmp    0x49c994(%ecx),%ax
44ea88:	75 4b                	jne    0x44ead5
44ea8a:	8b 07                	mov    (%edi),%eax
44ea8c:	83 c1 02             	add    $0x2,%ecx
44ea8f:	0f b7 10             	movzwl (%eax),%edx
44ea92:	83 c0 02             	add    $0x2,%eax
44ea95:	89 07                	mov    %eax,(%edi)
44ea97:	66 89 16             	mov    %dx,(%esi)
44ea9a:	3b cb                	cmp    %ebx,%ecx
44ea9c:	75 d7                	jne    0x44ea75
44ea9e:	52                   	push   %edx
44ea9f:	8b cf                	mov    %edi,%ecx
44eaa1:	e8 42 49 00 00       	call   0x4533e8
44eaa6:	8b 07                	mov    (%edi),%eax
44eaa8:	89 45 10             	mov    %eax,0x10(%ebp)
44eaab:	0f b7 08             	movzwl (%eax),%ecx
44eaae:	83 c0 02             	add    $0x2,%eax
44eab1:	89 07                	mov    %eax,(%edi)
44eab3:	66 89 0e             	mov    %cx,(%esi)
44eab6:	83 f9 28             	cmp    $0x28,%ecx
44eab9:	74 29                	je     0x44eae4
44eabb:	8d 4d f4             	lea    -0xc(%ebp),%ecx
44eabe:	e8 a9 07 00 00       	call   0x44f26c
44eac3:	0f b6 c0             	movzbl %al,%eax
44eac6:	f7 d8                	neg    %eax
44eac8:	1b c0                	sbb    %eax,%eax
44eaca:	83 e0 fd             	and    $0xfffffffd,%eax
44eacd:	83 c0 07             	add    $0x7,%eax
44ead0:	e9 9b 00 00 00       	jmp    0x44eb70
44ead5:	8d 4d f4             	lea    -0xc(%ebp),%ecx
44ead8:	e8 8f 07 00 00       	call   0x44f26c
44eadd:	6a 07                	push   $0x7
44eadf:	e9 8b 00 00 00       	jmp    0x44eb6f
44eae4:	8b 07                	mov    (%edi),%eax
44eae6:	57                   	push   %edi
44eae7:	56                   	push   %esi
44eae8:	0f b7 08             	movzwl (%eax),%ecx
44eaeb:	83 c0 02             	add    $0x2,%eax
44eaee:	89 07                	mov    %eax,(%edi)
44eaf0:	66 89 0e             	mov    %cx,(%esi)
44eaf3:	e8 3c 01 00 00       	call   0x44ec34
44eaf8:	59                   	pop    %ecx
44eaf9:	59                   	pop    %ecx
44eafa:	84 c0                	test   %al,%al
44eafc:	74 05                	je     0x44eb03
44eafe:	6a 05                	push   $0x5
44eb00:	5b                   	pop    %ebx
44eb01:	eb 0d                	jmp    0x44eb10
44eb03:	57                   	push   %edi
44eb04:	56                   	push   %esi
44eb05:	e8 a9 00 00 00       	call   0x44ebb3
44eb0a:	59                   	pop    %ecx
44eb0b:	59                   	pop    %ecx
44eb0c:	84 c0                	test   %al,%al
44eb0e:	74 0f                	je     0x44eb1f
44eb10:	0f b7 16             	movzwl (%esi),%edx
44eb13:	8b cf                	mov    %edi,%ecx
44eb15:	52                   	push   %edx
44eb16:	e8 cd 48 00 00       	call   0x4533e8
44eb1b:	8b c3                	mov    %ebx,%eax
44eb1d:	eb 51                	jmp    0x44eb70
44eb1f:	6a 29                	push   $0x29
44eb21:	5a                   	pop    %edx
44eb22:	66 39 16             	cmp    %dx,(%esi)
44eb25:	74 46                	je     0x44eb6d
44eb27:	0f b7 06             	movzwl (%esi),%eax
44eb2a:	66 85 c0             	test   %ax,%ax
44eb2d:	74 35                	je     0x44eb64
44eb2f:	8b c8                	mov    %eax,%ecx
44eb31:	8d 41 d0             	lea    -0x30(%ecx),%eax
44eb34:	83 f8 09             	cmp    $0x9,%eax
44eb37:	76 19                	jbe    0x44eb52
44eb39:	8d 41 9f             	lea    -0x61(%ecx),%eax
44eb3c:	83 f8 19             	cmp    $0x19,%eax
44eb3f:	76 11                	jbe    0x44eb52
44eb41:	8d 41 bf             	lea    -0x41(%ecx),%eax
44eb44:	83 f8 19             	cmp    $0x19,%eax
44eb47:	76 09                	jbe    0x44eb52
44eb49:	83 f9 5f             	cmp    $0x5f,%ecx
44eb4c:	0f 85 69 ff ff ff    	jne    0x44eabb
44eb52:	8b 07                	mov    (%edi),%eax
44eb54:	0f b7 08             	movzwl (%eax),%ecx
44eb57:	83 c0 02             	add    $0x2,%eax
44eb5a:	89 07                	mov    %eax,(%edi)
44eb5c:	66 89 0e             	mov    %cx,(%esi)
44eb5f:	66 3b ca             	cmp    %dx,%cx
44eb62:	75 c3                	jne    0x44eb27
44eb64:	66 39 16             	cmp    %dx,(%esi)
44eb67:	0f 85 4e ff ff ff    	jne    0x44eabb
44eb6d:	6a 04                	push   $0x4
44eb6f:	58                   	pop    %eax
44eb70:	5f                   	pop    %edi
44eb71:	5e                   	pop    %esi
44eb72:	5b                   	pop    %ebx
44eb73:	8b e5                	mov    %ebp,%esp
44eb75:	5d                   	pop    %ebp
44eb76:	c3                   	ret
44eb77:	8b ff                	mov    %edi,%edi
44eb79:	55                   	push   %ebp
44eb7a:	8b ec                	mov    %esp,%ebp
44eb7c:	53                   	push   %ebx
44eb7d:	56                   	push   %esi
44eb7e:	8b 75 08             	mov    0x8(%ebp),%esi
44eb81:	33 db                	xor    %ebx,%ebx
44eb83:	57                   	push   %edi
44eb84:	8b 7d 0c             	mov    0xc(%ebp),%edi
44eb87:	8b d3                	mov    %ebx,%edx
44eb89:	8a 06                	mov    (%esi),%al
44eb8b:	3a 82 ac c9 49 00    	cmp    0x49c9ac(%edx),%al
44eb91:	74 08                	je     0x44eb9b
44eb93:	3a 82 b0 c9 49 00    	cmp    0x49c9b0(%edx),%al
44eb99:	75 11                	jne    0x44ebac
44eb9b:	8b 07                	mov    (%edi),%eax
44eb9d:	8a 08                	mov    (%eax),%cl
44eb9f:	40                   	inc    %eax
44eba0:	42                   	inc    %edx
44eba1:	89 07                	mov    %eax,(%edi)
44eba3:	88 0e                	mov    %cl,(%esi)
44eba5:	83 fa 04             	cmp    $0x4,%edx
44eba8:	75 df                	jne    0x44eb89
44ebaa:	b3 01                	mov    $0x1,%bl
44ebac:	5f                   	pop    %edi
44ebad:	5e                   	pop    %esi
44ebae:	8a c3                	mov    %bl,%al
44ebb0:	5b                   	pop    %ebx
44ebb1:	5d                   	pop    %ebp
44ebb2:	c3                   	ret
44ebb3:	8b ff                	mov    %edi,%edi
44ebb5:	55                   	push   %ebp
44ebb6:	8b ec                	mov    %esp,%ebp
44ebb8:	53                   	push   %ebx
44ebb9:	56                   	push   %esi
44ebba:	8b 75 08             	mov    0x8(%ebp),%esi
44ebbd:	33 db                	xor    %ebx,%ebx
44ebbf:	57                   	push   %edi
44ebc0:	8b 7d 0c             	mov    0xc(%ebp),%edi
44ebc3:	8b d3                	mov    %ebx,%edx
44ebc5:	0f b7 06             	movzwl (%esi),%eax
44ebc8:	66 3b 82 cc c9 49 00 	cmp    0x49c9cc(%edx),%ax
44ebcf:	74 09                	je     0x44ebda
44ebd1:	66 3b 82 d4 c9 49 00 	cmp    0x49c9d4(%edx),%ax
44ebd8:	75 17                	jne    0x44ebf1
44ebda:	8b 07                	mov    (%edi),%eax
44ebdc:	83 c2 02             	add    $0x2,%edx
44ebdf:	0f b7 08             	movzwl (%eax),%ecx
44ebe2:	83 c0 02             	add    $0x2,%eax
44ebe5:	89 07                	mov    %eax,(%edi)
44ebe7:	66 89 0e             	mov    %cx,(%esi)
44ebea:	83 fa 08             	cmp    $0x8,%edx
44ebed:	75 d6                	jne    0x44ebc5
44ebef:	b3 01                	mov    $0x1,%bl
44ebf1:	5f                   	pop    %edi
44ebf2:	5e                   	pop    %esi
44ebf3:	8a c3                	mov    %bl,%al
44ebf5:	5b                   	pop    %ebx
44ebf6:	5d                   	pop    %ebp
44ebf7:	c3                   	ret
44ebf8:	8b ff                	mov    %edi,%edi
44ebfa:	55                   	push   %ebp
44ebfb:	8b ec                	mov    %esp,%ebp
44ebfd:	53                   	push   %ebx
44ebfe:	56                   	push   %esi
44ebff:	8b 75 08             	mov    0x8(%ebp),%esi
44ec02:	33 db                	xor    %ebx,%ebx
44ec04:	57                   	push   %edi
44ec05:	8b 7d 0c             	mov    0xc(%ebp),%edi
44ec08:	8b d3                	mov    %ebx,%edx
44ec0a:	8a 06                	mov    (%esi),%al
44ec0c:	3a 82 9c c9 49 00    	cmp    0x49c99c(%edx),%al
44ec12:	74 08                	je     0x44ec1c
44ec14:	3a 82 a4 c9 49 00    	cmp    0x49c9a4(%edx),%al
44ec1a:	75 11                	jne    0x44ec2d
44ec1c:	8b 07                	mov    (%edi),%eax
44ec1e:	8a 08                	mov    (%eax),%cl
44ec20:	40                   	inc    %eax
44ec21:	42                   	inc    %edx
44ec22:	89 07                	mov    %eax,(%edi)
44ec24:	88 0e                	mov    %cl,(%esi)
44ec26:	83 fa 05             	cmp    $0x5,%edx
44ec29:	75 df                	jne    0x44ec0a
44ec2b:	b3 01                	mov    $0x1,%bl
44ec2d:	5f                   	pop    %edi
44ec2e:	5e                   	pop    %esi
44ec2f:	8a c3                	mov    %bl,%al
44ec31:	5b                   	pop    %ebx
44ec32:	5d                   	pop    %ebp
44ec33:	c3                   	ret
44ec34:	8b ff                	mov    %edi,%edi
44ec36:	55                   	push   %ebp
44ec37:	8b ec                	mov    %esp,%ebp
44ec39:	53                   	push   %ebx
44ec3a:	56                   	push   %esi
44ec3b:	8b 75 08             	mov    0x8(%ebp),%esi
44ec3e:	33 db                	xor    %ebx,%ebx
44ec40:	57                   	push   %edi
44ec41:	8b 7d 0c             	mov    0xc(%ebp),%edi
44ec44:	8b d3                	mov    %ebx,%edx
44ec46:	0f b7 06             	movzwl (%esi),%eax
44ec49:	66 3b 82 b4 c9 49 00 	cmp    0x49c9b4(%edx),%ax
44ec50:	74 09                	je     0x44ec5b
44ec52:	66 3b 82 c0 c9 49 00 	cmp    0x49c9c0(%edx),%ax
44ec59:	75 17                	jne    0x44ec72
44ec5b:	8b 07                	mov    (%edi),%eax
44ec5d:	83 c2 02             	add    $0x2,%edx
44ec60:	0f b7 08             	movzwl (%eax),%ecx
44ec63:	83 c0 02             	add    $0x2,%eax
44ec66:	89 07                	mov    %eax,(%edi)
44ec68:	66 89 0e             	mov    %cx,(%esi)
44ec6b:	83 fa 0a             	cmp    $0xa,%edx
44ec6e:	75 d6                	jne    0x44ec46
44ec70:	b3 01                	mov    $0x1,%bl
44ec72:	5f                   	pop    %edi
44ec73:	5e                   	pop    %esi
44ec74:	8a c3                	mov    %bl,%al
44ec76:	5b                   	pop    %ebx
44ec77:	5d                   	pop    %ebp
44ec78:	c3                   	ret
44ec79:	8b ff                	mov    %edi,%edi