46ca1f:	8b 84 24 8c 00 00 00 	mov    0x8c(%esp),%eax
46ca26:	89 44 24 54          	mov    %eax,0x54(%esp)
46ca2a:	8b 84 24 90 00 00 00 	mov    0x90(%esp),%eax
46ca31:	89 44 24 58          	mov    %eax,0x58(%esp)
46ca35:	8b 84 24 94 00 00 00 	mov    0x94(%esp),%eax
46ca3c:	89 44 24 44          	mov    %eax,0x44(%esp)
46ca40:	8b 84 24 98 00 00 00 	mov    0x98(%esp),%eax
46ca47:	51                   	push   %ecx
46ca48:	89 44 24 4c          	mov    %eax,0x4c(%esp)
46ca4c:	ff 15 ec f3 48 00    	call   *0x48f3ec
46ca52:	83 7b 08 01          	cmpl   $0x1,0x8(%ebx)
46ca56:	76 0d                	jbe    0x46ca65
46ca58:	8b 43 04             	mov    0x4(%ebx),%eax
46ca5b:	8b 48 04             	mov    0x4(%eax),%ecx
46ca5e:	e8 39 d2 f9 ff       	call   0x409c9c
46ca63:	8b f8                	mov    %eax,%edi
46ca65:	4f                   	dec    %edi
46ca66:	74 31                	je     0x46ca99
46ca68:	4f                   	dec    %edi
46ca69:	74 17                	je     0x46ca82
46ca6b:	8d 44 24 44          	lea    0x44(%esp),%eax
46ca6f:	50                   	push   %eax
46ca70:	50                   	push   %eax
46ca71:	ff 15 a8 f2 48 00    	call   *0x48f2a8
46ca77:	8d 44 24 24          	lea    0x24(%esp),%eax
46ca7b:	50                   	push   %eax
46ca7c:	8d 44 24 48          	lea    0x48(%esp),%eax
46ca80:	eb 2c                	jmp    0x46caae
46ca82:	8d 44 24 54          	lea    0x54(%esp),%eax
46ca86:	50                   	push   %eax
46ca87:	50                   	push   %eax
46ca88:	ff 15 a8 f2 48 00    	call   *0x48f2a8
46ca8e:	8d 44 24 24          	lea    0x24(%esp),%eax
46ca92:	50                   	push   %eax
46ca93:	8d 44 24 58          	lea    0x58(%esp),%eax
46ca97:	eb 15                	jmp    0x46caae
46ca99:	8d 44 24 4c          	lea    0x4c(%esp),%eax
46ca9d:	50                   	push   %eax
46ca9e:	50                   	push   %eax
46ca9f:	ff 15 a8 f2 48 00    	call   *0x48f2a8
46caa5:	8d 44 24 24          	lea    0x24(%esp),%eax
46caa9:	50                   	push   %eax
46caaa:	8d 44 24 50          	lea    0x50(%esp),%eax
46caae:	50                   	push   %eax
46caaf:	ff 15 ac f2 48 00    	call   *0x48f2ac
46cab5:	83 7b 08 02          	cmpl   $0x2,0x8(%ebx)
46cab9:	76 5d                	jbe    0x46cb18
46cabb:	8b 43 04             	mov    0x4(%ebx),%eax
46cabe:	8b 48 08             	mov    0x8(%eax),%ecx
46cac1:	e8 d6 d1 f9 ff       	call   0x409c9c
46cac6:	33 db                	xor    %ebx,%ebx
46cac8:	43                   	inc    %ebx
46cac9:	3b c3                	cmp    %ebx,%eax
46cacb:	75 4e                	jne    0x46cb1b
46cacd:	0f b7 44 24 30       	movzwl 0x30(%esp),%eax
46cad2:	50                   	push   %eax
46cad3:	0f b7 44 24 32       	movzwl 0x32(%esp),%eax
46cad8:	50                   	push   %eax
46cad9:	0f b7 44 24 34       	movzwl 0x34(%esp),%eax
46cade:	50                   	push   %eax
46cadf:	0f b7 44 24 36       	movzwl 0x36(%esp),%eax
46cae4:	50                   	push   %eax
46cae5:	0f b7 44 24 36       	movzwl 0x36(%esp),%eax
46caea:	50                   	push   %eax
46caeb:	0f b7 44 24 38       	movzwl 0x38(%esp),%eax
46caf0:	50                   	push   %eax
46caf1:	8d 44 24 78          	lea    0x78(%esp),%eax
46caf5:	68 a4 a4 4b 00       	push   $0x4ba4a4
46cafa:	50                   	push   %eax
46cafb:	e8 d8 6d fb ff       	call   0x4238d8
46cb00:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46cb03:	8d 84 24 80 00 00 00 	lea    0x80(%esp),%eax
46cb0a:	83 c4 20             	add    $0x20,%esp
46cb0d:	50                   	push   %eax
46cb0e:	e8 e5 d0 f9 ff       	call   0x409bf8
46cb13:	e9 1b 02 00 00       	jmp    0x46cd33
46cb18:	33 db                	xor    %ebx,%ebx
46cb1a:	43                   	inc    %ebx
46cb1b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46cb1e:	e8 0b c9 f9 ff       	call   0x40942e
46cb23:	6a 06                	push   $0x6
46cb25:	8b f0                	mov    %eax,%esi
46cb27:	53                   	push   %ebx
46cb28:	56                   	push   %esi
46cb29:	e8 82 c6 f9 ff       	call   0x4091b0
46cb2e:	0f b7 4c 24 30       	movzwl 0x30(%esp),%ecx
46cb33:	8d 44 24 6c          	lea    0x6c(%esp),%eax
46cb37:	51                   	push   %ecx
46cb38:	68 84 a5 4b 00       	push   $0x4ba584
46cb3d:	50                   	push   %eax
46cb3e:	e8 95 6d fb ff       	call   0x4238d8
46cb43:	83 c4 18             	add    $0x18,%esp
46cb46:	8d 44 24 60          	lea    0x60(%esp),%eax
46cb4a:	8d 4c 24 34          	lea    0x34(%esp),%ecx
46cb4e:	50                   	push   %eax
46cb4f:	e8 ed b3 f9 ff       	call   0x407f41
46cb54:	50                   	push   %eax
46cb55:	8d 4c 24 14          	lea    0x14(%esp),%ecx
46cb59:	e8 8c c8 f9 ff       	call   0x4093ea
46cb5e:	6a 00                	push   $0x0
46cb60:	53                   	push   %ebx
46cb61:	8d 44 24 18          	lea    0x18(%esp),%eax
46cb65:	50                   	push   %eax
46cb66:	56                   	push   %esi
46cb67:	e8 d4 c4 f9 ff       	call   0x409040
46cb6c:	83 c4 10             	add    $0x10,%esp
46cb6f:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46cb73:	e8 a8 ce f9 ff       	call   0x409a20
46cb78:	8d 4c 24 34          	lea    0x34(%esp),%ecx
46cb7c:	e8 e3 8e f9 ff       	call   0x405a64
46cb81:	0f b7 44 24 26       	movzwl 0x26(%esp),%eax
46cb86:	bf 8c a5 4b 00       	mov    $0x4ba58c,%edi
46cb8b:	50                   	push   %eax
46cb8c:	8d 44 24 64          	lea    0x64(%esp),%eax
46cb90:	57                   	push   %edi
46cb91:	50                   	push   %eax
46cb92:	e8 41 6d fb ff       	call   0x4238d8
46cb97:	83 c4 0c             	add    $0xc,%esp
46cb9a:	8d 44 24 60          	lea    0x60(%esp),%eax
46cb9e:	8d 4c 24 34          	lea    0x34(%esp),%ecx
46cba2:	50                   	push   %eax
46cba3:	e8 99 b3 f9 ff       	call   0x407f41
46cba8:	50                   	push   %eax
46cba9:	8d 4c 24 14          	lea    0x14(%esp),%ecx
46cbad:	e8 38 c8 f9 ff       	call   0x4093ea
46cbb2:	53                   	push   %ebx
46cbb3:	53                   	push   %ebx
46cbb4:	8d 44 24 18          	lea    0x18(%esp),%eax
46cbb8:	50                   	push   %eax
46cbb9:	56                   	push   %esi
46cbba:	e8 81 c4 f9 ff       	call   0x409040
46cbbf:	83 c4 10             	add    $0x10,%esp
46cbc2:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46cbc6:	e8 55 ce f9 ff       	call   0x409a20
46cbcb:	8d 4c 24 34          	lea    0x34(%esp),%ecx
46cbcf:	e8 90 8e f9 ff       	call   0x405a64
46cbd4:	0f b7 44 24 2a       	movzwl 0x2a(%esp),%eax
46cbd9:	50                   	push   %eax
46cbda:	8d 44 24 64          	lea    0x64(%esp),%eax
46cbde:	57                   	push   %edi
46cbdf:	50                   	push   %eax
46cbe0:	e8 f3 6c fb ff       	call   0x4238d8
46cbe5:	83 c4 0c             	add    $0xc,%esp
46cbe8:	8d 44 24 60          	lea    0x60(%esp),%eax
46cbec:	8d 4c 24 34          	lea    0x34(%esp),%ecx
46cbf0:	50                   	push   %eax
46cbf1:	e8 4b b3 f9 ff       	call   0x407f41
46cbf6:	50                   	push   %eax
46cbf7:	8d 4c 24 14          	lea    0x14(%esp),%ecx
46cbfb:	e8 ea c7 f9 ff       	call   0x4093ea
46cc00:	6a 02                	push   $0x2
46cc02:	53                   	push   %ebx
46cc03:	8d 44 24 18          	lea    0x18(%esp),%eax
46cc07:	50                   	push   %eax
46cc08:	56                   	push   %esi
46cc09:	e8 32 c4 f9 ff       	call   0x409040
46cc0e:	83 c4 10             	add    $0x10,%esp
46cc11:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46cc15:	e8 06 ce f9 ff       	call   0x409a20
46cc1a:	8d 4c 24 34          	lea    0x34(%esp),%ecx
46cc1e:	e8 41 8e f9 ff       	call   0x405a64
46cc23:	0f b7 44 24 2c       	movzwl 0x2c(%esp),%eax
46cc28:	50                   	push   %eax
46cc29:	8d 44 24 64          	lea    0x64(%esp),%eax
46cc2d:	57                   	push   %edi
46cc2e:	50                   	push   %eax
46cc2f:	e8 a4 6c fb ff       	call   0x4238d8
46cc34:	83 c4 0c             	add    $0xc,%esp
46cc37:	8d 44 24 60          	lea    0x60(%esp),%eax
46cc3b:	8d 4c 24 34          	lea    0x34(%esp),%ecx
46cc3f:	50                   	push   %eax
46cc40:	e8 fc b2 f9 ff       	call   0x407f41
46cc45:	50                   	push   %eax
46cc46:	8d 4c 24 14          	lea    0x14(%esp),%ecx
46cc4a:	e8 9b c7 f9 ff       	call   0x4093ea
46cc4f:	6a 03                	push   $0x3
46cc51:	53                   	push   %ebx
46cc52:	8d 44 24 18          	lea    0x18(%esp),%eax
46cc56:	50                   	push   %eax
46cc57:	56                   	push   %esi
46cc58:	e8 e3 c3 f9 ff       	call   0x409040
46cc5d:	83 c4 10             	add    $0x10,%esp
46cc60:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46cc64:	e8 b7 cd f9 ff       	call   0x409a20
46cc69:	8d 4c 24 34          	lea    0x34(%esp),%ecx
46cc6d:	e8 f2 8d f9 ff       	call   0x405a64
46cc72:	0f b7 44 24 2e       	movzwl 0x2e(%esp),%eax
46cc77:	50                   	push   %eax
46cc78:	8d 44 24 64          	lea    0x64(%esp),%eax
46cc7c:	57                   	push   %edi
46cc7d:	50                   	push   %eax
46cc7e:	e8 55 6c fb ff       	call   0x4238d8
46cc83:	83 c4 0c             	add    $0xc,%esp
46cc86:	8d 44 24 60          	lea    0x60(%esp),%eax
46cc8a:	8d 4c 24 34          	lea    0x34(%esp),%ecx
46cc8e:	50                   	push   %eax
46cc8f:	e8 ad b2 f9 ff       	call   0x407f41
46cc94:	50                   	push   %eax
46cc95:	8d 4c 24 14          	lea    0x14(%esp),%ecx
46cc99:	e8 4c c7 f9 ff       	call   0x4093ea
46cc9e:	6a 04                	push   $0x4
46cca0:	53                   	push   %ebx
46cca1:	8d 44 24 18          	lea    0x18(%esp),%eax
46cca5:	50                   	push   %eax
46cca6:	56                   	push   %esi
46cca7:	e8 94 c3 f9 ff       	call   0x409040
46ccac:	83 c4 10             	add    $0x10,%esp
46ccaf:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46ccb3:	e8 68 cd f9 ff       	call   0x409a20
46ccb8:	8d 4c 24 34          	lea    0x34(%esp),%ecx
46ccbc:	e8 a3 8d f9 ff       	call   0x405a64
46ccc1:	0f b7 44 24 30       	movzwl 0x30(%esp),%eax
46ccc6:	50                   	push   %eax
46ccc7:	8d 44 24 64          	lea    0x64(%esp),%eax
46cccb:	57                   	push   %edi
46cccc:	50                   	push   %eax
46cccd:	e8 06 6c fb ff       	call   0x4238d8
46ccd2:	83 c4 0c             	add    $0xc,%esp
46ccd5:	8d 44 24 60          	lea    0x60(%esp),%eax
46ccd9:	8d 4c 24 34          	lea    0x34(%esp),%ecx
46ccdd:	50                   	push   %eax
46ccde:	e8 5e b2 f9 ff       	call   0x407f41
46cce3:	50                   	push   %eax
46cce4:	8d 4c 24 14          	lea    0x14(%esp),%ecx
46cce8:	e8 fd c6 f9 ff       	call   0x4093ea
46cced:	6a 05                	push   $0x5
46ccef:	53                   	push   %ebx
46ccf0:	8d 44 24 18          	lea    0x18(%esp),%eax
46ccf4:	50                   	push   %eax
46ccf5:	56                   	push   %esi
46ccf6:	e8 45 c3 f9 ff       	call   0x409040
46ccfb:	83 c4 10             	add    $0x10,%esp
46ccfe:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46cd02:	e8 19 cd f9 ff       	call   0x409a20
46cd07:	8d 4c 24 34          	lea    0x34(%esp),%ecx
46cd0b:	e8 54 8d f9 ff       	call   0x405a64
46cd10:	eb 21                	jmp    0x46cd33
46cd12:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46cd15:	68 10 f9 48 00       	push   $0x48f910
46cd1a:	e8 d9 ce f9 ff       	call   0x409bf8
46cd1f:	8b 54 24 5c          	mov    0x5c(%esp),%edx
46cd23:	6a 00                	push   $0x0
46cd25:	6a 01                	push   $0x1
46cd27:	8b 02                	mov    (%edx),%eax
46cd29:	8b 48 04             	mov    0x4(%eax),%ecx
46cd2c:	03 ca                	add    %edx,%ecx
46cd2e:	e8 70 9d fe ff       	call   0x456aa3
46cd33:	5f                   	pop    %edi
46cd34:	5e                   	pop    %esi
46cd35:	33 c0                	xor    %eax,%eax
46cd37:	5b                   	pop    %ebx
46cd38:	8b e5                	mov    %ebp,%esp
46cd3a:	5d                   	pop    %ebp
46cd3b:	c2 08 00             	ret    $0x8
46cd3e:	55                   	push   %ebp
46cd3f:	8b ec                	mov    %esp,%ebp
46cd41:	81 ec 08 04 00 00    	sub    $0x408,%esp
46cd47:	53                   	push   %ebx
46cd48:	8b 5d 08             	mov    0x8(%ebp),%ebx
46cd4b:	56                   	push   %esi
46cd4c:	57                   	push   %edi
46cd4d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46cd50:	83 7b 08 01          	cmpl   $0x1,0x8(%ebx)
46cd54:	75 07                	jne    0x46cd5d
46cd56:	bf c0 fa 48 00       	mov    $0x48fac0,%edi
46cd5b:	eb 12                	jmp    0x46cd6f
46cd5d:	8b 43 04             	mov    0x4(%ebx),%eax
46cd60:	8b 70 04             	mov    0x4(%eax),%esi
46cd63:	8b ce                	mov    %esi,%ecx
46cd65:	e8 2d cc f9 ff       	call   0x409997
46cd6a:	8b 46 08             	mov    0x8(%esi),%eax
46cd6d:	8b 38                	mov    (%eax),%edi
46cd6f:	8b 43 04             	mov    0x4(%ebx),%eax
46cd72:	8b 30                	mov    (%eax),%esi
46cd74:	8b ce                	mov    %esi,%ecx
46cd76:	e8 1c cc f9 ff       	call   0x409997
46cd7b:	8b 46 08             	mov    0x8(%esi),%eax
46cd7e:	8d 95 f8 fb ff ff    	lea    -0x408(%ebp),%edx
46cd84:	57                   	push   %edi
46cd85:	8b 08                	mov    (%eax),%ecx
46cd87:	e8 4a 79 ff ff       	call   0x4646d6
46cd8c:	59                   	pop    %ecx
46cd8d:	3c 01                	cmp    $0x1,%al
46cd8f:	75 11                	jne    0x46cda2
46cd91:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46cd94:	8d 85 f8 fb ff ff    	lea    -0x408(%ebp),%eax
46cd9a:	50                   	push   %eax
46cd9b:	e8 58 ce f9 ff       	call   0x409bf8
46cda0:	eb 38                	jmp    0x46cdda
46cda2:	68 c0 fa 48 00       	push   $0x48fac0
46cda7:	57                   	push   %edi
46cda8:	e8 df 69 fb ff       	call   0x42378c
46cdad:	59                   	pop    %ecx
46cdae:	59                   	pop    %ecx
46cdaf:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46cdb2:	85 c0                	test   %eax,%eax
46cdb4:	75 07                	jne    0x46cdbd
46cdb6:	68 44 a3 4b 00       	push   $0x4ba344
46cdbb:	eb 05                	jmp    0x46cdc2
46cdbd:	68 10 f9 48 00       	push   $0x48f910
46cdc2:	e8 31 ce f9 ff       	call   0x409bf8
46cdc7:	8b 55 fc             	mov    -0x4(%ebp),%edx
46cdca:	6a 00                	push   $0x0
46cdcc:	6a 01                	push   $0x1
46cdce:	8b 02                	mov    (%edx),%eax
46cdd0:	8b 48 04             	mov    0x4(%eax),%ecx
46cdd3:	03 ca                	add    %edx,%ecx
46cdd5:	e8 c9 9c fe ff       	call   0x456aa3
46cdda:	5f                   	pop    %edi
46cddb:	5e                   	pop    %esi
46cddc:	33 c0                	xor    %eax,%eax
46cdde:	5b                   	pop    %ebx
46cddf:	8b e5                	mov    %ebp,%esp
46cde1:	5d                   	pop    %ebp
46cde2:	c2 08 00             	ret    $0x8
46cde5:	55                   	push   %ebp
46cde6:	8b ec                	mov    %esp,%ebp
46cde8:	83 e4 f8             	and    $0xfffffff8,%esp
46cdeb:	81 ec 84 00 00 00    	sub    $0x84,%esp
46cdf1:	53                   	push   %ebx
46cdf2:	56                   	push   %esi
46cdf3:	33 c0                	xor    %eax,%eax
46cdf5:	57                   	push   %edi
46cdf6:	8b f9                	mov    %ecx,%edi
46cdf8:	89 84 24 84 00 00 00 	mov    %eax,0x84(%esp)
46cdff:	8d 4c 24 18          	lea    0x18(%esp),%ecx
46ce03:	89 7c 24 14          	mov    %edi,0x14(%esp)
46ce07:	89 84 24 88 00 00 00 	mov    %eax,0x88(%esp)
46ce0e:	88 84 24 8c 00 00 00 	mov    %al,0x8c(%esp)
46ce15:	e8 ad a9 f9 ff       	call   0x4077c7
46ce1a:	8d 4c 24 28          	lea    0x28(%esp),%ecx
46ce1e:	e8 a4 a9 f9 ff       	call   0x4077c7
46ce23:	8b 5d 08             	mov    0x8(%ebp),%ebx
46ce26:	83 7b 08 03          	cmpl   $0x3,0x8(%ebx)
46ce2a:	75 16                	jne    0x46ce42
46ce2c:	8b 43 04             	mov    0x4(%ebx),%eax
46ce2f:	8b 48 08             	mov    0x8(%eax),%ecx
46ce32:	e8 65 ce f9 ff       	call   0x409c9c
46ce37:	85 c0                	test   %eax,%eax
46ce39:	74 07                	je     0x46ce42
46ce3b:	c6 44 24 10 01       	movb   $0x1,0x10(%esp)
46ce40:	eb 06                	jmp    0x46ce48
46ce42:	33 c9                	xor    %ecx,%ecx
46ce44:	88 4c 24 10          	mov    %cl,0x10(%esp)
46ce48:	8b 43 04             	mov    0x4(%ebx),%eax
46ce4b:	8b 30                	mov    (%eax),%esi
46ce4d:	8b ce                	mov    %esi,%ecx
46ce4f:	e8 43 cb f9 ff       	call   0x409997
46ce54:	8b 4e 08             	mov    0x8(%esi),%ecx
46ce57:	ba 80 a0 4b 00       	mov    $0x4ba080,%edx