a6e8d0:	e8 50 41 9b ff       	call   0x422a25
a6e8d5:	8b 55 10             	mov    0x10(%ebp),%edx
a6e8d8:	0f b6 4d 11          	movzbl 0x11(%ebp),%ecx
a6e8dc:	8b 43 0c             	mov    0xc(%ebx),%eax
a6e8df:	0f bf 04 48          	movswl (%eax,%ecx,2),%eax
a6e8e3:	c1 e8 02             	shr    $0x2,%eax
a6e8e6:	a8 01                	test   $0x1,%al
a6e8e8:	75 2f                	jne    0xa6e919
a6e8ea:	8b 45 24             	mov    0x24(%ebp),%eax
a6e8ed:	8b 4d f0             	mov    -0x10(%ebp),%ecx
a6e8f0:	50                   	push   %eax
a6e8f1:	57                   	push   %edi
a6e8f2:	ff 75 1c             	push   0x1c(%ebp)
a6e8f5:	8d 45 e8             	lea    -0x18(%ebp),%eax
a6e8f8:	ff 75 18             	push   0x18(%ebp)
a6e8fb:	ff 75 14             	push   0x14(%ebp)
a6e8fe:	52                   	push   %edx
a6e8ff:	ff 75 0c             	push   0xc(%ebp)
a6e902:	50                   	push   %eax
a6e903:	e8 be d6 9b ff       	call   0x42bfc6
a6e908:	8b 08                	mov    (%eax),%ecx
a6e90a:	89 4d 0c             	mov    %ecx,0xc(%ebp)
a6e90d:	8b 40 04             	mov    0x4(%eax),%eax
a6e910:	c7 45 ec 02 00 00 00 	movl   $0x2,-0x14(%ebp)
a6e917:	eb 74                	jmp    0xa6e98d
a6e919:	83 fe 02             	cmp    $0x2,%esi
a6e91c:	75 25                	jne    0xa6e943
a6e91e:	8b 75 24             	mov    0x24(%ebp),%esi
a6e921:	8d 45 14             	lea    0x14(%ebp),%eax
a6e924:	53                   	push   %ebx
a6e925:	83 c6 10             	add    $0x10,%esi
a6e928:	56                   	push   %esi
a6e929:	6a 0c                	push   $0xc
a6e92b:	6a 01                	push   $0x1
a6e92d:	50                   	push   %eax
a6e92e:	8d 45 0c             	lea    0xc(%ebp),%eax
a6e931:	50                   	push   %eax
a6e932:	ff 75 f0             	push   -0x10(%ebp)
a6e935:	e8 7a 5e 99 ff       	call   0x4047b4
a6e93a:	09 07                	or     %eax,(%edi)
a6e93c:	83 c4 1c             	add    $0x1c,%esp
a6e93f:	ff 0e                	decl   (%esi)
a6e941:	eb 72                	jmp    0xa6e9b5
a6e943:	8b 45 24             	mov    0x24(%ebp),%eax
a6e946:	83 fe 01             	cmp    $0x1,%esi
a6e949:	75 1f                	jne    0xa6e96a
a6e94b:	53                   	push   %ebx
a6e94c:	83 c0 0c             	add    $0xc,%eax
a6e94f:	50                   	push   %eax
a6e950:	6a 1f                	push   $0x1f
a6e952:	56                   	push   %esi
a6e953:	8d 45 14             	lea    0x14(%ebp),%eax
a6e956:	50                   	push   %eax
a6e957:	8d 45 0c             	lea    0xc(%ebp),%eax
a6e95a:	50                   	push   %eax
a6e95b:	ff 75 f0             	push   -0x10(%ebp)
a6e95e:	e8 51 5e 99 ff       	call   0x4047b4
a6e963:	83 c4 1c             	add    $0x1c,%esp
a6e966:	09 07                	or     %eax,(%edi)
a6e968:	eb 4b                	jmp    0xa6e9b5
a6e96a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
a6e96d:	50                   	push   %eax
a6e96e:	57                   	push   %edi
a6e96f:	ff 75 1c             	push   0x1c(%ebp)
a6e972:	8d 45 d8             	lea    -0x28(%ebp),%eax
a6e975:	ff 75 18             	push   0x18(%ebp)
a6e978:	ff 75 14             	push   0x14(%ebp)
a6e97b:	52                   	push   %edx
a6e97c:	ff 75 0c             	push   0xc(%ebp)
a6e97f:	50                   	push   %eax
a6e980:	e8 67 83 9b ff       	call   0x426cec
a6e985:	8b 08                	mov    (%eax),%ecx
a6e987:	89 4d 0c             	mov    %ecx,0xc(%ebp)
a6e98a:	8b 40 04             	mov    0x4(%eax),%eax
a6e98d:	89 45 10             	mov    %eax,0x10(%ebp)
a6e990:	eb 23                	jmp    0xa6e9b5
a6e992:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
a6e996:	75 08                	jne    0xa6e9a0
a6e998:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6e99b:	e8 85 40 9b ff       	call   0x422a25
a6e9a0:	0f b6 4d 11          	movzbl 0x11(%ebp),%ecx
a6e9a4:	8b 43 0c             	mov    0xc(%ebx),%eax
a6e9a7:	f6 04 48 48          	testb  $0x48,(%eax,%ecx,2)
a6e9ab:	74 18                	je     0xa6e9c5
a6e9ad:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6e9b0:	e8 8d 65 9a ff       	call   0x414f42
a6e9b5:	8d 45 14             	lea    0x14(%ebp),%eax
a6e9b8:	50                   	push   %eax
a6e9b9:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6e9bc:	e8 78 d7 9a ff       	call   0x41c139
a6e9c1:	84 c0                	test   %al,%al
a6e9c3:	74 cd                	je     0xa6e992
a6e9c5:	8d 45 14             	lea    0x14(%ebp),%eax
a6e9c8:	50                   	push   %eax
a6e9c9:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6e9cc:	e8 68 d7 9a ff       	call   0x41c139
a6e9d1:	84 c0                	test   %al,%al
a6e9d3:	75 53                	jne    0xa6ea28
a6e9d5:	38 45 10             	cmp    %al,0x10(%ebp)
a6e9d8:	75 08                	jne    0xa6e9e2
a6e9da:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6e9dd:	e8 43 40 9b ff       	call   0x422a25
a6e9e2:	8b 03                	mov    (%ebx),%eax
a6e9e4:	6a 00                	push   $0x0
a6e9e6:	ff 75 11             	push   0x11(%ebp)
a6e9e9:	8b 70 28             	mov    0x28(%eax),%esi
a6e9ec:	8b ce                	mov    %esi,%ecx
a6e9ee:	e8 72 dc 9b ff       	call   0x42c665
a6e9f3:	8b cb                	mov    %ebx,%ecx
a6e9f5:	ff d6                	call   *%esi
a6e9f7:	3c 3a                	cmp    $0x3a,%al
a6e9f9:	74 25                	je     0xa6ea20
a6e9fb:	3c 2c                	cmp    $0x2c,%al
a6e9fd:	74 21                	je     0xa6ea20
a6e9ff:	3c 2f                	cmp    $0x2f,%al
a6ea01:	75 25                	jne    0xa6ea28
a6ea03:	eb 1b                	jmp    0xa6ea20
a6ea05:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
a6ea09:	75 08                	jne    0xa6ea13
a6ea0b:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6ea0e:	e8 12 40 9b ff       	call   0x422a25
a6ea13:	0f b6 4d 11          	movzbl 0x11(%ebp),%ecx
a6ea17:	8b 43 0c             	mov    0xc(%ebx),%eax
a6ea1a:	f6 04 48 48          	testb  $0x48,(%eax,%ecx,2)
a6ea1e:	74 18                	je     0xa6ea38
a6ea20:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6ea23:	e8 1a 65 9a ff       	call   0x414f42
a6ea28:	8d 45 14             	lea    0x14(%ebp),%eax
a6ea2b:	50                   	push   %eax
a6ea2c:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6ea2f:	e8 05 d7 9a ff       	call   0x41c139
a6ea34:	84 c0                	test   %al,%al
a6ea36:	74 cd                	je     0xa6ea05
a6ea38:	8d 45 14             	lea    0x14(%ebp),%eax
a6ea3b:	50                   	push   %eax
a6ea3c:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6ea3f:	e8 f5 d6 9a ff       	call   0x41c139
a6ea44:	84 c0                	test   %al,%al
a6ea46:	0f 85 de 00 00 00    	jne    0xa6eb2a
a6ea4c:	8b 55 10             	mov    0x10(%ebp),%edx
a6ea4f:	84 d2                	test   %dl,%dl
a6ea51:	75 0b                	jne    0xa6ea5e
a6ea53:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6ea56:	e8 ca 3f 9b ff       	call   0x422a25
a6ea5b:	8b 55 10             	mov    0x10(%ebp),%edx
a6ea5e:	0f b6 4d 11          	movzbl 0x11(%ebp),%ecx
a6ea62:	8b 43 0c             	mov    0xc(%ebx),%eax
a6ea65:	8b 75 ec             	mov    -0x14(%ebp),%esi
a6ea68:	0f bf 04 48          	movswl (%eax,%ecx,2),%eax
a6ea6c:	c1 e8 02             	shr    $0x2,%eax
a6ea6f:	a8 01                	test   $0x1,%al
a6ea71:	75 42                	jne    0xa6eab5
a6ea73:	83 fe 02             	cmp    $0x2,%esi
a6ea76:	75 07                	jne    0xa6ea7f
a6ea78:	09 37                	or     %esi,(%edi)
a6ea7a:	e9 ab 00 00 00       	jmp    0xa6eb2a
a6ea7f:	ff 75 24             	push   0x24(%ebp)
a6ea82:	8b 4d f0             	mov    -0x10(%ebp),%ecx
a6ea85:	8d 45 d8             	lea    -0x28(%ebp),%eax
a6ea88:	57                   	push   %edi
a6ea89:	ff 75 1c             	push   0x1c(%ebp)
a6ea8c:	ff 75 18             	push   0x18(%ebp)
a6ea8f:	ff 75 14             	push   0x14(%ebp)
a6ea92:	52                   	push   %edx
a6ea93:	ff 75 0c             	push   0xc(%ebp)
a6ea96:	50                   	push   %eax
a6ea97:	e8 2a d5 9b ff       	call   0x42bfc6
a6ea9c:	8b 08                	mov    (%eax),%ecx
a6ea9e:	89 4d 0c             	mov    %ecx,0xc(%ebp)
a6eaa1:	8b 40 04             	mov    0x4(%eax),%eax
a6eaa4:	89 45 10             	mov    %eax,0x10(%ebp)
a6eaa7:	83 fe 04             	cmp    $0x4,%esi
a6eaaa:	75 7e                	jne    0xa6eb2a
a6eaac:	c7 45 ec 03 00 00 00 	movl   $0x3,-0x14(%ebp)
a6eab3:	eb 75                	jmp    0xa6eb2a
a6eab5:	83 fe 01             	cmp    $0x1,%esi
a6eab8:	74 28                	je     0xa6eae2
a6eaba:	83 fe 03             	cmp    $0x3,%esi
a6eabd:	74 23                	je     0xa6eae2
a6eabf:	8b 45 24             	mov    0x24(%ebp),%eax
a6eac2:	53                   	push   %ebx
a6eac3:	83 c0 0c             	add    $0xc,%eax
a6eac6:	50                   	push   %eax
a6eac7:	6a 1f                	push   $0x1f
a6eac9:	6a 01                	push   $0x1
a6eacb:	8d 45 14             	lea    0x14(%ebp),%eax
a6eace:	50                   	push   %eax
a6eacf:	8d 45 0c             	lea    0xc(%ebp),%eax
a6ead2:	50                   	push   %eax
a6ead3:	ff 75 f0             	push   -0x10(%ebp)
a6ead6:	e8 d9 5c 99 ff       	call   0x4047b4
a6eadb:	83 c4 1c             	add    $0x1c,%esp
a6eade:	09 07                	or     %eax,(%edi)
a6eae0:	eb 48                	jmp    0xa6eb2a
a6eae2:	8b 75 24             	mov    0x24(%ebp),%esi
a6eae5:	8d 45 14             	lea    0x14(%ebp),%eax
a6eae8:	53                   	push   %ebx
a6eae9:	83 c6 10             	add    $0x10,%esi
a6eaec:	56                   	push   %esi
a6eaed:	6a 0c                	push   $0xc
a6eaef:	6a 01                	push   $0x1
a6eaf1:	50                   	push   %eax
a6eaf2:	8d 45 0c             	lea    0xc(%ebp),%eax
a6eaf5:	50                   	push   %eax
a6eaf6:	ff 75 f0             	push   -0x10(%ebp)
a6eaf9:	e8 b6 5c 99 ff       	call   0x4047b4
a6eafe:	09 07                	or     %eax,(%edi)
a6eb00:	83 c4 1c             	add    $0x1c,%esp
a6eb03:	ff 0e                	decl   (%esi)
a6eb05:	eb 23                	jmp    0xa6eb2a
a6eb07:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
a6eb0b:	75 08                	jne    0xa6eb15
a6eb0d:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6eb10:	e8 10 3f 9b ff       	call   0x422a25
a6eb15:	0f b6 4d 11          	movzbl 0x11(%ebp),%ecx
a6eb19:	8b 43 0c             	mov    0xc(%ebx),%eax
a6eb1c:	f6 04 48 48          	testb  $0x48,(%eax,%ecx,2)
a6eb20:	74 18                	je     0xa6eb3a
a6eb22:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6eb25:	e8 18 64 9a ff       	call   0x414f42
a6eb2a:	8d 45 14             	lea    0x14(%ebp),%eax
a6eb2d:	50                   	push   %eax
a6eb2e:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6eb31:	e8 03 d6 9a ff       	call   0x41c139
a6eb36:	84 c0                	test   %al,%al
a6eb38:	74 cd                	je     0xa6eb07
a6eb3a:	8d 45 14             	lea    0x14(%ebp),%eax
a6eb3d:	50                   	push   %eax
a6eb3e:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6eb41:	e8 f3 d5 9a ff       	call   0x41c139
a6eb46:	84 c0                	test   %al,%al
a6eb48:	75 53                	jne    0xa6eb9d
a6eb4a:	38 45 10             	cmp    %al,0x10(%ebp)
a6eb4d:	75 08                	jne    0xa6eb57
a6eb4f:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6eb52:	e8 ce 3e 9b ff       	call   0x422a25
a6eb57:	8b 03                	mov    (%ebx),%eax
a6eb59:	6a 00                	push   $0x0
a6eb5b:	ff 75 11             	push   0x11(%ebp)
a6eb5e:	8b 70 28             	mov    0x28(%eax),%esi
a6eb61:	8b ce                	mov    %esi,%ecx
a6eb63:	e8 fd da 9b ff       	call   0x42c665
a6eb68:	8b cb                	mov    %ebx,%ecx
a6eb6a:	ff d6                	call   *%esi
a6eb6c:	3c 3a                	cmp    $0x3a,%al
a6eb6e:	74 25                	je     0xa6eb95
a6eb70:	3c 2c                	cmp    $0x2c,%al
a6eb72:	74 21                	je     0xa6eb95
a6eb74:	3c 2f                	cmp    $0x2f,%al
a6eb76:	75 25                	jne    0xa6eb9d
a6eb78:	eb 1b                	jmp    0xa6eb95
a6eb7a:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
a6eb7e:	75 08                	jne    0xa6eb88
a6eb80:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6eb83:	e8 9d 3e 9b ff       	call   0x422a25
a6eb88:	0f b6 4d 11          	movzbl 0x11(%ebp),%ecx
a6eb8c:	8b 43 0c             	mov    0xc(%ebx),%eax
a6eb8f:	f6 04 48 48          	testb  $0x48,(%eax,%ecx,2)
a6eb93:	74 18                	je     0xa6ebad
a6eb95:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6eb98:	e8 a5 63 9a ff       	call   0x414f42
a6eb9d:	8d 45 14             	lea    0x14(%ebp),%eax
a6eba0:	50                   	push   %eax
a6eba1:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6eba4:	e8 90 d5 9a ff       	call   0x41c139
a6eba9:	84 c0                	test   %al,%al
a6ebab:	74 cd                	je     0xa6eb7a
a6ebad:	8d 45 14             	lea    0x14(%ebp),%eax
a6ebb0:	50                   	push   %eax
a6ebb1:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6ebb4:	e8 80 d5 9a ff       	call   0x41c139
a6ebb9:	84 c0                	test   %al,%al
a6ebbb:	74 08                	je     0xa6ebc5
a6ebbd:	83 0f 02             	orl    $0x2,(%edi)
a6ebc0:	e9 c6 00 00 00       	jmp    0xa6ec8b
a6ebc5:	8b 55 10             	mov    0x10(%ebp),%edx
a6ebc8:	84 d2                	test   %dl,%dl
a6ebca:	75 0b                	jne    0xa6ebd7
a6ebcc:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6ebcf:	e8 51 3e 9b ff       	call   0x422a25
a6ebd4:	8b 55 10             	mov    0x10(%ebp),%edx
a6ebd7:	0f b6 4d 11          	movzbl 0x11(%ebp),%ecx
a6ebdb:	8b 43 0c             	mov    0xc(%ebx),%eax
a6ebde:	0f bf 04 48          	movswl (%eax,%ecx,2),%eax
a6ebe2:	c1 e8 02             	shr    $0x2,%eax
a6ebe5:	a8 01                	test   $0x1,%al
a6ebe7:	75 25                	jne    0xa6ec0e
a6ebe9:	83 7d ec 04          	cmpl   $0x4,-0x14(%ebp)
a6ebed:	75 ce                	jne    0xa6ebbd
a6ebef:	ff 75 24             	push   0x24(%ebp)
a6ebf2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
a6ebf5:	8d 45 d8             	lea    -0x28(%ebp),%eax
a6ebf8:	57                   	push   %edi
a6ebf9:	ff 75 1c             	push   0x1c(%ebp)
a6ebfc:	ff 75 18             	push   0x18(%ebp)
a6ebff:	ff 75 14             	push   0x14(%ebp)
a6ec02:	52                   	push   %edx
a6ec03:	ff 75 0c             	push   0xc(%ebp)
a6ec06:	50                   	push   %eax
a6ec07:	e8 ba d3 9b ff       	call   0x42bfc6
a6ec0c:	eb 72                	jmp    0xa6ec80
a6ec0e:	8b 45 ec             	mov    -0x14(%ebp),%eax
a6ec11:	83 f8 04             	cmp    $0x4,%eax
a6ec14:	75 25                	jne    0xa6ec3b
a6ec16:	8b 75 24             	mov    0x24(%ebp),%esi
a6ec19:	8d 45 14             	lea    0x14(%ebp),%eax
a6ec1c:	53                   	push   %ebx
a6ec1d:	83 c6 10             	add    $0x10,%esi
a6ec20:	56                   	push   %esi
a6ec21:	6a 0c                	push   $0xc
a6ec23:	6a 01                	push   $0x1
a6ec25:	50                   	push   %eax
a6ec26:	8d 45 0c             	lea    0xc(%ebp),%eax
a6ec29:	50                   	push   %eax
a6ec2a:	ff 75 f0             	push   -0x10(%ebp)
a6ec2d:	e8 82 5b 99 ff       	call   0x4047b4
a6ec32:	09 07                	or     %eax,(%edi)
a6ec34:	83 c4 1c             	add    $0x1c,%esp
a6ec37:	ff 0e                	decl   (%esi)
a6ec39:	eb 50                	jmp    0xa6ec8b
a6ec3b:	83 f8 03             	cmp    $0x3,%eax
a6ec3e:	75 23                	jne    0xa6ec63
a6ec40:	8b 45 24             	mov    0x24(%ebp),%eax
a6ec43:	53                   	push   %ebx
a6ec44:	83 c0 0c             	add    $0xc,%eax
a6ec47:	50                   	push   %eax
a6ec48:	6a 1f                	push   $0x1f
a6ec4a:	6a 01                	push   $0x1
a6ec4c:	8d 45 14             	lea    0x14(%ebp),%eax
a6ec4f:	50                   	push   %eax
a6ec50:	8d 45 0c             	lea    0xc(%ebp),%eax
a6ec53:	50                   	push   %eax
a6ec54:	ff 75 f0             	push   -0x10(%ebp)
a6ec57:	e8 58 5b 99 ff       	call   0x4047b4
a6ec5c:	83 c4 1c             	add    $0x1c,%esp
a6ec5f:	09 07                	or     %eax,(%edi)
a6ec61:	eb 28                	jmp    0xa6ec8b
a6ec63:	ff 75 24             	push   0x24(%ebp)
a6ec66:	8b 4d f0             	mov    -0x10(%ebp),%ecx
a6ec69:	8d 45 d0             	lea    -0x30(%ebp),%eax
a6ec6c:	57                   	push   %edi
a6ec6d:	ff 75 1c             	push   0x1c(%ebp)
a6ec70:	ff 75 18             	push   0x18(%ebp)
a6ec73:	ff 75 14             	push   0x14(%ebp)
a6ec76:	52                   	push   %edx
a6ec77:	ff 75 0c             	push   0xc(%ebp)
a6ec7a:	50                   	push   %eax
a6ec7b:	e8 6c 80 9b ff       	call   0x426cec
a6ec80:	8b 08                	mov    (%eax),%ecx
a6ec82:	89 4d 0c             	mov    %ecx,0xc(%ebp)