Function at 0x5dcbd0
Capabilities:
Hash data using sha1
Hash data using sha1 via wincrypt
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6095b5
mov eax, dword fs:[0]
push eax
sub esp, 0x29c
mov eax, dword [0x66d060]
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 dword [ebp - 0x28c], 0
mov byte [ebp - 0x11], 0
mov byte [ebp - 0x12], 0
mov eax, dword [ebp + 8]
cmp dword [eax], 0
je 0x5dcc2d
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 4], 0
je 0x5dcc2d
mov dword [ebp - 0x2a0], 1
jmp 0x5dcc37
mov dword [ebp - 0x2a0], 0
mov dl, byte [ebp - 0x2a0]
mov byte [ebp - 0x11], dl
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x5dccbf
push 0x68fb60
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
push eax
lea ecx, [ebp - 0x288]
call fcn.00460da0
mov dword [ebp - 0x2a0], eax
mov ecx, dword [ebp - 0x2a0]
mov dword [ebp - 0x2a4], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x2a4]
push edx
call fcn.005dbbd0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x288]
call fcn.0045e5e0
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
call fcn.004a3480
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
call fcn.004a38e0
add esp, 4
push 0x14
call fcn.00555227
add esp, 4
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], 0x14
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x5dcd29
push 0xf0000000
push 1
push 0
push 0
lea ecx, [ebp - 0x28]
push ecx
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x5dcd29
lea edx, [ebp - 0x2c]
push edx
push 0
push 0
push 0x8004
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
je 0x5dcd29
mov dword [ebp - 0x2a0], 1
jmp 0x5dcd33
mov dword [ebp - 0x2a0], 0
mov cl, byte [ebp - 0x2a0]
mov byte [ebp - 0x11], cl
mov dword [ebp - 0x30], 0
lea ecx, [ebp - 0x198]
call fcn.0045e4b0
mov dword [ebp - 4], 1
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x1a0], 0
jmp 0x5dcd7a
mov eax, dword [ebp - 0x1a0]
add eax, 1
mov dword [ebp - 0x1a0], eax
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x5dd209
mov eax, dword [ebp - 0x1a0]
cmp eax, dword [ebp - 0x1c]
jae 0x5dd209
push 0
push 0
push 0
push 0
push 0x100
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x180]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
call fcn.004a38b0
add esp, 0x20
test eax, eax
jne 0x5dcdce
mov dword [ebp - 0x2a0], 1
jmp 0x5dcdd8
mov dword [ebp - 0x2a0], 0
mov cl, byte [ebp - 0x2a0]
mov byte [ebp - 0x11], cl
movzx edx, byte [ebp - 0x11]
test edx, edx
je 0x5dd204
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x198]
call fcn.0045fb00
mov ecx, 0x68fb48
call fcn.0045fbe0
push eax
push 0
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0x198]
call fcn.004718a0
mov dword [ebp - 0x2a0], eax
mov ecx, dword [ebp - 0x28c]
or ecx, 1
mov dword [ebp - 0x28c], ecx
mov edx, dword [ebp - 0x2a0]
push edx
mov ecx, 0x68fb48
call fcn.0045e640
test eax, eax
je 0x5dce6c
lea ecx, [ebp - 0x198]
call fcn.0045fbe0
movsx eax, byte [ebp + eax - 0x131]
cmp eax, 0x2f
je 0x5dce6c
mov dword [ebp - 0x2a4], 0
jmp 0x5dce76
mov dword [ebp - 0x2a4], 1
mov cl, byte [ebp - 0x2a4]
mov byte [ebp - 0x29a], cl
mov edx, dword [ebp - 0x28c]
and edx, 1
je 0x5dce9f
and dword [ebp - 0x28c], 0xfffffffe
lea ecx, [ebp - 0x270]
call fcn.0045e5e0
movzx eax, byte [ebp - 0x29a]
test eax, eax
je 0x5dcebd
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
call fcn.004a3930
add esp, 4
jmp 0x5dcd6b
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x258]
call fcn.0045e4d0
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x28c]
or ecx, 2
mov dword [ebp - 0x28c], ecx
lea edx, [ebp - 0x294]
push edx
mov ecx, 0x68fb60
call fcn.0045eca0
push eax
lea eax, [ebp - 0x258]
push eax
lea ecx, [ebp - 0x298]
push ecx
mov ecx, 0x68fb60
call fcn.0045ece0
mov ecx, eax
call fcn.0045ed60
movzx edx, al
test edx, edx
jne 0x5dcf3a
push 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
call fcn.004a3e40
add esp, 8
test eax, eax
jne 0x5dcf3a
mov dword [ebp - 0x2a0], 0
jmp 0x5dcf44
mov dword [ebp - 0x2a0], 1
mov dl, byte [ebp - 0x2a0]
mov byte [ebp - 0x299], dl
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x28c]
and eax, 2
je 0x5dcf74
and dword [ebp - 0x28c], 0xfffffffd
lea ecx, [ebp - 0x258]
call fcn.0045e5e0
movzx ecx, byte [ebp - 0x299]
test ecx, ecx
je 0x5dcf88
mov byte [ebp - 0x11], 0
jmp 0x5dd204
mov dword [ebp - 0x19c], 0
cmp dword [ebp - 0x2c], 0
je 0x5dcfa9
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov dword [ebp - 0x2c], 0
lea eax, [ebp - 0x2c]
push eax
push 0
push 0
push 0x8004
mov ecx, dword [ebp - 0x28]
push ecx
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
mov eax, dword [ebp - 0x164]
push eax
call fcn.00555227
add esp, 4
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0
je 0x5dd042
mov ecx, dword [ebp - 0x164]
push ecx
mov edx, dword [ebp - 0x19c]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
call fcn.004a3e60
add esp, 0xc
test eax, eax
jle 0x5dd042
push 0
mov edx, dword [ebp - 0x164]
push edx
mov eax, dword [ebp - 0x19c]
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
je 0x5dd042
push 0
lea edx, [ebp - 0x24]
push edx
mov eax, dword [ebp - 0x20]
push eax
push 2
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
je 0x5dd042
mov dword [ebp - 0x2a0], 1
jmp 0x5dd04c
mov dword [ebp - 0x2a0], 0
mov dl, byte [ebp - 0x2a0]
mov byte [ebp - 0x11], dl
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x5dd204
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x24]
push eax
mov ecx, 1
imul edx, ecx, 0
add edx, dword [ebp - 0x20]
push edx
lea ecx, [ebp - 0x1b8]
call fcn.005dd5a0
mov byte [ebp - 4], 3
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x228]
call fcn.0045e4d0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x130]
push ecx
lea ecx, [ebp - 0x240]
call fcn.0045e4d0
mov byte [ebp - 4], 5
lea edx, [ebp - 0x228]
push edx
mov ecx, 0x68fb60
call fcn.00479cd0
mov ecx, eax
call fcn.0045fbe0
push eax
push 0
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x1b8]
call fcn.004718a0
mov dword [ebp - 0x2a0], eax
mov ecx, dword [ebp - 0x2a0]
mov dword [ebp - 0x2a4], ecx
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x2a4]
push edx
lea eax, [ebp - 0x240]
push eax
mov ecx, 0x68fb60
call fcn.00479cd0
mov ecx, eax
call fcn.0045e640
test eax, eax
jne 0x5dd121
mov dword [ebp - 0x2a8], 1
jmp 0x5dd12b
mov dword [ebp - 0x2a8], 0
mov cl, byte [ebp - 0x2a8]
mov byte [ebp - 0x11], cl
mov dl, byte [ebp - 0x11]
mov byte [ebp - 0x28e], dl
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x210]
call fcn.0045e5e0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x240]
call fcn.0045e5e0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x228]
call fcn.0045e5e0
movzx eax, byte [ebp - 0x28e]
test eax, eax
je 0x5dd1d3
cmp dword [ebp - 0x19c], 0
je 0x5dd197
mov eax, dword [ebp - 0x19c]
push eax
call fcn.00553e69
add esp, 4
mov dword [ebp - 0x19c], 0
cmp dword [ebp - 0x2c], 0
je 0x5dd1ae
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
call fcn.004a40d0
add esp, 4
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
call fcn.004a3930
add esp, 4
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x19c], 0
je 0x5dd1f5
mov eax, dword [ebp - 0x19c]
push eax
call fcn.00553e69
add esp, 4
mov dword [ebp - 0x19c], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1b8]
call fcn.0045e5e0
jmp 0x5dcd6b
mov ecx, 0x68fb60
call fcn.00473df0
cmp dword [ebp - 0x30], eax
jne 0x5dd22a
cmp dword [ebp - 0x30], 0
jl 0x5dd22a
mov dword [ebp - 0x2a0], 1
jmp 0x5dd234
mov dword [ebp - 0x2a0], 0
mov al, byte [ebp - 0x2a0]
mov byte [ebp - 0x12], al
cmp dword [ebp - 0x19c], 0
je 0x5dd25f
mov eax, dword [ebp - 0x19c]
push eax
call fcn.00553e69
add esp, 4
mov dword [ebp - 0x19c], 0
cmp dword [ebp - 0x20], 0
je 0x5dd271
mov eax, dword [ebp - 0x20]
push eax
call fcn.00553e69
add esp, 4
cmp dword [ebp - 0x2c], 0
je 0x5dd281
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
cmp dword [ebp - 0x28], 0
je 0x5dd293
push 0
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov al, byte [ebp - 0x12]
mov byte [ebp - 0x28d], al
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x198]
call fcn.0045e5e0
mov al, byte [ebp - 0x28d]
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.0055337c
mov esp, ebp
pop ebp
ret