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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x15c
push ebx
push esi
push edi
push str.ev_6mrle07k
xor edi, edi
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_wconabtl
push 1
push edi
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov esi, eax
push str.log:_ws3ah8wi
call ebx
test esi, esi
je 0x40f7de
push esi
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
jmp 0x40f7e5
push str.log:_3ub1d5md
call ebx
push edi
push 0xe74
push edi
push 4
push edi
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.XMLh716dx0d
push 1
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.log:_4ocswomf
call ebx
push str.MTXxfoco2km
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov esi, eax
test esi, esi
je 0x40f853
push str.log:_27qhpm4l
call ebx
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push str.krparfhc
push str.ra5y1mw4
jmp 0x40f85d
push str.uan4h6sy
push str.otyhjrx3
mov edi, dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
call edi
push str.WTMR_uum64zwd
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
push str.6eu3d97e
push str.hz1dl970
mov esi, eax
call edi
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
call esi
push 0x208
push 0x40
call dword [0x41604c]
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x158]
push eax
push str.s_724scot4
mov dword [ebp - 8], 0x104
mov dword [ebp - 0x10], 1
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push str.WTMR_0u4j3v75
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
push eax
call esi
push str.WTMR_u2dt5rzw
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
test eax, eax
je 0x40f8ee
push eax
call esi
xor esi, esi
jmp 0x40f90a
lea eax, [ebp - 0x14]
xor esi, esi
push eax
push 0x20019
push esi
push str.reg62mxsxg4
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push str.MTXjk4qffz3
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
test eax, eax
je 0x40f93c
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
lea eax, [ebp - 0x14]
push eax
push 0x20019
push esi
push str.regt3ssat0g
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push str.XMLukyguhvp
push 1
push esi
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
call esi
push 0
push 1
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
push str.vzf635n9
push str.d04egx23
call edi
push str.SMPHR_rjmxyfte
push 1
push 0
push 0
call esi
xor esi, esi
push esi
push 1
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
test eax, eax
jne 0x40f98d
push str.689h2og1
push str.estsr9kb
call edi
push 0xa3c
push esi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
push str.log:_n9gghsqs
call ebx
push str.ev_d3qb6hpz
push esi
push 1
push esi
call dword [sym.imp.KERNEL32.dll_CreateEventA]
lea eax, [ebp - 4]
push eax
push 0x20119
push esi
push dword [0x416394]
push 0x80000002
call dword [0x4160a0]
mov ebx, dword [ebp - 0xc]
mov esi, eax
lea eax, [ebp - 8]
push eax
push ebx
lea eax, [ebp - 0x10]
push eax
push 0
push dword [0x4162c4]
push dword [ebp - 4]
call dword [0x4160d4]
test esi, esi
jne 0x40f9f8
test eax, eax
je 0x40fa01
push dword [ebp - 4]
call dword [0x416068]
pop edi
pop esi
mov eax, ebx
pop ebx
leave
ret