Function at 0x1001d647
Capabilities:
Hash data with md5

Disassembly:
push 0x2c
call 0x1001d647
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 0x1001d6ac
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 0x1001d82b
test eax, eax
js 0x1001d6dc
add dword [esp - 0x32], edx
mov byte [ebx + eax], 0x80
jmp 0x1001d6df
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 0x1001d711
mov byte [edi], al
inc edi
dec ecx
jne 0x1001d707
or eax, 0xffffffff
and eax, 0xffffffff
and eax, dword [esp]
jae 0x1001d725
sub esi, 0
push esi
call 0x1001d73f
dec edi
fsubr st(5), st(0)
mov edx, 0x8661c86b
inc edi
je 0x1001d6d3
adc ah, bl
loopne 0x1001d6d3
pop esi
aas
or al, 0x55
push 0xffffffffffffff83
les ecx, [eax]
add esp, 4
test eax, eax
js 0x1001d7a7
je 0x1001d751
cmp eax, esi
push 0
push edi
xor edi, edi
jne 0x1001d7cd
mov edi, esp
xor dword [edi - 0x62], edx
pop edi
jns 0x1001d762
cmp ebx, eax
add dword [esp], edx
xchg edx, eax
xor eax, eax
jne 0x104233e4
add eax, 0xce535832
push 0xffffffffffffffb1
call 0x1001d782
xchg esi, eax
pop ss
add al, 0xed
and dh, byte [ebx - 0x78f73b7d]
ret 0xf281
push 0xffffffffffffffff
push edi
mov edi, esp
jmp 0x1001d7b4
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 0x1001d7d8
xor eax, 0x81067588
add byte [eax], al
add byte [eax], al
xor edx, 0
jns 0x1001d7dc
test edi, esi
xor ecx, 0x88352e46
jno 0x1001d7e6
cmp edx, eax
jne 0x1001d7ea
or edi, edi
mul ecx
mov dword [ebx + 0x38], eax
push esi
xchg esi, ebx
shr ebx, 3
js 0x1001d7fd
sub ebx, 0
shr ebx, 0x1d
add ebx, 0x5841adf5
or dword [esp - 0x52], esi
jo 0x1001d80e
and ebx, ebx
xchg esi, ebx
xor esi, 0x5841adc9
add esi, ebx
mov dword [esi], edx
pop esi
pop edx
pop eax
jmp 0x1001d82b
test eax, eax
js 0x1001d84c
cmp eax, 0x40
jae 0x1001d85b
jmp 0x1001d84e
xor eax, eax
mov ecx, eax
jmp 0x1001d876
or ecx, 0xffffffff
jmp 0x1001d86d
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 0x1001d8ba
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 0x1001d906
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 0x1001d92a
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 0x1001d95f
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 0x1001d9b8
sub esi, 0
jo 0x1001d9bd
add edi, 0
not ebp
and ebp, edx
or edi, ebp
lea eax, [eax + edi - 0xa83f051]
add eax, dword [esi + 0x10]
jmp 0x1001d9d7
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 0x1001d9f3
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 0x1001da25
je 0x1001da2d
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 0x1001da71
push cs
das
cmp al, 0xc5
sbb cl, byte [ebx + 0x28]
inc ecx
out 0x27, al
aam 0x7d
jb 0x1001da33
inc eax
call 0x1001da81
jns 0x1001da36
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.1001dac7
mov bl, 0x70
jmp 0xb59dea2f