Function at 0x40601d
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40f200
push 0x409a64
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
add esp, 0xfffff984
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
call fcn.004079ee
and eax, 0xff
test eax, eax
jne 0x406065
mov dword [0x41248c], 0xc
xor eax, eax
jmp 0x406f25
push 1
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call fcn.00407ebe
add esp, 8
mov eax, dword [0x4111d8]
xor eax, dword [0x4111e4]
xor eax, dword [0x4111c4]
and eax, 3
push eax
call fcn.004044a0
add esp, 4
push 0x104
push 0x412150
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0
push 0x8000080
push 3
push 0
push 1
push 0x80000000
push 0x412150
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x384], eax
cmp dword [ebp - 0x384], 0xffffffff
je 0x4060fa
push 0
push 0
mov ecx, dword [0x4111b8]
xor ecx, dword [0x4111c8]
xor ecx, dword [0x4111c4]
push ecx
mov edx, dword [ebp - 0x384]
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x40610b
mov dword [0x41248c], 4
xor eax, eax
jmp 0x406f25
mov eax, dword [str.StMtx]
mov dword [ebp - 0x140], eax
mov cx, word [0x411408]
mov word [ebp - 0x13c], cx
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x13a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x412150
lea edx, [ebp - 0x140]
push edx
call fcn.00409740
add esp, 8
lea eax, [ebp - 0x140]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
movsx edx, byte [ecx]
test edx, edx
je 0x406179
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax]
cmp ecx, 0x5c
jne 0x40616e
mov edx, dword [ebp - 0x28]
mov byte [edx], 0x5f
mov eax, dword [ebp - 0x28]
add eax, 1
mov dword [ebp - 0x28], eax
jmp 0x406153
lea ecx, [ebp - 0x140]
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [ebp - 0x270], eax
push 0xffffffffffffffff
mov edx, dword [ebp - 0x270]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0
call fcn.00405bb5
add esp, 4
mov byte [ebp - 0x25c], 0
xor eax, eax
mov al, byte [0x4125b8]
test eax, eax
jne 0x40628f
push 0x412150
lea ecx, [ebp - 0x244]
push ecx
call fcn.00409730
add esp, 8
lea edx, [ebp - 0x244]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax]
test ecx, ecx
je 0x406202
mov edx, dword [ebp - 0x28]
movsx eax, byte [edx]
cmp eax, 0x5c
jne 0x4061f7
mov ecx, dword [ebp - 0x28]
mov byte [ecx], 0x2e
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
jmp 0x4061dc
lea eax, [ebp - 0x244]
push eax
push 0x1000
push 0
push 4
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [0x412138], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x406235
mov byte [ebp - 0x25c], 1
push 0x1000
push 0
push 0
push 0xf001f
mov ecx, dword [0x412138]
push ecx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [0x412258], eax
mov edx, dword [ebp - 0x25c]
and edx, 0xff
test edx, edx
jne 0x40627c
mov eax, dword [0x412258]
mov dword [eax], 1
mov ecx, dword [0x412258]
mov byte [ecx + 4], 0
jmp 0x40628f
mov edx, dword [0x412258]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [0x412258]
mov dword [ecx], eax
push 1
lea edx, [ebp - 0x380]
push edx
call fcn.00407a57
add esp, 8
push 0
push 0x80
push 2
push 0
push 0
push 0xc0000000
lea eax, [ebp - 0x380]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x26c], eax
cmp dword [ebp - 0x26c], 0xffffffff
jne 0x4062df
mov dword [0x41248c], 3
xor eax, eax
jmp 0x406f25
push 0
mov ecx, dword [ebp - 0x384]
push ecx
mov edx, dword [ebp - 0x26c]
push edx
call fcn.0040793c
add esp, 0xc
and eax, 0xff
test eax, eax
jne 0x406323
mov dword [0x41248c], 8
push str.ExtractFile_error_
push 0x412490
call fcn.00409730
add esp, 8
xor eax, eax
jmp 0x406f25
mov eax, dword [ebp - 0x26c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x27c], 0x4675446d
mov dword [ebp - 0x258], 0x4360c26
mov dword [ebp - 0x278], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x278], ebp
mov eax, dword [ebp - 0x258]
xor eax, dword [ebp - 0x27c]
mov ebp, eax
mov eax, 4
int3
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret