Function at 0x1400432c4
Capabilities:
Check if file exists
Copy file
Create process on windows
Get file attributes
Set file attributes

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x45a0
call fcn.1400b2f70
sub rsp, rax
mov qword [rsp + 0xb0], 0xfffffffffffffffe
mov qword [rsp + 0x45f8], rbx
mov rax, qword [0x14010bfc0]
xor rax, rsp
mov qword [rsp + 0x4590], rax
mov rbx, r8
mov r14, rdx
mov qword [rsp + 0xa8], rdx
mov r12, rcx
lea r8, str.CUninstallerApp::CopyToTempAndUpdateWithUserInputs__
mov edx, 2
lea rbp, [0x14010f570]
mov rcx, rbp
call fcn.140001000
mov r15d, 1
call fcn.14006d8f8
mov rcx, rax
xor edi, edi
mov eax, edi
cmp rcx, rdi
setne al
cmp eax, edi
jne 0x140043356
mov ecx, 0x80004005
call fcn.140001074
int3
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x130], rax
mov esi, reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x158], rsi
mov qword [rsp + 0x150], rdi
mov byte [rsp + 0x140], dil
mov byte [rsp + 0x260], dil
mov r13d, 0x103
mov r8, r13
xor edx, edx
lea rcx, [rsp + 0x261]
call fcn.1400988d0
mov byte [rsp + 0x370], dil
mov r8, r13
xor edx, edx
lea rcx, [rsp + 0x371]
call fcn.1400988d0
lea r11, str..EXE
mov qword [rsp + 0x20], r11
mov r9, qword [r12 + 0xc0]
mov r8, r14
lea rdx, str._s_s_s
lea rcx, [rsp + 0x130]
call fcn.1400020cc
xor r8d, r8d
mov rdx, qword [rsp + 0x130]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, edi
cmp eax, edi
setne dl
cmp edx, edi
jne 0x14004347d
lea r8, str.Cannot_copy_uninstaller_to_temp
lea rdx, str._s_failed_n
mov rcx, rbp
call fcn.14004b7ec
nop
cmp qword [rsp + 0x158], 0x10
jb 0x140043438
mov rcx, qword [rsp + 0x140]
call fcn.14006127c
mov qword [rsp + 0x158], rsi
mov qword [rsp + 0x150], rdi
mov byte [rsp + 0x140], dil
mov rdx, qword [rsp + 0x130]
add rdx, 0xffffffffffffffe8
or rbx, 0xffffffffffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, edi
jg 0x140043476
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
xor eax, eax
jmp 0x1400442aa
mov edx, 0x80
mov rcx, qword [rsp + 0x130]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ecx, edi
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x14004350f
lea r8, str.Cannot_set_attributes_uninstaller_to_temp
lea rdx, str._s_failed_n
mov rcx, rbp
call fcn.14004b7ec
nop
cmp qword [rsp + 0x158], 0x10
jb 0x1400434ca
mov rcx, qword [rsp + 0x140]
call fcn.14006127c
mov qword [rsp + 0x158], rsi
mov qword [rsp + 0x150], rdi
mov byte [rsp + 0x140], dil
mov rdx, qword [rsp + 0x130]
add rdx, 0xffffffffffffffe8
or rbx, 0xffffffffffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, edi
jg 0x140043508
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
xor eax, eax
jmp 0x1400442aa
mov ebx, 0x104
mov edx, ebx
lea rcx, [rsp + 0x260]
call fcn.14005b9f4
lea r11, [rsp + 0x260]
cmp r11, rdi
je 0x140043564
lea rcx, [rsp + 0x260]
call fcn.1400980d0
cmp rax, rdi
jbe 0x140043564
cmp byte [rsp + rax + 0x25f], 0x5c
je 0x140043564
lea rdx, [rax + 2]
lea r8, [0x1400c55c0]
lea rcx, [rsp + 0x260]
call fcn.140098ed8
lea r8, [rsp + 0x260]
mov rdx, rbx
lea rcx, [rsp + 0x370]
call fcn.1400986e0
cmp qword [r12 + 0x1c0], 0x10
jb 0x140043591
mov r8, qword [r12 + reloc.OLEAUT32.dll_VarUI4FromI8]
jmp 0x140043599
lea r8, [r12 + reloc.OLEAUT32.dll_VarUI4FromI8]
mov rdx, rbx
lea rcx, [rsp + 0x370]
call fcn.140098ed8
mov ecx, 8
call fcn.140061238
cmp rax, rdi
je 0x1400435c2
lea rcx, [rsp + 0x70]
mov qword [rax], rcx
jmp 0x1400435c5
mov rax, rdi
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x70]
call fcn.140005ed4
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], rdi
mov dword [rsp + 0x30], 1
mov word [rsp + 0x28], di
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, str.Scrubber.CopyToTemp
mov rdx, qword [r12 + 0x1c8]
mov rcx, r12
call fcn.14001ddcc
mov rbx, qword [rsp + 0x98]
mov rax, qword [rbx]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x50], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
cmp rbp, rdi
je 0x14004364e
cmp rbp, rax
je 0x140043653
call fcn.14009861c
cmp rsi, rbx
je 0x14004395b
mov qword [rsp + 0x180], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x178], rdi
mov byte [rsp + 0x168], dil
mov rcx, r14
call fcn.1400980d0
mov r8, rax
mov rdx, r14
lea rcx, [rsp + 0x160]
call fcn.14000352c
nop
cmp rbp, rdi
jne 0x1400436a3
call fcn.14009861c
mov r11, rdi
jmp 0x1400436a7
mov r11, qword [rbp]
cmp rsi, qword [r11 + 0x28]
jne 0x1400436b2
call fcn.14009861c
cmp qword [rsi + 0x30], 0x10
jb 0x1400436bf
mov rbx, qword [rsi + 0x18]
jmp 0x1400436c3
lea rbx, [rsi + 0x18]
mov rcx, rbx
call fcn.1400980d0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x160]
call fcn.14000627c
mov byte [rsp + 0x480], dil
xor edx, edx
mov r8d, 0x103
lea rcx, [rsp + 0x481]
call fcn.1400988d0
lea rcx, [rsp + 0x168]
cmp qword [rsp + 0x180], 0x10
cmovae rcx, qword [rsp + 0x168]
mov r8d, 0x104
lea rdx, [rsp + 0x480]
call fcn.140054e54
lea rcx, [rsp + 0x480]
call fcn.14000bbb0
cmp eax, edi
jne 0x140043746
lea rcx, [rsp + 0x480]
call fcn.14005c168
mov qword [rsp + 0x1d8], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x1d0], rdi
mov byte [rsp + 0x1c0], dil
lea rcx, [rsp + 0x260]
call fcn.1400980d0
mov r8, rax
lea rdx, [rsp + 0x260]
lea rcx, [rsp + 0x1b8]
call fcn.14000352c
nop
cmp rbp, rdi
jne 0x140043797
call fcn.14009861c
mov r11, rdi
jmp 0x14004379b
mov r11, qword [rbp]
cmp rsi, qword [r11 + 0x28]
jne 0x1400437a6
call fcn.14009861c
cmp qword [rsi + 0x30], 0x10
jb 0x1400437b3
mov rbx, qword [rsi + 0x18]
jmp 0x1400437b7
lea rbx, [rsi + 0x18]
mov rcx, rbx
call fcn.1400980d0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x1b8]
call fcn.14000627c
lea rdx, [rsp + 0x168]
cmp qword [rsp + 0x180], 0x10
cmovae rdx, qword [rsp + 0x168]
lea rcx, [rsp + 0x1c0]
cmp qword [rsp + 0x1d8], 0x10
cmovae rcx, qword [rsp + 0x1c0]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileA]
cmp eax, edi
jne 0x140043873
lea rdi, [rsp + 0x168]
cmp qword [rsp + 0x180], 0x10
cmovae rdi, qword [rsp + 0x168]
lea rbx, [rsp + 0x1c0]
cmp qword [rsp + 0x1d8], 0x10
cmovae rbx, qword [rsp + 0x1c0]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
mov r9, rbx
lea r8, str.Error_copying__s_to__s_error_d_n
mov edx, 0x400
lea rcx, [0x14010f570]
call fcn.140001000
xor edi, edi
lea rcx, [rsp + 0x168]
cmp qword [rsp + 0x180], 0x10
cmovae rcx, qword [rsp + 0x168]
mov edx, 0x80
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
cmp eax, edi
jne 0x1400438dc
lea rbx, [rsp + 0x168]
cmp qword [rsp + 0x180], 0x10
cmovae rbx, qword [rsp + 0x168]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], eax
mov r9, rbx
lea r8, str.Error_setting_attributes_of__s_error_d_n
mov edx, 0x400
lea rcx, [0x14010f570]
call fcn.140001000
nop
cmp qword [rsp + 0x1d8], 0x10
jb 0x1400438f4
mov rcx, qword [rsp + 0x1c0]
call fcn.14006127c
mov qword [rsp + 0x1d8], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x1d0], rdi
mov byte [rsp + 0x1c0], dil
cmp qword [rsp + 0x180], 0x10
jb 0x140043928
mov rcx, qword [rsp + 0x168]
call fcn.14006127c
cmp rbp, rdi
jne 0x140043937
call fcn.14009861c
mov r11, rdi
jmp 0x14004393b
mov r11, qword [rbp]
cmp rsi, qword [r11 + 0x28]
jne 0x140043946
call fcn.14009861c
mov rsi, qword [rsi]
mov rbx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x70]
jmp 0x140043644
lea rcx, [0x1400c55c0]
call fcn.1400980d0
mov r9, rax
or rbx, 0xffffffffffffffff
mov r8, rbx
lea rdx, [0x1400c55c0]
lea rcx, [r12 + 0x1a0]
call fcn.140005cbc
lea r8, [rax + 1]
mov r9, rbx
lea rdx, [rsp + 0x1e0]
lea rcx, [r12 + 0x1a0]
call fcn.140006a00
nop
lea rcx, [rsp + 0x370]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400441bc
call fcn.14006d8f8
mov rcx, rax
mov eax, edi
cmp rcx, rdi
setne al
cmp eax, edi
jne 0x1400439d8
mov ecx, 0x80004005
call fcn.140001074
int3
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x208], rax
mov ebp, reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x230], rbp
mov qword [rsp + 0x228], rdi
mov byte [rsp + 0x218], dil
mov r9, qword [r12 + 0x1c8]
mov r8, r14
lea rdx, str._s_s
lea rcx, [rsp + 0x208]
call fcn.1400020cc
xor r8d, r8d
mov rsi, qword [rsp + 0x208]
mov rdx, rsi
lea rcx, [rsp + 0x370]
call qword [sym.imp.KERNEL32.dll_CopyFileA]
mov ecx, edi
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x140043b52
lea r8, str.Cannot_copy_infstructure_to_temp
lea rdx, str._s_failed_n
lea rcx, [0x14010f570]
call fcn.14004b7ec
nop
cmp qword [rsp + 0x230], 0x10
jb 0x140043a84
mov rcx, qword [rsp + 0x218]
call fcn.14006127c
lea rdx, [rsi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, edi
jg 0x140043a9f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
nop
cmp qword [rsp + 0x200], 0x10
jb 0x140043ab7
mov rcx, qword [rsp + 0x1e8]
call fcn.14006127c
mov qword [rsp + 0x200], rbp
mov qword [rsp + 0x1f8], rdi
mov byte [rsp + 0x1e8], dil
lea rcx, [rsp + 0x70]
call fcn.140007328
mov rcx, qword [rsp + 0x98]
call fcn.14006127c
mov qword [rsp + 0x98], rdi
mov rcx, qword [rsp + 0x70]
call fcn.14006127c
nop
cmp qword [rsp + 0x158], 0x10
jb 0x140043b11
mov rcx, qword [rsp + 0x140]
call fcn.14006127c
mov qword [rsp + 0x158], rbp
mov qword [rsp + 0x150], rdi
mov byte [rsp + 0x140], dil
mov rdx, qword [rsp + 0x130]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, edi
jg 0x140043b4b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
xor eax, eax
jmp 0x1400442aa
mov edx, 0x80
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ecx, edi
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x140043c70
lea r8, str.Cannot_set_attributes_infstructure_to_temp
lea rdx, str._s_failed_n
lea rcx, [0x14010f570]
call fcn.14004b7ec
nop
cmp qword [rsp + 0x230], 0x10
jb 0x140043ba2
mov rcx, qword [rsp + 0x218]
call fcn.14006127c
lea rdx, [rsi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, edi
jg 0x140043bbd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
nop
cmp qword [rsp + 0x200], 0x10
jb 0x140043bd5
mov rcx, qword [rsp + 0x1e8]
call fcn.14006127c
mov qword [rsp + 0x200], rbp
mov qword [rsp + 0x1f8], rdi
mov byte [rsp + 0x1e8], dil
lea rcx, [rsp + 0x70]
call fcn.140007328
mov rcx, qword [rsp + 0x98]
call fcn.14006127c
mov qword [rsp + 0x98], rdi
mov rcx, qword [rsp + 0x70]
call fcn.14006127c
nop
cmp qword [rsp + 0x158], 0x10
jb 0x140043c2f
mov rcx, qword [rsp + 0x140]
call fcn.14006127c
mov qword [rsp + 0x158], rbp
mov qword [rsp + 0x150], rdi
mov byte [rsp + 0x140], dil
mov rdx, qword [rsp + 0x130]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, edi
jg 0x140043c69
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
xor eax, eax
jmp 0x1400442aa
cmp qword [r12 + 0x880], rdi
jbe 0x140043eae
mov qword [rsp + 0x258], rbp
mov qword [rsp + 0x250], rdi
mov byte [rsp + 0x240], dil
lea rcx, [0x1400c49dc]
call fcn.1400980d0
mov r8, rax
lea rdx, [0x1400c49dc]
lea rcx, [rsp + 0x238]
call fcn.14000352c
nop
mov rax, qword [r12 + 0x878]
mov rcx, qword [rax]
mov qword [rsp + 0x58], rcx
mov rax, qword [r12 + 0x850]
mov qword [rsp + 0x50], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
mov r14d, 1
mov rbp, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov r13, qword [r12 + 0x878]
test rbp, rbp
je 0x140043d09
cmp rbp, qword [r12 + 0x850]
je 0x140043d0e
call fcn.14009861c
cmp rdi, r13
je 0x140043dd2
mov byte [rsp + 0x590], 0
xor edx, edx
mov r8d, 0x1fff
lea rcx, [rsp + 0x591]
call fcn.1400988d0
test rbp, rbp
jne 0x140043d43
call fcn.14009861c
xor r11d, r11d
jmp 0x140043d47
mov r11, qword [rbp]
cmp rdi, qword [r11 + 0x28]
jne 0x140043d52
call fcn.14009861c
cmp qword [rdi + 0x30], 0x10
jb 0x140043d5f
mov rax, qword [rdi + 0x18]
jmp 0x140043d63
lea rax, [rdi + 0x18]
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._d_s_r_n
mov edx, 0x2000
lea rcx, [rsp + 0x590]
call fcn.14009841c
lea rcx, [rsp + 0x590]
call fcn.1400980d0
mov r8, rax
lea rdx, [rsp + 0x590]
lea rcx, [rsp + 0x238]
call fcn.14000627c
inc r14d
test rbp, rbp
jne 0x140043dbb
call fcn.14009861c
xor r11d, r11d
jmp 0x140043dbf
mov r11, qword [rbp]
cmp rdi, qword [r11 + 0x28]
jne 0x140043dca
call fcn.14009861c
mov rdi, qword [rdi]
jmp 0x140043cf2
xor edi, edi
mov byte [rsp + 0x2590], dil
xor edx, edx
mov r8d, 0x1fff
lea rcx, [rsp + 0x2591]
call fcn.1400988d0
lea r11, str.LaunchUnInstallStrings
mov qword [rsp + 0x20], r11
lea r9, str.Scrubber
lea r8, str._s._s
mov edx, 0x2000
lea rcx, [rsp + 0x2590]
call fcn.14009841c
xor r8d, r8d
lea edx, [rdi + 1]
lea rcx, [rsp + 0x238]
call fcn.14000cb24
lea rdx, [rsp + 0x240]
cmp qword [rsp + 0x258], 0x10
cmovae rdx, qword [rsp + 0x240]
mov r8, rsi
lea rcx, [rsp + 0x2590]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileSectionA]
cmp eax, edi
jne 0x140043e80
lea r9, [rsp + 0x2590]
lea r8, str.Cannot_add_section__s_into_infstructure_file
lea edx, [rdi + 8]
lea rcx, [0x14010f570]
call fcn.140001000
mov r15d, edi
cmp qword [rsp + 0x258], 0x10
jb 0x140043e98
mov rcx, qword [rsp + 0x240]
call fcn.14006127c
cmp r15d, edi
je 0x140044188
mov r14, qword [rsp + 0xa8]
mov ebp, reloc.OLEAUT32.dll_SafeArrayDestroy
call fcn.14006d8f8
mov rcx, rax
mov eax, edi
cmp rcx, rdi
setne al
cmp eax, edi
jne 0x140043ecd
mov ecx, 0x80004005
call fcn.140001074
int3
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x1b0], rbp
mov qword [rsp + reloc.OLEAUT32.dll_VarUI4FromI8], rdi
mov byte [rsp + 0x198], dil
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x64], edi
lea rdx, [rsp + 0x130]
lea rcx, [rsp + 0x188]
call fcn.140001e38
mov r9, rbx
xor r8d, r8d
lea rdx, [rsp + 0x138]
lea rcx, [rsp + 0x190]
call fcn.140002458
lea rcx, [0x1400c9858]
call fcn.1400980d0
mov r8d, eax
lea rdx, [0x1400c9858]
lea rcx, [rsp + 0x188]
call fcn.14001c1a4
lea rdx, [0x1400d2bd0]
mov rcx, qword [r12 + 0x90]
call fcn.140099250
cmp rax, rdi
je 0x140043f80
mov rcx, rax
call fcn.1400994b0
mov byte [rax], 0x2a
lea rdx, str._w_
mov rcx, qword [r12 + 0x90]
call fcn.140099250
cmp rax, rdi
je 0x140043fa4
mov rcx, rax
call fcn.1400994b0
mov byte [rax], 0x2a
mov rdi, qword [r12 + 0x90]
test rdi, rdi
jne 0x140043fb5
xor eax, eax
jmp 0x140043fbd
mov rcx, rdi
call fcn.1400980d0
mov r8d, eax
mov rdx, rdi
lea rcx, [rsp + 0x188]
call fcn.14001c1a4
mov edi, 0x68
mov r8, rdi
xor edx, edx
lea rcx, [rsp + 0xc0]
call fcn.1400988d0
mov dword [rsp + 0xc0], edi
mov rdx, qword [rsp + 0x188]
lea ecx, [rdi - 0x67]
sub ecx, dword [rdx - 8]
mov eax, dword [rdx - 0xc]
or eax, ecx
jge 0x14004401a
xor edx, edx
lea rcx, [rsp + 0x188]
call fcn.140001728
mov rdx, qword [rsp + 0x188]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r14
xor edi, edi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
cmp eax, edi
jne 0x1400440aa
mov r8, qword [rsp + 0x188]
cmp dword [r8 - 8], 1
jle 0x14004407f
mov edx, dword [r8 - 0x10]
lea rcx, [rsp + 0x188]
call fcn.1400011ac
mov r8, qword [rsp + 0x188]
lea rdx, str.Could_not_run_uninstaller_from_the_temp_directory.___s_n
lea rcx, [0x14010f570]
call fcn.14004b7ec
mov ecx, 0x32
mov dword [r12 + 0x168], ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r15d, edi
jmp 0x140044103
mov r9, qword [rsp + 0x188]
cmp dword [r9 - 8], 1
jle 0x1400440d2
mov edx, dword [r9 - 0x10]
lea rcx, [rsp + 0x188]
call fcn.1400011ac
mov r9, qword [rsp + 0x188]
lea r8, str.Ran_scrubber_from_temp:__s_n
mov edx, 1
lea rcx, [0x14010f570]
call fcn.140001000
mov ecx, 9
mov dword [r12 + 0x168], ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r15d, 1
mov rcx, qword [rsp + 0x50]
cmp rcx, rdi
je 0x140044113
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x58]
cmp rcx, rdi
je 0x140044124
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
cmp qword [rsp + 0x1b0], 0x10
jb 0x14004413c
mov rcx, qword [rsp + 0x198]
call fcn.14006127c
mov qword [rsp + 0x1b0], rbp
mov qword [rsp + reloc.OLEAUT32.dll_VarUI4FromI8], rdi
mov byte [rsp + 0x198], dil
mov rdx, qword [rsp + 0x188]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, edi
jg 0x140044180
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
mov rsi, qword [rsp + 0x208]
jmp 0x140044188
mov rsi, qword [rsp + 0x208]
cmp qword [rsp + 0x230], 0x10
jb 0x1400441a0
mov rcx, qword [rsp + 0x218]
call fcn.14006127c
lea rdx, [rsi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, edi
jg 0x1400441dc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
jmp 0x1400441dc
lea r9, [rsp + 0x370]
lea r8, str.File__s_not_found.__n
mov edx, 8
lea rcx, [0x14010f570]
call fcn.140001000
lea r8, str.CUninstallerApp::CopyToTempAndUpdateWithUserInputs__
mov edx, 4
lea rcx, [0x14010f570]
call fcn.140001000
nop
cmp qword [rsp + 0x200], 0x10
jb 0x14004420d
mov rcx, qword [rsp + 0x1e8]
call fcn.14006127c
mov esi, reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x200], rsi
mov qword [rsp + 0x1f8], rdi
mov byte [rsp + 0x1e8], dil
lea rcx, [rsp + 0x70]
call fcn.140007328
mov rcx, qword [rsp + 0x98]
call fcn.14006127c
mov qword [rsp + 0x98], rdi
mov rcx, qword [rsp + 0x70]
call fcn.14006127c
nop
cmp qword [rsp + 0x158], 0x10
jb 0x14004426c
mov rcx, qword [rsp + 0x140]
call fcn.14006127c
mov qword [rsp + 0x158], rsi
mov qword [rsp + 0x150], rdi
mov byte [rsp + 0x140], dil
mov rdx, qword [rsp + 0x130]
add rdx, 0xffffffffffffffe8
mov ecx, ebx
lock xadd dword [rdx + 0x10], ecx
add ecx, ebx
cmp ecx, edi
jg 0x1400442a7
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.oledlg.dll_OleUIBusyA + 8]
mov eax, r15d
mov rcx, qword [rsp + 0x4590]
xor rcx, rsp
call fcn.140061100
mov rbx, qword [rsp + 0x45f8]
add rsp, 0x45a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret