Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- undefined4 __thiscall
- CATHODE::ResourceRegistry::find_resource_index
- (ResourceRegistry *this,ShortGuid *param_1,ShortGuid *param_2)
- {
- uint uVar1;
- uint uVar2;
- uint uVar3;
- uint uVar4;
- bool bVar5;
- undefined4 uVar6;
- long lVar7;
- uint uVar8;
- int iVar9;
- uint uVar10;
- uint uVar11;
- lVar7 = *(long *)(this + 8);
- if (lVar7 != 0) {
- uVar1 = *(uint *)param_1;
- uVar2 = *(uint *)param_2;
- if (*(int *)(lVar7 + 0xc) != 0) {
- uVar3 = *(uint *)(lVar7 + 0xc);
- uVar8 = uVar3;
- if (uVar3 != 0) {
- uVar8 = uVar3 | uVar3 >> 1;
- uVar8 = uVar8 | uVar8 >> 2;
- uVar8 = uVar8 | uVar8 >> 4;
- uVar8 = uVar8 | uVar8 >> 8;
- uVar8 = uVar8 | uVar8 >> 0x10;
- uVar8 = ((uVar8 & 0xaaaaaaaa) >> 1) + (uVar8 & 0x55555555);
- uVar8 = ((uVar8 & 0xcccccccc) >> 2) + (uVar8 & 0x33333333);
- uVar8 = ((uVar8 & 0xf0f0f0f0) >> 4) + (uVar8 & 0xf0f0f0f);
- uVar8 = ((uVar8 & 0xff00ff00) >> 8) + (uVar8 & 0xff00ff);
- iVar9 = -((uVar8 >> 0x10) + (uVar8 & 0xffff));
- if (iVar9 == 0) {
- uVar8 = 0;
- }
- else {
- uVar10 = 1 << (ulong)((iVar9 + 0x20U ^ 0x1f) & 0x1f);
- uVar8 = uVar10 - 1;
- do {
- while( true ) {
- uVar11 = uVar8;
- if (uVar3 <= uVar8) {
- uVar11 = *(int *)(lVar7 + 0xc) - 1;
- }
- uVar10 = uVar10 >> 1;
- uVar4 = *(uint *)(*(long *)(lVar7 + 0x10) + (ulong)uVar11 * 0xc + 4);
- if (uVar4 < uVar2) break;
- if (uVar4 <= uVar2) {
- uVar11 = *(uint *)(*(long *)(lVar7 + 0x10) + (ulong)uVar11 * 0xc);
- if (uVar11 < uVar1) break;
- if (uVar11 <= uVar1) goto LAB_10180b358;
- }
- uVar8 = uVar8 - uVar10;
- bVar5 = iVar9 == -1;
- iVar9 = iVar9 + 1;
- if (bVar5) goto LAB_10180b358;
- }
- uVar8 = uVar8 + uVar10;
- bVar5 = iVar9 != -1;
- iVar9 = iVar9 + 1;
- } while (bVar5);
- LAB_10180b358:
- if (uVar3 <= uVar8) {
- uVar8 = uVar3 - 1;
- }
- }
- }
- lVar7 = *(long *)(lVar7 + 0x10);
- if (*(uint *)(lVar7 + (ulong)uVar8 * 0xc + 4) == uVar2) {
- uVar6 = 0xffffffff;
- if ((uVar8 != 0xffffffff) && (*(uint *)(lVar7 + (ulong)uVar8 * 0xc) == uVar1)) {
- uVar6 = *(undefined4 *)(lVar7 + (ulong)uVar8 * 0xc + 8);
- }
- return uVar6;
- }
- }
- }
- return 0xffffffff;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement