Function at 0x414526
Capabilities:
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x150
mov eax, dword [0x5a0b04]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x10000
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ebx, eax
push ebx
mov dword [ebp - 0x150], ebx
call dword [sym.imp.KERNEL32.dll_LocalSize]
mov edi, eax
push 0x5a4e98
shr edi, 1
push edi
push ebx
push 0x5218ec
mov dword [ebp - 0x14c], edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
xor esi, esi
inc esi
push esi
push str.SaveSettings
push ebx
call fcn.00411dfc
test eax, eax
cmovne eax, esi
xor esi, esi
push esi
push str.SaveRecentFiles
push ebx
mov dword [0x5adab0], eax
call fcn.00411dfc
push 1
pop ecx
test eax, eax
push esi
cmovne eax, ecx
push str.SaveFindReplace
push ebx
mov dword [0x5adaac], eax
call fcn.00411dfc
push 1
pop ecx
test eax, eax
push esi
cmovne eax, ecx
push str.CloseFind
push ebx
mov dword [0x5adaa8], eax
call fcn.00411dfc
mov ecx, dword [0x5a6608]
test eax, eax
push 1
mov dword [0x5a6604], eax
pop eax
push esi
cmovne ecx, eax
push str.CloseReplace
push ebx
mov dword [0x5a6608], ecx
call fcn.00411dfc
push 1
pop ecx
test eax, eax
push esi
cmovne eax, ecx
push str.NoFindWrap
push ebx
mov dword [0x5a6608], eax
call fcn.00411dfc
add esp, 0x48
test eax, eax
push 1
pop ecx
push 0x104
push 0x5ad8a0
push 0x5209bc
cmovne eax, ecx
push str.OpenWithDir
mov dword [0x5a660c], eax
push ebx
call fcn.00411ea9
add esp, 0x14
test eax, eax
jne 0x41464e
inc eax
push eax
push 0x10
push 0x5ad8a0
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
jmp 0x414665
xor eax, eax
inc eax
push eax
push 0x104
push esi
push 0x5ad8a0
call fcn.00412591
add esp, 0x10
push 0x104
push 0x5ad680
push 0x5209bc
push 0x5219bc
push ebx
call fcn.00411ea9
add esp, 0x14
test eax, eax
jne 0x414698
push 0x5ad680
push esi
push esi
push 5
push esi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
jmp 0x4146af
xor eax, eax
inc eax
push eax
push 0x104
push esi
push 0x5ad680
call fcn.00412591
add esp, 0x10
push esi
push str.PathNameFormat
push ebx
call fcn.00411dfc
push 2
pop ecx
cmp eax, ecx
push esi
cmovl ecx, eax
xor eax, eax
test ecx, ecx
push str.WordWrap
cmovg eax, ecx
push ebx
mov dword [0x5aa174], eax
call fcn.00411dfc
push 1
pop ecx
test eax, eax
push esi
cmovne eax, ecx
push str.WordWrapMode
push ebx
mov dword [0x5aa170], eax
mov dword [0x5aa16c], eax
call fcn.00411dfc
xor edx, edx
inc edx
cmp eax, edx
mov ecx, edx
push esi
cmovl ecx, eax
xor eax, eax
test ecx, ecx
push str.WordWrapIndent
cmovg eax, ecx
push ebx
mov dword [0x5aa168], eax
call fcn.00411dfc
push 6
pop edx
cmp eax, edx
mov ecx, edx
push 0x16
cmovl ecx, eax
xor eax, eax
test ecx, ecx
push str.WordWrapSymbols
cmovg eax, ecx
push ebx
mov dword [0x5aa164], eax
call fcn.00411dfc
add esp, 0x3c
mov dword [ebp - 0x148], eax
cdq
push 0xa
pop ecx
idiv ecx
mov ecx, edx
cmp ecx, 2
jge 0x41475c
test ecx, ecx
jle 0x41475f
mov esi, ecx
jmp 0x41475f
push 2
pop esi
mov eax, dword [ebp - 0x148]
cdq
mov dword [ebp - 0x148], 0x64
idiv dword [ebp - 0x148]
push 0xa
sub edx, ecx
mov eax, edx
cdq
pop ecx
idiv ecx
cmp eax, 2
jge 0x41478d
test eax, eax
jg 0x414790
xor eax, eax
jmp 0x414790
push 2
pop eax
imul eax, eax, 0xa
add eax, esi
xor esi, esi
push esi
push str.ShowWordWrapSymbols
push ebx
mov dword [0x5aa160], eax
call fcn.00411dfc
push 1
pop ecx
push ecx
test eax, eax
push str.MatchBraces
cmovne eax, ecx
push ebx
mov dword [0x5aa15c], eax
call fcn.00411dfc
push 1
pop ecx
test eax, eax
push esi
cmovne eax, ecx
push str.AutoCloseTags
push ebx
mov dword [0x5aa158], eax
call fcn.00411dfc
push 1
pop ecx
test eax, eax
push esi
cmovne eax, ecx
push str.HighlightCurrentLine
push ebx
mov dword [0x5aa150], eax
call fcn.00411dfc
push 1
pop ecx
push ecx
test eax, eax
push str.AutoIndent
cmovne eax, ecx
push ebx
mov dword [0x5aa148], eax
call fcn.00411dfc
push 1
pop ecx
test eax, eax
push esi
cmovne eax, ecx
push str.AutoCompleteWords
push ebx
mov dword [0x5aa154], eax
call fcn.00411dfc
add esp, 0x48
test eax, eax
push 1
pop ecx
push esi
cmovne eax, ecx
push str.ShowIndentGuides
push ebx
mov dword [0x5aa0fc], eax
call fcn.00411dfc
push 1
pop ecx
push ecx
test eax, eax
push str.TabsAsSpaces
cmovne eax, ecx
push ebx
mov dword [0x5aa14c], eax
call fcn.00411dfc
push 1
pop ecx
test eax, eax
push ecx
cmovne eax, ecx
push str.TabIndents
mov dword [0x5aa144], eax
mov dword [0x5aa140], eax
push ebx
call fcn.00411dfc
push 1
pop ecx
test eax, eax
push esi
cmovne eax, ecx
push str.BackspaceUnindents
push ebx
mov dword [0x5aa13c], eax
mov dword [0x5aa138], eax
call fcn.00411dfc
push 1
pop ecx
test eax, eax
push 2
cmovne eax, ecx
push str.TabWidth
push ebx
mov dword [0x5aa134], eax
call fcn.00411dfc
mov esi, 0x100
cmp eax, esi
mov ecx, esi
push 0
cmovl ecx, eax
xor edx, edx
inc edx
cmp ecx, edx
mov eax, edx
push str.IndentWidth
cmovg eax, ecx
push ebx
mov dword [0x5aa130], eax
mov dword [0x5aa12c], eax
call fcn.00411dfc
add esp, 0x48
mov ecx, esi
cmp eax, esi
cmovl ecx, eax
xor eax, eax
test ecx, ecx
push 0
cmovg eax, ecx
push str.MarkLongLines
push ebx
mov dword [0x5aa128], eax
mov dword [0x5aa124], eax
call fcn.00411dfc
push 1
pop esi
test eax, eax
push 0x48
cmovne eax, esi
push str.LongLinesLimit
push ebx
mov dword [0x5aa120], eax
call fcn.00411dfc
mov ecx, 0x1000
cmp eax, ecx
push esi
cmovl ecx, eax
xor eax, eax
test ecx, ecx
push str.LongLineMode
cmovg eax, ecx
push ebx
mov dword [0x5aa11c], eax
mov dword [0x5aa118], eax
call fcn.00411dfc
push 2
pop ecx
cmp eax, ecx
push 0
cmovl ecx, eax
mov eax, esi
cmp ecx, esi
push str.ShowSelectionMargin
cmovg eax, ecx
push ebx
mov dword [0x5aa114], eax
call fcn.00411dfc
test eax, eax
push esi
cmovne eax, esi
push str.ShowLineNumbers
push ebx
mov dword [0x5aa110], eax
call fcn.00411dfc
test eax, eax
push esi
cmovne eax, esi
push str.ShowCodeFolding
push ebx
mov dword [0x5aa10c], eax
call fcn.00411dfc
add esp, 0x48
test eax, eax
cmovne eax, esi
mov dword [0x5aa0f8], eax
push 3
pop esi
push esi
push str.MarkOccurrences
push ebx
call fcn.00411dfc
push 0
push str.MarkOccurrencesMatchCase
push ebx
mov dword [0x5aa108], eax
call fcn.00411dfc
mov dword [0x5aa104], eax
xor eax, eax
inc eax
push eax
push str.MarkOccurrencesMatchWholeWords
push ebx
call fcn.00411dfc
push 0
push str.ViewWhiteSpace
push ebx
mov dword [0x5aa100], eax
call fcn.00411dfc
push 1
pop ecx
test eax, eax
push 0
cmovne eax, ecx
push str.ViewEOLs
push ebx
mov dword [0x5aa0f4], eax
call fcn.00411dfc
push 1
pop ecx
test eax, eax
push 0
cmovne eax, ecx
push str.DefaultEncoding
push ebx
mov dword [0x5aa0f0], eax
call fcn.00411dfc
add esp, 0x48
mov dword [0x5aa0ec], eax
push eax
xor eax, eax
inc eax
push eax
call fcn.004109e0
push eax
mov dword [0x5aa0ec], eax
call fcn.004109dd
mov ecx, dword [0x5aa0ec]
test eax, eax
push 6
pop eax
push 0
cmove ecx, eax
push str.SkipUnicodeDetection
push ebx
mov dword [0x5aa0ec], ecx
call fcn.00411dfc
test eax, eax
push 1
pop ecx
push 0
cmovne eax, ecx
push str.LoadASCIIasUTF8
push ebx
mov dword [0x5aa0e8], eax
call fcn.00411dfc
push 1
pop ecx
push ecx
test eax, eax
push str.LoadNFOasOEM
cmovne eax, ecx
push ebx
mov dword [0x5aa0e4], eax
call fcn.00411dfc
push 1
pop ecx
test eax, eax
push 0
cmovne eax, ecx
push str.NoEncodingTags
push ebx
mov dword [0x5aa0e0], eax
call fcn.00411dfc
push 1
pop ecx
test eax, eax
push 0
cmovne eax, ecx
push str.DefaultEOLMode
push ebx
mov dword [0x5aa0dc], eax
call fcn.00411dfc
add esp, 0x48
push 2
pop ecx
cmp eax, ecx
cmovl ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov dword [0x5aa0d8], eax
xor eax, eax
inc eax
push eax
push str.FixLineEndings
push ebx
call fcn.00411dfc
push 1
pop ecx
test eax, eax
push 0
cmovne eax, ecx
push str.FixTrailingBlanks
push ebx
mov dword [0x5aa0d4], eax
call fcn.00411dfc
push 1
pop ecx
push ecx
test eax, eax
push str.PrintHeader
cmovne eax, ecx
push ebx
mov dword [0x5aa0d0], eax
call fcn.00411dfc
cmp eax, esi
mov ecx, esi
push 0
cmovl ecx, eax
xor eax, eax
test ecx, ecx
push str.PrintFooter
cmovg eax, ecx
push ebx
mov dword [0x5aa0cc], eax
call fcn.00411dfc
xor edx, edx
inc edx
mov ecx, edx
cmp eax, edx
push esi
cmovl ecx, eax
xor eax, eax
test ecx, ecx
push str.PrintColorMode
cmovg eax, ecx
push ebx
mov dword [0x5aa0c8], eax
call fcn.00411dfc
push 4
pop ecx
cmp eax, ecx
push 0xa
cmovl ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov dword [0x5aa0c4], eax
pop eax
push eax
push str.PrintZoom
push ebx
call fcn.00411dfc
add esp, 0x48
add eax, 0xfffffff6
push 0x14
pop edx
cmp eax, edx
mov ecx, edx
push 0xfffffffffffffff6
cmovl ecx, eax
cmovl edx, eax
pop eax
cmp ecx, eax
cmovg eax, edx
or esi, 0xffffffff
push esi
push str.PrintMarginLeft
push ebx
mov dword [0x5aa0c0], eax
call fcn.00411dfc
cmp eax, esi
mov ecx, esi
push esi
cmovg ecx, eax
push str.PrintMarginTop
push ebx
mov dword [0x5aa0b0], ecx
call fcn.00411dfc
cmp eax, esi
mov ecx, esi
push esi
cmovg ecx, eax
push str.PrintMarginRight
push ebx
mov dword [0x5aa0b4], ecx
call fcn.00411dfc
cmp eax, esi
mov ecx, esi
push esi
cmovg ecx, eax
push str.PrintMarginBottom
push ebx
mov dword [0x5aa0b8], ecx
call fcn.00411dfc
cmp eax, esi
cmovg esi, eax
mov dword [0x5aa0bc], esi
xor esi, esi
push esi
push str.SaveBeforeRunningTools
push ebx
call fcn.00411dfc
push 1
pop ecx
test eax, eax
push esi
cmovne eax, ecx
mov dword [0x5aa0a0], eax
push str.FileWatchingMode
push ebx
call fcn.00411dfc
add esp, 0x48
push 2
pop ecx
cmp eax, ecx
cmovl ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov dword [0x5aa09c], eax
xor eax, eax
inc eax
push eax
push str.ResetFileWatching
push ebx
call fcn.00411dfc
push 1
pop ecx
test eax, eax
push esi
cmovne eax, ecx
push str.EscFunction
push ebx
mov dword [0x5aa098], eax
call fcn.00411dfc
push 2
pop ecx
cmp eax, ecx
push esi
cmovl ecx, eax
xor eax, eax
test ecx, ecx
push str.AlwaysOnTop
cmovg eax, ecx
push ebx
mov dword [0x5aa08c], eax
call fcn.00411dfc
push 1
pop ecx
test eax, eax
push esi
cmovne eax, ecx
push str.MinimizeToTray
push ebx
mov dword [0x5aa088], eax
call fcn.00411dfc
push 1
pop ecx
test eax, eax
push esi
cmovne eax, ecx
push str.TransparentMode
push ebx
mov dword [0x5aa084], eax
call fcn.00411dfc
add esp, 0x3c
test eax, eax
push 1
pop esi
push str.SetLayeredWindowAttributes
cmovne eax, esi
push str.User32
mov dword [0x5aa080], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x200
neg eax
push 0x5aa7e0
push 0x5209bc
sbb eax, eax
neg eax
push str.ToolbarButtons
push ebx
mov dword [0x5aa07c], eax
call fcn.00411ea9
push esi
push str.ShowToolbar
push ebx
call fcn.00411dfc
test eax, eax
push esi
cmovne eax, esi
push str.ShowStatusbar
push ebx
mov dword [0x5aa078], eax
call fcn.00411dfc
test eax, eax
push 0x100
cmovne eax, esi
push str.EncodingDlgSizeX
push ebx
mov dword [0x5aa074], eax
call fcn.00411dfc
xor ecx, ecx
mov esi, 0x106
test eax, eax
push esi
cmovg ecx, eax
push str.EncodingDlgSizeY
push ebx
mov dword [0x5aa02c], ecx
call fcn.00411dfc
add esp, 0x44
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push 0x100
push str.RecodeDlgSizeX
push ebx
mov dword [0x5aa028], ecx
call fcn.00411dfc
xor ecx, ecx
test eax, eax
push esi
cmovg ecx, eax
push str.RecodeDlgSizeY
push ebx
mov dword [0x5aa024], ecx
call fcn.00411dfc
xor ecx, ecx
test eax, eax
push 0x19c
cmovg ecx, eax
push str.FileMRUDlgSizeX
push ebx
mov dword [0x5aa020], ecx
call fcn.00411dfc
xor ecx, ecx
test eax, eax
push 0x178
cmovg ecx, eax
push str.FileMRUDlgSizeY
push ebx
mov dword [0x5aa01c], ecx
call fcn.00411dfc
xor ecx, ecx
test eax, eax
push 0x180
cmovg ecx, eax
push str.OpenWithDlgSizeX
push ebx
mov dword [0x5aa018], ecx
call fcn.00411dfc
xor ecx, ecx
test eax, eax
push 0x182
cmovg ecx, eax
push str.OpenWithDlgSizeY
push ebx
mov dword [0x5aa014], ecx
call fcn.00411dfc
add esp, 0x48
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push 0x14e
push str.FavoritesDlgSizeX
push ebx
mov dword [0x5aa010], ecx
call fcn.00411dfc
xor ecx, ecx
test eax, eax
push 0x13c
cmovg ecx, eax
push str.FavoritesDlgSizeY
push ebx
mov dword [0x5aa00c], ecx
call fcn.00411dfc
xor ecx, ecx
test eax, eax
push 0
cmovg ecx, eax
push str.FindReplaceDlgPosX
push ebx
mov dword [0x5aa008], ecx
call fcn.00411dfc
push 0
push str.FindReplaceDlgPosY
push ebx
mov dword [0x5aa004], eax
call fcn.00411dfc
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
add esp, 0x30
mov dword [0x5aa000], eax
push 0x5a4e98
push edi
push ebx
push str.Settings2
call esi
push 0
push str.StickyWindowPosition
push ebx
call fcn.00411dfc
push 1
pop ecx
push 0x40
push 0x5ad3e0
test eax, eax
push 0x522234
cmovne eax, ecx
push str.DefaultExtension
push ebx
mov dword [0x5aa044], eax
call fcn.00411ea9
add esp, 0x20
push str.__t._
push 0x5ad3e0
call dword [sym.imp.SHLWAPI.dll_StrTrimW]
push 0x104
push 0x5ad460
push 0x5209bc
push str.DefaultDirectory
push ebx
call fcn.00411ea9
push 0x2800
push 0
push 0x5aabe0
call fcn.004bd230
push 0x13fe
push 0x5aabe0
push 0x5209bc
push str.FileDlgFilters
push ebx
call fcn.00411ea9
push 0x7d0
push str.FileCheckInverval
push ebx
call fcn.00411dfc
add esp, 0x40
mov dword [0x5aa094], eax
push 0x7d0
push str.AutoReloadTimeout
push ebx
call fcn.00411dfc
add esp, 0xc
mov dword [0x5aa090], eax
push 0x5a4e98
push edi
push ebx
push str.Toolbar_Images
call esi
mov esi, 0x104
mov edi, 0x5209bc
push esi
push 0x5aa5c0
push edi
push str.BitmapDefault
push ebx
call fcn.00411ea9
push esi
push 0x5aa3a0
push edi
push str.BitmapHot
push ebx
call fcn.00411ea9
push esi
push 0x5aa180
push edi
push str.BitmapDisabled
push ebx
call fcn.00411ea9
add esp, 0x3c
cmp dword [0x5a70a4], 0
jne 0x4150a1
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
call esi
mov ebx, eax
xor eax, eax
inc eax
push eax
call esi
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
mov edi, eax
push edi
push ebx
lea eax, [ebp - 0x44]
push str._ix_i_PosX
push eax
call esi
push edi
push ebx
lea eax, [ebp - 0x84]
push str._ix_i_PosY
push eax
call esi
push edi
push ebx
lea eax, [ebp - 0xc4]
push str._ix_i_SizeX
push eax
call esi
push edi
push ebx
lea eax, [ebp - 0x104]
push str._ix_i_SizeY
push eax
call esi
add esp, 0x40
lea eax, [ebp - 0x144]
push edi
push ebx
push str._ix_i_Maximized
push eax
call esi
mov ebx, dword [ebp - 0x150]
add esp, 0x10
push 0x5a4e98
push dword [ebp - 0x14c]
push ebx
push str.Window
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
mov esi, SysReAllocString
lea eax, [ebp - 0x44]
push esi
push eax
push ebx
call fcn.00411dfc
mov dword [0x5aa060], eax
lea eax, [ebp - 0x84]
push esi
push eax
push ebx
call fcn.00411dfc
mov dword [0x5aa064], eax
lea eax, [ebp - 0xc4]
push esi
push eax
push ebx
call fcn.00411dfc
mov dword [0x5aa068], eax
lea eax, [ebp - 0x104]
push esi
push eax
push ebx
call fcn.00411dfc
mov dword [0x5aa06c], eax
lea eax, [ebp - 0x144]
push 0
push eax
push ebx
call fcn.00411dfc
add esp, 0x3c
test eax, eax
push 1
pop ecx
cmovne eax, ecx
mov dword [0x5aa070], eax
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
and dword [0x5a9c84], 0
call dword [sym.imp.KERNEL32.dll_GetACP]
pop edi
pop esi
pop ebx
cmp eax, 0x3a4
je 0x4150e2
cmp eax, 0x3a8
je 0x4150e2
cmp eax, 0x3b5
je 0x4150e2
cmp eax, 0x3b6
je 0x4150e2
cmp eax, 0x551
je 0x4150e2
mov eax, dword [0x5a9c84]
jmp 0x4150e7
mov dword [0x5a9c84], eax
push 2
lea ecx, [ebp - 0x24]
push ecx
push eax
call dword [sym.imp.GDI32.dll_TranslateCharsetInfo]
neg eax
sbb eax, eax
and eax, dword [ebp - 0x24]
mov dword [0x5a9c80], eax
call fcn.00418f6e
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0049badb
leave
ret