Function at 0x4778f0
Capabilities:
Query environment variable
Read .ini file

Disassembly:
sub esp, 0x618
push esi
push edi
push 0
push 0
push 0
push 0x598100
call dword [sym.imp.GDI32.dll_CreateDCW]
mov esi, eax
test esi, esi
je 0x47794d
mov edi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0xc
push esi
call edi
mov edx, 1
mov ecx, eax
shl edx, cl
push 0x58
push esi
mov dword [0x5b8fc4], edx
call edi
push esi
mov dword [0x5b6eb4], eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [0x5b6eb4]
test eax, eax
jne 0x47794d
mov dword [0x5b6eb4], 0x60
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push ebx
push 0x5b9260
lea eax, [esp + 0x218]
push 0x104
push eax
push 0x5aae60
push str.INI_Folder
push str.Others
call edi
cmp word [esp + 0x214], 0
je 0x477acf
lea ecx, [esp + 0x214]
lea edx, [esp + 0xc]
push ecx
push edx
call fcn.004d631b
lea eax, [esp + 0x14]
push 0x25
push eax
call fcn.004d75ed
add esp, 0x10
test eax, eax
je 0x477a9c
lea ecx, [esp + 0xc]
xor esi, esi
push ecx
xor ebx, ebx
call fcn.004d6713
add esp, 4
test eax, eax
jle 0x477a90
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov ax, word [esp + esi*2 + 0x10]
cmp ax, 0x25
jne 0x477a6a
lea edx, [esp + 0x10]
inc esi
push edx
xor edi, edi
call fcn.004d6713
add esp, 4
cmp esi, eax
jge 0x477a18
mov ax, word [esp + esi*2 + 0x10]
cmp ax, 0x25
je 0x477a18
mov word [esp + edi*2 + 0x420], ax
lea eax, [esp + 0x10]
inc edi
push eax
inc esi
call fcn.004d6713
add esp, 4
cmp esi, eax
jl 0x4779f2
lea ecx, [esp + 0x218]
push 0x104
lea edx, [esp + 0x424]
push ecx
push edx
mov word [esp + edi*2 + 0x42c], 0
call ebp
test eax, eax
je 0x477a73
lea eax, [esp + 0x218]
mov word [ebx*2 + 0x5b9480], 0
push eax
push 0x5b9480
call fcn.004d62f1
push 0x5b9480
call fcn.004d6713
add esp, 0xc
mov ebx, eax
jmp 0x477a73
mov word [ebx*2 + 0x5b9480], ax
inc ebx
lea ecx, [esp + 0x10]
inc esi
push ecx
call fcn.004d6713
add esp, 4
cmp esi, eax
jl 0x4779cf
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
pop ebp
mov word [ebx*2 + 0x5b9480], 0
jmp 0x477aae
lea edx, [esp + 0xc]
push edx
push 0x5b9480
call fcn.004d631b
add esp, 8
push 0x5b9480
call fcn.004c7a80
push 0x5b9480
push str._si_view32.ini
push 0x5b9260
call fcn.004d5ee1
add esp, 0x10
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push 0x5b9260
push 0
push str.EnableLoadGray
push 0x59814c
call esi
mov ebx, 1
cmp eax, ebx
jne 0x477b09
push 0x5b9260
push 0
push str.Load_Grayscale
push 0x59814c
call esi
mov dword [0x5b55bc], eax
push 0x5b9260
push ebx
push str.ExifRotate
push 0x59814c
call esi
push 0x5b9260
push 0
push str.QuantSmooth
push 0x59814c
mov dword [0x5b55c0], eax
call esi
push 0x5b9260
push 5
push str.FitWindowOption
push str.Viewing
mov dword [0x5b55c4], eax
call esi
push 0x5b9260
push ebx
push str.UseResample
push str.Viewing
mov dword [0x59f71c], eax
call esi
push 0x5b9260
push ebx
push str.UseZoomResample
push str.Viewing
mov dword [0x59f73c], eax
call esi
push 0x5b9260
push 0
push str.UseSharpResample
push str.Viewing
mov dword [0x5b55f4], eax
call esi
push 0x5b9260
push 0
push str.UseICM
push str.Viewing
mov dword [0x5b55fc], eax
call esi
push 0x5b9260
push 0
push str.UseICMAlways
push str.Viewing
mov dword [0x5b55d8], eax
call esi
push 0x5b9260
push 5
push str.UndoLevels
push str.Others
mov dword [0x5b55dc], eax
call esi
push 0x5b9260
push 9
push str.FileSortOrder
push str.Others
mov dword [0x59f77c], eax
call esi
push 0x5b9260
push 0xa
push str.ZoomFactor
push str.Viewing
mov dword [0x59f744], eax
call esi
push 0x5b9260
push 0
push str.ZoomOption
push str.Viewing
mov dword [0x59f778], eax
call esi
push 0x5b9260
push 0
push str.StatusbarMouse
push str.Viewing
mov dword [0x5b5638], eax
call esi
push 0x5b9260
push ebx
mov dword [0x5b5594], eax
push str.SelSize
push str.Viewing
call esi
push 0x5b9260
push 0
push str.PasteSel
push str.Others
mov dword [0x59f750], eax
call esi
push str.Admin_ViewAll
push str.Viewing
mov dword [0x5b5614], eax
call fcn.004c56d0
add esp, 8
cmp eax, 0xfffffc19
mov dword [0x59f724], eax
jne 0x477ca2
push 0x5b9260
push ebx
push str.ViewAll
push str.Viewing
call esi
mov dword [0x59f724], eax
push 0x5b9260
push 0
push str.UseSingleTrans
push str.MultiGIF
call esi
push 0x5b9260
push 0
push str.CenterWindow
push str.Others
mov dword [0x5b55e0], eax
call esi
push 0x5b9260
push 0
push str.Dither24BPP
push str.Viewing
mov dword [0x5b55e4], eax
call esi
push 0x5b9260
push 0
push str.EnableGamma
push str.Viewing
mov dword [0x59f728], eax
call esi
push 0x5b9260
push 0
push str.DarkMode
push str.Viewing
mov dword [0x5b55f0], eax
call esi
mov dword [0x5b561c], eax
call fcn.00477890
push 0x5b9260
push ebx
push str.RenameExtension
push str.Others
call esi
push 0x5b9260
push ebx
push str.RememberWinPos
push str.Others
mov dword [0x59f734], eax
call esi
push 0x5b9260
push 0
push str.BackColor
push str.Viewing
mov dword [0x59f738], eax
call esi
push 0x5b9260
push 0xffffffffffffffff
push str.SelColor
push str.Viewing
mov dword [0x5ba148], eax
call esi
push 0x5b9260
push ebx
push str.MouseWheelBrowsing
push str.Others
mov dword [0x59f768], eax
call esi
push 0x5b9260
push 0
push str.JumpOnPageKey
push str.Others
mov dword [0x59f730], eax
call esi
push 0x5b9260
push ebx
push str.MultipageScroll
push str.Viewing
mov dword [0x5b55cc], eax
call esi
push 0x5b9260
push 0
push str.AlwaysOnTop
push str.Others
mov dword [0x59f72c], eax
call esi
push 0x5b9260
mov dword [0x5b55ec], eax
push 0
push str.ContextMenu
push str.Viewing
call esi
push 0x5b9260
push 0
push str.ShowFullPath
push str.Others
mov dword [0x5b55c8], eax
call esi
push 0x5b9260
push ebx
push 0x59fa88
push str.Viewing
mov dword [0x5b55d0], eax
call esi
push 0x5b9260
push 0
push str.ShowTIFAnnot
push str.Others
mov dword [0x59f720], eax
mov dword [0x5b55e8], ebx
call esi
push 0x5b9260
push 0x10
push str.Size
push str.Toolbar
mov dword [0x5b55d4], eax
call esi
push 0x5b9260
push 0
push str.SelectionGrid
push str.Viewing
mov dword [0x59f714], eax
call esi
push 0x5b9260
push 0
push str.InvertSel
push 0x59aa2c
mov dword [0x5b5608], eax
call esi
push 0x5b9260
push 0
push str.ShowGrid
push str.Viewing
mov dword [0x5b5610], eax
call esi
push 0x5b9260
push 0x40
push str.GridSize
push str.Viewing
mov dword [0x5b560c], eax
call esi
push 0x5b9260
push 0
push str.ShowMultipageDlg
push str.Viewing
mov dword [0x59f754], eax
call esi
push 0x5b9260
push ebx
push str.UseMRUFs
push str.Others
mov dword [0x5b55f8], eax
call esi
mov dword [0x59f740], eax
mov eax, dword [0x59f77c]
test eax, eax
jge 0x477efc
mov dword [0x59f77c], 0
jmp 0x477f0b
cmp eax, 0x14
jle 0x477f0b
mov dword [0x59f77c], 0x14
mov eax, dword [0x59f714]
cmp eax, 0xc
jge 0x477f21
mov dword [0x59f714], 0xc
jmp 0x477f32
cmp eax, 0x80
jle 0x477f32
mov dword [0x59f714], 0x80
push 0x5b9d20
call fcn.004777d0
add esp, 4
push 0x5b9260
push 5
push 0x5b6fc0
push str.1.00
push str.GammaValue
push str.Viewing
call edi
push 0x5b6fc0
call fcn.004c5910
fstp qword [0x59f760]
fld qword [0x59f760]
fcomp qword [0x552858]
add esp, 4
fnstsw ax
test ah, 5
jp 0x477f98
mov dword [0x59f760], 0x47ae147b
mov dword [0x59f764], 0x3f847ae1
jmp 0x477fc1
fld qword [0x59f760]
fcomp qword [0x552850]
fnstsw ax
and eax, 0x4100
jne 0x477fc1
mov dword [0x59f760], 0x8f5c28f6
mov dword [0x59f764], 0x401bf5c2
cmp dword [0x59f754], ebx
jge 0x477fcf
mov dword [0x59f754], ebx
mov eax, dword [esp + 0x62c]
pop ebx
test eax, eax
je 0x47801f
push 0x5b9260
push 0
push str.xKoord
push str.WinPosition
call esi
push 0x5b9260
push 0
push str.yKoord
push str.WinPosition
mov dword [0x5b6ed0], eax
call esi
push 0x5b6fb0
push 0x5b6ed0
push 0
mov dword [0x5b6fb0], eax
call fcn.004c4de0
add esp, 0xc
push 0x5b9040
call fcn.004d6713
add esp, 4
test eax, eax
je 0x47803b
mov eax, dword [esp + 0x624]
test eax, eax
je 0x4780b2
push 0x5b9260
push 0
push str.StartOption
push str.Others
call esi
dec eax
je 0x478074
dec eax
jne 0x478094
push 0x5b9260
push 0x104
push 0x5b9040
push 0x5aae60
push str.StartFolder
push str.Others
jmp 0x478092
push 0x5b9260
push 0x104
push 0x5b9040
push 0x5aae60
push str.OpenDir
push 0x59ba00
call edi
push 0x5b9040
call fcn.004d6713
add esp, 4
test eax, eax
jbe 0x4780b2
push 0x5b9040
call fcn.004d7731
add esp, 4
pop edi
pop esi
add esp, 0x618
ret