Function at 0x140014c40
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
test rcx, rcx
jne 0x140014c60
xor ebx, ebx
jmp 0x140014c64
mov rbx, qword [rcx + 0x70]
lea rax, [rcx + 0x70]
test rdi, rdi
mov esi, 0x70
lea r9, str.user32.dll
lea r8, str.Loading_library:__s_n
mov edx, 4
mov rcx, rbx
cmovne rsi, rax
call fcn.140002080
lea rcx, str.user32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbp, rax
test rax, rax
jne 0x140014cce
lea r9, str.user32.dll
mov rcx, rbx
lea r8, str.Failed_to_load_library:__s_n
lea edx, [rax + 3]
call fcn.140002080
mov eax, 0xfffffe70
mov qword [rdi + 0x290], rbp
jmp 0x140015206
mov rbx, qword [rsi]
lea r9, str.GetForegroundWindow
mov rcx, rbx
mov qword [rdi + 0x290], rbp
lea r8, str.Loading_symbol:__s_n
mov edx, 4
call fcn.140002080
lea rdx, str.GetForegroundWindow
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbp, rax
test rax, rax
jne 0x140014d24
lea r9, str.GetForegroundWindow
mov rcx, rbx
lea r8, str.Failed_to_load_symbol:__s_n
lea edx, [rax + 2]
call fcn.140002080
mov rbx, qword [rdi + 0x290]
lea r9, str.GetDesktopWindow
mov qword [rdi + 0x298], rbp
lea r8, str.Loading_symbol:__s_n
mov rbp, qword [rsi]
mov edx, 4
mov rcx, rbp
call fcn.140002080
lea rdx, str.GetDesktopWindow
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x140014d81
lea r9, str.GetDesktopWindow
mov rcx, rbp
lea r8, str.Failed_to_load_symbol:__s_n
lea edx, [rax + 2]
call fcn.140002080
mov rbp, qword [rsi]
lea r9, str.advapi32.dll
mov rcx, rbp
mov qword [rdi + 0x2a0], rbx
lea r8, str.Loading_library:__s_n
mov edx, 4
call fcn.140002080
lea rcx, str.advapi32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
test rax, rax
jne 0x140014de5
lea r9, str.advapi32.dll
mov rcx, rbp
lea r8, str.Failed_to_load_library:__s_n
lea edx, [rax + 3]
call fcn.140002080
mov eax, 0xfffffe70
mov qword [rdi + 0x2a8], rbx
jmp 0x140015206
mov rbp, qword [rsi]
lea r9, str.RegOpenKeyExA
mov rcx, rbp
mov qword [rdi + 0x2a8], rbx
lea r8, str.Loading_symbol:__s_n
mov edx, 4
call fcn.140002080
lea rdx, str.RegOpenKeyExA
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x140014e3b
lea r9, str.RegOpenKeyExA
mov rcx, rbp
lea r8, str.Failed_to_load_symbol:__s_n
lea edx, [rax + 2]
call fcn.140002080
mov rbp, qword [rsi]
lea r9, str.RegCloseKey
mov qword [rdi + 0x2b0], rbx
lea r8, str.Loading_symbol:__s_n
mov rbx, qword [rdi + 0x2a8]
mov rcx, rbp
mov edx, 4
call fcn.140002080
lea rdx, str.RegCloseKey
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x140014e98
lea r9, str.RegCloseKey
mov rcx, rbp
lea r8, str.Failed_to_load_symbol:__s_n
lea edx, [rax + 2]
call fcn.140002080
mov rbp, qword [rsi]
lea r9, str.RegQueryValueExA
mov qword [rdi + 0x2b8], rbx
lea r8, str.Loading_symbol:__s_n
mov rbx, qword [rdi + 0x2a8]
mov rcx, rbp
mov edx, 4
call fcn.140002080
lea rdx, str.RegQueryValueExA
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x140014ef5
lea r9, str.RegQueryValueExA
mov rcx, rbp
lea r8, str.Failed_to_load_symbol:__s_n
lea edx, [rax + 2]
call fcn.140002080
mov rbp, qword [rsi]
lea r9, str.ole32.dll
mov rcx, rbp
mov qword [rdi + 0x2c0], rbx
lea r8, str.Loading_library:__s_n
mov edx, 4
call fcn.140002080
lea rcx, str.ole32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
test rax, rax
jne 0x140014f59
lea r9, str.ole32.dll
mov rcx, rbp
lea r8, str.Failed_to_load_library:__s_n
lea edx, [rax + 3]
call fcn.140002080
mov eax, 0xfffffe70
mov qword [rdi + 0x250], rbx
jmp 0x140015206
mov rbp, qword [rsi]
lea r9, str.CoInitialize
mov rcx, rbp
mov qword [rdi + 0x250], rbx
lea r8, str.Loading_symbol:__s_n
mov edx, 4
call fcn.140002080
lea rdx, str.CoInitialize
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x140014faf
lea r9, str.CoInitialize
mov rcx, rbp
lea r8, str.Failed_to_load_symbol:__s_n
lea edx, [rax + 2]
call fcn.140002080
mov rbp, qword [rsi]
lea r9, str.CoInitializeEx
mov qword [rdi + 0x258], rbx
lea r8, str.Loading_symbol:__s_n
mov rbx, qword [rdi + 0x250]
mov rcx, rbp
mov edx, 4
call fcn.140002080
lea rdx, str.CoInitializeEx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x14001500c
lea r9, str.CoInitializeEx
mov rcx, rbp
lea r8, str.Failed_to_load_symbol:__s_n
lea edx, [rax + 2]
call fcn.140002080
mov rbp, qword [rsi]
lea r9, str.CoUninitialize
mov qword [rdi + 0x260], rbx
lea r8, str.Loading_symbol:__s_n
mov rbx, qword [rdi + 0x250]
mov rcx, rbp
mov edx, 4
call fcn.140002080
lea rdx, str.CoUninitialize
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x140015069
lea r9, str.CoUninitialize
mov rcx, rbp
lea r8, str.Failed_to_load_symbol:__s_n
lea edx, [rax + 2]
call fcn.140002080
mov rbp, qword [rsi]
lea r9, str.CoCreateInstance
mov qword [rdi + 0x268], rbx
lea r8, str.Loading_symbol:__s_n
mov rbx, qword [rdi + 0x250]
mov rcx, rbp
mov edx, 4
call fcn.140002080
lea rdx, str.CoCreateInstance
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x1400150c6
lea r9, str.CoCreateInstance
mov rcx, rbp
lea r8, str.Failed_to_load_symbol:__s_n
lea edx, [rax + 2]
call fcn.140002080
mov rbp, qword [rsi]
lea r9, str.CoTaskMemFree
mov qword [rdi + 0x270], rbx
lea r8, str.Loading_symbol:__s_n
mov rbx, qword [rdi + 0x250]
mov rcx, rbp
mov edx, 4
call fcn.140002080
lea rdx, str.CoTaskMemFree
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x140015123
lea r9, str.CoTaskMemFree
mov rcx, rbp
lea r8, str.Failed_to_load_symbol:__s_n
lea edx, [rax + 2]
call fcn.140002080
mov rbp, qword [rsi]
lea r9, str.PropVariantClear
mov qword [rdi + 0x278], rbx
lea r8, str.Loading_symbol:__s_n
mov rbx, qword [rdi + 0x250]
mov rcx, rbp
mov edx, 4
call fcn.140002080
lea rdx, str.PropVariantClear
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x140015180
lea r9, str.PropVariantClear
mov rcx, rbp
lea r8, str.Failed_to_load_symbol:__s_n
lea edx, [rax + 2]
call fcn.140002080
mov rsi, qword [rsi]
lea r9, str.StringFromGUID2
mov qword [rdi + 0x280], rbx
lea r8, str.Loading_symbol:__s_n
mov rbx, qword [rdi + 0x250]
mov rcx, rsi
mov edx, 4
call fcn.140002080
lea rdx, str.StringFromGUID2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x1400151dd
lea r9, str.StringFromGUID2
mov rcx, rsi
lea r8, str.Failed_to_load_symbol:__s_n
lea edx, [rax + 2]
call fcn.140002080
mov rax, qword [rdi + 0x260]
xor ecx, ecx
mov qword [rdi + 0x288], rbx
test rax, rax
je 0x1400151f8
xor edx, edx
call rax
jmp 0x1400151fe
call qword [rdi + 0x258]
mov dword [rdi + 0x2c8], eax
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret