5762f5:	8d 47 01             	lea    0x1(%edi),%eax
5762f8:	50                   	push   %eax
5762f9:	51                   	push   %ecx
5762fa:	e8 81 ef f6 ff       	call   0x4e5280
5762ff:	83 c4 08             	add    $0x8,%esp
576302:	8b d8                	mov    %eax,%ebx
576304:	eb 31                	jmp    0x576337
576306:	50                   	push   %eax
576307:	51                   	push   %ecx
576308:	e8 73 ef f6 ff       	call   0x4e5280
57630d:	8b d8                	mov    %eax,%ebx
57630f:	8b 46 24             	mov    0x24(%esi),%eax
576312:	53                   	push   %ebx
576313:	53                   	push   %ebx
576314:	56                   	push   %esi
576315:	ff d0                	call   *%eax
576317:	83 c4 14             	add    $0x14,%esp
57631a:	85 c0                	test   %eax,%eax
57631c:	75 19                	jne    0x576337
57631e:	56                   	push   %esi
57631f:	50                   	push   %eax
576320:	8b 46 1c             	mov    0x1c(%esi),%eax
576323:	c7 46 60 21 00 00 00 	movl   $0x21,0x60(%esi)
57632a:	ff d0                	call   *%eax
57632c:	83 c4 08             	add    $0x8,%esp
57632f:	85 c0                	test   %eax,%eax
576331:	0f 84 ed 01 00 00    	je     0x576524
576337:	85 db                	test   %ebx,%ebx
576339:	0f 84 ec 01 00 00    	je     0x57652b
57633f:	8b 7c 24 18          	mov    0x18(%esp),%edi
576343:	83 7f 60 00          	cmpl   $0x0,0x60(%edi)
576347:	0f 85 9c 00 00 00    	jne    0x5763e9
57634d:	f6 83 80 00 00 00 02 	testb  $0x2,0x80(%ebx)
576354:	74 23                	je     0x576379
576356:	f6 83 84 00 00 00 02 	testb  $0x2,0x84(%ebx)
57635d:	75 1a                	jne    0x576379
57635f:	8b 46 1c             	mov    0x1c(%esi),%eax
576362:	56                   	push   %esi
576363:	6a 00                	push   $0x0
576365:	c7 46 60 23 00 00 00 	movl   $0x23,0x60(%esi)
57636c:	ff d0                	call   *%eax
57636e:	83 c4 08             	add    $0x8,%esp
576371:	85 c0                	test   %eax,%eax
576373:	0f 84 ab 01 00 00    	je     0x576524
576379:	f6 46 70 80          	testb  $0x80,0x70(%esi)
57637d:	75 1a                	jne    0x576399
57637f:	8b 46 1c             	mov    0x1c(%esi),%eax
576382:	56                   	push   %esi
576383:	6a 00                	push   $0x0
576385:	c7 46 60 2c 00 00 00 	movl   $0x2c,0x60(%esi)
57638c:	ff d0                	call   *%eax
57638e:	83 c4 08             	add    $0x8,%esp
576391:	85 c0                	test   %eax,%eax
576393:	0f 84 8b 01 00 00    	je     0x576524
576399:	f6 46 70 08          	testb  $0x8,0x70(%esi)
57639d:	75 2a                	jne    0x5763c9
57639f:	ff 76 68             	push   0x68(%esi)
5763a2:	56                   	push   %esi
5763a3:	e8 98 01 00 00       	call   0x576540
5763a8:	83 c4 08             	add    $0x8,%esp
5763ab:	85 c0                	test   %eax,%eax
5763ad:	7f 1a                	jg     0x5763c9
5763af:	8b 46 1c             	mov    0x1c(%esi),%eax
5763b2:	56                   	push   %esi
5763b3:	6a 00                	push   $0x0
5763b5:	c7 46 60 36 00 00 00 	movl   $0x36,0x60(%esi)
5763bc:	ff d0                	call   *%eax
5763be:	83 c4 08             	add    $0x8,%esp
5763c1:	85 c0                	test   %eax,%eax
5763c3:	0f 84 5b 01 00 00    	je     0x576524
5763c9:	f6 47 54 02          	testb  $0x2,0x54(%edi)
5763cd:	74 1a                	je     0x5763e9
5763cf:	8b 46 1c             	mov    0x1c(%esi),%eax
5763d2:	56                   	push   %esi
5763d3:	6a 00                	push   $0x0
5763d5:	c7 46 60 29 00 00 00 	movl   $0x29,0x60(%esi)
5763dc:	ff d0                	call   *%eax
5763de:	83 c4 08             	add    $0x8,%esp
5763e1:	85 c0                	test   %eax,%eax
5763e3:	0f 84 3b 01 00 00    	je     0x576524
5763e9:	f6 46 70 40          	testb  $0x40,0x70(%esi)
5763ed:	0f 85 cf 00 00 00    	jne    0x5764c2
5763f3:	8b 4e 10             	mov    0x10(%esi),%ecx
5763f6:	89 7e 6c             	mov    %edi,0x6c(%esi)
5763f9:	8b 41 14             	mov    0x14(%ecx),%eax
5763fc:	a8 02                	test   $0x2,%al
5763fe:	74 05                	je     0x576405
576400:	8d 69 08             	lea    0x8(%ecx),%ebp
576403:	eb 0d                	jmp    0x576412
576405:	a9 00 00 20 00       	test   $0x200000,%eax
57640a:	0f 85 b2 00 00 00    	jne    0x5764c2
576410:	33 ed                	xor    %ebp,%ebp
576412:	55                   	push   %ebp
576413:	57                   	push   %edi
576414:	e8 97 9e f7 ff       	call   0x4f02b0
576419:	83 c4 04             	add    $0x4,%esp
57641c:	50                   	push   %eax
57641d:	e8 4e ee ff ff       	call   0x575270
576422:	83 c4 08             	add    $0x8,%esp
576425:	85 c0                	test   %eax,%eax
576427:	75 1a                	jne    0x576443
576429:	56                   	push   %esi
57642a:	50                   	push   %eax
57642b:	8b 46 1c             	mov    0x1c(%esi),%eax
57642e:	c7 46 60 0f 00 00 00 	movl   $0xf,0x60(%esi)
576435:	ff d0                	call   *%eax
576437:	83 c4 08             	add    $0x8,%esp
57643a:	85 c0                	test   %eax,%eax
57643c:	75 21                	jne    0x57645f
57643e:	5f                   	pop    %edi
57643f:	5e                   	pop    %esi
576440:	5d                   	pop    %ebp
576441:	5b                   	pop    %ebx
576442:	c3                   	ret
576443:	7e 1a                	jle    0x57645f
576445:	8b 46 1c             	mov    0x1c(%esi),%eax
576448:	56                   	push   %esi
576449:	6a 00                	push   $0x0
57644b:	c7 46 60 0b 00 00 00 	movl   $0xb,0x60(%esi)
576452:	ff d0                	call   *%eax
576454:	83 c4 08             	add    $0x8,%esp
576457:	85 c0                	test   %eax,%eax
576459:	0f 84 c5 00 00 00    	je     0x576524
57645f:	57                   	push   %edi
576460:	e8 fb 0d f7 ff       	call   0x4e7260
576465:	83 c4 04             	add    $0x4,%esp
576468:	85 c0                	test   %eax,%eax
57646a:	74 4f                	je     0x5764bb
57646c:	55                   	push   %ebp
57646d:	57                   	push   %edi
57646e:	e8 ed 0d f7 ff       	call   0x4e7260
576473:	83 c4 04             	add    $0x4,%esp
576476:	50                   	push   %eax
576477:	e8 f4 ed ff ff       	call   0x575270
57647c:	83 c4 08             	add    $0x8,%esp
57647f:	85 c0                	test   %eax,%eax
576481:	75 1a                	jne    0x57649d
576483:	56                   	push   %esi
576484:	50                   	push   %eax
576485:	8b 46 1c             	mov    0x1c(%esi),%eax
576488:	c7 46 60 10 00 00 00 	movl   $0x10,0x60(%esi)
57648f:	ff d0                	call   *%eax
576491:	83 c4 08             	add    $0x8,%esp
576494:	85 c0                	test   %eax,%eax
576496:	75 23                	jne    0x5764bb
576498:	5f                   	pop    %edi
576499:	5e                   	pop    %esi
57649a:	5d                   	pop    %ebp
57649b:	5b                   	pop    %ebx
57649c:	c3                   	ret
57649d:	79 1c                	jns    0x5764bb
57649f:	f6 46 70 02          	testb  $0x2,0x70(%esi)
5764a3:	75 16                	jne    0x5764bb
5764a5:	8b 46 1c             	mov    0x1c(%esi),%eax
5764a8:	56                   	push   %esi
5764a9:	6a 00                	push   $0x0
5764ab:	c7 46 60 0c 00 00 00 	movl   $0xc,0x60(%esi)
5764b2:	ff d0                	call   *%eax
5764b4:	83 c4 08             	add    $0x8,%esp
5764b7:	85 c0                	test   %eax,%eax
5764b9:	74 69                	je     0x576524
5764bb:	c7 46 6c 00 00 00 00 	movl   $0x0,0x6c(%esi)
5764c2:	53                   	push   %ebx
5764c3:	e8 68 1c fe ff       	call   0x558130
5764c8:	8b d8                	mov    %eax,%ebx
5764ca:	83 c4 04             	add    $0x4,%esp
5764cd:	85 db                	test   %ebx,%ebx
5764cf:	75 09                	jne    0x5764da
5764d1:	c7 46 60 06 00 00 00 	movl   $0x6,0x60(%esi)
5764d8:	eb 3b                	jmp    0x576515
5764da:	8b 46 10             	mov    0x10(%esi),%eax
5764dd:	ff 70 14             	push   0x14(%eax)
5764e0:	53                   	push   %ebx
5764e1:	57                   	push   %edi
5764e2:	e8 c9 15 fe ff       	call   0x557ab0
5764e7:	83 c4 0c             	add    $0xc,%esp
5764ea:	85 c0                	test   %eax,%eax
5764ec:	74 12                	je     0x576500
5764ee:	89 46 60             	mov    %eax,0x60(%esi)
5764f1:	8b 46 1c             	mov    0x1c(%esi),%eax
5764f4:	56                   	push   %esi
5764f5:	6a 00                	push   $0x0
5764f7:	ff d0                	call   *%eax
5764f9:	83 c4 08             	add    $0x8,%esp
5764fc:	85 c0                	test   %eax,%eax
5764fe:	74 24                	je     0x576524
576500:	53                   	push   %ebx
576501:	57                   	push   %edi
576502:	e8 c9 13 fe ff       	call   0x5578d0
576507:	83 c4 08             	add    $0x8,%esp
57650a:	85 c0                	test   %eax,%eax
57650c:	7f 1d                	jg     0x57652b
57650e:	c7 46 60 08 00 00 00 	movl   $0x8,0x60(%esi)
576515:	8b 46 1c             	mov    0x1c(%esi),%eax
576518:	56                   	push   %esi
576519:	6a 00                	push   $0x0
57651b:	ff d0                	call   *%eax
57651d:	83 c4 08             	add    $0x8,%esp
576520:	85 c0                	test   %eax,%eax
576522:	75 07                	jne    0x57652b
576524:	5f                   	pop    %edi
576525:	5e                   	pop    %esi
576526:	5d                   	pop    %ebp
576527:	33 c0                	xor    %eax,%eax
576529:	5b                   	pop    %ebx
57652a:	c3                   	ret
57652b:	5f                   	pop    %edi
57652c:	5e                   	pop    %esi
57652d:	5d                   	pop    %ebp
57652e:	b8 01 00 00 00       	mov    $0x1,%eax
576533:	5b                   	pop    %ebx
576534:	c3                   	ret
576535:	cc                   	int3
576536:	cc                   	int3
576537:	cc                   	int3
576538:	cc                   	int3
576539:	cc                   	int3
57653a:	cc                   	int3
57653b:	cc                   	int3
57653c:	cc                   	int3
57653d:	cc                   	int3
57653e:	cc                   	int3
57653f:	cc                   	int3
576540:	b8 88 00 00 00       	mov    $0x88,%eax
576545:	e8 66 b2 05 00       	call   0x5d17b0
57654a:	53                   	push   %ebx
57654b:	8b 9c 24 90 00 00 00 	mov    0x90(%esp),%ebx
576552:	83 7b 78 00          	cmpl   $0x0,0x78(%ebx)
576556:	74 0a                	je     0x576562
576558:	33 c0                	xor    %eax,%eax
57655a:	5b                   	pop    %ebx
57655b:	81 c4 88 00 00 00    	add    $0x88,%esp
576561:	c3                   	ret
576562:	ff 73 08             	push   0x8(%ebx)
576565:	8d 44 24 08          	lea    0x8(%esp),%eax
576569:	ff b4 24 98 00 00 00 	push   0x98(%esp)
576570:	ff 33                	push   (%ebx)
576572:	50                   	push   %eax
576573:	e8 78 e9 ff ff       	call   0x574ef0
576578:	83 c4 10             	add    $0x10,%esp
57657b:	85 c0                	test   %eax,%eax
57657d:	75 0b                	jne    0x57658a
57657f:	83 c8 ff             	or     $0xffffffff,%eax
576582:	5b                   	pop    %ebx
576583:	81 c4 88 00 00 00    	add    $0x88,%esp
576589:	c3                   	ret
57658a:	8b 43 0c             	mov    0xc(%ebx),%eax
57658d:	56                   	push   %esi
57658e:	ff 74 24 18          	push   0x18(%esp)
576592:	8b 73 10             	mov    0x10(%ebx),%esi
576595:	89 44 24 18          	mov    %eax,0x18(%esp)
576599:	e8 42 90 00 00       	call   0x57f5e0
57659e:	8b 43 1c             	mov    0x1c(%ebx),%eax
5765a1:	89 44 24 28          	mov    %eax,0x28(%esp)
5765a5:	8d 44 24 0c          	lea    0xc(%esp),%eax
5765a9:	50                   	push   %eax
5765aa:	89 74 24 20          	mov    %esi,0x20(%esp)
5765ae:	89 9c 24 88 00 00 00 	mov    %ebx,0x88(%esp)
5765b5:	e8 26 ef ff ff       	call   0x5754e0
5765ba:	8b f0                	mov    %eax,%esi
5765bc:	83 c4 08             	add    $0x8,%esp
5765bf:	85 f6                	test   %esi,%esi
5765c1:	7e 38                	jle    0x5765fb
5765c3:	8b 73 50             	mov    0x50(%ebx),%esi
5765c6:	57                   	push   %edi
5765c7:	8b 7c 24 5c          	mov    0x5c(%esp),%edi
5765cb:	56                   	push   %esi
5765cc:	e8 ef ea f6 ff       	call   0x4e50c0
5765d1:	48                   	dec    %eax
5765d2:	50                   	push   %eax
5765d3:	56                   	push   %esi
5765d4:	e8 a7 ec f6 ff       	call   0x4e5280
5765d9:	57                   	push   %edi
5765da:	8b f0                	mov    %eax,%esi
5765dc:	e8 df ea f6 ff       	call   0x4e50c0
5765e1:	48                   	dec    %eax
5765e2:	50                   	push   %eax
5765e3:	57                   	push   %edi
5765e4:	e8 97 ec f6 ff       	call   0x4e5280
5765e9:	50                   	push   %eax
5765ea:	56                   	push   %esi
5765eb:	e8 20 1a fe ff       	call   0x558010
5765f0:	83 c4 20             	add    $0x20,%esp
5765f3:	8b f0                	mov    %eax,%esi
5765f5:	f7 de                	neg    %esi
5765f7:	1b f6                	sbb    %esi,%esi
5765f9:	46                   	inc    %esi
5765fa:	5f                   	pop    %edi
5765fb:	8d 44 24 08          	lea    0x8(%esp),%eax
5765ff:	50                   	push   %eax
576600:	e8 0b e8 ff ff       	call   0x574e10
576605:	83 c4 04             	add    $0x4,%esp
576608:	8b c6                	mov    %esi,%eax
57660a:	5e                   	pop    %esi
57660b:	5b                   	pop    %ebx
57660c:	81 c4 88 00 00 00    	add    $0x88,%esp
576612:	c3                   	ret
576613:	cc                   	int3
576614:	cc                   	int3
576615:	cc                   	int3
576616:	cc                   	int3
576617:	cc                   	int3
576618:	cc                   	int3
576619:	cc                   	int3
57661a:	cc                   	int3
57661b:	cc                   	int3
57661c:	cc                   	int3
57661d:	cc                   	int3
57661e:	cc                   	int3
57661f:	cc                   	int3
576620:	56                   	push   %esi
576621:	57                   	push   %edi
576622:	8b 7c 24 0c          	mov    0xc(%esp),%edi
576626:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
57662c:	85 c0                	test   %eax,%eax
57662e:	74 45                	je     0x576675
576630:	f6 40 14 05          	testb  $0x5,0x14(%eax)
576634:	74 3f                	je     0x576675
576636:	8b 74 24 10          	mov    0x10(%esp),%esi
57663a:	85 f6                	test   %esi,%esi
57663c:	74 37                	je     0x576675
57663e:	56                   	push   %esi
57663f:	ff 77 50             	push   0x50(%edi)
576642:	e8 39 ec f6 ff       	call   0x4e5280
576647:	83 c4 08             	add    $0x8,%esp
57664a:	85 c0                	test   %eax,%eax
57664c:	74 27                	je     0x576675
57664e:	56                   	push   %esi
57664f:	50                   	push   %eax
576650:	57                   	push   %edi
576651:	e8 5a 0f 00 00       	call   0x5775b0
576656:	83 c4 0c             	add    $0xc,%esp
576659:	85 c0                	test   %eax,%eax
57665b:	79 08                	jns    0x576665
57665d:	5f                   	pop    %edi
57665e:	b8 02 00 00 00       	mov    $0x2,%eax
576663:	5e                   	pop    %esi
576664:	c3                   	ret
576665:	7e 0e                	jle    0x576675
576667:	8d 46 ff             	lea    -0x1(%esi),%eax
57666a:	89 47 4c             	mov    %eax,0x4c(%edi)
57666d:	b8 01 00 00 00       	mov    $0x1,%eax
576672:	5f                   	pop    %edi
576673:	5e                   	pop    %esi
576674:	c3                   	ret
576675:	5f                   	pop    %edi
576676:	b8 03 00 00 00       	mov    $0x3,%eax
57667b:	5e                   	pop    %esi
57667c:	c3                   	ret
57667d:	cc                   	int3