Function at 0x4010c0
Capabilities:
Create new key via cryptacquirecontext

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov dword [ebp - 0x10], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0xc], 0
push 0
push 0x80
push 3
push 0
push 1
push 1
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x14], eax
push 0
push 0x80
push 4
push 0
push 1
push 2
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 8], eax
push 0
push 0x18
push str.Microsoft_Enhanced_RSA_and_AES_Cryptographic_Provider
push 0
lea edx, [ebp - 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
je 0x401142
push str._GOOD__A_cryptographic_provider_has_been_acquired.__n
call fcn.004019a2
add esp, 4
jmp 0x40115d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._FAIL__Cryptographic_provider_not_acquired.__n
call fcn.004016e0
add esp, 8
xor eax, eax
jmp 0x4012dc
cmp dword [ebp + 0x10], 0
je 0x40116d
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x4011b9
lea edx, [ebp - 4]
push edx
push 1
push 0x1000000
push 0x6610
mov eax, dword [ebp - 0x10]
push eax
call fcn.004012e0
add esp, 0x14
test eax, eax
je 0x40119c
push str._GOOD__Generated_random_session_key__n
call fcn.004019a2
add esp, 4
jmp 0x4011b7
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._FAIL__Random_session_not_generated.__n
call fcn.004016e0
add esp, 8
xor eax, eax
jmp 0x4012dc
jmp 0x40120b
lea ecx, [ebp - 4]
push ecx
lea edx, [ebp - 0xc]
push edx
push 1
push 0x1000000
push 0x6610
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00401320
add esp, 0x1c
test eax, eax
je 0x4011f0
push str._GOOD__Generated_passworded_session_key__n
call fcn.004019a2
add esp, 4
jmp 0x40120b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._FAIL__Passworded_session_not_generated__n
call fcn.004016e0
add esp, 8
xor eax, eax
jmp 0x4012dc
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 8]
push eax
call fcn.004013e0
add esp, 0x14
test eax, eax
je 0x40123a
push str._GOOD__Successfully_exported_session.__n
call fcn.004019a2
add esp, 4
jmp 0x401255
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._FAIL__Export_session_failed.__n
call fcn.004016e0
add esp, 8
xor eax, eax
jmp 0x4012dc
push 0x80
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00401530
add esp, 0x10
test eax, eax
je 0x401281
push str._GOOD__Successfully_encrypted_file.__n
call fcn.004019a2
add esp, 4
jmp 0x401299
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._FAIL__Encryption_failed.__n
call fcn.004016e0
add esp, 8
xor eax, eax
jmp 0x4012dc
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov eax, 1
mov esp, ebp
pop ebp
ret