Function at 0x410ad0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x61308c]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push 0x208
lea eax, [ebp - 0x20c]
mov esi, ecx
push 0
push eax
call fcn.0052d340
add esp, 0xc
cmp dword [0x61debc], 0
jne 0x410b66
lea eax, [ebp - 0x20c]
test esi, esi
je 0x410b20
push esi
push 0x104
push eax
call fcn.0053531f
add esp, 0xc
jmp 0x410b66
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x410b43
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005120a1
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
je 0x410b32
push 0x58bf14
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x61debc], eax
test eax, eax
je 0x410b32
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.PCIOffDrv_SetDTLAppID
push eax
call esi
push str.PCIOffDrv_SetDTLUnionID
push dword [0x61debc]
call esi
push str.PCIOffDrv_SetDownLoadPath
push dword [0x61debc]
mov dword [0x61df1c], eax
call esi
push str.PCIOffDrv_SetConfig
push dword [0x61debc]
mov dword [0x61df18], eax
call esi
push str.PCIOffDrv_Init
push dword [0x61debc]
call esi
push str.PCIOffDrv_Unit
push dword [0x61debc]
mov dword [0x61df14], eax
call esi
push str.PCIOffDrv_CreateDeviveList
push dword [0x61debc]
call esi
push str.PCIOffDrv_CetDeviceCount
push dword [0x61debc]
mov dword [0x61df10], eax
call esi
push str.PCIOffDrv_GetDeviceHandle
push dword [0x61debc]
mov dword [0x61df0c], eax
call esi
push str.PCIOffDrv_RefreshDeviceList
push dword [0x61debc]
mov dword [0x61df08], eax
call esi
push str.PCIOffDrv_QueryDrvEnd
push dword [0x61debc]
call esi
push str.PCIOffDrv_DownLoadDriver
push dword [0x61debc]
mov dword [0x61df04], eax
call esi
push str.PCIOffDrv_StopDownLoadDriver
push dword [0x61debc]
mov dword [0x61df00], eax
call esi
push str.PCIOffDrv_GetDeviceProperty
push dword [0x61debc]
mov dword [0x61defc], eax
call esi
push str.PCIOffDrv_GetQueryDriverProperty
push dword [0x61debc]
mov dword [0x61def8], eax
call esi
push str.PCIOffDrv_RefreshDeviceList_other
push dword [0x61debc]
mov dword [0x61def4], eax
call esi
push str.PCIOffDrv_RefreshDevices
push dword [0x61debc]
mov dword [0x61def0], eax
call esi
push str.PCIOffDrv_IsDisplayDevBind
push dword [0x61debc]
call esi
push str.PCIOffDrv_ExportHWFile
push dword [0x61debc]
call esi
push str.PCIOffDrv_SetDrvCfgFilePath
push dword [0x61debc]
call esi
push str.PCIOffDrv_SaveDrvFile
push dword [0x61debc]
mov dword [0x61dee8], eax
call esi
push str.PCIOffDrv_IsEnableEvaluate
push dword [0x61debc]
mov dword [0x61deec], eax
call esi
push str.PCIOffDrv_SelectUpdateDriver
push dword [0x61debc]
mov dword [0x61dee4], eax
call esi
push str.PCIOffDrv_ReadOSIDFromDrvFile
push dword [0x61debc]
mov dword [0x61dee0], eax
call esi
push str.PCIOffDrv_GetQueryDrviverCount
push dword [0x61debc]
mov dword [0x61dedc], eax
call esi
push str.PCIOffDrv_SetOtherSystemID
push dword [0x61debc]
mov dword [0x61ded8], eax
call esi
push str.PCIOffDrv_SetDTLVersion
push dword [0x61debc]
mov dword [0x61ded4], eax
call esi
push str.PCIOffDrv_SetWorkpath
push dword [0x61debc]
mov dword [0x61ded0], eax
call esi
push str.PCIOffDrv_ClearQueryDrvInfo
push dword [0x61debc]
mov dword [0x61decc], eax
call esi
push str.PCIOffDrv_StopDownLoadAllDrivers
push dword [0x61debc]
mov dword [0x61dec8], eax
call esi
push str.DRVGetMachineType
push dword [0x61debc]
call esi
push str.PCIOffDrv_GetBrandAndModules
push dword [0x61debc]
call esi
push str.PCIOffDrv_IsDisplayDevBind_other
push dword [0x61debc]
call esi
push 0x58c2bc
push dword [0x61debc]
call esi
push 0x58c2d4
push dword [0x61debc]
mov dword [0x61dec4], eax
call esi
mov ecx, dword [ebp - 4]
mov dword [0x61dec0], eax
xor ecx, ebp
mov al, 1
pop esi
call fcn.005120a1
mov esp, ebp
pop ebp
ret