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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2a4
push ebx
push esi
push edi
push 0x26e
xor edi, edi
mov dword [ebp - 8], edx
push edi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call ebx
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea eax, [ebp - 0x10]
push eax
push 0x20019
push edi
push str.regnzv4wvxn
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push str.ev_v4tqtxno
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_8zhp33zt
push 1
push edi
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
mov esi, dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
test eax, eax
je 0x40f811
push eax
call esi
push str.t45511ik9
jmp 0x40f816
push str.ttorgxv5m
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call edi
push str.XMLf91r4xcv
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]
push str.MTX5u8ptwy0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [ebp - 4], eax
test eax, eax
je 0x40f870
push str.wfy3i05h
push str.nhy1vzmm
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push str.t1pi8p487
call edi
push str.WTMR_fgohzvee
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
push eax
call esi
call ebx
xor eax, eax
push eax
push 0xa8c
push eax
push 4
push eax
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov esi, eax
lea eax, [ebp - 0x14]
push eax
push 0x20019
push 0
push str.regr3z819eq
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.xjah9ors
push str.wem6yeez
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
mov eax, dword [0x41504c]
push 0x208
push 0x40
call eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x160]
push eax
push str.s_61jb01mx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0xef3
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
push str.ev_n9fcr403
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.WTMR_90ycp0c2
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
mov esi, dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
push eax
call esi
push str.WTMR_ejqbin6h
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
test eax, eax
je 0x40f961
push eax
call esi
push str.t60isn899
call edi
jmp 0x40f971
push str.th9l7yzz
push str.jnbp7w8t
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
push str.SMPHR_4mr1tbn2
push 1
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
push str.t1xpmw5to
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 0x40f99d
call ebx
lea ecx, [ebp - 4]
call fcn.0040e48d
mov ecx, dword [0x41504c]
push 0x208
push 0x40
mov dword [ebp - 0xc], eax
call ecx
push 0xc
pop edx
mov ecx, eax
call fcn.0040de71
mov edx, dword [0x4152a8]
mov esi, eax
mov ecx, dword [ebp - 4]
call fcn.0040f012
mov edx, esi
mov ecx, eax
call fcn.0040f012
push str.ev_ppfv76lo
push edi
push 1
push edi
mov dword [ebp - 4], eax
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_i0q2h1lg
push 1
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
mov edi, dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
push eax
call edi
push esi
push 0x4e
push esi
push 4
push esi
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov esi, eax
call ebx
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.WTMR_sq7avrj1
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
mov esi, eax
call ebx
test esi, esi
je 0x40fa49
push esi
call edi
mov esi, dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
xor edi, edi
push str.XMLikw06o49
push 1
push edi
push edi
call esi
push edi
push 1
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
lea eax, [ebp - 0x18]
push eax
push 0x20019
push edi
mov edi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push str.regf217bk30
push 0x80000001
call edi
push str.SMPHR_zuz2r5sz
push 1
push 0
push 0
call esi
mov esi, eax
call ebx
push 0
push 1
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
test eax, eax
je 0x40fab9
lea eax, [ebp - 0x1c]
push eax
push 0x20019
push 0
push str.regfbk5xbk3
push 0x80000001
call edi
push 0x988
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea eax, [ebp - 0x20]
push eax
push 0x20019
push 0
push str.regzrv2ygo6
push 0x80000001
call edi
push 3
pop esi
call ebx
sub esi, 1
jne 0x40fae7
lea eax, [ebp - 0x2a0]
push eax
push str.s_wypnk40k
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push str.MTXbuj0t1o5
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
test eax, eax
je 0x40fb21
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x40fb31
push str.tdn2hc46
push str.uyfrlhcm
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
mov edi, dword [ebp - 8]
mov esi, dword [ebp - 4]
mov eax, dword [0x415144]
push esi
push dword [edi]
call eax
push esi
mov dword [edi], eax
call dword [0x4150cc]
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
leave
ret