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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x294
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
push esi
push edi
push str.XMLfoin32jm
push 1
xor edi, edi
mov dword [ebp - 8], ecx
push edi
push edi
call ebx
push edi
push 1
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
lea eax, [ebp - 0x150]
push eax
push str.s_2m7sfpix
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push str.WTMR_27g0adz4
push 1
push edi
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]
push str.ev_bnvim5xg
push edi
push 1
push edi
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 edi
push 0x57e
push edi
push 4
push edi
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov esi, eax
push str.log:_talq6v0q
call edi
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x79a
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
push str.SMPHR_x1fv76d7
push 1
push esi
push esi
call ebx
push str.log:_k3uiediu
mov esi, eax
call edi
push 0
push 1
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
test eax, eax
jne 0x40f133
push str.log:_tb6ni3l2
call edi
push 0x20a
push 0x40
call dword [0x41704c]
push str.WTMR_quoar347
push 1
push 0
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
mov esi, eax
lea eax, [ebp - 0xc]
push eax
push 0x20019
push 0
push str.regyzp63e35
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test esi, esi
je 0x40f179
push esi
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
push 0x104
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
push str.SMPHR_1kl19pj6
push 1
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
push str.log:_kancg7t1
mov esi, eax
call edi
xor edi, edi
push edi
push 1
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
test eax, eax
je 0x40f1d0
lea eax, [ebp - 4]
push eax
push 0x20019
push edi
push str.rega4f3edrn
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push str.WTMR_5zvyeopl
push 1
push edi
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
mov edi, dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
mov esi, eax
push str.oaoq0pe1
push str.tmi2zmeb
call edi
push esi
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
push str.hlm3qsgc
push str.cocp4e6i
call edi
lea eax, [ebp - 0x290]
push eax
push str.s_woh90ut1
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push str.XMLr8dsqzb2
push 1
xor edi, edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
push edi
push 1
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
push str.MTXlc2d7swa
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
test eax, eax
je 0x40f26b
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
lea eax, [ebp - 4]
push eax
push 0x20019
push edi
push str.regzzaf9643
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push ebx
push edi
push edi
push 0x1c
push edi
call dword [0x417198]
test eax, eax
js 0x40f38b
push str.ev_hidp652s
push edi
push 1
push edi
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.WTMR_g7c4kr0x
push 1
push edi
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
push eax
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.log:_11bup4rd
call edi
xor eax, eax
push eax
push 0xae7
push eax
push 4
push eax
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov esi, eax
lea eax, [ebp - 4]
push eax
push 0x20019
push 0
push str.reg752i9bce
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.log:_axqo56fh
call edi
push str.log:_3mza1gnu
call edi
push str.SMPHR_zq50x0vc
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 0x40f32d
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x40f334
push str.log:_wegn6rp2
call edi
push str.WTMR_xi23idum
push 1
push esi
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
je 0x40f355
push esi
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
push 0xd0a
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edx, dword [0x4174a4]
mov ecx, ebx
call fcn.0040fc69
mov edi, dword [ebp - 8]
mov esi, eax
push esi
push dword [edi]
call dword [0x417144]
push esi
mov dword [edi], eax
call dword [0x4170cc]
xor eax, eax
inc eax
jmp 0x40f398
test ebx, ebx
je 0x40f396
push ebx
call dword [0x4170cc]
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret