4f6759:	89 45 c8             	mov    %eax,-0x38(%ebp)
4f675c:	8b 7d a4             	mov    -0x5c(%ebp),%edi
4f675f:	85 ff                	test   %edi,%edi
4f6761:	0f 8c b4 00 00 00    	jl     0x4f681b
4f6767:	47                   	inc    %edi
4f6768:	8b 45 88             	mov    -0x78(%ebp),%eax
4f676b:	66 8b 00             	mov    (%eax),%ax
4f676e:	8b 55 c8             	mov    -0x38(%ebp),%edx
4f6771:	66 89 02             	mov    %ax,(%edx)
4f6774:	83 45 88 02          	addl   $0x2,-0x78(%ebp)
4f6778:	83 45 c8 02          	addl   $0x2,-0x38(%ebp)
4f677c:	4f                   	dec    %edi
4f677d:	75 e9                	jne    0x4f6768
4f677f:	e9 97 00 00 00       	jmp    0x4f681b
4f6784:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4f6787:	8b c3                	mov    %ebx,%eax
4f6789:	8b 08                	mov    (%eax),%ecx
4f678b:	ff 11                	call   *(%ecx)
4f678d:	89 45 ac             	mov    %eax,-0x54(%ebp)
4f6790:	33 c0                	xor    %eax,%eax
4f6792:	89 45 dc             	mov    %eax,-0x24(%ebp)
4f6795:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f6798:	89 45 d0             	mov    %eax,-0x30(%ebp)
4f679b:	8b 7d a4             	mov    -0x5c(%ebp),%edi
4f679e:	85 ff                	test   %edi,%edi
4f67a0:	7c 79                	jl     0x4f681b
4f67a2:	47                   	inc    %edi
4f67a3:	8b 45 ac             	mov    -0x54(%ebp),%eax
4f67a6:	8a 00                	mov    (%eax),%al
4f67a8:	88 45 b3             	mov    %al,-0x4d(%ebp)
4f67ab:	8b 45 0c             	mov    0xc(%ebp),%eax
4f67ae:	8b 40 1c             	mov    0x1c(%eax),%eax
4f67b1:	48                   	dec    %eax
4f67b2:	85 c0                	test   %eax,%eax
4f67b4:	7c 5f                	jl     0x4f6815
4f67b6:	40                   	inc    %eax
4f67b7:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
4f67be:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4f67c1:	8b 49 1c             	mov    0x1c(%ecx),%ecx
4f67c4:	49                   	dec    %ecx
4f67c5:	2b 4d d8             	sub    -0x28(%ebp),%ecx
4f67c8:	ba 01 00 00 00       	mov    $0x1,%edx
4f67cd:	d3 e2                	shl    %cl,%edx
4f67cf:	33 c9                	xor    %ecx,%ecx
4f67d1:	8a 4d b3             	mov    -0x4d(%ebp),%cl
4f67d4:	23 d1                	and    %ecx,%edx
4f67d6:	74 13                	je     0x4f67eb
4f67d8:	8b 15 88 6d 6a 00    	mov    0x6a6d88,%edx
4f67de:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4f67e1:	8a 14 0a             	mov    (%edx,%ecx,1),%dl
4f67e4:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4f67e7:	08 11                	or     %dl,(%ecx)
4f67e9:	eb 13                	jmp    0x4f67fe
4f67eb:	8b 15 88 6d 6a 00    	mov    0x6a6d88,%edx
4f67f1:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4f67f4:	8a 14 0a             	mov    (%edx,%ecx,1),%dl
4f67f7:	f6 d2                	not    %dl
4f67f9:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4f67fc:	20 11                	and    %dl,(%ecx)
4f67fe:	ff 45 dc             	incl   -0x24(%ebp)
4f6801:	83 7d dc 08          	cmpl   $0x8,-0x24(%ebp)
4f6805:	75 08                	jne    0x4f680f
4f6807:	33 d2                	xor    %edx,%edx
4f6809:	89 55 dc             	mov    %edx,-0x24(%ebp)
4f680c:	ff 45 d0             	incl   -0x30(%ebp)
4f680f:	ff 45 d8             	incl   -0x28(%ebp)
4f6812:	48                   	dec    %eax
4f6813:	75 a9                	jne    0x4f67be
4f6815:	ff 45 ac             	incl   -0x54(%ebp)
4f6818:	4f                   	dec    %edi
4f6819:	75 88                	jne    0x4f67a3
4f681b:	8b 45 0c             	mov    0xc(%ebp),%eax
4f681e:	8b 40 04             	mov    0x4(%eax),%eax
4f6821:	48                   	dec    %eax
4f6822:	74 0e                	je     0x4f6832
4f6824:	83 e8 04             	sub    $0x4,%eax
4f6827:	74 20                	je     0x4f6849
4f6829:	2d 00 80 00 00       	sub    $0x8000,%eax
4f682e:	74 2d                	je     0x4f685d
4f6830:	eb 40                	jmp    0x4f6872
4f6832:	8b 45 e0             	mov    -0x20(%ebp),%eax
4f6835:	50                   	push   %eax
4f6836:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4f6839:	8b 55 08             	mov    0x8(%ebp),%edx
4f683c:	8b 52 28             	mov    0x28(%edx),%edx
4f683f:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f6842:	e8 b5 f6 0f 00       	call   0x5f5efc
4f6847:	eb 29                	jmp    0x4f6872
4f6849:	8d 45 f0             	lea    -0x10(%ebp),%eax
4f684c:	50                   	push   %eax
4f684d:	8b 7d 0c             	mov    0xc(%ebp),%edi
4f6850:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4f6853:	8b 55 e0             	mov    -0x20(%ebp),%edx
4f6856:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f6859:	ff 17                	call   *(%edi)
4f685b:	eb 15                	jmp    0x4f6872
4f685d:	8b 45 08             	mov    0x8(%ebp),%eax
4f6860:	8b 40 28             	mov    0x28(%eax),%eax
4f6863:	50                   	push   %eax
4f6864:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4f6867:	8b 55 e0             	mov    -0x20(%ebp),%edx
4f686a:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f686d:	e8 aa f9 ff ff       	call   0x4f621c
4f6872:	8b 45 08             	mov    0x8(%ebp),%eax
4f6875:	8b 40 28             	mov    0x28(%eax),%eax
4f6878:	80 38 00             	cmpb   $0x0,(%eax)
4f687b:	75 6a                	jne    0x4f68e7
4f687d:	ff 45 98             	incl   -0x68(%ebp)
4f6880:	8b 45 98             	mov    -0x68(%ebp),%eax
4f6883:	3b 45 9c             	cmp    -0x64(%ebp),%eax
4f6886:	74 08                	je     0x4f6890
4f6888:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4f688b:	3b 45 a0             	cmp    -0x60(%ebp),%eax
4f688e:	75 4b                	jne    0x4f68db
4f6890:	55                   	push   %ebp
4f6891:	e8 aa fa ff ff       	call   0x4f6340
4f6896:	59                   	pop    %ecx
4f6897:	33 c0                	xor    %eax,%eax
4f6899:	89 45 f0             	mov    %eax,-0x10(%ebp)
4f689c:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f689f:	e8 14 7e f2 ff       	call   0x41e6b8
4f68a4:	8b 55 90             	mov    -0x70(%ebp),%edx
4f68a7:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
4f68aa:	2b 04 8a             	sub    (%edx,%ecx,4),%eax
4f68ad:	8b 55 8c             	mov    -0x74(%ebp),%edx
4f68b0:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
4f68b3:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
4f68b6:	8b 75 94             	mov    -0x6c(%ebp),%esi
4f68b9:	46                   	inc    %esi
4f68ba:	33 c0                	xor    %eax,%eax
4f68bc:	89 45 98             	mov    %eax,-0x68(%ebp)
4f68bf:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4f68c2:	3b 45 a0             	cmp    -0x60(%ebp),%eax
4f68c5:	7d 14                	jge    0x4f68db
4f68c7:	ff 45 94             	incl   -0x6c(%ebp)
4f68ca:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f68cd:	e8 e6 7d f2 ff       	call   0x41e6b8
4f68d2:	8b 55 90             	mov    -0x70(%ebp),%edx
4f68d5:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
4f68d8:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
4f68db:	ff 45 e4             	incl   -0x1c(%ebp)
4f68de:	ff 4d 84             	decl   -0x7c(%ebp)
4f68e1:	0f 85 f3 fd ff ff    	jne    0x4f66da
4f68e7:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f68ea:	e8 dd be f0 ff       	call   0x4027cc
4f68ef:	e9 94 0a 00 00       	jmp    0x4f7388
4f68f4:	8b 45 0c             	mov    0xc(%ebp),%eax
4f68f7:	83 78 04 07          	cmpl   $0x7,0x4(%eax)
4f68fb:	0f 84 14 0b 00 00    	je     0x4f7415
4f6901:	83 7d a8 03          	cmpl   $0x3,-0x58(%ebp)
4f6905:	7d 19                	jge    0x4f6920
4f6907:	8b 45 0c             	mov    0xc(%ebp),%eax
4f690a:	80 78 10 03          	cmpb   $0x3,0x10(%eax)
4f690e:	74 10                	je     0x4f6920
4f6910:	8b 45 0c             	mov    0xc(%ebp),%eax
4f6913:	80 78 10 01          	cmpb   $0x1,0x10(%eax)
4f6917:	74 07                	je     0x4f6920
4f6919:	c7 45 a8 03 00 00 00 	movl   $0x3,-0x58(%ebp)
4f6920:	8b c3                	mov    %ebx,%eax
4f6922:	8b 10                	mov    (%eax),%edx
4f6924:	ff 52 0c             	call   *0xc(%edx)
4f6927:	8b 55 0c             	mov    0xc(%ebp),%edx
4f692a:	8b 52 1c             	mov    0x1c(%edx),%edx
4f692d:	0f af 55 a8          	imul   -0x58(%ebp),%edx
4f6931:	f7 ea                	imul   %edx
4f6933:	89 45 e0             	mov    %eax,-0x20(%ebp)
4f6936:	f6 45 e0 07          	testb  $0x7,-0x20(%ebp)
4f693a:	74 13                	je     0x4f694f
4f693c:	8b 45 e0             	mov    -0x20(%ebp),%eax
4f693f:	85 c0                	test   %eax,%eax
4f6941:	79 03                	jns    0x4f6946
4f6943:	83 c0 07             	add    $0x7,%eax
4f6946:	c1 f8 03             	sar    $0x3,%eax
4f6949:	40                   	inc    %eax
4f694a:	89 45 e0             	mov    %eax,-0x20(%ebp)
4f694d:	eb 10                	jmp    0x4f695f
4f694f:	8b 45 e0             	mov    -0x20(%ebp),%eax
4f6952:	85 c0                	test   %eax,%eax
4f6954:	79 03                	jns    0x4f6959
4f6956:	83 c0 07             	add    $0x7,%eax
4f6959:	c1 f8 03             	sar    $0x3,%eax
4f695c:	89 45 e0             	mov    %eax,-0x20(%ebp)
4f695f:	8b c3                	mov    %ebx,%eax
4f6961:	8b 10                	mov    (%eax),%edx
4f6963:	ff 52 08             	call   *0x8(%edx)
4f6966:	89 45 80             	mov    %eax,-0x80(%ebp)
4f6969:	db 45 80             	fildl  -0x80(%ebp)
4f696c:	d8 3d 24 74 4f 00    	fdivrs 0x4f7424
4f6972:	8b 45 08             	mov    0x8(%ebp),%eax
4f6975:	dd 58 18             	fstpl  0x18(%eax)
4f6978:	9b                   	fwait
4f6979:	8b c3                	mov    %ebx,%eax
4f697b:	8b 10                	mov    (%eax),%edx
4f697d:	ff 52 0c             	call   *0xc(%edx)
4f6980:	8b f8                	mov    %eax,%edi
4f6982:	0f af 7d a8          	imul   -0x58(%ebp),%edi
4f6986:	8b 55 0c             	mov    0xc(%ebp),%edx
4f6989:	8b 52 1c             	mov    0x1c(%edx),%edx
4f698c:	85 d2                	test   %edx,%edx
4f698e:	79 03                	jns    0x4f6993
4f6990:	83 c2 07             	add    $0x7,%edx
4f6993:	c1 fa 03             	sar    $0x3,%edx
4f6996:	b8 01 00 00 00       	mov    $0x1,%eax
4f699b:	e8 74 2a 0b 00       	call   0x5a9414
4f69a0:	0f af f8             	imul   %eax,%edi
4f69a3:	8b c7                	mov    %edi,%eax
4f69a5:	83 c0 04             	add    $0x4,%eax
4f69a8:	e8 ff bd f0 ff       	call   0x4027ac
4f69ad:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4f69b0:	33 c0                	xor    %eax,%eax
4f69b2:	89 45 98             	mov    %eax,-0x68(%ebp)
4f69b5:	33 c0                	xor    %eax,%eax
4f69b7:	89 45 94             	mov    %eax,-0x6c(%ebp)
4f69ba:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f69bd:	e8 f6 7c f2 ff       	call   0x41e6b8
4f69c2:	8b 55 90             	mov    -0x70(%ebp),%edx
4f69c5:	89 02                	mov    %eax,(%edx)
4f69c7:	8b 45 a0             	mov    -0x60(%ebp),%eax
4f69ca:	85 c0                	test   %eax,%eax
4f69cc:	0f 8c 77 04 00 00    	jl     0x4f6e49
4f69d2:	40                   	inc    %eax
4f69d3:	89 45 84             	mov    %eax,-0x7c(%ebp)
4f69d6:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
4f69dd:	8b 45 08             	mov    0x8(%ebp),%eax
4f69e0:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
4f69e5:	74 1e                	je     0x4f6a05
4f69e7:	db 45 e4             	fildl  -0x1c(%ebp)
4f69ea:	8b 45 08             	mov    0x8(%ebp),%eax
4f69ed:	dc 48 18             	fmull  0x18(%eax)
4f69f0:	e8 d7 c2 f0 ff       	call   0x402ccc
4f69f5:	8b c8                	mov    %eax,%ecx
4f69f7:	8b 7d 08             	mov    0x8(%ebp),%edi
4f69fa:	8b 55 08             	mov    0x8(%ebp),%edx
4f69fd:	8b 52 08             	mov    0x8(%edx),%edx
4f6a00:	8b 47 04             	mov    0x4(%edi),%eax
4f6a03:	ff 17                	call   *(%edi)
4f6a05:	8b 45 0c             	mov    0xc(%ebp),%eax
4f6a08:	80 78 10 05          	cmpb   $0x5,0x10(%eax)
4f6a0c:	75 62                	jne    0x4f6a70
4f6a0e:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4f6a11:	8b c3                	mov    %ebx,%eax
4f6a13:	8b 08                	mov    (%eax),%ecx
4f6a15:	ff 11                	call   *(%ecx)
4f6a17:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4f6a1a:	6a 02                	push   $0x2
4f6a1c:	8b c3                	mov    %ebx,%eax
4f6a1e:	8b 10                	mov    (%eax),%edx
4f6a20:	ff 52 0c             	call   *0xc(%edx)
4f6a23:	50                   	push   %eax
4f6a24:	8b 45 0c             	mov    0xc(%ebp),%eax
4f6a27:	8b 40 28             	mov    0x28(%eax),%eax
4f6a2a:	50                   	push   %eax
4f6a2b:	8b 3d 20 6f 6a 00    	mov    0x6a6f20,%edi
4f6a31:	8b 3f                	mov    (%edi),%edi
4f6a33:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4f6a36:	b2 01                	mov    $0x1,%dl
4f6a38:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4f6a3b:	ff d7                	call   *%edi
4f6a3d:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f6a40:	89 45 cc             	mov    %eax,-0x34(%ebp)
4f6a43:	8b c3                	mov    %ebx,%eax
4f6a45:	8b 10                	mov    (%eax),%edx
4f6a47:	ff 52 0c             	call   *0xc(%edx)
4f6a4a:	8b f8                	mov    %eax,%edi
4f6a4c:	c1 e7 02             	shl    $0x2,%edi
4f6a4f:	4f                   	dec    %edi
4f6a50:	85 ff                	test   %edi,%edi
4f6a52:	0f 8c 25 03 00 00    	jl     0x4f6d7d
4f6a58:	47                   	inc    %edi
4f6a59:	8b 45 cc             	mov    -0x34(%ebp),%eax
4f6a5c:	b2 ff                	mov    $0xff,%dl
4f6a5e:	2a 10                	sub    (%eax),%dl
4f6a60:	8b 45 cc             	mov    -0x34(%ebp),%eax
4f6a63:	88 10                	mov    %dl,(%eax)
4f6a65:	ff 45 cc             	incl   -0x34(%ebp)
4f6a68:	4f                   	dec    %edi
4f6a69:	75 ee                	jne    0x4f6a59
4f6a6b:	e9 0d 03 00 00       	jmp    0x4f6d7d
4f6a70:	8b 45 0c             	mov    0xc(%ebp),%eax
4f6a73:	80 78 10 07          	cmpb   $0x7,0x10(%eax)
4f6a77:	75 34                	jne    0x4f6aad
4f6a79:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4f6a7c:	8b c3                	mov    %ebx,%eax
4f6a7e:	8b 08                	mov    (%eax),%ecx
4f6a80:	ff 11                	call   *(%ecx)
4f6a82:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4f6a85:	6a 04                	push   $0x4
4f6a87:	8b c3                	mov    %ebx,%eax
4f6a89:	8b 10                	mov    (%eax),%edx
4f6a8b:	ff 52 0c             	call   *0xc(%edx)
4f6a8e:	50                   	push   %eax
4f6a8f:	8b 45 0c             	mov    0xc(%ebp),%eax
4f6a92:	8b 40 28             	mov    0x28(%eax),%eax
4f6a95:	50                   	push   %eax
4f6a96:	8b 3d 20 6f 6a 00    	mov    0x6a6f20,%edi
4f6a9c:	8b 3f                	mov    (%edi),%edi
4f6a9e:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4f6aa1:	b2 01                	mov    $0x1,%dl
4f6aa3:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4f6aa6:	ff d7                	call   *%edi
4f6aa8:	e9 d0 02 00 00       	jmp    0x4f6d7d
4f6aad:	8b 45 0c             	mov    0xc(%ebp),%eax
4f6ab0:	80 78 10 03          	cmpb   $0x3,0x10(%eax)
4f6ab4:	74 0d                	je     0x4f6ac3
4f6ab6:	8b 45 0c             	mov    0xc(%ebp),%eax
4f6ab9:	80 78 10 01          	cmpb   $0x1,0x10(%eax)
4f6abd:	0f 85 4f 01 00 00    	jne    0x4f6c12
4f6ac3:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4f6ac6:	8b c3                	mov    %ebx,%eax
4f6ac8:	8b 08                	mov    (%eax),%ecx
4f6aca:	ff 11                	call   *(%ecx)
4f6acc:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4f6acf:	8b 45 0c             	mov    0xc(%ebp),%eax
4f6ad2:	83 78 1c 08          	cmpl   $0x8,0x1c(%eax)
4f6ad6:	75 3e                	jne    0x4f6b16
4f6ad8:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f6adb:	89 45 d0             	mov    %eax,-0x30(%ebp)
4f6ade:	8b 7d a4             	mov    -0x5c(%ebp),%edi
4f6ae1:	85 ff                	test   %edi,%edi
4f6ae3:	0f 8c 94 02 00 00    	jl     0x4f6d7d
4f6ae9:	47                   	inc    %edi
4f6aea:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4f6aed:	8a 50 02             	mov    0x2(%eax),%dl
4f6af0:	c1 e2 10             	shl    $0x10,%edx
4f6af3:	66 8b 10             	mov    (%eax),%dx
4f6af6:	52                   	push   %edx
4f6af7:	8b 45 0c             	mov    0xc(%ebp),%eax
4f6afa:	8b 40 18             	mov    0x18(%eax),%eax
4f6afd:	e8 9e 90 04 00       	call   0x53fba0
4f6b02:	8b 55 d0             	mov    -0x30(%ebp),%edx
4f6b05:	88 02                	mov    %al,(%edx)
4f6b07:	83 45 c4 03          	addl   $0x3,-0x3c(%ebp)
4f6b0b:	ff 45 d0             	incl   -0x30(%ebp)
4f6b0e:	4f                   	dec    %edi
4f6b0f:	75 d9                	jne    0x4f6aea
4f6b11:	e9 67 02 00 00       	jmp    0x4f6d7d
4f6b16:	8b 45 0c             	mov    0xc(%ebp),%eax
4f6b19:	83 78 1c 10          	cmpl   $0x10,0x1c(%eax)
4f6b1d:	75 47                	jne    0x4f6b66
4f6b1f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f6b22:	89 45 c8             	mov    %eax,-0x38(%ebp)
4f6b25:	8b 7d a4             	mov    -0x5c(%ebp),%edi
4f6b28:	85 ff                	test   %edi,%edi
4f6b2a:	0f 8c 4d 02 00 00    	jl     0x4f6d7d
4f6b30:	47                   	inc    %edi
4f6b31:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4f6b34:	8a 50 02             	mov    0x2(%eax),%dl
4f6b37:	c1 e2 10             	shl    $0x10,%edx
4f6b3a:	66 8b 10             	mov    (%eax),%dx
4f6b3d:	52                   	push   %edx