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

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
push dword [ebp + 0x1c]
mov esi, ecx
call sym.RTCore.dll_public:_int___thiscall_CLowLevelHwInterfaceATI::I2CIsBusDisconnected_unsigned_long_int_
test eax, eax
je 0x1000da28
xor eax, eax
jmp 0x1000dbc2
push ebx
push edi
push 0x21c
push dword [ebp + 0x1c]
mov ecx, esi
call sym.RTCore.dll_public:_void___thiscall_CLowLevelHwInterfaceATI::R6xx_I2CReset_unsigned_long_int__unsigned_long_int_
push 0x300000
push 0x100000
push 0x7d30
mov ecx, esi
call sym.RTCore.dll_public:_void___thiscall_CLowLevelHwInterfaceATI::WriteRegisterUlongMasked_unsigned_long_int__unsigned_long_int__unsigned_long_int_
mov eax, dword [esi]
push 0x11100
push 0x7d64
mov ecx, esi
call dword [eax + 0x74]
mov eax, dword [esi]
push 0x13001
push 0x7d68
mov ecx, esi
call dword [eax + 0x74]
mov ebx, dword [ebp + 8]
mov eax, dword [esi]
mov ecx, ebx
or ecx, 0xffc00000
shl ecx, 9
push ecx
mov edi, 0x7d74
push edi
mov ecx, esi
call dword [eax + 0x74]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi]
or ecx, 0xff800100
shl ecx, 8
push ecx
push edi
mov ecx, esi
call dword [eax + 0x74]
mov eax, dword [esi]
shl ebx, 9
add ebx, 0x100
or ebx, 0x80020000
push ebx
push edi
mov ecx, esi
call dword [eax + 0x74]
push 1
push 1
push 0x7d30
mov ecx, esi
call sym.RTCore.dll_public:_void___thiscall_CLowLevelHwInterfaceATI::WriteRegisterUlongMasked_unsigned_long_int__unsigned_long_int__unsigned_long_int_
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov dword [ebp - 4], eax
mov dword [ebp + 8], 1
mov eax, dword [esi]
push 0x7d3c
mov ecx, esi
call dword [eax + 0x68]
mov dword [ebp + 0xc], eax
test al, 4
jne 0x1000db14
call ebx
sub eax, dword [ebp - 4]
cmp eax, dword [esi + 0x78]
jb 0x1000dadc
mov eax, dword [ebp + 0xc]
test al, 4
jne 0x1000db14
push dword [ebp + 0x1c]
mov ecx, esi
call sym.RTCore.dll_public:_void___thiscall_CLowLevelHwInterfaceATI::I2CDisconnectBus_unsigned_long_int_
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov dword [ebp + 8], ecx
jmp 0x1000db16
xor ecx, ecx
test al, 0x10
je 0x1000db1d
mov dword [ebp + 8], ecx
test al, 0x20
je 0x1000db24
mov dword [ebp + 8], ecx
test al, 0x40
je 0x1000db2b
mov dword [ebp + 8], ecx
test al, al
jns 0x1000db32
mov dword [ebp + 8], ecx
test eax, 0x100
je 0x1000db3c
mov dword [ebp + 8], ecx
test eax, 0x1000
je 0x1000db46
mov dword [ebp + 8], ecx
test eax, 0x2000
je 0x1000db50
mov dword [ebp + 8], ecx
mov ebx, dword [esi]
push 0x7d38
mov ecx, esi
call dword [ebx + 0x68]
or eax, 0x2222
push eax
push 0x7d38
mov ecx, esi
call dword [ebx + 0x74]
xor ebx, ebx
cmp dword [ebp + 8], ebx
je 0x1000db9c
mov eax, dword [esi]
push 0x80030001
push edi
mov ecx, esi
call dword [eax + 0x74]
cmp dword [ebp + 0x14], ebx
jbe 0x1000db9c
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x68]
mov ecx, dword [ebp + 0x10]
shr eax, 8
mov byte [ebx + ecx], al
inc ebx
cmp ebx, dword [ebp + 0x14]
jb 0x1000db85
mov eax, dword [esi]
push 2
mov edi, 0x7d30
push edi
mov ecx, esi
call dword [eax + 0x7c]
push 1
call fcn.100147a2
mov eax, dword [esi]
pop ecx
push 0
push edi
mov ecx, esi
call dword [eax + 0x7c]
mov eax, dword [ebp + 8]
pop edi
pop ebx
pop esi
leave
ret 0x18