Function at 0x40f3a9
Capabilities:
Read .ini file

Disassembly:
push 0xc
mov eax, 0x4aeea4
call fcn.00487e94
mov edi, ecx
push 0x2001
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_KillTimer]
push ecx
mov dword [ebp - 0x10], esp
mov esi, esp
xor ebx, ebx
push ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.DETECT_DISK
call fcn.00402306
mov dword [ebp - 4], ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.Message
call fcn.00402306
mov byte [ebp - 4], 1
push esi
or dword [ebp - 4], 0xffffffff
mov ecx, edi
call fcn.00433b7f
mov dword [ebp - 4], 2
mov eax, dword [edi]
or dword [ebp - 4], 0xffffffff
mov ecx, edi
call dword [eax + 0x19c]
push dword [edi + 0x6818]
lea ecx, [edi + 0x230]
mov dword [edi + 0x63dc], ebx
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00441b71
mov esi, ebx
mov dword [ebp + 0x10], esi
cmp dword [edi + 0x240], esi
jle 0x40f6ee
lea eax, [edi + 0x667c]
lea esi, [edi + 0x238]
mov dword [ebp + 0x14], eax
push dword [edi + 0xd4]
mov ecx, esi
push 0xffffffffffffffff
push ebx
call fcn.0040ab14
push dword [eax + 0x1894]
push str.PowerOnUnit
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp + 0x18], eax
mov ecx, esi
push ebx
test eax, eax
js 0x40f4e7
call fcn.0040ab14
push 6
pop ecx
cmp dword [eax + 0x179c], ecx
je 0x40f4aa
push ebx
mov ecx, esi
call fcn.0040ab14
push 5
pop ecx
cmp dword [eax + 0x179c], ecx
jne 0x40f4ad
mov dword [ebp + 0x18], ecx
push ebx
mov ecx, esi
call fcn.0040ab14
mov ecx, dword [ebp + 0x18]
push ecx
push ebx
mov dword [eax + 0x17a0], ecx
lea ecx, [edi + 0x230]
call fcn.0045587e
push ebx
lea ecx, [edi + 0x238]
mov esi, eax
call fcn.0040ab14
mov dword [eax + 0x17ac], esi
lea esi, [edi + 0x238]
jmp 0x40f4f8
call fcn.0040ab14
cmp dword [eax + 0x17b0], 0
jle 0x40f4f8
inc dword [ebp + 0x10]
push dword [edi + 0xd4]
mov ecx, esi
push 1
push ebx
call fcn.0040ab14
push dword [eax + 0x1894]
push str.AutoRefreshTarget
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ecx, dword [ebp + 0x14]
push ebx
mov dword [ecx], eax
mov ecx, esi
call fcn.0040ab14
mov ecx, dword [edi + 0xd4]
push ecx
mov ecx, esi
mov eax, dword [eax + 0x1724]
test eax, eax
je 0x40f53d
push 0x3c
jmp 0x40f53f
push 0x32
push ebx
call fcn.0040ab14
push dword [eax + 0x1894]
push str.AlarmTemperature
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push ebx
lea ecx, [edi + 0x238]
mov esi, eax
call fcn.0040ab14
lea ecx, [edi + 0x238]
mov dword [eax + 0x180c], esi
push dword [edi + 0xd4]
push 1
push ebx
call fcn.0040ab14
push dword [eax + 0x1894]
push str.AlarmHealthStatus
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push ebx
lea ecx, [edi + 0x238]
mov esi, eax
call fcn.0040ab14
lea ecx, [edi + 0x238]
mov dword [eax + 0x1810], esi
push dword [edi + 0xd4]
push 1
push ebx
call fcn.0040ab14
push dword [eax + 0x1894]
push str.ThreasholdOfCaution05
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push ebx
lea ecx, [edi + 0x238]
mov esi, eax
call fcn.0040ab14
lea ecx, [edi + 0x238]
mov word [eax + 0x182e], si
push dword [edi + 0xd4]
push 1
push ebx
call fcn.0040ab14
push dword [eax + 0x1894]
push str.ThreasholdOfCautionC5
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push ebx
lea ecx, [edi + 0x238]
mov esi, eax
call fcn.0040ab14
lea ecx, [edi + 0x238]
mov word [eax + 0x1830], si
push dword [edi + 0xd4]
push 1
push ebx
call fcn.0040ab14
push dword [eax + 0x1894]
push str.ThreasholdOfCautionC6
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push ebx
lea ecx, [edi + 0x238]
mov esi, eax
call fcn.0040ab14
lea ecx, [edi + 0x238]
mov word [eax + 0x1832], si
push dword [edi + 0xd4]
push 0xa
push ebx
call fcn.0040ab14
push dword [eax + 0x1894]
push str.ThreasholdOfCautionFF
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push ebx
lea ecx, [edi + 0x238]
mov esi, eax
call fcn.0040ab14
push ebx
lea ecx, [edi + 0x230]
mov word [eax + 0x1834], si
call fcn.00454c4f
mov esi, eax
lea ecx, [edi + 0x238]
push ebx
call fcn.0040ab14
push ecx
mov ecx, esp
mov dword [ebp + 0xc], esp
push str.SaveSmartInfo_i_
mov dword [eax + 0x1804], esi
call fcn.00402306
mov dword [ebp - 4], 3
or dword [ebp - 4], 0xffffffff
call fcn.0043bfae
pop ecx
push ebx
mov ecx, edi
call fcn.00421120
add dword [ebp + 0x14], 4
lea esi, [edi + 0x238]
inc ebx
cmp ebx, dword [edi + 0x240]
jl 0x40f45c
mov esi, dword [ebp + 0x10]
cmp dword [0x4fe9a8], 0
jne 0x40f729
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.CheckResident__
call fcn.00402306
mov dword [ebp - 4], 4
or dword [ebp - 4], 0xffffffff
call fcn.0043bfae
pop ecx
mov ecx, edi
call fcn.004171bd
mov dword [0x4fe9a8], 1
push 2
push 0
mov ecx, edi
call fcn.00408c56
test esi, esi
je 0x40f778
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.SetTimer_TIMER_SET_POWER_ON_UNIT__130000__0_
call fcn.00402306
mov dword [ebp - 4], 5
or dword [ebp - 4], 0xffffffff
call fcn.0043bfae
pop ecx
push 0
push 0x1fbd0
push 0x2001
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [edi + 0x63dc], 1
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push 0x4c9ff4
call fcn.00402306
mov dword [ebp - 4], 6
mov eax, dword [edi]
or dword [ebp - 4], 0xffffffff
mov ecx, edi
call dword [eax + 0x19c]
push ecx
mov ecx, esp
mov dword [ebp + 0x14], esp
push str.AutoAamApmAdaption__
call fcn.00402306
mov dword [ebp - 4], 7
or dword [ebp - 4], 0xffffffff
call fcn.0043bfae
pop ecx
mov ecx, edi
call fcn.0040983b
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
push str.UpdateShareInfo__
call fcn.00402306
mov dword [ebp - 4], 8
or dword [ebp - 4], 0xffffffff
call fcn.0043bfae
pop ecx
mov ecx, edi
call fcn.0041761a
call fcn.00487e62
ret 0x14