Function at 0x417023
Capabilities:
Read .ini file

Disassembly:
push esi
mov esi, dword [sym.imp.DuiLib32.dll_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const]
push edi
mov edi, ecx
push 0x5973c0
mov ecx, dword [edi + 0x504]
call esi
mov ecx, dword [edi + 0x504]
push str.view_cb_cand_cnt
mov dword [edi + 0x658], eax
call esi
mov ecx, dword [edi + 0x504]
push str.generalbar_wbinput
mov dword [edi + 0x674], eax
call esi
mov ecx, dword [edi + 0x504]
push str.generalbar_pyinput
mov dword [edi + 0x65c], eax
call esi
mov ecx, dword [edi + 0x504]
push str.generalbar_wbpyinput
mov dword [edi + 0x660], eax
call esi
mov ecx, dword [edi + 0x504]
push str.generaldefaultinput
mov dword [edi + 0x664], eax
call esi
mov ecx, dword [edi + 0x504]
push str.generalbar_use_pinyin_fuzzy
mov dword [edi + 0x668], eax
call esi
mov ecx, dword [edi + 0x504]
push str.pinyinfuzzy
mov dword [edi + 0x678], eax
call esi
mov ecx, dword [edi + 0x504]
push str.CheckBox_Changetoinput
mov dword [edi + 0x67c], eax
call esi
mov ecx, dword [edi + 0x504]
push str.Edit_Changetokey
mov dword [edi + 0x66c], eax
call esi
lea ecx, [edi + 0x4f8]
mov dword [edi + 0x670], eax
call fcn.0041e5a7
mov ecx, edi
call fcn.00417205
mov ecx, edi
call fcn.0041725e
mov ecx, edi
pop edi
pop esi
jmp 0x417646
push 0x10
mov eax, 0x589dfe
call fcn.0042d01b
mov dword [ebp - 0x1c], ecx
lea eax, [ebp - 0xd]
mov byte [ebp - 0xd], 0
push eax
add ecx, 0x6a8
call fcn.0040d0de
movzx ebx, ax
call fcn.00403feb
mov ecx, eax
call fcn.0042e303
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edi, eax
push edi
push 0xbc
push str.KeyNo
push str.ImeUtil
call esi
push edi
push 0
push str.HasShift
push str.ImeUtil
mov dword [ebp - 0x18], eax
call esi
mov ecx, eax
test bx, bx
jne 0x41717d
mov eax, dword [ebp - 0x18]
test ecx, ecx
movzx ebx, ax
setne byte [ebp - 0xd]
push 0x58ed00
lea ecx, [ebp - 0x14]
call fcn.0040b0d8
mov al, byte [ebp - 0xd]
and dword [ebp - 4], 0
test al, al
je 0x4171a5
push str.Shift
lea ecx, [ebp - 0x14]
call fcn.00416bb7
mov al, byte [ebp - 0xd]
mov esi, dword [ebp - 0x1c]
mov ecx, esi
push ebx
mov byte [esi + 0x6b0], al
lea eax, [ebp - 0x18]
push eax
mov word [esi + 0x6b2], bx
call fcn.00416f6e
mov eax, dword [eax]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
push dword [eax - 0xc]
push eax
call fcn.00416be0
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 4], 0
lea ecx, [ecx - 0x10]
call fcn.0040c1a5
mov ecx, dword [esi + 0x670]
test ecx, ecx
je 0x4171f4
mov eax, dword [ecx]
push dword [ebp - 0x14]
call dword [eax + 0x2c]
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.0040c1a5
call fcn.0042cfe4
ret
push esi
push edi
mov edi, ecx
mov esi, dword [edi + 0x67c]
test esi, esi
je 0x417672
mov ecx, dword [edi + 0x678]
mov esi, dword [esi]
call dword [sym.imp.DuiLib32.dll_public:_bool___thiscall_DuiLib::CCheckBoxUI::GetCheck_void_const]
mov ecx, dword [edi + 0x67c]
movzx eax, al
push eax
call dword [esi + 0xe4]
push ebx
mov ecx, edi
call fcn.00416f38
mov ebx, eax
call fcn.00438298
push 0
push 0x74
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 8]
call fcn.00404e86
push 0x90
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
mov ecx, dword [edi + 0x65c]
mov esi, eax
test ecx, ecx
je 0x4176b2
mov edx, dword [ecx]
push 0
call dword [edx + 0x144]
mov ecx, dword [edi + 0x660]
test ecx, ecx
je 0x4176c6
mov eax, dword [ecx]
push 0
call dword [eax + 0x144]
mov ecx, dword [edi + 0x664]
test ecx, ecx
je 0x4176da
mov eax, dword [ecx]
push 0
call dword [eax + 0x144]
cmp ebx, 1
jne 0x4176e7
mov ecx, dword [edi + 0x660]
jmp 0x4176ff
cmp ebx, 2
jne 0x4176f4
mov ecx, dword [edi + 0x65c]
jmp 0x4176ff
cmp ebx, 3
jne 0x41770d
mov ecx, dword [edi + 0x664]
test ecx, ecx
je 0x41770d
mov eax, dword [ecx]
push 1
call dword [eax + 0x144]
mov ecx, dword [edi + 0x668]
mov ebx, dword [sym.imp.DuiLib32.dll_public:_void___thiscall_DuiLib::CCheckBoxUI::SetCheck_bool_]
test ecx, ecx
je 0x417721
push 1
call ebx
mov ecx, dword [edi + 0x66c]
test ecx, ecx
je 0x41772f
push 1
call ebx
mov ecx, dword [edi + 0x658]
pop ebx
test ecx, ecx
je 0x417758
cmp esi, 3
jl 0x417744
cmp esi, 9
jle 0x417747
push 6
pop esi
add ecx, 0x4e8
lea eax, [esi - 3]
push 0
push eax
mov edx, dword [ecx]
call dword [edx + 8]
mov ecx, dword [edi + 0x674]
test ecx, ecx
je 0x41777e
cmp esi, 3
jl 0x41776c
cmp esi, 9
jle 0x41776f
push 6
pop esi
push esi
call dword [sym.imp.DuiLib32.dll_public:_void___thiscall_DuiLib::CProgressUI::SetValue_int_]
push esi
mov ecx, edi
call fcn.004179f5
mov ecx, edi
pop edi
pop esi
jmp 0x41710d