475ee0:	8b 44 02 0c          	mov    0xc(%edx,%eax,1),%eax
475ee4:	3b 45 f8             	cmp    -0x8(%ebp),%eax
475ee7:	7e 19                	jle    0x475f02
475ee9:	6b c3 15             	imul   $0x15,%ebx,%eax
475eec:	8b 55 08             	mov    0x8(%ebp),%edx
475eef:	8b 52 f8             	mov    -0x8(%edx),%edx
475ef2:	c6 44 02 10 00       	movb   $0x0,0x10(%edx,%eax,1)
475ef7:	8b 55 08             	mov    0x8(%ebp),%edx
475efa:	8b 52 f8             	mov    -0x8(%edx),%edx
475efd:	c6 44 02 13 01       	movb   $0x1,0x13(%edx,%eax,1)
475f02:	43                   	inc    %ebx
475f03:	4e                   	dec    %esi
475f04:	0f 85 79 ff ff ff    	jne    0x475e83
475f0a:	8b 07                	mov    (%edi),%eax
475f0c:	8b 40 74             	mov    0x74(%eax),%eax
475f0f:	8b 55 08             	mov    0x8(%ebp),%edx
475f12:	8b 52 0c             	mov    0xc(%edx),%edx
475f15:	89 42 04             	mov    %eax,0x4(%edx)
475f18:	eb 0a                	jmp    0x475f24
475f1a:	8b 07                	mov    (%edi),%eax
475f1c:	33 d2                	xor    %edx,%edx
475f1e:	89 90 a8 00 00 00    	mov    %edx,0xa8(%eax)
475f24:	5f                   	pop    %edi
475f25:	5e                   	pop    %esi
475f26:	5b                   	pop    %ebx
475f27:	59                   	pop    %ecx
475f28:	59                   	pop    %ecx
475f29:	5d                   	pop    %ebp
475f2a:	c3                   	ret
475f2b:	90                   	nop
475f2c:	55                   	push   %ebp
475f2d:	8b ec                	mov    %esp,%ebp
475f2f:	83 c4 f0             	add    $0xfffffff0,%esp
475f32:	53                   	push   %ebx
475f33:	56                   	push   %esi
475f34:	57                   	push   %edi
475f35:	88 55 fb             	mov    %dl,-0x5(%ebp)
475f38:	89 45 fc             	mov    %eax,-0x4(%ebp)
475f3b:	8b 45 08             	mov    0x8(%ebp),%eax
475f3e:	83 78 f0 ff          	cmpl   $0xffffffff,-0x10(%eax)
475f42:	0f 84 53 02 00 00    	je     0x47619b
475f48:	8b 45 08             	mov    0x8(%ebp),%eax
475f4b:	80 78 ef 00          	cmpb   $0x0,-0x11(%eax)
475f4f:	74 5e                	je     0x475faf
475f51:	8b 45 08             	mov    0x8(%ebp),%eax
475f54:	8b 40 fc             	mov    -0x4(%eax),%eax
475f57:	83 78 4c 00          	cmpl   $0x0,0x4c(%eax)
475f5b:	75 52                	jne    0x475faf
475f5d:	8b 45 08             	mov    0x8(%ebp),%eax
475f60:	80 78 f7 00          	cmpb   $0x0,-0x9(%eax)
475f64:	75 20                	jne    0x475f86
475f66:	8b 45 08             	mov    0x8(%ebp),%eax
475f69:	8b 40 0c             	mov    0xc(%eax),%eax
475f6c:	8b 00                	mov    (%eax),%eax
475f6e:	8b 55 08             	mov    0x8(%ebp),%edx
475f71:	3b 42 1c             	cmp    0x1c(%edx),%eax
475f74:	7d 10                	jge    0x475f86
475f76:	8b 45 08             	mov    0x8(%ebp),%eax
475f79:	8b 40 1c             	mov    0x1c(%eax),%eax
475f7c:	8b 55 08             	mov    0x8(%ebp),%edx
475f7f:	8b 52 0c             	mov    0xc(%edx),%edx
475f82:	89 02                	mov    %eax,(%edx)
475f84:	eb 29                	jmp    0x475faf
475f86:	8b 45 08             	mov    0x8(%ebp),%eax
475f89:	80 78 f7 01          	cmpb   $0x1,-0x9(%eax)
475f8d:	75 20                	jne    0x475faf
475f8f:	8b 45 08             	mov    0x8(%ebp),%eax
475f92:	8b 40 0c             	mov    0xc(%eax),%eax
475f95:	8b 40 04             	mov    0x4(%eax),%eax
475f98:	8b 55 08             	mov    0x8(%ebp),%edx
475f9b:	3b 42 1c             	cmp    0x1c(%edx),%eax
475f9e:	7d 0f                	jge    0x475faf
475fa0:	8b 45 08             	mov    0x8(%ebp),%eax
475fa3:	8b 40 1c             	mov    0x1c(%eax),%eax
475fa6:	8b 55 08             	mov    0x8(%ebp),%edx
475fa9:	8b 52 0c             	mov    0xc(%edx),%edx
475fac:	89 42 04             	mov    %eax,0x4(%edx)
475faf:	c7 45 f4 ff ff ff ff 	movl   $0xffffffff,-0xc(%ebp)
475fb6:	8b 45 08             	mov    0x8(%ebp),%eax
475fb9:	8b 70 f0             	mov    -0x10(%eax),%esi
475fbc:	8b 7d fc             	mov    -0x4(%ebp),%edi
475fbf:	2b fe                	sub    %esi,%edi
475fc1:	0f 8c 32 01 00 00    	jl     0x4760f9
475fc7:	47                   	inc    %edi
475fc8:	6b c6 15             	imul   $0x15,%esi,%eax
475fcb:	8b 55 08             	mov    0x8(%ebp),%edx
475fce:	8b 52 f8             	mov    -0x8(%edx),%edx
475fd1:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
475fd4:	80 7b 10 00          	cmpb   $0x0,0x10(%ebx)
475fd8:	0f 84 13 01 00 00    	je     0x4760f1
475fde:	8b 45 08             	mov    0x8(%ebp),%eax
475fe1:	8b 40 fc             	mov    -0x4(%eax),%eax
475fe4:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
475fea:	8b 04 b0             	mov    (%eax,%esi,4),%eax
475fed:	8b 40 1c             	mov    0x1c(%eax),%eax
475ff0:	89 45 f0             	mov    %eax,-0x10(%ebp)
475ff3:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
475ff7:	7d 0c                	jge    0x476005
475ff9:	8b 45 f0             	mov    -0x10(%ebp),%eax
475ffc:	f6 40 65 02          	testb  $0x2,0x65(%eax)
476000:	74 03                	je     0x476005
476002:	89 75 f4             	mov    %esi,-0xc(%ebp)
476005:	8b 45 08             	mov    0x8(%ebp),%eax
476008:	8b 40 fc             	mov    -0x4(%eax),%eax
47600b:	8a 40 71             	mov    0x71(%eax),%al
47600e:	84 c0                	test   %al,%al
476010:	75 0d                	jne    0x47601f
476012:	8b 55 f0             	mov    -0x10(%ebp),%edx
476015:	f6 42 40 02          	testb  $0x2,0x40(%edx)
476019:	75 04                	jne    0x47601f
47601b:	33 d2                	xor    %edx,%edx
47601d:	eb 02                	jmp    0x476021
47601f:	b2 01                	mov    $0x1,%dl
476021:	8b 4d 08             	mov    0x8(%ebp),%ecx
476024:	84 c0                	test   %al,%al
476026:	0f 84 b4 00 00 00    	je     0x4760e0
47602c:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
476030:	74 2f                	je     0x476061
476032:	8b 45 08             	mov    0x8(%ebp),%eax
476035:	80 78 ef 00          	cmpb   $0x0,-0x11(%eax)
476039:	75 26                	jne    0x476061
47603b:	8b 45 08             	mov    0x8(%ebp),%eax
47603e:	80 78 f7 02          	cmpb   $0x2,-0x9(%eax)
476042:	74 1d                	je     0x476061
476044:	8b 45 08             	mov    0x8(%ebp),%eax
476047:	8b 40 0c             	mov    0xc(%eax),%eax
47604a:	8b 00                	mov    (%eax),%eax
47604c:	8b 55 08             	mov    0x8(%ebp),%edx
47604f:	89 42 e8             	mov    %eax,-0x18(%edx)
476052:	8b 45 08             	mov    0x8(%ebp),%eax
476055:	8b 40 0c             	mov    0xc(%eax),%eax
476058:	8b 40 04             	mov    0x4(%eax),%eax
47605b:	8b 55 08             	mov    0x8(%ebp),%edx
47605e:	89 42 e4             	mov    %eax,-0x1c(%edx)
476061:	8b 45 f0             	mov    -0x10(%ebp),%eax
476064:	66 8b 40 64          	mov    0x64(%eax),%ax
476068:	66 23 05 bc 61 47 00 	and    0x4761bc,%ax
47606f:	66 8b 15 c0 61 47 00 	mov    0x4761c0,%dx
476076:	66 3b d0             	cmp    %ax,%dx
476079:	74 24                	je     0x47609f
47607b:	8b 45 08             	mov    0x8(%ebp),%eax
47607e:	80 78 f7 01          	cmpb   $0x1,-0x9(%eax)
476082:	74 0e                	je     0x476092
476084:	8b 45 08             	mov    0x8(%ebp),%eax
476087:	8b 40 e4             	mov    -0x1c(%eax),%eax
47608a:	03 43 04             	add    0x4(%ebx),%eax
47608d:	89 43 0c             	mov    %eax,0xc(%ebx)
476090:	eb 5f                	jmp    0x4760f1
476092:	8b 45 08             	mov    0x8(%ebp),%eax
476095:	8b 40 e8             	mov    -0x18(%eax),%eax
476098:	03 03                	add    (%ebx),%eax
47609a:	89 43 08             	mov    %eax,0x8(%ebx)
47609d:	eb 52                	jmp    0x4760f1
47609f:	8b 45 08             	mov    0x8(%ebp),%eax
4760a2:	80 78 f7 01          	cmpb   $0x1,-0x9(%eax)
4760a6:	74 1d                	je     0x4760c5
4760a8:	8b 45 08             	mov    0x8(%ebp),%eax
4760ab:	8b 40 e4             	mov    -0x1c(%eax),%eax
4760ae:	8b 53 0c             	mov    0xc(%ebx),%edx
4760b1:	2b 53 04             	sub    0x4(%ebx),%edx
4760b4:	2b c2                	sub    %edx,%eax
4760b6:	d1 f8                	sar    $1,%eax
4760b8:	79 03                	jns    0x4760bd
4760ba:	83 d0 00             	adc    $0x0,%eax
4760bd:	01 43 04             	add    %eax,0x4(%ebx)
4760c0:	01 43 0c             	add    %eax,0xc(%ebx)
4760c3:	eb 2c                	jmp    0x4760f1
4760c5:	8b 45 08             	mov    0x8(%ebp),%eax
4760c8:	8b 40 e8             	mov    -0x18(%eax),%eax
4760cb:	8b 53 08             	mov    0x8(%ebx),%edx
4760ce:	2b 13                	sub    (%ebx),%edx
4760d0:	2b c2                	sub    %edx,%eax
4760d2:	d1 f8                	sar    $1,%eax
4760d4:	79 03                	jns    0x4760d9
4760d6:	83 d0 00             	adc    $0x0,%eax
4760d9:	01 03                	add    %eax,(%ebx)
4760db:	01 43 08             	add    %eax,0x8(%ebx)
4760de:	eb 11                	jmp    0x4760f1
4760e0:	84 d2                	test   %dl,%dl
4760e2:	75 0d                	jne    0x4760f1
4760e4:	8b c3                	mov    %ebx,%eax
4760e6:	8b 10                	mov    (%eax),%edx
4760e8:	8b 4d 08             	mov    0x8(%ebp),%ecx
4760eb:	03 51 e8             	add    -0x18(%ecx),%edx
4760ee:	89 50 08             	mov    %edx,0x8(%eax)
4760f1:	46                   	inc    %esi
4760f2:	4f                   	dec    %edi
4760f3:	0f 85 cf fe ff ff    	jne    0x475fc8
4760f9:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
4760fd:	0f 8c 98 00 00 00    	jl     0x47619b
476103:	33 c0                	xor    %eax,%eax
476105:	8b 75 fc             	mov    -0x4(%ebp),%esi
476108:	8b 7d f4             	mov    -0xc(%ebp),%edi
47610b:	2b fe                	sub    %esi,%edi
47610d:	7f 51                	jg     0x476160
47610f:	4f                   	dec    %edi
476110:	6b d6 15             	imul   $0x15,%esi,%edx
476113:	8b 4d 08             	mov    0x8(%ebp),%ecx
476116:	8b 49 f8             	mov    -0x8(%ecx),%ecx
476119:	8d 1c 11             	lea    (%ecx,%edx,1),%ebx
47611c:	80 7b 10 00          	cmpb   $0x0,0x10(%ebx)
476120:	74 3a                	je     0x47615c
476122:	8b 45 08             	mov    0x8(%ebp),%eax
476125:	80 78 f7 01          	cmpb   $0x1,-0x9(%eax)
476129:	74 18                	je     0x476143
47612b:	8b 45 08             	mov    0x8(%ebp),%eax
47612e:	8b 50 0c             	mov    0xc(%eax),%edx
476131:	8b 12                	mov    (%edx),%edx
476133:	8b 45 08             	mov    0x8(%ebp),%eax
476136:	8b 40 1c             	mov    0x1c(%eax),%eax
476139:	e8 ea 6b ff ff       	call   0x46cd28
47613e:	2b 43 08             	sub    0x8(%ebx),%eax
476141:	eb 1d                	jmp    0x476160
476143:	8b 45 08             	mov    0x8(%ebp),%eax
476146:	8b 50 0c             	mov    0xc(%eax),%edx
476149:	8b 52 04             	mov    0x4(%edx),%edx
47614c:	8b 45 08             	mov    0x8(%ebp),%eax
47614f:	8b 40 1c             	mov    0x1c(%eax),%eax
476152:	e8 d1 6b ff ff       	call   0x46cd28
476157:	2b 43 0c             	sub    0xc(%ebx),%eax
47615a:	eb 04                	jmp    0x476160
47615c:	4e                   	dec    %esi
47615d:	47                   	inc    %edi
47615e:	75 b0                	jne    0x476110
476160:	85 c0                	test   %eax,%eax
476162:	7e 37                	jle    0x47619b
476164:	8b 75 f4             	mov    -0xc(%ebp),%esi
476167:	8b 7d fc             	mov    -0x4(%ebp),%edi
47616a:	2b fe                	sub    %esi,%edi
47616c:	7c 2d                	jl     0x47619b
47616e:	47                   	inc    %edi
47616f:	6b d6 15             	imul   $0x15,%esi,%edx
476172:	8b 4d 08             	mov    0x8(%ebp),%ecx
476175:	8b 49 f8             	mov    -0x8(%ecx),%ecx
476178:	8d 1c 11             	lea    (%ecx,%edx,1),%ebx
47617b:	80 7b 10 00          	cmpb   $0x0,0x10(%ebx)
47617f:	74 16                	je     0x476197
476181:	8b 55 08             	mov    0x8(%ebp),%edx
476184:	80 7a f7 01          	cmpb   $0x1,-0x9(%edx)
476188:	74 07                	je     0x476191
47618a:	01 03                	add    %eax,(%ebx)
47618c:	01 43 08             	add    %eax,0x8(%ebx)
47618f:	eb 06                	jmp    0x476197
476191:	01 43 04             	add    %eax,0x4(%ebx)
476194:	01 43 0c             	add    %eax,0xc(%ebx)
476197:	46                   	inc    %esi
476198:	4f                   	dec    %edi
476199:	75 d4                	jne    0x47616f
47619b:	8b 45 08             	mov    0x8(%ebp),%eax
47619e:	c7 40 f0 ff ff ff ff 	movl   $0xffffffff,-0x10(%eax)
4761a5:	8b 45 08             	mov    0x8(%ebp),%eax
4761a8:	33 d2                	xor    %edx,%edx
4761aa:	89 50 e4             	mov    %edx,-0x1c(%eax)
4761ad:	8b 45 08             	mov    0x8(%ebp),%eax
4761b0:	33 d2                	xor    %edx,%edx
4761b2:	89 50 e8             	mov    %edx,-0x18(%eax)
4761b5:	5f                   	pop    %edi
4761b6:	5e                   	pop    %esi
4761b7:	5b                   	pop    %ebx
4761b8:	8b e5                	mov    %ebp,%esp
4761ba:	5d                   	pop    %ebp
4761bb:	c3                   	ret
4761bc:	04 20                	add    $0x20,%al
4761be:	00 00                	add    %al,(%eax)
4761c0:	00 00                	add    %al,(%eax)
4761c2:	00 00                	add    %al,(%eax)
4761c4:	55                   	push   %ebp
4761c5:	8b ec                	mov    %esp,%ebp
4761c7:	83 c4 f8             	add    $0xfffffff8,%esp
4761ca:	53                   	push   %ebx
4761cb:	56                   	push   %esi
4761cc:	57                   	push   %edi
4761cd:	8b f2                	mov    %edx,%esi
4761cf:	89 45 fc             	mov    %eax,-0x4(%ebp)
4761d2:	8b 45 08             	mov    0x8(%ebp),%eax
4761d5:	83 78 f0 ff          	cmpl   $0xffffffff,-0x10(%eax)
4761d9:	75 19                	jne    0x4761f4
4761db:	8b 45 08             	mov    0x8(%ebp),%eax
4761de:	8b 55 fc             	mov    -0x4(%ebp),%edx
4761e1:	89 50 f0             	mov    %edx,-0x10(%eax)
4761e4:	8b 45 08             	mov    0x8(%ebp),%eax
4761e7:	33 d2                	xor    %edx,%edx
4761e9:	89 50 e4             	mov    %edx,-0x1c(%eax)
4761ec:	8b 45 08             	mov    0x8(%ebp),%eax
4761ef:	33 d2                	xor    %edx,%edx
4761f1:	89 50 e8             	mov    %edx,-0x18(%eax)
4761f4:	c6 45 fb 00          	movb   $0x0,-0x5(%ebp)
4761f8:	8b 45 08             	mov    0x8(%ebp),%eax
4761fb:	80 78 f7 01          	cmpb   $0x1,-0x9(%eax)
4761ff:	0f 94 c3             	sete   %bl
476202:	84 db                	test   %bl,%bl
476204:	75 08                	jne    0x47620e
476206:	8b 45 08             	mov    0x8(%ebp),%eax
476209:	8b 78 e0             	mov    -0x20(%eax),%edi
47620c:	eb 06                	jmp    0x476214
47620e:	8b 45 08             	mov    0x8(%ebp),%eax
476211:	8b 78 dc             	mov    -0x24(%eax),%edi
476214:	8b 45 08             	mov    0x8(%ebp),%eax
476217:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
47621b:	0f 8e 67 01 00 00    	jle    0x476388
476221:	85 ff                	test   %edi,%edi
476223:	0f 8e 5f 01 00 00    	jle    0x476388
476229:	84 db                	test   %bl,%bl
47622b:	75 05                	jne    0x476232
47622d:	03 7e 08             	add    0x8(%esi),%edi
476230:	eb 03                	jmp    0x476235
476232:	03 7e 0c             	add    0xc(%esi),%edi
476235:	8b 45 08             	mov    0x8(%ebp),%eax
476238:	8b 40 fc             	mov    -0x4(%eax),%eax
47623b:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
476241:	8b 55 fc             	mov    -0x4(%ebp),%edx
476244:	8b 04 90             	mov    (%eax,%edx,4),%eax
476247:	8b 40 1c             	mov    0x1c(%eax),%eax
47624a:	f6 40 64 04          	testb  $0x4,0x64(%eax)
47624e:	0f 84 c7 00 00 00    	je     0x47631b
476254:	8b 45 08             	mov    0x8(%ebp),%eax
476257:	80 78 db 00          	cmpb   $0x0,-0x25(%eax)
47625b:	74 1b                	je     0x476278
47625d:	8b 45 08             	mov    0x8(%ebp),%eax
476260:	8b 40 fc             	mov    -0x4(%eax),%eax
476263:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
476269:	8b 55 fc             	mov    -0x4(%ebp),%edx
47626c:	8b 04 90             	mov    (%eax,%edx,4),%eax
47626f:	8b 40 1c             	mov    0x1c(%eax),%eax
476272:	f6 40 65 01          	testb  $0x1,0x65(%eax)
476276:	74 1c                	je     0x476294
476278:	8b 45 08             	mov    0x8(%ebp),%eax
47627b:	50                   	push   %eax
47627c:	8b 45 fc             	mov    -0x4(%ebp),%eax
47627f:	40                   	inc    %eax
476280:	e8 6b fa ff ff       	call   0x475cf0
476285:	59                   	pop    %ecx
476286:	03 c7                	add    %edi,%eax
476288:	8b 55 08             	mov    0x8(%ebp),%edx
47628b:	3b 42 1c             	cmp    0x1c(%edx),%eax
47628e:	0f 8e 87 00 00 00    	jle    0x47631b
476294:	8b 45 08             	mov    0x8(%ebp),%eax
476297:	c6 40 ef 01          	movb   $0x1,-0x11(%eax)
47629b:	8b 45 08             	mov    0x8(%ebp),%eax
47629e:	8b 40 08             	mov    0x8(%eax),%eax
4762a1:	ff 00                	incl   (%eax)
4762a3:	8b c3                	mov    %ebx,%eax
4762a5:	34 01                	xor    $0x1,%al
4762a7:	84 c0                	test   %al,%al
4762a9:	74 16                	je     0x4762c1
4762ab:	8b 45 08             	mov    0x8(%ebp),%eax
4762ae:	33 d2                	xor    %edx,%edx
4762b0:	89 50 e0             	mov    %edx,-0x20(%eax)
4762b3:	8b 45 08             	mov    0x8(%ebp),%eax
4762b6:	8b 40 e4             	mov    -0x1c(%eax),%eax