Function at 0x440130
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov dword [ebp - 4], ecx
mov eax, 4
imul ecx, eax, 0xa10
mov edx, dword [ecx + 0x497c50]
and edx, 0x712d9c0e
cmp edx, 0xe7f4df7f
jne 0x4401e1
mov eax, 4
imul ecx, eax, 0x36f0
mov edx, dword [ecx + 0x497c50]
sub edx, 1
mov dword [ebp - 8], edx
mov eax, 4
imul ecx, eax, 0x36f0
mov edx, dword [ebp - 8]
mov dword [ecx + 0x497c50], edx
mov eax, 4
imul ecx, eax, 0x8e
mov edx, dword [ecx + 0x497c50]
shl edx, 0xa
and edx, dword [ebp - 8]
cmp edx, 0x485481db
je 0x4401e1
mov eax, 4
imul ecx, eax, 0x17a0
mov edx, 4
imul eax, edx, 0x289
mov edx, 0x53dc6972
sub edx, dword [eax + 0x497c50]
mov eax, dword [ecx + 0x497c50]
imul eax, edx
mov ecx, 4
imul edx, ecx, 0x17a0
mov dword [edx + 0x497c50], eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov dword [edx + ecx], 0
mov eax, 4
imul ecx, eax, 0x1fc3
imul edx, dword [ecx + 0x497c50], 0x32a0a46
mov eax, 4
imul ecx, eax, 0x1fc3
mov dword [ecx + 0x497c50], edx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov dword [eax + edx], 0
mov ecx, 4
imul edx, ecx, 0xa80
mov eax, 4
imul ecx, eax, 0x1354
mov edx, dword [edx + 0x497c50]
and edx, dword [ecx + 0x497c50]
cmp edx, 0xfdefdb50
jle 0x4402db
mov eax, 2
imul ecx, eax, 0x1848
movsx edx, word [ecx + 0x490a20]
cmp edx, 0xad04ed8e
jge 0x44029d
mov eax, 4
imul ecx, eax, 0x330a
mov edx, dword [ecx + 0x497c50]
and edx, 0x60729959
mov eax, 4
imul ecx, eax, 0x330a
mov dword [ecx + 0x497c50], edx
jmp 0x4402db
mov edx, 2
imul eax, edx, 0x1937
mov ecx, 2
imul edx, ecx, 0x14a2
movsx ecx, word [edx + 0x490a20]
xor ecx, 0xe7e86640
movsx edx, word [eax + 0x490a20]
xor edx, ecx
mov eax, 2
imul ecx, eax, 0x1937
mov word [ecx + 0x490a20], dx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 8], 0x67452301
mov edx, 4
imul eax, edx, 0x34c3
mov ecx, dword [eax + 0x497c50]
mov dword [ebp - 0xc], ecx
mov edx, 4
imul eax, edx, 0x1cb9
mov ecx, 0xfa135424
sub ecx, dword [eax + 0x497c50]
mov dword [ebp - 0x10], ecx
mov edx, 4
imul eax, edx, 0x1cb9
mov ecx, dword [eax + 0x497c50]
sub ecx, 1
mov edx, 4
imul eax, edx, 0x1cb9
mov dword [eax + 0x497c50], ecx
mov ecx, 4
imul edx, ecx, 0x34c3
mov eax, dword [edx + 0x497c50]
sub eax, 1
mov ecx, 4
imul edx, ecx, 0x34c3
mov dword [edx + 0x497c50], eax
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x10]
jle 0x4403d7
mov ecx, 4
imul edx, ecx, 0x1371
mov eax, dword [edx + 0x497c50]
mov dword [ebp - 0x14], eax
mov ecx, 4
imul edx, ecx, 0x1371
mov eax, dword [edx + 0x497c50]
add eax, 1
mov ecx, 4
imul edx, ecx, 0x1371
mov dword [edx + 0x497c50], eax
cmp dword [ebp - 0x14], 0x41ea3385
jg 0x4403d7
mov eax, 4
imul ecx, eax, 0x2522
mov edx, dword [ecx + 0x497c50]
xor edx, 0x8be7bdab
mov eax, 4
imul ecx, eax, 0x2522
mov dword [ecx + 0x497c50], edx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov dword [eax + edx + 8], 0xefcdab89
mov ecx, 4
imul edx, ecx, 0x1018
mov eax, 4
imul ecx, eax, 0x9f1
mov eax, dword [ecx + 0x497c50]
not eax
sub eax, 0x462266c0
or eax, 0x20b67f1c
mov ecx, dword [edx + 0x497c50]
and ecx, eax
mov edx, 4
imul eax, edx, 0x1018
mov dword [eax + 0x497c50], ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + ecx + 8], 0x98badcfe
mov eax, 4
imul ecx, eax, 0x4ce
mov edx, dword [ecx + 0x497c50]
or edx, 0xc4464c33
mov eax, 4
imul ecx, eax, 0x4ce
mov dword [ecx + 0x497c50], edx
mov edx, 4
imul eax, edx, 3
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 8], 0x10325476
mov edx, 2
imul eax, edx, 0xf96
movsx ecx, word [eax + 0x490a20]
xor ecx, 0xcf8be4b0
mov edx, 2
imul eax, edx, 0xf96
mov word [eax + 0x490a20], cx
mov esp, ebp
pop ebp
ret