a7dcea:	8b 4f 0c             	mov    0xc(%edi),%ecx
a7dced:	85 c9                	test   %ecx,%ecx
a7dcef:	74 04                	je     0xa7dcf5
a7dcf1:	89 01                	mov    %eax,(%ecx)
a7dcf3:	eb 03                	jmp    0xa7dcf8
a7dcf5:	89 47 08             	mov    %eax,0x8(%edi)
a7dcf8:	2b de                	sub    %esi,%ebx
a7dcfa:	89 47 0c             	mov    %eax,0xc(%edi)
a7dcfd:	89 5f 10             	mov    %ebx,0x10(%edi)
a7dd00:	eb 09                	jmp    0xa7dd0b
a7dd02:	33 c0                	xor    %eax,%eax
a7dd04:	eb 0e                	jmp    0xa7dd14
a7dd06:	2b c6                	sub    %esi,%eax
a7dd08:	89 47 10             	mov    %eax,0x10(%edi)
a7dd0b:	8b 47 10             	mov    0x10(%edi),%eax
a7dd0e:	83 c0 04             	add    $0x4,%eax
a7dd11:	03 47 0c             	add    0xc(%edi),%eax
a7dd14:	5b                   	pop    %ebx
a7dd15:	5f                   	pop    %edi
a7dd16:	5e                   	pop    %esi
a7dd17:	5d                   	pop    %ebp
a7dd18:	c2 08 00             	ret    $0x8
a7dd1b:	cc                   	int3
a7dd1c:	cc                   	int3
a7dd1d:	cc                   	int3
a7dd1e:	cc                   	int3
a7dd1f:	cc                   	int3
a7dd20:	cc                   	int3
a7dd21:	cc                   	int3
a7dd22:	cc                   	int3
a7dd23:	cc                   	int3
a7dd24:	cc                   	int3
a7dd25:	cc                   	int3
a7dd26:	cc                   	int3
a7dd27:	cc                   	int3
a7dd28:	cc                   	int3
a7dd29:	cc                   	int3
a7dd2a:	cc                   	int3
a7dd2b:	cc                   	int3
a7dd2c:	cc                   	int3
a7dd2d:	cc                   	int3
a7dd2e:	cc                   	int3
a7dd2f:	cc                   	int3
a7dd30:	cc                   	int3
a7dd31:	cc                   	int3
a7dd32:	cc                   	int3
a7dd33:	cc                   	int3
a7dd34:	cc                   	int3
a7dd35:	cc                   	int3
a7dd36:	cc                   	int3
a7dd37:	cc                   	int3
a7dd38:	cc                   	int3
a7dd39:	cc                   	int3
a7dd3a:	cc                   	int3
a7dd3b:	cc                   	int3
a7dd3c:	cc                   	int3
a7dd3d:	cc                   	int3
a7dd3e:	8b 0d 50 18 d8 00    	mov    0xd81850,%ecx
a7dd44:	8a 01                	mov    (%ecx),%al
a7dd46:	84 c0                	test   %al,%al
a7dd48:	75 03                	jne    0xa7dd4d
a7dd4a:	33 c0                	xor    %eax,%eax
a7dd4c:	c3                   	ret
a7dd4d:	3c 30                	cmp    $0x30,%al
a7dd4f:	7c 12                	jl     0xa7dd63
a7dd51:	3c 39                	cmp    $0x39,%al
a7dd53:	7f 0e                	jg     0xa7dd63
a7dd55:	0f be c0             	movsbl %al,%eax
a7dd58:	83 e8 2f             	sub    $0x2f,%eax
a7dd5b:	41                   	inc    %ecx
a7dd5c:	89 0d 50 18 d8 00    	mov    %ecx,0xd81850
a7dd62:	c3                   	ret
a7dd63:	33 d2                	xor    %edx,%edx
a7dd65:	eb 20                	jmp    0xa7dd87
a7dd67:	84 c0                	test   %al,%al
a7dd69:	74 df                	je     0xa7dd4a
a7dd6b:	3c 41                	cmp    $0x41,%al
a7dd6d:	7c 2c                	jl     0xa7dd9b
a7dd6f:	3c 50                	cmp    $0x50,%al
a7dd71:	7f 28                	jg     0xa7dd9b
a7dd73:	c1 e2 04             	shl    $0x4,%edx
a7dd76:	0f be c0             	movsbl %al,%eax
a7dd79:	83 c2 bf             	add    $0xffffffbf,%edx
a7dd7c:	03 d0                	add    %eax,%edx
a7dd7e:	41                   	inc    %ecx
a7dd7f:	89 0d 50 18 d8 00    	mov    %ecx,0xd81850
a7dd85:	8a 01                	mov    (%ecx),%al
a7dd87:	3c 40                	cmp    $0x40,%al
a7dd89:	75 dc                	jne    0xa7dd67
a7dd8b:	8a 01                	mov    (%ecx),%al
a7dd8d:	41                   	inc    %ecx
a7dd8e:	89 0d 50 18 d8 00    	mov    %ecx,0xd81850
a7dd94:	3c 40                	cmp    $0x40,%al
a7dd96:	75 03                	jne    0xa7dd9b
a7dd98:	8b c2                	mov    %edx,%eax
a7dd9a:	c3                   	ret
a7dd9b:	83 c8 ff             	or     $0xffffffff,%eax
a7dd9e:	c3                   	ret
a7dd9f:	cc                   	int3
a7dda0:	cc                   	int3
a7dda1:	cc                   	int3
a7dda2:	cc                   	int3
a7dda3:	cc                   	int3
a7dda4:	cc                   	int3
a7dda5:	cc                   	int3
a7dda6:	cc                   	int3
a7dda7:	cc                   	int3
a7dda8:	cc                   	int3
a7dda9:	cc                   	int3
a7ddaa:	cc                   	int3
a7ddab:	cc                   	int3
a7ddac:	cc                   	int3
a7ddad:	cc                   	int3
a7ddae:	cc                   	int3
a7ddaf:	cc                   	int3
a7ddb0:	cc                   	int3
a7ddb1:	cc                   	int3
a7ddb2:	cc                   	int3
a7ddb3:	cc                   	int3
a7ddb4:	cc                   	int3
a7ddb5:	cc                   	int3
a7ddb6:	cc                   	int3
a7ddb7:	55                   	push   %ebp
a7ddb8:	8b ec                	mov    %esp,%ebp
a7ddba:	83 ec 28             	sub    $0x28,%esp
a7ddbd:	53                   	push   %ebx
a7ddbe:	56                   	push   %esi
a7ddbf:	8b 35 50 18 d8 00    	mov    0xd81850,%esi
a7ddc5:	b9 00 00 ff ff       	mov    $0xffff0000,%ecx
a7ddca:	21 4d fc             	and    %ecx,-0x4(%ebp)
a7ddcd:	21 4d f4             	and    %ecx,-0xc(%ebp)
a7ddd0:	57                   	push   %edi
a7ddd1:	0f be 06             	movsbl (%esi),%eax
a7ddd4:	33 ff                	xor    %edi,%edi
a7ddd6:	46                   	inc    %esi
a7ddd7:	89 7d f8             	mov    %edi,-0x8(%ebp)
a7ddda:	89 7d f0             	mov    %edi,-0x10(%ebp)
a7dddd:	89 35 50 18 d8 00    	mov    %esi,0xd81850
a7dde3:	83 f8 41             	cmp    $0x41,%eax
a7dde6:	0f 8f 8c 01 00 00    	jg     0xa7df78
a7ddec:	0f 84 bb 05 00 00    	je     0xa7e3ad
a7ddf2:	85 c0                	test   %eax,%eax
a7ddf4:	0f 84 65 01 00 00    	je     0xa7df5f
a7ddfa:	83 f8 2f             	cmp    $0x2f,%eax
a7ddfd:	0f 8e 57 04 00 00    	jle    0xa7e25a
a7de03:	83 f8 31             	cmp    $0x31,%eax
a7de06:	7e 5f                	jle    0xa7de67
a7de08:	83 f8 39             	cmp    $0x39,%eax
a7de0b:	0f 8f 49 04 00 00    	jg     0xa7e25a
a7de11:	0f be 46 ff          	movsbl -0x1(%esi),%eax
a7de15:	ff 34 85 80 d7 c7 00 	push   0xc7d780(,%eax,4)
a7de1c:	8d 4d f8             	lea    -0x8(%ebp),%ecx
a7de1f:	e8 47 41 9b ff       	call   0x431f6b
a7de24:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
a7de28:	74 28                	je     0xa7de52
a7de2a:	8d 45 f8             	lea    -0x8(%ebp),%eax
a7de2d:	50                   	push   %eax
a7de2e:	8d 45 d8             	lea    -0x28(%ebp),%eax
a7de31:	50                   	push   %eax
a7de32:	68 c0 da c7 00       	push   $0xc7dac0
a7de37:	8d 4d e0             	lea    -0x20(%ebp),%ecx
a7de3a:	e8 90 1a 9a ff       	call   0x41f8cf
a7de3f:	8b c8                	mov    %eax,%ecx
a7de41:	e8 58 e2 99 ff       	call   0x41c09e
a7de46:	8b 45 d8             	mov    -0x28(%ebp),%eax
a7de49:	89 45 f8             	mov    %eax,-0x8(%ebp)
a7de4c:	8b 45 dc             	mov    -0x24(%ebp),%eax
a7de4f:	89 45 fc             	mov    %eax,-0x4(%ebp)
a7de52:	8b 45 08             	mov    0x8(%ebp),%eax
a7de55:	8b 4d f8             	mov    -0x8(%ebp),%ecx
a7de58:	89 08                	mov    %ecx,(%eax)
a7de5a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
a7de5d:	89 48 04             	mov    %ecx,0x4(%eax)
a7de60:	5f                   	pop    %edi
a7de61:	5e                   	pop    %esi
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