Function at 0x1400a0d50
Capabilities:
Check mutex on windows
Link many functions at runtime
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x1d8]
sub rsp, 0x2d0
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x14047b0a0]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
lea r8, str.Local7ACB02D0_75EA_4DE0_A03B_F8D46C28BC5B
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [0x140492ba8], rax
test rax, rax
je 0x1400a0db9
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x1400a1419
call fcn.1400a19c0
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x50]
call fcn.1402dd440
mov r8d, 0x104
lea rdx, [rbp - 0x50]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rcx, [rbp - 0x50]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea rdx, str.cacert.pem
lea rcx, [rbp - 0x50]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
movdqa xmm0, xmmword [0x140415690]
movdqu xmmword [rsp + 0x58], xmm0
xor esi, esi
mov word [rsp + 0x48], si
lea rax, [rbp - 0x50]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop
inc r8
cmp word [rax + r8*2], si
jne 0x1400a0e20
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x48]
call fcn.14007ece0
nop
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x78]
call fcn.14007eaa0
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.1401389b0
nop
lea rcx, [rsp + 0x48]
call fcn.14007ec70
nop
lea rdx, [rsp + 0x68]
mov ecx, 3
call fcn.14019a020
nop
lea rcx, [rsp + 0x68]
call fcn.14007ea30
call fcn.1400a34a0
mov rcx, qword [rax]
add rcx, 8
call fcn.14007fce0
xor ecx, ecx
call qword [sym.imp.ole32.dll_OleInitialize]
call fcn.1400a1700
call fcn.1400ffc70
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x140492fec], eax
jle 0x1400a0ee6
lea rcx, [0x140492fec]
call fcn.1401af53c
cmp dword [0x140492fec], 0xffffffff
jne 0x1400a0ee6
lea rcx, [0x140364170]
call fcn.1401af30c
lea rcx, [0x140492fec]
call fcn.1401af4dc
xor r9d, r9d
xor edx, edx
xor ecx, ecx
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [0x1404929c0], rax
movdqa xmm0, xmmword [0x140415690]
movdqu xmmword [rsp + 0x58], xmm0
mov word [rsp + 0x48], si
mov r8d, ILCombine
lea rdx, str.STRID_DESK_CRASH_CAPTION
lea rcx, [rsp + 0x48]
call fcn.14007ece0
nop
call fcn.140148580
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x68]
mov rcx, rax
call fcn.140148c00
nop
lea rcx, [rsp + 0x48]
call fcn.14007ec70
nop
lea rdi, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rdi, qword [rsp + 0x68]
movdqa xmm0, xmmword [0x140415690]
movdqu xmmword [rsp + 0x58], xmm0
mov word [rsp + 0x48], si
mov r8d, reloc.WS2_32.dll_setsockopt
lea rdx, str.STRID_DESK_CRASH_TEXT
lea rcx, [rsp + 0x48]
call fcn.14007ece0
nop
call fcn.140148580
lea r8, [rsp + 0x48]
lea rdx, [rbp - 0x78]
mov rcx, rax
call fcn.140148c00
nop
lea rcx, [rsp + 0x48]
call fcn.14007ec70
nop
lea rdx, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
jb 0x1400a0fbd
mov rdx, qword [rbp - 0x78]
test rdx, rdx
je 0x1400a0fd7
mov r8, rbx
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400a0fc0
lea rcx, [0x140481c60]
call fcn.14007ece0
test rdi, rdi
je 0x1400a0ffd
nop dword [rax]
inc rbx
cmp word [rdi + rbx*2], 0
jne 0x1400a0fe0
mov r8, rbx
mov rdx, rdi
lea rcx, [0x140481c80]
call fcn.14007ece0
nop
lea rcx, [rbp - 0x78]
call fcn.14007ec70
nop
lea rcx, [rsp + 0x68]
call fcn.14007ec70
call fcn.1400a1d00
test al, al
je 0x1400a1419
call fcn.1400a3380
mov rcx, qword [rax]
call fcn.1400ae450
xor edx, edx
mov r8d, VarUI4FromDisp
lea rcx, [rbp - 0x4c]
call fcn.1402dd440
mov dword [rbp - 0x50], VarUI4FromDisp
lea rcx, [rbp - 0x50]
call fcn.140135c30
test al, al
je 0x1400a10e2
cmp dword [rbp - 0x4c], 5
jne 0x1400a10e2
cmp dword [rbp - 0x48], 1
jb 0x1400a10e2
movdqa xmm0, xmmword [0x140415690]
movdqu xmmword [rsp + 0x58], xmm0
mov word [rsp + 0x48], si
lea r9, [rsp + 0x48]
lea r8, str.Shell_Icon_Size
lea rdx, str.Control_PanelDesktopWindowMetrics
call fcn.140136c90
lea rcx, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae rcx, qword [rsp + 0x48]
call fcn.1402e6604
mov dword [0x140492afc], eax
lea rcx, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae rcx, qword [rsp + 0x48]
call fcn.1402e6604
mov dword [0x140492b00], eax
lea rcx, [rsp + 0x48]
call fcn.14007ec70
mov eax, dword [0x140492b00]
mov ecx, dword [0x140492afc]
jmp 0x1400a117b
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x50], esi
mov qword [rsp + 0x58], rsi
mov r9d, 0x20019
lea r8, str.SOFTWAREMicrosoftWindowsShellBags1Desktop
mov rdx, 0xffffffff80000001
lea rcx, [rsp + 0x48]
call fcn.1400a5930
test eax, eax
jne 0x1400a1159
mov dword [rsp + 0x34], 4
lea rax, [rsp + 0x34]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x38]
xor r8d, r8d
lea rdx, str.IconSize
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test rbx, rbx
je 0x1400a1169
mov rcx, rbx
jmp 0x1400a1163
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x1400a1169
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [rsp + 0x30]
mov ecx, eax
mov dword [0x140492afc], eax
mov dword [0x140492b00], eax
test ecx, ecx
jle 0x1400a1183
test eax, eax
jg 0x1400a11de
xor edx, edx
mov r8d, VarUI4FromDisp
lea rcx, [rbp - 0x4c]
call fcn.1402dd440
mov dword [rbp - 0x50], VarUI4FromDisp
lea rcx, [rbp - 0x50]
call fcn.140135c30
test al, al
je 0x1400a11ca
cmp dword [rbp - 0x4c], 5
jne 0x1400a11ca
cmp dword [rbp - 0x48], 1
jb 0x1400a11ca
mov dword [0x140492afc], 0x10
mov dword [0x140492b00], 0x10
jmp 0x1400a11de
mov dword [0x140492afc], 0x30
mov dword [0x140492b00], 0x30
call fcn.1400a3260
mov rbx, qword [rax]
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.RtlGetNtVersionNumbers
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 8], rax
test rax, rax
je 0x1400a133b
mov dword [rsp + 0x34], esi
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], esi
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x34]
call rax
mov eax, dword [rsp + 0x30]
and eax, 0xfffffff
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x34], 0xa
jb 0x1400a133b
cmp eax, dword [rbx + 0x4c]
jb 0x1400a133b
xor edx, edx
mov r8d, 0xc00
lea rcx, [0x140403650]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rdi, rax
test rax, rax
je 0x1400a133b
mov edx, 0x87
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [rbx + 0x50]
cmp dword [rsp + 0x30], ecx
jae 0x1400a128c
mov qword [rbx + 0x20], rax
jmp 0x1400a1290
mov qword [rbx + 0x38], rax
mov edx, Ordinal_133
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x10], rax
mov edx, reloc.WLDAP32.dll_Ordinal_133
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x18], rax
lea rdx, str.SetWindowTheme
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x40], rax
mov edx, 0x88
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x28], rax
mov edx, 0x68
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x30], rax
cmp qword [rbx + 0x10], 0
je 0x1400a133b
cmp qword [rbx + 0x18], 0
je 0x1400a133b
mov rdx, qword [rbx + 0x20]
test rdx, rdx
jne 0x1400a1309
cmp qword [rbx + 0x38], rdx
je 0x1400a133b
cmp qword [rbx + 0x28], 0
je 0x1400a133b
cmp qword [rbx + 0x40], 0
je 0x1400a133b
test rax, rax
je 0x1400a133b
mov byte [rbx + 0x48], 1
test rdx, rdx
je 0x1400a132b
mov cl, 1
call rdx
jmp 0x1400a133b
mov rax, qword [rbx + 0x38]
test rax, rax
je 0x1400a133b
mov ecx, 1
call rax
mov rcx, qword [0x140492af0]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x1400a14d1
mov qword [0x140492af0], rsi
lea rdx, [0x14048e4d0]
mov ecx, 0x258
call fcn.1401af050
mov rbx, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1400a13be
mov rcx, rax
call fcn.14011a790
lea rax, vtable.desk_wnd.1.0
mov qword [rbx], rax
lea rax, vtable.desk_wnd.0
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x238], rsi
mov qword [rbx + 0x240], rsi
mov qword [rbx + 0x248], rsi
mov byte [rbx + 0x250], 0
lea rax, str._cls_desk_
mov qword [str._cls_xhost_], rax
jmp 0x1400a13c1
mov rbx, rsi
mov rcx, rbx
call fcn.140105ef0
test rax, rax
jne 0x1400a1443
call fcn.1400a34a0
mov rbx, qword [rax]
movdqa xmm0, xmmword [0x140415690]
movdqu xmmword [rsp + 0x78], xmm0
mov word [rsp + 0x68], si
mov r8d, 5
lea rdx, str.cdesk
lea rcx, [rsp + 0x68]
call fcn.14007ece0
nop
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.14007d180
nop
lea rcx, [rsp + 0x68]
call fcn.14007ec70
xor al, al
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.1401aed20
lea r11, [rsp + 0x2d0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
lea rdx, [0x140492b28]
lea rcx, [rsp + 0x68]
call fcn.14007eaa0
lea rdx, str.setup
lea rcx, [rsp + 0x68]
call fcn.14007eba0
movzx ebx, al
lea rcx, [rsp + 0x68]
call fcn.14007ec70
test bl, bl
je 0x1400a14d1
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
mov qword [rsp + 0x38], rsi
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea r9, [0x14040b110]
xor edx, edx
lea r8d, [rdx + 0x17]
lea rcx, [0x1403668d0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400a14ba
mov rax, qword [rcx]
call qword [rax + 0x148]
call qword [sym.imp.ole32.dll_CoUninitialize]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400a14d1
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov al, 1
jmp 0x1400a141b