Function at 0x1094a3e
Capabilities:
Generate random numbers via winapi
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x60
mov eax, dword [0x10cd598]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
xor edi, edi
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x54], edi
cmp ebx, 2
je 0x1094aa1
cmp ebx, 1
je 0x1094aa1
lea eax, [ebp - 0x4c]
push eax
push ebx
push dword [ebp + 8]
call fcn.01094902
mov esi, eax
cmp esi, edi
je 0x1094a98
push esi
push 0x77901a4
jmp 0x1094b9d
mov eax, dword [ebp - 0x4c]
push 2
mov dword [ebp + 8], eax
pop ebx
lea eax, [ebp - 0x48]
push eax
push edi
push edi
push dword [ebp + 0x14]
push dword [ebp + 8]
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x1094ac9
call fcn.0108edc3
mov esi, eax
push esi
push 0x78401a4
jmp 0x1094b9d
lea eax, [ebp - 0x44]
push eax
push 0x40
push dword [ebp + 8]
call dword [sym.imp.ADVAPI32.dll_CryptGenRandom]
test eax, eax
jne 0x1094aee
call fcn.0108edc3
mov esi, eax
push esi
push 0x78a01a4
jmp 0x1094b9d
push edi
push 0x40
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x48]
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
jne 0x1094b14
call fcn.0108edc3
mov esi, eax
push esi
push 0x78f01a4
jmp 0x1094b9d
mov esi, dword [sym.imp.ADVAPI32.dll_CryptSignHashW]
lea eax, [ebp - 0x58]
push eax
push edi
push edi
push edi
push ebx
push dword [ebp - 0x48]
call esi
test eax, eax
jne 0x1094b3a
call fcn.0108edc3
mov esi, eax
push esi
push 0x79501a4
jmp 0x1094b9d
push dword [ebp - 0x58]
push edi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x54], eax
cmp eax, edi
jne 0x1094b5a
mov eax, 0x8007000e
push eax
mov esi, eax
push 0x79b01a4
jmp 0x1094b9d
lea ecx, [ebp - 0x58]
push ecx
push eax
push edi
push edi
push ebx
push dword [ebp - 0x48]
call esi
test eax, eax
jne 0x1094b7a
call fcn.0108edc3
mov esi, eax
push esi
push 0x7a001a4
jmp 0x1094b9d
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0x5c]
push 1
push dword [ebp + 8]
call dword [sym.imp.CRYPT32.dll_CryptImportPublicKeyInfo]
test eax, eax
jne 0x1094ba4
call fcn.0108edc3
mov esi, eax
push esi
push 0x7ab01a4
call fcn.010893e6
jmp 0x1094bd5
mov esi, dword [ebp - 0x60]
push edi
push edi
push dword [ebp - 0x50]
mov dword [esi], edi
push dword [ebp - 0x58]
push dword [ebp - 0x54]
push dword [ebp - 0x48]
call dword [sym.imp.ADVAPI32.dll_CryptVerifySignatureW]
test eax, eax
jne 0x1094bd3
call fcn.0108edc3
push eax
push 0x7b201a4
mov dword [esi], eax
call fcn.010893e6
xor esi, esi
cmp dword [ebp - 0x48], edi
je 0x1094be3
push dword [ebp - 0x48]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
cmp dword [ebp - 0x50], edi
je 0x1094bf1
push dword [ebp - 0x50]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
cmp dword [ebp - 0x54], edi
je 0x1094bff
push dword [ebp - 0x54]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x4c], edi
je 0x1094c0e
push edi
push dword [ebp - 0x4c]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.01074bd5
leave
ret 0x14