Function at 0x1000cdc0
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a8c99
mov eax, dword fs:[0]
push eax
sub esp, 0x7ac
mov eax, dword [0x100c66d0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor edi, edi
xor eax, eax
mov word [ebp - 0x80], ax
mov eax, ecx
mov ebx, edx
mov dword [ebp - 0x6c], 7
mov dword [ebp - 0x70], edi
lea esi, [eax + 2]
mov dx, word [eax]
add eax, 2
cmp dx, di
jne 0x1000ce07
sub eax, esi
sar eax, 1
push eax
push ecx
lea ecx, [ebp - 0x80]
call fcn.10005fb0
lea esi, [ebp - 0x9c]
mov dword [ebp - 4], edi
call fcn.10033f60
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
lea esi, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.10039e40
add esp, 4
mov byte [ebp - 4], 3
cmp dword [ebp - 0x88], 8
jb 0x1000ce5f
mov edx, dword [ebp - 0x9c]
push edx
call fcn.1003d468
add esp, 4
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x8c], edi
xor eax, eax
push ecx
lea edi, [ebp - 0x2c]
mov dword [ebp - 0x88], 7
mov word [ebp - 0x9c], ax
call fcn.10033f90
add esp, 4
mov byte [ebp - 4], 4
xor eax, eax
cmp dword [ebp - 0x18], 0x10
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 0xa8], 0
mov dword [ebp - 0x110], 0x67452301
mov dword [ebp - 0x10c], 0xefcdab89
mov dword [ebp - 0x108], 0x98badcfe
mov dword [ebp - 0x104], 0x10325476
jae 0x1000ced3
mov eax, edi
push eax
mov eax, dword [ebp - 0x1c]
lea esi, [ebp - 0x110]
call fcn.1003a0f0
lea edi, [ebp - 0x48]
mov eax, esi
call fcn.1003ab80
push ebx
lea edi, [ebp - 0x9c]
mov byte [ebp - 4], 5
call fcn.10033f90
add esp, 4
mov esi, dword [eax + 0x10]
mov ecx, 0x10
cmp dword [eax + 0x14], ecx
jb 0x1000cf0e
mov eax, dword [eax]
mov edi, dword [ebp - 0x38]
mov edx, edi
cmp edi, esi
jb 0x1000cf19
mov edx, esi
cmp dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x48]
jae 0x1000cf24
lea ecx, [ebp - 0x48]
push edx
push eax
push ecx
call fcn.1000bf00
add esp, 0xc
test eax, eax
jne 0x1000cf45
cmp edi, esi
jae 0x1000cf3c
or eax, 0xffffffff
jmp 0x1000cf43
xor eax, eax
cmp edi, esi
setne al
test eax, eax
sete al
test al, al
mov edi, 0x10
sete bl
mov byte [ebp - 4], 5
cmp dword [ebp - 0x88], edi
jb 0x1000cf6d
mov edx, dword [ebp - 0x9c]
push edx
call fcn.1003d468
add esp, 4
test bl, bl
je 0x1000cfd8
cmp dword [ebp - 0x34], edi
jb 0x1000cf82
mov eax, dword [ebp - 0x48]
push eax
call fcn.1003d468
add esp, 4
xor esi, esi
mov ebx, 0xf
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], esi
mov byte [ebp - 0x48], 0
cmp dword [ebp - 0x18], edi
jb 0x1000cfa4
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.1003d468
add esp, 4
mov edi, 8
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x2c], 0
cmp dword [ebp - 0x50], edi
jb 0x1000cfc4
mov edx, dword [ebp - 0x64]
push edx
call fcn.1003d468
add esp, 4
xor eax, eax
cmp dword [ebp - 0x6c], edi
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x54], esi
jmp 0x1000d2bd
lea ebx, [ebp - 0x2a0]
call fcn.10006f00
mov edx, ebx
push edx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 7
call fcn.10007650
lea ebx, [ebp - 0x4f8]
call fcn.100148d0
mov eax, ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 8
call fcn.10007650
lea ebx, [ebp - 0x368]
call fcn.100088a0
mov ecx, ebx
push ecx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 9
call fcn.10007650
lea ebx, [ebp - 0x1d8]
call fcn.10021f30
mov edx, ebx
push edx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xa
call fcn.10007650
lea ebx, [ebp - 0x430]
call fcn.10001840
mov eax, ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xb
call fcn.10007650
lea ebx, [ebp - 0x708]
call fcn.1002b930
mov ecx, ebx
push ecx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xc
call fcn.10007650
lea ebx, [ebp - 0x7b8]
call fcn.10009d50
mov edx, ebx
push edx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xd
call fcn.10007650
lea ebx, [ebp - 0x5a8]
call fcn.1002aad0
mov eax, ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xe
call fcn.10007650
lea ebx, [ebp - 0x658]
call fcn.10020bf0
mov ecx, ebx
push ecx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xf
call fcn.10007650
mov ecx, ebx
mov dword [ebp - 0x658], 0x100ba3a8
call fcn.1000e020
lea ecx, [ebp - 0x5a8]
mov dword [ebp - 0x5a8], 0x100ba3a8
call fcn.1000e020
lea ecx, [ebp - 0x7b8]
mov dword [ebp - 0x7b8], 0x100ba3a8
call fcn.1000e020
lea ecx, [ebp - 0x708]
mov dword [ebp - 0x708], 0x100ba3a8
call fcn.1000e020
mov esi, 8
mov dword [ebp - 0x430], 0x100b636c
cmp dword [ebp - 0x370], esi
jb 0x1000d138
mov edx, dword [ebp - 0x384]
push edx
call fcn.1003d468
add esp, 4
xor eax, eax
mov edi, 7
xor ebx, ebx
lea ecx, [ebp - 0x430]
mov dword [ebp - 0x370], edi
mov dword [ebp - 0x374], ebx
mov word [ebp - 0x384], ax
call fcn.1000e020
mov dword [ebp - 0x1d8], 0x100b636c
cmp dword [ebp - 0x118], esi
jb 0x1000d180
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.1003d468
add esp, 4
xor edx, edx
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 0x118], edi
mov dword [ebp - 0x11c], ebx
mov word [ebp - 0x12c], dx
call fcn.1000e020
mov dword [ebp - 0x368], 0x100b636c
cmp dword [ebp - 0x2a8], esi
jb 0x1000d1c1
mov eax, dword [ebp - 0x2bc]
push eax
call fcn.1003d468
add esp, 4
xor ecx, ecx
mov word [ebp - 0x2bc], cx
lea ecx, [ebp - 0x368]
mov dword [ebp - 0x2a8], edi
mov dword [ebp - 0x2ac], ebx
call fcn.1000e020
mov dword [ebp - 0x4f8], 0x100b636c
cmp dword [ebp - 0x438], esi
jb 0x1000d202
mov edx, dword [ebp - 0x44c]
push edx
call fcn.1003d468
add esp, 4
xor eax, eax
lea ecx, [ebp - 0x4f8]
mov dword [ebp - 0x438], edi
mov dword [ebp - 0x43c], ebx
mov word [ebp - 0x44c], ax
call fcn.1000e020
mov dword [ebp - 0x2a0], 0x100b636c
cmp dword [ebp - 0x1e0], esi
jb 0x1000d243
mov ecx, dword [ebp - 0x1f4]
push ecx
call fcn.1003d468
add esp, 4
xor edx, edx
lea ecx, [ebp - 0x2a0]
mov dword [ebp - 0x1e0], edi
mov dword [ebp - 0x1e4], ebx
mov word [ebp - 0x1f4], dx
call fcn.1000e020
cmp dword [ebp - 0x34], 0x10
jb 0x1000d275
mov eax, dword [ebp - 0x48]
push eax
call fcn.1003d468
add esp, 4
cmp dword [ebp - 0x18], 0x10
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
jb 0x1000d294
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.1003d468
add esp, 4
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
cmp dword [ebp - 0x50], esi
jb 0x1000d2b2
mov edx, dword [ebp - 0x64]
push edx
call fcn.1003d468
add esp, 4
xor eax, eax
cmp dword [ebp - 0x6c], esi
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x54], ebx
mov word [ebp - 0x64], ax
jb 0x1000d2cf
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.1003d468
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1003c5b5
mov esp, ebp
pop ebp
ret