Function at 0x523660
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 [0x596048]
call fcn.0045a4a8
push eax
push 0x800
push 0
push 4
lea eax, [ebp - 0xc]
push eax
push 0xffffffffffffffff
call sub.KERNEL32.DLL_CreateFileMappingW
mov dword [0x5a3fb4], eax
call sub.KERNEL32.DLL_GetLastError
cmp eax, 0xb7
jne 0x5237e7
mov eax, dword [0x596048]
call fcn.0045a4a8
push eax
push 0
push 0xf001f
call sub.KERNEL32.DLL_OpenFileMappingW
mov dword [0x5a3fb4], eax
cmp dword [0x5a3fb4], 0
jne 0x523708
call sub.KERNEL32.DLL_GetLastError
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x24], 0
lea edx, [ebp - 0x28]
xor ecx, ecx
mov al, 0x3a
call fcn.005515b4
push 0
push 0
push 0
push 0xf001f
mov eax, dword [0x5a3fb4]
push eax
call sub.KERNEL32.DLL_MapViewOfFile
mov dword [0x5a3fcc], eax
cmp dword [0x5a3fcc], 0
jne 0x523744
call sub.KERNEL32.DLL_GetLastError
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x24], 0
lea edx, [ebp - 0x28]
xor ecx, ecx
mov al, 0x3a
call fcn.005515b4
mov eax, dword [0x5a3fcc]
add eax, 0x1000
sub eax, 8
mov dword [0x5a3fd0], eax
mov eax, dword [0x5a3fd0]
sub eax, 4
mov dword [0x5a3fd4], eax
mov eax, dword [0x5a3fd4]
sub eax, 4
mov dword [0x5a3fd8], eax
mov eax, dword [0x5a3fd8]
sub eax, 8
mov dword [0x5a3fe0], eax
mov eax, dword [0x5a3fe0]
sub eax, 4
mov dword [0x5a3fdc], eax
mov eax, dword [0x596044]
call fcn.0045a4a8
push eax
push 0
push 0x1f0001
call sub.KERNEL32.DLL_OpenMutexW
mov dword [0x5a3fb8], eax
mov eax, 2
call fcn.005235c4
mov dword [0x5a3fbc], eax
mov eax, 3
call fcn.005235c4
mov dword [0x5a3fc0], eax
mov eax, 4
call fcn.005235c4
mov dword [0x5a3fc4], eax
mov eax, 5
call fcn.005235c4
mov dword [0x5a3fc8], eax
jmp 0x5238ca
mov eax, dword [0x596044]
call fcn.0045a4a8
push eax
push 0
lea eax, [ebp - 0xc]
push eax
call fcn.0040923c
mov dword [0x5a3fb8], eax
push ebp
xor edx, edx
mov eax, 2
call fcn.0052360c
pop ecx
mov dword [0x5a3fbc], eax
push ebp
mov dl, 1
mov eax, 3
call fcn.0052360c
pop ecx
mov dword [0x5a3fc0], eax
push ebp
xor edx, edx
mov eax, 4
call fcn.0052360c
pop ecx
mov dword [0x5a3fc4], eax
push ebp
xor edx, edx
mov eax, 5
call fcn.0052360c
pop ecx
mov dword [0x5a3fc8], eax
push 0
push 0
push 0
push 0xf001f
mov eax, dword [0x5a3fb4]
push eax
call sub.KERNEL32.DLL_MapViewOfFile
mov dword [0x5a3fcc], eax
mov eax, dword [0x5a3fcc]
add eax, 0x1000
sub eax, 8
mov dword [0x5a3fd0], eax
mov eax, dword [0x5a3fd0]
sub eax, 4
mov dword [0x5a3fd4], eax
mov eax, dword [0x5a3fd4]
sub eax, 4
mov dword [0x5a3fd8], eax
mov eax, dword [0x5a3fd8]
sub eax, 8
mov dword [0x5a3fe0], eax
mov eax, dword [0x5a3fe0]
sub eax, 4
mov dword [0x5a3fdc], eax
mov eax, dword [0x5a3fd0]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x5a3fd4]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x5a3fdc]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x5a3fd0]
cmp dword [eax], 0
jge 0x5238dd
mov eax, dword [0x5a3fd0]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x5a3fd4]
cmp dword [eax], 0
jge 0x5238f0
mov eax, dword [0x5a3fd4]
xor edx, edx
mov dword [eax], edx
mov byte [ebx + 0xf], 1
pop ebx
mov esp, ebp
pop ebp
ret