58d2b4:	0f 85 61 ff ff ff    	jne    0x58d21b
58d2ba:	c7 44 24 1c b8 82 6b 	movl   $0x6b82b8,0x1c(%esp)
58d2c1:	00
58d2c2:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
58d2c9:	00
58d2ca:	c7 44 24 18 e0 6a 6c 	movl   $0x6c6ae0,0x18(%esp)
58d2d1:	00
58d2d2:	c7 44 24 10 03 00 00 	movl   $0x3,0x10(%esp)
58d2d9:	00
58d2da:	f7 c1 00 00 80 00    	test   $0x800000,%ecx
58d2e0:	74 12                	je     0x58d2f4
58d2e2:	c7 44 24 30 ec 6a 6c 	movl   $0x6c6aec,0x30(%esp)
58d2e9:	00
58d2ea:	c7 44 24 28 03 00 00 	movl   $0x3,0x28(%esp)
58d2f1:	00
58d2f2:	eb 10                	jmp    0x58d304
58d2f4:	c7 44 24 30 74 ba 6b 	movl   $0x6bba74,0x30(%esp)
58d2fb:	00
58d2fc:	c7 44 24 28 01 00 00 	movl   $0x1,0x28(%esp)
58d303:	00
58d304:	8b 74 24 3c          	mov    0x3c(%esp),%esi
58d308:	81 e1 00 00 60 00    	and    $0x600000,%ecx
58d30e:	56                   	push   %esi
58d30f:	89 4c 24 44          	mov    %ecx,0x44(%esp)
58d313:	e8 e8 08 00 00       	call   0x58dc00
58d318:	8b c8                	mov    %eax,%ecx
58d31a:	83 c4 04             	add    $0x4,%esp
58d31d:	33 c0                	xor    %eax,%eax
58d31f:	89 4c 24 48          	mov    %ecx,0x48(%esp)
58d323:	89 44 24 34          	mov    %eax,0x34(%esp)
58d327:	85 c9                	test   %ecx,%ecx
58d329:	0f 8e f8 01 00 00    	jle    0x58d527
58d32f:	8b 94 24 b8 00 00 00 	mov    0xb8(%esp),%edx
58d336:	81 e2 00 00 10 00    	and    $0x100000,%edx
58d33c:	49                   	dec    %ecx
58d33d:	89 54 24 4c          	mov    %edx,0x4c(%esp)
58d341:	89 4c 24 38          	mov    %ecx,0x38(%esp)
58d345:	85 d2                	test   %edx,%edx
58d347:	74 03                	je     0x58d34c
58d349:	51                   	push   %ecx
58d34a:	eb 01                	jmp    0x58d34d
58d34c:	50                   	push   %eax
58d34d:	56                   	push   %esi
58d34e:	e8 cd 08 00 00       	call   0x58dc20
58d353:	8b f0                	mov    %eax,%esi
58d355:	83 c4 08             	add    $0x8,%esp
58d358:	8b 44 24 2c          	mov    0x2c(%esp),%eax
58d35c:	83 f8 ff             	cmp    $0xffffffff,%eax
58d35f:	74 5d                	je     0x58d3be
58d361:	3b 46 08             	cmp    0x8(%esi),%eax
58d364:	75 1c                	jne    0x58d382
58d366:	ff 74 24 10          	push   0x10(%esp)
58d36a:	ff 74 24 1c          	push   0x1c(%esp)
58d36e:	55                   	push   %ebp
58d36f:	ff d7                	call   *%edi
58d371:	83 c4 0c             	add    $0xc,%esp
58d374:	85 c0                	test   %eax,%eax
58d376:	0f 84 9f fe ff ff    	je     0x58d21b
58d37c:	03 5c 24 10          	add    0x10(%esp),%ebx
58d380:	eb 3c                	jmp    0x58d3be
58d382:	ff 74 24 14          	push   0x14(%esp)
58d386:	ff 74 24 20          	push   0x20(%esp)
58d38a:	55                   	push   %ebp
58d38b:	ff d7                	call   *%edi
58d38d:	83 c4 0c             	add    $0xc,%esp
58d390:	85 c0                	test   %eax,%eax
58d392:	0f 84 83 fe ff ff    	je     0x58d21b
58d398:	ff b4 24 b4 00 00 00 	push   0xb4(%esp)
58d39f:	55                   	push   %ebp
58d3a0:	57                   	push   %edi
58d3a1:	e8 ca fd ff ff       	call   0x58d170
58d3a6:	83 c4 0c             	add    $0xc,%esp
58d3a9:	85 c0                	test   %eax,%eax
58d3ab:	0f 84 6a fe ff ff    	je     0x58d21b
58d3b1:	8b 84 24 b4 00 00 00 	mov    0xb4(%esp),%eax
58d3b8:	03 44 24 14          	add    0x14(%esp),%eax
58d3bc:	03 d8                	add    %eax,%ebx
58d3be:	8b 46 08             	mov    0x8(%esi),%eax
58d3c1:	56                   	push   %esi
58d3c2:	89 44 24 30          	mov    %eax,0x30(%esp)
58d3c6:	e8 d5 40 f0 ff       	call   0x4914a0
58d3cb:	56                   	push   %esi
58d3cc:	8b f8                	mov    %eax,%edi
58d3ce:	e8 4d 05 00 00       	call   0x58d920
58d3d3:	57                   	push   %edi
58d3d4:	89 44 24 50          	mov    %eax,0x50(%esp)
58d3d8:	e8 03 a6 f1 ff       	call   0x4a79e0
58d3dd:	8b 74 24 4c          	mov    0x4c(%esp),%esi
58d3e1:	83 c4 0c             	add    $0xc,%esp
58d3e4:	8b e8                	mov    %eax,%ebp
58d3e6:	81 fe 00 00 60 00    	cmp    $0x600000,%esi
58d3ec:	0f 84 d1 00 00 00    	je     0x58d4c3
58d3f2:	81 fe 00 00 40 00    	cmp    $0x400000,%esi
58d3f8:	74 39                	je     0x58d433
58d3fa:	85 ed                	test   %ebp,%ebp
58d3fc:	74 35                	je     0x58d433
58d3fe:	85 f6                	test   %esi,%esi
58d400:	75 10                	jne    0x58d412
58d402:	55                   	push   %ebp
58d403:	8d 7e 0a             	lea    0xa(%esi),%edi
58d406:	e8 45 a5 f1 ff       	call   0x4a7950
58d40b:	83 c4 04             	add    $0x4,%esp
58d40e:	8b c8                	mov    %eax,%ecx
58d410:	eb 39                	jmp    0x58d44b
58d412:	81 fe 00 00 20 00    	cmp    $0x200000,%esi
58d418:	75 12                	jne    0x58d42c
58d41a:	55                   	push   %ebp
58d41b:	bf 19 00 00 00       	mov    $0x19,%edi
58d420:	e8 fb a3 f1 ff       	call   0x4a7820
58d425:	83 c4 04             	add    $0x4,%esp
58d428:	8b c8                	mov    %eax,%ecx
58d42a:	eb 1f                	jmp    0x58d44b
58d42c:	b9 ad 57 6e 00       	mov    $0x6e57ad,%ecx
58d431:	eb 16                	jmp    0x58d449
58d433:	6a 01                	push   $0x1
58d435:	57                   	push   %edi
58d436:	8d 44 24 58          	lea    0x58(%esp),%eax
58d43a:	6a 50                	push   $0x50
58d43c:	50                   	push   %eax
58d43d:	e8 5e a6 f1 ff       	call   0x4a7aa0
58d442:	83 c4 10             	add    $0x10,%esp
58d445:	8d 4c 24 50          	lea    0x50(%esp),%ecx
58d449:	33 ff                	xor    %edi,%edi
58d44b:	8b f1                	mov    %ecx,%esi
58d44d:	8d 56 01             	lea    0x1(%esi),%edx
58d450:	8a 06                	mov    (%esi),%al
58d452:	46                   	inc    %esi
58d453:	84 c0                	test   %al,%al
58d455:	75 f9                	jne    0x58d450
58d457:	2b f2                	sub    %edx,%esi
58d459:	56                   	push   %esi
58d45a:	51                   	push   %ecx
58d45b:	ff 74 24 2c          	push   0x2c(%esp)
58d45f:	ff 54 24 2c          	call   *0x2c(%esp)
58d463:	83 c4 0c             	add    $0xc,%esp
58d466:	85 c0                	test   %eax,%eax
58d468:	0f 84 ad fd ff ff    	je     0x58d21b
58d46e:	3b f7                	cmp    %edi,%esi
58d470:	7d 2a                	jge    0x58d49c
58d472:	f7 84 24 b8 00 00 00 	testl  $0x2000000,0xb8(%esp)
58d479:	00 00 00 02
58d47d:	74 1d                	je     0x58d49c
58d47f:	2b fe                	sub    %esi,%edi
58d481:	57                   	push   %edi
58d482:	ff 74 24 28          	push   0x28(%esp)
58d486:	ff 74 24 28          	push   0x28(%esp)
58d48a:	e8 e1 fc ff ff       	call   0x58d170
58d48f:	83 c4 0c             	add    $0xc,%esp
58d492:	85 c0                	test   %eax,%eax
58d494:	0f 84 81 fd ff ff    	je     0x58d21b
58d49a:	03 df                	add    %edi,%ebx
58d49c:	ff 74 24 28          	push   0x28(%esp)
58d4a0:	8b 7c 24 24          	mov    0x24(%esp),%edi
58d4a4:	ff 74 24 34          	push   0x34(%esp)
58d4a8:	ff 74 24 2c          	push   0x2c(%esp)
58d4ac:	ff d7                	call   *%edi
58d4ae:	83 c4 0c             	add    $0xc,%esp
58d4b1:	85 c0                	test   %eax,%eax
58d4b3:	0f 84 62 fd ff ff    	je     0x58d21b
58d4b9:	8b 44 24 28          	mov    0x28(%esp),%eax
58d4bd:	03 c6                	add    %esi,%eax
58d4bf:	03 d8                	add    %eax,%ebx
58d4c1:	eb 04                	jmp    0x58d4c7
58d4c3:	8b 7c 24 20          	mov    0x20(%esp),%edi
58d4c7:	8b 8c 24 b8 00 00 00 	mov    0xb8(%esp),%ecx
58d4ce:	85 ed                	test   %ebp,%ebp
58d4d0:	75 0f                	jne    0x58d4e1
58d4d2:	f7 c1 00 00 00 01    	test   $0x1000000,%ecx
58d4d8:	74 07                	je     0x58d4e1
58d4da:	b8 80 00 00 00       	mov    $0x80,%eax
58d4df:	eb 02                	jmp    0x58d4e3
58d4e1:	33 c0                	xor    %eax,%eax
58d4e3:	ff 74 24 44          	push   0x44(%esp)
58d4e7:	8b 6c 24 28          	mov    0x28(%esp),%ebp
58d4eb:	0b c1                	or     %ecx,%eax
58d4ed:	50                   	push   %eax
58d4ee:	55                   	push   %ebp
58d4ef:	57                   	push   %edi
58d4f0:	e8 5b 00 00 00       	call   0x58d550
58d4f5:	83 c4 10             	add    $0x10,%esp
58d4f8:	85 c0                	test   %eax,%eax
58d4fa:	0f 88 1b fd ff ff    	js     0x58d21b
58d500:	8b 4c 24 38          	mov    0x38(%esp),%ecx
58d504:	03 d8                	add    %eax,%ebx
58d506:	8b 44 24 34          	mov    0x34(%esp),%eax
58d50a:	49                   	dec    %ecx
58d50b:	40                   	inc    %eax
58d50c:	89 4c 24 38          	mov    %ecx,0x38(%esp)
58d510:	89 44 24 34          	mov    %eax,0x34(%esp)
58d514:	3b 44 24 48          	cmp    0x48(%esp),%eax
58d518:	7d 0d                	jge    0x58d527
58d51a:	8b 74 24 3c          	mov    0x3c(%esp),%esi
58d51e:	8b 54 24 4c          	mov    0x4c(%esp),%edx
58d522:	e9 1e fe ff ff       	jmp    0x58d345
58d527:	8b c3                	mov    %ebx,%eax
58d529:	8b 8c 24 a0 00 00 00 	mov    0xa0(%esp),%ecx
58d530:	5f                   	pop    %edi
58d531:	5e                   	pop    %esi
58d532:	5d                   	pop    %ebp
58d533:	5b                   	pop    %ebx
58d534:	33 cc                	xor    %esp,%ecx
58d536:	e8 9f 3f 05 00       	call   0x5e14da
58d53b:	81 c4 94 00 00 00    	add    $0x94,%esp
58d541:	c3                   	ret
58d542:	cc                   	int3
58d543:	cc                   	int3
58d544:	cc                   	int3
58d545:	cc                   	int3
58d546:	cc                   	int3
58d547:	cc                   	int3
58d548:	cc                   	int3
58d549:	cc                   	int3
58d54a:	cc                   	int3
58d54b:	cc                   	int3
58d54c:	cc                   	int3
58d54d:	cc                   	int3
58d54e:	cc                   	int3
58d54f:	cc                   	int3
58d550:	b8 08 00 00 00       	mov    $0x8,%eax
58d555:	e8 96 3f 05 00       	call   0x5e14f0
58d55a:	8b 4c 24 18          	mov    0x18(%esp),%ecx
58d55e:	53                   	push   %ebx
58d55f:	8b 5c 24 18          	mov    0x18(%esp),%ebx
58d563:	8a c3                	mov    %bl,%al
58d565:	55                   	push   %ebp
58d566:	8b 51 04             	mov    0x4(%ecx),%edx
58d569:	24 0f                	and    $0xf,%al
58d56b:	8b 6c 24 18          	mov    0x18(%esp),%ebp
58d56f:	56                   	push   %esi
58d570:	33 f6                	xor    %esi,%esi
58d572:	c6 44 24 0f 00       	movb   $0x0,0xf(%esp)
58d577:	88 44 24 20          	mov    %al,0x20(%esp)
58d57b:	89 54 24 10          	mov    %edx,0x10(%esp)
58d57f:	57                   	push   %edi
58d580:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
58d584:	f6 c3 40             	test   $0x40,%bl
58d587:	74 4e                	je     0x58d5d7
58d589:	52                   	push   %edx
58d58a:	e8 21 89 00 00       	call   0x595eb0
58d58f:	8b c8                	mov    %eax,%ecx
58d591:	83 c4 04             	add    $0x4,%esp
58d594:	8b f1                	mov    %ecx,%esi
58d596:	8d 56 01             	lea    0x1(%esi),%edx
58d599:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
58d5a0:	8a 06                	mov    (%esi),%al
58d5a2:	46                   	inc    %esi
58d5a3:	84 c0                	test   %al,%al
58d5a5:	75 f9                	jne    0x58d5a0
58d5a7:	2b f2                	sub    %edx,%esi
58d5a9:	56                   	push   %esi
58d5aa:	51                   	push   %ecx
58d5ab:	55                   	push   %ebp
58d5ac:	ff d7                	call   *%edi
58d5ae:	83 c4 0c             	add    $0xc,%esp
58d5b1:	85 c0                	test   %eax,%eax
58d5b3:	0f 84 a7 00 00 00    	je     0x58d660
58d5b9:	6a 01                	push   $0x1
58d5bb:	68 40 d1 6b 00       	push   $0x6bd140
58d5c0:	55                   	push   %ebp
58d5c1:	ff d7                	call   *%edi
58d5c3:	83 c4 0c             	add    $0xc,%esp
58d5c6:	85 c0                	test   %eax,%eax
58d5c8:	0f 84 92 00 00 00    	je     0x58d660
58d5ce:	8b 4c 24 28          	mov    0x28(%esp),%ecx
58d5d2:	46                   	inc    %esi
58d5d3:	8b 54 24 14          	mov    0x14(%esp),%edx
58d5d7:	84 db                	test   %bl,%bl
58d5d9:	0f 88 e2 00 00 00    	js     0x58d6c1
58d5df:	f6 c3 20             	test   $0x20,%bl
58d5e2:	75 24                	jne    0x58d608
58d5e4:	8d 42 ff             	lea    -0x1(%edx),%eax
58d5e7:	83 f8 1d             	cmp    $0x1d,%eax
58d5ea:	77 10                	ja     0x58d5fc
58d5ec:	0f be ba fc 69 6c 00 	movsbl 0x6c69fc(%edx),%edi
58d5f3:	83 ff ff             	cmp    $0xffffffff,%edi
58d5f6:	75 15                	jne    0x58d60d
58d5f8:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
58d5fc:	f7 c3 00 01 00 00    	test   $0x100,%ebx
58d602:	0f 85 b9 00 00 00    	jne    0x58d6c1
58d608:	bf 01 00 00 00       	mov    $0x1,%edi
58d60d:	f6 c3 10             	test   $0x10,%bl
58d610:	74 11                	je     0x58d623
58d612:	8b c7                	mov    %edi,%eax
58d614:	ba 01 00 00 00       	mov    $0x1,%edx
58d619:	83 c8 08             	or     $0x8,%eax
58d61c:	85 ff                	test   %edi,%edi
58d61e:	0f 44 c2             	cmove  %edx,%eax
58d621:	8b f8                	mov    %eax,%edi
58d623:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
58d627:	8d 44 24 13          	lea    0x13(%esp),%eax
58d62b:	6a 00                	push   $0x0
58d62d:	53                   	push   %ebx
58d62e:	50                   	push   %eax
58d62f:	ff 74 24 30          	push   0x30(%esp)
58d633:	57                   	push   %edi
58d634:	ff 31                	push   (%ecx)
58d636:	ff 71 08             	push   0x8(%ecx)
58d639:	e8 22 f6 ff ff       	call   0x58cc60
58d63e:	83 c4 1c             	add    $0x1c,%esp
58d641:	85 c0                	test   %eax,%eax
58d643:	78 1b                	js     0x58d660
58d645:	03 f0                	add    %eax,%esi
58d647:	8a 44 24 13          	mov    0x13(%esp),%al
58d64b:	84 c0                	test   %al,%al
58d64d:	74 03                	je     0x58d652
58d64f:	83 c6 02             	add    $0x2,%esi
58d652:	85 ed                	test   %ebp,%ebp
58d654:	75 15                	jne    0x58d66b
58d656:	5f                   	pop    %edi
58d657:	8b c6                	mov    %esi,%eax
58d659:	5e                   	pop    %esi
58d65a:	5d                   	pop    %ebp
58d65b:	5b                   	pop    %ebx
58d65c:	83 c4 08             	add    $0x8,%esp
58d65f:	c3                   	ret
58d660:	5f                   	pop    %edi
58d661:	5e                   	pop    %esi
58d662:	5d                   	pop    %ebp
58d663:	83 c8 ff             	or     $0xffffffff,%eax
58d666:	5b                   	pop    %ebx
58d667:	83 c4 08             	add    $0x8,%esp
58d66a:	c3                   	ret
58d66b:	84 c0                	test   %al,%al
58d66d:	74 11                	je     0x58d680
58d66f:	6a 01                	push   $0x1
58d671:	68 dc 6a 6c 00       	push   $0x6c6adc
58d676:	55                   	push   %ebp
58d677:	ff d3                	call   *%ebx
58d679:	83 c4 0c             	add    $0xc,%esp
58d67c:	85 c0                	test   %eax,%eax
58d67e:	74 e0                	je     0x58d660
58d680:	8b 44 24 28          	mov    0x28(%esp),%eax
58d684:	55                   	push   %ebp
58d685:	53                   	push   %ebx
58d686:	6a 00                	push   $0x0
58d688:	ff 74 24 30          	push   0x30(%esp)
58d68c:	57                   	push   %edi
58d68d:	ff 30                	push   (%eax)
58d68f:	ff 70 08             	push   0x8(%eax)
58d692:	e8 c9 f5 ff ff       	call   0x58cc60
58d697:	83 c4 1c             	add    $0x1c,%esp
58d69a:	85 c0                	test   %eax,%eax
58d69c:	78 c2                	js     0x58d660
58d69e:	80 7c 24 13 00       	cmpb   $0x0,0x13(%esp)
58d6a3:	74 b1                	je     0x58d656
58d6a5:	6a 01                	push   $0x1
58d6a7:	68 dc 6a 6c 00       	push   $0x6c6adc
58d6ac:	55                   	push   %ebp
58d6ad:	ff d3                	call   *%ebx
58d6af:	83 c4 0c             	add    $0xc,%esp