joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1000b4d5
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov esi, ecx
mov edi, dword [esi]
mov ebx, 0x5bd4
push ebx
call dword [edi + 0x68]
or eax, 4
push eax
push ebx
mov ecx, esi
call dword [edi + 0x74]
mov eax, dword [esi]
push 0x21c0002
push 0x5bdc
mov ecx, esi
call dword [eax + 0x74]
mov edi, dword [esi]
add ebx, 0xc
push ebx
mov ecx, esi
call dword [edi + 0x68]
and eax, 0x78
or eax, 0x28010007
push eax
push ebx
mov ecx, esi
call dword [edi + 0x74]
push dword [ebp + 0x18]
mov ecx, esi
call sym.RTCore.dll_public:_void___thiscall_CLowLevelHwInterfaceATI::Tonga_I2CGenericSelectBus_unsigned_long_int_
mov eax, dword [ebp + 0x10]
xor ebx, ebx
shl eax, 0x10
cmp dword [ebp + 0x1c], ebx
je 0x1000b53b
or eax, 0x1000
jmp 0x1000b540
and eax, 0xffffefff
cmp dword [ebp + 0x20], ebx
je 0x1000b54c
or eax, 0x2000
jmp 0x1000b551
and eax, 0xffffdfff
mov edx, dword [esi]
push eax
push 0x5be4
mov ecx, esi
call dword [edx + 0x74]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
or ecx, 0xff800000
shl ecx, 8
push ecx
mov edi, 0x5be8
push edi
mov ecx, esi
call dword [eax + 0x74]
cmp dword [ebp + 0x10], ebx
jbe 0x1000b596
mov ecx, dword [ebp + 0xc]
movzx ecx, byte [ebx + ecx]
mov eax, dword [esi]
shl ecx, 8
push ecx
push edi
mov ecx, esi
call dword [eax + 0x74]
inc ebx
cmp ebx, dword [ebp + 0x10]
jb 0x1000b57d
mov edi, dword [esi]
mov ebx, 0x5bd0
push ebx
mov ecx, esi
call dword [edi + 0x68]
or eax, 1
push eax
push ebx
mov ecx, esi
call dword [edi + 0x74]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov dword [ebp + 0x10], eax
mov eax, dword [esi]
push 0x5bd8
mov ecx, esi
call dword [eax + 0x68]
mov ebx, eax
test bl, 0x10
jne 0x1000b5de
call edi
sub eax, dword [ebp + 0x10]
cmp eax, dword [esi + 0x78]
jb 0x1000b5b8
test bl, 0x10
jne 0x1000b5de
xor eax, eax
jmp 0x1000b5fa
test bl, 0x20
jne 0x1000b5da
test bl, 0x40
jne 0x1000b5da
test ebx, 0x200
jne 0x1000b5da
mov eax, ebx
shr eax, 0xa
not eax
and eax, 1
pop edi
pop esi
pop ebx
pop ebp
ret 0x1c
Function at 0x1000b780
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov esi, ecx
mov edi, dword [esi]
mov ebx, 0x5bd4
push ebx
call dword [edi + 0x68]
or eax, 4
push eax
push ebx
mov ecx, esi
call dword [edi + 0x74]
mov eax, dword [esi]
push 0x1f40002
push 0x5bdc
mov ecx, esi
call dword [eax + 0x74]
mov edi, dword [esi]
add ebx, 0xc
push ebx
mov ecx, esi
call dword [edi + 0x68]
and eax, 0x78
or eax, 0x28010007
push eax
push ebx
mov ecx, esi
call dword [edi + 0x74]
push dword [ebp + 0x18]
mov ecx, esi
call sym.RTCore.dll_public:_void___thiscall_CLowLevelHwInterfaceATI::Fiji_I2CGenericSelectBus_unsigned_long_int_
mov eax, dword [ebp + 0x10]
shl eax, 0x10
or eax, 1
cmp dword [ebp + 0x1c], 0
je 0x1000b7e8
or eax, 0x1000
jmp 0x1000b7ed
and eax, 0xffffefff
cmp dword [ebp + 0x20], 0
je 0x1000b7fa
or eax, 0x2000
jmp 0x1000b7ff
and eax, 0xffffdfff
mov edx, dword [esi]
push eax
push 0x5be4
mov ecx, esi
call dword [edx + 0x74]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
or ecx, 0xff800000
shl ecx, 8
push ecx
push 0x5be8
mov ecx, esi
call dword [eax + 0x74]
mov edi, dword [esi]
mov ebx, 0x5bd0
push ebx
mov ecx, esi
call dword [edi + 0x68]
or eax, 1
push eax
push ebx
mov ecx, esi
call dword [edi + 0x74]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov dword [ebp + 0x18], eax
mov eax, dword [esi]
push 0x5bd8
mov ecx, esi
call dword [eax + 0x68]
mov ebx, eax
test bl, 0x10
jne 0x1000b86d
call edi
sub eax, dword [ebp + 0x18]
cmp eax, dword [esi + 0x78]
jb 0x1000b847
test bl, 0x10
jne 0x1000b86d
xor eax, eax
jmp 0x1000b8ba
test bl, 0x20
jne 0x1000b869
test bl, 0x40
jne 0x1000b869
test ebx, 0x200
jne 0x1000b869
test ebx, 0x400
jne 0x1000b869
mov eax, dword [esi]
push 0x80010001
mov edi, 0x5be8
push edi
mov ecx, esi
call dword [eax + 0x74]
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
jbe 0x1000b8b7
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x68]
mov ecx, dword [ebp + 0xc]
shr eax, 8
mov byte [ebx + ecx], al
inc ebx
cmp ebx, dword [ebp + 0x10]
jb 0x1000b8a0
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
pop ebp
ret 0x1c
Function at 0x1000b8c1
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov esi, ecx
mov edi, dword [esi]
mov ebx, 0x5bd4
push ebx
call dword [edi + 0x68]
or eax, 4
push eax
push ebx
mov ecx, esi
call dword [edi + 0x74]
mov eax, dword [esi]
push 0x1f40002
push 0x5bdc
mov ecx, esi
call dword [eax + 0x74]
mov edi, dword [esi]
add ebx, 0xc
push ebx
mov ecx, esi
call dword [edi + 0x68]
and eax, 0x78
or eax, 0x28010007
push eax
push ebx
mov ecx, esi
call dword [edi + 0x74]
push dword [ebp + 0x18]
mov ecx, esi
call sym.RTCore.dll_public:_void___thiscall_CLowLevelHwInterfaceATI::Fiji_I2CGenericSelectBus_unsigned_long_int_
mov eax, dword [ebp + 0x10]
xor ebx, ebx
shl eax, 0x10
cmp dword [ebp + 0x1c], ebx
je 0x1000b927
or eax, 0x1000
jmp 0x1000b92c
and eax, 0xffffefff
cmp dword [ebp + 0x20], ebx
je 0x1000b938
or eax, 0x2000
jmp 0x1000b93d
and eax, 0xffffdfff
mov edx, dword [esi]
push eax
push 0x5be4
mov ecx, esi
call dword [edx + 0x74]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
or ecx, 0xff800000
shl ecx, 8
push ecx
mov edi, 0x5be8
push edi
mov ecx, esi
call dword [eax + 0x74]
cmp dword [ebp + 0x10], ebx
jbe 0x1000b982
mov ecx, dword [ebp + 0xc]
movzx ecx, byte [ebx + ecx]
mov eax, dword [esi]
shl ecx, 8
push ecx
push edi
mov ecx, esi
call dword [eax + 0x74]
inc ebx
cmp ebx, dword [ebp + 0x10]
jb 0x1000b969
mov edi, dword [esi]
mov ebx, 0x5bd0
push ebx
mov ecx, esi
call dword [edi + 0x68]
or eax, 1
push eax
push ebx
mov ecx, esi
call dword [edi + 0x74]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov dword [ebp + 0x10], eax
mov eax, dword [esi]
push 0x5bd8
mov ecx, esi
call dword [eax + 0x68]
mov ebx, eax
test bl, 0x10
jne 0x1000b9ca
call edi
sub eax, dword [ebp + 0x10]
cmp eax, dword [esi + 0x78]
jb 0x1000b9a4
test bl, 0x10
jne 0x1000b9ca
xor eax, eax
jmp 0x1000b9e6
test bl, 0x20
jne 0x1000b9c6
test bl, 0x40
jne 0x1000b9c6
test ebx, 0x200
jne 0x1000b9c6
mov eax, ebx
shr eax, 0xa
not eax
and eax, 1
pop edi
pop esi
pop ebx
pop ebp
ret 0x1c

