Function at 0x1402515f0
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
xor ebx, ebx
lea rcx, str.COMBASE.DLL
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rdi + 0x18], rax
mov esi, 0x80070000
test rax, rax
jne 0x140251637
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x140251757
mov rcx, qword [rdi + 0x18]
lea rdx, [0x1402c2340]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0x28], rax
test rax, rax
jne 0x140251669
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x140251757
mov rcx, qword [rdi + 0x18]
lea rdx, [0x1402c2358]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0x38], rax
test rax, rax
jne 0x14025169b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x140251757
mov rcx, qword [rdi + 0x18]
lea rdx, [0x1402c2370]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0x48], rax
test rax, rax
jne 0x1402516cd
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x140251757
mov rcx, qword [rdi + 0x18]
lea rdx, [0x140284090]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0x50], rax
test rax, rax
jne 0x1402516fb
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x140251757
mov rcx, qword [rdi + 0x18]
lea rdx, str.WindowsGetStringRawBuffer
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0x40], rax
test rax, rax
jne 0x140251729
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x140251757
mov rcx, qword [rdi + 0x18]
lea rdx, [0x1402c23a8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0x30], rax
test rax, rax
jne 0x14025176b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
jns 0x14025176b
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x14025176b
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
and qword [rdi + 0x18], 0
lea rcx, str.Wscapi.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rdi + 0x20], rax
test rax, rax
jne 0x140251795
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, esi
test eax, eax
cmovle ecx, eax
test ecx, ecx
js 0x1402517e3
mov rcx, qword [rdi + 0x20]
lea rdx, str.WscRegisterForChanges
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0x58], rax
test rax, rax
jne 0x1402517c3
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, esi
test eax, eax
cmovle ecx, eax
test ecx, ecx
js 0x1402517e3
mov rcx, qword [rdi + 0x20]
lea rdx, str.WscUnRegisterChanges
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0x60], rax
test rax, rax
jne 0x1402517e3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rsi, qword [rsp + 0x40]
mov eax, ebx
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret