Function at 0x41b4c0
Capabilities:
Check mutex and terminate process on windows
Check mutex on windows
Delete file
Enumerate gui resources
Get common file path
Get file attributes
Manipulate console buffer
Read .ini file
Terminate process

Disassembly:
mov eax, 0x13d4
call fcn.00416980
cmp dword [0x2b75dc4], 0x422
push ebx
push ebp
push esi
push edi
jne 0x41b555
push 0
push 0
push 0
call fcn.00403deb
add esp, 0xc
push 0x40360c
push 0
call fcn.00403deb
push 0
call fcn.00403db0
add esp, 0xc
push 0
push 0
call fcn.00403b0a
push 0
call fcn.00403db0
fldz
add esp, 8
fstp dword [esp]
call fcn.004039c0
fstp st(0)
push 0x403618
push 0x40361c
push 0x44c5b0
call fcn.00403deb
add esp, 0xc
push 0
call fcn.00403d1c
add esp, 4
push 0
push 0
push 0
push 0
call fcn.0040423b
push 0
call fcn.00403b82
add esp, 0x14
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentActCtx]
xor esi, esi
lea ecx, [ecx]
cmp esi, 0xff2
jne 0x41b573
mov eax, 0x38d6
add dword [0x2b75dc4], eax
cmp dword [0x2b75dc4], 0x534
jne 0x41b583
push 0
call edi
inc esi
cmp esi, 0x321aa6
jl 0x41b560
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov ebp, dword [sym.imp.KERNEL32.dll_SetLastError]
xor esi, esi
lea esp, [esp]
cmp esi, 0x1c275
jge 0x41b5ac
push 0
call ebp
cmp esi, 0x1ea070f3
jle 0x41b5c4
cmp edi, 0xacd436
je 0x41b5c4
cmp ebx, 0xad1af0c
jne 0x41b5cd
inc esi
cmp esi, 0x8c238a18
jb 0x41b5a0
mov eax, dword [0x2b75dc4]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, dword [sym.imp.KERNEL32.dll_EnumCalendarInfoExA]
mov edi, dword [sym.imp.KERNEL32.dll_EnumCalendarInfoW]
mov ebp, dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ebx, dword [sym.imp.KERNEL32.dll_SearchPathW]
mov dword [0x2b758a8], eax
mov eax, dword [0x2b75dc4]
mov dword [esp + 0x10], 0x962ae8
cmp eax, 3
jne 0x41b61c
lea ecx, [esp + 0x50]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
mov eax, dword [0x2b75dc4]
cmp eax, 0xd
jne 0x41b692
push 0
push 0
push 0
push 0
call esi
push 0
push 0
push 0
push 0
call edi
push 0
call ebp
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x3e4]
push eax
push 0
push 0x403624
push 0x403640
push 0x4036b0
call ebx
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
push 0x40371c
push 0
lea ecx, [esp + 0xbe8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesW]
lea edx, [esp + 0x14]
push edx
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetStringTypeA]
mov eax, dword [0x2b75dc4]
dec dword [esp + 0x10]
jne 0x41b605
xor esi, esi
test eax, eax
je 0x41b6d4
mov edi, dword [sym.imp.KERNEL32.dll__llseek]
mov ebx, dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov edi, edi
cmp eax, 0xfe
jne 0x41b6c5
push 0
push 0
push 0
call edi
push 0
push 0
call ebx
call fcn.0041b200
mov eax, dword [0x2b75dc4]
inc esi
cmp esi, eax
jb 0x41b6b0
cmp eax, 0x19c
jne 0x41b714
push 0x403758
call dword [sym.imp.KERNEL32.dll_AddAtomW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumTimeFormatsW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetCalendarInfoA]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
mov edi, dword [sym.imp.USER32.dll_LoadMenuA]
mov esi, 0x8dc
nop
push 0
push 0
call edi
dec esi
jne 0x41b720
mov esi, dword [sym.imp.KERNEL32.dll_AddAtomA]
mov edi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebx, 0x25865
mov ebp, 0x15a
nop
cmp dword [0x2b75dc4], ebp
jne 0x41b752
push 0
call esi
push 0
push 0
call edi
dec ebx
jne 0x41b740
mov byte [0x44c5b0], bl
call fcn.0041ad40
call fcn.0041b490
call fcn.0041b1e0
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileSectionW]
mov edi, dword [sym.imp.KERNEL32.dll_GetConsoleAliasW]
mov ebx, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov ebp, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov dword [esp + 0x10], 0xdd7b3
lea ebx, [ebx]
cmp dword [0x2b75dc4], 0x21
jne 0x41b7bc
push 0
push 0
push 0
call esi
push 0
push 0
lea eax, [esp + 0xbe8]
push eax
push 0
call edi
lea ecx, [esp + 0x1c]
push ecx
call ebx
push 0
call ebp
dec dword [esp + 0x10]
jne 0x41b790
call fcn.0041b430
cmp dword [0x2b75dc4], 0x58c
mov byte [0x44c5b1], 0x73
jne 0x41b875
push 0
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
lea edx, [esp + 0x190]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumResourceTypesA]
push 0x403798
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenWaitableTimerW]
push 0x30
lea eax, [esp + 0x24]
push 0
push eax
mov dword [esp + 0x28], 0
call fcn.0040b920
add esp, 0xc
push 0
lea ecx, [esp + 0x20]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_SetDefaultCommConfigW]
push 0x4037b0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WriteConsoleInputA]
lea edx, [esp + 0x50]
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCPInfoExA]
call fcn.0041b1f0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x13d4
ret