4f6557:	80 78 43 00          	cmpb   $0x0,0x43(%eax)
4f655b:	75 2e                	jne    0x4f658b
4f655d:	83 7d a8 03          	cmpl   $0x3,-0x58(%ebp)
4f6561:	75 28                	jne    0x4f658b
4f6563:	8b 7d 0c             	mov    0xc(%ebp),%edi
4f6566:	8b 7f 04             	mov    0x4(%edi),%edi
4f6569:	83 ff 01             	cmp    $0x1,%edi
4f656c:	74 13                	je     0x4f6581
4f656e:	8b 45 0c             	mov    0xc(%ebp),%eax
4f6571:	81 ff 05 80 00 00    	cmp    $0x8005,%edi
4f6577:	74 08                	je     0x4f6581
4f6579:	8b 45 0c             	mov    0xc(%ebp),%eax
4f657c:	83 ff 05             	cmp    $0x5,%edi
4f657f:	75 0a                	jne    0x4f658b
4f6581:	8b 45 0c             	mov    0xc(%ebp),%eax
4f6584:	c6 40 2c 01          	movb   $0x1,0x2c(%eax)
4f6588:	ff 45 a8             	incl   -0x58(%ebp)
4f658b:	8b c3                	mov    %ebx,%eax
4f658d:	8b 10                	mov    (%eax),%edx
4f658f:	ff 52 0c             	call   *0xc(%edx)
4f6592:	48                   	dec    %eax
4f6593:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4f6596:	8b c3                	mov    %ebx,%eax
4f6598:	8b 10                	mov    (%eax),%edx
4f659a:	ff 52 08             	call   *0x8(%edx)
4f659d:	48                   	dec    %eax
4f659e:	89 45 a0             	mov    %eax,-0x60(%ebp)
4f65a1:	33 c0                	xor    %eax,%eax
4f65a3:	89 45 f0             	mov    %eax,-0x10(%ebp)
4f65a6:	8b 45 0c             	mov    0xc(%ebp),%eax
4f65a9:	83 78 04 07          	cmpl   $0x7,0x4(%eax)
4f65ad:	75 3a                	jne    0x4f65e9
4f65af:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f65b2:	e8 01 81 f2 ff       	call   0x41e6b8
4f65b7:	8b 55 90             	mov    -0x70(%ebp),%edx
4f65ba:	89 02                	mov    %eax,(%edx)
4f65bc:	8b 45 08             	mov    0x8(%ebp),%eax
4f65bf:	50                   	push   %eax
4f65c0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4f65c3:	8b d3                	mov    %ebx,%edx
4f65c5:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f65c8:	e8 1b fd ff ff       	call   0x4f62e8
4f65cd:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f65d0:	e8 e3 80 f2 ff       	call   0x41e6b8
4f65d5:	8b 55 90             	mov    -0x70(%ebp),%edx
4f65d8:	2b 02                	sub    (%edx),%eax
4f65da:	8b 55 8c             	mov    -0x74(%ebp),%edx
4f65dd:	89 02                	mov    %eax,(%edx)
4f65df:	be 01 00 00 00       	mov    $0x1,%esi
4f65e4:	e9 9f 0d 00 00       	jmp    0x4f7388
4f65e9:	8b c3                	mov    %ebx,%eax
4f65eb:	8b 10                	mov    (%eax),%edx
4f65ed:	ff 52 10             	call   *0x10(%edx)
4f65f0:	fe c8                	dec    %al
4f65f2:	0f 84 f4 0a 00 00    	je     0x4f70ec
4f65f8:	48                   	dec    %eax
4f65f9:	2c 03                	sub    $0x3,%al
4f65fb:	72 13                	jb     0x4f6610
4f65fd:	0f 84 f1 02 00 00    	je     0x4f68f4
4f6603:	2c 03                	sub    $0x3,%al
4f6605:	0f 84 4b 08 00 00    	je     0x4f6e56
4f660b:	e9 78 0d 00 00       	jmp    0x4f7388
4f6610:	8b 45 0c             	mov    0xc(%ebp),%eax
4f6613:	83 78 04 07          	cmpl   $0x7,0x4(%eax)
4f6617:	0f 84 f8 0d 00 00    	je     0x4f7415
4f661d:	8b c3                	mov    %ebx,%eax
4f661f:	8b 10                	mov    (%eax),%edx
4f6621:	ff 52 0c             	call   *0xc(%edx)
4f6624:	8b 55 0c             	mov    0xc(%ebp),%edx
4f6627:	8b 52 1c             	mov    0x1c(%edx),%edx
4f662a:	0f af 55 a8          	imul   -0x58(%ebp),%edx
4f662e:	f7 ea                	imul   %edx
4f6630:	89 45 e0             	mov    %eax,-0x20(%ebp)
4f6633:	f6 45 e0 07          	testb  $0x7,-0x20(%ebp)
4f6637:	74 13                	je     0x4f664c
4f6639:	8b 45 e0             	mov    -0x20(%ebp),%eax
4f663c:	85 c0                	test   %eax,%eax
4f663e:	79 03                	jns    0x4f6643
4f6640:	83 c0 07             	add    $0x7,%eax
4f6643:	c1 f8 03             	sar    $0x3,%eax
4f6646:	40                   	inc    %eax
4f6647:	89 45 e0             	mov    %eax,-0x20(%ebp)
4f664a:	eb 10                	jmp    0x4f665c
4f664c:	8b 45 e0             	mov    -0x20(%ebp),%eax
4f664f:	85 c0                	test   %eax,%eax
4f6651:	79 03                	jns    0x4f6656
4f6653:	83 c0 07             	add    $0x7,%eax
4f6656:	c1 f8 03             	sar    $0x3,%eax
4f6659:	89 45 e0             	mov    %eax,-0x20(%ebp)
4f665c:	8b c3                	mov    %ebx,%eax
4f665e:	8b 10                	mov    (%eax),%edx
4f6660:	ff 52 08             	call   *0x8(%edx)
4f6663:	89 45 80             	mov    %eax,-0x80(%ebp)
4f6666:	db 45 80             	fildl  -0x80(%ebp)
4f6669:	d8 3d 24 74 4f 00    	fdivrs 0x4f7424
4f666f:	8b 45 08             	mov    0x8(%ebp),%eax
4f6672:	dd 58 18             	fstpl  0x18(%eax)
4f6675:	9b                   	fwait
4f6676:	8b c3                	mov    %ebx,%eax
4f6678:	8b 10                	mov    (%eax),%edx
4f667a:	ff 52 0c             	call   *0xc(%edx)
4f667d:	8b f8                	mov    %eax,%edi
4f667f:	0f af 7d a8          	imul   -0x58(%ebp),%edi
4f6683:	8b 55 0c             	mov    0xc(%ebp),%edx
4f6686:	8b 52 1c             	mov    0x1c(%edx),%edx
4f6689:	85 d2                	test   %edx,%edx
4f668b:	79 03                	jns    0x4f6690
4f668d:	83 c2 07             	add    $0x7,%edx
4f6690:	c1 fa 03             	sar    $0x3,%edx
4f6693:	b8 01 00 00 00       	mov    $0x1,%eax
4f6698:	e8 77 2d 0b 00       	call   0x5a9414
4f669d:	0f af f8             	imul   %eax,%edi
4f66a0:	8b c7                	mov    %edi,%eax
4f66a2:	83 c0 04             	add    $0x4,%eax
4f66a5:	e8 02 c1 f0 ff       	call   0x4027ac
4f66aa:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4f66ad:	33 c0                	xor    %eax,%eax
4f66af:	89 45 98             	mov    %eax,-0x68(%ebp)
4f66b2:	33 c0                	xor    %eax,%eax
4f66b4:	89 45 94             	mov    %eax,-0x6c(%ebp)
4f66b7:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f66ba:	e8 f9 7f f2 ff       	call   0x41e6b8
4f66bf:	8b 55 90             	mov    -0x70(%ebp),%edx
4f66c2:	89 02                	mov    %eax,(%edx)
4f66c4:	8b 45 a0             	mov    -0x60(%ebp),%eax
4f66c7:	85 c0                	test   %eax,%eax
4f66c9:	0f 8c 18 02 00 00    	jl     0x4f68e7
4f66cf:	40                   	inc    %eax
4f66d0:	89 45 84             	mov    %eax,-0x7c(%ebp)
4f66d3:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
4f66da:	8b 45 08             	mov    0x8(%ebp),%eax
4f66dd:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
4f66e2:	74 1e                	je     0x4f6702
4f66e4:	db 45 e4             	fildl  -0x1c(%ebp)
4f66e7:	8b 45 08             	mov    0x8(%ebp),%eax
4f66ea:	dc 48 18             	fmull  0x18(%eax)
4f66ed:	e8 da c5 f0 ff       	call   0x402ccc
4f66f2:	8b c8                	mov    %eax,%ecx
4f66f4:	8b 7d 08             	mov    0x8(%ebp),%edi
4f66f7:	8b 55 08             	mov    0x8(%ebp),%edx
4f66fa:	8b 52 08             	mov    0x8(%edx),%edx
4f66fd:	8b 47 04             	mov    0x4(%edi),%eax
4f6700:	ff 17                	call   *(%edi)
4f6702:	8b 45 0c             	mov    0xc(%ebp),%eax
4f6705:	83 78 1c 08          	cmpl   $0x8,0x1c(%eax)
4f6709:	75 36                	jne    0x4f6741
4f670b:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4f670e:	8b c3                	mov    %ebx,%eax
4f6710:	8b 08                	mov    (%eax),%ecx
4f6712:	ff 11                	call   *(%ecx)
4f6714:	89 45 ac             	mov    %eax,-0x54(%ebp)
4f6717:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f671a:	89 45 d0             	mov    %eax,-0x30(%ebp)
4f671d:	8b 7d a4             	mov    -0x5c(%ebp),%edi
4f6720:	85 ff                	test   %edi,%edi
4f6722:	0f 8c f3 00 00 00    	jl     0x4f681b
4f6728:	47                   	inc    %edi
4f6729:	8b 45 ac             	mov    -0x54(%ebp),%eax
4f672c:	8a 00                	mov    (%eax),%al
4f672e:	8b 55 d0             	mov    -0x30(%ebp),%edx
4f6731:	88 02                	mov    %al,(%edx)
4f6733:	ff 45 ac             	incl   -0x54(%ebp)
4f6736:	ff 45 d0             	incl   -0x30(%ebp)
4f6739:	4f                   	dec    %edi
4f673a:	75 ed                	jne    0x4f6729
4f673c:	e9 da 00 00 00       	jmp    0x4f681b
4f6741:	8b 45 0c             	mov    0xc(%ebp),%eax
4f6744:	83 78 1c 10          	cmpl   $0x10,0x1c(%eax)
4f6748:	75 3a                	jne    0x4f6784
4f674a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4f674d:	8b c3                	mov    %ebx,%eax
4f674f:	8b 08                	mov    (%eax),%ecx
4f6751:	ff 11                	call   *(%ecx)
4f6753:	89 45 88             	mov    %eax,-0x78(%ebp)
4f6756:	8b 45 d4             	mov    -0x2c(%ebp),%eax
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)