Function at 0x40ecf0
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x42b060]
xor eax, ebp
mov dword [ebp - 4], eax
mov byte [0x42e7b8], 0
mov eax, 4
imul ecx, eax, 0
mov dword [ecx + 0x42e800], 0
mov edx, 4
shl edx, 0
mov dword [edx + 0x42e800], 0
mov eax, 4
imul ecx, eax, 0
mov dword [ecx + 0x42e808], 0x67452301
mov edx, 4
shl edx, 0
mov dword [edx + 0x42e808], 0xefcdab89
mov eax, 4
shl eax, 1
mov dword [eax + 0x42e808], 0x98badcfe
mov ecx, 4
imul edx, ecx, 3
mov dword [edx + 0x42e808], 0x10325476
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x10]
movzx edx, byte [ecx]
test edx, edx
je 0x40ed91
jmp 0x40ed79
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040ebb0
add esp, 8
movzx edx, byte [0x42e7b8]
test edx, edx
jne 0x40ee60
push 8
push 0x42e800
lea eax, [ebp - 0xc]
push eax
call fcn.0040df10
add esp, 0xc
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [edx + 0x42e800]
shr eax, 3
xor edx, edx
mov ecx, 0x40
div ecx
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0x38
jae 0x40edf3
mov edx, 0x38
sub edx, dword [ebp - 0x14]
mov dword [ebp - 0x18], edx
jmp 0x40edfe
mov eax, 0x78
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
push edx
push section..data
call fcn.0040ebb0
add esp, 8
push 8
lea eax, [ebp - 0xc]
push eax
call fcn.0040ebb0
add esp, 8
push 0x10
push 0x42e808
push 0x42e818
call fcn.0040df10
add esp, 0xc
push 0x40
push 0
push 0x42e7c0
call fcn.004122f0
add esp, 0xc
push 8
push 0
push 0x42e800
call fcn.004122f0
add esp, 0xc
mov byte [0x42e7b8], 1
movzx ecx, byte [0x42e7b8]
test ecx, ecx
jne 0x40ee75
mov eax, 0x423489
jmp 0x40efaf
mov edx, 1
imul eax, edx, 0xf
movzx ecx, byte [eax + 0x42e818]
push ecx
mov edx, 1
imul eax, edx, 0xe
movzx ecx, byte [eax + 0x42e818]
push ecx
mov edx, 1
imul eax, edx, 0xd
movzx ecx, byte [eax + 0x42e818]
push ecx
mov edx, 1
imul eax, edx, 0xc
movzx ecx, byte [eax + 0x42e818]
push ecx
mov edx, 1
imul eax, edx, 0xb
movzx ecx, byte [eax + 0x42e818]
push ecx
mov edx, 1
imul eax, edx, 0xa
movzx ecx, byte [eax + 0x42e818]
push ecx
mov edx, 1
imul eax, edx, 9
movzx ecx, byte [eax + 0x42e818]
push ecx
mov edx, 1
shl edx, 3
movzx eax, byte [edx + 0x42e818]
push eax
mov ecx, 1
imul edx, ecx, 7
movzx eax, byte [edx + 0x42e818]
push eax
mov ecx, 1
imul edx, ecx, 6
movzx eax, byte [edx + 0x42e818]
push eax
mov ecx, 1
imul edx, ecx, 5
movzx eax, byte [edx + 0x42e818]
push eax
mov ecx, 1
shl ecx, 2
movzx edx, byte [ecx + 0x42e818]
push edx
mov eax, 1
imul ecx, eax, 3
movzx edx, byte [ecx + 0x42e818]
push edx
mov eax, 1
shl eax, 1
movzx ecx, byte [eax + 0x42e818]
push ecx
mov edx, 1
shl edx, 0
movzx eax, byte [edx + 0x42e818]
push eax
mov ecx, 1
imul edx, ecx, 0
movzx eax, byte [edx + 0x42e818]
push eax
push str._02x_02x_02x_02x__02x_02x__02x_02x__02x_02x__02x_02x_02x_02x_02x_02x
push 0x25
push 0x42e828
call fcn.004022f0
add esp, 0x4c
mov ecx, 1
imul edx, ecx, 0x24
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0x25
jae 0x40ef9b
jmp 0x40efa0
call fcn.00412cf1
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x42e828], 0
mov eax, 0x42e828
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00412702
mov esp, ebp
pop ebp
ret