Function at 0x5532e0
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x19c
push ebx
push esi
push edi
lea edi, [ebp - 0xdc]
mov ecx, 0x37
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x774340]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, 0x7fedff
call fcn.00507580
nop
mov eax, 4
imul ecx, eax, 0
lea edx, [ebp + ecx - 0x90]
mov dword [ebp - 0x9c], edx
mov eax, 4
shl eax, 0
lea ecx, [ebp + eax - 0x90]
mov dword [ebp - 0xa8], ecx
mov eax, 4
shl eax, 1
lea ecx, [ebp + eax - 0x90]
mov dword [ebp - 0xb4], ecx
mov eax, 4
imul ecx, eax, 3
lea edx, [ebp + ecx - 0x90]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0x9c]
mov dword [eax], 0x67452301
mov eax, dword [ebp - 0xa8]
mov dword [eax], 0xefcdab89
mov eax, dword [ebp - 0xb4]
mov dword [eax], 0x98badcfe
mov eax, dword [ebp - 0xc0]
mov dword [eax], 0x10325476
mov eax, dword [ebp + 8]
push eax
call fcn.00507fcb
add esp, 4
mov dword [ebp - 0x60], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0xcc], eax
jmp 0x5533ce
mov eax, dword [ebp - 0xcc]
sub eax, 0x40
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0x54]
add ecx, 0x40
mov dword [ebp - 0x54], ecx
cmp dword [ebp - 0xcc], 0x40
jl 0x553401
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x54]
push ecx
call fcn.005524d0
add esp, 0x14
jmp 0x5533b6
mov eax, dword [ebp - 0x60]
xor edx, edx
mov ecx, 0x40
div ecx
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x78]
push eax
mov ecx, dword [ebp - 0x54]
push ecx
lea edx, [ebp - 0x48]
push edx
call fcn.005066c6
add esp, 0xc
mov eax, 0x40
sub eax, dword [ebp - 0x78]
push eax
push 0
mov ecx, dword [ebp - 0x78]
lea edx, [ebp + ecx - 0x48]
push edx
call fcn.005033e0
add esp, 0xc
mov eax, dword [ebp - 0x78]
movzx ecx, byte [ebp + eax - 0x48]
or ecx, 0x80
mov edx, dword [ebp - 0x78]
mov byte [ebp + edx - 0x48], cl
cmp dword [ebp - 0x78], 0x38
jb 0x553492
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x48]
push ecx
call fcn.005524d0
add esp, 0x14
push 0x38
push 0
lea eax, [ebp - 0x48]
push eax
call fcn.005033e0
add esp, 0xc
mov eax, dword [ebp - 0x60]
shl eax, 3
mov dword [ebp - 0x6c], eax
push 4
lea eax, [ebp - 0x6c]
push eax
mov ecx, 1
imul edx, ecx, 0x38
lea eax, [ebp + edx - 0x48]
push eax
call fcn.00506f7c
add esp, 0xc
cmp dword [ebp - 0x60], 0x1fffffff
jbe 0x5534ef
mov eax, dword [ebp - 0x60]
lea ecx, [eax*8 + 8]
mov dword [ebp - 0xd8], ecx
push 4
lea eax, [ebp - 0xd8]
push eax
mov ecx, 1
imul edx, ecx, 0x3c
lea eax, [ebp + edx - 0x48]
push eax
call fcn.00506f7c
add esp, 0xc
jmp 0x553508
push 4
push 0
mov eax, 1
imul ecx, eax, 0x3c
lea edx, [ebp + ecx - 0x48]
push edx
call fcn.005033e0
add esp, 0xc
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x48]
push ecx
call fcn.005524d0
add esp, 0x14
push 0x10
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00506f7c
add esp, 0xc
push edx
mov ecx, ebp
push eax
lea edx, [0x553574]
call fcn.005045c4
pop eax
pop edx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00503291
add esp, 0x19c
cmp ebp, esp
call fcn.00505258
mov esp, ebp
pop ebp
ret