422e21:	0f 85 9a 00 00 00    	jne    0x422ec1
422e27:	ff 75 f8             	push   -0x8(%ebp)
422e2a:	8d 45 ec             	lea    -0x14(%ebp),%eax
422e2d:	57                   	push   %edi
422e2e:	56                   	push   %esi
422e2f:	50                   	push   %eax
422e30:	e8 c3 fb ff ff       	call   0x4229f8
422e35:	eb c1                	jmp    0x422df8
422e37:	ff 75 f8             	push   -0x8(%ebp)
422e3a:	8d 45 ec             	lea    -0x14(%ebp),%eax
422e3d:	57                   	push   %edi
422e3e:	56                   	push   %esi
422e3f:	50                   	push   %eax
422e40:	e8 a1 fc ff ff       	call   0x422ae6
422e45:	eb b1                	jmp    0x422df8
422e47:	ff 75 f8             	push   -0x8(%ebp)
422e4a:	8d 45 ec             	lea    -0x14(%ebp),%eax
422e4d:	57                   	push   %edi
422e4e:	56                   	push   %esi
422e4f:	50                   	push   %eax
422e50:	e8 c4 fa ff ff       	call   0x422919
422e55:	eb a1                	jmp    0x422df8
422e57:	8b 44 01 18          	mov    0x18(%ecx,%eax,1),%eax
422e5b:	33 c9                	xor    %ecx,%ecx
422e5d:	51                   	push   %ecx
422e5e:	89 4d ec             	mov    %ecx,-0x14(%ebp)
422e61:	89 4d f0             	mov    %ecx,-0x10(%ebp)
422e64:	89 4d f4             	mov    %ecx,-0xc(%ebp)
422e67:	8d 4d f0             	lea    -0x10(%ebp),%ecx
422e6a:	51                   	push   %ecx
422e6b:	ff 75 f8             	push   -0x8(%ebp)
422e6e:	57                   	push   %edi
422e6f:	50                   	push   %eax
422e70:	ff 15 e8 71 42 00    	call   *0x4271e8
422e76:	85 c0                	test   %eax,%eax
422e78:	75 09                	jne    0x422e83
422e7a:	ff 15 c4 71 42 00    	call   *0x4271c4
422e80:	89 45 ec             	mov    %eax,-0x14(%ebp)
422e83:	8d 75 ec             	lea    -0x14(%ebp),%esi
422e86:	8d 7d d8             	lea    -0x28(%ebp),%edi
422e89:	a5                   	movsl  %ds:(%esi),%es:(%edi)
422e8a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
422e8b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
422e8c:	8b 45 dc             	mov    -0x24(%ebp),%eax
422e8f:	85 c0                	test   %eax,%eax
422e91:	75 63                	jne    0x422ef6
422e93:	8b 45 d8             	mov    -0x28(%ebp),%eax
422e96:	85 c0                	test   %eax,%eax
422e98:	74 24                	je     0x422ebe
422e9a:	6a 05                	push   $0x5
422e9c:	5e                   	pop    %esi
422e9d:	3b c6                	cmp    %esi,%eax
422e9f:	75 14                	jne    0x422eb5
422ea1:	e8 c5 1b ff ff       	call   0x414a6b
422ea6:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
422eac:	e8 a7 1b ff ff       	call   0x414a58
422eb1:	89 30                	mov    %esi,(%eax)
422eb3:	eb 3c                	jmp    0x422ef1
422eb5:	50                   	push   %eax
422eb6:	e8 7a 1b ff ff       	call   0x414a35
422ebb:	59                   	pop    %ecx
422ebc:	eb 33                	jmp    0x422ef1
422ebe:	8b 7d d0             	mov    -0x30(%ebp),%edi
422ec1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
422ec4:	8b 4d e8             	mov    -0x18(%ebp),%ecx
422ec7:	8b 04 85 c0 9d 83 02 	mov    0x2839dc0(,%eax,4),%eax
422ece:	f6 44 08 28 40       	testb  $0x40,0x28(%eax,%ecx,1)
422ed3:	74 09                	je     0x422ede
422ed5:	80 3f 1a             	cmpb   $0x1a,(%edi)
422ed8:	75 04                	jne    0x422ede
422eda:	33 c0                	xor    %eax,%eax
422edc:	eb 1b                	jmp    0x422ef9
422ede:	e8 88 1b ff ff       	call   0x414a6b
422ee3:	c7 00 1c 00 00 00    	movl   $0x1c,(%eax)
422ee9:	e8 6a 1b ff ff       	call   0x414a58
422eee:	83 20 00             	andl   $0x0,(%eax)
422ef1:	83 c8 ff             	or     $0xffffffff,%eax
422ef4:	eb 03                	jmp    0x422ef9
422ef6:	2b 45 e0             	sub    -0x20(%ebp),%eax
422ef9:	5b                   	pop    %ebx
422efa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
422efd:	5f                   	pop    %edi
422efe:	33 cd                	xor    %ebp,%ecx
422f00:	5e                   	pop    %esi
422f01:	e8 5a 41 fe ff       	call   0x407060
422f06:	8b e5                	mov    %ebp,%esp
422f08:	5d                   	pop    %ebp
422f09:	c3                   	ret
422f0a:	8b ff                	mov    %edi,%edi
422f0c:	55                   	push   %ebp
422f0d:	8b ec                	mov    %esp,%ebp
422f0f:	8b 55 08             	mov    0x8(%ebp),%edx
422f12:	56                   	push   %esi
422f13:	85 d2                	test   %edx,%edx
422f15:	75 16                	jne    0x422f2d
422f17:	e8 4f 1b ff ff       	call   0x414a6b
422f1c:	6a 16                	push   $0x16
422f1e:	5e                   	pop    %esi
422f1f:	89 30                	mov    %esi,(%eax)
422f21:	e8 bc 8d fe ff       	call   0x40bce2
422f26:	8b c6                	mov    %esi,%eax
422f28:	e9 96 00 00 00       	jmp    0x422fc3
422f2d:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
422f31:	76 e4                	jbe    0x422f17
422f33:	8b 4d 10             	mov    0x10(%ebp),%ecx
422f36:	c6 02 00             	movb   $0x0,(%edx)
422f39:	85 c9                	test   %ecx,%ecx
422f3b:	7e 04                	jle    0x422f41
422f3d:	8b c1                	mov    %ecx,%eax
422f3f:	eb 02                	jmp    0x422f43
422f41:	33 c0                	xor    %eax,%eax
422f43:	40                   	inc    %eax
422f44:	39 45 0c             	cmp    %eax,0xc(%ebp)
422f47:	77 09                	ja     0x422f52
422f49:	e8 1d 1b ff ff       	call   0x414a6b
422f4e:	6a 22                	push   $0x22
422f50:	eb cc                	jmp    0x422f1e
422f52:	8b 75 14             	mov    0x14(%ebp),%esi
422f55:	85 f6                	test   %esi,%esi
422f57:	74 be                	je     0x422f17
422f59:	53                   	push   %ebx
422f5a:	8d 5a 01             	lea    0x1(%edx),%ebx
422f5d:	8b c3                	mov    %ebx,%eax
422f5f:	57                   	push   %edi
422f60:	8b 7e 08             	mov    0x8(%esi),%edi
422f63:	c6 02 30             	movb   $0x30,(%edx)
422f66:	85 c9                	test   %ecx,%ecx
422f68:	7e 16                	jle    0x422f80
422f6a:	8a 1f                	mov    (%edi),%bl
422f6c:	84 db                	test   %bl,%bl
422f6e:	74 03                	je     0x422f73
422f70:	47                   	inc    %edi
422f71:	eb 02                	jmp    0x422f75
422f73:	b3 30                	mov    $0x30,%bl
422f75:	88 18                	mov    %bl,(%eax)
422f77:	40                   	inc    %eax
422f78:	49                   	dec    %ecx
422f79:	85 c9                	test   %ecx,%ecx
422f7b:	7f ed                	jg     0x422f6a
422f7d:	8d 5a 01             	lea    0x1(%edx),%ebx
422f80:	c6 00 00             	movb   $0x0,(%eax)
422f83:	85 c9                	test   %ecx,%ecx
422f85:	78 12                	js     0x422f99
422f87:	80 3f 35             	cmpb   $0x35,(%edi)
422f8a:	7c 0d                	jl     0x422f99
422f8c:	eb 03                	jmp    0x422f91
422f8e:	c6 00 30             	movb   $0x30,(%eax)
422f91:	48                   	dec    %eax
422f92:	80 38 39             	cmpb   $0x39,(%eax)
422f95:	74 f7                	je     0x422f8e
422f97:	fe 00                	incb   (%eax)
422f99:	80 3a 31             	cmpb   $0x31,(%edx)
422f9c:	75 05                	jne    0x422fa3
422f9e:	ff 46 04             	incl   0x4(%esi)
422fa1:	eb 1c                	jmp    0x422fbf
422fa3:	8b cb                	mov    %ebx,%ecx
422fa5:	8d 71 01             	lea    0x1(%ecx),%esi
422fa8:	8a 01                	mov    (%ecx),%al
422faa:	41                   	inc    %ecx
422fab:	84 c0                	test   %al,%al
422fad:	75 f9                	jne    0x422fa8
422faf:	2b ce                	sub    %esi,%ecx
422fb1:	8d 41 01             	lea    0x1(%ecx),%eax
422fb4:	50                   	push   %eax
422fb5:	53                   	push   %ebx
422fb6:	52                   	push   %edx
422fb7:	e8 64 4a fe ff       	call   0x407a20
422fbc:	83 c4 0c             	add    $0xc,%esp
422fbf:	5f                   	pop    %edi
422fc0:	33 c0                	xor    %eax,%eax
422fc2:	5b                   	pop    %ebx
422fc3:	5e                   	pop    %esi
422fc4:	5d                   	pop    %ebp
422fc5:	c3                   	ret
422fc6:	8b ff                	mov    %edi,%edi
422fc8:	56                   	push   %esi
422fc9:	8b f1                	mov    %ecx,%esi
422fcb:	56                   	push   %esi
422fcc:	e8 7e 2c 00 00       	call   0x425c4f
422fd1:	8b 06                	mov    (%esi),%eax
422fd3:	83 e0 1f             	and    $0x1f,%eax
422fd6:	59                   	pop    %ecx
422fd7:	3c 1f                	cmp    $0x1f,%al
422fd9:	75 06                	jne    0x422fe1
422fdb:	c6 46 08 00          	movb   $0x0,0x8(%esi)
422fdf:	eb 0b                	jmp    0x422fec
422fe1:	56                   	push   %esi
422fe2:	e8 ce 2c 00 00       	call   0x425cb5
422fe7:	59                   	pop    %ecx
422fe8:	c6 46 08 01          	movb   $0x1,0x8(%esi)
422fec:	8b c6                	mov    %esi,%eax
422fee:	5e                   	pop    %esi
422fef:	c3                   	ret
422ff0:	8b ff                	mov    %edi,%edi
422ff2:	55                   	push   %ebp
422ff3:	8b ec                	mov    %esp,%ebp
422ff5:	81 ec 64 09 00 00    	sub    $0x964,%esp
422ffb:	a1 28 ba 43 00       	mov    0x43ba28,%eax
423000:	33 c5                	xor    %ebp,%eax
423002:	89 45 fc             	mov    %eax,-0x4(%ebp)
423005:	53                   	push   %ebx
423006:	8b 5d 18             	mov    0x18(%ebp),%ebx
423009:	8d 8d 6c f8 ff ff    	lea    -0x794(%ebp),%ecx
42300f:	56                   	push   %esi
423010:	57                   	push   %edi
423011:	8b 7d 14             	mov    0x14(%ebp),%edi
423014:	89 bd 80 f8 ff ff    	mov    %edi,-0x780(%ebp)
42301a:	89 9d 84 f8 ff ff    	mov    %ebx,-0x77c(%ebp)
423020:	e8 a1 ff ff ff       	call   0x422fc6
423025:	8b 75 0c             	mov    0xc(%ebp),%esi
423028:	33 c0                	xor    %eax,%eax
42302a:	8b ce                	mov    %esi,%ecx
42302c:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
423032:	0b c1                	or     %ecx,%eax
423034:	b0 2d                	mov    $0x2d,%al
423036:	75 02                	jne    0x42303a
423038:	04 f3                	add    $0xf3,%al
42303a:	0f be c0             	movsbl %al,%eax
42303d:	8b ce                	mov    %esi,%ecx
42303f:	89 07                	mov    %eax,(%edi)
423041:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
423047:	33 c0                	xor    %eax,%eax
423049:	89 5f 08             	mov    %ebx,0x8(%edi)
42304c:	0b c1                	or     %ecx,%eax
42304e:	8b 7d 08             	mov    0x8(%ebp),%edi
423051:	75 22                	jne    0x423075
423053:	8b ce                	mov    %esi,%ecx
423055:	8b c7                	mov    %edi,%eax
423057:	81 e1 ff ff 0f 00    	and    $0xfffff,%ecx
42305d:	0b c1                	or     %ecx,%eax
42305f:	75 14                	jne    0x423075
423061:	8b 85 80 f8 ff ff    	mov    -0x780(%ebp),%eax
423067:	68 9c 75 42 00       	push   $0x42759c
42306c:	83 60 04 00          	andl   $0x0,0x4(%eax)
423070:	e9 d3 12 00 00       	jmp    0x424348
423075:	8d 45 08             	lea    0x8(%ebp),%eax
423078:	50                   	push   %eax
423079:	e8 94 6b ff ff       	call   0x419c12
42307e:	59                   	pop    %ecx
42307f:	85 c0                	test   %eax,%eax
423081:	74 0d                	je     0x423090
423083:	8b 8d 80 f8 ff ff    	mov    -0x780(%ebp),%ecx
423089:	c7 41 04 01 00 00 00 	movl   $0x1,0x4(%ecx)
423090:	83 e8 01             	sub    $0x1,%eax
423093:	0f 84 aa 12 00 00    	je     0x424343
423099:	83 e8 01             	sub    $0x1,%eax
42309c:	0f 84 9a 12 00 00    	je     0x42433c
4230a2:	83 e8 01             	sub    $0x1,%eax
4230a5:	0f 84 8a 12 00 00    	je     0x424335
4230ab:	83 e8 01             	sub    $0x1,%eax
4230ae:	0f 84 7a 12 00 00    	je     0x42432e
4230b4:	8b 45 10             	mov    0x10(%ebp),%eax
4230b7:	81 e6 ff ff ff 7f    	and    $0x7fffffff,%esi
4230bd:	83 a5 7c f8 ff ff 00 	andl   $0x0,-0x784(%ebp)
4230c4:	40                   	inc    %eax
4230c5:	89 7d 08             	mov    %edi,0x8(%ebp)
4230c8:	89 75 0c             	mov    %esi,0xc(%ebp)
4230cb:	dd 45 08             	fldl   0x8(%ebp)
4230ce:	dd 95 98 f8 ff ff    	fstl   -0x768(%ebp)
4230d4:	8b bd 9c f8 ff ff    	mov    -0x764(%ebp),%edi
4230da:	8b cf                	mov    %edi,%ecx
4230dc:	89 85 88 f8 ff ff    	mov    %eax,-0x778(%ebp)
4230e2:	c1 e9 14             	shr    $0x14,%ecx
4230e5:	8b c1                	mov    %ecx,%eax
4230e7:	25 ff 07 00 00       	and    $0x7ff,%eax
4230ec:	83 c8 00             	or     $0x0,%eax
4230ef:	75 06                	jne    0x4230f7
4230f1:	b2 01                	mov    $0x1,%dl
4230f3:	33 f6                	xor    %esi,%esi
4230f5:	eb 09                	jmp    0x423100
4230f7:	32 d2                	xor    %dl,%dl
4230f9:	be 00 00 10 00       	mov    $0x100000,%esi
4230fe:	33 c0                	xor    %eax,%eax
423100:	8b 9d 98 f8 ff ff    	mov    -0x768(%ebp),%ebx
423106:	81 e7 ff ff 0f 00    	and    $0xfffff,%edi
42310c:	03 d8                	add    %eax,%ebx
42310e:	13 fe                	adc    %esi,%edi
423110:	33 c0                	xor    %eax,%eax
423112:	84 d2                	test   %dl,%dl
423114:	0f 95 c0             	setne  %al
423117:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
42311d:	40                   	inc    %eax
42311e:	8d b1 cc fb ff ff    	lea    -0x434(%ecx),%esi
423124:	03 f0                	add    %eax,%esi
423126:	89 b5 b4 f8 ff ff    	mov    %esi,-0x74c(%ebp)
42312c:	e8 1f 2c 00 00       	call   0x425d50
423131:	51                   	push   %ecx
423132:	51                   	push   %ecx
423133:	dd 1c 24             	fstpl  (%esp)
423136:	e8 25 11 ff ff       	call   0x414260
42313b:	59                   	pop    %ecx
42313c:	59                   	pop    %ecx
42313d:	e8 0e 34 00 00       	call   0x426550
423142:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
423148:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
42314d:	74 07                	je     0x423156
42314f:	3d 00 00 00 80       	cmp    $0x80000000,%eax
423154:	75 08                	jne    0x42315e
423156:	33 c0                	xor    %eax,%eax
423158:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
42315e:	89 9d 30 fe ff ff    	mov    %ebx,-0x1d0(%ebp)
423164:	33 db                	xor    %ebx,%ebx
423166:	85 ff                	test   %edi,%edi
423168:	89 bd 34 fe ff ff    	mov    %edi,-0x1cc(%ebp)
42316e:	0f 95 c3             	setne  %bl
423171:	43                   	inc    %ebx
423172:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
423178:	85 f6                	test   %esi,%esi
42317a:	0f 88 ed 03 00 00    	js     0x42356d
423180:	83 a5 90 fa ff ff 00 	andl   $0x0,-0x570(%ebp)
423187:	6a 02                	push   $0x2
423189:	5e                   	pop    %esi
42318a:	c7 85 94 fa ff ff 00 	movl   $0x100000,-0x56c(%ebp)
423191:	00 10 00
423194:	89 b5 8c fa ff ff    	mov    %esi,-0x574(%ebp)
42319a:	3b de                	cmp    %esi,%ebx
42319c:	0f 85 00 02 00 00    	jne    0x4233a2
4231a2:	33 c9                	xor    %ecx,%ecx
4231a4:	8b 84 0d 90 fa ff ff 	mov    -0x570(%ebp,%ecx,1),%eax
4231ab:	3b 84 0d 30 fe ff ff 	cmp    -0x1d0(%ebp,%ecx,1),%eax
4231b2:	0f 85 ea 01 00 00    	jne    0x4233a2
4231b8:	83 c1 04             	add    $0x4,%ecx
4231bb:	83 f9 08             	cmp    $0x8,%ecx
4231be:	75 e4                	jne    0x4231a4
4231c0:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
4231c6:	33 d2                	xor    %edx,%edx
4231c8:	83 c0 02             	add    $0x2,%eax
4231cb:	8b f0                	mov    %eax,%esi
4231cd:	83 e0 1f             	and    $0x1f,%eax
4231d0:	6a 20                	push   $0x20
4231d2:	59                   	pop    %ecx
4231d3:	2b c8                	sub    %eax,%ecx
4231d5:	89 85 a4 f8 ff ff    	mov    %eax,-0x75c(%ebp)
4231db:	33 c0                	xor    %eax,%eax
4231dd:	c1 ee 05             	shr    $0x5,%esi
4231e0:	40                   	inc    %eax
4231e1:	89 b5 b0 f8 ff ff    	mov    %esi,-0x750(%ebp)
4231e7:	89 8d 90 f8 ff ff    	mov    %ecx,-0x770(%ebp)
4231ed:	e8 de 31 00 00       	call   0x4263d0
4231f2:	83 a5 9c f8 ff ff 00 	andl   $0x0,-0x764(%ebp)
4231f9:	48                   	dec    %eax
4231fa:	0f bd cf             	bsr    %edi,%ecx
4231fd:	89 85 a8 f8 ff ff    	mov    %eax,-0x758(%ebp)
423203:	f7 d0                	not    %eax
423205:	89 85 8c f8 ff ff    	mov    %eax,-0x774(%ebp)
42320b:	74 03                	je     0x423210
42320d:	41                   	inc    %ecx
42320e:	eb 02                	jmp    0x423212
423210:	33 c9                	xor    %ecx,%ecx
423212:	6a 20                	push   $0x20