Function at 0x14000def0
Capabilities:
Delete file
Get common file path
Set current directory

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rdi, rcx
call fcn.140001310
mov rcx, rdi
call fcn.140022970
xor r13d, r13d
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, str.CDummyThread
call fcn.14001c4a4
mov rsi, rax
mov ebx, r13d
test rsi, rsi
je 0x14000df44
cmp qword [rsi + 0x40], r13
jne 0x14000df5d
cmp ebx, 0x14
jge 0x14000df58
inc ebx
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14000df39
test rsi, rsi
je 0x14000df6d
mov rax, qword [rsi + 0x40]
test rax, rax
je 0x14000df6d
mov qword [rdi + 0x210], rax
call fcn.1400122fc
mov rcx, rax
test rax, rax
je 0x14000e47a
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14001687a.0]
lea rbx, [rax + 0x18]
mov qword [rbp + 0x58], rbx
mov edx, 1
sub edx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
mov r14d, 0x104
sub eax, r14d
or eax, edx
jge 0x14000dfbb
mov edx, r14d
lea rcx, [rbp + 0x58]
call fcn.1400017ac
mov rbx, qword [rbp + 0x58]
mov rdx, rbx
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
or r12d, 0xffffffff
test eax, eax
je 0x14000e427
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.140038528
test eax, eax
js 0x14000e46f
cmp eax, dword [rbx - 0xc]
jg 0x14000e46f
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], r13w
lea rdx, [rbp - 0x20]
mov rcx, rdi
call fcn.14000c7e4
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x14000e036
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14001687a.0]
mov rbx, qword [rdi + 0x90]
test rbx, rbx
jne 0x14000e047
mov eax, r13d
jmp 0x14000e04f
mov rcx, rbx
call fcn.1400383fc
mov r8d, eax
mov rdx, rbx
lea rcx, [rdi + 0x250]
call fcn.140001858
mov rcx, rdi
call fcn.14000e564
mov r15, r13
cmp dword [rdi + 0x274], r13d
jne 0x14000e0ce
cmp dword [rdi + 0x1a0], r13d
jne 0x14000e0ce
cmp dword [rdi + 0x1a8], r13d
jne 0x14000e0ce
cmp dword [rdi + 0x270], r13d
je 0x14000e0ce
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, str.CDummyThread
call fcn.14001c4a4
mov r15, rax
mov ebx, r13d
test r15, r15
je 0x14000e0ba
cmp qword [r15 + 0x40], r13
jne 0x14000e0ce
cmp ebx, 0x14
jge 0x14000e0ce
inc ebx
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14000e0af
mov rcx, qword [rdi + 0x1d8]
test rcx, rcx
je 0x14000e393
cmp dword [rdi + 0x27c], r13d
je 0x14000e387
cmp qword [rdi + 0x288], r13
je 0x14000e387
call fcn.140005bc4
test eax, eax
jne 0x14000e387
mov rcx, qword [rdi + 0x1d8]
call fcn.140005980
mov edx, eax
mov rcx, qword [rdi + 0x288]
call fcn.1400080a0
mov rax, qword [rdi + 0x288]
cmp dword [rax + 0x28], 1
jne 0x14000e261
lea r12, [rdi + 0x178]
lea rdx, str.SetupInitInstance:_Migration:_Uninstall_Then_Install_Migration
mov rcx, r12
call fcn.1400016a4
mov rcx, rdi
call fcn.14000ff14
mov rcx, qword [rdi + 0x288]
call fcn.14000810c
mov r14d, eax
mov rcx, qword [rdi + 0x288]
cmp dword [rcx + 0x14], r13d
jne 0x14000e218
test eax, eax
je 0x14000e24c
mov ebx, 0xbc2
cmp eax, ebx
je 0x14000e222
call fcn.1400122fc
mov rcx, rax
test rax, rax
je 0x14000e464
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14001687a.0]
add rax, 0x18
mov qword [rbp + 0x48], rax
mov r8d, 0x3f6
lea rdx, [rbp - 0x18]
mov rcx, rdi
call fcn.14000cb50
nop
mov r8, qword [rdi + 0x1d8]
mov r8, qword [r8 + 0x18]
mov rdx, qword [rax]
lea rcx, [rbp + 0x48]
call fcn.1400016a4
nop
mov rdx, qword [rbp - 0x18]
add rdx, 0xffffffffffffffe8
or r12d, 0xffffffff
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x14000e1ff
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14001687a.0]
lea rcx, [rbp + 0x48]
call fcn.140010624
mov dword [0x1400796e0], r14d
mov rdx, qword [rbp + 0x48]
jmp 0x14000e362
mov ebx, 0xbc2
cmp r14d, ebx
jne 0x14000e24c
cmp dword [0x1400795ec], r13d
jne 0x14000e24c
mov dword [0x1400795ec], 1
lea rdx, str.SetupInitInstance:_Migration:_Uninstall_had_reboot.
mov rcx, r12
call fcn.1400016a4
mov rcx, rdi
call fcn.14000ff14
mov rcx, qword [rdi + 0x1d8]
call fcn.140005320
or r12d, 0xffffffff
jmp 0x14000e393
mov rcx, qword [rdi + 0x1d8]
call fcn.140005320
mov eax, dword [rdi + 0x290]
mov ebx, 0xbc2
test eax, eax
je 0x14000e284
cmp eax, ebx
jne 0x14000e393
mov rcx, qword [rdi + 0x288]
call fcn.14000810c
mov r14d, eax
cmp eax, ebx
jne 0x14000e2c5
cmp dword [0x1400795ec], r13d
jne 0x14000e2c5
mov dword [0x1400795ec], 1
lea rcx, [rdi + 0x178]
lea rdx, str.SetupInitInstance:_Migration:_Uninstall_had_reboot.
call fcn.1400016a4
mov rcx, rdi
call fcn.14000ff14
mov rax, qword [rdi + 0x288]
cmp dword [rax + 0x14], r13d
jne 0x14000e393
call fcn.1400122fc
mov rcx, rax
test rax, rax
je 0x14000e464
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14001687a.0]
add rax, 0x18
mov qword [rbp + 0x50], rax
mov r8d, 0x3f6
lea rdx, [rbp - 0x10]
mov rcx, rdi
call fcn.14000cb50
nop
mov r8, qword [rdi + 0x1d8]
mov r8, qword [r8 + 0x18]
mov rdx, qword [rax]
lea rcx, [rbp + 0x50]
call fcn.1400016a4
nop
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x14000e34e
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14001687a.0]
lea rcx, [rbp + 0x50]
call fcn.140010624
mov dword [0x1400796e0], r14d
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x14000e393
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14001687a.0]
jmp 0x14000e393
mov rcx, qword [rdi + 0x1d8]
call fcn.140005320
mov rbx, qword [rbp + 0x58]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
cmp dword [rdi + 0x19c], r13d
je 0x14000e3b1
mov rcx, rdi
call fcn.14000f8b0
mov r14d, 0x405
test rsi, rsi
je 0x14000e3e5
mov rcx, qword [rsi + 0x40]
test rcx, rcx
je 0x14000e3e5
xor r9d, r9d
xor r8d, r8d
mov edx, r14d
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_PostMessageW]
or edx, 0xffffffff
mov rcx, qword [rsi + 0x58]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test r15, r15
je 0x14000e413
mov rcx, qword [r15 + 0x40]
test rcx, rcx
je 0x14000e413
xor r9d, r9d
xor r8d, r8d
mov edx, r14d
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_PostMessageW]
or edx, 0xffffffff
mov rcx, qword [r15 + 0x58]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rdi + 0x218]
cmp dword [rcx - 0x10], r13d
je 0x14000e427
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x14000e44a
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14001687a.0]
xor eax, eax
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.140001474
int3
mov ecx, 0x80070057
call fcn.140001474
nop
mov ecx, 0x80004005
call fcn.140001474
int3