Function at 0x140018bf0
Capabilities:
Check if file exists
Get file attributes
Read .ini file

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0xa68
mov qword [rsp + 0xa10], 0xfffffffffffffffe
mov rax, qword [0x1402aa808]
xor rax, rsp
mov qword [rsp + 0xa50], rax
lea rdx, str.CMasterSetup::GetInitInfo______________________________IN._n
mov ecx, 5
call fcn.14001c160
cmp qword [rsp + 0xa78], 0
je 0x140018c4f
mov rax, qword [rsp + 0xa70]
mov rcx, qword [rsp + 0xa78]
mov qword [rax + 0x20], rcx
lea rcx, [rsp + 0x980]
call fcn.140001cf0
nop
lea rcx, [rsp + 0x490]
call fcn.140065c10
nop
cmp dword [rsp + 0x54c], 0
je 0x140018c90
lea r8, [0x1401ead08]
mov edx, 6
lea rcx, [rsp + 0x270]
call fcn.1401ac9a0
jmp 0x140018cb3
cmp dword [rsp + 0x550], 0
je 0x140018cb3
lea r8, [0x1401ead18]
mov edx, 6
lea rcx, [rsp + 0x270]
call fcn.1401ac9a0
call fcn.140018340
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0x101
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rax + 0xd0]
call fcn.1401ab004
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x980]
call fcn.1400185f0
xor edx, edx
lea rcx, [rsp + 0x980]
call fcn.140001da0
mov qword [rsp + 0x40], 0x101
lea rcx, [rsp + 0x770]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], 0x101
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.1401ab004
lea rdx, [rsp + 0x270]
lea rcx, [rsp + 0x770]
call fcn.1401ac890
test eax, eax
jne 0x140018dc9
call fcn.140018340
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0x105
lea r9, [rsp + 0x280]
mov r8d, 4
lea rdx, [rsp + 0x58]
mov rcx, qword [rax + 0xd0]
call fcn.1401ab004
jmp 0x140018e1b
call fcn.140018340
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0x101
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 0x105
lea r9, [rsp + 0x280]
mov r8d, 4
lea rdx, [rsp + 0x58]
mov rcx, qword [rax + 0xd0]
call fcn.1401ab004
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x980]
call fcn.1400185f0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x980]
call fcn.14000fd10
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x980]
call fcn.14000fd10
lea rdx, [0x1401ead28]
lea rcx, [rsp + 0x980]
call fcn.14000fd10
mov r8, qword [rsp + 0x980]
lea rdx, str.CMasterSetupIF::GetInitInfo_strIniFile___1_s__n
mov ecx, 4
call fcn.14001c160
xor edx, edx
lea rcx, [rsp + 0x980]
call fcn.140001da0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140018f11
xor edx, edx
lea rcx, [rsp + 0x980]
call fcn.140001da0
mov r9, rax
xor r8d, r8d
lea rdx, str.SetPrinterLang
lea rcx, str.EXIF_Default
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x140018ed5
mov byte [rsp + 0xa18], 1
jmp 0x140018edd
mov byte [rsp + 0xa18], 0
mov rax, qword [rsp + 0xa70]
movzx ecx, byte [rsp + 0xa18]
mov byte [rax + 0x68], cl
mov rax, qword [rsp + 0xa70]
movzx eax, byte [rax + 0x68]
mov r8d, eax
lea rdx, str.CMasterSetupIF::GetInitInfo_IniFile_exist._SetPrinterLang_1_d__n
mov ecx, 4
call fcn.14001c160
nop
lea rcx, [rsp + 0x490]
call fcn.140066f20
nop
lea rcx, [rsp + 0x980]
call fcn.140001d50
cmp dword [0x1402b6fcc], 3
jge 0x140018f84
mov rax, qword [rsp + 0xa70]
mov rax, qword [rax + 0x20]
mov dword [rax + 0x10], 0
mov rax, qword [rsp + 0xa70]
mov rax, qword [rax + 0x20]
mov dword [rax + 0x14], 0
lea rdx, str.CMasterSetup::GetInitInfo_commandline_arguments_are_too_few._n
mov ecx, 2
call fcn.14001c160
lea rdx, [0x1401eaef0]
mov ecx, 5
call fcn.14001c160
xor al, al
jmp 0x140019513
lea rcx, [0x1401eaf70]
call fcn.1401abfb8
mov r8, rax
lea rdx, [0x1401eaf80]
mov rax, qword [0x1402b6fd8]
mov rcx, qword [rax + 0x10]
call fcn.1401aaf6c
test eax, eax
jne 0x140019500
mov rax, qword [rsp + 0xa70]
mov byte [rax + 8], 1
mov rax, qword [rsp + 0xa70]
mov byte [rax + 9], 0
mov rax, qword [rsp + 0xa70]
mov byte [rax + 0xa], 1
mov rax, qword [rsp + 0xa70]
mov byte [rax + 0xb], 1
mov rax, qword [rsp + 0xa70]
mov byte [rax + 0xc], 1
mov rax, qword [rsp + 0xa70]
mov byte [rax + 0xd], 0
mov rax, qword [rsp + 0xa70]
mov byte [rax + 0xe], 0
mov rax, qword [rsp + 0xa70]
mov rax, qword [rax + 0x20]
mov dword [rax + 0x14], 0
mov rax, qword [rsp + 0xa70]
mov rax, qword [rax + 0x20]
mov dword [rax + 0x10], 1
mov rax, qword [rsp + 0xa70]
add rax, 0x28
mov rcx, qword [0x1402b6fd8]
mov rdx, qword [rcx + 0x10]
mov rcx, rax
call fcn.140010520
mov rax, qword [rsp + 0xa70]
add rax, 0x28
mov rcx, rax
call fcn.140003530
mov r8, rax
lea rdx, str.CMasterSetupIF::GetInitInfo_m_strMIParam____1_s___n
mov ecx, 4
call fcn.14001c160
mov dword [rsp + 0x988], 2
jmp 0x140019090
mov eax, dword [rsp + 0x988]
inc eax
mov dword [rsp + 0x988], eax
mov eax, dword [0x1402b6fcc]
cmp dword [rsp + 0x988], eax
jge 0x1400193ea
lea rcx, [rsp + 0x9a0]
call fcn.140001cf0
nop
movsxd rax, dword [rsp + 0x988]
mov rcx, qword [0x1402b6fd8]
mov rdx, qword [rcx + rax*8]
lea rcx, [rsp + 0x9a0]
call fcn.1400185f0
xor r8d, r8d
lea rdx, str.HANDLE
lea rcx, [rsp + 0x9a0]
call fcn.14001a080
test eax, eax
jl 0x1400191c5
movsxd rax, dword [rsp + 0x988]
mov rcx, qword [0x1402b6fd8]
mov r9, qword [rcx + rax*8]
mov r8d, dword [rsp + 0x988]
lea rdx, [0x1401eb010]
mov ecx, 4
call fcn.14001c160
xor r8d, r8d
mov dx, 0x3d
lea rcx, [rsp + 0x9a0]
call fcn.1400018d0
inc eax
mov r8d, eax
lea rdx, [rsp + 0x9f8]
lea rcx, [rsp + 0x9a0]
call fcn.14001a130
mov qword [rsp + 0xa20], rax
mov rax, qword [rsp + 0xa20]
mov qword [rsp + 0xa28], rax
mov rdx, qword [rsp + 0xa28]
lea rcx, [rsp + 0x9a0]
call fcn.140001d70
nop
lea rcx, [rsp + 0x9f8]
call fcn.140001d50
xor edx, edx
lea rcx, [rsp + 0x9a0]
call fcn.140001da0
mov qword [rsp + 0x990], rax
mov r8d, 0x10
lea rdx, [rsp + 0x998]
mov rcx, qword [rsp + 0x990]
call fcn.1401ad178
mov eax, eax
mov rcx, qword [rsp + 0xa70]
mov qword [rcx + 0x50], rax
xor r8d, r8d
lea rdx, str.MSGID
lea rcx, [rsp + 0x9a0]
call fcn.14001a080
test eax, eax
jl 0x1400192b6
movsxd rax, dword [rsp + 0x988]
mov rcx, qword [0x1402b6fd8]
mov r9, qword [rcx + rax*8]
mov r8d, dword [rsp + 0x988]
lea rdx, [0x1401eb090]
mov ecx, 4
call fcn.14001c160
xor r8d, r8d
mov dx, 0x3d
lea rcx, [rsp + 0x9a0]
call fcn.1400018d0
inc eax
mov r8d, eax
lea rdx, [rsp + 0xa00]
lea rcx, [rsp + 0x9a0]
call fcn.14001a130
mov qword [rsp + 0xa30], rax
mov rax, qword [rsp + 0xa30]
mov qword [rsp + 0xa38], rax
mov rdx, qword [rsp + 0xa38]
lea rcx, [rsp + 0x9a0]
call fcn.140001d70
nop
lea rcx, [rsp + 0xa00]
call fcn.140001d50
xor edx, edx
lea rcx, [rsp + 0x9a0]
call fcn.140001da0
mov qword [rsp + 0x990], rax
mov r8d, 0x10
lea rdx, [rsp + 0x998]
mov rcx, qword [rsp + 0x990]
call fcn.1401ad178
mov rcx, qword [rsp + 0xa70]
mov dword [rcx + 0x58], eax
xor r8d, r8d
lea rdx, str.INSTNUM
lea rcx, [rsp + 0x9a0]
call fcn.14001a080
test eax, eax
jl 0x1400193aa
movsxd rax, dword [rsp + 0x988]
mov rcx, qword [0x1402b6fd8]
mov r9, qword [rcx + rax*8]
mov r8d, dword [rsp + 0x988]
lea rdx, str.CMasterSetupIF::GetInitInfo___targv__1_d______2_s___n
mov ecx, 4
call fcn.14001c160
xor r8d, r8d
mov dx, 0x3d
lea rcx, [rsp + 0x9a0]
call fcn.1400018d0
inc eax
mov r8d, eax
lea rdx, [rsp + 0xa08]
lea rcx, [rsp + 0x9a0]
call fcn.14001a130
mov qword [rsp + 0xa40], rax
mov rax, qword [rsp + 0xa40]
mov qword [rsp + 0xa48], rax
mov rdx, qword [rsp + 0xa48]
lea rcx, [rsp + 0x9a0]
call fcn.140001d70
nop
lea rcx, [rsp + 0xa08]
call fcn.140001d50
xor edx, edx
lea rcx, [rsp + 0x9a0]
call fcn.140001da0
mov qword [rsp + 0x990], rax
mov r8d, 0x10
lea rdx, [rsp + 0x998]
mov rcx, qword [rsp + 0x990]
call fcn.1401ad178
mov eax, eax
mov rcx, qword [rsp + 0xa70]
mov qword [rcx + 0x60], rax
xor r8d, r8d
lea rdx, str._EASY
lea rcx, [rsp + 0x9a0]
call fcn.14001a080
test eax, eax
jl 0x1400193d8
mov rax, qword [rsp + 0xa70]
mov rax, qword [rax + 0x20]
mov dword [rax + 0x14], 1
lea rcx, [rsp + 0x9a0]
call fcn.140001d50
jmp 0x140019080
mov rax, qword [rsp + 0xa70]
mov dword [rax + 0x10], 1
lea rcx, [rsp + 0x9b0]
call fcn.14004e630
nop
mov qword [rsp + 0x9a8], 0
mov rax, qword [0x1402b6fd8]
mov r8, qword [rax + 8]
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x9b0]
call fcn.14004ca50
test rax, rax
je 0x1400194f3
mov dword [rsp + 0x9f4], 0
mov dword [rsp + 0x9f0], 0
lea rdx, str.PRIMARY_LANGID
lea rcx, [rsp + 0x9b0]
call fcn.14004e6e0
mov qword [rsp + 0x9a8], rax
cmp qword [rsp + 0x9a8], 0
je 0x140019489
mov rax, qword [rsp + 0x9a8]
mov eax, dword [rax]
mov dword [rsp + 0x9f4], eax
lea rdx, str.SUB_LANGID
lea rcx, [rsp + 0x9b0]
call fcn.14004e6e0
mov qword [rsp + 0x9a8], rax
cmp qword [rsp + 0x9a8], 0
je 0x1400194c1
mov rax, qword [rsp + 0x9a8]
mov eax, dword [rax]
mov dword [rsp + 0x9f0], eax
movzx eax, word [rsp + 0x9f0]
shl eax, 0xa
movzx ecx, word [rsp + 0x9f4]
or eax, ecx
mov rcx, qword [rsp + 0xa70]
mov word [rcx + 0x18], ax
mov eax, 9
mov rcx, qword [rsp + 0xa70]
mov word [rcx + 0x1a], ax
lea rcx, [rsp + 0x9b0]
call fcn.14004e690
lea rdx, str.CMasterSetup::GetInitInfo______________________________OUT._n
mov ecx, 5
call fcn.14001c160
mov al, 1
mov rcx, qword [rsp + 0xa50]
xor rcx, rsp
call fcn.1401ab2d0
add rsp, 0xa68
ret