كود:
[ENABLE]
alloc(dv,100)
alloc(dvtype,4)
alloc(ItemVac, 1024)
label(normalx)
label(normaly)
label(endx)
label(endy)
label(backdv)
label(dvzero)
label(dvone)
registersymbol(dvtype)
dv:
mov eax, [00785ef4]
push eax
mov eax, [eax+390]
mov [ebx+398], eax
cmp [dvtype], 0
je dvzero
cmp [dvtype], 1
je dvone
sub eax, 100
jmp dvzero
dvone:
add eax, 100
dvzero:
mov [ebx+390], eax
pop eax
mov eax, [eax+394]
mov [ebx+394], eax
mov [ebx+39C], eax
jmp backdv
push ecx
mov ecx, [00785ef4]
add ecx,390
cmp ebx, ecx
je normalx
mov ecx, [ecx]
cmp [dvtype], 0
cmp [dvtype], 1
sub ecx, 100
add ecx, 100
cmp [ebx],ecx
je endx
normalx:
mov [ebx],eax
endx:
pop ecx
mov edi, [ebp+10]
push ecx
mov ecx, [00785ef4]
add ecx,394
cmp edi, ecx
je normaly
mov ecx, [ecx]
cmp [edi],ecx
je endy
normaly:
mov [edi],eax
endy:
pop ecx
mov ebx, [ebp+14]
0051df08:
jmp dv
nop
backdv:
00677a44:
00677aa9:
ItemVac:
pushad
mov ecx, [ebp+8]
mov ebx, [ebp-24]
mov [ecx], ebx
mov [ecx+4], eax
mov ecx, eax
mov eax, ebx
lea edx, [eax-19]
mov [ebp-34], edx
lea edx, [ecx-32]
add eax, 19
add ecx, A
mov [ebp-30], edx
mov [ebp-2C], eax
mov [ebp-28], ecx
popad
push eax
push [ebp-24]
lea eax, [ebp-34]
jmp 00494599
00494592:
jmp ItemVac
nop
nop
[DISABLE]
00494592:
push EAX
00494593:
push [ebp-24]
00494596:
lea eax, [ebp-34]
0051df08:
mov [ebx+39c], eax
00677a44:
mov [ebx],eax
mov edi, [ebp+10]
00677aa9:
mov [edi],eax
mov ebx, [ebp+14]
dealloc(dv)
dealloc(uvx)
dealloc(uvy)
dealloc(dvtype)
unregistersymbol(dvtype)