Function at 0x45869f
Capabilities:
Check if file exists
Get file attributes
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x58], edi
call fcn.00455e25
call fcn.00402cbd
push eax
lea ecx, [esp + 0x3c]
call fcn.00402161
xor ebx, ebx
lea ecx, [esp + 0x38]
push ebx
mov edx, str.Options.json
call fcn.0045b3d7
mov esi, dword [esp + 0x3c]
pop ecx
test al, al
je 0x45a30c
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x4586f9
mov bl, 1
jmp 0x45a30c
call fcn.00402cbd
push eax
lea ecx, [esp + 0x58]
call fcn.00402161
lea edx, [esp + 0x54]
mov ecx, esi
call fcn.0043df32
test al, al
je 0x45a300
lea eax, [esp + 0x54]
mov dword [esp + 0xa8], ebx
push eax
lea ecx, [esp + 0xac]
mov dword [esp + 0xb0], ebx
call fcn.0043f71a
mov dword [esp + 0xa4], eax
test eax, eax
je 0x45a300
mov edx, dword [eax]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, eax
call dword [edx + 0x20]
push 0x523b44
lea ecx, [esp + 0x28]
call fcn.00401f21
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.004409c6
mov ecx, dword [esp + 0x24]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
je 0x458ecd
push str.ActiveServices
lea ecx, [esp + 0x28]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push 1
push edi
call fcn.004585f8
pop ecx
pop ecx
mov ecx, dword [esp + 0x24]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.ActiveDictionaryServices
lea ecx, [esp + 0x28]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x10]
push 0xa
push eax
lea edx, [esp + 0x2c]
call fcn.004585f8
pop ecx
pop ecx
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.004033d1
push ecx
lea eax, [edi + 0x20]
push eax
push str.WindowMainPlacement
push dword [esp + 0x24]
call fcn.0045ae60
push ecx
lea eax, [edi + 0x4c]
push eax
push str.WindowPopupPlacement
push dword [esp + 0x24]
call fcn.0045ae60
push ecx
lea eax, [edi + 0x78]
push eax
push str.WindowDictionaryPlacement
push dword [esp + 0x24]
call fcn.0045ae60
push ecx
lea eax, [edi + 0xa4]
push eax
push str.WindowOptionsPlacement
push dword [esp + 0x24]
call fcn.0045ae60
push ecx
lea eax, [edi + 0xd0]
push eax
push str.WindowKeyboardPlacement
push dword [esp + 0x24]
call fcn.0045ae60
push ecx
lea eax, [edi + 0xfc]
push eax
push str.WindowHistoryPlacement
push dword [esp + 0x24]
call fcn.0045ae60
push str.MainWindowShowOnLoad
lea ecx, [esp + 0x28]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x128]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x24]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.MainWindowStartupAction
lea ecx, [esp + 0x28]
call fcn.00401f21
lea eax, [edi + 0x12c]
push eax
lea eax, [esp + 0x28]
mov ecx, dword [esp + 0x1c]
push eax
call fcn.00440942
mov ecx, dword [esp + 0x24]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
jne 0x4588cd
and dword [edi + 0x12c], 0
push str.MinimizeToTrayOnMinimize
lea ecx, [esp + 0x28]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x130]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x24]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.MinimizeToTrayOnClose
lea ecx, [esp + 0x28]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x131]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x24]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.LocaleFoderName
lea ecx, [esp + 0x28]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x134]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.00440984
mov ecx, dword [esp + 0x24]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
jne 0x4589c9
xor ebx, ebx
lea ecx, [esp + 0x10]
push 0x529d28
mov dword [esp + 0x28], ebx
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440942
test al, al
je 0x45899c
mov eax, dword [esp + 0x24]
add eax, 0xfffffffe
mov byte [esp + 0x17], 1
cmp eax, 0x49
jbe 0x4589a0
mov byte [esp + 0x17], bl
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
cmp byte [esp + 0x17], bl
je 0x4589cb
mov ecx, dword [esp + 0x24]
call fcn.0045c9fb
push eax
lea ecx, [edi + 0x134]
call fcn.00401ea9
jmp 0x4589cb
xor ebx, ebx
push str.LanguageFrom
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x138]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440942
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
xor edx, edx
lea ecx, [edi + 0x138]
mov eax, dword [ecx]
inc edx
cmp eax, edx
je 0x458a13
add eax, 0xfffffffe
cmp eax, 0x49
jbe 0x458a13
mov dword [ecx], edx
push str.LanguageTo
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x13c]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440942
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
xor edx, edx
inc edx
cmp dword [edi + 0x138], edx
je 0x458a5f
lea ecx, [edi + 0x13c]
mov eax, dword [ecx]
add eax, 0xfffffffe
cmp eax, 0x49
jbe 0x458a5f
mov dword [ecx], edx
push str.LanguageKeyboard
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x140]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440942
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
lea ecx, [edi + 0x140]
mov eax, dword [ecx]
add eax, 0xfffffffe
cmp eax, 0x49
jbe 0x458aa4
mov dword [ecx], 0x11
push str.LanguageDictionary
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x144]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440942
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
lea ecx, [edi + 0x144]
mov eax, dword [ecx]
add eax, 0xfffffffe
cmp eax, 0x49
jbe 0x458ae9
mov dword [ecx], 0x11
push str.MouseMode
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x148]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440942
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
lea eax, [edi + 0x148]
cmp dword [eax], 0
je 0x458b2f
cmp dword [eax], 1
je 0x458b2f
cmp dword [eax], 2
je 0x458b2f
mov dword [eax], ebx
push str.MouseModeOn
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x14c]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.FontName
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x150]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440984
mov ecx, dword [esp + 0x10]
mov bl, al
lea ecx, [ecx - 0x10]
call fcn.004033d1
test bl, bl
jne 0x458b9e
lea ecx, [edi + 0x150]
call fcn.004033fc
push str.TextSize
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea ebx, [edi + 0x154]
push ebx
lea eax, [esp + 0x14]
push eax
call fcn.00440942
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push 8
pop eax
cmp dword [ebx], eax
jl 0x458bdb
push 0x48
pop eax
cmp dword [ebx], eax
jle 0x458bdd
mov dword [ebx], eax
push str.InstantTranslation
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x158]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.BackTranslation
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x159]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.BackTranslationSplitterPos
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x15c]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440942
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.MidSplitterPos
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x160]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440942
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.ReadPhonetically
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x164]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.ClearOnDragDrop
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x165]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.AutoCleanupOfTranslation
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x166]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.ShowTopPane
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x167]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.ShowMiddlePane
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x168]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.ShowServicesPane
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x169]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.SpellChecking
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x16a]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.UseSmartDetection
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x16b]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.EnableHistory
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x16c]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.ClearHistoryOnExit
lea ecx, [esp + 0x14]
call fcn.00401f21
lea eax, [edi + 0x16d]
push eax
lea eax, [esp + 0x14]
mov ecx, dword [esp + 0x1c]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.ExpandHistoryItems
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x16e]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.AlwaysDetectLanguage
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0x16f]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.Contents
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004409c6
mov ecx, dword [esp + 0x10]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
je 0x458fc0
push str.SaveOnExit
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x40]
lea eax, [edi + 0x170]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.EditSource
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x40]
lea eax, [edi + 0x174]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440984
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.EditTranslation
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x40]
lea eax, [edi + 0x178]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440984
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.EditBackTranslation
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x40]
lea eax, [edi + 0x17c]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440984
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push 0x523580
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004409c6
mov ecx, dword [esp + 0x10]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
je 0x459084
push 0x523508
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x48]
lea eax, [edi + 0x180]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.DictionaryExactSearch
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x48]
lea eax, [edi + 0x181]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440921
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.DictionaryZoom
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x48]
lea eax, [edi + 0x184]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440942
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.AutoDetection
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004409c6
mov ecx, dword [esp + 0x10]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
je 0x45917d
push str.LanguageFirst
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x4c]
lea ebx, [edi + 0x188]
push ebx
lea eax, [esp + 0x14]
push eax
call fcn.00440942
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.LanguageSecond
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x4c]
lea eax, [edi + 0x18c]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440942
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.LanguageSpeechRecognition
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x4c]
lea eax, [edi + 0x190]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440942
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
mov eax, dword [ebx]
lea ecx, [edi + 0x18c]
add eax, 0xfffffffe
cmp eax, 0x49
ja 0x459162
mov eax, dword [ecx]
add eax, 0xfffffffe
cmp eax, 0x49
jbe 0x459169
push ecx
push ebx
call fcn.0045ad3d
lea ecx, [edi + 0x190]
mov eax, dword [ecx]
add eax, 0xfffffffe
cmp eax, 0x49
jbe 0x45917d
mov eax, dword [ebx]
mov dword [ecx], eax
push str.Internet
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004409c6
mov ecx, dword [esp + 0x10]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
je 0x4591e5
push str.Timeout
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x9c]
lea eax, [edi + 0x194]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440942
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push 0x52343c
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004409c6
mov ecx, dword [esp + 0x10]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
je 0x459489
push str.ProxyType
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440942
test al, al
je 0x459251
cmp dword [esp + 0x24], 3
ja 0x459251
mov byte [esp + 0x17], 1
xor ebx, ebx
jmp 0x459257
xor ebx, ebx
mov byte [esp + 0x17], bl
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
xor eax, eax
lea ecx, [esp + 0x10]
cmp byte [esp + 0x17], al
push 0x523420
cmovne eax, dword [esp + 0x28]
mov dword [edi + 0x198], eax
call fcn.00401f21
mov ecx, dword [esp + 0x34]
lea eax, [edi + 0x19c]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440984
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.Port
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440942
test al, al
je 0x4592d4
cmp dword [esp + 0x3c], 0
mov byte [esp + 0x17], 1
jge 0x4592d8
mov byte [esp + 0x17], bl
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
xor eax, eax
lea ecx, [esp + 0x10]
cmp byte [esp + 0x17], al
push str.Username
cmovne eax, dword [esp + 0x40]
mov dword [edi + 0x1a0], eax
call fcn.00401f21
mov ecx, dword [esp + 0x34]
lea eax, [edi + 0x1a4]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440984
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.Password
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x34]
lea eax, [edi + 0x1a8]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440984
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffff0
call fcn.004033d1
mov eax, dword [edi + 0x1a8]
mov eax, dword [eax - 0xc]
test eax, eax
je 0x45943c
cdq
sub eax, edx
mov dword [esp + 0x7c], ebx
sar eax, 1
push ecx
push eax
lea ecx, [esp + 0x84]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x18], eax
call fcn.0043b615
mov edx, dword [esp + 0x7c]
lea eax, [esp + 0x10]
push eax
lea ecx, [edi + 0x1a8]
call fcn.004559e6
push dword [esp + 0x14]
lea ecx, [esp + 0x84]
mov bl, al
call fcn.0043b615
test bl, bl
je 0x45942b
xor eax, eax
lea edx, [esp + 0x8c]
lea ecx, [esp + 0x7c]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
call fcn.0043b2aa
test al, al
jne 0x459403
cmp dword [esp + 0x8c], 0
je 0x45942b
push dword [esp + 0x8c]
jmp 0x459425
mov ebx, dword [esp + 0x8c]
lea eax, [edi + 0x1a8]
mov edx, dword [esp + 0x90]
mov ecx, ebx
push eax
call fcn.0043b207
pop ecx
test ebx, ebx
je 0x45942b
push ebx
call fcn.004c0774
pop ecx
cmp dword [esp + 0x7c], 0
je 0x45943c
push dword [esp + 0x7c]
call fcn.004c0774
pop ecx
push str.Scheme
lea ecx, [esp + 0x14]
call fcn.00401f21
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00440942
test al, al
je 0x45946c
cmp dword [esp + 0xc], 7
ja 0x45946c
mov bl, 1
jmp 0x45946e
xor bl, bl
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004033d1
xor eax, eax
test bl, bl
cmovne eax, dword [esp + 0xc]
mov dword [edi + 0x1b0], eax
push str.HotKeys
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.004409c6
mov ecx, dword [esp + 0xc]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
je 0x45980e
push str.EnableHotKeys
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x20]
lea eax, [edi + 0x1b4]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440921
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.HotKeyMainWindow
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x20]
lea eax, [edi + 0x1b6]
push eax
lea edx, [esp + 0x10]
call fcn.0045867d
pop ecx
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.HotKeyPopupWindow
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x20]
lea eax, [edi + 0x1b8]
push eax
lea edx, [esp + 0x10]
call fcn.0045867d
pop ecx
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.HotKeyDictionary
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x20]
lea eax, [edi + 0x1ba]
push eax
lea edx, [esp + 0x10]
call fcn.0045867d
pop ecx
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.HotKeyHistory
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x20]
lea eax, [edi + 0x1bc]
push eax
lea edx, [esp + 0x10]
call fcn.0045867d
pop ecx
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.HotKeyKeyboard
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x20]
lea eax, [edi + 0x1be]
push eax
lea edx, [esp + 0x10]
call fcn.0045867d
pop ecx
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.HotKeyListenText
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x20]
lea eax, [edi + 0x1c0]
push eax
lea edx, [esp + 0x10]
call fcn.0045867d
pop ecx
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.HotKeyListenTranslation
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x20]
lea eax, [edi + 0x1c2]
push eax
lea edx, [esp + 0x10]
call fcn.0045867d
pop ecx
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.HotKeyCopyTranslation
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x20]
lea eax, [edi + 0x1c6]
push eax
lea edx, [esp + 0x10]
call fcn.0045867d
pop ecx
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.HotKeyConvertTextLayout
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x20]
lea eax, [edi + 0x1c4]
push eax
lea edx, [esp + 0x10]
call fcn.0045867d
pop ecx
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.HotKeyReplaceSelection
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x20]
lea eax, [edi + 0x1c8]
push eax
lea edx, [esp + 0x10]
call fcn.0045867d
pop ecx
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.HotKeySwitchMouseMode
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x20]
lea eax, [edi + 0x1ca]
push eax
lea edx, [esp + 0x10]
call fcn.0045867d
pop ecx
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.HotKeyTranslateClipboard
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x20]
lea eax, [edi + 0x1cc]
push eax
lea edx, [esp + 0x10]
call fcn.0045867d
pop ecx
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.HotKeyTranslateClipboardInMainWindow
lea ecx, [esp + 0x10]
call fcn.00401f21
lea eax, [edi + 0x1ce]
push eax
lea edx, [esp + 0x10]
mov ecx, dword [esp + 0x24]
call fcn.0045867d
pop ecx
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.HotKeyTranslateClipboardInPopupWindow
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x20]
lea eax, [edi + 0x1d0]
push eax
lea edx, [esp + 0x10]
call fcn.0045867d
pop ecx
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.HotKeyDictionaryClipboard
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x20]
lea eax, [edi + 0x1d2]
push eax
lea edx, [esp + 0x10]
call fcn.0045867d
pop ecx
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.HotKeyTextRecognition
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x20]
lea eax, [edi + 0x1d4]
push eax
lea edx, [esp + 0x10]
call fcn.0045867d
pop ecx
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.HotKeySpeechInput
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x20]
lea eax, [edi + 0x1d6]
push eax
lea edx, [esp + 0x10]
call fcn.0045867d
pop ecx
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.Appearance
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.004409c6
mov ecx, dword [esp + 0xc]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
je 0x459ac0
push str.EnableWindowStyle
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x2c]
lea eax, [edi + 0x1d8]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440921
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.ThemeName
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x2c]
lea eax, [edi + 0x1dc]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440984
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.PopupAutoSize
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x2c]
lea eax, [edi + 0x1e0]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440921
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.PopupAutoPos
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x2c]
lea eax, [edi + 0x1e1]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440921
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.PopupAutoFocus
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x2c]
lea eax, [edi + 0x1e2]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440921
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.PopupPinWhenDragging
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x2c]
lea eax, [edi + 0x1e3]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440921
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.PopupTimeout
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x2c]
lea eax, [edi + 0x1e4]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440942
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.ColorBack
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x2c]
lea eax, [edi + 0x1e8]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440942
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.ColorText
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x2c]
lea eax, [edi + 0x1ec]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440942
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.ColorFrame
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x2c]
lea eax, [edi + 0x1f0]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440942
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.Transparency
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x2c]
lea ebx, [edi + 0x1f4]
push ebx
lea eax, [esp + 0x10]
push eax
call fcn.00440942
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
cmp byte [ebx], 0x19
jae 0x459a52
mov byte [ebx], 0xff
push str.PopupWindowFrameThickness
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x2c]
lea ebx, [edi + 0x1f8]
push ebx
lea eax, [esp + 0x10]
push eax
call fcn.00440942
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
cmp dword [ebx], 0
jl 0x459a8b
cmp dword [ebx], 8
jle 0x459a91
mov dword [ebx], 2
push str.PopupIcons
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x2c]
lea eax, [edi + 0x1fc]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440942
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
xor ebx, ebx
lea ecx, [esp + 0xc]
push str.Exceptions
mov dword [esp + 0x60], ebx
call fcn.00401f21
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.004409c6
test al, al
je 0x459b02
push dword [esp + 0x5c]
lea ecx, [edi + 0x200]
call fcn.00462b1f
mov byte [esp + 0x17], bl
test al, al
jne 0x459b07
mov byte [esp + 0x17], 1
mov ecx, dword [esp + 0xc]
lea ebx, [edi + 0x200]
lea ecx, [ecx - 0x10]
call fcn.004033d1
cmp byte [esp + 0x17], 0
je 0x459b27
mov ecx, ebx
call fcn.00462868
push 0x522dec
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.004409c6
mov ecx, dword [esp + 0xc]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
je 0x459d88
push str.DefaultBrowserId
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x30]
lea eax, [edi + 0x224]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440984
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.CopyAction
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x30]
lea ebx, [edi + 0x228]
push ebx
lea eax, [esp + 0x10]
push eax
call fcn.00440942
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
cmp dword [ebx], 0
je 0x459bc9
cmp dword [ebx], 1
je 0x459bc9
and dword [ebx], 0
push str.LayoutIndicator
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x30]
lea ebx, [edi + 0x22c]
push ebx
lea eax, [esp + 0x10]
push eax
call fcn.00440942
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
cmp dword [ebx], 0
je 0x459c0a
cmp dword [ebx], 1
je 0x459c0a
cmp dword [ebx], 2
je 0x459c0a
and dword [ebx], 0
push 0x522d5c
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x30]
lea eax, [edi + 0x230]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440984
mov ecx, dword [esp + 0xc]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
jne 0x459c6e
push str.GoogleDomain
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x30]
lea eax, [edi + 0x230]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440984
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.EnableGuiTranslation
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x30]
lea eax, [edi + 0x234]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440921
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.EnableSlowerListening
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x30]
lea eax, [edi + 0x235]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440921
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.RemoveLineBreaks
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x30]
lea eax, [edi + 0x236]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440921
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.EnableMouseModeOnCtrl
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x30]
lea eax, [edi + 0x237]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440921
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.SwitchMouseModeOnTrayClick
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x30]
lea eax, [edi + 0x238]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440921
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.OcrApiKey
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x30]
lea eax, [edi + 0x23c]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440984
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.Application
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.004409c6
mov ecx, dword [esp + 0xc]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
je 0x459e7b
push str.SaveHistoryPath
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x44]
lea eax, [edi + 0x240]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440984
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.HistoryFilter
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x44]
lea eax, [edi + 0x244]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440984
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.HistoryFilterFavorites
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x44]
lea eax, [edi + 0x248]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440921
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.OptionsPageIndex
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x44]
lea eax, [edi + 0x24c]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440942
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push str.DisabledServices
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440a08
mov ecx, dword [esp + 0xc]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
je 0x459ee6
mov eax, dword [esp + 0x60]
xor ebx, ebx
cmp dword [eax + 0xc], ebx
jbe 0x459ee6
mov esi, ebx
lea ecx, [esp + 0xc]
push ecx
push esi
mov ecx, eax
call fcn.0043f2ee
test al, al
je 0x459ed8
push ebx
push dword [esp + 0x10]
mov ecx, edi
call fcn.0045a6ee
mov eax, dword [esp + 0x60]
inc esi
cmp esi, dword [eax + 0xc]
jb 0x459ebb
mov esi, dword [esp + 0x38]
push str.DisabledDictionaries
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440a08
mov ecx, dword [esp + 0xc]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
je 0x459f4c
mov ecx, dword [esp + 0x64]
xor eax, eax
mov ebx, eax
cmp dword [ecx + 0xc], eax
jbe 0x459f4c
lea eax, [esp + 0xc]
push eax
push ebx
call fcn.0043f2ee
test al, al
je 0x459f42
push 1
push dword [esp + 0x10]
mov ecx, edi
call fcn.0045a6ee
mov ecx, dword [esp + 0x64]
inc ebx
cmp ebx, dword [ecx + 0xc]
jb 0x459f26
push str.DisabledLanguages
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440a08
mov ecx, dword [esp + 0xc]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
je 0x459fb0
mov ecx, dword [esp + 0x68]
xor eax, eax
mov ebx, eax
cmp dword [ecx + 0xc], eax
jbe 0x459fb0
lea eax, [esp + 0xc]
push eax
push ebx
call fcn.0043f2ee
test al, al
je 0x459fa6
push dword [esp + 0xc]
mov ecx, edi
call fcn.0045a7c6
mov ecx, dword [esp + 0x68]
inc ebx
cmp ebx, dword [ecx + 0xc]
jb 0x459f8c
push str.ServicesOrder
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440a08
mov ecx, dword [esp + 0xc]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
je 0x45a02b
push ecx
xor ebx, ebx
lea ecx, [edi + 0x26c]
push ebx
call fcn.0041e51e
mov eax, dword [esp + 0x6c]
cmp dword [eax + 0xc], ebx
jbe 0x45a02b
mov esi, ebx
lea ecx, [esp + 0xc]
push ecx
push esi
mov ecx, eax
call fcn.0043f2ee
test al, al
je 0x45a01d
push dword [esp + 0xc]
lea ecx, [edi + 0x26c]
call fcn.0041e559
mov eax, dword [esp + 0x6c]
inc esi
cmp esi, dword [eax + 0xc]
jb 0x459ffd
mov esi, dword [esp + 0x38]
push str.DictionariesOrder
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440a08
mov ecx, dword [esp + 0xc]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
je 0x45a0a6
push ecx
xor ebx, ebx
lea ecx, [edi + 0x27c]
push ebx
call fcn.0041e51e
mov eax, dword [esp + 0x70]
cmp dword [eax + 0xc], ebx
jbe 0x45a0a6
mov esi, ebx
lea ecx, [esp + 0xc]
push ecx
push esi
mov ecx, eax
call fcn.0043f2ee
test al, al
je 0x45a098
push dword [esp + 0xc]
lea ecx, [edi + 0x27c]
call fcn.0041e559
mov eax, dword [esp + 0x70]
inc esi
cmp esi, dword [eax + 0xc]
jb 0x45a078
mov esi, dword [esp + 0x38]
push str.LanguagePairs
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440a08
mov ecx, dword [esp + 0xc]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
je 0x45a16b
lea eax, [edi + 0x28c]
mov ecx, eax
mov dword [esp + 0x3c], eax
call fcn.0043387e
mov eax, dword [esp + 0x74]
xor ebx, ebx
cmp dword [eax + 0xc], ebx
jbe 0x45a16b
mov edi, dword [esp + 0x3c]
mov esi, ebx
lea ecx, [esp + 0xc]
push ecx
push esi
mov ecx, eax
call fcn.0043f393
test al, al
je 0x45a159
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0xc], 2
jne 0x45a159
lea eax, [esp + 0x3c]
push eax
push ebx
call fcn.0043f2ee
test al, al
je 0x45a159
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x10]
push eax
push 1
call fcn.0043f2ee
test al, al
je 0x45a159
mov eax, dword [esp + 0x3c]
mov ecx, edi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x24]
push eax
call fcn.0043389b
mov eax, dword [esp + 0x74]
inc esi
cmp esi, dword [eax + 0xc]
jb 0x45a0ff
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x58]
push str.OfflineDictionaries
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440a08
mov ecx, dword [esp + 0xc]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
je 0x45a1f0
mov eax, dword [esp + 0x50]
xor ebx, ebx
cmp dword [eax + 0xc], ebx
jbe 0x45a1f0
call fcn.00402cbd
push eax
lea ecx, [esp + 0x28]
call fcn.00402161
mov ecx, dword [esp + 0x50]
lea eax, [esp + 0x24]
push eax
push ebx
call fcn.0043f30f
test al, al
je 0x45a1da
push dword [esp + 0x24]
lea ecx, [edi + 0x250]
call fcn.0041e3a3
mov ecx, dword [esp + 0x24]
lea ecx, [ecx - 0x10]
call fcn.004033d1
mov eax, dword [esp + 0x50]
inc ebx
cmp ebx, dword [eax + 0xc]
jb 0x45a1a9
push str.Update
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.004409c6
mov ecx, dword [esp + 0xc]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
je 0x45a258
push str.CheckForUpdates
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0xa0]
lea eax, [edi + 0x260]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440921
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
push 0x522bac
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.004409c6
mov ecx, dword [esp + 0xc]
mov bl, al
add ecx, 0xfffffff0
call fcn.004033d1
test bl, bl
je 0x45a2f1
push 0x522b58
lea ecx, [esp + 0x10]
call fcn.00401f21
mov ecx, dword [esp + 0x78]
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440942
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0xc]
push str.SaveImagePath
mov dword [edi + 0x264], eax
call fcn.00401f21
mov ecx, dword [esp + 0x78]
lea eax, [edi + 0x268]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00440984
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
mov ecx, dword [esp + 0xa4]
push 1
mov eax, dword [ecx]
call dword [eax]
mov bl, 1
mov ecx, dword [esp + 0x54]
add ecx, 0xfffffff0
call fcn.004033d1
lea ecx, [esi - 0x10]
call fcn.004033d1
pop edi
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret