Function at 0x51e5b8
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3d0
mov dword [ebp - 0x3c8], ecx
mov dword [ebp - 0x390], 0x5b469c
lea eax, [ebp - 0x304]
push eax
mov ecx, dword [ebp - 0x3c8]
mov edx, dword [ecx + 0x4b4]
push edx
call fcn.004016bb
add esp, 8
mov eax, dword [0x5c4d14]
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 0x3bc], 0x5b46ac
mov dword [ebp - 0x3b8], str.PatternOpt
mov ecx, dword [0x5c4d18]
mov dword [ebp - 0x3b4], ecx
mov dword [ebp - 0x3b0], 0x5b46c8
mov dword [ebp - 0x3ac], str.ScanOption
mov edx, dword [0x5c4d1c]
mov dword [ebp - 0x3a8], edx
mov dword [ebp - 0x3a4], 0x5b46e4
mov dword [ebp - 0x3a0], str.FlashMode
mov eax, dword [0x5c4d28]
mov dword [ebp - 0x39c], eax
mov dword [ebp - 0x398], 0x5b4700
mov dword [ebp - 0x394], str.OptimizeOpt
mov dword [ebp - 0x388], 0
jmp 0x51e686
mov ecx, dword [ebp - 0x388]
add ecx, 1
mov dword [ebp - 0x388], ecx
cmp dword [ebp - 0x388], 8
jge 0x51eae1
mov edx, dword [ebp - 0x388]
add edx, 1
push edx
push str.IDC_SubInfo_d
lea eax, [ebp - 0x384]
push eax
call fcn.0054c45b
add esp, 0xc
lea ecx, [ebp - 0x304]
push ecx
push 0x80
lea edx, [ebp - 0x80]
push edx
push 0x5dcba4
lea eax, [ebp - 0x384]
push eax
mov ecx, dword [ebp - 0x390]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x80]
push edx
push str._s_t:
lea eax, [ebp - 0x200]
push eax
call fcn.0054c45b
add esp, 0xc
mov dword [ebp - 0x3c4], 4
cmp dword [ebp - 0x388], 4
jae 0x51e7f7
cmp dword [0x5c4d2c], 0
je 0x51e767
cmp dword [ebp - 0x388], 3
jne 0x51e767
lea ecx, [ebp - 0x304]
push ecx
push 0x80
lea edx, [ebp - 0x100]
push edx
push 0x5dcba8
push str.IDC_CHECK_EnableM2p
push 0x5b4748
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x100]
push eax
lea ecx, [ebp - 0x80]
push ecx
push 0x5b4758
lea edx, [ebp - 0x200]
push edx
call fcn.0054c45b
add esp, 0x10
jmp 0x51e7f2
mov eax, dword [ebp - 0x388]
imul eax, eax, 0xc
mov ecx, dword [ebp + eax - 0x3c0]
push ecx
mov edx, dword [ebp - 0x388]
imul edx, edx, 0xc
mov eax, dword [ebp + edx - 0x3b8]
push eax
push str._s_d
lea ecx, [ebp - 0x384]
push ecx
call fcn.0054c45b
add esp, 0x10
lea edx, [ebp - 0x304]
push edx
push 0x80
lea eax, [ebp - 0x100]
push eax
push 0x5dcbac
lea ecx, [ebp - 0x384]
push ecx
mov edx, dword [ebp - 0x388]
imul edx, edx, 0xc
mov eax, dword [ebp + edx - 0x3bc]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x100]
push ecx
lea edx, [ebp - 0x80]
push edx
push 0x5b4768
lea eax, [ebp - 0x200]
push eax
call fcn.0054c45b
add esp, 0x10
jmp case.default.0x51e825
mov ecx, dword [ebp - 0x388]
mov dword [ebp - 0x3cc], ecx
mov edx, dword [ebp - 0x3cc]
sub edx, 4
mov dword [ebp - 0x3cc], edx
cmp dword [ebp - 0x3cc], 3
ja case.default.0x51e825
mov eax, dword [ebp - 0x3cc]
jmp dword [eax*4 + 0x51eae5]
cmp dword [0x5c4d90], 0
je 0x51e877
lea ecx, [ebp - 0x304]
push ecx
push 0x80
lea edx, [ebp - 0x384]
push edx
push 0x5b4770
push 0x5b4778
mov eax, dword [ebp - 0x390]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x384]
push ecx
lea edx, [ebp - 0x100]
push edx
call fcn.0054c45b
add esp, 8
jmp 0x51e8b7
lea eax, [ebp - 0x304]
push eax
push 0x80
lea ecx, [ebp - 0x384]
push ecx
push str.Enable
push str.Disable
mov edx, dword [ebp - 0x390]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x384]
push eax
lea ecx, [ebp - 0x100]
push ecx
call fcn.0054c45b
add esp, 8
lea edx, [ebp - 0x100]
push edx
lea eax, [ebp - 0x80]
push eax
push 0x5b4790
lea ecx, [ebp - 0x200]
push ecx
call fcn.0054c45b
add esp, 0x10
jmp case.default.0x51e825
mov edx, dword [0x5c4d0c]
push edx
push 0x5b4798
lea eax, [ebp - 0x100]
push eax
call fcn.0054c45b
add esp, 0xc
lea ecx, [ebp - 0x100]
push ecx
lea edx, [ebp - 0x80]
push edx
push 0x5b479c
lea eax, [ebp - 0x200]
push eax
call fcn.0054c45b
add esp, 0x10
jmp case.default.0x51e825
mov ecx, dword [0x5c4d10]
mov dword [ebp - 0x3d0], ecx
cmp dword [ebp - 0x3d0], 1
je 0x51e93a
cmp dword [ebp - 0x3d0], 2
je 0x51e964
jmp 0x51e98e
lea edx, [ebp - 0x304]
push edx
push 0x80
lea eax, [ebp - 0x100]
push eax
push 0x5dcbb0
push str.IDC_RADIO_HighLevel
push 0x5b47b8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
jmp 0x51e9b6
lea ecx, [ebp - 0x304]
push ecx
push 0x80
lea edx, [ebp - 0x100]
push edx
push 0x5dcbb4
push str.IDC_RADIO_SmartScan
push 0x5b47dc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
jmp 0x51e9b6
lea eax, [ebp - 0x304]
push eax
push 0x80
lea ecx, [ebp - 0x100]
push ecx
push 0x5dcbb8
push str.IDC_STATIC_LowLevel
push str.SettingDGOpt
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp dword [0x5c5a40], 0
je 0x51e9d8
push 0x5b4810
push 0x5b4818
lea edx, [ebp - 0x100]
push edx
call fcn.0054c45b
add esp, 0xc
lea eax, [ebp - 0x100]
push eax
lea ecx, [ebp - 0x80]
push ecx
push 0x5b481c
lea edx, [ebp - 0x200]
push edx
call fcn.0054c45b
add esp, 0x10
cmp dword [0x5c4d10], 0
jne 0x51ea1d
cmp dword [0x5c4d38], 0
je 0x51ea1d
push str.__Erase_ISP_after_Open_Card_
lea eax, [ebp - 0x200]
push eax
call fcn.0054bed0
add esp, 8
jmp case.default.0x51e825
mov ecx, dword [ebp - 0x3c8]
add ecx, 0x3b0
push ecx
call fcn.0054c3e0
add esp, 4
mov dword [ebp - 0x38c], eax
jmp 0x51ea4e
mov edx, dword [ebp - 0x38c]
sub edx, 1
mov dword [ebp - 0x38c], edx
cmp dword [ebp - 0x38c], 0
jl 0x51ea73
mov eax, dword [ebp - 0x3c8]
add eax, dword [ebp - 0x38c]
movsx ecx, byte [eax + 0x3b0]
cmp ecx, 0x5c
jne 0x51ea71
jmp 0x51ea73
jmp 0x51ea3f
mov edx, dword [ebp - 0x38c]
mov eax, dword [ebp - 0x3c8]
lea ecx, [eax + edx + 0x3b1]
push ecx
push 0x5b4844
lea edx, [ebp - 0x100]
push edx
call fcn.0054c45b
add esp, 0xc
lea eax, [ebp - 0x100]
push eax
lea ecx, [ebp - 0x80]
push ecx
push str._s:__s
lea edx, [ebp - 0x200]
push edx
call fcn.0054c45b
add esp, 0x10
lea eax, [ebp - 0x200]
push eax
mov ecx, dword [ebp - 0x388]
imul ecx, ecx, 0x3c
mov edx, dword [ebp - 0x3c8]
lea ecx, [edx + ecx + 0x14680]
call fcn.0056432f
jmp 0x51e677
mov esp, ebp
pop ebp
ret