Function at 0x46525e
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov eax, dword [0x528778]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
call fcn.00419a83
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4652a1
cmp dword [ebp - 4], 1
jne 0x46529a
push 0
push 0x51e240
push str.Cant_find_file_path_at__Load_Config_from__edit_item__please_check.
mov ecx, dword [ebp - 0xc]
call fcn.004cbd0e
xor eax, eax
jmp 0x4657c0
mov ecx, dword [ebp - 8]
call fcn.00419d37
mov ecx, dword [ebp - 0xc]
call fcn.00488f60
mov ecx, dword [ebp - 0xc]
add ecx, 0x8ec
push ecx
push 0x258
push str.TIMEOUT
push 0x51e294
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 0x51e2b0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1008], eax
mov edx, dword [ebp - 0xc]
add edx, 0x100c
push edx
mov ecx, dword [ebp - 8]
call fcn.0041b478
mov eax, dword [ebp - 0xc]
add eax, 0x8ec
push eax
push 1
push str.PRETEST
push 0x51e2c0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1010], eax
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0
push str.PRETEST_OPTION
push 0x51e2d8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov byte [ecx + 0x1014], al
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0
push str.CHECKRDTRST
push 0x51e2ec
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1020], eax
mov edx, dword [ebp - 0xc]
add edx, 0x1024
push edx
mov ecx, dword [ebp - 8]
call fcn.0041b50b
mov eax, dword [ebp - 0xc]
add eax, 0x8ec
push eax
push 0
push str.BYPASSCHECKB16A
push 0x51e304
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x101c], eax
cmp dword [0x528f24], 0
jne 0x4653c9
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x101c], 0
mov eax, dword [ebp - 0xc]
add eax, 0x8ec
push eax
push 0
push str.DisableTranADJ
push 0x51e31c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1018], eax
cmp dword [0x528f20], 0
jne 0x465403
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x1018], 0
mov eax, dword [ebp - 0xc]
add eax, 0x8ec
push eax
push 0
push str.ENBADBLOCKCNTTH
push 0x51e334
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1030], eax
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0x96
push str.BADBLOCKCNTTH
push 0x51e34c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1034], eax
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0
push str.ENMAXRDTECCTH
push 0x51e364
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1038], eax
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0x41
push str.MAXRDTECCTH
push 0x51e378
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x103c], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x103c]
add eax, 1
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x103c], eax
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 1
push str.DOWNLOADISP
push 0x51e38c
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 0x51e394
push 0x51e39c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1044], eax
mov edx, dword [ebp - 0xc]
add edx, 0x1049
push edx
mov ecx, dword [ebp - 8]
call fcn.0041b66a
mov eax, dword [ebp - 0xc]
add eax, 0x8ec
push eax
push 2
push str.RDTGRADINGLEVEL
push 0x51e3b4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov byte [ecx + 0x1048], al
cmp dword [0x528f34], 0
jne 0x465541
mov edx, dword [ebp - 0xc]
mov byte [edx + 0x1048], 2
mov eax, dword [ebp - 0xc]
add eax, 0x1075
push eax
mov ecx, dword [ebp - 8]
call fcn.0042d13f
mov ecx, dword [ebp - 0xc]
add ecx, 0x8ec
push ecx
push 0
push str.COPYCOMPARE
push 0x51e3c8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x10ac], eax
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x10b0], 1
mov ecx, dword [ebp - 0xc]
add ecx, 0x10b4
push ecx
mov ecx, dword [ebp - 8]
call fcn.0041c07c
mov ecx, dword [ebp - 0xc]
call fcn.00465f13
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0
push str.QCPROCEDURE
push 0x51e3dc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1198], eax
cmp dword [0x528ec4], 2
jne 0x4655fc
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x24c0]
xor edx, edx
mov ecx, 2
div ecx
test edx, edx
jne 0x4655fc
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x1044], 0
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x1198], 1
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x15b4], 0
je 0x46562f
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x1010], 0
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x1020], 1
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1040], 0
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0
push str.ENFLASHIODRV
push 0x51e3f4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1098], eax
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0
push str.ENDRIVINGSTRENGTH
push 0x51e40c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x109c], eax
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0
push str.ENCTRLODT
push 0x51e41c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x10a0], eax
mov edx, dword [ebp - 0xc]
add edx, 0x8ec
push edx
push 0
push str.ENFLASHODT
push 0x51e42c
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.ENSCHMITTWINDOW
push 0x51e440
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.ENWWN16
push 0x51e44c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x119c], eax
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x119c], 0
je 0x46572c
mov ecx, dword [ebp - 8]
call fcn.0042c8c0
test eax, eax
jne 0x46572c
xor eax, eax
jmp 0x4657c0
push 0x29
push 0
mov eax, dword [ebp - 0xc]
add eax, 0x11a0
push eax
call fcn.004a9cd0
add esp, 0xc
mov ecx, dword [ebp - 0xc]
add ecx, 0x8ec
push ecx
push 0x29
mov edx, dword [ebp - 0xc]
add edx, 0x11a0
push edx
push str.SSD_DISK
push str.MODELSTRING
push 0x51e470
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 8
push 0
mov eax, dword [ebp - 0xc]
add eax, 0x11c9
push eax
call fcn.004a9cd0
add esp, 0xc
mov ecx, dword [ebp - 0xc]
add ecx, 0x8ec
push ecx
push 8
mov edx, dword [ebp - 0xc]
add edx, 0x11c9
push edx
push 0
push str.FIRMWAREVERSION
push 0x51e48c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0
mov ecx, dword [ebp - 8]
call fcn.0042758d
test eax, eax
jne 0x4657bb
xor eax, eax
jmp 0x4657c0
mov eax, 1
mov esp, ebp
pop ebp
ret