a7de62:	5b                   	pop    %ebx
a7de63:	8b e5                	mov    %ebp,%esp
a7de65:	5d                   	pop    %ebp
a7de66:	c3                   	ret
a7de67:	21 4d f4             	and    %ecx,-0xc(%ebp)
a7de6a:	8b df                	mov    %edi,%ebx
a7de6c:	89 5d f0             	mov    %ebx,-0x10(%ebp)
a7de6f:	38 5d 0c             	cmp    %bl,0xc(%ebp)
a7de72:	74 7a                	je     0xa7deee
a7de74:	8d 45 e0             	lea    -0x20(%ebp),%eax
a7de77:	50                   	push   %eax
a7de78:	e8 d6 8d 98 ff       	call   0x406c53
a7de7d:	59                   	pop    %ecx
a7de7e:	50                   	push   %eax
a7de7f:	8d 45 d8             	lea    -0x28(%ebp),%eax
a7de82:	50                   	push   %eax
a7de83:	6a 3c                	push   $0x3c
a7de85:	8d 4d e8             	lea    -0x18(%ebp),%ecx
a7de88:	e8 7b 59 9a ff       	call   0x423808
a7de8d:	8b c8                	mov    %eax,%ecx
a7de8f:	e8 0a e2 99 ff       	call   0x41c09e
a7de94:	8d 45 d8             	lea    -0x28(%ebp),%eax
a7de97:	50                   	push   %eax
a7de98:	8d 4d f0             	lea    -0x10(%ebp),%ecx
a7de9b:	e8 54 cc 9a ff       	call   0x42aaf4
a7dea0:	8d 4d f0             	lea    -0x10(%ebp),%ecx
a7dea3:	e8 8a 6a 9b ff       	call   0x434932
a7dea8:	3c 3e                	cmp    $0x3e,%al
a7deaa:	75 0a                	jne    0xa7deb6
a7deac:	6a 20                	push   $0x20
a7deae:	8d 4d f0             	lea    -0x10(%ebp),%ecx
a7deb1:	e8 31 19 9c ff       	call   0x43f7e7
a7deb6:	6a 3e                	push   $0x3e
a7deb8:	8d 4d f0             	lea    -0x10(%ebp),%ecx
a7debb:	e8 27 19 9c ff       	call   0x43f7e7
a7dec0:	8b 45 10             	mov    0x10(%ebp),%eax
a7dec3:	85 c0                	test   %eax,%eax
a7dec5:	74 03                	je     0xa7deca
a7dec7:	c6 00 01             	movb   $0x1,(%eax)
a7deca:	8b 35 50 18 d8 00    	mov    0xd81850,%esi
a7ded0:	38 1e                	cmp    %bl,(%esi)
a7ded2:	75 10                	jne    0xa7dee4
a7ded4:	8b 45 08             	mov    0x8(%ebp),%eax
a7ded7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
a7deda:	89 08                	mov    %ecx,(%eax)
a7dedc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
a7dedf:	e9 79 ff ff ff       	jmp    0xa7de5d
a7dee4:	8b 5d f0             	mov    -0x10(%ebp),%ebx
a7dee7:	46                   	inc    %esi
a7dee8:	89 35 50 18 d8 00    	mov    %esi,0xd81850
a7deee:	57                   	push   %edi
a7deef:	8d 45 d8             	lea    -0x28(%ebp),%eax
a7def2:	57                   	push   %edi
a7def3:	50                   	push   %eax
a7def4:	e8 be 7c 9a ff       	call   0x425bb7
a7def9:	83 c4 0c             	add    $0xc,%esp
a7defc:	8b 08                	mov    (%eax),%ecx
a7defe:	8b 50 04             	mov    0x4(%eax),%edx
a7df01:	89 4d f8             	mov    %ecx,-0x8(%ebp)
a7df04:	89 55 fc             	mov    %edx,-0x4(%ebp)
a7df07:	89 35 50 18 d8 00    	mov    %esi,0xd81850
a7df0d:	85 c9                	test   %ecx,%ecx
a7df0f:	74 2b                	je     0xa7df3c
a7df11:	80 7e ff 31          	cmpb   $0x31,-0x1(%esi)
a7df15:	75 25                	jne    0xa7df3c
a7df17:	8d 45 f8             	lea    -0x8(%ebp),%eax
a7df1a:	50                   	push   %eax
a7df1b:	8d 45 e0             	lea    -0x20(%ebp),%eax
a7df1e:	50                   	push   %eax
a7df1f:	6a 7e                	push   $0x7e
a7df21:	8d 4d d8             	lea    -0x28(%ebp),%ecx
a7df24:	e8 df 58 9a ff       	call   0x423808
a7df29:	8b c8                	mov    %eax,%ecx
a7df2b:	e8 6e e1 99 ff       	call   0x41c09e
a7df30:	8b 4d e0             	mov    -0x20(%ebp),%ecx
a7df33:	8b 55 e4             	mov    -0x1c(%ebp),%edx
a7df36:	89 4d f8             	mov    %ecx,-0x8(%ebp)
a7df39:	89 55 fc             	mov    %edx,-0x4(%ebp)
a7df3c:	85 db                	test   %ebx,%ebx
a7df3e:	74 12                	je     0xa7df52
a7df40:	8d 45 f0             	lea    -0x10(%ebp),%eax
a7df43:	50                   	push   %eax
a7df44:	8d 4d f8             	lea    -0x8(%ebp),%ecx
a7df47:	e8 a8 cb 9a ff       	call   0x42aaf4
a7df4c:	8b 55 fc             	mov    -0x4(%ebp),%edx
a7df4f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
a7df52:	8b 45 08             	mov    0x8(%ebp),%eax
a7df55:	89 08                	mov    %ecx,(%eax)
a7df57:	89 50 04             	mov    %edx,0x4(%eax)
a7df5a:	e9 01 ff ff ff       	jmp    0xa7de60
a7df5f:	4e                   	dec    %esi
a7df60:	89 35 50 18 d8 00    	mov    %esi,0xd81850
a7df66:	6a 01                	push   $0x1
a7df68:	8b 4d 08             	mov    0x8(%ebp),%ecx
a7df6b:	e8 fe 20 99 ff       	call   0x41006e
a7df70:	8b 45 08             	mov    0x8(%ebp),%eax
a7df73:	e9 e8 fe ff ff       	jmp    0xa7de60
a7df78:	83 f8 42             	cmp    $0x42,%eax
a7df7b:	0f 84 29 04 00 00    	je     0xa7e3aa
a7df81:	0f 8e d3 02 00 00    	jle    0xa7e25a
a7df87:	83 f8 5a             	cmp    $0x5a,%eax
a7df8a:	0f 8e 1d 04 00 00    	jle    0xa7e3ad
a7df90:	83 f8 5f             	cmp    $0x5f,%eax
a7df93:	0f 85 c1 02 00 00    	jne    0xa7e25a
a7df99:	0f be 06             	movsbl (%esi),%eax
a7df9c:	46                   	inc    %esi
a7df9d:	89 35 50 18 d8 00    	mov    %esi,0xd81850
a7dfa3:	83 f8 4f             	cmp    $0x4f,%eax
a7dfa6:	0f 8f d5 00 00 00    	jg     0xa7e081
a7dfac:	83 f8 44             	cmp    $0x44,%eax
a7dfaf:	0f 8d d5 03 00 00    	jge    0xa7e38a
a7dfb5:	83 f8 39             	cmp    $0x39,%eax
a7dfb8:	7f 66                	jg     0xa7e020
a7dfba:	74 40                	je     0xa7dffc
a7dfbc:	85 c0                	test   %eax,%eax
a7dfbe:	74 9f                	je     0xa7df5f
a7dfc0:	83 f8 2f             	cmp    $0x2f,%eax
a7dfc3:	0f 8e 91 02 00 00    	jle    0xa7e25a
a7dfc9:	83 f8 36             	cmp    $0x36,%eax
a7dfcc:	7e 1e                	jle    0xa7dfec
a7dfce:	83 f8 38             	cmp    $0x38,%eax
a7dfd1:	0f 8f 83 02 00 00    	jg     0xa7e25a
a7dfd7:	0f be 46 ff          	movsbl -0x1(%esi),%eax
a7dfdb:	ff 34 85 10 d8 c7 00 	push   0xc7d810(,%eax,4)
a7dfe2:	8b 4d 08             	mov    0x8(%ebp),%ecx
a7dfe5:	e8 e5 18 9a ff       	call   0x41f8cf
a7dfea:	eb 84                	jmp    0xa7df70
a7dfec:	0f be 46 ff          	movsbl -0x1(%esi),%eax
a7dff0:	ff 34 85 10 d8 c7 00 	push   0xc7d810(,%eax,4)
a7dff7:	e9 20 fe ff ff       	jmp    0xa7de1c
a7dffc:	0f be 46 ff          	movsbl -0x1(%esi),%eax
a7e000:	8d 4d e0             	lea    -0x20(%ebp),%ecx
a7e003:	ff 34 85 10 d8 c7 00 	push   0xc7d810(,%eax,4)
a7e00a:	e8 c0 18 9a ff       	call   0x41f8cf
a7e00f:	8b 55 e4             	mov    -0x1c(%ebp),%edx
a7e012:	81 ca 00 80 00 00    	or     $0x8000,%edx
a7e018:	8b 4d e0             	mov    -0x20(%ebp),%ecx
a7e01b:	e9 32 ff ff ff       	jmp    0xa7df52
a7e020:	83 f8 3f             	cmp    $0x3f,%eax
a7e023:	74 39                	je     0xa7e05e
a7e025:	83 f8 40             	cmp    $0x40,%eax
a7e028:	0f 8e 2c 02 00 00    	jle    0xa7e25a
a7e02e:	83 f8 42             	cmp    $0x42,%eax
a7e031:	0f 8e 53 03 00 00    	jle    0xa7e38a
a7e037:	83 f8 43             	cmp    $0x43,%eax
a7e03a:	0f 85 1a 02 00 00    	jne    0xa7e25a
a7e040:	6a 01                	push   $0x1
a7e042:	68 74 db c7 00       	push   $0xc7db74
a7e047:	8d 45 e0             	lea    -0x20(%ebp),%eax
a7e04a:	50                   	push   %eax
a7e04b:	e8 2d 2a 99 ff       	call   0x410a7d
a7e050:	8b 55 e4             	mov    -0x1c(%ebp),%edx
a7e053:	83 c4 0c             	add    $0xc,%esp
a7e056:	81 ca 00 10 00 00    	or     $0x1000,%edx
a7e05c:	eb ba                	jmp    0xa7e018
a7e05e:	0f be 06             	movsbl (%esi),%eax
a7e061:	46                   	inc    %esi
a7e062:	89 35 50 18 d8 00    	mov    %esi,0xd81850
a7e068:	85 c0                	test   %eax,%eax
a7e06a:	0f 84 ef fe ff ff    	je     0xa7df5f
a7e070:	83 f8 30             	cmp    $0x30,%eax
a7e073:	0f 85 e1 01 00 00    	jne    0xa7e25a
a7e079:	57                   	push   %edi
a7e07a:	68 a0 e0 c7 00       	push   $0xc7e0a0
a7e07f:	eb c6                	jmp    0xa7e047
a7e081:	83 f8 54             	cmp    $0x54,%eax
a7e084:	0f 8f eb 01 00 00    	jg     0xa7e275
a7e08a:	83 f8 53             	cmp    $0x53,%eax
a7e08d:	0f 8d f7 02 00 00    	jge    0xa7e38a
a7e093:	83 e8 50             	sub    $0x50,%eax
a7e096:	0f 84 87 01 00 00    	je     0xa7e223
a7e09c:	83 e8 01             	sub    $0x1,%eax
a7e09f:	0f 84 7f fd ff ff    	je     0xa7de24
a7e0a5:	83 e8 01             	sub    $0x1,%eax
a7e0a8:	0f 85 ac 01 00 00    	jne    0xa7e25a
a7e0ae:	0f be 46 ff          	movsbl -0x1(%esi),%eax
a7e0b2:	8d 4d f8             	lea    -0x8(%ebp),%ecx
a7e0b5:	ff 34 85 f4 d7 c7 00 	push   0xc7d7f4(,%eax,4)
a7e0bc:	e8 aa 3e 9b ff       	call   0x431f6b
a7e0c1:	a1 50 18 d8 00       	mov    0xd81850,%eax
a7e0c6:	8a 00                	mov    (%eax),%al
a7e0c8:	84 c0                	test   %al,%al
a7e0ca:	75 12                	jne    0xa7e0de
a7e0cc:	6a 01                	push   $0x1
a7e0ce:	ff 75 08             	push   0x8(%ebp)
a7e0d1:	8d 4d f8             	lea    -0x8(%ebp),%ecx
a7e0d4:	e8 e5 06 99 ff       	call   0x40e7be
a7e0d9:	e9 92 fe ff ff       	jmp    0xa7df70
a7e0de:	0f be c0             	movsbl %al,%eax
a7e0e1:	83 e8 30             	sub    $0x30,%eax
a7e0e4:	0f 88 70 01 00 00    	js     0xa7e25a
a7e0ea:	83 f8 05             	cmp    $0x5,%eax
a7e0ed:	0f 83 67 01 00 00    	jae    0xa7e25a
a7e0f3:	ff 34 85 8c d9 c7 00 	push   0xc7d98c(,%eax,4)
a7e0fa:	8d 4d f0             	lea    -0x10(%ebp),%ecx
a7e0fd:	e8 69 3e 9b ff       	call   0x431f6b
a7e102:	8b 0d 50 18 d8 00    	mov    0xd81850,%ecx
a7e108:	0f be 01             	movsbl (%ecx),%eax
a7e10b:	41                   	inc    %ecx
a7e10c:	89 0d 50 18 d8 00    	mov    %ecx,0xd81850
a7e112:	83 f8 30             	cmp    $0x30,%eax
a7e115:	0f 84 c9 00 00 00    	je     0xa7e1e4
a7e11b:	83 f8 31             	cmp    $0x31,%eax
a7e11e:	74 18                	je     0xa7e138
a7e120:	83 c0 ce             	add    $0xffffffce,%eax
a7e123:	83 f8 02             	cmp    $0x2,%eax
a7e126:	0f 86 35 01 00 00    	jbe    0xa7e261
a7e12c:	49                   	dec    %ecx
a7e12d:	89 0d 50 18 d8 00    	mov    %ecx,0xd81850
a7e133:	e9 2e fe ff ff       	jmp    0xa7df66
a7e138:	8b 45 f8             	mov    -0x8(%ebp),%eax
a7e13b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
a7e13e:	89 45 e8             	mov    %eax,-0x18(%ebp)
a7e141:	8b 45 fc             	mov    -0x4(%ebp),%eax
a7e144:	89 45 ec             	mov    %eax,-0x14(%ebp)
a7e147:	8d 45 f0             	lea    -0x10(%ebp),%eax
a7e14a:	50                   	push   %eax
a7e14b:	e8 a4 c9 9a ff       	call   0x42aaf4
a7e150:	6a 2c                	push   $0x2c
a7e152:	8d 45 d8             	lea    -0x28(%ebp),%eax
a7e155:	50                   	push   %eax
a7e156:	8d 45 e0             	lea    -0x20(%ebp),%eax
a7e159:	50                   	push   %eax
a7e15a:	e8 29 8d 98 ff       	call   0x406e88
a7e15f:	59                   	pop    %ecx
a7e160:	8b c8                	mov    %eax,%ecx
a7e162:	e8 2f dd 99 ff       	call   0x41be96
a7e167:	50                   	push   %eax
a7e168:	8d 4d e8             	lea    -0x18(%ebp),%ecx
a7e16b:	e8 84 c9 9a ff       	call   0x42aaf4
a7e170:	6a 2c                	push   $0x2c
a7e172:	8d 45 d8             	lea    -0x28(%ebp),%eax
a7e175:	50                   	push   %eax
a7e176:	8d 45 e0             	lea    -0x20(%ebp),%eax
a7e179:	50                   	push   %eax
a7e17a:	e8 09 8d 98 ff       	call   0x406e88
a7e17f:	59                   	pop    %ecx
a7e180:	8b c8                	mov    %eax,%ecx
a7e182:	e8 0f dd 99 ff       	call   0x41be96
a7e187:	50                   	push   %eax
a7e188:	8d 4d e8             	lea    -0x18(%ebp),%ecx
a7e18b:	e8 64 c9 9a ff       	call   0x42aaf4
a7e190:	6a 2c                	push   $0x2c
a7e192:	8d 45 d8             	lea    -0x28(%ebp),%eax
a7e195:	50                   	push   %eax
a7e196:	8d 45 e0             	lea    -0x20(%ebp),%eax
a7e199:	50                   	push   %eax
a7e19a:	e8 e9 8c 98 ff       	call   0x406e88
a7e19f:	59                   	pop    %ecx
a7e1a0:	8b c8                	mov    %eax,%ecx
a7e1a2:	e8 ef dc 99 ff       	call   0x41be96
a7e1a7:	50                   	push   %eax
a7e1a8:	8d 4d e8             	lea    -0x18(%ebp),%ecx
a7e1ab:	e8 44 c9 9a ff       	call   0x42aaf4
a7e1b0:	6a 29                	push   $0x29
a7e1b2:	8d 45 d8             	lea    -0x28(%ebp),%eax
a7e1b5:	50                   	push   %eax
a7e1b6:	8d 45 e0             	lea    -0x20(%ebp),%eax
a7e1b9:	57                   	push   %edi
a7e1ba:	50                   	push   %eax
a7e1bb:	e8 ba 4a 98 ff       	call   0x402c7a
a7e1c0:	59                   	pop    %ecx
a7e1c1:	59                   	pop    %ecx
a7e1c2:	8b c8                	mov    %eax,%ecx
a7e1c4:	e8 cd dc 99 ff       	call   0x41be96
a7e1c9:	50                   	push   %eax
a7e1ca:	8d 4d e8             	lea    -0x18(%ebp),%ecx
a7e1cd:	e8 22 c9 9a ff       	call   0x42aaf4
a7e1d2:	6a 27                	push   $0x27
a7e1d4:	ff 75 08             	push   0x8(%ebp)
a7e1d7:	8d 4d e8             	lea    -0x18(%ebp),%ecx
a7e1da:	e8 b7 dc 99 ff       	call   0x41be96
a7e1df:	e9 8c fd ff ff       	jmp    0xa7df70
a7e1e4:	8d 45 d8             	lea    -0x28(%ebp),%eax
a7e1e7:	57                   	push   %edi
a7e1e8:	50                   	push   %eax
a7e1e9:	e8 82 11 9a ff       	call   0x41f370
a7e1ee:	8b 45 d8             	mov    -0x28(%ebp),%eax
a7e1f1:	59                   	pop    %ecx
a7e1f2:	59                   	pop    %ecx
a7e1f3:	89 45 e8             	mov    %eax,-0x18(%ebp)
a7e1f6:	8d 4d e8             	lea    -0x18(%ebp),%ecx
a7e1f9:	8b 45 dc             	mov    -0x24(%ebp),%eax
a7e1fc:	6a 20                	push   $0x20
a7e1fe:	89 45 ec             	mov    %eax,-0x14(%ebp)
a7e201:	e8 e1 15 9c ff       	call   0x43f7e7
a7e206:	8b 45 e8             	mov    -0x18(%ebp),%eax
a7e209:	8d 4d e0             	lea    -0x20(%ebp),%ecx
a7e20c:	89 45 e0             	mov    %eax,-0x20(%ebp)
a7e20f:	8b 45 ec             	mov    -0x14(%ebp),%eax
a7e212:	89 45 e4             	mov    %eax,-0x1c(%ebp)
a7e215:	8d 45 f8             	lea    -0x8(%ebp),%eax
a7e218:	50                   	push   %eax
a7e219:	e8 d6 c8 9a ff       	call   0x42aaf4
a7e21e:	8d 4d e0             	lea    -0x20(%ebp),%ecx
a7e221:	eb 41                	jmp    0xa7e264
a7e223:	0f be 46 ff          	movsbl -0x1(%esi),%eax
a7e227:	8d 4d f8             	lea    -0x8(%ebp),%ecx
a7e22a:	ff 34 85 f4 d7 c7 00 	push   0xc7d7f4(,%eax,4)
a7e231:	e8 35 3d 9b ff       	call   0x431f6b
a7e236:	57                   	push   %edi
a7e237:	8d 45 d8             	lea    -0x28(%ebp),%eax
a7e23a:	57                   	push   %edi
a7e23b:	50                   	push   %eax
a7e23c:	e8 de 4d 9a ff       	call   0x42301f
a7e241:	83 c4 0c             	add    $0xc,%esp
a7e244:	8b 08                	mov    (%eax),%ecx
a7e246:	8b 40 04             	mov    0x4(%eax),%eax
a7e249:	89 4d f0             	mov    %ecx,-0x10(%ebp)
a7e24c:	89 45 f4             	mov    %eax,-0xc(%ebp)
a7e24f:	85 c9                	test   %ecx,%ecx
a7e251:	74 0e                	je     0xa7e261
a7e253:	a9 00 04 00 00       	test   $0x400,%eax
a7e258:	74 07                	je     0xa7e261
a7e25a:	6a 02                	push   $0x2
a7e25c:	e9 07 fd ff ff       	jmp    0xa7df68
a7e261:	8d 4d f8             	lea    -0x8(%ebp),%ecx
a7e264:	8d 45 f0             	lea    -0x10(%ebp),%eax
a7e267:	50                   	push   %eax
a7e268:	ff 75 08             	push   0x8(%ebp)
a7e26b:	e8 2e de 99 ff       	call   0x41c09e
a7e270:	e9 fb fc ff ff       	jmp    0xa7df70
a7e275:	83 f8 56             	cmp    $0x56,%eax
a7e278:	0f 8e 1c 01 00 00    	jle    0xa7e39a
a7e27e:	83 f8 57             	cmp    $0x57,%eax
a7e281:	7e d7                	jle    0xa7e25a
a7e283:	83 f8 59             	cmp    $0x59,%eax
a7e286:	0f 8e fe 00 00 00    	jle    0xa7e38a
a7e28c:	83 f8 5f             	cmp    $0x5f,%eax
a7e28f:	75 c9                	jne    0xa7e25a
a7e291:	0f be 06             	movsbl (%esi),%eax
a7e294:	46                   	inc    %esi
a7e295:	89 35 50 18 d8 00    	mov    %esi,0xd81850
a7e29b:	83 f8 41             	cmp    $0x41,%eax
a7e29e:	7c ba                	jl     0xa7e25a
a7e2a0:	83 f8 44             	cmp    $0x44,%eax
a7e2a3:	0f 8e d1 00 00 00    	jle    0xa7e37a
a7e2a9:	83 f8 46             	cmp    $0x46,%eax
a7e2ac:	7e 5e                	jle    0xa7e30c
a7e2ae:	83 f8 4a             	cmp    $0x4a,%eax
a7e2b1:	0f 8e c3 00 00 00    	jle    0xa7e37a
a7e2b7:	83 f8 4b             	cmp    $0x4b,%eax
a7e2ba:	75 9e                	jne    0xa7e25a
a7e2bc:	0f be 46 ff          	movsbl -0x1(%esi),%eax
a7e2c0:	8d 4d e0             	lea    -0x20(%ebp),%ecx
a7e2c3:	ff 34 85 58 d8 c7 00 	push   0xc7d858(,%eax,4)
a7e2ca:	e8 00 16 9a ff       	call   0x41f8cf
a7e2cf:	eb 14                	jmp    0xa7e2e5
a7e2d1:	3c 40                	cmp    $0x40,%al
a7e2d3:	74 20                	je     0xa7e2f5