Function at 0x180065ad8
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
lea rdi, [0x1800b8458]
xor ebx, ebx
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_AcquireSRWLockShared]
nop dword [rax + rax]
mov eax, dword [0x1800b7f40]
test eax, eax
jne 0x180065d5d
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSRWLockShared]
nop dword [rax + rax]
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_AcquireSRWLockExclusive]
nop dword [rax + rax]
cmp dword [0x1800b7f40], ebx
jne 0x180065d4c
xor edx, edx
lea rcx, str.Fwpuclnt.dll
mov r8d, 0x800
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_LoadLibraryExW]
nop dword [rax + rax]
mov qword [0x1800b8510], rax
test rax, rax
je 0x180065b87
xor edx, edx
lea rcx, str.Crypt32.dll
mov r8d, 0x800
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_LoadLibraryExW]
nop dword [rax + rax]
mov rcx, rax
mov qword [0x1800b8518], rax
mov rax, qword [0x1800b8510]
jmp 0x180065b8e
mov rcx, qword [0x1800b8518]
test rcx, rcx
je 0x180065d34
test rax, rax
je 0x180065d34
lea rdx, str.FwpmEngineOpen0
mov dword [0x1800b7f40], 1
mov rcx, rax
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
nop dword [rax + rax]
mov rcx, qword [0x1800b8510]
lea rdx, str.FwpmEngineClose0
mov qword [0x1800b8520], rax
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
nop dword [rax + rax]
mov rcx, qword [0x1800b8510]
lea rdx, str.FwpmProviderContextDeleteByKey0
mov qword [0x1800b8528], rax
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
nop dword [rax + rax]
mov rcx, qword [0x1800b8510]
lea rdx, str.WSASetSocketSecurity
mov qword [0x1800b8530], rax
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
nop dword [rax + rax]
mov rcx, qword [0x1800b8510]
lea rdx, str.IkeextSaGetById1
mov qword [0x1800b8538], rax
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
nop dword [rax + rax]
mov rcx, qword [0x1800b8510]
lea rdx, str.FwpmFreeMemory0
mov qword [0x1800b8540], rax
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
nop dword [rax + rax]
mov rcx, qword [0x1800b8510]
lea rdx, str.FwpmProviderContextAdd1
mov qword [0x1800b8548], rax
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
nop dword [rax + rax]
mov rcx, qword [0x1800b8510]
lea rdx, str.WSAQuerySocketSecurity
mov qword [0x1800b8550], rax
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
nop dword [rax + rax]
mov rcx, qword [0x1800b8518]
lea rdx, str.CertStrToNameW
mov qword [0x1800b8938], rax
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
nop dword [rax + rax]
mov rcx, qword [0x1800b8518]
lea rdx, str.CryptDecodeObject
mov qword [0x1800b8940], rax
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
nop dword [rax + rax]
mov rcx, qword [0x1800b8518]
lea rdx, str.CertFreeCertificateContext
mov qword [0x1800b8948], rax
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
nop dword [rax + rax]
mov rcx, qword [0x1800b8518]
lea rdx, str.CertCreateCertificateContext
mov qword [0x1800b8950], rax
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
nop dword [rax + rax]
mov qword [0x1800b8958], rax
jmp 0x180065d4c
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
mov dword [0x1800b7f40], 2
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSRWLockExclusive]
nop dword [rax + rax]
jmp 0x180065d77
cmp eax, 2
mov ecx, 0x7f
cmove ebx, ecx
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSRWLockShared]
nop dword [rax + rax]
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret