492d7d:	76 2b                	jbe    0x492daa
492d7f:	83 fb 01             	cmp    $0x1,%ebx
492d82:	76 33                	jbe    0x492db7
492d84:	81 e9 00 00 01 00    	sub    $0x10000,%ecx
492d8a:	4b                   	dec    %ebx
492d8b:	8b c1                	mov    %ecx,%eax
492d8d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
492d90:	c1 e8 0a             	shr    $0xa,%eax
492d93:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
492d99:	0d 00 d8 00 00       	or     $0xd800,%eax
492d9e:	66 89 06             	mov    %ax,(%esi)
492da1:	83 c6 02             	add    $0x2,%esi
492da4:	81 c9 00 dc 00 00    	or     $0xdc00,%ecx
492daa:	66 89 0e             	mov    %cx,(%esi)
492dad:	03 fa                	add    %edx,%edi
492daf:	83 c6 02             	add    $0x2,%esi
492db2:	83 eb 01             	sub    $0x1,%ebx
492db5:	75 95                	jne    0x492d4c
492db7:	8b 5d 0c             	mov    0xc(%ebp),%ebx
492dba:	2b 75 08             	sub    0x8(%ebp),%esi
492dbd:	d1 fe                	sar    $1,%esi
492dbf:	89 3b                	mov    %edi,(%ebx)
492dc1:	8b c6                	mov    %esi,%eax
492dc3:	eb 67                	jmp    0x492e2c
492dc5:	33 ff                	xor    %edi,%edi
492dc7:	33 c0                	xor    %eax,%eax
492dc9:	66 89 06             	mov    %ax,(%esi)
492dcc:	eb e9                	jmp    0x492db7
492dce:	8b 45 0c             	mov    0xc(%ebp),%eax
492dd1:	89 38                	mov    %edi,(%eax)
492dd3:	8b 45 18             	mov    0x18(%ebp),%eax
492dd6:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
492dda:	c7 40 18 2a 00 00 00 	movl   $0x2a,0x18(%eax)
492de1:	83 c8 ff             	or     $0xffffffff,%eax
492de4:	eb 46                	jmp    0x492e2c
492de6:	57                   	push   %edi
492de7:	8d 4d ff             	lea    -0x1(%ebp),%ecx
492dea:	33 f6                	xor    %esi,%esi
492dec:	e8 c9 fe ff ff       	call   0x492cba
492df1:	8b 5d 18             	mov    0x18(%ebp),%ebx
492df4:	eb 16                	jmp    0x492e0c
492df6:	85 c0                	test   %eax,%eax
492df8:	74 c7                	je     0x492dc1
492dfa:	83 f8 04             	cmp    $0x4,%eax
492dfd:	75 01                	jne    0x492e00
492dff:	46                   	inc    %esi
492e00:	03 f8                	add    %eax,%edi
492e02:	8d 4d ff             	lea    -0x1(%ebp),%ecx
492e05:	57                   	push   %edi
492e06:	46                   	inc    %esi
492e07:	e8 ae fe ff ff       	call   0x492cba
492e0c:	53                   	push   %ebx
492e0d:	ff 75 14             	push   0x14(%ebp)
492e10:	50                   	push   %eax
492e11:	57                   	push   %edi
492e12:	6a 00                	push   $0x0
492e14:	e8 b9 20 00 00       	call   0x494ed2
492e19:	83 c4 14             	add    $0x14,%esp
492e1c:	83 f8 ff             	cmp    $0xffffffff,%eax
492e1f:	75 d5                	jne    0x492df6
492e21:	c6 43 1c 01          	movb   $0x1,0x1c(%ebx)
492e25:	c7 43 18 2a 00 00 00 	movl   $0x2a,0x18(%ebx)
492e2c:	5f                   	pop    %edi
492e2d:	5e                   	pop    %esi
492e2e:	5b                   	pop    %ebx
492e2f:	c9                   	leave
492e30:	c3                   	ret
492e31:	8b ff                	mov    %edi,%edi
492e33:	55                   	push   %ebp
492e34:	8b ec                	mov    %esp,%ebp
492e36:	8b 4d 08             	mov    0x8(%ebp),%ecx
492e39:	83 f9 fe             	cmp    $0xfffffffe,%ecx
492e3c:	75 0d                	jne    0x492e4b
492e3e:	e8 f2 70 fe ff       	call   0x479f35
492e43:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
492e49:	eb 38                	jmp    0x492e83
492e4b:	85 c9                	test   %ecx,%ecx
492e4d:	78 24                	js     0x492e73
492e4f:	3b 0d 00 8a 4c 00    	cmp    0x4c8a00,%ecx
492e55:	73 1c                	jae    0x492e73
492e57:	8b c1                	mov    %ecx,%eax
492e59:	83 e1 3f             	and    $0x3f,%ecx
492e5c:	c1 e8 06             	shr    $0x6,%eax
492e5f:	6b c9 38             	imul   $0x38,%ecx,%ecx
492e62:	8b 04 85 00 88 4c 00 	mov    0x4c8800(,%eax,4),%eax
492e69:	0f b6 44 08 28       	movzbl 0x28(%eax,%ecx,1),%eax
492e6e:	83 e0 40             	and    $0x40,%eax
492e71:	5d                   	pop    %ebp
492e72:	c3                   	ret
492e73:	e8 bd 70 fe ff       	call   0x479f35
492e78:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
492e7e:	e8 9e 67 fe ff       	call   0x479621
492e83:	33 c0                	xor    %eax,%eax
492e85:	5d                   	pop    %ebp
492e86:	c3                   	ret
492e87:	8b ff                	mov    %edi,%edi
492e89:	55                   	push   %ebp
492e8a:	8b ec                	mov    %esp,%ebp
492e8c:	51                   	push   %ecx
492e8d:	e8 10 22 00 00       	call   0x4950a2
492e92:	85 c0                	test   %eax,%eax
492e94:	74 1c                	je     0x492eb2
492e96:	8d 45 fc             	lea    -0x4(%ebp),%eax
492e99:	50                   	push   %eax
492e9a:	8d 45 08             	lea    0x8(%ebp),%eax
492e9d:	6a 01                	push   $0x1
492e9f:	50                   	push   %eax
492ea0:	e8 42 22 00 00       	call   0x4950e7
492ea5:	83 c4 0c             	add    $0xc,%esp
492ea8:	85 c0                	test   %eax,%eax
492eaa:	74 06                	je     0x492eb2
492eac:	66 8b 45 08          	mov    0x8(%ebp),%ax
492eb0:	c9                   	leave
492eb1:	c3                   	ret
492eb2:	b8 ff ff 00 00       	mov    $0xffff,%eax
492eb7:	c9                   	leave
492eb8:	c3                   	ret
492eb9:	8b ff                	mov    %edi,%edi
492ebb:	55                   	push   %ebp
492ebc:	8b ec                	mov    %esp,%ebp
492ebe:	53                   	push   %ebx
492ebf:	56                   	push   %esi
492ec0:	57                   	push   %edi
492ec1:	33 ff                	xor    %edi,%edi
492ec3:	bb e3 00 00 00       	mov    $0xe3,%ebx
492ec8:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
492ecb:	99                   	cltd
492ecc:	2b c2                	sub    %edx,%eax
492ece:	8b f0                	mov    %eax,%esi
492ed0:	d1 fe                	sar    $1,%esi
492ed2:	6a 55                	push   $0x55
492ed4:	ff 34 f5 88 62 4a 00 	push   0x4a6288(,%esi,8)
492edb:	ff 75 08             	push   0x8(%ebp)
492ede:	e8 f6 74 fe ff       	call   0x47a3d9
492ee3:	83 c4 0c             	add    $0xc,%esp
492ee6:	85 c0                	test   %eax,%eax
492ee8:	74 13                	je     0x492efd
492eea:	79 05                	jns    0x492ef1
492eec:	8d 5e ff             	lea    -0x1(%esi),%ebx
492eef:	eb 03                	jmp    0x492ef4
492ef1:	8d 7e 01             	lea    0x1(%esi),%edi
492ef4:	3b fb                	cmp    %ebx,%edi
492ef6:	7e d0                	jle    0x492ec8
492ef8:	83 c8 ff             	or     $0xffffffff,%eax
492efb:	eb 07                	jmp    0x492f04
492efd:	8b 04 f5 8c 62 4a 00 	mov    0x4a628c(,%esi,8),%eax
492f04:	5f                   	pop    %edi
492f05:	5e                   	pop    %esi
492f06:	5b                   	pop    %ebx
492f07:	5d                   	pop    %ebp
492f08:	c3                   	ret
492f09:	8b ff                	mov    %edi,%edi
492f0b:	55                   	push   %ebp
492f0c:	8b ec                	mov    %esp,%ebp
492f0e:	8b 4d 08             	mov    0x8(%ebp),%ecx
492f11:	53                   	push   %ebx
492f12:	56                   	push   %esi
492f13:	57                   	push   %edi
492f14:	85 c9                	test   %ecx,%ecx
492f16:	74 4b                	je     0x492f63
492f18:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
492f1e:	74 43                	je     0x492f63
492f20:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
492f26:	74 3b                	je     0x492f63
492f28:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
492f2c:	8b 75 10             	mov    0x10(%ebp),%esi
492f2f:	75 04                	jne    0x492f35
492f31:	85 f6                	test   %esi,%esi
492f33:	7f 2e                	jg     0x492f63
492f35:	85 f6                	test   %esi,%esi
492f37:	78 2a                	js     0x492f63
492f39:	33 ff                	xor    %edi,%edi
492f3b:	bb e3 00 00 00       	mov    $0xe3,%ebx
492f40:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
492f43:	99                   	cltd
492f44:	2b c2                	sub    %edx,%eax
492f46:	8b d1                	mov    %ecx,%edx
492f48:	d1 f8                	sar    $1,%eax
492f4a:	2b 14 c5 78 51 4a 00 	sub    0x4a5178(,%eax,8),%edx
492f51:	74 17                	je     0x492f6a
492f53:	85 d2                	test   %edx,%edx
492f55:	79 05                	jns    0x492f5c
492f57:	8d 58 ff             	lea    -0x1(%eax),%ebx
492f5a:	eb 03                	jmp    0x492f5f
492f5c:	8d 78 01             	lea    0x1(%eax),%edi
492f5f:	3b fb                	cmp    %ebx,%edi
492f61:	7e dd                	jle    0x492f40
492f63:	33 c0                	xor    %eax,%eax
492f65:	5f                   	pop    %edi
492f66:	5e                   	pop    %esi
492f67:	5b                   	pop    %ebx
492f68:	5d                   	pop    %ebp
492f69:	c3                   	ret
492f6a:	85 c0                	test   %eax,%eax
492f6c:	78 f5                	js     0x492f63
492f6e:	8b 1c c5 7c 51 4a 00 	mov    0x4a517c(,%eax,8),%ebx
492f75:	6a 55                	push   $0x55
492f77:	53                   	push   %ebx
492f78:	e8 9e fb fe ff       	call   0x482b1b
492f7d:	8b f8                	mov    %eax,%edi
492f7f:	59                   	pop    %ecx
492f80:	59                   	pop    %ecx
492f81:	85 f6                	test   %esi,%esi
492f83:	7e 15                	jle    0x492f9a
492f85:	3b fe                	cmp    %esi,%edi
492f87:	7d da                	jge    0x492f63
492f89:	53                   	push   %ebx
492f8a:	56                   	push   %esi
492f8b:	ff 75 0c             	push   0xc(%ebp)
492f8e:	e8 0a 67 fe ff       	call   0x47969d
492f93:	83 c4 0c             	add    $0xc,%esp
492f96:	85 c0                	test   %eax,%eax
492f98:	75 05                	jne    0x492f9f
492f9a:	8d 47 01             	lea    0x1(%edi),%eax
492f9d:	eb c6                	jmp    0x492f65
492f9f:	33 c0                	xor    %eax,%eax
492fa1:	50                   	push   %eax
492fa2:	50                   	push   %eax
492fa3:	50                   	push   %eax
492fa4:	50                   	push   %eax
492fa5:	50                   	push   %eax
492fa6:	e8 a3 66 fe ff       	call   0x47964e
492fab:	cc                   	int3
492fac:	8b ff                	mov    %edi,%edi
492fae:	55                   	push   %ebp
492faf:	8b ec                	mov    %esp,%ebp
492fb1:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
492fb5:	74 1d                	je     0x492fd4
492fb7:	ff 75 08             	push   0x8(%ebp)
492fba:	e8 fa fe ff ff       	call   0x492eb9
492fbf:	59                   	pop    %ecx
492fc0:	85 c0                	test   %eax,%eax
492fc2:	78 10                	js     0x492fd4
492fc4:	3d e4 00 00 00       	cmp    $0xe4,%eax
492fc9:	73 09                	jae    0x492fd4
492fcb:	8b 04 c5 78 51 4a 00 	mov    0x4a5178(,%eax,8),%eax
492fd2:	5d                   	pop    %ebp
492fd3:	c3                   	ret
492fd4:	33 c0                	xor    %eax,%eax
492fd6:	5d                   	pop    %ebp
492fd7:	c3                   	ret
492fd8:	8b ff                	mov    %edi,%edi
492fda:	55                   	push   %ebp
492fdb:	8b ec                	mov    %esp,%ebp
492fdd:	ff 75 14             	push   0x14(%ebp)
492fe0:	ff 75 10             	push   0x10(%ebp)
492fe3:	ff 75 0c             	push   0xc(%ebp)
492fe6:	ff 75 08             	push   0x8(%ebp)
492fe9:	ff 15 f8 e1 49 00    	call   *0x49e1f8
492fef:	5d                   	pop    %ebp
492ff0:	c3                   	ret
492ff1:	8b ff                	mov    %edi,%edi
492ff3:	55                   	push   %ebp
492ff4:	8b ec                	mov    %esp,%ebp
492ff6:	53                   	push   %ebx
492ff7:	56                   	push   %esi
492ff8:	ba 40 80 00 00       	mov    $0x8040,%edx
492ffd:	33 f6                	xor    %esi,%esi
492fff:	57                   	push   %edi
493000:	8b 7d 08             	mov    0x8(%ebp),%edi
493003:	8b c7                	mov    %edi,%eax
493005:	23 c2                	and    %edx,%eax
493007:	8d 4a c0             	lea    -0x40(%edx),%ecx
49300a:	66 3b c1             	cmp    %cx,%ax
49300d:	75 07                	jne    0x493016
49300f:	bb 00 0c 00 00       	mov    $0xc00,%ebx
493014:	eb 19                	jmp    0x49302f
493016:	66 83 f8 40          	cmp    $0x40,%ax
49301a:	75 07                	jne    0x493023
49301c:	bb 00 08 00 00       	mov    $0x800,%ebx
493021:	eb 0c                	jmp    0x49302f
493023:	bb 00 04 00 00       	mov    $0x400,%ebx
493028:	66 3b c2             	cmp    %dx,%ax
49302b:	74 02                	je     0x49302f
49302d:	8b de                	mov    %esi,%ebx
49302f:	8b c7                	mov    %edi,%eax
493031:	b9 00 60 00 00       	mov    $0x6000,%ecx
493036:	23 c1                	and    %ecx,%eax
493038:	74 25                	je     0x49305f
49303a:	3d 00 20 00 00       	cmp    $0x2000,%eax
49303f:	74 19                	je     0x49305a
493041:	3d 00 40 00 00       	cmp    $0x4000,%eax
493046:	74 0b                	je     0x493053
493048:	3b c1                	cmp    %ecx,%eax
49304a:	75 13                	jne    0x49305f
49304c:	be 00 03 00 00       	mov    $0x300,%esi
493051:	eb 0c                	jmp    0x49305f
493053:	be 00 02 00 00       	mov    $0x200,%esi
493058:	eb 05                	jmp    0x49305f
49305a:	be 00 01 00 00       	mov    $0x100,%esi
49305f:	8b d7                	mov    %edi,%edx
493061:	b9 00 04 00 00       	mov    $0x400,%ecx
493066:	c1 ea 02             	shr    $0x2,%edx
493069:	8b c7                	mov    %edi,%eax
49306b:	25 00 08 00 00       	and    $0x800,%eax
493070:	23 d1                	and    %ecx,%edx
493072:	0b d0                	or     %eax,%edx
493074:	8b c7                	mov    %edi,%eax
493076:	23 c1                	and    %ecx,%eax
493078:	c1 ea 02             	shr    $0x2,%edx
49307b:	0b c2                	or     %edx,%eax
49307d:	8b cf                	mov    %edi,%ecx
49307f:	c1 e8 02             	shr    $0x2,%eax
493082:	81 e1 00 02 00 00    	and    $0x200,%ecx
493088:	0b c1                	or     %ecx,%eax
49308a:	81 e7 80 01 00 00    	and    $0x180,%edi
493090:	c1 e8 03             	shr    $0x3,%eax
493093:	0b c7                	or     %edi,%eax
493095:	c1 e8 03             	shr    $0x3,%eax
493098:	0b c3                	or     %ebx,%eax
49309a:	5f                   	pop    %edi
49309b:	0b c6                	or     %esi,%eax
49309d:	5e                   	pop    %esi
49309e:	5b                   	pop    %ebx
49309f:	5d                   	pop    %ebp
4930a0:	c3                   	ret
4930a1:	8b ff                	mov    %edi,%edi
4930a3:	55                   	push   %ebp
4930a4:	8b ec                	mov    %esp,%ebp
4930a6:	51                   	push   %ecx
4930a7:	53                   	push   %ebx
4930a8:	56                   	push   %esi
4930a9:	57                   	push   %edi
4930aa:	8b 7d 08             	mov    0x8(%ebp),%edi
4930ad:	ba 00 10 00 00       	mov    $0x1000,%edx
4930b2:	0f b7 c7             	movzwl %di,%eax
4930b5:	8b d8                	mov    %eax,%ebx
4930b7:	89 55 fc             	mov    %edx,-0x4(%ebp)
4930ba:	23 da                	and    %edx,%ebx
4930bc:	8b c8                	mov    %eax,%ecx
4930be:	c1 e3 02             	shl    $0x2,%ebx
4930c1:	ba 00 02 00 00       	mov    $0x200,%edx
4930c6:	6a 00                	push   $0x0
4930c8:	5e                   	pop    %esi
4930c9:	81 e1 00 03 00 00    	and    $0x300,%ecx
4930cf:	74 09                	je     0x4930da
4930d1:	3b ca                	cmp    %edx,%ecx
4930d3:	74 0c                	je     0x4930e1
4930d5:	89 75 fc             	mov    %esi,-0x4(%ebp)
4930d8:	eb 07                	jmp    0x4930e1
4930da:	c7 45 fc 00 20 00 00 	movl   $0x2000,-0x4(%ebp)
4930e1:	b9 00 0c 00 00       	mov    $0xc00,%ecx
4930e6:	23 c1                	and    %ecx,%eax
4930e8:	74 22                	je     0x49310c
4930ea:	3d 00 04 00 00       	cmp    $0x400,%eax
4930ef:	74 16                	je     0x493107
4930f1:	3d 00 08 00 00       	cmp    $0x800,%eax
4930f6:	74 0b                	je     0x493103
4930f8:	3b c1                	cmp    %ecx,%eax
4930fa:	75 10                	jne    0x49310c