Function at 0x472492
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
xor ebx, ebx
push str.atiadlxx.dll
mov esi, ecx
mov dword [ebp - 8], ebx
mov dword [ebp - 0xc], ebx
call edi
mov dword [esi + 0x108], eax
cmp eax, ebx
jne 0x4724c9
push str.atiadlxy.dll
call edi
mov dword [esi + 0x108], eax
mov eax, dword [esi + 0x108]
cmp eax, ebx
je 0x4727de
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.ADL_Main_Control_Create
push eax
call edi
push str.ADL_Main_Control_Destroy
push dword [esi + 0x108]
mov dword [esi + 0x10c], eax
call edi
push str.ADL_Adapter_NumberOfAdapters_Get
push dword [esi + 0x108]
mov dword [esi + 0x110], eax
call edi
push str.ADL_Adapter_AdapterInfo_Get
push dword [esi + 0x108]
mov dword [esi + 0x114], eax
call edi
push str.ADL_Adapter_Active_Get
push dword [esi + 0x108]
mov dword [esi + 0x118], eax
call edi
push str.ADL_Display_ColorCaps_Get
push dword [esi + 0x108]
mov dword [esi + 0x11c], eax
call edi
push str.ADL_Display_Color_Get
push dword [esi + 0x108]
mov dword [esi + 0x120], eax
call edi
push str.ADL_Display_Color_Set
push dword [esi + 0x108]
mov dword [esi + 0x124], eax
call edi
push str.ADL_Display_DisplayInfo_Get
push dword [esi + 0x108]
mov dword [esi + 0x128], eax
call edi
push str.ADL_Adapter_MemoryInfo_Get
push dword [esi + 0x108]
mov dword [esi + 0x12c], eax
call edi
push str.ADL_Adapter_ClockInfo_Get
push dword [esi + 0x108]
mov dword [esi + 0x130], eax
call edi
push str.ADL2_Main_Control_Create
push dword [esi + 0x108]
mov dword [esi + 0x134], eax
call edi
push str.ADL2_Main_Control_Destroy
push dword [esi + 0x108]
mov dword [esi + 0x138], eax
call edi
push str.ADL2_Adapter_Active_Get
push dword [esi + 0x108]
mov dword [esi + 0x13c], eax
call edi
push str.ADL_Overdrive5_Temperature_Get
push dword [esi + 0x108]
mov dword [esi + 0x140], eax
call edi
push str.ADL_Overdrive5_FanSpeedInfo_Get
push dword [esi + 0x108]
mov dword [esi + 0x144], eax
call edi
push str.ADL_Overdrive5_FanSpeed_Get
push dword [esi + 0x108]
mov dword [esi + 0x148], eax
call edi
push str.ADL_Overdrive5_CurrentActivity_Get
push dword [esi + 0x108]
mov dword [esi + 0x14c], eax
call edi
push str.ADL_Overdrive5_ODParameters_Get
push dword [esi + 0x108]
mov dword [esi + 0x150], eax
call edi
push str.ADL_Overdrive5_ODPerformanceLevels_Get
push dword [esi + 0x108]
mov dword [esi + 0x154], eax
call edi
mov dword [esi + 0x158], eax
push str.ADL_Overdrive5_PowerControl_Get
push dword [esi + 0x108]
call edi
push str.ADL_Overdrive6_CurrentStatus_Get
push dword [esi + 0x108]
mov dword [esi + 0x15c], eax
call edi
push str.ADL_Overdrive6_FanSpeed_Get
push dword [esi + 0x108]
mov dword [esi + 0x160], eax
call edi
push str.ADL2_Overdrive6_CurrentPower_Get
push dword [esi + 0x108]
mov dword [esi + 0x164], eax
call edi
mov dword [esi + 0x168], eax
mov eax, dword [esi + 0x10c]
cmp eax, ebx
je 0x4727de
push ebx
push 0x472327
call eax
pop ecx
pop ecx
test eax, eax
jne 0x4727de
mov eax, dword [esi + 0x114]
mov dword [ebp - 4], ebx
cmp eax, ebx
je 0x4727c5
lea ecx, [ebp - 4]
push ecx
call eax
mov eax, dword [ebp - 4]
cmp eax, ebx
pop ecx
jle 0x4727c5
imul eax, eax, 0x624
push eax
mov dword [ebp - 0xc], 1
call fcn.004eee09
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x624
push ecx
push ebx
push eax
mov dword [ebp - 8], eax
call fcn.004ef550
mov eax, dword [esi + 0x118]
add esp, 0x10
cmp eax, ebx
je 0x472728
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x624
push ecx
push dword [ebp - 8]
call eax
pop ecx
pop ecx
cmp dword [ebp - 4], ebx
mov dword [ebp - 0x10], ebx
jle 0x4727c5
mov edi, dword [ebp - 8]
add edi, 0x110
mov eax, dword [esi + 0x11c]
mov ecx, dword [edi - 0x10c]
mov dword [ebp - 0x18], ecx
cmp eax, ebx
je 0x4727b0
lea edx, [ebp - 0x14]
push edx
push ecx
mov dword [ebp - 0x14], ebx
call eax
pop ecx
pop ecx
test eax, eax
jne 0x4727b0
call fcn.00451ca2
cmp dword [eax + 0x5c], ebx
je 0x4727b0
call fcn.00451ca2
push dword [edi]
mov eax, dword [eax + 0x5c]
push dword [edi - 4]
mov ecx, eax
push dword [edi - 8]
call fcn.0045ac1a
mov ebx, eax
test ebx, ebx
je 0x4727ae
push dword [ebp - 0x18]
mov ecx, ebx
push esi
call fcn.004624dd
lea eax, [edi + 8]
push eax
push 0x100
add ebx, 0x10
push ebx
call fcn.004ef010
add esp, 0xc
mov dword [ebp - 0xc], 1
xor ebx, ebx
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
add edi, 0x624
cmp eax, dword [ebp - 4]
jl 0x47273d
push dword [ebp - 8]
call fcn.00472334
cmp dword [ebp - 0xc], ebx
jne 0x4727f5
mov eax, dword [esi + 0x110]
cmp eax, ebx
je 0x4727de
call eax
mov eax, dword [esi + 0x108]
cmp eax, ebx
je 0x4727f5
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [esi + 0x108], ebx
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
leave
ret