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
57667e:	cc                   	int3
57667f:	cc                   	int3
576680:	53                   	push   %ebx
576681:	55                   	push   %ebp
576682:	56                   	push   %esi
576683:	8b 74 24 10          	mov    0x10(%esp),%esi
576687:	57                   	push   %edi
576688:	8b 5e 10             	mov    0x10(%esi),%ebx
57668b:	8b 6e 04             	mov    0x4(%esi),%ebp
57668e:	89 6c 24 14          	mov    %ebp,0x14(%esp)
576692:	8b 43 2c             	mov    0x2c(%ebx),%eax
576695:	85 c0                	test   %eax,%eax
576697:	0f 84 9a 00 00 00    	je     0x576737
57669d:	50                   	push   %eax
57669e:	e8 1d ea f6 ff       	call   0x4e50c0
5766a3:	8b e8                	mov    %eax,%ebp
5766a5:	83 c4 04             	add    $0x4,%esp
5766a8:	8b 43 34             	mov    0x34(%ebx),%eax
5766ab:	85 c0                	test   %eax,%eax
5766ad:	74 1a                	je     0x5766c9
5766af:	68 ea 02 00 00       	push   $0x2ea
5766b4:	68 54 a7 65 00       	push   $0x65a754
5766b9:	50                   	push   %eax
5766ba:	e8 c1 a0 f6 ff       	call   0x4e0780
5766bf:	83 c4 0c             	add    $0xc,%esp
5766c2:	c7 43 34 00 00 00 00 	movl   $0x0,0x34(%ebx)
5766c9:	33 ff                	xor    %edi,%edi
5766cb:	85 ed                	test   %ebp,%ebp
5766cd:	7e 2b                	jle    0x5766fa
5766cf:	90                   	nop
5766d0:	57                   	push   %edi
5766d1:	ff 73 2c             	push   0x2c(%ebx)
5766d4:	e8 a7 eb f6 ff       	call   0x4e5280
5766d9:	8d 4b 34             	lea    0x34(%ebx),%ecx
5766dc:	51                   	push   %ecx
5766dd:	ff 73 30             	push   0x30(%ebx)
5766e0:	6a 00                	push   $0x0
5766e2:	50                   	push   %eax
5766e3:	ff 74 24 2c          	push   0x2c(%esp)
5766e7:	e8 b4 2f ff ff       	call   0x5696a0
5766ec:	83 c4 1c             	add    $0x1c,%esp
5766ef:	85 c0                	test   %eax,%eax
5766f1:	7f 40                	jg     0x576733
5766f3:	47                   	inc    %edi
5766f4:	3b fd                	cmp    %ebp,%edi
5766f6:	7c d8                	jl     0x5766d0
5766f8:	eb 02                	jmp    0x5766fc
5766fa:	74 37                	je     0x576733
5766fc:	8b 46 04             	mov    0x4(%esi),%eax
5766ff:	c7 46 5c 00 00 00 00 	movl   $0x0,0x5c(%esi)
576706:	85 c0                	test   %eax,%eax
576708:	75 0c                	jne    0x576716
57670a:	50                   	push   %eax
57670b:	ff 76 50             	push   0x50(%esi)
57670e:	e8 6d eb f6 ff       	call   0x4e5280
576713:	83 c4 08             	add    $0x8,%esp
576716:	89 46 64             	mov    %eax,0x64(%esi)
576719:	8b 46 1c             	mov    0x1c(%esi),%eax
57671c:	56                   	push   %esi
57671d:	6a 00                	push   $0x0
57671f:	c7 46 60 3e 00 00 00 	movl   $0x3e,0x60(%esi)
576726:	ff d0                	call   *%eax
576728:	83 c4 08             	add    $0x8,%esp
57672b:	85 c0                	test   %eax,%eax
57672d:	0f 84 9e 00 00 00    	je     0x5767d1
576733:	8b 6c 24 14          	mov    0x14(%esp),%ebp
576737:	8b 43 38             	mov    0x38(%ebx),%eax
57673a:	85 c0                	test   %eax,%eax
57673c:	74 46                	je     0x576784
57673e:	6a 00                	push   $0x0
576740:	ff 73 3c             	push   0x3c(%ebx)
576743:	50                   	push   %eax
576744:	55                   	push   %ebp
576745:	e8 e6 2e ff ff       	call   0x569630
57674a:	83 c4 10             	add    $0x10,%esp
57674d:	85 c0                	test   %eax,%eax
57674f:	7f 33                	jg     0x576784
576751:	8b 46 04             	mov    0x4(%esi),%eax
576754:	c7 46 5c 00 00 00 00 	movl   $0x0,0x5c(%esi)
57675b:	85 c0                	test   %eax,%eax
57675d:	75 0c                	jne    0x57676b
57675f:	50                   	push   %eax
576760:	ff 76 50             	push   0x50(%esi)
576763:	e8 18 eb f6 ff       	call   0x4e5280
576768:	83 c4 08             	add    $0x8,%esp
57676b:	89 46 64             	mov    %eax,0x64(%esi)
57676e:	8b 46 1c             	mov    0x1c(%esi),%eax
576771:	56                   	push   %esi
576772:	6a 00                	push   $0x0
576774:	c7 46 60 3f 00 00 00 	movl   $0x3f,0x60(%esi)
57677b:	ff d0                	call   *%eax
57677d:	83 c4 08             	add    $0x8,%esp
576780:	85 c0                	test   %eax,%eax
576782:	74 4d                	je     0x5767d1
576784:	8b 43 40             	mov    0x40(%ebx),%eax
576787:	85 c0                	test   %eax,%eax
576789:	74 4d                	je     0x5767d8
57678b:	6a 00                	push   $0x0
57678d:	ff 73 44             	push   0x44(%ebx)
576790:	50                   	push   %eax
576791:	55                   	push   %ebp
576792:	e8 79 2f ff ff       	call   0x569710
576797:	83 c4 10             	add    $0x10,%esp
57679a:	85 c0                	test   %eax,%eax
57679c:	7f 3a                	jg     0x5767d8
57679e:	8b 46 04             	mov    0x4(%esi),%eax
5767a1:	c7 46 5c 00 00 00 00 	movl   $0x0,0x5c(%esi)
5767a8:	85 c0                	test   %eax,%eax
5767aa:	75 0c                	jne    0x5767b8
5767ac:	50                   	push   %eax
5767ad:	ff 76 50             	push   0x50(%esi)
5767b0:	e8 cb ea f6 ff       	call   0x4e5280
5767b5:	83 c4 08             	add    $0x8,%esp
5767b8:	89 46 64             	mov    %eax,0x64(%esi)
5767bb:	8b 46 1c             	mov    0x1c(%esi),%eax
5767be:	56                   	push   %esi
5767bf:	6a 00                	push   $0x0
5767c1:	c7 46 60 40 00 00 00 	movl   $0x40,0x60(%esi)
5767c8:	ff d0                	call   *%eax
5767ca:	83 c4 08             	add    $0x8,%esp
5767cd:	85 c0                	test   %eax,%eax
5767cf:	75 07                	jne    0x5767d8
5767d1:	5f                   	pop    %edi
5767d2:	5e                   	pop    %esi
5767d3:	5d                   	pop    %ebp
5767d4:	33 c0                	xor    %eax,%eax
5767d6:	5b                   	pop    %ebx
5767d7:	c3                   	ret
5767d8:	5f                   	pop    %edi
5767d9:	5e                   	pop    %esi
5767da:	5d                   	pop    %ebp
5767db:	b8 01 00 00 00       	mov    $0x1,%eax
5767e0:	5b                   	pop    %ebx
5767e1:	c3                   	ret
5767e2:	cc                   	int3
5767e3:	cc                   	int3
5767e4:	cc                   	int3
5767e5:	cc                   	int3
5767e6:	cc                   	int3
5767e7:	cc                   	int3
5767e8:	cc                   	int3
5767e9:	cc                   	int3
5767ea:	cc                   	int3
5767eb:	cc                   	int3
5767ec:	cc                   	int3
5767ed:	cc                   	int3
5767ee:	cc                   	int3
5767ef:	cc                   	int3
5767f0:	ff 74 24 08          	push   0x8(%esp)
5767f4:	ff 74 24 10          	push   0x10(%esp)
5767f8:	e8 33 5f fe ff       	call   0x55c730
5767fd:	83 c4 08             	add    $0x8,%esp
576800:	f7 d8                	neg    %eax
576802:	1b c0                	sbb    %eax,%eax
576804:	40                   	inc    %eax
576805:	c3                   	ret
576806:	cc                   	int3
576807:	cc                   	int3
576808:	cc                   	int3
576809:	cc                   	int3
57680a:	cc                   	int3
57680b:	cc                   	int3
57680c:	cc                   	int3
57680d:	cc                   	int3
57680e:	cc                   	int3
57680f:	cc                   	int3
576810:	56                   	push   %esi
576811:	ff 74 24 0c          	push   0xc(%esp)
576815:	e8 16 19 fe ff       	call   0x558130
57681a:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
57681e:	83 c4 04             	add    $0x4,%esp
576821:	8b 49 10             	mov    0x10(%ecx),%ecx
576824:	8b 71 24             	mov    0x24(%ecx),%esi
576827:	85 f6                	test   %esi,%esi
576829:	7f 07                	jg     0x576832