Function at 0x40fe7f
Capabilities:
Print debug messages
Set environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38c
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 8], ecx
push str.WTMR_gu99vp63
inc eax
xor esi, esi
push eax
push esi
mov ebx, esi
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
test eax, eax
je 0x40fead
push eax
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
push str.MTXyv6t351a
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov esi, eax
test esi, esi
je 0x40fedc
push str.log:_tm08ws0p
call edi
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x40fee3
push str.log:_whfgsv2x
call edi
push str.WTMR_q87ae615
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
mov esi, eax
lea eax, [ebp - 0xc]
push eax
push 0x20019
push 0
push str.regitv3pozu
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push esi
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
push 0x86e
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
push str.4spu6x27
push str.1qqwdrfa
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
push esi
push 0x71f
push esi
push 4
push esi
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.ev_y60lcz3k
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]
xor esi, esi
push esi
push 2
call dword [0x41609c]
mov dword [ebp - 4], eax
cmp eax, 0xffffffff
je 0x4101e0
push str.WTMR_992k4e0e
push 1
push esi
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
test eax, eax
je 0x40ffab
push eax
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x40ffbb
push str.6zrajgie
push str.zfllc9c1
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
lea eax, [ebp - 0x388]
push eax
push str.s_d0f2d90z
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push esi
push 0xa60
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 str.MTX2trdu9pa
xor esi, esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
test eax, eax
je 0x410011
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x410021
push str.fy9q4f9p
push str.wgud6a7e
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
push str.SMPHR_ot4tssds
push 1
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
mov esi, eax
lea eax, [ebp - 0x10]
push eax
push 0x20019
push 0
push str.regck7ca0fd
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push 0
push 1
push esi
mov esi, dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
call esi
push str.XML2twfznwn
push 1
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
push 0
push 1
push eax
call esi
lea eax, [ebp - 0x248]
mov dword [ebp - 0x248], 0x22c
push eax
push dword [ebp - 4]
call dword [0x416070]
jmp 0x4101cf
push dword [ebp - 8]
lea eax, [ebp - 0x224]
push eax
call dword [0x41611c]
test eax, eax
jne 0x4101bf
push str.WTMR_racysy1h
inc eax
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
push str.log:_g683fm06
mov esi, eax
call edi
push esi
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
push str.log:_011xb9mi
call edi
push str.ev_xot9vvwm
xor eax, eax
push 0
inc eax
push eax
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 0x516
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
push str.SMPHR_9uxnvk5r
xor eax, eax
inc eax
push eax
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
push str.unnq6zvd
push str.1r1xx37d
mov esi, eax
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
xor eax, eax
push 0
inc eax
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
test eax, eax
jne 0x410156
lea eax, [ebp - 0x14]
push eax
push 0x20019
push 0
push str.regcru1klob
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push str.MTXv98cvmxx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
test eax, eax
je 0x410182
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push str.e296samb
push str.saoqx8qq
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
jmp 0x410188
call dword [sym.imp.KERNEL32.dll_GetLastError]
push str.log:_rfyblv8j
call edi
push dword [ebp - 0x240]
xor eax, eax
push 0
inc eax
push eax
call dword [0x416060]
mov esi, eax
test esi, esi
je 0x4101bf
push 0
push esi
call dword [0x416118]
push 1
test eax, eax
pop eax
push esi
cmovne ebx, eax
call dword [0x4160c0]
lea eax, [ebp - 0x248]
push eax
push dword [ebp - 4]
call dword [0x41600c]
test eax, eax
jne 0x410091
push dword [ebp - 4]
call dword [0x4160c0]
pop edi
pop esi
mov eax, ebx
pop ebx
leave
ret