Function at 0x180003ee0
Capabilities:
Get common file path
Log keystrokes via polling
Monitor clipboard content
Set uefi variable
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x40
cmp dword [rcx + 0x18], 0
mov rbx, rcx
jne 0x18000414d
call fcn.18004e4b8
mov r9d, eax
mov eax, 0x55555556
imul r9d
mov r8d, edx
shr r8d, 0x1f
add edx, r8d
lea ecx, [rdx + rdx*2]
sub r9d, ecx
mov ecx, 1
inc r9d
mov dword [rbx + 0x18], r9d
call fcn.1800485e0
mov edx, dword [rbx + 0x18]
mov rdi, rax
sub edx, 1
je 0x180004129
sub edx, 1
je 0x180003f60
cmp edx, 1
jne 0x180004140
mov edx, 0x3ec0
mov rcx, rax
call fcn.180005750
mov qword [rbx + 0x10], rax
jmp 0x180004140
mov r8d, 0x1c7c
nop word [rax + rax]
inc r8d
mov eax, 0x55555556
imul r8d
mov eax, edx
shr eax, 0x1f
add edx, eax
lea ecx, [rdx + rdx*2]
cmp r8d, ecx
jne 0x180003f70
lea r10d, [r8 - 0x2702]
mov r9d, 0x11c6
mov r11d, r10d
nop word [rax + rax]
inc r9d
mov eax, 0x55555556
imul r9d
mov eax, edx
shr eax, 0x1f
add edx, eax
lea ecx, [rdx + rdx*2]
cmp r9d, ecx
jne 0x180003fa0
lea r8d, [r9 + 0x21dc]
mov eax, 0x55555556
imul r8d
mov ecx, r8d
mov esi, 0xffffeead
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
mov edx, 0xffff91a6
sub ecx, eax
mov eax, 0x26a5
cmove esi, eax
mov eax, 0xffffc99e
add esi, r8d
test ecx, ecx
mov ecx, esi
cmove edx, eax
sub ecx, r10d
add edx, r9d
mov eax, 0x55555556
add edx, r8d
sub r11d, edx
add ecx, edx
add ecx, r9d
lea r10d, [r11 - 0x25e3]
add r10d, esi
lea ecx, [rcx*2 + 0x3600]
imul r10d
mov r11d, r10d
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
sub r11d, eax
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea edx, [rdx + rdx*2]
cmp ecx, edx
je 0x18000404e
add ecx, 0x9c0
add ecx, 0x63b
mov edx, 0xbe78
test r11d, r11d
mov eax, 0xe276
mov r9d, 0xa841
cmove eax, edx
lea edx, [rax - 0x1efc]
mov eax, 0x80e5
sub eax, ecx
add edx, r10d
add edx, eax
mov eax, 0x23fc
sub eax, ecx
sub ecx, edx
add eax, 0x3d81
lea r8d, [rdx - 0x878f]
mov edx, 0x8443
add r8d, eax
test r11d, r11d
cmove r9d, edx
add r9d, r10d
lea r10d, [rsi + rsi]
sub r10d, eax
add r9d, r8d
mov eax, 0x55555556
sub r10d, 0x1161
imul ecx
add r8d, r8d
mov eax, edx
shr eax, 0x1f
add edx, eax
lea edx, [rdx + rdx*2]
cmp ecx, edx
je 0x1800040e7
nop dword [rax]
inc ecx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea edx, [rdx + rdx*2]
cmp ecx, edx
jne 0x1800040d0
cmp ecx, 0xffff8371
jne 0x18000411d
cmp r8d, 0xacfe
jne 0x18000411d
cmp r10d, 0x4315
jne 0x18000411d
cmp r9d, 0x11998
jne 0x18000411d
mov edx, 0x3ec0
mov rcx, rdi
call fcn.180005750
mov qword [rbx + 8], rax
jmp 0x180004140
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov edx, 0x3ec0
mov rcx, rdi
call fcn.180005750
mov qword [rbx], rax
nop dword [rax]
mov edx, 1
mov rcx, rdi
call fcn.1800484f4
mov edx, dword [0x1800d34f0]
xor esi, esi
cmp edx, 0xf55fa78b
jne 0x18000423b
mov dword [rsp + 0x28], esi
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rsi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_OpenFileById]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_InvalidateRect]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_MonitorFromRect]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EnterSynchronizationBarrier]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SwitchToFiber]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetEvent]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetWindowRgn]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDynamicTimeZoneInformation]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_RegisterHotKey]
xor r9d, r9d
mov dword [rsp + 0x20], esi
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetFirmwareEnvironmentVariableExW]
xor ecx, ecx
call qword [sym.imp.USER32.dll_ArrangeIconicWindows]
xor ecx, ecx
call qword [sym.imp.USER32.dll_CloseDesktop]
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetTabbedTextExtentW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetNumaProximityNodeEx]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_RtlCaptureStackBackTrace]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetSystemTimes]
xor ecx, ecx
call qword [sym.imp.USER32.dll_SetCursor]
mov edx, dword [0x1800d34f0]
mov ecx, dword [rbx + 0x18]
mov rdi, rsi
sub ecx, 1
je 0x18000425c
sub ecx, 1
je 0x180004256
cmp ecx, 1
jne 0x18000425f
mov rdi, qword [rbx + 0x10]
jmp 0x18000425f
mov rdi, qword [rbx + 8]
jmp 0x18000425f
mov rdi, qword [rbx]
cmp edx, 0x1020a897
jne 0x180004368
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetThreadSelectorEntry]
call qword [sym.imp.KERNEL32.dll_IsThreadAFiber]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
xor ecx, ecx
call qword [sym.imp.USER32.dll_IsCharLowerW]
xor ecx, ecx
call qword [sym.imp.USER32.dll_AddClipboardFormatListener]
xor r9d, r9d
mov dword [rsp + 0x20], esi
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_SetRect]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ReleaseMutexWhenCallbackReturns]
xor ecx, ecx
call qword [sym.imp.USER32.dll_EndDeferWindowPos]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FlushInstructionCache]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ConvertDefaultLocale]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_lstrcpynW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WaitForThreadpoolWorkCallbacks]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapQueryInformation]
xor r9d, r9d
mov qword [rsp + 0x28], rsi
xor r8d, r8d
mov dword [rsp + 0x20], esi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_CreateDesktopW]
mov qword [rsp + 0x30], rsi
xor r9d, r9d
mov dword [rsp + 0x28], esi
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rsi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_SetMenuItemInfoW]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardState]
xor ecx, ecx
call qword [sym.imp.USER32.dll_DdeDisconnect]
mov rbx, qword [rsp + 0x50]
mov rax, rdi
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret