4c061f:	0f bd c9             	bsr    %ecx,%ecx
4c0622:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4c0625:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
4c0628:	83 c1 49             	add    $0x49,%ecx
4c062b:	c1 e9 06             	shr    $0x6,%ecx
4c062e:	03 c8                	add    %eax,%ecx
4c0630:	03 d9                	add    %ecx,%ebx
4c0632:	3b f7                	cmp    %edi,%esi
4c0634:	75 da                	jne    0x4c0610
4c0636:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c0639:	8b 51 14             	mov    0x14(%ecx),%edx
4c063c:	f6 c2 03             	test   $0x3,%dl
4c063f:	74 35                	je     0x4c0676
4c0641:	f6 c2 01             	test   $0x1,%dl
4c0644:	8d 43 03             	lea    0x3(%ebx),%eax
4c0647:	0f 44 c3             	cmove  %ebx,%eax
4c064a:	8b d8                	mov    %eax,%ebx
4c064c:	f6 c2 02             	test   $0x2,%dl
4c064f:	74 25                	je     0x4c0676
4c0651:	8b 41 30             	mov    0x30(%ecx),%eax
4c0654:	85 c0                	test   %eax,%eax
4c0656:	79 07                	jns    0x4c065f
4c0658:	b8 0a 00 00 00       	mov    $0xa,%eax
4c065d:	eb 12                	jmp    0x4c0671
4c065f:	83 c8 01             	or     $0x1,%eax
4c0662:	0f bd c0             	bsr    %eax,%eax
4c0665:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c0668:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c066b:	83 c0 49             	add    $0x49,%eax
4c066e:	c1 e8 06             	shr    $0x6,%eax
4c0671:	83 c3 02             	add    $0x2,%ebx
4c0674:	03 d8                	add    %eax,%ebx
4c0676:	8d 41 04             	lea    0x4(%ecx),%eax
4c0679:	83 c1 18             	add    $0x18,%ecx
4c067c:	f6 00 01             	testb  $0x1,(%eax)
4c067f:	74 12                	je     0x4c0693
4c0681:	51                   	push   %ecx
4c0682:	53                   	push   %ebx
4c0683:	50                   	push   %eax
4c0684:	e8 27 ee fa ff       	call   0x46f4b0
4c0689:	83 c4 0c             	add    $0xc,%esp
4c068c:	5f                   	pop    %edi
4c068d:	5e                   	pop    %esi
4c068e:	5b                   	pop    %ebx
4c068f:	8b e5                	mov    %ebp,%esp
4c0691:	5d                   	pop    %ebp
4c0692:	c3                   	ret
4c0693:	5f                   	pop    %edi
4c0694:	5e                   	pop    %esi
4c0695:	89 19                	mov    %ebx,(%ecx)
4c0697:	8b c3                	mov    %ebx,%eax
4c0699:	5b                   	pop    %ebx
4c069a:	8b e5                	mov    %ebp,%esp
4c069c:	5d                   	pop    %ebp
4c069d:	c3                   	ret
4c069e:	cc                   	int3
4c069f:	cc                   	int3
4c06a0:	55                   	push   %ebp
4c06a1:	8b ec                	mov    %esp,%ebp
4c06a3:	83 ec 2c             	sub    $0x2c,%esp
4c06a6:	8b 45 0c             	mov    0xc(%ebp),%eax
4c06a9:	53                   	push   %ebx
4c06aa:	56                   	push   %esi
4c06ab:	57                   	push   %edi
4c06ac:	8b 7d 08             	mov    0x8(%ebp),%edi
4c06af:	33 f6                	xor    %esi,%esi
4c06b1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4c06b4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c06b7:	3b 38                	cmp    (%eax),%edi
4c06b9:	72 2a                	jb     0x4c06e5
4c06bb:	8b cf                	mov    %edi,%ecx
4c06bd:	2b 48 04             	sub    0x4(%eax),%ecx
4c06c0:	3b 48 10             	cmp    0x10(%eax),%ecx
4c06c3:	0f 84 4a 02 00 00    	je     0x4c0913
4c06c9:	ff 70 48             	push   0x48(%eax)
4c06cc:	51                   	push   %ecx
4c06cd:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4c06d0:	51                   	push   %ecx
4c06d1:	8b c8                	mov    %eax,%ecx
4c06d3:	e8 58 e8 f9 ff       	call   0x45ef30
4c06d8:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
4c06dc:	8b 7d ec             	mov    -0x14(%ebp),%edi
4c06df:	0f 85 67 02 00 00    	jne    0x4c094c
4c06e5:	0f b6 1f             	movzbl (%edi),%ebx
4c06e8:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
4c06ee:	73 03                	jae    0x4c06f3
4c06f0:	47                   	inc    %edi
4c06f1:	eb 2f                	jmp    0x4c0722
4c06f3:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
4c06f7:	83 c3 80             	add    $0xffffff80,%ebx
4c06fa:	8b c1                	mov    %ecx,%eax
4c06fc:	c1 e0 07             	shl    $0x7,%eax
4c06ff:	03 d8                	add    %eax,%ebx
4c0701:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
4c0707:	73 05                	jae    0x4c070e
4c0709:	83 c7 02             	add    $0x2,%edi
4c070c:	eb 14                	jmp    0x4c0722
4c070e:	53                   	push   %ebx
4c070f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4c0712:	57                   	push   %edi
4c0713:	50                   	push   %eax
4c0714:	e8 c7 f2 f9 ff       	call   0x45f9e0
4c0719:	8b 5d e8             	mov    -0x18(%ebp),%ebx
4c071c:	83 c4 0c             	add    $0xc,%esp
4c071f:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4c0722:	85 ff                	test   %edi,%edi
4c0724:	0f 84 20 02 00 00    	je     0x4c094a
4c072a:	8b c3                	mov    %ebx,%eax
4c072c:	c1 e8 03             	shr    $0x3,%eax
4c072f:	83 e8 21             	sub    $0x21,%eax
4c0732:	0f 84 25 01 00 00    	je     0x4c085d
4c0738:	83 e8 01             	sub    $0x1,%eax
4c073b:	0f 84 a7 00 00 00    	je     0x4c07e8
4c0741:	2d c5 03 00 00       	sub    $0x3c5,%eax
4c0746:	0f 85 4c 01 00 00    	jne    0x4c0898
4c074c:	80 fb 3a             	cmp    $0x3a,%bl
4c074f:	0f 85 43 01 00 00    	jne    0x4c0898
4c0755:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4c0758:	83 c7 fe             	add    $0xfffffffe,%edi
4c075b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4c0760:	8b 43 28             	mov    0x28(%ebx),%eax
4c0763:	83 c7 02             	add    $0x2,%edi
4c0766:	85 c0                	test   %eax,%eax
4c0768:	74 1a                	je     0x4c0784
4c076a:	8b 4b 20             	mov    0x20(%ebx),%ecx
4c076d:	8b 10                	mov    (%eax),%edx
4c076f:	3b ca                	cmp    %edx,%ecx
4c0771:	7d 0c                	jge    0x4c077f
4c0773:	8b 54 88 04          	mov    0x4(%eax,%ecx,4),%edx
4c0777:	8d 41 01             	lea    0x1(%ecx),%eax
4c077a:	89 43 20             	mov    %eax,0x20(%ebx)
4c077d:	eb 31                	jmp    0x4c07b0
4c077f:	3b 53 24             	cmp    0x24(%ebx),%edx
4c0782:	75 10                	jne    0x4c0794
4c0784:	8b 43 24             	mov    0x24(%ebx),%eax
4c0787:	8d 4b 1c             	lea    0x1c(%ebx),%ecx
4c078a:	40                   	inc    %eax
4c078b:	50                   	push   %eax
4c078c:	e8 ff d0 f9 ff       	call   0x45d890
4c0791:	8b 43 28             	mov    0x28(%ebx),%eax
4c0794:	ff 00                	incl   (%eax)
4c0796:	ff 73 1c             	push   0x1c(%ebx)
4c0799:	e8 42 77 00 00       	call   0x4c7ee0
4c079e:	8b 4b 20             	mov    0x20(%ebx),%ecx
4c07a1:	8b d0                	mov    %eax,%edx
4c07a3:	8b 43 28             	mov    0x28(%ebx),%eax
4c07a6:	83 c4 04             	add    $0x4,%esp
4c07a9:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
4c07ad:	ff 43 20             	incl   0x20(%ebx)
4c07b0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c07b3:	57                   	push   %edi
4c07b4:	52                   	push   %edx
4c07b5:	e8 c6 85 00 00       	call   0x4c8d80
4c07ba:	8b f8                	mov    %eax,%edi
4c07bc:	85 ff                	test   %edi,%edi
4c07be:	0f 84 86 01 00 00    	je     0x4c094a
4c07c4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c07c7:	3b 38                	cmp    (%eax),%edi
4c07c9:	0f 83 ec fe ff ff    	jae    0x4c06bb
4c07cf:	66 8b 07             	mov    (%edi),%ax
4c07d2:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4c07d5:	66 c7 45 f4 ba 3e    	movw   $0x3eba,-0xc(%ebp)
4c07db:	66 3b 01             	cmp    (%ecx),%ax
4c07de:	74 80                	je     0x4c0760
4c07e0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c07e3:	e9 cf fe ff ff       	jmp    0x4c06b7
4c07e8:	80 fb 10             	cmp    $0x10,%bl
4c07eb:	0f 85 a7 00 00 00    	jne    0x4c0898
4c07f1:	8d 45 dc             	lea    -0x24(%ebp),%eax
4c07f4:	50                   	push   %eax
4c07f5:	57                   	push   %edi
4c07f6:	e8 85 03 f9 ff       	call   0x450b80
4c07fb:	8b f8                	mov    %eax,%edi
4c07fd:	83 c4 08             	add    $0x8,%esp
4c0800:	85 ff                	test   %edi,%edi
4c0802:	0f 84 42 01 00 00    	je     0x4c094a
4c0808:	8b 5d dc             	mov    -0x24(%ebp),%ebx
4c080b:	8b c3                	mov    %ebx,%eax
4c080d:	83 e8 00             	sub    $0x0,%eax
4c0810:	74 39                	je     0x4c084b
4c0812:	83 e8 01             	sub    $0x1,%eax
4c0815:	74 34                	je     0x4c084b
4c0817:	83 e8 01             	sub    $0x1,%eax
4c081a:	74 2f                	je     0x4c084b
4c081c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4c081f:	83 c1 04             	add    $0x4,%ecx
4c0822:	f6 01 01             	testb  $0x1,(%ecx)
4c0825:	74 0a                	je     0x4c0831
4c0827:	8b 01                	mov    (%ecx),%eax
4c0829:	83 e0 fc             	and    $0xfffffffc,%eax
4c082c:	83 c0 04             	add    $0x4,%eax
4c082f:	eb 05                	jmp    0x4c0836
4c0831:	e8 fa 03 f9 ff       	call   0x450c30
4c0836:	ff 75 e0             	push   -0x20(%ebp)
4c0839:	8b c8                	mov    %eax,%ecx
4c083b:	53                   	push   %ebx
4c083c:	6a 22                	push   $0x22
4c083e:	e8 dd fe f9 ff       	call   0x460720
4c0843:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c0846:	e9 6c fe ff ff       	jmp    0x4c06b7
4c084b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4c084e:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c0851:	83 49 14 02          	orl    $0x2,0x14(%ecx)
4c0855:	89 59 30             	mov    %ebx,0x30(%ecx)
4c0858:	e9 5a fe ff ff       	jmp    0x4c06b7
4c085d:	80 fb 08             	cmp    $0x8,%bl
4c0860:	75 36                	jne    0x4c0898
4c0862:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4c0865:	83 ce 01             	or     $0x1,%esi
4c0868:	50                   	push   %eax
4c0869:	57                   	push   %edi
4c086a:	e8 11 03 f9 ff       	call   0x450b80
4c086f:	8b f8                	mov    %eax,%edi
4c0871:	83 c4 08             	add    $0x8,%esp
4c0874:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4c0877:	0b 45 d8             	or     -0x28(%ebp),%eax
4c087a:	74 04                	je     0x4c0880
4c087c:	b0 01                	mov    $0x1,%al
4c087e:	eb 02                	jmp    0x4c0882
4c0880:	32 c0                	xor    %al,%al
4c0882:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4c0885:	88 41 2c             	mov    %al,0x2c(%ecx)
4c0888:	85 ff                	test   %edi,%edi
4c088a:	0f 84 ba 00 00 00    	je     0x4c094a
4c0890:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c0893:	e9 1f fe ff ff       	jmp    0x4c06b7
4c0898:	8b c3                	mov    %ebx,%eax
4c089a:	24 07                	and    $0x7,%al
4c089c:	3c 04                	cmp    $0x4,%al
4c089e:	0f 84 8c 00 00 00    	je     0x4c0930
4c08a4:	85 db                	test   %ebx,%ebx
4c08a6:	0f 84 84 00 00 00    	je     0x4c0930
4c08ac:	8b 55 f8             	mov    -0x8(%ebp),%edx
4c08af:	8d 42 04             	lea    0x4(%edx),%eax
4c08b2:	81 fb 40 1f 00 00    	cmp    $0x1f40,%ebx
4c08b8:	72 24                	jb     0x4c08de
4c08ba:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c08bd:	51                   	push   %ecx
4c08be:	50                   	push   %eax
4c08bf:	68 88 da 68 00       	push   $0x68da88
4c08c4:	57                   	push   %edi
4c08c5:	6a 00                	push   $0x0
4c08c7:	53                   	push   %ebx
4c08c8:	8d 4a 08             	lea    0x8(%edx),%ecx
4c08cb:	e8 b0 bc fe ff       	call   0x4ac580
4c08d0:	8b f8                	mov    %eax,%edi
4c08d2:	85 ff                	test   %edi,%edi
4c08d4:	74 74                	je     0x4c094a
4c08d6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c08d9:	e9 d9 fd ff ff       	jmp    0x4c06b7
4c08de:	f6 00 01             	testb  $0x1,(%eax)
4c08e1:	74 0a                	je     0x4c08ed
4c08e3:	8b 00                	mov    (%eax),%eax
4c08e5:	83 e0 fc             	and    $0xfffffffc,%eax
4c08e8:	83 c0 04             	add    $0x4,%eax
4c08eb:	eb 07                	jmp    0x4c08f4
4c08ed:	8b c8                	mov    %eax,%ecx
4c08ef:	e8 3c 03 f9 ff       	call   0x450c30
4c08f4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c08f7:	51                   	push   %ecx
4c08f8:	57                   	push   %edi
4c08f9:	50                   	push   %eax
4c08fa:	6a 00                	push   $0x0
4c08fc:	53                   	push   %ebx
4c08fd:	e8 ae 06 fa ff       	call   0x460fb0
4c0902:	8b f8                	mov    %eax,%edi
4c0904:	83 c4 14             	add    $0x14,%esp
4c0907:	85 ff                	test   %edi,%edi
4c0909:	74 3f                	je     0x4c094a
4c090b:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c090e:	e9 a4 fd ff ff       	jmp    0x4c06b7
4c0913:	85 c9                	test   %ecx,%ecx
4c0915:	7e 35                	jle    0x4c094c
4c0917:	33 c9                	xor    %ecx,%ecx
4c0919:	39 48 08             	cmp    %ecx,0x8(%eax)
4c091c:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c091f:	0f 44 f9             	cmove  %ecx,%edi
4c0922:	09 70 14             	or     %esi,0x14(%eax)
4c0925:	8b c7                	mov    %edi,%eax
4c0927:	5f                   	pop    %edi
4c0928:	5e                   	pop    %esi
4c0929:	5b                   	pop    %ebx
4c092a:	8b e5                	mov    %ebp,%esp
4c092c:	5d                   	pop    %ebp
4c092d:	c2 08 00             	ret    $0x8
4c0930:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c0933:	8d 43 ff             	lea    -0x1(%ebx),%eax
4c0936:	89 41 3c             	mov    %eax,0x3c(%ecx)
4c0939:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c093c:	09 70 14             	or     %esi,0x14(%eax)
4c093f:	8b c7                	mov    %edi,%eax
4c0941:	5f                   	pop    %edi
4c0942:	5e                   	pop    %esi
4c0943:	5b                   	pop    %ebx
4c0944:	8b e5                	mov    %ebp,%esp
4c0946:	5d                   	pop    %ebp
4c0947:	c2 08 00             	ret    $0x8
4c094a:	33 ff                	xor    %edi,%edi
4c094c:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c094f:	09 70 14             	or     %esi,0x14(%eax)
4c0952:	8b c7                	mov    %edi,%eax
4c0954:	5f                   	pop    %edi
4c0955:	5e                   	pop    %esi
4c0956:	5b                   	pop    %ebx
4c0957:	8b e5                	mov    %ebp,%esp
4c0959:	5d                   	pop    %ebp
4c095a:	c2 08 00             	ret    $0x8
4c095d:	cc                   	int3
4c095e:	cc                   	int3
4c095f:	cc                   	int3
4c0960:	55                   	push   %ebp
4c0961:	8b ec                	mov    %esp,%ebp
4c0963:	83 ec 08             	sub    $0x8,%esp
4c0966:	8b 45 08             	mov    0x8(%ebp),%eax
4c0969:	53                   	push   %ebx
4c096a:	8b d9                	mov    %ecx,%ebx
4c096c:	57                   	push   %edi
4c096d:	8b 7d 0c             	mov    0xc(%ebp),%edi
4c0970:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4c0973:	8b 4b 14             	mov    0x14(%ebx),%ecx
4c0976:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4c0979:	f6 c1 01             	test   $0x1,%cl
4c097c:	74 31                	je     0x4c09af
4c097e:	3b 07                	cmp    (%edi),%eax
4c0980:	72 08                	jb     0x4c098a
4c0982:	50                   	push   %eax
4c0983:	8b cf                	mov    %edi,%ecx
4c0985:	e8 e6 8b f9 ff       	call   0x459570
4c098a:	8a 5b 2c             	mov    0x2c(%ebx),%bl
4c098d:	50                   	push   %eax
4c098e:	68 08 01 00 00       	push   $0x108
4c0993:	e8 28 01 f9 ff       	call   0x450ac0
4c0998:	50                   	push   %eax
4c0999:	33 c0                	xor    %eax,%eax
4c099b:	84 db                	test   %bl,%bl
4c099d:	0f 95 c0             	setne  %al
4c09a0:	50                   	push   %eax
4c09a1:	e8 1a 01 f9 ff       	call   0x450ac0
4c09a6:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4c09a9:	83 c4 10             	add    $0x10,%esp
4c09ac:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4c09af:	56                   	push   %esi
4c09b0:	f6 c1 02             	test   $0x2,%cl
4c09b3:	74 28                	je     0x4c09dd
4c09b5:	3b 07                	cmp    (%edi),%eax
4c09b7:	72 08                	jb     0x4c09c1
4c09b9:	50                   	push   %eax
4c09ba:	8b cf                	mov    %edi,%ecx
4c09bc:	e8 af 8b f9 ff       	call   0x459570
4c09c1:	8b 73 30             	mov    0x30(%ebx),%esi