Function at 0x1400013f0
Capabilities:
Check mutex on windows

Disassembly:
push rdi
mov eax, 0x1240
call fcn.140036640
sub rsp, rax
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rsp + 0x1250], rbx
mov rax, qword [0x1400e44d0]
xor rax, rsp
mov qword [rsp + 0x1230], rax
mov rbx, rcx
lea r8, str.LocalPrismGuard
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
mov qword [rsp + 0x38], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x14000145c
lea rcx, [rsp + 0x38]
call fcn.140001a20
xor eax, eax
jmp 0x1400017bc
mov qword [0x1400e8130], rbx
mov dword [rsp + 0x20], 1
xor r9d, r9d
lea r8, str.shellfolder
xor edx, edx
xor ecx, ecx
call fcn.140022d00
mov rdx, rax
call fcn.140001c70
cmp qword [0x1400e82b0], 0
jne 0x1400014f7
xor edx, edx
mov r8d, 0x104
lea rcx, [rsp + 0x1120]
call fcn.140037fb0
xor r9d, r9d
mov edx, 0x104
lea r8d, [r9 + 1]
lea rcx, [rsp + 0x1120]
call fcn.140023540
test eax, eax
je 0x1400014f7
cmp byte [rsp + 0x1120], 0
je 0x1400014f7
mov dword [rsp + 0x20], 1
xor r9d, r9d
lea r8, [rsp + 0x1120]
lea rdx, str.shellfolder
lea ecx, [r9 + 4]
call fcn.140022960
mov rdx, rax
call fcn.140001c70
mov rcx, qword [0x1400e82b0]
mov rax, qword [rcx]
or edx, 0xffffffff
call qword [rax + 0x18]
xor eax, eax
mov qword [rsp + 0x10c0], rax
mov qword [rsp + 0x10c8], rax
mov qword [rsp + 0x10d0], rax
mov qword [rsp + 0x10d8], rax
mov rax, qword [0x1400e82b0]
mov r8, qword [rax + 0xb0]
add r8, 0x134
or r9, 0xffffffffffffffff
inc r9
cmp byte [r8 + r9], 0
jne 0x140001542
lea rcx, [rsp + 0x10e0]
call fcn.140006030
nop
xor edi, edi
mov qword [rsp + 0x10d0], rdi
mov qword [rsp + 0x10d8], rdi
mov qword [rsp + 0x10d8], 0xf
mov qword [rsp + 0x10d0], rdi
mov byte [rsp + 0x10c0], dil
mov rbx, qword [0x1400e82b0]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov r9d, eax
mov rax, qword [rbx + 0xb0]
lea r8, [rsp + 0x10c0]
lea rdx, [rsp + 0x10e0]
mov ecx, dword [rax + 8]
call fcn.1400041f0
nop
lea rcx, [rsp + 0x10c0]
call fcn.140001a90
nop
lea rcx, [rsp + 0x10e0]
call fcn.140001a90
lea rax, [rsp + 0x10e0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x1118], rdi
lea rax, [rsp + 0x10e0]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x10e0]
mov qword [rsp + 0x60], rax
lea rax, method.std::_Facet_base.virtual_8
mov qword [rsp + 0x10e0], rax
lea rax, [0x1400c15b0]
mov qword [rsp + 0x10e0], rax
lea rax, [0x1400017e0]
mov qword [rsp + 0x10e8], rax
lea rax, [rsp + 0x10e0]
mov qword [rsp + 0x1118], rax
lea rcx, [rsp + 0x10e0]
call fcn.140008d30
mov edx, 0xfa
lea rcx, [rsp + 0x40]
call fcn.140001d10
nop
mov rax, qword [0x1400e82b0]
mov rcx, qword [rax + 0xb0]
add rcx, 0x2e10
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
call fcn.1400018f0
nop
lea rcx, [rsp + 0x30]
call fcn.140001970
mov rcx, qword [0x1400e81a0]
test rcx, rcx
je 0x1400016f1
lea rdx, str.QueueMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x1400016e8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, str.QueueMemory
lea rdx, str.Could_not_retrieve_function_pointer_for__s___i_.
lea rcx, [rsp + 0xa0]
call fcn.140008bd0
lea rdx, [0x1400e1b88]
lea rcx, [rsp + 0xa0]
call fcn.140037734
int3
mov ecx, 0x23145623
call rax
jmp 0x14000175d
call fcn.140004160
mov rbx, rax
lea rdx, str.COMMON
lea rcx, [rsp + 0x10e0]
call fcn.140005910
nop
mov rdi, qword [0x1400e82b0]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rdi + 0xb0]
add rcx, 0x2e10
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r9, str.Unable_to_load_recorder_DLL__s_0x_x___
lea r8, [rsp + 0x10e0]
mov edx, 1
mov rcx, rbx
call fcn.1400028f0
nop
lea rcx, [rsp + 0x10e0]
call fcn.140001a90
nop
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x1400017a1
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_DispatchMessageW]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jne 0x140001774
mov ebx, dword [rsp + 0x78]
lea rcx, [rsp + 0x40]
call fcn.140001860
nop
lea rcx, [rsp + 0x38]
call fcn.140001a20
mov eax, ebx
mov rcx, qword [rsp + 0x1230]
xor rcx, rsp
call fcn.140035b70
mov rbx, qword [rsp + 0x1250]
add rsp, 0x1240
pop rdi
ret