Function at 0x14001d060
Capabilities:
Create directory
Get common file path
Get program files directory
Identify system language via api

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf70
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0xfc0], rbx
mov rax, qword [0x14012ce40]
xor rax, rsp
mov qword [rsp + 0xf68], rax
mov ebx, edx
mov r13, rcx
xor r15d, r15d
mov rax, qword [0x1401370f0]
test rax, rax
jne 0x14001d0d2
mov ecx, 0x310
call fcn.140084d88
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001d0c8
mov rcx, rax
call fcn.140050830
jmp 0x14001d0cb
mov rax, r15
mov qword [0x1401370f0], rax
lea rcx, str.____ROLLBACK___
lea r8, [0x1400efef4]
test ebx, ebx
cmovne r8, rcx
lea rdx, str.____InitializeStep______s
mov rcx, rax
call fcn.140050c00
test ebx, ebx
je 0x14001d103
mov eax, 1
jmp 0x14001dfc5
mov dword [0x140136ce4], 1
mov dword [0x140137110], 1
mov dword [0x14012e8c8], 1
mov word [rsp + 0x6d0], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x6d2]
call fcn.1400b57e0
mov word [rsp + 0xd00], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0xd02]
call fcn.1400b57e0
call fcn.14008cdf8
mov rcx, qword [rax + 8]
mov r8d, 0x104
lea rdx, [rsp + 0xd00]
mov rcx, qword [rcx + 0x88]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x6d0]
mov edx, 0x104
lea rcx, [rsp + 0xd00]
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov r11, qword [rsp + 0x30]
mov word [r11], 0
mov word [r13 + 0x123c], 0
lea r8, [rsp + 0x6d0]
mov edx, 0x104
lea rcx, [r13 + 0x123c]
call fcn.1400b1b70
mov word [rsp + 0x6d0], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x6d2]
call fcn.1400b57e0
lea r11, [rsp + 0x6d0]
mov qword [rsp + 0x20], r11
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x26]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x14001d238
mov word [r13 + 0xc24], 0
lea r8, [rsp + 0x6d0]
mov edx, 0x104
lea rcx, [r13 + 0xc24]
call fcn.1400b1b70
jmp 0x14001d25a
mov word [r13 + 0xc24], 0
lea r8, str.C:Program_Files
mov edx, 0x104
lea rcx, [r13 + 0xc24]
call fcn.1400b1b70
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx esi, ax
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
movzx ebp, ax
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx ebx, ax
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
cmp si, bx
jne 0x14001d2b4
cmp si, ax
jne 0x14001d2b4
mov ecx, r15d
movzx edx, si
lea rbx, [0x14012f770]
mov rax, rbx
cmp dword [rax], edx
je 0x14001d2a7
add ecx, 1
add rax, 0x18
cmp ecx, 0x26
jb 0x14001d295
jmp 0x14001d2e2
mov eax, ecx
lea rcx, [rax + rax*2]
mov si, word [rbx + rcx*8 + 4]
jmp 0x14001d2e2
mov eax, r15d
movzx edx, bp
lea rbx, [0x14012f770]
mov rcx, rbx
cmp dword [rcx], edx
je 0x14001d2d9
add eax, 1
add rcx, 0x18
cmp eax, 0x26
jb 0x14001d2c4
mov si, bp
jmp 0x14001d2e2
lea rcx, [rax + rax*2]
mov si, word [rbx + rcx*8 + 4]
movzx edx, si
mov esi, edx
and esi, 0x1ff
mov eax, r15d
mov rcx, rbx
cmp dword [rcx], edx
je 0x14001d40c
add eax, 1
add rcx, 0x18
cmp eax, 0x26
jb 0x14001d2f3
mov r8, qword [str.English]
mov word [r13 + 0x1854], 0
test r8, r8
je 0x14001d32e
mov edx, 0x104
lea rcx, [r13 + 0x1854]
call fcn.1400b1b70
mov eax, r15d
mov rcx, rbx
cmp dword [rcx], esi
je 0x14001d3e1
add eax, 1
add rcx, 0x18
cmp eax, 0x26
jb 0x14001d334
mov r8, qword [str.English]
mov word [r13 + 0x1854], 0
test r8, r8
je 0x14001d36f
mov edx, 0x104
lea rcx, [r13 + 0x1854]
call fcn.1400b1b70
mov eax, r15d
mov rcx, rbx
cmp dword [rcx], 9
je 0x14001d3b6
add eax, 1
add rcx, 0x18
cmp eax, 0x26
jb 0x14001d375
mov r8, qword [str.English]
mov word [r13 + 0x1854], 0
test r8, r8
je 0x14001d435
mov edx, 0x104
lea rcx, [r13 + 0x1854]
call fcn.1400b1b70
jmp 0x14001d435
lea rcx, [rax + rax*2]
mov r8, qword [rbx + rcx*8 + 8]
mov word [r13 + 0x1854], 0
test r8, r8
je 0x14001d435
mov edx, 0x104
lea rcx, [r13 + 0x1854]
call fcn.1400b1b70
jmp 0x14001d435
lea rcx, [rax + rax*2]
mov r8, qword [rbx + rcx*8 + 8]
mov word [r13 + 0x1854], 0
test r8, r8
je 0x14001d435
mov edx, 0x104
lea rcx, [r13 + 0x1854]
call fcn.1400b1b70
jmp 0x14001d435
lea rcx, [rax + rax*2]
mov r8, qword [rbx + rcx*8 + 8]
mov word [r13 + 0x1854], 0
test r8, r8
je 0x14001d435
mov edx, 0x104
lea rcx, [r13 + 0x1854]
call fcn.1400b1b70
mov rax, qword [0x1401370f0]
test rax, rax
jne 0x14001d469
mov ecx, 0x310
call fcn.140084d88
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001d45f
mov rcx, rax
call fcn.140050830
jmp 0x14001d462
mov rax, r15
mov qword [0x1401370f0], rax
lea r8, [r13 + 0x1854]
lea rdx, str.GetLandDir____s
mov rcx, rax
call fcn.140050c00
lea rdx, [0x1400e93f4]
lea rcx, [r13 + 0xc24]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
xor edx, edx
lea rcx, [r13 + 0xc24]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov word [rsp + 0xaf0], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0xaf2]
call fcn.1400b57e0
mov rbx, qword [0x140136ce8]
test rbx, rbx
jne 0x14001d51c
lea ecx, [rbx + 0x30]
call fcn.140084d88
mov rbx, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001d512
mov ecx, 0x20
call fcn.140084d88
nop
test rax, rax
je 0x14001d500
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r15
jmp 0x14001d503
mov rax, r15
mov qword [rbx + 0x28], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x14001d515
mov rbx, r15
mov qword [0x140136ce8], rbx
mov r9d, 0x104
lea r8, [rsp + 0xaf0]
lea rdx, str.INSTALL_DIRECTORY
mov rcx, rbx
call fcn.14004a950
lea rdx, [rsp + 0xaf0]
lea rcx, [r13 + 0xc24]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
xor edx, edx
lea rcx, [r13 + 0xc24]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rcx, [r13 + 0xe2c]
lea r9, [r13 + 0xc24]
lea r8, [0x1400edf98]
mov edx, 0x104
call fcn.1400b1010
lea rcx, [r13 + 0x1034]
lea r9, [r13 + 0xc24]
lea r8, [0x1400edfa8]
mov edx, 0x104
call fcn.1400b1010
lea rcx, [r13 + 0x1444]
lea r9, [r13 + 0x123c]
lea r8, str._sx32
mov edx, 0x104
call fcn.1400b1010
lea r9, [r13 + 0x123c]
lea r8, str._sx64
mov edx, 0x104
lea rcx, [r13 + 0x164c]
call fcn.1400b1010
mov rax, qword [0x1401370f0]
test rax, rax
jne 0x14001d60d
mov ecx, 0x310
call fcn.140084d88
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001d603
mov rcx, rax
call fcn.140050830
jmp 0x14001d606
mov rax, r15
mov qword [0x1401370f0], rax
lea r8, [r13 + 0xc24]
lea rdx, str.__programFilesDir:_s
mov rcx, rax
call fcn.140050c00
mov rbx, qword [0x140136ce8]
test rbx, rbx
jne 0x14001d67e
lea ecx, [rbx + 0x30]
call fcn.140084d88
mov rbx, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001d674
mov ecx, 0x20
call fcn.140084d88
nop
test rax, rax
je 0x14001d662
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r15
jmp 0x14001d665
mov rax, r15
mov qword [rbx + 0x28], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x14001d677
mov rbx, r15
mov qword [0x140136ce8], rbx
lea r8, [r13 + 0xa10]
mov r9d, 0x100
lea rdx, str.PRINTER_SERIES_NAME
mov rcx, rbx
call fcn.14004a950
mov word [rsp + 0x4c0], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x4c2]
call fcn.1400b57e0
mov rbx, qword [0x140136ce8]
test rbx, rbx
jne 0x14001d714
lea ecx, [rbx + 0x30]
call fcn.140084d88
mov rbx, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001d70a
mov ecx, 0x20
call fcn.140084d88
nop
test rax, rax
je 0x14001d6f8
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r15
jmp 0x14001d6fb
mov rax, r15
mov qword [rbx + 0x28], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x14001d70d
mov rbx, r15
mov qword [0x140136ce8], rbx
mov r9d, 0x104
lea r8, [rsp + 0x4c0]
lea rdx, str.PRINT_INFNAME
mov rcx, rbx
call fcn.14004a950
test eax, eax
jne 0x14001d7ab
lea rax, [rsp + 0x4c0]
mov qword [rsp + 0x20], rax
lea r9, [r13 + 0x123c]
lea r8, str._s_s
mov edx, 0x104
lea rcx, [r13 + 0x1a5c]
call fcn.1400b1010
mov rax, qword [0x1401370f0]
test rax, rax
jne 0x14001d795
mov ecx, 0x310
call fcn.140084d88
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001d78b
mov rcx, rax
call fcn.140050830
jmp 0x14001d78e
mov rax, r15
mov qword [0x1401370f0], rax
lea r8, [r13 + 0x1a5c]
lea rdx, str.__print_inf:_s
mov rcx, rax
call fcn.140050c00
mov rbx, qword [0x140136ce8]
test rbx, rbx
jne 0x14001d806
lea ecx, [rbx + 0x30]
call fcn.140084d88
mov rbx, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001d7fc
mov ecx, 0x20
call fcn.140084d88
nop
test rax, rax
je 0x14001d7ea
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r15
jmp 0x14001d7ed
mov rax, r15
mov qword [rbx + 0x28], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x14001d7ff
mov rbx, r15
mov qword [0x140136ce8], rbx
mov r9d, 0x104
lea r8, [rsp + 0x4c0]
lea rdx, str.EWS_INFNAME
mov rcx, rbx
call fcn.14004a950
test eax, eax
jne 0x14001d89d
lea rax, [rsp + 0x4c0]
mov qword [rsp + 0x20], rax
lea r9, [r13 + 0x123c]
lea r8, str._s_s
mov edx, 0x104
lea rcx, [r13 + 0x1c64]
call fcn.1400b1010
mov rax, qword [0x1401370f0]
test rax, rax
jne 0x14001d887
mov ecx, 0x310
call fcn.140084d88
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001d87d
mov rcx, rax
call fcn.140050830
jmp 0x14001d880
mov rax, r15
mov qword [0x1401370f0], rax
lea r8, [r13 + 0x1c64]
lea rdx, str.__ews_inf:_s
mov rcx, rax
call fcn.140050c00
mov rbx, qword [0x140136ce8]
test rbx, rbx
jne 0x14001d8f8
lea ecx, [rbx + 0x30]
call fcn.140084d88
mov rbx, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001d8ee
mov ecx, 0x20
call fcn.140084d88
nop
test rax, rax
je 0x14001d8dc
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r15
jmp 0x14001d8df
mov rax, r15
mov qword [rbx + 0x28], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x14001d8f1
mov rbx, r15
mov qword [0x140136ce8], rbx
mov r9d, 0x104
lea r8, [rsp + 0x4c0]
lea rdx, str.SCAN_INFNAME
mov rcx, rbx
call fcn.14004a950
test eax, eax
jne 0x14001d98f
lea rax, [rsp + 0x4c0]
mov qword [rsp + 0x20], rax
lea r9, [r13 + 0x123c]
lea r8, str._s_s
mov edx, 0x104
lea rcx, [r13 + 0x1e6c]
call fcn.1400b1010
mov rax, qword [0x1401370f0]
test rax, rax
jne 0x14001d979
mov ecx, 0x310
call fcn.140084d88
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001d96f
mov rcx, rax
call fcn.140050830
jmp 0x14001d972
mov rax, r15
mov qword [0x1401370f0], rax
lea r8, [r13 + 0x1e6c]
lea rdx, str.__scan_inf:_s
mov rcx, rax
call fcn.140050c00
mov rbx, qword [0x140136ce8]
test rbx, rbx
jne 0x14001d9ea
lea ecx, [rbx + 0x30]
call fcn.140084d88
mov rbx, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001d9e0
mov ecx, 0x20
call fcn.140084d88
nop
test rax, rax
je 0x14001d9ce
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r15
jmp 0x14001d9d1
mov rax, r15
mov qword [rbx + 0x28], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x14001d9e3
mov rbx, r15
mov qword [0x140136ce8], rbx
mov r9d, 0x104
lea r8, [rsp + 0x4c0]
lea rdx, str.NETWORK_SCAN_INFNAME
mov rcx, rbx
call fcn.14004a950
test eax, eax
jne 0x14001da81
lea rax, [rsp + 0x4c0]
mov qword [rsp + 0x20], rax
lea r9, [r13 + 0x123c]
lea r8, str._s_s
mov edx, 0x104
lea rcx, [r13 + 0x2074]
call fcn.1400b1010
mov rax, qword [0x1401370f0]
test rax, rax
jne 0x14001da6b
mov ecx, 0x310
call fcn.140084d88
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001da61
mov rcx, rax
call fcn.140050830
jmp 0x14001da64
mov rax, r15
mov qword [0x1401370f0], rax
lea r8, [r13 + 0x2074]
lea rdx, str.__network_scan_inf:_s
mov rcx, rax
call fcn.140050c00
mov rbx, qword [0x140136ce8]
test rbx, rbx
jne 0x14001dadc
lea ecx, [rbx + 0x30]
call fcn.140084d88
mov rbx, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001dad2
mov ecx, 0x20
call fcn.140084d88
nop
test rax, rax
je 0x14001dac0
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r15
jmp 0x14001dac3
mov rax, r15
mov qword [rbx + 0x28], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x14001dad5
mov rbx, r15
mov qword [0x140136ce8], rbx
mov r9d, 0x104
lea r8, [rsp + 0x4c0]
lea rdx, str.FAX_INFNAME
mov rcx, rbx
call fcn.14004a950
test eax, eax
jne 0x14001db73
lea rax, [rsp + 0x4c0]
mov qword [rsp + 0x20], rax
lea r9, [r13 + 0x123c]
lea r8, str._s_s
mov edx, 0x104
lea rcx, [r13 + 0x227c]
call fcn.1400b1010
mov rax, qword [0x1401370f0]
test rax, rax
jne 0x14001db5d
mov ecx, 0x310
call fcn.140084d88
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001db53
mov rcx, rax
call fcn.140050830
jmp 0x14001db56
mov rax, r15
mov qword [0x1401370f0], rax
lea r8, [r13 + 0x227c]
lea rdx, str.__fax_inf:_s
mov rcx, rax
call fcn.140050c00
mov rbx, qword [0x140136ce8]
test rbx, rbx
jne 0x14001dbce
lea ecx, [rbx + 0x30]
call fcn.140084d88
mov rbx, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001dbc4
mov ecx, 0x20
call fcn.140084d88
nop
test rax, rax
je 0x14001dbb2
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r15
jmp 0x14001dbb5
mov rax, r15
mov qword [rbx + 0x28], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x14001dbc7
mov rbx, r15
mov qword [0x140136ce8], rbx
mov r9d, 0x104
lea r8, [rsp + 0x4c0]
lea rdx, str.FAXPRINTER_INFNAME
mov rcx, rbx
call fcn.14004a950
test eax, eax
jne 0x14001dc65
lea rax, [rsp + 0x4c0]
mov qword [rsp + 0x20], rax
lea r9, [r13 + 0x123c]
lea r8, str._s_s
mov edx, 0x104
lea rcx, [r13 + 0x2484]
call fcn.1400b1010
mov rax, qword [0x1401370f0]
test rax, rax
jne 0x14001dc4f
mov ecx, 0x310
call fcn.140084d88
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001dc45
mov rcx, rax
call fcn.140050830
jmp 0x14001dc48
mov rax, r15
mov qword [0x1401370f0], rax
lea r8, [r13 + 0x2484]
lea rdx, str.__fax_printer_inf:_s
mov rcx, rax
call fcn.140050c00
mov qword [rsp + 0x50], 0xffffffffffffffff
mov qword [rsp + 0x58], r15
mov word [rsp + 0x70], 0
mov word [rsp + 0x270], 0
lea rax, str.DataSection
mov qword [rsp + 0x470], rax
lea rax, str.DestinationDirs
mov qword [rsp + 0x478], rax
lea rax, str.CopyFiles
mov qword [rsp + 0x480], rax
lea rax, str.DriverFile
mov qword [rsp + 0x488], rax
lea rax, str.ConfigFile
mov qword [rsp + 0x490], rax
lea rax, str.DataFile
mov qword [rsp + 0x498], rax
lea rax, str.DefaultDataType
mov qword [rsp + 0x4a0], rax
lea rax, str.HelpFile
mov qword [rsp + 0x4a8], rax
lea rax, str.LanguageMonitor
mov qword [rsp + 0x4b0], rax
lea rax, str.PrintProcessor
mov qword [rsp + 0x4b8], rax
lea r8, [r13 + 0x2698]
lea rdx, [r13 + 0x1a5c]
lea rcx, [rsp + 0x50]
call fcn.1400518c0
mov rbx, qword [0x140136ce8]
test rbx, rbx
jne 0x14001dd8d
lea ecx, [rbx + 0x30]
call fcn.140084d88
mov rbx, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001dd83
mov ecx, 0x20
call fcn.140084d88
nop
test rax, rax
je 0x14001dd71
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r15
jmp 0x14001dd74
mov rax, r15
mov qword [rbx + 0x28], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x14001dd86
mov rbx, r15
mov qword [0x140136ce8], rbx
lea r8, [r13 + 0x2708]
lea rdx, str.PRODUCT_VIDPID
mov rcx, rbx
call fcn.14004c670
call fcn.1400171a0
mov word [rsp + 0x8e0], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x8e2]
call fcn.1400b57e0
mov edx, 0x104
lea rcx, [rsp + 0x8e0]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov dword [rsp + 0x30], r15d
mov rbx, qword [0x140136ce8]
test rbx, rbx
jne 0x14001de3a
lea ecx, [rbx + 0x30]
call fcn.140084d88
mov rbx, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14001de30
mov ecx, 0x20
call fcn.140084d88
nop
test rax, rax
je 0x14001de1e
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r15
jmp 0x14001de21
mov rax, r15
mov qword [rbx + 0x28], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x14001de33
mov rbx, r15
mov qword [0x140136ce8], rbx
lea r8, [r13 + 0x2740]
lea rdx, str.CORE64_MSIS
mov rcx, rbx
call fcn.14004c670
mov rbx, qword [0x140136ce8]
test rbx, rbx
jne 0x14001deab
lea ecx, [rbx + 0x30]
call fcn.140084d88
mov rbx, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14001dea1
mov ecx, 0x20
call fcn.140084d88
nop
test rax, rax
je 0x14001de8f
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r15
jmp 0x14001de92
mov rax, r15
mov qword [rbx + 0x28], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x14001dea4
mov rbx, r15
mov qword [0x140136ce8], rbx
lea r8, [r13 + 0x2778]
lea rdx, str.FAX64_MSIS
mov rcx, rbx
call fcn.14004c670
lea r11, [rsp + 0x30]
mov qword [rsp + 0x20], r11
mov r9d, 1
lea r8, [rsp + 0x8e0]
lea rdx, [r13 + 0x164c]
lea rcx, str.mvhlewsi.dll
call fcn.14005f920
lea r11, [rsp + 0x30]
mov qword [rsp + 0x20], r11
mov r9d, 1
lea r8, [r13 + 0x123c]
lea rdx, [r13 + 0x164c]
lea rcx, str.mvhlewsi.dll
call fcn.14005f920
lea r11, [rsp + 0x30]
mov qword [rsp + 0x20], r11
mov r9d, 1
lea r8, [rsp + 0x8e0]
lea rdx, [r13 + 0x164c]
lea rcx, str.Difxapi.dll
call fcn.14005f920
lea r11, [rsp + 0x30]
mov qword [rsp + 0x20], r11
mov r9d, 1
lea r8, [r13 + 0x123c]
lea rdx, [r13 + 0x164c]
lea rcx, str.Difxapi.dll
call fcn.14005f920
mov rax, qword [0x1401370f0]
test rax, rax
jne 0x14001df9f
mov ecx, 0x310
call fcn.140084d88
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14001df95
mov rcx, rax
call fcn.140050830
jmp 0x14001df98
mov rax, r15
mov qword [0x1401370f0], rax
lea rdx, str.Perform_the_driver_localization_shuffle_if_necessary...
mov rcx, rax
call fcn.140050c00
lea rcx, [r13 + 0x123c]
call fcn.14002a990
mov r11d, dword [rsp + 0x30]
or dword [r13], r11d
xor eax, eax
mov rcx, qword [rsp + 0xf68]
xor rcx, rsp
call fcn.1400b09d0
mov rbx, qword [rsp + 0xfc0]
add rsp, 0xf70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret