47fd13:	8b 4d d8             	mov    -0x28(%ebp),%ecx
47fd16:	83 c4 10             	add    $0x10,%esp
47fd19:	e9 6f 81 f8 ff       	jmp    0x407e8d
47fd1e:	68 5c 61 4b 00       	push   $0x4b615c
47fd23:	57                   	push   %edi
47fd24:	53                   	push   %ebx
47fd25:	8d 55 a4             	lea    -0x5c(%ebp),%edx
47fd28:	8d 8d 28 ff ff ff    	lea    -0xd8(%ebp),%ecx
47fd2e:	e8 19 0a ff ff       	call   0x47074c
47fd33:	8b 4d d8             	mov    -0x28(%ebp),%ecx
47fd36:	83 c4 0c             	add    $0xc,%esp
47fd39:	e9 4f 81 f8 ff       	jmp    0x407e8d
47fd3e:	68 10 66 4b 00       	push   $0x4b6610
47fd43:	57                   	push   %edi
47fd44:	53                   	push   %ebx
47fd45:	8d 55 a4             	lea    -0x5c(%ebp),%edx
47fd48:	8d 8d 28 ff ff ff    	lea    -0xd8(%ebp),%ecx
47fd4e:	e8 f9 09 ff ff       	call   0x47074c
47fd53:	8b 4d d8             	mov    -0x28(%ebp),%ecx
47fd56:	83 c4 0c             	add    $0xc,%esp
47fd59:	e9 2f 81 f8 ff       	jmp    0x407e8d
47fd5e:	ff 75 0c             	push   0xc(%ebp)
47fd61:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
47fd67:	50                   	push   %eax
47fd68:	8d 85 18 ff ff ff    	lea    -0xe8(%ebp),%eax
47fd6e:	50                   	push   %eax
47fd6f:	8d 95 f4 fe ff ff    	lea    -0x10c(%ebp),%edx
47fd75:	8d 4d fc             	lea    -0x4(%ebp),%ecx
47fd78:	c7 85 18 ff ff ff 00 	movl   $0x0,-0xe8(%ebp)
47fd7f:	00 00 00
47fd82:	c7 85 0c ff ff ff 00 	movl   $0x0,-0xf4(%ebp)
47fd89:	00 00 00
47fd8c:	e8 22 11 ff ff       	call   0x470eb3
47fd91:	83 c4 0c             	add    $0xc,%esp
47fd94:	85 c0                	test   %eax,%eax
47fd96:	0f 84 50 8a f8 ff    	je     0x4087ec
47fd9c:	33 c0                	xor    %eax,%eax
47fd9e:	83 fe 10             	cmp    $0x10,%esi
47fda1:	8b 75 e8             	mov    -0x18(%ebp),%esi
47fda4:	0f 94 c0             	sete   %al
47fda7:	33 c9                	xor    %ecx,%ecx
47fda9:	3b 85 f4 fe ff ff    	cmp    -0x10c(%ebp),%eax
47fdaf:	0f b7 85 18 ff ff ff 	movzwl -0xe8(%ebp),%eax
47fdb6:	0f 94 c1             	sete   %cl
47fdb9:	83 c6 06             	add    $0x6,%esi
47fdbc:	89 75 a4             	mov    %esi,-0x5c(%ebp)
47fdbf:	83 c1 03             	add    $0x3,%ecx
47fdc2:	66 89 4e fa          	mov    %cx,-0x6(%esi)
47fdc6:	8b 4d d8             	mov    -0x28(%ebp),%ecx
47fdc9:	66 89 46 fc          	mov    %ax,-0x4(%esi)
47fdcd:	0f b7 85 0c ff ff ff 	movzwl -0xf4(%ebp),%eax
47fdd4:	66 89 46 fe          	mov    %ax,-0x2(%esi)
47fdd8:	49                   	dec    %ecx
47fdd9:	89 4d d8             	mov    %ecx,-0x28(%ebp)
47fddc:	e9 af 80 f8 ff       	jmp    0x407e90
47fde1:	8b 7d fc             	mov    -0x4(%ebp),%edi
47fde4:	f6 c3 40             	test   $0x40,%bl
47fde7:	0f 85 66 22 00 00    	jne    0x482053
47fded:	8b 55 f0             	mov    -0x10(%ebp),%edx
47fdf0:	0f b7 1f             	movzwl (%edi),%ebx
47fdf3:	49                   	dec    %ecx
47fdf4:	83 ea 02             	sub    $0x2,%edx
47fdf7:	89 4d d8             	mov    %ecx,-0x28(%ebp)
47fdfa:	89 55 f0             	mov    %edx,-0x10(%ebp)
47fdfd:	e9 27 80 f8 ff       	jmp    0x407e29
47fe02:	8b 7d fc             	mov    -0x4(%ebp),%edi
47fe05:	8b 75 e8             	mov    -0x18(%ebp),%esi
47fe08:	e9 89 80 f8 ff       	jmp    0x407e96
47fe0d:	66 83 7f 04 45       	cmpw   $0x45,0x4(%edi)
47fe12:	75 0f                	jne    0x47fe23
47fe14:	83 c7 04             	add    $0x4,%edi
47fe17:	33 f6                	xor    %esi,%esi
47fe19:	89 7d fc             	mov    %edi,-0x4(%ebp)
47fe1c:	66 83 7f 02 5c       	cmpw   $0x5c,0x2(%edi)
47fe21:	74 ea                	je     0x47fe0d
47fe23:	89 75 cc             	mov    %esi,-0x34(%ebp)
47fe26:	e9 0c 80 f8 ff       	jmp    0x407e37
47fe2b:	8b 4d 28             	mov    0x28(%ebp),%ecx
47fe2e:	81 49 64 00 08 00 00 	orl    $0x800,0x64(%ecx)
47fe35:	e9 11 80 f8 ff       	jmp    0x407e4b
47fe3a:	66 83 7f 02 45       	cmpw   $0x45,0x2(%edi)
47fe3f:	75 11                	jne    0x47fe52
47fe41:	83 c7 04             	add    $0x4,%edi
47fe44:	89 7d fc             	mov    %edi,-0x4(%ebp)
47fe47:	66 83 3f 5c          	cmpw   $0x5c,(%edi)
47fe4b:	74 ed                	je     0x47fe3a
47fe4d:	e9 cd 86 f8 ff       	jmp    0x40851f
47fe52:	66 83 3f 5c          	cmpw   $0x5c,(%edi)
47fe56:	0f 85 c3 86 f8 ff    	jne    0x40851f
47fe5c:	66 83 7f 02 51       	cmpw   $0x51,0x2(%edi)
47fe61:	0f 85 b8 86 f8 ff    	jne    0x40851f
47fe67:	83 c7 04             	add    $0x4,%edi
47fe6a:	89 7d fc             	mov    %edi,-0x4(%ebp)
47fe6d:	66 83 3f 5c          	cmpw   $0x5c,(%edi)
47fe71:	75 18                	jne    0x47fe8b
47fe73:	66 83 7f 02 45       	cmpw   $0x45,0x2(%edi)
47fe78:	75 11                	jne    0x47fe8b
47fe7a:	83 c7 04             	add    $0x4,%edi
47fe7d:	89 7d fc             	mov    %edi,-0x4(%ebp)
47fe80:	66 83 3f 5c          	cmpw   $0x5c,(%edi)
47fe84:	74 d6                	je     0x47fe5c
47fe86:	e9 94 86 f8 ff       	jmp    0x40851f
47fe8b:	be 01 00 00 00       	mov    $0x1,%esi
47fe90:	89 75 cc             	mov    %esi,-0x34(%ebp)
47fe93:	e9 87 86 f8 ff       	jmp    0x40851f
47fe98:	0f b7 47 02          	movzwl 0x2(%edi),%eax
47fe9c:	83 c7 02             	add    $0x2,%edi
47fe9f:	81 e6 ff 03 00 00    	and    $0x3ff,%esi
47fea5:	c1 e6 0a             	shl    $0xa,%esi
47fea8:	25 ff 03 00 00       	and    $0x3ff,%eax
47fead:	0b f0                	or     %eax,%esi
47feaf:	81 c6 00 00 01 00    	add    $0x10000,%esi
47feb5:	89 b5 68 ff ff ff    	mov    %esi,-0x98(%ebp)
47febb:	89 7d fc             	mov    %edi,-0x4(%ebp)
47febe:	e9 95 86 f8 ff       	jmp    0x408558
47fec3:	8b 45 28             	mov    0x28(%ebp),%eax
47fec6:	6a 01                	push   $0x1
47fec8:	ff 75 f4             	push   -0xc(%ebp)
47fecb:	8d 95 68 ff ff ff    	lea    -0x98(%ebp),%edx
47fed1:	ff 70 40             	push   0x40(%eax)
47fed4:	8d 4d fc             	lea    -0x4(%ebp),%ecx
47fed7:	ff 75 0c             	push   0xc(%ebp)
47feda:	e8 8f 8f f8 ff       	call   0x408e6e
47fedf:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47fee2:	83 c4 10             	add    $0x10,%esp
47fee5:	83 39 00             	cmpl   $0x0,(%ecx)
47fee8:	0f 85 fe 88 f8 ff    	jne    0x4087ec
47feee:	8b 7d fc             	mov    -0x4(%ebp),%edi
47fef1:	85 c0                	test   %eax,%eax
47fef3:	74 1c                	je     0x47ff11
47fef5:	83 f8 05             	cmp    $0x5,%eax
47fef8:	0f 85 75 21 00 00    	jne    0x482073
47fefe:	8b 55 f0             	mov    -0x10(%ebp),%edx
47ff01:	be 08 00 00 00       	mov    $0x8,%esi
47ff06:	89 b5 68 ff ff ff    	mov    %esi,-0x98(%ebp)
47ff0c:	e9 62 86 f8 ff       	jmp    0x408573
47ff11:	8b b5 68 ff ff ff    	mov    -0x98(%ebp),%esi
47ff17:	8b 55 f0             	mov    -0x10(%ebp),%edx
47ff1a:	e9 54 86 f8 ff       	jmp    0x408573
47ff1f:	0f b7 47 02          	movzwl 0x2(%edi),%eax
47ff23:	83 f8 3a             	cmp    $0x3a,%eax
47ff26:	74 0e                	je     0x47ff36
47ff28:	83 f8 2e             	cmp    $0x2e,%eax
47ff2b:	74 09                	je     0x47ff36
47ff2d:	83 f8 3d             	cmp    $0x3d,%eax
47ff30:	0f 85 3a 86 f8 ff    	jne    0x408570
47ff36:	8d 55 80             	lea    -0x80(%ebp),%edx
47ff39:	8b cf                	mov    %edi,%ecx
47ff3b:	e8 9c 0a ff ff       	call   0x4709dc
47ff40:	85 c0                	test   %eax,%eax
47ff42:	0f 85 3d 21 00 00    	jne    0x482085
47ff48:	8b 55 f0             	mov    -0x10(%ebp),%edx
47ff4b:	e9 20 86 f8 ff       	jmp    0x408570
47ff50:	8b 45 28             	mov    0x28(%ebp),%eax
47ff53:	81 48 64 00 08 00 00 	orl    $0x800,0x64(%eax)
47ff5a:	e9 3e 86 f8 ff       	jmp    0x40859d
47ff5f:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
47ff62:	85 db                	test   %ebx,%ebx
47ff64:	74 18                	je     0x47ff7e
47ff66:	8d 7b 02             	lea    0x2(%ebx),%edi
47ff69:	89 7d fc             	mov    %edi,-0x4(%ebp)
47ff6c:	0f b7 1f             	movzwl (%edi),%ebx
47ff6f:	c7 45 84 00 00 00 00 	movl   $0x0,-0x7c(%ebp)
47ff76:	85 db                	test   %ebx,%ebx
47ff78:	0f 85 2f 7f f8 ff    	jne    0x407ead
47ff7e:	8b 45 0c             	mov    0xc(%ebp),%eax
47ff81:	c7 00 06 00 00 00    	movl   $0x6,(%eax)
47ff87:	8b 45 08             	mov    0x8(%ebp),%eax
47ff8a:	89 38                	mov    %edi,(%eax)
47ff8c:	33 c0                	xor    %eax,%eax
47ff8e:	e9 9f 7a f8 ff       	jmp    0x407a32
47ff93:	8b 45 a0             	mov    -0x60(%ebp),%eax
47ff96:	83 c7 02             	add    $0x2,%edi
47ff99:	89 7d fc             	mov    %edi,-0x4(%ebp)
47ff9c:	8b 7d d4             	mov    -0x2c(%ebp),%edi
47ff9f:	89 45 d8             	mov    %eax,-0x28(%ebp)
47ffa2:	8b 45 a8             	mov    -0x58(%ebp),%eax
47ffa5:	89 45 98             	mov    %eax,-0x68(%ebp)
47ffa8:	85 ff                	test   %edi,%edi
47ffaa:	0f 84 1b 85 f8 ff    	je     0x4084cb
47ffb0:	8b 45 d0             	mov    -0x30(%ebp),%eax
47ffb3:	83 f8 fe             	cmp    $0xfffffffe,%eax
47ffb6:	75 06                	jne    0x47ffbe
47ffb8:	83 c8 ff             	or     $0xffffffff,%eax
47ffbb:	89 45 d0             	mov    %eax,-0x30(%ebp)
47ffbe:	8b 75 dc             	mov    -0x24(%ebp),%esi
47ffc1:	8b 4d 90             	mov    -0x70(%ebp),%ecx
47ffc4:	89 45 8c             	mov    %eax,-0x74(%ebp)
47ffc7:	8b 45 f4             	mov    -0xc(%ebp),%eax
47ffca:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
47ffd0:	85 f6                	test   %esi,%esi
47ffd2:	74 5c                	je     0x480030
47ffd4:	a8 01                	test   $0x1,%al
47ffd6:	74 5a                	je     0x480032
47ffd8:	8b c3                	mov    %ebx,%eax
47ffda:	99                   	cltd
47ffdb:	83 e2 7f             	and    $0x7f,%edx
47ffde:	03 c2                	add    %edx,%eax
47ffe0:	c1 f8 07             	sar    $0x7,%eax
47ffe3:	0f b6 88 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%ecx
47ffea:	8b c3                	mov    %ebx,%eax
47ffec:	c1 e1 07             	shl    $0x7,%ecx
47ffef:	25 7f 00 00 80       	and    $0x8000007f,%eax
47fff4:	79 05                	jns    0x47fffb
47fff6:	48                   	dec    %eax
47fff7:	83 c8 80             	or     $0xffffff80,%eax
47fffa:	40                   	inc    %eax
47fffb:	03 c8                	add    %eax,%ecx
47fffd:	0f b7 04 4d 08 e6 49 	movzwl 0x49e608(,%ecx,2),%eax
480004:	00
480005:	0f b6 04 c5 0b b1 4a 	movzbl 0x4ab10b(,%eax,8),%eax
48000c:	00
48000d:	85 c0                	test   %eax,%eax
48000f:	74 1c                	je     0x48002d
480011:	8b 55 f8             	mov    -0x8(%ebp),%edx
480014:	83 c2 06             	add    $0x6,%edx
480017:	c7 42 fa 0f 00 09 00 	movl   $0x9000f,-0x6(%edx)
48001e:	66 89 42 fe          	mov    %ax,-0x2(%edx)
480022:	8b 7d fc             	mov    -0x4(%ebp),%edi
480025:	89 55 f8             	mov    %edx,-0x8(%ebp)
480028:	e9 53 7b f8 ff       	jmp    0x407b80
48002d:	8b 45 f4             	mov    -0xc(%ebp),%eax
480030:	a8 01                	test   $0x1,%al
480032:	8b 55 f8             	mov    -0x8(%ebp),%edx
480035:	b8 00 00 00 00       	mov    $0x0,%eax
48003a:	0f 95 c0             	setne  %al
48003d:	83 c2 02             	add    $0x2,%edx
480040:	83 c0 1f             	add    $0x1f,%eax
480043:	66 89 42 fe          	mov    %ax,-0x2(%edx)
480047:	85 f6                	test   %esi,%esi
480049:	74 1d                	je     0x480068
48004b:	81 fb ff ff 00 00    	cmp    $0xffff,%ebx
480051:	76 15                	jbe    0x480068
480053:	8b cb                	mov    %ebx,%ecx
480055:	e8 bf 17 ff ff       	call   0x471819
48005a:	8b 7d fc             	mov    -0x4(%ebp),%edi
48005d:	8d 14 42             	lea    (%edx,%eax,2),%edx
480060:	89 55 f8             	mov    %edx,-0x8(%ebp)
480063:	e9 18 7b f8 ff       	jmp    0x407b80
480068:	66 89 1a             	mov    %bx,(%edx)
48006b:	8b 7d fc             	mov    -0x4(%ebp),%edi
48006e:	83 c2 02             	add    $0x2,%edx
480071:	89 55 f8             	mov    %edx,-0x8(%ebp)
480074:	e9 07 7b f8 ff       	jmp    0x407b80
480079:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
48007d:	0f 84 54 84 f8 ff    	je     0x4084d7
480083:	8d 95 f8 fe ff ff    	lea    -0x108(%ebp),%edx
480089:	8b cb                	mov    %ebx,%ecx
48008b:	e8 89 17 ff ff       	call   0x471819
480090:	66 8b 9d f8 fe ff ff 	mov    -0x108(%ebp),%bx
480097:	8b 55 f8             	mov    -0x8(%ebp),%edx
48009a:	8b f0                	mov    %eax,%esi
48009c:	89 75 f0             	mov    %esi,-0x10(%ebp)
48009f:	e9 e1 79 f8 ff       	jmp    0x407a85
4800a4:	85 c0                	test   %eax,%eax
4800a6:	74 0c                	je     0x4800b4
4800a8:	f7 c3 00 00 00 20    	test   $0x20000000,%ebx
4800ae:	0f 84 49 7e f8 ff    	je     0x407efd
4800b4:	8b 55 f8             	mov    -0x8(%ebp),%edx
4800b7:	8b 7d d4             	mov    -0x2c(%ebp),%edi
4800ba:	33 c0                	xor    %eax,%eax
4800bc:	66 89 06             	mov    %ax,(%esi)
4800bf:	b8 70 00 00 00       	mov    $0x70,%eax
4800c4:	66 89 02             	mov    %ax,(%edx)
4800c7:	33 c0                	xor    %eax,%eax
4800c9:	83 c6 02             	add    $0x2,%esi
4800cc:	85 ff                	test   %edi,%edi
4800ce:	0f 95 c0             	setne  %al
4800d1:	89 75 a4             	mov    %esi,-0x5c(%ebp)
4800d4:	66 89 42 04          	mov    %ax,0x4(%edx)
4800d8:	85 c9                	test   %ecx,%ecx
4800da:	7e 3e                	jle    0x48011a
4800dc:	83 c8 02             	or     $0x2,%eax
4800df:	66 89 42 04          	mov    %ax,0x4(%edx)
4800e3:	83 c2 06             	add    $0x6,%edx
4800e6:	8b c6                	mov    %esi,%eax
4800e8:	2b c2                	sub    %edx,%eax
4800ea:	83 e0 fe             	and    $0xfffffffe,%eax
4800ed:	50                   	push   %eax
4800ee:	52                   	push   %edx
4800ef:	8d 42 20             	lea    0x20(%edx),%eax
4800f2:	50                   	push   %eax
4800f3:	89 55 f8             	mov    %edx,-0x8(%ebp)
4800f6:	e8 85 5e fa ff       	call   0x425f80
4800fb:	83 c4 0c             	add    $0xc,%esp
4800fe:	8d 85 28 ff ff ff    	lea    -0xd8(%ebp),%eax
480104:	6a 20                	push   $0x20
480106:	50                   	push   %eax
480107:	ff 75 f8             	push   -0x8(%ebp)
48010a:	e8 71 ed f9 ff       	call   0x41ee80
48010f:	8d 56 20             	lea    0x20(%esi),%edx
480112:	83 c4 0c             	add    $0xc,%esp
480115:	89 55 f8             	mov    %edx,-0x8(%ebp)
480118:	eb 05                	jmp    0x48011f
48011a:	8b d6                	mov    %esi,%edx
48011c:	89 75 f8             	mov    %esi,-0x8(%ebp)
48011f:	8b 4d e0             	mov    -0x20(%ebp),%ecx
480122:	8b c2                	mov    %edx,%eax
480124:	2b c1                	sub    %ecx,%eax
480126:	d1 f8                	sar    $1,%eax
480128:	66 89 41 02          	mov    %ax,0x2(%ecx)
48012c:	8b 7d fc             	mov    -0x4(%ebp),%edi
48012f:	e9 4f 7a f8 ff       	jmp    0x407b83
480134:	f6 94 0d 28 ff ff ff 	notb   -0xd8(%ebp,%ecx,1)
48013b:	41                   	inc    %ecx
48013c:	83 f9 20             	cmp    $0x20,%ecx
48013f:	72 f3                	jb     0x480134
480141:	e9 e2 7d f8 ff       	jmp    0x407f28
480146:	85 c9                	test   %ecx,%ecx
480148:	0f 84 05 79 f8 ff    	je     0x407a53
48014e:	8b 75 0c             	mov    0xc(%ebp),%esi
480151:	8d 45 c4             	lea    -0x3c(%ebp),%eax
480154:	56                   	push   %esi
480155:	50                   	push   %eax
480156:	8d 4f 02             	lea    0x2(%edi),%ecx
480159:	8d 55 ac             	lea    -0x54(%ebp),%edx
48015c:	e8 ab 0e ff ff       	call   0x47100c
480161:	83 c4 08             	add    $0x8,%esp
480164:	83 3e 00             	cmpl   $0x0,(%esi)
480167:	8b f8                	mov    %eax,%edi
480169:	89 7d fc             	mov    %edi,-0x4(%ebp)
48016c:	0f 85 ac 21 00 00    	jne    0x48231e
480172:	8b 55 f8             	mov    -0x8(%ebp),%edx
480175:	8b 75 ac             	mov    -0x54(%ebp),%esi
480178:	8b 45 c4             	mov    -0x3c(%ebp),%eax
48017b:	e9 3f 7f f8 ff       	jmp    0x4080bf
480180:	be 01 00 00 00       	mov    $0x1,%esi
480185:	83 c8 ff             	or     $0xffffffff,%eax
480188:	e9 2c 7f f8 ff       	jmp    0x4080b9
48018d:	c7 45 88 00 00 00 00 	movl   $0x0,-0x78(%ebp)
480194:	e9 62 7f f8 ff       	jmp    0x4080fb
480199:	8b 5d 28             	mov    0x28(%ebp),%ebx
48019c:	83 c7 02             	add    $0x2,%edi
48019f:	0f b7 07             	movzwl (%edi),%eax
4801a2:	b9 ff 00 00 00       	mov    $0xff,%ecx
4801a7:	66 3b c1             	cmp    %cx,%ax
4801aa:	77 1d                	ja     0x4801c9
4801ac:	8b 4b 0c             	mov    0xc(%ebx),%ecx
4801af:	0f b7 c0             	movzwl %ax,%eax
4801b2:	f6 04 08 01          	testb  $0x1,(%eax,%ecx,1)
4801b6:	74 11                	je     0x4801c9
4801b8:	0f b7 47 02          	movzwl 0x2(%edi),%eax
4801bc:	83 c7 02             	add    $0x2,%edi
4801bf:	ba ff 00 00 00       	mov    $0xff,%edx
4801c4:	66 3b c2             	cmp    %dx,%ax
4801c7:	76 e6                	jbe    0x4801af
4801c9:	66 83 3f 23          	cmpw   $0x23,(%edi)
4801cd:	0f 85 a1 00 00 00    	jne    0x480274
4801d3:	0f b7 57 02          	movzwl 0x2(%edi),%edx
4801d7:	83 c7 02             	add    $0x2,%edi