Function at 0x421c41
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 0x721a14
mov esi, ecx
mov dword [ebp - 8], ebx
mov dword [ebp - 0xc], ebx
call edi
mov dword [esi + 0x108], eax
cmp eax, ebx
jne 0x421c78
push 0x721a04
call edi
mov dword [esi + 0x108], eax
mov eax, dword [esi + 0x108]
cmp eax, ebx
je 0x421f8d
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 0x421f8d
push ebx
push 0x421ad6
call eax
pop ecx
pop ecx
test eax, eax
jne 0x421f8d
mov eax, dword [esi + 0x114]
mov dword [ebp - 4], ebx
cmp eax, ebx
je 0x421f74
lea ecx, [ebp - 4]
push ecx
call eax
mov eax, dword [ebp - 4]
cmp eax, ebx
pop ecx
jle 0x421f74
imul eax, eax, 0x624
push eax
mov dword [ebp - 0xc], 1
call fcn.0067b6f8
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x624
push ecx
push ebx
push eax
mov dword [ebp - 8], eax
call fcn.0066f220
mov eax, dword [esi + 0x118]
add esp, 0x10
cmp eax, ebx
je 0x421ed7
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 0x421f74
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 0x421f5f
lea edx, [ebp - 0x14]
push edx
push ecx
mov dword [ebp - 0x14], ebx
call eax
pop ecx
pop ecx
test eax, eax
jne 0x421f5f
call fcn.00404d14
cmp dword [eax + 0x5c], ebx
je 0x421f5f
call fcn.00404d14
push dword [edi]
mov eax, dword [eax + 0x5c]
push dword [edi - 4]
mov ecx, eax
push dword [edi - 8]
call fcn.00405f1a
mov ebx, eax
test ebx, ebx
je 0x421f5d
push dword [ebp - 0x18]
mov ecx, ebx
push esi
call fcn.004201a1
lea eax, [edi + 8]
push eax
push 0x100
add ebx, 0x10
push ebx
call fcn.0067eece
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 0x421eec
push dword [ebp - 8]
call fcn.00421ae3
cmp dword [ebp - 0xc], ebx
jne 0x421fa4
mov eax, dword [esi + 0x110]
cmp eax, ebx
je 0x421f8d
call eax
mov eax, dword [esi + 0x108]
cmp eax, ebx
je 0x421fa4
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