46fa56:	eb 2e                	jmp    0x46fa86
46fa58:	8b 47 30             	mov    0x30(%edi),%eax
46fa5b:	8b 40 10             	mov    0x10(%eax),%eax
46fa5e:	38 58 2f             	cmp    %bl,0x2f(%eax)
46fa61:	74 07                	je     0x46fa6a
46fa63:	bb 01 00 00 00       	mov    $0x1,%ebx
46fa68:	eb 1c                	jmp    0x46fa86
46fa6a:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
46fa70:	57                   	push   %edi
46fa71:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
46fa77:	e8 44 63 ff ff       	call   0x465dc0
46fa7c:	84 c0                	test   %al,%al
46fa7e:	b9 01 00 00 00       	mov    $0x1,%ecx
46fa83:	0f 45 d9             	cmovne %ecx,%ebx
46fa86:	8b cf                	mov    %edi,%ecx
46fa88:	e8 13 97 fe ff       	call   0x4591a0
46fa8d:	48                   	dec    %eax
46fa8e:	83 f8 11             	cmp    $0x11,%eax
46fa91:	0f 87 78 00 00 00    	ja     0x46fb0f
46fa97:	ff 24 85 14 00 47 00 	jmp    *0x470014(,%eax,4)
46fa9e:	83 7f 20 03          	cmpl   $0x3,0x20(%edi)
46faa2:	75 4e                	jne    0x46faf2
46faa4:	33 c0                	xor    %eax,%eax
46faa6:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
46faac:	85 db                	test   %ebx,%ebx
46faae:	74 5f                	je     0x46fb0f
46fab0:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
46fab6:	50                   	push   %eax
46fab7:	57                   	push   %edi
46fab8:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
46fabe:	e8 7d 57 ff ff       	call   0x465240
46fac3:	85 c0                	test   %eax,%eax
46fac5:	79 07                	jns    0x46face
46fac7:	b8 0a 00 00 00       	mov    $0xa,%eax
46facc:	eb 0f                	jmp    0x46fadd
46face:	83 c8 01             	or     $0x1,%eax
46fad1:	0f bd c0             	bsr    %eax,%eax
46fad4:	8d 04 c0             	lea    (%eax,%eax,8),%eax
46fad7:	83 c0 49             	add    $0x49,%eax
46fada:	c1 e8 06             	shr    $0x6,%eax
46fadd:	03 f0                	add    %eax,%esi
46fadf:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
46fae5:	40                   	inc    %eax
46fae6:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
46faec:	3b c3                	cmp    %ebx,%eax
46faee:	72 c0                	jb     0x46fab0
46faf0:	eb 1d                	jmp    0x46fb0f
46faf2:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
46faf8:	57                   	push   %edi
46faf9:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
46faff:	e8 2c 4e ff ff       	call   0x464930
46fb04:	50                   	push   %eax
46fb05:	e8 16 fb ff ff       	call   0x46f620
46fb0a:	83 c4 04             	add    $0x4,%esp
46fb0d:	8b f0                	mov    %eax,%esi
46fb0f:	8b c6                	mov    %esi,%eax
46fb11:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46fb14:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46fb1b:	59                   	pop    %ecx
46fb1c:	5f                   	pop    %edi
46fb1d:	5e                   	pop    %esi
46fb1e:	5b                   	pop    %ebx
46fb1f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46fb22:	33 cd                	xor    %ebp,%ecx
46fb24:	e8 fd 1e 16 00       	call   0x5d1a26
46fb29:	8b e5                	mov    %ebp,%esp
46fb2b:	5d                   	pop    %ebp
46fb2c:	c3                   	ret
46fb2d:	83 7f 20 03          	cmpl   $0x3,0x20(%edi)
46fb31:	75 50                	jne    0x46fb83
46fb33:	33 c0                	xor    %eax,%eax
46fb35:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
46fb3b:	85 db                	test   %ebx,%ebx
46fb3d:	74 d0                	je     0x46fb0f
46fb3f:	90                   	nop
46fb40:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
46fb46:	50                   	push   %eax
46fb47:	57                   	push   %edi
46fb48:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
46fb4e:	e8 9d 57 ff ff       	call   0x4652f0
46fb53:	83 c8 01             	or     $0x1,%eax
46fb56:	85 d2                	test   %edx,%edx
46fb58:	75 05                	jne    0x46fb5f
46fb5a:	0f bd c0             	bsr    %eax,%eax
46fb5d:	eb 06                	jmp    0x46fb65
46fb5f:	0f bd c2             	bsr    %edx,%eax
46fb62:	83 c0 20             	add    $0x20,%eax
46fb65:	8d 04 c0             	lea    (%eax,%eax,8),%eax
46fb68:	83 c0 49             	add    $0x49,%eax
46fb6b:	c1 e8 06             	shr    $0x6,%eax
46fb6e:	03 f0                	add    %eax,%esi
46fb70:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
46fb76:	40                   	inc    %eax
46fb77:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
46fb7d:	3b c3                	cmp    %ebx,%eax
46fb7f:	72 bf                	jb     0x46fb40
46fb81:	eb 8c                	jmp    0x46fb0f
46fb83:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
46fb89:	57                   	push   %edi
46fb8a:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
46fb90:	e8 7b 4e ff ff       	call   0x464a10
46fb95:	52                   	push   %edx
46fb96:	50                   	push   %eax
46fb97:	e8 54 11 00 00       	call   0x470cf0
46fb9c:	83 c4 08             	add    $0x8,%esp
46fb9f:	e9 69 ff ff ff       	jmp    0x46fb0d
46fba4:	83 7f 20 03          	cmpl   $0x3,0x20(%edi)
46fba8:	75 59                	jne    0x46fc03
46fbaa:	33 c0                	xor    %eax,%eax
46fbac:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
46fbb2:	85 db                	test   %ebx,%ebx
46fbb4:	0f 84 55 ff ff ff    	je     0x46fb0f
46fbba:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
46fbc0:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
46fbc6:	50                   	push   %eax
46fbc7:	57                   	push   %edi
46fbc8:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
46fbce:	e8 6d 56 ff ff       	call   0x465240
46fbd3:	8b c8                	mov    %eax,%ecx
46fbd5:	03 c0                	add    %eax,%eax
46fbd7:	c1 f9 1f             	sar    $0x1f,%ecx
46fbda:	33 c8                	xor    %eax,%ecx
46fbdc:	83 c9 01             	or     $0x1,%ecx
46fbdf:	0f bd c1             	bsr    %ecx,%eax
46fbe2:	8d 04 c0             	lea    (%eax,%eax,8),%eax
46fbe5:	83 c0 49             	add    $0x49,%eax
46fbe8:	c1 e8 06             	shr    $0x6,%eax
46fbeb:	03 f0                	add    %eax,%esi
46fbed:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
46fbf3:	40                   	inc    %eax
46fbf4:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
46fbfa:	3b c3                	cmp    %ebx,%eax
46fbfc:	72 c2                	jb     0x46fbc0
46fbfe:	e9 0c ff ff ff       	jmp    0x46fb0f
46fc03:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
46fc09:	57                   	push   %edi
46fc0a:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
46fc10:	e8 1b 4d ff ff       	call   0x464930
46fc15:	50                   	push   %eax
46fc16:	e8 05 31 00 00       	call   0x472d20
46fc1b:	e9 ea fe ff ff       	jmp    0x46fb0a
46fc20:	83 7f 20 03          	cmpl   $0x3,0x20(%edi)
46fc24:	75 76                	jne    0x46fc9c
46fc26:	33 c0                	xor    %eax,%eax
46fc28:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
46fc2e:	85 db                	test   %ebx,%ebx
46fc30:	0f 84 d9 fe ff ff    	je     0x46fb0f
46fc36:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
46fc3c:	50                   	push   %eax
46fc3d:	57                   	push   %edi
46fc3e:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
46fc44:	e8 a7 56 ff ff       	call   0x4652f0
46fc49:	8b ca                	mov    %edx,%ecx
46fc4b:	89 95 68 ff ff ff    	mov    %edx,-0x98(%ebp)
46fc51:	c1 bd 68 ff ff ff 1f 	sarl   $0x1f,-0x98(%ebp)
46fc58:	0f a4 c2 01          	shld   $0x1,%eax,%edx
46fc5c:	c1 f9 1f             	sar    $0x1f,%ecx
46fc5f:	03 c0                	add    %eax,%eax
46fc61:	33 c8                	xor    %eax,%ecx
46fc63:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
46fc69:	83 c9 01             	or     $0x1,%ecx
46fc6c:	33 c2                	xor    %edx,%eax
46fc6e:	75 05                	jne    0x46fc75
46fc70:	0f bd c1             	bsr    %ecx,%eax
46fc73:	eb 06                	jmp    0x46fc7b
46fc75:	0f bd c0             	bsr    %eax,%eax
46fc78:	83 c0 20             	add    $0x20,%eax
46fc7b:	8d 04 c0             	lea    (%eax,%eax,8),%eax
46fc7e:	83 c0 49             	add    $0x49,%eax
46fc81:	c1 e8 06             	shr    $0x6,%eax
46fc84:	03 f0                	add    %eax,%esi
46fc86:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
46fc8c:	40                   	inc    %eax
46fc8d:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
46fc93:	3b c3                	cmp    %ebx,%eax
46fc95:	72 9f                	jb     0x46fc36
46fc97:	e9 73 fe ff ff       	jmp    0x46fb0f
46fc9c:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
46fca2:	57                   	push   %edi
46fca3:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
46fca9:	e8 62 4d ff ff       	call   0x464a10
46fcae:	52                   	push   %edx
46fcaf:	50                   	push   %eax
46fcb0:	e8 8b 30 00 00       	call   0x472d40
46fcb5:	83 c4 08             	add    $0x8,%esp
46fcb8:	e9 50 fe ff ff       	jmp    0x46fb0d
46fcbd:	83 7f 20 03          	cmpl   $0x3,0x20(%edi)
46fcc1:	75 4a                	jne    0x46fd0d
46fcc3:	33 c0                	xor    %eax,%eax
46fcc5:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
46fccb:	85 db                	test   %ebx,%ebx
46fccd:	0f 84 3c fe ff ff    	je     0x46fb0f
46fcd3:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
46fcd9:	50                   	push   %eax
46fcda:	57                   	push   %edi
46fcdb:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
46fce1:	e8 3a 59 ff ff       	call   0x465620
46fce6:	83 c8 01             	or     $0x1,%eax
46fce9:	0f bd c0             	bsr    %eax,%eax
46fcec:	8d 04 c0             	lea    (%eax,%eax,8),%eax
46fcef:	83 c0 49             	add    $0x49,%eax
46fcf2:	c1 e8 06             	shr    $0x6,%eax
46fcf5:	03 f0                	add    %eax,%esi
46fcf7:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
46fcfd:	40                   	inc    %eax
46fcfe:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
46fd04:	3b c3                	cmp    %ebx,%eax
46fd06:	72 cb                	jb     0x46fcd3
46fd08:	e9 02 fe ff ff       	jmp    0x46fb0f
46fd0d:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
46fd13:	57                   	push   %edi
46fd14:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
46fd1a:	e8 71 5c ff ff       	call   0x465990
46fd1f:	83 c8 01             	or     $0x1,%eax
46fd22:	0f bd c0             	bsr    %eax,%eax
46fd25:	8d 34 c5 49 00 00 00 	lea    0x49(,%eax,8),%esi
46fd2c:	03 f0                	add    %eax,%esi
46fd2e:	c1 ee 06             	shr    $0x6,%esi
46fd31:	e9 d9 fd ff ff       	jmp    0x46fb0f
46fd36:	83 7f 20 03          	cmpl   $0x3,0x20(%edi)
46fd3a:	75 5a                	jne    0x46fd96
46fd3c:	33 c0                	xor    %eax,%eax
46fd3e:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
46fd44:	85 db                	test   %ebx,%ebx
46fd46:	0f 84 c3 fd ff ff    	je     0x46fb0f
46fd4c:	0f 1f 40 00          	nopl   0x0(%eax)
46fd50:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
46fd56:	50                   	push   %eax
46fd57:	57                   	push   %edi
46fd58:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
46fd5e:	e8 6d 59 ff ff       	call   0x4656d0
46fd63:	83 c8 01             	or     $0x1,%eax
46fd66:	85 d2                	test   %edx,%edx
46fd68:	75 05                	jne    0x46fd6f
46fd6a:	0f bd c0             	bsr    %eax,%eax
46fd6d:	eb 06                	jmp    0x46fd75
46fd6f:	0f bd c2             	bsr    %edx,%eax
46fd72:	83 c0 20             	add    $0x20,%eax
46fd75:	8d 04 c0             	lea    (%eax,%eax,8),%eax
46fd78:	83 c0 49             	add    $0x49,%eax
46fd7b:	c1 e8 06             	shr    $0x6,%eax
46fd7e:	03 f0                	add    %eax,%esi
46fd80:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
46fd86:	40                   	inc    %eax
46fd87:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
46fd8d:	3b c3                	cmp    %ebx,%eax
46fd8f:	72 bf                	jb     0x46fd50
46fd91:	e9 79 fd ff ff       	jmp    0x46fb0f
46fd96:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
46fd9c:	57                   	push   %edi
46fd9d:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
46fda3:	e8 c8 5c ff ff       	call   0x465a70
46fda8:	52                   	push   %edx
46fda9:	50                   	push   %eax
46fdaa:	e8 41 0f 00 00       	call   0x470cf0
46fdaf:	83 c4 08             	add    $0x8,%esp
46fdb2:	e9 56 fd ff ff       	jmp    0x46fb0d
46fdb7:	8d 34 9d 00 00 00 00 	lea    0x0(,%ebx,4),%esi
46fdbe:	e9 4c fd ff ff       	jmp    0x46fb0f
46fdc3:	8d 34 dd 00 00 00 00 	lea    0x0(,%ebx,8),%esi
46fdca:	e9 40 fd ff ff       	jmp    0x46fb0f
46fdcf:	8b f3                	mov    %ebx,%esi
46fdd1:	e9 39 fd ff ff       	jmp    0x46fb0f
46fdd6:	83 7f 20 03          	cmpl   $0x3,0x20(%edi)
46fdda:	75 46                	jne    0x46fe22
46fddc:	33 c0                	xor    %eax,%eax
46fdde:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
46fde4:	85 db                	test   %ebx,%ebx
46fde6:	0f 84 23 fd ff ff    	je     0x46fb0f
46fdec:	0f 1f 40 00          	nopl   0x0(%eax)
46fdf0:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
46fdf6:	50                   	push   %eax
46fdf7:	57                   	push   %edi
46fdf8:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
46fdfe:	e8 ad 55 ff ff       	call   0x4653b0
46fe03:	8b c8                	mov    %eax,%ecx
46fe05:	8b 10                	mov    (%eax),%edx
46fe07:	ff 52 20             	call   *0x20(%edx)
46fe0a:	03 f0                	add    %eax,%esi
46fe0c:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
46fe12:	40                   	inc    %eax
46fe13:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
46fe19:	3b c3                	cmp    %ebx,%eax
46fe1b:	72 d3                	jb     0x46fdf0
46fe1d:	e9 ed fc ff ff       	jmp    0x46fb0f
46fe22:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
46fe28:	6a 00                	push   $0x0
46fe2a:	57                   	push   %edi
46fe2b:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
46fe31:	e8 1a 4d ff ff       	call   0x464b50
46fe36:	8b c8                	mov    %eax,%ecx
46fe38:	8b 10                	mov    (%eax),%edx
46fe3a:	ff 52 20             	call   *0x20(%edx)
46fe3d:	e9 cb fc ff ff       	jmp    0x46fb0d
46fe42:	83 7f 20 03          	cmpl   $0x3,0x20(%edi)
46fe46:	75 55                	jne    0x46fe9d
46fe48:	33 c0                	xor    %eax,%eax
46fe4a:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
46fe50:	85 db                	test   %ebx,%ebx
46fe52:	0f 84 b7 fc ff ff    	je     0x46fb0f
46fe58:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
46fe5e:	50                   	push   %eax
46fe5f:	57                   	push   %edi
46fe60:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
46fe66:	e8 45 55 ff ff       	call   0x4653b0
46fe6b:	8b c8                	mov    %eax,%ecx
46fe6d:	8b 10                	mov    (%eax),%edx
46fe6f:	ff 52 20             	call   *0x20(%edx)
46fe72:	8b c8                	mov    %eax,%ecx
46fe74:	83 c9 01             	or     $0x1,%ecx
46fe77:	0f bd c9             	bsr    %ecx,%ecx
46fe7a:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
46fe7d:	83 c1 49             	add    $0x49,%ecx
46fe80:	c1 e9 06             	shr    $0x6,%ecx
46fe83:	03 c8                	add    %eax,%ecx
46fe85:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
46fe8b:	40                   	inc    %eax
46fe8c:	03 f1                	add    %ecx,%esi
46fe8e:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
46fe94:	3b c3                	cmp    %ebx,%eax
46fe96:	72 c0                	jb     0x46fe58
46fe98:	e9 72 fc ff ff       	jmp    0x46fb0f
46fe9d:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
46fea3:	6a 00                	push   $0x0
46fea5:	57                   	push   %edi
46fea6:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
46feac:	e8 9f 4c ff ff       	call   0x464b50
46feb1:	50                   	push   %eax
46feb2:	e8 c9 b1 ff ff       	call   0x46b080
46feb7:	e9 4e fc ff ff       	jmp    0x46fb0a
46febc:	83 7f 20 03          	cmpl   $0x3,0x20(%edi)
46fec0:	75 58                	jne    0x46ff1a
46fec2:	33 c0                	xor    %eax,%eax
46fec4:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
46feca:	85 db                	test   %ebx,%ebx
46fecc:	0f 84 3d fc ff ff    	je     0x46fb0f
46fed2:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
46fed8:	50                   	push   %eax
46fed9:	57                   	push   %edi
46feda:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
46fee0:	e8 4b 51 ff ff       	call   0x465030
46fee5:	8b 40 08             	mov    0x8(%eax),%eax
46fee8:	85 c0                	test   %eax,%eax
46feea:	79 07                	jns    0x46fef3
46feec:	b8 0a 00 00 00       	mov    $0xa,%eax
46fef1:	eb 0f                	jmp    0x46ff02
46fef3:	83 c8 01             	or     $0x1,%eax
46fef6:	0f bd c0             	bsr    %eax,%eax
46fef9:	8d 04 c0             	lea    (%eax,%eax,8),%eax
46fefc:	83 c0 49             	add    $0x49,%eax