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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3e4
push ebx
push esi
push edi
push str.WTMR_0hedyixc
push 1
push 0
mov dword [ebp - 0xc], ecx
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
test esi, esi
je 0x4101df
push esi
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
push str.03phl5d1
push str.i9igj823
call ebx
lea eax, [ebp - 0x160]
push eax
push str.s_ttppglfr
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push str.XML6gsnbyoi
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]
lea eax, [ebp - 0x10]
push eax
push 0x20019
push esi
push str.reg3ze05pbk
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push str.ev_5p85n04q
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 str.MTXrzmzmzh8
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 4], eax
test eax, eax
je 0x41027f
push str.log:_cyeznx7j
call esi
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push str.log:_jg8dhjir
call esi
push str.WTMR_ve3ikuw9
push 1
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
push eax
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
push esi
push 0xefe
push esi
push 4
push esi
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov esi, eax
lea eax, [ebp - 0x14]
push eax
push 0x20019
push 0
push str.regcqcva334
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x18]
xor esi, esi
push eax
push 0x20019
push esi
push str.regbamzibk5
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push str.SMPHR_bifxioka
push 1
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
mov esi, eax
call edi
push 0
push 1
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
test eax, eax
je 0x410315
push str.log:_yhfo02kv
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x405
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
push 0x20a
push 0x40
call dword [0x41a04c]
push str.SMPHR_83tfs9s1
push 1
push esi
push esi
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
mov esi, eax
call edi
push 0
push 1
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
test eax, eax
je 0x410360
call edi
jmp 0x41037b
lea eax, [ebp - 8]
push eax
push 0x20019
push 0
push str.regzdi2kfgh
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push 0xce3
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, eax
call edi
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
push str.log:_j8zsrefj
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.WTMR_lymaqtai
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
push str.est4l0f7
push str.ejakcdbn
mov esi, eax
call ebx
test esi, esi
je 0x4103c8
push esi
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
jmp 0x4103e3
lea eax, [ebp - 8]
push eax
push 0x20019
push 0
push str.regno6ox05t
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push str.ev_uu21smhu
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.MTXw0drqjre
xor esi, esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
test eax, eax
je 0x41042a
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push str.0apu7qmv
push str.gycx2a8m
jmp 0x410440
push str.wpjj9rbv
push str.vcin21ik
call ebx
push str.un4oheun
push str.t4qn2xzx
call ebx
push esi
push 0xe03
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.WTMR_n5tcymo0
push 1
push esi
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
push eax
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
lea eax, [ebp - 0x2a0]
push eax
push str.s_wynhj7x6
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push str.XMLlvdkj4tx
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]
call edi
mov esi, dword [ebp - 4]
xor eax, eax
push esi
push eax
push eax
push 0x1c
push eax
call dword [0x41a198]
test eax, eax
js 0x41065b
push str.MTXjy2lq05q
xor esi, esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
test eax, eax
je 0x4104f1
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
lea eax, [ebp - 8]
push eax
push 0x20019
push esi
push str.regkfcts21b
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push str.ev_379joax5
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 0xd36
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push str.log:_tjq38n35
mov esi, eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
push 2
pop esi
lea eax, [ebp - 8]
push eax
push 0x20019
push 0
push str.regr4ejsdjc
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
sub esi, 1
jne 0x410534
push str.XMLr5ueuxxk
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.WTMR_f9gje71v
push 1
push esi
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
push eax
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
lea eax, [ebp - 0x3e0]
push eax
push str.s_lzwdyzq7
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push esi
push 0xac8
push esi
push 4
push esi
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
push str.log:_qttn0ni4
mov esi, eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call edi
push str.SMPHR_9gwd471j
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]
test eax, eax
je 0x4105ed
push str.log:_ubidyxgq
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.WTMR_kpn6rg3k
push 1
push esi
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
push str.f6qmfh57
push str.732cttao
mov esi, eax
call ebx
test esi, esi
je 0x410614
push esi
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
lea eax, [ebp - 0x1c]
push eax
push 0x20019
push 0
push str.regfzvafzd2
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
call edi
mov edx, dword [0x41a4a4]
mov ecx, dword [ebp - 4]
call fcn.004110ef
mov edi, dword [ebp - 0xc]
mov esi, eax
push esi
push dword [edi]
call dword [0x41a144]
push esi
mov dword [edi], eax
call dword [0x41a0cc]
xor eax, eax
inc eax
jmp 0x410668
test esi, esi
je 0x410666
push esi
call dword [0x41a0cc]
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret