Function at 0x469f62
Capabilities:
Create new key via cryptacquirecontext

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c4
mov eax, dword [0x4b21c4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c0], eax
xor eax, eax
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x160], ecx
lea edi, [ebp - 0x19c]
mov dword [ebp - 0x1a8], ebx
stosd dword es:[edi], eax
mov esi, ebx
mov dword [ebp - 0x1a4], ebx
mov dword [ebp - 0x1a0], ebx
mov dword [ebp - 0x178], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x174], ebx
mov dword [ebp - 0x170], ebx
mov dword [ebp - 0x158], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x154], ebx
mov dword [ebp - 0x1b8], ebx
mov dword [ebp - 0x1b4], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x1b0], ebx
mov dword [ebp - 0x1ac], ebx
mov dword [ebp - 0x150], esi
stosd dword es:[edi], eax
mov eax, ebx
mov dword [ebp - 0x16c], eax
lea edi, [ebp - 0x188]
mov dword [ebp - 0x164], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x198], ebx
mov dword [ebp - 0x194], ebx
mov dword [ebp - 0x190], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x18c], ebx
mov dword [ebp - 0x168], ebx
mov dword [ebp - 0x17c], pe_nt_image_headers32
stosd dword es:[edi], eax
lea eax, [ebp - 0x148]
mov edi, ebx
mov dword [ebp - 0x188], ebx
push eax
mov dword [ebp - 0x184], ebx
mov dword [ebp - 0x15c], ebx
mov dword [ebp - 0x14c], edi
mov dword [ebp - 0x19c], 2
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push ebx
lea ecx, [ebp - 0x178]
call fcn.0046bf81
lea ecx, [ebp - 0x120]
call fcn.004ab76d
lea ecx, [ebp - 0x120]
call fcn.004ab990
mov ebx, eax
test ebx, ebx
js 0x46a0c1
lea ecx, [ebp - 0x120]
call fcn.004ab7d7
test eax, eax
jns 0x46a0a9
lea ecx, [ebp - 0x120]
call fcn.004ab880
mov ebx, eax
test ebx, ebx
js 0x46a0c1
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x120]
call fcn.004ab8e5
mov ebx, eax
test ebx, ebx
jns 0x46a0c8
mov ecx, ebx
call fcn.0046b33e
mov ecx, ebx
call fcn.0046b356
lea ecx, [ebp - 0x120]
call fcn.004ab7a5
test ebx, ebx
js 0x46a23b
push ecx
mov ecx, dword [ebp - 0x15c]
lea edx, [ebp - 0x138]
push 0
sub esp, 0xc
call fcn.004ab472
test eax, eax
jns 0x46a175
lea edx, [ebp - 0x14c]
mov ecx, 0x409840
call fcn.0046aef2
mov ebx, eax
test ebx, ebx
jns 0x46a125
mov ecx, ebx
call fcn.0046b33e
mov edi, dword [ebp - 0x14c]
jmp 0x46a53f
mov edi, dword [ebp - 0x14c]
lea edx, [ebp - 0x14c]
mov ecx, edi
call fcn.0046bb33
mov ebx, eax
test ebx, ebx
jns 0x46a14a
mov ecx, ebx
call fcn.0046b33e
jmp 0x46a53f
cmp dword [ebp - 0x14c], esi
jne 0x46a159
mov ebx, 0x80070002
jmp 0x46a13e
push ecx
mov ecx, dword [ebp - 0x15c]
lea edx, [ebp - 0x138]
push edi
sub esp, 0xc
call fcn.004ab472
mov ebx, eax
test ebx, ebx
js 0x46a13e
lea edx, [ebp - 0x158]
mov ecx, 0x409bb8
call fcn.0046b2da
mov ebx, eax
test ebx, ebx
js 0x46a13e
mov ecx, dword [ebp - 0x15c]
lea edx, [ebp - 0x154]
call fcn.0046b2da
mov ebx, eax
test ebx, ebx
js 0x46a13e
push ecx
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x178]
call fcn.0046b6c2
mov ebx, eax
test ebx, ebx
js 0x46a13e
cmp dword [ebp - 0x14c], esi
jne 0x46a1da
mov ecx, 0x8000ffff
mov ebx, ecx
jmp 0x46a140
lea edx, [ebp - 0x158]
mov ecx, 0x409be8
call fcn.0046b2da
mov ebx, eax
test ebx, ebx
js 0x46a13e
lea edx, [ebp - 0x154]
lea ecx, [ebp - 0x138]
call fcn.0046b2da
mov ebx, eax
test ebx, ebx
js 0x46a13e
push ecx
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x178]
call fcn.0046b6c2
mov ebx, eax
test ebx, ebx
js 0x46a13e
cmp dword [ebp - 0x14c], esi
je 0x46a1ce
lea edx, [ebp - 0x158]
mov ecx, 0x409c14
call fcn.0046b2da
mov ebx, eax
test ebx, ebx
js 0x46a13e
mov ecx, dword [ebp - 0x160]
lea edx, [ebp - 0x154]
call fcn.0046b2da
mov ebx, eax
test ebx, ebx
js 0x46a13e
push ecx
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x178]
call fcn.0046b6c2
mov ebx, eax
test ebx, ebx
js 0x46a13e
cmp dword [ebp - 0x14c], esi
je 0x46a1ce
lea edx, [ebp - 0x158]
mov ecx, 0x409c28
call fcn.0046b2da
mov ebx, eax
test ebx, ebx
js 0x46a13e
lea edx, [ebp - 0x154]
lea ecx, [ebp - 0x148]
call fcn.0046abcd
mov ebx, eax
test ebx, ebx
js 0x46a13e
push ecx
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x178]
call fcn.0046b6c2
mov ebx, eax
test ebx, ebx
js 0x46a13e
cmp dword [ebp - 0x14c], esi
je 0x46a1ce
lea eax, [ebp - 0x198]
push eax
lea ecx, [ebp - 0x178]
call fcn.00469475
mov ebx, eax
test ebx, ebx
js 0x46a13e
mov edx, dword [ebp - 0x198]
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.0046acb0
mov ebx, eax
test ebx, ebx
jns 0x46a352
mov ecx, ebx
call fcn.0046b33e
mov esi, dword [ebp - 0x150]
jmp 0x46a53f
mov eax, dword [ebp - 0x160]
lea ecx, [ebp - 0x188]
dec eax
xor ebx, ebx
mov dword [ebp - 0x14c], eax
call fcn.0046bc62
push 0xf0000020
push 0x18
push 0x4097d0
push ebx
lea eax, [ebp - 0x188]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x46a3a0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.0046b326
mov ebx, eax
mov ecx, ebx
call fcn.0046b33e
mov ecx, ebx
call fcn.0046b356
test ebx, ebx
js 0x46a340
mov esi, dword [ebp - 0x150]
lea eax, [ebp - 0x150]
push ecx
push eax
push 0
push dword [ebp - 0x14c]
lea ecx, [ebp - 0x188]
push esi
call fcn.0046b5a3
mov ebx, eax
test ebx, ebx
js 0x46a13e
push dword [ebp - 0x150]
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x168], eax
test eax, eax
jne 0x46a400
mov ebx, 0x8007000e
jmp 0x46a13e
push ecx
lea ecx, [ebp - 0x150]
push ecx
push eax
push dword [ebp - 0x14c]
lea ecx, [ebp - 0x188]
push esi
call fcn.0046b5a3
mov ebx, eax
test ebx, ebx
js 0x46a13e
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x108]
push eax
push dword [ebp - 0x150]
mov eax, dword [ebp - 0x168]
push eax
push ecx
call fcn.004adf82
mov ebx, eax
test ebx, ebx
js 0x46a13e
mov edx, dword [ebp - 0x17c]
lea eax, [ebp - 0x1ac]
push eax
push ecx
lea ecx, [ebp - 0x108]
call fcn.0046a807
mov ebx, eax
test ebx, ebx
js 0x46a13e
lea edx, [ebp - 0x1b8]
mov ecx, 0x409c48
call fcn.0046b2da
mov ebx, eax
test ebx, ebx
js 0x46a13e
lea edx, [ebp - 0x1b0]
mov ecx, 0x409e80
call fcn.0046b2da
mov ebx, eax
test ebx, ebx
js 0x46a13e
lea eax, [ebp - 0x1b8]
push eax
push dword [ebp - 0x190]
lea ecx, [ebp - 0x194]
call fcn.0046bdec
mov ebx, eax
test ebx, ebx
js 0x46a13e
lea eax, [ebp - 0x19c]
push eax
push 0
lea ecx, [ebp - 0x1a8]
call fcn.0046bce8
mov ebx, eax
test ebx, ebx
js 0x46a13e
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x1a8]
call fcn.0046956b
mov ebx, eax
test ebx, ebx
jns 0x46a51b
mov ecx, ebx
call fcn.0046b33e
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x16c], eax
jmp 0x46a53f
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x160]
mov dword [ecx], eax
xor eax, eax
mov ecx, dword [ebp - 0x164]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x1c0]
mov dword [eax], ecx
mov ecx, ebx
call fcn.0046b356
test edi, edi
je 0x46a551
mov ecx, edi
call fcn.0046b1e2
mov eax, dword [ebp - 0x15c]
test eax, eax
je 0x46a562
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea ecx, [ebp - 0x188]
call fcn.0046b674
mov eax, dword [ebp - 0x168]
test eax, eax
je 0x46a587
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
je 0x46a592
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0x16c]
test eax, eax
je 0x46a5a3
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea ecx, [ebp - 0x1b8]
call fcn.0046b459
lea ecx, [ebp - 0x158]
call fcn.0046b434
push 0
lea ecx, [ebp - 0x178]
call fcn.0046bf81
lea ecx, [ebp - 0x170]
call fcn.0046b6a2
lea ecx, [ebp - 0x19c]
call fcn.0046b407
push 0
lea ecx, [ebp - 0x1a8]
call fcn.0046c4a2
lea ecx, [ebp - 0x1a0]
call fcn.0046b6a2
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004ae550
mov esp, ebp
pop ebp
ret 8