Function at 0x40c750
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 [0x44b1e4], eax
test eax, eax
je 0x40ca88
push str.ntdll.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [0x44b224], eax
test eax, eax
je 0x40ca88
push esi
push 0x11c
push 0
push 0x44b0c8
call sym.ntTimeSources.exe_nocrt_memset
add esp, 0xc
mov dword [0x44b0c8], 0x11c
push str.RtlGetVersion
push dword [0x44b224]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x40c7d1
push 0x44b0c8
mov ecx, esi
call dword [section..rdata]
call esi
test eax, eax
je 0x40c8d3
push 0x11c
push 0
push 0x44b0c8
call sym.ntTimeSources.exe_nocrt_memset
add esp, 0xc
mov dword [0x44b0c8], 0x11c
push str.GetVersionExW
push dword [0x44b1e4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x40c81d
push 0x44b0c8
mov ecx, esi
call dword [section..rdata]
call esi
test eax, eax
jne 0x40c8d3
push 0x11c
push 0
push 0x44b0c8
call sym.ntTimeSources.exe_nocrt_memset
add esp, 0xc
mov dword [0x44b0c8], 0x114
test esi, esi
je 0x40c852
push 0x44b0c8
mov ecx, esi
call dword [section..rdata]
call esi
test eax, eax
jne 0x40c8a5
push 0x11c
push 0
push 0x44b0c8
call sym.ntTimeSources.exe_nocrt_memset
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetVersion]
movzx ecx, al
mov dword [0x44b0cc], ecx
mov ecx, eax
shr ecx, 8
movzx ecx, cl
mov dword [0x44b0d0], ecx
test eax, eax
js 0x40c891
shr eax, 0x10
mov dword [0x44b0d4], eax
jmp 0x40c89b
mov dword [0x44b0d4], 0x1ff
mov dword [0x44b0d8], 2
lea eax, [ebp - 4]
mov dword [0x44b0c8], 0x11c
push eax
mov byte [0x44b1e2], 1
mov dword [ebp - 4], 1
call dword [sym.imp.ntdll.dll_RtlGetNtProductType]
test al, al
je 0x40c8d3
mov al, byte [ebp - 4]
mov byte [0x44b1e2], al
cmp dword [0x44b0c8], 0
je 0x40c8ee
push 0x44b0c8
call fcn.0040cbf0
add esp, 4
mov dword [0x44b0c4], eax
mov eax, dword [ebp + 8]
xor esi, esi
test al, 8
jne 0x40c902
push eax
call fcn.0040cab0
add esp, 4
mov esi, eax
push str.GetSystemWindowsDirectoryW
push dword [0x44b1e4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x44b1e8], eax
test eax, eax
je 0x40c932
push str.GetWindowsDirectoryW
push dword [0x44b1e4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x44b1e8], eax
push str.SystemTimeToTzSpecificLocalTime
push dword [0x44b1e4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.CreateWaitableTimerExW
push dword [0x44b1e4]
mov dword [0x44b1f0], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.GetHandleInformation
push dword [0x44b1e4]
mov dword [0x44b1ec], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SetHandleInformation
push dword [0x44b1e4]
mov dword [0x44b1f4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.IsDebuggerPresent
push dword [0x44b1e4]
mov dword [0x44b1f8], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.GetSystemTimeAsFileTime
push dword [0x44b1e4]
mov dword [0x44b1fc], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.GetProcessAffinityMask
push dword [0x44b1e4]
mov dword [0x44b200], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SetThreadAffinityMask
push dword [0x44b1e4]
mov dword [0x44b204], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.CreateIoCompletionPort
push dword [0x44b1e4]
mov dword [0x44b208], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.GetQueuedCompletionStatus
push dword [0x44b1e4]
mov dword [0x44b20c], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.PostQueuedCompletionStatus
push dword [0x44b1e4]
mov dword [0x44b210], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.IsProcessorFeaturePresent
push dword [0x44b1e4]
mov dword [0x44b214], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.NtQueryFullAttributesFile
push dword [0x44b224]
mov dword [0x44b220], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.NtDuplicateToken
push dword [0x44b224]
mov dword [0x44b228], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.NtAlertThread
push dword [0x44b224]
mov dword [0x44b22c], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x44b230], eax
call fcn.0040ce30
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, 0xffffff1e
mov esp, ebp
pop ebp
ret