Function at 0x10004bce
Capabilities:
Create new key via cryptacquirecontext
Import public key
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov eax, dword [0x100216dc]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
push ebx
push edi
xor ebx, ebx
push ebx
push 0x80
push 3
push ebx
push 1
push SysReAllocStringLen
push eax
mov dword [ebp - 0x120], ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x10004c19
mov eax, 0x80070002
jmp 0x10004e11
push esi
mov esi, dword [sym.imp.KERNEL32.dll_SetFilePointer]
push ebx
push ebx
push 8
push edi
call esi
cmp eax, 0xffffffff
je 0x10004d79
push ebx
lea eax, [ebp - 0x11c]
push eax
push 4
lea eax, [ebp - 0x10c]
push eax
push edi
mov dword [ebp - 0x10c], ebx
mov dword [ebp - 0x11c], ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x10004d79
push ebx
push ebx
push 0x10
push edi
call esi
cmp eax, 0xffffffff
je 0x10004d79
push dword [ebp - 0x10c]
call fcn.1000ae12
pop ecx
push ebx
mov esi, eax
lea eax, [ebp - 0x11c]
push eax
push dword [ebp - 0x10c]
push esi
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x10004d79
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x118]
push eax
push ebx
push 0x8000
push dword [ebp - 0x10c]
push esi
push 8
push 1
call dword [sym.imp.CRYPT32.dll_CryptDecodeObjectEx]
test eax, eax
je 0x10004d79
mov esi, dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
mov edi, 0xf0000000
push edi
push 0x18
push str.Microsoft_Enhanced_RSA_and_AES_Cryptographic_Provider
push ebx
lea eax, [ebp - 0x110]
push eax
call esi
test eax, eax
jne 0x10004cfc
push edi
push 0x18
push str.Microsoft_Enhanced_RSA_and_AES_Cryptographic_Provider__Prototype_
push ebx
lea eax, [ebp - 0x110]
push eax
call esi
test eax, eax
je 0x10004d79
lea eax, [ebp - 0x12c]
push eax
push dword [ebp - 0x118]
push 1
push dword [ebp - 0x110]
call dword [sym.imp.CRYPT32.dll_CryptImportPublicKeyInfo]
test eax, eax
je 0x10004d79
push 0x20
pop edi
push edi
call fcn.1000ae12
pop ecx
mov esi, eax
lea eax, [ebp - 0x124]
push eax
push esi
push dword [ebp - 0x118]
mov dword [ebp - 0x124], edi
push 1
push ebx
push 0x800c
push dword [ebp - 0x110]
call dword [sym.imp.CRYPT32.dll_CryptHashPublicKeyInfo]
test eax, eax
je 0x10004d79
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x104]
push eax
push 4
push edi
push esi
mov dword [ebp - 0x114], 0x100
call dword [sym.imp.CRYPT32.dll_CryptBinaryToStringA]
test eax, eax
jne 0x10004d83
mov eax, 0x80004005
jmp 0x10004e10
push 0x100216a8
lea ecx, [ebp - 0x108]
call fcn.1000607e
xor esi, esi
cmp dword [ebp - 0x114], ebx
jbe 0x10004de7
mov eax, dword [ebp - 0x108]
cmp dword [eax - 0xc], edi
jge 0x10004de7
mov al, byte [ebp + esi - 0x104]
cmp al, 0x20
je 0x10004dde
cmp al, 0x30
jl 0x10004dde
cmp al, bl
je 0x10004de7
cmp al, 0xd
je 0x10004de7
cmp al, 0xa
je 0x10004de7
lea ecx, [ebp - 0x108]
cmp al, 0x61
jge 0x10004dd1
add al, 0x31
jmp 0x10004dd3
add al, 0xa
cbw
movzx eax, ax
push eax
call fcn.100049f4
inc esi
cmp esi, dword [ebp - 0x114]
jb 0x10004d9d
cmp dword [ebp - 0x108], ebx
jne 0x10004e21
xor eax, eax
mov ecx, dword [ebp - 0x120]
push ebx
mov dword [ecx], eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ecx, dword [ebp - 0x108]
add ecx, 0xfffffff0
call fcn.10003c09
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.1000a86c
leave
ret 0xc
push dword [ebp - 0x108]
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
cmp eax, ebx
jne 0x10004df1
push 0x8007000e
call fcn.100010f5
int3