422ea5:	59                   	pop    %ecx
422ea6:	8b f0                	mov    %eax,%esi
422ea8:	89 75 e4             	mov    %esi,-0x1c(%ebp)
422eab:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
422eb2:	e8 0b 00 00 00       	call   0x422ec2
422eb7:	8b c6                	mov    %esi,%eax
422eb9:	e8 c7 5c 00 00       	call   0x428b85
422ebe:	c3                   	ret
422ebf:	8b 75 e4             	mov    -0x1c(%ebp),%esi
422ec2:	e8 99 05 00 00       	call   0x423460
422ec7:	c3                   	ret
422ec8:	55                   	push   %ebp
422ec9:	8b ec                	mov    %esp,%ebp
422ecb:	51                   	push   %ecx
422ecc:	53                   	push   %ebx
422ecd:	56                   	push   %esi
422ece:	8b 35 3c f3 48 00    	mov    0x48f33c,%esi
422ed4:	57                   	push   %edi
422ed5:	ff 35 50 62 4c 00    	push   0x4c6250
422edb:	ff d6                	call   *%esi
422edd:	ff 35 4c 62 4c 00    	push   0x4c624c
422ee3:	89 45 fc             	mov    %eax,-0x4(%ebp)
422ee6:	ff d6                	call   *%esi
422ee8:	8b d8                	mov    %eax,%ebx
422eea:	8b 45 fc             	mov    -0x4(%ebp),%eax
422eed:	3b d8                	cmp    %eax,%ebx
422eef:	0f 82 82 00 00 00    	jb     0x422f77
422ef5:	8b fb                	mov    %ebx,%edi
422ef7:	2b f8                	sub    %eax,%edi
422ef9:	8d 4f 04             	lea    0x4(%edi),%ecx
422efc:	83 f9 04             	cmp    $0x4,%ecx
422eff:	72 76                	jb     0x422f77
422f01:	50                   	push   %eax
422f02:	e8 dd 5a 00 00       	call   0x4289e4
422f07:	8b f0                	mov    %eax,%esi
422f09:	8d 47 04             	lea    0x4(%edi),%eax
422f0c:	59                   	pop    %ecx
422f0d:	3b f0                	cmp    %eax,%esi
422f0f:	73 47                	jae    0x422f58
422f11:	b8 00 08 00 00       	mov    $0x800,%eax
422f16:	3b f0                	cmp    %eax,%esi
422f18:	73 02                	jae    0x422f1c
422f1a:	8b c6                	mov    %esi,%eax
422f1c:	8b 5d fc             	mov    -0x4(%ebp),%ebx
422f1f:	03 c6                	add    %esi,%eax
422f21:	3b c6                	cmp    %esi,%eax
422f23:	72 0d                	jb     0x422f32
422f25:	50                   	push   %eax
422f26:	53                   	push   %ebx
422f27:	e8 78 5b 00 00       	call   0x428aa4
422f2c:	59                   	pop    %ecx
422f2d:	59                   	pop    %ecx
422f2e:	85 c0                	test   %eax,%eax
422f30:	75 14                	jne    0x422f46
422f32:	8d 46 10             	lea    0x10(%esi),%eax
422f35:	3b c6                	cmp    %esi,%eax
422f37:	72 3e                	jb     0x422f77
422f39:	50                   	push   %eax
422f3a:	53                   	push   %ebx
422f3b:	e8 64 5b 00 00       	call   0x428aa4
422f40:	59                   	pop    %ecx
422f41:	59                   	pop    %ecx
422f42:	85 c0                	test   %eax,%eax
422f44:	74 31                	je     0x422f77
422f46:	c1 ff 02             	sar    $0x2,%edi
422f49:	50                   	push   %eax
422f4a:	8d 1c b8             	lea    (%eax,%edi,4),%ebx
422f4d:	ff 15 64 f3 48 00    	call   *0x48f364
422f53:	a3 50 62 4c 00       	mov    %eax,0x4c6250
422f58:	ff 75 08             	push   0x8(%ebp)
422f5b:	ff 15 64 f3 48 00    	call   *0x48f364
422f61:	8d 4b 04             	lea    0x4(%ebx),%ecx
422f64:	89 03                	mov    %eax,(%ebx)
422f66:	51                   	push   %ecx
422f67:	ff 15 64 f3 48 00    	call   *0x48f364
422f6d:	a3 4c 62 4c 00       	mov    %eax,0x4c624c
422f72:	8b 45 08             	mov    0x8(%ebp),%eax
422f75:	eb 02                	jmp    0x422f79
422f77:	33 c0                	xor    %eax,%eax
422f79:	5f                   	pop    %edi
422f7a:	5e                   	pop    %esi
422f7b:	5b                   	pop    %ebx
422f7c:	8b e5                	mov    %ebp,%esp
422f7e:	5d                   	pop    %ebp
422f7f:	c3                   	ret
422f80:	55                   	push   %ebp
422f81:	8b ec                	mov    %esp,%ebp
422f83:	ff 75 08             	push   0x8(%ebp)
422f86:	e8 f9 fe ff ff       	call   0x422e84
422f8b:	f7 d8                	neg    %eax
422f8d:	59                   	pop    %ecx
422f8e:	1b c0                	sbb    %eax,%eax
422f90:	f7 d8                	neg    %eax
422f92:	48                   	dec    %eax
422f93:	5d                   	pop    %ebp
422f94:	c3                   	ret
422f95:	55                   	push   %ebp
422f96:	8b ec                	mov    %esp,%ebp
422f98:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
422f9c:	74 2d                	je     0x422fcb
422f9e:	ff 75 08             	push   0x8(%ebp)
422fa1:	6a 00                	push   $0x0
422fa3:	ff 35 04 42 4c 00    	push   0x4c4204
422fa9:	ff 15 78 f1 48 00    	call   *0x48f178
422faf:	85 c0                	test   %eax,%eax
422fb1:	75 18                	jne    0x422fcb
422fb3:	56                   	push   %esi
422fb4:	e8 af 5d 00 00       	call   0x428d68
422fb9:	8b f0                	mov    %eax,%esi
422fbb:	ff 15 40 f3 48 00    	call   *0x48f340
422fc1:	50                   	push   %eax
422fc2:	e8 b4 5d 00 00       	call   0x428d7b
422fc7:	59                   	pop    %ecx
422fc8:	89 06                	mov    %eax,(%esi)
422fca:	5e                   	pop    %esi
422fcb:	5d                   	pop    %ebp
422fcc:	c3                   	ret
422fcd:	55                   	push   %ebp
422fce:	8b ec                	mov    %esp,%ebp
422fd0:	8b 45 08             	mov    0x8(%ebp),%eax
422fd3:	33 c9                	xor    %ecx,%ecx
422fd5:	8b d0                	mov    %eax,%edx
422fd7:	66 39 08             	cmp    %cx,(%eax)
422fda:	74 08                	je     0x422fe4
422fdc:	83 c2 02             	add    $0x2,%edx
422fdf:	66 39 0a             	cmp    %cx,(%edx)
422fe2:	75 f8                	jne    0x422fdc
422fe4:	56                   	push   %esi
422fe5:	8b 75 0c             	mov    0xc(%ebp),%esi
422fe8:	2b d6                	sub    %esi,%edx
422fea:	0f b7 0e             	movzwl (%esi),%ecx
422fed:	66 89 0c 32          	mov    %cx,(%edx,%esi,1)
422ff1:	8d 76 02             	lea    0x2(%esi),%esi
422ff4:	66 85 c9             	test   %cx,%cx
422ff7:	75 f1                	jne    0x422fea
422ff9:	5e                   	pop    %esi
422ffa:	5d                   	pop    %ebp
422ffb:	c3                   	ret
422ffc:	55                   	push   %ebp
422ffd:	8b ec                	mov    %esp,%ebp
422fff:	8b 45 08             	mov    0x8(%ebp),%eax
423002:	8b 55 0c             	mov    0xc(%ebp),%edx
423005:	56                   	push   %esi
423006:	8b f0                	mov    %eax,%esi
423008:	2b f2                	sub    %edx,%esi
42300a:	0f b7 0a             	movzwl (%edx),%ecx
42300d:	66 89 0c 16          	mov    %cx,(%esi,%edx,1)
423011:	8d 52 02             	lea    0x2(%edx),%edx
423014:	66 85 c9             	test   %cx,%cx
423017:	75 f1                	jne    0x42300a
423019:	5e                   	pop    %esi
42301a:	5d                   	pop    %ebp
42301b:	c3                   	ret
42301c:	cc                   	int3
42301d:	cc                   	int3
42301e:	cc                   	int3
42301f:	cc                   	int3
423020:	8b 54 24 0c          	mov    0xc(%esp),%edx
423024:	8b 4c 24 04          	mov    0x4(%esp),%ecx
423028:	85 d2                	test   %edx,%edx
42302a:	74 7f                	je     0x4230ab
42302c:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
423031:	0f ba 25 fc 41 4c 00 	btl    $0x1,0x4c41fc
423038:	01
423039:	73 0d                	jae    0x423048
42303b:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
42303f:	57                   	push   %edi
423040:	8b 7c 24 08          	mov    0x8(%esp),%edi
423044:	f3 aa                	rep stos %al,%es:(%edi)
423046:	eb 5d                	jmp    0x4230a5
423048:	8b 54 24 0c          	mov    0xc(%esp),%edx
42304c:	81 fa 80 00 00 00    	cmp    $0x80,%edx
423052:	7c 0e                	jl     0x423062
423054:	0f ba 25 24 f3 4b 00 	btl    $0x1,0x4bf324
42305b:	01
42305c:	0f 82 6f 5d 00 00    	jb     0x428dd1
423062:	57                   	push   %edi
423063:	8b f9                	mov    %ecx,%edi
423065:	83 fa 04             	cmp    $0x4,%edx
423068:	72 31                	jb     0x42309b
42306a:	f7 d9                	neg    %ecx
42306c:	83 e1 03             	and    $0x3,%ecx
42306f:	74 0c                	je     0x42307d
423071:	2b d1                	sub    %ecx,%edx
423073:	88 07                	mov    %al,(%edi)
423075:	83 c7 01             	add    $0x1,%edi
423078:	83 e9 01             	sub    $0x1,%ecx
42307b:	75 f6                	jne    0x423073
42307d:	8b c8                	mov    %eax,%ecx
42307f:	c1 e0 08             	shl    $0x8,%eax
423082:	03 c1                	add    %ecx,%eax
423084:	8b c8                	mov    %eax,%ecx
423086:	c1 e0 10             	shl    $0x10,%eax
423089:	03 c1                	add    %ecx,%eax
42308b:	8b ca                	mov    %edx,%ecx
42308d:	83 e2 03             	and    $0x3,%edx
423090:	c1 e9 02             	shr    $0x2,%ecx
423093:	74 06                	je     0x42309b
423095:	f3 ab                	rep stos %eax,%es:(%edi)
423097:	85 d2                	test   %edx,%edx
423099:	74 0a                	je     0x4230a5
42309b:	88 07                	mov    %al,(%edi)
42309d:	83 c7 01             	add    $0x1,%edi
4230a0:	83 ea 01             	sub    $0x1,%edx
4230a3:	75 f6                	jne    0x42309b
4230a5:	8b 44 24 08          	mov    0x8(%esp),%eax
4230a9:	5f                   	pop    %edi
4230aa:	c3                   	ret
4230ab:	8b 44 24 04          	mov    0x4(%esp),%eax
4230af:	c3                   	ret
4230b0:	e9 b7 df ff ff       	jmp    0x42106c
4230b5:	55                   	push   %ebp
4230b6:	8b ec                	mov    %esp,%ebp
4230b8:	56                   	push   %esi
4230b9:	8b f1                	mov    %ecx,%esi
4230bb:	8b 4d 08             	mov    0x8(%ebp),%ecx
4230be:	c6 46 0c 00          	movb   $0x0,0xc(%esi)
4230c2:	85 c9                	test   %ecx,%ecx
4230c4:	75 66                	jne    0x42312c
4230c6:	57                   	push   %edi
4230c7:	e8 20 6b 00 00       	call   0x429bec
4230cc:	8b f8                	mov    %eax,%edi
4230ce:	89 7e 08             	mov    %edi,0x8(%esi)
4230d1:	8b 57 6c             	mov    0x6c(%edi),%edx
4230d4:	89 16                	mov    %edx,(%esi)
4230d6:	8b 4f 68             	mov    0x68(%edi),%ecx
4230d9:	89 4e 04             	mov    %ecx,0x4(%esi)
4230dc:	3b 15 34 fb 4b 00    	cmp    0x4bfb34,%edx
4230e2:	74 11                	je     0x4230f5
4230e4:	a1 f8 fb 4b 00       	mov    0x4bfbf8,%eax
4230e9:	85 47 70             	test   %eax,0x70(%edi)
4230ec:	75 07                	jne    0x4230f5
4230ee:	e8 cd 61 00 00       	call   0x4292c0
4230f3:	89 06                	mov    %eax,(%esi)
4230f5:	8b 46 04             	mov    0x4(%esi),%eax
4230f8:	5f                   	pop    %edi
4230f9:	3b 05 cc f8 4b 00    	cmp    0x4bf8cc,%eax
4230ff:	74 15                	je     0x423116
423101:	8b 4e 08             	mov    0x8(%esi),%ecx
423104:	a1 f8 fb 4b 00       	mov    0x4bfbf8,%eax
423109:	85 41 70             	test   %eax,0x70(%ecx)
42310c:	75 08                	jne    0x423116
42310e:	e8 2f 65 00 00       	call   0x429642
423113:	89 46 04             	mov    %eax,0x4(%esi)
423116:	8b 4e 08             	mov    0x8(%esi),%ecx
423119:	8b 41 70             	mov    0x70(%ecx),%eax
42311c:	a8 02                	test   $0x2,%al
42311e:	75 16                	jne    0x423136
423120:	83 c8 02             	or     $0x2,%eax
423123:	89 41 70             	mov    %eax,0x70(%ecx)
423126:	c6 46 0c 01          	movb   $0x1,0xc(%esi)
42312a:	eb 0a                	jmp    0x423136
42312c:	8b 01                	mov    (%ecx),%eax
42312e:	89 06                	mov    %eax,(%esi)
423130:	8b 41 04             	mov    0x4(%ecx),%eax
423133:	89 46 04             	mov    %eax,0x4(%esi)
423136:	8b c6                	mov    %esi,%eax
423138:	5e                   	pop    %esi
423139:	5d                   	pop    %ebp
42313a:	c2 04 00             	ret    $0x4
42313d:	55                   	push   %ebp
42313e:	8b ec                	mov    %esp,%ebp
423140:	83 3d 28 42 4c 00 00 	cmpl   $0x0,0x4c4228
423147:	75 75                	jne    0x4231be
423149:	8b 55 08             	mov    0x8(%ebp),%edx
42314c:	85 d2                	test   %edx,%edx
42314e:	75 17                	jne    0x423167
423150:	e8 13 5c 00 00       	call   0x428d68
423155:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42315b:	e8 96 5e 00 00       	call   0x428ff6
423160:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
423165:	5d                   	pop    %ebp
423166:	c3                   	ret
423167:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42316a:	85 c9                	test   %ecx,%ecx
42316c:	74 e2                	je     0x423150
42316e:	53                   	push   %ebx
42316f:	56                   	push   %esi
423170:	57                   	push   %edi
423171:	6a 41                	push   $0x41
423173:	5f                   	pop    %edi
423174:	6a 5a                	push   $0x5a
423176:	2b d1                	sub    %ecx,%edx
423178:	5b                   	pop    %ebx
423179:	0f b7 04 0a          	movzwl (%edx,%ecx,1),%eax
42317d:	66 3b c7             	cmp    %di,%ax
423180:	72 0d                	jb     0x42318f
423182:	66 3b c3             	cmp    %bx,%ax
423185:	77 08                	ja     0x42318f
423187:	83 c0 20             	add    $0x20,%eax
42318a:	0f b7 f0             	movzwl %ax,%esi
42318d:	eb 02                	jmp    0x423191
42318f:	8b f0                	mov    %eax,%esi
423191:	0f b7 01             	movzwl (%ecx),%eax
423194:	66 3b c7             	cmp    %di,%ax
423197:	72 0b                	jb     0x4231a4
423199:	66 3b c3             	cmp    %bx,%ax
42319c:	77 06                	ja     0x4231a4
42319e:	83 c0 20             	add    $0x20,%eax
4231a1:	0f b7 c0             	movzwl %ax,%eax
4231a4:	83 c1 02             	add    $0x2,%ecx
4231a7:	66 85 f6             	test   %si,%si
4231aa:	74 05                	je     0x4231b1
4231ac:	66 3b f0             	cmp    %ax,%si
4231af:	74 c8                	je     0x423179
4231b1:	0f b7 c8             	movzwl %ax,%ecx
4231b4:	5f                   	pop    %edi
4231b5:	0f b7 c6             	movzwl %si,%eax
4231b8:	5e                   	pop    %esi
4231b9:	2b c1                	sub    %ecx,%eax
4231bb:	5b                   	pop    %ebx
4231bc:	5d                   	pop    %ebp
4231bd:	c3                   	ret
4231be:	6a 00                	push   $0x0
4231c0:	ff 75 0c             	push   0xc(%ebp)
4231c3:	ff 75 08             	push   0x8(%ebp)
4231c6:	e8 05 00 00 00       	call   0x4231d0
4231cb:	83 c4 0c             	add    $0xc,%esp
4231ce:	5d                   	pop    %ebp
4231cf:	c3                   	ret
4231d0:	55                   	push   %ebp
4231d1:	8b ec                	mov    %esp,%ebp
4231d3:	83 ec 10             	sub    $0x10,%esp
4231d6:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4231d9:	53                   	push   %ebx
4231da:	56                   	push   %esi
4231db:	ff 75 10             	push   0x10(%ebp)
4231de:	e8 d2 fe ff ff       	call   0x4230b5
4231e3:	8b 5d 08             	mov    0x8(%ebp),%ebx
4231e6:	85 db                	test   %ebx,%ebx
4231e8:	74 07                	je     0x4231f1
4231ea:	8b 75 0c             	mov    0xc(%ebp),%esi
4231ed:	85 f6                	test   %esi,%esi
4231ef:	75 1a                	jne    0x42320b
4231f1:	e8 72 5b 00 00       	call   0x428d68
4231f6:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4231fc:	e8 f5 5d 00 00       	call   0x428ff6
423201:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
423206:	e9 8b 00 00 00       	jmp    0x423296
42320b:	8b 45 f0             	mov    -0x10(%ebp),%eax
42320e:	57                   	push   %edi
42320f:	83 b8 a8 00 00 00 00 	cmpl   $0x0,0xa8(%eax)
423216:	75 42                	jne    0x42325a
423218:	6a 41                	push   $0x41
42321a:	59                   	pop    %ecx
42321b:	6a 5a                	push   $0x5a
42321d:	2b de                	sub    %esi,%ebx
42321f:	5a                   	pop    %edx
423220:	0f b7 04 33          	movzwl (%ebx,%esi,1),%eax
423224:	66 3b c1             	cmp    %cx,%ax