Function at 0x1000c4be
Capabilities:
Check for time delay via gettickcount

Disassembly:
sub esp, 0x10
push ebx
mov ebx, dword [esp + 0x18]
push ebp
push esi
push edi
mov esi, ecx
mov eax, dword [esi]
xor edi, edi
add ebx, ebx
inc edi
or ebx, edi
call dword [eax + 0x18]
mov ecx, dword [esp + 0x34]
shl ecx, 9
xor edx, edx
div ecx
mov dword [esp + 0x24], eax
mov eax, 0xff
cmp dword [esp + 0x24], eax
jbe 0x1000c4f5
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], 0
jne 0x1000c500
mov dword [esp + 0x24], edi
mov ecx, esi
call sym.RTCore.dll_public:_void___thiscall_CLowLevelHwInterfaceATI::WaitForIdle_void_
mov eax, dword [esi]
mov ebp, 0x7d30
push ebp
mov ecx, esi
call dword [eax + 0x68]
mov dword [esp + 0x10], eax
mov eax, dword [esi]
push 0x7d38
mov ecx, esi
call dword [eax + 0x68]
mov dword [esp + 0x14], eax
mov eax, dword [esi]
push 0x7d3c
mov ecx, esi
call dword [eax + 0x68]
mov dword [esp + 0x18], eax
mov eax, dword [esi]
push 0x7d40
mov ecx, esi
call dword [eax + 0x68]
test byte [esp + 0x10], 8
mov dword [esp + 0x1c], eax
je 0x1000c55b
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0x18
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x38]
shl eax, 0x18
or eax, 0x800000
push 7
mov dword [esp + 0x3c], eax
mov eax, dword [esi]
shl edi, 0x10
push ebp
mov ecx, esi
or edi, 0x101
call dword [eax + 0x74]
mov eax, dword [esi]
push 1
push 0x7d34
mov ecx, esi
call dword [eax + 0x74]
mov eax, dword [esi]
push edi
push 0x7d38
mov ecx, esi
call dword [eax + 0x74]
mov ecx, dword [esp + 0x38]
mov eax, dword [esi]
or ecx, 0x101
push ecx
push 0x7d3c
mov ecx, esi
call dword [eax + 0x74]
mov eax, dword [esi]
mov ecx, ebx
and ecx, 0xfe
push ecx
push 0x7d44
mov ecx, esi
call dword [eax + 0x74]
push dword [esp + 0x28]
mov eax, dword [esi]
push 0x7d44
mov ecx, esi
call dword [eax + 0x74]
mov eax, dword [esi]
push 8
push ebp
mov ecx, esi
call dword [eax + 0x74]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x24], eax
mov eax, dword [esi]
push ebp
mov ecx, esi
call dword [eax + 0x68]
mov dword [esp + 0x34], eax
test al, 8
je 0x1000c60e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x24]
cmp eax, 0x7d0
jb 0x1000c5ed
test byte [esp + 0x34], 1
mov eax, dword [esi]
mov ecx, esi
jne 0x1000c656
push dword [esp + 0x10]
push ebp
call dword [eax + 0x74]
push dword [esp + 0x14]
mov eax, dword [esi]
push 0x7d38
mov ecx, esi
call dword [eax + 0x74]
push dword [esp + 0x18]
mov eax, dword [esi]
push 0x7d3c
mov ecx, esi
call dword [eax + 0x74]
push dword [esp + 0x1c]
mov eax, dword [esi]
push 0x7d40
mov ecx, esi
call dword [eax + 0x74]
jmp 0x1000c54f
push 7
push ebp
call dword [eax + 0x74]
mov eax, dword [esi]
push 1
push 0x7d34
mov ecx, esi
call dword [eax + 0x74]
mov eax, dword [esi]
or edi, 6
push edi
push 0x7d38
mov ecx, esi
call dword [eax + 0x74]
mov edi, dword [esp + 0x30]
mov eax, dword [esi]
mov ecx, edi
shl ecx, 8
or ecx, dword [esp + 0x38]
or ecx, 1
push ecx
push 0x7d3c
mov ecx, esi
call dword [eax + 0x74]
mov eax, dword [esi]
or ebx, 1
push ebx
mov ebx, 0x7d44
push ebx
mov ecx, esi
call dword [eax + 0x74]
mov eax, dword [esi]
push 8
push ebp
mov ecx, esi
call dword [eax + 0x74]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x24], eax
mov eax, dword [esi]
push ebp
mov ecx, esi
call dword [eax + 0x68]
mov dword [esp + 0x34], eax
test al, 8
je 0x1000c6dd
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x24]
cmp eax, 0x7d0
jb 0x1000c6bc
test byte [esp + 0x34], 1
jne 0x1000c729
xor edi, edi
push dword [esp + 0x10]
mov eax, dword [esi]
push ebp
mov ecx, esi
call dword [eax + 0x74]
push dword [esp + 0x14]
mov eax, dword [esi]
push 0x7d38
mov ecx, esi
call dword [eax + 0x74]
push dword [esp + 0x18]
mov eax, dword [esi]
push 0x7d3c
mov ecx, esi
call dword [eax + 0x74]
push dword [esp + 0x1c]
mov eax, dword [esi]
push 0x7d40
mov ecx, esi
call dword [eax + 0x74]
mov eax, edi
jmp 0x1000c551
and dword [esp + 0x24], 0
test edi, edi
jbe 0x1000c75b
mov eax, dword [esp + 0x2c]
lea eax, [eax + edi - 1]
mov dword [esp + 0x34], eax
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x68]
mov edx, dword [esp + 0x24]
inc dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
mov byte [ecx + edx], al
cmp dword [esp + 0x24], edi
jb 0x1000c73e
xor edi, edi
inc edi
jmp 0x1000c6e6