Function at 0x40ba10
Capabilities:
Check mutex on windows

Disassembly:
push 0xffffffffffffffff
push 0x4572e7
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push ebp
push esi
push edi
mov eax, dword [0x471660]
xor eax, esp
push eax
lea eax, [esp + 0x5c]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x14], esi
mov ecx, dword [esp + 0x6c]
lea eax, [esi + 4]
push ecx
xor ebp, ebp
push eax
mov dword [esp + 0x6c], ebp
mov dword [esi], vtable.Light::logger.0
call fcn.0040c490
add esp, 8
lea ecx, [esi + 0x20]
push ebp
mov edi, 7
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebp
push 0x45c8b8
mov byte [esp + 0x6c], 1
mov word [ecx + 4], bp
call fcn.00401680
lea ebx, [esi + 0x3c]
push ebp
mov dword [ebx + 0x18], edi
mov dword [ebx + 0x14], ebp
push 0x45c8b8
mov ecx, ebx
mov byte [esp + 0x6c], 2
mov word [ebx + 4], bp
call fcn.00401680
lea edi, [esi + 0x58]
mov ecx, edi
mov byte [esp + 0x64], 3
call fcn.00409130
mov dword [edi + 4], eax
mov byte [eax + 0x31], 1
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
mov dword [eax], eax
mov eax, dword [edi + 4]
mov dword [eax + 8], eax
mov dword [edi + 8], ebp
mov dword [esi + 0x64], ebp
mov dword [esi + 0x6c], ebp
mov dword [esi + 0x70], ebp
mov dword [esi + 0x74], ebp
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov dword [esi + 0x80], eax
lea eax, [esi + 4]
push eax
mov ecx, esi
mov byte [esp + 0x68], 5
mov dword [esi + 0x78], ebp
mov dword [esi + 0x7c], edx
mov dword [esi + 0x84], ebp
mov byte [esi + 0x88], 1
call fcn.0040a9a0
push 4
mov dword [esi + 0x64], eax
call fcn.00434b65
mov edi, eax
add esp, 4
cmp edi, ebp
je 0x40bb48
cmp dword [ebx + 0x18], 8
jb 0x40bb20
mov ebx, dword [ebx + 4]
jmp 0x40bb23
add ebx, 4
push ebx
push ebp
lea ecx, [esp + 0x20]
push ecx
mov dword [esp + 0x24], 0xc
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebp
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [edi], eax
mov dword [esp + 0x6c], edi
jmp 0x40bb4e
mov dword [esp + 0x6c], ebp
mov edi, ebp
cmp edi, ebp
mov dword [esi + 0x8c], edi
mov dword [esp + 0x70], edi
je 0x40bb67
mov edx, dword [edi]
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0x12
push str.Log_file_started:
lea ecx, [esp + 0x2c]
mov byte [esp + 0x6c], 6
mov dword [esp + 0x44], 7
mov dword [esp + 0x40], ebp
mov word [esp + 0x30], bp
call fcn.00401680
lea eax, [esp + 0x40]
push 1
push eax
mov byte [esp + 0x6c], 7
call fcn.0040c6a0
mov edi, eax
push 7
push esi
mov byte [esp + 0x74], 8
call fcn.0040b5d0
add esp, 0x10
call fcn.00407430
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea ecx, [esp + 0x24]
push ecx
mov dword [esp + 0x78], eax
call ebx
mov ecx, dword [esp + 0x78]
push eax
call fcn.0040aea0
call fcn.00407430
push edi
mov dword [esp + 0x78], eax
call ebx
mov ecx, dword [esp + 0x78]
push eax
call fcn.0040aea0
call ebx
mov ebx, eax
push 0xa
push ebx
call fcn.00407430
mov ecx, eax
call fcn.0040b260
push ebx
call fcn.00407430
mov ecx, eax
call fcn.0040b7c0
mov edi, 8
cmp dword [esp + 0x58], edi
jb 0x40bc1e
mov edx, dword [esp + 0x44]
push edx
call fcn.00434823
add esp, 4
cmp dword [esp + 0x3c], edi
mov dword [esp + 0x58], 7
mov dword [esp + 0x54], ebp
mov word [esp + 0x44], bp
jb 0x40bc42
mov eax, dword [esp + 0x28]
push eax
call fcn.00434823
add esp, 4
mov eax, dword [esp + 0x6c]
cmp eax, ebp
je 0x40bc53
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, esi
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 0xc