561655:	33 c0                	xor    %eax,%eax
561657:	5e                   	pop    %esi
561658:	c3                   	ret
561659:	cc                   	int3
56165a:	cc                   	int3
56165b:	cc                   	int3
56165c:	cc                   	int3
56165d:	cc                   	int3
56165e:	cc                   	int3
56165f:	cc                   	int3
561660:	56                   	push   %esi
561661:	8b 74 24 08          	mov    0x8(%esp),%esi
561665:	ff 76 28             	push   0x28(%esi)
561668:	e8 b3 85 f7 ff       	call   0x4d9c20
56166d:	ff 76 44             	push   0x44(%esi)
561670:	e8 ab 85 f7 ff       	call   0x4d9c20
561675:	ff 76 48             	push   0x48(%esi)
561678:	e8 a3 85 f7 ff       	call   0x4d9c20
56167d:	83 c4 0c             	add    $0xc,%esp
561680:	5e                   	pop    %esi
561681:	c3                   	ret
561682:	cc                   	int3
561683:	cc                   	int3
561684:	cc                   	int3
561685:	cc                   	int3
561686:	cc                   	int3
561687:	cc                   	int3
561688:	cc                   	int3
561689:	cc                   	int3
56168a:	cc                   	int3
56168b:	cc                   	int3
56168c:	cc                   	int3
56168d:	cc                   	int3
56168e:	cc                   	int3
56168f:	cc                   	int3
561690:	56                   	push   %esi
561691:	8b 74 24 08          	mov    0x8(%esp),%esi
561695:	ff 76 28             	push   0x28(%esi)
561698:	e8 03 82 f7 ff       	call   0x4d98a0
56169d:	ff 76 44             	push   0x44(%esi)
5616a0:	e8 fb 81 f7 ff       	call   0x4d98a0
5616a5:	ff 76 48             	push   0x48(%esi)
5616a8:	e8 f3 81 f7 ff       	call   0x4d98a0
5616ad:	83 c4 0c             	add    $0xc,%esp
5616b0:	5e                   	pop    %esi
5616b1:	c3                   	ret
5616b2:	cc                   	int3
5616b3:	cc                   	int3
5616b4:	cc                   	int3
5616b5:	cc                   	int3
5616b6:	cc                   	int3
5616b7:	cc                   	int3
5616b8:	cc                   	int3
5616b9:	cc                   	int3
5616ba:	cc                   	int3
5616bb:	cc                   	int3
5616bc:	cc                   	int3
5616bd:	cc                   	int3
5616be:	cc                   	int3
5616bf:	cc                   	int3
5616c0:	56                   	push   %esi
5616c1:	8b 74 24 0c          	mov    0xc(%esp),%esi
5616c5:	57                   	push   %edi
5616c6:	8b 7c 24 0c          	mov    0xc(%esp),%edi
5616ca:	ff 76 28             	push   0x28(%esi)
5616cd:	ff 77 28             	push   0x28(%edi)
5616d0:	e8 0b 84 f7 ff       	call   0x4d9ae0
5616d5:	83 c4 08             	add    $0x8,%esp
5616d8:	85 c0                	test   %eax,%eax
5616da:	74 32                	je     0x56170e
5616dc:	ff 76 44             	push   0x44(%esi)
5616df:	ff 77 44             	push   0x44(%edi)
5616e2:	e8 f9 83 f7 ff       	call   0x4d9ae0
5616e7:	83 c4 08             	add    $0x8,%esp
5616ea:	85 c0                	test   %eax,%eax
5616ec:	74 20                	je     0x56170e
5616ee:	ff 76 48             	push   0x48(%esi)
5616f1:	ff 77 48             	push   0x48(%edi)
5616f4:	e8 e7 83 f7 ff       	call   0x4d9ae0
5616f9:	83 c4 08             	add    $0x8,%esp
5616fc:	85 c0                	test   %eax,%eax
5616fe:	74 0e                	je     0x56170e
561700:	8b 46 4c             	mov    0x4c(%esi),%eax
561703:	89 47 4c             	mov    %eax,0x4c(%edi)
561706:	b8 01 00 00 00       	mov    $0x1,%eax
56170b:	5f                   	pop    %edi
56170c:	5e                   	pop    %esi
56170d:	c3                   	ret
56170e:	5f                   	pop    %edi
56170f:	33 c0                	xor    %eax,%eax
561711:	5e                   	pop    %esi
561712:	c3                   	ret
561713:	cc                   	int3
561714:	cc                   	int3
561715:	cc                   	int3
561716:	cc                   	int3
561717:	cc                   	int3
561718:	cc                   	int3
561719:	cc                   	int3
56171a:	cc                   	int3
56171b:	cc                   	int3
56171c:	cc                   	int3
56171d:	cc                   	int3
56171e:	cc                   	int3
56171f:	cc                   	int3
561720:	b8 08 00 00 00       	mov    $0x8,%eax
561725:	e8 86 00 07 00       	call   0x5d17b0
56172a:	53                   	push   %ebx
56172b:	8b 5c 24 14          	mov    0x14(%esp),%ebx
56172f:	53                   	push   %ebx
561730:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
561737:	00
561738:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
56173f:	00
561740:	e8 db 86 f7 ff       	call   0x4d9e20
561745:	83 c4 04             	add    $0x4,%esp
561748:	83 f8 02             	cmp    $0x2,%eax
56174b:	0f 8e 28 01 00 00    	jle    0x561879
561751:	53                   	push   %ebx
561752:	e8 99 85 f7 ff       	call   0x4d9cf0
561757:	83 c4 04             	add    $0x4,%esp
56175a:	85 c0                	test   %eax,%eax
56175c:	0f 84 17 01 00 00    	je     0x561879
561762:	56                   	push   %esi
561763:	8b 74 24 24          	mov    0x24(%esp),%esi
561767:	57                   	push   %edi
561768:	85 f6                	test   %esi,%esi
56176a:	75 18                	jne    0x561784
56176c:	e8 af 65 f8 ff       	call   0x4e7d20
561771:	8b f8                	mov    %eax,%edi
561773:	89 7c 24 0c          	mov    %edi,0xc(%esp)
561777:	8b f7                	mov    %edi,%esi
561779:	85 ff                	test   %edi,%edi
56177b:	75 07                	jne    0x561784
56177d:	5f                   	pop    %edi
56177e:	5e                   	pop    %esi
56177f:	5b                   	pop    %ebx
561780:	83 c4 08             	add    $0x8,%esp
561783:	c3                   	ret
561784:	55                   	push   %ebp
561785:	56                   	push   %esi
561786:	e8 85 66 f8 ff       	call   0x4e7e10
56178b:	56                   	push   %esi
56178c:	e8 3f 64 f8 ff       	call   0x4e7bd0
561791:	8b e8                	mov    %eax,%ebp
561793:	83 c4 08             	add    $0x8,%esp
561796:	85 ed                	test   %ebp,%ebp
561798:	0f 84 bd 00 00 00    	je     0x56185b
56179e:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
5617a2:	53                   	push   %ebx
5617a3:	ff 77 28             	push   0x28(%edi)
5617a6:	e8 35 83 f7 ff       	call   0x4d9ae0
5617ab:	83 c4 08             	add    $0x8,%esp
5617ae:	85 c0                	test   %eax,%eax
5617b0:	0f 84 a5 00 00 00    	je     0x56185b
5617b6:	6a 00                	push   $0x0
5617b8:	ff 77 28             	push   0x28(%edi)
5617bb:	e8 f0 88 f7 ff       	call   0x4da0b0
5617c0:	56                   	push   %esi
5617c1:	53                   	push   %ebx
5617c2:	ff 74 24 34          	push   0x34(%esp)
5617c6:	55                   	push   %ebp
5617c7:	e8 f4 bf f9 ff       	call   0x4fd7c0
5617cc:	83 c4 18             	add    $0x18,%esp
5617cf:	85 c0                	test   %eax,%eax
5617d1:	0f 84 84 00 00 00    	je     0x56185b
5617d7:	8b 07                	mov    (%edi),%eax
5617d9:	8b 88 98 00 00 00    	mov    0x98(%eax),%ecx
5617df:	8b 47 44             	mov    0x44(%edi),%eax
5617e2:	85 c9                	test   %ecx,%ecx
5617e4:	74 0b                	je     0x5617f1
5617e6:	56                   	push   %esi
5617e7:	55                   	push   %ebp
5617e8:	50                   	push   %eax
5617e9:	57                   	push   %edi
5617ea:	ff d1                	call   *%ecx
5617ec:	83 c4 10             	add    $0x10,%esp
5617ef:	eb 0a                	jmp    0x5617fb
5617f1:	55                   	push   %ebp
5617f2:	50                   	push   %eax
5617f3:	e8 e8 82 f7 ff       	call   0x4d9ae0
5617f8:	83 c4 08             	add    $0x8,%esp
5617fb:	85 c0                	test   %eax,%eax
5617fd:	74 5c                	je     0x56185b
5617ff:	56                   	push   %esi
561800:	53                   	push   %ebx
561801:	ff 74 24 30          	push   0x30(%esp)
561805:	ff 77 48             	push   0x48(%edi)
561808:	e8 b3 bf f9 ff       	call   0x4fd7c0
56180d:	83 c4 10             	add    $0x10,%esp
561810:	85 c0                	test   %eax,%eax
561812:	74 47                	je     0x56185b
561814:	8b 07                	mov    (%edi),%eax
561816:	8b 88 98 00 00 00    	mov    0x98(%eax),%ecx
56181c:	85 c9                	test   %ecx,%ecx
56181e:	74 10                	je     0x561830
561820:	8b 47 48             	mov    0x48(%edi),%eax
561823:	56                   	push   %esi
561824:	50                   	push   %eax
561825:	50                   	push   %eax
561826:	57                   	push   %edi
561827:	ff d1                	call   *%ecx
561829:	83 c4 10             	add    $0x10,%esp
56182c:	85 c0                	test   %eax,%eax
56182e:	74 2b                	je     0x56185b
561830:	6a 03                	push   $0x3
561832:	55                   	push   %ebp
561833:	e8 58 ad f9 ff       	call   0x4fc590
561838:	83 c4 08             	add    $0x8,%esp
56183b:	85 c0                	test   %eax,%eax
56183d:	74 1c                	je     0x56185b
56183f:	ff 77 28             	push   0x28(%edi)
561842:	55                   	push   %ebp
561843:	e8 c8 80 f7 ff       	call   0x4d9910
561848:	83 c4 08             	add    $0x8,%esp
56184b:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
561852:	00
561853:	f7 d8                	neg    %eax
561855:	1b c0                	sbb    %eax,%eax
561857:	40                   	inc    %eax
561858:	89 47 4c             	mov    %eax,0x4c(%edi)
56185b:	56                   	push   %esi
56185c:	e8 6f 62 f8 ff       	call   0x4e7ad0
561861:	ff 74 24 14          	push   0x14(%esp)
561865:	e8 d6 62 f8 ff       	call   0x4e7b40
56186a:	8b 44 24 1c          	mov    0x1c(%esp),%eax
56186e:	83 c4 08             	add    $0x8,%esp
561871:	5d                   	pop    %ebp
561872:	5f                   	pop    %edi
561873:	5e                   	pop    %esi
561874:	5b                   	pop    %ebx
561875:	83 c4 08             	add    $0x8,%esp
561878:	c3                   	ret
561879:	68 90 00 00 00       	push   $0x90
56187e:	68 ac 7c 65 00       	push   $0x657cac
561883:	6a 67                	push   $0x67
561885:	68 a6 00 00 00       	push   $0xa6
56188a:	6a 10                	push   $0x10
56188c:	e8 ef 76 f7 ff       	call   0x4d8f80
561891:	83 c4 14             	add    $0x14,%esp
561894:	33 c0                	xor    %eax,%eax
561896:	5b                   	pop    %ebx
561897:	83 c4 08             	add    $0x8,%esp
56189a:	c3                   	ret
56189b:	cc                   	int3
56189c:	cc                   	int3
56189d:	cc                   	int3
56189e:	cc                   	int3
56189f:	cc                   	int3
5618a0:	b8 04 00 00 00       	mov    $0x4,%eax
5618a5:	e8 06 ff 06 00       	call   0x5d17b0
5618aa:	8b 44 24 0c          	mov    0xc(%esp),%eax
5618ae:	53                   	push   %ebx
5618af:	55                   	push   %ebp
5618b0:	56                   	push   %esi
5618b1:	8b 74 24 14          	mov    0x14(%esp),%esi
5618b5:	33 ed                	xor    %ebp,%ebp
5618b7:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
5618be:	00
5618bf:	57                   	push   %edi
5618c0:	85 c0                	test   %eax,%eax
5618c2:	74 10                	je     0x5618d4
5618c4:	ff 76 28             	push   0x28(%esi)
5618c7:	50                   	push   %eax
5618c8:	e8 13 82 f7 ff       	call   0x4d9ae0
5618cd:	83 c4 08             	add    $0x8,%esp
5618d0:	85 c0                	test   %eax,%eax
5618d2:	74 37                	je     0x56190b
5618d4:	8b 5c 24 20          	mov    0x20(%esp),%ebx
5618d8:	8b 7c 24 24          	mov    0x24(%esp),%edi
5618dc:	85 db                	test   %ebx,%ebx
5618de:	75 08                	jne    0x5618e8
5618e0:	85 ff                	test   %edi,%edi
5618e2:	0f 84 8a 00 00 00    	je     0x561972
5618e8:	8b 06                	mov    (%esi),%eax
5618ea:	39 a8 9c 00 00 00    	cmp    %ebp,0x9c(%eax)
5618f0:	74 58                	je     0x56194a
5618f2:	8b 4c 24 28          	mov    0x28(%esp),%ecx
5618f6:	85 c9                	test   %ecx,%ecx
5618f8:	75 19                	jne    0x561913
5618fa:	e8 21 64 f8 ff       	call   0x4e7d20
5618ff:	8b e8                	mov    %eax,%ebp
561901:	8b cd                	mov    %ebp,%ecx
561903:	89 4c 24 28          	mov    %ecx,0x28(%esp)
561907:	85 ed                	test   %ebp,%ebp
561909:	75 08                	jne    0x561913
56190b:	5f                   	pop    %edi
56190c:	5e                   	pop    %esi
56190d:	5d                   	pop    %ebp
56190e:	33 c0                	xor    %eax,%eax
561910:	5b                   	pop    %ebx
561911:	59                   	pop    %ecx
561912:	c3                   	ret
561913:	85 db                	test   %ebx,%ebx
561915:	74 17                	je     0x56192e
561917:	8b 06                	mov    (%esi),%eax
561919:	51                   	push   %ecx
56191a:	ff 76 44             	push   0x44(%esi)
56191d:	8b 80 9c 00 00 00    	mov    0x9c(%eax),%eax
561923:	53                   	push   %ebx
561924:	56                   	push   %esi
561925:	ff d0                	call   *%eax
561927:	83 c4 10             	add    $0x10,%esp
56192a:	85 c0                	test   %eax,%eax
56192c:	74 4c                	je     0x56197a
56192e:	85 ff                	test   %edi,%edi
561930:	74 40                	je     0x561972
561932:	ff 74 24 28          	push   0x28(%esp)
561936:	8b 06                	mov    (%esi),%eax
561938:	ff 76 48             	push   0x48(%esi)
56193b:	57                   	push   %edi
56193c:	8b 80 9c 00 00 00    	mov    0x9c(%eax),%eax
561942:	56                   	push   %esi
561943:	ff d0                	call   *%eax
561945:	83 c4 10             	add    $0x10,%esp
561948:	eb 24                	jmp    0x56196e
56194a:	85 db                	test   %ebx,%ebx
56194c:	74 10                	je     0x56195e
56194e:	ff 76 44             	push   0x44(%esi)
561951:	53                   	push   %ebx
561952:	e8 89 81 f7 ff       	call   0x4d9ae0
561957:	83 c4 08             	add    $0x8,%esp
56195a:	85 c0                	test   %eax,%eax
56195c:	74 1c                	je     0x56197a
56195e:	85 ff                	test   %edi,%edi
561960:	74 10                	je     0x561972
561962:	ff 76 48             	push   0x48(%esi)
561965:	57                   	push   %edi
561966:	e8 75 81 f7 ff       	call   0x4d9ae0
56196b:	83 c4 08             	add    $0x8,%esp
56196e:	85 c0                	test   %eax,%eax
561970:	74 08                	je     0x56197a
561972:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
561979:	00
56197a:	55                   	push   %ebp
56197b:	e8 c0 61 f8 ff       	call   0x4e7b40
561980:	8b 44 24 14          	mov    0x14(%esp),%eax
561984:	83 c4 04             	add    $0x4,%esp
561987:	5f                   	pop    %edi
561988:	5e                   	pop    %esi
561989:	5d                   	pop    %ebp
56198a:	5b                   	pop    %ebx
56198b:	59                   	pop    %ecx
56198c:	c3                   	ret
56198d:	cc                   	int3
56198e:	cc                   	int3
56198f:	cc                   	int3
561990:	8b 44 24 04          	mov    0x4(%esp),%eax
561994:	ff 70 28             	push   0x28(%eax)
561997:	e8 84 84 f7 ff       	call   0x4d9e20