426d7b:	74 16                	je     0x426d93
426d7d:	0f b7 1c 0e          	movzwl (%esi,%ecx,1),%ebx
426d81:	66 85 db             	test   %bx,%bx
426d84:	74 0d                	je     0x426d93
426d86:	66 89 19             	mov    %bx,(%ecx)
426d89:	83 c1 02             	add    $0x2,%ecx
426d8c:	4f                   	dec    %edi
426d8d:	40                   	inc    %eax
426d8e:	83 ea 01             	sub    $0x1,%edx
426d91:	75 e6                	jne    0x426d79
426d93:	5f                   	pop    %edi
426d94:	5b                   	pop    %ebx
426d95:	85 d2                	test   %edx,%edx
426d97:	75 04                	jne    0x426d9d
426d99:	83 e9 02             	sub    $0x2,%ecx
426d9c:	48                   	dec    %eax
426d9d:	f7 da                	neg    %edx
426d9f:	1b d2                	sbb    %edx,%edx
426da1:	33 f6                	xor    %esi,%esi
426da3:	66 89 31             	mov    %si,(%ecx)
426da6:	81 e2 86 ff f8 7f    	and    $0x7ff8ff86,%edx
426dac:	8b 4d 08             	mov    0x8(%ebp),%ecx
426daf:	5e                   	pop    %esi
426db0:	85 c9                	test   %ecx,%ecx
426db2:	74 02                	je     0x426db6
426db4:	89 01                	mov    %eax,(%ecx)
426db6:	8d 82 7a 00 07 80    	lea    -0x7ff8ff86(%edx),%eax
426dbc:	5d                   	pop    %ebp
426dbd:	c2 0c 00             	ret    $0xc
426dc0:	8b ff                	mov    %edi,%edi
426dc2:	55                   	push   %ebp
426dc3:	8b ec                	mov    %esp,%ebp
426dc5:	56                   	push   %esi
426dc6:	8b 75 1c             	mov    0x1c(%ebp),%esi
426dc9:	85 f6                	test   %esi,%esi
426dcb:	7e 09                	jle    0x426dd6
426dcd:	0f b7 f6             	movzwl %si,%esi
426dd0:	81 ce 00 00 07 80    	or     $0x80070000,%esi
426dd6:	51                   	push   %ecx
426dd7:	51                   	push   %ecx
426dd8:	56                   	push   %esi
426dd9:	6a 01                	push   $0x1
426ddb:	ff 75 14             	push   0x14(%ebp)
426dde:	ba ac 00 00 00       	mov    $0xac,%edx
426de3:	6a 00                	push   $0x0
426de5:	6a 00                	push   $0x0
426de7:	68 b8 5c 40 00       	push   $0x405cb8
426dec:	e8 5b 71 fe ff       	call   0x40df4c
426df1:	8b c6                	mov    %esi,%eax
426df3:	5e                   	pop    %esi
426df4:	5d                   	pop    %ebp
426df5:	c2 18 00             	ret    $0x18
426df8:	8b ff                	mov    %edi,%edi
426dfa:	55                   	push   %ebp
426dfb:	8b ec                	mov    %esp,%ebp
426dfd:	ff 75 0c             	push   0xc(%ebp)
426e00:	51                   	push   %ecx
426e01:	ff 75 04             	push   0x4(%ebp)
426e04:	83 ec 0c             	sub    $0xc,%esp
426e07:	e8 b4 ff ff ff       	call   0x426dc0
426e0c:	5d                   	pop    %ebp
426e0d:	c2 08 00             	ret    $0x8
426e10:	8b ff                	mov    %edi,%edi
426e12:	55                   	push   %ebp
426e13:	8b ec                	mov    %esp,%ebp
426e15:	51                   	push   %ecx
426e16:	57                   	push   %edi
426e17:	8b fa                	mov    %edx,%edi
426e19:	f6 c1 01             	test   $0x1,%cl
426e1c:	74 4e                	je     0x426e6c
426e1e:	53                   	push   %ebx
426e1f:	56                   	push   %esi
426e20:	8b 37                	mov    (%edi),%esi
426e22:	8d 45 fc             	lea    -0x4(%ebp),%eax
426e25:	50                   	push   %eax
426e26:	6a 01                	push   $0x1
426e28:	33 db                	xor    %ebx,%ebx
426e2a:	ff 15 fc c1 42 00    	call   *0x42c1fc
426e30:	85 c0                	test   %eax,%eax
426e32:	78 29                	js     0x426e5d
426e34:	8b 45 fc             	mov    -0x4(%ebp),%eax
426e37:	56                   	push   %esi
426e38:	50                   	push   %eax
426e39:	8b 08                	mov    (%eax),%ecx
426e3b:	8b 71 18             	mov    0x18(%ecx),%esi
426e3e:	8b ce                	mov    %esi,%ecx
426e40:	ff 15 d4 c4 42 00    	call   *0x42c4d4
426e46:	ff d6                	call   *%esi
426e48:	8b 4d fc             	mov    -0x4(%ebp),%ecx
426e4b:	8b d8                	mov    %eax,%ebx
426e4d:	51                   	push   %ecx
426e4e:	8b 11                	mov    (%ecx),%edx
426e50:	8b 72 08             	mov    0x8(%edx),%esi
426e53:	8b ce                	mov    %esi,%ecx
426e55:	ff 15 d4 c4 42 00    	call   *0x42c4d4
426e5b:	ff d6                	call   *%esi
426e5d:	53                   	push   %ebx
426e5e:	6a 00                	push   $0x0
426e60:	ff 37                	push   (%edi)
426e62:	e8 46 15 00 00       	call   0x4283ad
426e67:	83 c4 0c             	add    $0xc,%esp
426e6a:	5e                   	pop    %esi
426e6b:	5b                   	pop    %ebx
426e6c:	33 c0                	xor    %eax,%eax
426e6e:	5f                   	pop    %edi
426e6f:	c9                   	leave
426e70:	c3                   	ret
426e71:	8b ff                	mov    %edi,%edi
426e73:	55                   	push   %ebp
426e74:	8b ec                	mov    %esp,%ebp
426e76:	51                   	push   %ecx
426e77:	53                   	push   %ebx
426e78:	56                   	push   %esi
426e79:	57                   	push   %edi
426e7a:	8b 7d 08             	mov    0x8(%ebp),%edi
426e7d:	8d 45 fc             	lea    -0x4(%ebp),%eax
426e80:	8b da                	mov    %edx,%ebx
426e82:	50                   	push   %eax
426e83:	8b cb                	mov    %ebx,%ecx
426e85:	83 27 00             	andl   $0x0,(%edi)
426e88:	e8 7e 5f fe ff       	call   0x40ce0b
426e8d:	8b f0                	mov    %eax,%esi
426e8f:	85 f6                	test   %esi,%esi
426e91:	78 4c                	js     0x426edf
426e93:	8b 45 fc             	mov    -0x4(%ebp),%eax
426e96:	6a 02                	push   $0x2
426e98:	59                   	pop    %ecx
426e99:	f7 e1                	mul    %ecx
426e9b:	85 d2                	test   %edx,%edx
426e9d:	77 3b                	ja     0x426eda
426e9f:	72 05                	jb     0x426ea6
426ea1:	83 f8 ff             	cmp    $0xffffffff,%eax
426ea4:	77 34                	ja     0x426eda
426ea6:	50                   	push   %eax
426ea7:	ff 15 00 c2 42 00    	call   *0x42c200
426ead:	89 07                	mov    %eax,(%edi)
426eaf:	85 c0                	test   %eax,%eax
426eb1:	74 0d                	je     0x426ec0
426eb3:	8b d7                	mov    %edi,%edx
426eb5:	33 c9                	xor    %ecx,%ecx
426eb7:	e8 54 ff ff ff       	call   0x426e10
426ebc:	8b f0                	mov    %eax,%esi
426ebe:	eb 05                	jmp    0x426ec5
426ec0:	be 0e 00 07 80       	mov    $0x8007000e,%esi
426ec5:	85 f6                	test   %esi,%esi
426ec7:	78 16                	js     0x426edf
426ec9:	8b 55 fc             	mov    -0x4(%ebp),%edx
426ecc:	83 ec 0c             	sub    $0xc,%esp
426ecf:	53                   	push   %ebx
426ed0:	51                   	push   %ecx
426ed1:	8b 0f                	mov    (%edi),%ecx
426ed3:	e8 00 fe ff ff       	call   0x426cd8
426ed8:	eb 05                	jmp    0x426edf
426eda:	be 16 02 07 80       	mov    $0x80070216,%esi
426edf:	5f                   	pop    %edi
426ee0:	8b c6                	mov    %esi,%eax
426ee2:	5e                   	pop    %esi
426ee3:	5b                   	pop    %ebx
426ee4:	c9                   	leave
426ee5:	c2 04 00             	ret    $0x4
426ee8:	8b ff                	mov    %edi,%edi
426eea:	56                   	push   %esi
426eeb:	8b f1                	mov    %ecx,%esi
426eed:	83 3e 00             	cmpl   $0x0,(%esi)
426ef0:	74 1a                	je     0x426f0c
426ef2:	ff 36                	push   (%esi)
426ef4:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
426efa:	6a 00                	push   $0x0
426efc:	ff 70 18             	push   0x18(%eax)
426eff:	ff 15 e8 c3 42 00    	call   *0x42c3e8
426f05:	83 26 00             	andl   $0x0,(%esi)
426f08:	83 66 04 00          	andl   $0x0,0x4(%esi)
426f0c:	33 c0                	xor    %eax,%eax
426f0e:	5e                   	pop    %esi
426f0f:	c3                   	ret
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