Function at 0x4a1d08
Capabilities:
Check mutex on windows
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
mov ebx, eax
push 1
lea eax, [ebp - 0x20]
push eax
call sub.advapi32.dll_InitializeSecurityDescriptor
push 0
push 0
push 0xffffffffffffffff
lea eax, [ebp - 0x20]
push eax
call sub.advapi32.dll_SetSecurityDescriptorDacl
mov dword [ebp - 0xc], 0xc
lea eax, [ebp - 0x20]
mov dword [ebp - 8], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x4c03a4]
call fcn.00404af0
push eax
push 0x400
push 0
push 4
lea eax, [ebp - 0xc]
push eax
push 0xffffffffffffffff
call sub.kernel32.dll_CreateFileMappingA
mov dword [0x4c2e04], eax
call sub.kernel32.dll_GetLastError_1
cmp eax, 0xb7
jne 0x4a1e8f
mov eax, dword [0x4c03a4]
call fcn.00404af0
push eax
push 0
push 0xf001f
call sub.kernel32.dll_OpenFileMappingA
mov dword [0x4c2e04], eax
cmp dword [0x4c2e04], 0
jne 0x4a1db0
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x24], 0
lea edx, [ebp - 0x28]
xor ecx, ecx
mov al, 0x3a
call fcn.00493c40
push 0
push 0
push 0
push 0xf001f
mov eax, dword [0x4c2e04]
push eax
call sub.kernel32.dll_MapViewOfFile
mov dword [0x4c2e1c], eax
cmp dword [0x4c2e1c], 0
jne 0x4a1dec
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x24], 0
lea edx, [ebp - 0x28]
xor ecx, ecx
mov al, 0x3a
call fcn.00493c40
mov eax, dword [0x4c2e1c]
add eax, 0x400
sub eax, 4
mov dword [0x4c2e20], eax
mov eax, dword [0x4c2e20]
sub eax, 4
mov dword [0x4c2e24], eax
mov eax, dword [0x4c2e24]
sub eax, 4
mov dword [0x4c2e28], eax
mov eax, dword [0x4c2e28]
sub eax, 8
mov dword [0x4c2e30], eax
mov eax, dword [0x4c2e30]
sub eax, 4
mov dword [0x4c2e2c], eax
mov eax, dword [0x4c03a0]
call fcn.00404af0
push eax
push 0
push 0x1f0001
call sub.kernel32.dll_OpenMutexA
mov dword [0x4c2e08], eax
mov eax, 2
call fcn.004a1c6c
mov dword [0x4c2e0c], eax
mov eax, 3
call fcn.004a1c6c
mov dword [0x4c2e10], eax
mov eax, 4
call fcn.004a1c6c
mov dword [0x4c2e14], eax
mov eax, 5
call fcn.004a1c6c
mov dword [0x4c2e18], eax
jmp 0x4a1f72
mov eax, dword [0x4c03a0]
call fcn.00404af0
push eax
push 0
lea eax, [ebp - 0xc]
push eax
call fcn.00406be4
mov dword [0x4c2e08], eax
push ebp
xor edx, edx
mov eax, 2
call fcn.004a1cb4
pop ecx
mov dword [0x4c2e0c], eax
push ebp
mov dl, 1
mov eax, 3
call fcn.004a1cb4
pop ecx
mov dword [0x4c2e10], eax
push ebp
xor edx, edx
mov eax, 4
call fcn.004a1cb4
pop ecx
mov dword [0x4c2e14], eax
push ebp
xor edx, edx
mov eax, 5
call fcn.004a1cb4
pop ecx
mov dword [0x4c2e18], eax
push 0
push 0
push 0
push 0xf001f
mov eax, dword [0x4c2e04]
push eax
call sub.kernel32.dll_MapViewOfFile
mov dword [0x4c2e1c], eax
mov eax, dword [0x4c2e1c]
add eax, 0x400
sub eax, 4
mov dword [0x4c2e20], eax
mov eax, dword [0x4c2e20]
sub eax, 4
mov dword [0x4c2e24], eax
mov eax, dword [0x4c2e24]
sub eax, 4
mov dword [0x4c2e28], eax
mov eax, dword [0x4c2e28]
sub eax, 8
mov dword [0x4c2e30], eax
mov eax, dword [0x4c2e30]
sub eax, 4
mov dword [0x4c2e2c], eax
mov eax, dword [0x4c2e20]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4c2e24]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4c2e2c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4c2e20]
cmp dword [eax], 0
jge 0x4a1f85
mov eax, dword [0x4c2e20]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4c2e24]
cmp dword [eax], 0
jge 0x4a1f98
mov eax, dword [0x4c2e24]
xor edx, edx
mov dword [eax], edx
mov byte [ebx + 0xf], 1
pop ebx
mov esp, ebp
pop ebp
ret