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

Disassembly:
push 0xc70
push 0x645508
call fcn.0056b820
mov edi, dword [ebp + 8]
mov dword [ebp - 0xc54], edi
and dword [ebp - 4], 0
mov ebx, 0x114
push ebx
push 0
mov esi, 0x660648
push esi
call fcn.0056dc10
add esp, 0xc
mov dword [0x660648], ebx
push esi
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
and dword [ebp - 0xc58], 0
xor ebx, ebx
inc ebx
cmp dword [0x660658], 2
jne 0x4ca58d
and dword [ebp - 0xc64], 0
lea eax, [ebp - 0xc80]
mov dword [ebp - 0xc68], eax
push ebx
push eax
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
test eax, eax
je 0x4ca981
push 0
push 0
push ebx
lea eax, [ebp - 0xc80]
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
test eax, eax
je 0x4ca981
lea eax, [ebp - 0xc6c]
mov dword [ebp - 0xc58], eax
test edi, edi
je 0x4ca641
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jle 0x4ca641
push edi
push 0x5d19b0
push str._s__s
mov esi, 0x104
push esi
lea eax, [ebp - 0x634]
push eax
call fcn.004c9fda
push edi
push str.WBXTRA_TRACE_MUTEX_EX
push str._s__s
push esi
lea eax, [ebp - 0x83c]
push eax
call fcn.004c9fda
push edi
push str.WBXTRA_TRACE_FILE
push str._s__s
push esi
lea eax, [ebp - 0x224]
push eax
call fcn.004c9fda
push edi
push str.WBXTRA_TRACE_FILE_EX
push str._s__s
push esi
lea eax, [ebp - 0x42c]
push eax
call fcn.004c9fda
add esp, 0x50
push edi
push str.WBXTRA_TRACE_EVENT
push str._s__s
push esi
lea eax, [ebp - 0xa44]
push eax
call fcn.004c9fda
push edi
push str.WBXTRA_TRACE_EVENT_EX
push str._s__s
push esi
lea eax, [ebp - 0xc4c]
push eax
call fcn.004c9fda
add esp, 0x28
jmp 0x4ca6b5
push 0x5d19b0
mov esi, 0x104
push esi
lea eax, [ebp - 0x634]
push eax
call fcn.004ca030
push str.WBXTRA_TRACE_MUTEX_EX
push esi
lea eax, [ebp - 0x83c]
push eax
call fcn.004ca030
push str.WBXTRA_TRACE_FILE
push esi
lea eax, [ebp - 0x224]
push eax
call fcn.004ca030
push str.WBXTRA_TRACE_FILE_EX
push esi
lea eax, [ebp - 0x42c]
push eax
call fcn.004ca030
push str.WBXTRA_TRACE_EVENT
push esi
lea eax, [ebp - 0xa44]
push eax
call fcn.004ca030
push str.WBXTRA_TRACE_EVENT_EX
push esi
lea eax, [ebp - 0xc4c]
push eax
call fcn.004ca030
add esp, 0x48
lea eax, [ebp - 0x634]
push eax
push 0
push dword [ebp - 0xc58]
mov edi, dword [sym.imp.KERNEL32.dll_CreateMutexW]
call edi
mov dword [0x660760], eax
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
sub eax, 0xb7
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0xc60], eax
lea eax, [ebp - 0x83c]
push eax
push 0
push dword [ebp - 0xc58]
call edi
mov edi, eax
call esi
lea ecx, [eax - 0xb7]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0xc5c], ebx
mov edx, dword [0x660760]
test edx, edx
je 0x4ca945
test edi, edi
je 0x4ca950
mov eax, dword [ebp - 0xc60]
test eax, eax
jne 0x4ca75e
test ecx, ecx
jne 0x4ca75e
mov byte [ebp - 0xc4d], bl
call fcn.004c86fc
mov dword [section..data], eax
cmp dword [0x6607a4], 0
cmovne eax, dword [0x654004]
mov dword [section..data], eax
push dword [0x660760]
jmp 0x4ca76a
mov byte [ebp - 0xc4d], 0
test ecx, ecx
je 0x4ca780
push edx
xor ebx, ebx
mov dword [ebp - 0xc5c], ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x660760], edi
jmp 0x4ca78b
test eax, eax
je 0x4ca78b
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [ebp - 0xc4d], 0
je 0x4ca809
mov esi, dword [ebp - 0xc54]
push esi
push dword [ebp - 0xc58]
call fcn.004ca1ca
pop ecx
pop ecx
mov dword [0x66075c], eax
test eax, eax
je 0x4ca930
cmp dword [0x660658], 2
jne 0x4ca86f
cmp dword [0x66064c], 6
jb 0x4ca86f
lea eax, [ebp - 0x634]
push eax
call fcn.004c9e38
lea eax, [ebp - 0x83c]
push eax
call fcn.004c9e38
lea eax, [ebp - 0x224]
push eax
call fcn.004c9e38
lea eax, [ebp - 0x42c]
push eax
call fcn.004c9e38
add esp, 0x10
mov eax, dword [0x66075c]
jmp 0x4ca86f
mov esi, dword [sym.imp.KERNEL32.dll_OpenFileMappingW]
test ebx, ebx
je 0x4ca839
lea eax, [ebp - 0x224]
push eax
push 0
push 6
call esi
mov dword [0x66075c], eax
test eax, eax
jne 0x4ca869
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x224]
jmp 0x4ca85d
lea eax, [ebp - 0x42c]
push eax
push 0
push 6
call esi
mov dword [0x66075c], eax
test eax, eax
jne 0x4ca869
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x42c]
push eax
push 0
push 6
call esi
mov dword [0x66075c], eax
mov esi, dword [ebp - 0xc54]
test eax, eax
je 0x4ca930
push 0x3e8
push dword [0x660760]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4ca8a3
cmp eax, 0x80
je 0x4ca8a3
push str.wbxtra_do_init___WaitForSingleObject__r_n
call fcn.004c86a7
pop ecx
jmp 0x4ca930
push esi
push 0
push 0
push 0
push 2
push dword [0x66075c]
call fcn.004c9c24
add esp, 0x18
mov esi, eax
mov dword [0x660764], esi
test esi, esi
je 0x4ca919
cmp byte [ebp - 0xc4d], 0
je 0x4ca8de
push dword [section..data]
push esi
call fcn.004caf4d
pop ecx
jmp 0x4ca923
push 4
push str.WBXT
push 4
push esi
call fcn.0042386f
add esp, 0x10
test eax, eax
jne 0x4ca8fa
cmp byte [esi + 6], 3
je 0x4ca924
push str.wbxtra_do_init___WbxUnmapViewOfFile_r_n
call fcn.004c86a7
push dword [0x660764]
call fcn.004c9ec5
pop ecx
and dword [0x660764], 0
jmp 0x4ca923
push str.wbxtra_do_init___WbxMapViewOfFile_failed_r_n
call fcn.004c86a7
pop ecx
push dword [0x660760]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp dword [0x660764], 0
jne 0x4ca981
push str.wbxtra_do_init___wbxtra_lib_clean_111_r_n
call fcn.004c86a7
jmp 0x4ca97b
test edi, edi
je 0x4ca950
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.wbxtra_do_init___wbxtra_lib_clean_r_n
jmp 0x4ca93e
pop ecx
call fcn.004cafb5
mov dword [ebp - 4], 0xfffffffe
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
leave
ret