Function at 0x10062540
Capabilities:
Print debug messages

Disassembly:
sub esp, 0x11c
push ebp
push esi
lea eax, [esp + 0x90]
push edi
xor ebp, ebp
push eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x98], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
jne 0x1006258a
pop edi
pop esi
pop ebp
add esp, 0x11c
ret
cmp dword [esp + 0xa4], 2
jne 0x10062608
mov eax, dword [esp + 0x98]
cmp eax, 4
jae 0x100625ac
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x11c
ret
jne 0x10062608
push 0x1007c358
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
cmp esi, ebp
jne 0x100625d9
push str.Couldnt_LoadLibrary_DInput_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
pop edi
pop esi
mov eax, 0x200
pop ebp
add esp, 0x11c
ret
push 0x1007c384
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, edi
pop edi
neg eax
sbb eax, eax
pop esi
and eax, 0x100
pop ebp
add eax, 0x200
add esp, 0x11c
ret
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push ebx
push str.DDRAW.DLL
call esi
cmp eax, ebp
mov dword [esp + 0x20], eax
jne 0x10062625
xor ebx, ebx
jmp 0x1006275e
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.DirectDrawCreate
push eax
call edi
cmp eax, ebp
jne 0x1006263e
xor ebx, ebx
jmp 0x1006275e
lea ecx, [esp + 0x10]
push ebp
push ecx
push ebp
call eax
test eax, eax
jge 0x10062652
xor ebx, ebx
jmp 0x1006275e
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x18]
push ecx
push 0x1006b530
mov edx, dword [eax]
push eax
mov ebx, 0x100
call dword [edx]
test eax, eax
jl 0x1006275e
mov eax, dword [esp + 0x18]
push eax
mov edx, dword [eax]
call dword [edx + 8]
push str.DINPUT.DLL
mov ebx, 0x200
call esi
mov esi, eax
cmp esi, ebp
je 0x1006275e
push str.DirectInputCreateA
push esi
call edi
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp edi, ebp
je 0x1006275e
mov ecx, 0x1b
xor eax, eax
lea edi, [esp + 0x2c]
push 8
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], 0x6c
mov dword [esp + 0x34], 1
mov dword [esp + 0x98], 0x200
mov ecx, dword [eax]
push ebp
push eax
mov ebx, 0x300
call dword [ecx + 0x50]
test eax, eax
jge 0x100626ed
xor ebx, ebx
jmp 0x1006275e
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x14]
push ebp
push ecx
mov edx, dword [eax]
lea ecx, [esp + 0x34]
push ecx
push eax
call dword [edx + 0x18]
test eax, eax
jge 0x1006270a
xor ebx, ebx
jmp 0x1006275e
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x24]
push ecx
push 0x1006b510
mov edx, dword [eax]
push eax
call dword [edx]
test eax, eax
jl 0x1006275e
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1c]
push ecx
push 0x1006b500
mov edx, dword [eax]
push eax
mov ebx, 0x500
call dword [edx]
test eax, eax
jl 0x1006275e
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x28]
push ecx
push 0x1006b4f0
mov edx, dword [eax]
push eax
mov ebx, 0x600
call dword [edx]
test eax, eax
jl 0x1006275e
mov ebx, 0x700
mov eax, dword [esp + 0x10]
cmp eax, ebp
je 0x1006276c
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x20]
cmp eax, ebp
je 0x1006277b
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x11c
ret