Function at 0x140039670
Capabilities:
Check if file exists
Delete file
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x230]
sub rsp, 0x330
mov rax, qword [0x1400e00c0]
xor rax, rsp
mov qword [rbp + 0x220], rax
mov rbx, rcx
mov dword [0x1400e50c8], 1
xor esi, esi
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], si
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], 7
mov word [rbp - 0x70], si
lea rdx, [rbp + 0x10]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], si
lea rax, [rbp + 0x10]
mov rdi, 0xffffffffffffffff
mov r8, rdi
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140039710
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x30]
call fcn.1400027d0
nop
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
lea rcx, [rbp - 0x50]
call fcn.1400027d0
mov r8d, 0xd
lea rdx, str.CIMCONFIG.XML
lea rcx, [rbp - 0x50]
call fcn.140014b80
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
lea rcx, [rbp - 0x70]
call fcn.1400027d0
mov r8d, 0xb
lea rdx, str.Cleanup.dll
lea rcx, [rbp - 0x70]
call fcn.140014b80
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x1400397d7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400397d2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039d16
call fcn.140070654
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rcx, [rbp - 0x70]
cmp qword [rbp - 0x58], 8
cmovae rcx, qword [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
call fcn.1400021b0
mov rcx, rax
test rax, rax
je 0x140039d1c
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x20], rax
call fcn.1400021b0
mov rcx, rax
test rax, rax
je 0x140039d27
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x28], rax
lea rdx, str.Actions_taken_by_AMD_Cleanup_Utility_require_a_system_reboot._Would_you_like_to_reboot_now_
lea rcx, [rsp + 0x20]
call fcn.140041c90
lea rdx, [0x1400bebc0]
lea rcx, [rsp + 0x28]
call fcn.140041c90
mov edx, 1
mov rcx, rbx
call qword [sym.imp.USER32.dll_EndDialog]
lea rcx, [0x1400e0e10]
cmp qword [0x1400e0e28], 8
cmovae rcx, qword [0x1400e0e10]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x140039bec
mov qword [rsp + 0x70], rsi
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], 7
mov word [rsp + 0x70], si
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], 7
mov word [rsp + 0x50], si
lea r8, [rsp + 0x70]
mov edx, 0x85
lea rcx, [rbp - 0x30]
call fcn.14002e550
mov rbx, rax
lea rax, [rsp + 0x70]
cmp rax, rbx
je 0x140039943
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x140039924
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003991f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039d32
call fcn.140070654
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x80], xmm1
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], 7
mov word [rbx], si
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x140039983
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003997e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039d32
call fcn.140070654
lea r8, [rsp + 0x50]
mov edx, 0x7e
lea rcx, [rbp - 0x10]
call fcn.14002e550
mov rbx, rax
lea rax, [rsp + 0x50]
cmp rax, rbx
je 0x140039a05
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x1400399e5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400399e0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039d38
call fcn.140070654
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsp + 0x60], xmm1
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], 7
mov word [rbx], si
mov rdx, qword [rbp + 8]
cmp rdx, 8
jb 0x140039a46
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039a40
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039d38
call fcn.140070654
nop
mov rax, qword [rsp + 0x20]
lea rdx, [rax - 0x18]
mov rbx, qword [rdx]
cmp dword [rdx + 8], 0
je 0x140039a9b
mov ecx, dword [rdx + 0x10]
shr ecx, 0x1f
test cl, cl
je 0x140039a74
cmp dword [rdx + 0xc], 0
jl 0x140039d3e
mov dword [rdx + 8], esi
mov word [rax], si
jmp 0x140039a9b
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140039a89
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
jb 0x140039ab5
mov rdx, qword [rsp + 0x70]
test rdx, rdx
jne 0x140039ab5
mov eax, esi
jmp 0x140039aca
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140039ac0
mov r8d, eax
lea rcx, [rsp + 0x20]
call fcn.1400417f0
nop
mov rax, qword [rsp + 0x28]
lea rdx, [rax - 0x18]
mov rbx, qword [rdx]
cmp dword [rdx + 8], 0
je 0x140039b2d
mov ecx, dword [rdx + 0x10]
shr ecx, 0x1f
test cl, cl
je 0x140039b06
cmp dword [rdx + 0xc], 0
jl 0x140039d49
mov dword [rdx + 8], esi
mov word [rax], si
jmp 0x140039b2d
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140039b1b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
jb 0x140039b48
mov rdx, qword [rsp + 0x50]
test rdx, rdx
jne 0x140039b48
mov eax, esi
jmp 0x140039b5a
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140039b50
mov r8d, eax
lea rcx, [rsp + 0x28]
call fcn.1400417f0
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x140039bab
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039ba5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039d54
call fcn.140070654
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x140039bec
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039be7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039d5a
call fcn.140070654
mov rbx, qword [rsp + 0x28]
cmp byte [0x1400e50b8], 0
jne 0x140039c1f
mov r9d, 0x24
mov r8, rbx
mov rdx, qword [rsp + 0x20]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
je 0x140039c1f
xor ecx, ecx
call qword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x140039c25
call fcn.140039d70
nop
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140039c3f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x140039c5c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x140039c9c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039c97
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039d60
call fcn.140070654
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], 7
mov word [rbp - 0x70], si
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x140039ce8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039ce3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039d10
call fcn.140070654
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.140070140
lea r11, [rsp + 0x330]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
call fcn.14007d0fc
nop
call fcn.14007d0fc
nop
mov ecx, 0x80004005
call fcn.1400277b0
nop
mov ecx, 0x80004005
call fcn.1400277b0
nop
call fcn.14007d0fc
int3
call fcn.14007d0fc
nop
mov ecx, 0x80070057
call fcn.1400277b0
nop
mov ecx, 0x80070057
call fcn.1400277b0
nop
call fcn.14007d0fc
nop
call fcn.14007d0fc
nop
call fcn.14007d0fc
int3