<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="16">
  <CheatEntries>
    <CheatEntry>
      <ID>1</ID>
      <Description>"Inv"</Description>
      <Color>80000008</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
// 0A8880F9 - 89 44 B2 08           - mov [edx+esi*4+08],eax
// 0A8880FD - 8B 83 98000000        - mov eax,[ebx+00000098]
// 0A888103 - 3B 70 04              - cmp esi,[eax+04]
// 0A888106 - 73 50                 - jae 0A888158
// 0A888108 - 8B 4C B0 0C           - mov ecx,[eax+esi*4+0C]
// 0A88810C - 8B 54 F7 08           - mov edx,[edi+esi*8+08] &lt;=== Read Needed Quantity
// 0A888110 - 39 09                 - cmp [ecx],ecx
// 0A888112 - E8 E9FCB8FB           - call 06417E00 : [System.Xaml.ni.dll+128B55]
// 0A888117 - 8B 83 94000000        - mov eax,[ebx+00000094]
// 0A88811D - 3B 70 04              - cmp esi,[eax+04]
//
// 89 44 B2 08 8B 83 98 00 00 00 3B 70 04 73 50 8B 4C B0 0C 8B 54 F7 08 39 09 E8 XX XX XX XX 8B 83 94 00 00 00 3B 70 04


//code from here to '[DISABLE]' will be used to enable the cheat
aobscan(aobQuantCheck,89 44 B2 08 8B 83 98 00 00 00 3B 70 04 73 50 8B 4C B0 0C 8B 54 F7 08 39 09 E8 XX XX XX XX 8B 83 94 00 00 00 3B 70 04)

alloc(newmem,4096)

label(aobQuantCheck_r)
registersymbol(aobQuantCheck_r)

label(lblQuantCheck)
label(lblQuantCheckRet)
label(lblQuantCheckAbort)

newmem:

lblQuantCheck:
// Overwritten code.
mov ecx,[eax+esi*4+0C]
mov edx,[edi+esi*8+08]
// Check Hotkey
pushad
push 11 // VK_CTRL
call GetAsyncKeyState
shr ax, #15
cmp ax, 1
popad
jne lblQuantCheckRet
// The hack
pushad
mov ecx, edx
mov eax, [ebp+08]
mov eax, [eax+18]
mov edx, [edi+esi*8+0C]
lea eax, [eax+edx*4+08]
// ECX has quantity required, EAX points to current quantity
cmp ecx, [eax]
jle lblQuantCheckAbort
mov [eax], ecx
lblQuantCheckAbort:
popad
jmp lblQuantCheckRet

// Jmp to code
aobQuantCheck+F:
aobQuantCheck_r:
jmp lblQuantCheck
nop
nop
nop
lblQuantCheckRet:

[DISABLE]
aobQuantCheck_r:
db 8B 4C B0 0C 8B 54 F7 08

unregistersymbol(aobQuantCheck_r)

dealloc(newmem)

//code from here till the end of the code will be used to disable the cheat
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>3</ID>
      <Description>"Unlimited Ammo"</Description>
      <Color>80000008</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)
label(UA)
registersymbol(UA)
aobscan(ammo,49 68 FF FF FF 7F)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
dec ecx
push 7FFFFFFF

exit:
jmp returnhere

ammo:
UA:
nop
returnhere:


 
 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
UA:
dec ecx
push 7FFFFFFF
unregistersymbol(UA)
//Alt: db 49 68 FF FF FF 7F
</AssemblerScript>
      <Hotkeys>
        <Hotkey>
          <Action>Toggle Activation</Action>
          <Keys>
            <Key>97</Key>
          </Keys>
          <ID>0</ID>
        </Hotkey>
      </Hotkeys>
    </CheatEntry>
    <CheatEntry>
      <ID>12</ID>
      <Description>"Money"</Description>
      <Color>80000008</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)
label(money)
registersymbol(money)
aobscan(moneyaob,D9 46 2C D8 45 F0)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here
add [esi+2C],100000
fld dword ptr [esi+2C]

originalcode:
fld dword ptr [esi+2C]
fadd dword ptr [ebp-10]

exit:
jmp returnhere

moneyaob:
money:
jmp newmem
nop
returnhere:


 
 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
money:
fld dword ptr [esi+2C]
fadd dword ptr [ebp-10]
unregistersymbol(money)
//Alt: db D9 46 2C D8 45 F0
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>16</ID>
      <Description>"Unlimited Drop"</Description>
      <Color>80000008</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here
