46b2bd:	89 4d f8             	mov    %ecx,-0x8(%ebp)
46b2c0:	3b 06                	cmp    (%esi),%eax
46b2c2:	72 08                	jb     0x46b2cc
46b2c4:	50                   	push   %eax
46b2c5:	8b ce                	mov    %esi,%ecx
46b2c7:	e8 a4 e2 fe ff       	call   0x459570
46b2cc:	50                   	push   %eax
46b2cd:	8d 04 fd 00 00 00 00 	lea    0x0(,%edi,8),%eax
46b2d4:	83 c8 02             	or     $0x2,%eax
46b2d7:	50                   	push   %eax
46b2d8:	e8 e3 57 fe ff       	call   0x450ac0
46b2dd:	8b 55 10             	mov    0x10(%ebp),%edx
46b2e0:	83 c4 08             	add    $0x8,%esp
46b2e3:	81 fa 80 00 00 00    	cmp    $0x80,%edx
46b2e9:	72 18                	jb     0x46b303
46b2eb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
46b2f0:	8a ca                	mov    %dl,%cl
46b2f2:	c1 ea 07             	shr    $0x7,%edx
46b2f5:	80 c9 80             	or     $0x80,%cl
46b2f8:	88 08                	mov    %cl,(%eax)
46b2fa:	40                   	inc    %eax
46b2fb:	81 fa 80 00 00 00    	cmp    $0x80,%edx
46b301:	73 ed                	jae    0x46b2f0
46b303:	8b cb                	mov    %ebx,%ecx
46b305:	88 10                	mov    %dl,(%eax)
46b307:	8d 78 01             	lea    0x1(%eax),%edi
46b30a:	e8 51 3e fe ff       	call   0x44f160
46b30f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46b312:	8b d8                	mov    %eax,%ebx
46b314:	e8 97 2c ff ff       	call   0x45dfb0
46b319:	8d 04 83             	lea    (%ebx,%eax,4),%eax
46b31c:	89 45 fc             	mov    %eax,-0x4(%ebp)
46b31f:	90                   	nop
46b320:	3b 3e                	cmp    (%esi),%edi
46b322:	72 0a                	jb     0x46b32e
46b324:	57                   	push   %edi
46b325:	8b ce                	mov    %esi,%ecx
46b327:	e8 44 e2 fe ff       	call   0x459570
46b32c:	8b f8                	mov    %eax,%edi
46b32e:	8b 03                	mov    (%ebx),%eax
46b330:	99                   	cltd
46b331:	52                   	push   %edx
46b332:	50                   	push   %eax
46b333:	ff 55 f8             	call   *-0x8(%ebp)
46b336:	83 c4 08             	add    $0x8,%esp
46b339:	8d 77 01             	lea    0x1(%edi),%esi
46b33c:	85 d2                	test   %edx,%edx
46b33e:	77 0f                	ja     0x46b34f
46b340:	72 07                	jb     0x46b349
46b342:	3d 80 00 00 00       	cmp    $0x80,%eax
46b347:	73 06                	jae    0x46b34f
46b349:	88 07                	mov    %al,(%edi)
46b34b:	8b fe                	mov    %esi,%edi
46b34d:	eb 45                	jmp    0x46b394
46b34f:	8a c8                	mov    %al,%cl
46b351:	0f ac d0 07          	shrd   $0x7,%edx,%eax
46b355:	80 c9 80             	or     $0x80,%cl
46b358:	c1 ea 07             	shr    $0x7,%edx
46b35b:	88 0f                	mov    %cl,(%edi)
46b35d:	85 d2                	test   %edx,%edx
46b35f:	77 0f                	ja     0x46b370
46b361:	72 07                	jb     0x46b36a
46b363:	3d 80 00 00 00       	cmp    $0x80,%eax
46b368:	73 06                	jae    0x46b370
46b36a:	83 c7 02             	add    $0x2,%edi
46b36d:	eb 23                	jmp    0x46b392
46b36f:	90                   	nop
46b370:	8a c8                	mov    %al,%cl
46b372:	8d 76 01             	lea    0x1(%esi),%esi
46b375:	0f ac d0 07          	shrd   $0x7,%edx,%eax
46b379:	80 c9 80             	or     $0x80,%cl
46b37c:	c1 ea 07             	shr    $0x7,%edx
46b37f:	88 4e ff             	mov    %cl,-0x1(%esi)
46b382:	85 d2                	test   %edx,%edx
46b384:	77 ea                	ja     0x46b370
46b386:	72 07                	jb     0x46b38f
46b388:	3d 80 00 00 00       	cmp    $0x80,%eax
46b38d:	73 e1                	jae    0x46b370
46b38f:	8d 7e 01             	lea    0x1(%esi),%edi
46b392:	88 06                	mov    %al,(%esi)
46b394:	8b 75 f4             	mov    -0xc(%ebp),%esi
46b397:	83 c3 04             	add    $0x4,%ebx
46b39a:	3b 5d fc             	cmp    -0x4(%ebp),%ebx
46b39d:	72 81                	jb     0x46b320
46b39f:	8b c7                	mov    %edi,%eax
46b3a1:	5f                   	pop    %edi
46b3a2:	5e                   	pop    %esi
46b3a3:	5b                   	pop    %ebx
46b3a4:	8b e5                	mov    %ebp,%esp
46b3a6:	5d                   	pop    %ebp
46b3a7:	c2 14 00             	ret    $0x14
46b3aa:	cc                   	int3
46b3ab:	cc                   	int3
46b3ac:	cc                   	int3
46b3ad:	cc                   	int3
46b3ae:	cc                   	int3
46b3af:	cc                   	int3
46b3b0:	55                   	push   %ebp
46b3b1:	8b ec                	mov    %esp,%ebp
46b3b3:	8b 45 14             	mov    0x14(%ebp),%eax
46b3b6:	2b 45 30             	sub    0x30(%ebp),%eax
46b3b9:	8b 4d 34             	mov    0x34(%ebp),%ecx
46b3bc:	8b 55 20             	mov    0x20(%ebp),%edx
46b3bf:	53                   	push   %ebx
46b3c0:	56                   	push   %esi
46b3c1:	8b 75 2c             	mov    0x2c(%ebp),%esi
46b3c4:	57                   	push   %edi
46b3c5:	89 45 14             	mov    %eax,0x14(%ebp)
46b3c8:	75 0a                	jne    0x46b3d4
46b3ca:	8b 5d 28             	mov    0x28(%ebp),%ebx
46b3cd:	8b fe                	mov    %esi,%edi
46b3cf:	e9 c1 00 00 00       	jmp    0x46b495
46b3d4:	85 c9                	test   %ecx,%ecx
46b3d6:	75 0a                	jne    0x46b3e2
46b3d8:	8b 5d 28             	mov    0x28(%ebp),%ebx
46b3db:	8b fb                	mov    %ebx,%edi
46b3dd:	e9 b3 00 00 00       	jmp    0x46b495
46b3e2:	3b c1                	cmp    %ecx,%eax
46b3e4:	7f 3c                	jg     0x46b422
46b3e6:	3b c2                	cmp    %edx,%eax
46b3e8:	7f 38                	jg     0x46b422
46b3ea:	8b 7d 0c             	mov    0xc(%ebp),%edi
46b3ed:	8b df                	mov    %edi,%ebx
46b3ef:	8b 45 28             	mov    0x28(%ebp),%eax
46b3f2:	2b d8                	sub    %eax,%ebx
46b3f4:	53                   	push   %ebx
46b3f5:	50                   	push   %eax
46b3f6:	ff 75 1c             	push   0x1c(%ebp)
46b3f9:	e8 d2 79 16 00       	call   0x5d2dd0
46b3fe:	2b f7                	sub    %edi,%esi
46b400:	56                   	push   %esi
46b401:	57                   	push   %edi
46b402:	8b 7d 28             	mov    0x28(%ebp),%edi
46b405:	57                   	push   %edi
46b406:	e8 c5 79 16 00       	call   0x5d2dd0
46b40b:	53                   	push   %ebx
46b40c:	ff 75 1c             	push   0x1c(%ebp)
46b40f:	03 fe                	add    %esi,%edi
46b411:	57                   	push   %edi
46b412:	e8 b9 79 16 00       	call   0x5d2dd0
46b417:	8b 5d 28             	mov    0x28(%ebp),%ebx
46b41a:	83 c4 24             	add    $0x24,%esp
46b41d:	8b 75 2c             	mov    0x2c(%ebp),%esi
46b420:	eb 73                	jmp    0x46b495
46b422:	3b ca                	cmp    %edx,%ecx
46b424:	7f 37                	jg     0x46b45d
46b426:	8b fe                	mov    %esi,%edi
46b428:	8b 75 0c             	mov    0xc(%ebp),%esi
46b42b:	2b fe                	sub    %esi,%edi
46b42d:	57                   	push   %edi
46b42e:	56                   	push   %esi
46b42f:	ff 75 1c             	push   0x1c(%ebp)
46b432:	e8 99 79 16 00       	call   0x5d2dd0
46b437:	8b 5d 28             	mov    0x28(%ebp),%ebx
46b43a:	2b f3                	sub    %ebx,%esi
46b43c:	8b 45 2c             	mov    0x2c(%ebp),%eax
46b43f:	56                   	push   %esi
46b440:	2b c6                	sub    %esi,%eax
46b442:	53                   	push   %ebx
46b443:	50                   	push   %eax
46b444:	e8 87 79 16 00       	call   0x5d2dd0
46b449:	57                   	push   %edi
46b44a:	ff 75 1c             	push   0x1c(%ebp)
46b44d:	53                   	push   %ebx
46b44e:	e8 7d 79 16 00       	call   0x5d2dd0
46b453:	8b 75 2c             	mov    0x2c(%ebp),%esi
46b456:	83 c4 24             	add    $0x24,%esp
46b459:	03 fb                	add    %ebx,%edi
46b45b:	eb 38                	jmp    0x46b495
46b45d:	8b 7d 0c             	mov    0xc(%ebp),%edi
46b460:	8b 5d 28             	mov    0x28(%ebp),%ebx
46b463:	3b df                	cmp    %edi,%ebx
46b465:	75 04                	jne    0x46b46b
46b467:	8b fe                	mov    %esi,%edi
46b469:	eb 2a                	jmp    0x46b495
46b46b:	3b fe                	cmp    %esi,%edi
46b46d:	0f 84 68 ff ff ff    	je     0x46b3db
46b473:	57                   	push   %edi
46b474:	53                   	push   %ebx
46b475:	e8 16 5a 16 00       	call   0x5d0e90
46b47a:	56                   	push   %esi
46b47b:	57                   	push   %edi
46b47c:	e8 0f 5a 16 00       	call   0x5d0e90
46b481:	56                   	push   %esi
46b482:	53                   	push   %ebx
46b483:	e8 08 5a 16 00       	call   0x5d0e90
46b488:	8b c6                	mov    %esi,%eax
46b48a:	83 c4 18             	add    $0x18,%esp
46b48d:	2b c7                	sub    %edi,%eax
46b48f:	c1 f8 02             	sar    $0x2,%eax
46b492:	8d 3c 83             	lea    (%ebx,%eax,4),%edi
46b495:	ff 75 24             	push   0x24(%ebp)
46b498:	ff 75 20             	push   0x20(%ebp)
46b49b:	ff 75 1c             	push   0x1c(%ebp)
46b49e:	ff 75 34             	push   0x34(%ebp)
46b4a1:	ff 75 30             	push   0x30(%ebp)
46b4a4:	57                   	push   %edi
46b4a5:	53                   	push   %ebx
46b4a6:	ff 75 08             	push   0x8(%ebp)
46b4a9:	e8 32 00 00 00       	call   0x46b4e0
46b4ae:	ff 75 24             	push   0x24(%ebp)
46b4b1:	8b 45 18             	mov    0x18(%ebp),%eax
46b4b4:	ff 75 20             	push   0x20(%ebp)
46b4b7:	2b 45 34             	sub    0x34(%ebp),%eax
46b4ba:	ff 75 1c             	push   0x1c(%ebp)
46b4bd:	50                   	push   %eax
46b4be:	ff 75 14             	push   0x14(%ebp)
46b4c1:	ff 75 10             	push   0x10(%ebp)
46b4c4:	56                   	push   %esi
46b4c5:	57                   	push   %edi
46b4c6:	e8 15 00 00 00       	call   0x46b4e0
46b4cb:	83 c4 40             	add    $0x40,%esp
46b4ce:	5f                   	pop    %edi
46b4cf:	5e                   	pop    %esi
46b4d0:	5b                   	pop    %ebx
46b4d1:	5d                   	pop    %ebp
46b4d2:	c3                   	ret
46b4d3:	cc                   	int3
46b4d4:	cc                   	int3
46b4d5:	cc                   	int3
46b4d6:	cc                   	int3
46b4d7:	cc                   	int3
46b4d8:	cc                   	int3
46b4d9:	cc                   	int3
46b4da:	cc                   	int3
46b4db:	cc                   	int3
46b4dc:	cc                   	int3
46b4dd:	cc                   	int3
46b4de:	cc                   	int3
46b4df:	cc                   	int3
46b4e0:	55                   	push   %ebp
46b4e1:	8b ec                	mov    %esp,%ebp
46b4e3:	51                   	push   %ecx
46b4e4:	53                   	push   %ebx
46b4e5:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46b4e8:	3b 5d 10             	cmp    0x10(%ebp),%ebx
46b4eb:	0f 84 b8 00 00 00    	je     0x46b5a9
46b4f1:	56                   	push   %esi
46b4f2:	8b 75 08             	mov    0x8(%ebp),%esi
46b4f5:	3b f3                	cmp    %ebx,%esi
46b4f7:	0f 84 ab 00 00 00    	je     0x46b5a8
46b4fd:	57                   	push   %edi
46b4fe:	8b 7d 14             	mov    0x14(%ebp),%edi
46b501:	ff 36                	push   (%esi)
46b503:	8d 4d 24             	lea    0x24(%ebp),%ecx
46b506:	ff 33                	push   (%ebx)
46b508:	e8 b3 38 00 00       	call   0x46edc0
46b50d:	84 c0                	test   %al,%al
46b50f:	75 0f                	jne    0x46b520
46b511:	83 c6 04             	add    $0x4,%esi
46b514:	4f                   	dec    %edi
46b515:	3b f3                	cmp    %ebx,%esi
46b517:	75 e8                	jne    0x46b501
46b519:	5f                   	pop    %edi
46b51a:	5e                   	pop    %esi
46b51b:	5b                   	pop    %ebx
46b51c:	8b e5                	mov    %ebp,%esp
46b51e:	5d                   	pop    %ebp
46b51f:	c3                   	ret
46b520:	8b 45 10             	mov    0x10(%ebp),%eax
46b523:	8b 4d 18             	mov    0x18(%ebp),%ecx
46b526:	89 45 0c             	mov    %eax,0xc(%ebp)
46b529:	83 e8 04             	sub    $0x4,%eax
46b52c:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46b52f:	49                   	dec    %ecx
46b530:	89 45 10             	mov    %eax,0x10(%ebp)
46b533:	89 4d 18             	mov    %ecx,0x18(%ebp)
46b536:	3b d8                	cmp    %eax,%ebx
46b538:	74 57                	je     0x46b591
46b53a:	ff 73 fc             	push   -0x4(%ebx)
46b53d:	8d 4d 24             	lea    0x24(%ebp),%ecx
46b540:	ff 30                	push   (%eax)
46b542:	e8 79 38 00 00       	call   0x46edc0
46b547:	84 c0                	test   %al,%al
46b549:	74 d5                	je     0x46b520
46b54b:	8b 45 0c             	mov    0xc(%ebp),%eax
46b54e:	83 ff 01             	cmp    $0x1,%edi
46b551:	75 1f                	jne    0x46b572
46b553:	8b 3e                	mov    (%esi),%edi
46b555:	2b c3                	sub    %ebx,%eax
46b557:	50                   	push   %eax
46b558:	53                   	push   %ebx
46b559:	56                   	push   %esi
46b55a:	89 45 0c             	mov    %eax,0xc(%ebp)
46b55d:	e8 6e 78 16 00       	call   0x5d2dd0
46b562:	8b 45 0c             	mov    0xc(%ebp),%eax
46b565:	83 c4 0c             	add    $0xc,%esp
46b568:	89 3c 30             	mov    %edi,(%eax,%esi,1)
46b56b:	5f                   	pop    %edi
46b56c:	5e                   	pop    %esi
46b56d:	5b                   	pop    %ebx
46b56e:	8b e5                	mov    %ebp,%esp
46b570:	5d                   	pop    %ebp
46b571:	c3                   	ret
46b572:	ff 75 24             	push   0x24(%ebp)
46b575:	ff 75 20             	push   0x20(%ebp)
46b578:	ff 75 1c             	push   0x1c(%ebp)
46b57b:	ff 75 fc             	push   -0x4(%ebp)
46b57e:	57                   	push   %edi
46b57f:	50                   	push   %eax
46b580:	53                   	push   %ebx
46b581:	56                   	push   %esi
46b582:	e8 29 00 00 00       	call   0x46b5b0
46b587:	83 c4 20             	add    $0x20,%esp
46b58a:	5f                   	pop    %edi
46b58b:	5e                   	pop    %esi
46b58c:	5b                   	pop    %ebx
46b58d:	8b e5                	mov    %ebp,%esp
46b58f:	5d                   	pop    %ebp
46b590:	c3                   	ret
46b591:	8b 3b                	mov    (%ebx),%edi
46b593:	2b de                	sub    %esi,%ebx
46b595:	53                   	push   %ebx
46b596:	2b c3                	sub    %ebx,%eax
46b598:	83 c0 04             	add    $0x4,%eax
46b59b:	56                   	push   %esi
46b59c:	50                   	push   %eax
46b59d:	e8 2e 78 16 00       	call   0x5d2dd0
46b5a2:	83 c4 0c             	add    $0xc,%esp
46b5a5:	89 3e                	mov    %edi,(%esi)
46b5a7:	5f                   	pop    %edi
46b5a8:	5e                   	pop    %esi
46b5a9:	5b                   	pop    %ebx
46b5aa:	8b e5                	mov    %ebp,%esp
46b5ac:	5d                   	pop    %ebp
46b5ad:	c3                   	ret
46b5ae:	cc                   	int3
46b5af:	cc                   	int3
46b5b0:	55                   	push   %ebp
46b5b1:	8b ec                	mov    %esp,%ebp
46b5b3:	51                   	push   %ecx
46b5b4:	8b 45 14             	mov    0x14(%ebp),%eax
46b5b7:	8b 4d 18             	mov    0x18(%ebp),%ecx
46b5ba:	8b 55 20             	mov    0x20(%ebp),%edx
46b5bd:	53                   	push   %ebx
46b5be:	56                   	push   %esi
46b5bf:	57                   	push   %edi
46b5c0:	3b c1                	cmp    %ecx,%eax
46b5c2:	0f 8f af 00 00 00    	jg     0x46b677
46b5c8:	3b c2                	cmp    %edx,%eax
46b5ca:	0f 8f a7 00 00 00    	jg     0x46b677
46b5d0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46b5d3:	8b f3                	mov    %ebx,%esi
46b5d5:	8b 7d 08             	mov    0x8(%ebp),%edi
46b5d8:	2b f7                	sub    %edi,%esi
46b5da:	8b 45 24             	mov    0x24(%ebp),%eax
46b5dd:	56                   	push   %esi
46b5de:	57                   	push   %edi
46b5df:	ff 75 1c             	push   0x1c(%ebp)
46b5e2:	89 45 fc             	mov    %eax,-0x4(%ebp)