Function at 0x1400be960
Capabilities:
Delete directory
Delete file
Delete registry key

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1140]
mov eax, 0x1240
call fcn.1401e33b0
sub rsp, rax
mov rax, qword [0x1402a76c0]
xor rax, rsp
mov qword [rbp + 0x1130], rax
lea rdx, str.UninstallerInstall::DeleteOldUnInstForPCL
lea rcx, [rbp + 0x10]
call fcn.14001abe0
nop
lea rax, [0x1402a8360]
lea r15, [0x1402bbdb0]
mov rcx, qword [0x1402a8360]
cmp rcx, rax
je 0x1400be9f7
test byte [rcx + 0x1c], 1
je 0x1400be9f7
mov r9, r15
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
mov edx, 0x22
lea r8, [0x14025b960]
mov rcx, qword [rcx + 0x10]
call fcn.140001ad0
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x300]
call fcn.1401e7e40
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x510]
call fcn.1401e7e40
movaps xmm0, xmmword [str.SOFTWARECanonPrnUninstPCL_PrinterDriver]
movaps xmmword [rbp + 0x90], xmm0
movaps xmm1, xmmword [0x14025b5c0]
movaps xmmword [rbp + 0xa0], xmm1
movaps xmm0, xmmword [0x14025b5d0]
movaps xmmword [rbp + 0xb0], xmm0
movaps xmm1, xmmword [0x14025b5e0]
movaps xmmword [rbp + 0xc0], xmm1
movaps xmm0, xmmword [0x14025b5f0]
movaps xmmword [rbp + 0xd0], xmm0
mov eax, dword [0x14025b600]
mov dword [rbp + 0xe0], eax
movzx eax, word [0x14025b604]
mov word [rbp + 0xe4], ax
lea r13, vtable.CMap_class_ATL::CStringT_unsigned_short_int__class_StrTraitMFC_unsigned_short_int__class_ATL::ChTraitsCRT_unsigned_short_int_____unsigned_short_int_const____ptr64__unsigned_char____ptr64__unsigned_char____ptr64_.0
mov qword [rsp + 0x48], r13
xor r12d, r12d
mov qword [rsp + 0x50], r12
mov dword [rsp + 0x58], reloc.COMCTL32.dll_InitCommonControls
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
movdqa xmm1, xmmword [0x14026f400]
movdqa xmmword [rsp + 0x70], xmm1
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], r12
lfence
lea ecx, [r12 + 0x48]
call fcn.1401baa78
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x40], r12
mov rcx, qword [rsp + 0x60]
mov rax, rcx
neg rax
sbb rdi, rdi
test rcx, rcx
je 0x1400bec39
call fcn.1401bb0c4
mov rcx, rax
test rax, rax
je 0x1400bf6c7
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400136d6.0]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x20], rbx
mov r9, qword [rsp + 0x50]
test r9, r9
je 0x1400bf6c1
mov rsi, rdi
test rdi, rdi
je 0x1400bf6c1
mov r8d, dword [rsp + 0x58]
cmp rdi, 0xffffffffffffffff
jne 0x1400beb6b
mov ecx, r12d
test r8d, r8d
je 0x1400beb6b
nop dword [rax + rax]
mov eax, ecx
mov rsi, qword [r9 + rax*8]
test rsi, rsi
jne 0x1400beb6b
inc ecx
cmp ecx, r8d
jb 0x1400beb50
test rsi, rsi
je 0x1400bf6c1
mov rdi, qword [rsi + 0x10]
test rdi, rdi
jne 0x1400beb93
xor edx, edx
mov eax, dword [rsi + 0x18]
div r8d
inc edx
cmp edx, r8d
jae 0x1400beb93
mov rdi, qword [r9 + rdx*8]
test rdi, rdi
jne 0x1400beb93
inc edx
cmp edx, r8d
jb 0x1400beb83
mov rdx, qword [rsi]
lea rcx, [rdx - 0x18]
lea r14, [rbx - 0x18]
cmp rcx, r14
je 0x1400bebfb
cmp dword [r14 + 0x10], 0
jl 0x1400bebea
mov rax, qword [r14]
cmp qword [rcx], rax
jne 0x1400bebea
call fcn.140004d00
mov rbx, rax
mov ecx, 0xffffffff
lock xadd dword [r14 + 0x10], ecx
sub ecx, 1
jg 0x1400bebe0
lfence
mov rcx, qword [r14]
mov r8, qword [rcx]
mov rdx, r14
mov rax, qword [r8 + 8]
call qword [case.0x1400136d6.0]
add rbx, 0x18
mov qword [rbp - 0x20], rbx
jmp 0x1400bebfb
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x20]
call fcn.140004e60
mov rbx, qword [rbp - 0x20]
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1400bec0a
call fcn.1400079c0
nop
lea rdx, [rbx - 0x18]
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400bec30
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
test rdi, rdi
jne 0x1400beaf8
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400becab
mov edi, r12d
mov edx, dword [rsp + 0x58]
test edx, edx
je 0x1400beca1
nop
mov eax, edi
mov rbx, qword [rcx + rax*8]
test rbx, rbx
je 0x1400bec9b
nop dword [rax + rax]
mov rdx, qword [rbx]
sub rdx, 0x18
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400bec89
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1400bec60
mov edx, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
inc edi
cmp edi, edx
jb 0x1400bec50
call fcn.1400079c0
mov qword [rsp + 0x50], r12
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
mov rcx, qword [rsp + 0x70]
call fcn.1401bc020
mov qword [rsp + 0x70], r12
mov rbx, qword [rbp - 0x80]
mov r8, qword [rbx + 8]
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x80]
call fcn.140008f00
mov qword [rbx + 8], rbx
mov qword [rbx], rbx
mov qword [rbx + 0x10], rbx
mov qword [rbp - 0x78], r12
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
lea rdx, str.SOFTWARECanonPrnUninst
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400bf077
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0xf0]
call fcn.1401e7e40
movups xmm0, xmmword [str.PCL_PrinterDriver]
movups xmmword [rbp + 0x60], xmm0
movups xmm1, xmmword [0x14025b598]
movups xmmword [rbp + 0x70], xmm1
mov eax, dword [0x14025b5a8]
mov dword [rbp + 0x80], eax
mov qword [rbp], r12
xor r9d, r9d
lea r8, [rbp]
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x40]
call fcn.140007cf0
test eax, eax
jne 0x1400bee54
mov r8, qword [rbp]
mov edx, 0x104
lea rcx, [rbp + 0xf0]
call fcn.1401ebfa8
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x720]
call fcn.1401e7e40
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400bedaa
lea rdx, [rbp + 0x60]
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rcx, qword [0x1402bbf58]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [case.0x1400136d6.0]
mov r9, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x100]
lea r8, [rbp + 0x720]
mov edx, 1
mov rcx, r9
call qword [case.0x1400136d6.0]
mov ebx, eax
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x930]
call fcn.1401e7e40
lea rax, str..LNK
mov qword [rsp + 0x20], rax
lea r9, str.Uninstaller
lea r8, [rbp + 0x60]
lea rdx, str._s__s_s
lea rcx, [rbp + 0x930]
call qword [sym.imp.USER32.dll_wsprintfW]
lea r8, [rbp + 0x930]
mov edx, ebx
call fcn.140019490
lea rdx, [rbp + 0xf0]
call fcn.140019a00
lea rdx, [rbp + 0xf0]
call fcn.140019bd0
lea rcx, [rbp + 0xf0]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400bee74
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x40]
test eax, eax
cmove rcx, r12
mov qword [rsp + 0x40], rcx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
neg rax
sbb rdi, rdi
test rcx, rcx
je 0x1400befcc
nop dword [rax + rax]
call fcn.1401bb0c4
mov rcx, rax
test rax, rax
je 0x1400bf6d8
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400136d6.0]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x18], rbx
mov r9, qword [rsp + 0x50]
test r9, r9
je 0x1400bf6d2
mov rsi, rdi
test rdi, rdi
je 0x1400bf6d2
mov r8d, dword [rsp + 0x58]
cmp rdi, 0xffffffffffffffff
jne 0x1400beefe
mov ecx, r12d
test r8d, r8d
je 0x1400beefe
mov eax, ecx
mov rsi, qword [r9 + rax*8]
test rsi, rsi
jne 0x1400beefe
inc ecx
cmp ecx, r8d
jb 0x1400beee3
test rsi, rsi
je 0x1400bf6d2
mov rdi, qword [rsi + 0x10]
test rdi, rdi
jne 0x1400bef26
xor edx, edx
mov eax, dword [rsi + 0x18]
div r8d
inc edx
cmp edx, r8d
jae 0x1400bef26
mov rdi, qword [r9 + rdx*8]
test rdi, rdi
jne 0x1400bef26
inc edx
cmp edx, r8d
jb 0x1400bef16
mov rdx, qword [rsi]
lea rcx, [rdx - 0x18]
lea r14, [rbx - 0x18]
cmp rcx, r14
je 0x1400bef8e
cmp dword [r14 + 0x10], 0
jl 0x1400bef7d
mov rax, qword [r14]
cmp qword [rcx], rax
jne 0x1400bef7d
call fcn.140004d00
mov rbx, rax
mov ecx, 0xffffffff
lock xadd dword [r14 + 0x10], ecx
sub ecx, 1
jg 0x1400bef73
lfence
mov rcx, qword [r14]
mov r8, qword [rcx]
mov rdx, r14
mov rax, qword [r8 + 8]
call qword [case.0x1400136d6.0]
add rbx, 0x18
mov qword [rbp - 0x18], rbx
jmp 0x1400bef8e
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x18]
call fcn.140004e60
mov rbx, qword [rbp - 0x18]
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1400bef9d
call fcn.1400079c0
nop
lea rdx, [rbx - 0x18]
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400befc3
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
test rdi, rdi
jne 0x1400bee90
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400bf03b
mov edi, r12d
mov edx, dword [rsp + 0x58]
test edx, edx
je 0x1400bf031
mov eax, edi
mov rbx, qword [rcx + rax*8]
test rbx, rbx
je 0x1400bf02b
nop dword [rax]
mov rdx, qword [rbx]
sub rdx, 0x18
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400bf019
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1400beff0
mov edx, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
inc edi
cmp edi, edx
jb 0x1400befe1
call fcn.1400079c0
mov qword [rsp + 0x50], r12
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
mov rcx, qword [rsp + 0x70]
call fcn.1401bc020
mov qword [rsp + 0x70], r12
mov rbx, qword [rbp - 0x80]
mov r8, qword [rbx + 8]
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x80]
call fcn.140008f00
mov qword [rbx + 8], rbx
mov qword [rbx], rbx
mov qword [rbx + 0x10], rbx
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], r12
mov dword [rbp - 0x58], reloc.COMCTL32.dll_InitCommonControls
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x50], xmm0
movdqa xmm1, xmmword [0x14026f400]
movdqa xmmword [rbp - 0x40], xmm1
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], r12
lfence
mov ecx, 0x48
call fcn.1401baa78
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x70], r12
mov rcx, qword [rbp - 0x50]
mov rax, rcx
neg rax
sbb rdi, rdi
test rcx, rcx
je 0x1400bf21a
nop
call fcn.1401bb0c4
mov rcx, rax
test rax, rax
je 0x1400bf6b6
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400136d6.0]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x10], rbx
mov r9, qword [rbp - 0x60]
test r9, r9
je 0x1400bf6e3
mov rsi, rdi
test rdi, rdi
je 0x1400bf6e3
mov r8d, dword [rbp - 0x58]
cmp rdi, 0xffffffffffffffff
jne 0x1400bf14c
mov ecx, r12d
test r8d, r8d
je 0x1400bf14c
mov eax, ecx
mov rsi, qword [r9 + rax*8]
test rsi, rsi
jne 0x1400bf14c
inc ecx
cmp ecx, r8d
jb 0x1400bf131
test rsi, rsi
je 0x1400bf6e3
mov rdi, qword [rsi + 0x10]
test rdi, rdi
jne 0x1400bf174
xor edx, edx
mov eax, dword [rsi + 0x18]
div r8d
inc edx
cmp edx, r8d
jae 0x1400bf174
mov rdi, qword [r9 + rdx*8]
test rdi, rdi
jne 0x1400bf174
inc edx
cmp edx, r8d
jb 0x1400bf164
mov rdx, qword [rsi]
lea rcx, [rdx - 0x18]
lea r14, [rbx - 0x18]
cmp rcx, r14
je 0x1400bf1dc
cmp dword [r14 + 0x10], 0
jl 0x1400bf1cb
mov rax, qword [r14]
cmp qword [rcx], rax
jne 0x1400bf1cb
call fcn.140004d00
mov rbx, rax
mov ecx, 0xffffffff
lock xadd dword [r14 + 0x10], ecx
sub ecx, 1
jg 0x1400bf1c1
lfence
mov rcx, qword [r14]
mov r8, qword [rcx]
mov rdx, r14
mov rax, qword [r8 + 8]
call qword [case.0x1400136d6.0]
add rbx, 0x18
mov qword [rbp - 0x10], rbx
jmp 0x1400bf1dc
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x10]
call fcn.140004e60
mov rbx, qword [rbp - 0x10]
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1400bf1eb
call fcn.1400079c0
nop
lea rdx, [rbx - 0x18]
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400bf211
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
test rdi, rdi
jne 0x1400bf0e0
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x1400bf288
mov edi, r12d
mov edx, dword [rbp - 0x58]
test edx, edx
je 0x1400bf27f
nop dword [rax]
mov eax, edi
mov rbx, qword [rcx + rax*8]
test rbx, rbx
je 0x1400bf279
nop dword [rax + rax]
mov rdx, qword [rbx]
sub rdx, 0x18
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400bf269
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1400bf240
mov edx, dword [rbp - 0x58]
mov rcx, qword [rbp - 0x60]
inc edi
cmp edi, edx
jb 0x1400bf230
call fcn.1400079c0
mov qword [rbp - 0x60], r12
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x50], xmm0
mov rcx, qword [rbp - 0x40]
call fcn.1401bc020
mov qword [rbp - 0x40], r12
mov rbx, qword [rbp - 0x30]
mov r8, qword [rbx + 8]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x30]
call fcn.140008f00
mov qword [rbx + 8], rbx
mov qword [rbx], rbx
mov qword [rbx + 0x10], rbx
mov qword [rbp - 0x28], r12
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
lea rdx, [rbp + 0x90]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400bf5a1
mov qword [rsp + 0x30], r12
xor r9d, r9d
lea r8, [rsp + 0x30]
lea rdx, str.exePath
lea rcx, [rsp + 0x40]
call fcn.140007cf0
test eax, eax
jne 0x1400bf38c
mov r8, qword [rsp + 0x30]
mov edx, 0x104
lea rcx, [rbp + 0x300]
call fcn.1401ebfa8
xor r9d, r9d
lea r8, [rsp + 0x30]
lea rdx, str.IcnPath
lea rcx, [rsp + 0x40]
call fcn.140007cf0
test eax, eax
jne 0x1400bf38c
mov r8, qword [rsp + 0x30]
mov edx, 0x104
lea rcx, [rbp + 0x510]
call fcn.1401ebfa8
lea rcx, [rbp + 0x510]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rdx, [rbp + 0x300]
call fcn.140019a00
lea rdx, [rbp + 0x300]
call fcn.140019bd0
lea rcx, [rbp + 0x300]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x1400bf3a9
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rbp - 0x70]
test eax, eax
cmove rcx, r12
mov qword [rbp - 0x70], rcx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
neg rax
sbb rdi, rdi
test rcx, rcx
je 0x1400bf4fa
nop
call fcn.1401bb0c4
mov rcx, rax
test rax, rax
je 0x1400bf6b6
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400136d6.0]
lea rbx, [rax + 0x18]
mov qword [rbp - 8], rbx
mov r9, qword [rbp - 0x60]
test r9, r9
je 0x1400bf6b0
mov rsi, rdi
test rdi, rdi
je 0x1400bf6b0
mov r8d, dword [rbp - 0x58]
cmp rdi, 0xffffffffffffffff
jne 0x1400bf42c
mov ecx, r12d
test r8d, r8d
je 0x1400bf42c
mov eax, ecx
mov rsi, qword [r9 + rax*8]
test rsi, rsi
jne 0x1400bf42c
inc ecx
cmp ecx, r8d
jb 0x1400bf411
test rsi, rsi
je 0x1400bf6b0
mov rdi, qword [rsi + 0x10]
test rdi, rdi
jne 0x1400bf454
xor edx, edx
mov eax, dword [rsi + 0x18]
div r8d
inc edx
cmp edx, r8d
jae 0x1400bf454
mov rdi, qword [r9 + rdx*8]
test rdi, rdi
jne 0x1400bf454
inc edx
cmp edx, r8d
jb 0x1400bf444
mov rdx, qword [rsi]
lea rcx, [rdx - 0x18]
lea r14, [rbx - 0x18]
cmp rcx, r14
je 0x1400bf4bc
cmp dword [r14 + 0x10], 0
jl 0x1400bf4ab
mov rax, qword [r14]
cmp qword [rcx], rax
jne 0x1400bf4ab
call fcn.140004d00
mov rbx, rax
mov ecx, 0xffffffff
lock xadd dword [r14 + 0x10], ecx
sub ecx, 1
jg 0x1400bf4a1
lfence
mov rcx, qword [r14]
mov r8, qword [rcx]
mov rdx, r14
mov rax, qword [r8 + 8]
call qword [case.0x1400136d6.0]
add rbx, 0x18
mov qword [rbp - 8], rbx
jmp 0x1400bf4bc
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 8]
call fcn.140004e60
mov rbx, qword [rbp - 8]
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1400bf4cb
call fcn.1400079c0
nop
lea rdx, [rbx - 0x18]
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400bf4f1
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
test rdi, rdi
jne 0x1400bf3c0
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x1400bf568
mov edi, r12d
mov edx, dword [rbp - 0x58]
test edx, edx
je 0x1400bf55f
nop dword [rax]
mov eax, edi
mov rbx, qword [rcx + rax*8]
test rbx, rbx
je 0x1400bf559
nop dword [rax + rax]
mov rdx, qword [rbx]
sub rdx, 0x18
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400bf549
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1400bf520
mov edx, dword [rbp - 0x58]
mov rcx, qword [rbp - 0x60]
inc edi
cmp edi, edx
jb 0x1400bf510
call fcn.1400079c0
mov qword [rbp - 0x60], r12
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x50], xmm0
mov rcx, qword [rbp - 0x40]
call fcn.1401bc020
mov qword [rbp - 0x40], r12
mov rbx, qword [rbp - 0x30]
mov r8, qword [rbx + 8]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x30]
call fcn.140008f00
mov qword [rbx + 8], rbx
mov qword [rbx], rbx
mov qword [rbx + 0x10], rbx
mov qword [rbp - 0x28], r12
lea rdx, [rbp + 0x90]
mov rcx, 0xffffffff80000002
call qword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
mov byte [rbp + 0x18], 1
mov rcx, qword [0x1402a8360]
lea rbx, [0x1402a8360]
cmp rcx, rbx
je 0x1400bf5fb
test byte [rcx + 0x1c], 1
je 0x1400bf5fb
mov r9, r15
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
mov edx, 0x23
lea r8, [0x14025b960]
mov rcx, qword [rcx + 0x10]
call fcn.140001ad0
nop
lea rcx, [rbp - 0x70]
call fcn.140007a90
nop
lea rcx, [rsp + 0x40]
call fcn.140007a90
nop
lea rax, vtable.WppTrace.0
mov qword [rbp + 0x10], rax
cmp byte [rbp + 0x18], 0
jne 0x1400bf66e
mov rcx, qword [0x1402a8360]
cmp rcx, rbx
je 0x1400bf66e
test byte [rcx + 0x1c], 1
je 0x1400bf66e
lea rax, [rbp + 0x20]
cmp qword [rbp + 0x38], 8
cmovae rax, qword [rbp + 0x20]
cmp qword [0x1402bbdc8], 8
cmovae r15, qword [0x1402bbdb0]
mov edx, 0xa
mov qword [rsp + 0x20], rax
mov r9, r15
lea r8, [0x140252818]
mov rcx, qword [rcx + 0x10]
call fcn.140006c90
lea rcx, [rbp + 0x40]
call fcn.1400048a0
lea rcx, [rbp + 0x20]
call fcn.1400048a0
mov rcx, qword [rbp + 0x1130]
xor rcx, rsp
call fcn.1401e2900
lea r11, [rsp + 0x1240]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1401bb848
nop
mov ecx, 0x80004005
call fcn.140001470
nop
call fcn.1401bb848
nop
mov ecx, 0x80004005
call fcn.140001470
nop
call fcn.1401bb848
nop
mov ecx, 0x80004005
call fcn.140001470
nop
call fcn.1401bb848
int3