42de98:	0f b6 c1             	movzbl %cl,%eax
42de9b:	0f be 80 b0 52 45 00 	movsbl 0x4552b0(%eax),%eax
42dea2:	85 c0                	test   %eax,%eax
42dea4:	75 10                	jne    0x42deb6
42dea6:	e8 85 5b ff ff       	call   0x423a30
42deab:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
42deb1:	e9 88 00 00 00       	jmp    0x42df3e
42deb6:	40                   	inc    %eax
42deb7:	3b c2                	cmp    %edx,%eax
42deb9:	75 04                	jne    0x42debf
42debb:	03 f2                	add    %edx,%esi
42debd:	eb 53                	jmp    0x42df12
42debf:	8b 45 f8             	mov    -0x8(%ebp),%eax
42dec2:	f6 44 38 28 48       	testb  $0x48,0x28(%eax,%edi,1)
42dec7:	74 35                	je     0x42defe
42dec9:	46                   	inc    %esi
42deca:	88 4c 38 2a          	mov    %cl,0x2a(%eax,%edi,1)
42dece:	83 fa 02             	cmp    $0x2,%edx
42ded1:	72 11                	jb     0x42dee4
42ded3:	8b 45 fc             	mov    -0x4(%ebp),%eax
42ded6:	8a 0e                	mov    (%esi),%cl
42ded8:	46                   	inc    %esi
42ded9:	8b 04 85 c0 6d 45 00 	mov    0x456dc0(,%eax,4),%eax
42dee0:	88 4c 07 2b          	mov    %cl,0x2b(%edi,%eax,1)
42dee4:	83 fa 03             	cmp    $0x3,%edx
42dee7:	75 11                	jne    0x42defa
42dee9:	8b 45 fc             	mov    -0x4(%ebp),%eax
42deec:	8a 0e                	mov    (%esi),%cl
42deee:	46                   	inc    %esi
42deef:	8b 04 85 c0 6d 45 00 	mov    0x456dc0(,%eax,4),%eax
42def6:	88 4c 07 2c          	mov    %cl,0x2c(%edi,%eax,1)
42defa:	2b f2                	sub    %edx,%esi
42defc:	eb 14                	jmp    0x42df12
42defe:	f7 da                	neg    %edx
42df00:	8b c2                	mov    %edx,%eax
42df02:	6a 01                	push   $0x1
42df04:	99                   	cltd
42df05:	52                   	push   %edx
42df06:	50                   	push   %eax
42df07:	ff 75 08             	push   0x8(%ebp)
42df0a:	e8 01 06 00 00       	call   0x42e510
42df0f:	83 c4 10             	add    $0x10,%esp
42df12:	ff 75 18             	push   0x18(%ebp)
42df15:	2b f3                	sub    %ebx,%esi
42df17:	ff 75 14             	push   0x14(%ebp)
42df1a:	56                   	push   %esi
42df1b:	53                   	push   %ebx
42df1c:	6a 00                	push   $0x0
42df1e:	68 e9 fd 00 00       	push   $0xfde9
42df23:	e8 e8 3d 00 00       	call   0x431d10
42df28:	8b d8                	mov    %eax,%ebx
42df2a:	83 c4 18             	add    $0x18,%esp
42df2d:	85 db                	test   %ebx,%ebx
42df2f:	75 12                	jne    0x42df43
42df31:	ff 15 6c e0 43 00    	call   *0x43e06c
42df37:	50                   	push   %eax
42df38:	e8 99 5a ff ff       	call   0x4239d6
42df3d:	59                   	pop    %ecx
42df3e:	83 c8 ff             	or     $0xffffffff,%eax
42df41:	eb 23                	jmp    0x42df66
42df43:	8b 45 fc             	mov    -0x4(%ebp),%eax
42df46:	3b de                	cmp    %esi,%ebx
42df48:	0f 94 c1             	sete   %cl
42df4b:	fe c9                	dec    %cl
42df4d:	8b 14 85 c0 6d 45 00 	mov    0x456dc0(,%eax,4),%edx
42df54:	80 e1 02             	and    $0x2,%cl
42df57:	8a 44 17 2d          	mov    0x2d(%edi,%edx,1),%al
42df5b:	24 fd                	and    $0xfd,%al
42df5d:	0a c8                	or     %al,%cl
42df5f:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
42df62:	88 4c 17 2d          	mov    %cl,0x2d(%edi,%edx,1)
42df66:	5e                   	pop    %esi
42df67:	5f                   	pop    %edi
42df68:	5b                   	pop    %ebx
42df69:	c9                   	leave
42df6a:	c3                   	ret
42df6b:	8b ff                	mov    %edi,%edi
42df6d:	55                   	push   %ebp
42df6e:	8b ec                	mov    %esp,%ebp
42df70:	51                   	push   %ecx
42df71:	8b 45 10             	mov    0x10(%ebp),%eax
42df74:	56                   	push   %esi
42df75:	57                   	push   %edi
42df76:	8b 7d 0c             	mov    0xc(%ebp),%edi
42df79:	8b cf                	mov    %edi,%ecx
42df7b:	8b f7                	mov    %edi,%esi
42df7d:	8d 14 47             	lea    (%edi,%eax,2),%edx
42df80:	3b fa                	cmp    %edx,%edi
42df82:	73 5a                	jae    0x42dfde
42df84:	53                   	push   %ebx
42df85:	0f b7 01             	movzwl (%ecx),%eax
42df88:	83 f8 1a             	cmp    $0x1a,%eax
42df8b:	74 36                	je     0x42dfc3
42df8d:	83 f8 0d             	cmp    $0xd,%eax
42df90:	75 15                	jne    0x42dfa7
42df92:	8d 59 02             	lea    0x2(%ecx),%ebx
42df95:	3b da                	cmp    %edx,%ebx
42df97:	73 0e                	jae    0x42dfa7
42df99:	6a 0a                	push   $0xa
42df9b:	5f                   	pop    %edi
42df9c:	66 39 3b             	cmp    %di,(%ebx)
42df9f:	75 06                	jne    0x42dfa7
42dfa1:	8b c7                	mov    %edi,%eax
42dfa3:	6a 04                	push   $0x4
42dfa5:	eb 02                	jmp    0x42dfa9
42dfa7:	6a 02                	push   $0x2
42dfa9:	8d 7e 02             	lea    0x2(%esi),%edi
42dfac:	66 89 06             	mov    %ax,(%esi)
42dfaf:	5b                   	pop    %ebx
42dfb0:	89 7d fc             	mov    %edi,-0x4(%ebp)
42dfb3:	03 cb                	add    %ebx,%ecx
42dfb5:	8b 45 fc             	mov    -0x4(%ebp),%eax
42dfb8:	8b f0                	mov    %eax,%esi
42dfba:	8b 7d 0c             	mov    0xc(%ebp),%edi
42dfbd:	3b ca                	cmp    %edx,%ecx
42dfbf:	72 c4                	jb     0x42df85
42dfc1:	eb 1a                	jmp    0x42dfdd
42dfc3:	8b 45 08             	mov    0x8(%ebp),%eax
42dfc6:	8b c8                	mov    %eax,%ecx
42dfc8:	83 e0 3f             	and    $0x3f,%eax
42dfcb:	c1 f9 06             	sar    $0x6,%ecx
42dfce:	6b d0 38             	imul   $0x38,%eax,%edx
42dfd1:	8b 0c 8d c0 6d 45 00 	mov    0x456dc0(,%ecx,4),%ecx
42dfd8:	80 4c 11 28 02       	orb    $0x2,0x28(%ecx,%edx,1)
42dfdd:	5b                   	pop    %ebx
42dfde:	2b f7                	sub    %edi,%esi
42dfe0:	83 e6 fe             	and    $0xfffffffe,%esi
42dfe3:	5f                   	pop    %edi
42dfe4:	8b c6                	mov    %esi,%eax
42dfe6:	5e                   	pop    %esi
42dfe7:	c9                   	leave
42dfe8:	c3                   	ret
42dfe9:	6a 14                	push   $0x14
42dfeb:	68 f0 32 45 00       	push   $0x4532f0
42dff0:	e8 1b c9 fe ff       	call   0x41a910
42dff5:	8b 75 08             	mov    0x8(%ebp),%esi
42dff8:	83 fe fe             	cmp    $0xfffffffe,%esi
42dffb:	75 1b                	jne    0x42e018
42dffd:	e8 1b 5a ff ff       	call   0x423a1d
42e002:	83 20 00             	andl   $0x0,(%eax)
42e005:	e8 26 5a ff ff       	call   0x423a30
42e00a:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42e010:	83 c8 ff             	or     $0xffffffff,%eax
42e013:	e9 cc 00 00 00       	jmp    0x42e0e4
42e018:	85 f6                	test   %esi,%esi
42e01a:	78 0d                	js     0x42e029
42e01c:	3b 35 c0 6f 45 00    	cmp    0x456fc0,%esi
42e022:	73 05                	jae    0x42e029
42e024:	33 c0                	xor    %eax,%eax
42e026:	40                   	inc    %eax
42e027:	eb 02                	jmp    0x42e02b
42e029:	33 c0                	xor    %eax,%eax
42e02b:	85 c0                	test   %eax,%eax
42e02d:	75 1a                	jne    0x42e049
42e02f:	e8 e9 59 ff ff       	call   0x423a1d
42e034:	83 20 00             	andl   $0x0,(%eax)
42e037:	e8 f4 59 ff ff       	call   0x423a30
42e03c:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42e042:	e8 3c 19 ff ff       	call   0x41f983
42e047:	eb c7                	jmp    0x42e010
42e049:	8b ce                	mov    %esi,%ecx
42e04b:	c1 f9 06             	sar    $0x6,%ecx
42e04e:	89 4d e0             	mov    %ecx,-0x20(%ebp)
42e051:	8b c6                	mov    %esi,%eax
42e053:	83 e0 3f             	and    $0x3f,%eax
42e056:	6b d0 38             	imul   $0x38,%eax,%edx
42e059:	89 55 dc             	mov    %edx,-0x24(%ebp)
42e05c:	8b 04 8d c0 6d 45 00 	mov    0x456dc0(,%ecx,4),%eax
42e063:	f6 44 10 28 01       	testb  $0x1,0x28(%eax,%edx,1)
42e068:	74 c5                	je     0x42e02f
42e06a:	81 7d 10 ff ff ff 7f 	cmpl   $0x7fffffff,0x10(%ebp)
42e071:	76 15                	jbe    0x42e088
42e073:	e8 a5 59 ff ff       	call   0x423a1d
42e078:	83 20 00             	andl   $0x0,(%eax)
42e07b:	e8 b0 59 ff ff       	call   0x423a30
42e080:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42e086:	eb ba                	jmp    0x42e042
42e088:	56                   	push   %esi
42e089:	e8 57 50 00 00       	call   0x4330e5
42e08e:	59                   	pop    %ecx
42e08f:	83 cb ff             	or     $0xffffffff,%ebx
42e092:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
42e095:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42e099:	8b 45 e0             	mov    -0x20(%ebp),%eax
42e09c:	8b 04 85 c0 6d 45 00 	mov    0x456dc0(,%eax,4),%eax
42e0a3:	8b 4d dc             	mov    -0x24(%ebp),%ecx
42e0a6:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
42e0ab:	75 15                	jne    0x42e0c2
42e0ad:	e8 7e 59 ff ff       	call   0x423a30
42e0b2:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42e0b8:	e8 60 59 ff ff       	call   0x423a1d
42e0bd:	83 20 00             	andl   $0x0,(%eax)
42e0c0:	eb 14                	jmp    0x42e0d6
42e0c2:	ff 75 10             	push   0x10(%ebp)
42e0c5:	ff 75 0c             	push   0xc(%ebp)
42e0c8:	56                   	push   %esi
42e0c9:	e8 34 00 00 00       	call   0x42e102
42e0ce:	83 c4 0c             	add    $0xc,%esp
42e0d1:	8b d8                	mov    %eax,%ebx
42e0d3:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
42e0d6:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
42e0dd:	e8 18 00 00 00       	call   0x42e0fa
42e0e2:	8b c3                	mov    %ebx,%eax
42e0e4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42e0e7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
42e0ee:	59                   	pop    %ecx
42e0ef:	5f                   	pop    %edi
42e0f0:	5e                   	pop    %esi
42e0f1:	5b                   	pop    %ebx
42e0f2:	c9                   	leave
42e0f3:	c3                   	ret
42e0f4:	8b 75 08             	mov    0x8(%ebp),%esi
42e0f7:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
42e0fa:	56                   	push   %esi
42e0fb:	e8 9a 50 00 00       	call   0x43319a
42e100:	59                   	pop    %ecx
42e101:	c3                   	ret
42e102:	8b ff                	mov    %edi,%edi
42e104:	55                   	push   %ebp
42e105:	8b ec                	mov    %esp,%ebp
42e107:	8b 55 08             	mov    0x8(%ebp),%edx
42e10a:	83 ec 24             	sub    $0x24,%esp
42e10d:	53                   	push   %ebx
42e10e:	57                   	push   %edi
42e10f:	83 fa fe             	cmp    $0xfffffffe,%edx
42e112:	75 18                	jne    0x42e12c
42e114:	e8 04 59 ff ff       	call   0x423a1d
42e119:	83 20 00             	andl   $0x0,(%eax)
42e11c:	e8 0f 59 ff ff       	call   0x423a30
42e121:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42e127:	e9 5a 03 00 00       	jmp    0x42e486
42e12c:	85 d2                	test   %edx,%edx
42e12e:	0f 88 3a 03 00 00    	js     0x42e46e
42e134:	3b 15 c0 6f 45 00    	cmp    0x456fc0,%edx
42e13a:	0f 83 2e 03 00 00    	jae    0x42e46e
42e140:	8b c2                	mov    %edx,%eax
42e142:	8b ca                	mov    %edx,%ecx
42e144:	c1 e9 06             	shr    $0x6,%ecx
42e147:	83 e0 3f             	and    $0x3f,%eax
42e14a:	6b f8 38             	imul   $0x38,%eax,%edi
42e14d:	33 db                	xor    %ebx,%ebx
42e14f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
42e152:	43                   	inc    %ebx
42e153:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
42e156:	8b 04 8d c0 6d 45 00 	mov    0x456dc0(,%ecx,4),%eax
42e15d:	89 7d f0             	mov    %edi,-0x10(%ebp)
42e160:	8a 4c 07 28          	mov    0x28(%edi,%eax,1),%cl
42e164:	88 4d ff             	mov    %cl,-0x1(%ebp)
42e167:	84 cb                	test   %cl,%bl
42e169:	0f 84 ff 02 00 00    	je     0x42e46e
42e16f:	8b 4d 10             	mov    0x10(%ebp),%ecx
42e172:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
42e178:	76 18                	jbe    0x42e192
42e17a:	e8 9e 58 ff ff       	call   0x423a1d
42e17f:	83 20 00             	andl   $0x0,(%eax)
42e182:	e8 a9 58 ff ff       	call   0x423a30
42e187:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42e18d:	e9 ef 02 00 00       	jmp    0x42e481
42e192:	85 c9                	test   %ecx,%ecx
42e194:	0f 84 d0 02 00 00    	je     0x42e46a
42e19a:	f6 45 ff 02          	testb  $0x2,-0x1(%ebp)
42e19e:	0f 85 c6 02 00 00    	jne    0x42e46a
42e1a4:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
42e1a8:	74 d0                	je     0x42e17a
42e1aa:	56                   	push   %esi
42e1ab:	8b 74 07 18          	mov    0x18(%edi,%eax,1),%esi
42e1af:	8a 44 07 29          	mov    0x29(%edi,%eax,1),%al
42e1b3:	88 45 ff             	mov    %al,-0x1(%ebp)
42e1b6:	89 75 ec             	mov    %esi,-0x14(%ebp)
42e1b9:	33 f6                	xor    %esi,%esi
42e1bb:	0f be c0             	movsbl %al,%eax
42e1be:	83 e8 01             	sub    $0x1,%eax
42e1c1:	74 33                	je     0x42e1f6
42e1c3:	83 e8 01             	sub    $0x1,%eax
42e1c6:	75 24                	jne    0x42e1ec
42e1c8:	8b c1                	mov    %ecx,%eax
42e1ca:	f7 d0                	not    %eax
42e1cc:	84 c3                	test   %al,%bl
42e1ce:	75 1c                	jne    0x42e1ec
42e1d0:	e8 48 58 ff ff       	call   0x423a1d
42e1d5:	21 30                	and    %esi,(%eax)
42e1d7:	e8 54 58 ff ff       	call   0x423a30
42e1dc:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42e1e2:	e8 9c 17 ff ff       	call   0x41f983
42e1e7:	e9 b5 01 00 00       	jmp    0x42e3a1
42e1ec:	8b d9                	mov    %ecx,%ebx
42e1ee:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42e1f1:	89 4d f4             	mov    %ecx,-0xc(%ebp)
42e1f4:	eb 73                	jmp    0x42e269
42e1f6:	8b c1                	mov    %ecx,%eax
42e1f8:	f7 d0                	not    %eax
42e1fa:	84 c3                	test   %al,%bl
42e1fc:	74 d2                	je     0x42e1d0
42e1fe:	6a 04                	push   $0x4
42e200:	d1 e9                	shr    $1,%ecx
42e202:	5b                   	pop    %ebx
42e203:	3b cb                	cmp    %ebx,%ecx
42e205:	72 02                	jb     0x42e209
42e207:	8b d9                	mov    %ecx,%ebx
42e209:	53                   	push   %ebx
42e20a:	e8 e5 c6 ff ff       	call   0x42a8f4
42e20f:	6a 00                	push   $0x0
42e211:	8b f0                	mov    %eax,%esi
42e213:	e8 a2 c6 ff ff       	call   0x42a8ba
42e218:	6a 00                	push   $0x0
42e21a:	e8 9b c6 ff ff       	call   0x42a8ba
42e21f:	83 c4 0c             	add    $0xc,%esp
42e222:	89 75 f4             	mov    %esi,-0xc(%ebp)
42e225:	85 f6                	test   %esi,%esi
42e227:	75 1b                	jne    0x42e244
42e229:	e8 02 58 ff ff       	call   0x423a30
42e22e:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
42e234:	e8 e4 57 ff ff       	call   0x423a1d
42e239:	c7 00 08 00 00 00    	movl   $0x8,(%eax)
42e23f:	e9 5d 01 00 00       	jmp    0x42e3a1
42e244:	6a 01                	push   $0x1
42e246:	6a 00                	push   $0x0
42e248:	6a 00                	push   $0x0
42e24a:	ff 75 08             	push   0x8(%ebp)
42e24d:	e8 be 02 00 00       	call   0x42e510
42e252:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42e255:	83 c4 10             	add    $0x10,%esp
42e258:	8b 0c 8d c0 6d 45 00 	mov    0x456dc0(,%ecx,4),%ecx
42e25f:	89 44 0f 20          	mov    %eax,0x20(%edi,%ecx,1)
42e263:	89 54 0f 24          	mov    %edx,0x24(%edi,%ecx,1)
42e267:	8b ce                	mov    %esi,%ecx
42e269:	8b 45 f8             	mov    -0x8(%ebp),%eax
42e26c:	33 ff                	xor    %edi,%edi
42e26e:	89 4d e0             	mov    %ecx,-0x20(%ebp)
42e271:	8b 04 85 c0 6d 45 00 	mov    0x456dc0(,%eax,4),%eax
42e278:	89 45 e8             	mov    %eax,-0x18(%ebp)
42e27b:	8b d0                	mov    %eax,%edx
42e27d:	8b 45 f0             	mov    -0x10(%ebp),%eax
42e280:	f6 44 10 28 48       	testb  $0x48,0x28(%eax,%edx,1)
42e285:	8b 55 08             	mov    0x8(%ebp),%edx
42e288:	0f 84 b6 00 00 00    	je     0x42e344
42e28e:	8b 4d e8             	mov    -0x18(%ebp),%ecx
42e291:	8a 44 08 2a          	mov    0x2a(%eax,%ecx,1),%al
42e295:	8b 4d f4             	mov    -0xc(%ebp),%ecx
42e298:	3c 0a                	cmp    $0xa,%al
42e29a:	0f 84 a4 00 00 00    	je     0x42e344
42e2a0:	85 db                	test   %ebx,%ebx
42e2a2:	0f 84 9c 00 00 00    	je     0x42e344
42e2a8:	8b 55 f0             	mov    -0x10(%ebp),%edx
42e2ab:	47                   	inc    %edi
42e2ac:	88 01                	mov    %al,(%ecx)
42e2ae:	41                   	inc    %ecx
42e2af:	8b 45 f8             	mov    -0x8(%ebp),%eax
42e2b2:	4b                   	dec    %ebx
42e2b3:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)