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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4d4
and dword [ebp - 8], 0
xor eax, eax
push ebx
push esi
push edi
push str.WTMR_wnyva9yk
inc eax
mov dword [ebp - 0xc], ecx
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
mov edi, dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
mov esi, eax
push str.l3y1rzqz
push str.agwgdq4y
call edi
push esi
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
lea eax, [ebp - 0x390]
push eax
push str.s_pyxqs1ei
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.log:_v2hy4za7
call ebx
push str.SMPHR_85c258zc
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]
test eax, eax
je 0x412233
call esi
jmp 0x41223f
push str.bro52yse
push str.uqbohamu
call edi
push str.WTMR_pc4nb5mi
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
mov esi, eax
lea eax, [ebp - 0x14]
push eax
push 0x20019
push 0
push str.regpzrtgfx8
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test esi, esi
je 0x41227d
push esi
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
push str.log:_sl0urj2p
call ebx
push str.ev_g0eswyem
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.XML3rvqja4o
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 esi
push 0x51f
push esi
push 4
push esi
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov esi, eax
lea eax, [ebp - 0x18]
push eax
push 0x20019
push 0
push str.regg49wb4i4
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push str.MTXw4ai6zik
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov esi, eax
test esi, esi
je 0x41231d
push str.589gyvzc
push str.twdi9rxv
call edi
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push 0x6b2
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push esi
push 2
call dword [0x41a09c]
mov dword [ebp - 4], eax
cmp eax, 0xffffffff
je 0x4126b2
push str.ev_5221nje1
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.SMPHR_0ky6fcl0
push 1
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
push str.7urnx7ua
push str.yh5q4ci0
mov esi, eax
call edi
push 0
push 1
push esi
mov esi, dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
call esi
test eax, eax
jne 0x412395
call dword [sym.imp.KERNEL32.dll_GetLastError]
push str.XMLm467jgmh
push 1
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
push 0
push 1
push eax
call esi
push str.dqdvhpw7
push str.d0em0nba
call edi
push str.MTXdb7ep6ml
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov esi, eax
test esi, esi
je 0x4123dc
push str.log:_gyx7g6sq
call ebx
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
xor eax, eax
push eax
push 0xef3
push eax
push 4
push eax
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov esi, eax
lea eax, [ebp - 0x1c]
push eax
push 0x20019
push 0
push str.regm5eu9bar
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.WTMR_jp6ln232
push 1
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
test eax, eax
je 0x412431
push eax
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
jmp 0x41244b
lea eax, [ebp - 0x10]
push eax
push 0x20019
push esi
push str.regv22jqqmf
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea eax, [ebp - 0x4d0]
push eax
push str.s_25g2ckmg
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0xccf
push esi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push str.lj1k9jhd
push str.0z51nr6b
mov esi, eax
call edi
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
push str.WTMR_j9uqnmlo
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
push str.log:_oauvari0
mov esi, eax
call ebx
push esi
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
lea eax, [ebp - 0x250]
mov dword [ebp - 0x250], 0x22c
push eax
push dword [ebp - 4]
call dword [0x41a070]
jmp 0x4126a1
push dword [ebp - 0xc]
lea eax, [ebp - 0x22c]
push eax
call dword [0x41a11c]
test eax, eax
jne 0x412691
push str.SMPHR_6neic8po
inc eax
xor esi, esi
push eax
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 0x412516
lea eax, [ebp - 0x10]
push eax
push 0x20019
push esi
push str.reglh44djom
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
jmp 0x41251c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push str.ev_qfoq1865
xor eax, eax
push esi
inc eax
push eax
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.MTX89vqlxvn
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov esi, eax
test esi, esi
je 0x41256e
push str.log:_6ssyugat
call ebx
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push str.zg1bd21t
push str.t2zge8jz
call edi
jmp 0x412581
push str.yf478l25
push str.21ukj65j
call edi
push str.log:_8em9oqm6
call ebx
xor esi, esi
push esi
push 0xb27
push esi
push 4
push esi
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
push str.WTMR_11tki84d
inc eax
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0xa4c
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push str.log:_97ykqv1q
mov esi, eax
call ebx
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
push str.log:_5gyv83zf
call ebx
push 9
pop esi
push str.s78ra1ze
push str.jhrfl9cz
call edi
sub esi, 1
jne 0x4125ee
push str.XMLr4vale3e
xor eax, eax
inc eax
push eax
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
push esi
push 1
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
xor eax, eax
push str.WTMR_d71xescw
inc eax
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
mov esi, eax
lea eax, [ebp - 0x20]
push eax
push 0x20019
push 0
push str.reg41wgj2rn
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test esi, esi
je 0x412654
push esi
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
jmp 0x41265b
push str.log:_05aiucbs
call ebx
push dword [ebp - 0x248]
xor eax, eax
push 0
inc eax
push eax
call dword [0x41a060]
mov esi, eax
test esi, esi
je 0x412691
push 0
push esi
call dword [0x41a118]
mov ecx, dword [ebp - 8]
test eax, eax
push 1
pop eax
cmovne ecx, eax
push esi
mov dword [ebp - 8], ecx
call dword [0x41a0c0]
lea eax, [ebp - 0x250]
push eax
push dword [ebp - 4]
call dword [0x41a00c]
test eax, eax
jne 0x4124c3
push dword [ebp - 4]
call dword [0x41a0c0]
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
leave
ret