Function at 0x140006360
Capabilities:
Check if file exists
Get common file path
Get file attributes
Get program files directory
Identify system language via api
Persist via run registry key
Read .ini file

Disassembly:
mov word [rsp + 0x20], r9w
mov word [rsp + 0x18], r8w
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
mov eax, 0x3e98
call fcn.1401ad200
sub rsp, rax
mov qword [rsp + 0x3d98], 0xfffffffffffffffe
mov rax, qword [0x1402aa808]
xor rax, rsp
mov qword [rsp + 0x3e80], rax
lea rax, [rsp + 0x28b8]
lea rcx, str.LANGUAGES
mov rdi, rax
mov rsi, rcx
mov ecx, 0x14
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x24f8]
lea rcx, [0x1401df5f0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2480]
lea rcx, str.ServicePacks
mov rdi, rax
mov rsi, rcx
mov ecx, 0x1a
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2208]
lea rcx, [0x1401df620]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x1c
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2ba8]
lea rcx, [0x1401df640]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x1a
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x21b0]
lea rcx, str.DriverInstallerNames
mov rdi, rax
mov rsi, rcx
mov ecx, 0x2a
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2178]
lea rcx, str.DriverUninstallerDir
mov rdi, rax
mov rsi, rcx
mov ecx, 0x2a
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xf8]
lea rcx, str.ReadmeInfo
mov rdi, rax
mov rsi, rcx
mov ecx, 0x16
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2b88]
lea rcx, str.PushScanEvent
mov rdi, rax
mov rsi, rcx
mov ecx, 0x1c
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2250]
lea rcx, str.Function
mov rdi, rax
mov rsi, rcx
mov ecx, 0x12
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x28a0]
lea rcx, str.Uninstaller
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2b80]
lea rcx, [0x1401df728]
mov rdi, rax
mov rsi, rcx
mov ecx, 6
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x24d0]
lea rcx, str.CdromStatusCheck
mov rdi, rax
mov rsi, rcx
mov ecx, 0x22
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x21e0]
call fcn.140003370
nop
lea rcx, [rsp + 0x2b58]
call fcn.140003370
nop
lea rcx, [rsp + 0x130]
call fcn.140003370
nop
lea rcx, [rsp + 0x2228]
call fcn.140003370
nop
lea rcx, [rsp + 0x110]
call fcn.140010b40
nop
lea rcx, [rsp + 0x25c0]
call fcn.140065c10
nop
lea rcx, [rsp + 0x24a0]
call fcn.140061270
nop
lea rcx, [rsp + 0x2510]
call sym.Setup.exe_public:_void___cdecl_CDeviceInfSection::constructor_void____ptr64
nop
lea rcx, [rsp + 0x29a0]
call sym.Setup.exe_public:_void___cdecl_CDeviceInfSection::constructor_void____ptr64
nop
lea rcx, [rsp + 0x28e0]
call sym.Setup.exe_public:_void___cdecl_CDeviceInfSection::constructor_void____ptr64
nop
mov dword [rsp + 0x21a8], 0
mov dword [rsp + 0x2b50], 0
lea rdx, str.CInitInfoStorage::Init________________________IN_n
mov ecx, 4
call fcn.14001c160
mov rax, qword [rsp + 0x3eb0]
cmp dword [rax + 0x554], 0
je 0x1400065e9
lea rdx, str.CInitInfoStorage::Init_This_class_instance_has_been_already_initialized._n
mov ecx, 2
call fcn.14001c160
jmp 0x14000a974
cmp qword [rsp + 0x3eb8], 0
jne 0x14000660a
lea rdx, [0x1401df8b0]
mov ecx, 2
call fcn.14001c160
jmp 0x14000a974
mov rcx, qword [rsp + 0x3eb8]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140006654
mov rax, qword [rsp + 0x3eb0]
add rax, 0x58
mov r8, qword [rsp + 0x3eb8]
mov edx, 1
mov rcx, rax
call fcn.1400061c0
lea rdx, str.CInitInfoStorage::Init_Parameter_pIniFile_is_invalid._n
mov ecx, 2
call fcn.14001c160
jmp 0x14000a974
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 + 0x2270]
mov r8d, 4
lea rdx, [rsp + 0x2170]
mov rcx, qword [rsp + 0x3eb8]
call fcn.1401ab004
mov rax, qword [rsp + 0x3eb0]
add rax, 0xb0
lea rdx, [rsp + 0x2170]
mov rcx, rax
call fcn.140010520
mov rax, qword [rsp + 0x3eb0]
add rax, 0xb0
lea rdx, [rsp + 0x2270]
mov rcx, rax
call fcn.140010580
mov r9, qword [rsp + 0x3eb8]
xor r8d, r8d
lea rdx, str.EnableVisualStyle
lea rcx, [rsp + 0x24f8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
jne 0x140006759
mov qword [rsp + 0x2bc8], 0
lea rcx, [0x1401df7e8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x2bd0], rax
cmp qword [rsp + 0x2bd0], 0
je 0x140006759
lea rdx, str.SetThemeAppProperties
mov rcx, qword [rsp + 0x2bd0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x2bc8], rax
mov ecx, 1
call qword [rsp + 0x2bc8]
lea r9, [rsp + 0x28b8]
xor r8d, r8d
mov rdx, qword [rsp + 0x3eb8]
lea rcx, [rsp + 0x29a0]
call sym.Setup.exe_public:_int___cdecl_CDeviceInfSection::Init_wchar_t_const____ptr64__class_CInfStringTable____ptr64__wchar_t_const____ptr64____ptr64
test eax, eax
je 0x140007718
lea rax, [fcn.1400612b0]
mov qword [rsp + 0x20], rax
lea r9, [fcn.140061270]
mov r8d, 3
mov edx, 0x30
lea rcx, [rsp + 0x2be0]
call fcn.1401ad184
nop
lea rcx, [rsp + 0x29a0]
call sym.Setup.exe_public:_int___cdecl_CDeviceInfSection::GetList_void____ptr64
movzx eax, word [rsp + 0x3ec0]
mov word [rsp + 0x2bd8], ax
movzx eax, word [rsp + 0x2bd8]
test eax, eax
jne 0x14000685f
mov r9, qword [rsp + 0x3eb8]
xor r8d, r8d
lea rdx, str.LanguageFunction
lea rcx, [rsp + 0x24f8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x3da0], eax
cmp dword [rsp + 0x3da0], 1
je 0x140006821
cmp dword [rsp + 0x3da0], 2
je 0x140006831
cmp dword [rsp + 0x3da0], 3
je 0x140006841
jmp 0x140006851
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov word [rsp + 0x2bd8], ax
jmp 0x14000685f
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
mov word [rsp + 0x2bd8], ax
jmp 0x14000685f
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov word [rsp + 0x2bd8], ax
jmp 0x14000685f
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
mov word [rsp + 0x2bd8], ax
movzx eax, word [rsp + 0x2bd8]
mov r8d, eax
lea rdx, [0x1401df9b8]
lea rcx, [rsp + 0x2990]
call qword [sym.imp.USER32.dll_wsprintfW]
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401df5d4]
lea rdx, [rsp + 0x2990]
lea rcx, [rsp + 0x28b8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rsp + 0x160]
call fcn.1401abfb8
test rax, rax
je 0x1400068fa
mov r8w, 0x2c
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x2be0]
call fcn.1400612e0
lea rdx, [rsp + 0x2990]
lea rcx, [rsp + 0x2be0]
call fcn.1400624c0
movzx eax, word [rsp + 0x2bd8]
and eax, 0x3ff
mov r8d, eax
lea rdx, [0x1401df9c8]
lea rcx, [rsp + 0x2990]
call qword [sym.imp.USER32.dll_wsprintfW]
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401df5ec]
lea rdx, [rsp + 0x2990]
lea rcx, [rsp + 0x28b8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rsp + 0x160]
call fcn.1401abfb8
test rax, rax
je 0x1400069a0
lea rax, [rsp + 0x2c10]
mov r8w, 0x2c
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.1400612e0
lea rax, [rsp + 0x2c10]
lea rdx, [rsp + 0x2990]
mov rcx, rax
call fcn.1400624c0
xor r8d, r8d
lea rdx, [0x1401df9d8]
lea rcx, [rsp + 0x2990]
call qword [sym.imp.USER32.dll_wsprintfW]
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401df5fc]
lea rdx, [rsp + 0x2990]
lea rcx, [rsp + 0x28b8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rsp + 0x160]
call fcn.1401abfb8
test rax, rax
je 0x140006a39
lea rax, [rsp + 0x2c40]
mov r8w, 0x2c
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.1400612e0
lea rax, [rsp + 0x2c40]
lea rdx, [rsp + 0x2990]
mov rcx, rax
call fcn.1400624c0
mov dword [rsp + 0x2c70], 0
jmp 0x140006a56
mov eax, dword [rsp + 0x2c70]
inc eax
mov dword [rsp + 0x2c70], eax
cmp dword [rsp + 0x2c70], 3
jae 0x1400076eb
mov eax, dword [rsp + 0x2c70]
imul rax, rax, 0x30
lea rax, [rsp + rax + 0x2be0]
mov dx, 0x20
mov rcx, rax
call fcn.140061b10
mov eax, dword [rsp + 0x2c70]
imul rax, rax, 0x30
lea rax, [rsp + rax + 0x2be0]
mov rcx, rax
call fcn.140062550
cmp rax, 2
jne 0x1400070e5
mov eax, dword [rsp + 0x2c70]
imul rax, rax, 0x30
lea rax, [rsp + rax + 0x2be0]
xor edx, edx
mov rcx, rax
call fcn.1400627c0
lea rdx, str._SELECT_
mov rcx, rax
call fcn.1401ac890
test eax, eax
jne 0x1400070e5
movzx eax, word [rsp + 0x3ec8]
test eax, eax
je 0x140006b19
movzx eax, word [rsp + 0x3ec8]
mov r8d, eax
lea rdx, str.CInitInfoStorage::Init_nDefaultLangID__0x_04x_n
mov ecx, 4
call fcn.14001c160
movzx eax, word [rsp + 0x3ec8]
mov word [rsp + 0x2c74], ax
jmp 0x140006ec4
lea rcx, [rsp + 0x2f08]
call fcn.140061270
nop
xor edx, edx
lea rcx, [rsp + 0x2cb0]
call fcn.140051960
nop
mov qword [rsp + 0x2c78], 0
lea rcx, [rsp + 0x2c80]
call fcn.140003370
nop
lea rcx, [rsp + 0x2ee0]
call fcn.140003370
nop
mov qword [rsp + 0x2f38], 0
jmp 0x140006b80
mov rax, qword [rsp + 0x2f38]
inc rax
mov qword [rsp + 0x2f38], rax
lea rcx, [rsp + 0x29a0]
call sym.Setup.exe_public:_unsigned_long_int___cdecl_CDeviceInfSection::Count_void____ptr64
mov eax, eax
cmp qword [rsp + 0x2f38], rax
jae 0x140006e09
mov edx, dword [rsp + 0x2f38]
lea rcx, [rsp + 0x29a0]
call sym.Setup.exe_public:_wchar_t_const____ptr64___cdecl_CDeviceInfSection::GetKey_unsigned_long_int____ptr64
mov r8d, 0x10
lea rdx, [rsp + 0x2c78]
mov rcx, rax
call fcn.1401ad178
mov word [rsp + 0x2c74], ax
mov edx, dword [rsp + 0x2f38]
lea rcx, [rsp + 0x29a0]
call sym.Setup.exe_public:_wchar_t_const____ptr64___cdecl_CDeviceInfSection::GetValue_unsigned_long_int____ptr64
mov r8w, 0x2c
mov rdx, rax
lea rcx, [rsp + 0x2f08]
call fcn.1400612e0
lea rcx, [rsp + 0x2f08]
call fcn.140062550
cmp rax, 3
je 0x140006c10
jmp 0x140006b6d
mov rax, qword [rsp + 0x3eb0]
add rax, 0xb0
mov rdx, rax
lea rcx, [rsp + 0x2c80]
call fcn.1400104f0
mov edx, 1
lea rcx, [rsp + 0x2f08]
call fcn.1400627c0
mov rdx, rax
lea rcx, [rsp + 0x2c80]
call fcn.140010580
mov rax, qword [rsp + 0x3eb0]
add rax, 0xb0
mov rdx, rax
lea rcx, [rsp + 0x2ee0]
call fcn.1400104f0
mov edx, 2
lea rcx, [rsp + 0x2f08]
call fcn.1400627c0
mov rdx, rax
lea rcx, [rsp + 0x2ee0]
call fcn.140010580
lea rcx, [rsp + 0x2c80]
call fcn.140003810
cmp rax, 0x104
ja 0x140006cbe
lea rcx, [rsp + 0x2ee0]
call fcn.140003810
cmp rax, 0x104
jbe 0x140006d91
lea rdx, [0x1401dfa60]
mov ecx, 2
call fcn.14001c160
mov rax, qword [rsp + 0x3eb0]
add rax, 0x60
mov r8d, 0xaa
mov edx, 4
mov rcx, rax
call fcn.140015750
mov edx, 4
mov rcx, qword [0x1402a42e0]
call fcn.14000f810
mov rcx, qword [rsp + 0x3eb0]
add rcx, 0x58
mov edx, eax
call fcn.140018650
mov dword [rsp + 0x21a8], eax
mov edx, 4
mov rcx, qword [0x1402a42e0]
call fcn.14000f890
mov rcx, qword [rsp + 0x3eb0]
mov dword [rcx + 0x68], eax
lea rcx, [rsp + 0x2ee0]
call fcn.140003430
nop
lea rcx, [rsp + 0x2c80]
call fcn.140003430
nop
lea rcx, [rsp + 0x2cb0]
call fcn.14000f910
nop
lea rcx, [rsp + 0x2f08]
call fcn.1400612b0
nop
lea r9, [fcn.1400612b0]
mov r8d, 3
mov edx, 0x30
lea rcx, [rsp + 0x2be0]
call fcn.1401ac5a4
jmp 0x14000a974
lea rcx, [rsp + 0x2c80]
call fcn.140003530
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140006dc7
lea rcx, [rsp + 0x2ee0]
call fcn.140003530
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140006dcc
jmp 0x140006b6d
mov dx, 0x20
lea rcx, [rsp + 0x2f08]
call fcn.140061b10
xor edx, edx
lea rcx, [rsp + 0x2f08]
call fcn.1400627c0
mov r8, rax
movzx edx, word [rsp + 0x2c74]
lea rcx, [rsp + 0x2cb0]
call fcn.140051b50
jmp 0x140006b6d
lea rcx, [rsp + 0x2cb0]
call fcn.140069364
cmp rax, 2
jne 0x140006e78
lea rcx, [rsp + 0x2ee0]
call fcn.140003430
nop
lea rcx, [rsp + 0x2c80]
call fcn.140003430
nop
lea rcx, [rsp + 0x2cb0]
call fcn.14000f910
nop
lea rcx, [rsp + 0x2f08]
call fcn.1400612b0
nop
lea r9, [fcn.1400612b0]
mov r8d, 3
mov edx, 0x30
lea rcx, [rsp + 0x2be0]
call fcn.1401ac5a4
jmp 0x14000a974
lea rcx, [rsp + 0x2cb0]
call fcn.140051cb0
mov word [rsp + 0x2c74], ax
lea rcx, [rsp + 0x2ee0]
call fcn.140003430
nop
lea rcx, [rsp + 0x2c80]
call fcn.140003430
nop
lea rcx, [rsp + 0x2cb0]
call fcn.14000f910
nop
lea rcx, [rsp + 0x2f08]
call fcn.1400612b0
movzx eax, word [rsp + 0x2c74]
test eax, eax
je 0x1400070e5
mov qword [rsp + 0x2f40], 0
jmp 0x140006ef5
mov rax, qword [rsp + 0x2f40]
inc rax
mov qword [rsp + 0x2f40], rax
lea rcx, [rsp + 0x29a0]
call sym.Setup.exe_public:_unsigned_long_int___cdecl_CDeviceInfSection::Count_void____ptr64
mov eax, eax
cmp qword [rsp + 0x2f40], rax
jae 0x1400070e5
mov edx, dword [rsp + 0x2f40]
lea rcx, [rsp + 0x29a0]
call sym.Setup.exe_public:_wchar_t_const____ptr64___cdecl_CDeviceInfSection::GetValue_unsigned_long_int____ptr64
test rax, rax
jne 0x140006f2d
jmp 0x140006ee2
movzx eax, word [rsp + 0x2c74]
mov r8d, eax
lea rdx, [0x1401dfad0]
lea rcx, [rsp + 0x2990]
call qword [sym.imp.USER32.dll_wsprintfW]
mov edx, dword [rsp + 0x2f40]
lea rcx, [rsp + 0x29a0]
call sym.Setup.exe_public:_wchar_t_const____ptr64___cdecl_CDeviceInfSection::GetKey_unsigned_long_int____ptr64
lea rdx, [rsp + 0x2990]
mov rcx, rax
call fcn.1401ac890
test eax, eax
jne 0x1400070e0
mov qword [rsp + 0x2f48], 0
lea rcx, [0x1401dfae0]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x2f50], rax
mov edx, dword [rsp + 0x2f40]
lea rcx, [rsp + 0x29a0]
call sym.Setup.exe_public:_wchar_t_const____ptr64___cdecl_CDeviceInfSection::GetValue_unsigned_long_int____ptr64
mov ecx, dword [rsp + 0x2c70]
imul rcx, rcx, 0x30
lea rcx, [rsp + rcx + 0x2be0]
mov r8w, 0x2c
mov rdx, rax
call fcn.1400612e0
mov eax, dword [rsp + 0x2c70]
imul rax, rax, 0x30
lea rax, [rsp + rax + 0x2be0]
lea rdx, [rsp + 0x2990]
mov rcx, rax
call fcn.1400624c0
mov eax, dword [rsp + 0x2c70]
imul rax, rax, 0x30
lea rax, [rsp + rax + 0x2be0]
mov dx, 0x20
mov rcx, rax
call fcn.140061b10
cmp qword [rsp + 0x2f50], 0
je 0x1400070de
lea rdx, str.SetThreadLocale
mov rcx, qword [rsp + 0x2f50]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x2f48], rax
cmp qword [rsp + 0x2f48], 0
je 0x1400070de
movzx eax, word [rsp + 0x2c74]
sar eax, 0xa
test eax, eax
jne 0x1400070b9
movzx eax, word [rsp + 0x2c74]
and eax, 0x3ff
movzx eax, ax
bts eax, 0xa
mov word [rsp + 0x2f58], ax
movzx eax, word [rsp + 0x2f58]
mov r8d, eax
lea rdx, str.CInitInfoStorage::Init_nTempLangID__0x_1_lx__n
mov ecx, 5
call fcn.14001c160
movzx eax, word [rsp + 0x2f58]
mov ecx, eax
call qword [rsp + 0x2f48]
mov r8d, eax
lea rdx, [0x1401dfb70]
mov ecx, 5
call fcn.14001c160
jmp 0x1400070de
movzx eax, word [rsp + 0x2c74]
mov ecx, eax
call qword [rsp + 0x2f48]
mov r8d, eax
lea rdx, str.CInitInfoStorage::Init_SetThreadLocale_ret_1_d__n
mov ecx, 5
call fcn.14001c160
jmp 0x1400070e5
jmp 0x140006ee2
mov eax, dword [rsp + 0x2c70]
imul rax, rax, 0x30
lea rax, [rsp + rax + 0x2be0]
mov rcx, rax
call fcn.140062550
cmp rax, 4
jne 0x140007678
mov qword [rsp + 0x2fb0], 0
lea rcx, [rsp + 0x2f60]
call fcn.140003370
nop
lea rcx, [rsp + 0x2f88]
call fcn.140003370
nop
mov rax, qword [rsp + 0x3eb0]
add rax, 0xb0
mov rdx, rax
lea rcx, [rsp + 0x2f60]
call fcn.1400104f0
mov eax, dword [rsp + 0x2c70]
imul rax, rax, 0x30
lea rax, [rsp + rax + 0x2be0]
mov edx, 1
mov rcx, rax
call fcn.1400627c0
mov rdx, rax
lea rcx, [rsp + 0x2f60]
call fcn.140010580
mov rax, qword [rsp + 0x3eb0]
add rax, 0xb0
mov rdx, rax
lea rcx, [rsp + 0x2f88]
call fcn.1400104f0
mov eax, dword [rsp + 0x2c70]
imul rax, rax, 0x30
lea rax, [rsp + rax + 0x2be0]
mov edx, 2
mov rcx, rax
call fcn.1400627c0
mov rdx, rax
lea rcx, [rsp + 0x2f88]
call fcn.140010580
lea rcx, [rsp + 0x2f60]
call fcn.140003810
cmp rax, 0x104
ja 0x1400071fc
lea rcx, [rsp + 0x2f88]
call fcn.140003810
cmp rax, 0x104
jbe 0x1400072b3
lea rdx, str.CInitInfoStorage::Init_resources_path_is_too_long_1_._n
mov ecx, 2
call fcn.14001c160
mov rax, qword [rsp + 0x3eb0]
add rax, 0x60
mov r8d, 0xaa
mov edx, 4
mov rcx, rax
call fcn.140015750
mov edx, 4
mov rcx, qword [0x1402a42e0]
call fcn.14000f810
mov rcx, qword [rsp + 0x3eb0]
add rcx, 0x58
mov edx, eax
call fcn.140018650
mov dword [rsp + 0x21a8], eax
mov edx, 4
mov rcx, qword [0x1402a42e0]
call fcn.14000f890
mov rcx, qword [rsp + 0x3eb0]
mov dword [rcx + 0x68], eax
lea rcx, [rsp + 0x2f88]
call fcn.140003430
nop
lea rcx, [rsp + 0x2f60]
call fcn.140003430
nop
lea r9, [fcn.1400612b0]
mov r8d, 3
mov edx, 0x30
lea rcx, [rsp + 0x2be0]
call fcn.1401ac5a4
jmp 0x14000a974
lea rcx, [rsp + 0x2f60]
call fcn.140003530
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140007507
lea rcx, [rsp + 0x2f88]
call fcn.140003530
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140007507
mov qword [rsp + 0x2fc0], 0
lea rcx, [rsp + 0x2f60]
call fcn.140003530
mov rcx, qword [rsp + 0x3eb0]
add rcx, 8
mov rdx, rax
call fcn.1400630d0
lea rcx, [rsp + 0x2f88]
call fcn.140003530
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rsp + 0x2fb0], rax
cmp qword [rsp + 0x2fb0], 0
jne 0x1400073a1
mov rax, qword [rsp + 0x3eb0]
add rax, 0x58
mov edx, 3
mov rcx, rax
call fcn.1400061c0
nop
lea rcx, [rsp + 0x2f88]
call fcn.140003430
nop
lea rcx, [rsp + 0x2f60]
call fcn.140003430
nop
lea r9, [fcn.1400612b0]
mov r8d, 3
mov edx, 0x30
lea rcx, [rsp + 0x2be0]
call fcn.1401ac5a4
jmp 0x14000a974
mov rcx, qword [rsp + 0x2fb0]
call fcn.140018380
mov eax, dword [rsp + 0x2c70]
imul rax, rax, 0x30
lea rax, [rsp + rax + 0x2be0]
mov edx, 3
mov rcx, rax
call fcn.1400627c0
mov r8d, 0x10
lea rdx, [rsp + 0x2fc0]
mov rcx, rax
call fcn.1401ad178
mov word [rsp + 0x3ec0], ax
movzx eax, word [rsp + 0x3ec0]
mov r8d, eax
lea rdx, str._04x
lea rcx, [rsp + 0x2990]
call qword [sym.imp.USER32.dll_wsprintfW]
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea r8, [rsp + 0x2990]
lea rdx, str.__SELECTEDLANGID__
mov rcx, rax
call fcn.140064a50
mov eax, dword [rsp + 0x2c70]
imul rax, rax, 0x30
lea rax, [rsp + rax + 0x2be0]
xor edx, edx
mov rcx, rax
call fcn.1400627c0
mov rcx, qword [rsp + 0x3eb0]
add rcx, 8
mov r8, rax
lea rdx, str.__SELECTEDLANGNAME__
call fcn.140064a50
mov eax, dword [rsp + 0x2c70]
imul rax, rax, 0x30
lea rax, [rsp + rax + 0x2be0]
xor edx, edx
mov rcx, rax
call fcn.1400627c0
mov rdx, rax
lea rcx, [rsp + 0x2fb8]
call fcn.140018590
nop
lea r8, [0x1401df61c]
lea rdx, [0x1401df63c]
lea rcx, [rsp + 0x2fb8]
call fcn.14000fd40
lea rcx, [rsp + 0x2fb8]
call fcn.14002fd40
mov rcx, qword [rsp + 0x3eb0]
add rcx, 8
mov r8, rax
lea rdx, str.__SELECTEDLANGDIR__
call fcn.140064a50
nop
lea rcx, [rsp + 0x2fb8]
call fcn.140001d50
nop
lea rcx, [rsp + 0x2f88]
call fcn.140003430
nop
lea rcx, [rsp + 0x2f60]
call fcn.140003430
jmp 0x1400076eb
lea rcx, [rsp + 0x2f60]
call fcn.140003530
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400075a8
lea rcx, [rsp + 0x2f88]
call fcn.140003530
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400075a8
lea rcx, [rsp + 0x2f88]
call fcn.140003530
mov rcx, qword [rsp + 0x3eb0]
add rcx, 0x58
mov r8, rax
mov edx, 1
call fcn.1400061c0
nop
lea rcx, [rsp + 0x2f88]
call fcn.140003430
nop
lea rcx, [rsp + 0x2f60]
call fcn.140003430
nop
lea r9, [fcn.1400612b0]
mov r8d, 3
mov edx, 0x30
lea rcx, [rsp + 0x2be0]
call fcn.1401ac5a4
jmp 0x14000a974
lea rcx, [rsp + 0x2f60]
call fcn.140003530
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140007649
lea rcx, [rsp + 0x2f88]
call fcn.140003530
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140007649
lea rcx, [rsp + 0x2f60]
call fcn.140003530
mov rcx, qword [rsp + 0x3eb0]
add rcx, 0x58
mov r8, rax
mov edx, 1
call fcn.1400061c0
nop
lea rcx, [rsp + 0x2f88]
call fcn.140003430
nop
lea rcx, [rsp + 0x2f60]
call fcn.140003430
nop
lea r9, [fcn.1400612b0]
mov r8d, 3
mov edx, 0x30
lea rcx, [rsp + 0x2be0]
call fcn.1401ac5a4
jmp 0x14000a974
lea rdx, str.CInitInfoStorage::Init_Resource_DLL_or_StringTable_ini_file_is_not_found._n
mov ecx, 2
call fcn.14001c160
nop
lea rcx, [rsp + 0x2f88]
call fcn.140003430
nop
lea rcx, [rsp + 0x2f60]
call fcn.140003430
jmp 0x1400076e6
mov eax, dword [rsp + 0x2c70]
imul rax, rax, 0x30
lea rax, [rsp + rax + 0x2be0]
mov rcx, rax
call fcn.140062550
test rax, rax
je 0x1400076e6
mov rax, qword [rsp + 0x3eb0]
add rax, 0x58
lea r9, [rsp + 0x2990]
lea r8, [rsp + 0x28b8]
mov edx, 2
mov rcx, rax
call fcn.1400061c0
nop
lea r9, [fcn.1400612b0]
mov r8d, 3
mov edx, 0x30
lea rcx, [rsp + 0x2be0]
call fcn.1401ac5a4
jmp 0x14000a974
jmp 0x140006a46
lea rcx, [rsp + 0x29a0]
call sym.Setup.exe_public:_void___cdecl_CDeviceInfSection::Clear_void____ptr64
nop
lea r9, [fcn.1400612b0]
mov r8d, 3
mov edx, 0x30
lea rcx, [rsp + 0x2be0]
call fcn.1401ac5a4
call fcn.140018360
mov qword [rsp + 0x3da8], rax
call fcn.140018340
mov rcx, qword [rsp + 0x3da8]
cmp rcx, qword [rax + 0x88]
jne 0x140007759
mov rax, qword [rsp + 0x3eb0]
add rax, 0x58
mov edx, 3
mov rcx, rax
call fcn.1400061c0
jmp 0x14000a974
mov rax, qword [rsp + 0x3eb0]
movzx ecx, word [rsp + 0x3ec0]
mov word [rax + 0x328], cx
mov r8d, 0x20a
xor edx, edx
lea rcx, [rsp + 0x2fd0]
call fcn.1401ac6a0
mov edx, 0x105
lea rcx, [rsp + 0x2fd0]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov dword [rsp + 0x2b50], eax
movzx eax, word [rsp + 0x2fd0]
test eax, eax
je 0x1400077ce
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea r8, [rsp + 0x2fd0]
lea rdx, str.__FLD_WINDOWS__
mov rcx, rax
call fcn.140064a50
mov r8d, 0x20a
xor edx, edx
lea rcx, [rsp + 0x2fd0]
call fcn.1401ac6a0
mov edx, 0x105
lea rcx, [rsp + 0x2fd0]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
movzx eax, word [rsp + 0x2fd0]
test eax, eax
je 0x140007825
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea r8, [rsp + 0x2fd0]
lea rdx, str.__FLD_SYSTEM__
mov rcx, rax
call fcn.140064a50
mov r8d, 0x20a
xor edx, edx
lea rcx, [rsp + 0x2fd0]
call fcn.1401ac6a0
lea rcx, [rsp + 0x31e0]
call fcn.14004dcb0
nop
lea r8, [0x1401dfe50]
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x31e0]
call fcn.14004ca50
test rax, rax
je 0x1400078c2
lea rdx, str.Common_AppData
lea rcx, [rsp + 0x31e0]
call fcn.14004dd80
mov qword [rsp + 0x3220], rax
cmp qword [rsp + 0x3220], 0
je 0x1400078c2
mov rax, qword [rsp + 0x3220]
movzx eax, word [rax]
test eax, eax
je 0x1400078c2
mov rax, qword [rsp + 0x3eb0]
add rax, 8
mov r8, qword [rsp + 0x3220]
lea rdx, str.__FLD_COMMON_APPDATA__
mov rcx, rax
call fcn.140064a50
nop
lea rcx, [rsp + 0x31e0]
call fcn.14004dd10
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401df65c]
lea rdx, [0x1401dfd48]
lea rcx, [rsp + 0x24f8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rcx, rax
call fcn.1401abfb8
test rax, rax
jne 0x14000795e
mov rax, qword [rsp + 0x3eb0]
add rax, 0x58
lea r9, [0x1401dfe38]
lea r8, [rsp + 0x24f8]
mov edx, 2
mov rcx, rax
call fcn.1400061c0
jmp 0x14000a974
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rcx, qword [rsp + 0x3eb0]
add rcx, 0x88
mov rdx, rax
call fcn.140010520
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401df68c]
lea rdx, [0x1401dff28]
lea rcx, [rsp + 0x24f8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dx, 0x25
lea rcx, [rsp + 0x160]
call fcn.140001c20
test rax, rax
je 0x140007a2b
mov qword [rsp + 0x3228], 0
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov r8d, 0xa
lea rdx, [rsp + 0x3228]
mov rcx, rax
call fcn.1401ad170
mov rcx, qword [rsp + 0x3eb0]
mov dword [rcx + 0x7c], eax
jmp 0x140007a56
mov r9, qword [rsp + 0x3eb8]
xor r8d, r8d
lea rdx, str.RegionDefault
lea rcx, [rsp + 0x24f8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov rcx, qword [rsp + 0x3eb0]
mov dword [rcx + 0x7c], eax
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401df6bc]
lea rdx, str.License
lea rcx, [rsp + 0x24f8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rcx, rax
call fcn.1401abfb8
test rax, rax
je 0x140007cb4
mov rax, qword [rsp + 0x3eb0]
add rax, 0xb0
mov rdx, rax
lea rcx, [rsp + 0x21e0]
call fcn.1400104f0
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rdx, rax
lea rcx, [rsp + 0x21e0]
call fcn.140010580
lea rcx, [rsp + 0x3230]
call fcn.1400754c8
nop
lea rcx, [rsp + 0x21e0]
call fcn.140003530
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x3230]
call fcn.140075cb0
test eax, eax
je 0x140007c1a
lea rcx, [rsp + 0x3230]
call fcn.140075364
mov dword [rsp + 0x3258], eax
mov eax, dword [rsp + 0x3258]
inc eax
mov eax, eax
mov r8d, 0x342
lea rdx, [0x1401dff78]
mov ecx, eax
call fcn.140047520
mov rcx, qword [rsp + 0x3eb0]
mov qword [rcx + 0x80], rax
mov rax, qword [rsp + 0x3eb0]
cmp qword [rax + 0x80], 0
jne 0x140007bdd
lea rcx, [rsp + 0x21e0]
call fcn.140003530
mov rcx, qword [rsp + 0x3eb0]
add rcx, 0x58
mov r8, rax
mov edx, 0x271b
call fcn.1400061c0
lea rdx, str.CInitInfoStorage::Init_Cannot_allocate_memory_for_License_Text._n
mov ecx, 2
call fcn.14001c160
nop
lea rcx, [rsp + 0x3230]
call fcn.1400757b0
jmp 0x14000a974
mov r8d, dword [rsp + 0x3258]
mov rax, qword [rsp + 0x3eb0]
mov rdx, qword [rax + 0x80]
lea rcx, [rsp + 0x3230]
call fcn.1400750fc
mov dword [rsp + 0x3258], eax
lea rcx, [rsp + 0x3230]
call fcn.140075440
jmp 0x140007ca7
lea rcx, [rsp + 0x21e0]
call fcn.140003530
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140007c5d
lea rcx, [rsp + 0x21e0]
call fcn.140003530
mov rcx, qword [rsp + 0x3eb0]
add rcx, 0x58
mov r8, rax
mov edx, 0x271a
call fcn.1400061c0
jmp 0x140007c83
lea rcx, [rsp + 0x21e0]
call fcn.140003530
mov rcx, qword [rsp + 0x3eb0]
add rcx, 0x58
mov r8, rax
mov edx, 0x271b
call fcn.1400061c0
lea rdx, str.CInitInfoStorage::Init_Cannot_open_the_license_text._n
mov ecx, 2
call fcn.14001c160
nop
lea rcx, [rsp + 0x3230]
call fcn.1400757b0
jmp 0x14000a974
lea rcx, [rsp + 0x3230]
call fcn.1400757b0
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401df6f4]
lea rdx, [0x1401e00c0]
lea rcx, [rsp + 0x24f8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rsp + 0x160]
call fcn.1401abfb8
test rax, rax
jne 0x140007d2c
mov rax, qword [rsp + 0x3eb0]
add rax, 0x58
lea r9, str.SetupCmdLine
lea r8, [rsp + 0x24f8]
mov edx, 2
mov rcx, rax
call fcn.1400061c0
jmp 0x14000a974
mov rax, qword [rsp + 0x3eb0]
add rax, 0x150
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140010520
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401df70c]
lea rdx, [0x1401e0028]
lea rcx, [rsp + 0x24f8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rsp + 0x160]
call fcn.1401abfb8
test rax, rax
jne 0x140007dc2
mov rax, qword [rsp + 0x3eb0]
add rax, 0x58
lea r9, str.ReadmeCmdLine
lea r8, [rsp + 0x24f8]
mov edx, 2
mov rcx, rax
call fcn.1400061c0
jmp 0x14000a974
mov rax, qword [rsp + 0x3eb0]
add rax, 0x178
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140010520
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401df7e4]
lea rdx, [0x1401e0120]
lea rcx, [rsp + 0x24f8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rcx, rax
call fcn.1401abfb8
test rax, rax
jne 0x140007e6f
mov rax, qword [rsp + 0x3eb0]
add rax, 0x58
lea r9, [0x1401e0148]
lea r8, [rsp + 0x24f8]
mov edx, 2
mov rcx, rax
call fcn.1400061c0
jmp 0x14000a974
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rcx, qword [rsp + 0x3eb0]
add rcx, 0x100
mov rdx, rax
call fcn.140010520
mov rax, qword [rsp + 0x3eb0]
add rax, 0x100
mov rcx, rax
call fcn.140003810
test rax, rax
je 0x1400081c7
cmp dword [rsp + 0x2638], 0
je 0x14000804f
mov qword [rsp + 0x3268], 0
lea rcx, [rsp + 0x3268]
call qword [sym.imp.SHELL32.dll_SHGetMalloc]
test eax, eax
jne 0x14000804a
mov qword [rsp + 0x3480], 0
lea r8, [rsp + 0x3480]
mov edx, 0x26
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
jne 0x140008034
mov r8d, 0x20a
xor edx, edx
lea rcx, [rsp + 0x3270]
call fcn.1401ac6a0
lea rdx, [rsp + 0x3270]
mov rcx, qword [rsp + 0x3480]
call qword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
test eax, eax
jne 0x140007f7b
mov rax, qword [rsp + 0x3eb0]
add rax, 0x58
lea r9, str.DefaultTargetDir
lea r8, [rsp + 0x24f8]
mov edx, 2
mov rcx, rax
call fcn.1400061c0
jmp 0x14000a974
lea r8, [0x1401e0198]
mov edx, 0x105
lea rcx, [rsp + 0x3270]
call fcn.1401ac918
mov rax, qword [rsp + 0x3eb0]
add rax, 0xd8
lea rdx, [rsp + 0x3270]
mov rcx, rax
call fcn.140010520
mov rax, qword [rsp + 0x3eb0]
add rax, 0x100
mov r8, rax
lea rdx, [rsp + 0x3270]
lea rcx, [rsp + 0x58]
call fcn.140015820
mov qword [rsp + 0x3db0], rax
mov rax, qword [rsp + 0x3db0]
mov qword [rsp + 0x3db8], rax
mov rax, qword [rsp + 0x3eb0]
add rax, 0x100
mov rdx, qword [rsp + 0x3db8]
mov rcx, rax
call fcn.1400104c0
nop
lea rcx, [rsp + 0x58]
call fcn.140003430
mov rax, qword [rsp + 0x3268]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x3480]
mov rcx, qword [rsp + 0x3268]
call qword [rax + 0x28]
mov rax, qword [rsp + 0x3268]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x3268]
call qword [rax + 0x10]
jmp 0x1400081c7
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, str.___FLD_SYSTEM___
mov rcx, rax
call fcn.140063680
mov rdx, rax
lea rcx, [rsp + 0x3488]
call fcn.1400033c0
nop
mov r8d, 8
xor edx, edx
lea rcx, [rsp + 0x3260]
call fcn.1401ac6a0
mov rax, qword [rsp + 0x3eb0]
add rax, 0x100
mov rcx, rax
call fcn.140003550
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 4
lea rdx, [rsp + 0x3260]
mov rcx, rax
call fcn.1401ab004
movzx eax, word [rsp + 0x3260]
test eax, eax
jne 0x1400081ba
lea rcx, [rsp + 0x3488]
call fcn.140003550
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 4
lea rdx, [rsp + 0x3260]
mov rcx, rax
call fcn.1401ab004
mov rax, qword [rsp + 0x3eb0]
add rax, 0x100
mov r8, rax
lea rdx, [rsp + 0x3260]
lea rcx, [rsp + 0x80]
call fcn.140015820
mov qword [rsp + 0x3dc0], rax
mov rax, qword [rsp + 0x3dc0]
mov qword [rsp + 0x3dc8], rax
mov rax, qword [rsp + 0x3eb0]
add rax, 0x100
mov rdx, qword [rsp + 0x3dc8]
mov rcx, rax
call fcn.1400104c0
nop
lea rcx, [rsp + 0x80]
call fcn.140003430
nop
lea rcx, [rsp + 0x3488]
call fcn.140003430
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401df894]
lea rdx, [0x1401e01d0]
lea rcx, [rsp + 0x28a0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rdx, rax
lea rcx, [rsp + 0x2228]
call fcn.140010520
lea rdx, [0x1401dfbd4]
lea rcx, [rsp + 0xa8]
call fcn.1400033c0
nop
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x110]
call fcn.1400109f0
nop
lea rcx, [rsp + 0xa8]
call fcn.140003430
mov rax, qword [rsp + 0x3eb0]
add rax, 0x1b0
mov rcx, rax
call fcn.140010ee0
mov r9, qword [rsp + 0x3eb8]
mov r8d, 0x1000
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x2208]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
lea rcx, [rsp + 0x160]
call fcn.1401abfb8
test rax, rax
je 0x140008cab
lea rcx, [rsp + 0x34b0]
call fcn.140062470
nop
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x34b0]
call fcn.1400628a0
mov dword [rsp + 0x2b54], 0
jmp 0x1400082f4
mov eax, dword [rsp + 0x2b54]
inc eax
mov dword [rsp + 0x2b54], eax
mov eax, dword [rsp + 0x2b54]
mov qword [rsp + 0x3dd0], rax
lea rcx, [rsp + 0x34b0]
call fcn.140062550
mov rcx, qword [rsp + 0x3dd0]
cmp rcx, rax
jae 0x140008c9e
mov eax, dword [rsp + 0x2b54]
mov edx, eax
lea rcx, [rsp + 0x34b0]
call fcn.1400627c0
mov rcx, qword [rsp + 0x3eb0]
add rcx, 8
mov rdx, rax
call fcn.140063680
mov qword [rsp + 0x34e0], rax
mov rcx, qword [rsp + 0x34e0]
call fcn.1401abfb8
test rax, rax
je 0x140008c99
lea rcx, [rsp + 0x3700]
call fcn.14000f990
nop
mov rdx, qword [rsp + 0x34e0]
lea rcx, [rsp + 0x3728]
call fcn.140010520
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401df9b4]
lea rdx, [0x1401e01e8]
mov rcx, qword [rsp + 0x34e0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rcx, rax
call fcn.1401abfb8
test rax, rax
je 0x14000841a
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rdx, rax
lea rcx, [rsp + 0x3700]
call fcn.140010520
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401df9c4]
lea rdx, [0x1401e01f8]
mov rcx, qword [rsp + 0x34e0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rcx, rax
call fcn.1401abfb8
test rax, rax
jne 0x1400084c5
mov rax, qword [rsp + 0x3eb0]
add rax, 0x58
lea r9, str.DefaultDeviceDir
mov r8, qword [rsp + 0x34e0]
mov edx, 2
mov rcx, rax
call fcn.1400061c0
nop
lea rcx, [rsp + 0x3700]
call fcn.14000fa70
nop
lea rcx, [rsp + 0x34b0]
call fcn.1400629e0
jmp 0x14000a974
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rdx, rax
lea rcx, [rsp + 0x3750]
call fcn.140010520
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401df9d4]
lea rdx, [0x1401e0248]
mov rcx, qword [rsp + 0x34e0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rcx, rax
call fcn.1401abfb8
test rax, rax
je 0x14000857f
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rdx, rax
lea rcx, [rsp + 0x3778]
call fcn.140010520
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401df9e4]
lea rdx, str.Diskspace
mov rcx, qword [rsp + 0x34e0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rcx, rax
call fcn.1401abfb8
test rax, rax
je 0x140008626
mov qword [rsp + 0x38a8], 0
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov r8d, 0xa
lea rdx, [rsp + 0x38a8]
mov rcx, rax
call fcn.1401ad170
mov dword [rsp + 0x37a0], eax
mov r8d, 0x2002
xor edx, edx
lea rcx, [rsp + 0x160]
call fcn.1401ac6a0
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401dfadc]
lea rdx, [0x1401e0288]
mov rcx, qword [rsp + 0x34e0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rcx, rax
call fcn.1401abfb8
test rax, rax
je 0x1400086c9
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rdx, rax
lea rcx, [rsp + 0x37a8]
call fcn.140010520
mov r8d, 0x2002
xor edx, edx
lea rcx, [rsp + 0x160]
call fcn.1401ac6a0
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401dfafc]
lea rdx, str.ScannerHWID
mov rcx, qword [rsp + 0x34e0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rcx, rax
call fcn.1401abfb8
test rax, rax
je 0x14000876c
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rdx, rax
lea rcx, [rsp + 0x37d0]
call fcn.140010520
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401dfc44]
lea rdx, str.UninstallerName
mov rcx, qword [rsp + 0x34e0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rdx, rax
lea rcx, [rsp + 0x37f8]
call fcn.140010520
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401dfcec]
lea rdx, [0x1401e02d8]
mov rcx, qword [rsp + 0x34e0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rcx, rax
call fcn.1401abfb8
test rax, rax
jne 0x14000887c
mov rax, qword [rsp + 0x3eb0]
add rax, 0x58
lea r9, str.UninstallerGUID
mov r8, qword [rsp + 0x34e0]
mov edx, 2
mov rcx, rax
call fcn.1400061c0
nop
lea rcx, [rsp + 0x3700]
call fcn.14000fa70
nop
lea rcx, [rsp + 0x34b0]
call fcn.1400629e0
jmp 0x14000a974
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rdx, rax
lea rcx, [rsp + 0x3820]
call fcn.140010520
lea rcx, [rsp + 0x3700]
call fcn.140003530
mov qword [rsp + 0x3dd8], rax
lea rcx, [rsp + 0x3728]
call fcn.140003530
mov qword [rsp + 0x3de0], rax
lea rcx, [rsp + 0x3820]
call fcn.140003530
mov qword [rsp + 0x3de8], rax
lea rcx, [rsp + 0x2228]
call fcn.140003530
mov rcx, qword [rsp + 0x3dd8]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x3de0]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x3de8]
mov r9, rcx
mov r8, rax
mov edx, 0x104
lea rcx, [rsp + 0x34f0]
call fcn.1401acf40
lea rdx, [rsp + 0x34f0]
lea rcx, [rsp + 0x3848]
call fcn.140010520
mov dword [rsp + 0x38a0], 0
mov eax, dword [rsp + 0x38a0]
mov dword [rsp + 0x3df0], eax
mov r8d, dword [rsp + 0x3df0]
lea rdx, [0x1401e0318]
lea rcx, [rsp + 0x3890]
call qword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [rsp + 0x38a0]
inc eax
mov dword [rsp + 0x38a0], eax
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401dfd1c]
lea rdx, [rsp + 0x3890]
mov rcx, qword [rsp + 0x34e0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jbe 0x140008c3a
lea rcx, [rsp + 0x38b0]
call fcn.140061270
nop
mov r8w, 0x2c
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x38b0]
call fcn.1400612e0
mov dx, 0x20
lea rcx, [rsp + 0x38b0]
call fcn.140061b10
lea rcx, [rsp + 0x38b0]
call fcn.140062550
cmp rax, 4
jb 0x140008bed
xor edx, edx
lea rcx, [rsp + 0x38b0]
call fcn.1400627c0
mov rcx, qword [rsp + 0x3eb0]
add rcx, 8
mov rdx, rax
call fcn.140063680
mov qword [rsp + 0x38e0], rax
mov rdx, qword [rsp + 0x38e0]
lea rcx, [rsp + 0xd0]
call fcn.1400033c0
nop
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x110]
call fcn.1400109f0
nop
lea rcx, [rsp + 0xd0]
call fcn.140003430
cmp dword [rsp + 0x2608], 0
jne 0x140008a9f
cmp dword [rsp + 0x2610], 0
je 0x140008acd
movzx eax, word [rsp + 0x2670]
test eax, eax
jne 0x140008acd
lea rdx, [0x1401e0330]
mov rcx, qword [rsp + 0x38e0]
call fcn.1401acf04
test eax, eax
jne 0x140008acd
lea rdx, str.CInitInfoStorage::GetModelsInfo_XPS_UnSupported.._n
mov ecx, 2
call fcn.14001c160
jmp 0x140008bed
cmp dword [rsp + 0x2658], 0
jne 0x140008b05
lea rdx, [0x1401e0044]
mov rcx, qword [rsp + 0x38e0]
call fcn.1401acf04
test eax, eax
jne 0x140008b05
lea rdx, str.CInitInfoStorage::GetModelsInfo_V4_UnSupported.._n
mov ecx, 2
call fcn.14001c160
jmp 0x140008bed
lea rcx, [rsp + 0x38f0]
call fcn.14000fb40
nop
mov rdx, qword [rsp + 0x38e0]
lea rcx, [rsp + 0x38f0]
call fcn.140010520
mov edx, 1
lea rcx, [rsp + 0x38b0]
call fcn.1400627c0
mov rcx, qword [rsp + 0x3eb0]
add rcx, 8
mov rdx, rax
call fcn.140063680
mov rdx, rax
lea rcx, [rsp + 0x3918]
call fcn.140010520
mov edx, 2
lea rcx, [rsp + 0x38b0]
call fcn.1400627c0
mov rcx, qword [rsp + 0x3eb0]
add rcx, 8
mov rdx, rax
call fcn.140063680
mov rdx, rax
lea rcx, [rsp + 0x3940]
call fcn.140010520
mov edx, 3
lea rcx, [rsp + 0x38b0]
call fcn.1400627c0
mov rcx, qword [rsp + 0x3eb0]
add rcx, 8
mov rdx, rax
call fcn.140063680
mov rdx, rax
lea rcx, [rsp + 0x3968]
call fcn.140010520
lea rdx, [rsp + 0x38f0]
lea rcx, [rsp + 0x3870]
call fcn.140010ba0
nop
lea rcx, [rsp + 0x38f0]
call fcn.14000fba0
mov eax, dword [rsp + 0x38a0]
mov dword [rsp + 0x3df4], eax
mov r8d, dword [rsp + 0x3df4]
lea rdx, str.DRIVER_d
lea rcx, [rsp + 0x3890]
call qword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [rsp + 0x38a0]
inc eax
mov dword [rsp + 0x38a0], eax
lea rcx, [rsp + 0x38b0]
call fcn.1400612b0
jmp 0x140008989
lea rcx, [rsp + 0x3870]
call fcn.140011510
test rax, rax
jbe 0x140008c8c
mov rax, qword [rsp + 0x3eb0]
add rax, 0x1b0
lea rdx, [rsp + 0x3700]
mov rcx, rax
call fcn.140010d80
mov r9, qword [rsp + 0x34e0]
mov r8d, dword [rsp + 0x38a0]
lea rdx, str.CInitInfoStorage::Init_m_ModelInfo__1_d__.DeviceName____2_s___n
mov ecx, 5
call fcn.14001c160
nop
lea rcx, [rsp + 0x3700]
call fcn.14000fa70
jmp 0x1400082e4
lea rcx, [rsp + 0x34b0]
call fcn.1400629e0
mov rax, qword [rsp + 0x3eb0]
add rax, 0x1b0
mov rcx, rax
call fcn.140010d30
test rax, rax
ja 0x140008d04
lea rdx, [0x1401e04e0]
mov ecx, 5
call fcn.14001c160
mov rax, qword [rsp + 0x3eb0]
add rax, 0x58
lea r9, [0x1401dfed4]
lea r8, [rsp + 0x2208]
mov edx, 2
mov rcx, rax
call fcn.1400061c0
jmp 0x14000a974
cmp qword [rsp + 0x3ed0], 0
je 0x140008d41
mov rcx, qword [rsp + 0x3ed0]
call fcn.1401abfb8
test rax, rax
jbe 0x140008d41
mov rax, qword [rsp + 0x3eb0]
add rax, 0x1d8
mov rdx, qword [rsp + 0x3ed0]
mov rcx, rax
call fcn.140010520
jmp 0x140008dad
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401dff44]
lea rdx, str.Code
lea rcx, [rsp + 0x2ba8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rcx, qword [rsp + 0x3eb0]
add rcx, 0x1d8
mov rdx, rax
call fcn.140010520
mov rax, qword [rsp + 0x3eb0]
add rax, 0x1d8
mov rcx, rax
call fcn.140003530
mov r8, rax
lea rdx, str.CInitInfoStorage::Init_m_strLanguageCode____1_s___n
mov ecx, 5
call fcn.14001c160
mov rax, qword [rsp + 0x3eb0]
add rax, 0x200
mov rcx, rax
call fcn.140011110
mov r9, qword [rsp + 0x3eb8]
mov r8d, 0x1000
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x21b0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
lea rcx, [rsp + 0x160]
call fcn.1401abfb8
test rax, rax
je 0x140009011
lea rcx, [rsp + 0x3990]
call fcn.140062470
nop
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x3990]
call fcn.1400628a0
mov dword [rsp + 0x2b54], 0
jmp 0x140008e67
mov eax, dword [rsp + 0x2b54]
inc eax
mov dword [rsp + 0x2b54], eax
mov eax, dword [rsp + 0x2b54]
mov qword [rsp + 0x3df8], rax
lea rcx, [rsp + 0x3990]
call fcn.140062550
mov rcx, qword [rsp + 0x3df8]
cmp rcx, rax
jae 0x140009004
lea rcx, [rsp + 0x39c0]
call fcn.140061270
nop
mov eax, dword [rsp + 0x2b54]
mov edx, eax
lea rcx, [rsp + 0x3990]
call fcn.1400627c0
mov r8w, 0x3d
mov rdx, rax
lea rcx, [rsp + 0x39c0]
call fcn.1400612e0
mov dx, 0x20
lea rcx, [rsp + 0x39c0]
call fcn.140061b10
lea rcx, [rsp + 0x39c0]
call fcn.140062550
cmp rax, 2
jb 0x140008ff2
lea rcx, [rsp + 0x39f0]
call fcn.14000fc00
nop
xor edx, edx
lea rcx, [rsp + 0x39c0]
call fcn.1400627c0
mov rcx, qword [rsp + 0x3eb0]
add rcx, 8
mov rdx, rax
call fcn.140063680
mov rdx, rax
lea rcx, [rsp + 0x39f0]
call fcn.140010520
mov edx, 1
lea rcx, [rsp + 0x39c0]
call fcn.1400627c0
mov rcx, qword [rsp + 0x3eb0]
add rcx, 8
mov rdx, rax
call fcn.140063680
mov rdx, rax
lea rcx, [rsp + 0x3a18]
call fcn.140010520
lea rcx, [rsp + 0x39f0]
call fcn.140003530
mov r9, qword [rsp + 0x3eb8]
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x2250]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x3a40], eax
mov rax, qword [rsp + 0x3eb0]
add rax, 0x200
lea rdx, [rsp + 0x39f0]
mov rcx, rax
call fcn.140010fc0
lea rcx, [rsp + 0x3a18]
call fcn.140003530
mov r9, rax
mov r8d, dword [rsp + 0x2b54]
lea rdx, str.CInitInfoStorage::Init_m_InstallerName__1_d__.InstallerName____2_s___n
mov ecx, 5
call fcn.14001c160
nop
lea rcx, [rsp + 0x39f0]
call fcn.14002eaf0
nop
lea rcx, [rsp + 0x39c0]
call fcn.1400612b0
jmp 0x140008e57
lea rcx, [rsp + 0x3990]
call fcn.1400629e0
mov rax, qword [rsp + 0x3eb0]
add rax, 0x200
mov rcx, rax
call fcn.140010f70
test rax, rax
ja 0x14000906a
lea rdx, [0x1401e0690]
mov ecx, 5
call fcn.14001c160
mov rax, qword [rsp + 0x3eb0]
add rax, 0x58
lea r9, [0x1401dff64]
lea r8, [rsp + 0x21b0]
mov edx, 2
mov rcx, rax
call fcn.1400061c0
jmp 0x14000a974
mov rax, qword [rsp + 0x3eb0]
add rax, 0x220
mov rcx, rax
call fcn.140011340
mov r9, qword [rsp + 0x3eb8]
mov r8d, 0x1000
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x2178]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
lea rcx, [rsp + 0x160]
call fcn.1401abfb8
test rax, rax
je 0x140009274
lea rcx, [rsp + 0x3a50]
call fcn.140062470
nop
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x3a50]
call fcn.1400628a0
mov dword [rsp + 0x2b54], 0
jmp 0x1400090fa
mov eax, dword [rsp + 0x2b54]
inc eax
mov dword [rsp + 0x2b54], eax
mov eax, dword [rsp + 0x2b54]
mov qword [rsp + 0x3e00], rax
lea rcx, [rsp + 0x3a50]
call fcn.140062550
mov rcx, qword [rsp + 0x3e00]
cmp rcx, rax
jae 0x140009267
lea rcx, [rsp + 0x3a80]
call fcn.140061270
nop
mov eax, dword [rsp + 0x2b54]
mov edx, eax
lea rcx, [rsp + 0x3a50]
call fcn.1400627c0
mov r8w, 0x3d
mov rdx, rax
lea rcx, [rsp + 0x3a80]
call fcn.1400612e0
mov dx, 0x20
lea rcx, [rsp + 0x3a80]
call fcn.140061b10
lea rcx, [rsp + 0x3a80]
call fcn.140062550
cmp rax, 2
jb 0x140009255
lea rcx, [rsp + 0x3ab0]
call fcn.14000fc00
nop
xor edx, edx
lea rcx, [rsp + 0x3a80]
call fcn.1400627c0
mov rcx, qword [rsp + 0x3eb0]
add rcx, 8
mov rdx, rax
call fcn.140063680
mov rdx, rax
lea rcx, [rsp + 0x3ab0]
call fcn.140010520
mov edx, 1
lea rcx, [rsp + 0x3a80]
call fcn.1400627c0
mov rcx, qword [rsp + 0x3eb0]
add rcx, 8
mov rdx, rax
call fcn.140063680
mov rdx, rax
lea rcx, [rsp + 0x3ad8]
call fcn.140010520
mov rax, qword [rsp + 0x3eb0]
add rax, 0x220
lea rdx, [rsp + 0x3ab0]
mov rcx, rax
call fcn.1400111f0
lea rcx, [rsp + 0x3ad8]
call fcn.140003530
mov r9, rax
mov r8d, dword [rsp + 0x2b54]
lea rdx, str.CInitInfoStorage::Init_m_UninstallerDir__1_d__.UninstallerPath____2_s___n
mov ecx, 5
call fcn.14001c160
nop
lea rcx, [rsp + 0x3ab0]
call fcn.14002eaf0
nop
lea rcx, [rsp + 0x3a80]
call fcn.1400612b0
jmp 0x1400090ea
lea rcx, [rsp + 0x3a50]
call fcn.1400629e0
mov rax, qword [rsp + 0x3eb0]
add rax, 0x240
mov rcx, rax
call fcn.140011540
mov r9, qword [rsp + 0x3eb8]
mov r8d, 0x1000
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0xf8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
lea rcx, [rsp + 0x160]
call fcn.1401abfb8
test rax, rax
je 0x1400095ce
lea rcx, [rsp + 0x3b00]
call fcn.140062470
nop
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x3b00]
call fcn.1400628a0
mov dword [rsp + 0x2b54], 0
jmp 0x140009304
mov eax, dword [rsp + 0x2b54]
inc eax
mov dword [rsp + 0x2b54], eax
mov eax, dword [rsp + 0x2b54]
mov qword [rsp + 0x3e08], rax
lea rcx, [rsp + 0x3b00]
call fcn.140062550
mov rcx, qword [rsp + 0x3e08]
cmp rcx, rax
jae 0x1400095c1
lea rcx, [rsp + 0x3b30]
call fcn.140061270
nop
mov eax, dword [rsp + 0x2b54]
mov edx, eax
lea rcx, [rsp + 0x3b00]
call fcn.1400627c0
mov r8w, 0x3d
mov rdx, rax
lea rcx, [rsp + 0x3b30]
call fcn.1400612e0
mov dx, 0x20
lea rcx, [rsp + 0x3b30]
call fcn.140061b10
lea rcx, [rsp + 0x3b30]
call fcn.140062550
cmp rax, 2
jb 0x1400095af
xor edx, edx
lea rcx, [rsp + 0x3b30]
call fcn.1400627c0
mov rcx, qword [rsp + 0x3eb0]
add rcx, 8
mov rdx, rax
call fcn.140063680
mov qword [rsp + 0x3b68], rax
mov dword [rsp + 0x3b60], 0
mov qword [rsp + 0x3b70], 0
jmp 0x1400093e9
mov rax, qword [rsp + 0x3b70]
inc rax
mov qword [rsp + 0x3b70], rax
lea rcx, [rsp + 0x110]
call fcn.1400109a0
cmp qword [rsp + 0x3b70], rax
jae 0x140009440
mov rdx, qword [rsp + 0x3b70]
lea rcx, [rsp + 0x110]
call fcn.1400109d0
mov rcx, rax
call fcn.140003530
mov rdx, rax
mov rcx, qword [rsp + 0x3b68]
call fcn.1401acf04
test eax, eax
jne 0x14000943e
mov dword [rsp + 0x3b60], 1
jmp 0x140009440
jmp 0x1400093d6
cmp dword [rsp + 0x3b60], 0
je 0x1400095af
lea rcx, [rsp + 0x3bb0]
call fcn.14000fb40
nop
mov rdx, qword [rsp + 0x3b68]
lea rcx, [rsp + 0x3bb0]
call fcn.140010520
lea rcx, [rsp + 0x3b78]
call fcn.140061270
nop
mov edx, 1
lea rcx, [rsp + 0x3b30]
call fcn.1400627c0
mov r8w, 0x2c
mov rdx, rax
lea rcx, [rsp + 0x3b78]
call fcn.1400612e0
mov dx, 0x20
lea rcx, [rsp + 0x3b78]
call fcn.140061b10
lea rcx, [rsp + 0x3b78]
call fcn.140062550
cmp rax, 2
jb 0x140009593
xor edx, edx
lea rcx, [rsp + 0x3b78]
call fcn.1400627c0
mov rcx, qword [rsp + 0x3eb0]
add rcx, 8
mov rdx, rax
call fcn.140063680
mov rdx, rax
lea rcx, [rsp + 0x3bd8]
call fcn.140010520
lea rdx, [0x1401e00bc]
lea rcx, [rsp + 0x3c00]
call fcn.140010520
mov edx, 1
lea rcx, [rsp + 0x3b78]
call fcn.1400627c0
mov rcx, qword [rsp + 0x3eb0]
add rcx, 8
mov rdx, rax
call fcn.140063680
mov rdx, rax
lea rcx, [rsp + 0x3c28]
call fcn.140010520
mov rax, qword [rsp + 0x3eb0]
add rax, 0x240
lea rdx, [rsp + 0x3bb0]
mov rcx, rax
call fcn.140010ba0
lea rcx, [rsp + 0x3c28]
call fcn.140003530
mov r9, rax
mov r8d, dword [rsp + 0x2b54]
lea rdx, str.CInitInfoStorage::Init_m_ReadmeInfo__1_d__.ListItemName____2_s___n
mov ecx, 5
call fcn.14001c160
nop
lea rcx, [rsp + 0x3b78]
call fcn.1400612b0
nop
lea rcx, [rsp + 0x3bb0]
call fcn.14000fba0
nop
lea rcx, [rsp + 0x3b30]
call fcn.1400612b0
jmp 0x1400092f4
lea rcx, [rsp + 0x3b00]
call fcn.1400629e0
mov rax, qword [rsp + 0x3eb0]
add rax, 0x240
mov rcx, rax
call fcn.140011510
test rax, rax
ja 0x140009627
lea rdx, str.CInitInfoStorage::Init___nCount__tcslen__0_TRUE__n
mov ecx, 5
call fcn.14001c160
mov rax, qword [rsp + 0x3eb0]
add rax, 0x58
lea r9, [0x1401e00dc]
lea r8, [rsp + 0xf8]
mov edx, 2
mov rcx, rax
call fcn.1400061c0
jmp 0x14000a974
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401e00fc]
lea rdx, str.ExePath
lea rcx, [rsp + 0x2b88]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rcx, qword [rsp + 0x3eb0]
add rcx, 0x260
mov rdx, rax
call fcn.140010520
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401e011c]
lea rdx, str.CmdLine
lea rcx, [rsp + 0x2b88]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rax, qword [rsp + 0x3eb0]
add rax, 0x288
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140010520
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401e0144]
lea rdx, [0x1401e0558]
lea rcx, [rsp + 0x28a0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rcx, qword [rsp + 0x3eb0]
add rcx, 0x2b0
mov rdx, rax
call fcn.140010520
mov rax, qword [rsp + 0x3eb0]
add rax, 0x2b0
mov rcx, rax
call fcn.140003530
mov r8, rax
lea rdx, str.CInitInfoStorage::Init_m_strUninstallerVersion____1_s___n
mov ecx, 5
call fcn.14001c160
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401e016c]
lea rdx, str.TargetDir
lea rcx, [rsp + 0x28a0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rcx, qword [rsp + 0x3eb0]
add rcx, 0x300
mov rdx, rax
call fcn.140010520
mov rax, qword [rsp + 0x3eb0]
add rax, 0x300
mov rcx, rax
call fcn.140003530
mov r8, rax
lea rdx, str.CInitInfoStorage::Init_m_strDirUninstaller____1_s___n
mov ecx, 5
call fcn.14001c160
lea rax, [rsp + 0x2b10]
lea r8, [0x1401e0458]
mov edx, 0x20
mov rcx, rax
call fcn.1401ac9a0
cmp dword [rsp + 0x2604], 0
jne 0x14000985e
cmp dword [rsp + 0x263c], 0
jne 0x14000985e
cmp dword [rsp + 0x2624], 0
jne 0x14000985e
cmp dword [rsp + 0x264c], 0
je 0x140009982
lea rdx, str.CInitInfoStorage::Init___WINNT.bWin2008Server_n
mov ecx, 5
call fcn.14001c160
cmp dword [rsp + 0x2680], 0
je 0x1400098cf
lea r8, [0x1401e0568]
mov edx, 0x20
lea rcx, [rsp + 0x2a50]
call fcn.1401ac9a0
lea rax, [rsp + 0x2a90]
lea r8, [0x1401e05e8]
mov edx, 0x20
mov rcx, rax
call fcn.1401ac9a0
lea rax, [rsp + 0x2ad0]
lea r8, [0x1401e0a20]
mov edx, 0x20
mov rcx, rax
call fcn.1401ac9a0
jmp 0x14000997d
cmp dword [rsp + 0x267c], 0
je 0x14000992c
lea r8, str.WIN2K3_x64
mov edx, 0x20
lea rcx, [rsp + 0x2a50]
call fcn.1401ac9a0
lea rax, [rsp + 0x2a90]
lea r8, [0x1401e07a8]
mov edx, 0x20
mov rcx, rax
call fcn.1401ac9a0
lea rax, [rsp + 0x2ad0]
lea r8, [0x1401e0848]
mov edx, 0x20
mov rcx, rax
call fcn.1401ac9a0
jmp 0x14000997d
lea r8, [0x1401e0a30]
mov edx, 0x20
lea rcx, [rsp + 0x2a50]
call fcn.1401ac9a0
lea rax, [rsp + 0x2a90]
lea r8, [0x1401e0a40]
mov edx, 0x20
mov rcx, rax
call fcn.1401ac9a0
lea rax, [rsp + 0x2ad0]
lea r8, [0x1401e08b8]
mov edx, 0x20
mov rcx, rax
call fcn.1401ac9a0
jmp 0x140009c0d
cmp dword [rsp + 0x2608], 0
jne 0x14000999a
cmp dword [rsp + 0x2638], 0
je 0x140009ae0
cmp dword [rsp + 0x2680], 0
je 0x140009a0b
lea rdx, str.CInitInfoStorage::Init___WIN64.bIsIA64_n
mov ecx, 5
call fcn.14001c160
lea r8, str.WINXP_IA64
mov edx, 0x20
lea rcx, [rsp + 0x2a50]
call fcn.1401ac9a0
lea rax, [rsp + 0x2a90]
lea r8, [0x1401e0aa0]
mov edx, 0x20
mov rcx, rax
call fcn.1401ac9a0
lea rax, [rsp + 0x2ad0]
lea r8, [0x1401e0ab8]
mov edx, 0x20
mov rcx, rax
call fcn.1401ac9a0
jmp 0x140009adb
cmp dword [rsp + 0x267c], 0
je 0x140009a79
lea rdx, str.CInitInfoStorage::Init___WIN64.bIsAMD64_n
mov ecx, 5
call fcn.14001c160
lea r8, str.WINXP_x64
mov edx, 0x20
lea rcx, [rsp + 0x2a50]
call fcn.1401ac9a0
lea rax, [rsp + 0x2a90]
lea r8, [0x1401e0b38]
mov edx, 0x20
mov rcx, rax
call fcn.1401ac9a0
lea rax, [rsp + 0x2ad0]
lea r8, [0x1401e0b50]
mov edx, 0x20
mov rcx, rax
call fcn.1401ac9a0
jmp 0x140009adb
lea rdx, str.CInitInfoStorage::Init___WinXP_n
mov ecx, 5
call fcn.14001c160
lea r8, str.WINXP
mov edx, 0x20
lea rcx, [rsp + 0x2a50]
call fcn.1401ac9a0
lea rax, [rsp + 0x2a90]
lea r8, [0x1401e0bb0]
mov edx, 0x20
mov rcx, rax
call fcn.1401ac9a0
lea rax, [rsp + 0x2ad0]
lea r8, [0x1401e0b58]
mov edx, 0x20
mov rcx, rax
call fcn.1401ac9a0
jmp 0x140009c0d
cmp dword [rsp + 0x2634], 0
je 0x140009c0d
lea rdx, str.CInitInfoStorage::Init___WINNT.bUpperWin2003Server_n
mov ecx, 5
call fcn.14001c160
cmp dword [rsp + 0x2680], 0
je 0x140009b5f
lea r8, str.WIN2K3_IA64
mov edx, 0x20
lea rcx, [rsp + 0x2a50]
call fcn.1401ac9a0
lea rax, [rsp + 0x2a90]
lea r8, str.WINNT5_IA64
mov edx, 0x20
mov rcx, rax
call fcn.1401ac9a0
lea rax, [rsp + 0x2ad0]
lea r8, str.IA64
mov edx, 0x20
mov rcx, rax
call fcn.1401ac9a0
jmp 0x140009c0d
cmp dword [rsp + 0x267c], 0
je 0x140009bbc
lea r8, [0x1401e0c68]
mov edx, 0x20
lea rcx, [rsp + 0x2a50]
call fcn.1401ac9a0
lea rax, [rsp + 0x2a90]
lea r8, str.WINNT5_x64
mov edx, 0x20
mov rcx, rax
call fcn.1401ac9a0
lea rax, [rsp + 0x2ad0]
lea r8, [0x1401e0c98]
mov edx, 0x20
mov rcx, rax
call fcn.1401ac9a0
jmp 0x140009c0d
lea r8, str.WIN2K3
mov edx, 0x20
lea rcx, [rsp + 0x2a50]
call fcn.1401ac9a0
lea rax, [rsp + 0x2a90]
lea r8, str.WINNT5
mov edx, 0x20
mov rcx, rax
call fcn.1401ac9a0
lea rax, [rsp + 0x2ad0]
lea r8, [0x1401e0cc0]
mov edx, 0x20
mov rcx, rax
call fcn.1401ac9a0
mov r9, qword [rsp + 0x3eb8]
xor r8d, r8d
lea rdx, [rsp + 0x2a50]
lea rcx, [rsp + 0x2480]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov rcx, qword [rsp + 0x3eb0]
mov dword [rcx + 0x1a0], eax
mov dword [rsp + 0x2b54], 0
jmp 0x140009c59
mov eax, dword [rsp + 0x2b54]
inc eax
mov dword [rsp + 0x2b54], eax
cmp dword [rsp + 0x2b54], 4
jae 0x140009eb3
lea rdx, str.Extension
lea rcx, [rsp + 0x2b58]
call fcn.140010520
mov eax, dword [rsp + 0x2b54]
imul rax, rax, 0x40
lea rax, [rsp + rax + 0x2a50]
lea rdx, [0x1401e0ce0]
mov rcx, rax
call fcn.1401ac890
test eax, eax
je 0x140009cd8
lea rdx, [0x1401e0194]
lea rcx, [rsp + 0x2b58]
call fcn.140010580
mov eax, dword [rsp + 0x2b54]
imul rax, rax, 0x40
lea rax, [rsp + rax + 0x2a50]
mov rdx, rax
lea rcx, [rsp + 0x2b58]
call fcn.140010580
lea rcx, [rsp + 0x2b58]
call fcn.140003530
mov rcx, qword [rsp + 0x3eb0]
add rcx, 0x480
mov r9, rax
xor r8d, r8d
mov rdx, qword [rsp + 0x3eb8]
call sym.Setup.exe_public:_int___cdecl_CDeviceInfSection::Init_wchar_t_const____ptr64__class_CInfStringTable____ptr64__wchar_t_const____ptr64____ptr64
test eax, eax
je 0x140009eae
mov rax, qword [rsp + 0x3eb0]
add rax, 0x480
mov rcx, rax
call sym.Setup.exe_public:_int___cdecl_CDeviceInfSection::GetList_void____ptr64
test eax, eax
je 0x140009e98
mov rax, qword [rsp + 0x3eb0]
add rax, 0x480
mov rcx, rax
call sym.Setup.exe_public:_unsigned_long_int___cdecl_CDeviceInfSection::Count_void____ptr64
test eax, eax
je 0x140009e98
lea rcx, [rsp + 0x3c50]
call fcn.140061270
nop
mov qword [rsp + 0x3c80], 0
jmp 0x140009d7a
mov rax, qword [rsp + 0x3c80]
inc rax
mov qword [rsp + 0x3c80], rax
mov rax, qword [rsp + 0x3eb0]
add rax, 0x480
mov rcx, rax
call sym.Setup.exe_public:_unsigned_long_int___cdecl_CDeviceInfSection::Count_void____ptr64
mov eax, eax
cmp qword [rsp + 0x3c80], rax
jae 0x140009e66
mov rax, qword [rsp + 0x3eb0]
add rax, 0x480
mov edx, dword [rsp + 0x3c80]
mov rcx, rax
call sym.Setup.exe_public:_wchar_t_const____ptr64___cdecl_CDeviceInfSection::GetValue_unsigned_long_int____ptr64
mov r8w, 0x2c
mov rdx, rax
lea rcx, [rsp + 0x3c50]
call fcn.1400612e0
lea rcx, [rsp + 0x3c50]
call fcn.140062550
cmp rax, 1
je 0x140009e61
lea rcx, [rsp + 0x3c50]
call fcn.140062550
cmp rax, 3
je 0x140009e61
mov rax, qword [rsp + 0x3eb0]
add rax, 0x480
mov edx, dword [rsp + 0x3c80]
mov rcx, rax
call sym.Setup.exe_public:_wchar_t_const____ptr64___cdecl_CDeviceInfSection::GetKey_unsigned_long_int____ptr64
mov qword [rsp + 0x3e10], rax
lea rcx, [rsp + 0x2b58]
call fcn.140003530
mov rcx, qword [rsp + 0x3eb0]
add rcx, 0x58
mov rdx, qword [rsp + 0x3e10]
mov r9, rdx
mov r8, rax
mov edx, 2
call fcn.1400061c0
nop
lea rcx, [rsp + 0x3c50]
call fcn.1400612b0
jmp 0x14000a974
jmp 0x140009d67
lea rdx, [0x1401e0cf0]
mov ecx, 5
call fcn.14001c160
mov rax, qword [rsp + 0x3eb0]
mov dword [rax + 0x550], 1
lea rcx, [rsp + 0x3c50]
call fcn.1400612b0
jmp 0x140009eb3
mov rax, qword [rsp + 0x3eb0]
add rax, 0x480
mov rcx, rax
call sym.Setup.exe_public:_void___cdecl_CDeviceInfSection::Clear_void____ptr64
jmp 0x140009c49
mov dword [rsp + 0x2b54], 0
jmp 0x140009ed0
mov eax, dword [rsp + 0x2b54]
inc eax
mov dword [rsp + 0x2b54], eax
cmp dword [rsp + 0x2b54], 4
jae 0x140009fc1
lea rdx, [0x1401e0d60]
lea rcx, [rsp + 0x130]
call fcn.140010520
mov eax, dword [rsp + 0x2b54]
imul rax, rax, 0x40
lea rax, [rsp + rax + 0x2a50]
lea rdx, [0x1401e0ce8]
mov rcx, rax
call fcn.1401ac890
test eax, eax
je 0x140009f4f
lea rdx, [0x1401e01cc]
lea rcx, [rsp + 0x130]
call fcn.140010580
mov eax, dword [rsp + 0x2b54]
imul rax, rax, 0x40
lea rax, [rsp + rax + 0x2a50]
mov rdx, rax
lea rcx, [rsp + 0x130]
call fcn.140010580
lea rcx, [rsp + 0x130]
call fcn.140003530
mov rcx, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x160]
lea r8, [0x1401e021c]
mov rdx, rax
lea rcx, [rsp + 0x28a0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rcx, rax
call fcn.1401abfb8
test rax, rax
je 0x140009fbc
jmp 0x140009fc1
jmp 0x140009ec0
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rcx, rax
call fcn.1401abfb8
test rax, rax
je 0x14000a047
mov rax, qword [rsp + 0x3eb0]
add rax, 8
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.140063680
mov rcx, qword [rsp + 0x3eb0]
add rcx, 0x2d8
mov rdx, rax
call fcn.140010520
mov rax, qword [rsp + 0x3eb0]
add rax, 0x2d8
mov rcx, rax
call fcn.140003530
mov r8, rax
lea rdx, str.CInitInfoStorage::Init_m_strUninstallerFiles____1_s___n
mov ecx, 5
call fcn.14001c160
mov rax, qword [rsp + 0x3eb0]
add rax, 0x2b0
mov rcx, rax
call fcn.140003810
test rax, rax
jne 0x14000a09c
mov rax, qword [rsp + 0x3eb0]
add rax, 0x2d8
mov rcx, rax
call fcn.140003810
test rax, rax
jne 0x14000a09c
mov rax, qword [rsp + 0x3eb0]
add rax, 0x300
mov rcx, rax
call fcn.140003810
test rax, rax
je 0x14000a7a5
mov rax, qword [rsp + 0x3eb0]
add rax, 0x2b0
mov rcx, rax
call fcn.140003810
test rax, rax
jne 0x14000a0e4
mov rax, qword [rsp + 0x3eb0]
add rax, 0x58
lea r9, [0x1401e0de0]
lea r8, [rsp + 0x28a0]
mov edx, 2
mov rcx, rax
call fcn.1400061c0
jmp 0x14000a974
mov rax, qword [rsp + 0x3eb0]
add rax, 0x2d8
mov rcx, rax
call fcn.140003810
test rax, rax
jne 0x14000a12c
mov rax, qword [rsp + 0x3eb0]
add rax, 0x58
lea r9, str.Files
lea r8, [rsp + 0x28a0]
mov edx, 2
mov rcx, rax
call fcn.1400061c0
jmp 0x14000a974
mov rax, qword [rsp + 0x3eb0]
add rax, 0x300
mov rcx, rax
call fcn.140003810
test rax, rax
jne 0x14000a174
mov rax, qword [rsp + 0x3eb0]
add rax, 0x58
lea r9, [0x1401e0e00]
lea r8, [rsp + 0x28a0]
mov edx, 2
mov rcx, rax
call fcn.1400061c0
jmp 0x14000a974
mov dword [rsp + 0x2b54], 0
jmp 0x14000a191
mov eax, dword [rsp + 0x2b54]
inc eax
mov dword [rsp + 0x2b54], eax
mov eax, dword [rsp + 0x2b54]
mov qword [rsp + 0x3e18], rax
mov rcx, qword [rsp + 0x3eb0]
add rcx, 0x1b0
call fcn.140010d30
mov rcx, qword [rsp + 0x3e18]
cmp rcx, rax
jae 0x14000a7a5
lea rdx, [0x1401e0e40]
lea rcx, [rsp + 0x3c88]
call fcn.140018590
nop
lea rcx, [rsp + 0x3c90]
call fcn.14004dcb0
nop
lea rdx, [0x1401e0244]
lea rcx, [rsp + 0x3c88]
call fcn.14000fd10
mov eax, dword [rsp + 0x2b54]
mov rcx, qword [rsp + 0x3eb0]
add rcx, 0x1b0
mov edx, eax
call fcn.140010d60
add rax, 0x120
mov rcx, rax
call fcn.140003530
mov rdx, rax
lea rcx, [rsp + 0x3c88]
call fcn.14000fd10
xor edx, edx
lea rcx, [rsp + 0x3c88]
call fcn.140001da0
mov r8, rax
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x3c90]
call fcn.14004ca50
test rax, rax
je 0x14000a785
lea rcx, [rsp + 0x3cf0]
call fcn.140001cf0
nop
lea rdx, str.CInitInfoStorage::Init_already_exist_Uninstaller_registry._n
mov ecx, 4
call fcn.14001c160
lea rdx, [0x1401e0e18]
lea rcx, [rsp + 0x3c90]
call fcn.14004dd80
mov rdx, rax
lea rcx, [rsp + 0x3cf0]
call fcn.1400185f0
mov r8, qword [rsp + 0x3cf0]
lea rdx, str.CInitInfoStorage::Init___VERSION_CHECK___Registered_Version___1_s_._n
mov ecx, 4
call fcn.14001c160
lea rcx, [rsp + 0x3c90]
call fcn.14004ca20
lea rcx, [rsp + 0x3cf0]
call fcn.140001dc0
test eax, eax
je 0x14000a777
lea rax, [rsp + 0x3cec]
mov qword [rsp + 0x3e20], rax
lea rcx, [rsp + 0x3ce8]
mov qword [rsp + 0x3e28], rcx
lea rdx, [rsp + 0x3ce4]
mov qword [rsp + 0x3e30], rdx
xor edx, edx
lea rcx, [rsp + 0x3cf0]
call fcn.140001da0
mov rcx, qword [rsp + 0x3e20]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x3e28]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x3e30]
mov r9, rcx
lea r8, [rsp + 0x3ce0]
lea rdx, [0x1401e0e28]
mov rcx, rax
call fcn.1401acecc
mov eax, dword [rsp + 0x3ce0]
shl eax, 0x10
add eax, dword [rsp + 0x3ce4]
mov dword [rsp + 0x3cd4], eax
mov eax, dword [rsp + 0x3ce8]
shl eax, 0x10
add eax, dword [rsp + 0x3cec]
mov dword [rsp + 0x3cd0], eax
mov rax, qword [rsp + 0x3eb0]
add rax, 0x2b0
mov rcx, rax
call fcn.140003530
mov r8, rax
lea rdx, str.CInitInfoStorage::Init___VERSION_CHECK___Media_Version___1_s_._n
mov ecx, 4
call fcn.14001c160
lea rax, [rsp + 0x3cec]
mov qword [rsp + 0x3e38], rax
lea rcx, [rsp + 0x3ce8]
mov qword [rsp + 0x3e40], rcx
lea rdx, [rsp + 0x3ce4]
mov qword [rsp + 0x3e48], rdx
mov rdi, qword [rsp + 0x3eb0]
add rdi, 0x2b0
mov rcx, rdi
call fcn.140003530
mov rcx, qword [rsp + 0x3e38]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x3e40]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x3e48]
mov r9, rcx
lea r8, [rsp + 0x3ce0]
lea rdx, [0x1401e0ea8]
mov rcx, rax
call fcn.1401acecc
mov eax, dword [rsp + 0x3ce0]
shl eax, 0x10
add eax, dword [rsp + 0x3ce4]
mov dword [rsp + 0x3cdc], eax
mov eax, dword [rsp + 0x3ce8]
shl eax, 0x10
add eax, dword [rsp + 0x3cec]
mov dword [rsp + 0x3cd8], eax
mov dword [rsp + 0x20], 1
mov r9d, dword [rsp + 0x3cd8]
mov r8d, dword [rsp + 0x3cdc]
mov edx, dword [rsp + 0x3cd0]
mov ecx, dword [rsp + 0x3cd4]
call fcn.14001d2b0
mov dword [rsp + 0x3cf8], eax
cmp dword [rsp + 0x3cf8], 0
jne 0x14000a4f5
mov rax, qword [rsp + 0x3eb0]
add rax, 0x58
mov edx, 0x2720
mov rcx, rax
call fcn.1400061c0
nop
lea rcx, [rsp + 0x3cf0]
call fcn.140001d50
nop
lea rcx, [rsp + 0x3c90]
call fcn.14004dd10
nop
lea rcx, [rsp + 0x3c88]
call fcn.140001d50
jmp 0x14000a974
cmp dword [rsp + 0x3cf8], 1
jne 0x14000a777
lea rdx, [0x1401e1088]
lea rcx, [rsp + 0x3d08]
call fcn.1400033c0
nop
mov qword [rsp + 0x3d00], 0
mov dword [rsp + 0x3d30], 0
jmp 0x14000a541
mov eax, dword [rsp + 0x3d30]
inc eax
mov dword [rsp + 0x3d30], eax
mov eax, dword [rsp + 0x3d30]
mov qword [rsp + 0x3e50], rax
mov rcx, qword [rsp + 0x3eb0]
mov ecx, dword [rcx + 0x1d0]
mov rdx, qword [rsp + 0x3eb0]
add rdx, 0x1b0
mov qword [rsp + 0x3e58], rdx
mov edx, ecx
mov rcx, qword [rsp + 0x3e58]
call fcn.140010d60
add rax, 0x170
mov rcx, rax
call fcn.140011510
mov rcx, qword [rsp + 0x3e50]
cmp rcx, rax
jae 0x14000a68a
mov eax, dword [rsp + 0x3d30]
mov qword [rsp + 0x3e60], rax
mov rcx, qword [rsp + 0x3eb0]
mov ecx, dword [rcx + 0x1d0]
mov rdx, qword [rsp + 0x3eb0]
add rdx, 0x1b0
mov qword [rsp + 0x3e68], rdx
mov edx, ecx
mov rcx, qword [rsp + 0x3e68]
call fcn.140010d60
add rax, 0x170
mov rcx, qword [rsp + 0x3e60]
mov rdx, rcx
mov rcx, rax
call fcn.140010b80
mov rdx, rax
lea rcx, [rsp + 0x3d08]
call fcn.1400105e0
test eax, eax
jne 0x14000a685
mov eax, dword [rsp + 0x3d30]
mov qword [rsp + 0x3e70], rax
mov rcx, qword [rsp + 0x3eb0]
mov ecx, dword [rcx + 0x1d0]
mov rdx, qword [rsp + 0x3eb0]
add rdx, 0x1b0
mov qword [rsp + 0x3e78], rdx
mov edx, ecx
mov rcx, qword [rsp + 0x3e78]
call fcn.140010d60
add rax, 0x170
mov rcx, qword [rsp + 0x3e70]
mov rdx, rcx
mov rcx, rax
call fcn.140010b80
add rax, 0x28
mov rcx, rax
call fcn.140003530
mov qword [rsp + 0x3d00], rax
jmp 0x14000a68a
jmp 0x14000a531
cmp qword [rsp + 0x3d00], 0
je 0x14000a769
lea rdx, str.SOFTWARECanonSGMFUninst
lea rcx, [rsp + 0x3d80]
call fcn.140018590
nop
lea rdx, [0x1401e0284]
lea rcx, [rsp + 0x3d80]
call fcn.14000fd10
mov rdx, qword [rsp + 0x3d00]
lea rcx, [rsp + 0x3d80]
call fcn.14000fd10
mov r8, qword [rsp + 0x3d80]
lea rdx, str.CInitInfoStorage::Init___VERSION_CHECK___ScanUinistReg___1_s_._n
mov ecx, 4
call fcn.14001c160
lea rcx, [rsp + 0x3d40]
call fcn.14004dcb0
nop
xor edx, edx
lea rcx, [rsp + 0x3d80]
call fcn.140001da0
mov r8, rax
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x3d40]
call fcn.14004ca50
test rax, rax
je 0x14000a74d
mov rax, qword [rsp + 0x3eb0]
mov dword [rax + 0x55c], 1
lea rdx, str.__VERSION_CHECK___ScanUinistReg_exist_._n
mov ecx, 4
call fcn.14001c160
nop
lea rcx, [rsp + 0x3d40]
call fcn.14004dd10
nop
lea rcx, [rsp + 0x3d80]
call fcn.140001d50
nop
lea rcx, [rsp + 0x3d08]
call fcn.140003430
nop
lea rcx, [rsp + 0x3cf0]
call fcn.140001d50
nop
lea rcx, [rsp + 0x3c90]
call fcn.14004dd10
nop
lea rcx, [rsp + 0x3c88]
call fcn.140001d50
jmp 0x14000a181
mov r8d, 0x2002
xor edx, edx
lea rcx, [rsp + 0x160]
call fcn.1401ac6a0
mov rax, qword [rsp + 0x3eb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x1001
lea r9, [rsp + 0x160]
lea r8, [0x1401e032c]
lea rdx, str.Srv2008_Edition
lea rcx, [rsp + 0x2b80]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [rsp + 0x28d0], 0x10
lea rcx, [rsp + 0x160]
call fcn.1401abfb8
test rax, rax
je 0x14000a84c
lea rax, [rsp + 0x160]
mov qword [rsp + 0x3d88], rax
mov r8d, 0x10
lea rdx, [rsp + 0x3d88]
lea rcx, [rsp + 0x160]
call fcn.1401acde8
mov rcx, qword [rsp + 0x3eb0]
mov qword [rcx + 0x1a8], rax
jmp 0x14000a85f
mov rax, qword [rsp + 0x3eb0]
mov qword [rax + 0x1a8], 0
mov r9, qword [rsp + 0x3eb8]
mov r8d, 1
lea rdx, [rsp + 0x24d0]
lea rcx, [rsp + 0x24d0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov rcx, qword [rsp + 0x3eb0]
mov dword [rcx + 0x558], eax
mov rdx, qword [rsp + 0x3eb8]
mov rcx, qword [rsp + 0x3eb0]
call fcn.14000d730
test eax, eax
jne 0x14000a8af
jmp 0x14000a974
mov rax, qword [rsp + 0x3eb0]
mov dword [rax + 0x554], 1
lea rdx, str.CInitInfoStorage::Init________________________OUT_n
mov ecx, 4
call fcn.14001c160
mov dword [rsp + 0x3d90], 1
lea rcx, [rsp + 0x28e0]
call sym.Setup.exe_public_virtual:_void___cdecl_CDeviceInfSection::destructor_void____ptr64
nop
lea rcx, [rsp + 0x29a0]
call sym.Setup.exe_public_virtual:_void___cdecl_CDeviceInfSection::destructor_void____ptr64
nop
lea rcx, [rsp + 0x2510]
call sym.Setup.exe_public_virtual:_void___cdecl_CDeviceInfSection::destructor_void____ptr64
nop
lea rcx, [rsp + 0x24a0]
call fcn.1400612b0
nop
lea rcx, [rsp + 0x25c0]
call fcn.140066f20
nop
lea rcx, [rsp + 0x110]
call fcn.140010770
nop
lea rcx, [rsp + 0x2228]
call fcn.140003430
nop
lea rcx, [rsp + 0x130]
call fcn.140003430
nop
lea rcx, [rsp + 0x2b58]
call fcn.140003430
nop
lea rcx, [rsp + 0x21e0]
call fcn.140003430
mov eax, dword [rsp + 0x3d90]
jmp 0x14000aa22
lea rdx, str.CInitInfoStorage::Init________________________ERROR_OUT_n
mov ecx, 4
call fcn.14001c160
mov dword [rsp + 0x3d94], 0
lea rcx, [rsp + 0x28e0]
call sym.Setup.exe_public_virtual:_void___cdecl_CDeviceInfSection::destructor_void____ptr64
nop
lea rcx, [rsp + 0x29a0]
call sym.Setup.exe_public_virtual:_void___cdecl_CDeviceInfSection::destructor_void____ptr64
nop
lea rcx, [rsp + 0x2510]
call sym.Setup.exe_public_virtual:_void___cdecl_CDeviceInfSection::destructor_void____ptr64
nop
lea rcx, [rsp + 0x24a0]
call fcn.1400612b0
nop
lea rcx, [rsp + 0x25c0]
call fcn.140066f20
nop
lea rcx, [rsp + 0x110]
call fcn.140010770
nop
lea rcx, [rsp + 0x2228]
call fcn.140003430
nop
lea rcx, [rsp + 0x130]
call fcn.140003430
nop
lea rcx, [rsp + 0x2b58]
call fcn.140003430
nop
lea rcx, [rsp + 0x21e0]
call fcn.140003430
mov eax, dword [rsp + 0x3d94]
mov rcx, qword [rsp + 0x3e80]
xor rcx, rsp
call fcn.1401ab2d0
add rsp, 0x3e98
pop rdi
pop rsi
ret