Function at 0x412350
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbc
mov eax, dword [0x4ff004]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, ecx
mov dword [ebp - 0x94], edx
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x20]
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 0x24]
mov dword [ebp - 0xa0], ecx
mov ecx, dword [ebp + 0x18]
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0xa8], ecx
mov ecx, dword [ebp + 0x1c]
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x9c], ecx
lea ecx, [ebp - 0x2c]
push ebx
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0xac], eax
call fcn.00411e20
mov eax, dword [ebp - 0x94]
add esp, 4
mov ecx, dword [ebp - 0x8c]
mov edx, eax
push eax
push str.Authorization:_Digest_username_
call fcn.0041c8a0
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x8c]
push edx
push esi
mov esi, edx
call fcn.0041c970
mov ecx, dword [ebp - 0x8c]
mov edx, esi
push esi
push str.___realm_
call fcn.0041c970
push esi
push edi
mov edi, dword [ebp - 0x8c]
mov edx, esi
mov ecx, edi
call fcn.0041c970
push esi
push str.___nonce_
mov edx, esi
mov ecx, edi
call fcn.0041c970
push esi
push dword [ebp - 0xa0]
mov edx, esi
mov ecx, edi
call fcn.0041c970
push esi
push str.___uri_
mov edx, esi
mov ecx, edi
call fcn.0041c970
push esi
push ebx
mov edx, esi
mov ecx, edi
call fcn.0041c970
mov ebx, dword [ebp - 0x9c]
add esp, 0x40
test ebx, ebx
je 0x41256a
inc dword [ebx]
cmp dword [0x4ffc38], 0
mov eax, dword [ebx]
mov dword [ebp - 0x9c], eax
jle 0x412474
lea eax, [ebp - 0x98]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
jmp 0x41248a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], 0
push 8
lea edx, [ebp - 0x98]
mov dword [ebp - 0x88], 0x67452301
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x84], 0xefcdab89
mov dword [ebp - 0x80], 0x98badcfe
mov dword [ebp - 0x7c], 0x10325476
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
call fcn.00412fa0
add esp, 4
lea edx, [ebp - 0x9c]
lea ecx, [ebp - 0x88]
push 4
call fcn.00412fa0
add esp, 4
lea edx, [ebp - 0xbc]
lea ecx, [ebp - 0x88]
call fcn.00413080
mov ecx, dword [ebx]
lea edx, [ebp - 0x1c]
push 8
call fcn.00411990
mov ecx, dword [ebp - 0xb8]
lea edx, [ebp - 0x10]
add esp, 4
push 8
call fcn.00411990
mov ecx, edi
add esp, 4
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412520
sub ecx, edx
sub esi, ecx
add edi, ecx
push esi
push str.___qopauth__nc
mov edx, esi
mov ecx, edi
call fcn.0041c970
lea eax, [ebp - 0x1c]
mov edx, esi
push esi
push eax
mov ecx, edi
call fcn.0041c970
push esi
push str.__cnonce_
mov edx, esi
mov ecx, edi
call fcn.0041c970
lea eax, [ebp - 0x10]
mov edx, esi
push esi
push eax
mov ecx, edi
call fcn.0041c970
add esp, 0x20
push esi
push str.___response_
mov edx, esi
mov ecx, edi
call fcn.0041c970
mov ecx, edi
add esp, 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412581
sub ecx, edx
lea eax, [ebp - 0x2c]
mov edx, dword [ebp - 0xa4]
add edi, ecx
push eax
sub esi, ecx
lea eax, [ebp - 0x10]
xor ecx, ecx
test ebx, ebx
cmove eax, ecx
test ebx, ebx
push eax
lea eax, [ebp - 0x1c]
cmove eax, ecx
mov ecx, edi
push eax
push dword [ebp - 0xa0]
call fcn.00411ed0
mov ebx, dword [ebp - 0xa8]
add esp, 0x10
test ebx, ebx
je 0x4125fa
mov ecx, edi
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4125d0
sub ecx, edx
sub esi, ecx
add edi, ecx
push esi
push str.___opaque_
mov edx, esi
mov ecx, edi
call fcn.0041c970
push esi
push ebx
mov edx, esi
mov ecx, edi
call fcn.0041c970
add esp, 0x10
push esi
push 0x4f8a90
mov edx, esi
mov ecx, edi
call fcn.0041c970
mov eax, dword [ebp - 0xac]
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412615
mov ecx, dword [ebp - 4]
sub eax, edx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004423fe
mov esp, ebp
pop ebp
ret