Function at 0x1400dcd80
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 0x1400dcdc7
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400dcee7
mov rcx, qword [rdi + 0x18]
lea rdx, [0x1402d3570]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0x28], rax
test rax, rax
jne 0x1400dcdf9
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400dcee7
mov rcx, qword [rdi + 0x18]
lea rdx, [0x1402d3588]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0x38], rax
test rax, rax
jne 0x1400dce2b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400dcee7
mov rcx, qword [rdi + 0x18]
lea rdx, [0x1402d35a0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0x48], rax
test rax, rax
jne 0x1400dce5d
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400dcee7
mov rcx, qword [rdi + 0x18]
lea rdx, [0x1402c4f18]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0x50], rax
test rax, rax
jne 0x1400dce8b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400dcee7
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 0x1400dceb9
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400dcee7
mov rcx, qword [rdi + 0x18]
lea rdx, [0x1402d35d8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0x30], rax
test rax, rax
jne 0x1400dcefb
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
jns 0x1400dcefb
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x1400dcefb
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 0x1400dcf25
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, esi
test eax, eax
cmovle ecx, eax
test ecx, ecx
js 0x1400dcf73
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 0x1400dcf53
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, esi
test eax, eax
cmovle ecx, eax
test ecx, ecx
js 0x1400dcf73
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 0x1400dcf73
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