<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
  <CheatEntries>
    <CheatEntry>
      <ID>1337191861</ID>
      <Description>"Compact Mode"</Description>
      <Color>800000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]

function cycleFullCompact(sender,force)
local state = not(compactmenuitem.Caption == 'Compact View Mode')
 if force~=nil then state = not force end
  compactmenuitem.Caption = state and 'Compact View Mode' or 'Full View Mode'
   getMainForm().Splitter1.Visible = state
   getMainForm().Panel4.Visible    = state
   getMainForm().Panel5.Visible    = state
end

function addCompactMenu()
 if compactmenualreadyexists then return
end

local parent = getMainForm().Menu.Items
 compactmenuitem = createMenuItem(parent)
 parent.add(compactmenuitem)
 compactmenuitem.Caption = 'Compact View Mode'
 compactmenuitem.OnClick = cycleFullCompact
 compactmenualreadyexists = 'yes'
end

addCompactMenu()
cycleFullCompact(nil,true)


[DISABLE]

cycleFullCompact(nil,false)


</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>1337191862</ID>
      <Description>"Disable All Scripts - (Always Run Before Closing CE)"</Description>
      <Color>800000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]

local mainHook = ('BlackJack &amp; Waifus')

local al = getAddressList()

for i = 0, al.Count - 1 do

    if al[i].Active == true and al[i].Description ~= mainHook then al[i].Active = false
 end
end

for i = 0, al.Count - 1 do
     if al[i].Active == true  then al[i].Active = false

 end
end

if not syntaxcheck then
 synchronize(function()
   local t = createTimer()
   t.Interval,t.OnTimer = 500,function(tm)
     tm.Destroy()
     memrec.Active = false
   end
 end)
end

[DISABLE]
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>1</ID>
      <Description>"BlackJack &amp; Waifus"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

//aobscan(INJECT_Game,83 39 00 4C 63 B8 1C 01 00 00) // should be unique
define(INJECT_Game,UIChipsPanel:RefreshChips+3e)
alloc(newmem,$1000,INJECT_Game)
registersymbol(INJECT_Game Game)
label(return)

newmem:
  mov [Game],rcx
  cmp dword ptr [rcx],00
  movsxd  r15,dword ptr [rax+0000011C]
  jmp return

align 8,CC
Game:
dq 0

INJECT_Game:
  jmp newmem
  nop 5
return:


[DISABLE]

INJECT_Game:
  db 83 39 00 4C 63 B8 1C 01 00 00

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: UIChipsPanel:RefreshChips+3e

