46bc82:	ff 52 50             	call   *0x50(%edx)
46bc85:	83 fb 02             	cmp    $0x2,%ebx
46bc88:	76 1f                	jbe    0x46bca9
46bc8a:	8b 45 08             	mov    0x8(%ebp),%eax
46bc8d:	8b 40 04             	mov    0x4(%eax),%eax
46bc90:	8b 70 08             	mov    0x8(%eax),%esi
46bc93:	8b ce                	mov    %esi,%ecx
46bc95:	e8 fd dc f9 ff       	call   0x409997
46bc9a:	8b 4c 24 10          	mov    0x10(%esp),%ecx
46bc9e:	8b 46 08             	mov    0x8(%esi),%eax
46bca1:	8b 11                	mov    (%ecx),%edx
46bca3:	ff 30                	push   (%eax)
46bca5:	51                   	push   %ecx
46bca6:	ff 52 24             	call   *0x24(%edx)
46bca9:	83 fb 03             	cmp    $0x3,%ebx
46bcac:	76 1f                	jbe    0x46bccd
46bcae:	8b 45 08             	mov    0x8(%ebp),%eax
46bcb1:	8b 40 04             	mov    0x4(%eax),%eax
46bcb4:	8b 70 0c             	mov    0xc(%eax),%esi
46bcb7:	8b ce                	mov    %esi,%ecx
46bcb9:	e8 d9 dc f9 ff       	call   0x409997
46bcbe:	8b 4c 24 10          	mov    0x10(%esp),%ecx
46bcc2:	8b 46 08             	mov    0x8(%esi),%eax
46bcc5:	8b 11                	mov    (%ecx),%edx
46bcc7:	ff 30                	push   (%eax)
46bcc9:	51                   	push   %ecx
46bcca:	ff 52 2c             	call   *0x2c(%edx)
46bccd:	83 fb 04             	cmp    $0x4,%ebx
46bcd0:	76 1f                	jbe    0x46bcf1
46bcd2:	8b 45 08             	mov    0x8(%ebp),%eax
46bcd5:	8b 40 04             	mov    0x4(%eax),%eax
46bcd8:	8b 70 10             	mov    0x10(%eax),%esi
46bcdb:	8b ce                	mov    %esi,%ecx
46bcdd:	e8 b5 dc f9 ff       	call   0x409997
46bce2:	8b 4c 24 10          	mov    0x10(%esp),%ecx
46bce6:	8b 46 08             	mov    0x8(%esi),%eax
46bce9:	8b 11                	mov    (%ecx),%edx
46bceb:	ff 30                	push   (%eax)
46bced:	51                   	push   %ecx
46bcee:	ff 52 1c             	call   *0x1c(%edx)
46bcf1:	83 fb 05             	cmp    $0x5,%ebx
46bcf4:	76 21                	jbe    0x46bd17
46bcf6:	8b 45 08             	mov    0x8(%ebp),%eax
46bcf9:	8b 40 04             	mov    0x4(%eax),%eax
46bcfc:	8b 70 14             	mov    0x14(%eax),%esi
46bcff:	8b ce                	mov    %esi,%ecx
46bd01:	e8 91 dc f9 ff       	call   0x409997
46bd06:	8b 4c 24 10          	mov    0x10(%esp),%ecx
46bd0a:	8b 46 08             	mov    0x8(%esi),%eax
46bd0d:	6a 00                	push   $0x0
46bd0f:	8b 11                	mov    (%ecx),%edx
46bd11:	ff 30                	push   (%eax)
46bd13:	51                   	push   %ecx
46bd14:	ff 52 44             	call   *0x44(%edx)
46bd17:	8b 55 08             	mov    0x8(%ebp),%edx
46bd1a:	83 fb 06             	cmp    $0x6,%ebx
46bd1d:	0f 86 a5 00 00 00    	jbe    0x46bdc8
46bd23:	8b 42 04             	mov    0x4(%edx),%eax
46bd26:	8b 70 18             	mov    0x18(%eax),%esi
46bd29:	8b ce                	mov    %esi,%ecx
46bd2b:	e8 69 d6 f9 ff       	call   0x409399
46bd30:	84 c0                	test   %al,%al
46bd32:	0f 84 90 00 00 00    	je     0x46bdc8
46bd38:	8b ce                	mov    %esi,%ecx
46bd3a:	e8 58 dc f9 ff       	call   0x409997
46bd3f:	8b 46 08             	mov    0x8(%esi),%eax
46bd42:	8d 4c 24 30          	lea    0x30(%esp),%ecx
46bd46:	ff 30                	push   (%eax)
46bd48:	e8 f4 c1 f9 ff       	call   0x407f41
46bd4d:	8d 44 24 0f          	lea    0xf(%esp),%eax
46bd51:	50                   	push   %eax
46bd52:	8d 44 24 10          	lea    0x10(%esp),%eax
46bd56:	50                   	push   %eax
46bd57:	8d 44 24 15          	lea    0x15(%esp),%eax
46bd5b:	50                   	push   %eax
46bd5c:	8d 44 24 1a          	lea    0x1a(%esp),%eax
46bd60:	50                   	push   %eax
46bd61:	8d 44 24 2c          	lea    0x2c(%esp),%eax
46bd65:	50                   	push   %eax
46bd66:	8d 44 24 44          	lea    0x44(%esp),%eax
46bd6a:	50                   	push   %eax
46bd6b:	e8 cb 44 fb ff       	call   0x42023b
46bd70:	8d 4c 24 30          	lea    0x30(%esp),%ecx
46bd74:	8d 58 ff             	lea    -0x1(%eax),%ebx
46bd77:	f6 db                	neg    %bl
46bd79:	1a db                	sbb    %bl,%bl
46bd7b:	e8 e4 9c f9 ff       	call   0x405a64
46bd80:	fe c3                	inc    %bl
46bd82:	74 3d                	je     0x46bdc1
46bd84:	8a 4c 24 0c          	mov    0xc(%esp),%cl
46bd88:	84 c9                	test   %cl,%cl
46bd8a:	74 03                	je     0x46bd8f
46bd8c:	6a 04                	push   $0x4
46bd8e:	5f                   	pop    %edi
46bd8f:	8a 44 24 0d          	mov    0xd(%esp),%al
46bd93:	84 c0                	test   %al,%al
46bd95:	74 03                	je     0x46bd9a
46bd97:	83 cf 02             	or     $0x2,%edi
46bd9a:	80 7c 24 0e 00       	cmpb   $0x0,0xe(%esp)
46bd9f:	74 03                	je     0x46bda4
46bda1:	83 cf 01             	or     $0x1,%edi
46bda4:	84 c0                	test   %al,%al
46bda6:	75 07                	jne    0x46bdaf
46bda8:	84 c9                	test   %cl,%cl
46bdaa:	75 03                	jne    0x46bdaf
46bdac:	83 cf 06             	or     $0x6,%edi
46bdaf:	8b 44 24 10          	mov    0x10(%esp),%eax
46bdb3:	c1 e7 08             	shl    $0x8,%edi
46bdb6:	0b 7c 24 1c          	or     0x1c(%esp),%edi
46bdba:	57                   	push   %edi
46bdbb:	8b 08                	mov    (%eax),%ecx
46bdbd:	50                   	push   %eax
46bdbe:	ff 51 34             	call   *0x34(%ecx)
46bdc1:	8b 55 08             	mov    0x8(%ebp),%edx
46bdc4:	8b 5c 24 14          	mov    0x14(%esp),%ebx
46bdc8:	83 fb 07             	cmp    $0x7,%ebx
46bdcb:	76 2f                	jbe    0x46bdfc
46bdcd:	8b 42 04             	mov    0x4(%edx),%eax
46bdd0:	8b 70 14             	mov    0x14(%eax),%esi
46bdd3:	8b ce                	mov    %esi,%ecx
46bdd5:	8b 58 1c             	mov    0x1c(%eax),%ebx
46bdd8:	e8 ba db f9 ff       	call   0x409997
46bddd:	8b 46 08             	mov    0x8(%esi),%eax
46bde0:	8b cb                	mov    %ebx,%ecx
46bde2:	8b 30                	mov    (%eax),%esi
46bde4:	8b 44 24 10          	mov    0x10(%esp),%eax
46bde8:	8b 38                	mov    (%eax),%edi
46bdea:	e8 ad de f9 ff       	call   0x409c9c
46bdef:	50                   	push   %eax
46bdf0:	56                   	push   %esi
46bdf1:	ff 74 24 18          	push   0x18(%esp)
46bdf5:	ff 57 44             	call   *0x44(%edi)
46bdf8:	8b 5c 24 14          	mov    0x14(%esp),%ebx
46bdfc:	83 fb 08             	cmp    $0x8,%ebx
46bdff:	76 1c                	jbe    0x46be1d
46be01:	8b 45 08             	mov    0x8(%ebp),%eax
46be04:	8b 40 04             	mov    0x4(%eax),%eax
46be07:	8b 48 20             	mov    0x20(%eax),%ecx
46be0a:	8b 44 24 10          	mov    0x10(%esp),%eax
46be0e:	8b 30                	mov    (%eax),%esi
46be10:	e8 87 de f9 ff       	call   0x409c9c
46be15:	50                   	push   %eax
46be16:	ff 74 24 14          	push   0x14(%esp)
46be1a:	ff 56 3c             	call   *0x3c(%esi)
46be1d:	8b 44 24 10          	mov    0x10(%esp),%eax
46be21:	8d 54 24 18          	lea    0x18(%esp),%edx
46be25:	52                   	push   %edx
46be26:	68 3c 2c 49 00       	push   $0x492c3c
46be2b:	50                   	push   %eax
46be2c:	8b 08                	mov    (%eax),%ecx
46be2e:	ff 11                	call   *(%ecx)
46be30:	85 c0                	test   %eax,%eax
46be32:	78 32                	js     0x46be66
46be34:	8b 44 24 18          	mov    0x18(%esp),%eax
46be38:	33 db                	xor    %ebx,%ebx
46be3a:	43                   	inc    %ebx
46be3b:	53                   	push   %ebx
46be3c:	ff 74 24 24          	push   0x24(%esp)
46be40:	8b 08                	mov    (%eax),%ecx
46be42:	50                   	push   %eax
46be43:	ff 51 18             	call   *0x18(%ecx)
46be46:	85 c0                	test   %eax,%eax
46be48:	79 10                	jns    0x46be5a
46be4a:	8b 75 0c             	mov    0xc(%ebp),%esi
46be4d:	8b ce                	mov    %esi,%ecx
46be4f:	e8 cc db f9 ff       	call   0x409a20
46be54:	83 26 00             	andl   $0x0,(%esi)
46be57:	89 5e 0c             	mov    %ebx,0xc(%esi)
46be5a:	8b 44 24 18          	mov    0x18(%esp),%eax
46be5e:	50                   	push   %eax
46be5f:	8b 08                	mov    (%eax),%ecx
46be61:	ff 51 08             	call   *0x8(%ecx)
46be64:	eb 14                	jmp    0x46be7a
46be66:	8b 75 0c             	mov    0xc(%ebp),%esi
46be69:	8b ce                	mov    %esi,%ecx
46be6b:	e8 b0 db f9 ff       	call   0x409a20
46be70:	83 26 00             	andl   $0x0,(%esi)
46be73:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46be7a:	8b 44 24 10          	mov    0x10(%esp),%eax
46be7e:	50                   	push   %eax
46be7f:	8b 08                	mov    (%eax),%ecx
46be81:	ff 51 08             	call   *0x8(%ecx)
46be84:	8d 4c 24 20          	lea    0x20(%esp),%ecx
46be88:	e8 d7 9b f9 ff       	call   0x405a64
46be8d:	5f                   	pop    %edi
46be8e:	5e                   	pop    %esi
46be8f:	33 c0                	xor    %eax,%eax
46be91:	5b                   	pop    %ebx
46be92:	8b e5                	mov    %ebp,%esp
46be94:	5d                   	pop    %ebp
46be95:	c2 08 00             	ret    $0x8
46be98:	55                   	push   %ebp
46be99:	8b ec                	mov    %esp,%ebp
46be9b:	8b 45 08             	mov    0x8(%ebp),%eax
46be9e:	56                   	push   %esi
46be9f:	57                   	push   %edi
46bea0:	8b f9                	mov    %ecx,%edi
46bea2:	8b 40 04             	mov    0x4(%eax),%eax
46bea5:	8b 30                	mov    (%eax),%esi
46bea7:	8b ce                	mov    %esi,%ecx
46bea9:	e8 e9 da f9 ff       	call   0x409997
46beae:	8b 4e 08             	mov    0x8(%esi),%ecx
46beb1:	e8 98 7e ff ff       	call   0x463d4e
46beb6:	84 c0                	test   %al,%al
46beb8:	75 29                	jne    0x46bee3
46beba:	ff 15 40 f3 48 00    	call   *0x48f340
46bec0:	6a 00                	push   $0x0
46bec2:	50                   	push   %eax
46bec3:	8b 07                	mov    (%edi),%eax
46bec5:	8b 48 04             	mov    0x4(%eax),%ecx
46bec8:	03 cf                	add    %edi,%ecx
46beca:	e8 92 40 fb ff       	call   0x41ff61
46becf:	8b 75 0c             	mov    0xc(%ebp),%esi
46bed2:	8b ce                	mov    %esi,%ecx
46bed4:	e8 47 db f9 ff       	call   0x409a20
46bed9:	83 26 00             	andl   $0x0,(%esi)
46bedc:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46bee3:	5f                   	pop    %edi
46bee4:	33 c0                	xor    %eax,%eax
46bee6:	5e                   	pop    %esi
46bee7:	5d                   	pop    %ebp
46bee8:	c2 08 00             	ret    $0x8
46beeb:	55                   	push   %ebp
46beec:	8b ec                	mov    %esp,%ebp
46beee:	8b 45 08             	mov    0x8(%ebp),%eax
46bef1:	56                   	push   %esi
46bef2:	8b 40 04             	mov    0x4(%eax),%eax
46bef5:	8b 30                	mov    (%eax),%esi
46bef7:	8b ce                	mov    %esi,%ecx
46bef9:	e8 99 da f9 ff       	call   0x409997
46befe:	8b 46 08             	mov    0x8(%esi),%eax
46bf01:	8b 08                	mov    (%eax),%ecx
46bf03:	e8 7b 7f ff ff       	call   0x463e83
46bf08:	84 c0                	test   %al,%al
46bf0a:	75 14                	jne    0x46bf20
46bf0c:	8b 75 0c             	mov    0xc(%ebp),%esi
46bf0f:	8b ce                	mov    %esi,%ecx
46bf11:	e8 0a db f9 ff       	call   0x409a20
46bf16:	83 26 00             	andl   $0x0,(%esi)
46bf19:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46bf20:	33 c0                	xor    %eax,%eax
46bf22:	5e                   	pop    %esi
46bf23:	5d                   	pop    %ebp
46bf24:	c2 08 00             	ret    $0x8
46bf27:	55                   	push   %ebp
46bf28:	8b ec                	mov    %esp,%ebp
46bf2a:	83 e4 f8             	and    $0xfffffff8,%esp
46bf2d:	81 ec 5c 02 00 00    	sub    $0x25c,%esp
46bf33:	8b 45 08             	mov    0x8(%ebp),%eax
46bf36:	53                   	push   %ebx
46bf37:	56                   	push   %esi
46bf38:	57                   	push   %edi
46bf39:	8b 40 04             	mov    0x4(%eax),%eax
46bf3c:	8b f9                	mov    %ecx,%edi
46bf3e:	8b 30                	mov    (%eax),%esi
46bf40:	8b ce                	mov    %esi,%ecx
46bf42:	e8 50 da f9 ff       	call   0x409997
46bf47:	8b 46 08             	mov    0x8(%esi),%eax
46bf4a:	8d 4c 24 18          	lea    0x18(%esp),%ecx
46bf4e:	51                   	push   %ecx
46bf4f:	ff 30                	push   (%eax)
46bf51:	ff 15 04 f2 48 00    	call   *0x48f204
46bf57:	8b d8                	mov    %eax,%ebx
46bf59:	89 5c 24 10          	mov    %ebx,0x10(%esp)
46bf5d:	83 fb ff             	cmp    $0xffffffff,%ebx
46bf60:	75 15                	jne    0x46bf77
46bf62:	8b 75 0c             	mov    0xc(%ebp),%esi
46bf65:	8b ce                	mov    %esi,%ecx
46bf67:	e8 b4 da f9 ff       	call   0x409a20
46bf6c:	09 1e                	or     %ebx,(%esi)
46bf6e:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46bf75:	eb 66                	jmp    0x46bfdd
46bf77:	8d 44 24 44          	lea    0x44(%esp),%eax
46bf7b:	68 a0 a5 4b 00       	push   $0x4ba5a0
46bf80:	50                   	push   %eax
46bf81:	e8 06 78 fb ff       	call   0x42378c
46bf86:	59                   	pop    %ecx
46bf87:	59                   	pop    %ecx
46bf88:	85 c0                	test   %eax,%eax
46bf8a:	74 15                	je     0x46bfa1
46bf8c:	8d 44 24 44          	lea    0x44(%esp),%eax
46bf90:	68 80 fb 48 00       	push   $0x48fb80
46bf95:	50                   	push   %eax
46bf96:	e8 f1 77 fb ff       	call   0x42378c
46bf9b:	59                   	pop    %ecx
46bf9c:	59                   	pop    %ecx
46bf9d:	85 c0                	test   %eax,%eax
46bf9f:	75 47                	jne    0x46bfe8
46bfa1:	8d 44 24 18          	lea    0x18(%esp),%eax
46bfa5:	50                   	push   %eax
46bfa6:	53                   	push   %ebx
46bfa7:	ff 15 18 f2 48 00    	call   *0x48f218
46bfad:	85 c0                	test   %eax,%eax
46bfaf:	75 c6                	jne    0x46bf77
46bfb1:	50                   	push   %eax
46bfb2:	8b 07                	mov    (%edi),%eax
46bfb4:	33 db                	xor    %ebx,%ebx
46bfb6:	43                   	inc    %ebx
46bfb7:	53                   	push   %ebx
46bfb8:	8b 48 04             	mov    0x4(%eax),%ecx
46bfbb:	03 cf                	add    %edi,%ecx
46bfbd:	e8 e1 aa fe ff       	call   0x456aa3
46bfc2:	8b 75 0c             	mov    0xc(%ebp),%esi
46bfc5:	8b ce                	mov    %esi,%ecx
46bfc7:	e8 54 da f9 ff       	call   0x409a20
46bfcc:	8b 4c 24 10          	mov    0x10(%esp),%ecx
46bfd0:	83 0e ff             	orl    $0xffffffff,(%esi)
46bfd3:	51                   	push   %ecx
46bfd4:	89 5e 0c             	mov    %ebx,0xc(%esi)
46bfd7:	ff 15 ec f3 48 00    	call   *0x48f3ec
46bfdd:	5f                   	pop    %edi
46bfde:	5e                   	pop    %esi
46bfdf:	33 c0                	xor    %eax,%eax
46bfe1:	5b                   	pop    %ebx
46bfe2:	8b e5                	mov    %ebp,%esp
46bfe4:	5d                   	pop    %ebp
46bfe5:	c2 08 00             	ret    $0x8
46bfe8:	8b 8f 98 01 00 00    	mov    0x198(%edi),%ecx
46bfee:	33 db                	xor    %ebx,%ebx
46bff0:	85 c9                	test   %ecx,%ecx
46bff2:	74 15                	je     0x46c009
46bff4:	8b 97 94 01 00 00    	mov    0x194(%edi),%edx
46bffa:	8b 02                	mov    (%edx),%eax
46bffc:	83 38 00             	cmpl   $0x0,(%eax)
46bfff:	74 08                	je     0x46c009
46c001:	43                   	inc    %ebx
46c002:	83 c2 04             	add    $0x4,%edx
46c005:	3b d9                	cmp    %ecx,%ebx
46c007:	72 f1                	jb     0x46bffa
46c009:	6a 20                	push   $0x20
46c00b:	3b d9                	cmp    %ecx,%ebx
46c00d:	75 31                	jne    0x46c040
46c00f:	e8 e2 4f fb ff       	call   0x420ff6
46c014:	8b f0                	mov    %eax,%esi
46c016:	59                   	pop    %ecx
46c017:	85 f6                	test   %esi,%esi
46c019:	74 0e                	je     0x46c029
46c01b:	8d 4e 0c             	lea    0xc(%esi),%ecx
46c01e:	e8 a4 b7 f9 ff       	call   0x4077c7
46c023:	89 74 24 14          	mov    %esi,0x14(%esp)
46c027:	eb 05                	jmp    0x46c02e
46c029:	83 64 24 14 00       	andl   $0x0,0x14(%esp)
46c02e:	8d 44 24 14          	lea    0x14(%esp),%eax
46c032:	50                   	push   %eax
46c033:	8d 8f 90 01 00 00    	lea    0x190(%edi),%ecx
46c039:	e8 f7 37 00 00       	call   0x46f835
46c03e:	eb 23                	jmp    0x46c063
46c040:	e8 b1 4f fb ff       	call   0x420ff6
46c045:	8b f0                	mov    %eax,%esi
46c047:	59                   	pop    %ecx