477ec1:	e8 8a 92 fe ff       	call   0x461150
477ec6:	8b f0                	mov    %eax,%esi
477ec8:	8b 0e                	mov    (%esi),%ecx
477eca:	3b 4e 04             	cmp    0x4(%esi),%ecx
477ecd:	0f 84 b3 00 00 00    	je     0x477f86
477ed3:	8b 45 1c             	mov    0x1c(%ebp),%eax
477ed6:	83 ec 08             	sub    $0x8,%esp
477ed9:	8b cc                	mov    %esp,%ecx
477edb:	8b d0                	mov    %eax,%edx
477edd:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
477ee1:	72 02                	jb     0x477ee5
477ee3:	8b 10                	mov    (%eax),%edx
477ee5:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
477eec:	89 11                	mov    %edx,(%ecx)
477eee:	8b 40 10             	mov    0x10(%eax),%eax
477ef1:	89 41 04             	mov    %eax,0x4(%ecx)
477ef4:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
477efa:	8b 4b 04             	mov    0x4(%ebx),%ecx
477efd:	50                   	push   %eax
477efe:	e8 0d 92 01 00       	call   0x491110
477f03:	83 bd 60 ff ff ff 01 	cmpl   $0x1,-0xa0(%ebp)
477f0a:	75 7a                	jne    0x477f86
477f0c:	8b 46 04             	mov    0x4(%esi),%eax
477f0f:	33 db                	xor    %ebx,%ebx
477f11:	8b 3e                	mov    (%esi),%edi
477f13:	2b c7                	sub    %edi,%eax
477f15:	a9 f0 ff ff ff       	test   $0xfffffff0,%eax
477f1a:	7e 6a                	jle    0x477f86
477f1c:	33 c9                	xor    %ecx,%ecx
477f1e:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
477f24:	0f 1f 40 00          	nopl   0x0(%eax)
477f28:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
477f2f:	00
477f30:	ff 34 0f             	push   (%edi,%ecx,1)
477f33:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
477f39:	ff b5 64 ff ff ff    	push   -0x9c(%ebp)
477f3f:	8b 08                	mov    (%eax),%ecx
477f41:	e8 ba a9 01 00       	call   0x492900
477f46:	85 c0                	test   %eax,%eax
477f48:	74 20                	je     0x477f6a
477f4a:	8b 40 14             	mov    0x14(%eax),%eax
477f4d:	8b 8d 6c ff ff ff    	mov    -0x94(%ebp),%ecx
477f53:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
477f59:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
477f5f:	50                   	push   %eax
477f60:	8d 49 44             	lea    0x44(%ecx),%ecx
477f63:	e8 88 5c 02 00       	call   0x49dbf0
477f68:	8b 3e                	mov    (%esi),%edi
477f6a:	8b 46 04             	mov    0x4(%esi),%eax
477f6d:	43                   	inc    %ebx
477f6e:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
477f74:	2b c7                	sub    %edi,%eax
477f76:	83 c1 10             	add    $0x10,%ecx
477f79:	c1 f8 04             	sar    $0x4,%eax
477f7c:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
477f82:	3b d8                	cmp    %eax,%ebx
477f84:	7c aa                	jl     0x477f30
477f86:	8b 4d f4             	mov    -0xc(%ebp),%ecx
477f89:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
477f90:	59                   	pop    %ecx
477f91:	5f                   	pop    %edi
477f92:	5e                   	pop    %esi
477f93:	5b                   	pop    %ebx
477f94:	8b 4d f0             	mov    -0x10(%ebp),%ecx
477f97:	33 cd                	xor    %ebp,%ecx
477f99:	e8 88 9a 15 00       	call   0x5d1a26
477f9e:	8b e5                	mov    %ebp,%esp
477fa0:	5d                   	pop    %ebp
477fa1:	c2 18 00             	ret    $0x18
477fa4:	e8 67 f6 fc ff       	call   0x447610
477fa9:	e8 42 e2 15 00       	call   0x5d61f0
477fae:	e8 3d e2 15 00       	call   0x5d61f0
477fb3:	cc                   	int3
477fb4:	cc                   	int3
477fb5:	cc                   	int3
477fb6:	cc                   	int3
477fb7:	cc                   	int3
477fb8:	cc                   	int3
477fb9:	cc                   	int3
477fba:	cc                   	int3
477fbb:	cc                   	int3
477fbc:	cc                   	int3
477fbd:	cc                   	int3
477fbe:	cc                   	int3
477fbf:	cc                   	int3
477fc0:	55                   	push   %ebp
477fc1:	8b ec                	mov    %esp,%ebp
477fc3:	6a ff                	push   $0xffffffff
477fc5:	68 7d a1 5f 00       	push   $0x5fa17d
477fca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
477fd0:	50                   	push   %eax
477fd1:	81 ec 98 00 00 00    	sub    $0x98,%esp
477fd7:	a1 c0 14 69 00       	mov    0x6914c0,%eax
477fdc:	33 c5                	xor    %ebp,%eax
477fde:	89 45 f0             	mov    %eax,-0x10(%ebp)
477fe1:	53                   	push   %ebx
477fe2:	56                   	push   %esi
477fe3:	57                   	push   %edi
477fe4:	50                   	push   %eax
477fe5:	8d 45 f4             	lea    -0xc(%ebp),%eax
477fe8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
477fee:	8b d9                	mov    %ecx,%ebx
477ff0:	89 9d 6c ff ff ff    	mov    %ebx,-0x94(%ebp)
477ff6:	8b 45 0c             	mov    0xc(%ebp),%eax
477ff9:	8b 7d 08             	mov    0x8(%ebp),%edi
477ffc:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
478002:	8b 45 10             	mov    0x10(%ebp),%eax
478005:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
47800b:	8b 45 14             	mov    0x14(%ebp),%eax
47800e:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
478014:	8b 45 18             	mov    0x18(%ebp),%eax
478017:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
47801d:	8b 43 04             	mov    0x4(%ebx),%eax
478020:	6a 28                	push   $0x28
478022:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
478028:	e8 f8 91 15 00       	call   0x5d1225
47802d:	8b f0                	mov    %eax,%esi
47802f:	83 c4 04             	add    $0x4,%esp
478032:	89 b5 68 ff ff ff    	mov    %esi,-0x98(%ebp)
478038:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
47803f:	85 f6                	test   %esi,%esi
478041:	74 11                	je     0x478054
478043:	6a 00                	push   $0x0
478045:	8b ce                	mov    %esi,%ecx
478047:	e8 74 15 05 00       	call   0x4c95c0
47804c:	c7 06 74 eb 60 00    	movl   $0x60eb74,(%esi)
478052:	eb 02                	jmp    0x478056
478054:	33 f6                	xor    %esi,%esi
478056:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
47805c:	81 c1 a4 00 00 00    	add    $0xa4,%ecx
478062:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
478069:	89 b5 68 ff ff ff    	mov    %esi,-0x98(%ebp)
47806f:	8b 41 04             	mov    0x4(%ecx),%eax
478072:	3b 41 08             	cmp    0x8(%ecx),%eax
478075:	74 08                	je     0x47807f
478077:	89 30                	mov    %esi,(%eax)
478079:	83 41 04 04          	addl   $0x4,0x4(%ecx)
47807d:	eb 0d                	jmp    0x47808c
47807f:	8d 95 68 ff ff ff    	lea    -0x98(%ebp),%edx
478085:	52                   	push   %edx
478086:	50                   	push   %eax
478087:	e8 94 0e 00 00       	call   0x478f20
47808c:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
478092:	e8 09 06 04 00       	call   0x4b86a0
478097:	84 c0                	test   %al,%al
478099:	0f 85 ee 00 00 00    	jne    0x47818d
47809f:	8b 4f 10             	mov    0x10(%edi),%ecx
4780a2:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4780a7:	2b c1                	sub    %ecx,%eax
4780a9:	83 f8 01             	cmp    $0x1,%eax
4780ac:	0f 82 c2 02 00 00    	jb     0x478374
4780b2:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
4780b6:	8b c7                	mov    %edi,%eax
4780b8:	72 02                	jb     0x4780bc
4780ba:	8b 07                	mov    (%edi),%eax
4780bc:	6a 01                	push   $0x1
4780be:	68 68 67 60 00       	push   $0x606768
4780c3:	51                   	push   %ecx
4780c4:	50                   	push   %eax
4780c5:	57                   	push   %edi
4780c6:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
4780cc:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4780cf:	e8 ac 3a 00 00       	call   0x47bb80
4780d4:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
4780da:	8d 45 d8             	lea    -0x28(%ebp),%eax
4780dd:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4780e4:	50                   	push   %eax
4780e5:	8d 45 c0             	lea    -0x40(%ebp),%eax
4780e8:	50                   	push   %eax
4780e9:	e8 12 de ff ff       	call   0x475f00
4780ee:	83 c4 0c             	add    $0xc,%esp
4780f1:	68 bc a5 60 00       	push   $0x60a5bc
4780f6:	6a 07                	push   $0x7
4780f8:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
4780fe:	8b cb                	mov    %ebx,%ecx
478100:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
478104:	50                   	push   %eax
478105:	e8 d6 67 00 00       	call   0x47e8e0
47810a:	8b 55 d4             	mov    -0x2c(%ebp),%edx
47810d:	83 fa 10             	cmp    $0x10,%edx
478110:	72 2c                	jb     0x47813e
478112:	8b 4d c0             	mov    -0x40(%ebp),%ecx
478115:	42                   	inc    %edx
478116:	8b c1                	mov    %ecx,%eax
478118:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
47811e:	72 14                	jb     0x478134
478120:	8b 49 fc             	mov    -0x4(%ecx),%ecx
478123:	83 c2 23             	add    $0x23,%edx
478126:	2b c1                	sub    %ecx,%eax
478128:	83 c0 fc             	add    $0xfffffffc,%eax
47812b:	83 f8 1f             	cmp    $0x1f,%eax
47812e:	0f 87 45 02 00 00    	ja     0x478379
478134:	52                   	push   %edx
478135:	51                   	push   %ecx
478136:	e8 1a 91 15 00       	call   0x5d1255
47813b:	83 c4 08             	add    $0x8,%esp
47813e:	8b 55 ec             	mov    -0x14(%ebp),%edx
478141:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
478148:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
47814f:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
478153:	83 fa 10             	cmp    $0x10,%edx
478156:	0f 82 fa 01 00 00    	jb     0x478356
47815c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
47815f:	42                   	inc    %edx
478160:	8b c1                	mov    %ecx,%eax
478162:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
478168:	72 14                	jb     0x47817e
47816a:	8b 49 fc             	mov    -0x4(%ecx),%ecx
47816d:	83 c2 23             	add    $0x23,%edx
478170:	2b c1                	sub    %ecx,%eax
478172:	83 c0 fc             	add    $0xfffffffc,%eax
478175:	83 f8 1f             	cmp    $0x1f,%eax
478178:	0f 87 fb 01 00 00    	ja     0x478379
47817e:	52                   	push   %edx
47817f:	51                   	push   %ecx
478180:	e8 d0 90 15 00       	call   0x5d1255
478185:	83 c4 08             	add    $0x8,%esp
478188:	e9 c9 01 00 00       	jmp    0x478356
47818d:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
478193:	8d 45 d8             	lea    -0x28(%ebp),%eax
478196:	50                   	push   %eax
478197:	e8 14 45 fe ff       	call   0x45c6b0
47819c:	50                   	push   %eax
47819d:	8b ce                	mov    %esi,%ecx
47819f:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
4781a6:	e8 65 44 fe ff       	call   0x45c610
4781ab:	8b 55 ec             	mov    -0x14(%ebp),%edx
4781ae:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
4781b5:	83 fa 10             	cmp    $0x10,%edx
4781b8:	72 2c                	jb     0x4781e6
4781ba:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4781bd:	42                   	inc    %edx
4781be:	8b c1                	mov    %ecx,%eax
4781c0:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
4781c6:	72 14                	jb     0x4781dc
4781c8:	8b 49 fc             	mov    -0x4(%ecx),%ecx
4781cb:	83 c2 23             	add    $0x23,%edx
4781ce:	2b c1                	sub    %ecx,%eax
4781d0:	83 c0 fc             	add    $0xfffffffc,%eax
4781d3:	83 f8 1f             	cmp    $0x1f,%eax
4781d6:	0f 87 a2 01 00 00    	ja     0x47837e
4781dc:	52                   	push   %edx
4781dd:	51                   	push   %ecx
4781de:	e8 72 90 15 00       	call   0x5d1255
4781e3:	83 c4 08             	add    $0x8,%esp
4781e6:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
4781ec:	89 70 14             	mov    %esi,0x14(%eax)
4781ef:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
4781f3:	0f 8e 81 00 00 00    	jle    0x47827a
4781f9:	57                   	push   %edi
4781fa:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
478200:	e8 1b e5 fd ff       	call   0x456720
478205:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
47820b:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
47820e:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
478215:	e8 06 e5 fd ff       	call   0x456720
47821a:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
478220:	8d 4d ac             	lea    -0x54(%ebp),%ecx
478223:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
478227:	e8 84 3c 00 00       	call   0x47beb0
47822c:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
478232:	89 45 b8             	mov    %eax,-0x48(%ebp)
478235:	89 75 bc             	mov    %esi,-0x44(%ebp)
478238:	8b 43 10             	mov    0x10(%ebx),%eax
47823b:	8d 73 0c             	lea    0xc(%ebx),%esi
47823e:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
478244:	c7 45 fc 06 00 00 00 	movl   $0x6,-0x4(%ebp)
47824b:	51                   	push   %ecx
47824c:	50                   	push   %eax
47824d:	3b 46 08             	cmp    0x8(%esi),%eax
478250:	74 0f                	je     0x478261
478252:	56                   	push   %esi
478253:	e8 88 26 00 00       	call   0x47a8e0
478258:	83 c4 0c             	add    $0xc,%esp
47825b:	83 46 04 44          	addl   $0x44,0x4(%esi)
47825f:	eb 07                	jmp    0x478268
478261:	8b ce                	mov    %esi,%ecx
478263:	e8 d8 12 00 00       	call   0x479540
478268:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
47826e:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
478275:	e8 a6 5b 00 00       	call   0x47de20
47827a:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
478280:	f6 40 04 01          	testb  $0x1,0x4(%eax)
478284:	74 0b                	je     0x478291
478286:	8b 70 04             	mov    0x4(%eax),%esi
478289:	83 e6 fc             	and    $0xfffffffc,%esi
47828c:	83 c6 04             	add    $0x4,%esi
47828f:	eb 07                	jmp    0x478298
478291:	e8 ba 8e fe ff       	call   0x461150
478296:	8b f0                	mov    %eax,%esi
478298:	8b 0e                	mov    (%esi),%ecx
47829a:	3b 4e 04             	cmp    0x4(%esi),%ecx
47829d:	0f 84 b3 00 00 00    	je     0x478356
4782a3:	8b 45 1c             	mov    0x1c(%ebp),%eax
4782a6:	83 ec 08             	sub    $0x8,%esp
4782a9:	8b cc                	mov    %esp,%ecx
4782ab:	8b d0                	mov    %eax,%edx
4782ad:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
4782b1:	72 02                	jb     0x4782b5
4782b3:	8b 10                	mov    (%eax),%edx
4782b5:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
4782bc:	89 11                	mov    %edx,(%ecx)
4782be:	8b 40 10             	mov    0x10(%eax),%eax
4782c1:	89 41 04             	mov    %eax,0x4(%ecx)
4782c4:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
4782ca:	8b 4b 04             	mov    0x4(%ebx),%ecx
4782cd:	50                   	push   %eax
4782ce:	e8 3d 8e 01 00       	call   0x491110
4782d3:	83 bd 60 ff ff ff 01 	cmpl   $0x1,-0xa0(%ebp)
4782da:	75 7a                	jne    0x478356
4782dc:	8b 46 04             	mov    0x4(%esi),%eax
4782df:	33 db                	xor    %ebx,%ebx
4782e1:	8b 3e                	mov    (%esi),%edi
4782e3:	2b c7                	sub    %edi,%eax
4782e5:	a9 f0 ff ff ff       	test   $0xfffffff0,%eax
4782ea:	7e 6a                	jle    0x478356
4782ec:	33 c9                	xor    %ecx,%ecx
4782ee:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
4782f4:	0f 1f 40 00          	nopl   0x0(%eax)
4782f8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
4782ff:	00
478300:	ff 34 0f             	push   (%edi,%ecx,1)
478303:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
478309:	ff b5 64 ff ff ff    	push   -0x9c(%ebp)
47830f:	8b 08                	mov    (%eax),%ecx
478311:	e8 ea a5 01 00       	call   0x492900
478316:	85 c0                	test   %eax,%eax
478318:	74 20                	je     0x47833a
47831a:	8b 40 14             	mov    0x14(%eax),%eax
47831d:	8b 8d 6c ff ff ff    	mov    -0x94(%ebp),%ecx
478323:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
478329:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
47832f:	50                   	push   %eax
478330:	8d 49 44             	lea    0x44(%ecx),%ecx
478333:	e8 b8 58 02 00       	call   0x49dbf0
478338:	8b 3e                	mov    (%esi),%edi
47833a:	8b 46 04             	mov    0x4(%esi),%eax
47833d:	43                   	inc    %ebx
47833e:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
478344:	2b c7                	sub    %edi,%eax
478346:	83 c1 10             	add    $0x10,%ecx
478349:	c1 f8 04             	sar    $0x4,%eax
47834c:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
478352:	3b d8                	cmp    %eax,%ebx
478354:	7c aa                	jl     0x478300
478356:	8b 4d f4             	mov    -0xc(%ebp),%ecx
478359:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
478360:	59                   	pop    %ecx
478361:	5f                   	pop    %edi
478362:	5e                   	pop    %esi