Function at 0x43edaa
Capabilities:
Create new key via cryptacquirecontext

Disassembly:
push 0xc8
mov eax, 0x578b7f
call fcn.004fba06
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xd0], eax
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0xc4], 0x59b834
mov byte [ebp - 4], 1
mov edi, 0xf0000000
push edi
push 0x18
push ebx
push ebx
lea eax, [ebp - 0x90]
push eax
mov esi, dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
call esi
test eax, eax
jne 0x43ee3a
mov dword [ebp - 4], 2
jmp 0x43f0b4
push edi
push 0x18
push ebx
push ebx
lea eax, [ebp - 0x8c]
push eax
call esi
test eax, eax
jne 0x43ee58
mov dword [ebp - 4], 3
jmp 0x43f0b4
push 0x20
push ebx
lea eax, [ebp - 0x7c]
push eax
call fcn.004fc1f0
push 0x38
push ebx
lea eax, [ebp - 0x5c]
push eax
call fcn.004fc1f0
lea eax, [ebp - 0xa0]
push eax
call fcn.0043cec7
add esp, 0x1c
cmp eax, ebx
jne 0x43ee8f
mov dword [ebp - 4], 4
jmp 0x43f0b4
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.0043ed19
add esp, 0xc
cmp eax, ebx
jne 0x43eebc
mov dword [ebp - 4], 5
jmp 0x43f0b4
lea eax, [ebp - 0x88]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
lea eax, [ebp + 8]
push eax
call fcn.004324a9
mov byte [ebp - 4], 6
mov byte [ebp - 4], 1
call fcn.0043e0c3
pop ecx
pop ecx
cmp eax, ebx
jne 0x43eef4
mov dword [ebp - 4], 7
jmp 0x43f0b4
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x90]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
mov dword [ebp - 0x34], eax
pushal
lea ecx, [ebp - 0x5c]
lea eax, [ebp - 0x7c]
push eax
mov eax, dword [ebp - 0xa4]
call eax
mov dword [ebp - 0x80], eax
popal
xor eax, eax
cmp dword [ebp - 0x80], eax
jge 0x43ef42
mov dword [ebp - 4], 8
jmp 0x43f0b4
mov dword [ebp - 0xc0], 0x20
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb8], 0x14
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], 0x59b6b4
mov dword [ebp - 0xac], eax
pushal
lea eax, [ebp - 0x98]
mov ecx, eax
add ecx, 4
push ecx
push eax
lea ebx, [ebp - 0x5c]
mov ecx, dword [ebx + 0x28]
mov eax, dword [ebp - 0xc4]
push eax
push 1
lea eax, [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0x9c]
call eax
mov dword [ebp - 0x80], eax
popal
xor edx, edx
cmp dword [ebp - 0x80], edx
jl 0x43f079
cmp dword [ebp - 0x94], edx
je 0x43f079
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x50], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x44], ecx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x40], eax
push 0x10
push edx
lea eax, [ebp - 0x24]
push eax
call fcn.004fc1f0
add esp, 0xc
pushal
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0xa8]
call eax
mov dword [ebp - 0x80], eax
popal
xor esi, esi
cmp dword [ebp - 0x80], esi
jl 0x43f062
cmp dword [ebp - 0x94], esi
je 0x43f062
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xd4]
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx], eax
cmp dword [ebp - 0x88], esi
je 0x43f047
push dword [ebp - 0x88]
push 1
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ebp - 0x88], esi
mov dword [ebp - 4], 9
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.004310e3
xor eax, eax
inc eax
jmp 0x43f0c5
mov dword [ebp - 0xc8], esi
push 0x5d6a50
lea eax, [ebp - 0xc8]
push eax
call fcn.004fa35f
mov dword [ebp - 0xcc], edx
push 0x5d6a50
lea eax, [ebp - 0xcc]
jmp 0x43f073
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.004310e3
xor eax, eax
call fcn.004fba62
ret