423ea2:	55                   	push   %ebp
423ea3:	8b ec                	mov    %esp,%ebp
423ea5:	6a fe                	push   $0xfffffffe
423ea7:	68 30 da 42 00       	push   $0x42da30
423eac:	68 f0 f5 41 00       	push   $0x41f5f0
423eb1:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
423eb7:	50                   	push   %eax
423eb8:	83 ec 08             	sub    $0x8,%esp
423ebb:	53                   	push   %ebx
423ebc:	56                   	push   %esi
423ebd:	57                   	push   %edi
423ebe:	a1 98 f2 42 00       	mov    0x42f298,%eax
423ec3:	31 45 f8             	xor    %eax,-0x8(%ebp)
423ec6:	33 c5                	xor    %ebp,%eax
423ec8:	50                   	push   %eax
423ec9:	8d 45 f0             	lea    -0x10(%ebp),%eax
423ecc:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
423ed2:	89 65 e8             	mov    %esp,-0x18(%ebp)
423ed5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
423edc:	68 00 00 40 00       	push   $0x400000
423ee1:	e8 2a ff ff ff       	call   0x423e10
423ee6:	83 c4 04             	add    $0x4,%esp
423ee9:	85 c0                	test   %eax,%eax
423eeb:	74 55                	je     0x423f42
423eed:	8b 45 08             	mov    0x8(%ebp),%eax
423ef0:	2d 00 00 40 00       	sub    $0x400000,%eax
423ef5:	50                   	push   %eax
423ef6:	68 00 00 40 00       	push   $0x400000
423efb:	e8 50 ff ff ff       	call   0x423e50
423f00:	83 c4 08             	add    $0x8,%esp
423f03:	85 c0                	test   %eax,%eax
423f05:	74 3b                	je     0x423f42
423f07:	8b 40 24             	mov    0x24(%eax),%eax
423f0a:	c1 e8 1f             	shr    $0x1f,%eax
423f0d:	f7 d0                	not    %eax
423f0f:	83 e0 01             	and    $0x1,%eax
423f12:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
423f19:	8b 4d f0             	mov    -0x10(%ebp),%ecx
423f1c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
423f23:	59                   	pop    %ecx
423f24:	5f                   	pop    %edi
423f25:	5e                   	pop    %esi
423f26:	5b                   	pop    %ebx
423f27:	8b e5                	mov    %ebp,%esp
423f29:	5d                   	pop    %ebp
423f2a:	c3                   	ret
423f2b:	8b 45 ec             	mov    -0x14(%ebp),%eax
423f2e:	8b 08                	mov    (%eax),%ecx
423f30:	8b 01                	mov    (%ecx),%eax
423f32:	33 d2                	xor    %edx,%edx
423f34:	3d 05 00 00 c0       	cmp    $0xc0000005,%eax
423f39:	0f 94 c2             	sete   %dl
423f3c:	8b c2                	mov    %edx,%eax
423f3e:	c3                   	ret
423f3f:	8b 65 e8             	mov    -0x18(%ebp),%esp
423f42:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
423f49:	33 c0                	xor    %eax,%eax
423f4b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
423f4e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
423f55:	59                   	pop    %ecx
423f56:	5f                   	pop    %edi
423f57:	5e                   	pop    %esi
423f58:	5b                   	pop    %ebx
423f59:	8b e5                	mov    %ebp,%esp
423f5b:	5d                   	pop    %ebp
423f5c:	c3                   	ret
423f5d:	8b ff                	mov    %edi,%edi
423f5f:	55                   	push   %ebp
423f60:	8b ec                	mov    %esp,%ebp
423f62:	51                   	push   %ecx
423f63:	51                   	push   %ecx
423f64:	8b 45 0c             	mov    0xc(%ebp),%eax
423f67:	56                   	push   %esi
423f68:	8b 75 08             	mov    0x8(%ebp),%esi
423f6b:	89 45 f8             	mov    %eax,-0x8(%ebp)
423f6e:	8b 45 10             	mov    0x10(%ebp),%eax
423f71:	57                   	push   %edi
423f72:	56                   	push   %esi
423f73:	89 45 fc             	mov    %eax,-0x4(%ebp)
423f76:	e8 54 24 00 00       	call   0x4263cf
423f7b:	83 cf ff             	or     $0xffffffff,%edi
423f7e:	59                   	pop    %ecx
423f7f:	3b c7                	cmp    %edi,%eax
423f81:	75 11                	jne    0x423f94
423f83:	e8 16 a9 ff ff       	call   0x41e89e
423f88:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
423f8e:	8b c7                	mov    %edi,%eax
423f90:	8b d7                	mov    %edi,%edx
423f92:	eb 4a                	jmp    0x423fde
423f94:	ff 75 14             	push   0x14(%ebp)
423f97:	8d 4d fc             	lea    -0x4(%ebp),%ecx
423f9a:	51                   	push   %ecx
423f9b:	ff 75 f8             	push   -0x8(%ebp)
423f9e:	50                   	push   %eax
423f9f:	ff 15 e4 a1 42 00    	call   *0x42a1e4
423fa5:	89 45 f8             	mov    %eax,-0x8(%ebp)
423fa8:	3b c7                	cmp    %edi,%eax
423faa:	75 13                	jne    0x423fbf
423fac:	ff 15 24 a2 42 00    	call   *0x42a224
423fb2:	85 c0                	test   %eax,%eax
423fb4:	74 09                	je     0x423fbf
423fb6:	50                   	push   %eax
423fb7:	e8 08 a9 ff ff       	call   0x41e8c4
423fbc:	59                   	pop    %ecx
423fbd:	eb cf                	jmp    0x423f8e
423fbf:	8b c6                	mov    %esi,%eax
423fc1:	c1 f8 05             	sar    $0x5,%eax
423fc4:	8b 04 85 a0 f7 44 00 	mov    0x44f7a0(,%eax,4),%eax
423fcb:	83 e6 1f             	and    $0x1f,%esi
423fce:	c1 e6 06             	shl    $0x6,%esi
423fd1:	8d 44 30 04          	lea    0x4(%eax,%esi,1),%eax
423fd5:	80 20 fd             	andb   $0xfd,(%eax)
423fd8:	8b 45 f8             	mov    -0x8(%ebp),%eax
423fdb:	8b 55 fc             	mov    -0x4(%ebp),%edx
423fde:	5f                   	pop    %edi
423fdf:	5e                   	pop    %esi
423fe0:	c9                   	leave
423fe1:	c3                   	ret
423fe2:	6a 14                	push   $0x14
423fe4:	68 50 da 42 00       	push   $0x42da50
423fe9:	e8 9e b5 ff ff       	call   0x41f58c
423fee:	83 ce ff             	or     $0xffffffff,%esi
423ff1:	89 75 dc             	mov    %esi,-0x24(%ebp)
423ff4:	89 75 e0             	mov    %esi,-0x20(%ebp)
423ff7:	8b 45 08             	mov    0x8(%ebp),%eax
423ffa:	83 f8 fe             	cmp    $0xfffffffe,%eax
423ffd:	75 1c                	jne    0x42401b
423fff:	e8 ad a8 ff ff       	call   0x41e8b1
424004:	83 20 00             	andl   $0x0,(%eax)
424007:	e8 92 a8 ff ff       	call   0x41e89e
42400c:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
424012:	8b c6                	mov    %esi,%eax
424014:	8b d6                	mov    %esi,%edx
424016:	e9 d0 00 00 00       	jmp    0x4240eb
42401b:	33 ff                	xor    %edi,%edi
42401d:	3b c7                	cmp    %edi,%eax
42401f:	7c 08                	jl     0x424029
424021:	3b 05 98 f7 44 00    	cmp    0x44f798,%eax
424027:	72 21                	jb     0x42404a
424029:	e8 83 a8 ff ff       	call   0x41e8b1
42402e:	89 38                	mov    %edi,(%eax)
424030:	e8 69 a8 ff ff       	call   0x41e89e
424035:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42403b:	57                   	push   %edi
42403c:	57                   	push   %edi
42403d:	57                   	push   %edi
42403e:	57                   	push   %edi
42403f:	57                   	push   %edi
424040:	e8 ae bb ff ff       	call   0x41fbf3
424045:	83 c4 14             	add    $0x14,%esp
424048:	eb c8                	jmp    0x424012
42404a:	8b c8                	mov    %eax,%ecx
42404c:	c1 f9 05             	sar    $0x5,%ecx
42404f:	8d 1c 8d a0 f7 44 00 	lea    0x44f7a0(,%ecx,4),%ebx
424056:	8b f0                	mov    %eax,%esi
424058:	83 e6 1f             	and    $0x1f,%esi
42405b:	c1 e6 06             	shl    $0x6,%esi
42405e:	8b 0b                	mov    (%ebx),%ecx
424060:	0f be 4c 31 04       	movsbl 0x4(%ecx,%esi,1),%ecx
424065:	83 e1 01             	and    $0x1,%ecx
424068:	75 26                	jne    0x424090
42406a:	e8 42 a8 ff ff       	call   0x41e8b1
42406f:	89 38                	mov    %edi,(%eax)
424071:	e8 28 a8 ff ff       	call   0x41e89e
424076:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42407c:	57                   	push   %edi
42407d:	57                   	push   %edi
42407e:	57                   	push   %edi
42407f:	57                   	push   %edi
424080:	57                   	push   %edi
424081:	e8 6d bb ff ff       	call   0x41fbf3
424086:	83 c4 14             	add    $0x14,%esp
424089:	83 ca ff             	or     $0xffffffff,%edx
42408c:	8b c2                	mov    %edx,%eax
42408e:	eb 5b                	jmp    0x4240eb
424090:	50                   	push   %eax
424091:	e8 b0 23 00 00       	call   0x426446
424096:	59                   	pop    %ecx
424097:	89 7d fc             	mov    %edi,-0x4(%ebp)
42409a:	8b 03                	mov    (%ebx),%eax
42409c:	f6 44 30 04 01       	testb  $0x1,0x4(%eax,%esi,1)
4240a1:	74 1c                	je     0x4240bf
4240a3:	ff 75 14             	push   0x14(%ebp)
4240a6:	ff 75 10             	push   0x10(%ebp)
4240a9:	ff 75 0c             	push   0xc(%ebp)
4240ac:	ff 75 08             	push   0x8(%ebp)
4240af:	e8 a9 fe ff ff       	call   0x423f5d
4240b4:	83 c4 10             	add    $0x10,%esp
4240b7:	89 45 dc             	mov    %eax,-0x24(%ebp)
4240ba:	89 55 e0             	mov    %edx,-0x20(%ebp)
4240bd:	eb 1a                	jmp    0x4240d9
4240bf:	e8 da a7 ff ff       	call   0x41e89e
4240c4:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4240ca:	e8 e2 a7 ff ff       	call   0x41e8b1
4240cf:	89 38                	mov    %edi,(%eax)
4240d1:	83 4d dc ff          	orl    $0xffffffff,-0x24(%ebp)
4240d5:	83 4d e0 ff          	orl    $0xffffffff,-0x20(%ebp)
4240d9:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4240e0:	e8 0c 00 00 00       	call   0x4240f1
4240e5:	8b 45 dc             	mov    -0x24(%ebp),%eax
4240e8:	8b 55 e0             	mov    -0x20(%ebp),%edx
4240eb:	e8 e1 b4 ff ff       	call   0x41f5d1
4240f0:	c3                   	ret
4240f1:	ff 75 08             	push   0x8(%ebp)
4240f4:	e8 ed 23 00 00       	call   0x4264e6
4240f9:	59                   	pop    %ecx
4240fa:	c3                   	ret
4240fb:	8b ff                	mov    %edi,%edi
4240fd:	55                   	push   %ebp
4240fe:	8b ec                	mov    %esp,%ebp
424100:	b8 e4 1a 00 00       	mov    $0x1ae4,%eax
424105:	e8 c6 63 ff ff       	call   0x41a4d0
42410a:	a1 98 f2 42 00       	mov    0x42f298,%eax
42410f:	33 c5                	xor    %ebp,%eax
424111:	89 45 fc             	mov    %eax,-0x4(%ebp)
424114:	8b 45 0c             	mov    0xc(%ebp),%eax
424117:	56                   	push   %esi
424118:	33 f6                	xor    %esi,%esi
42411a:	89 85 34 e5 ff ff    	mov    %eax,-0x1acc(%ebp)
424120:	89 b5 38 e5 ff ff    	mov    %esi,-0x1ac8(%ebp)
424126:	89 b5 30 e5 ff ff    	mov    %esi,-0x1ad0(%ebp)
42412c:	39 75 10             	cmp    %esi,0x10(%ebp)
42412f:	75 07                	jne    0x424138
424131:	33 c0                	xor    %eax,%eax
424133:	e9 e9 06 00 00       	jmp    0x424821
424138:	3b c6                	cmp    %esi,%eax
42413a:	75 27                	jne    0x424163
42413c:	e8 70 a7 ff ff       	call   0x41e8b1
424141:	89 30                	mov    %esi,(%eax)
424143:	e8 56 a7 ff ff       	call   0x41e89e
424148:	56                   	push   %esi
424149:	56                   	push   %esi
42414a:	56                   	push   %esi
42414b:	56                   	push   %esi
42414c:	56                   	push   %esi
42414d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
424153:	e8 9b ba ff ff       	call   0x41fbf3
424158:	83 c4 14             	add    $0x14,%esp
42415b:	83 c8 ff             	or     $0xffffffff,%eax
42415e:	e9 be 06 00 00       	jmp    0x424821
424163:	53                   	push   %ebx
424164:	57                   	push   %edi
424165:	8b 7d 08             	mov    0x8(%ebp),%edi
424168:	8b c7                	mov    %edi,%eax
42416a:	c1 f8 05             	sar    $0x5,%eax
42416d:	8d 34 85 a0 f7 44 00 	lea    0x44f7a0(,%eax,4),%esi
424174:	8b 06                	mov    (%esi),%eax
424176:	83 e7 1f             	and    $0x1f,%edi
424179:	c1 e7 06             	shl    $0x6,%edi
42417c:	03 c7                	add    %edi,%eax
42417e:	8a 58 24             	mov    0x24(%eax),%bl
424181:	02 db                	add    %bl,%bl
424183:	d0 fb                	sar    $1,%bl
424185:	89 b5 28 e5 ff ff    	mov    %esi,-0x1ad8(%ebp)
42418b:	88 9d 27 e5 ff ff    	mov    %bl,-0x1ad9(%ebp)
424191:	80 fb 02             	cmp    $0x2,%bl
424194:	74 05                	je     0x42419b
424196:	80 fb 01             	cmp    $0x1,%bl
424199:	75 30                	jne    0x4241cb
42419b:	8b 4d 10             	mov    0x10(%ebp),%ecx
42419e:	f7 d1                	not    %ecx
4241a0:	f6 c1 01             	test   $0x1,%cl
4241a3:	75 26                	jne    0x4241cb
4241a5:	e8 07 a7 ff ff       	call   0x41e8b1
4241aa:	33 f6                	xor    %esi,%esi
4241ac:	89 30                	mov    %esi,(%eax)
4241ae:	e8 eb a6 ff ff       	call   0x41e89e
4241b3:	56                   	push   %esi
4241b4:	56                   	push   %esi
4241b5:	56                   	push   %esi
4241b6:	56                   	push   %esi
4241b7:	56                   	push   %esi
4241b8:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4241be:	e8 30 ba ff ff       	call   0x41fbf3
4241c3:	83 c4 14             	add    $0x14,%esp
4241c6:	e9 43 06 00 00       	jmp    0x42480e
4241cb:	f6 40 04 20          	testb  $0x20,0x4(%eax)
4241cf:	74 11                	je     0x4241e2
4241d1:	6a 02                	push   $0x2
4241d3:	6a 00                	push   $0x0
4241d5:	6a 00                	push   $0x0
4241d7:	ff 75 08             	push   0x8(%ebp)
4241da:	e8 7e fd ff ff       	call   0x423f5d
4241df:	83 c4 10             	add    $0x10,%esp
4241e2:	ff 75 08             	push   0x8(%ebp)
4241e5:	e8 69 07 00 00       	call   0x424953
4241ea:	59                   	pop    %ecx
4241eb:	85 c0                	test   %eax,%eax
4241ed:	0f 84 9d 02 00 00    	je     0x424490
4241f3:	8b 06                	mov    (%esi),%eax
4241f5:	f6 44 07 04 80       	testb  $0x80,0x4(%edi,%eax,1)
4241fa:	0f 84 90 02 00 00    	je     0x424490
424200:	e8 9f a2 ff ff       	call   0x41e4a4
424205:	8b 40 6c             	mov    0x6c(%eax),%eax
424208:	33 c9                	xor    %ecx,%ecx
42420a:	39 48 14             	cmp    %ecx,0x14(%eax)
42420d:	8d 85 1c e5 ff ff    	lea    -0x1ae4(%ebp),%eax
424213:	0f 94 c1             	sete   %cl
424216:	50                   	push   %eax
424217:	8b 06                	mov    (%esi),%eax
424219:	ff 34 07             	push   (%edi,%eax,1)
42421c:	89 8d 20 e5 ff ff    	mov    %ecx,-0x1ae0(%ebp)
424222:	ff 15 5c a1 42 00    	call   *0x42a15c
424228:	85 c0                	test   %eax,%eax
42422a:	0f 84 60 02 00 00    	je     0x424490
424230:	33 c9                	xor    %ecx,%ecx
424232:	39 8d 20 e5 ff ff    	cmp    %ecx,-0x1ae0(%ebp)
424238:	74 08                	je     0x424242
42423a:	84 db                	test   %bl,%bl
42423c:	0f 84 50 02 00 00    	je     0x424492
424242:	ff 15 60 a1 42 00    	call   *0x42a160
424248:	8b 9d 34 e5 ff ff    	mov    -0x1acc(%ebp),%ebx
42424e:	89 85 1c e5 ff ff    	mov    %eax,-0x1ae4(%ebp)
424254:	33 c0                	xor    %eax,%eax
424256:	89 85 3c e5 ff ff    	mov    %eax,-0x1ac4(%ebp)
42425c:	39 45 10             	cmp    %eax,0x10(%ebp)
42425f:	0f 86 42 05 00 00    	jbe    0x4247a7
424265:	89 85 44 e5 ff ff    	mov    %eax,-0x1abc(%ebp)
42426b:	8a 85 27 e5 ff ff    	mov    -0x1ad9(%ebp),%al
424271:	84 c0                	test   %al,%al
424273:	0f 85 67 01 00 00    	jne    0x4243e0
424279:	8a 0b                	mov    (%ebx),%cl
42427b:	8b b5 28 e5 ff ff    	mov    -0x1ad8(%ebp),%esi
424281:	33 c0                	xor    %eax,%eax
424283:	80 f9 0a             	cmp    $0xa,%cl
424286:	0f 94 c0             	sete   %al
424289:	89 85 20 e5 ff ff    	mov    %eax,-0x1ae0(%ebp)
42428f:	8b 06                	mov    (%esi),%eax
424291:	03 c7                	add    %edi,%eax
424293:	83 78 38 00          	cmpl   $0x0,0x38(%eax)
424297:	74 15                	je     0x4242ae
424299:	8a 50 34             	mov    0x34(%eax),%dl
42429c:	88 55 f4             	mov    %dl,-0xc(%ebp)
42429f:	88 4d f5             	mov    %cl,-0xb(%ebp)
4242a2:	83 60 38 00          	andl   $0x0,0x38(%eax)
4242a6:	6a 02                	push   $0x2
4242a8:	8d 45 f4             	lea    -0xc(%ebp),%eax
4242ab:	50                   	push   %eax
4242ac:	eb 4b                	jmp    0x4242f9
4242ae:	0f be c1             	movsbl %cl,%eax
4242b1:	50                   	push   %eax
4242b2:	e8 fa df ff ff       	call   0x4222b1
4242b7:	59                   	pop    %ecx
4242b8:	85 c0                	test   %eax,%eax
4242ba:	74 3a                	je     0x4242f6
4242bc:	8b 8d 34 e5 ff ff    	mov    -0x1acc(%ebp),%ecx
4242c2:	2b cb                	sub    %ebx,%ecx
4242c4:	03 4d 10             	add    0x10(%ebp),%ecx
4242c7:	33 c0                	xor    %eax,%eax
4242c9:	40                   	inc    %eax