Function at 0x1400b8a00
Capabilities:
Create new key via cryptacquirecontext

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x60
mov rax, qword [0x140121ef0]
xor rax, rsp
mov qword [rsp + 0x58], rax
xor ebx, ebx
mov rdi, rcx
cmp qword [0x140122ba8], rbx
jne 0x1400b8bf4
lea rsi, [0x140121e20]
lea rdx, [0x1400d7400]
xor r8d, r8d
mov rcx, rsi
call fcn.140003310
cmp word [rdi], bx
jne 0x1400b8a53
mov r8d, ebx
jmp 0x1400b8a6a
or r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rdi + r8*2], bx
jne 0x1400b8a60
mov rdx, rdi
mov rcx, rsi
call fcn.140004d20
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
mov rdx, rsi
cmovae rdx, qword [0x140121e20]
lea r8, str.Microsoft_Enhanced_DSS_and_Diffie_Hellman_Cryptographic_Provider
lea rcx, [0x140122ba8]
mov r9d, reloc.WS2_32.dll_listen
mov dword [rsp + 0x20], 0x30
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
mov rdx, rsi
cmovae rdx, qword [0x140121e20]
lea r8, str.Microsoft_Enhanced_DSS_and_Diffie_Hellman_Cryptographic_Provider
lea rcx, [0x140122ba8]
mov r9d, reloc.WS2_32.dll_listen
mov dword [rsp + 0x20], 0x28
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x1400b8bf4
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x8009000f
jne 0x1400b8dbe
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
mov rdx, rsi
lea r8, str.Microsoft_Enhanced_DSS_and_Diffie_Hellman_Cryptographic_Provider
cmovae rdx, qword [0x140121e20]
lea rcx, [0x140122ba8]
mov r9d, reloc.WS2_32.dll_listen
mov dword [rsp + 0x20], 0x20
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x1400b8bf4
xor ecx, ecx
call qword [sym.imp.MSVCR110.dll__time64]
mov rcx, rax
call qword [sym.imp.MSVCR110.dll_srand]
call qword [sym.imp.MSVCR110.dll_rand]
xor ecx, ecx
lea r9d, [rcx + 0xa]
lea r8d, [rcx + 0x14]
mov qword [rsp + 0x32], rcx
mov qword [rsp + 0x3a], rcx
mov qword [rsp + 0x42], rcx
mov qword [rsp + 0x4a], rcx
mov dword [rsp + 0x52], ecx
mov word [rsp + 0x56], cx
lea rdx, [rsp + 0x30]
mov ecx, eax
mov word [rsp + 0x30], bx
call qword [sym.imp.MSVCR110.dll__itow_s]
cmp word [rsp + 0x30], bx
jne 0x1400b8b91
mov r8, rbx
jmp 0x1400b8baa
lea rax, [rsp + 0x30]
or r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], bx
jne 0x1400b8ba0
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.140004d20
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
lea r8, str.Microsoft_Enhanced_DSS_and_Diffie_Hellman_Cryptographic_Provider
cmovae rsi, qword [0x140121e20]
lea rcx, [0x140122ba8]
mov r9d, reloc.WS2_32.dll_listen
mov rdx, rsi
mov dword [rsp + 0x20], 0x28
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x1400b8db8
cmp qword [0x140122bb0], rbx
jne 0x1400b8dc2
lea rsi, [0x140121e40]
lea rdx, [0x1400d7400]
xor r8d, r8d
mov rcx, rsi
call fcn.140003310
cmp word [rdi], bx
jne 0x1400b8c24
mov r8, rbx
jmp 0x1400b8c3a
or r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rdi + r8*2], bx
jne 0x1400b8c30
mov rdx, rdi
mov rcx, rsi
call fcn.140004d20
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
mov rdx, rsi
cmovae rdx, qword [0x140121e40]
lea r8, str.Microsoft_Enhanced_Cryptographic_Provider_v1.0
lea rcx, [0x140122bb0]
mov r9d, 1
mov dword [rsp + 0x20], 0x30
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
mov rdx, rsi
cmovae rdx, qword [0x140121e40]
lea r8, str.Microsoft_Enhanced_Cryptographic_Provider_v1.0
lea rcx, [0x140122bb0]
mov r9d, 1
mov dword [rsp + 0x20], 0x28
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x1400b8dc2
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x8009000f
jne 0x1400b8dbe
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
mov rdx, rsi
lea r8, str.Microsoft_Enhanced_Cryptographic_Provider_v1.0
cmovae rdx, qword [0x140121e40]
lea rcx, [0x140122bb0]
mov r9d, 1
mov dword [rsp + 0x20], 0x20
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x1400b8dc2
xor ecx, ecx
call qword [sym.imp.MSVCR110.dll__time64]
mov rcx, rax
call qword [sym.imp.MSVCR110.dll_srand]
call qword [sym.imp.MSVCR110.dll_rand]
xor ecx, ecx
lea r9d, [rcx + 0xa]
lea r8d, [rcx + 0x14]
mov qword [rsp + 0x32], rcx
mov qword [rsp + 0x3a], rcx
mov qword [rsp + 0x42], rcx
mov qword [rsp + 0x4a], rcx
mov dword [rsp + 0x52], ecx
mov word [rsp + 0x56], cx
lea rdx, [rsp + 0x30]
mov ecx, eax
mov word [rsp + 0x30], bx
call qword [sym.imp.MSVCR110.dll__itow_s]
cmp word [rsp + 0x30], bx
je 0x1400b8d6f
lea rax, [rsp + 0x30]
or rbx, 0xffffffffffffffff
inc rbx
cmp word [rax + rbx*2], 0
jne 0x1400b8d65
lea rdx, [rsp + 0x30]
mov r8, rbx
mov rcx, rsi
call fcn.140004d20
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
lea r8, str.Microsoft_Enhanced_DSS_and_Diffie_Hellman_Cryptographic_Provider
cmovae rsi, qword [0x140121e40]
lea rcx, [0x140122ba8]
mov r9d, 1
mov rdx, rsi
mov dword [rsp + 0x20], 0x28
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x1400b8dc2
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
jmp 0x1400b8dc7
mov eax, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400bb310
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
ret