575497:	83 f9 18             	cmp    $0x18,%ecx
57549a:	75 1b                	jne    0x5754b7
57549c:	ff 74 24 10          	push   0x10(%esp)
5754a0:	6a 00                	push   $0x0
5754a2:	ff 74 24 0c          	push   0xc(%esp)
5754a6:	ff 74 24 0c          	push   0xc(%esp)
5754aa:	50                   	push   %eax
5754ab:	e8 00 eb ff ff       	call   0x573fb0
5754b0:	83 c4 14             	add    $0x14,%esp
5754b3:	83 c4 08             	add    $0x8,%esp
5754b6:	c3                   	ret
5754b7:	ff 74 24 10          	push   0x10(%esp)
5754bb:	6a 00                	push   $0x0
5754bd:	ff 74 24 0c          	push   0xc(%esp)
5754c1:	ff 74 24 0c          	push   0xc(%esp)
5754c5:	50                   	push   %eax
5754c6:	e8 05 58 fe ff       	call   0x55acd0
5754cb:	83 c4 14             	add    $0x14,%esp
5754ce:	83 c4 08             	add    $0x8,%esp
5754d1:	c3                   	ret
5754d2:	cc                   	int3
5754d3:	cc                   	int3
5754d4:	cc                   	int3
5754d5:	cc                   	int3
5754d6:	cc                   	int3
5754d7:	cc                   	int3
5754d8:	cc                   	int3
5754d9:	cc                   	int3
5754da:	cc                   	int3
5754db:	cc                   	int3
5754dc:	cc                   	int3
5754dd:	cc                   	int3
5754de:	cc                   	int3
5754df:	cc                   	int3
5754e0:	56                   	push   %esi
5754e1:	8b 74 24 08          	mov    0x8(%esp),%esi
5754e5:	57                   	push   %edi
5754e6:	8b 46 04             	mov    0x4(%esi),%eax
5754e9:	8b be 80 00 00 00    	mov    0x80(%esi),%edi
5754ef:	85 c0                	test   %eax,%eax
5754f1:	75 25                	jne    0x575518
5754f3:	68 04 01 00 00       	push   $0x104
5754f8:	68 54 a7 65 00       	push   $0x65a754
5754fd:	6a 69                	push   $0x69
5754ff:	6a 7f                	push   $0x7f
575501:	6a 0b                	push   $0xb
575503:	e8 78 3a f6 ff       	call   0x4d8f80
575508:	83 c4 14             	add    $0x14,%esp
57550b:	c7 46 60 45 00 00 00 	movl   $0x45,0x60(%esi)
575512:	83 c8 ff             	or     $0xffffffff,%eax
575515:	5f                   	pop    %edi
575516:	5e                   	pop    %esi
575517:	c3                   	ret
575518:	83 7e 50 00          	cmpl   $0x0,0x50(%esi)
57551c:	74 0e                	je     0x57552c
57551e:	68 0e 01 00 00       	push   $0x10e
575523:	68 54 a7 65 00       	push   $0x65a754
575528:	6a 42                	push   $0x42
57552a:	eb d3                	jmp    0x5754ff
57552c:	50                   	push   %eax
57552d:	e8 7e b9 fa ff       	call   0x520eb0
575532:	83 c4 04             	add    $0x4,%esp
575535:	85 c0                	test   %eax,%eax
575537:	75 25                	jne    0x57555e
575539:	68 14 01 00 00       	push   $0x114
57553e:	68 54 a7 65 00       	push   $0x65a754
575543:	6a 44                	push   $0x44
575545:	6a 7f                	push   $0x7f
575547:	6a 0b                	push   $0xb
575549:	e8 32 3a f6 ff       	call   0x4d8f80
57554e:	83 c4 14             	add    $0x14,%esp
575551:	c7 46 60 01 00 00 00 	movl   $0x1,0x60(%esi)
575558:	83 c8 ff             	or     $0xffffffff,%eax
57555b:	5f                   	pop    %edi
57555c:	5e                   	pop    %esi
57555d:	c3                   	ret
57555e:	e8 bd fa f6 ff       	call   0x4e5020
575563:	89 46 50             	mov    %eax,0x50(%esi)
575566:	85 c0                	test   %eax,%eax
575568:	0f 84 99 00 00 00    	je     0x575607
57556e:	ff 76 04             	push   0x4(%esi)
575571:	50                   	push   %eax
575572:	e8 d9 fb f6 ff       	call   0x4e5150
575577:	83 c4 08             	add    $0x8,%esp
57557a:	85 c0                	test   %eax,%eax
57557c:	0f 84 85 00 00 00    	je     0x575607
575582:	ff 76 04             	push   0x4(%esi)
575585:	c7 46 4c 01 00 00 00 	movl   $0x1,0x4c(%esi)
57558c:	56                   	push   %esi
57558d:	e8 7e 12 00 00       	call   0x576810
575592:	83 c4 08             	add    $0x8,%esp
575595:	85 c0                	test   %eax,%eax
575597:	75 36                	jne    0x5755cf
575599:	8b 46 04             	mov    0x4(%esi),%eax
57559c:	c7 46 5c 00 00 00 00 	movl   $0x0,0x5c(%esi)
5755a3:	85 c0                	test   %eax,%eax
5755a5:	75 0c                	jne    0x5755b3
5755a7:	50                   	push   %eax
5755a8:	ff 76 50             	push   0x50(%esi)
5755ab:	e8 d0 fc f6 ff       	call   0x4e5280
5755b0:	83 c4 08             	add    $0x8,%esp
5755b3:	89 46 64             	mov    %eax,0x64(%esi)
5755b6:	8b 46 1c             	mov    0x1c(%esi),%eax
5755b9:	56                   	push   %esi
5755ba:	6a 00                	push   $0x0
5755bc:	c7 46 60 42 00 00 00 	movl   $0x42,0x60(%esi)
5755c3:	ff d0                	call   *%eax
5755c5:	83 c4 08             	add    $0x8,%esp
5755c8:	85 c0                	test   %eax,%eax
5755ca:	75 03                	jne    0x5755cf
5755cc:	5f                   	pop    %edi
5755cd:	5e                   	pop    %esi
5755ce:	c3                   	ret
5755cf:	85 ff                	test   %edi,%edi
5755d1:	74 17                	je     0x5755ea
5755d3:	ff 77 04             	push   0x4(%edi)
5755d6:	e8 e5 fa f6 ff       	call   0x4e50c0
5755db:	83 c4 04             	add    $0x4,%esp
5755de:	85 c0                	test   %eax,%eax
5755e0:	7e 08                	jle    0x5755ea
5755e2:	56                   	push   %esi
5755e3:	e8 08 23 00 00       	call   0x5778f0
5755e8:	eb 06                	jmp    0x5755f0
5755ea:	56                   	push   %esi
5755eb:	e8 70 2c 00 00       	call   0x578260
5755f0:	83 c4 04             	add    $0x4,%esp
5755f3:	85 c0                	test   %eax,%eax
5755f5:	7f 3a                	jg     0x575631
5755f7:	83 7e 60 00          	cmpl   $0x0,0x60(%esi)
5755fb:	75 34                	jne    0x575631
5755fd:	5f                   	pop    %edi
5755fe:	c7 46 60 01 00 00 00 	movl   $0x1,0x60(%esi)
575605:	5e                   	pop    %esi
575606:	c3                   	ret
575607:	ff 76 04             	push   0x4(%esi)
57560a:	e8 d1 1b fe ff       	call   0x5571e0
57560f:	68 20 01 00 00       	push   $0x120
575614:	68 54 a7 65 00       	push   $0x65a754
575619:	6a 41                	push   $0x41
57561b:	6a 7f                	push   $0x7f
57561d:	6a 0b                	push   $0xb
57561f:	e8 5c 39 f6 ff       	call   0x4d8f80
575624:	83 c4 18             	add    $0x18,%esp
575627:	c7 46 60 11 00 00 00 	movl   $0x11,0x60(%esi)
57562e:	83 c8 ff             	or     $0xffffffff,%eax
575631:	5f                   	pop    %edi
575632:	5e                   	pop    %esi
575633:	c3                   	ret
575634:	cc                   	int3
575635:	cc                   	int3
575636:	cc                   	int3
575637:	cc                   	int3
575638:	cc                   	int3
575639:	cc                   	int3
57563a:	cc                   	int3
57563b:	cc                   	int3
57563c:	cc                   	int3
57563d:	cc                   	int3
57563e:	cc                   	int3
57563f:	cc                   	int3
575640:	b8 30 00 00 00       	mov    $0x30,%eax
575645:	e8 66 c1 05 00       	call   0x5d17b0
57564a:	53                   	push   %ebx
57564b:	55                   	push   %ebp
57564c:	56                   	push   %esi
57564d:	8b 74 24 40          	mov    0x40(%esp),%esi
575651:	57                   	push   %edi
575652:	8b ae 80 00 00 00    	mov    0x80(%esi),%ebp
575658:	ff 76 50             	push   0x50(%esi)
57565b:	89 6c 24 18          	mov    %ebp,0x18(%esp)
57565f:	e8 5c fa f6 ff       	call   0x4e50c0
575664:	89 44 24 48          	mov    %eax,0x48(%esp)
575668:	8d 48 ff             	lea    -0x1(%eax),%ecx
57566b:	51                   	push   %ecx
57566c:	ff 76 50             	push   0x50(%esi)
57566f:	e8 0c fc f6 ff       	call   0x4e5280
575674:	6a 00                	push   $0x0
575676:	8b d8                	mov    %eax,%ebx
575678:	6a ff                	push   $0xffffffff
57567a:	53                   	push   %ebx
57567b:	e8 90 6e fe ff       	call   0x55c510
575680:	83 c4 18             	add    $0x18,%esp
575683:	83 f8 01             	cmp    $0x1,%eax
575686:	74 04                	je     0x57568c
575688:	33 db                	xor    %ebx,%ebx
57568a:	eb 0c                	jmp    0x575698
57568c:	8b 9b 80 00 00 00    	mov    0x80(%ebx),%ebx
575692:	c1 eb 0d             	shr    $0xd,%ebx
575695:	83 e3 01             	and    $0x1,%ebx
575698:	83 7c 24 44 01       	cmpl   $0x1,0x44(%esp)
57569d:	bf 03 00 00 00       	mov    $0x3,%edi
5756a2:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
5756a9:	00
5756aa:	c7 44 24 34 00 00 00 	movl   $0x0,0x34(%esp)
5756b1:	00
5756b2:	c7 44 24 30 00 00 00 	movl   $0x0,0x30(%esp)
5756b9:	00
5756ba:	89 7c 24 20          	mov    %edi,0x20(%esp)
5756be:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%esp)
5756c5:	00
5756c6:	0f 85 fb 07 00 00    	jne    0x575ec7
5756cc:	83 7e 4c 01          	cmpl   $0x1,0x4c(%esi)
5756d0:	0f 85 f1 07 00 00    	jne    0x575ec7
5756d6:	8b 56 08             	mov    0x8(%esi),%edx
5756d9:	33 c9                	xor    %ecx,%ecx
5756db:	85 d2                	test   %edx,%edx
5756dd:	0f 95 c1             	setne  %cl
5756e0:	89 4c 24 10          	mov    %ecx,0x10(%esp)
5756e4:	85 ed                	test   %ebp,%ebp
5756e6:	74 0b                	je     0x5756f3
5756e8:	8b 45 14             	mov    0x14(%ebp),%eax
5756eb:	a8 03                	test   $0x3,%al
5756ed:	75 04                	jne    0x5756f3
5756ef:	a8 0c                	test   $0xc,%al
5756f1:	75 31                	jne    0x575724
5756f3:	85 d2                	test   %edx,%edx
5756f5:	74 1e                	je     0x575715
5756f7:	8b 46 10             	mov    0x10(%esi),%eax
5756fa:	8b 40 14             	mov    0x14(%eax),%eax
5756fd:	a9 00 80 00 00       	test   $0x8000,%eax
575702:	75 11                	jne    0x575715
575704:	a9 00 00 10 00       	test   $0x100000,%eax
575709:	75 11                	jne    0x57571c
57570b:	c7 44 24 30 01 00 00 	movl   $0x1,0x30(%esp)
575712:	00
575713:	eb 07                	jmp    0x57571c
575715:	83 c9 02             	or     $0x2,%ecx
575718:	89 4c 24 10          	mov    %ecx,0x10(%esp)
57571c:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%esp)
575723:	00
575724:	85 d2                	test   %edx,%edx
575726:	74 3a                	je     0x575762
575728:	52                   	push   %edx
575729:	e8 a2 f6 f6 ff       	call   0x4e4dd0
57572e:	83 c4 04             	add    $0x4,%esp
575731:	89 44 24 18          	mov    %eax,0x18(%esp)
575735:	85 c0                	test   %eax,%eax
575737:	75 29                	jne    0x575762
575739:	68 9e 0b 00 00       	push   $0xb9e
57573e:	68 54 a7 65 00       	push   $0x65a754
575743:	6a 41                	push   $0x41
575745:	6a 6a                	push   $0x6a
575747:	6a 0b                	push   $0xb
575749:	e8 32 38 f6 ff       	call   0x4d8f80
57574e:	83 c4 14             	add    $0x14,%esp
575751:	c7 46 60 11 00 00 00 	movl   $0x11,0x60(%esi)
575758:	33 c0                	xor    %eax,%eax
57575a:	5f                   	pop    %edi
57575b:	5e                   	pop    %esi
57575c:	5d                   	pop    %ebp
57575d:	5b                   	pop    %ebx
57575e:	83 c4 30             	add    $0x30,%esp
575761:	c3                   	ret
575762:	85 ed                	test   %ebp,%ebp
575764:	74 7f                	je     0x5757e5
575766:	ff 75 04             	push   0x4(%ebp)
575769:	e8 52 f9 f6 ff       	call   0x4e50c0
57576e:	83 c4 04             	add    $0x4,%esp
575771:	85 c0                	test   %eax,%eax
575773:	7e 70                	jle    0x5757e5
575775:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
575779:	74 6a                	je     0x5757e5
57577b:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
575780:	75 14                	jne    0x575796
575782:	e8 99 f8 f6 ff       	call   0x4e5020
575787:	89 44 24 18          	mov    %eax,0x18(%esp)
57578b:	85 c0                	test   %eax,%eax
57578d:	75 07                	jne    0x575796
57578f:	68 af 0b 00 00       	push   $0xbaf
575794:	eb a8                	jmp    0x57573e
575796:	ff 75 08             	push   0x8(%ebp)
575799:	c7 44 24 48 00 00 00 	movl   $0x0,0x48(%esp)
5757a0:	00
5757a1:	e8 1a f9 f6 ff       	call   0x4e50c0
5757a6:	83 c4 04             	add    $0x4,%esp
5757a9:	85 c0                	test   %eax,%eax
5757ab:	7e 38                	jle    0x5757e5
5757ad:	33 c9                	xor    %ecx,%ecx
5757af:	90                   	nop
5757b0:	51                   	push   %ecx
5757b1:	ff 75 08             	push   0x8(%ebp)
5757b4:	e8 c7 fa f6 ff       	call   0x4e5280
5757b9:	50                   	push   %eax
5757ba:	ff 74 24 24          	push   0x24(%esp)
5757be:	e8 8d f9 f6 ff       	call   0x4e5150
5757c3:	83 c4 10             	add    $0x10,%esp
5757c6:	85 c0                	test   %eax,%eax
5757c8:	0f 84 7f 01 00 00    	je     0x57594d
5757ce:	ff 75 08             	push   0x8(%ebp)
5757d1:	ff 44 24 48          	incl   0x48(%esp)
5757d5:	e8 e6 f8 f6 ff       	call   0x4e50c0
5757da:	8b 4c 24 48          	mov    0x48(%esp),%ecx
5757de:	83 c4 04             	add    $0x4,%esp
5757e1:	3b c8                	cmp    %eax,%ecx
5757e3:	7c cb                	jl     0x5757b0
5757e5:	8b 46 10             	mov    0x10(%esi),%eax
5757e8:	81 78 20 ff ff ff 3f 	cmpl   $0x3fffffff,0x20(%eax)
5757ef:	7e 0a                	jle    0x5757fb
5757f1:	c7 40 20 ff ff ff 3f 	movl   $0x3fffffff,0x20(%eax)
5757f8:	8b 46 10             	mov    0x10(%esi),%eax
5757fb:	8b 40 20             	mov    0x20(%eax),%eax
5757fe:	8b 4c 24 10          	mov    0x10(%esp),%ecx
575802:	40                   	inc    %eax
575803:	89 44 24 28          	mov    %eax,0x28(%esp)
575807:	85 c9                	test   %ecx,%ecx
575809:	0f 84 29 04 00 00    	je     0x575c38
57580f:	90                   	nop
575810:	c7 44 24 44 00 00 00 	movl   $0x0,0x44(%esp)
575817:	00
575818:	f6 c1 02             	test   $0x2,%cl
57581b:	0f 84 2b 02 00 00    	je     0x575a4c
575821:	ff 76 50             	push   0x50(%esi)
575824:	e8 97 f8 f6 ff       	call   0x4e50c0
575829:	8b 6c 24 14          	mov    0x14(%esp),%ebp
57582d:	8b f8                	mov    %eax,%edi
57582f:	8b c5                	mov    %ebp,%eax
575831:	89 7c 24 20          	mov    %edi,0x20(%esp)
575835:	83 e0 04             	and    $0x4,%eax
575838:	89 44 24 3c          	mov    %eax,0x3c(%esp)
57583c:	8b c7                	mov    %edi,%eax
57583e:	0f 45 44 24 28       	cmovne 0x28(%esp),%eax
575843:	89 44 24 40          	mov    %eax,0x40(%esp)
575847:	8d 48 ff             	lea    -0x1(%eax),%ecx
57584a:	51                   	push   %ecx
57584b:	ff 76 50             	push   0x50(%esi)
57584e:	e8 2d fa f6 ff       	call   0x4e5280
575853:	83 c4 0c             	add    $0xc,%esp
575856:	89 44 24 2c          	mov    %eax,0x2c(%esp)
57585a:	39 7c 24 28          	cmp    %edi,0x28(%esp)
57585e:	0f 8c 96 01 00 00    	jl     0x5759fa
575864:	8b 7e 50             	mov    0x50(%esi),%edi
575867:	50                   	push   %eax
575868:	8d 44 24 48          	lea    0x48(%esp),%eax
57586c:	c7 46 50 00 00 00 00 	movl   $0x0,0x50(%esi)
575873:	56                   	push   %esi
575874:	50                   	push   %eax
575875:	8b 46 20             	mov    0x20(%esi),%eax
575878:	ff d0                	call   *%eax
57587a:	83 c4 0c             	add    $0xc,%esp
57587d:	89 7e 50             	mov    %edi,0x50(%esi)
575880:	85 c0                	test   %eax,%eax
575882:	0f 88 6c 03 00 00    	js     0x575bf4
575888:	0f 8e 6c 01 00 00    	jle    0x5759fa
57588e:	83 7c 24 38 00       	cmpl   $0x0,0x38(%esp)
575893:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
575897:	0f 84 e2 00 00 00    	je     0x57597f
57589d:	8b 44 24 3c          	mov    0x3c(%esp),%eax
5758a1:	3b f8                	cmp    %eax,%edi
5758a3:	0f 8e f7 02 00 00    	jle    0x575ba0
5758a9:	85 c0                	test   %eax,%eax