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

Disassembly:
push 0x87c
mov eax, 0x556c3c
call fcn.0052faf2
push dword [edi + 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push 0
push str.FileFormat
mov ebx, str.Save
push ebx
call esi
push dword [edi + 0x18]
mov dword [edi + 0xa4], eax
push 0
push str.StartNum
push ebx
call esi
push dword [edi + 0x18]
mov dword [edi + 0xb8], eax
push 0x104
lea eax, [ebp - 0x268]
push eax
push 0x5883b4
push str.Prefix
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x268]
lea ecx, [edi + 0xa8]
push eax
call fcn.00401d89
push dword [edi + 0x18]
push 0
push str.TargetFolderIndex
push ebx
call esi
mov dword [edi + 0xac], eax
test eax, eax
jne 0x422f05
push eax
push 5
lea eax, [ebp - 0x880]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x880]
lea ecx, [edi + 0xb0]
push eax
call fcn.00401d89
jmp 0x423061
cmp eax, 1
jne 0x422f41
lea ebx, [ebp - 0x884]
call fcn.0042968a
and dword [ebp - 4], 0
lea ecx, [edi + 0xb0]
push eax
call fcn.00401ee1
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x884]
add ecx, 0xfffffff0
call fcn.004021a7
mov ebx, str.Save
jmp 0x423061
cmp eax, 2
jne 0x423061
push dword [edi + 0x18]
lea eax, [ebp - 0x268]
push 0x104
push eax
push 0x587cac
push str.TargetFolder
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x268]
lea ecx, [edi + 0xb0]
push eax
call fcn.00401d89
push dword [edi + 0x18]
lea eax, [ebp - 0x268]
push 0x104
push eax
push 0x587cac
push str.UserDefFolder
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x268]
lea ecx, [edi + 0xb4]
push eax
call fcn.00401d89
lea eax, [ebp - 0x268]
push eax
lea ecx, [ebp - 0x884]
call fcn.00401daf
push 0
push str._Temp
lea ecx, [ebp - 0x884]
mov dword [ebp - 4], 1
call fcn.00406fa0
cmp eax, 0xffffffff
je 0x42304f
lea esi, [ebp - 0x888]
call fcn.0042b026
push eax
lea ecx, [ebp - 0x884]
mov byte [ebp - 4], 2
call fcn.00401ee1
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x888]
add ecx, 0xfffffff0
call fcn.004021a7
push dword [ebp - 0x884]
call fcn.0042adb1
pop ecx
test eax, eax
jne 0x423020
call fcn.0042ad6d
lea eax, [ebp - 0x884]
push eax
lea ecx, [edi + 0xb0]
call fcn.00401ee1
lea eax, [ebp - 0x884]
push eax
lea ecx, [edi + 0xb4]
call fcn.00401ee1
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ebx, str.Save
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x884]
add ecx, 0xfffffff0
call fcn.004021a7
mov ecx, dword [edi + 0xb0]
xor eax, eax
cmp dword [ecx - 0xc], eax
jne 0x423098
push eax
push 5
lea ecx, [ebp - 0x678]
push ecx
push eax
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x678]
push eax
lea ecx, [edi + 0xb0]
call fcn.00401d89
and dword [edi + 0xac], 0
push dword [edi + 0x18]
push 0x4b
push str.JpgQuality
push ebx
call esi
push dword [edi + 0x18]
mov dword [edi + 0xbc], eax
push 0
push str.TiffByteOrder
push ebx
call esi
push dword [edi + 0x18]
mov dword [edi + 0xc0], eax
push 0
push str.TiffCompress
push ebx
call esi
push dword [edi + 0x18]
mov dword [edi + 0xc4], eax
push 0
push str.ProjectID
push ebx
call esi
push dword [edi + 0x18]
mov ebx, str.General
push 0
push str.DocType
push ebx
mov dword [edi + 0xc8], eax
call esi
mov dword [edi + 0x64], eax
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x470], ax
lea eax, [ebp - 0x46e]
push eax
call fcn.0052bfd0
add esp, 0xc
push dword [edi + 0x18]
lea eax, [ebp - 0x470]
push 0x104
push eax
push 0x587cac
push str.StrDocType
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x470]
push eax
lea ecx, [edi + 0x68]
call fcn.00401d89
push dword [edi + 0x18]
push 0
push str.ShowUI
push ebx
call esi
mov dword [edi + 0x5c], eax
test eax, eax
je 0x423164
mov dword [edi + 0x94], 0xa
push dword [edi + 0x18]
push 0
push str.ImageType
push ebx
call esi
push dword [edi + 0x18]
mov dword [edi + 0x80], eax
push 0
push str.DocSize
push ebx
call esi
push dword [edi + 0x18]
mov dword [edi + 0x74], eax
push 0x14
lea eax, [ebp - 0x60]
push eax
push str.8.500000
push str.Width
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push dword [edi + 0x18]
lea eax, [ebp - 0x38]
push 0x14
push eax
push str.11.000000
push str.Height
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea ecx, [ebp - 0x60]
call fcn.00429825
fstp dword [edi + 0x78]
lea ecx, [ebp - 0x38]
call fcn.00429825
fstp dword [edi + 0x7c]
push dword [edi + 0x18]
push 0
push str.Resolution
push ebx
call esi
push dword [edi + 0x18]
mov dword [edi + 0x70], eax
push 1
push str.QualityIndex
push ebx
call esi
push dword [edi + 0x18]
mov dword [edi + 0x6c], eax
push 0
push str.Orientation
push ebx
call esi
push dword [edi + 0x18]
mov dword [edi + 0x98], eax
push 0
push str.DocSource
push ebx
call esi
push dword [edi + 0x18]
mov ebx, str.Advanced
push 0
push 0x5885a8
push ebx
mov dword [edi + 0x9c], eax
call esi
push dword [edi + 0x18]
mov dword [edi + 0x88], eax
push 0
push str.UnsharpMask
push ebx
call esi
push dword [edi + 0x18]
mov dword [edi + 0x8c], eax
push 0
push str.Descreen
push ebx
call esi
mov dword [edi + 0x90], eax
xor eax, eax
inc eax
call fcn.0052fb75
ret