UIChipsPanel:RefreshChips+c: 48 89 7D E0                    - mov [rbp-20],rdi
UIChipsPanel:RefreshChips+10: 4C 89 6D E8                    - mov [rbp-18],r13
UIChipsPanel:RefreshChips+14: 4C 89 75 F0                    - mov [rbp-10],r14
UIChipsPanel:RefreshChips+18: 4C 89 7D F8                    - mov [rbp-08],r15
UIChipsPanel:RefreshChips+1c: 48 8B F1                       - mov rsi,rcx
UIChipsPanel:RefreshChips+1f: 49 BA C0 4C 44 B4 D9 01 00 00  - mov r10,000001D9B4444CC0
UIChipsPanel:RefreshChips+29: 48 8D 64 24 00                 - lea rsp,[rsp+00]
UIChipsPanel:RefreshChips+2e: 49 BB B0 64 57 50 D9 01 00 00  - mov r11,RefSingleton`1[T_REF]:get_Instance
UIChipsPanel:RefreshChips+38: 41 FF D3                       - call r11
UIChipsPanel:RefreshChips+3b: 48 8B C8                       - mov rcx,rax
// ---------- INJECTING HERE ----------
UIChipsPanel:RefreshChips+3e: 83 39 00                       - cmp dword ptr [rcx],00
// ---------- DONE INJECTING  ----------
UIChipsPanel:RefreshChips+41: 4C 63 B8 1C 01 00 00           - movsxd  r15,dword ptr [rax+0000011C]
UIChipsPanel:RefreshChips+48: 45 33 F6                       - xor r14d,r14d
UIChipsPanel:RefreshChips+4b: 48 8B 46 18                    - mov rax,[rsi+18]
UIChipsPanel:RefreshChips+4f: 48 63 40 18                    - movsxd  rax,dword ptr [rax+18]
UIChipsPanel:RefreshChips+53: 4C 8B E8                       - mov r13,rax
UIChipsPanel:RefreshChips+56: 41 FF CD                       - dec r13d
UIChipsPanel:RefreshChips+59: E9 B8 00 00 00                 - jmp UIChipsPanel:RefreshChips+116
UIChipsPanel:RefreshChips+5e: 66 90                          - nop 2
UIChipsPanel:RefreshChips+60: F2 41 0F 2A C7                 - cvtsi2sd xmm0,r15d
UIChipsPanel:RefreshChips+65: F2 0F 11 45 D0                 - movsd [rbp-30],xmm0
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>3</ID>
          <Description>"Game Base"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <GroupHeader>1</GroupHeader>
          <Address>Game</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
          <CheatEntries>
            <CheatEntry>
              <ID>5</ID>
              <Description>"_lastGirl"</Description>
              <ShowAsHex>1</ShowAsHex>
              <VariableType>8 Bytes</VariableType>
              <Address>+110</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>6</ID>
              <Description>"LowestMoney"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+118</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>7</ID>
              <Description>"money"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+11C</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>8</ID>
              <Description>"chips"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+120</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>9</ID>
              <Description>"lastChips"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+124</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>10</ID>
              <Description>"GameDifficulty"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+128</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>11</ID>
              <Description>"TemporaryBest"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+12C</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>12</ID>
              <Description>"CurrentCup"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+130</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>13</ID>
              <Description>"CurrentIndex"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+134</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>14</ID>
              <Description>"InfiniteGame"</Description>
              <VariableType>Byte</VariableType>
              <Address>+138</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>15</ID>
              <Description>"NeedToRecalculate"</Description>
              <VariableType>Byte</VariableType>
              <Address>+139</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>16</ID>
              <Description>"losesCount"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+13C</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>17</ID>
              <Description>"winsCount"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+140</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>18</ID>
              <Description>"_hitCoroStarted"</Description>
              <VariableType>Byte</VariableType>
              <Address>+144</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>19</ID>
              <Description>"_resultShowed"</Description>
              <VariableType>Byte</VariableType>
              <Address>+145</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>26</ID>
              <Description>"Her Cards"</Description>
              <Options moHideChildren="1"/>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>20</ID>
                  <Description>"number"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+50</Address>
                  <Offsets>
                    <Offset>38</Offset>
                    <Offset>20</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>21</ID>
                  <Description>"number"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+50</Address>
                  <Offsets>
                    <Offset>38</Offset>
                    <Offset>28</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>22</ID>
                  <Description>"number"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+50</Address>
                  <Offsets>
                    <Offset>38</Offset>
                    <Offset>30</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>23</ID>
                  <Description>"number"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+50</Address>
                  <Offsets>
                    <Offset>38</Offset>
                    <Offset>38</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>24</ID>
                  <Description>"number"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+50</Address>
                  <Offsets>
                    <Offset>38</Offset>
                    <Offset>40</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>25</ID>
                  <Description>"number"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+50</Address>
                  <Offsets>
                    <Offset>38</Offset>
                    <Offset>48</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>27</ID>
              <Description>"My Cards"</Description>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>28</ID>
                  <Description>"number"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+58</Address>
                  <Offsets>
                    <Offset>38</Offset>
                    <Offset>20</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>29</ID>
                  <Description>"number"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+58</Address>
                  <Offsets>
                    <Offset>38</Offset>
                    <Offset>28</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>30</ID>
                  <Description>"number"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+58</Address>
                  <Offsets>
                    <Offset>38</Offset>
                    <Offset>30</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>31</ID>
                  <Description>"number"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+58</Address>
                  <Offsets>
                    <Offset>38</Offset>
                    <Offset>38</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>32</ID>
                  <Description>"number"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+58</Address>
                  <Offsets>
                    <Offset>38</Offset>
                    <Offset>40</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <CheatCodes>
    <CodeEntry>
      <Description>Change of cmp [rsp+08],eax</Description>
      <AddressString>1D950449764</AddressString>
      <Before>
        <Byte>C1</Byte>
        <Byte>48</Byte>
        <Byte>63</Byte>
        <Byte>40</Byte>
        <Byte>40</Byte>
      </Before>
      <Actual>
        <Byte>39</Byte>
        <Byte>44</Byte>
        <Byte>24</Byte>
        <Byte>08</Byte>
      </Actual>
      <After>
        <Byte>40</Byte>
        <Byte>0F</Byte>
        <Byte>94</Byte>
        <Byte>C0</Byte>
        <Byte>48</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of je GallerySlotInfo:OnEnable+bf</Description>
      <AddressString>1D95044146D</AddressString>
      <Before>
        <Byte>41</Byte>
        <Byte>FF</Byte>
        <Byte>D3</Byte>
        <Byte>85</Byte>
        <Byte>C0</Byte>
      </Before>
      <Actual>
        <Byte>74</Byte>
        <Byte>60</Byte>
      </Actual>
      <After>
        <Byte>90</Byte>
        <Byte>90</Byte>
        <Byte>90</Byte>
        <Byte>90</Byte>
        <Byte>41</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of jne GallerySlotInfo:OnEnable+e3</Description>
      <AddressString>1D9504414EC</AddressString>
      <Before>
        <Byte>8B</Byte>
        <Byte>E9</Byte>
        <Byte>48</Byte>
        <Byte>85</Byte>
        <Byte>C0</Byte>
      </Before>
      <Actual>
        <Byte>75</Byte>
        <Byte>05</Byte>
      </Actual>
      <After>
        <Byte>45</Byte>
        <Byte>33</Byte>
        <Byte>ED</Byte>
        <Byte>EB</Byte>
        <Byte>1B</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of je GallerySlotInfo:OnEnable+26b</Description>
      <AddressString>1D950441547</AddressString>
      <Before>
        <Byte>45</Byte>
        <Byte>D0</Byte>
        <Byte>48</Byte>
        <Byte>85</Byte>
        <Byte>F6</Byte>
      </Before>
      <Actual>
        <Byte>0F</Byte>
        <Byte>84</Byte>
        <Byte>2E</Byte>
        <Byte>01</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>48</Byte>
        <Byte>B9</Byte>
        <Byte>A8</Byte>
        <Byte>FF</Byte>
        <Byte>83</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of je GallerySlotInfo:OnEnable+24d</Description>
      <AddressString>1D950441571</AddressString>
      <Before>
        <Byte>8B</Byte>
        <Byte>C8</Byte>
        <Byte>48</Byte>
        <Byte>85</Byte>
        <Byte>F6</Byte>
      </Before>
      <Actual>
        <Byte>0F</Byte>
        <Byte>84</Byte>
        <Byte>E6</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>48</Byte>
        <Byte>89</Byte>
        <Byte>71</Byte>
        <Byte>20</Byte>
        <Byte>48</Byte>
      </After>
    </CodeEntry>
  </CheatCodes>
  <UserdefinedSymbols/>
</CheatTable>
