Function at 0x1400dac80
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 0x1400dacc7
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400dade7
mov rcx, qword [rdi + 0x18]
lea rdx, [0x1402ceee8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0x28], rax
test rax, rax
jne 0x1400dacf9
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400dade7
mov rcx, qword [rdi + 0x18]
lea rdx, [0x1402cef00]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0x38], rax
test rax, rax
jne 0x1400dad2b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400dade7
mov rcx, qword [rdi + 0x18]
lea rdx, [0x1402cef18]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0x48], rax
test rax, rax
jne 0x1400dad5d
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400dade7
mov rcx, qword [rdi + 0x18]
lea rdx, [0x1402c0c28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0x50], rax
test rax, rax
jne 0x1400dad8b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400dade7
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 0x1400dadb9
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400dade7
mov rcx, qword [rdi + 0x18]
lea rdx, [0x1402cef50]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0x30], rax
test rax, rax
jne 0x1400dadfb
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
jns 0x1400dadfb
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x1400dadfb
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 0x1400dae25
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, esi
test eax, eax
cmovle ecx, eax
test ecx, ecx
js 0x1400dae73
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 0x1400dae53
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, esi
test eax, eax
cmovle ecx, eax
test ecx, ecx
js 0x1400dae73
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 0x1400dae73
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