Function at 0x411bcf
Capabilities:
Check mutex on windows
Print debug messages
Set environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3dc
push ebx
push esi
push edi
push str.SMPHR_axh0sh3t
push 1
xor edi, edi
mov dword [ebp - 0x10], edx
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov esi, eax
push str.log:_982bl39p
call ebx
push edi
push 1
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov edi, dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
test eax, eax
je 0x411c1e
push str.0kjot3iu
push str.m3o25b4m
call edi
push 1
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push str.WTMR_9k868s1u
push 1
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
push eax
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
push str.ev_cb8mge68
push esi
push 1
push esi
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_SetEvent]
push esi
call dword [sym.imp.KERNEL32.dll_ResetEvent]
push 5
pop esi
lea eax, [ebp - 0xc]
push eax
push 0x20019
push 0
push str.regfobhs69v
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
sub esi, 1
jne 0x411c76
lea eax, [ebp - 0x158]
push eax
push str.s_n4zloh1a
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
push eax
push 0x69b
push eax
push 4
push eax
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
push str.log:_yn8axo0x
mov esi, eax
call ebx
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.XMLpd6bs9ro
push 1
xor esi, esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
push esi
push 1
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
push str.WTMR_u5vv1xa4
push 1
push esi
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
test eax, eax
je 0x411d09
push eax
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
jmp 0x411d15
push str.fv3a00le
push str.lic86mnp
call edi
push str.MTXu0eg892f
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov esi, eax
test esi, esi
je 0x411d39
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
xor esi, esi
jmp 0x411d55
lea eax, [ebp - 0xc]
xor esi, esi
push eax
push 0x20019
push esi
push str.regw62jlxzj
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push str.log:_tclsk9tz
call ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push str.xo4wj0oc
push str.yd5igay3
call edi
push 0x208
push 0x40
call dword [0x41a04c]
push str.MTXc2bkn5eh
push esi
push esi
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
test eax, eax
je 0x411da2
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push str.nl2h6euh
push str.lhjbb7jc
jmp 0x411db8
push str.xtrsvyac
push str.835586np
call edi
push str.2vat7v5n
push str.hgjfut0i
call edi
push str.log:_osb14u4u
call ebx
lea eax, [ebp - 0x298]
push eax
push str.s_bbjjtdwl
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push esi
push 0xc47
push esi
push 4
push esi
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0xfe1
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push str.log:_1s2elkpi
mov esi, eax
call ebx
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
push str.ev_en5fo1yh
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_SetEvent]
push esi
call dword [sym.imp.KERNEL32.dll_ResetEvent]
push str.SMPHR_ec0i9iz4
push 1
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
push str.attqr37a
push str.iybbol8c
mov esi, eax
call edi
push 0
push 1
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
test eax, eax
je 0x411e73
push str.omz2lm5m
push str.plzsoiy6
call edi
push 2
pop esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
sub esi, 1
jne 0x411e76
push str.WTMR_lll38uiu
push 1
push esi
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
push str.log:_4bfobbx9
mov esi, eax
call ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
call esi
push str.kbs9y161
push str.1h3en0dd
call edi
push str.XMLgpi4xrfo
push 1
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
push 0
push 1
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
push str.WTMR_cc3oskqn
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
push str.log:_gbwi9cuq
mov dword [ebp - 8], eax
call ebx
mov eax, dword [ebp - 8]
test eax, eax
je 0x411ef4
push eax
call esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x411f00
push str.j8ix1rqv
push str.criuhwu5
call edi
lea ecx, [ebp - 4]
call fcn.0041019a
push 0x208
push 0x40
mov dword [ebp - 0xc], eax
call dword [0x41a04c]
push 0xc
pop edx
mov ecx, eax
call fcn.0040fa82
mov edx, dword [0x41a29c]
mov esi, eax
mov ecx, dword [ebp - 4]
call fcn.004110ef
mov edx, esi
mov ecx, eax
call fcn.004110ef
push str.aobkzoef
push str.i0fr3kdb
mov dword [ebp - 8], eax
call edi
push str.WTMR_6st5qpiv
push 1
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
test eax, eax
je 0x411f67
push eax
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
jmp 0x411f73
push str.xssrvqii
push str.g2grfsrt
call edi
push str.SMPHR_mkaen1nw
push 1
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
push esi
push 1
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
push str.MTXqgutpvhu
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
test eax, eax
je 0x411fa6
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x411fdb
lea eax, [ebp - 4]
push eax
push 0x20019
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push str.reggnawnin8
push 0x80000001
call esi
lea eax, [ebp - 0x14]
push eax
push 0x20019
push 0
push str.regquvrp6s1
push 0x80000001
call esi
xor esi, esi
push str.ev_i5l599xc
push esi
push 1
push esi
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_SetEvent]
push esi
call dword [sym.imp.KERNEL32.dll_ResetEvent]
push 0xa
pop esi
push str.log:_gkx2f2xn
call ebx
sub esi, 1
jne 0x411ffd
lea eax, [ebp - 0x3d8]
push eax
push str.s_ka02uybc
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0x175
push esi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
push str.n9427ky5
push str.bbipln6e
call edi
push str.XMLr4p8odea
push 1
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
push esi
push 1
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
push str.exmrsk5f
push str.jzii7an7
call edi
push esi
push 0x62
push esi
push 4
push esi
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
push str.0po3tdrq
push str.4bodu6ev
mov esi, eax
call edi
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.log:_ubdiggkf
call ebx
push str.WTMR_faq7xn2n
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
push str.8mnpe5k7
push str.2mwzvgjy
mov esi, eax
call edi
push esi
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp - 8]
push esi
push dword [edi]
call dword [0x41a144]
push esi
mov dword [edi], eax
call dword [0x41a0cc]
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
leave
ret