Function at 0x408c90
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42caca
mov eax, dword fs:[0]
push eax
sub esp, 0x1b8
mov eax, dword [0x435080]
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
mov eax, dword [ebp + 8]
xor ebx, ebx
mov edi, 0xf
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x18], ebx
mov word [ebp - 0x14], bx
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x5c], ebx
mov byte [ebp - 0x6c], bl
mov dword [ebp - 4], ebx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x34], bl
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], ebx
mov byte [ebp - 0x50], bl
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.0040f2c0
test al, al
jne 0x408d1e
lea esi, [ebp - 0x18]
call fcn.0040f020
test al, al
jne 0x408d1e
call fcn.0040f150
mov byte [ebp - 0x1b9], bl
test al, al
je 0x408d25
mov byte [ebp - 0x1b9], 1
lea esi, [ebp - 0x50]
lea edx, [ebp - 0x34]
lea ecx, [ebp - 0x6c]
call fcn.0040eea0
mov byte [ebp - 0x1ba], al
cmp byte [ebp - 0x1b9], bl
je 0x408f86
lea ecx, [ebp - 0x88]
push ecx
lea ecx, [ebp - 0x18]
call fcn.004089c0
mov byte [ebp - 4], 3
cmp byte [ebp - 0x1ba], bl
je 0x408e9f
lea edx, [ebp - 0x6c]
push edx
lea eax, [ebp - 0x114]
push eax
call fcn.0040cd90
add esp, 8
mov ecx, eax
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 4
call fcn.0040ce40
mov ecx, eax
lea eax, [ebp - 0x34]
lea ebx, [ebp - 0xdc]
mov byte [ebp - 4], 5
call fcn.0040ce80
mov ecx, eax
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 6
call fcn.0040ce40
mov ecx, eax
mov eax, esi
lea ebx, [ebp - 0xa4]
mov byte [ebp - 4], 7
call fcn.0040ce80
xor ebx, ebx
push ebx
push eax
or eax, 0xffffffff
lea esi, [ebp - 0x88]
mov byte [ebp - 4], 8
call fcn.00403e60
mov esi, 0x10
cmp dword [ebp - 0x90], esi
jb 0x408df2
mov ecx, dword [ebp - 0xa4]
push ecx
call fcn.00410f1b
add esp, 4
mov edi, 0xf
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x94], ebx
mov byte [ebp - 0xa4], bl
cmp dword [ebp - 0xac], esi
jb 0x408e20
mov edx, dword [ebp - 0xc0]
push edx
call fcn.00410f1b
add esp, 4
mov dword [ebp - 0xac], edi
mov dword [ebp - 0xb0], ebx
mov byte [ebp - 0xc0], bl
cmp dword [ebp - 0xc8], esi
jb 0x408e49
mov eax, dword [ebp - 0xdc]
push eax
call fcn.00410f1b
add esp, 4
mov dword [ebp - 0xc8], edi
mov dword [ebp - 0xcc], ebx
mov byte [ebp - 0xdc], bl
cmp dword [ebp - 0xe4], esi
jb 0x408e72
mov ecx, dword [ebp - 0xf8]
push ecx
call fcn.00410f1b
add esp, 4
mov dword [ebp - 0xe4], edi
mov dword [ebp - 0xe8], ebx
mov byte [ebp - 0xf8], bl
cmp dword [ebp - 0x100], esi
jb 0x408e9b
mov edx, dword [ebp - 0x114]
push edx
call fcn.00410f1b
add esp, 4
xor ebx, ebx
jmp 0x408ea4
mov esi, 0x10
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x1b8], 0x67452301
mov dword [ebp - 0x1b4], 0xefcdab89
mov dword [ebp - 0x1b0], 0x98badcfe
mov dword [ebp - 0x1ac], 0x10325476
mov dword [ebp - 0x1a8], ebx
mov dword [ebp - 0x1a4], ebx
mov dword [ebp - 0x1a0], ebx
cmp dword [ebp - 0x74], esi
jae 0x408eef
lea eax, [ebp - 0x88]
mov ecx, dword [ebp - 0x78]
push ecx
push eax
lea edi, [ebp - 0x1b8]
call fcn.0040dd50
mov edx, dword [ebp - 0x1c0]
push edx
mov esi, edi
call fcn.0040de10
mov esi, 0x10
add esp, 0xc
cmp dword [ebp - 0x74], esi
jb 0x408f29
mov eax, dword [ebp - 0x88]
push eax
call fcn.00410f1b
add esp, 4
mov edi, 0xf
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x78], ebx
mov byte [ebp - 0x88], bl
cmp dword [ebp - 0x3c], esi
jb 0x408f4b
mov ecx, dword [ebp - 0x50]
push ecx
call fcn.00410f1b
add esp, 4
mov byte [ebp - 0x50], bl
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], edi
cmp dword [ebp - 0x20], esi
jb 0x408f65
mov edx, dword [ebp - 0x34]
push edx
call fcn.00410f1b
add esp, 4
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x34], bl
cmp dword [ebp - 0x58], esi
jb 0x408f7f
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00410f1b
add esp, 4
mov al, 1
jmp 0x409054
mov esi, dword [ebp - 0x1c0]
push esi
call fcn.00409080
test al, al
je 0x408f9d
mov esi, 0x10
jmp 0x408f3a
mov edi, esi
call fcn.004093b0
test al, al
je 0x409003
mov ecx, esi
push ecx
call fcn.00409290
mov esi, 0x10
cmp dword [ebp - 0x3c], esi
jb 0x408fc6
mov edx, dword [ebp - 0x50]
push edx
call fcn.00410f1b
add esp, 4
mov edi, 0xf
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], ebx
mov byte [ebp - 0x50], bl
cmp dword [ebp - 0x20], esi
jb 0x408fe5
mov eax, dword [ebp - 0x34]
push eax
call fcn.00410f1b
add esp, 4
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x34], bl
cmp dword [ebp - 0x58], esi
jb 0x408f7f
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.00410f1b
add esp, 4
mov al, 1
jmp 0x409054
mov esi, 0x10
cmp dword [ebp - 0x3c], esi
jb 0x409019
mov edx, dword [ebp - 0x50]
push edx
call fcn.00410f1b
add esp, 4
mov edi, 0xf
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], ebx
mov byte [ebp - 0x50], bl
cmp dword [ebp - 0x20], esi
jb 0x409038
mov eax, dword [ebp - 0x34]
push eax
call fcn.00410f1b
add esp, 4
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x34], bl
cmp dword [ebp - 0x58], esi
jb 0x409052
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.00410f1b
add esp, 4
xor al, al
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.00410f26
mov esp, ebp
pop ebp
ret 4