Function at 0x10084a00
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp byte [0x1011f922], 0
jne 0x1008504c
push 0x64
push dword [0x1011f9b0]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x10084a34
push str.Failure_waiting_for_hooking_mutex__n
call fcn.10084630
add esp, 4
mov esp, ebp
pop ebp
ret
cmp byte [0x1011f925], 0
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
jne 0x10084ac6
push str.shell32.dll
call esi
mov ebx, eax
test ebx, ebx
je 0x10084ac6
push 0
push 0x1011f98c
push 0x100862d0
push str.ShellExecuteExA
push ebx
call edi
push eax
call fcn.100714b0
add esp, 0x10
push 0
push 0x1011f990
push 0x10086670
push str.ShellExecuteExW
push ebx
call edi
push eax
call fcn.100714b0
add esp, 0x10
cmp dword [0x1011f98c], 0
jne 0x10084aa9
push str.Failed_hooking_ShellExecuteExA_calls_n
call fcn.10084630
add esp, 4
cmp dword [0x1011f990], 0
jne 0x10084abf
push str.Failed_hooking_ShellExecuteExW_calls_n
call fcn.10084630
add esp, 4
mov byte [0x1011f925], 1
push str.dxgi.dll
call fcn.10084520
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10084b8c
push str.CreateDXGIFactory
push ebx
call edi
mov dword [ebp - 4], eax
test eax, eax
je 0x10084b1f
push 0x10077000
push eax
call fcn.10071f00
add esp, 8
test al, al
jne 0x10084b1f
push str.Game_is_using_dxgi__dx10_dx11___preparing_to_hook._n
call fcn.10084630
push 0
push 0x1010eb98
push 0x10077000
push dword [ebp - 4]
call fcn.100714b0
add esp, 0x14
push str.CreateDXGIFactory1
push ebx
call edi
mov dword [ebp - 4], eax
test eax, eax
je 0x10084b57
push 0x10076e40
push eax
call fcn.10071f00
add esp, 8
test al, al
jne 0x10084b57
push 0
push 0x1010eb9c
push 0x10076e40
push dword [ebp - 4]
call fcn.100714b0
add esp, 0x10
push str.CreateDXGIFactory2
push ebx
call edi
mov ebx, eax
test ebx, ebx
je 0x10084b8c
push 0x10076f50
push ebx
call fcn.10071f00
add esp, 8
test al, al
jne 0x10084b8c
push 0
push 0x1010eba0
push 0x10076f50
push ebx
call fcn.100714b0
add esp, 0x10
push str.d3d12.dll
call esi
test eax, eax
je 0x10084bd6
push str.D3D12CreateDevice
push eax
call edi
mov ebx, eax
test ebx, ebx
je 0x10084bd6
push 0x10077110
push ebx
call fcn.10071f00
add esp, 8
test al, al
jne 0x10084bd6
push str.Game_is_using_d3d12__preparing_to_hook._n
call fcn.10084630
push 0
push 0x1010ebd8
push 0x10077110
push ebx
call fcn.100714b0
add esp, 0x14
push str.d3d9.dll
call fcn.10084520
add esp, 4
mov dword [ebp - 4], eax
test eax, eax
je 0x10084c7a
push 0x1012f150
push str.Direct3DCreate9
push eax
call fcn.100843d0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x10084c38
push 0x1006c980
push ebx
call fcn.10071f00
add esp, 8
test al, al
jne 0x10084c38
push str.Game_is_using_D3D9_or_D3D9Ex__preparing_to_hook._n
call fcn.10084630
push 0
push 0x1010e6b8
push 0x1006c980
push ebx
call fcn.100714b0
add esp, 0x14
push 0x1012f151
push str.Direct3DCreate9Ex
push dword [ebp - 4]
call fcn.100843d0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x10084c7a
push 0x1006bd70
push ebx
call fcn.10071f00
add esp, 8
test al, al
jne 0x10084c7a
push 0
push 0x1010e6b4
push 0x1006bd70
push ebx
call fcn.100714b0
add esp, 0x10
push str.d3d8.dll
call fcn.10084520
add esp, 4
test eax, eax
je 0x10084cd5
push 0x1012f152
push str.Direct3DCreate8
push eax
call fcn.100843d0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x10084cd5
push 0x100690e0
push ebx
call fcn.10071f00
add esp, 8
test al, al
jne 0x10084cd5
push str.Game_is_using_D3D8__preparing_to_hook._n
call fcn.10084630
push 0
push 0x1010e658
push 0x100690e0
push ebx
call fcn.100714b0
add esp, 0x14
push str.d3d.dll
call fcn.10084520
add esp, 4
test eax, eax
je 0x10084cf3
push str.Game_is_using_D3D7_or_earlier__not_yet_supported__n
call fcn.10084630
add esp, 4
push str.ddraw.dll
call fcn.10084520
add esp, 4
mov dword [ebp - 4], eax
test eax, eax
je 0x10084d97
push 0x1012f153
push str.DirectDrawCreate
push eax
call fcn.100843d0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x10084d55
push 0x1006e4b0
push ebx
call fcn.10071f00
add esp, 8
test al, al
jne 0x10084d55
push str.Game_is_using_ddraw.dll__dx7_or_lower_..._hooking._n
call fcn.10084630
push 0
push 0x1010e6dc
push 0x1006e4b0
push ebx
call fcn.100714b0
add esp, 0x14
push 0x1012f154
push str.DirectDrawCreateEx
push dword [ebp - 4]
call fcn.100843d0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x10084d97
push 0x1006e550
push ebx
call fcn.10071f00
add esp, 8
test al, al
jne 0x10084d97
push 0
push 0x1010e6e0
push 0x1006e550
push ebx
call fcn.100714b0
add esp, 0x10
push str.opengl32.dll
call fcn.10084520
add esp, 4
mov dword [ebp - 4], eax
test eax, eax
je 0x10084e2f
push str.wglSwapBuffers
push eax
call edi
mov ebx, eax
test ebx, ebx
je 0x10084dee
push 0x1007d410
push ebx
call fcn.10071f00
add esp, 8
test al, al
jne 0x10084dee
push str.Game_is_using_opengl32.dll..._hooking._n
call fcn.10084630
push 0
push 0x1010ed00
push 0x1007d410
push ebx
call fcn.100714b0
add esp, 0x14
push str.wglSwapLayerBuffers
push dword [ebp - 4]
call edi
mov ebx, eax
test ebx, ebx
je 0x10084e2f
push 0x1007d480
push ebx
call fcn.10071f00
add esp, 8
test al, al
jne 0x10084e2f
push str.Game_is_using_opengl32.dll..._hooking._n
call fcn.10084630
push 0
push 0x1010ed04
push 0x1007d480
push ebx
call fcn.100714b0
add esp, 0x14
push 0x100e2bf0
call esi
mov ebx, eax
test ebx, ebx
jne 0x10084e49
push str.mantle64.dll
call esi
mov ebx, eax
test ebx, ebx
je 0x10084e5c
push str.Game_is_using_mantle_3264_.dll..._hooking._n
call fcn.10084630
push ebx
call fcn.1008b190
add esp, 8
push str.dinput8.dll
call esi
test eax, eax
je 0x10084ea6
push str.DirectInput8Create
push eax
call edi
mov ebx, eax
test ebx, ebx
je 0x10084ea6
push 0x10075450
push ebx
call fcn.10071f00
add esp, 8
test al, al
jne 0x10084ea6
push str.Game_is_using_dinput8__preparing_to_hook._n
call fcn.10084630
push 0
push 0x1010eb64
push 0x10075450
push ebx
call fcn.100714b0
add esp, 0x14
push str.dinput.dll
call esi
mov dword [ebp - 4], eax
test eax, eax
je 0x10084f2a
push str.DirectInputCreateA
push eax
call edi
mov ebx, eax
test ebx, ebx
je 0x10084ef3
push 0x10072550
push ebx
call fcn.10071f00
add esp, 8
test al, al
jne 0x10084ef3
push str.Game_is_using_dinput.dll__dinput7___preparing_to_hook._n
call fcn.10084630
push 0
push 0x1010eb54
push 0x10072550
push ebx
call fcn.100714b0
add esp, 0x14
push str.DirectInputCreateW
push dword [ebp - 4]
call edi
mov ebx, eax
test ebx, ebx
je 0x10084f2a
push 0x100725e0
push ebx
call fcn.10071f00
add esp, 8
test al, al
jne 0x10084f2a
push 0
push 0x1010eb58
push 0x100725e0
push ebx
call fcn.100714b0
add esp, 0x10
push str.xinput1_4.dll
call esi
test eax, eax
je 0x10084f40
push 0xe
push eax
call fcn.1009f910
add esp, 8
push str.xinput1_3.dll
call esi
test eax, eax
je 0x10084f56
push 0xd
push eax
call fcn.1009f910
add esp, 8
push str.xinput1_2.dll
call esi
test eax, eax
je 0x10084f6c
push 0xc
push eax
call fcn.1009f910
add esp, 8
push str.xinput1_1.dll
call esi
test eax, eax
je 0x10084f82
push 0xb
push eax
call fcn.1009f910
add esp, 8
push str.XInput9_1_0.dll
call esi
test eax, eax
je 0x10084f98
push 0xa
push eax
call fcn.1009f910
add esp, 8
push str.winmm.dll
call esi
test eax, eax
je 0x10084fac
push eax
call fcn.1009f820
add esp, 4
push str.hid.dll
call esi
test eax, eax
je 0x10084fc0
push eax
call fcn.10090c20
add esp, 4
push str.setupapi.dll
call esi
test eax, eax
je 0x10084fd4
push eax
call fcn.100976f0
add esp, 4
push str.combase.dll
call esi
mov esi, eax
test esi, esi
je 0x1008503d
push str.RoGetActivationFactory
push esi
call edi
mov ebx, eax
test ebx, ebx
je 0x10085016
push 0x1009f280
push ebx
call fcn.10071f00
add esp, 8
test al, al
jne 0x10085016
push 0
push 0x10132630
push 0x1009f280
push ebx
call fcn.100714b0
add esp, 0x10
push str.WindowsCreateString
push esi
call edi
push str.WindowsDeleteString
push esi
mov dword [0x10132634], eax
call edi
push str.WindowsGetStringRawBuffer
push esi
mov dword [0x10132638], eax
call edi
mov dword [0x1013263c], eax
push dword [0x1011f9b0]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret