422e7a:	83 c4 18             	add    $0x18,%esp
422e7d:	83 c8 ff             	or     $0xffffffff,%eax
422e80:	5f                   	pop    %edi
422e81:	5e                   	pop    %esi
422e82:	5b                   	pop    %ebx
422e83:	c9                   	leave
422e84:	c3                   	ret
422e85:	8b 86 50 04 00 00    	mov    0x450(%esi),%eax
422e8b:	40                   	inc    %eax
422e8c:	89 86 50 04 00 00    	mov    %eax,0x450(%esi)
422e92:	83 f8 02             	cmp    $0x2,%eax
422e95:	0f 84 45 02 00 00    	je     0x4230e0
422e9b:	33 db                	xor    %ebx,%ebx
422e9d:	89 5e 34             	mov    %ebx,0x34(%esi)
422ea0:	88 5e 18             	mov    %bl,0x18(%esi)
422ea3:	8a 11                	mov    (%ecx),%dl
422ea5:	41                   	inc    %ecx
422ea6:	88 55 ff             	mov    %dl,-0x1(%ebp)
422ea9:	89 4e 0c             	mov    %ecx,0xc(%esi)
422eac:	88 56 2d             	mov    %dl,0x2d(%esi)
422eaf:	84 d2                	test   %dl,%dl
422eb1:	0f 84 07 02 00 00    	je     0x4230be
422eb7:	88 55 fb             	mov    %dl,-0x5(%ebp)
422eba:	39 5e 14             	cmp    %ebx,0x14(%esi)
422ebd:	0f 8c fb 01 00 00    	jl     0x4230be
422ec3:	0f b6 46 18          	movzbl 0x18(%esi),%eax
422ec7:	8b ce                	mov    %esi,%ecx
422ec9:	50                   	push   %eax
422eca:	ff 75 fb             	push   -0x5(%ebp)
422ecd:	e8 9f fd ff ff       	call   0x422c71
422ed2:	88 46 18             	mov    %al,0x18(%esi)
422ed5:	3c 08                	cmp    $0x8,%al
422ed7:	0f 83 0b 02 00 00    	jae    0x4230e8
422edd:	0f b6 c0             	movzbl %al,%eax
422ee0:	83 f8 07             	cmp    $0x7,%eax
422ee3:	77 98                	ja     0x422e7d
422ee5:	ff 24 85 fc 30 42 00 	jmp    *0x4230fc(,%eax,4)
422eec:	8b 7e 08             	mov    0x8(%esi),%edi
422eef:	88 5e 38             	mov    %bl,0x38(%esi)
422ef2:	38 5f 14             	cmp    %bl,0x14(%edi)
422ef5:	75 07                	jne    0x422efe
422ef7:	8b cf                	mov    %edi,%ecx
422ef9:	e8 a2 16 00 00       	call   0x4245a0
422efe:	8a 46 2d             	mov    0x2d(%esi),%al
422f01:	88 45 ff             	mov    %al,-0x1(%ebp)
422f04:	0f be c0             	movsbl %al,%eax
422f07:	68 00 80 00 00       	push   $0x8000
422f0c:	50                   	push   %eax
422f0d:	8b 47 0c             	mov    0xc(%edi),%eax
422f10:	ff 30                	push   (%eax)
422f12:	e8 08 18 00 00       	call   0x42471f
422f17:	83 c4 0c             	add    $0xc,%esp
422f1a:	8d be 48 04 00 00    	lea    0x448(%esi),%edi
422f20:	85 c0                	test   %eax,%eax
422f22:	74 76                	je     0x422f9a
422f24:	8b 0f                	mov    (%edi),%ecx
422f26:	8b 41 08             	mov    0x8(%ecx),%eax
422f29:	3b 41 04             	cmp    0x4(%ecx),%eax
422f2c:	75 10                	jne    0x422f3e
422f2e:	38 59 0c             	cmp    %bl,0xc(%ecx)
422f31:	74 05                	je     0x422f38
422f33:	ff 46 14             	incl   0x14(%esi)
422f36:	eb 19                	jmp    0x422f51
422f38:	83 4e 14 ff          	orl    $0xffffffff,0x14(%esi)
422f3c:	eb 13                	jmp    0x422f51
422f3e:	ff 46 14             	incl   0x14(%esi)
422f41:	ff 41 08             	incl   0x8(%ecx)
422f44:	8b 07                	mov    (%edi),%eax
422f46:	8a 4d ff             	mov    -0x1(%ebp),%cl
422f49:	8b 00                	mov    (%eax),%eax
422f4b:	88 08                	mov    %cl,(%eax)
422f4d:	8b 07                	mov    (%edi),%eax
422f4f:	ff 00                	incl   (%eax)
422f51:	8b 46 0c             	mov    0xc(%esi),%eax
422f54:	8a 08                	mov    (%eax),%cl
422f56:	40                   	inc    %eax
422f57:	89 46 0c             	mov    %eax,0xc(%esi)
422f5a:	88 4e 2d             	mov    %cl,0x2d(%esi)
422f5d:	84 c9                	test   %cl,%cl
422f5f:	75 3c                	jne    0x422f9d
422f61:	8b 46 08             	mov    0x8(%esi),%eax
422f64:	6a 16                	push   $0x16
422f66:	5f                   	pop    %edi
422f67:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
422f6b:	89 78 18             	mov    %edi,0x18(%eax)
422f6e:	ff 76 08             	push   0x8(%esi)
422f71:	53                   	push   %ebx
422f72:	53                   	push   %ebx
422f73:	53                   	push   %ebx
422f74:	53                   	push   %ebx
422f75:	53                   	push   %ebx
422f76:	e8 77 da ff ff       	call   0x4209f2
422f7b:	8b 46 08             	mov    0x8(%esi),%eax
422f7e:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
422f82:	89 78 18             	mov    %edi,0x18(%eax)
422f85:	ff 76 08             	push   0x8(%esi)
422f88:	53                   	push   %ebx
422f89:	53                   	push   %ebx
422f8a:	53                   	push   %ebx
422f8b:	53                   	push   %ebx
422f8c:	53                   	push   %ebx
422f8d:	e8 60 da ff ff       	call   0x4209f2
422f92:	83 c4 30             	add    $0x30,%esp
422f95:	e9 e3 fe ff ff       	jmp    0x422e7d
422f9a:	8a 4d ff             	mov    -0x1(%ebp),%cl
422f9d:	8b 17                	mov    (%edi),%edx
422f9f:	8b 42 08             	mov    0x8(%edx),%eax
422fa2:	3b 42 04             	cmp    0x4(%edx),%eax
422fa5:	75 16                	jne    0x422fbd
422fa7:	38 5a 0c             	cmp    %bl,0xc(%edx)
422faa:	74 08                	je     0x422fb4
422fac:	ff 46 14             	incl   0x14(%esi)
422faf:	e9 ee 00 00 00       	jmp    0x4230a2
422fb4:	83 4e 14 ff          	orl    $0xffffffff,0x14(%esi)
422fb8:	e9 e5 00 00 00       	jmp    0x4230a2
422fbd:	ff 46 14             	incl   0x14(%esi)
422fc0:	ff 42 08             	incl   0x8(%edx)
422fc3:	8b 07                	mov    (%edi),%eax
422fc5:	8b 00                	mov    (%eax),%eax
422fc7:	88 08                	mov    %cl,(%eax)
422fc9:	8b 07                	mov    (%edi),%eax
422fcb:	ff 00                	incl   (%eax)
422fcd:	e9 d0 00 00 00       	jmp    0x4230a2
422fd2:	83 4e 24 ff          	orl    $0xffffffff,0x24(%esi)
422fd6:	89 5e 20             	mov    %ebx,0x20(%esi)
422fd9:	88 5e 2c             	mov    %bl,0x2c(%esi)
422fdc:	89 5e 1c             	mov    %ebx,0x1c(%esi)
422fdf:	89 5e 28             	mov    %ebx,0x28(%esi)
422fe2:	88 5e 38             	mov    %bl,0x38(%esi)
422fe5:	e9 b8 00 00 00       	jmp    0x4230a2
422fea:	0f be 45 ff          	movsbl -0x1(%ebp),%eax
422fee:	83 e8 20             	sub    $0x20,%eax
422ff1:	74 37                	je     0x42302a
422ff3:	83 e8 03             	sub    $0x3,%eax
422ff6:	74 2c                	je     0x423024
422ff8:	83 e8 08             	sub    $0x8,%eax
422ffb:	74 21                	je     0x42301e
422ffd:	48                   	dec    %eax
422ffe:	83 e8 01             	sub    $0x1,%eax
423001:	74 12                	je     0x423015
423003:	83 e8 03             	sub    $0x3,%eax
423006:	0f 85 96 00 00 00    	jne    0x4230a2
42300c:	83 4e 1c 08          	orl    $0x8,0x1c(%esi)
423010:	e9 8d 00 00 00       	jmp    0x4230a2
423015:	83 4e 1c 04          	orl    $0x4,0x1c(%esi)
423019:	e9 84 00 00 00       	jmp    0x4230a2
42301e:	83 4e 1c 01          	orl    $0x1,0x1c(%esi)
423022:	eb 7e                	jmp    0x4230a2
423024:	83 4e 1c 20          	orl    $0x20,0x1c(%esi)
423028:	eb 78                	jmp    0x4230a2
42302a:	83 4e 1c 02          	orl    $0x2,0x1c(%esi)
42302e:	eb 72                	jmp    0x4230a2
423030:	80 7d ff 2a          	cmpb   $0x2a,-0x1(%ebp)
423034:	74 0d                	je     0x423043
423036:	8d 46 20             	lea    0x20(%esi),%eax
423039:	50                   	push   %eax
42303a:	8b ce                	mov    %esi,%ecx
42303c:	e8 05 fd ff ff       	call   0x422d46
423041:	eb 57                	jmp    0x42309a
423043:	8b 4e 10             	mov    0x10(%esi),%ecx
423046:	8d 41 04             	lea    0x4(%ecx),%eax
423049:	89 46 10             	mov    %eax,0x10(%esi)
42304c:	8b 01                	mov    (%ecx),%eax
42304e:	89 46 20             	mov    %eax,0x20(%esi)
423051:	85 c0                	test   %eax,%eax
423053:	79 09                	jns    0x42305e
423055:	83 4e 1c 04          	orl    $0x4,0x1c(%esi)
423059:	f7 d8                	neg    %eax
42305b:	89 46 20             	mov    %eax,0x20(%esi)
42305e:	b0 01                	mov    $0x1,%al
423060:	eb 38                	jmp    0x42309a
423062:	89 5e 24             	mov    %ebx,0x24(%esi)
423065:	eb 3b                	jmp    0x4230a2
423067:	80 7d ff 2a          	cmpb   $0x2a,-0x1(%ebp)
42306b:	74 05                	je     0x423072
42306d:	8d 46 24             	lea    0x24(%esi),%eax
423070:	eb c7                	jmp    0x423039
423072:	8b 4e 10             	mov    0x10(%esi),%ecx
423075:	8d 41 04             	lea    0x4(%ecx),%eax
423078:	89 46 10             	mov    %eax,0x10(%esi)
42307b:	8b 01                	mov    (%ecx),%eax
42307d:	89 46 24             	mov    %eax,0x24(%esi)
423080:	85 c0                	test   %eax,%eax
423082:	79 da                	jns    0x42305e
423084:	83 4e 24 ff          	orl    $0xffffffff,0x24(%esi)
423088:	eb d4                	jmp    0x42305e
42308a:	8b ce                	mov    %esi,%ecx
42308c:	e8 cb 02 00 00       	call   0x42335c
423091:	eb 07                	jmp    0x42309a
423093:	8b ce                	mov    %esi,%ecx
423095:	e8 a5 05 00 00       	call   0x42363f
42309a:	84 c0                	test   %al,%al
42309c:	0f 84 db fd ff ff    	je     0x422e7d
4230a2:	8b 46 0c             	mov    0xc(%esi),%eax
4230a5:	8a 10                	mov    (%eax),%dl
4230a7:	8d 48 01             	lea    0x1(%eax),%ecx
4230aa:	89 4e 0c             	mov    %ecx,0xc(%esi)
4230ad:	88 55 ff             	mov    %dl,-0x1(%ebp)
4230b0:	88 56 2d             	mov    %dl,0x2d(%esi)
4230b3:	88 55 fb             	mov    %dl,-0x5(%ebp)
4230b6:	84 d2                	test   %dl,%dl
4230b8:	0f 85 fc fd ff ff    	jne    0x422eba
4230be:	8a 46 18             	mov    0x18(%esi),%al
4230c1:	84 c0                	test   %al,%al
4230c3:	74 08                	je     0x4230cd
4230c5:	3c 07                	cmp    $0x7,%al
4230c7:	0f 85 92 fd ff ff    	jne    0x422e5f
4230cd:	ff 86 50 04 00 00    	incl   0x450(%esi)
4230d3:	83 be 50 04 00 00 02 	cmpl   $0x2,0x450(%esi)
4230da:	0f 85 bd fd ff ff    	jne    0x422e9d
4230e0:	8b 46 14             	mov    0x14(%esi),%eax
4230e3:	e9 98 fd ff ff       	jmp    0x422e80
4230e8:	8b 4e 08             	mov    0x8(%esi),%ecx
4230eb:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
4230ef:	c7 41 18 16 00 00 00 	movl   $0x16,0x18(%ecx)
4230f6:	e9 72 fd ff ff       	jmp    0x422e6d
4230fb:	90                   	nop
4230fc:	ec                   	in     (%dx),%al
4230fd:	2e 42                	cs inc %edx
4230ff:	00 d2                	add    %dl,%dl
423101:	2f                   	das
423102:	42                   	inc    %edx
423103:	00 ea                	add    %ch,%dl
423105:	2f                   	das
423106:	42                   	inc    %edx
423107:	00 30                	add    %dh,(%eax)
423109:	30 42 00             	xor    %al,0x0(%edx)
42310c:	62 30                	bound  %esi,(%eax)
42310e:	42                   	inc    %edx
42310f:	00 67 30             	add    %ah,0x30(%edi)
423112:	42                   	inc    %edx
423113:	00 8a 30 42 00 93    	add    %cl,-0x6cffbdd0(%edx)
423119:	30 42 00             	xor    %al,0x0(%edx)
42311c:	8b ff                	mov    %edi,%edi
42311e:	53                   	push   %ebx
42311f:	56                   	push   %esi
423120:	8b f1                	mov    %ecx,%esi
423122:	57                   	push   %edi
423123:	ff 76 08             	push   0x8(%esi)
423126:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
42312c:	e8 e5 14 00 00       	call   0x424616
423131:	84 c0                	test   %al,%al
423133:	74 27                	je     0x42315c
423135:	8b 56 0c             	mov    0xc(%esi),%edx
423138:	85 d2                	test   %edx,%edx
42313a:	75 27                	jne    0x423163
42313c:	33 db                	xor    %ebx,%ebx
42313e:	8b 46 08             	mov    0x8(%esi),%eax
423141:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
423148:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
42314c:	ff 76 08             	push   0x8(%esi)
42314f:	53                   	push   %ebx
423150:	53                   	push   %ebx
423151:	53                   	push   %ebx
423152:	53                   	push   %ebx
423153:	53                   	push   %ebx
423154:	e8 99 d8 ff ff       	call   0x4209f2
423159:	83 c4 18             	add    $0x18,%esp
42315c:	83 c8 ff             	or     $0xffffffff,%eax
42315f:	5f                   	pop    %edi
423160:	5e                   	pop    %esi
423161:	5b                   	pop    %ebx
423162:	c3                   	ret
423163:	8b 86 50 04 00 00    	mov    0x450(%esi),%eax
423169:	40                   	inc    %eax
42316a:	89 86 50 04 00 00    	mov    %eax,0x450(%esi)
423170:	83 f8 02             	cmp    $0x2,%eax
423173:	0f 84 a6 01 00 00    	je     0x42331f
423179:	33 db                	xor    %ebx,%ebx
42317b:	89 5e 34             	mov    %ebx,0x34(%esi)
42317e:	88 5e 18             	mov    %bl,0x18(%esi)
423181:	0f b7 02             	movzwl (%edx),%eax
423184:	83 c2 02             	add    $0x2,%edx
423187:	89 56 0c             	mov    %edx,0xc(%esi)
42318a:	66 89 46 2e          	mov    %ax,0x2e(%esi)
42318e:	66 85 c0             	test   %ax,%ax
423191:	0f 84 66 01 00 00    	je     0x4232fd
423197:	8b f8                	mov    %eax,%edi
423199:	8b 46 14             	mov    0x14(%esi),%eax
42319c:	85 c0                	test   %eax,%eax
42319e:	0f 88 59 01 00 00    	js     0x4232fd
4231a4:	0f b6 46 18          	movzbl 0x18(%esi),%eax
4231a8:	8b ce                	mov    %esi,%ecx
4231aa:	50                   	push   %eax
4231ab:	57                   	push   %edi
4231ac:	e8 fd fa ff ff       	call   0x422cae
4231b1:	88 46 18             	mov    %al,0x18(%esi)
4231b4:	3c 08                	cmp    $0x8,%al
4231b6:	0f 83 6b 01 00 00    	jae    0x423327
4231bc:	0f b6 c0             	movzbl %al,%eax
4231bf:	83 f8 07             	cmp    $0x7,%eax
4231c2:	77 98                	ja     0x42315c
4231c4:	ff 24 85 3c 33 42 00 	jmp    *0x42333c(,%eax,4)
4231cb:	c6 46 38 01          	movb   $0x1,0x38(%esi)
4231cf:	8d 96 48 04 00 00    	lea    0x448(%esi),%edx
4231d5:	8b 0a                	mov    (%edx),%ecx
4231d7:	8b 41 08             	mov    0x8(%ecx),%eax
4231da:	3b 41 04             	cmp    0x4(%ecx),%eax
4231dd:	75 16                	jne    0x4231f5
4231df:	38 59 0c             	cmp    %bl,0xc(%ecx)
4231e2:	74 08                	je     0x4231ec
4231e4:	ff 46 14             	incl   0x14(%esi)
4231e7:	e9 f6 00 00 00       	jmp    0x4232e2
4231ec:	83 4e 14 ff          	orl    $0xffffffff,0x14(%esi)
4231f0:	e9 ed 00 00 00       	jmp    0x4232e2
4231f5:	ff 46 14             	incl   0x14(%esi)
4231f8:	ff 41 08             	incl   0x8(%ecx)
4231fb:	8b 02                	mov    (%edx),%eax
4231fd:	8b 00                	mov    (%eax),%eax
4231ff:	66 89 38             	mov    %di,(%eax)
423202:	8b 02                	mov    (%edx),%eax
423204:	83 00 02             	addl   $0x2,(%eax)
423207:	e9 d6 00 00 00       	jmp    0x4232e2
42320c:	83 4e 24 ff          	orl    $0xffffffff,0x24(%esi)
423210:	89 5e 20             	mov    %ebx,0x20(%esi)
423213:	88 5e 2c             	mov    %bl,0x2c(%esi)
423216:	89 5e 1c             	mov    %ebx,0x1c(%esi)
423219:	89 5e 28             	mov    %ebx,0x28(%esi)
42321c:	88 5e 38             	mov    %bl,0x38(%esi)
42321f:	e9 be 00 00 00       	jmp    0x4232e2
423224:	0f b7 c7             	movzwl %di,%eax
423227:	83 e8 20             	sub    $0x20,%eax
42322a:	74 3a                	je     0x423266
42322c:	83 e8 03             	sub    $0x3,%eax
42322f:	74 2f                	je     0x423260
423231:	83 e8 08             	sub    $0x8,%eax
423234:	74 21                	je     0x423257
423236:	48                   	dec    %eax
423237:	83 e8 01             	sub    $0x1,%eax
42323a:	74 12                	je     0x42324e
42323c:	83 e8 03             	sub    $0x3,%eax
42323f:	0f 85 9d 00 00 00    	jne    0x4232e2
423245:	83 4e 1c 08          	orl    $0x8,0x1c(%esi)
423249:	e9 94 00 00 00       	jmp    0x4232e2
42324e:	83 4e 1c 04          	orl    $0x4,0x1c(%esi)
423252:	e9 8b 00 00 00       	jmp    0x4232e2
423257:	83 4e 1c 01          	orl    $0x1,0x1c(%esi)
42325b:	e9 82 00 00 00       	jmp    0x4232e2
423260:	83 4e 1c 20          	orl    $0x20,0x1c(%esi)
423264:	eb 7c                	jmp    0x4232e2
423266:	83 4e 1c 02          	orl    $0x2,0x1c(%esi)
42326a:	eb 76                	jmp    0x4232e2
42326c:	6a 2a                	push   $0x2a
42326e:	58                   	pop    %eax
42326f:	66 3b f8             	cmp    %ax,%di
423272:	74 0d                	je     0x423281
423274:	8d 46 20             	lea    0x20(%esi),%eax
423277:	50                   	push   %eax
423278:	8b ce                	mov    %esi,%ecx
42327a:	e8 3f fb ff ff       	call   0x422dbe