468e98:	0f b6 c9             	movzbl %cl,%ecx
468e9b:	83 e1 1f             	and    $0x1f,%ecx
468e9e:	89 08                	mov    %ecx,(%eax)
468ea0:	33 c0                	xor    %eax,%eax
468ea2:	40                   	inc    %eax
468ea3:	5d                   	pop    %ebp
468ea4:	c3                   	ret
468ea5:	8a c1                	mov    %cl,%al
468ea7:	24 f0                	and    $0xf0,%al
468ea9:	3c e0                	cmp    $0xe0,%al
468eab:	75 10                	jne    0x468ebd
468ead:	0f b6 c9             	movzbl %cl,%ecx
468eb0:	83 e1 0f             	and    $0xf,%ecx
468eb3:	6a 02                	push   $0x2
468eb5:	8b 45 08             	mov    0x8(%ebp),%eax
468eb8:	89 08                	mov    %ecx,(%eax)
468eba:	58                   	pop    %eax
468ebb:	5d                   	pop    %ebp
468ebc:	c3                   	ret
468ebd:	8a c1                	mov    %cl,%al
468ebf:	24 f8                	and    $0xf8,%al
468ec1:	3c f0                	cmp    $0xf0,%al
468ec3:	75 0a                	jne    0x468ecf
468ec5:	0f b6 c9             	movzbl %cl,%ecx
468ec8:	83 e1 07             	and    $0x7,%ecx
468ecb:	6a 03                	push   $0x3
468ecd:	eb e6                	jmp    0x468eb5
468ecf:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
468ed4:	5d                   	pop    %ebp
468ed5:	c3                   	ret
468ed6:	55                   	push   %ebp
468ed7:	8b ec                	mov    %esp,%ebp
468ed9:	51                   	push   %ecx
468eda:	8d 45 fc             	lea    -0x4(%ebp),%eax
468edd:	50                   	push   %eax
468ede:	6a 01                	push   $0x1
468ee0:	8d 45 08             	lea    0x8(%ebp),%eax
468ee3:	50                   	push   %eax
468ee4:	6a 01                	push   $0x1
468ee6:	ff 15 f8 e1 49 00    	call   *0x49e1f8
468eec:	f7 d8                	neg    %eax
468eee:	1b c0                	sbb    %eax,%eax
468ef0:	66 23 45 fc          	and    -0x4(%ebp),%ax
468ef4:	c9                   	leave
468ef5:	c3                   	ret
468ef6:	55                   	push   %ebp
468ef7:	8b ec                	mov    %esp,%ebp
468ef9:	ff 75 10             	push   0x10(%ebp)
468efc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
468eff:	2b 4d 08             	sub    0x8(%ebp),%ecx
468f02:	d1 f9                	sar    $1,%ecx
468f04:	51                   	push   %ecx
468f05:	ff 75 08             	push   0x8(%ebp)
468f08:	6a 01                	push   $0x1
468f0a:	ff 15 f8 e1 49 00    	call   *0x49e1f8
468f10:	8b 45 0c             	mov    0xc(%ebp),%eax
468f13:	5d                   	pop    %ebp
468f14:	c3                   	ret
468f15:	55                   	push   %ebp
468f16:	8b ec                	mov    %esp,%ebp
468f18:	51                   	push   %ecx
468f19:	66 8b 4d 08          	mov    0x8(%ebp),%cx
468f1d:	b8 ff ff 00 00       	mov    $0xffff,%eax
468f22:	66 89 4d fc          	mov    %cx,-0x4(%ebp)
468f26:	66 3b c8             	cmp    %ax,%cx
468f29:	74 45                	je     0x468f70
468f2b:	8b 45 0c             	mov    0xc(%ebp),%eax
468f2e:	ba 00 01 00 00       	mov    $0x100,%edx
468f33:	8b 40 0c             	mov    0xc(%eax),%eax
468f36:	85 c0                	test   %eax,%eax
468f38:	75 14                	jne    0x468f4e
468f3a:	66 3b ca             	cmp    %dx,%cx
468f3d:	73 0f                	jae    0x468f4e
468f3f:	8d 41 bf             	lea    -0x41(%ecx),%eax
468f42:	66 83 f8 19          	cmp    $0x19,%ax
468f46:	77 28                	ja     0x468f70
468f48:	66 83 c1 20          	add    $0x20,%cx
468f4c:	eb 22                	jmp    0x468f70
468f4e:	6a 01                	push   $0x1
468f50:	8d 4d fc             	lea    -0x4(%ebp),%ecx
468f53:	51                   	push   %ecx
468f54:	6a 01                	push   $0x1
468f56:	8d 4d 08             	lea    0x8(%ebp),%ecx
468f59:	51                   	push   %ecx
468f5a:	52                   	push   %edx
468f5b:	50                   	push   %eax
468f5c:	e8 b7 07 00 00       	call   0x469718
468f61:	66 8b 4d 08          	mov    0x8(%ebp),%cx
468f65:	83 c4 18             	add    $0x18,%esp
468f68:	85 c0                	test   %eax,%eax
468f6a:	74 04                	je     0x468f70
468f6c:	66 8b 4d fc          	mov    -0x4(%ebp),%cx
468f70:	66 8b c1             	mov    %cx,%ax
468f73:	c9                   	leave
468f74:	c3                   	ret
468f75:	55                   	push   %ebp
468f76:	8b ec                	mov    %esp,%ebp
468f78:	56                   	push   %esi
468f79:	57                   	push   %edi
468f7a:	8b 7d 08             	mov    0x8(%ebp),%edi
468f7d:	33 f6                	xor    %esi,%esi
468f7f:	6a 2c                	push   $0x2c
468f81:	56                   	push   %esi
468f82:	57                   	push   %edi
468f83:	e8 28 2c 00 00       	call   0x46bbb0
468f88:	83 c4 0c             	add    $0xc,%esp
468f8b:	e8 84 92 01 00       	call   0x482214
468f90:	89 07                	mov    %eax,(%edi)
468f92:	e8 c9 92 01 00       	call   0x482260
468f97:	89 47 04             	mov    %eax,0x4(%edi)
468f9a:	e8 9a 92 01 00       	call   0x482239
468f9f:	8b 48 08             	mov    0x8(%eax),%ecx
468fa2:	33 c0                	xor    %eax,%eax
468fa4:	85 c9                	test   %ecx,%ecx
468fa6:	0f 94 c0             	sete   %al
468fa9:	89 47 08             	mov    %eax,0x8(%edi)
468fac:	85 c9                	test   %ecx,%ecx
468fae:	74 32                	je     0x468fe2
468fb0:	53                   	push   %ebx
468fb1:	e8 b6 91 01 00       	call   0x48216c
468fb6:	8b d8                	mov    %eax,%ebx
468fb8:	33 c0                	xor    %eax,%eax
468fba:	66 39 04 73          	cmp    %ax,(%ebx,%esi,2)
468fbe:	7d 18                	jge    0x468fd8
468fc0:	8b d6                	mov    %esi,%edx
468fc2:	8b c6                	mov    %esi,%eax
468fc4:	c1 ea 03             	shr    $0x3,%edx
468fc7:	83 e0 07             	and    $0x7,%eax
468fca:	0f b6 4c 3a 0c       	movzbl 0xc(%edx,%edi,1),%ecx
468fcf:	0f ab c1             	bts    %eax,%ecx
468fd2:	33 c0                	xor    %eax,%eax
468fd4:	88 4c 3a 0c          	mov    %cl,0xc(%edx,%edi,1)
468fd8:	46                   	inc    %esi
468fd9:	81 fe 00 01 00 00    	cmp    $0x100,%esi
468fdf:	7c d9                	jl     0x468fba
468fe1:	5b                   	pop    %ebx
468fe2:	8b c7                	mov    %edi,%eax
468fe4:	5f                   	pop    %edi
468fe5:	5e                   	pop    %esi
468fe6:	5d                   	pop    %ebp
468fe7:	c3                   	ret
468fe8:	55                   	push   %ebp
468fe9:	8b ec                	mov    %esp,%ebp
468feb:	51                   	push   %ecx
468fec:	8b 45 14             	mov    0x14(%ebp),%eax
468fef:	8b 4d 08             	mov    0x8(%ebp),%ecx
468ff2:	56                   	push   %esi
468ff3:	33 f6                	xor    %esi,%esi
468ff5:	39 70 08             	cmp    %esi,0x8(%eax)
468ff8:	74 15                	je     0x46900f
468ffa:	66 8b 45 0c          	mov    0xc(%ebp),%ax
468ffe:	ba ff 00 00 00       	mov    $0xff,%edx
469003:	66 3b c2             	cmp    %dx,%ax
469006:	77 2b                	ja     0x469033
469008:	88 01                	mov    %al,(%ecx)
46900a:	33 c0                	xor    %eax,%eax
46900c:	40                   	inc    %eax
46900d:	eb 32                	jmp    0x469041
46900f:	8d 55 fc             	lea    -0x4(%ebp),%edx
469012:	89 75 fc             	mov    %esi,-0x4(%ebp)
469015:	52                   	push   %edx
469016:	56                   	push   %esi
469017:	ff 70 04             	push   0x4(%eax)
46901a:	51                   	push   %ecx
46901b:	6a 01                	push   $0x1
46901d:	8d 4d 0c             	lea    0xc(%ebp),%ecx
469020:	51                   	push   %ecx
469021:	56                   	push   %esi
469022:	ff 30                	push   (%eax)
469024:	ff 15 4c e0 49 00    	call   *0x49e04c
46902a:	85 c0                	test   %eax,%eax
46902c:	74 05                	je     0x469033
46902e:	39 75 fc             	cmp    %esi,-0x4(%ebp)
469031:	74 0e                	je     0x469041
469033:	e8 fd 0e 01 00       	call   0x479f35
469038:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
46903e:	83 c8 ff             	or     $0xffffffff,%eax
469041:	5e                   	pop    %esi
469042:	c9                   	leave
469043:	c3                   	ret
469044:	55                   	push   %ebp
469045:	8b ec                	mov    %esp,%ebp
469047:	51                   	push   %ecx
469048:	66 8b 4d 08          	mov    0x8(%ebp),%cx
46904c:	b8 ff ff 00 00       	mov    $0xffff,%eax
469051:	66 89 4d fc          	mov    %cx,-0x4(%ebp)
469055:	66 3b c8             	cmp    %ax,%cx
469058:	74 49                	je     0x4690a3
46905a:	8b 45 0c             	mov    0xc(%ebp),%eax
46905d:	8b 40 0c             	mov    0xc(%eax),%eax
469060:	85 c0                	test   %eax,%eax
469062:	75 19                	jne    0x46907d
469064:	ba 00 01 00 00       	mov    $0x100,%edx
469069:	66 3b ca             	cmp    %dx,%cx
46906c:	73 0f                	jae    0x46907d
46906e:	8d 41 9f             	lea    -0x61(%ecx),%eax
469071:	66 83 f8 19          	cmp    $0x19,%ax
469075:	77 2c                	ja     0x4690a3
469077:	66 83 e9 20          	sub    $0x20,%cx
46907b:	eb 26                	jmp    0x4690a3
46907d:	6a 01                	push   $0x1
46907f:	8d 4d fc             	lea    -0x4(%ebp),%ecx
469082:	51                   	push   %ecx
469083:	6a 01                	push   $0x1
469085:	8d 4d 08             	lea    0x8(%ebp),%ecx
469088:	51                   	push   %ecx
469089:	68 00 02 00 00       	push   $0x200
46908e:	50                   	push   %eax
46908f:	e8 84 06 00 00       	call   0x469718
469094:	66 8b 4d 08          	mov    0x8(%ebp),%cx
469098:	83 c4 18             	add    $0x18,%esp
46909b:	85 c0                	test   %eax,%eax
46909d:	74 04                	je     0x4690a3
46909f:	66 8b 4d fc          	mov    -0x4(%ebp),%cx
4690a3:	66 8b c1             	mov    %cx,%ax
4690a6:	c9                   	leave
4690a7:	c3                   	ret
4690a8:	55                   	push   %ebp
4690a9:	8b ec                	mov    %esp,%ebp
4690ab:	51                   	push   %ecx
4690ac:	53                   	push   %ebx
4690ad:	56                   	push   %esi
4690ae:	57                   	push   %edi
4690af:	8b 7d 0c             	mov    0xc(%ebp),%edi
4690b2:	85 ff                	test   %edi,%edi
4690b4:	75 03                	jne    0x4690b9
4690b6:	8d 7d fc             	lea    -0x4(%ebp),%edi
4690b9:	8b 45 08             	mov    0x8(%ebp),%eax
4690bc:	8b f0                	mov    %eax,%esi
4690be:	0f b6 00             	movzbl (%eax),%eax
4690c1:	eb 04                	jmp    0x4690c7
4690c3:	46                   	inc    %esi
4690c4:	0f b6 06             	movzbl (%esi),%eax
4690c7:	50                   	push   %eax
4690c8:	e8 c3 90 01 00       	call   0x482190
4690cd:	59                   	pop    %ecx
4690ce:	85 c0                	test   %eax,%eax
4690d0:	75 f1                	jne    0x4690c3
4690d2:	8a 1e                	mov    (%esi),%bl
4690d4:	80 fb 2d             	cmp    $0x2d,%bl
4690d7:	74 09                	je     0x4690e2
4690d9:	80 fb 2b             	cmp    $0x2b,%bl
4690dc:	74 04                	je     0x4690e2
4690de:	b3 2b                	mov    $0x2b,%bl
4690e0:	eb 01                	jmp    0x4690e3
4690e2:	46                   	inc    %esi
4690e3:	ff 75 14             	push   0x14(%ebp)
4690e6:	ff 75 10             	push   0x10(%ebp)
4690e9:	57                   	push   %edi
4690ea:	56                   	push   %esi
4690eb:	e8 71 03 00 00       	call   0x469461
4690f0:	83 c4 10             	add    $0x10,%esp
4690f3:	8b c8                	mov    %eax,%ecx
4690f5:	8b 45 08             	mov    0x8(%ebp),%eax
4690f8:	3b 37                	cmp    (%edi),%esi
4690fa:	75 04                	jne    0x469100
4690fc:	89 07                	mov    %eax,(%edi)
4690fe:	eb 04                	jmp    0x469104
469100:	3b 07                	cmp    (%edi),%eax
469102:	75 06                	jne    0x46910a
469104:	8b c1                	mov    %ecx,%eax
469106:	0b c2                	or     %edx,%eax
469108:	75 37                	jne    0x469141
46910a:	80 fb 2b             	cmp    $0x2b,%bl
46910d:	75 0f                	jne    0x46911e
46910f:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
469115:	77 2a                	ja     0x469141
469117:	72 05                	jb     0x46911e
469119:	83 f9 ff             	cmp    $0xffffffff,%ecx
46911c:	77 23                	ja     0x469141
46911e:	80 fb 2d             	cmp    $0x2d,%bl
469121:	75 17                	jne    0x46913a
469123:	bf 00 00 00 80       	mov    $0x80000000,%edi
469128:	33 f6                	xor    %esi,%esi
46912a:	3b d7                	cmp    %edi,%edx
46912c:	72 06                	jb     0x469134
46912e:	77 18                	ja     0x469148
469130:	3b ce                	cmp    %esi,%ecx
469132:	77 14                	ja     0x469148
469134:	f7 d9                	neg    %ecx
469136:	13 d6                	adc    %esi,%edx
469138:	f7 da                	neg    %edx
46913a:	8b c1                	mov    %ecx,%eax
46913c:	5f                   	pop    %edi
46913d:	5e                   	pop    %esi
46913e:	5b                   	pop    %ebx
46913f:	c9                   	leave
469140:	c3                   	ret
469141:	33 f6                	xor    %esi,%esi
469143:	bf 00 00 00 80       	mov    $0x80000000,%edi
469148:	e8 e8 0d 01 00       	call   0x479f35
46914d:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
469153:	8b 45 14             	mov    0x14(%ebp),%eax
469156:	85 c0                	test   %eax,%eax
469158:	74 06                	je     0x469160
46915a:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
469160:	80 fb 2d             	cmp    $0x2d,%bl
469163:	74 08                	je     0x46916d
469165:	83 ce ff             	or     $0xffffffff,%esi
469168:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
46916d:	8b c6                	mov    %esi,%eax
46916f:	8b d7                	mov    %edi,%edx
469171:	eb c9                	jmp    0x46913c
469173:	55                   	push   %ebp
469174:	8b ec                	mov    %esp,%ebp
469176:	51                   	push   %ecx
469177:	53                   	push   %ebx
469178:	56                   	push   %esi
469179:	57                   	push   %edi
46917a:	8b 7d 0c             	mov    0xc(%ebp),%edi
46917d:	85 ff                	test   %edi,%edi
46917f:	75 03                	jne    0x469184
469181:	8d 7d fc             	lea    -0x4(%ebp),%edi
469184:	8b 45 08             	mov    0x8(%ebp),%eax
469187:	8b f0                	mov    %eax,%esi
469189:	0f b6 00             	movzbl (%eax),%eax
46918c:	eb 04                	jmp    0x469192
46918e:	46                   	inc    %esi
46918f:	0f b6 06             	movzbl (%esi),%eax
469192:	50                   	push   %eax
469193:	e8 f8 8f 01 00       	call   0x482190
469198:	59                   	pop    %ecx
469199:	85 c0                	test   %eax,%eax
46919b:	75 f1                	jne    0x46918e
46919d:	8a 1e                	mov    (%esi),%bl
46919f:	80 fb 2d             	cmp    $0x2d,%bl
4691a2:	74 09                	je     0x4691ad
4691a4:	80 fb 2b             	cmp    $0x2b,%bl
4691a7:	74 04                	je     0x4691ad
4691a9:	b3 2b                	mov    $0x2b,%bl
4691ab:	eb 01                	jmp    0x4691ae
4691ad:	46                   	inc    %esi
4691ae:	ff 75 14             	push   0x14(%ebp)
4691b1:	ff 75 10             	push   0x10(%ebp)
4691b4:	57                   	push   %edi
4691b5:	56                   	push   %esi
4691b6:	e8 34 01 00 00       	call   0x4692ef
4691bb:	8b 4d 08             	mov    0x8(%ebp),%ecx
4691be:	83 c4 10             	add    $0x10,%esp
4691c1:	3b 37                	cmp    (%edi),%esi
4691c3:	75 04                	jne    0x4691c9
4691c5:	89 0f                	mov    %ecx,(%edi)
4691c7:	eb 04                	jmp    0x4691cd
4691c9:	3b 0f                	cmp    (%edi),%ecx
4691cb:	75 04                	jne    0x4691d1
4691cd:	85 c0                	test   %eax,%eax
4691cf:	75 18                	jne    0x4691e9
4691d1:	80 fb 2b             	cmp    $0x2b,%bl
4691d4:	75 07                	jne    0x4691dd
4691d6:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax