Function at 0x1001e5ee
Capabilities:
Hash data with md5

Disassembly:
push 0x2c
call 0x1001e5ee
cmc
mov bh, bl
sbb byte [ecx + 0x56], dh
xlatb
les ebp, [ebp - 0x56cf8c1e]
add esp, 8
push edx
inc edx
mov edx, esp
xor dword [edx - 0x11], edi
pop edx
pushal
mov esi, dword [esp + 0x24]
mov dword [esi], 0x67452301
mov dword [esi + 4], 0xefcdab89
mov dword [esi + 8], 0x98badcfe
mov dword [esi + 0xc], 0x10325476
mov eax, dword [esp + 0x2c]
lea esp, [esp - 0x37]
xchg dword [esp + 0x33], eax
mov eax, dword [esp + 0x33]
lea esp, [esp + 0x33]
mov dword [esp - 0x6a], ecx
add dword [esp - 0x52], ecx
xor edx, edx
mov ecx, 0x40
div ecx
inc eax
pop edx
jmp 0x1001e653
sub esp, 0x40
mov ebx, esp
mov esi, dword [esp + 0x68]
xchg edx, eax
xchg edi, ebx
or ebx, 0x243f9745
mov ebx, edi
dec edx
jne 0x1001e7d2
test eax, eax
js 0x1001e683
add dword [esp - 0x32], edx
mov byte [ebx + eax], 0x80
jmp 0x1001e686
xor eax, eax
dec eax
mov ecx, 0x40
sub ecx, eax
add edi, eax
sub esp, 4
xchg dword [esp], eax
sub esp, 0x1e
mov eax, dword [esp + 0x1e]
add esp, 0x22
sub esp, 4
xor eax, eax
inc edi
dec ecx
or ecx, ecx
je 0x1001e6b8
mov byte [edi], al
inc edi
dec ecx
jne 0x1001e6ae
or eax, 0xffffffff
and eax, 0xffffffff
and eax, dword [esp]
jae 0x1001e6cc
sub esi, 0
push esi
call 0x1001e6e6
dec edi
fsubr st(5), st(0)
mov edx, 0x8661c86b
inc edi
je 0x1001e67a
adc ah, bl
loopne 0x1001e67a
pop esi
aas
or al, 0x55
push 0xffffffffffffff83
les ecx, [eax]
add esp, 4
test eax, eax
js 0x1001e74e
je 0x1001e6f8
cmp eax, esi
push 0
push edi
xor edi, edi
jne 0x1001e774
mov edi, esp
xor dword [edi - 0x62], edx
pop edi
jns 0x1001e709
cmp ebx, eax
add dword [esp], edx
xchg edx, eax
xor eax, eax
jne 0x1042438b
add eax, 0xce535832
push 0xffffffffffffffb1
call 0x1001e729
xchg esi, eax
pop ss
add al, 0xed
and dh, byte [ebx - 0x78f73b7d]
ret 0xf281
push 0xffffffffffffffff
push edi
mov edi, esp
jmp 0x1001e75b
xor edi, 0
and dword [edi + 4], eax
pop edi
mov eax, dword [esp + 0x70]
push edx
xor edx, edx
or ecx, 0xffffffff
not ecx
or ecx, 0x88352e4e
jne 0x1001e77f
xor eax, 0x81067588
add byte [eax], al
add byte [eax], al
xor edx, 0
jns 0x1001e783
test edi, esi
xor ecx, 0x88352e46
jno 0x1001e78d
cmp edx, eax
jne 0x1001e791
or edi, edi
mul ecx
mov dword [ebx + 0x38], eax
push esi
xchg esi, ebx
shr ebx, 3
js 0x1001e7a4
sub ebx, 0
shr ebx, 0x1d
add ebx, 0x5841adf5
or dword [esp - 0x52], esi
jo 0x1001e7b5
and ebx, ebx
xchg esi, ebx
xor esi, 0x5841adc9
add esi, ebx
mov dword [esi], edx
pop esi
pop edx
pop eax
jmp 0x1001e7d2
test eax, eax
js 0x1001e7f3
cmp eax, 0x40
jae 0x1001e802
jmp 0x1001e7f5
xor eax, eax
mov ecx, eax
jmp 0x1001e81d
or ecx, 0xffffffff
jmp 0x1001e814
inc ecx
not ecx
and ecx, 0x40
mov edi, ebx
rep movsb byte es:[edi], byte [esi]
lea esp, [esp - 4]
xchg dword [esp], eax
mov eax, dword [esp]
push edx
push ebx
push esi
lea esi, [esp + 0x10]
mov edi, dword [esp + 0x74]
push edi
mov eax, dword [edi]
shr ebx, 0xd
cmp dword [esp - 0x48], edi
shr ebx, 0x13
add ebx, 0x9cb36e6e
xor ebx, 0
push eax
call 0x1001e861
mov gs, word [edi - 0x3465ba44]
test al, 0xc1
cmpsw word [esi], word es:[edi]
push esp
std
inc ebx
rol byte [ebx - 0xc7ef73c], 0xd5
cmp byte fs:[ecx], dl
xor ebx, 0x8d8b0abf
add ebx, edi
mov ebx, dword [ebx]
mov ecx, dword [edi + 8]
lea edi, [edi + 0xc]
add edi, 0
mov edx, dword [edi]
lea edi, [edi - 0xc]
sub edi, 0
xor edx, 0x497cf8d8
and edx, edi
or edx, edi
add esp, 0xfffffffc
mov dword [esp], edx
xor edx, edx
je 0x1001e8ad
imul ebp, esi, 0xfa251c8f
stosd dword es:[edi], eax
or byte [ecx - 0x224b783a], ah
push edx
and esp, dword [eax]
fstp dword [esi - 0x357eb381]
cmp eax, 0x87ad17f4
adc al, 0x24
or edx, 0xad17f43d
xchg dword [esp], edx
xor dword [esp], 0xad17f431
add edx, dword [esp]
lea esp, [esp + 4]
mov edx, dword [edx]
mov edi, ebx
lea ebp, [ebx]
and edi, ecx
jmp 0x1001e8d1
not ebp
and ebp, edx
or edi, ebp
lea eax, [eax + edi - 0x28955b88]
add eax, dword [esi]
rol eax, 7
add eax, ebx
mov edi, eax
mov ebp, eax
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
lea edx, [edx + edi - 0x173848aa]
add edx, dword [esi + 4]
sub dword [esp - 0x46], ebx
jmp 0x1001e906
rol edx, 0xc
add edx, eax
mov edi, edx
mov ebp, edx
and edi, eax
not ebp
and ebp, ebx
or edi, ebp
lea ecx, [ecx + edi + 0x242070db]
add ecx, dword [esi + 8]
rol ecx, 0x11
add ecx, edx
add edi, ebx
and edi, ecx
or edi, ecx
mov ebp, ecx
and edi, edx
not ebp
and ebp, eax
or edi, ebp
lea ebx, [ebx + edi - 0x3e423112]
add ebx, dword [esi + 0xc]
rol ebx, 0x16
add ebx, ecx
or edi, 0xffffffff
sub dword [esp - 0x27], ebx
not edi
sub edi, ebx
dec edi
not edi
mov ebp, ebx
and edi, ecx
jno 0x1001e95f
sub esi, 0
jo 0x1001e964
add edi, 0
not ebp
and ebp, edx
or edi, ebp
lea eax, [eax + edi - 0xa83f051]
add eax, dword [esi + 0x10]
jmp 0x1001e97e
push esi
inc esi
mov esi, esp
sub dword [esi - 0x65], eax
pop esi
rol eax, 7
add eax, ebx
shl edi, 0xf
cmp dword [esp - 0x58], ebx
jmp 0x1001e99a
shl edi, 0x11
xor edi, eax
xchg ebp, eax
and eax, edi
mov eax, ebp
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
lea edx, [edx + edi + 0x4787c62a]
add edx, dword [esi + 0x14]
rol edx, 0xc
add edx, eax
mov edi, edx
or ebp, 0xffffffff
jmp 0x1001e9cc
je 0x1001e9d4
add eax, 0
inc ebp
xor ebp, edx
and edi, eax
not ebp
and ebp, ebx
aad 0x21
fisttp qword [ecx]
out dx, eax
or edi, ebp
lea ecx, [ecx + edi - 0x57cfb9ed]
add ecx, dword [esi + 0x18]
rol ecx, 0x11
add ecx, edx
lea edi, [ecx]
mov ebp, ecx
and edi, edx
not ebp
and ebp, eax
or edi, ebp
lea ebx, [ebx + edi - 0x2b96aff]
add ebx, dword [esi + 0x1c]
call 0x1001ea18
push cs
das
cmp al, 0xc5
sbb cl, byte [ebx + 0x28]
inc ecx
out 0x27, al
aam 0x7d
jb 0x1001e9da
inc eax
call 0x1001ea28
jns 0x1001e9dd
pop ds
insb byte es:[edi], dx
xor eax, 0xb1583bca
xchg esi, eax
pop ss
add esp, 8
rol ebx, 0x16
add ebx, ecx
mov edi, ebx
mov ebp, ebx
and edi, ecx
not ebp
and ebp, edx
or edi, ebp
lea eax, [eax + edi + 0x698098d8]
add eax, dword [esi + 0x20]
rol eax, 7
add eax, ebx
mov edi, eax
mov ebp, eax
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
push 0xe4e78c22
call fcn.1001ea6e
mov bl, 0x70
jmp 0xb59df9d6