Function at 0x520900
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf0
push ebx
push esi
push edi
lea edi, [ebp - 0xf0]
mov ecx, 0x3c
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x56666c]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, 0x57425b
call fcn.0046464e
mov esi, esp
push str.winmm.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp esi, esp
call fcn.00464018
mov dword [0x56efb0], eax
cmp dword [0x56efb0], 0
jne 0x52096d
push str.Win32:_Failed_to_load_winmm.dll
push 0x10008
call fcn.004632bc
add esp, 8
xor eax, eax
jmp 0x520c94
mov esi, esp
push str.timeGetTime
mov eax, dword [0x56efb0]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call fcn.00464018
mov dword [0x56efb4], eax
mov esi, esp
push str.user32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp esi, esp
call fcn.00464018
mov dword [0x56efd0], eax
cmp dword [0x56efd0], 0
jne 0x5209c7
push str.Win32:_Failed_to_load_user32.dll
push 0x10008
call fcn.004632bc
add esp, 8
xor eax, eax
jmp 0x520c94
mov esi, esp
push str.SetProcessDPIAware
mov eax, dword [0x56efd0]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call fcn.00464018
mov dword [0x56efd4], eax
mov esi, esp
push str.ChangeWindowMessageFilterEx
mov eax, dword [0x56efd0]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call fcn.00464018
mov dword [0x56efd8], eax
mov esi, esp
push str.EnableNonClientDpiScaling
mov eax, dword [0x56efd0]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call fcn.00464018
mov dword [0x56efdc], eax
mov esi, esp
push str.SetProcessDpiAwarenessContext
mov eax, dword [0x56efd0]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call fcn.00464018
mov dword [0x56efe0], eax
mov esi, esp
push str.GetDpiForWindow
mov eax, dword [0x56efd0]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call fcn.00464018
mov dword [0x56efe4], eax
mov esi, esp
push str.AdjustWindowRectExForDpi
mov eax, dword [0x56efd0]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call fcn.00464018
mov dword [0x56efe8], eax
mov esi, esp
push str.dinput8.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp esi, esp
call fcn.00464018
mov dword [0x56efb8], eax
cmp dword [0x56efb8], 0
je 0x520ac2
mov esi, esp
push str.DirectInput8Create
mov eax, dword [0x56efb8]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call fcn.00464018
mov dword [0x56efbc], eax
mov dword [ebp - 0x2c], str.xinput1_4.dll
mov dword [ebp - 0x28], str.xinput1_3.dll
mov dword [ebp - 0x24], str.xinput9_1_0.dll
mov dword [ebp - 0x20], str.xinput1_2.dll
mov dword [ebp - 0x1c], str.xinput1_1.dll
mov dword [ebp - 0x18], 0
mov dword [ebp - 0xc], 0
jmp 0x520afe
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cmp dword [ebp + eax*4 - 0x2c], 0
je 0x520b6f
mov esi, esp
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + eax*4 - 0x2c]
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp esi, esp
call fcn.00464018
mov dword [0x56efc4], eax
cmp dword [0x56efc4], 0
je 0x520b6d
mov esi, esp
push str.XInputGetCapabilities
mov eax, dword [0x56efc4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call fcn.00464018
mov dword [0x56efc8], eax
mov esi, esp
push str.XInputGetState
mov eax, dword [0x56efc4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call fcn.00464018
mov dword [0x56efcc], eax
jmp 0x520b6f
jmp 0x520af5
mov esi, esp
push str.dwmapi.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp esi, esp
call fcn.00464018
mov dword [0x56efec], eax
cmp dword [0x56efec], 0
je 0x520bee
mov esi, esp
push str.DwmIsCompositionEnabled
mov eax, dword [0x56efec]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call fcn.00464018
mov dword [0x56eff0], eax
mov esi, esp
push str.DwmFlush
mov eax, dword [0x56efec]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call fcn.00464018
mov dword [0x56eff4], eax
mov esi, esp
push str.DwmEnableBlurBehindWindow
mov eax, dword [0x56efec]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call fcn.00464018
mov dword [0x56eff8], eax
mov esi, esp
push str.shcore.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp esi, esp
call fcn.00464018
mov dword [0x56effc], eax
cmp dword [0x56effc], 0
je 0x520c4e
mov esi, esp
push str.SetProcessDpiAwareness
mov eax, dword [0x56effc]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call fcn.00464018
mov dword [0x56f000], eax
mov esi, esp
push str.GetDpiForMonitor
mov eax, dword [0x56effc]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call fcn.00464018
mov dword [0x56f004], eax
mov esi, esp
push str.ntdll.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp esi, esp
call fcn.00464018
mov dword [0x56f008], eax
cmp dword [0x56f008], 0
je 0x520c8f
mov esi, esp
push str.RtlVerifyVersionInfo
mov eax, dword [0x56f008]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call fcn.00464018
mov dword [0x56f00c], eax
mov eax, 1
push edx
mov ecx, ebp
push eax
lea edx, [0x520cc4]
call fcn.00463dd4
pop eax
pop edx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046399c
add esp, 0xf0
cmp ebp, esp
call fcn.00464018
mov esp, ebp
pop ebp
ret