Function at 0x129cb50
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ecx
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [0x12fe3c4], eax
test eax, eax
je 0x129ce88
push str.ntdll.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [0x12fe404], eax
test eax, eax
je 0x129ce88
push esi
push 0x11c
push 0
push 0x12fe2a8
call sym.VBoxTray.exe_nocrt_memset
add esp, 0xc
mov dword [0x12fe2a8], 0x11c
push str.RtlGetVersion
push dword [0x12fe404]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x129cbd1
push 0x12fe2a8
mov ecx, esi
call dword [section..rdata]
call esi
test eax, eax
je 0x129ccd3
push 0x11c
push 0
push 0x12fe2a8
call sym.VBoxTray.exe_nocrt_memset
add esp, 0xc
mov dword [0x12fe2a8], 0x11c
push str.GetVersionExW
push dword [0x12fe3c4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x129cc1d
push 0x12fe2a8
mov ecx, esi
call dword [section..rdata]
call esi
test eax, eax
jne 0x129ccd3
push 0x11c
push 0
push 0x12fe2a8
call sym.VBoxTray.exe_nocrt_memset
add esp, 0xc
mov dword [0x12fe2a8], 0x114
test esi, esi
je 0x129cc52
push 0x12fe2a8
mov ecx, esi
call dword [section..rdata]
call esi
test eax, eax
jne 0x129cca5
push 0x11c
push 0
push 0x12fe2a8
call sym.VBoxTray.exe_nocrt_memset
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetVersion]
movzx ecx, al
mov dword [0x12fe2ac], ecx
mov ecx, eax
shr ecx, 8
movzx ecx, cl
mov dword [0x12fe2b0], ecx
test eax, eax
js 0x129cc91
shr eax, 0x10
mov dword [0x12fe2b4], eax
jmp 0x129cc9b
mov dword [0x12fe2b4], 0x1ff
mov dword [0x12fe2b8], 2
lea eax, [ebp - 4]
mov dword [0x12fe2a8], 0x11c
push eax
mov byte [0x12fe3c2], 1
mov dword [ebp - 4], 1
call dword [sym.imp.ntdll.dll_RtlGetNtProductType]
test al, al
je 0x129ccd3
mov al, byte [ebp - 4]
mov byte [0x12fe3c2], al
cmp dword [0x12fe2a8], 0
je 0x129ccee
push 0x12fe2a8
call fcn.0129cff0
add esp, 4
mov dword [0x12fe2a0], eax
mov eax, dword [ebp + 8]
xor esi, esi
test al, 8
jne 0x129cd02
push eax
call fcn.0129ceb0
add esp, 4
mov esi, eax
push str.GetSystemWindowsDirectoryW
push dword [0x12fe3c4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x12fe3c8], eax
test eax, eax
je 0x129cd32
push str.GetWindowsDirectoryW
push dword [0x12fe3c4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x12fe3c8], eax
push str.SystemTimeToTzSpecificLocalTime
push dword [0x12fe3c4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.CreateWaitableTimerExW
push dword [0x12fe3c4]
mov dword [0x12fe3d0], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.GetHandleInformation
push dword [0x12fe3c4]
mov dword [0x12fe3cc], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SetHandleInformation
push dword [0x12fe3c4]
mov dword [0x12fe3d4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.IsDebuggerPresent
push dword [0x12fe3c4]
mov dword [0x12fe3d8], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.GetSystemTimeAsFileTime
push dword [0x12fe3c4]
mov dword [0x12fe3dc], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.GetProcessAffinityMask
push dword [0x12fe3c4]
mov dword [0x12fe3e0], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SetThreadAffinityMask
push dword [0x12fe3c4]
mov dword [0x12fe3e4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.CreateIoCompletionPort
push dword [0x12fe3c4]
mov dword [0x12fe3e8], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.GetQueuedCompletionStatus
push dword [0x12fe3c4]
mov dword [0x12fe3ec], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.PostQueuedCompletionStatus
push dword [0x12fe3c4]
mov dword [0x12fe3f0], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.IsProcessorFeaturePresent
push dword [0x12fe3c4]
mov dword [0x12fe3f4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.NtQueryFullAttributesFile
push dword [0x12fe404]
mov dword [0x12fe400], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.NtDuplicateToken
push dword [0x12fe404]
mov dword [0x12fe408], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.NtAlertThread
push dword [0x12fe404]
mov dword [0x12fe40c], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x12fe410], eax
call fcn.0129d230
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, 0xffffff1e
mov esp, ebp
pop ebp
ret