Function at 0x40935f
Capabilities:
Create new key via cryptacquirecontext

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x18c
mov eax, dword [0x450074]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x184], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x188], eax
xor eax, eax
push ebx
push esi
push edi
lea edi, [ebp - 0x164]
mov dword [ebp - 0x120], ecx
stosd dword es:[edi], eax
xor ebx, ebx
mov esi, ebx
mov dword [ebp - 0x170], ebx
mov dword [ebp - 0x16c], ebx
mov dword [ebp - 0x168], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x144], ebx
mov dword [ebp - 0x140], ebx
mov dword [ebp - 0x13c], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x130], ebx
mov dword [ebp - 0x180], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x17c], ebx
mov dword [ebp - 0x178], ebx
mov dword [ebp - 0x174], ebx
stosd dword es:[edi], eax
mov eax, ebx
mov dword [ebp - 0x11c], eax
lea edi, [ebp - 0x150]
mov dword [ebp - 0x138], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x160], ebx
mov dword [ebp - 0x15c], ebx
mov dword [ebp - 0x158], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x154], ebx
mov dword [ebp - 0x124], esi
mov dword [ebp - 0x128], ebx
stosd dword es:[edi], eax
lea eax, [ebp - 0x118]
push eax
mov dword [ebp - 0x150], ebx
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x12c], 0x100
mov dword [ebp - 0x164], 2
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push ebx
lea ecx, [ebp - 0x144]
call fcn.0040b0a4
lea edx, [ebp - 0x134]
mov ecx, 0x40438c
call fcn.0040a423
mov ebx, eax
test ebx, ebx
jns 0x409484
mov ecx, ebx
call fcn.0040a491
mov edi, dword [ebp - 0x11c]
jmp 0x40974d
mov ecx, dword [ebp - 0x120]
lea edx, [ebp - 0x130]
call fcn.0040a423
mov ebx, eax
test ebx, ebx
js 0x409472
push ecx
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x134]
push eax
lea ecx, [ebp - 0x144]
call fcn.0040a81e
mov ebx, eax
test ebx, ebx
js 0x409472
cmp dword [ebp - 0x120], esi
jne 0x4094cc
mov ecx, 0x8000ffff
mov ebx, ecx
jmp 0x409474
lea edx, [ebp - 0x134]
mov ecx, 0x4043a0
call fcn.0040a423
mov ebx, eax
test ebx, ebx
js 0x409472
lea edx, [ebp - 0x130]
lea ecx, [ebp - 0x118]
call fcn.00409de2
mov ebx, eax
test ebx, ebx
js 0x409472
push ecx
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x134]
push eax
lea ecx, [ebp - 0x144]
call fcn.0040a81e
mov ebx, eax
test ebx, ebx
js 0x409472
cmp dword [ebp - 0x120], esi
je 0x4094c3
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x144]
call fcn.00408860
mov ebx, eax
test ebx, ebx
js 0x409472
mov edx, dword [ebp - 0x160]
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.00409ecf
mov ebx, eax
test ebx, ebx
jns 0x409576
mov ecx, ebx
call fcn.0040a491
mov esi, dword [ebp - 0x124]
jmp 0x409479
mov edi, dword [ebp - 0x120]
lea ecx, [ebp - 0x150]
dec edi
xor ebx, ebx
call fcn.0040ad5e
push 0xf0000020
push 0x18
push 0x404040
push ebx
lea eax, [ebp - 0x150]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x4095be
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.0040a474
mov ebx, eax
mov ecx, ebx
call fcn.0040a491
mov ecx, ebx
call fcn.0040a4ae
test ebx, ebx
js 0x409564
mov esi, dword [ebp - 0x124]
lea eax, [ebp - 0x120]
push ecx
push eax
push 0
push edi
push esi
lea ecx, [ebp - 0x150]
call fcn.0040a715
mov ebx, eax
test ebx, ebx
js 0x409472
push dword [ebp - 0x120]
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x128], eax
test eax, eax
jne 0x40961f
mov dword [ebp - 0x128], eax
mov ebx, 0x8007000e
jmp 0x409472
push ecx
lea ecx, [ebp - 0x120]
push ecx
push eax
push edi
push esi
lea ecx, [ebp - 0x150]
call fcn.0040a715
mov ebx, eax
test ebx, ebx
js 0x409472
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x108]
push eax
push dword [ebp - 0x120]
mov eax, dword [ebp - 0x128]
push eax
push ecx
call fcn.0044c877
mov ebx, eax
test ebx, ebx
js 0x409472
mov edx, dword [ebp - 0x12c]
lea eax, [ebp - 0x174]
push eax
push ecx
lea ecx, [ebp - 0x108]
call fcn.004099fd
mov ebx, eax
test ebx, ebx
js 0x409472
lea edx, [ebp - 0x180]
mov ecx, 0x4043c0
call fcn.0040a423
mov ebx, eax
test ebx, ebx
js 0x409472
lea edx, [ebp - 0x178]
mov ecx, 0x4045f0
call fcn.0040a423
mov ebx, eax
test ebx, ebx
js 0x409472
lea eax, [ebp - 0x180]
push eax
push dword [ebp - 0x158]
lea ecx, [ebp - 0x15c]
call fcn.0040aefa
mov ebx, eax
test ebx, ebx
js 0x409472
lea eax, [ebp - 0x164]
push eax
push 0
lea ecx, [ebp - 0x170]
call fcn.0040ade9
mov ebx, eax
test ebx, ebx
js 0x409472
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x138]
push eax
lea ecx, [ebp - 0x170]
call fcn.00408949
mov ebx, eax
test ebx, ebx
jns 0x40972f
mov ecx, ebx
call fcn.0040a491
mov edi, dword [ebp - 0x138]
jmp 0x40974d
mov ecx, dword [ebp - 0x184]
xor edi, edi
mov eax, dword [ebp - 0x12c]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x138]
mov dword [ecx], eax
mov ecx, ebx
call fcn.0040a4ae
lea ecx, [ebp - 0x150]
call fcn.0040a7eb
mov eax, dword [ebp - 0x128]
test eax, eax
je 0x409779
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
je 0x409784
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
test edi, edi
je 0x40978f
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea ecx, [ebp - 0x180]
call fcn.0040a5c1
lea ecx, [ebp - 0x134]
call fcn.0040a597
push 0
lea ecx, [ebp - 0x144]
call fcn.0040b0a4
lea ecx, [ebp - 0x13c]
call fcn.00409095
lea ecx, [ebp - 0x164]
call fcn.0040a565
push 0
lea ecx, [ebp - 0x170]
call fcn.0040b61b
lea ecx, [ebp - 0x168]
call fcn.00409095
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0044ce60
mov esp, ebp
pop ebp
ret 8