443e5e:	8b ff                	mov    %edi,%edi
443e60:	55                   	push   %ebp
443e61:	8b ec                	mov    %esp,%ebp
443e63:	83 ec 10             	sub    $0x10,%esp
443e66:	ff 75 0c             	push   0xc(%ebp)
443e69:	8d 4d f0             	lea    -0x10(%ebp),%ecx
443e6c:	e8 79 cd fe ff       	call   0x430bea
443e71:	8b 45 f0             	mov    -0x10(%ebp),%eax
443e74:	83 b8 ac 00 00 00 01 	cmpl   $0x1,0xac(%eax)
443e7b:	7e 16                	jle    0x443e93
443e7d:	8d 45 f0             	lea    -0x10(%ebp),%eax
443e80:	50                   	push   %eax
443e81:	68 07 01 00 00       	push   $0x107
443e86:	ff 75 08             	push   0x8(%ebp)
443e89:	e8 66 dc ff ff       	call   0x441af4
443e8e:	83 c4 0c             	add    $0xc,%esp
443e91:	eb 12                	jmp    0x443ea5
443e93:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
443e99:	8b 4d 08             	mov    0x8(%ebp),%ecx
443e9c:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
443ea0:	25 07 01 00 00       	and    $0x107,%eax
443ea5:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
443ea9:	74 07                	je     0x443eb2
443eab:	8b 4d f8             	mov    -0x8(%ebp),%ecx
443eae:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
443eb2:	c9                   	leave
443eb3:	c3                   	ret
443eb4:	8b ff                	mov    %edi,%edi
443eb6:	55                   	push   %ebp
443eb7:	8b ec                	mov    %esp,%ebp
443eb9:	83 3d c4 10 47 00 00 	cmpl   $0x0,0x4710c4
443ec0:	75 14                	jne    0x443ed6
443ec2:	8b 45 08             	mov    0x8(%ebp),%eax
443ec5:	8b 0d 08 fe 46 00    	mov    0x46fe08,%ecx
443ecb:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
443ecf:	25 07 01 00 00       	and    $0x107,%eax
443ed4:	5d                   	pop    %ebp
443ed5:	c3                   	ret
443ed6:	6a 00                	push   $0x0
443ed8:	ff 75 08             	push   0x8(%ebp)
443edb:	e8 7e ff ff ff       	call   0x443e5e
443ee0:	59                   	pop    %ecx
443ee1:	59                   	pop    %ecx
443ee2:	5d                   	pop    %ebp
443ee3:	c3                   	ret
443ee4:	8b ff                	mov    %edi,%edi
443ee6:	55                   	push   %ebp
443ee7:	8b ec                	mov    %esp,%ebp
443ee9:	83 ec 10             	sub    $0x10,%esp
443eec:	ff 75 0c             	push   0xc(%ebp)
443eef:	8d 4d f0             	lea    -0x10(%ebp),%ecx
443ef2:	e8 f3 cc fe ff       	call   0x430bea
443ef7:	8b 45 f0             	mov    -0x10(%ebp),%eax
443efa:	83 b8 ac 00 00 00 01 	cmpl   $0x1,0xac(%eax)
443f01:	7e 16                	jle    0x443f19
443f03:	8d 45 f0             	lea    -0x10(%ebp),%eax
443f06:	50                   	push   %eax
443f07:	68 57 01 00 00       	push   $0x157
443f0c:	ff 75 08             	push   0x8(%ebp)
443f0f:	e8 e0 db ff ff       	call   0x441af4
443f14:	83 c4 0c             	add    $0xc,%esp
443f17:	eb 12                	jmp    0x443f2b
443f19:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
443f1f:	8b 4d 08             	mov    0x8(%ebp),%ecx
443f22:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
443f26:	25 57 01 00 00       	and    $0x157,%eax
443f2b:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
443f2f:	74 07                	je     0x443f38
443f31:	8b 4d f8             	mov    -0x8(%ebp),%ecx
443f34:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
443f38:	c9                   	leave
443f39:	c3                   	ret
443f3a:	8b ff                	mov    %edi,%edi
443f3c:	55                   	push   %ebp
443f3d:	8b ec                	mov    %esp,%ebp
443f3f:	83 3d c4 10 47 00 00 	cmpl   $0x0,0x4710c4
443f46:	75 14                	jne    0x443f5c
443f48:	8b 45 08             	mov    0x8(%ebp),%eax
443f4b:	8b 0d 08 fe 46 00    	mov    0x46fe08,%ecx
443f51:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
443f55:	25 57 01 00 00       	and    $0x157,%eax
443f5a:	5d                   	pop    %ebp
443f5b:	c3                   	ret
443f5c:	6a 00                	push   $0x0
443f5e:	ff 75 08             	push   0x8(%ebp)
443f61:	e8 7e ff ff ff       	call   0x443ee4
443f66:	59                   	pop    %ecx
443f67:	59                   	pop    %ecx
443f68:	5d                   	pop    %ebp
443f69:	c3                   	ret
443f6a:	8b ff                	mov    %edi,%edi
443f6c:	55                   	push   %ebp
443f6d:	8b ec                	mov    %esp,%ebp
443f6f:	83 ec 10             	sub    $0x10,%esp
443f72:	ff 75 0c             	push   0xc(%ebp)
443f75:	8d 4d f0             	lea    -0x10(%ebp),%ecx
443f78:	e8 6d cc fe ff       	call   0x430bea
443f7d:	8b 45 f0             	mov    -0x10(%ebp),%eax
443f80:	83 b8 ac 00 00 00 01 	cmpl   $0x1,0xac(%eax)
443f87:	7e 16                	jle    0x443f9f
443f89:	8d 45 f0             	lea    -0x10(%ebp),%eax
443f8c:	50                   	push   %eax
443f8d:	68 17 01 00 00       	push   $0x117
443f92:	ff 75 08             	push   0x8(%ebp)
443f95:	e8 5a db ff ff       	call   0x441af4
443f9a:	83 c4 0c             	add    $0xc,%esp
443f9d:	eb 12                	jmp    0x443fb1
443f9f:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
443fa5:	8b 4d 08             	mov    0x8(%ebp),%ecx
443fa8:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
443fac:	25 17 01 00 00       	and    $0x117,%eax
443fb1:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
443fb5:	74 07                	je     0x443fbe
443fb7:	8b 4d f8             	mov    -0x8(%ebp),%ecx
443fba:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
443fbe:	c9                   	leave
443fbf:	c3                   	ret
443fc0:	8b ff                	mov    %edi,%edi
443fc2:	55                   	push   %ebp
443fc3:	8b ec                	mov    %esp,%ebp
443fc5:	83 3d c4 10 47 00 00 	cmpl   $0x0,0x4710c4
443fcc:	75 14                	jne    0x443fe2
443fce:	8b 45 08             	mov    0x8(%ebp),%eax
443fd1:	8b 0d 08 fe 46 00    	mov    0x46fe08,%ecx
443fd7:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
443fdb:	25 17 01 00 00       	and    $0x117,%eax
443fe0:	5d                   	pop    %ebp
443fe1:	c3                   	ret
443fe2:	6a 00                	push   $0x0
443fe4:	ff 75 08             	push   0x8(%ebp)
443fe7:	e8 7e ff ff ff       	call   0x443f6a
443fec:	59                   	pop    %ecx
443fed:	59                   	pop    %ecx
443fee:	5d                   	pop    %ebp
443fef:	c3                   	ret
443ff0:	8b ff                	mov    %edi,%edi
443ff2:	55                   	push   %ebp
443ff3:	8b ec                	mov    %esp,%ebp
443ff5:	83 ec 10             	sub    $0x10,%esp
443ff8:	ff 75 0c             	push   0xc(%ebp)
443ffb:	8d 4d f0             	lea    -0x10(%ebp),%ecx
443ffe:	e8 e7 cb fe ff       	call   0x430bea
444003:	8b 45 f0             	mov    -0x10(%ebp),%eax
444006:	83 b8 ac 00 00 00 01 	cmpl   $0x1,0xac(%eax)
44400d:	7e 13                	jle    0x444022
44400f:	8d 45 f0             	lea    -0x10(%ebp),%eax
444012:	50                   	push   %eax
444013:	6a 20                	push   $0x20
444015:	ff 75 08             	push   0x8(%ebp)
444018:	e8 d7 da ff ff       	call   0x441af4
44401d:	83 c4 0c             	add    $0xc,%esp
444020:	eb 10                	jmp    0x444032
444022:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
444028:	8b 4d 08             	mov    0x8(%ebp),%ecx
44402b:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
44402f:	83 e0 20             	and    $0x20,%eax
444032:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
444036:	74 07                	je     0x44403f
444038:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44403b:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
44403f:	c9                   	leave
444040:	c3                   	ret
444041:	8b ff                	mov    %edi,%edi
444043:	55                   	push   %ebp
444044:	8b ec                	mov    %esp,%ebp
444046:	83 3d c4 10 47 00 00 	cmpl   $0x0,0x4710c4
44404d:	75 12                	jne    0x444061
44404f:	8b 45 08             	mov    0x8(%ebp),%eax
444052:	8b 0d 08 fe 46 00    	mov    0x46fe08,%ecx
444058:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
44405c:	83 e0 20             	and    $0x20,%eax
44405f:	5d                   	pop    %ebp
444060:	c3                   	ret
444061:	6a 00                	push   $0x0
444063:	ff 75 08             	push   0x8(%ebp)
444066:	e8 85 ff ff ff       	call   0x443ff0
44406b:	59                   	pop    %ecx
44406c:	59                   	pop    %ecx
44406d:	5d                   	pop    %ebp
44406e:	c3                   	ret
44406f:	8b ff                	mov    %edi,%edi
444071:	55                   	push   %ebp
444072:	8b ec                	mov    %esp,%ebp
444074:	81 7d 08 80 00 00 00 	cmpl   $0x80,0x8(%ebp)
44407b:	1b c0                	sbb    %eax,%eax
44407d:	f7 d8                	neg    %eax
44407f:	5d                   	pop    %ebp
444080:	c3                   	ret
444081:	8b ff                	mov    %edi,%edi
444083:	55                   	push   %ebp
444084:	8b ec                	mov    %esp,%ebp
444086:	8b 45 08             	mov    0x8(%ebp),%eax
444089:	83 e0 7f             	and    $0x7f,%eax
44408c:	5d                   	pop    %ebp
44408d:	c3                   	ret
44408e:	8b ff                	mov    %edi,%edi
444090:	55                   	push   %ebp
444091:	8b ec                	mov    %esp,%ebp
444093:	ff 75 0c             	push   0xc(%ebp)
444096:	ff 75 08             	push   0x8(%ebp)
444099:	e8 39 fa ff ff       	call   0x443ad7
44409e:	59                   	pop    %ecx
44409f:	59                   	pop    %ecx
4440a0:	85 c0                	test   %eax,%eax
4440a2:	75 08                	jne    0x4440ac
4440a4:	83 7d 08 5f          	cmpl   $0x5f,0x8(%ebp)
4440a8:	74 02                	je     0x4440ac
4440aa:	5d                   	pop    %ebp
4440ab:	c3                   	ret
4440ac:	33 c0                	xor    %eax,%eax
4440ae:	40                   	inc    %eax
4440af:	5d                   	pop    %ebp
4440b0:	c3                   	ret
4440b1:	8b ff                	mov    %edi,%edi
4440b3:	55                   	push   %ebp
4440b4:	8b ec                	mov    %esp,%ebp
4440b6:	ff 75 08             	push   0x8(%ebp)
4440b9:	e8 6f fa ff ff       	call   0x443b2d
4440be:	59                   	pop    %ecx
4440bf:	85 c0                	test   %eax,%eax
4440c1:	75 08                	jne    0x4440cb
4440c3:	83 7d 08 5f          	cmpl   $0x5f,0x8(%ebp)
4440c7:	74 02                	je     0x4440cb
4440c9:	5d                   	pop    %ebp
4440ca:	c3                   	ret
4440cb:	33 c0                	xor    %eax,%eax
4440cd:	40                   	inc    %eax
4440ce:	5d                   	pop    %ebp
4440cf:	c3                   	ret
4440d0:	8b ff                	mov    %edi,%edi
4440d2:	55                   	push   %ebp
4440d3:	8b ec                	mov    %esp,%ebp
4440d5:	ff 75 0c             	push   0xc(%ebp)
4440d8:	ff 75 08             	push   0x8(%ebp)
4440db:	e8 7e fd ff ff       	call   0x443e5e
4440e0:	59                   	pop    %ecx
4440e1:	59                   	pop    %ecx
4440e2:	85 c0                	test   %eax,%eax
4440e4:	75 08                	jne    0x4440ee
4440e6:	83 7d 08 5f          	cmpl   $0x5f,0x8(%ebp)
4440ea:	74 02                	je     0x4440ee
4440ec:	5d                   	pop    %ebp
4440ed:	c3                   	ret
4440ee:	33 c0                	xor    %eax,%eax
4440f0:	40                   	inc    %eax
4440f1:	5d                   	pop    %ebp
4440f2:	c3                   	ret
4440f3:	8b ff                	mov    %edi,%edi
4440f5:	55                   	push   %ebp
4440f6:	8b ec                	mov    %esp,%ebp
4440f8:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
4440fc:	50                   	push   %eax
4440fd:	e8 b2 fd ff ff       	call   0x443eb4
444102:	59                   	pop    %ecx
444103:	85 c0                	test   %eax,%eax
444105:	75 08                	jne    0x44410f
444107:	80 7d 08 5f          	cmpb   $0x5f,0x8(%ebp)
44410b:	74 02                	je     0x44410f
44410d:	5d                   	pop    %ebp
44410e:	c3                   	ret
44410f:	33 c0                	xor    %eax,%eax
444111:	40                   	inc    %eax
444112:	5d                   	pop    %ebp
444113:	c3                   	ret
444114:	8b ff                	mov    %edi,%edi
444116:	55                   	push   %ebp
444117:	8b ec                	mov    %esp,%ebp
444119:	53                   	push   %ebx
44411a:	56                   	push   %esi
44411b:	8b 75 0c             	mov    0xc(%ebp),%esi
44411e:	57                   	push   %edi
44411f:	83 cf ff             	or     $0xffffffff,%edi
444122:	f6 46 0c 40          	testb  $0x40,0xc(%esi)
444126:	75 6f                	jne    0x444197
444128:	56                   	push   %esi
444129:	e8 e4 20 ff ff       	call   0x436212
44412e:	59                   	pop    %ecx
44412f:	ba 68 f6 46 00       	mov    $0x46f668,%edx
444134:	3b c7                	cmp    %edi,%eax
444136:	74 1b                	je     0x444153
444138:	83 f8 fe             	cmp    $0xfffffffe,%eax
44413b:	74 16                	je     0x444153
44413d:	8b c8                	mov    %eax,%ecx
44413f:	83 e1 1f             	and    $0x1f,%ecx
444142:	8b d8                	mov    %eax,%ebx
444144:	c1 fb 05             	sar    $0x5,%ebx
444147:	c1 e1 06             	shl    $0x6,%ecx
44414a:	03 0c 9d 80 17 47 00 	add    0x471780(,%ebx,4),%ecx
444151:	eb 02                	jmp    0x444155
444153:	8b ca                	mov    %edx,%ecx
444155:	f6 41 24 7f          	testb  $0x7f,0x24(%ecx)
444159:	75 25                	jne    0x444180
44415b:	3b c7                	cmp    %edi,%eax
44415d:	74 19                	je     0x444178
44415f:	83 f8 fe             	cmp    $0xfffffffe,%eax
444162:	74 14                	je     0x444178
444164:	8b c8                	mov    %eax,%ecx
444166:	83 e0 1f             	and    $0x1f,%eax
444169:	c1 f9 05             	sar    $0x5,%ecx
44416c:	c1 e0 06             	shl    $0x6,%eax
44416f:	03 04 8d 80 17 47 00 	add    0x471780(,%ecx,4),%eax
444176:	eb 02                	jmp    0x44417a
444178:	8b c2                	mov    %edx,%eax
44417a:	f6 40 24 80          	testb  $0x80,0x24(%eax)
44417e:	74 17                	je     0x444197
444180:	e8 23 08 ff ff       	call   0x4349a8
444185:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
44418b:	e8 de 01 ff ff       	call   0x43436e
444190:	8b c7                	mov    %edi,%eax
444192:	5f                   	pop    %edi
444193:	5e                   	pop    %esi
444194:	5b                   	pop    %ebx
444195:	5d                   	pop    %ebp
444196:	c3                   	ret
444197:	8b 5d 08             	mov    0x8(%ebp),%ebx
44419a:	3b df                	cmp    %edi,%ebx
44419c:	74 f2                	je     0x444190
44419e:	8b 46 0c             	mov    0xc(%esi),%eax
4441a1:	a8 01                	test   $0x1,%al
4441a3:	75 08                	jne    0x4441ad
4441a5:	84 c0                	test   %al,%al
4441a7:	79 e7                	jns    0x444190
4441a9:	a8 02                	test   $0x2,%al
4441ab:	75 e3                	jne    0x444190
4441ad:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
4441b1:	75 07                	jne    0x4441ba
4441b3:	56                   	push   %esi
4441b4:	e8 c0 d5 ff ff       	call   0x441779
4441b9:	59                   	pop    %ecx
4441ba:	8b 06                	mov    (%esi),%eax
4441bc:	3b 46 08             	cmp    0x8(%esi),%eax
4441bf:	75 09                	jne    0x4441ca
4441c1:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
4441c5:	75 c9                	jne    0x444190
4441c7:	40                   	inc    %eax
4441c8:	89 06                	mov    %eax,(%esi)
4441ca:	ff 0e                	decl   (%esi)
4441cc:	f6 46 0c 40          	testb  $0x40,0xc(%esi)
4441d0:	8b 06                	mov    (%esi),%eax
4441d2:	74 09                	je     0x4441dd
4441d4:	38 18                	cmp    %bl,(%eax)
4441d6:	74 07                	je     0x4441df
4441d8:	40                   	inc    %eax
4441d9:	89 06                	mov    %eax,(%esi)
4441db:	eb b3                	jmp    0x444190
4441dd:	88 18                	mov    %bl,(%eax)
4441df:	8b 46 0c             	mov    0xc(%esi),%eax
4441e2:	ff 46 04             	incl   0x4(%esi)
4441e5:	83 e0 ef             	and    $0xffffffef,%eax
4441e8:	83 c8 01             	or     $0x1,%eax