Function at 0x4084b4
Capabilities:
Create new key via cryptacquirecontext
Reference public rsa key

Disassembly:
mov eax, 0x411ebc
call fcn.00410b94
sub esp, 0x30
push ebx
push esi
mov eax, 0x41c078
push edi
push eax
mov dword [ebp - 0x20], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp dword [0x41c060], ebx
jne 0x408535
push 0xf0000000
push 0x18
push ebx
push ebx
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x14], ebx
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
jne 0x408503
call fcn.0040674f
mov edi, eax
jmp 0x408506
lea edi, [ebp - 0x14]
mov esi, dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
cmp edi, 0x41c060
je 0x40852a
mov eax, dword [0x41c060]
cmp eax, ebx
je 0x408521
push ebx
push eax
call esi
mov eax, dword [edi]
mov dword [0x41c060], eax
mov dword [edi], ebx
cmp dword [ebp - 0x14], ebx
je 0x408535
push ebx
push dword [ebp - 0x14]
call esi
cmp dword [0x41c064], ebx
jne 0x4085b5
lea eax, [ebp - 0x14]
push eax
push ebx
push ebx
push 0x94
push 0x415850
push dword [0x41c060]
mov dword [ebp - 0x14], ebx
call dword [sym.imp.ADVAPI32.dll_CryptImportKey]
test eax, eax
jne 0x40857e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], vtable.xwnmqigmmwptq.0
push 0x417274
lea eax, [ebp - 0x1c]
push eax
call fcn.0040c1f5
lea esi, [ebp - 0x14]
call fcn.00402f34
cmp dword [ebp - 0x14], ebx
je 0x408594
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
call fcn.00408bd4
cmp eax, 0x400
je 0x4085b5
mov dword [ebp - 0x1c], vtable.livsx.0
mov dword [ebp - 0x18], 0x80090015
push 0x4172e0
jmp 0x408575
mov eax, dword [0x41c068]
mov ecx, dword [0x41c06c]
cmp eax, ecx
je 0x4085e5
mov dword [ebp - 0x18], eax
mov ebx, ecx
mov esi, eax
push 1
xor edi, edi
call fcn.00406714
add esi, 0x1c
cmp esi, ebx
jne 0x4085cb
mov eax, dword [ebp - 0x18]
mov dword [0x41c06c], eax
xor ebx, ebx
push 0xffffffffffffffff
xor ecx, ecx
mov esi, 0x41ad8c
call fcn.004063f1
mov dword [0x41c044], ebx
xor esi, esi
push 1
lea eax, [ebp - 0x10]
push eax
push dword [ebp + 8]
mov eax, esi
mov byte [ebp - 0x10], 0x2c
call fcn.00407357
mov ebx, eax
sub eax, esi
push eax
push esi
push dword [ebp + 8]
lea esi, [ebp - 0x3c]
call fcn.00407296
mov esi, eax
mov byte [ebp - 4], 1
mov ecx, dword [0x41c06c]
cmp esi, ecx
jae 0x408660
mov edx, dword [0x41c068]
cmp edx, esi
ja 0x408660
sub eax, edx
push 0x1c
cdq
pop esi
idiv esi
mov esi, eax
cmp ecx, dword [0x41c070]
jne 0x408651
call fcn.004087a1
imul esi, esi, 0x1c
add esi, dword [0x41c068]
mov byte [ebp - 4], 2
jmp 0x408671
cmp ecx, dword [0x41c070]
jne 0x40866d
call fcn.004087a1
mov byte [ebp - 4], 3
mov eax, dword [0x41c06c]
test eax, eax
je 0x408682
push esi
mov esi, eax
call fcn.004066d9
add dword [0x41c06c], 0x1c
push 1
xor edi, edi
lea esi, [ebp - 0x3c]
mov byte [ebp - 4], 0
call fcn.00406714
lea esi, [ebx + 1]
cmp ebx, 0xffffffff
jne 0x4085fb
mov eax, dword [0x41c06c]
sub eax, dword [0x41c068]
push 0x1c
cdq
pop ecx
idiv ecx
lea esi, [eax - 1]
mov dword [ebp - 0x18], esi
test esi, esi
jle 0x40872f
mov ebx, esi
lea eax, [esi + 1]
imul ebx, ebx, 0x1c
mov dword [ebp - 0x14], eax
push 0x41c060
call fcn.00402cad
xor edx, edx
div dword [ebp - 0x14]
mov eax, dword [0x41c068]
mov ecx, edx
imul ecx, ecx, 0x1c
add ecx, eax
add eax, ebx
cmp eax, ecx
je 0x408721
mov esi, eax
lea edi, [ebp - 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, ecx
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x30]
mov edi, ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ecx + 0x10]
mov edx, dword [eax + 0x10]
mov dword [eax + 0x10], esi
mov dword [ecx + 0x10], edx
mov esi, dword [ecx + 0x14]
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], esi
mov esi, dword [ebp - 0x18]
mov dword [ecx + 0x14], edx
dec esi
dec dword [ebp - 0x14]
sub ebx, 0x1c
mov dword [ebp - 0x18], esi
test esi, esi
jg 0x4086cb
mov edi, dword [ebp + 0xc]
cmp dword [edi + 0x10], 0
je 0x40875a
cmp dword [edi + 0x14], 0x10
jb 0x408742
mov eax, dword [edi]
jmp 0x408744
mov eax, edi
cmp byte [eax], 0x2f
jne 0x40875a
push 0xffffffffffffffff
push 0
push edi
mov eax, str._userinfo.php
call fcn.004065f0
jmp 0x40877f
lea eax, [ebp - 0x3c]
push eax
call fcn.00408983
pop ecx
push eax
mov eax, str._userinfo.php
mov byte [ebp - 4], 5
call fcn.00406680
push 1
xor edi, edi
lea esi, [ebp - 0x3c]
call fcn.00406714
mov eax, dword [ebp + 0x10]
push 0x41c078
mov dword [0x41c03c], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret