56735a:	57                   	push   %edi
56735b:	53                   	push   %ebx
56735c:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
567360:	e8 3b 32 f7 ff       	call   0x4da5a0
567365:	83 c4 08             	add    $0x8,%esp
567368:	85 c0                	test   %eax,%eax
56736a:	0f 84 78 01 00 00    	je     0x5674e8
567370:	33 f6                	xor    %esi,%esi
567372:	89 7b 04             	mov    %edi,0x4(%ebx)
567375:	85 ff                	test   %edi,%edi
567377:	7e 65                	jle    0x5673de
567379:	83 ff 04             	cmp    $0x4,%edi
56737c:	72 4a                	jb     0x5673c8
56737e:	8b 03                	mov    (%ebx),%eax
567380:	8d 4f ff             	lea    -0x1(%edi),%ecx
567383:	89 44 24 10          	mov    %eax,0x10(%esp)
567387:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
56738a:	3b c3                	cmp    %ebx,%eax
56738c:	77 04                	ja     0x567392
56738e:	3b cb                	cmp    %ebx,%ecx
567390:	73 36                	jae    0x5673c8
567392:	8b c7                	mov    %edi,%eax
567394:	25 03 00 00 80       	and    $0x80000003,%eax
567399:	79 05                	jns    0x5673a0
56739b:	48                   	dec    %eax
56739c:	83 c8 fc             	or     $0xfffffffc,%eax
56739f:	40                   	inc    %eax
5673a0:	2b f8                	sub    %eax,%edi
5673a2:	83 c6 04             	add    $0x4,%esi
5673a5:	3b f7                	cmp    %edi,%esi
5673a7:	7c f9                	jl     0x5673a2
5673a9:	8d 47 03             	lea    0x3(%edi),%eax
5673ac:	8b 7c 24 10          	mov    0x10(%esp),%edi
5673b0:	99                   	cltd
5673b1:	83 e2 03             	and    $0x3,%edx
5673b4:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
5673b7:	c1 f9 02             	sar    $0x2,%ecx
5673ba:	c1 e1 04             	shl    $0x4,%ecx
5673bd:	c1 e9 02             	shr    $0x2,%ecx
5673c0:	33 c0                	xor    %eax,%eax
5673c2:	f3 ab                	rep stos %eax,%es:(%edi)
5673c4:	8b 7c 24 14          	mov    0x14(%esp),%edi
5673c8:	3b f7                	cmp    %edi,%esi
5673ca:	7d 12                	jge    0x5673de
5673cc:	0f 1f 40 00          	nopl   0x0(%eax)
5673d0:	8b 03                	mov    (%ebx),%eax
5673d2:	c7 04 b0 00 00 00 00 	movl   $0x0,(%eax,%esi,4)
5673d9:	46                   	inc    %esi
5673da:	3b f7                	cmp    %edi,%esi
5673dc:	7c f2                	jl     0x5673d0
5673de:	8b 44 24 18          	mov    0x18(%esp),%eax
5673e2:	33 f6                	xor    %esi,%esi
5673e4:	89 74 24 10          	mov    %esi,0x10(%esp)
5673e8:	8b 48 04             	mov    0x4(%eax),%ecx
5673eb:	85 c9                	test   %ecx,%ecx
5673ed:	0f 8e ce 00 00 00    	jle    0x5674c1
5673f3:	8b 55 04             	mov    0x4(%ebp),%edx
5673f6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
5673fd:	00 00 00
567400:	8b 00                	mov    (%eax),%eax
567402:	8d 3c b5 00 00 00 00 	lea    0x0(,%esi,4),%edi
567409:	03 c7                	add    %edi,%eax
56740b:	89 44 24 14          	mov    %eax,0x14(%esp)
56740f:	8b 00                	mov    (%eax),%eax
567411:	89 44 24 1c          	mov    %eax,0x1c(%esp)
567415:	8d 46 01             	lea    0x1(%esi),%eax
567418:	3b c1                	cmp    %ecx,%eax
56741a:	75 0a                	jne    0x567426
56741c:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
567423:	00
567424:	eb 0b                	jmp    0x567431
567426:	8b 44 24 14          	mov    0x14(%esp),%eax
56742a:	8b 40 04             	mov    0x4(%eax),%eax
56742d:	89 44 24 14          	mov    %eax,0x14(%esp)
567431:	33 f6                	xor    %esi,%esi
567433:	85 d2                	test   %edx,%edx
567435:	7e 70                	jle    0x5674a7
567437:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
56743e:	00 00
567440:	8b 45 00             	mov    0x0(%ebp),%eax
567443:	8b 0c b0             	mov    (%eax,%esi,4),%ecx
567446:	89 4c 24 20          	mov    %ecx,0x20(%esp)
56744a:	8d 4e 01             	lea    0x1(%esi),%ecx
56744d:	3b ca                	cmp    %edx,%ecx
56744f:	75 04                	jne    0x567455
567451:	33 c0                	xor    %eax,%eax
567453:	eb 04                	jmp    0x567459
567455:	8b 44 b0 04          	mov    0x4(%eax,%esi,4),%eax
567459:	ff 74 24 1c          	push   0x1c(%esp)
56745d:	ff 74 24 18          	push   0x18(%esp)
567461:	ff 74 24 28          	push   0x28(%esp)
567465:	50                   	push   %eax
567466:	8d 44 24 40          	lea    0x40(%esp),%eax
56746a:	50                   	push   %eax
56746b:	e8 90 e8 ed ff       	call   0x445d00
567470:	8b 0b                	mov    (%ebx),%ecx
567472:	83 c6 02             	add    $0x2,%esi
567475:	8b 44 24 44          	mov    0x44(%esp),%eax
567479:	83 c4 14             	add    $0x14,%esp
56747c:	31 04 39             	xor    %eax,(%ecx,%edi,1)
56747f:	8b 0b                	mov    (%ebx),%ecx
567481:	8b 44 24 34          	mov    0x34(%esp),%eax
567485:	31 44 39 04          	xor    %eax,0x4(%ecx,%edi,1)
567489:	8b 0b                	mov    (%ebx),%ecx
56748b:	8b 44 24 38          	mov    0x38(%esp),%eax
56748f:	31 44 39 08          	xor    %eax,0x8(%ecx,%edi,1)
567493:	8b 0b                	mov    (%ebx),%ecx
567495:	8b 44 24 3c          	mov    0x3c(%esp),%eax
567499:	31 44 39 0c          	xor    %eax,0xc(%ecx,%edi,1)
56749d:	83 c7 08             	add    $0x8,%edi
5674a0:	8b 55 04             	mov    0x4(%ebp),%edx
5674a3:	3b f2                	cmp    %edx,%esi
5674a5:	7c 99                	jl     0x567440
5674a7:	8b 44 24 18          	mov    0x18(%esp),%eax
5674ab:	8b 74 24 10          	mov    0x10(%esp),%esi
5674af:	83 c6 02             	add    $0x2,%esi
5674b2:	89 74 24 10          	mov    %esi,0x10(%esp)
5674b6:	8b 48 04             	mov    0x4(%eax),%ecx
5674b9:	3b f1                	cmp    %ecx,%esi
5674bb:	0f 8c 3f ff ff ff    	jl     0x567400
5674c1:	53                   	push   %ebx
5674c2:	e8 89 2f f7 ff       	call   0x4da450
5674c7:	ff 74 24 28          	push   0x28(%esp)
5674cb:	53                   	push   %ebx
5674cc:	ff 74 24 34          	push   0x34(%esp)
5674d0:	e8 eb f3 ff ff       	call   0x5668c0
5674d5:	33 c9                	xor    %ecx,%ecx
5674d7:	83 c4 10             	add    $0x10,%esp
5674da:	85 c0                	test   %eax,%eax
5674dc:	ba 01 00 00 00       	mov    $0x1,%edx
5674e1:	0f 45 ca             	cmovne %edx,%ecx
5674e4:	89 4c 24 10          	mov    %ecx,0x10(%esp)
5674e8:	5f                   	pop    %edi
5674e9:	ff 74 24 28          	push   0x28(%esp)
5674ed:	e8 de 05 f8 ff       	call   0x4e7ad0
5674f2:	8b 4c 24 40          	mov    0x40(%esp),%ecx
5674f6:	83 c4 04             	add    $0x4,%esp
5674f9:	8b 44 24 0c          	mov    0xc(%esp),%eax
5674fd:	5e                   	pop    %esi
5674fe:	5d                   	pop    %ebp
5674ff:	5b                   	pop    %ebx
567500:	33 cc                	xor    %esp,%ecx
567502:	e8 1f a5 06 00       	call   0x5d1a26
567507:	83 c4 34             	add    $0x34,%esp
56750a:	c3                   	ret
56750b:	cc                   	int3
56750c:	cc                   	int3
56750d:	cc                   	int3
56750e:	cc                   	int3
56750f:	cc                   	int3
567510:	b8 18 00 00 00       	mov    $0x18,%eax
567515:	e8 96 a2 06 00       	call   0x5d17b0
56751a:	57                   	push   %edi
56751b:	8b 7c 24 28          	mov    0x28(%esp),%edi
56751f:	33 c0                	xor    %eax,%eax
567521:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
567528:	00
567529:	89 44 24 10          	mov    %eax,0x10(%esp)
56752d:	39 07                	cmp    %eax,(%edi)
56752f:	75 17                	jne    0x567548
567531:	50                   	push   %eax
567532:	ff 74 24 24          	push   0x24(%esp)
567536:	e8 a5 2b f7 ff       	call   0x4da0e0
56753b:	83 c4 08             	add    $0x8,%esp
56753e:	b8 01 00 00 00       	mov    $0x1,%eax
567543:	5f                   	pop    %edi
567544:	83 c4 18             	add    $0x18,%esp
567547:	c3                   	ret
567548:	53                   	push   %ebx
567549:	8b 5c 24 30          	mov    0x30(%esp),%ebx
56754d:	55                   	push   %ebp
56754e:	56                   	push   %esi
56754f:	53                   	push   %ebx
567550:	e8 bb 08 f8 ff       	call   0x4e7e10
567555:	53                   	push   %ebx
567556:	e8 75 06 f8 ff       	call   0x4e7bd0
56755b:	53                   	push   %ebx
56755c:	89 44 24 40          	mov    %eax,0x40(%esp)
567560:	e8 6b 06 f8 ff       	call   0x4e7bd0
567565:	53                   	push   %ebx
567566:	8b f0                	mov    %eax,%esi
567568:	e8 63 06 f8 ff       	call   0x4e7bd0
56756d:	8b e8                	mov    %eax,%ebp
56756f:	83 c4 10             	add    $0x10,%esp
567572:	89 6c 24 18          	mov    %ebp,0x18(%esp)
567576:	85 ed                	test   %ebp,%ebp
567578:	0f 84 da 02 00 00    	je     0x567858
56757e:	57                   	push   %edi
56757f:	ff 74 24 34          	push   0x34(%esp)
567583:	ff 74 24 3c          	push   0x3c(%esp)
567587:	e8 34 f3 ff ff       	call   0x5668c0
56758c:	83 c4 0c             	add    $0xc,%esp
56758f:	85 c0                	test   %eax,%eax
567591:	0f 84 c1 02 00 00    	je     0x567858
567597:	ff 74 24 34          	push   0x34(%esp)
56759b:	e8 c0 27 f7 ff       	call   0x4d9d60
5675a0:	83 c4 04             	add    $0x4,%esp
5675a3:	85 c0                	test   %eax,%eax
5675a5:	74 2b                	je     0x5675d2
5675a7:	6a 00                	push   $0x0
5675a9:	ff 74 24 30          	push   0x30(%esp)
5675ad:	e8 2e 2b f7 ff       	call   0x4da0e0
5675b2:	83 c4 08             	add    $0x8,%esp
5675b5:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%esp)
5675bc:	00
5675bd:	53                   	push   %ebx
5675be:	e8 0d 05 f8 ff       	call   0x4e7ad0
5675c3:	8b 44 24 24          	mov    0x24(%esp),%eax
5675c7:	83 c4 04             	add    $0x4,%esp
5675ca:	5e                   	pop    %esi
5675cb:	5d                   	pop    %ebp
5675cc:	5b                   	pop    %ebx
5675cd:	5f                   	pop    %edi
5675ce:	83 c4 18             	add    $0x18,%esp
5675d1:	c3                   	ret
5675d2:	f6 07 01             	testb  $0x1,(%edi)
5675d5:	0f 84 e9 00 00 00    	je     0x5676c4
5675db:	ff 74 24 34          	push   0x34(%esp)
5675df:	56                   	push   %esi
5675e0:	e8 fb 24 f7 ff       	call   0x4d9ae0
5675e5:	83 c4 08             	add    $0x8,%esp
5675e8:	85 c0                	test   %eax,%eax
5675ea:	0f 84 68 02 00 00    	je     0x567858
5675f0:	8b 07                	mov    (%edi),%eax
5675f2:	48                   	dec    %eax
5675f3:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
5675fa:	00
5675fb:	99                   	cltd
5675fc:	2b c2                	sub    %edx,%eax
5675fe:	d1 f8                	sar    $1,%eax
567600:	83 f8 01             	cmp    $0x1,%eax
567603:	7c 53                	jl     0x567658
567605:	53                   	push   %ebx
567606:	57                   	push   %edi
567607:	56                   	push   %esi
567608:	56                   	push   %esi
567609:	e8 62 02 00 00       	call   0x567870
56760e:	83 c4 10             	add    $0x10,%esp
567611:	85 c0                	test   %eax,%eax
567613:	0f 84 3f 02 00 00    	je     0x567858
567619:	53                   	push   %ebx
56761a:	57                   	push   %edi
56761b:	56                   	push   %esi
56761c:	56                   	push   %esi
56761d:	e8 4e 02 00 00       	call   0x567870
567622:	83 c4 10             	add    $0x10,%esp
567625:	85 c0                	test   %eax,%eax
567627:	0f 84 2b 02 00 00    	je     0x567858
56762d:	ff 74 24 34          	push   0x34(%esp)
567631:	56                   	push   %esi
567632:	56                   	push   %esi
567633:	e8 f8 f1 ff ff       	call   0x566830
567638:	83 c4 0c             	add    $0xc,%esp
56763b:	85 c0                	test   %eax,%eax
56763d:	0f 84 15 02 00 00    	je     0x567858
567643:	8b 07                	mov    (%edi),%eax
567645:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
567649:	48                   	dec    %eax
56764a:	99                   	cltd
56764b:	41                   	inc    %ecx
56764c:	2b c2                	sub    %edx,%eax
56764e:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
567652:	d1 f8                	sar    $1,%eax
567654:	3b c8                	cmp    %eax,%ecx
567656:	7e ad                	jle    0x567605
567658:	53                   	push   %ebx
567659:	57                   	push   %edi
56765a:	56                   	push   %esi
56765b:	55                   	push   %ebp
56765c:	e8 0f 02 00 00       	call   0x567870
567661:	83 c4 10             	add    $0x10,%esp
567664:	85 c0                	test   %eax,%eax
567666:	0f 84 ec 01 00 00    	je     0x567858
56766c:	55                   	push   %ebp
56766d:	56                   	push   %esi
56766e:	55                   	push   %ebp
56766f:	e8 bc f1 ff ff       	call   0x566830
567674:	83 c4 0c             	add    $0xc,%esp
567677:	85 c0                	test   %eax,%eax
567679:	0f 84 d9 01 00 00    	je     0x567858
56767f:	ff 74 24 34          	push   0x34(%esp)
567683:	55                   	push   %ebp
567684:	e8 b7 2a f7 ff       	call   0x4da140
567689:	83 c4 08             	add    $0x8,%esp
56768c:	85 c0                	test   %eax,%eax
56768e:	0f 84 a7 01 00 00    	je     0x56783b
567694:	68 2a 04 00 00       	push   $0x42a
567699:	68 e8 7e 65 00       	push   $0x657ee8
56769e:	6a 74                	push   $0x74
5676a0:	68 87 00 00 00       	push   $0x87
5676a5:	6a 03                	push   $0x3
5676a7:	e8 d4 18 f7 ff       	call   0x4d8f80
5676ac:	83 c4 14             	add    $0x14,%esp
5676af:	53                   	push   %ebx
5676b0:	e8 1b 04 f8 ff       	call   0x4e7ad0
5676b5:	8b 44 24 24          	mov    0x24(%esp),%eax
5676b9:	83 c4 04             	add    $0x4,%esp
5676bc:	5e                   	pop    %esi
5676bd:	5d                   	pop    %ebp
5676be:	5b                   	pop    %ebx
5676bf:	5f                   	pop    %edi
5676c0:	83 c4 18             	add    $0x18,%esp
5676c3:	c3                   	ret
5676c4:	53                   	push   %ebx
5676c5:	e8 06 05 f8 ff       	call   0x4e7bd0
5676ca:	53                   	push   %ebx
5676cb:	89 44 24 18          	mov    %eax,0x18(%esp)
5676cf:	e8 fc 04 f8 ff       	call   0x4e7bd0
5676d4:	53                   	push   %ebx
5676d5:	89 44 24 20          	mov    %eax,0x20(%esp)
5676d9:	e8 f2 04 f8 ff       	call   0x4e7bd0
5676de:	83 c4 0c             	add    $0xc,%esp
5676e1:	89 44 24 24          	mov    %eax,0x24(%esp)
5676e5:	85 c0                	test   %eax,%eax
5676e7:	0f 84 6b 01 00 00    	je     0x567858
5676ed:	0f 1f 00             	nopl   (%eax)
5676f0:	6a 00                	push   $0x0
5676f2:	6a 00                	push   $0x0
5676f4:	ff 37                	push   (%edi)
5676f6:	ff 74 24 1c          	push   0x1c(%esp)
5676fa:	e8 11 5a f9 ff       	call   0x4fd110
5676ff:	83 c4 10             	add    $0x10,%esp
567702:	85 c0                	test   %eax,%eax
567704:	0f 84 4e 01 00 00    	je     0x567858
56770a:	8b 44 24 10          	mov    0x10(%esp),%eax
56770e:	57                   	push   %edi
56770f:	50                   	push   %eax
567710:	50                   	push   %eax
567711:	e8 aa f1 ff ff       	call   0x5668c0
567716:	83 c4 0c             	add    $0xc,%esp
567719:	85 c0                	test   %eax,%eax
56771b:	0f 84 37 01 00 00    	je     0x567858
567721:	6a 00                	push   $0x0
567723:	56                   	push   %esi
567724:	e8 b7 29 f7 ff       	call   0x4da0e0
567729:	ff 74 24 18          	push   0x18(%esp)
56772d:	55                   	push   %ebp
56772e:	e8 ad 23 f7 ff       	call   0x4d9ae0
567733:	83 c4 10             	add    $0x10,%esp
567736:	85 c0                	test   %eax,%eax
567738:	0f 84 1a 01 00 00    	je     0x567858
56773e:	8b 07                	mov    (%edi),%eax
567740:	bd 01 00 00 00       	mov    $0x1,%ebp
567745:	48                   	dec    %eax
567746:	3b c5                	cmp    %ebp,%eax
567748:	0f 8c 8c 00 00 00    	jl     0x5677da
56774e:	66 90                	xchg   %ax,%ax
567750:	53                   	push   %ebx
567751:	57                   	push   %edi
567752:	56                   	push   %esi