48fd98:	8d 51 02             	lea    0x2(%ecx),%edx
48fd9b:	66 8b 01             	mov    (%ecx),%ax
48fd9e:	83 c1 02             	add    $0x2,%ecx
48fda1:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
48fda5:	75 f4                	jne    0x48fd9b
48fda7:	2b ca                	sub    %edx,%ecx
48fda9:	d1 f9                	sar    $1,%ecx
48fdab:	6a 02                	push   $0x2
48fdad:	8d 41 01             	lea    0x1(%ecx),%eax
48fdb0:	50                   	push   %eax
48fdb1:	89 45 f8             	mov    %eax,-0x8(%ebp)
48fdb4:	e8 84 85 ff ff       	call   0x48833d
48fdb9:	89 04 3b             	mov    %eax,(%ebx,%edi,1)
48fdbc:	33 c0                	xor    %eax,%eax
48fdbe:	50                   	push   %eax
48fdbf:	e8 34 5a ff ff       	call   0x4857f8
48fdc4:	83 c4 0c             	add    $0xc,%esp
48fdc7:	83 3c 3b 00          	cmpl   $0x0,(%ebx,%edi,1)
48fdcb:	74 2f                	je     0x48fdfc
48fdcd:	ff 37                	push   (%edi)
48fdcf:	ff 75 f8             	push   -0x8(%ebp)
48fdd2:	ff 34 3b             	push   (%ebx,%edi,1)
48fdd5:	e8 c3 98 fe ff       	call   0x47969d
48fdda:	83 c4 0c             	add    $0xc,%esp
48fddd:	85 c0                	test   %eax,%eax
48fddf:	75 20                	jne    0x48fe01
48fde1:	83 c7 04             	add    $0x4,%edi
48fde4:	8b 0f                	mov    (%edi),%ecx
48fde6:	85 c9                	test   %ecx,%ecx
48fde8:	75 ae                	jne    0x48fd98
48fdea:	5b                   	pop    %ebx
48fdeb:	33 c0                	xor    %eax,%eax
48fded:	50                   	push   %eax
48fdee:	e8 05 5a ff ff       	call   0x4857f8
48fdf3:	59                   	pop    %ecx
48fdf4:	8b c6                	mov    %esi,%eax
48fdf6:	5e                   	pop    %esi
48fdf7:	e9 65 ff ff ff       	jmp    0x48fd61
48fdfc:	e8 98 2b ff ff       	call   0x482999
48fe01:	33 c0                	xor    %eax,%eax
48fe03:	50                   	push   %eax
48fe04:	50                   	push   %eax
48fe05:	50                   	push   %eax
48fe06:	50                   	push   %eax
48fe07:	50                   	push   %eax
48fe08:	e8 41 98 fe ff       	call   0x47964e
48fe0d:	cc                   	int3
48fe0e:	a1 90 87 4c 00       	mov    0x4c8790,%eax
48fe13:	3b 05 94 87 4c 00    	cmp    0x4c8794,%eax
48fe19:	75 0c                	jne    0x48fe27
48fe1b:	50                   	push   %eax
48fe1c:	e8 2f ff ff ff       	call   0x48fd50
48fe21:	59                   	pop    %ecx
48fe22:	a3 90 87 4c 00       	mov    %eax,0x4c8790
48fe27:	c3                   	ret
48fe28:	8b ff                	mov    %edi,%edi
48fe2a:	55                   	push   %ebp
48fe2b:	8b ec                	mov    %esp,%ebp
48fe2d:	53                   	push   %ebx
48fe2e:	56                   	push   %esi
48fe2f:	57                   	push   %edi
48fe30:	8b 3d 90 87 4c 00    	mov    0x4c8790,%edi
48fe36:	8b f7                	mov    %edi,%esi
48fe38:	8b 07                	mov    (%edi),%eax
48fe3a:	85 c0                	test   %eax,%eax
48fe3c:	74 2d                	je     0x48fe6b
48fe3e:	8b 5d 0c             	mov    0xc(%ebp),%ebx
48fe41:	53                   	push   %ebx
48fe42:	50                   	push   %eax
48fe43:	ff 75 08             	push   0x8(%ebp)
48fe46:	e8 24 4f 00 00       	call   0x494d6f
48fe4b:	83 c4 0c             	add    $0xc,%esp
48fe4e:	85 c0                	test   %eax,%eax
48fe50:	75 10                	jne    0x48fe62
48fe52:	8b 06                	mov    (%esi),%eax
48fe54:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
48fe58:	83 f8 3d             	cmp    $0x3d,%eax
48fe5b:	74 1c                	je     0x48fe79
48fe5d:	66 85 c0             	test   %ax,%ax
48fe60:	74 17                	je     0x48fe79
48fe62:	83 c6 04             	add    $0x4,%esi
48fe65:	8b 06                	mov    (%esi),%eax
48fe67:	85 c0                	test   %eax,%eax
48fe69:	75 d6                	jne    0x48fe41
48fe6b:	2b f7                	sub    %edi,%esi
48fe6d:	c1 fe 02             	sar    $0x2,%esi
48fe70:	f7 de                	neg    %esi
48fe72:	5f                   	pop    %edi
48fe73:	8b c6                	mov    %esi,%eax
48fe75:	5e                   	pop    %esi
48fe76:	5b                   	pop    %ebx
48fe77:	5d                   	pop    %ebp
48fe78:	c3                   	ret
48fe79:	2b f7                	sub    %edi,%esi
48fe7b:	c1 fe 02             	sar    $0x2,%esi
48fe7e:	eb f2                	jmp    0x48fe72
48fe80:	8b ff                	mov    %edi,%edi
48fe82:	55                   	push   %ebp
48fe83:	8b ec                	mov    %esp,%ebp
48fe85:	5d                   	pop    %ebp
48fe86:	e9 3a fc ff ff       	jmp    0x48fac5
48fe8b:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
48fe91:	8b 40 30             	mov    0x30(%eax),%eax
48fe94:	8b 40 68             	mov    0x68(%eax),%eax
48fe97:	c1 e8 08             	shr    $0x8,%eax
48fe9a:	24 01                	and    $0x1,%al
48fe9c:	c3                   	ret
48fe9d:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
48fea3:	8b 40 30             	mov    0x30(%eax),%eax
48fea6:	8b 40 10             	mov    0x10(%eax),%eax
48fea9:	8b 40 08             	mov    0x8(%eax),%eax
48feac:	c1 e8 1f             	shr    $0x1f,%eax
48feaf:	c3                   	ret
48feb0:	8b ff                	mov    %edi,%edi
48feb2:	55                   	push   %ebp
48feb3:	8b ec                	mov    %esp,%ebp
48feb5:	51                   	push   %ecx
48feb6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
48feba:	e8 de ff ff ff       	call   0x48fe9d
48febf:	84 c0                	test   %al,%al
48fec1:	75 09                	jne    0x48fecc
48fec3:	8d 45 fc             	lea    -0x4(%ebp),%eax
48fec6:	50                   	push   %eax
48fec7:	e8 fe 87 ff ff       	call   0x4886ca
48fecc:	33 c0                	xor    %eax,%eax
48fece:	83 7d fc 01          	cmpl   $0x1,-0x4(%ebp)
48fed2:	0f 95 c0             	setne  %al
48fed5:	c9                   	leave
48fed6:	c3                   	ret
48fed7:	8b ff                	mov    %edi,%edi
48fed9:	55                   	push   %ebp
48feda:	8b ec                	mov    %esp,%ebp
48fedc:	51                   	push   %ecx
48fedd:	51                   	push   %ecx
48fede:	53                   	push   %ebx
48fedf:	56                   	push   %esi
48fee0:	6a 38                	push   $0x38
48fee2:	6a 40                	push   $0x40
48fee4:	e8 54 84 ff ff       	call   0x48833d
48fee9:	8b f0                	mov    %eax,%esi
48feeb:	33 db                	xor    %ebx,%ebx
48feed:	89 75 f8             	mov    %esi,-0x8(%ebp)
48fef0:	59                   	pop    %ecx
48fef1:	59                   	pop    %ecx
48fef2:	85 f6                	test   %esi,%esi
48fef4:	75 04                	jne    0x48fefa
48fef6:	8b f3                	mov    %ebx,%esi
48fef8:	eb 4b                	jmp    0x48ff45
48fefa:	8d 86 00 0e 00 00    	lea    0xe00(%esi),%eax
48ff00:	3b f0                	cmp    %eax,%esi
48ff02:	74 41                	je     0x48ff45
48ff04:	57                   	push   %edi
48ff05:	8d 7e 20             	lea    0x20(%esi),%edi
48ff08:	8b f0                	mov    %eax,%esi
48ff0a:	53                   	push   %ebx
48ff0b:	68 a0 0f 00 00       	push   $0xfa0
48ff10:	8d 47 e0             	lea    -0x20(%edi),%eax
48ff13:	50                   	push   %eax
48ff14:	e8 16 8b ff ff       	call   0x488a2f
48ff19:	83 4f f8 ff          	orl    $0xffffffff,-0x8(%edi)
48ff1d:	80 67 0d f8          	andb   $0xf8,0xd(%edi)
48ff21:	89 1f                	mov    %ebx,(%edi)
48ff23:	8d 7f 38             	lea    0x38(%edi),%edi
48ff26:	89 5f cc             	mov    %ebx,-0x34(%edi)
48ff29:	8d 47 e0             	lea    -0x20(%edi),%eax
48ff2c:	c7 47 d0 00 00 0a 0a 	movl   $0xa0a0000,-0x30(%edi)
48ff33:	c6 47 d4 0a          	movb   $0xa,-0x2c(%edi)
48ff37:	89 5f d6             	mov    %ebx,-0x2a(%edi)
48ff3a:	88 5f da             	mov    %bl,-0x26(%edi)
48ff3d:	3b c6                	cmp    %esi,%eax
48ff3f:	75 c9                	jne    0x48ff0a
48ff41:	8b 75 f8             	mov    -0x8(%ebp),%esi
48ff44:	5f                   	pop    %edi
48ff45:	53                   	push   %ebx
48ff46:	e8 ad 58 ff ff       	call   0x4857f8
48ff4b:	59                   	pop    %ecx
48ff4c:	8b c6                	mov    %esi,%eax
48ff4e:	5e                   	pop    %esi
48ff4f:	5b                   	pop    %ebx
48ff50:	c9                   	leave
48ff51:	c3                   	ret
48ff52:	8b ff                	mov    %edi,%edi
48ff54:	55                   	push   %ebp
48ff55:	8b ec                	mov    %esp,%ebp
48ff57:	56                   	push   %esi
48ff58:	8b 75 08             	mov    0x8(%ebp),%esi
48ff5b:	85 f6                	test   %esi,%esi
48ff5d:	74 25                	je     0x48ff84
48ff5f:	53                   	push   %ebx
48ff60:	8d 9e 00 0e 00 00    	lea    0xe00(%esi),%ebx
48ff66:	57                   	push   %edi
48ff67:	8b fe                	mov    %esi,%edi
48ff69:	3b f3                	cmp    %ebx,%esi
48ff6b:	74 0e                	je     0x48ff7b
48ff6d:	57                   	push   %edi
48ff6e:	ff 15 94 e0 49 00    	call   *0x49e094
48ff74:	83 c7 38             	add    $0x38,%edi
48ff77:	3b fb                	cmp    %ebx,%edi
48ff79:	75 f2                	jne    0x48ff6d
48ff7b:	56                   	push   %esi
48ff7c:	e8 77 58 ff ff       	call   0x4857f8
48ff81:	59                   	pop    %ecx
48ff82:	5f                   	pop    %edi
48ff83:	5b                   	pop    %ebx
48ff84:	5e                   	pop    %esi
48ff85:	5d                   	pop    %ebp
48ff86:	c3                   	ret
48ff87:	6a 10                	push   $0x10
48ff89:	68 90 1b 4c 00       	push   $0x4c1b90
48ff8e:	e8 ad a7 fd ff       	call   0x46a740
48ff93:	81 7d 08 00 20 00 00 	cmpl   $0x2000,0x8(%ebp)
48ff9a:	72 21                	jb     0x48ffbd
48ff9c:	e8 94 9f fe ff       	call   0x479f35
48ffa1:	6a 09                	push   $0x9
48ffa3:	5e                   	pop    %esi
48ffa4:	89 30                	mov    %esi,(%eax)
48ffa6:	e8 76 96 fe ff       	call   0x479621
48ffab:	8b c6                	mov    %esi,%eax
48ffad:	8b 4d f0             	mov    -0x10(%ebp),%ecx
48ffb0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
48ffb7:	59                   	pop    %ecx
48ffb8:	5f                   	pop    %edi
48ffb9:	5e                   	pop    %esi
48ffba:	5b                   	pop    %ebx
48ffbb:	c9                   	leave
48ffbc:	c3                   	ret
48ffbd:	33 f6                	xor    %esi,%esi
48ffbf:	89 75 e4             	mov    %esi,-0x1c(%ebp)
48ffc2:	6a 07                	push   $0x7
48ffc4:	e8 98 1e ff ff       	call   0x481e61
48ffc9:	59                   	pop    %ecx
48ffca:	89 75 fc             	mov    %esi,-0x4(%ebp)
48ffcd:	8b fe                	mov    %esi,%edi
48ffcf:	a1 00 8a 4c 00       	mov    0x4c8a00,%eax
48ffd4:	89 7d e0             	mov    %edi,-0x20(%ebp)
48ffd7:	39 45 08             	cmp    %eax,0x8(%ebp)
48ffda:	7c 1f                	jl     0x48fffb
48ffdc:	39 34 bd 00 88 4c 00 	cmp    %esi,0x4c8800(,%edi,4)
48ffe3:	75 31                	jne    0x490016
48ffe5:	e8 ed fe ff ff       	call   0x48fed7
48ffea:	89 04 bd 00 88 4c 00 	mov    %eax,0x4c8800(,%edi,4)
48fff1:	85 c0                	test   %eax,%eax
48fff3:	75 14                	jne    0x490009
48fff5:	6a 0c                	push   $0xc
48fff7:	5e                   	pop    %esi
48fff8:	89 75 e4             	mov    %esi,-0x1c(%ebp)
48fffb:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
490002:	e8 15 00 00 00       	call   0x49001c
490007:	eb a2                	jmp    0x48ffab
490009:	a1 00 8a 4c 00       	mov    0x4c8a00,%eax
49000e:	83 c0 40             	add    $0x40,%eax
490011:	a3 00 8a 4c 00       	mov    %eax,0x4c8a00
490016:	47                   	inc    %edi
490017:	eb bb                	jmp    0x48ffd4
490019:	8b 75 e4             	mov    -0x1c(%ebp),%esi
49001c:	6a 07                	push   $0x7
49001e:	e8 8e 1e ff ff       	call   0x481eb1
490023:	59                   	pop    %ecx
490024:	c3                   	ret
490025:	8b ff                	mov    %edi,%edi
490027:	55                   	push   %ebp
490028:	8b ec                	mov    %esp,%ebp
49002a:	8b 45 08             	mov    0x8(%ebp),%eax
49002d:	8b c8                	mov    %eax,%ecx
49002f:	83 e0 3f             	and    $0x3f,%eax
490032:	c1 f9 06             	sar    $0x6,%ecx
490035:	6b c0 38             	imul   $0x38,%eax,%eax
490038:	03 04 8d 00 88 4c 00 	add    0x4c8800(,%ecx,4),%eax
49003f:	50                   	push   %eax
490040:	ff 15 98 e1 49 00    	call   *0x49e198
490046:	5d                   	pop    %ebp
490047:	c3                   	ret
490048:	8b ff                	mov    %edi,%edi
49004a:	55                   	push   %ebp
49004b:	8b ec                	mov    %esp,%ebp
49004d:	51                   	push   %ecx
49004e:	53                   	push   %ebx
49004f:	56                   	push   %esi
490050:	8b 75 08             	mov    0x8(%ebp),%esi
490053:	85 f6                	test   %esi,%esi
490055:	78 69                	js     0x4900c0
490057:	3b 35 00 8a 4c 00    	cmp    0x4c8a00,%esi
49005d:	73 61                	jae    0x4900c0
49005f:	8b c6                	mov    %esi,%eax
490061:	8b de                	mov    %esi,%ebx
490063:	83 e0 3f             	and    $0x3f,%eax
490066:	c1 eb 06             	shr    $0x6,%ebx
490069:	6b c8 38             	imul   $0x38,%eax,%ecx
49006c:	8b 04 9d 00 88 4c 00 	mov    0x4c8800(,%ebx,4),%eax
490073:	89 4d fc             	mov    %ecx,-0x4(%ebp)
490076:	83 7c 01 18 ff       	cmpl   $0xffffffff,0x18(%ecx,%eax,1)
49007b:	75 43                	jne    0x4900c0
49007d:	57                   	push   %edi
49007e:	e8 8e 2d ff ff       	call   0x482e11
490083:	8b 7d 0c             	mov    0xc(%ebp),%edi
490086:	83 f8 01             	cmp    $0x1,%eax
490089:	75 22                	jne    0x4900ad
49008b:	83 ee 00             	sub    $0x0,%esi
49008e:	74 14                	je     0x4900a4
490090:	83 ee 01             	sub    $0x1,%esi
490093:	74 0a                	je     0x49009f
490095:	83 ee 01             	sub    $0x1,%esi
490098:	75 13                	jne    0x4900ad
49009a:	57                   	push   %edi
49009b:	6a f4                	push   $0xfffffff4
49009d:	eb 08                	jmp    0x4900a7
49009f:	57                   	push   %edi
4900a0:	6a f5                	push   $0xfffffff5
4900a2:	eb 03                	jmp    0x4900a7
4900a4:	57                   	push   %edi
4900a5:	6a f6                	push   $0xfffffff6
4900a7:	ff 15 c4 e0 49 00    	call   *0x49e0c4
4900ad:	8b 04 9d 00 88 4c 00 	mov    0x4c8800(,%ebx,4),%eax
4900b4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4900b7:	89 7c 08 18          	mov    %edi,0x18(%eax,%ecx,1)
4900bb:	33 c0                	xor    %eax,%eax
4900bd:	5f                   	pop    %edi
4900be:	eb 16                	jmp    0x4900d6
4900c0:	e8 70 9e fe ff       	call   0x479f35
4900c5:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4900cb:	e8 52 9e fe ff       	call   0x479f22
4900d0:	83 20 00             	andl   $0x0,(%eax)
4900d3:	83 c8 ff             	or     $0xffffffff,%eax
4900d6:	5e                   	pop    %esi
4900d7:	5b                   	pop    %ebx
4900d8:	c9                   	leave
4900d9:	c3                   	ret
4900da:	8b ff                	mov    %edi,%edi
4900dc:	55                   	push   %ebp
4900dd:	8b ec                	mov    %esp,%ebp
4900df:	8b 45 08             	mov    0x8(%ebp),%eax
4900e2:	8b c8                	mov    %eax,%ecx
4900e4:	83 e0 3f             	and    $0x3f,%eax
4900e7:	c1 f9 06             	sar    $0x6,%ecx
4900ea:	6b c0 38             	imul   $0x38,%eax,%eax
4900ed:	03 04 8d 00 88 4c 00 	add    0x4c8800(,%ecx,4),%eax
4900f4:	50                   	push   %eax
4900f5:	ff 15 a4 e1 49 00    	call   *0x49e1a4
4900fb:	5d                   	pop    %ebp
4900fc:	c3                   	ret
4900fd:	6a 1c                	push   $0x1c
4900ff:	68 70 1b 4c 00       	push   $0x4c1b70
490104:	e8 37 a6 fd ff       	call   0x46a740
490109:	6a 07                	push   $0x7
49010b:	e8 51 1d ff ff       	call   0x481e61
490110:	59                   	pop    %ecx
490111:	83 cb ff             	or     $0xffffffff,%ebx
490114:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
490117:	33 ff                	xor    %edi,%edi
490119:	89 7d fc             	mov    %edi,-0x4(%ebp)