"ArtMoney Table","18","8.08","197DDEB9","C97A5C97","RF2ADB229B","1","1","english","XCOM: Enemy Unknown","XComGame.exe","1","3f54371fbefe66217d977191329e5640","08/01/2020","2","6","1","1","256","9","Service Pack 1","ExtraByte","Ukraine","gmail.com","superextrabyte","M","32","N","Y","Y","N","N","N","2","SigBase;A1 ?? ?? ?? ?? 83 B8 ?? ?? 00 00 00 74 7c 83 b8 ?? ?? 00 00 01 75 73 8d 4c 24 1c 51 8b cd;1B;;0C;A;S;XComGame.exe","SigInject;a3 ?? ?? ?? ?? 8b 45 00 a3 ?? ?? ?? ?? 39 be 68 02 00 00 0f 84 ?? ?? ?? ??;19;;0C;A;S;XComGame.exe","0","","","","Money","SigBase+P00000001,,80,680,580,592","","","","ni4$","","0","Scientists","SigBase+P00000001,,80,680,1104,532","","","","ni4$","","0","Engineers","SigBase+P00000001,,80,680,1108,572","","","","ni4$","","0","-------Barrack Solder-------","00000000","","","","ni4","","0","HP","SigBase+P00000001,,732,8,1444,600,1552","","","","ni4$","","0","AIM","SigBase+P00000001,,732,8,1444,600,1556","","","","ni4$","","0","DEF","SigBase+P00000001,,732,8,1444,600,1560","","","","ni4$","","0","MOV","SigBase+P00000001,,732,8,1444,600,1564","","","","ni4$","","0","WILL","SigBase+P00000001,,732,8,1444,600,1580","","","","ni4$","","0","LEVEL (1-7)","SigBase+P00000001,,732,8,1444,600,1736","","","","ni4$","","0","COUNTRY","SigBase+P00000001,,732,8,1444,600,1744","","","","ni4$","","0","EXP (2000)","SigBase+P00000001,,732,8,1444,600,1748","","","","ni4$","","0","KILLS","SigBase+P00000001,,732,8,1444,600,1756","","","","ni4$","","0","MISSIONS","SigBase+P00000001,,732,8,1444,600,2064","","","","ni4$","","0","PSI","SigBase+P00000001,,732,8,1444,600,1692","","","","ni4$","","0","PSI LEVEL","SigBase+P00000001,,732,8,1444,600,1740","","","","ni4$","","0","VOICE","SigBase+P00000001,,732,8,1444,600,1808","","","","ni4$","","0","CLASS","SigBase+P00000001,,732,8,1444,600,1836","","","","ni4$","","0","ARMOUR","SigBase+P00000001,,732,8,1444,600,484","","","","ni4$","","0","ACCESSORY (0-3)","SigBase+P00000001,,732,8,1444,600,624","","","","ni4$","","0","ACCESSORY1","SigBase+P00000001,,732,8,1444,600,560","","","","ni4$","","0","ACCESSORY2","SigBase+P00000001,,732,8,1444,600,564","","","","ni4$","","0","ACCESSORY3","SigBase+P00000001,,732,8,1444,600,568","","","","ni4$","","0","WEAPON1","SigBase+P00000001,,732,8,1444,600,492","","","","ni4$","","0","WEAPON2","SigBase+P00000001,,732,8,1444,600,488","","","","ni4$","","0","ROCKETS","SigBase+P00000001,,732,8,1444,600,496","","","","ni4$","","0","-------Battle Solder-------","00000000","","","","ni4","","0","Replace Instruction cmp [esi+00000268],edi","SigInject+0000000D","","","","nc6$","","0","Y","0","39BE68020000","PlayerStr dd 0 ActiveUnit_Pointer dd 0 ActiveUnit_Count dd 0 ActiveUnit_UnitFlags dd 0 ActiveUnit_UnitFlagsCount dd 0 ActiveUnit_PlayerFlags dd 0 ActiveUnit_PlayerFlagsCount dd 0 ActiveUnit_ESI dd 0 ActiveUnit_EDI dd 0 CurrentTickCount dd 0 LastPlayerTickCount dd 0 LastPlayerAddress dd 0 CurrentUnitAddress dd 0 inc [ActiveUnit_Count] mov [ActiveUnit_Pointer], eax mov [ActiveUnit_ESI], esi mov [ActiveUnit_EDI], edi pushad pushfd mov [CurrentUnitAddress], eax push eax call GetTickCount mov [CurrentTickCount], eax pop eax xor esi, esi // unit flags - checking for unit xor edi, edi // unit count - checking for unit cmp [eax+8], 01000004 jne Not8 or esi, 1 inc edi Not8: // 00002000 shl esi, 1 cmp [eax+c], 02000001 jne NotC or esi, 1 inc edi NotC: // 00001000 shl esi, 1 cmp [eax+1c], ffffffff jne Not1C or esi, 1 inc edi Not1C: // 00000800 shl esi, 1 cmp [eax+24], ffffffff jne Not24 or esi, 1 inc edi Not24: // 00000400 shl esi, 1 cmp [eax+40], 00000005 jne Not40 or esi, 1 inc edi Not40: // 00000200 shl esi, 1 cmp [eax+44], 00000005 jne Not44 or esi, 1 inc edi Not44: // 00000100 shl esi, 1 cmp [eax+4C], 00000005 jne Not4C or esi, 1 inc edi Not4C: // 00000080 shl esi, 1 cmp [eax+50], 00000016 jne Not50 or esi, 1 inc edi Not50: // 00000040 shl esi, 1 cmp [eax+9C], 00090103 jne Not9C or esi, 1 inc edi Not9C: // 00000020 shl esi, 1 cmp [eax+AC], 00000010 jne NotAC or esi, 1 inc edi NotAC: // 00000010 shl esi, 1 cmp [eax+1B4], 5 jne Not1B4 or esi, 1 inc edi Not1B4: // 00000008 shl esi, 1 cmp [eax+1FC], 0000001B jne Not1FC or esi, 1 inc edi Not1FC: // 00000004 shl esi, 1 cmp [eax+2F8], FFFFFFFF jne Not2F8 or esi, 1 inc edi Not2F8: // 00000002 shl esi, 1 cmp [eax+0850], FFFFFFFF jne Not850 or esi, 1 inc edi Not850: // 00000001 mov [ActiveUnit_UnitFlags], esi mov [ActiveUnit_UnitFlagsCount], edi // now repeat for player flags xor esi, esi xor edi, edi cmp byte ptr [eax+220], 1 jne Not220 or esi, 1 inc edi Not220: // 00000008 shl esi, 1 cmp byte ptr [eax+99], 8 jne Not99 or esi, 1 inc edi Not99: // 00000004 shl esi, 1 cmp [eax+B0], 0 je NotB0 or esi, 1 inc edi NotB0: // 00000002 shl esi, 1 cmp [eax+12C], 00000016 // 2f for 'Purple Passion' jne Not12C or esi, 1 inc edi Not12C: // 00000001 mov [ActiveUnit_PlayerFlags], esi mov [ActiveUnit_PlayerFlagsCount], edi mov esi, [ActiveUnit_UnitFlagsCount] cmp esi, b // 13 total jb NotAPlayerUnit cmp edi, 2 // 4 total jb NotAPlayerUnit mov [PlayerStr],eax // cmp dword ptr [ActiveUnit_Super], 1 // jne NoSuper // mov dword ptr [ActiveUnit_Super], 0 // mov dword ptr [eax+1d4], #999 // mov dword ptr [eax+1d8], #999 // mov dword ptr [eax+1dc], #999 // mov dword ptr [eax+1f0], #999 //NoSuper: // cmp dword ptr [ActiveUnit_EnableFreeMove], 1 // jne NoFreeMove // mov ebx, dword ptr [eax+dc0] // test ebx, ebx // jz NoFreeMove // mov dword ptr [eax+dc0], 00000000 // mov dword ptr [eax+dc4], 00000002 // mov dword ptr [eax+dc8], 00000001 //NoFreeMove: mov eax, [CurrentUnitAddress] mov [LastPlayerAddress], eax mov eax, [CurrentTickCount] mov [LastPlayerTickCount], eax NotAPlayerUnit: popfd popad","HP","PlayerStr+P00000000,468","","","","ni4&","","0","AIM","PlayerStr+P00000000,472","","","","ni4&","","0","DEF","PlayerStr+P00000000,476","","","","ni4&","","0","WILL","PlayerStr+P00000000,496","","","","ni4&","","0","REMANING MOVEMENT","PlayerStr+P00000000,3520","","","","ni4&","","0"