Function at 0x4661a9
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov eax, dword [0x52d4bc]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
call fcn.00419c73
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4661ec
cmp dword [ebp - 4], 1
jne 0x4661e5
push 0
push 0x522844
push str.Cant_find_file_path_at__Load_Config_from__edit_item__please_check.
mov ecx, dword [ebp - 0xc]
call fcn.004cfc0e
xor eax, eax
jmp 0x46670b
mov ecx, dword [ebp - 8]
call fcn.00419f27
mov ecx, dword [ebp - 0xc]
call fcn.0048ca1f
mov ecx, dword [ebp - 0xc]
add ecx, 0x8ec
push ecx
push 0x258
push str.TIMEOUT
push 0x522898
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xc]
mov dword [edx + 0xffc], eax
mov eax, dword [ebp - 0xc]
add eax, 0x8ec
push eax
push 0
push str.FLASH_MANAGEMENT
push 0x5228b4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1014], eax
mov edx, dword [ebp - 0xc]
add edx, 0x1018
push edx
mov ecx, dword [ebp - 8]
call fcn.0041b66b
mov eax, dword [ebp - 0xc]
add eax, 0x8ec
push eax
push 1
push str.PRETEST
push 0x5228c4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x101c], eax
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0
push str.PRETEST_OPTION
push 0x5228dc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov byte [ecx + 0x1020], al
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0
push str.CHECKRDTRST
push 0x5228f0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x102c], eax
mov edx, dword [ebp - 0xc]
add edx, 0x1030
push edx
mov ecx, dword [ebp - 8]
call fcn.0041b6fe
mov eax, dword [ebp - 0xc]
add eax, 0x8ec
push eax
push 0
push str.BYPASSCHECKB16A
push 0x522908
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1028], eax
cmp dword [0x52dc70], 0
jne 0x466314
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x1028], 0
mov eax, dword [ebp - 0xc]
add eax, 0x8ec
push eax
push 0
push str.DisableTranADJ
push 0x522920
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1024], eax
cmp dword [0x52dc6c], 0
jne 0x46634e
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x1024], 0
mov eax, dword [ebp - 0xc]
add eax, 0x8ec
push eax
push 0
push str.ENBADBLOCKCNTTH
push 0x522938
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x103c], eax
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0x96
push str.BADBLOCKCNTTH
push 0x522950
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1040], eax
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0
push str.ENMAXRDTECCTH
push 0x522968
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1044], eax
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0x41
push str.MAXRDTECCTH
push 0x52297c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1048], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x1048]
add eax, 1
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1048], eax
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 1
push str.DOWNLOADISP
push 0x522990
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x104c], eax
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0
push 0x522998
push 0x5229a0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1050], eax
mov edx, dword [ebp - 0xc]
add edx, 0x1055
push edx
mov ecx, dword [ebp - 8]
call fcn.0041b85d
mov eax, dword [ebp - 0xc]
add eax, 0x8ec
push eax
push 2
push str.RDTGRADINGLEVEL
push 0x5229b8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov byte [ecx + 0x1054], al
cmp dword [0x52dc80], 0
jne 0x46648c
mov edx, dword [ebp - 0xc]
mov byte [edx + 0x1054], 2
mov eax, dword [ebp - 0xc]
add eax, 0x1081
push eax
mov ecx, dword [ebp - 8]
call fcn.0042d4f2
mov ecx, dword [ebp - 0xc]
add ecx, 0x8ec
push ecx
push 0
push str.COPYCOMPARE
push 0x5229cc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x10b8], eax
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x10bc], 1
mov ecx, dword [ebp - 0xc]
add ecx, 0x10c0
push ecx
mov ecx, dword [ebp - 8]
call fcn.0041c2e9
mov ecx, dword [ebp - 0xc]
call fcn.0046719b
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0
push str.QCPROCEDURE
push 0x5229e0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x11a4], eax
cmp dword [0x52dc10], 2
jne 0x466547
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x26d4]
xor edx, edx
mov ecx, 2
div ecx
test edx, edx
jne 0x466547
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x1050], 0
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x11a4], 1
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x15c0], 0
je 0x46657a
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x101c], 0
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x102c], 1
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x104c], 0
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0
push str.ENFLASHIODRV
push 0x5229f8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x10a4], eax
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0
push str.ENDRIVINGSTRENGTH
push 0x522a10
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x10a8], eax
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0
push str.ENCTRLODT
push 0x522a20
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x10ac], eax
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0
push str.ENFLASHODT
push 0x522a30
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x10b0], eax
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0
push str.ENSCHMITTWINDOW
push 0x522a44
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x10b4], eax
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0
push str.ENWWN16
push 0x522a50
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x11a8], eax
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x11a8], 0
je 0x466677
mov ecx, dword [ebp - 8]
call fcn.0042ccfb
test eax, eax
jne 0x466677
xor eax, eax
jmp 0x46670b
push 0x29
push 0
mov eax, dword [ebp - 0xc]
add eax, 0x11ac
push eax
call fcn.004adbd0
add esp, 0xc
mov ecx, dword [ebp - 0xc]
add ecx, 0x8ec
push ecx
push 0x29
mov edx, dword [ebp - 0xc]
add edx, 0x11ac
push edx
push str.SSD_DISK
push str.MODELSTRING
push 0x522a74
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 8
push 0
mov eax, dword [ebp - 0xc]
add eax, 0x11d5
push eax
call fcn.004adbd0
add esp, 0xc
mov ecx, dword [ebp - 0xc]
add ecx, 0x8ec
push ecx
push 8
mov edx, dword [ebp - 0xc]
add edx, 0x11d5
push edx
push 0
push str.FIRMWAREVERSION
push 0x522a90
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0
mov ecx, dword [ebp - 8]
call fcn.0042793d
test eax, eax
jne 0x466706
xor eax, eax
jmp 0x46670b
mov eax, 1
mov esp, ebp
pop ebp
ret