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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1f88
call fcn.0102dc50
mov eax, dword [0x104a328]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x1f78], eax
push esi
push edi
mov esi, dword [ebp + 0xc]
xor eax, eax
xor ebx, ebx
mov byte [ebp - 0x18], bl
lea edi, [ebp - 0x17]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x1f53
stosb byte es:[edi], al
lea eax, [ebp - 0x1f6b]
push ebx
push eax
mov dword [ebp - 0x1f80], ecx
mov dword [ebp - 0x1f88], esi
mov byte [ebp - 0x1f6c], bl
call sub.msvcrt.dll_memset
add esp, 0xc
push 0x14
pop eax
mov dword [ebp - 0x1f7c], ebx
mov dword [ebp - 0x1f84], eax
mov dword [ebp - 0x1f70], ebx
cmp esi, ebx
jne 0x103b3ab
mov eax, 0x80004003
push eax
push 0x1008d3c
mov dword [ebp - 0x1f74], eax
push 0x435
jmp 0x103b41c
cmp dword [ebp + 0x10], eax
jbe 0x103b3c8
mov eax, 0x80070057
push eax
push 0x1008d3c
mov dword [ebp - 0x1f74], eax
push 0x43d
jmp 0x103b41c
mov esi, dword [ebp - 0x1f80]
cmp dword [esi], ebx
jne 0x103b3f0
mov ecx, esi
call fcn.0103a3e1
cmp eax, ebx
mov dword [ebp - 0x1f74], eax
jge 0x103b3f0
push eax
push 0x1008d3c
push 0x442
jmp 0x103b41c
lea eax, [ebp - 0x1f7c]
push eax
push 0x7fffffff
push dword [ebp - 0x1f78]
call fcn.0101ca72
cmp eax, ebx
mov dword [ebp - 0x1f74], eax
jge 0x103b435
push eax
push 0x1008d3c
push 0x44d
push 0x1008a98
push 0x10018c8
mov ecx, 0x104abe8
call fcn.0102f8f0
jmp 0x103b52d
mov eax, 0x1f40
cmp dword [ebp - 0x1f7c], eax
jbe 0x103b448
mov dword [ebp - 0x1f7c], eax
push dword [ebp - 0x1f7c]
lea eax, [ebp - 0x1f6c]
push dword [ebp - 0x1f78]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [ebp - 0x1f78], ebx
jmp 0x103b471
mov esi, dword [ebp - 0x1f80]
lea eax, [ebp - 0x1f70]
push eax
push ebx
push ebx
push 0x8004
push dword [esi]
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
push ebx
test eax, eax
je 0x103b558
mov esi, dword [ebp - 0x1f7c]
lea eax, [esi + 0x14]
push eax
lea eax, [ebp - 0x1f6c]
push eax
push dword [ebp - 0x1f70]
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
push ebx
test eax, eax
je 0x103b564
lea eax, [ebp - 0x1f84]
push eax
lea eax, [ebp - 0x18]
push eax
push 2
push dword [ebp - 0x1f70]
call dword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
je 0x103b570
push dword [ebp - 0x1f70]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
inc dword [ebp - 0x1f78]
cmp dword [ebp - 0x1f78], 0x186a0
lea edi, [ebp + esi - 0x1f6c]
push 5
pop ecx
lea esi, [ebp - 0x18]
mov dword [ebp - 0x1f70], ebx
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x1f84], 0x14
jl 0x103b46b
push dword [ebp + 0x10]
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x1f88]
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x1f70], ebx
pop edi
pop esi
pop ebx
je 0x103b544
push dword [ebp - 0x1f70]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1f74]
xor ecx, ebp
call fcn.0102da5f
leave
ret 0xc
push 0x1008d3c
push 0x459
jmp 0x103b57b
push 0x1008d3c
push 0x45f
jmp 0x103b57b
push ebx
push 0x1008d3c
push 0x466
push 0x1008a98
push 0x10018c8
mov ecx, 0x104abe8
call fcn.0102f8f0
mov dword [ebp - 0x1f74], 0x80004005
jmp 0x103b52d