Function at 0x140085620
Capabilities:
Check mutex on windows

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x68]
sub rsp, 0x140
mov qword [rbp - 0x68], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1403b8c08]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov rdi, rdx
mov rsi, rcx
mov qword [rbp - 0x60], rcx
call fcn.1400f5a30
nop
lea rbx, [rsi + 0x28]
mov qword [rsp + 0x30], rbx
lea rax, vtable.DuiLib::CNotifyPump.0
mov qword [rbx], rax
lea rcx, [rbx + 8]
mov edx, 0x53
call fcn.1400ecb60
nop
lea rax, vtable.DuiLib::WindowImplBase.0
mov qword [rsi], rax
lea rax, vtable.DuiLib::WindowImplBase.1.0
mov qword [rbx], rax
lea rax, vtable.DuiLib::WindowImplBase.2.0
mov qword [rsi + 0x40], rax
lea rax, vtable.DuiLib::WindowImplBase.3.0
mov qword [rsi + 0x48], rax
lea rax, vtable.DuiLib::WindowImplBase.4.0
mov qword [rsi + 0x50], rax
lea rcx, [rsi + 0x58]
call fcn.1400ee4b0
nop
lea rax, vtable.CMainWnd.0
mov qword [rsi], rax
lea rax, vtable.CMainWnd.1.0
mov qword [rbx], rax
lea rax, vtable.CMainWnd.2.0
mov qword [rsi + 0x40], rax
lea rax, vtable.CMainWnd.3.0
mov qword [rsi + 0x48], rax
lea rax, vtable.CMainWnd.4.0
mov qword [rsi + 0x50], rax
lea rax, vtable.CMainWnd.5.0
mov qword [rsi + 0x418], rax
lea rax, vtable.CMainWnd.6.0
mov qword [rsi + 0x420], rax
lea rax, vtable.CMainWnd.7.0
mov qword [rsi + 0x428], rax
lea rax, vtable.CMainWnd.8.0
mov qword [rsi + 0x430], rax
xor r14d, r14d
mov dword [rsi + 0x438], r14d
mov qword [rsi + 0x440], r14
mov qword [rsi + 0x448], r14
mov qword [rsi + 0x450], r14
mov qword [rsi + 0x458], r14
mov qword [rsi + 0x460], r14
mov qword [rsi + 0x468], r14
mov qword [rsi + 0x470], r14
mov qword [rsi + 0x478], r14
mov qword [rsi + 0x480], r14
mov qword [rsi + 0x488], r14
mov qword [rsi + 0x490], r14
mov qword [rsi + 0x498], r14
mov qword [rsi + 0x4a0], r14
mov qword [rsi + 0x4a8], r14
mov qword [rsi + 0x4b8], r14
mov qword [rsi + 0x4c0], r14
mov qword [rsi + 0x4c8], r14
mov qword [rsi + 0x4d0], r14
mov qword [rsi + 0x4d8], r14
mov qword [rsi + 0x4e0], r14
mov qword [rsi + 0x4e8], r14
mov qword [rsi + 0x4f8], r14
mov qword [rsi + 0x500], r14
mov qword [rsi + 0x508], r14
mov qword [rsi + 0x510], r14
mov qword [rsi + 0x518], r14
mov qword [rsi + 0x520], r14
mov qword [rsi + 0x528], r14
mov qword [rsi + 0x530], r14
mov qword [rsi + 0x538], r14
mov qword [rsi + 0x540], r14
mov qword [rsi + 0x548], r14
mov qword [rsi + 0x550], r14
mov qword [rsi + 0x558], r14
mov dword [rsi + 0x560], 1
mov qword [rsi + 0x570], r14
mov qword [rsi + 0x578], r14
lea rcx, [rsi + 0x580]
call fcn.140082bf0
nop
mov qword [rsi + 0x5e0], r14
mov qword [rsi + 0x5e8], r14
mov qword [rsi + 0x5f0], r14
mov qword [rsi + 0x5f8], r14
mov qword [rsi + 0x600], r14
mov qword [rsi + 0x608], r14
mov qword [rsi + 0x610], r14
lea rcx, [rsi + 0x618]
call fcn.14009d9f0
nop
lea rcx, [rsi + 0x650]
call fcn.1400d3a30
nop
mov qword [rsi + 0x6c0], rdi
mov dword [rsi + 0x6d0], r14d
mov dword [rsi + 0x6d4], 0x3f800000
mov byte [rsi + 0x6d8], r14b
mov qword [rsi + 0x6dc], r14
mov qword [rsi + 0x6e4], r14
lea rdi, [rsi + 0x6f0]
mov qword [rdi], r14
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r14
mov qword [rsi + 0x708], r14
mov qword [rsi + 0x710], r14
lea rbx, [rsi + 0x718]
mov qword [rsp + 0x30], rbx
lea r8, str.HaloUserDataShareMutex
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [rbx], rax
mov qword [rbx + 8], r14
mov edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x1400859bc
lea r8, str.HaloUserDataShareMemory
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingW]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x140085971
lea rax, str.HaloUserDataShareMemory
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x108
xor r9d, r9d
xor edx, edx
lea rcx, [rdx - 1]
lea r8d, [r14 + 4]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov qword [rbx + 0x10], rax
mov r14b, 1
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1400859b0
xor eax, eax
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rbx + 8], rax
test rax, rax
je 0x1400859b0
test r14b, r14b
je 0x1400859b0
xor edx, edx
mov r8d, 0x108
mov rcx, rax
call fcn.140289490
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
xor r14d, r14d
lea rcx, str.User32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400859ef
lea rdx, str.ChangeWindowMessageFilter
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400859ef
mov edx, 1
mov ecx, 0x69a
call rax
mov qword [rbx + 0x18], r14
mov qword [rbx + 0x20], r14
mov qword [rbx + 0x28], r14
lea rcx, [rsi + 0x748]
call fcn.140025e30
nop
mov byte [rsi + 0x7d0], 0
lea rbx, [rsi + 0x7d8]
mov qword [rsp + 0x30], rbx
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov rcx, rbx
call fcn.140083000
mov qword [rbx], rax
mov qword [rsi + 0x7e8], r14
mov qword [rsi + 0x7f0], r14
mov qword [rsi + 0x7f8], r14
lea rcx, [rsi + 0x800]
call fcn.14009fc30
nop
mov dword [rsi + 0xcf8], r14d
call fcn.14000b190
mov rcx, rax
test rax, rax
je 0x140085d4b
mov rax, qword [rax]
call qword [rax + SafeArrayCopy]
add rax, 0x18
mov qword [rsi + 0xd00], rax
mov qword [rsi + 0xd08], r14
mov qword [rsi + 0xd10], r14
lea rcx, [rsi + 0xd18]
call fcn.14009abf0
nop
mov byte [rsi + 0xd20], 1
call fcn.1400666d0
mov rcx, rax
call fcn.140079520
mov dword [rsi + 0x568], eax
call fcn.1400666d0
mov rcx, rax
call fcn.140079550
mov dword [rsi + 0x564], eax
xor eax, eax
mov qword [rsi + 0x6c8], rax
call fcn.1400ffb70
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x1402fab88]
cvtpd2ps xmm0, xmm0
movss dword [rsi + 0x6d4], xmm0
xor r9d, r9d
lea r8, [rsi + 0x6dc]
xor edx, edx
lea ecx, [rdx + 0x30]
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
lea rcx, [rsp + 0x38]
call fcn.1400d05e0
mov rbx, rax
cmp rdi, rax
je 0x140085b3e
mov rcx, rdi
call fcn.140028b60
mov rax, qword [rbx]
mov qword [rdi], rax
mov rax, qword [rbx + 8]
mov qword [rdi + 8], rax
mov rax, qword [rbx + 0x10]
mov qword [rdi + 0x10], rax
xor edi, edi
mov qword [rbx], rdi
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], rdi
jmp 0x140085b40
xor edi, edi
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140085b80
mov rdx, qword [rsp + 0x48]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x140085b7b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140085d45
call fcn.140171af0
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
lea rax, [0x14008c5e0]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x40], edi
lea rax, vtable.std::_Func_impl_no_alloc_class_std::_Binder_struct_std::_Unforced__void_____thiscall_CMainWnd::__enum_CloudErrorType___class_CMainWnd____ptr64__struct_std::_Ph_1__const____ptr64___void__enum_CloudErrorType_.0
mov qword [rsp + 0x58], rax
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rsp + 0x60], xmm0
movzx eax, byte [rsp + 0x48]
mov byte [rsp + 0x70], al
mov qword [rsp + 0x78], rsi
lea rax, [rsp + 0x58]
mov qword [rbp - 0x70], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
call fcn.1400b9e40
nop
lea rbx, [rax + 0xa0]
mov qword [rbp - 0x18], rdi
mov rcx, rdi
mov r8, qword [rbp - 0x70]
test r8, r8
je 0x140085c01
mov rax, qword [r8]
lea rdx, [rbp - 0x50]
mov rcx, r8
call qword [rax]
mov rcx, rax
mov qword [rbp - 0x18], rax
lea rax, [rbp - 0x50]
cmp rcx, rax
je 0x140085c1d
mov r8, qword [rbx + 0x38]
cmp r8, rbx
je 0x140085c1d
mov qword [rbp - 0x18], r8
mov qword [rbx + 0x38], rcx
jmp 0x140085c95
mov qword [rbp + 0x28], rdi
test rcx, rcx
je 0x140085c60
lea rax, [rbp - 0x50]
cmp rcx, rax
jne 0x140085c58
mov rax, qword [rcx]
lea rdx, [rbp - 0x10]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rbp + 0x28], rax
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x140085c60
mov rax, qword [rcx]
lea rdx, [rbp - 0x50]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
jmp 0x140085c5c
mov qword [rbp + 0x28], rcx
mov qword [rbp - 0x18], rdi
mov rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.140035600
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.140035600
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x140085c91
mov rax, qword [rcx]
lea rdx, [rbp - 0x10]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov r8, qword [rbp - 0x18]
test r8, r8
je 0x140085cae
mov rax, qword [r8]
lea rcx, [rbp - 0x50]
cmp r8, rcx
setne dl
mov rcx, r8
call qword [rax + 0x20]
nop
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140085cc8
mov rax, qword [rcx]
lea rdx, [rsp + 0x58]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
call fcn.1400b9bf0
mov rcx, rax
lea r8, [rsi + 0x430]
mov edx, 0x3e8
call fcn.140094720
call fcn.1400b9bf0
mov rcx, rax
lea r8, [rsi + 0x430]
mov edx, 0x7d0
call fcn.140094720
lea r8, [rsi + 0x428]
lea rdx, str..PIPED708D9C3_BAD7_4E09_84B0_28F9A5A33434
lea rcx, [rsi + 0xd18]
call fcn.14009ada0
nop
mov rax, rsi
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.140172190
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14028c66c
nop
mov ecx, 0x80004005
call fcn.14000adf0
int3