476351:	5f                   	pop    %edi
476352:	89 08                	mov    %ecx,(%eax)
476354:	5d                   	pop    %ebp
476355:	c2 08 00             	ret    $0x8
476358:	8b ce                	mov    %esi,%ecx
47635a:	e8 41 28 00 00       	call   0x478ba0
47635f:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
476365:	5e                   	pop    %esi
476366:	5f                   	pop    %edi
476367:	8b 48 f4             	mov    -0xc(%eax),%ecx
47636a:	8b 45 0c             	mov    0xc(%ebp),%eax
47636d:	89 08                	mov    %ecx,(%eax)
47636f:	5d                   	pop    %ebp
476370:	c2 08 00             	ret    $0x8
476373:	cc                   	int3
476374:	cc                   	int3
476375:	cc                   	int3
476376:	cc                   	int3
476377:	cc                   	int3
476378:	cc                   	int3
476379:	cc                   	int3
47637a:	cc                   	int3
47637b:	cc                   	int3
47637c:	cc                   	int3
47637d:	cc                   	int3
47637e:	cc                   	int3
47637f:	cc                   	int3
476380:	55                   	push   %ebp
476381:	8b ec                	mov    %esp,%ebp
476383:	6a ff                	push   $0xffffffff
476385:	68 cd 94 5f 00       	push   $0x5f94cd
47638a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
476390:	50                   	push   %eax
476391:	83 ec 10             	sub    $0x10,%esp
476394:	53                   	push   %ebx
476395:	56                   	push   %esi
476396:	57                   	push   %edi
476397:	a1 c0 14 69 00       	mov    0x6914c0,%eax
47639c:	33 c5                	xor    %ebp,%eax
47639e:	50                   	push   %eax
47639f:	8d 45 f4             	lea    -0xc(%ebp),%eax
4763a2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4763a8:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4763ab:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
4763b2:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4763b9:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
4763c0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4763c3:	8d 45 0c             	lea    0xc(%ebp),%eax
4763c6:	50                   	push   %eax
4763c7:	6a 00                	push   $0x0
4763c9:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4763cc:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4763d3:	8b 73 08             	mov    0x8(%ebx),%esi
4763d6:	c7 45 0c 06 00 00 00 	movl   $0x6,0xc(%ebp)
4763dd:	e8 ae b8 fe ff       	call   0x461c90
4763e2:	8b 46 08             	mov    0x8(%esi),%eax
4763e5:	8b 7d ec             	mov    -0x14(%ebp),%edi
4763e8:	2b 70 4c             	sub    0x4c(%eax),%esi
4763eb:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
4763f0:	f7 ee                	imul   %esi
4763f2:	8b 75 e8             	mov    -0x18(%ebp),%esi
4763f5:	c1 fa 02             	sar    $0x2,%edx
4763f8:	8b c2                	mov    %edx,%eax
4763fa:	c1 e8 1f             	shr    $0x1f,%eax
4763fd:	03 c2                	add    %edx,%eax
4763ff:	89 45 0c             	mov    %eax,0xc(%ebp)
476402:	3b f7                	cmp    %edi,%esi
476404:	74 0a                	je     0x476410
476406:	89 06                	mov    %eax,(%esi)
476408:	83 c6 04             	add    $0x4,%esi
47640b:	89 75 e8             	mov    %esi,-0x18(%ebp)
47640e:	eb 13                	jmp    0x476423
476410:	8d 45 0c             	lea    0xc(%ebp),%eax
476413:	50                   	push   %eax
476414:	56                   	push   %esi
476415:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
476418:	e8 73 b8 fe ff       	call   0x461c90
47641d:	8b 7d ec             	mov    -0x14(%ebp),%edi
476420:	8b 75 e8             	mov    -0x18(%ebp),%esi
476423:	c7 45 0c 02 00 00 00 	movl   $0x2,0xc(%ebp)
47642a:	3b f7                	cmp    %edi,%esi
47642c:	74 0e                	je     0x47643c
47642e:	c7 06 02 00 00 00    	movl   $0x2,(%esi)
476434:	83 c6 04             	add    $0x4,%esi
476437:	89 75 e8             	mov    %esi,-0x18(%ebp)
47643a:	eb 13                	jmp    0x47644f
47643c:	8d 45 0c             	lea    0xc(%ebp),%eax
47643f:	50                   	push   %eax
476440:	56                   	push   %esi
476441:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
476444:	e8 47 b8 fe ff       	call   0x461c90
476449:	8b 7d ec             	mov    -0x14(%ebp),%edi
47644c:	8b 75 e8             	mov    -0x18(%ebp),%esi
47644f:	8b 43 08             	mov    0x8(%ebx),%eax
476452:	8b cb                	mov    %ebx,%ecx
476454:	2b 48 10             	sub    0x10(%eax),%ecx
476457:	b8 4f ec c4 4e       	mov    $0x4ec4ec4f,%eax
47645c:	f7 e9                	imul   %ecx
47645e:	c1 fa 04             	sar    $0x4,%edx
476461:	8b c2                	mov    %edx,%eax
476463:	c1 e8 1f             	shr    $0x1f,%eax
476466:	03 c2                	add    %edx,%eax
476468:	89 45 0c             	mov    %eax,0xc(%ebp)
47646b:	3b f7                	cmp    %edi,%esi
47646d:	74 0a                	je     0x476479
47646f:	89 06                	mov    %eax,(%esi)
476471:	83 c6 04             	add    $0x4,%esi
476474:	89 75 e8             	mov    %esi,-0x18(%ebp)
476477:	eb 13                	jmp    0x47648c
476479:	8d 45 0c             	lea    0xc(%ebp),%eax
47647c:	50                   	push   %eax
47647d:	56                   	push   %esi
47647e:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
476481:	e8 0a b8 fe ff       	call   0x461c90
476486:	8b 7d ec             	mov    -0x14(%ebp),%edi
476489:	8b 75 e8             	mov    -0x18(%ebp),%esi
47648c:	3b f7                	cmp    %edi,%esi
47648e:	74 0d                	je     0x47649d
476490:	8b 45 10             	mov    0x10(%ebp),%eax
476493:	89 06                	mov    %eax,(%esi)
476495:	83 c6 04             	add    $0x4,%esi
476498:	89 75 e8             	mov    %esi,-0x18(%ebp)
47649b:	eb 0d                	jmp    0x4764aa
47649d:	8d 45 10             	lea    0x10(%ebp),%eax
4764a0:	50                   	push   %eax
4764a1:	56                   	push   %esi
4764a2:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4764a5:	e8 e6 b7 fe ff       	call   0x461c90
4764aa:	ff 75 14             	push   0x14(%ebp)
4764ad:	8b 43 04             	mov    0x4(%ebx),%eax
4764b0:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4764b3:	51                   	push   %ecx
4764b4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4764b7:	53                   	push   %ebx
4764b8:	ff 75 08             	push   0x8(%ebp)
4764bb:	50                   	push   %eax
4764bc:	50                   	push   %eax
4764bd:	e8 2e 17 00 00       	call   0x477bf0
4764c2:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4764c5:	85 d2                	test   %edx,%edx
4764c7:	74 2c                	je     0x4764f5
4764c9:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4764cc:	8b c2                	mov    %edx,%eax
4764ce:	2b ca                	sub    %edx,%ecx
4764d0:	83 e1 fc             	and    $0xfffffffc,%ecx
4764d3:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4764d9:	72 10                	jb     0x4764eb
4764db:	8b 52 fc             	mov    -0x4(%edx),%edx
4764de:	83 c1 23             	add    $0x23,%ecx
4764e1:	2b c2                	sub    %edx,%eax
4764e3:	83 c0 fc             	add    $0xfffffffc,%eax
4764e6:	83 f8 1f             	cmp    $0x1f,%eax
4764e9:	77 1e                	ja     0x476509
4764eb:	51                   	push   %ecx
4764ec:	52                   	push   %edx
4764ed:	e8 63 ad 15 00       	call   0x5d1255
4764f2:	83 c4 08             	add    $0x8,%esp
4764f5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4764f8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4764ff:	59                   	pop    %ecx
476500:	5f                   	pop    %edi
476501:	5e                   	pop    %esi
476502:	5b                   	pop    %ebx
476503:	8b e5                	mov    %ebp,%esp
476505:	5d                   	pop    %ebp
476506:	c2 10 00             	ret    $0x10
476509:	e8 e2 fc 15 00       	call   0x5d61f0
47650e:	cc                   	int3
47650f:	cc                   	int3
476510:	55                   	push   %ebp
476511:	8b ec                	mov    %esp,%ebp
476513:	6a ff                	push   $0xffffffff
476515:	68 7d a1 5f 00       	push   $0x5fa17d
47651a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
476520:	50                   	push   %eax
476521:	81 ec 98 00 00 00    	sub    $0x98,%esp
476527:	a1 c0 14 69 00       	mov    0x6914c0,%eax
47652c:	33 c5                	xor    %ebp,%eax
47652e:	89 45 f0             	mov    %eax,-0x10(%ebp)
476531:	53                   	push   %ebx
476532:	56                   	push   %esi
476533:	57                   	push   %edi
476534:	50                   	push   %eax
476535:	8d 45 f4             	lea    -0xc(%ebp),%eax
476538:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
47653e:	8b d9                	mov    %ecx,%ebx
476540:	89 9d 6c ff ff ff    	mov    %ebx,-0x94(%ebp)
476546:	8b 45 0c             	mov    0xc(%ebp),%eax
476549:	8b 7d 08             	mov    0x8(%ebp),%edi
47654c:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
476552:	8b 45 10             	mov    0x10(%ebp),%eax
476555:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
47655b:	8b 45 14             	mov    0x14(%ebp),%eax
47655e:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
476564:	8b 45 18             	mov    0x18(%ebp),%eax
476567:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
47656d:	8b 43 04             	mov    0x4(%ebx),%eax
476570:	6a 28                	push   $0x28
476572:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
476578:	e8 a8 ac 15 00       	call   0x5d1225
47657d:	8b f0                	mov    %eax,%esi
47657f:	83 c4 04             	add    $0x4,%esp
476582:	89 b5 68 ff ff ff    	mov    %esi,-0x98(%ebp)
476588:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
47658f:	85 f6                	test   %esi,%esi
476591:	74 11                	je     0x4765a4
476593:	6a 00                	push   $0x0
476595:	8b ce                	mov    %esi,%ecx
476597:	e8 34 2c 05 00       	call   0x4c91d0
47659c:	c7 06 84 c8 60 00    	movl   $0x60c884,(%esi)
4765a2:	eb 02                	jmp    0x4765a6
4765a4:	33 f6                	xor    %esi,%esi
4765a6:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
4765ac:	81 c1 a4 00 00 00    	add    $0xa4,%ecx
4765b2:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
4765b9:	89 b5 68 ff ff ff    	mov    %esi,-0x98(%ebp)
4765bf:	8b 41 04             	mov    0x4(%ecx),%eax
4765c2:	3b 41 08             	cmp    0x8(%ecx),%eax
4765c5:	74 08                	je     0x4765cf
4765c7:	89 30                	mov    %esi,(%eax)
4765c9:	83 41 04 04          	addl   $0x4,0x4(%ecx)
4765cd:	eb 0d                	jmp    0x4765dc
4765cf:	8d 95 68 ff ff ff    	lea    -0x98(%ebp),%edx
4765d5:	52                   	push   %edx
4765d6:	50                   	push   %eax
4765d7:	e8 44 29 00 00       	call   0x478f20
4765dc:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
4765e2:	e8 b9 20 04 00       	call   0x4b86a0
4765e7:	84 c0                	test   %al,%al
4765e9:	0f 85 ee 00 00 00    	jne    0x4766dd
4765ef:	8b 4f 10             	mov    0x10(%edi),%ecx
4765f2:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4765f7:	2b c1                	sub    %ecx,%eax
4765f9:	83 f8 01             	cmp    $0x1,%eax
4765fc:	0f 82 c2 02 00 00    	jb     0x4768c4
476602:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
476606:	8b c7                	mov    %edi,%eax
476608:	72 02                	jb     0x47660c
47660a:	8b 07                	mov    (%edi),%eax
47660c:	6a 01                	push   $0x1
47660e:	68 68 67 60 00       	push   $0x606768
476613:	51                   	push   %ecx
476614:	50                   	push   %eax
476615:	57                   	push   %edi
476616:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
47661c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
47661f:	e8 5c 55 00 00       	call   0x47bb80
476624:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
47662a:	8d 45 d8             	lea    -0x28(%ebp),%eax
47662d:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
476634:	50                   	push   %eax
476635:	8d 45 c0             	lea    -0x40(%ebp),%eax
476638:	50                   	push   %eax
476639:	e8 c2 f8 ff ff       	call   0x475f00
47663e:	83 c4 0c             	add    $0xc,%esp
476641:	68 bc a5 60 00       	push   $0x60a5bc
476646:	6a 07                	push   $0x7
476648:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
47664e:	8b cb                	mov    %ebx,%ecx
476650:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
476654:	50                   	push   %eax
476655:	e8 86 82 00 00       	call   0x47e8e0
47665a:	8b 55 d4             	mov    -0x2c(%ebp),%edx
47665d:	83 fa 10             	cmp    $0x10,%edx
476660:	72 2c                	jb     0x47668e
476662:	8b 4d c0             	mov    -0x40(%ebp),%ecx
476665:	42                   	inc    %edx
476666:	8b c1                	mov    %ecx,%eax
476668:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
47666e:	72 14                	jb     0x476684
476670:	8b 49 fc             	mov    -0x4(%ecx),%ecx
476673:	83 c2 23             	add    $0x23,%edx
476676:	2b c1                	sub    %ecx,%eax
476678:	83 c0 fc             	add    $0xfffffffc,%eax
47667b:	83 f8 1f             	cmp    $0x1f,%eax
47667e:	0f 87 45 02 00 00    	ja     0x4768c9
476684:	52                   	push   %edx
476685:	51                   	push   %ecx
476686:	e8 ca ab 15 00       	call   0x5d1255
47668b:	83 c4 08             	add    $0x8,%esp
47668e:	8b 55 ec             	mov    -0x14(%ebp),%edx
476691:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
476698:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
47669f:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
4766a3:	83 fa 10             	cmp    $0x10,%edx
4766a6:	0f 82 fa 01 00 00    	jb     0x4768a6
4766ac:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4766af:	42                   	inc    %edx
4766b0:	8b c1                	mov    %ecx,%eax
4766b2:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
4766b8:	72 14                	jb     0x4766ce
4766ba:	8b 49 fc             	mov    -0x4(%ecx),%ecx
4766bd:	83 c2 23             	add    $0x23,%edx
4766c0:	2b c1                	sub    %ecx,%eax
4766c2:	83 c0 fc             	add    $0xfffffffc,%eax
4766c5:	83 f8 1f             	cmp    $0x1f,%eax
4766c8:	0f 87 fb 01 00 00    	ja     0x4768c9
4766ce:	52                   	push   %edx
4766cf:	51                   	push   %ecx
4766d0:	e8 80 ab 15 00       	call   0x5d1255
4766d5:	83 c4 08             	add    $0x8,%esp
4766d8:	e9 c9 01 00 00       	jmp    0x4768a6
4766dd:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
4766e3:	8d 45 d8             	lea    -0x28(%ebp),%eax
4766e6:	50                   	push   %eax
4766e7:	e8 c4 5f fe ff       	call   0x45c6b0
4766ec:	50                   	push   %eax
4766ed:	8b ce                	mov    %esi,%ecx
4766ef:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
4766f6:	e8 15 5f fe ff       	call   0x45c610
4766fb:	8b 55 ec             	mov    -0x14(%ebp),%edx
4766fe:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
476705:	83 fa 10             	cmp    $0x10,%edx
476708:	72 2c                	jb     0x476736
47670a:	8b 4d d8             	mov    -0x28(%ebp),%ecx
47670d:	42                   	inc    %edx
47670e:	8b c1                	mov    %ecx,%eax
476710:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
476716:	72 14                	jb     0x47672c
476718:	8b 49 fc             	mov    -0x4(%ecx),%ecx
47671b:	83 c2 23             	add    $0x23,%edx
47671e:	2b c1                	sub    %ecx,%eax
476720:	83 c0 fc             	add    $0xfffffffc,%eax
476723:	83 f8 1f             	cmp    $0x1f,%eax
476726:	0f 87 a2 01 00 00    	ja     0x4768ce
47672c:	52                   	push   %edx
47672d:	51                   	push   %ecx
47672e:	e8 22 ab 15 00       	call   0x5d1255
476733:	83 c4 08             	add    $0x8,%esp
476736:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
47673c:	89 70 08             	mov    %esi,0x8(%eax)
47673f:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
476743:	0f 8e 81 00 00 00    	jle    0x4767ca
476749:	57                   	push   %edi
47674a:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
476750:	e8 cb ff fd ff       	call   0x456720
476755:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
47675b:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
47675e:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
476765:	e8 b6 ff fd ff       	call   0x456720
47676a:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
476770:	8d 4d ac             	lea    -0x54(%ebp),%ecx
476773:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
476777:	e8 34 57 00 00       	call   0x47beb0
47677c:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
476782:	89 45 b8             	mov    %eax,-0x48(%ebp)
476785:	89 75 bc             	mov    %esi,-0x44(%ebp)
476788:	8b 43 10             	mov    0x10(%ebx),%eax
47678b:	8d 73 0c             	lea    0xc(%ebx),%esi
47678e:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx