566630:	ff 74 24 3c          	push   0x3c(%esp)
566634:	53                   	push   %ebx
566635:	56                   	push   %esi
566636:	56                   	push   %esi
566637:	e8 94 70 f9 ff       	call   0x4fd6d0
56663c:	83 c4 10             	add    $0x10,%esp
56663f:	85 c0                	test   %eax,%eax
566641:	0f 84 e3 fd ff ff    	je     0x56642a
566647:	4f                   	dec    %edi
566648:	85 ff                	test   %edi,%edi
56664a:	7f e4                	jg     0x566630
56664c:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
566650:	57                   	push   %edi
566651:	53                   	push   %ebx
566652:	56                   	push   %esi
566653:	56                   	push   %esi
566654:	ff 74 24 24          	push   0x24(%esp)
566658:	e8 f3 6f f9 ff       	call   0x4fd650
56665d:	83 c4 14             	add    $0x14,%esp
566660:	85 c0                	test   %eax,%eax
566662:	0f 84 c2 fd ff ff    	je     0x56642a
566668:	8b 44 24 18          	mov    0x18(%esp),%eax
56666c:	57                   	push   %edi
56666d:	53                   	push   %ebx
56666e:	56                   	push   %esi
56666f:	50                   	push   %eax
566670:	50                   	push   %eax
566671:	e8 da 6f f9 ff       	call   0x4fd650
566676:	83 c4 14             	add    $0x14,%esp
566679:	85 c0                	test   %eax,%eax
56667b:	0f 84 a9 fd ff ff    	je     0x56642a
566681:	8b 44 24 20          	mov    0x20(%esp),%eax
566685:	57                   	push   %edi
566686:	53                   	push   %ebx
566687:	ff 74 24 1c          	push   0x1c(%esp)
56668b:	50                   	push   %eax
56668c:	50                   	push   %eax
56668d:	e8 be 6f f9 ff       	call   0x4fd650
566692:	83 c4 14             	add    $0x14,%esp
566695:	85 c0                	test   %eax,%eax
566697:	0f 84 8d fd ff ff    	je     0x56642a
56669d:	ff 74 24 20          	push   0x20(%esp)
5666a1:	8b fd                	mov    %ebp,%edi
5666a3:	e8 68 36 f7 ff       	call   0x4d9d10
5666a8:	83 c4 04             	add    $0x4,%esp
5666ab:	85 c0                	test   %eax,%eax
5666ad:	0f 84 fe fe ff ff    	je     0x5665b1
5666b3:	8b 6c 24 3c          	mov    0x3c(%esp),%ebp
5666b7:	8b 7c 24 18          	mov    0x18(%esp),%edi
5666bb:	8b 74 24 10          	mov    0x10(%esp),%esi
5666bf:	e9 53 fc ff ff       	jmp    0x566317
5666c4:	68 37 01 00 00       	push   $0x137
5666c9:	68 d4 7e 65 00       	push   $0x657ed4
5666ce:	6a 6f                	push   $0x6f
5666d0:	e9 49 fd ff ff       	jmp    0x56641e
5666d5:	68 c8 00 00 00       	push   $0xc8
5666da:	68 d4 7e 65 00       	push   $0x657ed4
5666df:	6a 70                	push   $0x70
5666e1:	e9 38 fd ff ff       	jmp    0x56641e
5666e6:	8b 74 24 24          	mov    0x24(%esp),%esi
5666ea:	6a 02                	push   $0x2
5666ec:	53                   	push   %ebx
5666ed:	56                   	push   %esi
5666ee:	e8 ed 44 f8 ff       	call   0x4eabe0
5666f3:	83 c4 0c             	add    $0xc,%esp
5666f6:	85 c0                	test   %eax,%eax
5666f8:	0f 84 2c fd ff ff    	je     0x56642a
5666fe:	6a 01                	push   $0x1
566700:	56                   	push   %esi
566701:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
566708:	e8 83 5e f9 ff       	call   0x4fc590
56670d:	83 c4 08             	add    $0x8,%esp
566710:	85 c0                	test   %eax,%eax
566712:	0f 84 12 fd ff ff    	je     0x56642a
566718:	55                   	push   %ebp
566719:	53                   	push   %ebx
56671a:	56                   	push   %esi
56671b:	ff 74 24 28          	push   0x28(%esp)
56671f:	8b 74 24 20          	mov    0x20(%esp),%esi
566723:	56                   	push   %esi
566724:	e8 77 74 f9 ff       	call   0x4fdba0
566729:	83 c4 14             	add    $0x14,%esp
56672c:	85 c0                	test   %eax,%eax
56672e:	0f 84 fa fc ff ff    	je     0x56642e
566734:	8b 7c 24 18          	mov    0x18(%esp),%edi
566738:	55                   	push   %ebp
566739:	53                   	push   %ebx
56673a:	56                   	push   %esi
56673b:	57                   	push   %edi
56673c:	e8 8f 6f f9 ff       	call   0x4fd6d0
566741:	83 c4 10             	add    $0x10,%esp
566744:	85 c0                	test   %eax,%eax
566746:	0f 84 e2 fc ff ff    	je     0x56642e
56674c:	ff 74 24 1c          	push   0x1c(%esp)
566750:	57                   	push   %edi
566751:	e8 ba 31 f7 ff       	call   0x4d9910
566756:	83 c4 08             	add    $0x8,%esp
566759:	85 c0                	test   %eax,%eax
56675b:	0f 84 e2 fc ff ff    	je     0x566443
566761:	68 59 01 00 00       	push   $0x159
566766:	68 d4 7e 65 00       	push   $0x657ed4
56676b:	6a 6f                	push   $0x6f
56676d:	6a 79                	push   $0x79
56676f:	6a 03                	push   $0x3
566771:	e8 0a 28 f7 ff       	call   0x4d8f80
566776:	83 c4 14             	add    $0x14,%esp
566779:	e9 b0 fc ff ff       	jmp    0x56642e
56677e:	8b df                	mov    %edi,%ebx
566780:	85 db                	test   %ebx,%ebx
566782:	75 0f                	jne    0x566793
566784:	e8 57 36 f7 ff       	call   0x4d9de0
566789:	8b f8                	mov    %eax,%edi
56678b:	85 ff                	test   %edi,%edi
56678d:	0f 84 ae fc ff ff    	je     0x566441
566793:	56                   	push   %esi
566794:	e8 77 35 f7 ff       	call   0x4d9d10
566799:	50                   	push   %eax
56679a:	57                   	push   %edi
56679b:	e8 40 39 f7 ff       	call   0x4da0e0
5667a0:	83 c4 0c             	add    $0xc,%esp
5667a3:	85 c0                	test   %eax,%eax
5667a5:	75 56                	jne    0x5667fd
5667a7:	3b fb                	cmp    %ebx,%edi
5667a9:	eb 3d                	jmp    0x5667e8
5667ab:	6a 02                	push   $0x2
5667ad:	53                   	push   %ebx
5667ae:	e8 8d 2e f7 ff       	call   0x4d9640
5667b3:	83 c4 08             	add    $0x8,%esp
5667b6:	85 c0                	test   %eax,%eax
5667b8:	74 4d                	je     0x566807
5667ba:	85 f6                	test   %esi,%esi
5667bc:	75 0f                	jne    0x5667cd
5667be:	e8 1d 36 f7 ff       	call   0x4d9de0
5667c3:	8b f8                	mov    %eax,%edi
5667c5:	85 ff                	test   %edi,%edi
5667c7:	0f 84 74 fc ff ff    	je     0x566441
5667cd:	6a 00                	push   $0x0
5667cf:	ff 74 24 38          	push   0x38(%esp)
5667d3:	e8 d8 34 f7 ff       	call   0x4d9cb0
5667d8:	50                   	push   %eax
5667d9:	57                   	push   %edi
5667da:	e8 01 39 f7 ff       	call   0x4da0e0
5667df:	83 c4 10             	add    $0x10,%esp
5667e2:	85 c0                	test   %eax,%eax
5667e4:	75 17                	jne    0x5667fd
5667e6:	3b fe                	cmp    %esi,%edi
5667e8:	74 32                	je     0x56681c
5667ea:	57                   	push   %edi
5667eb:	e8 30 34 f7 ff       	call   0x4d9c20
5667f0:	83 c4 04             	add    $0x4,%esp
5667f3:	33 c0                	xor    %eax,%eax
5667f5:	5f                   	pop    %edi
5667f6:	5e                   	pop    %esi
5667f7:	5d                   	pop    %ebp
5667f8:	5b                   	pop    %ebx
5667f9:	83 c4 1c             	add    $0x1c,%esp
5667fc:	c3                   	ret
5667fd:	8b c7                	mov    %edi,%eax
5667ff:	5f                   	pop    %edi
566800:	5e                   	pop    %esi
566801:	5d                   	pop    %ebp
566802:	5b                   	pop    %ebx
566803:	83 c4 1c             	add    $0x1c,%esp
566806:	c3                   	ret
566807:	6a 29                	push   $0x29
566809:	68 d4 7e 65 00       	push   $0x657ed4
56680e:	6a 70                	push   $0x70
566810:	6a 79                	push   $0x79
566812:	6a 03                	push   $0x3
566814:	e8 67 27 f7 ff       	call   0x4d8f80
566819:	83 c4 14             	add    $0x14,%esp
56681c:	5f                   	pop    %edi
56681d:	5e                   	pop    %esi
56681e:	5d                   	pop    %ebp
56681f:	33 c0                	xor    %eax,%eax
566821:	5b                   	pop    %ebx
566822:	83 c4 1c             	add    $0x1c,%esp
566825:	c3                   	ret
566826:	cc                   	int3
566827:	cc                   	int3
566828:	cc                   	int3
566829:	cc                   	int3
56682a:	cc                   	int3
56682b:	cc                   	int3
56682c:	cc                   	int3
56682d:	cc                   	int3
56682e:	cc                   	int3
56682f:	cc                   	int3
566830:	8b 54 24 08          	mov    0x8(%esp),%edx
566834:	53                   	push   %ebx
566835:	8b 5c 24 08          	mov    0x8(%esp),%ebx
566839:	55                   	push   %ebp
56683a:	8b 4a 04             	mov    0x4(%edx),%ecx
56683d:	8b ea                	mov    %edx,%ebp
56683f:	57                   	push   %edi
566840:	8b 7c 24 18          	mov    0x18(%esp),%edi
566844:	3b 4f 04             	cmp    0x4(%edi),%ecx
566847:	0f 4d ef             	cmovge %edi,%ebp
56684a:	0f 4d fa             	cmovge %edx,%edi
56684d:	ff 77 04             	push   0x4(%edi)
566850:	53                   	push   %ebx
566851:	e8 4a 3d f7 ff       	call   0x4da5a0
566856:	83 c4 08             	add    $0x8,%esp
566859:	85 c0                	test   %eax,%eax
56685b:	75 04                	jne    0x566861
56685d:	5f                   	pop    %edi
56685e:	5d                   	pop    %ebp
56685f:	5b                   	pop    %ebx
566860:	c3                   	ret
566861:	33 c0                	xor    %eax,%eax
566863:	39 45 04             	cmp    %eax,0x4(%ebp)
566866:	7e 1f                	jle    0x566887
566868:	56                   	push   %esi
566869:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
566870:	8b 4d 00             	mov    0x0(%ebp),%ecx
566873:	8b 17                	mov    (%edi),%edx
566875:	8b 34 81             	mov    (%ecx,%eax,4),%esi
566878:	8b 0b                	mov    (%ebx),%ecx
56687a:	33 34 82             	xor    (%edx,%eax,4),%esi
56687d:	89 34 81             	mov    %esi,(%ecx,%eax,4)
566880:	40                   	inc    %eax
566881:	3b 45 04             	cmp    0x4(%ebp),%eax
566884:	7c ea                	jl     0x566870
566886:	5e                   	pop    %esi
566887:	8b 4f 04             	mov    0x4(%edi),%ecx
56688a:	3b c1                	cmp    %ecx,%eax
56688c:	7d 14                	jge    0x5668a2
56688e:	66 90                	xchg   %ax,%ax
566890:	8b 0f                	mov    (%edi),%ecx
566892:	8b 13                	mov    (%ebx),%edx
566894:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
566897:	89 0c 82             	mov    %ecx,(%edx,%eax,4)
56689a:	40                   	inc    %eax
56689b:	8b 4f 04             	mov    0x4(%edi),%ecx
56689e:	3b c1                	cmp    %ecx,%eax
5668a0:	7c ee                	jl     0x566890
5668a2:	53                   	push   %ebx
5668a3:	89 4b 04             	mov    %ecx,0x4(%ebx)
5668a6:	e8 a5 3b f7 ff       	call   0x4da450
5668ab:	83 c4 04             	add    $0x4,%esp
5668ae:	b8 01 00 00 00       	mov    $0x1,%eax
5668b3:	5f                   	pop    %edi
5668b4:	5d                   	pop    %ebp
5668b5:	5b                   	pop    %ebx
5668b6:	c3                   	ret
5668b7:	cc                   	int3
5668b8:	cc                   	int3
5668b9:	cc                   	int3
5668ba:	cc                   	int3
5668bb:	cc                   	int3
5668bc:	cc                   	int3
5668bd:	cc                   	int3
5668be:	cc                   	int3
5668bf:	cc                   	int3
5668c0:	b8 0c 00 00 00       	mov    $0xc,%eax
5668c5:	e8 e6 ae 06 00       	call   0x5d17b0
5668ca:	53                   	push   %ebx
5668cb:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
5668cf:	8b 03                	mov    (%ebx),%eax
5668d1:	85 c0                	test   %eax,%eax
5668d3:	75 17                	jne    0x5668ec
5668d5:	50                   	push   %eax
5668d6:	ff 74 24 18          	push   0x18(%esp)
5668da:	e8 01 38 f7 ff       	call   0x4da0e0
5668df:	83 c4 08             	add    $0x8,%esp
5668e2:	b8 01 00 00 00       	mov    $0x1,%eax
5668e7:	5b                   	pop    %ebx
5668e8:	83 c4 0c             	add    $0xc,%esp
5668eb:	c3                   	ret
5668ec:	56                   	push   %esi
5668ed:	8b 74 24 1c          	mov    0x1c(%esp),%esi
5668f1:	57                   	push   %edi
5668f2:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
5668f6:	3b f7                	cmp    %edi,%esi
5668f8:	74 3d                	je     0x566937
5668fa:	ff 76 04             	push   0x4(%esi)
5668fd:	57                   	push   %edi
5668fe:	e8 9d 3c f7 ff       	call   0x4da5a0
566903:	83 c4 08             	add    $0x8,%esp
566906:	85 c0                	test   %eax,%eax
566908:	75 07                	jne    0x566911
56690a:	5f                   	pop    %edi
56690b:	5e                   	pop    %esi
56690c:	5b                   	pop    %ebx
56690d:	83 c4 0c             	add    $0xc,%esp
566910:	c3                   	ret
566911:	8b 46 04             	mov    0x4(%esi),%eax
566914:	33 d2                	xor    %edx,%edx
566916:	85 c0                	test   %eax,%eax
566918:	7e 18                	jle    0x566932
56691a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
566920:	8b 06                	mov    (%esi),%eax
566922:	8b 0f                	mov    (%edi),%ecx
566924:	8b 04 90             	mov    (%eax,%edx,4),%eax
566927:	89 04 91             	mov    %eax,(%ecx,%edx,4)
56692a:	42                   	inc    %edx
56692b:	8b 46 04             	mov    0x4(%esi),%eax
56692e:	3b d0                	cmp    %eax,%edx
566930:	7c ee                	jl     0x566920
566932:	89 47 04             	mov    %eax,0x4(%edi)
566935:	8b 03                	mov    (%ebx),%eax
566937:	8b 3f                	mov    (%edi),%edi
566939:	99                   	cltd
56693a:	83 e2 1f             	and    $0x1f,%edx
56693d:	89 7c 24 24          	mov    %edi,0x24(%esp)
566941:	55                   	push   %ebp
566942:	8d 2c 02             	lea    (%edx,%eax,1),%ebp
566945:	8b 54 24 20          	mov    0x20(%esp),%edx
566949:	c1 fd 05             	sar    $0x5,%ebp
56694c:	89 6c 24 18          	mov    %ebp,0x18(%esp)
566950:	8b 52 04             	mov    0x4(%edx),%edx
566953:	4a                   	dec    %edx
566954:	89 54 24 10          	mov    %edx,0x10(%esp)
566958:	3b d5                	cmp    %ebp,%edx
56695a:	0f 8e d0 00 00 00    	jle    0x566a30
566960:	8b c2                	mov    %edx,%eax
566962:	2b c5                	sub    %ebp,%eax
566964:	8d 2c 87             	lea    (%edi,%eax,4),%ebp
566967:	89 6c 24 14          	mov    %ebp,0x14(%esp)
56696b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
566970:	8d 04 97             	lea    (%edi,%edx,4),%eax
566973:	8b 38                	mov    (%eax),%edi
566975:	85 ff                	test   %edi,%edi
566977:	75 11                	jne    0x56698a
566979:	4a                   	dec    %edx
56697a:	83 ed 04             	sub    $0x4,%ebp
56697d:	89 54 24 10          	mov    %edx,0x10(%esp)
566981:	89 6c 24 14          	mov    %ebp,0x14(%esp)
566985:	e9 92 00 00 00       	jmp    0x566a1c
56698a:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
566990:	be 01 00 00 00       	mov    $0x1,%esi
566995:	8b 4b 04             	mov    0x4(%ebx),%ecx
566998:	85 c9                	test   %ecx,%ecx
56699a:	74 58                	je     0x5669f4
56699c:	0f 1f 40 00          	nopl   0x0(%eax)
5669a0:	8b 03                	mov    (%ebx),%eax
5669a2:	2b c1                	sub    %ecx,%eax
5669a4:	8b e8                	mov    %eax,%ebp
5669a6:	81 e5 1f 00 00 80    	and    $0x8000001f,%ebp
5669ac:	79 05                	jns    0x5669b3
5669ae:	4d                   	dec    %ebp
5669af:	83 cd e0             	or     $0xffffffe0,%ebp
5669b2:	45                   	inc    %ebp
5669b3:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5669b7:	99                   	cltd
5669b8:	83 e2 1f             	and    $0x1f,%edx
5669bb:	03 c2                	add    %edx,%eax
5669bd:	c1 f8 05             	sar    $0x5,%eax
5669c0:	2b c8                	sub    %eax,%ecx
5669c2:	8b 44 24 28          	mov    0x28(%esp),%eax