Function at 0x438d90
Capabilities:
Check mutex on windows

Disassembly:
push ebp
lea ebp, [esp - 0x61c]
sub esp, 0x61c
push 0xffffffffffffffff
push 0x48b1b8
mov eax, dword fs:[0]
push eax
sub esp, 0x14
mov eax, dword [0x4b38b4]
xor eax, ebp
mov dword [ebp + 0x618], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
push 0
push 0
push 3
push 0
push 3
push 0
push str..TrueCrypt
mov dword [ebp - 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [0x4b118c], eax
cmp eax, 0xffffffff
jne 0x438eea
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
lea ebx, [ebx]
push 0
call fcn.004385d0
mov eax, dword [0x4dc3c8]
add esp, 4
test eax, eax
jne 0x439032
push str.GlobalTrueCrypt_Driver_Setup
push 1
push eax
call esi
mov dword [0x4dc3c8], eax
mov ecx, dword [0x4dc3c8]
test ecx, ecx
je 0x438e70
call edi
cmp eax, 0xb7
jne 0x439032
mov edx, dword [0x4dc3c8]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [0x4dc3c8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x4dc3c8], 0
mov ecx, dword [0x4dc3c8]
test ecx, ecx
jne 0x438ec5
push str.GlobalTrueCrypt_Driver_Setup
push 1
push ecx
call esi
mov dword [0x4dc3c8], eax
mov edx, dword [0x4dc3c8]
test edx, edx
je 0x438ebf
call edi
cmp eax, 0xb7
jne 0x438ec5
mov eax, dword [0x4dc3c8]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov ecx, dword [0x4dc3c8]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x4dc3c8], 0
push 0x64
call ebx
jmp 0x438e70
push 0
push 0
push 3
push 0
push 3
push 0
push str..TrueCrypt
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [0x4b118c], eax
cmp eax, 0xffffffff
je 0x438e10
mov ecx, dword [0x4dc3c8]
test ecx, ecx
je 0x438f1f
mov edx, dword [0x4dc3c8]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test eax, eax
je 0x438f1f
mov eax, dword [0x4dc3c8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x438f1f
mov dword [0x4dc3c8], 0
mov eax, dword [0x4b118c]
cmp eax, 0xffffffff
je 0x4390ec
mov esi, dword [sym.imp.KERNEL32.dll_DeviceIoControl]
push 0
lea ecx, [ebp - 0x18]
push ecx
push 4
push 0x4b8f0c
push 0
push 0
push 0x222004
push eax
call esi
test eax, eax
jne 0x438f73
push eax
lea edx, [ebp - 0x18]
push edx
push 4
push 0x4b8f0c
push eax
push eax
mov eax, dword [0x4b118c]
push 0x72018
push eax
call esi
test eax, eax
je 0x439028
cmp dword [0x4b8f0c], 0x720
je 0x4390ec
call fcn.00436f40
test eax, eax
je 0x4390ca
call fcn.00434300
test eax, eax
je 0x4390ca
call fcn.00434a30
test eax, eax
je 0x4390ca
mov eax, dword [ebp - 0x14]
mov ecx, eax
inc eax
cmp ecx, 3
mov dword [ebp - 0x14], eax
jge 0x4390ca
call fcn.004347f0
mov esi, eax
call fcn.00434360
test esi, esi
jne 0x4390c6
push esi
push esi
push 3
push esi
push 3
push esi
push str..TrueCrypt
mov dword [0x4dc39c], 1
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [0x4b118c], eax
cmp dword [0x4dc39c], 0
je 0x43901f
cmp eax, 0xffffffff
je 0x439028
push 0
lea edx, [ebp - 0x20]
push edx
push 0
push 0
push 0
push 0
push 0x222068
push eax
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov eax, dword [0x4b118c]
cmp eax, 0xffffffff
jne 0x438eea
mov eax, 1
jmp 0x4390ee
cmp dword [0x4dc3d8], 0
je 0x438fbc
push 0
call fcn.00434710
add esp, 4
test eax, eax
je 0x4390a6
push 0x3e8
call ebx
push 0
push 0
push 3
push 0
push 3
push 0
push str..TrueCrypt
call dword [sym.imp.KERNEL32.dll_CreateFileA]
push 0
lea ecx, [ebp]
mov dword [0x4b118c], eax
mov dword [ebp - 4], 0
call fcn.00426c70
lea ecx, [ebp]
mov byte [ebp - 4], 1
call fcn.00429a70
test eax, eax
setne dl
movzx eax, dl
push eax
lea ecx, [ebp]
call fcn.00427fc0
lea ecx, [ebp]
mov byte [ebp - 4], 0
call fcn.004267d0
call fcn.00434360
mov eax, dword [0x4b118c]
jmp 0x438ff2
mov eax, esi
jmp 0x4390ee
call fcn.00434360
mov eax, dword [0x4b118c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x4b118c], 0xffffffff
mov eax, 0xf
jmp 0x4390ee
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x618]
xor ecx, ebp
call fcn.00469f7b
add ebp, 0x61c
mov esp, ebp
pop ebp
ret