Function at 0x419d40
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa28
mov eax, dword [0x4bf370]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
mov edi, ecx
mov dword [ebp - 0x9dc], edi
cmp dword [edi + 0x10254], 0
je 0x419d76
mov al, 1
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043ef0f
mov esp, ebp
pop ebp
ret
push esi
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.atiadlxx.dll
mov dword [edi + 0x10264], 0
mov dword [edi + 0x10260], 0
call esi
mov dword [edi + 0x10254], eax
test eax, eax
jne 0x419dc5
push str.atiadlxy.dll
call esi
mov dword [edi + 0x10254], eax
test eax, eax
jne 0x419dc5
pop esi
xor al, al
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043ef0f
mov esp, ebp
pop ebp
ret
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.ADL_Main_Control_Create
push eax
call ebx
push str.ADL_Main_Control_Destroy
mov dword [0x4c061c], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Main_Control_Refresh
mov dword [0x4c0620], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Adapter_NumberOfAdapters_Get
mov dword [0x4c0624], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Adapter_AdapterInfo_Get
mov dword [0x4c0628], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Adapter_Active_Get
mov dword [0x4c0630], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Overdrive_Caps
mov dword [0x4c062c], eax
push dword [edi + 0x10254]
call ebx
cmp dword [0x4c061c], 0
mov dword [0x4c0638], eax
je 0x41aee8
cmp dword [0x4c0620], 0
je 0x41aee8
cmp dword [0x4c0624], 0
je 0x41aee8
cmp dword [0x4c0628], 0
je 0x41aee8
cmp dword [0x4c0630], 0
je 0x41aee8
cmp dword [0x4c062c], 0
je 0x41aee8
test eax, eax
je 0x41aee8
push str.ADL2_Main_Control_Create
push dword [edi + 0x10254]
call ebx
push str.ADL2_Main_ControlX2_Create
mov dword [0x4c0694], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_Main_Control_Destroy
mov dword [0x4c0698], eax
push dword [edi + 0x10254]
call ebx
mov dword [0x4c069c], eax
mov eax, dword [0x4c0698]
test eax, eax
je 0x419eed
push 1
push 0x4c071c
push 1
push 0x4196d0
call eax
add esp, 0x10
cmp dword [0x4c071c], 0
jne 0x419f10
mov eax, dword [0x4c0694]
test eax, eax
je 0x419f10
push 0x4c071c
push 1
push 0x4196d0
call eax
add esp, 0xc
push 1
push 0x4196d0
call dword [0x4c061c]
add esp, 8
test eax, eax
jne 0x41aee8
push str.ADL_Adapter_MemoryInfo_Get
push dword [edi + 0x10254]
call ebx
push str.ADL_Overdrive5_Temperature_Get
mov dword [0x4c063c], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Overdrive5_FanSpeed_Get
mov dword [0x4c0640], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Overdrive5_ODParameters_Get
mov dword [0x4c0644], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Overdrive5_ODPerformanceLevels_Get
mov dword [0x4c064c], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Overdrive5_ODPerformanceLevels_Set
mov dword [0x4c0650], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Overdrive5_CurrentActivity_Get
mov dword [0x4c0654], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_Overdrive5_CurrentActivity_Get
mov dword [0x4c0658], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Overdrive5_PowerControlInfo_Get
mov dword [0x4c0660], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Overdrive6_FanSpeed_Get
mov dword [0x4c065c], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Overdrive6_ThermalController_Caps
mov dword [0x4c0664], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Overdrive6_Temperature_Get
mov dword [0x4c0668], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Overdrive6_Capabilities_Get
mov dword [0x4c066c], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Overdrive6_StateInfo_Get
mov dword [0x4c0670], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Overdrive6_CurrentStatus_Get
mov dword [0x4c0674], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Overdrive6_PowerControl_Caps
mov dword [0x4c0678], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Overdrive6_PowerControlInfo_Get
mov dword [0x4c067c], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Overdrive6_PowerControl_Get
mov dword [0x4c0680], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Overdrive6_FanSpeed_Set
mov dword [0x4c0684], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_Overdrive6_State_Set
mov dword [0x4c0688], eax
push dword [edi + 0x10254]
call ebx
mov dword [0x4c068c], eax
push str.ADL_Overdrive6_PowerControl_Set
push dword [edi + 0x10254]
call ebx
push str.ADL2_Overdrive_Caps
mov dword [0x4c0690], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_OverdriveN_Capabilities_Get
mov dword [0x4c06a0], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_OverdriveN_SystemClocks_Get
mov dword [0x4c06b8], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_OverdriveN_SystemClocks_Set
mov dword [0x4c06bc], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_OverdriveN_MemoryClocks_Get
mov dword [0x4c06c0], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_OverdriveN_MemoryClocks_Set
mov dword [0x4c06c4], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_OverdriveN_FanControl_Get
mov dword [0x4c06c8], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_OverdriveN_FanControl_Set
mov dword [0x4c06cc], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_OverdriveN_PowerLimit_Get
mov dword [0x4c06d0], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_OverdriveN_PowerLimit_Set
mov dword [0x4c06d4], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_OverdriveN_Temperature_Get
mov dword [0x4c06d8], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_OverdriveN_PerformanceStatus_Get
mov dword [0x4c06dc], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_Adapter_Active_Get
mov dword [0x4c06e0], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_Adapter_NumberOfAdapters_Get
mov dword [0x4c06a4], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_Adapter_AdapterInfo_Get
mov dword [0x4c06a8], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_Adapter_VideoBiosInfo_Get
mov dword [0x4c06ac], eax
push dword [edi + 0x10254]
call ebx
push str.ADL_AdapterX2_Caps
mov dword [0x4c06b0], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_Adapter_RegValueInt_Get
mov dword [0x4c06e4], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_Overdrive8_Init_Setting_Get
mov dword [0x4c06e8], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_Overdrive8_Current_Setting_Get
mov dword [0x4c06ec], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_Overdrive8_Setting_Set
mov dword [0x4c06f0], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_New_QueryPMLogData_Get
mov dword [0x4c06f4], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_Overdrive8_Init_SettingX2_Get
mov dword [0x4c06f8], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_Overdrive8_Current_SettingX2_Get
mov dword [0x4c06fc], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_Adapter_Graphic_Core_Info_Get
mov dword [0x4c0700], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_Adapter_PMLog_Support_Get
mov dword [0x4c0704], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_Device_PMLog_Device_Create
mov dword [0x4c0708], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_Device_PMLog_Device_Destroy
mov dword [0x4c0714], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_Adapter_PMLog_Start
mov dword [0x4c0718], eax
push dword [edi + 0x10254]
call ebx
push str.ADL2_Adapter_PMLog_Stop
mov dword [0x4c070c], eax
push dword [edi + 0x10254]
call ebx
lea esi, [edi + 0x1025c]
mov dword [0x4c0710], eax
push esi
mov dword [ebp - 0x9e0], esi
call dword [0x4c0628]
mov eax, dword [esi]
add esp, 4
test eax, eax
je 0x41aee8
imul eax, eax, 0x624
push eax
call fcn.0044ac93
imul ecx, dword [esi], 0x624
mov dword [edi + 0x10258], eax
push ecx
push 0
push eax
call fcn.00440690
mov eax, dword [esi]
add esp, 0x10
xor edx, edx
test eax, eax
je 0x41a32e
xor ecx, ecx
nop dword [eax]
mov eax, dword [edi + 0x10258]
lea ecx, [ecx + 0x624]
inc edx
mov dword [ecx + eax - 0x624], 0x624
mov eax, dword [esi]
cmp edx, eax
jb 0x41a310
imul eax, eax, 0x624
push eax
push dword [edi + 0x10258]
call dword [0x4c0630]
mov ecx, dword [0x4c030c]
xor eax, eax
add esp, 8
mov dword [ebp - 0xa08], 0x3e8
mov dword [ebp - 0xa28], ecx
mov dword [ebp - 0x9ec], eax
test ecx, ecx
je 0x41a3d1
nop word [eax + eax]
push eax
mov ecx, 0x4c0300
call fcn.0041efd0
mov ebx, eax
mov dword [ebp - 0x9d4], ebx
cmp dword [ebx + 8], 2
jne 0x41a3bc
mov ecx, dword [esi]
xor eax, eax
test ecx, ecx
je 0x41a3bc
mov esi, dword [edi + 0x10258]
mov edx, dword [ebx + 0x18]
mov dword [ebp - 0x9e4], esi
cmp dword [esi + 4], edx
je 0x41a3e4
inc eax
add esi, 0x624
mov dword [ebp - 0x9e4], esi
cmp eax, ecx
jb 0x41a3a0
lea esi, [edi + 0x1025c]
mov eax, dword [ebp - 0x9ec]
inc eax
mov dword [ebp - 0x9ec], eax
cmp eax, dword [ebp - 0xa28]
jb 0x41a370
pop ebx
pop esi
mov al, 1
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043ef0f
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x41a3b6
cmp dword [esi + 0x31c], 0
je 0x41a3b6
mov eax, dword [ebp - 0x9ec]
mov dword [ebx + 4], eax
mov byte [ebx + 0x10], 1
mov eax, dword [esi + 0x108]
mov dword [ebx + 0xc], eax
lea eax, [ebp - 0x9f4]
push eax
lea eax, [ebp - 0xa10]
mov dword [ebp - 0xa14], 0
push eax
lea eax, [ebp - 0xa14]
mov dword [ebp - 0xa10], 0
push eax
push edx
mov dword [ebp - 0x9f4], 0
call dword [0x4c0638]
mov eax, dword [ebp - 0x9f4]
push 0x80
mov dword [ebx + 0x14], eax
lea eax, [ebx + 0xa64c]
push 0
push eax
call fcn.00440690
push 0x7f
add esi, 8
lea eax, [ebx + 0xa64c]
push esi
push eax
call fcn.0044a8a0
push 0x40
lea eax, [ebp - 0x44]
push 0
push eax
call fcn.00440690
add esp, 0x34
mov dword [ebp - 0x9f8], 0
lea eax, [ebp - 0x9f8]
mov dword [ebp - 0x9fc], 0
mov ecx, edi
mov dword [ebp - 0xa00], 0
mov dword [ebp - 0xa04], 0
push eax
lea eax, [ebp - 0x44]
push eax
push esi
call fcn.00413a50
lea eax, [ebp - 0x9fc]
mov ecx, edi
push eax
lea eax, [ebp - 0x44]
push eax
push esi
call fcn.00413910
lea eax, [ebp - 0xa00]
mov ecx, edi
push eax
lea eax, [ebp - 0x44]
push eax
push esi
call fcn.00413a00
lea eax, [ebp - 0xa04]
mov ecx, edi
push eax
lea eax, [ebp - 0x44]
push eax
push esi
call fcn.004139b0
push dword [ebp - 0xa08]
mov eax, dword [ebp - 0xa04]
mov ecx, dword [ebp - 0xa00]
mov edx, dword [ebp - 0x9fc]
mov esi, dword [ebp - 0x9f8]
push eax
push ecx
push edx
mov dword [ebx + 0x8e98], ecx
mov ecx, edi
mov dword [ebx + 0x8e90], esi
mov dword [ebx + 0x8e94], edx
mov dword [ebx + 0x8e9c], eax
push esi
call fcn.00413aa0
mov esi, eax
lea ecx, [ebx + 0xa6cc]
push 0x7f
cmp esi, 0x3e8
je 0x41a5ba
mov dword [ebx + 0xa648], esi
mov dword [ebp - 0xa08], esi
shl esi, 9
lea eax, [esi + 0x1484]
add eax, edi
push eax
lea eax, [ebx + 0xa64c]
push eax
call fcn.0044a8a0
lea eax, [esi + 0x1584]
add eax, edi
push 0x7f
push eax
lea eax, [ebx + 0xa6cc]
push eax
call fcn.0044a8a0
lea eax, [esi + 0x1504]
add eax, edi
push 0x7f
push eax
lea eax, [ebx + 0xa74c]
push eax
call fcn.0044a8a0
lea eax, [esi + 0x1604]
add eax, edi
push 0x7f
push eax
lea eax, [ebx + 0xa7cc]
push eax
call fcn.0044a8a0
mov esi, dword [ebp - 0x9e4]
add esp, 0x30
jmp 0x41a5fd
mov esi, dword [ebp - 0x9e4]
lea eax, [esi + 0x118]
push eax
push ecx
call fcn.0044a8a0
push 0x7f
lea eax, [esi + 0x520]
push eax
lea eax, [ebx + 0xa64c]
push eax
call fcn.0044a8a0
lea eax, [esi + 0x420]
push eax
lea eax, [ebx + 0xa7cc]
push str.SYSTEMControlSet001ControlClass_s
push eax
call fcn.00406660
add esp, 0x24
push ebx
mov ecx, edi
call fcn.004142c0
cmp dword [ebx + 0x14], 6
jne 0x41a653
xorps xmm0, xmm0
mov byte [ebx + 0x11], 0
mov eax, dword [0x4c0668]
movq qword [ebp - 0xd0], xmm0
mov dword [ebp - 0xc8], 0
movups xmmword [ebp - 0xe0], xmm0
test eax, eax
je 0x41a653
lea ecx, [ebp - 0xe0]
push ecx
push dword [ebx + 0x18]
call eax
add esp, 8
test dword [ebp - 0xe0], 1
je 0x41a653
mov byte [ebx + 0x11], 1
cmp dword [0x4c071c], 0
je 0x41a847
cmp dword [ebx + 0x14], 7
jne 0x41a692
lea eax, [ebp - 0xa18]
mov byte [ebx + 0x12], 0
push eax
push 1
push dword [ebx + 0x18]
push dword [0x4c071c]
call dword [0x4c06dc]
add esp, 0x10
cmp dword [ebp - 0xa18], 0
jle 0x41a692
mov byte [ebx + 0x12], 1
cmp dword [0x4c071c], 0
je 0x41a847
cmp dword [ebx + 0x14], 8
jne 0x41a847
mov eax, dword [ebx + 0x18]
push 0x274
push 0
push 0x4c075c
mov dword [ebp - 0x9e8], eax
call fcn.00440690
mov eax, dword [0x4c06fc]
add esp, 0xc
mov dword [0x4c0758], 0x27
mov dword [ebp - 0xa0c], 0x27
mov dword [ebp - 0x9d8], 0
test eax, eax
je 0x41a812
lea ecx, [ebp - 0x9d8]
push ecx
lea ecx, [ebp - 0xa0c]
push ecx
lea ecx, [ebp - 0xa1c]
push ecx
push dword [ebp - 0x9e8]
push dword [0x4c071c]
call eax
add esp, 0x14
test eax, eax
jne 0x41a7eb
mov ecx, dword [ebp - 0xa0c]
mov eax, 0x27
cmp ecx, 0x27
cmovg ecx, eax
mov eax, dword [ebp - 0xa1c]
xor edx, edx
mov dword [0x4c0758], ecx
mov dword [0x4c075c], eax
test ecx, ecx
jle 0x41a7d6
mov eax, dword [ebp - 0x9d8]
mov esi, 0x4c0764
sub esi, eax
mov ebx, 0x4c0760
sub ebx, eax
mov dword [ebp - 0x9e8], esi
mov edi, esi
mov esi, 0x4c0758
mov dword [ebp - 0xa24], ebx
lea ecx, [eax + 8]
sub esi, eax
mov ebx, 0x4c075c
sub ebx, eax
mov dword [ebp - 0x9f0], ebx
mov ebx, esi
nop word [eax + eax]
mov eax, dword [ecx + 4]
lea ecx, [ecx + 0x10]
mov esi, dword [ebp - 0xa24]
inc edx
mov dword [edi + ecx - 0x10], eax
mov eax, dword [ecx - 0x18]
mov dword [ebx + ecx - 0x10], eax
mov eax, dword [ecx - 0x10]
mov dword [esi + ecx - 0x10], eax
mov esi, dword [ebp - 0x9f0]
mov eax, dword [ecx - 0x14]
mov dword [esi + ecx - 0x10], eax
mov esi, dword [ebp - 0x9e4]
cmp edx, dword [0x4c0758]
jl 0x41a790
mov ebx, dword [ebp - 0x9d4]
mov edi, dword [ebp - 0x9dc]
mov eax, dword [ebp - 0x9d8]
test eax, eax
je 0x41a847
push eax
call fcn.0044ac78
add esp, 4
jmp 0x41a847
push str.ADL2_Overdrive8_Init_SettingX2_Get_is_failed.
push 0x4c0230
call fcn.0041e5a0
mov eax, dword [ebp - 0x9d8]
add esp, 8
test eax, eax
je 0x41a847
push eax
call fcn.0044ac78
add esp, 4
jmp 0x41a847
mov eax, dword [0x4c06ec]
test eax, eax
je 0x41a847
push 0x4c0758
push dword [ebp - 0x9e8]
push dword [0x4c071c]
call eax
add esp, 0xc
test eax, eax
je 0x41a847
push str.ADL2_Overdrive8_Init_Setting_Get_is_failed.
push 0x4c0230
call fcn.0041e5a0
add esp, 8
push 0x40
lea eax, [ebp - 0x120]
push 0
push eax
call fcn.00440690
mov eax, dword [0x4c0704]
add esp, 0xc
test eax, eax
je 0x41a878
lea ecx, [ebp - 0x120]
push ecx
push dword [ebx + 0x18]
push dword [0x4c071c]
call eax
add esp, 0xc
lea edx, [ebx + 0xa64c]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x9d4], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41a890
sub ecx, dword [ebp - 0x9d4]
mov ecx, edi
je 0x41a8aa
push ebx
push edx
call fcn.00412ad0
jmp 0x41a8bb
push dword [ebx + 0x8e94]
push dword [ebx + 0x8e90]
call fcn.00412e10
mov dword [ebp - 0x9d8], eax
test eax, eax
js 0x41aa26
mov esi, eax
mov ecx, edi
push esi
push dword [ebx + 0x8e90]
mov dword [ebx], esi
call fcn.00412990
mov dword [ebp - 0x9d4], eax
test eax, eax
je 0x41a90f
push 0x80
lea esi, [ebx + 0x8a20]
push 0
push esi
call fcn.00440690
push 0x7f
push dword [ebp - 0x9d4]
push esi
call fcn.0044a8a0
mov esi, dword [ebp - 0x9d8]
add esp, 0x18
cmp dword [ebx + 0x8e90], 0x1002
jne 0x41a9e8
push esi
push 0x1002
mov ecx, edi
call fcn.00413240
mov dword [ebx + 0x8f48], eax
mov eax, dword [ebp - 0x120]
cmp eax, 3
je 0x41a942
cmp eax, 2
jne 0x41a955
mov eax, dword [ebp - 0x118]
imul eax, dword [ebp - 0x11c]
mov dword [ebx + 0x8f48], eax
push esi
push dword [ebx + 0x8e90]
mov ecx, edi
call fcn.00413130
push esi
push dword [ebx + 0x8e90]
mov ecx, edi
mov dword [ebx + 0x8b10], eax
call fcn.00413020
mov dword [ebx + 0x8b14], eax
mov eax, dword [ebp - 0x120]
cmp eax, 2
je 0x41a98d
cmp eax, 1
jne 0x41a999
mov eax, dword [ebp - 0x110]
mov dword [ebx + 0x8b14], eax
push esi
push dword [ebx + 0x8e90]
mov ecx, edi
call fcn.00413430
cmp dword [ebx + 0x8e94], 0x68f9
mov dword [ebx + 0x8d44], eax
jne 0x41a9e8
cmp dword [ebx + 0x8e9c], 0x2126
jne 0x41a9e8
push 0x80
lea esi, [ebx + 0x89a0]
push 0
push esi
call fcn.00440690
push str.ATI_Radeon_HD_6350
push esi
call fcn.00406660
add esp, 0x14
jmp 0x41aa3e
push esi
push dword [ebx + 0x8e90]
mov ecx, edi
call fcn.004128a0
mov dword [ebp - 0x9d4], eax
test eax, eax
je 0x41aa3e
push 0x80
lea esi, [ebx + 0x89a0]
push 0
push esi
call fcn.00440690
push 0x7f
push dword [ebp - 0x9d4]
push esi
call fcn.0044a8a0
add esp, 0x18
jmp 0x41aa3e
push 0x7f
lea eax, [esi + 0x118]
push eax
lea eax, [ebx + 0x89a0]
push eax
call fcn.0044a8a0
add esp, 0xc
push ebx
mov ecx, edi
call fcn.0041b1d0
push ebx
mov ecx, edi
call fcn.0041af50
push 1
push ebx
mov ecx, edi
call fcn.0041b3b0
mov esi, dword [0x4c06b4]
test esi, esi
jne 0x41aa83
push str.ADL2_Adapter_MemoryInfo3_Get
push dword [edi + 0x10254]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
mov dword [0x4c06b4], esi
test esi, esi
je 0x41abbc
push pe_nt_image_headers32
lea eax, [ebp - 0x250]
push 0
push eax
call fcn.00440690
lea eax, [ebp - 0x250]
push eax
push dword [ebx + 0x18]
push dword [0x4c071c]
call esi
add esp, 0x18
test eax, eax
jne 0x41abbc
push eax
push 0x100000
push dword [ebp - 0x24c]
push dword [ebp - 0x250]
call fcn.0043f670
mov dword [ebx + 0x8d48], eax
mov eax, dword [ebp - 0x148]
mov dword [ebx + 0x8d4c], eax
lea eax, [ebp - 0x248]
push 0x3f
push eax
lea eax, [ebx + 0x8d50]
push eax
call fcn.0044a8a0
push 0x40
lea esi, [ebx + 0x8dd0]
push 0
push esi
call fcn.00440690
mov ecx, dword [ebp - 0x124]
add esp, 0x18
test ecx, ecx
jl 0x41abb2
mov eax, dword [ebp - 0x128]
jg 0x41abb2
test eax, eax
jb 0x41abb2
test ecx, ecx
jg 0x41abb2
jl 0x41ab35
cmp eax, 0xf
ja 0x41abb2
jmp dword [eax*4 + 0x41af04]
push 0x3f
push str.unknown
push esi
jmp 0x41ac11
mov eax, dword [0x4c063c]
test eax, eax
je 0x41ac19
lea ecx, [ebp - 0x360]
push ecx
push dword [ebx + 0x18]
call eax
add esp, 8
test eax, eax
jne 0x41ac19
push eax
push 0x100000
push dword [ebp - 0x35c]
push dword [ebp - 0x360]
call fcn.0043f670
mov dword [ebx + 0x8d48], eax
mov eax, dword [ebp - 0x258]
mov dword [ebx + 0x8d4c], eax
lea eax, [ebp - 0x358]
push 0x7f
push eax
lea eax, [ebx + 0x8d50]
push eax
call fcn.0044a8a0
add esp, 0xc
mov eax, dword [0x4c06b0]
test eax, eax
je 0x41ad9f
mov esi, dword [0x4c071c]
test esi, esi
je 0x41ada5
lea ecx, [ebp - 0x790]
push ecx
push dword [ebx + 0x18]
push esi
call eax
push 0x100
lea esi, [ebx + 0xa2c0]
push 0
push esi
mov dword [ebp - 0x9f0], esi
call fcn.00440690
lea eax, [ebp - 0x690]
push eax
push 0x49efac
push esi
call fcn.00406660
lea ecx, [ebp - 0x790]
add esp, 0x24
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ac78
sub ecx, edx
je 0x41ad25
mov ecx, str.xxx_xxx_xxx
lea eax, [ebp - 0x790]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41acb2
test dl, dl
je 0x41acae
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41acb2
add eax, 2
add ecx, 2
test dl, dl
jne 0x41ac92
xor eax, eax
jmp 0x41acb7
sbb eax, eax
or eax, 1
test eax, eax
je 0x41ad25
push 0x80
lea eax, [ebp - 0xc4]
push 0
push eax
call fcn.00440690
lea eax, [ebp - 0x790]
push eax
lea eax, [ebp - 0xc4]
push 0x479760
push eax
call fcn.00406660
lea edx, [ebp - 0xc4]
add esp, 0x18
mov ecx, edx
mov dword [ebp - 0x9d4], ecx
mov al, byte [edx]
inc edx
test al, al
jne 0x41acf7
sub edx, ecx
dec esi
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x41ad01
mov edi, esi
mov ecx, edx
mov esi, dword [ebp - 0x9d4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x9f0]
lea ecx, [ebp - 0x590]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ad30
sub ecx, edx
je 0x41ad9f
push 0x80
lea eax, [ebp - 0xc4]
push 0
push eax
call fcn.00440690
lea eax, [ebp - 0x590]
push eax
lea eax, [ebp - 0xc4]
push str.___s_
push eax
call fcn.00406660
lea edx, [ebp - 0xc4]
add esp, 0x18
mov ecx, edx
mov dword [ebp - 0x9d4], ecx
mov al, byte [edx]
inc edx
test al, al
jne 0x41ad77
sub edx, ecx
dec esi
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x41ad81
mov edi, esi
mov ecx, edx
mov esi, dword [ebp - 0x9d4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [0x4c071c]
mov eax, dword [0x4c0714]
test eax, eax
je 0x41aed7
lea edi, [ebx + 0x50]
push edi
push dword [ebx + 0x18]
push esi
call eax
add esp, 0xc
test eax, eax
jne 0x41aed7
push 0x240
push eax
lea eax, [ebp - 0x9d0]
push eax
call fcn.00440690
mov eax, dword [0x4c0708]
add esp, 0xc
test eax, eax
je 0x41adf5
lea ecx, [ebp - 0x9d0]
push ecx
push dword [ebx + 0x18]
push esi
call eax
add esp, 0xc
push 0x240
lea eax, [ebp - 0x490]
push 0
push eax
call fcn.00440690
push 0x40
lea eax, [ebp - 0x84]
push 0
push eax
call fcn.00440690
push 0x500
lea eax, [ebx + 0x58]
push 0
push eax
call fcn.00440690
mov ax, word [ebp - 0x9d0]
add esp, 0x24
xor ecx, ecx
test ax, ax
je 0x41aed7
movzx eax, ax
movzx eax, ax
mov word [ebp + ecx*2 - 0x490], ax
inc ecx
mov byte [eax + ebx + 0x58], 1
movzx eax, word [ebp + ecx*2 - 0x9d0]
test ax, ax
jne 0x41ae40
test ecx, ecx
jle 0x41aed7
xor eax, eax
mov word [ebp + ecx*2 - 0x490], ax
mov eax, dword [0x4c070c]
mov dword [ebp - 0x290], 0x1f4
test eax, eax
je 0x41ae98
push dword [edi]
lea ecx, [ebp - 0x84]
push ecx
lea ecx, [ebp - 0x490]
push ecx
push dword [ebx + 0x18]
push esi
call eax
add esp, 0x14
mov ecx, dword [ebp - 0x84]
test ecx, ecx
je 0x41aec3
mov edx, dword [ecx + 0x10]
add ecx, 0x10
test edx, edx
je 0x41aec3
nop dword [eax]
mov eax, dword [ecx + 4]
lea ecx, [ecx + 8]
mov dword [ebx + edx*4 + 0x158], eax
mov edx, dword [ecx]
test edx, edx
jne 0x41aeb0
mov eax, dword [0x4c0710]
test eax, eax
je 0x41aed7
push dword [edi]
push dword [ebx + 0x18]
push esi
call eax
add esp, 0xc
mov edi, dword [ebp - 0x9dc]
mov esi, dword [ebp - 0x9e0]
jmp 0x41a3bc
mov ecx, edi
call fcn.00419c30
mov ecx, dword [ebp - 4]
xor al, al
pop ebx
pop esi
xor ecx, ebp
pop edi
call fcn.0043ef0f
mov esp, ebp
pop ebp
ret