Function at 0x422b02
Capabilities:
Read .ini file

Disassembly:
push 0x43c
mov eax, 0x67bf1f
call fcn.00620b88
mov ebx, ecx
mov dword [ebp - 0x440], ebx
push 0x208
lea eax, [ebp - 0x420]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x6a00a0
lea ecx, [ebp - 0x424]
call fcn.00411430
and dword [ebp - 4], 0
lea eax, [ebp - 0x420]
push eax
call fcn.00630f92
pop ecx
push eax
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x424]
call fcn.0041669f
push str..ini
push str..exe
lea ecx, [ebp - 0x424]
call fcn.004164b1
lea ecx, [ebp - 0x438]
call fcn.004114f6
and dword [ebp - 0x444], 0
lea eax, [ebx + 0x60]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ebx, dword [ebp - 0x444]
mov byte [ebp - 4], 1
mov dword [ebp - 0x42c], eax
mov eax, ebx
xor esi, esi
shl eax, 8
or eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov dword [ebp - 0x43c], esi
push eax
push esi
push 0x150
call fcn.0043a6f5
add esp, 0xc
test eax, eax
je 0x422c01
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x430]
push eax
push 0x150
call fcn.004328a3
add esp, 0xc
test dword [ebp - 0x428], 0x80000000
jne 0x422bc6
test byte [ebp - 0x428], 0x1f
cmove esi, dword [ebp - 0x430]
mov dword [ebp - 0x43c], esi
mov ecx, dword [ebp - 0x42c]
xor eax, eax
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x42c], ecx
jmp 0x422c1d
mov esi, dword [ebp - 0x43c]
push eax
push ebx
lea eax, [ebp - 0x438]
push str.FIVRVoltage_d_d
push eax
call fcn.004130cd
add esp, 0x10
push dword [ebp - 0x424]
push esi
push dword [ebp - 0x438]
push 0x6a0228
call edi
mov ecx, dword [ebp - 0x42c]
push dword [ebp - 0x434]
push ebx
mov dword [ecx - 0x60], eax
lea eax, [ebp - 0x438]
push str.UnlockVoltage_d_d
push eax
call fcn.004130cd
mov esi, dword [ebp - 0x438]
add esp, 0x10
push dword [ebp - 0x424]
push 0
push esi
push 0x6a0228
call edi
mov ecx, dword [ebp - 0x42c]
mov dword [ecx], eax
add ecx, 4
mov eax, dword [ebp - 0x434]
inc eax
mov dword [ebp - 0x42c], ecx
mov dword [ebp - 0x434], eax
cmp eax, 4
jb 0x422c17
inc ebx
cmp ebx, 6
jb 0x422ba1
mov ebx, dword [ebp - 0x440]
xor eax, eax
push 0x14
pop ecx
lea edx, [ebx + 0xc0]
mov edi, edx
mov dword [ebp - 0x42c], edx
rep stosd dword es:[edi], eax
cmp dword [ebx + 0x164], eax
je 0x422e4c
mov eax, 1
cpuid
and eax, 0xf0ff0
mov dword [ebp - 0x448], eax
mov eax, dword [ebp - 0x448]
cmp eax, 0x90670
je 0x422d20
cmp eax, 0x906a0
je 0x422d20
cmp eax, 0xb0670
je 0x422d20
cmp eax, 0xb06a0
je 0x422d20
cmp eax, 0xb06e0
je 0x422d20
cmp eax, 0xb06f0
mov eax, 0x3ff
jne 0x422d25
mov eax, 0x7ff
mov ebx, dword [ebp - 0x440]
and dword [ebp - 0x434], 0
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea ecx, [ebx + 0x110]
mov dword [ebx + 0x168], eax
mov dword [ebp - 0x444], ecx
mov eax, dword [ebx + 0x168]
mov esi, 0x150
mov dword [ebp - 0x440], eax
mov eax, dword [ecx]
shl eax, 8
or eax, reloc.OLEAUT32.dll_SafeArrayAccessData
push eax
push 0
push esi
call fcn.0043a6f5
add esp, 0xc
test eax, eax
je 0x422db3
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x430]
push eax
push esi
call fcn.004328a3
add esp, 0xc
test dword [ebp - 0x428], 0x80000000
jne 0x422d75
test byte [ebp - 0x428], 0x1f
jne 0x422db3
mov esi, dword [ebx + 0x168]
and esi, dword [ebp - 0x430]
mov dword [ebp - 0x440], esi
mov ecx, dword [ebp - 0x42c]
xor eax, eax
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x42c], ecx
push eax
push dword [ebp - 0x434]
lea eax, [ebp - 0x438]
push str.IccMaxNew_d_d
push eax
call fcn.004130cd
mov esi, dword [ebp - 0x438]
add esp, 0x10
push dword [ebp - 0x424]
push dword [ebp - 0x440]
push esi
push 0x6a0228
call edi
mov ecx, dword [ebp - 0x42c]
and eax, dword [ebx + 0x168]
mov dword [ecx], eax
add ecx, 4
mov eax, dword [ebp - 0x43c]
inc eax
mov dword [ebp - 0x42c], ecx
mov dword [ebp - 0x43c], eax
cmp eax, 4
jb 0x422dc7
mov eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x444]
inc eax
add ecx, 4
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x444], ecx
cmp eax, 5
jb 0x422d4a
jmp 0x422e52
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x430]
push eax
push 0x620
call fcn.004328a3
add esp, 0xc
test eax, eax
je 0x422eee
push dword [ebp - 0x424]
movzx edi, word [ebp - 0x430]
push edi
push str.CacheMinMax0
push 0x6a0228
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push dword [ebp - 0x424]
mov dword [ebx + 0x144], eax
push edi
push str.CacheMinMax1
push 0x6a0228
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push dword [ebp - 0x424]
mov dword [ebx + 0x148], eax
push edi
push str.CacheMinMax2
push 0x6a0228
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push dword [ebp - 0x424]
mov dword [ebx + 0x14c], eax
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push str.CacheMinMax3
push 0x6a0228
call edi
mov dword [ebx + 0x150], eax
xor eax, eax
cmp dword [ebx + 0x158], eax
je 0x423052
mov ecx, dword [0x73bbd0]
push reloc.OLEAUT32.dll_SafeArrayGetUBound
push eax
push 0x150
mov dword [ebp - 0x42c], eax
call fcn.0041c7b3
test eax, eax
je 0x422f69
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x430]
push eax
push 0x150
call fcn.004328a3
add esp, 0xc
test dword [ebp - 0x428], 0x80000000
jne 0x422f1c
test byte [ebp - 0x428], 0x1f
jne 0x422f69
mov eax, dword [ebp - 0x430]
xor ecx, ecx
and eax, 0xfff
cmp eax, 0x9ff
cmova eax, ecx
mov dword [ebp - 0x42c], eax
jmp 0x422f6f
mov eax, dword [ebp - 0x42c]
push dword [ebp - 0x424]
push eax
push str.VCCIN0
push 0x6a0228
call edi
mov dword [ebx + 0x124], eax
cmp eax, 0x9ff
jbe 0x422f96
and dword [ebx + 0x124], 0
push dword [ebp - 0x424]
push dword [ebp - 0x42c]
push str.VCCIN1
push 0x6a0228
call edi
mov dword [ebx + 0x128], eax
cmp eax, 0x9ff
jbe 0x422fc2
and dword [ebx + 0x128], 0
push dword [ebp - 0x424]
push dword [ebp - 0x42c]
push str.VCCIN2
push 0x6a0228
call edi
mov dword [ebx + 0x12c], eax
cmp eax, 0x9ff
jbe 0x422fee
and dword [ebx + 0x12c], 0
push dword [ebp - 0x424]
push dword [ebp - 0x42c]
push str.VCCIN3
push 0x6a0228
call edi
mov dword [ebx + 0x130], eax
cmp eax, 0x9ff
jbe 0x42301a
and dword [ebx + 0x130], 0
push dword [ebp - 0x424]
push 0
push str.PowerCutWarning
push 0x6a0228
call edi
push dword [ebp - 0x424]
mov dword [ebx + 0x174], eax
push 0
push 0x6a3fc0
push 0x6a0228
call edi
mov dword [ebx + 0x178], eax
xor eax, eax
jmp 0x42306a
mov dword [ebx + 0x130], eax
mov dword [ebx + 0x12c], eax
mov dword [ebx + 0x128], eax
mov dword [ebx + 0x124], eax
test dword [ebx + 0x17c], 0x400
je 0x4230fc
mov ecx, dword [0x73bbd0]
push reloc.OLEAUT32.dll_SafeArrayLock
push eax
push 0x150
call fcn.0041c7b3
test eax, eax
je 0x4230fc
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x430]
push eax
push 0x150
call fcn.004328a3
add esp, 0xc
test dword [ebp - 0x428], 0x80000000
jne 0x423094
test byte [ebp - 0x428], 0x1f
jne 0x4230fc
push dword [ebp - 0x424]
mov eax, dword [ebp - 0x430]
and eax, 3
mov dword [ebx + 0x15c], 1
push eax
push str.FIVRControl
push 0x6a0228
call edi
mov dword [ebx + 0x160], eax
cmp eax, 3
jbe 0x4230fc
and dword [ebx + 0x160], 0
push dword [ebp - 0x424]
push 0
push str.HaswellOverclock
push 0x6a0228
call edi
and eax, 0xf
cmp dword [ebx + 0x180], 0
mov dword [ebx + 0x154], eax
je 0x423141
push dword [ebp - 0x424]
push 0
push str.AVXOffset
push 0x6a0228
call edi
and eax, 0xffffff
mov dword [ebx + 0x184], eax
cmp dword [ebx + 0x188], 0
je 0x423169
push dword [ebp - 0x424]
push 0
push str.AVX512Offset
push 0x6a0228
call edi
and eax, 0xffffff
mov dword [ebx + 0x18c], eax
mov ecx, dword [0x73bbd0]
push reloc.OLEAUT32.dll_SafeArrayGetElement
push 0
push 0x150
call fcn.0041c7b3
test eax, eax
je 0x423240
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x430]
push eax
push 0x150
call fcn.004328a3
add esp, 0xc
test dword [ebp - 0x428], 0x80000000
jne 0x423188
test byte [ebp - 0x428], 0x1f
jne 0x423240
push dword [ebp - 0x424]
test byte [ebp - 0x430], 2
push 0xf
pop eax
push 0
pop ecx
cmovne eax, ecx
push eax
push str.RingDownBin
push 0x6a0228
call edi
push dword [ebp - 0x424]
and eax, 0xf
test byte [ebp - 0x430], 4
push 0xf
mov dword [ebx + 0x198], eax
pop eax
push 0
pop ecx
cmovne eax, ecx
push eax
push str.TVBoost
push 0x6a0228
call edi
push dword [ebp - 0x424]
and eax, 0xf
test byte [ebp - 0x430], 0x10
push 0xf
mov dword [ebx + 0x190], eax
pop eax
push 0
pop ecx
cmovne eax, ecx
push eax
push str.VMaxStress
push 0x6a0228
call edi
and eax, 0xf
mov dword [ebx + 0x194], eax
test dword [ebx + 0x17c], 0x800
je 0x42329f
mov ecx, dword [0x73bbd0]
push 0x80010010
push 0
push 0x150
call fcn.0041c7b3
test eax, eax
je 0x42329f
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x430]
push eax
push 0x150
call fcn.004328a3
add esp, 0xc
test dword [ebp - 0x428], 0x80000000
jne 0x423267
test byte [ebp - 0x428], 0x1f
jne 0x42329f
mov eax, dword [ebx + 0x16c]
jmp 0x4232a8
and dword [ebx + 0x16c], 0
xor eax, eax
test eax, eax
je 0x423328
push dword [ebp - 0x424]
push 0
push str.IdleVoltage0
push 0x6a0228
call edi
push dword [ebp - 0x424]
and eax, 0x11ff
push 0
push str.IdleVoltage1
push 0x6a0228
mov dword [ebx + 0x134], eax
call edi
push dword [ebp - 0x424]
and eax, 0x11ff
push 0
push str.IdleVoltage2
push 0x6a0228
mov dword [ebx + 0x138], eax
call edi
push dword [ebp - 0x424]
and eax, 0x11ff
push 0
push str.IdleVoltage3
push 0x6a0228
mov dword [ebx + 0x13c], eax
call edi
and eax, 0x11ff
mov dword [ebx + 0x140], eax
lea ecx, [esi - 0x10]
call fcn.00416499
mov ecx, dword [ebp - 0x424]
lea ecx, [ecx - 0x10]
call fcn.00416499
call fcn.00620b37
ret