1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
; CinFrameDeviceInterface::MakeCommandPacket(unsigned char *, unsigned char, int)
var_1C = byte ptr -1Ch
var_C = dword ptr -0Ch
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ebx
sub esp, 34h
mov eax, [ebp+arg_8]
mov [ebp+var_1C], al
call _Z16GetTickCountv
mov [esp], eax
call srandom
mov [ebp+var_C], 0
jmp short loc_80ADE80
loc_80ADE43:
mov eax, [ebp+var_C]
mov ebx, eax
add ebx, [ebp+arg_4]
call rand
mov edx, [ebp+arg_C]
lea ecx, [edx-1]
mov edx, eax
sar edx, 1Fh
idiv ecx
mov eax, edx
mov [ebx], al
mov eax, [ebp+var_C]
add eax, [ebp+arg_4]
movzx eax, byte ptr [eax]
test al, al
jnz short loc_80ADE7C
mov eax, [ebp+var_C]
add eax, [ebp+arg_4]
movzx edx, byte ptr [eax]
add edx, 1
mov [eax], dl
loc_80ADE7C:
add [ebp+var_C], 1
loc_80ADE80:
cmp [ebp+var_C], 3Fh
setle al
test al, al
jnz short loc_80ADE43
mov eax, [ebp+arg_4]
movzx eax, byte ptr [eax]
movzx eax, al
add eax, [ebp+arg_4]
movzx edx, [ebp+var_1C]
mov [eax], dl
add esp, 34h
pop ebx
pop ebp
retn |
Partager