0x8351D0 - 0x400000 = 0x4351D0
Code:
.text:004351D0 CGGameObject_C__CanInteract proc near ; DATA XREF: .rdata:00931834o
.text:004351D0
.text:004351D0 arg_0 = dword ptr 8
.text:004351D0
.text:004351D0 55 push ebp
.text:004351D1 8B EC mov ebp, esp
.text:004351D3 8B 81 D8 00 00 00 mov eax, [ecx+0D8h]
.text:004351D9 0F BE 40 2D movsx eax, byte ptr [eax+2Dh]
.text:004351DD 83 C0 F5 add eax, 0FFFFFFF5h
.text:004351E0 83 F8 18 cmp eax, 18h ; switch 25 cases
.text:004351E3 77 14 ja short loc_4351F9 ; default
.text:004351E3 ; jumptable 008351EC cases 1,2,5-21,23
.text:004351E5 0F B6 90 18 52 43 00 movzx edx, ds:byte_435218[eax]
.text:004351EC FF 24 95 10 52 43 00 jmp ds:off_435210[edx*4] ; switch jump
.text:004351F3
.text:004351F3 loc_4351F3: ; DATA XREF: .text:off_435210o
.text:004351F3 33 C0 xor eax, eax ; jumptable 008351EC cases 0,3,4,22,24
.text:004351F5 5D pop ebp
.text:004351F6 C2 04 00 retn 4
.text:004351F9 ; ---------------------------------------------------------------------------
.text:004351F9
.text:004351F9 loc_4351F9: ; CODE XREF: CGGameObject_C__CanInteract+13j
.text:004351F9 ; CGGameObject_C__CanInteract+1Cj
.text:004351F9 ; DATA XREF: ...
.text:004351F9 E8 62 FF FF FF call CWorld__ObjectCreate ; default
.text:004351F9 ; jumptable 008351EC cases 1,2,5-21,23
.text:004351FE 8B 4D 08 mov ecx, [ebp+arg_0]
.text:00435201 33 D2 xor edx, edx
.text:00435203 85 C0 test eax, eax
.text:00435205 0F 95 C2 setnz dl
.text:00435208 89 01 mov [ecx], eax
.text:0043520A 8B C2 mov eax, edx
.text:0043520C 5D pop ebp
.text:0043520D C2 04 00 retn 4
.text:0043520D CGGameObject_C__CanInteract endp
this even matches exactly the caninteract function i used in 4.0.6
and it can't return a filename because it returns bool
Code:
bool __thiscall CGGameObject_C__CanInteract(int this, int a2)
{
bool result; // eax@2
int v3; // eax@3
switch ( *(_BYTE *)(*(_DWORD *)(this + 216) + 45) )
{
case 11:
case 14:
case 15:
case 33:
case 35:
result = 0;
break;
default:
v3 = CWorld__ObjectCreate(this);
*(_DWORD *)a2 = v3;
result = v3 != 0;
break;
}
return result;
}