48fbdf:	78 50                	js     0x48fc31
48fbe1:	39 18                	cmp    %ebx,(%eax)
48fbe3:	74 4c                	je     0x48fc31
48fbe5:	ff 34 88             	push   (%eax,%ecx,4)
48fbe8:	e8 0b 5c ff ff       	call   0x4857f8
48fbed:	8b 55 f8             	mov    -0x8(%ebp),%edx
48fbf0:	59                   	pop    %ecx
48fbf1:	66 39 5d f4          	cmp    %bx,-0xc(%ebp)
48fbf5:	75 30                	jne    0x48fc27
48fbf7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
48fbfa:	eb 08                	jmp    0x48fc04
48fbfc:	8b 44 91 04          	mov    0x4(%ecx,%edx,4),%eax
48fc00:	89 04 91             	mov    %eax,(%ecx,%edx,4)
48fc03:	42                   	inc    %edx
48fc04:	39 1c 91             	cmp    %ebx,(%ecx,%edx,4)
48fc07:	75 f3                	jne    0x48fbfc
48fc09:	6a 04                	push   $0x4
48fc0b:	52                   	push   %edx
48fc0c:	51                   	push   %ecx
48fc0d:	e8 79 5b ff ff       	call   0x48578b
48fc12:	53                   	push   %ebx
48fc13:	89 45 f4             	mov    %eax,-0xc(%ebp)
48fc16:	e8 dd 5b ff ff       	call   0x4857f8
48fc1b:	8b 45 f4             	mov    -0xc(%ebp),%eax
48fc1e:	83 c4 10             	add    $0x10,%esp
48fc21:	85 c0                	test   %eax,%eax
48fc23:	74 63                	je     0x48fc88
48fc25:	eb 5c                	jmp    0x48fc83
48fc27:	8b 45 fc             	mov    -0x4(%ebp),%eax
48fc2a:	8b fb                	mov    %ebx,%edi
48fc2c:	89 34 90             	mov    %esi,(%eax,%edx,4)
48fc2f:	eb 57                	jmp    0x48fc88
48fc31:	66 39 5d f4          	cmp    %bx,-0xc(%ebp)
48fc35:	0f 84 16 ff ff ff    	je     0x48fb51
48fc3b:	f7 d9                	neg    %ecx
48fc3d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48fc40:	8d 51 02             	lea    0x2(%ecx),%edx
48fc43:	3b d1                	cmp    %ecx,%edx
48fc45:	0f 82 03 ff ff ff    	jb     0x48fb4e
48fc4b:	81 fa ff ff ff 3f    	cmp    $0x3fffffff,%edx
48fc51:	0f 83 f7 fe ff ff    	jae    0x48fb4e
48fc57:	6a 04                	push   $0x4
48fc59:	52                   	push   %edx
48fc5a:	50                   	push   %eax
48fc5b:	e8 2b 5b ff ff       	call   0x48578b
48fc60:	53                   	push   %ebx
48fc61:	89 45 f4             	mov    %eax,-0xc(%ebp)
48fc64:	e8 8f 5b ff ff       	call   0x4857f8
48fc69:	8b 45 f4             	mov    -0xc(%ebp),%eax
48fc6c:	83 c4 10             	add    $0x10,%esp
48fc6f:	85 c0                	test   %eax,%eax
48fc71:	0f 84 d7 fe ff ff    	je     0x48fb4e
48fc77:	8b 55 f8             	mov    -0x8(%ebp),%edx
48fc7a:	8b fb                	mov    %ebx,%edi
48fc7c:	89 34 90             	mov    %esi,(%eax,%edx,4)
48fc7f:	89 5c 90 04          	mov    %ebx,0x4(%eax,%edx,4)
48fc83:	a3 90 87 4c 00       	mov    %eax,0x4c8790
48fc88:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
48fc8b:	0f 84 90 00 00 00    	je     0x48fd21
48fc91:	8d 4e 02             	lea    0x2(%esi),%ecx
48fc94:	66 8b 06             	mov    (%esi),%ax
48fc97:	83 c6 02             	add    $0x2,%esi
48fc9a:	66 3b c3             	cmp    %bx,%ax
48fc9d:	75 f5                	jne    0x48fc94
48fc9f:	2b f1                	sub    %ecx,%esi
48fca1:	d1 fe                	sar    $1,%esi
48fca3:	6a 02                	push   $0x2
48fca5:	8d 46 02             	lea    0x2(%esi),%eax
48fca8:	50                   	push   %eax
48fca9:	89 45 f4             	mov    %eax,-0xc(%ebp)
48fcac:	e8 8c 86 ff ff       	call   0x48833d
48fcb1:	8b f0                	mov    %eax,%esi
48fcb3:	59                   	pop    %ecx
48fcb4:	59                   	pop    %ecx
48fcb5:	85 f6                	test   %esi,%esi
48fcb7:	75 08                	jne    0x48fcc1
48fcb9:	53                   	push   %ebx
48fcba:	e8 39 5b ff ff       	call   0x4857f8
48fcbf:	eb 4e                	jmp    0x48fd0f
48fcc1:	ff 75 08             	push   0x8(%ebp)
48fcc4:	ff 75 f4             	push   -0xc(%ebp)
48fcc7:	56                   	push   %esi
48fcc8:	e8 d0 99 fe ff       	call   0x47969d
48fccd:	83 c4 0c             	add    $0xc,%esp
48fcd0:	85 c0                	test   %eax,%eax
48fcd2:	75 71                	jne    0x48fd45
48fcd4:	8b 45 f0             	mov    -0x10(%ebp),%eax
48fcd7:	33 d2                	xor    %edx,%edx
48fcd9:	8d 48 01             	lea    0x1(%eax),%ecx
48fcdc:	66 89 14 46          	mov    %dx,(%esi,%eax,2)
48fce0:	8b 45 ec             	mov    -0x14(%ebp),%eax
48fce3:	8d 0c 4e             	lea    (%esi,%ecx,2),%ecx
48fce6:	0f b7 c0             	movzwl %ax,%eax
48fce9:	f7 d8                	neg    %eax
48fceb:	1b c0                	sbb    %eax,%eax
48fced:	23 c1                	and    %ecx,%eax
48fcef:	50                   	push   %eax
48fcf0:	56                   	push   %esi
48fcf1:	ff 15 c8 e0 49 00    	call   *0x49e0c8
48fcf7:	85 c0                	test   %eax,%eax
48fcf9:	75 1f                	jne    0x48fd1a
48fcfb:	e8 35 a2 fe ff       	call   0x479f35
48fd00:	56                   	push   %esi
48fd01:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
48fd07:	e8 ec 5a ff ff       	call   0x4857f8
48fd0c:	83 cb ff             	or     $0xffffffff,%ebx
48fd0f:	59                   	pop    %ecx
48fd10:	57                   	push   %edi
48fd11:	e8 e2 5a ff ff       	call   0x4857f8
48fd16:	8b c3                	mov    %ebx,%eax
48fd18:	eb 25                	jmp    0x48fd3f
48fd1a:	56                   	push   %esi
48fd1b:	e8 d8 5a ff ff       	call   0x4857f8
48fd20:	59                   	pop    %ecx
48fd21:	57                   	push   %edi
48fd22:	e8 d1 5a ff ff       	call   0x4857f8
48fd27:	33 c0                	xor    %eax,%eax
48fd29:	eb 14                	jmp    0x48fd3f
48fd2b:	e8 05 a2 fe ff       	call   0x479f35
48fd30:	56                   	push   %esi
48fd31:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
48fd37:	e8 bc 5a ff ff       	call   0x4857f8
48fd3c:	83 c8 ff             	or     $0xffffffff,%eax
48fd3f:	59                   	pop    %ecx
48fd40:	5f                   	pop    %edi
48fd41:	5e                   	pop    %esi
48fd42:	5b                   	pop    %ebx
48fd43:	c9                   	leave
48fd44:	c3                   	ret
48fd45:	53                   	push   %ebx
48fd46:	53                   	push   %ebx
48fd47:	53                   	push   %ebx
48fd48:	53                   	push   %ebx
48fd49:	53                   	push   %ebx
48fd4a:	e8 ff 98 fe ff       	call   0x47964e
48fd4f:	cc                   	int3
48fd50:	8b ff                	mov    %edi,%edi
48fd52:	55                   	push   %ebp
48fd53:	8b ec                	mov    %esp,%ebp
48fd55:	51                   	push   %ecx
48fd56:	51                   	push   %ecx
48fd57:	57                   	push   %edi
48fd58:	8b 7d 08             	mov    0x8(%ebp),%edi
48fd5b:	85 ff                	test   %edi,%edi
48fd5d:	75 05                	jne    0x48fd64
48fd5f:	33 c0                	xor    %eax,%eax
48fd61:	5f                   	pop    %edi
48fd62:	c9                   	leave
48fd63:	c3                   	ret
48fd64:	33 d2                	xor    %edx,%edx
48fd66:	8b c7                	mov    %edi,%eax
48fd68:	8b ca                	mov    %edx,%ecx
48fd6a:	89 55 fc             	mov    %edx,-0x4(%ebp)
48fd6d:	39 17                	cmp    %edx,(%edi)
48fd6f:	74 08                	je     0x48fd79
48fd71:	8d 40 04             	lea    0x4(%eax),%eax
48fd74:	41                   	inc    %ecx
48fd75:	39 10                	cmp    %edx,(%eax)
48fd77:	75 f8                	jne    0x48fd71
48fd79:	56                   	push   %esi
48fd7a:	8d 41 01             	lea    0x1(%ecx),%eax
48fd7d:	6a 04                	push   $0x4
48fd7f:	50                   	push   %eax
48fd80:	e8 b8 85 ff ff       	call   0x48833d
48fd85:	8b f0                	mov    %eax,%esi
48fd87:	59                   	pop    %ecx
48fd88:	59                   	pop    %ecx
48fd89:	85 f6                	test   %esi,%esi
48fd8b:	74 6f                	je     0x48fdfc
48fd8d:	8b 0f                	mov    (%edi),%ecx
48fd8f:	85 c9                	test   %ecx,%ecx
48fd91:	74 58                	je     0x48fdeb
48fd93:	53                   	push   %ebx
48fd94:	8b de                	mov    %esi,%ebx
48fd96:	2b df                	sub    %edi,%ebx
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