579260:	7c 1b                	jl     0x57927d
579262:	85 f6                	test   %esi,%esi
579264:	74 13                	je     0x579279
579266:	8d 46 ff             	lea    -0x1(%esi),%eax
579269:	50                   	push   %eax
57926a:	57                   	push   %edi
57926b:	e8 10 c0 f6 ff       	call   0x4e5280
579270:	83 c4 08             	add    $0x8,%esp
579273:	8b 58 08             	mov    0x8(%eax),%ebx
579276:	43                   	inc    %ebx
579277:	eb 11                	jmp    0x57928a
579279:	33 db                	xor    %ebx,%ebx
57927b:	eb 0d                	jmp    0x57928a
57927d:	56                   	push   %esi
57927e:	57                   	push   %edi
57927f:	e8 fc bf f6 ff       	call   0x4e5280
579284:	83 c4 08             	add    $0x8,%esp
579287:	8b 58 08             	mov    0x8(%eax),%ebx
57928a:	55                   	push   %ebp
57928b:	ff 74 24 18          	push   0x18(%esp)
57928f:	e8 4c 28 fe ff       	call   0x55bae0
579294:	8b e8                	mov    %eax,%ebp
579296:	83 c4 04             	add    $0x4,%esp
579299:	85 ed                	test   %ebp,%ebp
57929b:	74 2a                	je     0x5792c7
57929d:	56                   	push   %esi
57929e:	55                   	push   %ebp
57929f:	57                   	push   %edi
5792a0:	89 5d 08             	mov    %ebx,0x8(%ebp)
5792a3:	e8 a8 bc f6 ff       	call   0x4e4f50
5792a8:	83 c4 0c             	add    $0xc,%esp
5792ab:	85 c0                	test   %eax,%eax
5792ad:	75 28                	jne    0x5792d7
5792af:	68 e3 00 00 00       	push   $0xe3
5792b4:	68 3c a8 65 00       	push   $0x65a83c
5792b9:	6a 41                	push   $0x41
5792bb:	6a 71                	push   $0x71
5792bd:	6a 0b                	push   $0xb
5792bf:	e8 bc fc f5 ff       	call   0x4d8f80
5792c4:	83 c4 14             	add    $0x14,%esp
5792c7:	55                   	push   %ebp
5792c8:	e8 33 28 fe ff       	call   0x55bb00
5792cd:	83 c4 04             	add    $0x4,%esp
5792d0:	33 c0                	xor    %eax,%eax
5792d2:	5d                   	pop    %ebp
5792d3:	5f                   	pop    %edi
5792d4:	5e                   	pop    %esi
5792d5:	5b                   	pop    %ebx
5792d6:	c3                   	ret
5792d7:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
5792dc:	74 24                	je     0x579302
5792de:	57                   	push   %edi
5792df:	e8 dc bd f6 ff       	call   0x4e50c0
5792e4:	8b d8                	mov    %eax,%ebx
5792e6:	46                   	inc    %esi
5792e7:	83 c4 04             	add    $0x4,%esp
5792ea:	3b f3                	cmp    %ebx,%esi
5792ec:	7d 14                	jge    0x579302
5792ee:	66 90                	xchg   %ax,%ax
5792f0:	56                   	push   %esi
5792f1:	57                   	push   %edi
5792f2:	e8 89 bf f6 ff       	call   0x4e5280
5792f7:	46                   	inc    %esi
5792f8:	83 c4 08             	add    $0x8,%esp
5792fb:	ff 40 08             	incl   0x8(%eax)
5792fe:	3b f3                	cmp    %ebx,%esi
579300:	7c ee                	jl     0x5792f0
579302:	5d                   	pop    %ebp
579303:	5f                   	pop    %edi
579304:	5e                   	pop    %esi
579305:	b8 01 00 00 00       	mov    $0x1,%eax
57930a:	5b                   	pop    %ebx
57930b:	c3                   	ret
57930c:	cc                   	int3
57930d:	cc                   	int3
57930e:	cc                   	int3
57930f:	cc                   	int3
579310:	b8 04 00 00 00       	mov    $0x4,%eax
579315:	e8 96 84 05 00       	call   0x5d17b0
57931a:	53                   	push   %ebx
57931b:	55                   	push   %ebp
57931c:	56                   	push   %esi
57931d:	8b 74 24 18          	mov    0x18(%esp),%esi
579321:	57                   	push   %edi
579322:	6a 00                	push   $0x0
579324:	56                   	push   %esi
579325:	e8 46 69 f7 ff       	call   0x4efc70
57932a:	8b e8                	mov    %eax,%ebp
57932c:	83 c4 08             	add    $0x8,%esp
57932f:	85 ed                	test   %ebp,%ebp
579331:	75 30                	jne    0x579363
579333:	68 fc 00 00 00       	push   $0xfc
579338:	68 3c a8 65 00       	push   $0x65a83c
57933d:	6a 77                	push   $0x77
57933f:	68 83 00 00 00       	push   $0x83
579344:	6a 0b                	push   $0xb
579346:	e8 35 fc f5 ff       	call   0x4d8f80
57934b:	56                   	push   %esi
57934c:	68 f8 e5 64 00       	push   $0x64e5f8
579351:	6a 02                	push   $0x2
579353:	e8 18 f3 f5 ff       	call   0x4d8670
579358:	83 c4 20             	add    $0x20,%esp
57935b:	33 c0                	xor    %eax,%eax
57935d:	5f                   	pop    %edi
57935e:	5e                   	pop    %esi
57935f:	5d                   	pop    %ebp
579360:	5b                   	pop    %ebx
579361:	59                   	pop    %ecx
579362:	c3                   	ret
579363:	e8 b8 27 fe ff       	call   0x55bb20
579368:	8b f8                	mov    %eax,%edi
57936a:	85 ff                	test   %edi,%edi
57936c:	75 11                	jne    0x57937f
57936e:	55                   	push   %ebp
57936f:	e8 9c 14 f9 ff       	call   0x50a810
579374:	83 c4 04             	add    $0x4,%esp
579377:	33 c0                	xor    %eax,%eax
579379:	5f                   	pop    %edi
57937a:	5e                   	pop    %esi
57937b:	5d                   	pop    %ebp
57937c:	5b                   	pop    %ebx
57937d:	59                   	pop    %ecx
57937e:	c3                   	ret
57937f:	ff 37                	push   (%edi)
579381:	e8 8a 14 f9 ff       	call   0x50a810
579386:	55                   	push   %ebp
579387:	e8 a4 1d f9 ff       	call   0x50b130
57938c:	83 c4 08             	add    $0x8,%esp
57938f:	89 07                	mov    %eax,(%edi)
579391:	85 c0                	test   %eax,%eax
579393:	74 42                	je     0x5793d7
579395:	8b 4c 24 24          	mov    0x24(%esp),%ecx
579399:	8b 74 24 28          	mov    0x28(%esp),%esi
57939d:	85 c9                	test   %ecx,%ecx
57939f:	75 04                	jne    0x5793a5
5793a1:	85 f6                	test   %esi,%esi
5793a3:	75 32                	jne    0x5793d7
5793a5:	8b 5c 24 20          	mov    0x20(%esp),%ebx
5793a9:	85 db                	test   %ebx,%ebx
5793ab:	7e 41                	jle    0x5793ee
5793ad:	f7 c3 00 10 00 00    	test   $0x1000,%ebx
5793b3:	74 39                	je     0x5793ee
5793b5:	50                   	push   %eax
5793b6:	e8 45 62 f7 ff       	call   0x4ef600
5793bb:	50                   	push   %eax
5793bc:	8b 44 24 2c          	mov    0x2c(%esp),%eax
5793c0:	53                   	push   %ebx
5793c1:	56                   	push   %esi
5793c2:	50                   	push   %eax
5793c3:	8d 47 04             	lea    0x4(%edi),%eax
5793c6:	50                   	push   %eax
5793c7:	e8 94 e9 fe ff       	call   0x567d60
5793cc:	83 c4 18             	add    $0x18,%esp
5793cf:	f7 d8                	neg    %eax
5793d1:	1b c0                	sbb    %eax,%eax
5793d3:	f7 d8                	neg    %eax
5793d5:	75 60                	jne    0x579437
5793d7:	57                   	push   %edi
5793d8:	e8 23 27 fe ff       	call   0x55bb00
5793dd:	55                   	push   %ebp
5793de:	e8 2d 14 f9 ff       	call   0x50a810
5793e3:	83 c4 08             	add    $0x8,%esp
5793e6:	33 c0                	xor    %eax,%eax
5793e8:	5f                   	pop    %edi
5793e9:	5e                   	pop    %esi
5793ea:	5d                   	pop    %ebp
5793eb:	5b                   	pop    %ebx
5793ec:	59                   	pop    %ecx
5793ed:	c3                   	ret
5793ee:	85 f6                	test   %esi,%esi
5793f0:	79 0e                	jns    0x579400
5793f2:	8b f1                	mov    %ecx,%esi
5793f4:	8d 56 01             	lea    0x1(%esi),%edx
5793f7:	8a 06                	mov    (%esi),%al
5793f9:	46                   	inc    %esi
5793fa:	84 c0                	test   %al,%al
5793fc:	75 f9                	jne    0x5793f7
5793fe:	2b f2                	sub    %edx,%esi
579400:	56                   	push   %esi
579401:	51                   	push   %ecx
579402:	ff 77 04             	push   0x4(%edi)
579405:	e8 36 0e f9 ff       	call   0x50a240
57940a:	83 c4 0c             	add    $0xc,%esp
57940d:	85 c0                	test   %eax,%eax
57940f:	74 c6                	je     0x5793d7
579411:	83 fb ff             	cmp    $0xffffffff,%ebx
579414:	74 21                	je     0x579437
579416:	83 fb fe             	cmp    $0xfffffffe,%ebx
579419:	75 16                	jne    0x579431
57941b:	8b 44 24 24          	mov    0x24(%esp),%eax
57941f:	56                   	push   %esi
579420:	50                   	push   %eax
579421:	e8 da 47 00 00       	call   0x57dc00
579426:	8b 4f 04             	mov    0x4(%edi),%ecx
579429:	83 c4 08             	add    $0x8,%esp
57942c:	89 41 04             	mov    %eax,0x4(%ecx)
57942f:	eb 06                	jmp    0x579437
579431:	8b 47 04             	mov    0x4(%edi),%eax
579434:	89 58 04             	mov    %ebx,0x4(%eax)
579437:	55                   	push   %ebp
579438:	e8 d3 13 f9 ff       	call   0x50a810
57943d:	ff 74 24 34          	push   0x34(%esp)
579441:	ff 74 24 34          	push   0x34(%esp)
579445:	57                   	push   %edi
579446:	ff 74 24 28          	push   0x28(%esp)
57944a:	e8 b1 fd ff ff       	call   0x579200
57944f:	57                   	push   %edi
579450:	8b f0                	mov    %eax,%esi
579452:	e8 a9 26 fe ff       	call   0x55bb00
579457:	83 c4 18             	add    $0x18,%esp
57945a:	8b c6                	mov    %esi,%eax
57945c:	5f                   	pop    %edi
57945d:	5e                   	pop    %esi
57945e:	5d                   	pop    %ebp
57945f:	5b                   	pop    %ebx
579460:	59                   	pop    %ecx
579461:	c3                   	ret
579462:	cc                   	int3
579463:	cc                   	int3
579464:	cc                   	int3
579465:	cc                   	int3
579466:	cc                   	int3
579467:	cc                   	int3
579468:	cc                   	int3
579469:	cc                   	int3
57946a:	cc                   	int3
57946b:	cc                   	int3
57946c:	cc                   	int3
57946d:	cc                   	int3
57946e:	cc                   	int3
57946f:	cc                   	int3
579470:	53                   	push   %ebx
579471:	8b 5c 24 08          	mov    0x8(%esp),%ebx
579475:	56                   	push   %esi
579476:	85 db                	test   %ebx,%ebx
579478:	0f 84 8d 00 00 00    	je     0x57950b
57947e:	ff 33                	push   (%ebx)
579480:	e8 3b bc f6 ff       	call   0x4e50c0
579485:	8b 74 24 14          	mov    0x14(%esp),%esi
579489:	83 c4 04             	add    $0x4,%esp
57948c:	3b c6                	cmp    %esi,%eax
57948e:	7e 7b                	jle    0x57950b
579490:	85 f6                	test   %esi,%esi
579492:	78 77                	js     0x57950b
579494:	55                   	push   %ebp
579495:	57                   	push   %edi
579496:	8b 3b                	mov    (%ebx),%edi
579498:	56                   	push   %esi
579499:	57                   	push   %edi
57949a:	e8 a1 b8 f6 ff       	call   0x4e4d40
57949f:	57                   	push   %edi
5794a0:	89 44 24 20          	mov    %eax,0x20(%esp)
5794a4:	e8 17 bc f6 ff       	call   0x4e50c0
5794a9:	8b e8                	mov    %eax,%ebp
5794ab:	c7 43 04 01 00 00 00 	movl   $0x1,0x4(%ebx)
5794b2:	83 c4 0c             	add    $0xc,%esp
5794b5:	3b f5                	cmp    %ebp,%esi
5794b7:	74 49                	je     0x579502
5794b9:	85 f6                	test   %esi,%esi
5794bb:	74 12                	je     0x5794cf
5794bd:	8d 46 ff             	lea    -0x1(%esi),%eax
5794c0:	50                   	push   %eax
5794c1:	57                   	push   %edi
5794c2:	e8 b9 bd f6 ff       	call   0x4e5280
5794c7:	83 c4 08             	add    $0x8,%esp
5794ca:	8b 58 08             	mov    0x8(%eax),%ebx
5794cd:	eb 08                	jmp    0x5794d7
5794cf:	8b 5c 24 14          	mov    0x14(%esp),%ebx
5794d3:	8b 5b 08             	mov    0x8(%ebx),%ebx
5794d6:	4b                   	dec    %ebx
5794d7:	56                   	push   %esi
5794d8:	57                   	push   %edi
5794d9:	e8 a2 bd f6 ff       	call   0x4e5280
5794de:	8d 4b 01             	lea    0x1(%ebx),%ecx
5794e1:	83 c4 08             	add    $0x8,%esp
5794e4:	3b 48 08             	cmp    0x8(%eax),%ecx
5794e7:	7d 19                	jge    0x579502
5794e9:	3b f5                	cmp    %ebp,%esi
5794eb:	7d 15                	jge    0x579502
5794ed:	0f 1f 00             	nopl   (%eax)
5794f0:	56                   	push   %esi
5794f1:	57                   	push   %edi
5794f2:	e8 89 bd f6 ff       	call   0x4e5280
5794f7:	46                   	inc    %esi
5794f8:	83 c4 08             	add    $0x8,%esp
5794fb:	ff 48 08             	decl   0x8(%eax)
5794fe:	3b f5                	cmp    %ebp,%esi
579500:	7c ee                	jl     0x5794f0
579502:	8b 44 24 14          	mov    0x14(%esp),%eax
579506:	5f                   	pop    %edi
579507:	5d                   	pop    %ebp
579508:	5e                   	pop    %esi
579509:	5b                   	pop    %ebx
57950a:	c3                   	ret
57950b:	5e                   	pop    %esi
57950c:	33 c0                	xor    %eax,%eax
57950e:	5b                   	pop    %ebx
57950f:	c3                   	ret
579510:	8b 44 24 04          	mov    0x4(%esp),%eax
579514:	85 c0                	test   %eax,%eax
579516:	75 01                	jne    0x579519
579518:	c3                   	ret
579519:	ff 30                	push   (%eax)
57951b:	e8 a0 bb f6 ff       	call   0x4e50c0
579520:	83 c4 04             	add    $0x4,%esp
579523:	c3                   	ret
579524:	cc                   	int3
579525:	cc                   	int3
579526:	cc                   	int3
579527:	cc                   	int3
579528:	cc                   	int3
579529:	cc                   	int3
57952a:	cc                   	int3
57952b:	cc                   	int3
57952c:	cc                   	int3
57952d:	cc                   	int3
57952e:	cc                   	int3
57952f:	cc                   	int3
579530:	56                   	push   %esi
579531:	8b 74 24 08          	mov    0x8(%esp),%esi
579535:	85 f6                	test   %esi,%esi
579537:	74 23                	je     0x57955c
579539:	ff 36                	push   (%esi)
57953b:	e8 80 bb f6 ff       	call   0x4e50c0
579540:	8b 4c 24 10          	mov    0x10(%esp),%ecx
579544:	83 c4 04             	add    $0x4,%esp
579547:	3b c1                	cmp    %ecx,%eax
579549:	7e 11                	jle    0x57955c
57954b:	85 c9                	test   %ecx,%ecx
57954d:	78 0d                	js     0x57955c
57954f:	51                   	push   %ecx
579550:	ff 36                	push   (%esi)
579552:	e8 29 bd f6 ff       	call   0x4e5280
579557:	83 c4 08             	add    $0x8,%esp
57955a:	5e                   	pop    %esi
57955b:	c3                   	ret
57955c:	33 c0                	xor    %eax,%eax
57955e:	5e                   	pop    %esi
57955f:	c3                   	ret
579560:	ff 74 24 08          	push   0x8(%esp)
579564:	e8 77 5f f7 ff       	call   0x4ef4e0
579569:	83 c4 04             	add    $0x4,%esp
57956c:	85 c0                	test   %eax,%eax
57956e:	75 06                	jne    0x579576
579570:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
579575:	c3                   	ret
579576:	89 44 24 08          	mov    %eax,0x8(%esp)
57957a:	e9 01 00 00 00       	jmp    0x579580
57957f:	cc                   	int3
579580:	8b 44 24 04          	mov    0x4(%esp),%eax