Function at 0x10086c90
Capabilities:
Link many functions at runtime
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100cf826
push eax
mov dword fs:[0], esp
sub esp, 0xf74
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
cmp eax, 1
jne 0x100882ec
mov eax, dword [0x1010a3b4]
push dword [ebp + 8]
mov dword [eax], 0
call dword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
push 0x20a
lea eax, [ebp - 0x35c]
push 0
push eax
call fcn.100a7070
push str.GameOverlayRenderer.log
push 0x104
push 0x1012ef38
call fcn.100841e0
add esp, 0x18
lea eax, [ebp - 0x14]
push eax
push 0x20019
push 0
push str.SoftwareValveSteamActiveProcess
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x10086dca
lea eax, [ebp + 0xc]
mov dword [ebp + 0xc], 0x208
push eax
lea eax, [ebp - 0x35c]
push eax
push 0
push 0
push str.SteamClientDll
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x10086dc1
mov eax, dword [ebp + 0xc]
shr eax, 1
xor ecx, ecx
mov word [ebp + eax*2 - 0x35c], cx
lea ecx, [ebp - 0x35c]
lea edx, [ecx + 2]
mov edi, edi
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10086d60
sub ecx, edx
sar ecx, 1
add ecx, 0xffffffff
js 0x10086dc1
jmp 0x10086d80
movzx eax, word [ebp + ecx*2 - 0x35c]
cmp eax, 0x2f
je 0x10086d99
cmp eax, 0x5c
je 0x10086d99
sub ecx, 1
jns 0x10086d80
jmp 0x10086dc1
xor eax, eax
mov word [ebp + ecx*2 - 0x35c], ax
lea eax, [ebp - 0x35c]
push eax
push str._lsGameOverlayRenderer.log
push 0x104
push 0x1012ef38
call fcn.10059f90
add esp, 0x10
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x1000
call fcn.100a5a6b
add esp, 4
mov ebx, eax
push 0x1000
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov ecx, ebx
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10086df0
sub ecx, edx
lea esi, [ebx + ecx]
cmp esi, ebx
jbe 0x10086e12
mov cl, byte [esi - 1]
cmp cl, 0x5c
je 0x10086e12
cmp cl, 0x2f
je 0x10086e12
dec esi
cmp esi, ebx
ja 0x10086e00
push esi
push str.Current_process:__s_n
call fcn.10084630
add esp, 8
xor edi, edi
push dword [edi + 0x1010a3c4]
push esi
call fcn.100b862a
add esp, 8
test eax, eax
je 0x100882c1
add edi, 4
cmp edi, 4
jb 0x10086e22
push ebx
call fcn.100a5a74
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
add esp, 4
push 0
push 0
push 0
call esi
push 0
push 0
push 0
mov dword [0x1011f9ac], eax
call esi
push 0x104
push 0x1011fbc0
mov dword [0x1011f9b0], eax
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x10086e85
cmp eax, 0x104
jbe 0x10086ec3
mov eax, dword [str.C:WINDOWS]
mov dword [0x1011fbc0], eax
mov eax, dword [0x100e2f54]
mov dword [0x1011fbc4], eax
mov eax, dword [0x100e2f58]
mov dword [0x1011fbc8], eax
mov eax, dword [0x100e2f5c]
mov dword [0x1011fbcc], eax
mov eax, dword [0x100e2f60]
mov dword [0x1011fbd0], eax
mov ax, word [0x100e2f64]
mov word [0x1011fbd4], ax
mov ecx, 0x1011fbc0
lea edx, [ecx + 2]
jmp 0x10086ed0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10086ed0
push 0x104
sub ecx, edx
push 0x1011f9b8
push dword [ebp + 8]
sar ecx, 1
mov dword [0x1011f9b4], ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x1011f9b8
push str.Module_file_name:__ls_n
call fcn.10084630
mov ebx, dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
lea eax, [ebp - 0x150]
add esp, 8
push 0x100
push eax
push str.SteamGameId
call ebx
test eax, eax
je 0x10086f57
cmp eax, 0x100
jae 0x10086f57
push 0xa
lea eax, [ebp - 0x150]
push 0
push eax
call fcn.100b5342
add esp, 0xc
mov dword [0x1011f910], eax
mov dword [0x1011f914], edx
mov dword [0x1011f918], eax
mov dword [0x1011f91c], edx
push 0x100
lea eax, [ebp - 0x150]
push eax
push str.SteamOverlayGameId
call ebx
test eax, eax
je 0x10086f95
cmp eax, 0x100
jae 0x10086f95
push 0xa
lea eax, [ebp - 0x150]
push 0
push eax
call fcn.100b5342
add esp, 0xc
mov dword [0x1011f918], eax
mov dword [0x1011f91c], edx
jmp 0x10086fa0
mov edx, dword [0x1011f91c]
mov eax, dword [0x1011f918]
push edx
push eax
push dword [0x1011f914]
push dword [0x1011f910]
push str.GameID___llu__OverlayGameID___llu_n
call fcn.10084630
add esp, 0x14
lea eax, [ebp - 0x150]
push 0x100
push eax
push str.IgnoreChildProcesses
call ebx
test eax, eax
je 0x10086fe7
cmp eax, 0x100
jae 0x10086fe7
cmp byte [ebp - 0x150], 0
setne byte [0x1011f921]
push 0x80
lea eax, [ebp - 0x3dc]
push eax
push str.SteamDeck
call ebx
test eax, eax
je 0x10087013
cmp eax, 0x80
jae 0x10087013
cmp byte [ebp - 0x3dc], 0
setne byte [0x1011f920]
push 0x100
lea eax, [ebp - 0x150]
mov byte [ebp + 0xf], 0
push eax
push str.GameOverlay_CompatMode
call ebx
test eax, eax
je 0x10087040
cmp eax, 0x100
jae 0x10087040
cmp byte [ebp - 0x150], 0
setne byte [ebp + 0xf]
push 0x100
lea eax, [ebp - 0x150]
mov byte [ebp - 0xd], 0
push eax
push str.GameOverlay_TestMode
call ebx
test eax, eax
je 0x1008706d
cmp eax, 0x100
jae 0x1008706d
cmp byte [ebp - 0x150], 0
setne byte [ebp - 0xd]
push 0x100
lea eax, [ebp - 0x150]
mov byte [ebp + 0xb], 0
push eax
push str.GameOverlay_BlockOculusSDK
call ebx
test eax, eax
je 0x1008709a
cmp eax, 0x100
jae 0x1008709a
cmp byte [ebp - 0x150], 0
setne byte [ebp + 0xb]
push 0x100
lea eax, [ebp - 0x55c]
push 0
push eax
call fcn.100a7070
xor eax, eax
add esp, 0xc
mov dword [0x1011f928], eax
mov dword [0x1011f92c], eax
mov dword [0x1011f930], eax
mov dword [0x1011f934], eax
mov dword [0x1011f938], eax
mov dword [0x1011f93c], eax
mov dword [0x1011f940], eax
mov dword [0x1011f944], eax
lea eax, [ebp - 0x55c]
push 0x100
push eax
push str.SteamStreamingEncoderConfig
call ebx
mov edx, eax
mov dword [ebp - 0x14], edx
lea ecx, [edx - 0x10]
cmp ecx, 0xef
ja 0x1008714a
lea esi, [ebp - 0x54c]
xor edi, edi
mov eax, esi
lea ecx, [ebp - 0x55c]
sub eax, ecx
cmp eax, edx
ja 0x10087139
mov bl, byte [esi]
lea eax, [esi - 0x10]
push 0x10
push 0
push eax
mov byte [esi], 0
call fcn.100b5342
mov dword [edi + 0x1011f92c], edx
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov dword [edi + 0x1011f928], eax
mov byte [esi], bl
add edi, 8
add esi, 0x10
cmp edi, 0x20
jb 0x10087105
mov ebx, dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
push str.EnableConfiguratorSupport
call fcn.100aae23
add esp, 4
test eax, eax
je 0x10087173
push str.EnableConfiguratorSupport
call fcn.100aae23
push eax
call fcn.100b6c1a
add esp, 8
mov dword [0x1011f8a8], eax
mov ecx, dword [0x1011f914]
mov eax, dword [0x1011f910]
test ecx, ecx
jne 0x10087191
test eax, eax
je 0x10087191
test ecx, ecx
jne 0x10087191
cmp eax, 0x3e8
jb 0x100871a0
cmp byte [ebp + 0xf], 0
mov dl, byte [ebp + 0xb]
jne 0x100871a3
test dl, dl
je 0x100871dc
jmp 0x100871a3
mov dl, byte [ebp + 0xb]
mov byte [0x1012e8a8], 1
test dl, dl
je 0x100871cd
push str.Blocking_Oculus_SDK_n
call fcn.10084630
mov ecx, dword [0x1011f914]
add esp, 4
mov eax, dword [0x1011f910]
mov byte [0x1012ef06], 1
cmp byte [ebp - 0xd], 0
je 0x100871dc
mov word [0x1012ef04], 0x101
push ecx
push eax
push str.SteamOverlayRunning__llu
lea eax, [ebp - 0x45c]
push 0x80
push eax
call fcn.10059f50
push 0
push 0
push 0
lea eax, [ebp - 0x45c]
push 1
push eax
call fcn.10083a40
add esp, 0x28
mov dword [0x1011f8ec], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov esi, eax
lea eax, [ebp - 0xb80]
push esi
push str.GameOverlay_InputEventStream__d
push 0x400
push eax
call fcn.10059f50
push 0x13c
call fcn.100a573e
add esp, 0x14
mov dword [ebp + 8], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x10087265
push 0
push 0
push 0x32
push 0x80000
lea ecx, [ebp - 0xb80]
push ecx
mov ecx, eax
call fcn.10097d40
jmp 0x10087267
xor eax, eax
push esi
push str.GameOverlay_ScreenshotStream__d
mov dword [0x1011f99c], eax
lea eax, [ebp - 0xb80]
push 0x400
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.10059f50
push 0x13c
call fcn.100a573e
add esp, 0x14
mov dword [ebp + 8], eax
mov dword [ebp - 4], 1
test eax, eax
je 0x100872c0
push 0
push 0
push 0x32
push 0x100000
lea ecx, [ebp - 0xb80]
push ecx
mov ecx, eax
call fcn.10097d40
jmp 0x100872c2
xor eax, eax
push esi
push str.GameOverlayRender_PaintCmdStream__d
mov dword [0x1011f8e0], eax
lea eax, [ebp - 0xb80]
push 0x400
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.10059f50
push 0x13c
call fcn.100a573e
add esp, 0x14
mov dword [ebp + 8], eax
mov dword [ebp - 4], 2
test eax, eax
je 0x1008731b
push 0
push 0
push 0x78
push 0x1000000
lea ecx, [ebp - 0xb80]
push ecx
mov ecx, eax
call fcn.10097d40
jmp 0x1008731d
xor eax, eax
mov dword [0x1011f9a0], eax
lea eax, [ebp - 0x50]
push 1
push eax
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
push 0
push 0
push 1
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
push esi
push str.GameOverlay_InGameRenderingCompleted__d
lea eax, [ebp - 0xb80]
push 0x400
push eax
call fcn.10059f50
push 0
push 0
push 0
lea eax, [ebp - 0xb80]
push 0
push eax
call fcn.10083a40
add esp, 0x24
mov dword [0x1011f9a4], eax
test eax, eax
jne 0x10087389
push str.Failed_creating_rendering_event_n
call fcn.10084630
add esp, 4
push esi
push str.GameOverlay_VGUIPaintingCompleted__d
lea eax, [ebp - 0xb80]
push 0x400
push eax
call fcn.10059f50
push 0
push 0
push 0
lea eax, [ebp - 0xb80]
push 0
push eax
call fcn.10083a40
add esp, 0x24
mov dword [0x1011f9a8], eax
test eax, eax
jne 0x100873cd
push str.Failed_creating_paint_event_n
call fcn.10084630
add esp, 4
push esi
push str.GameOverlay_SerializedWorkQueued__d
lea eax, [ebp - 0xb80]
push 0x400
push eax
call fcn.10059f50
push 0
push 0
push 0
lea eax, [ebp - 0xb80]
push 0
push eax
call fcn.10083a40
add esp, 0x24
mov dword [0x1011f8e8], eax
test eax, eax
jne 0x10087411
push str.Failed_creating_serialized_work_event_n
call fcn.10084630
add esp, 4
push esi
push str.GameOverlay_GameExitingEvent__d
lea eax, [ebp - 0xb80]
push 0x400
push eax
call fcn.10059f50
push 0
push 0
push 0
lea eax, [ebp - 0xb80]
push 1
push eax
call fcn.10083a40
add esp, 0x24
mov dword [0x1011f8e4], eax
test eax, eax
jne 0x10087455
push str.Failed_creating_exit_event_n
call fcn.10084630
add esp, 4
call fcn.10077450
push 0
push 0
push 0x64
push 0x400
push str.GameOverlayRender_PIDStream
lea ecx, [ebp - 0x290]
call fcn.10097d40
mov eax, dword [0x1011f910]
mov ecx, dword [0x1011f914]
mov dword [ebp - 0x38], eax
mov eax, dword [0x1011f918]
mov dword [ebp - 0x34], ecx
mov ecx, dword [0x1011f91c]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x3c]
push 0x25
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x290]
push eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x18], 0
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x28], 0
call fcn.10098830
lea ecx, [ebp - 0x290]
mov dword [ebp - 4], 0xffffffff
call fcn.10098030
push 0x400
lea eax, [ebp - 0xf80]
push eax
push str._SteamInjectionPIDs
call ebx
test eax, eax
je 0x10087573
cmp eax, 0x400
jae 0x10087573
lea eax, [ebp - 0xf80]
push eax
push str.Watching_for_initial_ResumeThread_on_PIDs__s_n
call fcn.10084630
lea eax, [ebp - 0xf80]
add esp, 8
mov dword [ebp + 8], eax
nop
cmp byte [eax], 0
je 0x10087573
push 0xa
lea ecx, [ebp + 8]
push ecx
push eax
call fcn.100b5396
mov ecx, dword [0x1011fdd8]
add esp, 0xc
mov dword [ebp + 0xc], eax
cmp ecx, dword [0x1011fddc]
je 0x10087550
mov dword [ecx], eax
add dword [0x1011fdd8], 4
jmp 0x1008755f
lea eax, [ebp + 0xc]
push eax
push ecx
mov ecx, 0x1011fdd4
call fcn.10084080
mov eax, dword [ebp + 8]
test eax, eax
je 0x10087573
cmp byte [eax], 0x2c
jne 0x1008756f
inc eax
mov dword [ebp + 8], eax
test eax, eax
jne 0x10087520
mov ecx, dword [0x1011f910]
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov eax, dword [0x1011f914]
cmp ecx, 0x573a
jne 0x100875bc
test eax, eax
jne 0x100875bc
push str.Oblivion.exe
call ebx
test eax, eax
je 0x10087636
push str.obse_steam_loader.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0x100875b5
push str.Loaded_OBSE_n
jmp 0x1008762e
push str.OBSE_not_found_n
jmp 0x1008762e
cmp ecx, 0x576c
jne 0x100875c8
test eax, eax
je 0x100875d4
cmp ecx, 0x57da
jne 0x100875fc
test eax, eax
jne 0x100875fc
push str.FalloutNV.exe
call ebx
test eax, eax
je 0x10087636
push str.nvse_steam_loader.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0x100875f5
push str.Loaded_NVSE_n
jmp 0x1008762e
push str.NVSE_not_found_n
jmp 0x1008762e
cmp ecx, 0x11c92
jne 0x10087636
test eax, eax
jne 0x10087636
push str.TESV.exe
call ebx
test eax, eax
je 0x10087636
push str.skse_steam_loader.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0x10087629
push str.Loaded_SKSE_n
jmp 0x1008762e
push str.SKSE_not_found_n
call fcn.10084630
add esp, 4
push str.ntdll.dll
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
push str.RtlGetCallersAddress
push edi
mov dword [ebp - 0x14], edi
call esi
push str.LdrGetProcedureAddress
push edi
mov dword [0x1011f998], eax
call esi
push 0x100d6400
mov dword [0x1011f994], eax
call ebx
mov edi, eax
push str.GetProcessIdOfThread
push edi
call esi
push str.GetThreadId
push edi
mov dword [0x1012ef1c], eax
call esi
cmp byte [0x1012e8a8], 0
mov dword [0x1012ef20], eax
je 0x1008775e
push 0
push 0x1011f96c
push 0x100869d0
push str.VirtualAlloc
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1011f96c], 0
jne 0x100876c5
push str.Failed_hooking_VirtualAlloc_calls_n
call fcn.10084630
add esp, 4
push 0
push 0x1011f970
push 0x10086ab0
push 0x100e32a8
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1011f970], 0
jne 0x100876f8
push str.Failed_hooking_VirtualProtect_calls_n
call fcn.10084630
add esp, 4
push 0
push 0x1011f974
push 0x10086a40
push 0x100e32e0
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1011f974], 0
jne 0x1008772b
push str.Failed_hooking_VirtualAlloc_calls_n
call fcn.10084630
add esp, 4
push 0
push 0x1011f978
push 0x10086b40
push 0x100e32f0
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1011f978], 0
jne 0x1008775e
push str.Failed_hooking_VirtualProtectEx_calls_n
call fcn.10084630
add esp, 4
push str.kernelbase.dll
call ebx
mov dword [ebp + 0xc], eax
test eax, eax
je 0x10087842
push 0
push 0x1011f94c
push 0x10085b50
push 0x100e332c
push eax
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1011f94c], 0
jne 0x100877a3
push str.Failed_hooking_kernelbase_LoadLibraryExW_calls_n
call fcn.10084630
add esp, 4
push 0
push 0x1011f954
push 0x10085a30
push 0x100e336c
push dword [ebp + 0xc]
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1011f954], 0
jne 0x100877d8
push str.Failed_hooking_kernelbase_LoadLibraryExA_calls_n
call fcn.10084630
add esp, 4
push 0
push 0x1011f968
push 0x10085980
push 0x100d63c4
push dword [ebp + 0xc]
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1011f968], 0
jne 0x1008780d
push str.Failed_hooking_kernelbase_free_library_calls_n
call fcn.10084630
add esp, 4
push 0
push 0x1011f984
push 0x100860a0
push 0x100e33ac
push dword [ebp + 0xc]
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1011f984], 0
jne 0x10087842
push str.Failed_hooking_kernelbase_ResumeThread_calls_n
call fcn.10084630
add esp, 4
push 0
push 0x1011f948
push 0x10085ed0
push 0x100e332c
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1011f948], 0
jne 0x1008787e
cmp dword [0x1011f94c], 0
jne 0x1008787e
push str.Failed_hooking_LoadLibraryExW_calls_n
call fcn.10084630
add esp, 4
push 0
push 0x1011f950
push 0x10085e10
push 0x100e336c
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1011f950], 0
jne 0x100878ba
cmp dword [0x1011f954], 0
jne 0x100878ba
push str.Failed_hooking_LoadLibraryExA_calls_n
call fcn.10084630
add esp, 4
push 0
push 0x1011f958
push 0x10085fe0
push 0x100df7f4
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1011f958], 0
jne 0x100878ed
push str.Failed_hooking_LoadLibraryW_calls_n
call fcn.10084630
add esp, 4
push 0
push 0x1011f95c
push 0x10085c90
push 0x100df818
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1011f95c], 0
jne 0x10087920
push str.Failed_hooking_LoadLibraryA_calls_n
call fcn.10084630
add esp, 4
cmp byte [0x1012ef05], 0
je 0x1008795e
push 0
push 0x1011f960
push 0x10085bd0
push str.LdrLoadDll
push dword [ebp - 0x14]
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1011f960], 0
jne 0x1008795e
push str.Failed_hooking_LdrLoadDll_calls_n
call fcn.10084630
add esp, 4
push 0
push 0x1011f964
push 0x100858b0
push 0x100d63c4
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1011f964], 0
jne 0x1008799a
cmp dword [0x1011f968], 0
jne 0x1008799a
push str.Failed_hooking_free_library_calls_n
call fcn.10084630
add esp, 4
push 0
push 0x1011f97c
push 0x100856e0
push 0x100e34b4
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
push 0
push 0x1011f980
push 0x10085530
push 0x100e34c4
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1011f97c], 0
jne 0x100879ea
push str.Failed_hooking_CreateProcessW_calls_n
call fcn.10084630
add esp, 4
cmp dword [0x1011f980], 0
jne 0x10087a00
push str.Failed_hooking_CreateProcessA_calls_n
call fcn.10084630
add esp, 4
cmp dword [0x1011f984], 0
jne 0x10087a3c
push 0
push 0x1011f988
push 0x100860a0
push 0x100e33ac
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1011f988], 0
jne 0x10087a3c
push str.Failed_hooking_ResumeThread_calls_n
call fcn.10084630
add esp, 4
push str.shell32.dll
call ebx
mov edi, eax
test edi, edi
jne 0x10087a58
push str.Failed_loading_shell32.dll__not_hooking_ShellExecute_calls_n
call fcn.10084630
add esp, 4
jmp 0x10087ac5
push 0
push 0x1011f98c
push 0x100862d0
push str.ShellExecuteExA
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
push 0
push 0x1011f990
push 0x10086670
push str.ShellExecuteExW
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1011f98c], 0
jne 0x10087aa8
push str.Failed_hooking_ShellExecuteExA_calls_n
call fcn.10084630
add esp, 4
cmp dword [0x1011f990], 0
jne 0x10087abe
push str.Failed_hooking_ShellExecuteExW_calls_n
call fcn.10084630
add esp, 4
mov byte [0x1011f925], 1
push str.Hooking_SetCursorPos__GetCursorPos__ShowCursor__SetCursor__and_GetCursor_n
call fcn.10084630
add esp, 4
push str.user32.dll
call ebx
mov edi, eax
test edi, edi
jne 0x10087af1
push str.Failed_loading_user32.dll__input_not_getting_hooked_n
call fcn.10084630
add esp, 4
jmp 0x100887c0
push 0
push 0x1010f474
push 0x10083590
push 0x100e3618
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
push 0
push 0x1010f484
push 0x100831b0
push str.GetCursorPos
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
push 0
push 0x1010f480
push 0x100835d0
push 0x100e3638
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
push 0
push 0x1010f478
push 0x10083550
push 0x100e3644
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
push 0
push 0x1010f47c
push 0x10083130
push str.GetCursor
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1010f474], 0
jne 0x10087b98
push str.Failed_hooking_SetCursorPos___n
call fcn.10084630
add esp, 4
cmp dword [0x1010f484], 0
jne 0x10087bae
push str.Failed_hooking_GetCursorPos___n
call fcn.10084630
add esp, 4
cmp dword [0x1010f480], 0
jne 0x10087bc4
push str.Failed_hooking_ShowCursor___n
call fcn.10084630
add esp, 4
cmp dword [0x1010f478], 0
jne 0x10087bda
push str.Failed_hooking_SetCursor___n
call fcn.10084630
add esp, 4
cmp dword [0x1010f47c], 0
jne 0x10087bf0
push str.Failed_hooking_GetCursor___n
call fcn.10084630
add esp, 4
push 0
push 0x1010f4bc
push 0x10083150
push str.GetCursorInfo
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1010f478], 0
jne 0x10087c23
push str.Failed_hooking_GetCursorInfo_____expected_and_ok_if_OS___Win8_n
call fcn.10084630
add esp, 4
push 0
push 0x1010f4a0
push 0x10083520
push str.SetCapture
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
push 0
push 0x1010f4a4
push 0x100834f0
push str.ReleaseCapture
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1010f4a0], 0
jne 0x10087c73
push str.Failed_hooking_SetCapture___n
call fcn.10084630
add esp, 4
cmp dword [0x1010f4a4], 0
jne 0x10087c89
push str.Failed_hooking_ReleaseCapture___n
call fcn.10084630
add esp, 4
push 0
push 0x1010f4a8
push 0x100830a0
push str.GetAsyncKeyState
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1010f4a8], 0
jne 0x10087cbc
push str.Failed_hooking_GetAsyncKeyState___n
call fcn.10084630
add esp, 4
push 0
push 0x1010f4ac
push 0x100831f0
push 0x100e37dc
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1010f4ac], 0
jne 0x10087cef
push str.Failed_hooking_GetKeyState___n
call fcn.10084630
add esp, 4
push 0
push 0x1010f4b0
push 0x10083300
push str.GetKeyboardState
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1010f4b0], 0
jne 0x10087d22
push str.Failed_hooking_GetKeyboardState___n
call fcn.10084630
add esp, 4
push 0
push 0x1010f488
push 0x10082fe0
push str.DispatchMessageA
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
push 0
push 0x1010f48c
push 0x10083040
push str.DispatchMessageW
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1010f488], 0
jne 0x10087d72
push str.Failed_hooking_DispatchMessageA___n
call fcn.10084630
add esp, 4
cmp dword [0x1010f48c], 0
jne 0x10087d88
push str.Failed_hooking_DispatchMessageW___n
call fcn.10084630
add esp, 4
push 0
push 0x1010f490
push 0x10083350
push str.GetMessageA
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
push 0
push 0x1010f494
push 0x100833c0
push str.GetMessageW
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1010f490], 0
jne 0x10087dd8
push str.Failed_hooking_GetMessageA___n
call fcn.10084630
add esp, 4
cmp dword [0x1010f494], 0
jne 0x10087dee
push str.Failed_hooking_GetMessageW___n
call fcn.10084630
add esp, 4
push 0
push 0x1010f498
push 0x10083470
push str.PeekMessageA
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
push 0
push 0x1010f49c
push 0x100834b0
push str.PeekMessageW
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1010f498], 0
jne 0x10087e3e
push str.Failed_hooking_PeekMessageA___n
call fcn.10084630
add esp, 4
cmp dword [0x1010f49c], 0
jne 0x10087e54
push str.Failed_hooking_PeekMessageW___n
call fcn.10084630
add esp, 4
push 0
push 0x1010f4b4
push fcn.10082f30
push str.ClipCursor
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
push 0
push 0x1010f4b8
push 0x100830e0
push str.GetClipCursor
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1010f4b4], 0
jne 0x10087ea4
push str.Failed_hooking_ClipCursor___n
call fcn.10084630
add esp, 4
cmp dword [0x1010f4b8], 0
jne 0x10087eba
push str.Failed_hooking_GetClipCursor___n
call fcn.10084630
add esp, 4
push 0
push 0x1012f2c0
push 0x10092bc0
push str.RegisterDeviceNotificationA
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1012f2c0], 0
jne 0x10087eed
push str.Failed_hooking_RegisterDeviceNotificationA___n
call fcn.10084630
add esp, 4
push 0
push 0x1012f2c4
push 0x10092c60
push str.RegisterDeviceNotificationW
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1012f2c4], 0
jne 0x10087f20
push str.Failed_hooking_RegisterDeviceNotificationW___n
call fcn.10084630
add esp, 4
push 0
push 0x1012f2c8
push 0x10092ef0
push str.UnregisterDeviceNotification
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1012f2c8], 0
jne 0x10087f53
push str.Failed_hooking_UnregisterDeviceNotification___n
call fcn.10084630
add esp, 4
push 0
push 0x1012f2cc
push 0x10092240
push 0x100e3aac
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1012f2cc], 0
jne 0x10087f86
push str.Failed_hooking_GetRawInputDeviceList___n
call fcn.10084630
add esp, 4
push 0
push 0x1012f2d0
push 0x10092000
push 0x100e3aec
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1012f2d0], 0
jne 0x10087fb9
push str.Failed_hooking_GetRawInputDeviceInfoA___n
call fcn.10084630
add esp, 4
push 0
push 0x1012f2d4
push 0x10092120
push str.GetRawInputDeviceInfoW
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1012f2d4], 0
jne 0x10087fec
push str.Failed_hooking_GetRawInputDeviceInfoW___n
call fcn.10084630
add esp, 4
push 0
push 0x1012f2d8
push 0x10092d00
push str.RegisterRawInputDevices
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1012f2d8], 0
jne 0x1008801f
push str.Failed_hooking_RegisterRawInputDevices___n
call fcn.10084630
add esp, 4
push 0
push 0x1012f2dc
push fcn.10090e80
push str.GetRegisteredRawInputDevices
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1012f2dc], 0
jne 0x10088052
push str.Failed_hooking_GetRegisteredRawInputDevices___n
call fcn.10084630
add esp, 4
push 0
push 0x1012f2e0
push 0x10091e80
push str.GetRawInputData
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1012f2e0], 0
jne 0x10088085
push str.Failed_hooking_GetRawInputData___n
call fcn.10084630
add esp, 4
push 0
push 0x1012f2e4
push 0x10091e50
push str.GetRawInputBuffer
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1012f2e4], 0
jne 0x100880b8
push str.Failed_hooking_GetRawInputBuffer___n
call fcn.10084630
add esp, 4
push 0
push 0x1012ef28
push 0x10085840
push str.FlashWindow
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1012ef28], 0
jne 0x100880eb
push str.Failed_hooking_FlashWindow___n
call fcn.10084630
add esp, 4
push 0
push 0x1012ef2c
push 0x10085890
push str.FlashWindowEx
push edi
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1012ef2c], 0
jne 0x1008811e
push str.Failed_hooking_FlashWindowEx___n
call fcn.10084630
add esp, 4
push str.gdi32.dll
call ebx
test eax, eax
je 0x1008815c
push 0
push 0x1012ef30
push 0x10086240
push str.SetDeviceGammaRamp
push eax
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1012ef30], 0
jne 0x1008815c
push str.Failed_hooking_SetDeviceGammaRamp___n
call fcn.10084630
add esp, 4
push str.imm32.dll
call ebx
test eax, eax
je 0x1008819a
push 0
push 0x1010f4c0
push 0x10083430
push 0x100e3d24
push eax
call esi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1010f4c0], 0
jne 0x1008819a
push str.Failed_hooking_ImmAssociateContext___n
call fcn.10084630
add esp, 4
push 0x100e3d60
call ebx
test eax, eax
je 0x100881dd
push 0
push 0x100e3d6c
push eax
call fcn.100843d0
push 0
push 0x1012ef24
push 0x10085360
push eax
call fcn.100714b0
add esp, 0x1c
cmp dword [0x1012ef24], 0
jne 0x100881dd
push str.Failed_hooking_CoCreateInstance___n
call fcn.10084630
add esp, 4
call fcn.10071ab0
call fcn.10084a00
call fcn.10084380
push str.steamcompat.inf
push 1
call fcn.10054420
push str.Modules_at_GameOverlayRenderer.dll_attach_n
xor esi, esi
call fcn.10084630
add esp, 0xc
mov dword [ebp - 0x780], 0x224
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 8
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov edi, eax
lea eax, [ebp - 0x780]
push eax
push edi
call sub.KERNEL32.dll_Module32First
test eax, eax
je 0x10088295
mov ecx, dword [ebp - 0x76c]
inc esi
mov eax, dword [ebp - 0x768]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0x760]
push eax
push esi
push str._02d:__s_____p_to__p__n
call fcn.10084630
add esp, 0x14
cmp byte [0x1012e8a8], 0
je 0x10088284
mov eax, dword [ebp + 4]
mov ecx, 0x1011fde0
push 0
push eax
push 0
push dword [ebp - 0x76c]
lea eax, [ebp - 0x760]
push 0
push 0
push eax
call fcn.100715d0
lea eax, [ebp - 0x780]
push eax
push edi
call sub.KERNEL32.dll_Module32Next
test eax, eax
jne 0x10088232
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str._____________________________n
call fcn.10084630
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
push ebx
call fcn.100a5a74
push str.Overlay_not_running_hooks_for_this_executable._n
call fcn.10084630
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
test eax, eax
jne 0x100887c0
push str.GameOverlayRenderer.dll_detaching_n
mov byte [0x1011f926], 1
call fcn.10084630
add esp, 4
mov ecx, 0x1010f4c8
call fcn.100811b0
mov ecx, dword [0x1011f8e4]
test ecx, ecx
je 0x10088332
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [0x1011f8e4]
test ecx, ecx
je 0x10088332
mov eax, dword [ecx]
push 1
call dword [eax + 8]
call fcn.10054a10
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.user32.dll
call ebx
mov edi, eax
test edi, edi
jne 0x1008835c
push str.Failed_loading_user32.dll__input_not_unhooking_functions_n
call fcn.10084630
add esp, 4
jmp 0x100887c0
push dword [0x1010f474]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x100e3618
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010f484]
push str.GetCursorPos
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010f480]
push 0x100e3638
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010f478]
push 0x100e3644
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010f47c]
push str.GetCursor
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010f4bc]
push str.GetCursorInfo
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010f488]
push str.DispatchMessageA
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010f48c]
push str.DispatchMessageW
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1012f2e4]
push str.GetRawInputBuffer
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010f4a0]
push str.SetCapture
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010f4a4]
push str.ReleaseCapture
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010f4a8]
push str.GetAsyncKeyState
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010f4ac]
push 0x100e37dc
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010f4b0]
push str.GetKeyboardState
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010f4b4]
push str.ClipCursor
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010f4b8]
push str.GetClipCursor
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1012f2d8]
push str.RegisterRawInputDevices
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1012ef28]
push str.FlashWindow
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1012ef2c]
push str.FlashWindowEx
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push 0x100d6400
call ebx
mov edi, eax
test edi, edi
jne 0x10088536
push str.Kernel32.dll_not_loaded__not_unhooking_functions_n
call fcn.10084630
add esp, 4
jmp 0x10088657
cmp byte [0x1012e8a8], 0
je 0x1008859b
push dword [0x1011f96c]
push str.VirtualAlloc
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1011f970]
push 0x100e32a8
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1011f974]
push 0x100e32e0
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1011f978]
push 0x100e32f0
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1011f964]
push 0x100d63c4
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1011f948]
push 0x100e332c
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1011f950]
push 0x100e336c
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1011f958]
push 0x100df7f4
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1011f95c]
push 0x100df818
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1011f97c]
push 0x100e34b4
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1011f980]
push 0x100e34c4
push edi
call esi
push eax
call fcn.10071b50
mov eax, dword [0x1011f988]
add esp, 8
test eax, eax
je 0x10088657
push eax
push 0x100e33ac
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push str.kernelbase.dll
call ebx
mov edi, eax
test edi, edi
je 0x100886c0
push dword [0x1011f968]
push 0x100d63c4
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1011f94c]
push 0x100e332c
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1011f954]
push 0x100e336c
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1011f984]
push 0x100e33ac
push edi
call esi
push eax
call fcn.10071b50
add esp, 8
push 0x100e3d60
call ebx
test eax, eax
jne 0x100886da
push str.ole32.dll_not_loaded__not_unhooking_functions_n
call fcn.10084630
add esp, 4
jmp 0x100886f1
push dword [0x1012ef24]
push 0x100e3d6c
push eax
call esi
push eax
call fcn.10071b50
add esp, 8
push 0xffffffffffffffff
push dword [0x1011f9ac]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [0x1012ef34]
test eax, eax
je 0x1008871b
push eax
call fcn.100b5516
add esp, 4
mov dword [0x1012ef34], 0
push dword [0x1011f9ac]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
call fcn.10077730
mov ecx, dword [0x1011f99c]
test ecx, ecx
je 0x1008873c
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [0x1011f8e0]
test ecx, ecx
je 0x1008874c
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [0x1011f9a0]
test ecx, ecx
je 0x1008875c
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [0x1011f9a4]
test ecx, ecx
je 0x1008876d
mov eax, dword [ecx]
push 1
call dword [eax + 8]
mov ecx, dword [0x1011f9a8]
test ecx, ecx
je 0x1008877e
mov eax, dword [ecx]
push 1
call dword [eax + 8]
mov ecx, dword [0x1011f8e8]
test ecx, ecx
je 0x1008878f
mov eax, dword [ecx]
push 1
call dword [eax + 8]
push dword [0x1011f9ac]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [0x1011f9b0]
call esi
mov ecx, dword [0x1011f8ec]
test ecx, ecx
je 0x100887b6
mov eax, dword [ecx]
push 1
call dword [eax + 8]
mov dword [0x1011f99c], 0
mov ecx, dword [ebp - 0xc]
xor eax, eax
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc