46fc42:	0f 84 79 03 00 00    	je     0x46ffc1
46fc48:	83 f8 fb             	cmp    $0xfffffffb,%eax
46fc4b:	0f 84 45 01 00 00    	je     0x46fd96
46fc51:	83 f8 fe             	cmp    $0xfffffffe,%eax
46fc54:	0f 85 1a fc ff ff    	jne    0x46f874
46fc5a:	6a 01                	push   $0x1
46fc5c:	56                   	push   %esi
46fc5d:	8b cb                	mov    %ebx,%ecx
46fc5f:	e8 d8 b9 fa ff       	call   0x41b63c
46fc64:	8d 44 24 18          	lea    0x18(%esp),%eax
46fc68:	50                   	push   %eax
46fc69:	ff 15 a4 d5 48 00    	call   *0x48d5a4
46fc6f:	8d 44 24 18          	lea    0x18(%esp),%eax
46fc73:	50                   	push   %eax
46fc74:	ff 37                	push   (%edi)
46fc76:	ff 15 54 d6 48 00    	call   *0x48d654
46fc7c:	ff 37                	push   (%edi)
46fc7e:	8b cb                	mov    %ebx,%ecx
46fc80:	e8 a1 b8 fa ff       	call   0x41b526
46fc85:	83 f8 ff             	cmp    $0xffffffff,%eax
46fc88:	0f 84 e6 fb ff ff    	je     0x46f874
46fc8e:	8b 0d 9c 16 4c 00    	mov    0x4c169c,%ecx
46fc94:	8b 04 81             	mov    (%ecx,%eax,4),%eax
46fc97:	8b 00                	mov    (%eax),%eax
46fc99:	8a 80 90 00 00 00    	mov    0x90(%eax),%al
46fc9f:	3c 10                	cmp    $0x10,%al
46fca1:	0f 82 cd fb ff ff    	jb     0x46f874
46fca7:	3c 11                	cmp    $0x11,%al
46fca9:	76 71                	jbe    0x46fd1c
46fcab:	3c 13                	cmp    $0x13,%al
46fcad:	0f 85 c1 fb ff ff    	jne    0x46f874
46fcb3:	8b 44 24 18          	mov    0x18(%esp),%eax
46fcb7:	8b 35 70 d6 48 00    	mov    0x48d670,%esi
46fcbd:	89 44 24 40          	mov    %eax,0x40(%esp)
46fcc1:	8b 44 24 1c          	mov    0x1c(%esp),%eax
46fcc5:	89 44 24 44          	mov    %eax,0x44(%esp)
46fcc9:	8d 44 24 40          	lea    0x40(%esp),%eax
46fccd:	50                   	push   %eax
46fcce:	33 db                	xor    %ebx,%ebx
46fcd0:	53                   	push   %ebx
46fcd1:	68 12 10 00 00       	push   $0x1012
46fcd6:	ff 37                	push   (%edi)
46fcd8:	ff d6                	call   *%esi
46fcda:	83 f8 ff             	cmp    $0xffffffff,%eax
46fcdd:	0f 84 91 fb ff ff    	je     0x46f874
46fce3:	89 84 24 80 00 00 00 	mov    %eax,0x80(%esp)
46fcea:	8d 44 24 7c          	lea    0x7c(%esp),%eax
46fcee:	50                   	push   %eax
46fcef:	53                   	push   %ebx
46fcf0:	68 4b 10 00 00       	push   $0x104b
46fcf5:	ff 37                	push   (%edi)
46fcf7:	c7 84 24 8c 00 00 00 	movl   $0x4,0x8c(%esp)
46fcfe:	04 00 00 00
46fd02:	ff d6                	call   *%esi
46fd04:	f6 44 24 48 0e       	testb  $0xe,0x48(%esp)
46fd09:	0f 84 65 fb ff ff    	je     0x46f874
46fd0f:	53                   	push   %ebx
46fd10:	ff b4 24 a0 00 00 00 	push   0xa0(%esp)
46fd17:	e9 17 fd ff ff       	jmp    0x46fa33
46fd1c:	8b 44 24 18          	mov    0x18(%esp),%eax
46fd20:	8b 35 70 d6 48 00    	mov    0x48d670,%esi
46fd26:	89 44 24 28          	mov    %eax,0x28(%esp)
46fd2a:	8b 44 24 1c          	mov    0x1c(%esp),%eax
46fd2e:	89 44 24 2c          	mov    %eax,0x2c(%esp)
46fd32:	8d 44 24 28          	lea    0x28(%esp),%eax
46fd36:	50                   	push   %eax
46fd37:	33 db                	xor    %ebx,%ebx
46fd39:	53                   	push   %ebx
46fd3a:	68 11 11 00 00       	push   $0x1111
46fd3f:	ff 37                	push   (%edi)
46fd41:	ff d6                	call   *%esi
46fd43:	85 c0                	test   %eax,%eax
46fd45:	0f 84 29 fb ff ff    	je     0x46f874
46fd4b:	89 44 24 58          	mov    %eax,0x58(%esp)
46fd4f:	8d 44 24 54          	lea    0x54(%esp),%eax
46fd53:	50                   	push   %eax
46fd54:	53                   	push   %ebx
46fd55:	68 3e 11 00 00       	push   $0x113e
46fd5a:	ff 37                	push   (%edi)
46fd5c:	c7 44 24 64 0c 00 00 	movl   $0xc,0x64(%esp)
46fd63:	00
46fd64:	c7 44 24 70 00 f0 00 	movl   $0xf000,0x70(%esp)
46fd6b:	00
46fd6c:	ff d6                	call   *%esi
46fd6e:	f6 44 24 30 46       	testb  $0x46,0x30(%esp)
46fd73:	0f 84 fb fa ff ff    	je     0x46f874
46fd79:	53                   	push   %ebx
46fd7a:	6a 09                	push   $0x9
46fd7c:	bb 0b 11 00 00       	mov    $0x110b,%ebx
46fd81:	53                   	push   %ebx
46fd82:	ff 37                	push   (%edi)
46fd84:	ff d6                	call   *%esi
46fd86:	ff 74 24 34          	push   0x34(%esp)
46fd8a:	6a 09                	push   $0x9
46fd8c:	53                   	push   %ebx
46fd8d:	ff 37                	push   (%edi)
46fd8f:	ff d6                	call   *%esi
46fd91:	e9 de fa ff ff       	jmp    0x46f874
46fd96:	6a 01                	push   $0x1
46fd98:	56                   	push   %esi
46fd99:	be 28 16 4c 00       	mov    $0x4c1628,%esi
46fd9e:	33 db                	xor    %ebx,%ebx
46fda0:	8b ce                	mov    %esi,%ecx
46fda2:	88 5c 24 1f          	mov    %bl,0x1f(%esp)
46fda6:	e8 91 b8 fa ff       	call   0x41b63c
46fdab:	8d 44 24 18          	lea    0x18(%esp),%eax
46fdaf:	50                   	push   %eax
46fdb0:	ff 15 a4 d5 48 00    	call   *0x48d5a4
46fdb6:	8d 44 24 18          	lea    0x18(%esp),%eax
46fdba:	50                   	push   %eax
46fdbb:	ff 37                	push   (%edi)
46fdbd:	ff 15 54 d6 48 00    	call   *0x48d654
46fdc3:	ff 37                	push   (%edi)
46fdc5:	8b ce                	mov    %esi,%ecx
46fdc7:	e8 5a b7 fa ff       	call   0x41b526
46fdcc:	8b f0                	mov    %eax,%esi
46fdce:	89 74 24 10          	mov    %esi,0x10(%esp)
46fdd2:	83 fe ff             	cmp    $0xffffffff,%esi
46fdd5:	75 27                	jne    0x46fdfe
46fdd7:	ff 37                	push   (%edi)
46fdd9:	ff 15 68 d6 48 00    	call   *0x48d668
46fddf:	50                   	push   %eax
46fde0:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46fde5:	e8 3c b7 fa ff       	call   0x41b526
46fdea:	8b f0                	mov    %eax,%esi
46fdec:	89 74 24 10          	mov    %esi,0x10(%esp)
46fdf0:	83 fe ff             	cmp    $0xffffffff,%esi
46fdf3:	0f 84 7b fa ff ff    	je     0x46f874
46fdf9:	c6 44 24 17 01       	movb   $0x1,0x17(%esp)
46fdfe:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46fe03:	89 74 24 20          	mov    %esi,0x20(%esp)
46fe07:	8b 04 b0             	mov    (%eax,%esi,4),%eax
46fe0a:	8b 00                	mov    (%eax),%eax
46fe0c:	8a 80 90 00 00 00    	mov    0x90(%eax),%al
46fe12:	3c 10                	cmp    $0x10,%al
46fe14:	0f 84 e2 00 00 00    	je     0x46fefc
46fe1a:	3c 13                	cmp    $0x13,%al
46fe1c:	0f 85 52 fa ff ff    	jne    0x46f874
46fe22:	8b 44 24 18          	mov    0x18(%esp),%eax
46fe26:	89 44 24 40          	mov    %eax,0x40(%esp)
46fe2a:	8b 44 24 1c          	mov    0x1c(%esp),%eax
46fe2e:	89 44 24 44          	mov    %eax,0x44(%esp)
46fe32:	8d 44 24 40          	lea    0x40(%esp),%eax
46fe36:	50                   	push   %eax
46fe37:	53                   	push   %ebx
46fe38:	68 12 10 00 00       	push   $0x1012
46fe3d:	ff 37                	push   (%edi)
46fe3f:	ff 15 70 d6 48 00    	call   *0x48d670
46fe45:	83 f8 ff             	cmp    $0xffffffff,%eax
46fe48:	7e 74                	jle    0x46febe
46fe4a:	38 5c 24 17          	cmp    %bl,0x17(%esp)
46fe4e:	75 6e                	jne    0x46febe
46fe50:	89 84 24 80 00 00 00 	mov    %eax,0x80(%esp)
46fe57:	8d 44 24 7c          	lea    0x7c(%esp),%eax
46fe5b:	50                   	push   %eax
46fe5c:	53                   	push   %ebx
46fe5d:	68 4b 10 00 00       	push   $0x104b
46fe62:	ff 37                	push   (%edi)
46fe64:	c7 84 24 8c 00 00 00 	movl   $0x4,0x8c(%esp)
46fe6b:	04 00 00 00
46fe6f:	ff 15 70 d6 48 00    	call   *0x48d670
46fe75:	85 c0                	test   %eax,%eax
46fe77:	0f 84 f7 f9 ff ff    	je     0x46f874
46fe7d:	f6 44 24 48 0e       	testb  $0xe,0x48(%esp)
46fe82:	74 3a                	je     0x46febe
46fe84:	8d 44 24 10          	lea    0x10(%esp),%eax
46fe88:	50                   	push   %eax
46fe89:	8d 44 24 28          	lea    0x28(%esp),%eax
46fe8d:	50                   	push   %eax
46fe8e:	ff b4 24 a4 00 00 00 	push   0xa4(%esp)
46fe95:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46fe9a:	e8 5f d5 f9 ff       	call   0x40d3fe
46fe9f:	84 c0                	test   %al,%al
46fea1:	74 17                	je     0x46feba
46fea3:	8b 74 24 10          	mov    0x10(%esp),%esi
46fea7:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46feac:	8b 04 b0             	mov    (%eax,%esi,4),%eax
46feaf:	8b 00                	mov    (%eax),%eax
46feb1:	85 c0                	test   %eax,%eax
46feb3:	74 05                	je     0x46feba
46feb5:	39 58 0c             	cmp    %ebx,0xc(%eax)
46feb8:	75 04                	jne    0x46febe
46feba:	8b 74 24 20          	mov    0x20(%esp),%esi
46febe:	8d 44 24 18          	lea    0x18(%esp),%eax
46fec2:	50                   	push   %eax
46fec3:	ff 37                	push   (%edi)
46fec5:	ff 15 c0 d4 48 00    	call   *0x48d4c0
46fecb:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46fed0:	8b 04 b0             	mov    (%eax,%esi,4),%eax
46fed3:	8b 00                	mov    (%eax),%eax
46fed5:	8b 48 0c             	mov    0xc(%eax),%ecx
46fed8:	85 c9                	test   %ecx,%ecx
46feda:	0f 84 94 f9 ff ff    	je     0x46f874
46fee0:	8b 44 24 3c          	mov    0x3c(%esp),%eax
46fee4:	53                   	push   %ebx
46fee5:	ff 30                	push   (%eax)
46fee7:	ff 74 24 24          	push   0x24(%esp)
46feeb:	ff 74 24 24          	push   0x24(%esp)
46feef:	53                   	push   %ebx
46fef0:	51                   	push   %ecx
46fef1:	ff 15 a0 d5 48 00    	call   *0x48d5a0
46fef7:	e9 78 f9 ff ff       	jmp    0x46f874
46fefc:	8b 44 24 18          	mov    0x18(%esp),%eax
46ff00:	89 44 24 28          	mov    %eax,0x28(%esp)
46ff04:	8b 44 24 1c          	mov    0x1c(%esp),%eax
46ff08:	89 44 24 2c          	mov    %eax,0x2c(%esp)
46ff0c:	8d 44 24 28          	lea    0x28(%esp),%eax
46ff10:	50                   	push   %eax
46ff11:	53                   	push   %ebx
46ff12:	68 11 11 00 00       	push   $0x1111
46ff17:	ff 37                	push   (%edi)
46ff19:	ff 15 70 d6 48 00    	call   *0x48d670
46ff1f:	85 c0                	test   %eax,%eax
46ff21:	74 5c                	je     0x46ff7f
46ff23:	89 44 24 58          	mov    %eax,0x58(%esp)
46ff27:	8d 44 24 54          	lea    0x54(%esp),%eax
46ff2b:	50                   	push   %eax
46ff2c:	53                   	push   %ebx
46ff2d:	68 3e 11 00 00       	push   $0x113e
46ff32:	ff 37                	push   (%edi)
46ff34:	c7 44 24 64 04 00 00 	movl   $0x4,0x64(%esp)
46ff3b:	00
46ff3c:	ff 15 70 d6 48 00    	call   *0x48d670
46ff42:	f6 44 24 30 46       	testb  $0x46,0x30(%esp)
46ff47:	74 36                	je     0x46ff7f
46ff49:	8d 44 24 10          	lea    0x10(%esp),%eax
46ff4d:	50                   	push   %eax
46ff4e:	8d 44 24 28          	lea    0x28(%esp),%eax
46ff52:	50                   	push   %eax
46ff53:	ff b4 24 80 00 00 00 	push   0x80(%esp)
46ff5a:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46ff5f:	e8 9a d4 f9 ff       	call   0x40d3fe
46ff64:	84 c0                	test   %al,%al
46ff66:	74 13                	je     0x46ff7b
46ff68:	8b 74 24 10          	mov    0x10(%esp),%esi
46ff6c:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46ff71:	8b 04 b0             	mov    (%eax,%esi,4),%eax
46ff74:	8b 00                	mov    (%eax),%eax
46ff76:	39 58 0c             	cmp    %ebx,0xc(%eax)
46ff79:	75 04                	jne    0x46ff7f
46ff7b:	8b 74 24 20          	mov    0x20(%esp),%esi
46ff7f:	8d 44 24 18          	lea    0x18(%esp),%eax
46ff83:	50                   	push   %eax
46ff84:	ff 37                	push   (%edi)
46ff86:	ff 15 c0 d4 48 00    	call   *0x48d4c0
46ff8c:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46ff91:	8b 04 b0             	mov    (%eax,%esi,4),%eax
46ff94:	8b 00                	mov    (%eax),%eax
46ff96:	8b 48 0c             	mov    0xc(%eax),%ecx
46ff99:	85 c9                	test   %ecx,%ecx
46ff9b:	0f 84 d3 f8 ff ff    	je     0x46f874
46ffa1:	8b 44 24 3c          	mov    0x3c(%esp),%eax
46ffa5:	53                   	push   %ebx
46ffa6:	ff 30                	push   (%eax)
46ffa8:	ff 74 24 24          	push   0x24(%esp)
46ffac:	ff 74 24 24          	push   0x24(%esp)
46ffb0:	68 80 00 00 00       	push   $0x80
46ffb5:	51                   	push   %ecx
46ffb6:	ff 15 a0 d5 48 00    	call   *0x48d5a0
46ffbc:	e9 22 fa ff ff       	jmp    0x46f9e3
46ffc1:	ff 37                	push   (%edi)
46ffc3:	8b cb                	mov    %ebx,%ecx
46ffc5:	e8 5c b5 fa ff       	call   0x41b526
46ffca:	89 44 24 10          	mov    %eax,0x10(%esp)
46ffce:	83 f8 ff             	cmp    $0xffffffff,%eax
46ffd1:	0f 84 9d f8 ff ff    	je     0x46f874
46ffd7:	8b 0d 9c 16 4c 00    	mov    0x4c169c,%ecx
46ffdd:	8b 04 81             	mov    (%ecx,%eax,4),%eax
46ffe0:	8b 08                	mov    (%eax),%ecx
46ffe2:	8a 81 90 00 00 00    	mov    0x90(%ecx),%al
46ffe8:	3c 10                	cmp    $0x10,%al
46ffea:	74 08                	je     0x46fff4
46ffec:	3c 13                	cmp    $0x13,%al
46ffee:	0f 85 80 f8 ff ff    	jne    0x46f874
46fff4:	8b 47 0c             	mov    0xc(%edi),%eax
46fff7:	48                   	dec    %eax
46fff8:	0f 84 a9 00 00 00    	je     0x4700a7
46fffe:	2d 00 00 01 00       	sub    $0x10000,%eax
470003:	0f 85 6b f8 ff ff    	jne    0x46f874
470009:	32 db                	xor    %bl,%bl
47000b:	81 79 48 00 00 00 fe 	cmpl   $0xfe000000,0x48(%ecx)
470012:	75 02                	jne    0x470016
470014:	fe c3                	inc    %bl
470016:	8d 44 24 10          	lea    0x10(%esp),%eax
47001a:	50                   	push   %eax
47001b:	8d 44 24 28          	lea    0x28(%esp),%eax
47001f:	50                   	push   %eax
470020:	ff 77 2c             	push   0x2c(%edi)
470023:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
470028:	e8 d1 d3 f9 ff       	call   0x40d3fe
47002d:	84 c0                	test   %al,%al
47002f:	75 07                	jne    0x470038
470031:	33 c0                	xor    %eax,%eax
470033:	e9 4b f8 ff ff       	jmp    0x46f883
470038:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
47003d:	8b 74 24 10          	mov    0x10(%esp),%esi
470041:	6a f0                	push   $0xfffffff0
470043:	8b 04 b0             	mov    (%eax,%esi,4),%eax
470046:	8b 00                	mov    (%eax),%eax
470048:	ff 70 34             	push   0x34(%eax)
47004b:	ff 15 44 d6 48 00    	call   *0x48d644
470051:	a9 00 00 00 08       	test   $0x8000000,%eax
470056:	75 d9                	jne    0x470031
470058:	f6 47 28 11          	testb  $0x11,0x28(%edi)
47005c:	8b 0d 9c 16 4c 00    	mov    0x4c169c,%ecx
470062:	74 12                	je     0x470076
470064:	8b 04 b1             	mov    (%ecx,%esi,4),%eax
470067:	8b 00                	mov    (%eax),%eax
470069:	80 b8 90 00 00 00 14 	cmpb   $0x14,0x90(%eax)
470070:	0f 85 fe f7 ff ff    	jne    0x46f874
470076:	8b 04 b1             	mov    (%ecx,%esi,4),%eax
470079:	8b 00                	mov    (%eax),%eax
47007b:	8b 40 4c             	mov    0x4c(%eax),%eax
47007e:	83 f8 ff             	cmp    $0xffffffff,%eax
470081:	74 09                	je     0x47008c
470083:	89 47 30             	mov    %eax,0x30(%edi)
470086:	8b 0d 9c 16 4c 00    	mov    0x4c169c,%ecx
47008c:	8b 04 b1             	mov    (%ecx,%esi,4),%eax
47008f:	8b 00                	mov    (%eax),%eax
470091:	8b 40 48             	mov    0x48(%eax),%eax
470094:	85 c0                	test   %eax,%eax
470096:	78 99                	js     0x470031
470098:	84 db                	test   %bl,%bl
47009a:	74 06                	je     0x4700a2
47009c:	f6 47 24 01          	testb  $0x1,0x24(%edi)
4700a0:	74 8f                	je     0x470031
4700a2:	89 47 34             	mov    %eax,0x34(%edi)
4700a5:	eb 8a                	jmp    0x470031
4700a7:	6a 20                	push   $0x20
4700a9:	58                   	pop    %eax
4700aa:	e9 d4 f7 ff ff       	jmp    0x46f883
4700af:	55                   	push   %ebp
4700b0:	8b ec                	mov    %esp,%ebp
4700b2:	56                   	push   %esi
4700b3:	57                   	push   %edi
4700b4:	ff 75 0c             	push   0xc(%ebp)
4700b7:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
4700bc:	e8 65 b4 fa ff       	call   0x41b526
4700c1:	8b 75 10             	mov    0x10(%ebp),%esi
4700c4:	8b d0                	mov    %eax,%edx
4700c6:	83 fa ff             	cmp    $0xffffffff,%edx
4700c9:	74 37                	je     0x470102
4700cb:	8b 3d 9c 16 4c 00    	mov    0x4c169c,%edi
4700d1:	83 fe 08             	cmp    $0x8,%esi
4700d4:	75 0e                	jne    0x4700e4
4700d6:	8b 0c 97             	mov    (%edi,%edx,4),%ecx
4700d9:	8b 01                	mov    (%ecx),%eax
4700db:	80 b8 90 00 00 00 12 	cmpb   $0x12,0x90(%eax)
4700e2:	74 13                	je     0x4700f7
4700e4:	83 fe 04             	cmp    $0x4,%esi