476042:	40                   	inc    %eax
476043:	84 c9                	test   %cl,%cl
476045:	75 f9                	jne    0x476040
476047:	2b c2                	sub    %edx,%eax
476049:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
47604e:	8b 55 10             	mov    0x10(%ebp),%edx
476051:	2b 4a 10             	sub    0x10(%edx),%ecx
476054:	3b c8                	cmp    %eax,%ecx
476056:	72 22                	jb     0x47607a
476058:	83 7a 14 10          	cmpl   $0x10,0x14(%edx)
47605c:	8b ca                	mov    %edx,%ecx
47605e:	72 02                	jb     0x476062
476060:	8b 0a                	mov    (%edx),%ecx
476062:	ff 72 10             	push   0x10(%edx)
476065:	51                   	push   %ecx
476066:	8b 4d 08             	mov    0x8(%ebp),%ecx
476069:	50                   	push   %eax
47606a:	56                   	push   %esi
47606b:	52                   	push   %edx
47606c:	ff 75 10             	push   0x10(%ebp)
47606f:	e8 0c 5b 00 00       	call   0x47bb80
476074:	8b 45 08             	mov    0x8(%ebp),%eax
476077:	5e                   	pop    %esi
476078:	5d                   	pop    %ebp
476079:	c3                   	ret
47607a:	e8 91 15 fd ff       	call   0x447610
47607f:	cc                   	int3
476080:	55                   	push   %ebp
476081:	8b ec                	mov    %esp,%ebp
476083:	8b 45 08             	mov    0x8(%ebp),%eax
476086:	56                   	push   %esi
476087:	57                   	push   %edi
476088:	8b f0                	mov    %eax,%esi
47608a:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
47608e:	72 02                	jb     0x476092
476090:	8b 30                	mov    (%eax),%esi
476092:	8b 78 10             	mov    0x10(%eax),%edi
476095:	33 c9                	xor    %ecx,%ecx
476097:	ba c5 9d 1c 81       	mov    $0x811c9dc5,%edx
47609c:	85 ff                	test   %edi,%edi
47609e:	74 11                	je     0x4760b1
4760a0:	0f b6 04 31          	movzbl (%ecx,%esi,1),%eax
4760a4:	41                   	inc    %ecx
4760a5:	33 c2                	xor    %edx,%eax
4760a7:	69 d0 93 01 00 01    	imul   $0x1000193,%eax,%edx
4760ad:	3b cf                	cmp    %edi,%ecx
4760af:	72 ef                	jb     0x4760a0
4760b1:	5f                   	pop    %edi
4760b2:	8b c2                	mov    %edx,%eax
4760b4:	5e                   	pop    %esi
4760b5:	5d                   	pop    %ebp
4760b6:	c2 04 00             	ret    $0x4
4760b9:	cc                   	int3
4760ba:	cc                   	int3
4760bb:	cc                   	int3
4760bc:	cc                   	int3
4760bd:	cc                   	int3
4760be:	cc                   	int3
4760bf:	cc                   	int3
4760c0:	55                   	push   %ebp
4760c1:	8b ec                	mov    %esp,%ebp
4760c3:	8b 45 08             	mov    0x8(%ebp),%eax
4760c6:	c1 e0 02             	shl    $0x2,%eax
4760c9:	89 45 08             	mov    %eax,0x8(%ebp)
4760cc:	57                   	push   %edi
4760cd:	8b f9                	mov    %ecx,%edi
4760cf:	85 c0                	test   %eax,%eax
4760d1:	75 05                	jne    0x4760d8
4760d3:	5f                   	pop    %edi
4760d4:	5d                   	pop    %ebp
4760d5:	c2 04 00             	ret    $0x4
4760d8:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
4760de:	8d 4d 08             	lea    0x8(%ebp),%ecx
4760e1:	56                   	push   %esi
4760e2:	8d b7 8c 00 00 00    	lea    0x8c(%edi),%esi
4760e8:	51                   	push   %ecx
4760e9:	50                   	push   %eax
4760ea:	3b 46 08             	cmp    0x8(%esi),%eax
4760ed:	74 1c                	je     0x47610b
4760ef:	56                   	push   %esi
4760f0:	e8 9b 48 00 00       	call   0x47a990
4760f5:	83 c4 0c             	add    $0xc,%esp
4760f8:	83 46 04 0c          	addl   $0xc,0x4(%esi)
4760fc:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
476102:	5e                   	pop    %esi
476103:	8b 40 f4             	mov    -0xc(%eax),%eax
476106:	5f                   	pop    %edi
476107:	5d                   	pop    %ebp
476108:	c2 04 00             	ret    $0x4
47610b:	8b ce                	mov    %esi,%ecx
47610d:	e8 8e 2a 00 00       	call   0x478ba0
476112:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
476118:	5e                   	pop    %esi
476119:	5f                   	pop    %edi
47611a:	8b 40 f4             	mov    -0xc(%eax),%eax
47611d:	5d                   	pop    %ebp
47611e:	c2 04 00             	ret    $0x4
476121:	cc                   	int3
476122:	cc                   	int3
476123:	cc                   	int3
476124:	cc                   	int3
476125:	cc                   	int3
476126:	cc                   	int3
476127:	cc                   	int3
476128:	cc                   	int3
476129:	cc                   	int3
47612a:	cc                   	int3
47612b:	cc                   	int3
47612c:	cc                   	int3
47612d:	cc                   	int3
47612e:	cc                   	int3
47612f:	cc                   	int3
476130:	55                   	push   %ebp
476131:	8b ec                	mov    %esp,%ebp
476133:	8b 45 08             	mov    0x8(%ebp),%eax
476136:	57                   	push   %edi
476137:	8b f9                	mov    %ecx,%edi
476139:	8d 04 40             	lea    (%eax,%eax,2),%eax
47613c:	c1 e0 02             	shl    $0x2,%eax
47613f:	89 45 08             	mov    %eax,0x8(%ebp)
476142:	85 c0                	test   %eax,%eax
476144:	75 05                	jne    0x47614b
476146:	5f                   	pop    %edi
476147:	5d                   	pop    %ebp
476148:	c2 04 00             	ret    $0x4
47614b:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
476151:	8d 4d 08             	lea    0x8(%ebp),%ecx
476154:	56                   	push   %esi
476155:	8d b7 8c 00 00 00    	lea    0x8c(%edi),%esi
47615b:	51                   	push   %ecx
47615c:	50                   	push   %eax
47615d:	3b 46 08             	cmp    0x8(%esi),%eax
476160:	74 1c                	je     0x47617e
476162:	56                   	push   %esi
476163:	e8 28 48 00 00       	call   0x47a990
476168:	83 c4 0c             	add    $0xc,%esp
47616b:	83 46 04 0c          	addl   $0xc,0x4(%esi)
47616f:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
476175:	5e                   	pop    %esi
476176:	8b 40 f4             	mov    -0xc(%eax),%eax
476179:	5f                   	pop    %edi
47617a:	5d                   	pop    %ebp
47617b:	c2 04 00             	ret    $0x4
47617e:	8b ce                	mov    %esi,%ecx
476180:	e8 1b 2a 00 00       	call   0x478ba0
476185:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
47618b:	5e                   	pop    %esi
47618c:	5f                   	pop    %edi
47618d:	8b 40 f4             	mov    -0xc(%eax),%eax
476190:	5d                   	pop    %ebp
476191:	c2 04 00             	ret    $0x4
476194:	cc                   	int3
476195:	cc                   	int3
476196:	cc                   	int3
476197:	cc                   	int3
476198:	cc                   	int3
476199:	cc                   	int3
47619a:	cc                   	int3
47619b:	cc                   	int3
47619c:	cc                   	int3
47619d:	cc                   	int3
47619e:	cc                   	int3
47619f:	cc                   	int3
4761a0:	55                   	push   %ebp
4761a1:	8b ec                	mov    %esp,%ebp
4761a3:	6b 45 08 5c          	imul   $0x5c,0x8(%ebp),%eax
4761a7:	57                   	push   %edi
4761a8:	8b 79 04             	mov    0x4(%ecx),%edi
4761ab:	89 45 08             	mov    %eax,0x8(%ebp)
4761ae:	85 c0                	test   %eax,%eax
4761b0:	75 0e                	jne    0x4761c0
4761b2:	8b 45 0c             	mov    0xc(%ebp),%eax
4761b5:	5f                   	pop    %edi
4761b6:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4761bc:	5d                   	pop    %ebp
4761bd:	c2 08 00             	ret    $0x8
4761c0:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
4761c6:	8d 4d 08             	lea    0x8(%ebp),%ecx
4761c9:	56                   	push   %esi
4761ca:	8d b7 8c 00 00 00    	lea    0x8c(%edi),%esi
4761d0:	51                   	push   %ecx
4761d1:	50                   	push   %eax
4761d2:	3b 46 08             	cmp    0x8(%esi),%eax
4761d5:	74 21                	je     0x4761f8
4761d7:	56                   	push   %esi
4761d8:	e8 b3 47 00 00       	call   0x47a990
4761dd:	83 c4 0c             	add    $0xc,%esp
4761e0:	83 46 04 0c          	addl   $0xc,0x4(%esi)
4761e4:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
4761ea:	5e                   	pop    %esi
4761eb:	8b 48 f4             	mov    -0xc(%eax),%ecx
4761ee:	8b 45 0c             	mov    0xc(%ebp),%eax
4761f1:	5f                   	pop    %edi
4761f2:	89 08                	mov    %ecx,(%eax)
4761f4:	5d                   	pop    %ebp
4761f5:	c2 08 00             	ret    $0x8
4761f8:	8b ce                	mov    %esi,%ecx
4761fa:	e8 a1 29 00 00       	call   0x478ba0
4761ff:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
476205:	5e                   	pop    %esi
476206:	5f                   	pop    %edi
476207:	8b 48 f4             	mov    -0xc(%eax),%ecx
47620a:	8b 45 0c             	mov    0xc(%ebp),%eax
47620d:	89 08                	mov    %ecx,(%eax)
47620f:	5d                   	pop    %ebp
476210:	c2 08 00             	ret    $0x8
476213:	cc                   	int3
476214:	cc                   	int3
476215:	cc                   	int3
476216:	cc                   	int3
476217:	cc                   	int3
476218:	cc                   	int3
476219:	cc                   	int3
47621a:	cc                   	int3
47621b:	cc                   	int3
47621c:	cc                   	int3
47621d:	cc                   	int3
47621e:	cc                   	int3
47621f:	cc                   	int3
476220:	55                   	push   %ebp
476221:	8b ec                	mov    %esp,%ebp
476223:	8b 45 08             	mov    0x8(%ebp),%eax
476226:	57                   	push   %edi
476227:	8b f9                	mov    %ecx,%edi
476229:	8d 04 40             	lea    (%eax,%eax,2),%eax
47622c:	c1 e0 04             	shl    $0x4,%eax
47622f:	89 45 08             	mov    %eax,0x8(%ebp)
476232:	85 c0                	test   %eax,%eax
476234:	75 05                	jne    0x47623b
476236:	5f                   	pop    %edi
476237:	5d                   	pop    %ebp
476238:	c2 04 00             	ret    $0x4
47623b:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
476241:	8d 4d 08             	lea    0x8(%ebp),%ecx
476244:	56                   	push   %esi
476245:	8d b7 8c 00 00 00    	lea    0x8c(%edi),%esi
47624b:	51                   	push   %ecx
47624c:	50                   	push   %eax
47624d:	3b 46 08             	cmp    0x8(%esi),%eax
476250:	74 1c                	je     0x47626e
476252:	56                   	push   %esi
476253:	e8 38 47 00 00       	call   0x47a990
476258:	83 c4 0c             	add    $0xc,%esp
47625b:	83 46 04 0c          	addl   $0xc,0x4(%esi)
47625f:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
476265:	5e                   	pop    %esi
476266:	8b 40 f4             	mov    -0xc(%eax),%eax
476269:	5f                   	pop    %edi
47626a:	5d                   	pop    %ebp
47626b:	c2 04 00             	ret    $0x4
47626e:	8b ce                	mov    %esi,%ecx
476270:	e8 2b 29 00 00       	call   0x478ba0
476275:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
47627b:	5e                   	pop    %esi
47627c:	5f                   	pop    %edi
47627d:	8b 40 f4             	mov    -0xc(%eax),%eax
476280:	5d                   	pop    %ebp
476281:	c2 04 00             	ret    $0x4
476284:	cc                   	int3
476285:	cc                   	int3
476286:	cc                   	int3
476287:	cc                   	int3
476288:	cc                   	int3
476289:	cc                   	int3
47628a:	cc                   	int3
47628b:	cc                   	int3
47628c:	cc                   	int3
47628d:	cc                   	int3
47628e:	cc                   	int3
47628f:	cc                   	int3
476290:	55                   	push   %ebp
476291:	8b ec                	mov    %esp,%ebp
476293:	8b 45 08             	mov    0x8(%ebp),%eax
476296:	57                   	push   %edi
476297:	8b f9                	mov    %ecx,%edi
476299:	8d 04 80             	lea    (%eax,%eax,4),%eax
47629c:	c1 e0 02             	shl    $0x2,%eax
47629f:	89 45 08             	mov    %eax,0x8(%ebp)
4762a2:	85 c0                	test   %eax,%eax
4762a4:	75 05                	jne    0x4762ab
4762a6:	5f                   	pop    %edi
4762a7:	5d                   	pop    %ebp
4762a8:	c2 04 00             	ret    $0x4
4762ab:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
4762b1:	8d 4d 08             	lea    0x8(%ebp),%ecx
4762b4:	56                   	push   %esi
4762b5:	8d b7 8c 00 00 00    	lea    0x8c(%edi),%esi
4762bb:	51                   	push   %ecx
4762bc:	50                   	push   %eax
4762bd:	3b 46 08             	cmp    0x8(%esi),%eax
4762c0:	74 1c                	je     0x4762de
4762c2:	56                   	push   %esi
4762c3:	e8 c8 46 00 00       	call   0x47a990
4762c8:	83 c4 0c             	add    $0xc,%esp
4762cb:	83 46 04 0c          	addl   $0xc,0x4(%esi)
4762cf:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
4762d5:	5e                   	pop    %esi
4762d6:	8b 40 f4             	mov    -0xc(%eax),%eax
4762d9:	5f                   	pop    %edi
4762da:	5d                   	pop    %ebp
4762db:	c2 04 00             	ret    $0x4
4762de:	8b ce                	mov    %esi,%ecx
4762e0:	e8 bb 28 00 00       	call   0x478ba0
4762e5:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
4762eb:	5e                   	pop    %esi
4762ec:	5f                   	pop    %edi
4762ed:	8b 40 f4             	mov    -0xc(%eax),%eax
4762f0:	5d                   	pop    %ebp
4762f1:	c2 04 00             	ret    $0x4
4762f4:	cc                   	int3
4762f5:	cc                   	int3
4762f6:	cc                   	int3
4762f7:	cc                   	int3
4762f8:	cc                   	int3
4762f9:	cc                   	int3
4762fa:	cc                   	int3
4762fb:	cc                   	int3
4762fc:	cc                   	int3
4762fd:	cc                   	int3
4762fe:	cc                   	int3
4762ff:	cc                   	int3
476300:	55                   	push   %ebp
476301:	8b ec                	mov    %esp,%ebp
476303:	6b 45 08 58          	imul   $0x58,0x8(%ebp),%eax
476307:	57                   	push   %edi
476308:	8b 79 04             	mov    0x4(%ecx),%edi
47630b:	89 45 08             	mov    %eax,0x8(%ebp)
47630e:	85 c0                	test   %eax,%eax
476310:	75 0e                	jne    0x476320
476312:	8b 45 0c             	mov    0xc(%ebp),%eax
476315:	5f                   	pop    %edi
476316:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
47631c:	5d                   	pop    %ebp
47631d:	c2 08 00             	ret    $0x8
476320:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
476326:	8d 4d 08             	lea    0x8(%ebp),%ecx
476329:	56                   	push   %esi
47632a:	8d b7 8c 00 00 00    	lea    0x8c(%edi),%esi
476330:	51                   	push   %ecx
476331:	50                   	push   %eax
476332:	3b 46 08             	cmp    0x8(%esi),%eax
476335:	74 21                	je     0x476358
476337:	56                   	push   %esi
476338:	e8 53 46 00 00       	call   0x47a990
47633d:	83 c4 0c             	add    $0xc,%esp
476340:	83 46 04 0c          	addl   $0xc,0x4(%esi)
476344:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
47634a:	5e                   	pop    %esi
47634b:	8b 48 f4             	mov    -0xc(%eax),%ecx
47634e:	8b 45 0c             	mov    0xc(%ebp),%eax