475fde:	50                   	push   %eax
475fdf:	89 45 f0             	mov    %eax,-0x10(%ebp)
475fe2:	e8 c9 31 f9 ff       	call   0x4091b0
475fe7:	83 c4 0c             	add    $0xc,%esp
475fea:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
475fee:	74 07                	je     0x475ff7
475ff0:	8b 7d b8             	mov    -0x48(%ebp),%edi
475ff3:	2b fe                	sub    %esi,%edi
475ff5:	eb 05                	jmp    0x475ffc
475ff7:	8b 7d b0             	mov    -0x50(%ebp),%edi
475ffa:	03 fe                	add    %esi,%edi
475ffc:	2b 7d c0             	sub    -0x40(%ebp),%edi
475fff:	6a 00                	push   $0x0
476001:	6a 01                	push   $0x1
476003:	6a 02                	push   $0x2
476005:	ff 75 f0             	push   -0x10(%ebp)
476008:	e8 93 2e f9 ff       	call   0x408ea0
47600d:	83 c4 10             	add    $0x10,%esp
476010:	8b f0                	mov    %eax,%esi
476012:	8b ce                	mov    %esi,%ecx
476014:	e8 07 3a f9 ff       	call   0x409a20
476019:	33 c9                	xor    %ecx,%ecx
47601b:	89 3e                	mov    %edi,(%esi)
47601d:	41                   	inc    %ecx
47601e:	80 7d fe 00          	cmpb   $0x0,-0x2(%ebp)
476022:	89 4e 0c             	mov    %ecx,0xc(%esi)
476025:	74 05                	je     0x47602c
476027:	8b 7d f4             	mov    -0xc(%ebp),%edi
47602a:	eb 05                	jmp    0x476031
47602c:	8b 7d b4             	mov    -0x4c(%ebp),%edi
47602f:	03 fb                	add    %ebx,%edi
476031:	2b 7d c4             	sub    -0x3c(%ebp),%edi
476034:	51                   	push   %ecx
476035:	51                   	push   %ecx
476036:	6a 02                	push   $0x2
476038:	ff 75 f0             	push   -0x10(%ebp)
47603b:	e8 60 2e f9 ff       	call   0x408ea0
476040:	83 c4 10             	add    $0x10,%esp
476043:	8b f0                	mov    %eax,%esi
476045:	8b ce                	mov    %esi,%ecx
476047:	e8 d4 39 f9 ff       	call   0x409a20
47604c:	89 3e                	mov    %edi,(%esi)
47604e:	8b 7d dc             	mov    -0x24(%ebp),%edi
476051:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
476058:	8b 75 ec             	mov    -0x14(%ebp),%esi
47605b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
47605e:	8a 45 0b             	mov    0xb(%ebp),%al
476061:	8d 34 8e             	lea    (%esi,%ecx,4),%esi
476064:	89 75 ec             	mov    %esi,-0x14(%ebp)
476067:	84 c0                	test   %al,%al
476069:	0f 84 34 ff ff ff    	je     0x475fa3
47606f:	8b 55 d8             	mov    -0x28(%ebp),%edx
476072:	01 55 f4             	add    %edx,-0xc(%ebp)
476075:	03 d9                	add    %ecx,%ebx
476077:	8b 75 d4             	mov    -0x2c(%ebp),%esi
47607a:	84 c0                	test   %al,%al
47607c:	0f 84 f6 fe ff ff    	je     0x475f78
476082:	ff 75 e8             	push   -0x18(%ebp)
476085:	e8 e2 af fa ff       	call   0x42106c
47608a:	59                   	pop    %ecx
47608b:	8a 4d 0b             	mov    0xb(%ebp),%cl
47608e:	84 c9                	test   %cl,%cl
476090:	75 25                	jne    0x4760b7
476092:	8b 5d 0c             	mov    0xc(%ebp),%ebx
476095:	8b cb                	mov    %ebx,%ecx
476097:	e8 84 39 f9 ff       	call   0x409a20
47609c:	8b 55 d0             	mov    -0x30(%ebp),%edx
47609f:	33 c0                	xor    %eax,%eax
4760a1:	83 23 00             	andl   $0x0,(%ebx)
4760a4:	40                   	inc    %eax
4760a5:	6a 00                	push   $0x0
4760a7:	89 43 0c             	mov    %eax,0xc(%ebx)
4760aa:	50                   	push   %eax
4760ab:	8b 02                	mov    (%edx),%eax
4760ad:	8b 48 04             	mov    0x4(%eax),%ecx
4760b0:	03 ca                	add    %edx,%ecx
4760b2:	e8 ec 09 fe ff       	call   0x456aa3
4760b7:	5f                   	pop    %edi
4760b8:	5e                   	pop    %esi
4760b9:	33 c0                	xor    %eax,%eax
4760bb:	5b                   	pop    %ebx
4760bc:	8b e5                	mov    %ebp,%esp
4760be:	5d                   	pop    %ebp
4760bf:	c2 08 00             	ret    $0x8
4760c2:	55                   	push   %ebp
4760c3:	8b ec                	mov    %esp,%ebp
4760c5:	8b 45 08             	mov    0x8(%ebp),%eax
4760c8:	6a 01                	push   $0x1
4760ca:	ff 70 08             	push   0x8(%eax)
4760cd:	50                   	push   %eax
4760ce:	e8 eb 16 00 00       	call   0x4777be
4760d3:	5d                   	pop    %ebp
4760d4:	c2 08 00             	ret    $0x8
4760d7:	55                   	push   %ebp
4760d8:	8b ec                	mov    %esp,%ebp
4760da:	8b 45 08             	mov    0x8(%ebp),%eax
4760dd:	6a 00                	push   $0x0
4760df:	ff 70 08             	push   0x8(%eax)
4760e2:	50                   	push   %eax
4760e3:	e8 d6 16 00 00       	call   0x4777be
4760e8:	5d                   	pop    %ebp
4760e9:	c2 08 00             	ret    $0x8
4760ec:	55                   	push   %ebp
4760ed:	8b ec                	mov    %esp,%ebp
4760ef:	83 3d 94 62 4c 00 00 	cmpl   $0x0,0x4c6294
4760f6:	53                   	push   %ebx
4760f7:	57                   	push   %edi
4760f8:	8b 7d 08             	mov    0x8(%ebp),%edi
4760fb:	8b 5f 08             	mov    0x8(%edi),%ebx
4760fe:	0f 84 a7 00 00 00    	je     0x4761ab
476104:	8b 47 04             	mov    0x4(%edi),%eax
476107:	56                   	push   %esi
476108:	8b 08                	mov    (%eax),%ecx
47610a:	e8 8d 3b f9 ff       	call   0x409c9c
47610f:	33 f6                	xor    %esi,%esi
476111:	85 c0                	test   %eax,%eax
476113:	78 2c                	js     0x476141
476115:	8b 47 04             	mov    0x4(%edi),%eax
476118:	8b 08                	mov    (%eax),%ecx
47611a:	e8 7d 3b f9 ff       	call   0x409c9c
47611f:	83 f8 65             	cmp    $0x65,%eax
476122:	7d 1d                	jge    0x476141
476124:	8b 47 04             	mov    0x4(%edi),%eax
476127:	56                   	push   %esi
476128:	8b 08                	mov    (%eax),%ecx
47612a:	e8 6d 3b f9 ff       	call   0x409c9c
47612f:	50                   	push   %eax
476130:	68 02 04 00 00       	push   $0x402
476135:	ff 35 94 62 4c 00    	push   0x4c6294
47613b:	ff 15 88 f6 48 00    	call   *0x48f688
476141:	83 fb 02             	cmp    $0x2,%ebx
476144:	72 64                	jb     0x4761aa
476146:	8b 47 04             	mov    0x4(%edi),%eax
476149:	8b 70 04             	mov    0x4(%eax),%esi
47614c:	8b ce                	mov    %esi,%ecx
47614e:	e8 44 38 f9 ff       	call   0x409997
476153:	8b 46 08             	mov    0x8(%esi),%eax
476156:	33 c9                	xor    %ecx,%ecx
476158:	8b 00                	mov    (%eax),%eax
47615a:	66 39 08             	cmp    %cx,(%eax)
47615d:	74 23                	je     0x476182
47615f:	8b 47 04             	mov    0x4(%edi),%eax
476162:	8b 70 04             	mov    0x4(%eax),%esi
476165:	8b ce                	mov    %esi,%ecx
476167:	e8 2b 38 f9 ff       	call   0x409997
47616c:	8b 46 08             	mov    0x8(%esi),%eax
47616f:	ff 30                	push   (%eax)
476171:	33 c0                	xor    %eax,%eax
476173:	50                   	push   %eax
476174:	6a 0c                	push   $0xc
476176:	ff 35 8c 62 4c 00    	push   0x4c628c
47617c:	ff 15 88 f6 48 00    	call   *0x48f688
476182:	83 fb 02             	cmp    $0x2,%ebx
476185:	76 23                	jbe    0x4761aa
476187:	8b 47 04             	mov    0x4(%edi),%eax
47618a:	8b 70 08             	mov    0x8(%eax),%esi
47618d:	8b ce                	mov    %esi,%ecx
47618f:	e8 03 38 f9 ff       	call   0x409997
476194:	8b 46 08             	mov    0x8(%esi),%eax
476197:	ff 30                	push   (%eax)
476199:	33 c0                	xor    %eax,%eax
47619b:	50                   	push   %eax
47619c:	6a 0c                	push   $0xc
47619e:	ff 35 90 62 4c 00    	push   0x4c6290
4761a4:	ff 15 88 f6 48 00    	call   *0x48f688
4761aa:	5e                   	pop    %esi
4761ab:	5f                   	pop    %edi
4761ac:	33 c0                	xor    %eax,%eax
4761ae:	5b                   	pop    %ebx
4761af:	5d                   	pop    %ebp
4761b0:	c2 08 00             	ret    $0x8
4761b3:	55                   	push   %ebp
4761b4:	8b ec                	mov    %esp,%ebp
4761b6:	83 e4 f8             	and    $0xfffffff8,%esp
4761b9:	56                   	push   %esi
4761ba:	8b 75 08             	mov    0x8(%ebp),%esi
4761bd:	57                   	push   %edi
4761be:	8b f9                	mov    %ecx,%edi
4761c0:	83 7e 08 02          	cmpl   $0x2,0x8(%esi)
4761c4:	8b 46 04             	mov    0x4(%esi),%eax
4761c7:	75 2a                	jne    0x4761f3
4761c9:	8b 48 04             	mov    0x4(%eax),%ecx
4761cc:	e8 cb 3a f9 ff       	call   0x409c9c
4761d1:	85 c0                	test   %eax,%eax
4761d3:	8b 46 04             	mov    0x4(%esi),%eax
4761d6:	8b 30                	mov    (%eax),%esi
4761d8:	8b ce                	mov    %esi,%ecx
4761da:	74 1b                	je     0x4761f7
4761dc:	e8 b6 37 f9 ff       	call   0x409997
4761e1:	6a 00                	push   $0x0
4761e3:	ff 76 08             	push   0x8(%esi)
4761e6:	8d 8f 88 00 00 00    	lea    0x88(%edi),%ecx
4761ec:	e8 2c a7 fe ff       	call   0x46091d
4761f1:	eb 19                	jmp    0x47620c
4761f3:	8b 30                	mov    (%eax),%esi
4761f5:	8b ce                	mov    %esi,%ecx
4761f7:	e8 9b 37 f9 ff       	call   0x409997
4761fc:	6a 00                	push   $0x0
4761fe:	ff 76 08             	push   0x8(%esi)
476201:	8d 8f 88 00 00 00    	lea    0x88(%edi),%ecx
476207:	e8 50 a5 fe ff       	call   0x46075c
47620c:	5f                   	pop    %edi
47620d:	33 c0                	xor    %eax,%eax
47620f:	5e                   	pop    %esi
476210:	8b e5                	mov    %ebp,%esp
476212:	5d                   	pop    %ebp
476213:	c2 08 00             	ret    $0x8
476216:	55                   	push   %ebp
476217:	8b ec                	mov    %esp,%ebp
476219:	56                   	push   %esi
47621a:	8b 75 08             	mov    0x8(%ebp),%esi
47621d:	57                   	push   %edi
47621e:	8b f9                	mov    %ecx,%edi
476220:	6a 01                	push   $0x1
476222:	8b 46 04             	mov    0x4(%esi),%eax
476225:	8b 08                	mov    (%eax),%ecx
476227:	e8 70 3a f9 ff       	call   0x409c9c
47622c:	50                   	push   %eax
47622d:	8b 07                	mov    (%edi),%eax
47622f:	8b 48 04             	mov    0x4(%eax),%ecx
476232:	03 cf                	add    %edi,%ecx
476234:	e8 6a 08 fe ff       	call   0x456aa3
476239:	83 7e 08 01          	cmpl   $0x1,0x8(%esi)
47623d:	76 1a                	jbe    0x476259
47623f:	8b 46 04             	mov    0x4(%esi),%eax
476242:	6a 01                	push   $0x1
476244:	8b 48 04             	mov    0x4(%eax),%ecx
476247:	e8 50 3a f9 ff       	call   0x409c9c
47624c:	50                   	push   %eax
47624d:	8b 07                	mov    (%edi),%eax
47624f:	8b 48 04             	mov    0x4(%eax),%ecx
476252:	03 cf                	add    %edi,%ecx
476254:	e8 08 9d fa ff       	call   0x41ff61
476259:	83 7e 08 02          	cmpl   $0x2,0x8(%esi)
47625d:	76 0e                	jbe    0x47626d
47625f:	8b 46 04             	mov    0x4(%esi),%eax
476262:	8b 4d 0c             	mov    0xc(%ebp),%ecx
476265:	ff 70 08             	push   0x8(%eax)
476268:	e8 2f 3c f9 ff       	call   0x409e9c
47626d:	5f                   	pop    %edi
47626e:	33 c0                	xor    %eax,%eax
476270:	5e                   	pop    %esi
476271:	5d                   	pop    %ebp
476272:	c2 08 00             	ret    $0x8
476275:	55                   	push   %ebp
476276:	8b ec                	mov    %esp,%ebp
476278:	56                   	push   %esi
476279:	57                   	push   %edi
47627a:	8b 7d 08             	mov    0x8(%ebp),%edi
47627d:	8b f1                	mov    %ecx,%esi
47627f:	6a 01                	push   $0x1
476281:	8b 47 04             	mov    0x4(%edi),%eax
476284:	8b 08                	mov    (%eax),%ecx
476286:	e8 11 3a f9 ff       	call   0x409c9c
47628b:	50                   	push   %eax
47628c:	8b 06                	mov    (%esi),%eax
47628e:	8b 48 04             	mov    0x4(%eax),%ecx
476291:	03 ce                	add    %esi,%ecx
476293:	e8 c9 9c fa ff       	call   0x41ff61
476298:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
47629c:	76 0e                	jbe    0x4762ac
47629e:	8b 47 04             	mov    0x4(%edi),%eax
4762a1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4762a4:	ff 70 04             	push   0x4(%eax)
4762a7:	e8 f0 3b f9 ff       	call   0x409e9c
4762ac:	5f                   	pop    %edi
4762ad:	33 c0                	xor    %eax,%eax
4762af:	5e                   	pop    %esi
4762b0:	5d                   	pop    %ebp
4762b1:	c2 08 00             	ret    $0x8
4762b4:	55                   	push   %ebp
4762b5:	8b ec                	mov    %esp,%ebp
4762b7:	83 e4 f8             	and    $0xfffffff8,%esp
4762ba:	51                   	push   %ecx
4762bb:	56                   	push   %esi
4762bc:	8b 75 08             	mov    0x8(%ebp),%esi
4762bf:	83 7e 08 02          	cmpl   $0x2,0x8(%esi)
4762c3:	75 20                	jne    0x4762e5
4762c5:	8b 46 04             	mov    0x4(%esi),%eax
4762c8:	8b 48 04             	mov    0x4(%eax),%ecx
4762cb:	e8 cc 39 f9 ff       	call   0x409c9c
4762d0:	83 f8 01             	cmp    $0x1,%eax
4762d3:	75 10                	jne    0x4762e5
4762d5:	8b 46 04             	mov    0x4(%esi),%eax
4762d8:	8b 30                	mov    (%eax),%esi
4762da:	8b ce                	mov    %esi,%ecx
4762dc:	e8 b6 36 f9 ff       	call   0x409997
4762e1:	b2 01                	mov    $0x1,%dl
4762e3:	eb 0e                	jmp    0x4762f3
4762e5:	8b 46 04             	mov    0x4(%esi),%eax
4762e8:	8b 30                	mov    (%eax),%esi
4762ea:	8b ce                	mov    %esi,%ecx
4762ec:	e8 a6 36 f9 ff       	call   0x409997
4762f1:	32 d2                	xor    %dl,%dl
4762f3:	8b 4e 08             	mov    0x8(%esi),%ecx
4762f6:	8b 09                	mov    (%ecx),%ecx
4762f8:	e8 6c f2 fe ff       	call   0x465569
4762fd:	33 c0                	xor    %eax,%eax
4762ff:	5e                   	pop    %esi
476300:	8b e5                	mov    %ebp,%esp
476302:	5d                   	pop    %ebp
476303:	c2 08 00             	ret    $0x8
476306:	55                   	push   %ebp
476307:	8b ec                	mov    %esp,%ebp
476309:	8b 45 08             	mov    0x8(%ebp),%eax
47630c:	57                   	push   %edi
47630d:	8b f9                	mov    %ecx,%edi
47630f:	8b 40 04             	mov    0x4(%eax),%eax
476312:	8b 08                	mov    (%eax),%ecx
476314:	e8 83 39 f9 ff       	call   0x409c9c
476319:	6a 64                	push   $0x64
47631b:	59                   	pop    %ecx
47631c:	3b c1                	cmp    %ecx,%eax
47631e:	77 1e                	ja     0x47633e
476320:	69 c0 ff ff 00 00    	imul   $0xffff,%eax,%eax
476326:	99                   	cltd
476327:	f7 f9                	idiv   %ecx
476329:	0f b7 c0             	movzwl %ax,%eax
47632c:	8b c8                	mov    %eax,%ecx
47632e:	c1 e1 10             	shl    $0x10,%ecx
476331:	0b c8                	or     %eax,%ecx
476333:	51                   	push   %ecx
476334:	6a 00                	push   $0x0
476336:	ff 15 bc f7 48 00    	call   *0x48f7bc
47633c:	eb 24                	jmp    0x476362
47633e:	56                   	push   %esi
47633f:	8b 75 0c             	mov    0xc(%ebp),%esi
476342:	8b ce                	mov    %esi,%ecx
476344:	e8 d7 36 f9 ff       	call   0x409a20
476349:	83 26 00             	andl   $0x0,(%esi)
47634c:	33 c0                	xor    %eax,%eax
47634e:	40                   	inc    %eax
47634f:	6a 00                	push   $0x0
476351:	89 46 0c             	mov    %eax,0xc(%esi)
476354:	50                   	push   %eax
476355:	8b 07                	mov    (%edi),%eax
476357:	8b 48 04             	mov    0x4(%eax),%ecx
47635a:	03 cf                	add    %edi,%ecx
47635c:	e8 42 07 fe ff       	call   0x456aa3
476361:	5e                   	pop    %esi
476362:	33 c0                	xor    %eax,%eax
476364:	5f                   	pop    %edi
476365:	5d                   	pop    %ebp
476366:	c2 08 00             	ret    $0x8
476369:	55                   	push   %ebp
47636a:	8b ec                	mov    %esp,%ebp
47636c:	8b 45 08             	mov    0x8(%ebp),%eax
47636f:	6a 00                	push   $0x0
476371:	ff 70 08             	push   0x8(%eax)
476374:	50                   	push   %eax