Function at 0x1000ba05
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push str.GlobalAccess_ATI_SMC
push 0
push 0
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov ebx, eax
test ebx, ebx
je 0x1000ba2b
push 0xffffffffffffffff
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esi]
push edi
mov edi, 0x200
push edi
mov ecx, esi
call dword [eax + 0x68]
push dword [ebp + 8]
mov dword [ebp - 4], eax
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x74]
mov eax, dword [esi]
push 0x204
mov ecx, esi
call dword [eax + 0x68]
push dword [ebp - 4]
mov dword [ebp + 8], eax
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x74]
pop edi
test ebx, ebx
je 0x1000ba74
push ebx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp + 8]
pop esi
pop ebx
leave
ret 4
Function at 0x1000ba7d
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push str.GlobalAccess_ATI_SMC
push 0
push 0
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov ebx, eax
test ebx, ebx
je 0x1000baa3
push 0xffffffffffffffff
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esi]
push edi
mov edi, 0x200
push edi
mov ecx, esi
call dword [eax + 0x68]
push dword [ebp + 8]
mov dword [ebp - 4], eax
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x74]
push dword [ebp + 0xc]
mov eax, dword [esi]
push 0x204
mov ecx, esi
call dword [eax + 0x74]
push dword [ebp - 4]
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x74]
pop edi
test ebx, ebx
je 0x1000baec
push ebx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop esi
pop ebx
leave
ret 8
Function at 0x1000c760
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
shl dword [ebp + 8], 1
sub esp, 0xc
push ebx
push esi
mov esi, ecx
mov eax, dword [esi]
push edi
call dword [eax + 0x18]
mov ecx, dword [ebp + 0x18]
shl ecx, 9
xor edx, edx
div ecx
mov ebx, eax
mov eax, 0xff
cmp ebx, eax
jbe 0x1000c78a
mov ebx, eax
test ebx, ebx
jne 0x1000c78f
inc ebx
mov ecx, esi
call sym.RTCore.dll_public:_void___thiscall_CLowLevelHwInterfaceATI::WaitForIdle_void_
mov eax, dword [esi]
mov edi, 0x7d30
push edi
mov ecx, esi
call dword [eax + 0x68]
mov dword [ebp + 0x18], eax
mov eax, dword [esi]
push 0x7d38
mov ecx, esi
call dword [eax + 0x68]
mov dword [ebp - 4], eax
mov eax, dword [esi]
push 0x7d3c
mov ecx, esi
call dword [eax + 0x68]
mov dword [ebp - 8], eax
mov eax, dword [esi]
push 0x7d40
mov ecx, esi
call dword [eax + 0x68]
test byte [ebp + 0x18], 8
mov dword [ebp - 0xc], eax
je 0x1000c7e2
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0x18
mov eax, dword [esi]
push 7
push edi
mov ecx, esi
call dword [eax + 0x74]
mov eax, dword [esi]
push 1
push 0x7d34
mov ecx, esi
call dword [eax + 0x74]
mov ecx, dword [ebp + 0x1c]
mov eax, dword [esi]
shl ecx, 0x10
or ecx, 0x101
push ecx
push 0x7d38
mov ecx, esi
call dword [eax + 0x74]
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi]
inc ecx
shl ecx, 8
shl ebx, 0x18
or ecx, ebx
or ecx, 0x800001
push ecx
push 0x7d3c
mov ecx, esi
call dword [eax + 0x74]
mov eax, dword [esi]
push 0xff000080
push 0x7d40
mov ecx, esi
call dword [eax + 0x74]
mov eax, dword [ebp + 8]
mov edx, dword [esi]
and eax, 0xfe
push eax
mov ebx, 0x7d44
push ebx
mov ecx, esi
call dword [edx + 0x74]
push dword [ebp + 0xc]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x74]
and dword [ebp + 8], 0
cmp dword [ebp + 0x14], 0
jbe 0x1000c88c
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [edx + ecx]
mov eax, dword [esi]
push ecx
push ebx
mov ecx, esi
call dword [eax + 0x74]
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, dword [ebp + 0x14]
jb 0x1000c86e
mov eax, dword [esi]
push 8
push edi
mov ecx, esi
call dword [eax + 0x74]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov dword [ebp + 8], eax
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x68]
mov dword [ebp + 0x14], eax
test al, 8
je 0x1000c8bc
call ebx
sub eax, dword [ebp + 8]
cmp eax, 0x7d0
jb 0x1000c8a1
xor ebx, ebx
test byte [ebp + 0x14], 1
jne 0x1000c903
push dword [ebp + 0x18]
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x74]
push dword [ebp - 4]
mov eax, dword [esi]
push 0x7d38
mov ecx, esi
call dword [eax + 0x74]
push dword [ebp - 8]
mov eax, dword [esi]
push 0x7d3c
mov ecx, esi
call dword [eax + 0x74]
push dword [ebp - 0xc]
mov eax, dword [esi]
push 0x7d40
mov ecx, esi
call dword [eax + 0x74]
mov eax, ebx
jmp 0x1000c7db
inc ebx
jmp 0x1000c8c4
Function at 0x1000dbc7
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
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 0x1000dbe0
xor eax, eax
jmp 0x1000dd35
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 0
mov ebx, 0x7d30
push ebx
mov ecx, esi
call sym.RTCore.dll_public:_void___thiscall_CLowLevelHwInterfaceATI::WriteRegisterUlongMasked_unsigned_long_int__unsigned_long_int__unsigned_long_int_
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi]
inc ecx
shl ecx, 0x10
or ecx, 0x3100
push ecx
push 0x7d64
mov ecx, esi
call dword [eax + 0x74]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
or ecx, 0xffc00000
shl ecx, 9
push ecx
lea edi, [ebx + 0x44]
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]
and dword [ebp + 8], 0
cmp dword [ebp + 0x14], 0
jle 0x1000dc8e
mov dword [ebp + 0xc], 0x20000
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [edx + ecx]
mov eax, dword [esi]
or ecx, 0xff800000
shl ecx, 8
or ecx, dword [ebp + 0xc]
push ecx
push edi
mov ecx, esi
call dword [eax + 0x74]
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
add dword [ebp + 0xc], 0x10000
cmp eax, dword [ebp + 0x14]
jl 0x1000dc5d
push 1
push 1
push ebx
mov ecx, esi
call sym.RTCore.dll_public:_void___thiscall_CLowLevelHwInterfaceATI::WriteRegisterUlongMasked_unsigned_long_int__unsigned_long_int__unsigned_long_int_
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x14], 1
mov eax, dword [esi]
push 0x7d3c
mov ecx, esi
call dword [eax + 0x68]
mov dword [ebp + 8], eax
test al, 4
jne 0x1000dcc9
call edi
sub eax, dword [ebp + 0xc]
cmp eax, dword [esi + 0x78]
jb 0x1000dcac
test byte [ebp + 8], 4
jne 0x1000dce0
push dword [ebp + 0x1c]
mov ecx, esi
call sym.RTCore.dll_public:_void___thiscall_CLowLevelHwInterfaceATI::I2CDisconnectBus_unsigned_long_int_
xor edi, edi
mov dword [ebp + 0x14], edi
jmp 0x1000dce2
xor edi, edi
mov eax, dword [ebp + 8]
test al, 0x10
je 0x1000dcec
mov dword [ebp + 0x14], edi
test al, 0x20
je 0x1000dcf3
mov dword [ebp + 0x14], edi
test al, 0x40
je 0x1000dcfa
mov dword [ebp + 0x14], edi
test al, al
jns 0x1000dd01
mov dword [ebp + 0x14], edi
test eax, 0x100
je 0x1000dd0b
mov dword [ebp + 0x14], edi
test eax, 0x1000
je 0x1000dd15
mov dword [ebp + 0x14], edi
mov eax, dword [esi]
push 2
push ebx
mov ecx, esi
call dword [eax + 0x7c]
push 1
call fcn.100147a2
mov eax, dword [esi]
pop ecx
push edi
push ebx
mov ecx, esi
call dword [eax + 0x7c]
mov eax, dword [ebp + 0x14]
pop edi
pop ebx
pop esi
pop ebp
ret 0x18
Function at 0x1000dd3a
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov esi, ecx
mov edi, dword [esi]
mov ebx, 0x60d4
push ebx
call dword [edi + 0x68]
or eax, 4
push eax
push ebx
mov ecx, esi
call dword [edi + 0x74]
mov eax, dword [esi]
push 0x21c0002
push 0x60dc
mov ecx, esi
call dword [eax + 0x74]
mov edi, dword [esi]
add ebx, 0xc
push ebx
mov ecx, esi
call dword [edi + 0x68]
and eax, 0x78
or eax, 0x28010007
push eax
push ebx
mov ecx, esi
call dword [edi + 0x74]
mov ecx, esi
call sym.RTCore.dll_public:_int___thiscall_CLowLevelHwInterfaceATI::IsRV10xx_void_
test eax, eax
jne 0x1000dda4
mov ecx, esi
call sym.RTCore.dll_public:_int___thiscall_CLowLevelHwInterfaceATI::IsRV11xx_void_
test eax, eax
jne 0x1000dda4
push dword [ebp + 0x18]
mov ecx, esi
call sym.RTCore.dll_public:_void___thiscall_CLowLevelHwInterfaceATI::RV8xx_I2CGenericSelectBus_unsigned_long_int_
jmp 0x1000ddae
push dword [ebp + 0x18]
mov ecx, esi
call sym.RTCore.dll_public:_void___thiscall_CLowLevelHwInterfaceATI::RV1xxx_I2CGenericSelectBus_unsigned_long_int_
mov eax, dword [ebp + 0x10]
shl eax, 0x10
or eax, 1
cmp dword [ebp + 0x1c], 0
je 0x1000ddc4
or eax, 0x1000
jmp 0x1000ddc9
and eax, 0xffffefff
cmp dword [ebp + 0x20], 0
je 0x1000ddd6
or eax, 0x2000
jmp 0x1000dddb
and eax, 0xffffdfff
mov edx, dword [esi]
push eax
push 0x60e4
mov ecx, esi
call dword [edx + 0x74]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
or ecx, 0xff800000
shl ecx, 8
push ecx
push 0x60e8
mov ecx, esi
call dword [eax + 0x74]
mov edi, dword [esi]
mov ebx, 0x60d0
push ebx
mov ecx, esi
call dword [edi + 0x68]
or eax, 1
push eax
push ebx
mov ecx, esi
call dword [edi + 0x74]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov dword [ebp + 0x18], eax
mov eax, dword [esi]
push 0x60d8
mov ecx, esi
call dword [eax + 0x68]
mov ebx, eax
test bl, 0x10
jne 0x1000de49
call edi
sub eax, dword [ebp + 0x18]
cmp eax, dword [esi + 0x78]
jb 0x1000de23
test bl, 0x10
jne 0x1000de49
xor eax, eax
jmp 0x1000de96
test bl, 0x20
jne 0x1000de45
test bl, 0x40
jne 0x1000de45
test ebx, 0x200
jne 0x1000de45
test ebx, 0x400
jne 0x1000de45
mov eax, dword [esi]
push 0x80010001
mov edi, 0x60e8
push edi
mov ecx, esi
call dword [eax + 0x74]
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
jbe 0x1000de93
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x68]
mov ecx, dword [ebp + 0xc]
shr eax, 8
mov byte [ebx + ecx], al
inc ebx
cmp ebx, dword [ebp + 0x10]
jb 0x1000de7c
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
pop ebp
ret 0x1c
Function at 0x1000de9d
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov esi, ecx
mov edi, dword [esi]
mov ebx, 0x60d4
push ebx
call dword [edi + 0x68]
or eax, 4
push eax
push ebx
mov ecx, esi
call dword [edi + 0x74]
mov eax, dword [esi]
push 0x21c0002
push 0x60dc
mov ecx, esi
call dword [eax + 0x74]
mov edi, dword [esi]
add ebx, 0xc
push ebx
mov ecx, esi
call dword [edi + 0x68]
and eax, 0x78
or eax, 0x28010007
push eax
push ebx
mov ecx, esi
call dword [edi + 0x74]
mov ecx, esi
call sym.RTCore.dll_public:_int___thiscall_CLowLevelHwInterfaceATI::IsRV10xx_void_
test eax, eax
jne 0x1000df07
mov ecx, esi
call sym.RTCore.dll_public:_int___thiscall_CLowLevelHwInterfaceATI::IsRV11xx_void_
test eax, eax
jne 0x1000df07
push dword [ebp + 0x18]
mov ecx, esi
call sym.RTCore.dll_public:_void___thiscall_CLowLevelHwInterfaceATI::RV8xx_I2CGenericSelectBus_unsigned_long_int_
jmp 0x1000df11
push dword [ebp + 0x18]
mov ecx, esi
call sym.RTCore.dll_public:_void___thiscall_CLowLevelHwInterfaceATI::RV1xxx_I2CGenericSelectBus_unsigned_long_int_
mov eax, dword [ebp + 0x10]
xor ebx, ebx
shl eax, 0x10
cmp dword [ebp + 0x1c], ebx
je 0x1000df25
or eax, 0x1000
jmp 0x1000df2a
and eax, 0xffffefff
cmp dword [ebp + 0x20], ebx
je 0x1000df36
or eax, 0x2000
jmp 0x1000df3b
and eax, 0xffffdfff
mov edx, dword [esi]
push eax
push 0x60e4
mov ecx, esi
call dword [edx + 0x74]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
or ecx, 0xff800000
shl ecx, 8
push ecx
mov edi, 0x60e8
push edi
mov ecx, esi
call dword [eax + 0x74]
cmp dword [ebp + 0x10], ebx
jbe 0x1000df80
mov ecx, dword [ebp + 0xc]
movzx ecx, byte [ebx + ecx]
mov eax, dword [esi]
shl ecx, 8
push ecx
push edi
mov ecx, esi
call dword [eax + 0x74]
inc ebx
cmp ebx, dword [ebp + 0x10]
jb 0x1000df67
mov edi, dword [esi]
mov ebx, 0x60d0
push ebx
mov ecx, esi
call dword [edi + 0x68]
or eax, 1
push eax
push ebx
mov ecx, esi
call dword [edi + 0x74]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov dword [ebp + 0x10], eax
mov eax, dword [esi]
push 0x60d8
mov ecx, esi
call dword [eax + 0x68]
mov ebx, eax
test bl, 0x10
jne 0x1000dfc8
call edi
sub eax, dword [ebp + 0x10]
cmp eax, dword [esi + 0x78]
jb 0x1000dfa2
test bl, 0x10
jne 0x1000dfc8
xor eax, eax
jmp 0x1000dfe4
test bl, 0x20
jne 0x1000dfc4
test bl, 0x40
jne 0x1000dfc4
test ebx, 0x200
jne 0x1000dfc4
mov eax, ebx
shr eax, 0xa
not eax
and eax, 1
pop edi
pop esi
pop ebx
pop ebp
ret 0x1c
Function at 0x1000f18c
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
push str.GlobalAccess_ATI_SMC
xor edi, edi
push edi
push edi
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov ebx, eax
cmp ebx, edi
je 0x1000f1b2
push 0xffffffffffffffff
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, esi
call sym.RTCore.dll_public:_int___thiscall_CLowLevelHwInterfaceATI::IsVega10_void_
test eax, eax
je 0x1000f1cf
push dword [ebp + 0x10]
mov ecx, esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call sym.RTCore.dll_public:_unsigned_long_int___thiscall_CLowLevelHwInterfaceATI::Vega10_SendMessageToSMC_unsigned_long_int__unsigned_long_int___unsigned_long_int__
mov edi, eax
mov ecx, esi
call sym.RTCore.dll_public:_int___thiscall_CLowLevelHwInterfaceATI::IsFiji_void_
test eax, eax
jne 0x1000f1f0
mov ecx, esi
call sym.RTCore.dll_public:_int___thiscall_CLowLevelHwInterfaceATI::IsEllesmere_void_
test eax, eax
jne 0x1000f1f0
mov ecx, esi
call sym.RTCore.dll_public:_int___thiscall_CLowLevelHwInterfaceATI::IsBaffin_void_
test eax, eax
je 0x1000f202
push dword [ebp + 0x10]
mov ecx, esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call sym.RTCore.dll_public:_unsigned_long_int___thiscall_CLowLevelHwInterfaceATI::Fiji_SendMessageToSMC_unsigned_long_int__unsigned_long_int___unsigned_long_int__
mov edi, eax
test ebx, ebx
je 0x1000f214
push ebx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
Function at 0x1000fd43
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
mov esi, ecx
call sym.RTCore.dll_public:_unsigned_long_int___thiscall_CLowLevelHwInterfaceATI::GetCoreFamily_void_
mov edi, eax
and edi, 0xffff
cmp edi, 0x300
jae 0x1000fd66
xor eax, eax
jmp 0x1000fdf1
push ebx
push 0x1001e1f0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov ebx, eax
test ebx, ebx
je 0x1000fd85
push 0xffffffffffffffff
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [ebp + 0x1c]
mov ecx, esi
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
cmp edi, 0x800
jb 0x1000fda8
call sym.RTCore.dll_public:_int___thiscall_CLowLevelHwInterfaceATI::R8xx_I2CRead_unsigned_long_int__unsigned_long_int__unsigned_char___unsigned_long_int__unsigned_long_int__unsigned_long_int_
jmp 0x1000fdda
cmp edi, 0x700
jb 0x1000fdb7
call sym.RTCore.dll_public:_int___thiscall_CLowLevelHwInterfaceATI::R7xx_I2CRead_unsigned_long_int__unsigned_long_int__unsigned_char___unsigned_long_int__unsigned_long_int__unsigned_long_int_
jmp 0x1000fdda
cmp edi, 0x600
jb 0x1000fdc6
call sym.RTCore.dll_public:_int___thiscall_CLowLevelHwInterfaceATI::R6xx_I2CRead_unsigned_long_int__unsigned_long_int__unsigned_char___unsigned_long_int__unsigned_long_int__unsigned_long_int_
jmp 0x1000fdda
cmp edi, 0x500
jb 0x1000fdd5
call sym.RTCore.dll_public:_int___thiscall_CLowLevelHwInterfaceATI::R5xx_I2CRead_unsigned_long_int__unsigned_long_int__unsigned_char___unsigned_long_int__unsigned_long_int__unsigned_long_int_
jmp 0x1000fdda
call sym.RTCore.dll_public:_int___thiscall_CLowLevelHwInterfaceATI::R3xx_I2CRead_unsigned_long_int__unsigned_long_int__unsigned_char___unsigned_long_int__unsigned_long_int__unsigned_long_int_
mov esi, eax
test ebx, ebx
je 0x1000fdee
push ebx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
pop ebx
pop edi
pop esi
pop ebp
ret 0x18