var_28 =byte ptr -28h
var_18 =byte ptr -18h
var_E =byte ptr -0Eh
var_D =byte ptr -0Dh
var_4 =byte ptr -4
var_2 =byte ptr -2
push si
push di
lea ax, [bp+var_28]
push ss
push ax
push ds
push offset unk_16978
mov cx, 10h
call N_SCOPY@
xor dx, dx
jmp short loc_102B5
loc_102AC:
lea bx, [bp+var_18]
add bx, dx
mov byte ptr [bx], 0
inc dx
loc_102B5:
cmp dx, 0Ah
jl short loc_102AC
mov [bp+var_2], 0Ah
jmp short loc_102D4
loc_102C1:
mov bx, 0Ah
sub bx, [bp+var_2]
lea ax, [bp+var_E]
add bx, ax
mov al, byte ptr [bp+var_2]
mov [bx], al
dec [bp+var_2]
loc_102D4:
cmp [bp+var_2], 0
jge short loc_102C1
mov [bp+var_2], 3
xor si, si
jmp short loc_10328
loc_102E3:
mov al, [bp+si+var_E]
cbw
mov dx, ax
mov cl, byte ptr[bp+var_2]
shl dx, cl
and dx, 0FFh
mov al, [bp+si+var_D]
cbw
mov [bp+var_4], ax
xor di, di
jmp short loc_1031F
loc_102FD:
mov bx, di
add bx, bx
lea ax, [bp+var_28]
add bx, ax
mov ax, [bp+var_4]
test [bx], ax
jz short loc_1031E
mov bx, 8
sub bx, [bp+var_2]
add bx, di
add bx, bx
lea ax, [bp+var_28]
add bx, ax
or dx, [bx]
loc_1031E:
inc di
loc_1031F:
cmp di, [bp+var_2]
jl short loc_102FD
mov [bp+si+var_18], dl
inc si
loc_10328:
cmp si, 0Ah
jl short loc_102E3
pop di
pop si
return 0
N_SCOPY@ proc near
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push bp
mov bp,sp
push si
push di
push ds
lds si, [bp+arg_0]
les di, [bp+arg_4]
cld
shr cx, 1
rep movsw
adc cx,cx
rep mowsb
pop ds
pop di
pop si
pop bp
return 8
N_SCOPY@ endp
Особенно интересует инициализация: почему указатели минусовые? Пожалуйста помогите девушке...
