Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .text:004D5A40
- .text:004D5A40 ; =============== S U B R O U T I N E =======================================
- .text:004D5A40
- .text:004D5A40
- .text:004D5A40 hash_block proc near ; CODE XREF: sub_4D5908+3Cp
- .text:004D5A40 ; sub_4D5994+3Cp
- .text:004D5A40
- .text:004D5A40 var_14 = word ptr -14h
- .text:004D5A40
- .text:004D5A40 push ebx
- .text:004D5A41 push esi
- .text:004D5A42 push edi
- .text:004D5A43 push ebp
- .text:004D5A44 push ecx
- .text:004D5A45 mov esi, ecx
- .text:004D5A47 and cx, 0FFFFh
- .text:004D5A4C mov ebx, edx
- .text:004D5A4E mov [esp+14h+var_14], cx
- .text:004D5A52 movzx ebp, [esp+14h+var_14]
- .text:004D5A56 and dx, 0FFFFh
- .text:004D5A5B movzx ecx, dx
- .text:004D5A5E shr esi, 10h
- .text:004D5A61 mov edi, ecx
- .text:004D5A63 and si, 0FFFFh
- .text:004D5A68 imul edi, ebp
- .text:004D5A6B movzx edx, si
- .text:004D5A6E imul ecx, edx
- .text:004D5A71 shr ebx, 10h
- .text:004D5A74 mov [eax], edi
- .text:004D5A76 and bx, 0FFFFh
- .text:004D5A7B movzx edx, bx
- .text:004D5A7E movzx edi, [esp+14h+var_14]
- .text:004D5A82 movzx esi, si
- .text:004D5A85 movzx ebx, bx
- .text:004D5A88 imul edx, edi
- .text:004D5A8B imul ebx, esi
- .text:004D5A8E add ecx, edx
- .text:004D5A90 mov [eax+4], ebx
- .text:004D5A93 cmp edx, ecx
- .text:004D5A95 jbe short loc_4D5A9E
- .text:004D5A97 add dword ptr [eax+4], 10000h
- .text:004D5A9E
- .text:004D5A9E loc_4D5A9E: ; CODE XREF: hash_block+55j
- .text:004D5A9E mov edx, ecx
- .text:004D5AA0 shl edx, 10h
- .text:004D5AA3 add [eax], edx
- .text:004D5AA5 mov ebx, [eax]
- .text:004D5AA7 cmp edx, ebx
- .text:004D5AA9 jbe short loc_4D5AAE
- .text:004D5AAB inc dword ptr [eax+4]
- .text:004D5AAE
- .text:004D5AAE loc_4D5AAE: ; CODE XREF: hash_block+69j
- .text:004D5AAE shr ecx, 10h
- .text:004D5AB1 and ecx, 0FFFFh
- .text:004D5AB7 add [eax+4], ecx
- .text:004D5ABA pop edx
- .text:004D5ABB pop ebp
- .text:004D5ABC pop edi
- .text:004D5ABD pop esi
- .text:004D5ABE pop ebx
- .text:004D5ABF retn
- .text:004D5AC0 ; =============== S U B R O U T I N E =======================================
- .text:004D5AC0
- .text:004D5AC0
- .text:004D5AC0 sub_4D5AC0 proc near ; CODE XREF: sub_4D51C4+CFp
- .text:004D5AC0
- .text:004D5AC0 var_24 = dword ptr -24h
- .text:004D5AC0 var_20 = dword ptr -20h
- .text:004D5AC0 var_1C = dword ptr -1Ch
- .text:004D5AC0 var_18 = dword ptr -18h
- .text:004D5AC0 var_14 = dword ptr -14h
- .text:004D5AC0
- .text:004D5AC0 push ebx
- .text:004D5AC1 mov ebx, ecx
- .text:004D5AC3 push esi
- .text:004D5AC4 push edi
- .text:004D5AC5 shr ebx, 10h
- .text:004D5AC8 push ebp
- .text:004D5AC9 mov esi, ecx
- .text:004D5ACB add esp, 0FFFFFFECh
- .text:004D5ACE and si, 0FFFFh
- .text:004D5AD3 and bx, 0FFFFh
- .text:004D5AD8 mov [esp+24h+var_24], eax
- .text:004D5ADB mov eax, [edx]
- .text:004D5ADD cmp bx, 0FFFFh
- .text:004D5AE2 mov [esp+24h+var_20], eax
- .text:004D5AE6 mov edi, [edx+4]
- .text:004D5AE9 mov [esp+24h+var_1C], edi
- .text:004D5AED jnz short loc_4D5AF9
- .text:004D5AEF shr edi, 10h
- .text:004D5AF2 and di, 0FFFFh
- .text:004D5AF7 jmp short loc_4D5B09
- .text:004D5AF9 ; ---------------------------------------------------------------------------
- .text:004D5AF9
- .text:004D5AF9 loc_4D5AF9: ; CODE XREF: sub_4D5AC0+2Dj
- .text:004D5AF9 movzx eax, bx
- .text:004D5AFC inc eax
- .text:004D5AFD push eax
- .text:004D5AFE mov eax, edi
- .text:004D5B00 pop edx
- .text:004D5B01 mov edi, edx
- .text:004D5B03 xor edx, edx
- .text:004D5B05 div edi
- .text:004D5B07 mov edi, eax
- .text:004D5B09
- .text:004D5B09 loc_4D5B09: ; CODE XREF: sub_4D5AC0+37j
- .text:004D5B09 movzx eax, di
- .text:004D5B0C mov edx, eax
- .text:004D5B0E movzx ebp, si
- .text:004D5B11 imul edx, ebp
- .text:004D5B14 mov [esp+24h+var_18], edx
- .text:004D5B18 movzx edx, bx
- .text:004D5B1B imul edx
- .text:004D5B1D mov [esp+24h+var_14], eax
- .text:004D5B21 mov eax, [esp+24h+var_18]
- .text:004D5B25 shl eax, 10h
- .text:004D5B28 or edx, 0FFFFFFFFh
- .text:004D5B2B sub edx, eax
- .text:004D5B2D sub [esp+24h+var_20], eax
- .text:004D5B31 mov eax, [esp+24h+var_20]
- .text:004D5B35 cmp edx, eax
- .text:004D5B37 jnb short loc_4D5B3D
- .text:004D5B39 dec [esp+24h+var_1C]
- .text:004D5B3D
- .text:004D5B3D loc_4D5B3D: ; CODE XREF: sub_4D5AC0+77j
- .text:004D5B3D mov eax, [esp+24h+var_18]
- .text:004D5B41 shr eax, 10h
- .text:004D5B44 and eax, 0FFFFh
- .text:004D5B49 sub [esp+24h+var_1C], eax
- .text:004D5B4D mov edx, [esp+24h+var_14]
- .text:004D5B51 sub [esp+24h+var_1C], edx
- .text:004D5B55 jmp short loc_4D5B7A
- .text:004D5B57 ; ---------------------------------------------------------------------------
- .text:004D5B57
- .text:004D5B57 loc_4D5B57: ; CODE XREF: sub_4D5AC0+C3j
- .text:004D5B57 ; sub_4D5AC0+DCj
- .text:004D5B57 movzx eax, si
- .text:004D5B5A shl eax, 10h
- .text:004D5B5D or edx, 0FFFFFFFFh
- .text:004D5B60 sub edx, eax
- .text:004D5B62 sub [esp+24h+var_20], eax
- .text:004D5B66 mov eax, [esp+24h+var_20]
- .text:004D5B6A cmp edx, eax
- .text:004D5B6C jnb short loc_4D5B72
- .text:004D5B6E dec [esp+24h+var_1C]
- .text:004D5B72
- .text:004D5B72 loc_4D5B72: ; CODE XREF: sub_4D5AC0+ACj
- .text:004D5B72 movzx edx, bx
- .text:004D5B75 sub [esp+24h+var_1C], edx
- .text:004D5B79 inc edi
- .text:004D5B7A
- .text:004D5B7A loc_4D5B7A: ; CODE XREF: sub_4D5AC0+95j
- .text:004D5B7A movzx eax, bx
- .text:004D5B7D mov edx, [esp+24h+var_1C]
- .text:004D5B81 cmp eax, edx
- .text:004D5B83 jb short loc_4D5B57
- .text:004D5B85 movzx eax, bx
- .text:004D5B88 mov edx, [esp+24h+var_1C]
- .text:004D5B8C cmp eax, edx
- .text:004D5B8E jnz short loc_4D5B9E
- .text:004D5B90 movzx eax, si
- .text:004D5B93 shl eax, 10h
- .text:004D5B96 mov edx, [esp+24h+var_20]
- .text:004D5B9A cmp eax, edx
- .text:004D5B9C jbe short loc_4D5B57
- .text:004D5B9E
- .text:004D5B9E loc_4D5B9E: ; CODE XREF: sub_4D5AC0+CEj
- .text:004D5B9E cmp bx, 0FFFFh
- .text:004D5BA3 jnz short loc_4D5BB0
- .text:004D5BA5 mov ax, word ptr [esp+24h+var_1C]
- .text:004D5BAA and ax, 0FFFFh
- .text:004D5BAE jmp short loc_4D5BD0
- .text:004D5BB0 ; ---------------------------------------------------------------------------
- .text:004D5BB0
- .text:004D5BB0 loc_4D5BB0: ; CODE XREF: sub_4D5AC0+E3j
- .text:004D5BB0 mov edx, [esp+24h+var_20]
- .text:004D5BB4 mov eax, [esp+24h+var_1C]
- .text:004D5BB8 shr edx, 10h
- .text:004D5BBB shl eax, 10h
- .text:004D5BBE and edx, 0FFFFh
- .text:004D5BC4 add eax, edx
- .text:004D5BC6 movzx edx, bx
- .text:004D5BC9 inc edx
- .text:004D5BCA mov ebp, edx
- .text:004D5BCC xor edx, edx
- .text:004D5BCE div ebp
- .text:004D5BD0
- .text:004D5BD0 loc_4D5BD0: ; CODE XREF: sub_4D5AC0+EEj
- .text:004D5BD0 movzx edx, ax
- .text:004D5BD3 movzx esi, si
- .text:004D5BD6 imul edx, esi
- .text:004D5BD9 mov [esp+24h+var_18], edx
- .text:004D5BDD movzx edx, ax
- .text:004D5BE0 movzx ebx, bx
- .text:004D5BE3 imul edx, ebx
- .text:004D5BE6 mov [esp+24h+var_14], edx
- .text:004D5BEA or ebx, 0FFFFFFFFh
- .text:004D5BED mov edx, [esp+24h+var_18]
- .text:004D5BF1 sub [esp+24h+var_20], edx
- .text:004D5BF5 mov esi, [esp+24h+var_18]
- .text:004D5BF9 mov edx, [esp+24h+var_20]
- .text:004D5BFD sub ebx, esi
- .text:004D5BFF cmp edx, ebx
- .text:004D5C01 jbe short loc_4D5C07
- .text:004D5C03 dec [esp+24h+var_1C]
- .text:004D5C07
- .text:004D5C07 loc_4D5C07: ; CODE XREF: sub_4D5AC0+141j
- .text:004D5C07 mov edx, [esp+24h+var_14]
- .text:004D5C0B shl edx, 10h
- .text:004D5C0E or ebx, 0FFFFFFFFh
- .text:004D5C11 sub ebx, edx
- .text:004D5C13 sub [esp+24h+var_20], edx
- .text:004D5C17 mov edx, [esp+24h+var_20]
- .text:004D5C1B cmp ebx, edx
- .text:004D5C1D jnb short loc_4D5C23
- .text:004D5C1F dec [esp+24h+var_1C]
- .text:004D5C23
- .text:004D5C23 loc_4D5C23: ; CODE XREF: sub_4D5AC0+15Dj
- .text:004D5C23 mov edx, [esp+24h+var_14]
- .text:004D5C27 shr edx, 10h
- .text:004D5C2A and edx, 0FFFFh
- .text:004D5C30 sub [esp+24h+var_1C], edx
- .text:004D5C34 jmp short loc_4D5C4C
- .text:004D5C36 ; ---------------------------------------------------------------------------
- .text:004D5C36
- .text:004D5C36 loc_4D5C36: ; CODE XREF: sub_4D5AC0+192j
- .text:004D5C36 ; sub_4D5AC0+1A2j
- .text:004D5C36 sub [esp+24h+var_20], ecx
- .text:004D5C3A or ebx, 0FFFFFFFFh
- .text:004D5C3D sub ebx, ecx
- .text:004D5C3F mov edx, [esp+24h+var_20]
- .text:004D5C43 cmp edx, ebx
- .text:004D5C45 jbe short loc_4D5C4B
- .text:004D5C47 dec [esp+24h+var_1C]
- .text:004D5C4B
- .text:004D5C4B loc_4D5C4B: ; CODE XREF: sub_4D5AC0+185j
- .text:004D5C4B inc eax
- .text:004D5C4C
- .text:004D5C4C loc_4D5C4C: ; CODE XREF: sub_4D5AC0+174j
- .text:004D5C4C mov edx, [esp+24h+var_1C]
- .text:004D5C50 test edx, edx
- .text:004D5C52 ja short loc_4D5C36
- .text:004D5C54 mov edx, [esp+24h+var_1C]
- .text:004D5C58 test edx, edx
- .text:004D5C5A jnz short loc_4D5C64
- .text:004D5C5C mov edx, [esp+24h+var_20]
- .text:004D5C60 cmp ecx, edx
- .text:004D5C62 jbe short loc_4D5C36
- .text:004D5C64
- .text:004D5C64 loc_4D5C64: ; CODE XREF: sub_4D5AC0+19Aj
- .text:004D5C64 movzx ecx, di
- .text:004D5C67 shl ecx, 10h
- .text:004D5C6A movzx eax, ax
- .text:004D5C6D add ecx, eax
- .text:004D5C6F mov eax, [esp+24h+var_24]
- .text:004D5C72 mov [eax], ecx
- .text:004D5C74 add esp, 14h
- .text:004D5C77 pop ebp
- .text:004D5C78 pop edi
- .text:004D5C79 pop esi
- .text:004D5C7A pop ebx
- .text:004D5C7B retn
- .text:004D5C7B sub_4D5AC0 endp
- .text:004D5C7B
- .text:004D5C7C
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement