4141BB lea ecx, [ebp+8] ; как можно проверить в SI, грузится адрес ; CString-класса с именем пользователя 4141BE call CString::MakeUpper(void) ; преобразуется в верхний регистр 4141C3 lea ecx, [ebp+0Ch] ; адрес CString с E-Mail 4141C6 call CString::MakeUpper(void) ; преобразуется в верхний регистр 4141CB mov eax, [ebp+8] ; адрес CString с именем пользователя 4141CE push 6347A267h ; помещается в стек initial_seed 4141D3 push dword ptr [eax-8] ; помещается в стек длина имени пользователя 4141D6 push eax ; помещается в стек адрес имени пользователя 4141D7 call get_hash ; вызов всё той же get_hash 4141DC add esp, 0Ch ; очистка стека 4141DF push eax ; хм, вычисленный hash снова помещается в стек ; как initial_seed 4141E0 mov eax, [ebp+0Ch] ; длина E-Mail 4141E3 push dword ptr [eax-8] ; адрес E-Mail 4141E6 push eax ; помещается в стек 4141E7 call get_hash ; снова call get_hash 4141EC add esp, 0Ch ; очистка стека 4141EF xor ecx, ecx ; обнуление счётчика 4141F1 mov dl, al ; в dl - младший байт вычисленного ; двойного hash-code по имени и E-Mail 4141F3 and dl, 1Fh ; оставляем младшие 5 бит 4141F6 cmp [ebp+ecx-20h], dl ; сравниваем с очередным преобразованным ; символом из буфера РН 4141FA jnz short loc_41423B ; если не равны - переход на приснопамятный адрес 4141FC shr eax, 5 ; сдвигаем has_code на 5 бит вправо 4141FF inc ecx ; накидываем счетчик 414200 cmp ecx, 7 ; счётчик < 7 ? 414203 jl short loc_4141F1 ; если да - следующий цикл