Function at 0x140006e50
Capabilities:
Check mutex on windows
Create thread

Disassembly:
mov rax, rsp
push r14
sub rsp, 0x100
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rbp, rcx
mov rdi, r8
lea rax, str.WinMain___Start
lea r8, str.MCUMS
lea rcx, str.IntelWiDiUMS.cpp
mov r9d, 6
mov edx, 0x3d3
mov qword [rsp + 0x20], rax
call fcn.1400044f0
lea r8, str.Global38CD7AA6_0119_4D26_9717_B80FFFDB147E
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov r14, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.140006ce0
mov r9d, 6
lea r8, str.MCUMS
lea rcx, str.IntelWiDiUMS.cpp
mov esi, eax
cmp ebx, 0xb7
je 0x140006ee9
lea rax, str.WinMain___UMS_is_not_running__so_anyways_launch__
mov edx, 0x3de
jmp 0x140006f56
lea rax, str.WinMain___UMS_is_already_running
mov edx, 0x3e2
mov qword [rsp + 0x20], rax
call fcn.1400044f0
cmp esi, 1
jne 0x140006f31
lea rax, str.WinMain___WiDiApp_is_running_too._so_just_exit_current_UMS_process_which_is_launched_by_GFX
lea r9d, [rsi + 5]
lea r8, str.MCUMS
lea rcx, str.IntelWiDiUMS.cpp
mov edx, 0x3e6
mov qword [rsp + 0x20], rax
call fcn.1400044f0
jmp 0x14000739d
call fcn.1400075f0
lea rax, str.WinMain___UMS_process_is_already_running__so_terminated_old_one_and_start
mov r9d, 6
lea r8, str.MCUMS
mov edx, 0x3ec
lea rcx, str.IntelWiDiUMS.cpp
mov qword [rsp + 0x20], rax
call fcn.1400044f0
lea rdx, str.38CD7AA6_0119_4D26_9717_B80FFFDB147E
mov rcx, rdi
call fcn.140010e40
test eax, eax
jne 0x14000739d
xor ecx, ecx
mov qword [rsp + 0xf8], r12
mov qword [rsp + 0xf0], r15
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
xor r15d, r15d
lea rcx, [rsp + 0xa4]
mov qword [0x14004c7f0], rax
xor eax, eax
lea r8d, [r15 + 0x4c]
xor edx, edx
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rax
call fcn.140012080
lea rax, [0x140004a00]
lea r12, str.IntelWiDiUMS
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb8], rbp
mov dword [rsp + 0xa0], 0x50
mov qword [rsp + 0xe0], r12
call qword [sym.imp.USER32.dll_RegisterClassExW]
test ax, ax
je 0x14000738d
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], r15d
lea r8, [0x140042108]
mov r9d, 0x8000000
mov rdx, r12
xor ecx, ecx
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov rdi, rax
test rax, rax
je 0x14000738d
xor edx, edx
mov rcx, rax
mov dword [0x14004c6a0], r15d
call qword [sym.imp.USER32.dll_ShowWindow]
mov ecx, 0x730
mov qword [0x14004c6a8], rdi
mov dword [0x14004c67c], r15d
mov dword [0x14004c69c], r15d
mov dword [0x14004c698], 3
mov dword [0x14004c7cc], r15d
mov dword [0x14004c7d0], r15d
mov qword [0x14004c7e0], r15
mov qword [0x14004c7e8], r15
mov dword [0x14004c7d4], r15d
mov dword [0x14004c7d8], r15d
mov dword [0x14004c668], 1
mov dword [0x14004c66c], 1
mov dword [0x14004c670], 0xb
mov dword [0x14004c674], 2
mov dword [0x14004c678], r15d
call fcn.14000e408
test rax, rax
je 0x14000710c
mov rcx, rax
call fcn.140008bb0
jmp 0x14000710f
mov rax, r15
mov qword [0x14004c7e8], rax
test rax, rax
je 0x1400072e8
call fcn.140008d90
mov dword [0x14004c7d8], eax
cmp eax, 1
jne 0x1400072e8
mov rbx, qword [0x14004c7e8]
lea rax, [rsp + 0x60]
lea r8, [0x140008b40]
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov r9, rbx
mov dword [rsp + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, r15d
test rax, rax
mov qword [rbx + 0x690], rax
mov rax, qword [0x14004c7e8]
setne cl
mov qword [rax + 0x290], rdi
cmp ecx, 1
jne 0x1400072e8
call fcn.1400073e0
cmp eax, 1
jne 0x1400071c4
lea rax, [rsp + 0x60]
lea r8, [0x140004780]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], r15d
mov dword [rsp + 0x60], r15d
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x1400071c4
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 0xc8
call fcn.14000e408
test rax, rax
je 0x1400071e0
mov rcx, rax
call fcn.14000ca90
mov rbx, rax
jmp 0x1400071e3
mov rbx, r15
mov qword [0x14004c7e0], rbx
test rbx, rbx
je 0x1400072e8
mov rcx, rbx
call fcn.14000cb20
mov esi, eax
test eax, eax
jne 0x140007209
mov rcx, rbx
call fcn.14000e1e0
mov dword [0x14004c7d4], esi
cmp esi, 1
jne 0x1400072e8
mov rbx, qword [0x14004c7e0]
lea rax, [rsp + 0x60]
lea r8, [0x14000ca30]
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov r9, rbx
mov qword [rbx + 0xc0], rdi
mov dword [rsp + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbx + 0x98], rax
test rax, rax
je 0x1400072e8
cmp dword [rsp + 0x70], 0x12
mov dword [0x14004c6a4], esi
je 0x1400072e1
nop word [rax + rax]
lea rcx, [rsp + 0x68]
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov dword [rsp + 0x20], 1
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x1400072c6
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_DispatchMessageW]
lea rcx, [rsp + 0x68]
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov dword [rsp + 0x20], 1
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x140007290
cmp dword [0x14004c6a0], 1
je 0x1400072e1
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [rsp + 0x70], 0x12
jne 0x140007270
mov dword [0x14004c6a4], r15d
call fcn.1400077a0
mov eax, dword [0x14004c7cc]
test eax, eax
je 0x140007309
mov edx, eax
mov rcx, rdi
call qword [sym.imp.USER32.dll_KillTimer]
mov dword [0x14004c7cc], r15d
mov rcx, qword [0x14004c7e8]
test rcx, rcx
je 0x140007346
cmp dword [0x14004c7d8], r15d
je 0x14000732f
mov edx, 1
call fcn.14000a180
mov rcx, qword [0x14004c7e8]
test rcx, rcx
je 0x14000733f
mov rax, qword [rcx]
mov edx, 1
call qword [rax + htons]
mov qword [0x14004c7e8], r15
mov rcx, qword [0x14004c7e0]
test rcx, rcx
je 0x140007378
cmp dword [0x14004c7d4], r15d
je 0x140007367
call fcn.14000e1e0
mov rcx, qword [0x14004c7e0]
test rcx, rcx
je 0x140007371
call fcn.14000e344
mov qword [0x14004c7e0], r15
mov rcx, rdi
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rdx, rbp
mov rcx, r12
call qword [sym.imp.USER32.dll_UnregisterClassW]
mov r12, qword [rsp + 0xf8]
mov r15, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x120]
mov rbp, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x110]
test r14, r14
je 0x1400073cb
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
add rsp, 0x100
pop r14
ret