426f10:	8b ff                	mov    %edi,%edi
426f12:	56                   	push   %esi
426f13:	57                   	push   %edi
426f14:	8b f2                	mov    %edx,%esi
426f16:	8b f9                	mov    %ecx,%edi
426f18:	ff 15 70 c2 42 00    	call   *0x42c270
426f1e:	3b f8                	cmp    %eax,%edi
426f20:	74 16                	je     0x426f38
426f22:	56                   	push   %esi
426f23:	6a 08                	push   $0x8
426f25:	57                   	push   %edi
426f26:	ff 15 68 c0 42 00    	call   *0x42c068
426f2c:	85 c0                	test   %eax,%eax
426f2e:	75 0e                	jne    0x426f3e
426f30:	5f                   	pop    %edi
426f31:	5e                   	pop    %esi
426f32:	ff 25 18 c2 42 00    	jmp    *0x42c218
426f38:	c7 06 fc ff ff ff    	movl   $0xfffffffc,(%esi)
426f3e:	5f                   	pop    %edi
426f3f:	33 c0                	xor    %eax,%eax
426f41:	5e                   	pop    %esi
426f42:	c3                   	ret
426f43:	8b ff                	mov    %edi,%edi
426f45:	55                   	push   %ebp
426f46:	8b ec                	mov    %esp,%ebp
426f48:	83 ec 1c             	sub    $0x1c,%esp
426f4b:	53                   	push   %ebx
426f4c:	56                   	push   %esi
426f4d:	57                   	push   %edi
426f4e:	8d 45 fc             	lea    -0x4(%ebp),%eax
426f51:	89 55 f0             	mov    %edx,-0x10(%ebp)
426f54:	50                   	push   %eax
426f55:	33 ff                	xor    %edi,%edi
426f57:	8b d9                	mov    %ecx,%ebx
426f59:	57                   	push   %edi
426f5a:	57                   	push   %edi
426f5b:	6a 27                	push   $0x27
426f5d:	53                   	push   %ebx
426f5e:	ff 15 64 c4 42 00    	call   *0x42c464
426f64:	3d 23 00 00 c0       	cmp    $0xc0000023,%eax
426f69:	74 1a                	je     0x426f85
426f6b:	85 c0                	test   %eax,%eax
426f6d:	75 0a                	jne    0x426f79
426f6f:	b8 4f 05 00 00       	mov    $0x54f,%eax
426f74:	e9 a1 00 00 00       	jmp    0x42701a
426f79:	50                   	push   %eax
426f7a:	ff 15 78 c4 42 00    	call   *0x42c478
426f80:	e9 95 00 00 00       	jmp    0x42701a
426f85:	8b 4d fc             	mov    -0x4(%ebp),%ecx
426f88:	e8 c4 03 00 00       	call   0x427351
426f8d:	8b f0                	mov    %eax,%esi
426f8f:	85 f6                	test   %esi,%esi
426f91:	75 05                	jne    0x426f98
426f93:	6a 08                	push   $0x8
426f95:	5f                   	pop    %edi
426f96:	eb 7a                	jmp    0x427012
426f98:	ff 75 fc             	push   -0x4(%ebp)
426f9b:	57                   	push   %edi
426f9c:	56                   	push   %esi
426f9d:	e8 0b 14 00 00       	call   0x4283ad
426fa2:	83 c4 0c             	add    $0xc,%esp
426fa5:	8d 45 fc             	lea    -0x4(%ebp),%eax
426fa8:	50                   	push   %eax
426fa9:	ff 75 fc             	push   -0x4(%ebp)
426fac:	56                   	push   %esi
426fad:	6a 27                	push   $0x27
426faf:	53                   	push   %ebx
426fb0:	ff 15 64 c4 42 00    	call   *0x42c464
426fb6:	85 c0                	test   %eax,%eax
426fb8:	79 0b                	jns    0x426fc5
426fba:	50                   	push   %eax
426fbb:	ff 15 78 c4 42 00    	call   *0x42c478
426fc1:	8b f8                	mov    %eax,%edi
426fc3:	eb 4d                	jmp    0x427012
426fc5:	39 7e 04             	cmp    %edi,0x4(%esi)
426fc8:	76 43                	jbe    0x42700d
426fca:	68 98 5c 40 00       	push   $0x405c98
426fcf:	8d 45 e8             	lea    -0x18(%ebp),%eax
426fd2:	50                   	push   %eax
426fd3:	ff 15 58 c4 42 00    	call   *0x42c458
426fd9:	8b df                	mov    %edi,%ebx
426fdb:	39 7e 04             	cmp    %edi,0x4(%esi)
426fde:	76 2d                	jbe    0x42700d
426fe0:	8b c7                	mov    %edi,%eax
426fe2:	89 7d f8             	mov    %edi,-0x8(%ebp)
426fe5:	8b 4e 08             	mov    0x8(%esi),%ecx
426fe8:	03 c8                	add    %eax,%ecx
426fea:	8d 45 e8             	lea    -0x18(%ebp),%eax
426fed:	6a 01                	push   $0x1
426fef:	51                   	push   %ecx
426ff0:	50                   	push   %eax
426ff1:	89 4d f4             	mov    %ecx,-0xc(%ebp)
426ff4:	ff 15 7c c4 42 00    	call   *0x42c47c
426ffa:	85 c0                	test   %eax,%eax
426ffc:	74 23                	je     0x427021
426ffe:	8b 45 f8             	mov    -0x8(%ebp),%eax
427001:	43                   	inc    %ebx
427002:	83 c0 18             	add    $0x18,%eax
427005:	89 45 f8             	mov    %eax,-0x8(%ebp)
427008:	3b 5e 04             	cmp    0x4(%esi),%ebx
42700b:	72 d8                	jb     0x426fe5
42700d:	bf 90 04 00 00       	mov    $0x490,%edi
427012:	56                   	push   %esi
427013:	e8 66 03 00 00       	call   0x42737e
427018:	8b c7                	mov    %edi,%eax
42701a:	5f                   	pop    %edi
42701b:	5e                   	pop    %esi
42701c:	5b                   	pop    %ebx
42701d:	c9                   	leave
42701e:	c2 08 00             	ret    $0x8
427021:	8b 45 08             	mov    0x8(%ebp),%eax
427024:	8b 4d f4             	mov    -0xc(%ebp),%ecx
427027:	89 08                	mov    %ecx,(%eax)
427029:	8b c6                	mov    %esi,%eax
42702b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42702e:	8b f7                	mov    %edi,%esi
427030:	89 01                	mov    %eax,(%ecx)
427032:	eb de                	jmp    0x427012
427034:	8b ff                	mov    %edi,%edi
427036:	55                   	push   %ebp
427037:	8b ec                	mov    %esp,%ebp
427039:	51                   	push   %ecx
42703a:	53                   	push   %ebx
42703b:	8b 59 14             	mov    0x14(%ecx),%ebx
42703e:	56                   	push   %esi
42703f:	57                   	push   %edi
427040:	6a 5f                	push   $0x5f
427042:	0f b7 33             	movzwl (%ebx),%esi
427045:	8b fa                	mov    %edx,%edi
427047:	ff 73 04             	push   0x4(%ebx)
42704a:	d1 ee                	shr    $1,%esi
42704c:	ff 15 30 c3 42 00    	call   *0x42c330
427052:	59                   	pop    %ecx
427053:	59                   	pop    %ecx
427054:	8b 4b 04             	mov    0x4(%ebx),%ecx
427057:	83 c6 f3             	add    $0xfffffff3,%esi
42705a:	8d 50 02             	lea    0x2(%eax),%edx
42705d:	8b 45 08             	mov    0x8(%ebp),%eax
427060:	2b d1                	sub    %ecx,%edx
427062:	d1 fa                	sar    $1,%edx
427064:	8d 34 71             	lea    (%ecx,%esi,2),%esi
427067:	89 55 fc             	mov    %edx,-0x4(%ebp)
42706a:	8d 4a 0e             	lea    0xe(%edx),%ecx
42706d:	89 08                	mov    %ecx,(%eax)
42706f:	3b f9                	cmp    %ecx,%edi
427071:	73 05                	jae    0x427078
427073:	6a 7a                	push   $0x7a
427075:	58                   	pop    %eax
427076:	eb 28                	jmp    0x4270a0
427078:	8d 3c 12             	lea    (%edx,%edx,1),%edi
42707b:	57                   	push   %edi
42707c:	ff 73 04             	push   0x4(%ebx)
42707f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
427082:	53                   	push   %ebx
427083:	e8 19 13 00 00       	call   0x4283a1
427088:	83 c4 0c             	add    $0xc,%esp
42708b:	8b 45 fc             	mov    -0x4(%ebp),%eax
42708e:	03 fb                	add    %ebx,%edi
427090:	6a 06                	push   $0x6
427092:	59                   	pop    %ecx
427093:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
427095:	33 c9                	xor    %ecx,%ecx
427097:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
427099:	66 89 4c 43 1a       	mov    %cx,0x1a(%ebx,%eax,2)
42709e:	33 c0                	xor    %eax,%eax
4270a0:	5f                   	pop    %edi
4270a1:	5e                   	pop    %esi
4270a2:	5b                   	pop    %ebx
4270a3:	c9                   	leave
4270a4:	c2 08 00             	ret    $0x8
4270a7:	8b ff                	mov    %edi,%edi
4270a9:	55                   	push   %ebp
4270aa:	8b ec                	mov    %esp,%ebp
4270ac:	51                   	push   %ecx
4270ad:	51                   	push   %ecx
4270ae:	8b 41 14             	mov    0x14(%ecx),%eax
4270b1:	53                   	push   %ebx
4270b2:	56                   	push   %esi
4270b3:	57                   	push   %edi
4270b4:	0f b7 70 08          	movzwl 0x8(%eax),%esi
4270b8:	8b fa                	mov    %edx,%edi
4270ba:	d1 ee                	shr    $1,%esi
4270bc:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4270bf:	8d 5e 01             	lea    0x1(%esi),%ebx
4270c2:	85 db                	test   %ebx,%ebx
4270c4:	75 18                	jne    0x4270de
4270c6:	03 f6                	add    %esi,%esi
4270c8:	56                   	push   %esi
4270c9:	ff 70 0c             	push   0xc(%eax)
4270cc:	53                   	push   %ebx
4270cd:	e8 cf 12 00 00       	call   0x4283a1
4270d2:	83 c4 0c             	add    $0xc,%esp
4270d5:	33 c0                	xor    %eax,%eax
4270d7:	66 89 06             	mov    %ax,(%esi)
4270da:	33 c0                	xor    %eax,%eax
4270dc:	eb 59                	jmp    0x427137
4270de:	ff 75 0c             	push   0xc(%ebp)
4270e1:	8d 45 fc             	lea    -0x4(%ebp),%eax
4270e4:	50                   	push   %eax
4270e5:	e8 4a ff ff ff       	call   0x427034
4270ea:	8b 75 fc             	mov    -0x4(%ebp),%esi
4270ed:	83 f8 7a             	cmp    $0x7a,%eax
4270f0:	74 3a                	je     0x42712c
4270f2:	85 c0                	test   %eax,%eax
4270f4:	75 41                	jne    0x427137
4270f6:	8d 04 33             	lea    (%ebx,%esi,1),%eax
4270f9:	3b f8                	cmp    %eax,%edi
4270fb:	72 2f                	jb     0x42712c
4270fd:	8b 45 0c             	mov    0xc(%ebp),%eax
427100:	4e                   	dec    %esi
427101:	6a 21                	push   $0x21
427103:	59                   	pop    %ecx
427104:	2b fe                	sub    %esi,%edi
427106:	66 89 0c 70          	mov    %cx,(%eax,%esi,2)
42710a:	8d 04 70             	lea    (%eax,%esi,2),%eax
42710d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
427110:	83 c0 02             	add    $0x2,%eax
427113:	50                   	push   %eax
427114:	8d 45 fc             	lea    -0x4(%ebp),%eax
427117:	50                   	push   %eax
427118:	8d 57 ff             	lea    -0x1(%edi),%edx
42711b:	e8 1e 00 00 00       	call   0x42713e
427120:	8b 45 08             	mov    0x8(%ebp),%eax
427123:	8d 4e 01             	lea    0x1(%esi),%ecx
427126:	03 cb                	add    %ebx,%ecx
427128:	89 08                	mov    %ecx,(%eax)
42712a:	eb ae                	jmp    0x4270da
42712c:	8b 4d 08             	mov    0x8(%ebp),%ecx
42712f:	8d 14 33             	lea    (%ebx,%esi,1),%edx
427132:	6a 7a                	push   $0x7a
427134:	58                   	pop    %eax
427135:	89 11                	mov    %edx,(%ecx)
427137:	5f                   	pop    %edi
427138:	5e                   	pop    %esi
427139:	5b                   	pop    %ebx
42713a:	c9                   	leave
42713b:	c2 08 00             	ret    $0x8
42713e:	8b ff                	mov    %edi,%edi
427140:	55                   	push   %ebp
427141:	8b ec                	mov    %esp,%ebp
427143:	8b 45 08             	mov    0x8(%ebp),%eax
427146:	56                   	push   %esi
427147:	8b 71 14             	mov    0x14(%ecx),%esi
42714a:	57                   	push   %edi
42714b:	0f b7 7e 08          	movzwl 0x8(%esi),%edi
42714f:	d1 ef                	shr    $1,%edi
427151:	8d 4f 01             	lea    0x1(%edi),%ecx
427154:	89 08                	mov    %ecx,(%eax)
427156:	3b d1                	cmp    %ecx,%edx
427158:	73 05                	jae    0x42715f
42715a:	6a 7a                	push   $0x7a
42715c:	58                   	pop    %eax
42715d:	eb 18                	jmp    0x427177
42715f:	03 ff                	add    %edi,%edi
427161:	57                   	push   %edi
427162:	ff 76 0c             	push   0xc(%esi)
427165:	8b 75 0c             	mov    0xc(%ebp),%esi
427168:	56                   	push   %esi
427169:	e8 33 12 00 00       	call   0x4283a1
42716e:	83 c4 0c             	add    $0xc,%esp
427171:	33 c0                	xor    %eax,%eax
427173:	66 89 04 37          	mov    %ax,(%edi,%esi,1)
427177:	5f                   	pop    %edi
427178:	5e                   	pop    %esi
427179:	5d                   	pop    %ebp
42717a:	c2 08 00             	ret    $0x8
42717d:	8b ff                	mov    %edi,%edi
42717f:	55                   	push   %ebp
427180:	8b ec                	mov    %esp,%ebp
427182:	83 ec 24             	sub    $0x24,%esp
427185:	53                   	push   %ebx
427186:	56                   	push   %esi
427187:	8b c2                	mov    %edx,%eax
427189:	33 f6                	xor    %esi,%esi
42718b:	57                   	push   %edi
42718c:	8b f9                	mov    %ecx,%edi
42718e:	89 45 e8             	mov    %eax,-0x18(%ebp)
427191:	8d 4d e0             	lea    -0x20(%ebp),%ecx
427194:	89 75 e0             	mov    %esi,-0x20(%ebp)
427197:	89 30                	mov    %esi,(%eax)
427199:	89 75 e4             	mov    %esi,-0x1c(%ebp)
42719c:	e8 47 fd ff ff       	call   0x426ee8
4271a1:	8d 55 fc             	lea    -0x4(%ebp),%edx
4271a4:	8b cf                	mov    %edi,%ecx
4271a6:	e8 65 fd ff ff       	call   0x426f10
4271ab:	8b f8                	mov    %eax,%edi
4271ad:	85 ff                	test   %edi,%edi
4271af:	75 23                	jne    0x4271d4
4271b1:	51                   	push   %ecx
4271b2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4271b5:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4271b8:	50                   	push   %eax
4271b9:	8d 55 e0             	lea    -0x20(%ebp),%edx
4271bc:	e8 82 fd ff ff       	call   0x426f43
4271c1:	83 7d fc fc          	cmpl   $0xfffffffc,-0x4(%ebp)
4271c5:	8b f8                	mov    %eax,%edi
4271c7:	74 09                	je     0x4271d2
4271c9:	ff 75 fc             	push   -0x4(%ebp)
4271cc:	ff 15 30 c2 42 00    	call   *0x42c230
4271d2:	85 ff                	test   %edi,%edi
4271d4:	7e 09                	jle    0x4271df
4271d6:	0f b7 ff             	movzwl %di,%edi
4271d9:	81 cf 00 00 07 80    	or     $0x80070000,%edi
4271df:	81 ff 90 04 07 80    	cmp    $0x80070490,%edi
4271e5:	0f 84 57 01 00 00    	je     0x427342
4271eb:	81 ff 05 00 07 80    	cmp    $0x80070005,%edi
4271f1:	0f 84 4b 01 00 00    	je     0x427342
4271f7:	85 ff                	test   %edi,%edi
4271f9:	79 0a                	jns    0x427205
4271fb:	ba a5 00 00 00       	mov    $0xa5,%edx
427200:	e9 c0 00 00 00       	jmp    0x4272c5
427205:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
427208:	8b 5b 14             	mov    0x14(%ebx),%ebx
42720b:	0f b7 7b 08          	movzwl 0x8(%ebx),%edi
42720f:	d1 ef                	shr    $1,%edi
427211:	8d 47 01             	lea    0x1(%edi),%eax
427214:	89 45 f8             	mov    %eax,-0x8(%ebp)
427217:	85 c0                	test   %eax,%eax
427219:	75 19                	jne    0x427234
42721b:	03 ff                	add    %edi,%edi
42721d:	57                   	push   %edi
42721e:	ff 73 0c             	push   0xc(%ebx)
427221:	56                   	push   %esi
427222:	e8 7a 11 00 00       	call   0x4283a1
427227:	83 c4 0c             	add    $0xc,%esp
42722a:	33 c0                	xor    %eax,%eax
42722c:	66 89 07             	mov    %ax,(%edi)
42722f:	e9 87 00 00 00       	jmp    0x4272bb
427234:	0f b7 03             	movzwl (%ebx),%eax
427237:	6a 5f                	push   $0x5f
427239:	ff 73 04             	push   0x4(%ebx)
42723c:	d1 e8                	shr    $1,%eax
42723e:	89 45 fc             	mov    %eax,-0x4(%ebp)
427241:	ff 15 30 c3 42 00    	call   *0x42c330
427247:	59                   	pop    %ecx
427248:	83 c0 02             	add    $0x2,%eax
42724b:	59                   	pop    %ecx
42724c:	8b 4b 04             	mov    0x4(%ebx),%ecx
42724f:	2b c1                	sub    %ecx,%eax
427251:	d1 f8                	sar    $1,%eax
427253:	89 4d f4             	mov    %ecx,-0xc(%ebp)
427256:	89 45 f0             	mov    %eax,-0x10(%ebp)
427259:	8d 58 0e             	lea    0xe(%eax),%ebx
42725c:	89 5d ec             	mov    %ebx,-0x14(%ebp)
42725f:	85 db                	test   %ebx,%ebx
427261:	75 72                	jne    0x4272d5
427263:	8d 3c 00             	lea    (%eax,%eax,1),%edi
427266:	57                   	push   %edi
427267:	51                   	push   %ecx
427268:	56                   	push   %esi