Function at 0x1009be90
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 0xc]
cmp esi, dword [0x1012b608]
jb 0x1009c1f9
je 0x1009bf91
mov eax, dword [0x1012b60c]
test eax, eax
je 0x1009bebd
push 1
push eax
call fcn.1006f1a0
add esp, 8
mov eax, dword [0x1012b610]
test eax, eax
je 0x1009bed1
push 1
push eax
call fcn.1006f1a0
add esp, 8
mov eax, dword [0x1012b614]
test eax, eax
je 0x1009bee5
push 1
push eax
call fcn.1006f1a0
add esp, 8
mov eax, dword [0x1012b618]
test eax, eax
je 0x1009bef9
push 1
push eax
call fcn.1006f1a0
add esp, 8
mov eax, dword [0x1012b61c]
test eax, eax
je 0x1009bf0d
push 1
push eax
call fcn.1006f1a0
add esp, 8
mov eax, dword [0x1012b620]
test eax, eax
je 0x1009bf21
push 1
push eax
call fcn.1006f1a0
add esp, 8
mov eax, dword [0x1012b624]
test eax, eax
je 0x1009bf35
push 1
push eax
call fcn.1006f1a0
add esp, 8
mov eax, dword [0x1012b628]
test eax, eax
je 0x1009bf49
push 1
push eax
call fcn.1006f1a0
add esp, 8
mov eax, dword [0x1012b62c]
test eax, eax
je 0x1009bf5d
push 1
push eax
call fcn.1006f1a0
add esp, 8
xor eax, eax
mov dword [0x1012b608], eax
mov dword [0x1012b60c], eax
mov dword [0x1012b610], eax
mov dword [0x1012b614], eax
mov dword [0x1012b618], eax
mov dword [0x1012b61c], eax
mov dword [0x1012b620], eax
mov dword [0x1012b624], eax
mov dword [0x1012b628], eax
mov dword [0x1012b62c], eax
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edi
mov edi, dword [ebp + 8]
push 0x100e04e0
push edi
mov dword [0x1012b608], esi
call ebx
mov dword [ebp + 0xc], eax
test eax, eax
je 0x1009bfe5
push 0x1009ccb0
push eax
call fcn.1006f540
add esp, 8
test al, al
jne 0x1009bfe5
push 0
push 0x1012b60c
push 0x1009ccb0
push dword [ebp + 0xc]
call fcn.1006eaf0
push esi
push str.XInput_Hooked_XInputEnable_Version__d_n
call fcn.10081660
add esp, 0x18
push str.XInputGetAudioDeviceIds
push edi
call ebx
mov dword [ebp + 0xc], eax
test eax, eax
je 0x1009c028
push 0x1009cce0
push eax
call fcn.1006f540
add esp, 8
test al, al
jne 0x1009c028
push 0
push 0x1012b610
push 0x1009cce0
push dword [ebp + 0xc]
call fcn.1006eaf0
push esi
push str.XInput_Hooked_XInputGetAudioDeviceIds_Version__d_n
call fcn.10081660
add esp, 0x18
push str.XInputGetBatteryInformation
push edi
call ebx
mov dword [ebp + 0xc], eax
test eax, eax
je 0x1009c06b
push 0x1009cd90
push eax
call fcn.1006f540
add esp, 8
test al, al
jne 0x1009c06b
push 0
push 0x1012b614
push 0x1009cd90
push dword [ebp + 0xc]
call fcn.1006eaf0
push esi
push str.XInput_Hooked_XInputGetBatteryInformation_Version__d_n
call fcn.10081660
add esp, 0x18
push str.XInputGetCapabilities
push edi
call ebx
mov dword [ebp + 0xc], eax
test eax, eax
je 0x1009c0ae
push 0x1009ce30
push eax
call fcn.1006f540
add esp, 8
test al, al
jne 0x1009c0ae
push 0
push 0x1012b618
push 0x1009ce30
push dword [ebp + 0xc]
call fcn.1006eaf0
push esi
push str.XInput_Hooked_XInputGetCapabilities_Version__d_n
call fcn.10081660
add esp, 0x18
push str.XInputGetDSoundAudioDeviceGuids
push edi
call ebx
mov dword [ebp + 0xc], eax
test eax, eax
je 0x1009c0f1
push 0x1009cef0
push eax
call fcn.1006f540
add esp, 8
test al, al
jne 0x1009c0f1
push 0
push 0x1012b61c
push 0x1009cef0
push dword [ebp + 0xc]
call fcn.1006eaf0
push esi
push str.XInput_Hooked_XInputGetDSoundAudioDeviceGuids_Version__d_n
call fcn.10081660
add esp, 0x18
push str.XInputGetKeystroke
push edi
call ebx
mov dword [ebp + 0xc], eax
test eax, eax
je 0x1009c134
push 0x1009cf90
push eax
call fcn.1006f540
add esp, 8
test al, al
jne 0x1009c134
push 0
push 0x1012b620
push 0x1009cf90
push dword [ebp + 0xc]
call fcn.1006eaf0
push esi
push str.XInput_Hooked_XInputGetKeystroke_Version__d_n
call fcn.10081660
add esp, 0x18
push str.XInputGetState
push edi
call ebx
mov dword [ebp + 0xc], eax
test eax, eax
je 0x1009c177
push 0x1009d190
push eax
call fcn.1006f540
add esp, 8
test al, al
jne 0x1009c177
push 0
push 0x1012b624
push 0x1009d190
push dword [ebp + 0xc]
call fcn.1006eaf0
push esi
push str.XInput_Hooked_XInputGetState_Version__d_n
call fcn.10081660
add esp, 0x18
push 0x64
push edi
call ebx
mov dword [ebp + 0xc], eax
test eax, eax
je 0x1009c1b7
push 0x1009d1b0
push eax
call fcn.1006f540
add esp, 8
test al, al
jne 0x1009c1b7
push 0
push 0x1012b628
push 0x1009d1b0
push dword [ebp + 0xc]
call fcn.1006eaf0
push esi
push str.XInput_Hooked_XInputGetStateEX_Version__d_n
call fcn.10081660
add esp, 0x18
push str.XInputSetState
push edi
call ebx
mov edi, eax
test edi, edi
je 0x1009c1f7
push 0x1009d2f0
push edi
call fcn.1006f540
add esp, 8
test al, al
jne 0x1009c1f7
push 0
push 0x1012b62c
push 0x1009d2f0
push edi
call fcn.1006eaf0
push esi
push str.XInput_Hooked_XInputSetState_Version__d_n
call fcn.10081660
add esp, 0x18
pop edi
pop ebx
pop esi
pop ebp
ret