46fa65:	8b d8                	mov    %eax,%ebx
46fa67:	8d b5 74 fd ff ff    	lea    -0x28c(%ebp),%esi
46fa6d:	33 c0                	xor    %eax,%eax
46fa6f:	89 45 f8             	mov    %eax,-0x8(%ebp)
46fa72:	83 eb 10             	sub    $0x10,%ebx
46fa75:	8b 03                	mov    (%ebx),%eax
46fa77:	25 ff ff 00 00       	and    $0xffff,%eax
46fa7c:	8b d0                	mov    %eax,%edx
46fa7e:	81 e2 ff 0f 00 00    	and    $0xfff,%edx
46fa84:	83 fa 08             	cmp    $0x8,%edx
46fa87:	75 46                	jne    0x46facf
46fa89:	c6 06 00             	movb   $0x0,(%esi)
46fa8c:	8b 55 f4             	mov    -0xc(%ebp),%edx
46fa8f:	8d bc d5 f4 fe ff ff 	lea    -0x10c(%ebp,%edx,8),%edi
46fa96:	33 d2                	xor    %edx,%edx
46fa98:	89 17                	mov    %edx,(%edi)
46fa9a:	f6 c4 40             	test   $0x40,%ah
46fa9d:	74 17                	je     0x46fab6
46fa9f:	8b d7                	mov    %edi,%edx
46faa1:	8b 43 08             	mov    0x8(%ebx),%eax
46faa4:	8b 00                	mov    (%eax),%eax
46faa6:	e8 a5 5b f9 ff       	call   0x405650
46faab:	8b 43 08             	mov    0x8(%ebx),%eax
46faae:	89 47 04             	mov    %eax,0x4(%edi)
46fab1:	89 7e 04             	mov    %edi,0x4(%esi)
46fab4:	eb 14                	jmp    0x46faca
46fab6:	8b d7                	mov    %edi,%edx
46fab8:	8b 43 08             	mov    0x8(%ebx),%eax
46fabb:	e8 90 5b f9 ff       	call   0x405650
46fac0:	33 c0                	xor    %eax,%eax
46fac2:	89 47 04             	mov    %eax,0x4(%edi)
46fac5:	8b 07                	mov    (%edi),%eax
46fac7:	89 46 04             	mov    %eax,0x4(%esi)
46faca:	ff 45 f4             	incl   -0xc(%ebp)
46facd:	eb 49                	jmp    0x46fb18
46facf:	8b d0                	mov    %eax,%edx
46fad1:	83 ea 04             	sub    $0x4,%edx
46fad4:	74 0b                	je     0x46fae1
46fad6:	4a                   	dec    %edx
46fad7:	83 ea 03             	sub    $0x3,%edx
46fada:	72 10                	jb     0x46faec
46fadc:	4a                   	dec    %edx
46fadd:	74 1e                	je     0x46fafd
46fadf:	eb 24                	jmp    0x46fb05
46fae1:	c6 06 01             	movb   $0x1,(%esi)
46fae4:	8b 43 08             	mov    0x8(%ebx),%eax
46fae7:	89 46 04             	mov    %eax,0x4(%esi)
46faea:	eb 2c                	jmp    0x46fb18
46faec:	c6 06 02             	movb   $0x2,(%esi)
46faef:	8b 43 08             	mov    0x8(%ebx),%eax
46faf2:	89 46 04             	mov    %eax,0x4(%esi)
46faf5:	8b 43 0c             	mov    0xc(%ebx),%eax
46faf8:	89 46 08             	mov    %eax,0x8(%esi)
46fafb:	eb 1b                	jmp    0x46fb18
46fafd:	c6 06 00             	movb   $0x0,(%esi)
46fb00:	89 5e 04             	mov    %ebx,0x4(%esi)
46fb03:	eb 13                	jmp    0x46fb18
46fb05:	c6 06 00             	movb   $0x0,(%esi)
46fb08:	f6 c4 20             	test   $0x20,%ah
46fb0b:	74 05                	je     0x46fb12
46fb0d:	89 5e 04             	mov    %ebx,0x4(%esi)
46fb10:	eb 06                	jmp    0x46fb18
46fb12:	8b 43 08             	mov    0x8(%ebx),%eax
46fb15:	89 46 04             	mov    %eax,0x4(%esi)
46fb18:	83 c6 0c             	add    $0xc,%esi
46fb1b:	ff 45 f8             	incl   -0x8(%ebp)
46fb1e:	8b 45 f8             	mov    -0x8(%ebp),%eax
46fb21:	3b 85 70 fd ff ff    	cmp    -0x290(%ebp),%eax
46fb27:	0f 85 45 ff ff ff    	jne    0x46fa72
46fb2d:	8d 85 64 fd ff ff    	lea    -0x29c(%ebp),%eax
46fb33:	e8 88 fe ff ff       	call   0x46f9c0
46fb38:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46fb3b:	85 db                	test   %ebx,%ebx
46fb3d:	74 1e                	je     0x46fb5d
46fb3f:	4b                   	dec    %ebx
46fb40:	8d b4 dd f4 fe ff ff 	lea    -0x10c(%ebp,%ebx,8),%esi
46fb47:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
46fb4b:	74 0c                	je     0x46fb59
46fb4d:	8b 06                	mov    (%esi),%eax
46fb4f:	e8 20 5b f9 ff       	call   0x405674
46fb54:	8b 56 04             	mov    0x4(%esi),%edx
46fb57:	89 02                	mov    %eax,(%edx)
46fb59:	85 db                	test   %ebx,%ebx
46fb5b:	75 e2                	jne    0x46fb3f
46fb5d:	33 c0                	xor    %eax,%eax
46fb5f:	5a                   	pop    %edx
46fb60:	59                   	pop    %ecx
46fb61:	59                   	pop    %ecx
46fb62:	64 89 10             	mov    %edx,%fs:(%eax)
46fb65:	eb 19                	jmp    0x46fb80
46fb67:	e9 90 42 f9 ff       	jmp    0x403dfc
46fb6c:	a1 ac 76 4a 00       	mov    0x4a76ac,%eax
46fb71:	8b 00                	mov    (%eax),%eax
46fb73:	8b 55 fc             	mov    -0x4(%ebp),%edx
46fb76:	e8 b9 6e ff ff       	call   0x466a34
46fb7b:	e8 8c 46 f9 ff       	call   0x40420c
46fb80:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46fb83:	85 db                	test   %ebx,%ebx
46fb85:	74 11                	je     0x46fb98
46fb87:	4b                   	dec    %ebx
46fb88:	8d 84 dd f4 fe ff ff 	lea    -0x10c(%ebp,%ebx,8),%eax
46fb8f:	e8 b4 4b f9 ff       	call   0x404748
46fb94:	85 db                	test   %ebx,%ebx
46fb96:	75 ef                	jne    0x46fb87
46fb98:	5f                   	pop    %edi
46fb99:	5e                   	pop    %esi
46fb9a:	5b                   	pop    %ebx
46fb9b:	8b e5                	mov    %ebp,%esp
46fb9d:	5d                   	pop    %ebp
46fb9e:	c3                   	ret
46fb9f:	90                   	nop
46fba0:	55                   	push   %ebp
46fba1:	8b ec                	mov    %esp,%ebp
46fba3:	83 c4 f0             	add    $0xfffffff0,%esp
46fba6:	53                   	push   %ebx
46fba7:	56                   	push   %esi
46fba8:	57                   	push   %edi
46fba9:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46fbac:	89 45 f8             	mov    %eax,-0x8(%ebp)
46fbaf:	8b 45 f8             	mov    -0x8(%ebp),%eax
46fbb2:	8b 80 50 02 00 00    	mov    0x250(%eax),%eax
46fbb8:	81 78 30 2c 01 00 00 	cmpl   $0x12c,0x30(%eax)
46fbbf:	7d 10                	jge    0x46fbd1
46fbc1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46fbc4:	8b 45 f8             	mov    -0x8(%ebp),%eax
46fbc7:	e8 34 fe ff ff       	call   0x46fa00
46fbcc:	e9 a5 00 00 00       	jmp    0x46fc76
46fbd1:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46fbd4:	8b 45 f8             	mov    -0x8(%ebp),%eax
46fbd7:	e8 54 fb ff ff       	call   0x46f730
46fbdc:	81 7d f0 00 00 01 00 	cmpl   $0x10000,-0x10(%ebp)
46fbe3:	0f 8c 8d 00 00 00    	jl     0x46fc76
46fbe9:	33 c0                	xor    %eax,%eax
46fbeb:	55                   	push   %ebp
46fbec:	68 5d fc 46 00       	push   $0x46fc5d
46fbf1:	64 ff 30             	push   %fs:(%eax)
46fbf4:	64 89 20             	mov    %esp,%fs:(%eax)
46fbf7:	53                   	push   %ebx
46fbf8:	56                   	push   %esi
46fbf9:	8b 75 fc             	mov    -0x4(%ebp),%esi
46fbfc:	8b 5e 08             	mov    0x8(%esi),%ebx
46fbff:	85 db                	test   %ebx,%ebx
46fc01:	74 45                	je     0x46fc48
46fc03:	8b 36                	mov    (%esi),%esi
46fc05:	89 d8                	mov    %ebx,%eax
46fc07:	c1 e0 04             	shl    $0x4,%eax
46fc0a:	31 d2                	xor    %edx,%edx
46fc0c:	01 c6                	add    %eax,%esi
46fc0e:	83 ee 10             	sub    $0x10,%esi
46fc11:	8b 06                	mov    (%esi),%eax
46fc13:	66 3d 04 00          	cmp    $0x4,%ax
46fc17:	77 20                	ja     0x46fc39
46fc19:	74 27                	je     0x46fc42
46fc1b:	84 d2                	test   %dl,%dl
46fc1d:	75 10                	jne    0x46fc2f
46fc1f:	89 f1                	mov    %esi,%ecx
46fc21:	fe c2                	inc    %dl
46fc23:	a9 00 20 00 00       	test   $0x2000,%eax
46fc28:	75 1b                	jne    0x46fc45
46fc2a:	8b 4e 08             	mov    0x8(%esi),%ecx
46fc2d:	eb 16                	jmp    0x46fc45
46fc2f:	a9 00 20 00 00       	test   $0x2000,%eax
46fc34:	74 0c                	je     0x46fc42
46fc36:	56                   	push   %esi
46fc37:	eb 0c                	jmp    0x46fc45
46fc39:	66 3d 07 00          	cmp    $0x7,%ax
46fc3d:	77 dc                	ja     0x46fc1b
46fc3f:	ff 76 0c             	push   0xc(%esi)
46fc42:	ff 76 08             	push   0x8(%esi)
46fc45:	4b                   	dec    %ebx
46fc46:	75 c6                	jne    0x46fc0e
46fc48:	8b 55 f8             	mov    -0x8(%ebp),%edx
46fc4b:	8b 45 f4             	mov    -0xc(%ebp),%eax
46fc4e:	ff 55 f0             	call   *-0x10(%ebp)
46fc51:	5e                   	pop    %esi
46fc52:	5b                   	pop    %ebx
46fc53:	33 c0                	xor    %eax,%eax
46fc55:	5a                   	pop    %edx
46fc56:	59                   	pop    %ecx
46fc57:	59                   	pop    %ecx
46fc58:	64 89 10             	mov    %edx,%fs:(%eax)
46fc5b:	eb 19                	jmp    0x46fc76
46fc5d:	e9 9a 41 f9 ff       	jmp    0x403dfc
46fc62:	a1 ac 76 4a 00       	mov    0x4a76ac,%eax
46fc67:	8b 00                	mov    (%eax),%eax
46fc69:	8b 55 f8             	mov    -0x8(%ebp),%edx
46fc6c:	e8 c3 6d ff ff       	call   0x466a34
46fc71:	e8 96 45 f9 ff       	call   0x40420c
46fc76:	5f                   	pop    %edi
46fc77:	5e                   	pop    %esi
46fc78:	5b                   	pop    %ebx
46fc79:	8b e5                	mov    %ebp,%esp
46fc7b:	5d                   	pop    %ebp
46fc7c:	c3                   	ret
46fc7d:	8d 40 00             	lea    0x0(%eax),%eax
46fc80:	c3                   	ret
46fc81:	8d 40 00             	lea    0x0(%eax),%eax
46fc84:	53                   	push   %ebx
46fc85:	56                   	push   %esi
46fc86:	51                   	push   %ecx
46fc87:	88 14 24             	mov    %dl,(%esp)
46fc8a:	8b f0                	mov    %eax,%esi
46fc8c:	33 db                	xor    %ebx,%ebx
46fc8e:	8b c6                	mov    %esi,%eax
46fc90:	e8 b7 20 fe ff       	call   0x451d4c
46fc95:	22 04 24             	and    (%esp),%al
46fc98:	74 22                	je     0x46fcbc
46fc9a:	6a 00                	push   $0x0
46fc9c:	6a 00                	push   $0x0
46fc9e:	68 0f 03 00 00       	push   $0x30f
46fca3:	8b c6                	mov    %esi,%eax
46fca5:	e8 02 1d fe ff       	call   0x4519ac
46fcaa:	50                   	push   %eax
46fcab:	8b 86 a8 01 00 00    	mov    0x1a8(%esi),%eax
46fcb1:	50                   	push   %eax
46fcb2:	e8 41 71 f9 ff       	call   0x406df8
46fcb7:	85 c0                	test   %eax,%eax
46fcb9:	0f 95 c3             	setne  %bl
46fcbc:	84 db                	test   %bl,%bl
46fcbe:	75 0d                	jne    0x46fccd
46fcc0:	0f b6 14 24          	movzbl (%esp),%edx
46fcc4:	8b c6                	mov    %esi,%eax
46fcc6:	e8 41 0f fe ff       	call   0x450c0c
46fccb:	8b d8                	mov    %eax,%ebx
46fccd:	8b c3                	mov    %ebx,%eax
46fccf:	5a                   	pop    %edx
46fcd0:	5e                   	pop    %esi
46fcd1:	5b                   	pop    %ebx
46fcd2:	c3                   	ret
46fcd3:	90                   	nop
46fcd4:	53                   	push   %ebx
46fcd5:	56                   	push   %esi
46fcd6:	57                   	push   %edi
46fcd7:	55                   	push   %ebp
46fcd8:	8b ea                	mov    %edx,%ebp
46fcda:	8b f0                	mov    %eax,%esi
46fcdc:	8b 9e 8c 02 00 00    	mov    0x28c(%esi),%ebx
46fce2:	85 db                	test   %ebx,%ebx
46fce4:	74 52                	je     0x46fd38
46fce6:	8b c5                	mov    %ebp,%eax
46fce8:	8b 15 84 2c 42 00    	mov    0x422c84,%edx
46fcee:	e8 b5 3d f9 ff       	call   0x403aa8
46fcf3:	84 c0                	test   %al,%al
46fcf5:	74 41                	je     0x46fd38
46fcf7:	8b 43 08             	mov    0x8(%ebx),%eax
46fcfa:	48                   	dec    %eax
46fcfb:	85 c0                	test   %eax,%eax
46fcfd:	7c 39                	jl     0x46fd38
46fcff:	40                   	inc    %eax
46fd00:	89 c3                	mov    %eax,%ebx
46fd02:	33 ff                	xor    %edi,%edi
46fd04:	8b d7                	mov    %edi,%edx
46fd06:	8b 86 8c 02 00 00    	mov    0x28c(%esi),%eax
46fd0c:	e8 c7 84 fa ff       	call   0x4181d8
46fd11:	3b e8                	cmp    %eax,%ebp
46fd13:	75 1f                	jne    0x46fd34
46fd15:	8b c5                	mov    %ebp,%eax
46fd17:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
46fd1b:	74 1b                	je     0x46fd38
46fd1d:	8b 96 50 02 00 00    	mov    0x250(%esi),%edx
46fd23:	8b 52 40             	mov    0x40(%edx),%edx
46fd26:	8b 14 ba             	mov    (%edx,%edi,4),%edx
46fd29:	8b c8                	mov    %eax,%ecx
46fd2b:	8b c6                	mov    %esi,%eax
46fd2d:	e8 aa 03 00 00       	call   0x4700dc
46fd32:	eb 04                	jmp    0x46fd38
46fd34:	47                   	inc    %edi
46fd35:	4b                   	dec    %ebx
46fd36:	75 cc                	jne    0x46fd04
46fd38:	5d                   	pop    %ebp
46fd39:	5f                   	pop    %edi
46fd3a:	5e                   	pop    %esi
46fd3b:	5b                   	pop    %ebx
46fd3c:	c3                   	ret
46fd3d:	8d 40 00             	lea    0x0(%eax),%eax
46fd40:	55                   	push   %ebp
46fd41:	8b ec                	mov    %esp,%ebp
46fd43:	51                   	push   %ecx
46fd44:	53                   	push   %ebx
46fd45:	56                   	push   %esi
46fd46:	57                   	push   %edi
46fd47:	8b da                	mov    %edx,%ebx
46fd49:	89 45 fc             	mov    %eax,-0x4(%ebp)
46fd4c:	8b 45 fc             	mov    -0x4(%ebp),%eax
46fd4f:	e8 70 f9 ff ff       	call   0x46f6c4
46fd54:	33 c0                	xor    %eax,%eax
46fd56:	55                   	push   %ebp
46fd57:	68 e2 fd 46 00       	push   $0x46fde2
46fd5c:	64 ff 30             	push   %fs:(%eax)
46fd5f:	64 89 20             	mov    %esp,%fs:(%eax)
46fd62:	8b c3                	mov    %ebx,%eax
46fd64:	8b 10                	mov    (%eax),%edx
46fd66:	ff 12                	call   *(%edx)
46fd68:	50                   	push   %eax
46fd69:	6a 02                	push   $0x2
46fd6b:	e8 18 6d f9 ff       	call   0x406a88
46fd70:	8b f0                	mov    %eax,%esi
46fd72:	8b 45 fc             	mov    -0x4(%ebp),%eax
46fd75:	89 b0 5c 02 00 00    	mov    %esi,0x25c(%eax)
46fd7b:	85 f6                	test   %esi,%esi
46fd7d:	75 05                	jne    0x46fd84
46fd7f:	e8 80 c6 f9 ff       	call   0x40c404
46fd84:	8b 45 fc             	mov    -0x4(%ebp),%eax
46fd87:	8b 80 5c 02 00 00    	mov    0x25c(%eax),%eax
46fd8d:	50                   	push   %eax
46fd8e:	e8 15 6d f9 ff       	call   0x406aa8
46fd93:	8b f0                	mov    %eax,%esi
46fd95:	33 c0                	xor    %eax,%eax
46fd97:	55                   	push   %ebp
46fd98:	68 d1 fd 46 00       	push   $0x46fdd1
46fd9d:	64 ff 30             	push   %fs:(%eax)
46fda0:	64 89 20             	mov    %esp,%fs:(%eax)
46fda3:	8b c3                	mov    %ebx,%eax
46fda5:	8b 10                	mov    (%eax),%edx
46fda7:	ff 12                	call   *(%edx)
46fda9:	8b c8                	mov    %eax,%ecx
46fdab:	8b d6                	mov    %esi,%edx
46fdad:	8b c3                	mov    %ebx,%eax
46fdaf:	8b 18                	mov    (%eax),%ebx
46fdb1:	ff 53 0c             	call   *0xc(%ebx)
46fdb4:	33 c0                	xor    %eax,%eax
46fdb6:	5a                   	pop    %edx
46fdb7:	59                   	pop    %ecx
46fdb8:	59                   	pop    %ecx
46fdb9:	64 89 10             	mov    %edx,%fs:(%eax)
46fdbc:	68 d8 fd 46 00       	push   $0x46fdd8
46fdc1:	8b 45 fc             	mov    -0x4(%ebp),%eax
46fdc4:	8b 80 5c 02 00 00    	mov    0x25c(%eax),%eax
46fdca:	50                   	push   %eax
46fdcb:	e8 e8 6c f9 ff       	call   0x406ab8
46fdd0:	c3                   	ret
46fdd1:	e9 da 42 f9 ff       	jmp    0x4040b0
46fdd6:	eb e9                	jmp    0x46fdc1
46fdd8:	33 c0                	xor    %eax,%eax
46fdda:	5a                   	pop    %edx
46fddb:	59                   	pop    %ecx
46fddc:	59                   	pop    %ecx
46fddd:	64 89 10             	mov    %edx,%fs:(%eax)
46fde0:	eb 12                	jmp    0x46fdf4
46fde2:	e9 15 40 f9 ff       	jmp    0x403dfc
46fde7:	8b 45 fc             	mov    -0x4(%ebp),%eax
46fdea:	e8 d5 f8 ff ff       	call   0x46f6c4
46fdef:	e8 18 44 f9 ff       	call   0x40420c
46fdf4:	5f                   	pop    %edi
46fdf5:	5e                   	pop    %esi
46fdf6:	5b                   	pop    %ebx
46fdf7:	59                   	pop    %ecx
46fdf8:	5d                   	pop    %ebp
46fdf9:	c3                   	ret
46fdfa:	8b c0                	mov    %eax,%eax