Function at 0x103ecb3
Capabilities:
Create new key via cryptacquirecontext

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x38
push ebx
push edi
xor ebx, ebx
lea eax, [ebp - 8]
push eax
push ebx
push ebx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 8], ebx
call fcn.01039bea
mov edi, eax
cmp edi, ebx
je 0x103ecf3
push edi
push 0x118f0139
call fcn.01053610
jmp 0x103ef34
lea eax, [ebp - 4]
push eax
xor eax, eax
cmp dword [0x107b23c], ebx
setne al
inc eax
push eax
push 1
call fcn.0103ac27
mov edi, eax
cmp edi, ebx
je 0x103ed21
push edi
push 0x11960139
call fcn.01053610
jmp 0x103ef26
push 8
push 1
push dword [ebp - 4]
lea eax, [ebp - 0xc]
push dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x103ed48
call fcn.0106d6ff
mov edi, eax
push edi
push 0x11a00139
jmp 0x103ed17
mov edi, dword [ebp + 0x10]
cmp byte [edi], 7
push esi
jne 0x103ed76
cmp byte [edi + 1], 2
jne 0x103ed76
cmp dword [edi + 8], 0x32415352
jne 0x103ed76
mov esi, dword [ebp + 0x18]
cmp esi, ebx
jne 0x103ed6c
mov esi, dword [edi + 4]
jmp 0x103ed79
cmp esi, dword [edi + 4]
je 0x103ed79
mov dword [edi + 4], esi
jmp 0x103ed79
mov esi, dword [ebp + 0x18]
cmp esi, ebx
jne 0x103ed97
push dword [ebp + 0xc]
call fcn.0103ac9c
mov esi, eax
neg esi
sbb esi, esi
and esi, 0xffff8000
add esi, 0xa400
lea eax, [ebp - 0x14]
push eax
push 1
push ebx
push dword [ebp + 0x14]
mov ebx, dword [sym.imp.ADVAPI32.dll_CryptImportKey]
push edi
push dword [ebp - 0xc]
call ebx
test eax, eax
jne 0x103ee0a
call fcn.0106d6ff
push eax
push 0x11b90139
call fcn.01053610
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
push esi
push dword [ebp + 0x14]
push edi
call fcn.0103aef0
mov edi, eax
test edi, edi
je 0x103ede4
push edi
push 0x11c10139
jmp 0x103ee79
lea eax, [ebp - 0x14]
push eax
push 1
push 0
push dword [ebp + 0x18]
push dword [ebp - 0x10]
push dword [ebp - 0xc]
call ebx
test eax, eax
jne 0x103ee0a
call fcn.0106d6ff
mov edi, eax
push edi
push 0x11ca0139
jmp 0x103ee79
xor eax, eax
push 7
pop ecx
lea edi, [ebp - 0x38]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x34], eax
xor edi, edi
xor eax, eax
inc edi
cmp esi, 0x2400
sete al
xor ebx, ebx
mov dword [ebp - 0x30], edi
inc eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x38]
push eax
push ebx
push 2
push dword [ebp + 0xc]
call dword [sym.imp.CRYPT32.dll_CertSetCertificateContextProperty]
test eax, eax
jne 0x103ee5a
call fcn.0106d6ff
mov edi, eax
push edi
push 0x11da0139
jmp 0x103ee79
push ebx
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.CRYPT32.dll_CertAddCertificateContextToStore]
test eax, eax
jne 0x103ee83
call fcn.0106d6ff
mov edi, eax
push edi
push 0x11e30139
call fcn.01053610
jmp 0x103ef23
mov esi, dword [0x107b268]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1c]
push eax
push dword [ebp + 0xc]
mov dword [0x107b268], edi
call fcn.01026db1
mov edi, eax
cmp edi, 0x8009000b
mov dword [0x107b268], esi
je 0x103ef21
cmp edi, 0x8009200b
je 0x103ef21
cmp edi, 0x80070006
je 0x103ef21
cmp edi, ebx
mov esi, 0x1003410
je 0x103eef9
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
and eax, 0xffffffd8
add eax, 0x32b
push eax
call fcn.01052a94
push eax
call fcn.0105b329
push esi
call fcn.0105b329
pop ecx
pop ecx
push edi
push 0x11f30139
call fcn.01053610
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
je 0x103ef21
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
and eax, 0xffffffd8
add eax, 0x32a
push eax
call fcn.01052a94
push eax
call fcn.0105b329
push esi
call fcn.0105b329
pop ecx
pop ecx
xor edi, edi
xor ebx, ebx
pop esi
cmp dword [ebp - 4], ebx
je 0x103ef34
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 8], ebx
je 0x103ef42
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x14], ebx
je 0x103ef50
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
cmp dword [ebp - 0xc], ebx
je 0x103ef5f
push ebx
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
cmp dword [ebp - 0x10], ebx
je 0x103ef7e
mov ecx, dword [ebp + 0x18]
cmp ecx, ebx
mov eax, dword [ebp - 0x10]
je 0x103ef75
mov byte [eax], 0
inc eax
dec ecx
jne 0x103ef6e
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, edi
pop edi
pop ebx
leave
ret 0x14