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
46d0b2:	8b ce                	mov    %esi,%ecx
46d0b4:	e8 de c8 f9 ff       	call   0x409997
46d0b9:	8b 46 08             	mov    0x8(%esi),%eax
46d0bc:	51                   	push   %ecx
46d0bd:	57                   	push   %edi
46d0be:	8d 8c 24 80 00 00 00 	lea    0x80(%esp),%ecx
46d0c5:	ff 30                	push   (%eax)
46d0c7:	e8 13 c3 ff ff       	call   0x4693df
46d0cc:	85 c0                	test   %eax,%eax
46d0ce:	74 37                	je     0x46d107
46d0d0:	8b 54 24 14          	mov    0x14(%esp),%edx
46d0d4:	33 db                	xor    %ebx,%ebx
46d0d6:	53                   	push   %ebx
46d0d7:	50                   	push   %eax
46d0d8:	8b 02                	mov    (%edx),%eax
46d0da:	8b 48 04             	mov    0x4(%eax),%ecx
46d0dd:	03 ca                	add    %edx,%ecx
46d0df:	e8 7d 2e fb ff       	call   0x41ff61
46d0e4:	8b 75 0c             	mov    0xc(%ebp),%esi
46d0e7:	8b ce                	mov    %esi,%ecx
46d0e9:	e8 32 c9 f9 ff       	call   0x409a20
46d0ee:	89 1e                	mov    %ebx,(%esi)
46d0f0:	eb 0e                	jmp    0x46d100
46d0f2:	8b 75 0c             	mov    0xc(%ebp),%esi
46d0f5:	8b ce                	mov    %esi,%ecx
46d0f7:	e8 24 c9 f9 ff       	call   0x409a20
46d0fc:	33 c0                	xor    %eax,%eax
46d0fe:	89 06                	mov    %eax,(%esi)
46d100:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46d107:	8d 4c 24 78          	lea    0x78(%esp),%ecx
46d10b:	e8 9a 7e f9 ff       	call   0x404faa
46d110:	8d 4c 24 38          	lea    0x38(%esp),%ecx
46d114:	e8 4b 89 f9 ff       	call   0x405a64
46d119:	8d 4c 24 58          	lea    0x58(%esp),%ecx
46d11d:	e8 42 89 f9 ff       	call   0x405a64
46d122:	8d 4c 24 68          	lea    0x68(%esp),%ecx
46d126:	e8 39 89 f9 ff       	call   0x405a64
46d12b:	8d 4c 24 48          	lea    0x48(%esp),%ecx
46d12f:	e8 30 89 f9 ff       	call   0x405a64
46d134:	8d 4c 24 28          	lea    0x28(%esp),%ecx
46d138:	e8 27 89 f9 ff       	call   0x405a64
46d13d:	8d 4c 24 18          	lea    0x18(%esp),%ecx
46d141:	e8 1e 89 f9 ff       	call   0x405a64
46d146:	5f                   	pop    %edi
46d147:	5e                   	pop    %esi
46d148:	33 c0                	xor    %eax,%eax
46d14a:	5b                   	pop    %ebx
46d14b:	8b e5                	mov    %ebp,%esp
46d14d:	5d                   	pop    %ebp
46d14e:	c2 08 00             	ret    $0x8
46d151:	55                   	push   %ebp
46d152:	8b ec                	mov    %esp,%ebp
46d154:	83 e4 f8             	and    $0xfffffff8,%esp
46d157:	83 ec 44             	sub    $0x44,%esp
46d15a:	53                   	push   %ebx
46d15b:	56                   	push   %esi
46d15c:	57                   	push   %edi
46d15d:	8b 7d 08             	mov    0x8(%ebp),%edi
46d160:	33 db                	xor    %ebx,%ebx
46d162:	88 5c 24 0c          	mov    %bl,0xc(%esp)
46d166:	83 7f 08 03          	cmpl   $0x3,0x8(%edi)
46d16a:	0f 82 22 01 00 00    	jb     0x46d292
46d170:	8b 47 04             	mov    0x4(%edi),%eax
46d173:	8b 48 08             	mov    0x8(%eax),%ecx
46d176:	e8 21 cb f9 ff       	call   0x409c9c
46d17b:	a8 01                	test   $0x1,%al
46d17d:	74 05                	je     0x46d184
46d17f:	c6 44 24 0c 01       	movb   $0x1,0xc(%esp)
46d184:	8b 47 04             	mov    0x4(%edi),%eax
46d187:	8b 48 08             	mov    0x8(%eax),%ecx
46d18a:	e8 0d cb f9 ff       	call   0x409c9c
46d18f:	a8 08                	test   $0x8,%al
46d191:	0f 84 fb 00 00 00    	je     0x46d292
46d197:	8d 4c 24 20          	lea    0x20(%esp),%ecx
46d19b:	e8 27 a6 f9 ff       	call   0x4077c7
46d1a0:	8d 4c 24 30          	lea    0x30(%esp),%ecx
46d1a4:	e8 1e a6 f9 ff       	call   0x4077c7
46d1a9:	8b 47 04             	mov    0x4(%edi),%eax
46d1ac:	8b 70 04             	mov    0x4(%eax),%esi
46d1af:	8b ce                	mov    %esi,%ecx
46d1b1:	e8 e1 c7 f9 ff       	call   0x409997
46d1b6:	8b 4e 08             	mov    0x8(%esi),%ecx
46d1b9:	8d 44 24 30          	lea    0x30(%esp),%eax
46d1bd:	53                   	push   %ebx
46d1be:	53                   	push   %ebx
46d1bf:	50                   	push   %eax
46d1c0:	8d 54 24 2c          	lea    0x2c(%esp),%edx
46d1c4:	e8 30 75 f9 ff       	call   0x4046f9
46d1c9:	8b 44 24 2c          	mov    0x2c(%esp),%eax
46d1cd:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
46d1d1:	89 44 24 1c          	mov    %eax,0x1c(%esp)
46d1d5:	83 c4 0c             	add    $0xc,%esp
46d1d8:	8b 44 24 24          	mov    0x24(%esp),%eax
46d1dc:	89 44 24 14          	mov    %eax,0x14(%esp)
46d1e0:	8b 44 24 28          	mov    0x28(%esp),%eax
46d1e4:	89 44 24 18          	mov    %eax,0x18(%esp)
46d1e8:	8b 44 24 2c          	mov    0x2c(%esp),%eax
46d1ec:	89 44 24 1c          	mov    %eax,0x1c(%esp)
46d1f0:	ff 00                	incl   (%eax)
46d1f2:	8d 44 24 30          	lea    0x30(%esp),%eax
46d1f6:	50                   	push   %eax
46d1f7:	e8 92 aa f9 ff       	call   0x407c8e
46d1fc:	39 5c 24 14          	cmp    %ebx,0x14(%esp)
46d200:	74 4c                	je     0x46d24e
46d202:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46d206:	e8 68 6c ff ff       	call   0x463e73
46d20b:	84 c0                	test   %al,%al
46d20d:	75 3f                	jne    0x46d24e
46d20f:	ff 74 24 10          	push   0x10(%esp)
46d213:	8d 4c 24 44          	lea    0x44(%esp),%ecx
46d217:	e8 25 ad f9 ff       	call   0x407f41
46d21c:	8d 4c 24 40          	lea    0x40(%esp),%ecx
46d220:	e8 41 6a ff ff       	call   0x463c66
46d225:	8a d8                	mov    %al,%bl
46d227:	8d 4c 24 40          	lea    0x40(%esp),%ecx
46d22b:	f6 db                	neg    %bl
46d22d:	1a db                	sbb    %bl,%bl
46d22f:	e8 30 88 f9 ff       	call   0x405a64
46d234:	fe c3                	inc    %bl
46d236:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46d239:	74 16                	je     0x46d251
46d23b:	8b cb                	mov    %ebx,%ecx
46d23d:	e8 de c7 f9 ff       	call   0x409a20
46d242:	83 23 00             	andl   $0x0,(%ebx)
46d245:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
46d24c:	eb 03                	jmp    0x46d251
46d24e:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46d251:	8b cb                	mov    %ebx,%ecx
46d253:	e8 44 ca f9 ff       	call   0x409c9c
46d258:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46d25c:	85 c0                	test   %eax,%eax
46d25e:	75 19                	jne    0x46d279
46d260:	e8 ff 87 f9 ff       	call   0x405a64
46d265:	8d 4c 24 30          	lea    0x30(%esp),%ecx
46d269:	e8 f6 87 f9 ff       	call   0x405a64
46d26e:	8d 4c 24 20          	lea    0x20(%esp),%ecx
46d272:	e8 ed 87 f9 ff       	call   0x405a64
46d277:	eb 62                	jmp    0x46d2db
46d279:	e8 e6 87 f9 ff       	call   0x405a64
46d27e:	8d 4c 24 30          	lea    0x30(%esp),%ecx
46d282:	e8 dd 87 f9 ff       	call   0x405a64
46d287:	8d 4c 24 20          	lea    0x20(%esp),%ecx
46d28b:	e8 d4 87 f9 ff       	call   0x405a64
46d290:	eb 03                	jmp    0x46d295
46d292:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46d295:	8b 47 04             	mov    0x4(%edi),%eax
46d298:	8b 70 04             	mov    0x4(%eax),%esi
46d29b:	8b ce                	mov    %esi,%ecx
46d29d:	e8 f5 c6 f9 ff       	call   0x409997
46d2a2:	8b 45 08             	mov    0x8(%ebp),%eax
46d2a5:	8b 7e 08             	mov    0x8(%esi),%edi
46d2a8:	8b 40 04             	mov    0x4(%eax),%eax
46d2ab:	8b 30                	mov    (%eax),%esi
46d2ad:	8b ce                	mov    %esi,%ecx
46d2af:	e8 e3 c6 f9 ff       	call   0x409997
46d2b4:	8b 4e 08             	mov    0x8(%esi),%ecx
46d2b7:	8b d7                	mov    %edi,%edx
46d2b9:	6a 01                	push   $0x1
46d2bb:	ff 74 24 10          	push   0x10(%esp)
46d2bf:	e8 67 67 ff ff       	call   0x463a2b
46d2c4:	59                   	pop    %ecx
46d2c5:	59                   	pop    %ecx
46d2c6:	84 c0                	test   %al,%al
46d2c8:	75 11                	jne    0x46d2db
46d2ca:	8b cb                	mov    %ebx,%ecx
46d2cc:	e8 4f c7 f9 ff       	call   0x409a20
46d2d1:	83 23 00             	andl   $0x0,(%ebx)
46d2d4:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
46d2db:	5f                   	pop    %edi
46d2dc:	5e                   	pop    %esi
46d2dd:	33 c0                	xor    %eax,%eax
46d2df:	5b                   	pop    %ebx
46d2e0:	8b e5                	mov    %ebp,%esp
46d2e2:	5d                   	pop    %ebp
46d2e3:	c2 08 00             	ret    $0x8