48f9ac:	58                   	pop    %eax
48f9ad:	0f b7 d2             	movzwl %dx,%edx
48f9b0:	66 3b c3             	cmp    %bx,%ax
48f9b3:	76 c5                	jbe    0x48f97a
48f9b5:	0f b7 c3             	movzwl %bx,%eax
48f9b8:	8b 5d fc             	mov    -0x4(%ebp),%ebx
48f9bb:	66 89 57 04          	mov    %dx,0x4(%edi)
48f9bf:	66 89 77 02          	mov    %si,0x2(%edi)
48f9c3:	83 e0 0f             	and    $0xf,%eax
48f9c6:	5e                   	pop    %esi
48f9c7:	0b 45 e8             	or     -0x18(%ebp),%eax
48f9ca:	66 89 47 06          	mov    %ax,0x6(%edi)
48f9ce:	66 8b c3             	mov    %bx,%ax
48f9d1:	5f                   	pop    %edi
48f9d2:	5b                   	pop    %ebx
48f9d3:	c9                   	leave
48f9d4:	c3                   	ret
48f9d5:	8b ff                	mov    %edi,%edi
48f9d7:	55                   	push   %ebp
48f9d8:	8b ec                	mov    %esp,%ebp
48f9da:	56                   	push   %esi
48f9db:	8b 75 0c             	mov    0xc(%ebp),%esi
48f9de:	ba ff 07 00 00       	mov    $0x7ff,%edx
48f9e3:	66 8b 46 06          	mov    0x6(%esi),%ax
48f9e7:	66 c1 e8 04          	shr    $0x4,%ax
48f9eb:	66 23 c2             	and    %dx,%ax
48f9ee:	0f b7 c8             	movzwl %ax,%ecx
48f9f1:	66 3b c2             	cmp    %dx,%ax
48f9f4:	75 29                	jne    0x48fa1f
48f9f6:	8b 45 08             	mov    0x8(%ebp),%eax
48f9f9:	33 c9                	xor    %ecx,%ecx
48f9fb:	66 89 08             	mov    %cx,(%eax)
48f9fe:	f6 46 06 0f          	testb  $0xf,0x6(%esi)
48fa02:	75 16                	jne    0x48fa1a
48fa04:	33 c0                	xor    %eax,%eax
48fa06:	66 39 46 04          	cmp    %ax,0x4(%esi)
48fa0a:	75 0e                	jne    0x48fa1a
48fa0c:	66 39 46 02          	cmp    %ax,0x2(%esi)
48fa10:	75 08                	jne    0x48fa1a
48fa12:	66 39 06             	cmp    %ax,(%esi)
48fa15:	75 03                	jne    0x48fa1a
48fa17:	40                   	inc    %eax
48fa18:	eb 4e                	jmp    0x48fa68
48fa1a:	6a 02                	push   $0x2
48fa1c:	58                   	pop    %eax
48fa1d:	eb 49                	jmp    0x48fa68
48fa1f:	33 d2                	xor    %edx,%edx
48fa21:	66 3b d0             	cmp    %ax,%dx
48fa24:	72 1b                	jb     0x48fa41
48fa26:	56                   	push   %esi
48fa27:	e8 13 fe ff ff       	call   0x48f83f
48fa2c:	59                   	pop    %ecx
48fa2d:	0f b7 c8             	movzwl %ax,%ecx
48fa30:	66 85 c9             	test   %cx,%cx
48fa33:	7e 0c                	jle    0x48fa41
48fa35:	8b 45 08             	mov    0x8(%ebp),%eax
48fa38:	33 c9                	xor    %ecx,%ecx
48fa3a:	66 89 08             	mov    %cx,(%eax)
48fa3d:	33 c0                	xor    %eax,%eax
48fa3f:	eb 27                	jmp    0x48fa68
48fa41:	66 8b 46 06          	mov    0x6(%esi),%ax
48fa45:	ba ef bf 00 00       	mov    $0xbfef,%edx
48fa4a:	66 23 c2             	and    %dx,%ax
48fa4d:	81 c1 02 fc ff ff    	add    $0xfffffc02,%ecx
48fa53:	ba e0 3f 00 00       	mov    $0x3fe0,%edx
48fa58:	66 0b c2             	or     %dx,%ax
48fa5b:	66 89 46 06          	mov    %ax,0x6(%esi)
48fa5f:	8b 45 08             	mov    0x8(%ebp),%eax
48fa62:	66 89 08             	mov    %cx,(%eax)
48fa65:	83 c8 ff             	or     $0xffffffff,%eax
48fa68:	5e                   	pop    %esi
48fa69:	5d                   	pop    %ebp
48fa6a:	c3                   	ret
48fa6b:	8b ff                	mov    %edi,%edi
48fa6d:	55                   	push   %ebp
48fa6e:	8b ec                	mov    %esp,%ebp
48fa70:	83 ec 10             	sub    $0x10,%esp
48fa73:	53                   	push   %ebx
48fa74:	56                   	push   %esi
48fa75:	8b 75 08             	mov    0x8(%ebp),%esi
48fa78:	57                   	push   %edi
48fa79:	33 ff                	xor    %edi,%edi
48fa7b:	47                   	inc    %edi
48fa7c:	0f b7 46 02          	movzwl 0x2(%esi),%eax
48fa80:	8b c8                	mov    %eax,%ecx
48fa82:	83 e0 7f             	and    $0x7f,%eax
48fa85:	81 e1 00 80 00 00    	and    $0x8000,%ecx
48fa8b:	8b d8                	mov    %eax,%ebx
48fa8d:	89 4d f0             	mov    %ecx,-0x10(%ebp)
48fa90:	8b c8                	mov    %eax,%ecx
48fa92:	66 85 c9             	test   %cx,%cx
48fa95:	75 0b                	jne    0x48faa2
48fa97:	33 c0                	xor    %eax,%eax
48fa99:	66 39 06             	cmp    %ax,(%esi)
48fa9c:	0f 84 91 00 00 00    	je     0x48fb33
48faa2:	8b d1                	mov    %ecx,%edx
48faa4:	8b c3                	mov    %ebx,%eax
48faa6:	66 85 c9             	test   %cx,%cx
48faa9:	75 0d                	jne    0x48fab8
48faab:	0f b7 06             	movzwl (%esi),%eax
48faae:	33 c9                	xor    %ecx,%ecx
48fab0:	6a f1                	push   $0xfffffff1
48fab2:	66 89 0e             	mov    %cx,(%esi)
48fab5:	8b d0                	mov    %eax,%edx
48fab7:	5f                   	pop    %edi
48fab8:	c7 45 fc 80 00 00 00 	movl   $0x80,-0x4(%ebp)
48fabf:	0f b7 c0             	movzwl %ax,%eax
48fac2:	8b d8                	mov    %eax,%ebx
48fac4:	0f b7 ca             	movzwl %dx,%ecx
48fac7:	66 3b 55 fc          	cmp    -0x4(%ebp),%dx
48facb:	73 36                	jae    0x48fb03
48facd:	0f b7 0e             	movzwl (%esi),%ecx
48fad0:	8d 14 1b             	lea    (%ebx,%ebx,1),%edx
48fad3:	66 8b c1             	mov    %cx,%ax
48fad6:	66 c1 e8 0f          	shr    $0xf,%ax
48fada:	66 0b d0             	or     %ax,%dx
48fadd:	4f                   	dec    %edi
48fade:	0f b7 c2             	movzwl %dx,%eax
48fae1:	89 45 f8             	mov    %eax,-0x8(%ebp)
48fae4:	0f b7 da             	movzwl %dx,%ebx
48fae7:	8b c3                	mov    %ebx,%eax
48fae9:	89 45 f4             	mov    %eax,-0xc(%ebp)
48faec:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
48faef:	66 89 06             	mov    %ax,(%esi)
48faf2:	66 3b 55 fc          	cmp    -0x4(%ebp),%dx
48faf6:	72 d5                	jb     0x48facd
48faf8:	8b 45 f8             	mov    -0x8(%ebp),%eax
48fafb:	0f b7 c8             	movzwl %ax,%ecx
48fafe:	8b c3                	mov    %ebx,%eax
48fb00:	0f b7 d8             	movzwl %ax,%ebx
48fb03:	0f b7 d3             	movzwl %bx,%edx
48fb06:	bb 00 01 00 00       	mov    $0x100,%ebx
48fb0b:	0f b7 c1             	movzwl %cx,%eax
48fb0e:	66 3b d9             	cmp    %cx,%bx
48fb11:	77 1d                	ja     0x48fb30
48fb13:	66 8b 06             	mov    (%esi),%ax
48fb16:	8b ca                	mov    %edx,%ecx
48fb18:	c1 e1 0f             	shl    $0xf,%ecx
48fb1b:	66 d1 e8             	shr    $1,%ax
48fb1e:	66 0b c8             	or     %ax,%cx
48fb21:	66 d1 ea             	shr    $1,%dx
48fb24:	47                   	inc    %edi
48fb25:	66 89 0e             	mov    %cx,(%esi)
48fb28:	66 3b da             	cmp    %dx,%bx
48fb2b:	76 e6                	jbe    0x48fb13
48fb2d:	0f b7 c2             	movzwl %dx,%eax
48fb30:	83 e0 7f             	and    $0x7f,%eax
48fb33:	0b 45 f0             	or     -0x10(%ebp),%eax
48fb36:	66 89 46 02          	mov    %ax,0x2(%esi)
48fb3a:	66 8b c7             	mov    %di,%ax
48fb3d:	5f                   	pop    %edi
48fb3e:	5e                   	pop    %esi
48fb3f:	5b                   	pop    %ebx
48fb40:	c9                   	leave
48fb41:	c3                   	ret
48fb42:	8b ff                	mov    %edi,%edi
48fb44:	55                   	push   %ebp
48fb45:	8b ec                	mov    %esp,%ebp
48fb47:	56                   	push   %esi
48fb48:	8b 75 0c             	mov    0xc(%ebp),%esi
48fb4b:	ba ff 00 00 00       	mov    $0xff,%edx
48fb50:	66 8b 46 02          	mov    0x2(%esi),%ax
48fb54:	66 c1 e8 07          	shr    $0x7,%ax
48fb58:	66 23 c2             	and    %dx,%ax
48fb5b:	0f b7 c8             	movzwl %ax,%ecx
48fb5e:	66 3b c2             	cmp    %dx,%ax
48fb61:	75 1d                	jne    0x48fb80
48fb63:	8b 45 08             	mov    0x8(%ebp),%eax
48fb66:	33 c9                	xor    %ecx,%ecx
48fb68:	66 89 08             	mov    %cx,(%eax)
48fb6b:	f6 46 02 7f          	testb  $0x7f,0x2(%esi)
48fb6f:	75 0a                	jne    0x48fb7b
48fb71:	66 39 0e             	cmp    %cx,(%esi)
48fb74:	75 05                	jne    0x48fb7b
48fb76:	33 c0                	xor    %eax,%eax
48fb78:	40                   	inc    %eax
48fb79:	eb 4b                	jmp    0x48fbc6
48fb7b:	6a 02                	push   $0x2
48fb7d:	58                   	pop    %eax
48fb7e:	eb 46                	jmp    0x48fbc6
48fb80:	33 d2                	xor    %edx,%edx
48fb82:	66 3b d0             	cmp    %ax,%dx
48fb85:	72 1b                	jb     0x48fba2
48fb87:	56                   	push   %esi
48fb88:	e8 de fe ff ff       	call   0x48fa6b
48fb8d:	59                   	pop    %ecx
48fb8e:	0f b7 c8             	movzwl %ax,%ecx
48fb91:	66 85 c9             	test   %cx,%cx
48fb94:	7e 0c                	jle    0x48fba2
48fb96:	8b 45 08             	mov    0x8(%ebp),%eax
48fb99:	33 c9                	xor    %ecx,%ecx
48fb9b:	66 89 08             	mov    %cx,(%eax)
48fb9e:	33 c0                	xor    %eax,%eax
48fba0:	eb 24                	jmp    0x48fbc6
48fba2:	66 8b 46 02          	mov    0x2(%esi),%ax
48fba6:	ba 7f bf 00 00       	mov    $0xbf7f,%edx
48fbab:	66 23 c2             	and    %dx,%ax
48fbae:	83 c1 82             	add    $0xffffff82,%ecx
48fbb1:	ba 00 3f 00 00       	mov    $0x3f00,%edx
48fbb6:	66 0b c2             	or     %dx,%ax
48fbb9:	66 89 46 02          	mov    %ax,0x2(%esi)
48fbbd:	8b 45 08             	mov    0x8(%ebp),%eax
48fbc0:	66 89 08             	mov    %cx,(%eax)
48fbc3:	83 c8 ff             	or     $0xffffffff,%eax
48fbc6:	5e                   	pop    %esi
48fbc7:	5d                   	pop    %ebp
48fbc8:	c3                   	ret
48fbc9:	cc                   	int3
48fbca:	cc                   	int3
48fbcb:	cc                   	int3
48fbcc:	cc                   	int3
48fbcd:	cc                   	int3
48fbce:	cc                   	int3
48fbcf:	cc                   	int3
48fbd0:	e8 aa 02 00 00       	call   0x48fe7f
48fbd5:	6a 02                	push   $0x2
48fbd7:	a3 ec 42 4a 00       	mov    %eax,0x4a42ec
48fbdc:	e8 b7 0a 00 00       	call   0x490698
48fbe1:	50                   	push   %eax
48fbe2:	ff 15 14 80 4a 00    	call   *0x4a8014
48fbe8:	83 0d cc 66 4a 00 ff 	orl    $0xffffffff,0x4a66cc
48fbef:	83 0d d0 66 4a 00 ff 	orl    $0xffffffff,0x4a66d0
48fbf6:	59                   	pop    %ecx
48fbf7:	59                   	pop    %ecx
48fbf8:	ff 15 08 80 4a 00    	call   *0x4a8008
48fbfe:	8b 0d 28 46 4a 00    	mov    0x4a4628,%ecx
48fc04:	89 08                	mov    %ecx,(%eax)
48fc06:	ff 15 20 80 4a 00    	call   *0x4a8020
48fc0c:	8b 0d 1c 46 4a 00    	mov    0x4a461c,%ecx
48fc12:	89 08                	mov    %ecx,(%eax)
48fc14:	e8 b7 bd f8 ff       	call   0x41b9d0
48fc19:	83 3d f0 38 4a 00 00 	cmpl   $0x0,0x4a38f0
48fc20:	75 0c                	jne    0x48fc2e
48fc22:	68 d0 b9 41 00       	push   $0x41b9d0
48fc27:	ff 15 04 80 4a 00    	call   *0x4a8004
48fc2d:	59                   	pop    %ecx
48fc2e:	e8 8a 0c 00 00       	call   0x4908bd
48fc33:	33 c0                	xor    %eax,%eax
48fc35:	c3                   	ret
48fc36:	cc                   	int3
48fc37:	cc                   	int3
48fc38:	cc                   	int3
48fc39:	cc                   	int3
48fc3a:	cc                   	int3
48fc3b:	cc                   	int3
48fc3c:	cc                   	int3
48fc3d:	cc                   	int3
48fc3e:	cc                   	int3
48fc3f:	cc                   	int3
48fc40:	a1 24 46 4a 00       	mov    0x4a4624,%eax
48fc45:	68 f0 42 4a 00       	push   $0x4a42f0
48fc4a:	ff 35 20 46 4a 00    	push   0x4a4620
48fc50:	a3 f0 42 4a 00       	mov    %eax,0x4a42f0
48fc55:	68 e4 42 4a 00       	push   $0x4a42e4
48fc5a:	68 e0 42 4a 00       	push   $0x4a42e0
48fc5f:	68 dc 42 4a 00       	push   $0x4a42dc
48fc64:	ff 15 18 80 4a 00    	call   *0x4a8018
48fc6a:	83 c4 14             	add    $0x14,%esp
48fc6d:	a3 e8 42 4a 00       	mov    %eax,0x4a42e8
48fc72:	c3                   	ret
48fc73:	6a 58                	push   $0x58
48fc75:	68 a0 e8 49 00       	push   $0x49e8a0
48fc7a:	e8 59 0c 00 00       	call   0x4908d8
48fc7f:	33 db                	xor    %ebx,%ebx
48fc81:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
48fc84:	8d 45 98             	lea    -0x68(%ebp),%eax
48fc87:	50                   	push   %eax
48fc88:	ff 15 ec 7e 4a 00    	call   *0x4a7eec
48fc8e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
48fc91:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
48fc97:	8b 70 04             	mov    0x4(%eax),%esi
48fc9a:	8b fb                	mov    %ebx,%edi
48fc9c:	ba c4 66 4a 00       	mov    $0x4a66c4,%edx
48fca1:	8b ce                	mov    %esi,%ecx
48fca3:	33 c0                	xor    %eax,%eax
48fca5:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
48fca9:	85 c0                	test   %eax,%eax
48fcab:	74 18                	je     0x48fcc5
48fcad:	3b c6                	cmp    %esi,%eax
48fcaf:	75 07                	jne    0x48fcb8
48fcb1:	33 f6                	xor    %esi,%esi
48fcb3:	46                   	inc    %esi
48fcb4:	8b fe                	mov    %esi,%edi
48fcb6:	eb 10                	jmp    0x48fcc8
48fcb8:	68 e8 03 00 00       	push   $0x3e8
48fcbd:	ff 15 4c 7f 4a 00    	call   *0x4a7f4c
48fcc3:	eb d7                	jmp    0x48fc9c
48fcc5:	33 f6                	xor    %esi,%esi
48fcc7:	46                   	inc    %esi
48fcc8:	39 35 c8 66 4a 00    	cmp    %esi,0x4a66c8
48fcce:	75 0a                	jne    0x48fcda
48fcd0:	6a 1f                	push   $0x1f
48fcd2:	e8 f7 09 00 00       	call   0x4906ce
48fcd7:	59                   	pop    %ecx
48fcd8:	eb 3a                	jmp    0x48fd14
48fcda:	39 1d c8 66 4a 00    	cmp    %ebx,0x4a66c8
48fce0:	75 2c                	jne    0x48fd0e
48fce2:	89 35 c8 66 4a 00    	mov    %esi,0x4a66c8
48fce8:	68 5c d5 40 00       	push   $0x40d55c
48fced:	68 50 d5 40 00       	push   $0x40d550
48fcf2:	e8 57 01 00 00       	call   0x48fe4e
48fcf7:	59                   	pop    %ecx
48fcf8:	59                   	pop    %ecx
48fcf9:	85 c0                	test   %eax,%eax
48fcfb:	74 17                	je     0x48fd14
48fcfd:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
48fd04:	b8 ff 00 00 00       	mov    $0xff,%eax
48fd09:	e9 30 01 00 00       	jmp    0x48fe3e
48fd0e:	89 35 d8 42 4a 00    	mov    %esi,0x4a42d8
48fd14:	39 35 c8 66 4a 00    	cmp    %esi,0x4a66c8
48fd1a:	75 1b                	jne    0x48fd37
48fd1c:	68 4c d5 40 00       	push   $0x40d54c
48fd21:	68 1c d4 40 00       	push   $0x40d41c
48fd26:	e8 a5 0b 00 00       	call   0x4908d0
48fd2b:	59                   	pop    %ecx
48fd2c:	59                   	pop    %ecx
48fd2d:	c7 05 c8 66 4a 00 02 	movl   $0x2,0x4a66c8
48fd34:	00 00 00
48fd37:	85 ff                	test   %edi,%edi
48fd39:	75 09                	jne    0x48fd44
48fd3b:	33 c0                	xor    %eax,%eax
48fd3d:	b9 c4 66 4a 00       	mov    $0x4a66c4,%ecx
48fd42:	87 01                	xchg   %eax,(%ecx)
48fd44:	83 3d d4 66 4a 00 00 	cmpl   $0x0,0x4a66d4
48fd4b:	74 23                	je     0x48fd70
48fd4d:	68 d4 66 4a 00       	push   $0x4a66d4
48fd52:	e8 d9 09 00 00       	call   0x490730
48fd57:	59                   	pop    %ecx
48fd58:	85 c0                	test   %eax,%eax
48fd5a:	74 14                	je     0x48fd70
48fd5c:	53                   	push   %ebx
48fd5d:	6a 02                	push   $0x2
48fd5f:	53                   	push   %ebx
48fd60:	8b 35 d4 66 4a 00    	mov    0x4a66d4,%esi
48fd66:	8b ce                	mov    %esi,%ecx
48fd68:	ff 15 2c 81 4a 00    	call   *0x4a812c
48fd6e:	ff d6                	call   *%esi
48fd70:	a1 fc 7f 4a 00       	mov    0x4a7ffc,%eax
48fd75:	8b 08                	mov    (%eax),%ecx
48fd77:	85 c9                	test   %ecx,%ecx
48fd79:	74 82                	je     0x48fcfd
48fd7b:	89 4d e0             	mov    %ecx,-0x20(%ebp)
48fd7e:	6a 20                	push   $0x20
48fd80:	5e                   	pop    %esi
48fd81:	8b 55 e4             	mov    -0x1c(%ebp),%edx
48fd84:	0f b7 01             	movzwl (%ecx),%eax
48fd87:	66 3b c6             	cmp    %si,%ax
48fd8a:	77 4f                	ja     0x48fddb
48fd8c:	66 85 c0             	test   %ax,%ax
48fd8f:	74 19                	je     0x48fdaa