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
46ce5c:	e8 c6 3e fb ff       	call   0x420d27
46ce61:	84 c0                	test   %al,%al
46ce63:	0f 85 cb 02 00 00    	jne    0x46d134
46ce69:	83 bf b4 00 00 00 02 	cmpl   $0x2,0xb4(%edi)
46ce70:	0f 85 df 00 00 00    	jne    0x46cf55
46ce76:	8b 43 04             	mov    0x4(%ebx),%eax
46ce79:	8b 30                	mov    (%eax),%esi
46ce7b:	8b ce                	mov    %esi,%ecx
46ce7d:	e8 15 cb f9 ff       	call   0x409997
46ce82:	ff 76 08             	push   0x8(%esi)
46ce85:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
46ce89:	e8 19 b3 f9 ff       	call   0x4081a7
46ce8e:	be c0 fa 48 00       	mov    $0x48fac0,%esi
46ce93:	8d 4c 24 18          	lea    0x18(%esp),%ecx
46ce97:	56                   	push   %esi
46ce98:	e8 4f 88 ff ff       	call   0x4656ec
46ce9d:	83 f8 ff             	cmp    $0xffffffff,%eax
46cea0:	75 32                	jne    0x46ced4
46cea2:	8d 87 d8 00 00 00    	lea    0xd8(%edi),%eax
46cea8:	50                   	push   %eax
46cea9:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
46cead:	e8 f5 b2 f9 ff       	call   0x4081a7
46ceb2:	56                   	push   %esi
46ceb3:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
46ceb7:	e8 4f af f9 ff       	call   0x407e0b
46cebc:	8b 43 04             	mov    0x4(%ebx),%eax
46cebf:	8b 30                	mov    (%eax),%esi
46cec1:	8b ce                	mov    %esi,%ecx
46cec3:	e8 cf ca f9 ff       	call   0x409997
46cec8:	ff 76 08             	push   0x8(%esi)
46cecb:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
46cecf:	e8 ba ad f9 ff       	call   0x407c8e
46ced4:	8b 43 04             	mov    0x4(%ebx),%eax
46ced7:	8b 70 04             	mov    0x4(%eax),%esi
46ceda:	8b ce                	mov    %esi,%ecx
46cedc:	e8 b6 ca f9 ff       	call   0x409997
46cee1:	ff 76 08             	push   0x8(%esi)
46cee4:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
46cee8:	e8 ba b2 f9 ff       	call   0x4081a7
46ceed:	8b 4c 24 28          	mov    0x28(%esp),%ecx
46cef1:	e8 dd 7d ff ff       	call   0x464cd3
46cef6:	84 c0                	test   %al,%al
46cef8:	74 2f                	je     0x46cf29
46cefa:	8b 44 24 2c          	mov    0x2c(%esp),%eax
46cefe:	8d 4c 24 28          	lea    0x28(%esp),%ecx
46cf02:	48                   	dec    %eax
46cf03:	50                   	push   %eax
46cf04:	e8 49 ac f9 ff       	call   0x407b52
46cf09:	66 83 38 5c          	cmpw   $0x5c,(%eax)
46cf0d:	74 1a                	je     0x46cf29
46cf0f:	8b 75 0c             	mov    0xc(%ebp),%esi
46cf12:	8b ce                	mov    %esi,%ecx
46cf14:	e8 07 cb f9 ff       	call   0x409a20
46cf19:	33 c0                	xor    %eax,%eax
46cf1b:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46cf22:	89 06                	mov    %eax,(%esi)
46cf24:	e9 0b 02 00 00       	jmp    0x46d134
46cf29:	8b 43 04             	mov    0x4(%ebx),%eax
46cf2c:	8b 70 04             	mov    0x4(%eax),%esi
46cf2f:	8b ce                	mov    %esi,%ecx
46cf31:	e8 61 ca f9 ff       	call   0x409997
46cf36:	8b 56 08             	mov    0x8(%esi),%edx
46cf39:	8d 4c 24 18          	lea    0x18(%esp),%ecx
46cf3d:	33 db                	xor    %ebx,%ebx
46cf3f:	53                   	push   %ebx
46cf40:	ff 74 24 14          	push   0x14(%esp)
46cf44:	e8 e2 6a ff ff       	call   0x463a2b
46cf49:	59                   	pop    %ecx
46cf4a:	59                   	pop    %ecx
46cf4b:	84 c0                	test   %al,%al
46cf4d:	0f 85 e1 01 00 00    	jne    0x46d134
46cf53:	eb 40                	jmp    0x46cf95
46cf55:	6a 01                	push   $0x1
46cf57:	ff b7 c8 00 00 00    	push   0xc8(%edi)
46cf5d:	8d 8c 24 80 00 00 00 	lea    0x80(%esp),%ecx
46cf64:	e8 d4 7f f9 ff       	call   0x404f3d
46cf69:	85 c0                	test   %eax,%eax
46cf6b:	74 40                	je     0x46cfad
46cf6d:	6a 02                	push   $0x2
46cf6f:	ff b7 c8 00 00 00    	push   0xc8(%edi)
46cf75:	8d 8c 24 80 00 00 00 	lea    0x80(%esp),%ecx
46cf7c:	e8 bc 7f f9 ff       	call   0x404f3d
46cf81:	85 c0                	test   %eax,%eax
46cf83:	74 28                	je     0x46cfad
46cf85:	33 db                	xor    %ebx,%ebx
46cf87:	53                   	push   %ebx
46cf88:	50                   	push   %eax
46cf89:	8b 07                	mov    (%edi),%eax
46cf8b:	8b 48 04             	mov    0x4(%eax),%ecx
46cf8e:	03 cf                	add    %edi,%ecx
46cf90:	e8 cc 2f fb ff       	call   0x41ff61
46cf95:	8b 75 0c             	mov    0xc(%ebp),%esi
46cf98:	8b ce                	mov    %esi,%ecx
46cf9a:	e8 81 ca f9 ff       	call   0x409a20
46cf9f:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46cfa6:	89 1e                	mov    %ebx,(%esi)
46cfa8:	e9 87 01 00 00       	jmp    0x46d134
46cfad:	8d 4c 24 48          	lea    0x48(%esp),%ecx
46cfb1:	e8 11 a8 f9 ff       	call   0x4077c7
46cfb6:	8d 4c 24 68          	lea    0x68(%esp),%ecx
46cfba:	e8 08 a8 f9 ff       	call   0x4077c7
46cfbf:	8d 4c 24 58          	lea    0x58(%esp),%ecx
46cfc3:	e8 ff a7 f9 ff       	call   0x4077c7
46cfc8:	8d 4c 24 38          	lea    0x38(%esp),%ecx
46cfcc:	e8 f6 a7 f9 ff       	call   0x4077c7
46cfd1:	8b 43 04             	mov    0x4(%ebx),%eax
46cfd4:	8b 70 04             	mov    0x4(%eax),%esi
46cfd7:	8b ce                	mov    %esi,%ecx
46cfd9:	e8 b9 c9 f9 ff       	call   0x409997
46cfde:	8b 4e 08             	mov    0x8(%esi),%ecx
46cfe1:	8d 44 24 38          	lea    0x38(%esp),%eax
46cfe5:	50                   	push   %eax
46cfe6:	8d 44 24 1c          	lea    0x1c(%esp),%eax
46cfea:	50                   	push   %eax
46cfeb:	8d 44 24 60          	lea    0x60(%esp),%eax
46cfef:	50                   	push   %eax
46cff0:	8d 54 24 74          	lea    0x74(%esp),%edx
46cff4:	e8 00 77 f9 ff       	call   0x4046f9
46cff9:	83 c4 0c             	add    $0xc,%esp
46cffc:	8d 4c 24 18          	lea    0x18(%esp),%ecx
46d000:	33 c0                	xor    %eax,%eax
46d002:	50                   	push   %eax
46d003:	e8 4a ab f9 ff       	call   0x407b52
46d008:	33 c9                	xor    %ecx,%ecx
46d00a:	66 39 08             	cmp    %cx,(%eax)
46d00d:	75 2d                	jne    0x46d03c
46d00f:	51                   	push   %ecx
46d010:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
46d014:	e8 39 ab f9 ff       	call   0x407b52
46d019:	33 c9                	xor    %ecx,%ecx
46d01b:	66 39 08             	cmp    %cx,(%eax)
46d01e:	75 1c                	jne    0x46d03c
46d020:	68 18 9e 4b 00       	push   $0x4b9e18
46d025:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
46d029:	e8 fe ac f9 ff       	call   0x407d2c
46d02e:	68 7c a8 4b 00       	push   $0x4ba87c
46d033:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
46d037:	e8 f0 ac f9 ff       	call   0x407d2c
46d03c:	8d 44 24 68          	lea    0x68(%esp),%eax
46d040:	50                   	push   %eax
46d041:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
46d045:	e8 5d b1 f9 ff       	call   0x4081a7
46d04a:	8d 44 24 58          	lea    0x58(%esp),%eax
46d04e:	50                   	push   %eax
46d04f:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
46d053:	e8 36 ac f9 ff       	call   0x407c8e
46d058:	8d 44 24 18          	lea    0x18(%esp),%eax
46d05c:	50                   	push   %eax
46d05d:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
46d061:	e8 28 ac f9 ff       	call   0x407c8e
46d066:	8d 44 24 38          	lea    0x38(%esp),%eax
46d06a:	50                   	push   %eax
46d06b:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
46d06f:	e8 1a ac f9 ff       	call   0x407c8e
46d074:	8b 43 04             	mov    0x4(%ebx),%eax
46d077:	8b 30                	mov    (%eax),%esi
46d079:	8b ce                	mov    %esi,%ecx
46d07b:	e8 17 c9 f9 ff       	call   0x409997
46d080:	8b 4e 08             	mov    0x8(%esi),%ecx
46d083:	8d 44 24 48          	lea    0x48(%esp),%eax
46d087:	50                   	push   %eax
46d088:	8d 54 24 2c          	lea    0x2c(%esp),%edx
46d08c:	e8 1c 72 ff ff       	call   0x4642ad
46d091:	59                   	pop    %ecx
46d092:	8d 4c 24 48          	lea    0x48(%esp),%ecx
46d096:	e8 d8 6d ff ff       	call   0x463e73
46d09b:	3c 01                	cmp    $0x1,%al
46d09d:	75 06                	jne    0x46d0a5
46d09f:	38 44 24 10          	cmp    %al,0x10(%esp)
46d0a3:	74 04                	je     0x46d0a9
46d0a5:	84 c0                	test   %al,%al
46d0a7:	75 49                	jne    0x46d0f2
46d0a9:	8b 43 04             	mov    0x4(%ebx),%eax
46d0ac:	8b 7c 24 48          	mov    0x48(%esp),%edi
46d0b0:	8b 30                	mov    (%eax),%esi