Function at 0x10068692
Capabilities:
Hash data with md5

Disassembly:
push 0x2c
call 0x10068692
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 0x100686f7
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 0x10068876
test eax, eax
js 0x10068727
add dword [esp - 0x32], edx
mov byte [ebx + eax], 0x80
jmp 0x1006872a
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 0x1006875c
mov byte [edi], al
inc edi
dec ecx
jne 0x10068752
or eax, 0xffffffff
and eax, 0xffffffff
and eax, dword [esp]
jae 0x10068770
sub esi, 0
push esi
call 0x1006878a
dec edi
fsubr st(5), st(0)
mov edx, 0x8661c86b
inc edi
je 0x1006871e
adc ah, bl
loopne 0x1006871e
pop esi
aas
or al, 0x55
push 0xffffffffffffff83
les ecx, [eax]
add esp, 4
test eax, eax
js 0x100687f2
je 0x1006879c
cmp eax, esi
push 0
push edi
xor edi, edi
jne 0x10068818
mov edi, esp
xor dword [edi - 0x62], edx
pop edi
jns 0x100687ad
cmp ebx, eax
add dword [esp], edx
xchg edx, eax
xor eax, eax
jne 0x1046e42f
add eax, 0xce535832
push 0xffffffffffffffb1
call 0x100687cd
xchg esi, eax
pop ss
add al, 0xed
and dh, byte [ebx - 0x78f73b7d]
ret 0xf281
push 0xffffffffffffffff
push edi
mov edi, esp
jmp 0x100687ff
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 0x10068823
xor eax, 0x81067588
add byte [eax], al
add byte [eax], al
xor edx, 0
jns 0x10068827
test edi, esi
xor ecx, 0x88352e46
jno 0x10068831
cmp edx, eax
jne 0x10068835
or edi, edi
mul ecx
mov dword [ebx + 0x38], eax
push esi
xchg esi, ebx
shr ebx, 3
js 0x10068848
sub ebx, 0
shr ebx, 0x1d
add ebx, 0x5841adf5
or dword [esp - 0x52], esi
jo 0x10068859
and ebx, ebx
xchg esi, ebx
xor esi, 0x5841adc9
add esi, ebx
mov dword [esi], edx
pop esi
pop edx
pop eax
jmp 0x10068876
test eax, eax
js 0x10068897
cmp eax, 0x40
jae 0x100688a6
jmp 0x10068899
xor eax, eax
mov ecx, eax
jmp 0x100688c1
or ecx, 0xffffffff
jmp 0x100688b8
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 0x10068905
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 0x10068951
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 0x10068975
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 0x100689aa
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 0x10068a03
sub esi, 0
jo 0x10068a08
add edi, 0
not ebp
and ebp, edx
or edi, ebp
lea eax, [eax + edi - 0xa83f051]
add eax, dword [esi + 0x10]
jmp 0x10068a22
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 0x10068a3e
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 0x10068a70
je 0x10068a78
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 0x10068abc
push cs
das
cmp al, 0xc5
sbb cl, byte [ebx + 0x28]
inc ecx
out 0x27, al
aam 0x7d
jb 0x10068a7e
inc eax
call 0x10068acc
jns 0x10068a81
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.10068b12
mov bl, 0x70
jmp 0xb5a29a7a