Function at 0x44004c
Capabilities:
Check mutex on windows
Check os version

Disassembly:
push 0x38
push 0x48e138
call fcn.00449d00
xor ebx, ebx
mov dword [ebp - 4], ebx
mov edi, 0x114
push edi
push ebx
mov esi, 0x493ef0
push esi
call fcn.00447ae0
add esp, 0xc
mov dword [0x493ef0], edi
push esi
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov eax, ebx
mov dword [ebp - 0x20], eax
cmp dword [0x493f00], 2
jne 0x4400c6
mov dword [ebp - 0x2c], ebx
lea eax, [ebp - 0x48]
mov dword [ebp - 0x30], eax
inc ebx
push ebx
push eax
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
test eax, eax
je 0x4402e5
push 0
push 0
push ebx
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
test eax, eax
je 0x4402e5
lea eax, [ebp - 0x34]
mov dword [ebp - 0x20], eax
jmp 0x4400c9
xor ebx, ebx
inc ebx
push str.WBXTRA_TRACE_MUTEX
push 0
push eax
mov edi, dword [sym.imp.KERNEL32.dll_CreateMutexW]
call edi
mov dword [0x494008], eax
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
sub eax, 0xb7
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
push str.WBXTRA_TRACE_MUTEX_EX
push 0
push dword [ebp - 0x20]
call edi
mov edi, eax
call esi
lea ecx, [eax - 0xb7]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x24], ebx
mov edx, dword [0x494008]
test edx, edx
je 0x4402c1
test edi, edi
je 0x4402e0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x440147
test ecx, ecx
jne 0x440147
mov byte [ebp - 0x19], bl
call fcn.0043f0e5
mov dword [0x491104], eax
push dword [0x494008]
jmp 0x440150
mov byte [ebp - 0x19], 0
test ecx, ecx
je 0x440163
push edx
xor ebx, ebx
mov dword [ebp - 0x24], ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x494008], edi
jmp 0x44016e
test eax, eax
je 0x44016e
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [ebp - 0x19], 0
je 0x4401d2
push dword [ebp - 0x20]
call fcn.0043fd29
pop ecx
mov dword [0x494004], eax
test eax, eax
je 0x4402b6
cmp dword [0x493f00], 2
jne 0x44020a
cmp dword [0x493ef4], 6
jb 0x44020a
push str.WBXTRA_TRACE_MUTEX
call fcn.0043fb24
mov dword [esp], str.WBXTRA_TRACE_MUTEX_EX
call fcn.0043fb24
mov dword [esp], str.WBXTRA_TRACE_FILE
call fcn.0043fb24
mov dword [esp], str.WBXTRA_TRACE_FILE_EX
call fcn.0043fb24
pop ecx
mov eax, dword [0x494004]
jmp 0x44020a
mov esi, dword [sym.imp.KERNEL32.dll_OpenFileMappingW]
test ebx, ebx
mov edi, str.WBXTRA_TRACE_FILE
jne 0x4401e6
mov edi, str.WBXTRA_TRACE_FILE_EX
push edi
push 0
push 6
call esi
test eax, eax
mov dword [0x494004], eax
jne 0x440212
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push edi
push 0
push 6
call esi
mov dword [0x494004], eax
test eax, eax
je 0x4402b6
push 0
push 0
push 0
push 2
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [0x49400c], eax
test eax, eax
je 0x4402b6
push 0x3e8
push dword [0x494008]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x44025f
cmp eax, 0x80
je 0x44025f
push dword [0x49400c]
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
and dword [0x49400c], 0
jmp 0x4402b6
cmp byte [ebp - 0x19], 0
je 0x44027a
push dword [0x491104]
push dword [0x49400c]
call fcn.00440684
pop ecx
pop ecx
jmp 0x4402aa
push 4
push str.WBXT
push 4
mov esi, dword [0x49400c]
push esi
call fcn.004014d1
add esp, 0x10
test eax, eax
jne 0x44029c
cmp byte [esi + 6], 3
je 0x4402aa
push esi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
and dword [0x49400c], 0
push dword [0x494008]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp dword [0x49400c], 0
jne 0x4402e5
jmp 0x4402e0
test edi, edi
je 0x4402e0
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4402e0
call fcn.004406eb
mov dword [ebp - 4], 0xfffffffe
call fcn.00449d45
ret