Function at 0x103b998
Capabilities:
Hash data using sha1
Hash data using sha1 via wincrypt
Hash data via wincrypt
Import public key
Initialize hashing via wincrypt

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [ebp + 0x10]
push ebx
push esi
push edi
xor edi, edi
push 0xf0000000
push 1
push edi
mov dword [eax], edi
push edi
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 4], edi
xor ebx, ebx
mov dword [ebp - 0x10], edi
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x14], edi
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x103b9e9
call fcn.0106d6ff
mov esi, eax
push esi
push 0x17a60139
call fcn.01053610
jmp 0x103bc6f
lea eax, [ebp - 8]
push eax
push edi
push edi
push 0x8004
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x103ba10
call fcn.0106d6ff
mov esi, eax
push esi
push 0x17ab0139
jmp 0x103b9df
mov eax, dword [ebp + 0xc]
cmp eax, edi
mov dword [ebp + 0x10], eax
jbe 0x103bbc0
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x1c]
push eax
push dword [ebp + 0x10]
mov dword [ebp + 0xc], edi
push dword [ebp + 8]
call fcn.0103b80f
mov esi, eax
cmp esi, edi
jne 0x103bbd2
lea eax, [ebp - 0x1c]
push eax
call fcn.0103b8fb
test eax, eax
je 0x103bbdd
mov eax, dword [ebp - 0x1c]
dec eax
dec eax
je 0x103bb0f
dec eax
je 0x103ba9d
mov esi, dword [sym.imp.ADVAPI32.dll_CryptHashData]
push edi
push 8
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 8]
call esi
test eax, eax
je 0x103bbef
push edi
push dword [ebp - 0x18]
push dword [ebp - 4]
push dword [ebp - 8]
call esi
test eax, eax
jne 0x103bb9c
call fcn.0106d6ff
mov esi, eax
push esi
push 0x180a0139
jmp 0x103b9df
cmp dword [ebp - 0xc], edi
jne 0x103bc01
cmp ebx, edi
je 0x103bc0c
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebx + 0xc]
add eax, 0x38
push eax
xor esi, esi
inc esi
push esi
push dword [ebp - 0x10]
call dword [sym.imp.CRYPT32.dll_CryptImportPublicKeyInfo]
test eax, eax
je 0x103bc1c
push edi
push edi
push dword [ebp - 0xc]
push dword [ebp - 0x18]
push dword [ebp - 4]
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_CryptVerifySignatureW]
test eax, eax
je 0x103bc2e
push 0x981
mov dword [ebp + 0xc], esi
call fcn.01052a94
push eax
call fcn.0105b329
mov dword [esp], 0x1003410
call fcn.0105b329
pop ecx
jmp 0x103bb9c
cmp dword [0x107b258], edi
jne 0x103bb1f
cmp dword [0x107b274], edi
je 0x103bb36
push 0xffffffffffffffff
push dword [ebp - 0x18]
push dword [ebp - 4]
call fcn.0103b7ac
mov esi, eax
cmp esi, edi
jne 0x103bc40
cmp ebx, edi
jne 0x103bc4b
push dword [ebp - 0x18]
push dword [ebp - 4]
push 1
call dword [sym.imp.CRYPT32.dll_CertCreateCertificateContext]
mov ebx, eax
cmp ebx, edi
je 0x103bc5b
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebx + 0xc]
push 0x2000003
add eax, 0x30
push eax
push 1
call fcn.010580ea
cmp eax, edi
je 0x103bb7c
push eax
push 0x17d90139
call fcn.01053610
push 0x8d3
call fcn.01052a94
push eax
call fcn.0105b329
push dword [ebp - 0x14]
push 0x100c9a4
call fcn.0105b329
add esp, 0xc
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push 0xfffffffffffffff8
pop eax
sub eax, dword [ebp - 0x18]
mov dword [ebp - 4], edi
add dword [ebp + 0x10], eax
jne 0x103ba1e
cmp dword [ebp + 0xc], edi
jne 0x103bc6d
mov eax, 0x8007000d
push eax
mov esi, eax
push 0x18160139
jmp 0x103b9df
push esi
push 0x17b40139
jmp 0x103b9df
mov eax, 0x8007000d
push eax
mov esi, eax
push 0x17b90139
jmp 0x103b9df
call fcn.0106d6ff
mov esi, eax
push esi
push 0x18050139
jmp 0x103b9df
push edi
push 0x17e10139
jmp 0x103b9df
mov esi, 0x80096002
push esi
push 0x17e60139
jmp 0x103b9df
call fcn.0106d6ff
mov esi, eax
push esi
push 0x17ef0139
jmp 0x103b9df
call fcn.0106d6ff
mov esi, eax
push esi
push 0x17fa0139
jmp 0x103b9df
push esi
push 0x17c30139
jmp 0x103b9df
mov esi, 0x800700b7
push esi
push 0x17c90139
jmp 0x103b9df
call fcn.0106d6ff
mov esi, eax
push esi
push 0x17d20139
jmp 0x103b9df
xor esi, esi
cmp dword [ebp - 0x14], edi
je 0x103bc7d
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 4], edi
je 0x103bc8b
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0xc], edi
je 0x103bc99
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
cmp dword [ebp - 8], edi
je 0x103bca7
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
cmp dword [ebp - 0x10], edi
je 0x103bcb6
push edi
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0xc