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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x670
mov rax, qword [0x1401f7280]
xor rax, rsp
mov qword [rsp + 0x660], rax
mov r12d, ecx
mov r15d, edx
lea rcx, str.DISPLAY
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.GDI32.dll_CreateDCW]
mov edi, 1
mov rbx, rax
test rax, rax
je 0x14005fb56
lea edx, [rdi + 0xb]
mov rcx, rax
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov edx, edi
mov ecx, eax
shl edx, cl
mov rcx, rbx
mov dword [0x1402094d4], edx
lea edx, [rdi + 0x57]
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov rcx, rbx
mov dword [0x1402094d0], eax
call qword [sym.imp.GDI32.dll_DeleteDC]
lea rsi, [0x140208860]
lea r9, [rsp + 0x240]
lea r8, [0x140181e34]
lea rdx, str.INI_Folder
lea rcx, str.Others
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0x104
mov qword [rsp + 0x6a0], r14
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor r13d, r13d
or rbp, 0xffffffffffffffff
cmp word [rsp + 0x240], r13w
je 0x14005fd6f
mov ecx, r13d
nop
movzx eax, word [rsp + rcx + 0x240]
lea rcx, [rcx + 2]
mov word [rsp + rcx + 0x2e], ax
test ax, ax
jne 0x14005fbb0
lea rcx, [rsp + 0x30]
mov edx, 0x25
call fcn.1400f9cdc
test rax, rax
je 0x14005fd37
mov ebx, r13d
mov edi, r13d
lea rcx, [rsp + 0x30]
mov rax, rbp
nop dword [rax]
inc rax
cmp word [rcx + rax*2], bx
jne 0x14005fbf0
lea r14, [0x140209500]
test eax, eax
jle 0x14005fd19
mov rsi, r13
nop dword [rax + rax]
movzx ecx, word [rsp + rsi*2 + 0x30]
cmp cx, 0x25
jne 0x14005fce1
inc ebx
inc rsi
mov rcx, r13
cmp ebx, eax
jge 0x14005fc4f
nop dword [rax + rax]
movzx edx, word [rsp + rsi*2 + 0x30]
cmp dx, 0x25
je 0x14005fc4f
inc ebx
mov word [rsp + rcx*2 + 0x450], dx
inc rcx
inc rsi
cmp ebx, eax
jl 0x14005fc30
add rcx, rcx
cmp rcx, 0x208
jae 0x140060462
mov word [rsp + rcx + 0x450], r13w
lea rdx, [rsp + 0x240]
lea rcx, [rsp + 0x450]
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x14005fceb
movsxd rax, edi
add rax, rax
cmp rax, 0x208
jae 0x14006045c
mov word [rax + r14], r13w
lea rcx, [r14 - 2]
cmp word [rcx + 2], r13w
lea rcx, [rcx + 2]
jne 0x14005fca3
lea r8, [rsp + 0x240]
xor edx, edx
nop dword [rax + rax]
movzx eax, word [r8 + rdx*2]
inc rdx
mov word [rcx + rdx*2 - 2], ax
test ax, ax
jne 0x14005fcc0
mov rdi, rbp
inc rdi
cmp word [r14 + rdi*2], r13w
jne 0x14005fcd5
jmp 0x14005fceb
movsxd rax, edi
inc edi
mov word [r14 + rax*2], cx
inc ebx
lea rcx, [rsp + 0x30]
mov rax, rbp
inc rsi
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], r13w
jne 0x14005fd00
cmp ebx, eax
jl 0x14005fc10
lea rsi, [0x140208860]
movsxd rax, edi
add rax, rax
cmp rax, 0x208
jae 0x140060468
mov word [rax + r14], r13w
mov edi, 1
jmp 0x14005fd55
mov rcx, r13
lea r14, [0x140209500]
movzx eax, word [rsp + rcx + 0x30]
lea rcx, [rcx + 2]
mov word [rcx + r14 - 2], ax
test ax, ax
jne 0x14005fd41
mov rcx, r14
call fcn.1400e8b30
lea rdx, str._si_view64.ini
mov r8, r14
mov rcx, rsi
call fcn.1400f98c8
lea rdx, str.Load_Grayscale
lea rcx, [0x140183aa8]
mov r9, rsi
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.ExifRotate
lea rcx, [0x140183aa8]
mov r9, rsi
mov r8d, edi
mov dword [0x1401fbbf8], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.QuantSmooth
lea rcx, [0x140183aa8]
mov r9, rsi
xor r8d, r8d
mov dword [0x1401fbbfc], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.FitWindowOption
lea rcx, str.Viewing
mov r9, rsi
mov r8d, 5
mov dword [0x1401fbc00], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.UseResample
lea rcx, str.Viewing
mov r9, rsi
mov r8d, edi
mov dword [0x1401f7124], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.UseZoomResample
lea rcx, str.Viewing
mov r9, rsi
mov r8d, edi
mov dword [0x1401f7144], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.UseSharpResample
lea rcx, str.Viewing
mov r9, rsi
xor r8d, r8d
mov dword [0x1401fbc30], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.UseICM
lea rcx, str.Viewing
mov r9, rsi
xor r8d, r8d
mov dword [0x1401fbc38], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.UseICMAlways
lea rcx, str.Viewing
mov r9, rsi
xor r8d, r8d
mov dword [0x1401fbc14], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.UndoLevels
lea rcx, str.Others
mov r9, rsi
mov r8d, 5
mov dword [0x1401fbc18], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.FileSortOrder
lea rcx, str.Others
mov r9, rsi
mov r8d, 9
mov dword [0x1401f717c], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.ZoomFactor
lea rcx, str.Viewing
mov r9, rsi
mov r8d, 0xa
mov dword [0x1401f714c], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.ZoomOption
lea rcx, str.Viewing
mov r9, rsi
xor r8d, r8d
mov dword [0x1401f7178], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov r9, rsi
xor r8d, r8d
mov dword [0x1401fbc68], eax
lea rdx, str.StatusbarMouse
lea rcx, str.Viewing
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.SelSize
lea rcx, str.Viewing
mov r9, rsi
mov r8d, edi
mov dword [0x1401fbbd0], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.Admin_ViewAll
lea rcx, str.Viewing
mov dword [0x1401f7158], eax
call fcn.1400eb050
mov dword [0x1401f712c], eax
cmp eax, 0xfffffc19
jne 0x14005ff9b
lea rdx, str.ViewAll
lea rcx, str.Viewing
mov r9, rsi
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1401f712c], eax
lea rdx, str.UseSingleTrans
lea rcx, str.MultiGIF
mov r9, rsi
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.CenterWindow
lea rcx, str.Others
mov r9, rsi
xor r8d, r8d
mov dword [0x1401fbc1c], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.Dither24BPP
lea rcx, str.Viewing
mov r9, rsi
xor r8d, r8d
mov dword [0x1401fbc20], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.EnableGamma
lea rcx, str.Viewing
mov r9, rsi
xor r8d, r8d
mov dword [0x1401f7130], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1401fbc2c], eax
call fcn.14005c1b0
lea rdx, str.RenameExtension
lea rcx, str.Others
mov r9, rsi
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.RememberWinPos
lea rcx, str.Others
mov r9, rsi
mov r8d, edi
mov dword [0x1401f713c], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.BackColor
lea rcx, str.Viewing
mov r9, rsi
xor r8d, r8d
mov dword [0x1401f7140], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.SelColor
lea rcx, str.Viewing
mov r9, rsi
mov r8d, ebp
mov dword [0x1402094a0], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.MouseWheelBrowsing
lea rcx, str.Others
mov r9, rsi
mov r8d, edi
mov dword [0x1401f7164], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.JumpOnPageKey
lea rcx, str.Others
mov r9, rsi
xor r8d, r8d
mov dword [0x1401f7138], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.MultipageScroll
lea rcx, str.Viewing
mov r9, rsi
mov r8d, edi
mov dword [0x1401fbc08], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.AlwaysOnTop
lea rcx, str.Others
mov r9, rsi
xor r8d, r8d
mov dword [0x1401f7134], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.ContextMenu
lea rcx, str.Viewing
mov r9, rsi
xor r8d, r8d
mov dword [0x1401fbc28], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov r9, rsi
xor r8d, r8d
mov dword [0x1401fbc04], eax
lea rdx, str.ShowFullPath
lea rcx, str.Others
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, [0x140187ed0]
lea rcx, str.Viewing
mov r9, rsi
mov r8d, edi
mov dword [0x1401fbc0c], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.ShowTIFAnnot
lea rcx, str.Others
mov r9, rsi
xor r8d, r8d
mov dword [0x1401fbc24], edi
mov dword [0x1401f7128], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.Size
lea rcx, str.Toolbar
mov r9, rsi
mov r8d, InitCommonControls
mov dword [0x1401fbc10], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.SelectionGrid
lea rcx, str.Viewing
mov r9, rsi
xor r8d, r8d
mov dword [0x1401f711c], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.ShowGrid
lea rcx, str.Viewing
mov r9, rsi
xor r8d, r8d
mov dword [0x1401fbc44], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.GridSize
lea rcx, str.Viewing
mov r9, rsi
mov r8d, 0x40
mov dword [0x1401fbc48], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.ShowMultipageDlg
lea rcx, str.Viewing
mov r9, rsi
xor r8d, r8d
mov dword [0x1401f715c], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.UseMRUFs
lea rcx, str.Others
mov r9, rsi
mov r8d, edi
mov dword [0x1401fbc34], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1401f7148], eax
mov eax, dword [0x1401f717c]
test eax, eax
jns 0x14006027f
mov dword [0x1401f717c], r13d
jmp 0x14006028f
mov ecx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov dword [0x1401f717c], eax
mov eax, dword [0x1401f711c]
cmp eax, 0xc
jge 0x1400602a6
mov dword [0x1401f711c], 0xc
jmp 0x1400602b6
mov edx, 0x80
cmp eax, edx
cmovg eax, edx
mov dword [0x1401f711c], eax
lea rcx, [0x140209720]
call fcn.140059b00
lea r9, [0x140209da0]
lea r8, str.1.00
lea rdx, str.GammaValue
lea rcx, str.Viewing
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 5
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [0x140209da0]
call fcn.1400eeeb0
movsd xmm1, qword [0x140186dd0]
comisd xmm1, xmm0
movsd qword [0x1401f7168], xmm0
ja 0x140060321
movsd xmm1, qword [0x140186e10]
comisd xmm0, xmm1
jbe 0x140060329
movsd qword [0x1401f7168], xmm1
mov eax, dword [0x1401f715c]
cmp eax, 1
cmovl eax, edi
mov dword [0x1401f715c], eax
test r15d, r15d
je 0x140060395
lea rdx, str.xKoord
lea rcx, str.WinPosition
mov r9, rsi
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.yKoord
lea rcx, str.WinPosition
mov r9, rsi
xor r8d, r8d
mov dword [0x1402094cc], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea r8, [0x1402094c8]
lea rdx, [0x1402094cc]
xor ecx, ecx
mov dword [0x1402094c8], eax
call fcn.1400f1500
lea rbx, [0x140208ca0]
mov rax, rbp
nop
inc rax
cmp word [rbx + rax*2], r13w
jne 0x1400603a0
test rax, rax
je 0x1400603b4
test r12d, r12d
je 0x140060428
lea rdx, str.StartOption
lea rcx, str.Others
mov r9, rsi
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
dec eax
je 0x1400603e6
dec eax
jne 0x140060411
lea rdx, str.StartFolder
lea rcx, str.Others
jmp 0x1400603f4
lea rdx, str.OpenDir
lea rcx, [0x140182e78]
lea r8, [0x140181e34]
mov r9, rbx
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0x104
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
inc rbp
cmp word [rbx + rbp*2], r13w
jne 0x140060411
test rbp, rbp
je 0x140060428
mov rcx, rbx
call fcn.1400fbb0c
mov r14, qword [rsp + 0x6a0]
mov rcx, qword [rsp + 0x660]
xor rcx, rsp
call fcn.1400f9a80
lea r11, [rsp + 0x670]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r13
pop r12
pop rdi
pop rsi
ret
call fcn.1400f8f44
int3
call fcn.1400f8f44
int3
call fcn.1400f8f44
int3