mov eax,3

originalcode:
mov [edx+04],eax
mov eax,[esi+20]

exit:
jmp returnhere

05404865:
jmp newmem
nop
returnhere:


 
 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
05404865:
mov [edx+04],eax
mov eax,[esi+20]
//Alt: db 89 42 04 8B 46 20
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
  <CheatCodes>
    <CodeEntry>
      <Description>Code :mov edx,[eax+edx*4+08]</Description>
      <Address>0A888135</Address>
      <ModuleName/>
      <ModuleNameOffset>0</ModuleNameOffset>
      <Before>
        <Byte>3B</Byte>
        <Byte>50</Byte>
        <Byte>04</Byte>
        <Byte>73</Byte>
        <Byte>23</Byte>
      </Before>
      <Actual>
        <Byte>8B</Byte>
        <Byte>54</Byte>
        <Byte>90</Byte>
        <Byte>08</Byte>
      </Actual>
      <After>
        <Byte>39</Byte>
        <Byte>09</Byte>
        <Byte>E8</Byte>
        <Byte>C0</Byte>
        <Byte>FC</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of dec ecx</Description>
      <Address>05D7027F</Address>
      <ModuleName/>
      <ModuleNameOffset>0</ModuleNameOffset>
      <Before>
        <Byte>5F</Byte>
        <Byte>2C</Byte>
        <Byte>8B</Byte>
        <Byte>4F</Byte>
        <Byte>28</Byte>
      </Before>
      <Actual>
        <Byte>49</Byte>
      </Actual>
      <After>
        <Byte>68</Byte>
        <Byte>FF</Byte>
        <Byte>FF</Byte>
        <Byte>FF</Byte>
        <Byte>7F</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of dec eax</Description>
      <Address>0B803CC3</Address>
      <ModuleName/>
      <ModuleNameOffset>0</ModuleNameOffset>
      <Before>
        <Byte>82</Byte>
        <Byte>0C</Byte>
        <Byte>8B</Byte>
        <Byte>42</Byte>
        <Byte>04</Byte>
      </Before>
      <Actual>
        <Byte>48</Byte>
      </Actual>
      <After>
        <Byte>89</Byte>
        <Byte>42</Byte>
        <Byte>04</Byte>
        <Byte>8B</Byte>
        <Byte>45</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of dec eax</Description>
      <Address>05C349F3</Address>
      <ModuleName/>
      <ModuleNameOffset>0</ModuleNameOffset>
      <Before>
        <Byte>82</Byte>
        <Byte>0C</Byte>
        <Byte>8B</Byte>
        <Byte>42</Byte>
        <Byte>04</Byte>
      </Before>
      <Actual>
        <Byte>48</Byte>
      </Actual>
      <After>
        <Byte>89</Byte>
        <Byte>42</Byte>
        <Byte>04</Byte>
        <Byte>8B</Byte>
        <Byte>45</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of jmp 05E70000</Description>
      <Address>0A6A118F</Address>
      <ModuleName/>
      <ModuleNameOffset>0</ModuleNameOffset>
      <Before>
        <Byte>DE</Byte>
        <Byte>C9</Byte>
        <Byte>D9</Byte>
        <Byte>5D</Byte>
        <Byte>F0</Byte>
      </Before>
      <Actual>
        <Byte>E9</Byte>
        <Byte>6C</Byte>
        <Byte>EE</Byte>
        <Byte>7C</Byte>
        <Byte>FB</Byte>
      </Actual>
      <After>
        <Byte>90</Byte>
        <Byte>D9</Byte>
        <Byte>5D</Byte>
        <Byte>E0</Byte>
        <Byte>D9</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of dec eax</Description>
      <Address>05404607</Address>
      <ModuleName/>
      <ModuleNameOffset>0</ModuleNameOffset>
      <Before>
        <Byte>82</Byte>
        <Byte>0C</Byte>
        <Byte>8B</Byte>
        <Byte>42</Byte>
        <Byte>04</Byte>
      </Before>
      <Actual>
        <Byte>48</Byte>
      </Actual>
      <After>
        <Byte>89</Byte>
        <Byte>42</Byte>
        <Byte>04</Byte>
        <Byte>C6</Byte>
        <Byte>87</Byte>
      </After>
    </CodeEntry>
  </CheatCodes>
  <UserdefinedSymbols>
    <SymbolEntry>
      <Name>UI</Name>
      <Address>05FC45BB</Address>
    </SymbolEntry>
  </UserdefinedSymbols>
</CheatTable>
