Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- push r14
- push rdi
- push rsi
- push rbp
- push rbx
- sub rsp,70
- mov [pDebug],rcx
- mov rsi,rcx
- mov rdi,pCharacter
- mov rdi,[rdi]
- test rdi,rdi
- je Ending
- xorps xmm1,xmm1
- movzx eax,byte ptr[rsi+2C]
- cvtsi2ss xmm0,eax
- movss [rsi+28],xmm0
- comiss xmm0,xmm1
- je Ending
- movss xmm3,[fScrollSpeed]
- divss xmm3,[fTen]
- mov rax,[rdi+20] // keys
- test rax,rax
- je Ending
- cmp byte ptr[rax+48],1
- jne @f
- // left
- movss xmm0,[rsi+24] // selX
- addss xmm0,xmm3
- minss xmm0,[fMaxCat]
- movss [rsi+24],xmm0
- mov rbx,[rsi+10]
- add rbx,10
- cvtss2si ecx,xmm0
- mov rbx,[rbx+rcx*8]
- movss [rbx+20],xmm1 // selY as float
- mov [rbx+1C],0 // as int index
- cvtss2si ecx,xmm0
- mov [rsi+20],ecx // selCat as int
- @@:
- cmp byte ptr[rax+49],1
- jne @f
- // right
- movss xmm0,[rsi+24] // selX
- subss xmm0,xmm3
- maxss xmm0,xmm1
- movss [rsi+24],xmm0
- mov rbx,[rsi+10]
- add rbx,10
- cvtss2si ecx,xmm0
- mov rbx,[rbx+rcx*8]
- movss [rbx+20],xmm1 // selY as float
- mov [rbx+1C],0 // as int index
- cvtss2si ecx,xmm0
- mov [rsi+20],ecx // selCat as int
- @@:
- cmp byte ptr[rax+4F],1
- jne @f
- // down
- mov rbx,[rsi+10] // cat
- add rbx,10 // array 0
- mov ecx,dword ptr[rsi+20]
- mov rbx,[rbx+rcx*8]
- movss xmm0,[rbx+20] // selY
- addss xmm0,xmm3
- mov rcx,[rbx+8] // item
- mov ecx,[rcx+8] // elements
- dec ecx
- cvtsi2ss xmm2,ecx
- minss xmm0,xmm2
- movss [rbx+20],xmm0
- cvtss2si ecx,xmm0
- mov [rbx+1C],ecx // selected ID as int
- @@:
- cmp byte ptr[rax+4E],1
- jne @f
- // up
- mov rbx,[rsi+10] // cat
- add rbx,10 // array 0
- mov ecx,dword ptr[rsi+20]
- mov rbx,[rbx+rcx*8]
- movss xmm0,[rbx+20] // selY
- subss xmm0,xmm3
- maxss xmm0,xmm1
- movss [rbx+20],xmm0
- cvtss2si ecx,xmm0
- mov [rbx+1C],ecx // selected ID as int
- @@:
- cmp byte ptr[rax+5C],1
- jne @f
- // jump
- mov rbx,[rsi+10] // cat
- add rbx,10 // array 0
- mov ecx,dword ptr[rsi+20]
- mov rcx,[rbx+rcx*8]
- mov rdx,rdi
- mov r8,[rsi+8]
- mov r14,[rcx]
- mov r14,[r14+40]
- // selectedOption.fire(character,player)
- call [r14+20]
- @@:
- Ending:
- add rsp,70
- pop rbx
- pop rbp
- pop rsi
- pop rdi
- pop r14
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement