Function at 0x140017cd0
Capabilities:
Check if file exists
Get file attributes
Set current directory

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov qword [rbp + 0x30], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x1400c5a08]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov r9, r8
mov qword [rbp + 0x20], r8
mov r8, rdx
mov qword [rbp + 0x28], rdx
mov qword [rsp + 0x68], rcx
and dword [rbp - 0x58], 0
xor edi, edi
mov qword [rbp - 0x38], rdi
xor ebx, ebx
mov qword [rbp + 8], rbx
and qword [rbp - 8], rbx
and qword [rbp - 0x10], rbx
and qword [rbp - 0x18], rbx
and qword [rbp - 0x20], rbx
xor r14d, r14d
mov qword [rbp - 0x40], r14
and qword [rbp - 0x28], r14
and qword [rbp - 0x78], r14
xor esi, esi
mov qword [rbp - 0x80], rsi
xor edx, edx
mov qword [rsp + 0x70], rdx
xor r12d, r12d
mov qword [rbp - 0x30], r12
and qword [rbp - 0x48], r12
xor r15d, r15d
mov qword [rbp - 0x60], r15
xor r13d, r13d
mov qword [rbp - 0x68], r13
and qword [rbp - 0x50], r13
and qword [rbp + 0x10], r13
and dword [rbp + 0x18], r13d
test rcx, rcx
jne 0x140017d90
mov ecx, 0x80070057
mov dword [rsp + 0x60], ecx
call fcn.140025d30
jmp 0x140018d47
test r8, r8
jne 0x140017dab
mov ecx, 0x80070057
mov r8d, ecx
mov dword [rsp + 0x60], ecx
call fcn.140025d30
jmp 0x140018c81
test r9, r9
je 0x140017d95
and dword [rsp + 0x60], 0
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
nop dword [rax + rax]
test eax, eax
js 0x140017dd2
mov dword [rbp - 0x58], 1
jmp 0x140017de4
cmp eax, 0x80010106
je 0x140017de4
mov dword [rsp + 0x60], eax
mov ecx, eax
call fcn.140025d30
mov ecx, dword [rsp + 0x60]
call fcn.140025d50
mov r8d, dword [rsp + 0x60]
test r8d, r8d
jns 0x140017dff
mov ecx, r8d
jmp 0x14001859c
and qword [rsp + 0x40], 0
and dword [rsp + 0x38], 0
and qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 3
and dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
or edx, 0xffffffff
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
nop dword [rax + rax]
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
cmp eax, 0x80010119
je 0x140017e4c
test eax, eax
js 0x14001859c
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x108], 7
je 0x140017e79
lea rcx, [rbp + 0x10]
call fcn.1400916ec
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
test eax, eax
js 0x14001859c
mov rax, qword [rsp + 0x68]
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
mov rcx, qword [rax + 0x60]
test rcx, rcx
je 0x140017ed7
lea rdx, [rbp + 0x50]
call qword [sym.imp.RPCRT4.dll_UuidFromStringW]
nop dword [rax + rax]
test eax, eax
je 0x140017ed2
mov ecx, eax
call qword [sym.imp.RPCRT4.dll_I_RpcMapWin32Status]
nop dword [rax + rax]
movzx r8d, ax
or r8d, 0x80070000
test eax, eax
cmovle r8d, eax
mov eax, 0x80004005
test r8d, r8d
cmovns r8d, eax
mov dword [rsp + 0x60], r8d
jmp 0x140017df7
mov rax, qword [rsp + 0x68]
mov r9, qword [rax + 0x78]
test r9, r9
je 0x140017f5b
lea r8, str.GlobalMoSetup
lea rdx, [0x1400a41b8]
lea rcx, [rbp - 8]
call fcn.140002c14
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
test eax, eax
js 0x14001859c
mov r8, qword [rbp - 8]
xor edx, edx
mov ecx, 0x100000
call qword [sym.imp.KERNEL32.dll_OpenEventW]
nop dword [rax + rax]
mov qword [rbp - 0x18], rax
test rax, rax
jne 0x140017f56
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
test eax, eax
jne 0x140017f40
mov r8d, 0x80004005
jmp 0x140017ec8
movzx r8d, ax
or r8d, 0x80070000
test eax, eax
cmovle r8d, eax
jmp 0x140017ec8
mov rax, qword [rsp + 0x68]
mov r9, qword [rax + 0x80]
test r9, r9
je 0x140017fb3
lea r8, str.GlobalMoSetup
lea rdx, [0x1400a41b8]
lea rcx, [rbp - 0x10]
call fcn.140002c14
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
test eax, eax
js 0x14001859c
mov r8, qword [rbp - 0x10]
xor edx, edx
mov ecx, 0x100000
call qword [sym.imp.KERNEL32.dll_OpenEventW]
nop dword [rax + rax]
mov qword [rbp - 0x20], rax
test rax, rax
je 0x140017f28
lea rdx, [rbp - 0x40]
call fcn.1400248d4
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
test eax, eax
jns 0x140017fd2
mov r14, qword [rbp - 0x40]
jmp 0x14001859c
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax + 0x108]
cmp ecx, 7
ja 0x140018015
mov eax, 0x94
bt eax, ecx
jae 0x140018015
mov r14, qword [rbp - 0x40]
test r14, r14
je 0x140018064
lea rdx, [rsp + 0x64]
mov rcx, r14
call fcn.140029fcc
mov ecx, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14001809b
mov rcx, r14
jmp 0x140018084
mov r14, qword [rbp - 0x40]
lea r8, [rbp - 0x28]
mov rcx, r14
call fcn.1400246b0
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
test eax, eax
js 0x14001859c
lea r9, [rbp - 0x30]
lea rdx, str.Sources
mov rcx, qword [rbp - 0x28]
call fcn.140024234
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
mov r12, qword [rbp - 0x30]
test eax, eax
js 0x14001859c
test r12, r12
jne 0x14001806a
xor ecx, ecx
xor edx, edx
jmp 0x140018088
lea rdx, [rsp + 0x64]
mov rcx, r12
call fcn.140029fcc
mov ecx, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14001809b
mov rcx, r12
mov edx, dword [rsp + 0x64]
lea r8, [rbp - 0x78]
call fcn.140028308
mov ecx, eax
test eax, eax
mov dword [rsp + 0x60], eax
jns 0x1400180a0
call fcn.140025d30
call fcn.140025d50
mov r8d, dword [rsp + 0x60]
test r8d, r8d
js 0x140017df7
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop dword [rax + rax]
cmp eax, 0xffffffff
je 0x1400180d4
shr eax, 4
and eax, 1
mov dword [rsp + 0x78], eax
jmp 0x1400180d9
and dword [rsp + 0x78], 0
xor ecx, ecx
call fcn.140025d50
xor ecx, ecx
call fcn.140025d50
cmp dword [rsp + 0x78], 0
jne 0x140018108
mov rcx, qword [rbp - 0x78]
call fcn.14002436c
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
test eax, eax
js 0x14001859c
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
nop dword [rax + rax]
test eax, eax
je 0x140017f28
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax + 0x10c]
cmp ecx, 4
jne 0x14001815a
lea rdx, [rbp - 0x80]
lea rcx, str._windir_Panther
call fcn.140024a30
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
test eax, eax
jns 0x140018204
mov rsi, qword [rbp - 0x80]
jmp 0x14001859c
cmp ecx, 5
je 0x1400181d2
cmp ecx, 0xa
je 0x1400181d2
mov eax, dword [rax + 0x108]
sub eax, 2
test eax, 0xfffffffd
je 0x14001818a
lea r9, [rbp - 0x80]
lea rdx, str.Panther
mov rcx, qword [rbp - 0x78]
call fcn.140024234
jmp 0x140018140
lea rdx, [rbp - 0x80]
lea rcx, str._systemdrive__Windows.BTSourcesPanther
call fcn.140024a30
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
test eax, eax
js 0x140018151
lea rdx, [rbp - 0x48]
lea rcx, str._windir_Panther
call fcn.140024a30
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
test eax, eax
js 0x140018151
mov rcx, qword [rbp - 0x48]
call fcn.14002436c
jmp 0x140018140
lea rdx, [rbp - 0x80]
lea rcx, str._systemdrive__Windows.BTSourcesRollback
call fcn.140024a30
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
test eax, eax
js 0x140018151
lea rdx, [rsp + 0x70]
lea rcx, str._systemdrive__Windows.BTSourcesPanther
jmp 0x14001813b
mov rsi, qword [rbp - 0x80]
mov rcx, rsi
call fcn.14002436c
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
test eax, eax
js 0x14001859c
mov rcx, rsi
call fcn.14002b838
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x68]
mov qword [rbp - 0x70], rcx
test rcx, rcx
je 0x14001828e
lea rdx, [rsp + 0x64]
call fcn.140029fcc
mov ecx, eax
mov dword [rsp + 0x60], eax
test eax, eax
jns 0x140018256
call fcn.140025d30
jmp 0x14001827a
lea r8, [rbp - 0x60]
mov edx, dword [rsp + 0x64]
mov rcx, qword [rbp - 0x70]
call fcn.140028308
mov ecx, eax
mov dword [rsp + 0x60], eax
test eax, eax
jns 0x140018276
call fcn.140025d30
mov r15, qword [rbp - 0x60]
call fcn.140025d50
mov r8d, dword [rsp + 0x60]
test r8d, r8d
jns 0x1400182b2
jmp 0x140017df7
lea rdx, [rbp - 0x60]
mov ecx, dword [rax + 0x108]
call fcn.1400178a0
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
mov r15, qword [rbp - 0x60]
test eax, eax
js 0x14001859c
and dword [rsp + 0x64], 0
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x10]
test rcx, rcx
jne 0x1400182fa
and dword [rsp + 0x60], ecx
lea rdx, [rsp + 0x60]
mov rcx, qword [rbp - 0x78]
call fcn.140017ac4
test eax, eax
jns 0x140018383
mov edx, eax
lea rcx, str.SetupHost:_Unable_to_check_for_server_media.__0x_X_
call fcn.14000568c
mov ecx, dword [rsp + 0x60]
mov dword [rsp + 0x78], ecx
jmp 0x14001838b
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop dword [rax + rax]
cmp eax, 0xffffffff
je 0x140018319
shr eax, 4
not eax
and eax, 1
mov dword [rsp + 0x78], eax
jmp 0x14001831e
and dword [rsp + 0x78], 0
xor ecx, ecx
call fcn.140025d50
xor ecx, ecx
call fcn.140025d50
cmp dword [rsp + 0x78], 0
je 0x140018369
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0xcc], 0
jne 0x140018369
lea r9, [rbp - 0x50]
lea r8, [rsp + 0x64]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rbp - 0x78]
call fcn.14001798c
test eax, eax
jns 0x140018369
mov edx, eax
lea rcx, str.SetupHost:_Unable_to_get_info_from_install_file.__0x_X_
call fcn.14000568c
and dword [rsp + 0x60], 0
cmp dword [rsp + 0x64], 0
je 0x1400182c9
mov dword [rsp + 0x78], 1
jmp 0x14001838b
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x70]
mov qword [rbp - 0x70], rax
test rax, rax
je 0x1400185d1
lea rdx, [rsp + 0x64]
mov rcx, rax
call fcn.140029fcc
mov ecx, eax
mov dword [rsp + 0x60], eax
test eax, eax
jns 0x1400183bf
call fcn.140025d30
jmp 0x1400183e3
mov rcx, qword [rbp - 0x70]
lea r8, [rbp - 0x68]
mov edx, dword [rsp + 0x64]
call fcn.140028308
mov ecx, eax
test eax, eax
mov dword [rsp + 0x60], eax
jns 0x1400183df
call fcn.140025d30
mov r13, qword [rbp - 0x68]
call fcn.140025d50
mov r8d, dword [rsp + 0x60]
test r8d, r8d
js 0x140017df7
lea rcx, [rbp - 0x38]
call fcn.14001e6f4
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
mov rdi, qword [rbp - 0x38]
test eax, eax
js 0x14001859c
mov rax, qword [rdi]
mov r8d, 1
mov rcx, qword [rsp + 0x68]
mov edx, dword [rcx + 0xa0]
mov rcx, rdi
mov rax, qword [rax + 0x38]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
test eax, eax
js 0x14001859c
mov rax, qword [rdi]
mov rdx, rsi
mov rcx, rdi
mov rax, qword [rax + 0x40]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
test eax, eax
js 0x14001859c
mov rax, qword [rdi]
mov rdx, r15
mov rcx, rdi
mov rax, qword [rax + 0x78]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
test eax, eax
js 0x14001859c
mov rax, qword [rdi]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rcx + 0x88]
mov rcx, rdi
mov rax, qword [rax + 0x88]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
test eax, eax
js 0x14001859c
mov rax, qword [rdi]
mov rdx, r13
mov rcx, rdi
mov rax, qword [rax + 0x90]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
test eax, eax
js 0x14001859c
mov rax, qword [rdi]
mov rcx, qword [rsp + 0x68]
mov edx, dword [rcx + 0x108]
mov rcx, rdi
mov rax, qword [rax + 0x98]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
test eax, eax
js 0x14001859c
mov rax, qword [rdi]
mov rcx, qword [rsp + 0x68]
mov edx, dword [rcx + 0x10c]
mov rcx, rdi
mov rax, qword [rax + 0xa0]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
test eax, eax
js 0x14001859c
mov rax, qword [rdi]
mov rcx, qword [rsp + 0x68]
mov edx, dword [rcx + 0xac]
mov rcx, rdi
mov rax, qword [rax + 0xa8]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
test eax, eax
js 0x14001859c
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x140018602
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x80]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
test eax, eax
jns 0x140018602
call fcn.140025d30
mov edx, 0x80070005
cmp r8d, edx
jne 0x140018c7c
mov r8d, 0xc19001e9
lea rcx, str.SetupHost:_Remapping_early_stage__0x_X__to__0x_X_
call fcn.14000568c
mov r8d, 0xc19001e9
mov dword [rsp + 0x60], r8d
jmp 0x140018c7c
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x1400183f6
lea rdx, [rsp + 0x64]
mov rcx, rax
call fcn.140029fcc
mov ecx, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400183b8
mov rcx, qword [rbp - 0x50]
jmp 0x1400183c3
mov rbx, qword [rsp + 0x68]
cmp dword [rbx + 0x10c], 2
jne 0x140018637
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
mov rax, qword [rax + 0x70]
call qword [str.PN_t_]
test eax, eax
jns 0x140018637
mov edx, eax
lea rcx, str.SetupHost:_Unable_to_configure_diagnostics_cleanup__0x_X_
call fcn.14000568c
xor eax, eax
cmp dword [rbx + 0xb0], eax
setne al
mov ecx, eax
or ecx, 8
cmp dword [rbx + 0xb4], 0
cmove ecx, eax
mov dword [rsp + 0x64], ecx
cmp dword [rbx + 0xb8], 0
jne 0x14001868a
mov dword [rbp - 0x70], ecx
lea r9, [rsp + 0x60]
lea r8, str.ShowWelcomeScreen
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionWindowsUpdateOSUpgrade
call fcn.140023d9c
test eax, eax
js 0x140018691
mov ecx, dword [rsp + 0x64]
mov edx, ecx
cmp dword [rsp + 0x60], 0
je 0x140018694
mov edx, ecx
or edx, 0x10
jmp 0x140018694
mov edx, dword [rbp - 0x70]
mov eax, edx
bts eax, 0xa
cmp dword [rbx + 0xbc], 0
cmove eax, edx
mov ecx, eax
or ecx, 2
cmp dword [rbx + 0xa8], 0
cmove ecx, eax
mov eax, ecx
or eax, 4
cmp dword [rbx + 0xac], 0
cmove eax, ecx
mov dword [rbp - 0x70], eax
mov edx, dword [rbx + 0x10c]
cmp edx, 5
je 0x1400186d7
mov ecx, eax
cmp edx, 0xa
jne 0x140018711
mov dword [rsp + 0x64], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
nop dword [rax + rax]
mov ecx, eax
lea rdx, [rbp]
call qword [sym.imp.KERNEL32.dll_ProcessIdToSessionId]
nop dword [rax + rax]
test eax, eax
je 0x14001870d
mov eax, dword [rbp - 0x70]
mov ecx, eax
cmp dword [rbp], 0
jne 0x140018711
or ecx, 4
jmp 0x140018711
mov ecx, dword [rsp + 0x64]
cmp dword [rsp + 0x78], 0
je 0x14001871b
or ecx, 0x20
mov eax, ecx
or eax, 0x40
cmp dword [rbx + 0xc8], 0
cmove eax, ecx
mov ecx, eax
bts ecx, 7
cmp dword [rbx + 0xcc], 0
cmove ecx, eax
mov eax, ecx
bts eax, 8
cmp dword [rbx + 0xd0], 0
cmove eax, ecx
mov ecx, eax
bts ecx, 9
cmp dword [rbx + 0xdc], 0
cmove ecx, eax
mov eax, ecx
bts eax, 0xb
cmp dword [rbx + 0xe4], 0
cmove eax, ecx
mov ecx, eax
bts ecx, 0xc
cmp dword [rbx + 0xd8], 0
cmove ecx, eax
mov eax, ecx
bts eax, 0xd
cmp dword [rbx + 0xd4], 0
cmove eax, ecx
mov ecx, eax
bts ecx, 0xe
cmp dword [rbx + 0xf0], 0
cmove ecx, eax
mov dword [rsp + 0x64], ecx
xor eax, eax
cmp dword [rbx + 0xc4], eax
setne al
mov ecx, eax
or ecx, 2
cmp dword [rbx + 0xe0], 0
cmove ecx, eax
mov dword [rbp - 0x70], ecx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
xor edx, edx
mov r8d, 0x1478
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
je 0x1400187f0
mov rcx, rax
call fcn.140026108
mov rbx, rax
jmp 0x1400187f2
xor ebx, ebx
mov qword [rbp + 8], rbx
xor ecx, ecx
call fcn.140025d50
mov rax, qword [rbx]
mov rdx, rdi
mov rcx, rbx
mov rax, qword [rax + 0x20]
call qword [str.PN_t_]
movaps xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rbp + 0x40], xmm0
mov r10, qword [rsp + 0x68]
mov rdx, qword [r10 + 0x88]
mov rax, qword [rbx]
mov rcx, qword [rbp - 0x20]
mov qword [rsp + 0x40], rcx
mov rcx, qword [rbp - 0x18]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r15
lea r9, [0x1400c8a80]
lea r8, [rbp + 0x40]
mov edx, dword [r10 + 0x108]
mov rcx, rbx
mov rax, qword [rax + 0xd8]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
test eax, eax
jns 0x14001887d
mov ecx, eax
jmp 0x140018c77
mov rax, qword [rbx]
mov rcx, qword [rsp + 0x68]
mov r9d, dword [rcx + 0xa4]
mov r8, qword [rcx + 0x20]
mov edx, dword [rcx + 0x108]
mov rcx, rbx
mov rax, qword [rax + 0xe0]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140018876
mov rax, qword [rbx]
mov rdx, qword [rsp + 0x68]
add rdx, 0x140
mov r8d, 0x634
mov rcx, rbx
mov rax, qword [rax + 0xb0]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140018876
mov rax, qword [rbx]
mov rdx, qword [rsp + 0x68]
add rdx, 0x774
mov r8d, 0xc80
mov rcx, rbx
mov rax, qword [rax + 0xa8]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140018876
mov r8, rsi
mov rax, qword [rbp - 0x48]
test rax, rax
cmovne r8, rax
mov rax, qword [rbx]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rcx + 0x138]
mov rcx, rbx
mov rax, qword [rax + 0xa0]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140018876
mov rax, qword [rbx]
mov rcx, qword [rsp + 0x68]
mov r8, qword [rcx + 0x28]
mov edx, dword [rcx + 0xfc]
mov rcx, rbx
mov rax, qword [rax + 0xb8]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140018876
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rdx + 0x48]
mov rax, qword [rbx]
mov qword [rsp + 0x20], rcx
mov r9, qword [rdx + 0x40]
mov r8, qword [rdx + 0x38]
mov rdx, qword [rdx + 0x30]
mov rcx, rbx
mov rax, qword [rax + 0xc0]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140018876
mov rax, qword [rbx]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rcx + 0x50]
mov rcx, rbx
mov rax, qword [rax + 0xc8]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140018876
mov r8, qword [rsp + 0x68]
mov rdx, qword [r8 + 0x130]
mov rcx, qword [r8 + 0x128]
mov rax, qword [rbx]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rcx
mov r9, qword [r8 + 0x120]
mov r8, qword [r8 + 0x118]
mov rdx, qword [rbp - 0x78]
mov rcx, rbx
mov rax, qword [rax + 0xd0]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140018876
mov rax, qword [rbx]
mov r8d, 0x65
mov rdx, qword [0x1400c8a88]
mov rcx, rbx
mov rax, qword [rax + 0xe8]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140018876
mov rax, qword [rbx]
mov edx, dword [rbp - 0x70]
mov rcx, rbx
mov rax, qword [rax + 0xf0]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140018876
mov rax, qword [rbx]
mov rcx, qword [rsp + 0x68]
mov edx, dword [rcx + 0xf8]
mov rcx, rbx
mov rax, qword [rax + 0xf8]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140018876
mov rax, qword [rbx]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rcx + 0x90]
mov rcx, rbx
mov rax, qword [rax + 0x100]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140018876
mov rax, qword [rbx]
mov rcx, qword [rsp + 0x68]
mov r8d, dword [rcx + 0xec]
mov edx, dword [rcx + 0xe8]
mov rcx, rbx
mov rax, qword [rax + 0x108]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140018876
mov rax, qword [rbx]
mov rcx, qword [rsp + 0x68]
mov edx, dword [rcx + 0x100]
mov rcx, rbx
mov rax, qword [rax + 0x110]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140018876
mov rax, qword [rbx]
mov rcx, qword [rsp + 0x68]
mov edx, dword [rcx + 0x104]
mov rcx, rbx
mov rax, qword [rax + 0x118]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140018876
mov rax, qword [rbx]
mov rcx, qword [rsp + 0x68]
mov edx, dword [rcx + 0xf4]
mov rcx, rbx
mov rax, qword [rax + 0x120]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140018876
mov r11, qword [rsp + 0x68]
mov r10, qword [r11]
mov r9, qword [r11 + 0x18]
mov r8, qword [r11 + 0x10]
mov rdx, qword [r11 + 8]
mov rax, qword [rbx]
mov ecx, dword [rsp + 0x64]
mov dword [rsp + 0x50], ecx
mov ecx, dword [r11 + 0x108]
mov dword [rsp + 0x48], ecx
mov ecx, dword [r11 + 0x10c]
mov dword [rsp + 0x40], ecx
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rdx
mov r9, rsi
mov r8, qword [rbp - 0x78]
mov rdx, r14
mov rcx, rbx
mov rax, qword [rax + 0x80]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140018876
mov rax, qword [rbx]
mov r8, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x28]
mov rcx, rbx
mov rax, qword [rax + 0x90]
call qword [str.PN_t_]
mov r8d, eax
mov dword [rsp + 0x60], eax
cmp eax, 0x800705bb
jne 0x140018c68
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
mov rax, qword [rax + 0x70]
call qword [str.PN_t_]
test eax, eax
jns 0x140018c6f
mov edx, eax
lea rcx, str.SetupHost:_Unable_to_configure_diagnostics_cleanup____0x_X_
call fcn.14000568c
mov r8d, dword [rsp + 0x60]
test r8d, r8d
jns 0x140018c7c
jmp 0x140018c74
mov r8d, dword [rsp + 0x60]
mov ecx, r8d
call fcn.140025d30
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x118]
test rcx, rcx
je 0x140018cc7
cmp r8d, 0x800705bb
je 0x140018cc7
test rdx, rdx
je 0x140018ca5
mov r8, rsi
jmp 0x140018cab
mov rdx, rsi
xor r8d, r8d
call fcn.14001734c
test eax, eax
jns 0x140018cc2
mov edx, eax
lea rcx, str.SetupHost:_Unable_to_copy_failure_logs____0x_X_
call fcn.14000568c
mov rax, qword [rsp + 0x68]
test rbx, rbx
je 0x140018d2c
mov ecx, dword [rsp + 0x60]
test ecx, ecx
js 0x140018cdd
cmp dword [rax + 0x10c], 5
jne 0x140018d04
mov rax, qword [rbx]
mov edx, ecx
mov rcx, rbx
mov rax, qword [rax + 0x98]
call qword [str.PN_t_]
test eax, eax
jns 0x140018d04
mov edx, eax
lea rcx, str.SetupHost:_Diagnostic_Analysis_failed__0x_X_
call fcn.14000568c
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x88]
call qword [str.PN_t_]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [str.PN_t_]
and qword [rbp + 8], 0
test rdi, rdi
je 0x140018d47
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [str.PN_t_]
xor edi, edi
mov qword [rbp - 0x38], rdi
mov ecx, dword [rsp + 0x60]
call fcn.140025d50
nop
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x140018d6b
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
nop dword [rax + rax]
and qword [rbp + 0x10], 0
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x140018da4
lea rbx, [rax - 4]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
and qword [rbp - 0x50], 0
test r13, r13
je 0x140018dd8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
lea r8, [r13 - 4]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
xor r13d, r13d
mov qword [rbp - 0x68], r13
test r15, r15
je 0x140018e09
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
lea r8, [r15 - 4]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
mov qword [rbp - 0x60], r13
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x140018e41
lea rbx, [rax - 4]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
mov qword [rbp - 0x48], r13
test r12, r12
je 0x140018e73
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
lea r8, [r12 - 4]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
mov qword [rbp - 0x30], r13
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x140018ead
lea rbx, [rax - 4]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
mov qword [rsp + 0x70], r13
test rsi, rsi
je 0x140018ede
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
lea r8, [rsi - 4]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
mov qword [rbp - 0x80], r13
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x140018f16
lea rbx, [rax - 4]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
mov qword [rbp - 0x78], r13
mov rax, qword [rbp - 0x28]
test rax, rax
je 0x140018f4e
lea rbx, [rax - 4]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
mov qword [rbp - 0x28], r13
test r14, r14
je 0x140018f7f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
lea r8, [r14 - 4]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
mov qword [rbp - 0x40], r13
mov rax, qword [rbp - 0x20]
test rax, rax
je 0x140018f9b
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov qword [rbp - 0x20], r13
mov rax, qword [rbp - 0x18]
test rax, rax
je 0x140018fb7
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov qword [rbp - 0x18], r13
mov rax, qword [rbp - 0x10]
test rax, rax
je 0x140018fef
lea rbx, [rax - 4]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
mov qword [rbp - 0x10], r13
mov rax, qword [rbp - 8]
test rax, rax
je 0x140019027
lea rbx, [rax - 4]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
mov qword [rbp - 8], r13
test rdi, rdi
je 0x140019040
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [str.PN_t_]
mov qword [rbp - 0x38], r13
cmp dword [rbp - 0x58], r13d
je 0x140019052
call qword [sym.imp.ole32.dll_CoUninitialize]
nop dword [rax + rax]
mov eax, dword [rsp + 0x60]
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.140094220
mov rbx, qword [rsp + 0x1c8]
add rsp, 0x170
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret