Function at 0x1400973c
Capabilities:
Check mutex and terminate process on windows
Check mutex on windows
Get common file path
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x14035894
mov eax, dword fs:[0]
push eax
sub esp, 0x210
mov eax, dword [0x14043524]
xor eax, esp
mov dword [esp + 0x208], eax
push ebx
push esi
push edi
mov eax, dword [0x14043524]
xor eax, esp
push eax
lea eax, [esp + 0x220]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [0x14045bf8], eax
mov dword [esp + 0x1c], 0xff
mov dword [esp + 0x18], 8
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
xor ebx, ebx
push 0x14045c84
mov dword [0x14045b84], ebx
mov dword [0x14045c00], ebx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov esi, 0x104
mov eax, esi
call fcn.1400cbe2
mov dword [0x14045bec], eax
mov eax, esi
call fcn.1400cbe2
mov dword [0x14045c10], eax
mov eax, esi
call fcn.1400cbe2
mov dword [0x14045bd4], eax
mov eax, esi
call fcn.1400cbe2
mov dword [0x14045ca8], eax
mov eax, esi
call fcn.1400cbe2
mov dword [0x14045bf4], eax
mov eax, esi
call fcn.1400cbe2
mov dword [0x14045c30], eax
mov eax, esi
call fcn.1400cbe2
mov dword [0x14045bc8], eax
mov eax, esi
call fcn.1400cbe2
mov dword [0x14045bcc], eax
mov eax, esi
call fcn.1400cbe2
mov dword [0x14045c9c], eax
mov eax, esi
call fcn.1400cbe2
mov dword [0x14045c54], eax
mov eax, esi
call fcn.1400cbe2
mov dword [0x14045c68], eax
mov eax, esi
call fcn.1400cbe2
mov dword [0x14045b88], eax
mov eax, esi
call fcn.1400cbe2
push dword [0x14045c10]
mov dword [0x14045c4c], eax
push esi
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push esi
push dword [0x14045bd4]
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov ecx, dword [0x14045bd4]
call fcn.1400bdc8
dec eax
cmp eax, ebx
jle 0x14009891
cmp word [ecx + eax*2], 0x5c
jne 0x14009885
cmp eax, esi
jg 0x140098ae
cmp eax, ebx
jl 0x140098ae
mov edx, dword [0x14045bec]
sub ecx, edx
inc eax
mov di, word [ecx + edx]
mov word [edx], di
inc edx
inc edx
dec eax
jne 0x140098a2
call fcn.140011a3
call fcn.1400955f
call fcn.14001397
mov edi, dword [0x14045ca8]
mov eax, esi
call fcn.1400cbe2
mov dword [0x14046000], eax
mov eax, esi
call fcn.1400cbe2
push edi
push str.SOFTWARE_ws_
push dword [0x14046000]
mov dword [0x1404602c], eax
mov eax, esi
call fcn.1400c621
mov edx, dword [0x1404602c]
add esp, 0xc
mov ecx, edi
call fcn.1400bde4
call fcn.1401bd5d
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, str.BW43_JOD
call fcn.1401c4b3
push eax
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x14009936
push ebx
call dword [sym.imp.KERNEL32.dll_ExitProcess]
call fcn.1400a4e2
test al, al
jne 0x14009944
call fcn.1400902e
mov esi, dword [sym.imp.USER32.dll_LoadIconW]
mov edi, 0x83
push edi
push dword [0x14045bf8]
call esi
push edi
push dword [0x14045bf8]
mov dword [0x14045be0], eax
call esi
push ebx
mov dword [0x14045ba4], eax
mov dword [esp + 0x24], vtable.CBrowser.0
call dword [sym.imp.ole32.dll_OleInitialize]
push 8
call fcn.1401f740
pop ecx
cmp eax, ebx
je 0x1400998e
mov dword [eax], vtable.IOleCS.0
jmp 0x14009990
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x228], ebx
lea eax, [esp + 0x34]
push eax
call fcn.14001d44
push 0x150
call fcn.1401f740
pop ecx
mov dword [esp + 0x14], eax
mov byte [esp + 0x228], 1
cmp eax, ebx
je 0x140099c8
push eax
call fcn.14006c98
jmp 0x140099ca
xor eax, eax
mov byte [esp + 0x228], bl
push 0x1740
mov dword [0x14045be8], eax
call fcn.1401f740
pop ecx
mov dword [esp + 0x14], eax
mov byte [esp + 0x228], 2
cmp eax, ebx
je 0x140099f9
push eax
call fcn.1400b95a
jmp 0x140099fb
xor eax, eax
mov byte [esp + 0x228], bl
mov esi, str.Language
mov dword [0x14045b78], eax
call fcn.1401bee2
call fcn.1400ba3b
mov esi, str.Tztufn_Tfdvsjuz
mov eax, esi
call fcn.1401c4b3
mov edx, dword [0x14045b78]
add edx, 0x6f4
mov ecx, eax
call fcn.1400bde4
mov eax, str.311:
call fcn.1401c4b3
mov edx, dword [0x14045b78]
add edx, 0x8fc
mov ecx, eax
call fcn.1400bde4
mov eax, str.jfyqmpsf_fyf
call fcn.1401c4b3
mov edx, dword [0x14045b78]
add edx, 0xb10
mov ecx, eax
call fcn.1400bde4
mov eax, esi
call fcn.1401c4b3
mov edx, dword [0x14045b78]
add edx, 0x1538
mov ecx, eax
call fcn.1400bde4
mov eax, dword [0x14045be8]
push 0x20a
push 0x2dc
push ebx
mov dword [eax + 0xd0], 0xd67e00
mov dword [eax + 0xd4], 0xf2aa4b
mov dword [eax + 0xc8], ebx
mov esi, dword [eax]
push ebx
mov edi, 0x80
push str.General
mov ecx, str.Caption
add esi, edi
call fcn.1400bc52
push eax
push str.General
mov ecx, str.TaskBar
call fcn.1400bc52
mov ecx, dword [0x14045be8]
push eax
push ebx
push ebx
call dword [esi]
mov esi, dword [0x14045be8]
mov dword [0x14045bbc], eax
call fcn.1401cd28
push 0x20
push 0x20
push 0x83
call fcn.1401ae13
mov ecx, dword [0x14045be8]
add esp, 0xc
mov dword [ecx + 0x5c], eax
call fcn.14007513
push dword [0x14045ba4]
mov eax, dword [0x14045be8]
mov eax, dword [eax + 0x50]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 1
push edi
push dword [0x14045bbc]
mov dword [esp + 0x1e0], eax
call esi
push dword [0x14045be0]
push ebx
push edi
push dword [0x14045bbc]
call esi
call fcn.1400a4e2
test al, al
jne 0x14009c12
xor edi, edi
push ebx
inc edi
push edi
mov eax, str.IBS_CHKSTRTWWND
call fcn.1401c0da
push ebx
push ebx
mov eax, str.IBS_CHKRUNMINIM
call fcn.1401c0da
push ebx
push edi
mov eax, str.IBS_CHKSCANSTRT
call fcn.1401c0da
add esp, 0x18
push ebx
call fcn.1400a590
mov eax, dword [0x14045be8]
mov byte [0x140464d8], bl
mov eax, dword [eax + 0x130]
mov esi, dword [eax + 0xf8]
mov dword [esi + 0x138], edi
call fcn.1401d2b6
mov eax, dword [0x14045be8]
mov eax, dword [eax + 0x130]
mov esi, dword [eax + 0xfc]
mov dword [esi + 0x138], ebx
call fcn.1401d2b6
mov eax, dword [0x14045be8]
mov eax, dword [eax + 0x130]
mov esi, dword [eax + 0x100]
mov dword [esi + 0x138], edi
call fcn.1401d2b6
mov esi, str.IBS_NOTFSTRT
call fcn.1401bee2
cmp edx, ebx
jl 0x14009c0e
jg 0x14009bf7
cmp eax, ebx
jbe 0x14009c0e
push ebx
push 0x1f4
push 0x402
push dword [0x14045bbc]
call dword [sym.imp.USER32.dll_SetTimer]
push ebx
push edi
jmp 0x14009c51
mov esi, str.IBS_UPDATE
mov byte [0x140464d8], 1
call fcn.1401bee2
xor edi, edi
inc edi
cmp eax, edi
jne 0x14009c32
cmp edx, ebx
jne 0x14009c32
push ebx
push edi
jmp 0x14009c34
push ebx
push ebx
mov eax, esi
call fcn.1401c0da
pop ecx
pop ecx
mov esi, str.IBS_PRIV
call fcn.1401bee2
cmp eax, edi
jne 0x14009c4f
cmp edx, ebx
je 0x14009c0e
push ebx
push ebx
mov eax, esi
call fcn.1401c0da
pop ecx
pop ecx
mov esi, str.IBS_CHKRUNMINIM
call fcn.1401bee2
cmp eax, 1
jne 0x14009ca8
cmp edx, ebx
jne 0x14009ca8
mov eax, dword [0x14045be8]
mov ecx, dword [eax + 0x134]
mov byte [eax + 0x92], bl
call fcn.14019574
mov eax, dword [0x14045be8]
mov edi, dword [eax + 0x50]
call fcn.140199d7
call fcn.1400a4e2
test al, al
jne 0x14009cd4
push 0xfffffffffffffffe
push dword [0x14045be8]
call fcn.14008781
jmp 0x14009cd4
mov eax, dword [0x14045be8]
push 1
push dword [eax + 0x50]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x14045be8]
push dword [eax + 0x50]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [0x14045be8]
push dword [eax + 0x50]
call dword [sym.imp.USER32.dll_SetActiveWindow]
mov esi, str.IBS_CHKSTRTWWND
call fcn.1401bee2
xor esi, esi
inc esi
cmp eax, esi
jne 0x14009cec
cmp edx, ebx
jne 0x14009cec
push esi
jmp 0x14009ced
push ebx
call fcn.1401ba83
mov eax, dword [0x14045be8]
pop ecx
push dword [eax + 0x50]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, dword [0x14045be8]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x14045bc4]
cmp ecx, ebx
je 0x14009d1b
mov eax, dword [ecx]
push esi
call dword [eax]
mov ecx, dword [0x14045be4]
cmp ecx, ebx
je 0x14009d2a
mov eax, dword [ecx]
push esi
call dword [eax]
mov ecx, dword [0x14045bd0]
cmp ecx, ebx
je 0x14009d39
mov eax, dword [ecx]
push esi
call dword [eax]
mov ecx, dword [0x14045be8]
cmp ecx, ebx
je 0x14009d48
mov eax, dword [ecx]
push esi
call dword [eax]
call fcn.1401be8a
mov eax, dword [0x1404602c]
call fcn.1400cbf1
mov eax, dword [0x14046000]
call fcn.1400cbf1
push 0x14045c84
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
or dword [esp + 0x228], 0xffffffff
mov dword [esp + 0x20], vtable.CBrowser.0
xor eax, eax
mov ecx, dword [esp + 0x220]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x208]
xor ecx, esp
call fcn.1401f2d2
mov esp, ebp
pop ebp
ret 0x10