Function at 0x14000e260
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.140022d10
xor r13d, r13d
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, str.CDummyThread
call fcn.14001c844
mov rsi, rax
mov ebx, r13d
test rsi, rsi
je 0x14000e2b4
cmp qword [rsi + 0x40], r13
jne 0x14000e2cd
cmp ebx, 0x14
jge 0x14000e2c8
inc ebx
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14000e2a9
test rsi, rsi
je 0x14000e2dd
mov rax, qword [rsi + 0x40]
test rax, rax
je 0x14000e2dd
mov qword [rdi + 0x218], rax
call fcn.14001269c
mov rcx, rax
test rax, rax
je 0x14000e7ea
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140016c1a.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 0x14000e32b
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 0x14000e797
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1400388c8
test eax, eax
js 0x14000e7df
cmp eax, dword [rbx - 0xc]
jg 0x14000e7df
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], r13w
lea rdx, [rbp - 0x20]
mov rcx, rdi
call fcn.14000c874
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 0x14000e3a6
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140016c1a.0]
mov rbx, qword [rdi + 0x90]
test rbx, rbx
jne 0x14000e3b7
mov eax, r13d
jmp 0x14000e3bf
mov rcx, rbx
call fcn.14003879c
mov r8d, eax
mov rdx, rbx
lea rcx, [rdi + 0x258]
call fcn.140001858
mov rcx, rdi
call fcn.14000e8d4
mov r15, r13
cmp dword [rdi + 0x27c], r13d
jne 0x14000e43e
cmp dword [rdi + 0x1a0], r13d
jne 0x14000e43e
cmp dword [rdi + 0x1a8], r13d
jne 0x14000e43e
cmp dword [rdi + 0x278], r13d
je 0x14000e43e
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, str.CDummyThread
call fcn.14001c844
mov r15, rax
mov ebx, r13d
test r15, r15
je 0x14000e42a
cmp qword [r15 + 0x40], r13
jne 0x14000e43e
cmp ebx, 0x14
jge 0x14000e43e
inc ebx
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14000e41f
mov rcx, qword [rdi + 0x1e0]
test rcx, rcx
je 0x14000e703
cmp dword [rdi + 0x284], r13d
je 0x14000e6f7
cmp qword [rdi + 0x290], r13
je 0x14000e6f7
call fcn.140005c50
test eax, eax
jne 0x14000e6f7
mov rcx, qword [rdi + 0x1e0]
call fcn.140005a0c
mov edx, eax
mov rcx, qword [rdi + 0x290]
call fcn.140008130
mov rax, qword [rdi + 0x290]
cmp dword [rax + 0x28], 1
jne 0x14000e5d1
lea r12, [rdi + 0x178]
lea rdx, str.SetupInitInstance:_Migration:_Uninstall_Then_Install_Migration
mov rcx, r12
call fcn.1400016a4
mov rcx, rdi
call fcn.1400102b0
mov rcx, qword [rdi + 0x290]
call fcn.14000819c
mov r14d, eax
mov rcx, qword [rdi + 0x290]
cmp dword [rcx + 0x14], r13d
jne 0x14000e588
test eax, eax
je 0x14000e5bc
mov ebx, 0xbc2
cmp eax, ebx
je 0x14000e592
call fcn.14001269c
mov rcx, rax
test rax, rax
je 0x14000e7d4
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140016c1a.0]
add rax, 0x18
mov qword [rbp + 0x48], rax
mov r8d, 0x3f6
lea rdx, [rbp - 0x18]
mov rcx, rdi
call fcn.14000cbe0
nop
mov r8, qword [rdi + 0x1e0]
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 0x14000e56f
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140016c1a.0]
lea rcx, [rbp + 0x48]
call fcn.1400109c0
mov dword [0x1400796e8], r14d
mov rdx, qword [rbp + 0x48]
jmp 0x14000e6d2
mov ebx, 0xbc2
cmp r14d, ebx
jne 0x14000e5bc
cmp dword [0x1400795ec], r13d
jne 0x14000e5bc
mov dword [0x1400795ec], 1
lea rdx, str.SetupInitInstance:_Migration:_Uninstall_had_reboot.
mov rcx, r12
call fcn.1400016a4
mov rcx, rdi
call fcn.1400102b0
mov rcx, qword [rdi + 0x1e0]
call fcn.1400053ac
or r12d, 0xffffffff
jmp 0x14000e703
mov rcx, qword [rdi + 0x1e0]
call fcn.1400053ac
mov eax, dword [rdi + 0x298]
mov ebx, 0xbc2
test eax, eax
je 0x14000e5f4
cmp eax, ebx
jne 0x14000e703
mov rcx, qword [rdi + 0x290]
call fcn.14000819c
mov r14d, eax
cmp eax, ebx
jne 0x14000e635
cmp dword [0x1400795ec], r13d
jne 0x14000e635
mov dword [0x1400795ec], 1
lea rcx, [rdi + 0x178]
lea rdx, str.SetupInitInstance:_Migration:_Uninstall_had_reboot.
call fcn.1400016a4
mov rcx, rdi
call fcn.1400102b0
mov rax, qword [rdi + 0x290]
cmp dword [rax + 0x14], r13d
jne 0x14000e703
call fcn.14001269c
mov rcx, rax
test rax, rax
je 0x14000e7d4
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140016c1a.0]
add rax, 0x18
mov qword [rbp + 0x50], rax
mov r8d, 0x3f6
lea rdx, [rbp - 0x10]
mov rcx, rdi
call fcn.14000cbe0
nop
mov r8, qword [rdi + 0x1e0]
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 0x14000e6be
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140016c1a.0]
lea rcx, [rbp + 0x50]
call fcn.1400109c0
mov dword [0x1400796e8], 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 0x14000e703
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140016c1a.0]
jmp 0x14000e703
mov rcx, qword [rdi + 0x1e0]
call fcn.1400053ac
mov rbx, qword [rbp + 0x58]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
cmp dword [rdi + 0x19c], r13d
je 0x14000e721
mov rcx, rdi
call fcn.14000fc4c
mov r14d, 0x405
test rsi, rsi
je 0x14000e755
mov rcx, qword [rsi + 0x40]
test rcx, rcx
je 0x14000e755
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 0x14000e783
mov rcx, qword [r15 + 0x40]
test rcx, rcx
je 0x14000e783
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 + 0x220]
cmp dword [rcx - 0x10], r13d
je 0x14000e797
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 0x14000e7ba
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140016c1a.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