Function at 0x493c9c
Capabilities:
Check mutex on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xdc
mov eax, dword [0x42b238]
mov dword [esp + 0xd8], eax
push dword [esp + 0xf0]
call fcn.004a7f30
add esp, 4
lea ecx, [eax + 0x10]
sar ecx, 0x1f
shr ecx, 0x1c
lea ebp, [eax + ecx + 0x10]
mov ebx, ebp
and ebp, 0xfffffff0
sar ebx, 4
push 1
push ebp
call fcn.0043f807
add esp, 8
mov esi, eax
mov edi, ebp
push ebp
push 0
push esi
call fcn.0049acf0
add esp, 0xc
push dword [esp + 0xf0]
push esi
call fcn.004a7c00
add esp, 8
call fcn.0047eec8
test eax, eax
je 0x493d16
push 1
mov eax, edi
push eax
push esi
call dword [0x427728]
lea ebp, [esp + 0x6c]
push ebp
call fcn.0046bd6a
add esp, 4
mov eax, ebx
lea ecx, [esp + 4]
shr eax, 0x14
mov byte [ecx], al
mov eax, ebx
shr ebx, 4
shr eax, 0xc
mov byte [ecx + 1], al
mov byte [ecx + 2], bl
mov ebx, edi
mov edi, ebp
mov byte [ecx + 3], bl
push 4
push ecx
push edi
call fcn.0046bd8f
add esp, 0xc
push ebx
push esi
push edi
call fcn.0046bd8f
add esp, 0xc
lea ebp, [esp + 0x4c]
push ebp
push edi
call fcn.0046bea9
add esp, 8
push esi
call fcn.0043f9d4
add esp, 4
xor esi, esi
lea ebx, [esp + 8]
movzx eax, byte [esp + esi + 0x4c]
push eax
push 0x406a8f
push ebx
call fcn.00432778
add esp, 0xc
inc esi
add ebx, 2
cmp esi, 0x20
jne 0x493d77
lea esi, [esp + 8]
push esi
call fcn.0043f79e
add esp, 4
test eax, eax
je 0x493f77
mov ecx, str.Localputty_connshare_mutex
mov edx, eax
mov edi, ebp
mov ebp, eax
call fcn.00494098
mov ebx, eax
push dword [esp + 0x104]
push edi
push esi
push 0x1f0001
call fcn.00493468
add esp, 0x10
test eax, eax
je 0x493f9f
mov eax, dword [esp + 8]
mov dword [esp], ebp
xor ebp, ebp
mov dword [esp + 0x6c], 0xc
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ebp
push ebx
push ebp
lea eax, [esp + 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov edi, eax
test edi, edi
je 0x493fb3
push ebx
call fcn.0043f9d4
add esp, 4
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [esp + 8]
call esi
push dword [esp + 0x4c]
call esi
push 0xffffffffffffffff
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [esp]
mov ecx, str..pipeputty_connshare
call fcn.00494098
mov ecx, dword [esp + 0x104]
cmp dword [esp + 0x114], 0
mov ebx, eax
mov dword [ecx], ebp
je 0x493ead
push dword [esp + 0xf8]
push ebx
call fcn.004923c0
add esp, 8
mov ebp, eax
mov eax, dword [ebp]
push ebp
call dword [eax + 0x1c]
add esp, 4
test eax, eax
je 0x49401b
mov eax, dword [esp + 0x108]
mov esi, eax
push dword [esi]
call fcn.0043f9d4
add esp, 4
mov eax, dword [ebp]
push ebp
call dword [eax + 0x1c]
add esp, 4
push eax
push ebx
push str._s:__s
call fcn.0043f758
add esp, 0xc
mov dword [esi], eax
mov eax, dword [ebp]
mov eax, dword [eax + 4]
push ebp
call eax
add esp, 4
cmp dword [esp + 0x110], 0
je 0x493f15
push dword [esp + 0xfc]
push ebx
call fcn.004925e4
add esp, 8
mov ebp, eax
mov eax, dword [ebp]
push ebp
call dword [eax + 0x1c]
add esp, 4
test eax, eax
je 0x494057
mov eax, dword [esp + 0x10c]
mov esi, eax
push dword [esi]
call fcn.0043f9d4
add esp, 4
mov eax, dword [ebp]
push ebp
call dword [eax + 0x1c]
add esp, 4
push eax
push ebx
push str._s:__s
call fcn.0043f758
add esp, 0xc
mov dword [esi], eax
mov eax, dword [ebp]
mov eax, dword [eax + 4]
push ebp
call eax
add esp, 4
mov eax, dword [esp + 0x104]
cmp dword [eax], 0
jne 0x493f50
mov eax, dword [esp + 0x108]
cmp dword [eax], 0
jne 0x493f50
mov eax, dword [esp + 0x10c]
cmp dword [eax], 0
jne 0x493f50
push 0xe2
push str..._windows_winshare.c
push str.logtext__ds_err__us_err
call fcn.004a509d
add esp, 0xc
push ebx
call fcn.0043f9d4
add esp, 4
push dword [esp]
call fcn.0043f9d4
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x494000
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0048f7e3
add esp, 4
push eax
push str.Unable_to_call_CryptProtectMemory:__s
call fcn.0043f758
add esp, 8
mov ecx, dword [esp + 0x104]
mov dword [ecx], eax
jmp 0x494000
push ebx
call fcn.0043f9d4
add esp, 4
push ebp
call fcn.0043f9d4
add esp, 4
jmp 0x494000
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0048f7e3
add esp, 4
push eax
push ebx
push str.CreateMutex___s___failed:__s
call fcn.0043f758
add esp, 0xc
mov ecx, dword [esp + 0x104]
mov dword [ecx], eax
push ebx
call fcn.0043f9d4
add esp, 4
push dword [esp]
call fcn.0043f9d4
add esp, 4
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [esp + 8]
call esi
push dword [esp + 0x4c]
call esi
xor esi, esi
mov ecx, dword [esp + 0xd8]
call fcn.00497c4a
mov eax, esi
add esp, 0xdc
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x104]
mov esi, eax
push dword [esi]
call fcn.0043f9d4
add esp, 4
mov eax, dword [esp + 0x100]
mov dword [esi], ebx
mov dword [eax], ebp
push dword [esp]
call fcn.0043f9d4
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor esi, esi
inc esi
jmp 0x494002
mov eax, dword [esp + 0x104]
mov esi, eax
push dword [esi]
call fcn.0043f9d4
add esp, 4
mov eax, dword [esp + 0x100]
mov dword [esi], ebx
mov dword [eax], ebp
push dword [esp]
call fcn.0043f9d4
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, 2
jmp 0x494002