Function at 0x47e1d0
Capabilities:
Create new key via cryptacquirecontext

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x506ba2
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x3d8
push ebx
push esi
push edi
mov eax, dword [0x5732cc]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x3e8], ecx
mov dword [ebp - 4], 0
push 0x468ad0
call fcn.004dbbc8
add esp, 4
mov byte [ebp - 0x11], 0
push 0
push 1
push 0
push 0
mov eax, dword [ebp - 0x3e8]
add eax, 0x38
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
jne 0x47e24a
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x80090016
jne 0x47e57f
push 8
push 1
push 0
push 0
mov ecx, dword [ebp - 0x3e8]
add ecx, 0x38
push ecx
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
je 0x47e286
movzx edx, byte [ebp - 0x11]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x3e8]
call fcn.0047f880
mov byte [ebp - 0x11], al
jmp 0x47e57a
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x8009000f
jne 0x47e501
mov edx, dword [ebp - 0x3e8]
mov dword [edx + 0x38], 0
push 8
push 1
push 0
mov eax, dword [ebp - 0x3e8]
mov ecx, dword [eax + 0x3c]
push ecx
mov edx, dword [ebp - 0x3e8]
add edx, 0x38
push edx
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
je 0x47e35f
push 0xffffffffffffffff
push 0x10
push 2
call fcn.0041f480
mov ecx, eax
call fcn.00420010
push 1
lea ecx, [ebp - 0xb8]
call fcn.0041f520
mov byte [ebp - 4], 1
mov byte [ebp - 4], 2
push 0x51f3fc
lea eax, [ebp - 0xb8]
push eax
call fcn.0041e560
add esp, 8
lea ecx, [ebp - 0xb8]
push ecx
call fcn.0041f480
mov ecx, eax
call fcn.0041cfb0
jmp 0x47e329
mov dword [ebp - 4], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb8]
call fcn.0041dc00
movzx edx, byte [ebp - 0x11]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x3e8]
call fcn.0047f880
mov byte [ebp - 0x11], al
jmp 0x47e4ff
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x8009000f
jne 0x47e3a2
mov ecx, dword [ebp - 0x3e8]
call fcn.0047f490
mov ecx, dword [ebp - 0x3e8]
call fcn.0047f680
movzx edx, byte [ebp - 0x11]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x3e8]
call fcn.0047f880
mov byte [ebp - 0x11], al
jmp 0x47e4ff
push 0xffffffffffffffff
push 0x10
push 2
call fcn.0041f480
mov ecx, eax
call fcn.00420010
push 1
lea ecx, [ebp - 0x158]
call fcn.0041f520
mov byte [ebp - 4], 4
mov byte [ebp - 4], 5
push 0x51f430
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.MS_CryptoAPI._CRYPT_NEWKEYSET_failed_
lea edx, [ebp - 0x158]
push edx
call fcn.0041e560
add esp, 8
mov ecx, eax
call fcn.0041ea70
push eax
call fcn.0041e560
add esp, 8
lea eax, [ebp - 0x158]
push eax
call fcn.0041f480
mov ecx, eax
call fcn.0041cfb0
jmp 0x47e41b
mov dword [ebp - 4], 4
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x158]
call fcn.0041dc00
push 0xf0000000
push 1
push 0
push 0
mov ecx, dword [ebp - 0x3e8]
add ecx, 0x38
push ecx
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
je 0x47e470
movzx edx, byte [ebp - 0x11]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x3e8]
call fcn.0047f880
mov byte [ebp - 0x11], al
jmp 0x47e4ff
push 0xffffffffffffffff
push 0x10
push 2
call fcn.0041f480
mov ecx, eax
call fcn.00420010
push 1
lea ecx, [ebp - 0x1f8]
call fcn.0041f520
mov byte [ebp - 4], 7
mov byte [ebp - 4], 8
push 0x51f45c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x51f460
lea edx, [ebp - 0x1f8]
push edx
call fcn.0041e560
add esp, 8
mov ecx, eax
call fcn.0041ea70
push eax
call fcn.0041e560
add esp, 8
lea eax, [ebp - 0x1f8]
push eax
call fcn.0041f480
mov ecx, eax
call fcn.0041cfb0
jmp 0x47e4e9
mov dword [ebp - 4], 7
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1f8]
call fcn.0041dc00
jmp 0x47e57a
push 0xffffffffffffffff
push 0x10
push 2
call fcn.0041f480
mov ecx, eax
call fcn.00420010
push 1
lea ecx, [ebp - 0x298]
call fcn.0041f520
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0xb
push str.Could_not_create_the_default_key_container.
lea ecx, [ebp - 0x298]
push ecx
call fcn.0041e560
add esp, 8
lea edx, [ebp - 0x298]
push edx
call fcn.0041f480
mov ecx, eax
call fcn.0041cfb0
jmp 0x47e55e
mov dword [ebp - 4], 0xa
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x298]
call fcn.0041dc00
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x47e6c0
push 0xffffffffffffffff
push 0x10
push 2
call fcn.0041f480
mov ecx, eax
call fcn.00420010
push 1
lea ecx, [ebp - 0x338]
call fcn.0041f520
mov byte [ebp - 4], 0xd
mov byte [ebp - 4], 0xe
push str.A_general_error_running_CryptAcquireContext._Trying_using_CRYPT_VERIFYCONTEXT
lea eax, [ebp - 0x338]
push eax
call fcn.0041e560
add esp, 8
lea ecx, [ebp - 0x338]
push ecx
call fcn.0041f480
mov ecx, eax
call fcn.0041cfb0
jmp 0x47e5dc
mov dword [ebp - 4], 0xd
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x338]
call fcn.0041dc00
push 0xf0000000
push 1
push 0
push 0
mov edx, dword [ebp - 0x3e8]
add edx, 0x38
push edx
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
je 0x47e631
movzx eax, byte [ebp - 0x11]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x3e8]
call fcn.0047f880
mov byte [ebp - 0x11], al
jmp 0x47e6c0
push 0xffffffffffffffff
push 0x10
push 2
call fcn.0041f480
mov ecx, eax
call fcn.00420010
push 1
lea ecx, [ebp - 0x3d8]
call fcn.0041f520
mov byte [ebp - 4], 0x10
mov byte [ebp - 4], 0x11
push 0x51f508
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.MS_CryptoAPI._CRYPT_VERIFYCONTEXT_failed_
lea eax, [ebp - 0x3d8]
push eax
call fcn.0041e560
add esp, 8
mov ecx, eax
call fcn.0041ea70
push eax
call fcn.0041e560
add esp, 8
lea ecx, [ebp - 0x3d8]
push ecx
call fcn.0041f480
mov ecx, eax
call fcn.0041cfb0
jmp 0x47e6aa
mov dword [ebp - 4], 0x10
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x3d8]
call fcn.0041dc00
mov al, byte [ebp - 0x11]
jmp 0x47e810
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8