Function at 0x100dcdf6
Capabilities:
Check mutex on windows
Read file on windows

Disassembly:
push 0x5c
mov eax, 0x1018e0ad
call fcn.10145db3
mov edi, 0x101f9398
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [0x101f93b8]
push edi
call ebx
test esi, esi
jg 0x100dd10b
push str.B0FE8C19_4C14_4b12_9005_1E871700C232
push 0
mov ecx, 0x101f8c68
call fcn.10016a0b
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
xor esi, esi
cmp eax, esi
mov dword [ebp - 0x2c], eax
je 0x100dd10b
push 1
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x100dd102
lea eax, [ebp - 0x24]
push eax
call fcn.1011de11
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], esi
mov dword [esp], str.namedsites.dat
call fcn.1001107f
lea eax, [ebp - 0x68]
push eax
push dword [ebp - 0x24]
call fcn.10148cc9
test eax, eax
pop ecx
pop ecx
jne 0x100dd0f1
cmp dword [ebp - 0x54], esi
jle 0x100dd0f1
push 0x101a04a8
push dword [ebp - 0x24]
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.10147b95
add esp, 0xc
test eax, eax
jne 0x100dd0f1
mov eax, dword [ebp - 0x54]
add eax, 2
push eax
call fcn.10144fc2
mov esi, eax
test esi, esi
pop ecx
mov dword [ebp - 0x30], esi
je 0x100dd0e2
mov eax, dword [ebp - 0x54]
add eax, 2
push eax
push 0
push esi
call fcn.10146c80
push dword [ebp - 0x18]
push dword [ebp - 0x54]
push 1
push esi
call fcn.10147aa1
add esp, 0x1c
cmp dword [ebp - 0x54], eax
jne 0x100dd0db
push dword [ebp - 0x18]
call fcn.101475da
push dword [ebp - 0x54]
and dword [ebp - 0x18], 0
push esi
call fcn.1007358e
mov eax, dword [0x101f3028]
add esp, 0xc
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 4
cmp byte [esi], 0
je 0x100dd0c0
mov ecx, esi
mov al, byte [esi]
cmp al, 0x7c
je 0x100dcf39
test al, al
je 0x100dcf39
inc esi
jmp 0x100dcf2c
cmp byte [esi], 0
je 0x100dd0c0
push ecx
lea ecx, [ebp - 0x1c]
mov byte [esi], 0
call fcn.1001e27f
lea ecx, [ebp - 0x1c]
call fcn.10004076
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.dll_CharLowerW]
inc esi
mov ecx, esi
mov al, byte [esi]
cmp al, 0x7c
je 0x100dcf73
cmp al, 0xa
je 0x100dcf73
test al, al
je 0x100dcf73
inc esi
jmp 0x100dcf62
mov al, byte [esi]
test al, al
je 0x100dd0c0
xor edx, edx
cmp al, 0xa
sete dl
push ecx
lea ecx, [ebp - 0x14]
mov byte [esi], 0
mov dword [ebp - 0x28], edx
call fcn.1001e27f
lea ecx, [ebp - 0x14]
call fcn.10004076
push dword [ebp - 0x14]
call dword [sym.imp.USER32.dll_CharLowerW]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x101f9370
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x38]
call fcn.1001520f
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x44]
push eax
mov ecx, 0x101f9388
mov byte [ebp - 4], 5
call fcn.10015906
lea eax, [ebp - 0x14]
push eax
mov ecx, 0x101f93b0
call fcn.100dcb35
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x40]
push 0x101f9370
mov dword [eax + 4], ecx
call ebx
push edi
call ebx
inc esi
cmp dword [ebp - 0x28], 0
jne 0x100dd062
mov ecx, esi
mov al, byte [esi]
test al, al
je 0x100dd062
cmp al, 0x7c
je 0x100dd019
cmp al, 0xa
je 0x100dd019
inc esi
jmp 0x100dd008
xor edx, edx
cmp al, 0xa
sete dl
push ecx
lea ecx, [ebp - 0x20]
mov byte [esi], 0
mov dword [ebp - 0x28], edx
call fcn.1001e27f
lea ecx, [ebp - 0x20]
call fcn.10004076
push dword [ebp - 0x20]
call dword [sym.imp.USER32.dll_CharLowerW]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [ebp - 0x20]
push eax
mov ecx, 0x101f93b0
call fcn.100dcb35
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x40]
mov dword [eax + 4], ecx
jmp 0x100dcffc
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 4
call fcn.10003b75
lea ecx, [ebp - 0x38]
call fcn.10003b75
jmp 0x100dcf21
lea ecx, [ebp - 0x1c]
call fcn.10003b75
lea ecx, [ebp - 0x14]
call fcn.10003b75
lea ecx, [ebp - 0x20]
call fcn.10003b75
mov esi, dword [ebp - 0x30]
push esi
call fcn.10145563
pop ecx
cmp dword [ebp - 0x18], 0
je 0x100dd0f1
push dword [ebp - 0x18]
call fcn.101475da
pop ecx
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
lea ecx, [ebp - 0x24]
call fcn.10003b75
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.10145e58
ret