Function at 0x140007460
Capabilities:
Delete file
Read .ini file

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x88]
sub rsp, 0x188
mov qword [rbp - 0x28], 0xfffffffffffffffe
mov rdi, rdx
mov r13, rcx
call fcn.140014264
mov rcx, rax
xor r8d, r8d
test rax, rax
setne r8b
test r8d, r8d
jne 0x1400074b5
mov ecx, 0x80004005
call fcn.140001970
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea r12, [0x1401e2848]
mov r15, r12
shr r15, 0x10
test r15, r15
jne 0x1400074f9
movzx ebx, r12w
mov ecx, ebx
call fcn.140014074
test rax, rax
je 0x14000750a
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140001640
jmp 0x14000750a
xor r8d, r8d
mov rdx, r12
lea rcx, [rsp + 0x40]
call fcn.140001990
nop
call fcn.140014264
mov r11, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x140007529
mov ecx, 0x80004005
call fcn.140001970
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rdx, str.08_31_2004_5.2.0.0
test rdx, 0xffffffffffff0000
jne 0x14000756c
movzx ebx, dx
mov ecx, ebx
call fcn.140014074
test rax, rax
je 0x14000757d
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.140001640
jmp 0x14000757d
mov r8d, 0x12
lea rcx, [rsp + 0x78]
call fcn.140001990
nop
call fcn.140014264
mov r11, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x14000759c
mov ecx, 0x80004005
call fcn.140001970
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x80], rax
lea rdx, str.02_22_2006_5.2.5326.4762
test rdx, 0xffffffffffff0000
jne 0x1400075dd
movzx ebx, dx
mov ecx, ebx
call fcn.140014074
test rax, rax
je 0x1400075ed
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.140001640
jmp 0x1400075ed
mov r8d, 0x18
lea rcx, [rbp - 0x80]
call fcn.140001990
nop
call fcn.140014264
mov r11, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x14000760c
mov ecx, 0x80004005
call fcn.140001970
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
lea rdx, str.06_21_2006_6.1.7600.16385
test rdx, 0xffffffffffff0000
jne 0x14000764f
movzx ebx, dx
mov ecx, ebx
call fcn.140014074
test rax, rax
je 0x140007660
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.140001640
jmp 0x140007660
mov r8d, 0x19
lea rcx, [rsp + 0x70]
call fcn.140001990
nop
call fcn.140014264
mov r11, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x14000767f
mov ecx, 0x80004005
call fcn.140001970
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
lea rsi, [rax + 0x18]
mov qword [rsp + 0x68], rsi
lea rdx, str.EEC5AD98_8080_425F_922A_DABF3DE3F69A
test rdx, 0xffffffffffff0000
jne 0x1400076c2
movzx ebx, dx
mov ecx, ebx
call fcn.140014074
test rax, rax
je 0x1400076d7
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.140001640
jmp 0x1400076d2
mov r8d, 0x26
lea rcx, [rsp + 0x68]
call fcn.140001990
mov rsi, qword [rsp + 0x68]
mov rcx, qword [rdi + 8]
sub rcx, 0x18
call fcn.1400014e0
lea rdi, [rax + 0x18]
mov qword [rbp - 0x70], rdi
movsxd rbx, dword [rdi - 0x10]
test ebx, ebx
jns 0x1400076ff
mov ecx, 0x80070057
call fcn.140001970
int3
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, ebx
or eax, ecx
jge 0x14000771f
mov edx, ebx
lea rcx, [rbp - 0x70]
call fcn.140001910
mov rdi, qword [rbp - 0x70]
lea eax, [rbx + 1]
movsxd rdx, eax
mov rcx, rdi
call fcn.140166d74
test eax, eax
je 0x140007757
cmp eax, 0xc
je 0x140007751
cmp eax, 0x16
je 0x14000774b
cmp eax, 0x22
je 0x14000774b
cmp eax, 0x50
je 0x140007757
call fcn.140013e90
int3
call fcn.140013e90
int3
call fcn.140013e48
int3
cmp ebx, dword [rdi - 0xc]
jg 0x140008b21
mov dword [rdi - 0x10], ebx
mov byte [rbx + rdi], 0
call fcn.140014264
mov r11, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x140007786
mov ecx, 0x80004005
call fcn.140001970
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x58], rbx
test r15, r15
jne 0x1400077c0
movzx r12d, r12w
mov ecx, r12d
call fcn.140014074
test rax, rax
je 0x1400077d5
mov r8d, r12d
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140001640
jmp 0x1400077d0
xor r8d, r8d
mov rdx, r12
lea rcx, [rsp + 0x58]
call fcn.140001990
mov rbx, qword [rsp + 0x58]
xor eax, eax
test rsi, rsi
setne al
test eax, eax
jne 0x1400077ec
mov ecx, 0x80004005
call fcn.140001970
int3
mov rdx, rsi
mov rcx, rdi
call fcn.1401663c0
test eax, eax
sete al
or r14d, 0xffffffff
test al, al
je 0x140007c57
lea rcx, [rbp - 0x38]
call fcn.14000bc30
nop
mov r12, qword [rax]
lea rcx, [r12 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x140007963
cmp dword [rdi + 0x10], 0
jl 0x140007861
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140007861
call fcn.1400014e0
mov rbx, rax
mov ecx, r14d
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140007858
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rbx + 0x18]
jmp 0x14000795e
movsxd rsi, dword [r12 - 0x10]
test esi, esi
jne 0x1400078c9
mov rsi, qword [rdi]
cmp dword [rdi + 8], 0
je 0x140007963
cmp dword [rdi + 0x10], 0
jge 0x14000789d
cmp dword [rbx - 0xc], 0
jge 0x14000788e
mov ecx, 0x80070057
call fcn.140001970
int3
mov dword [rbx - 0x10], 0
mov byte [rbx], 0
jmp 0x140007963
mov eax, r14d
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x1400078b7
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
jmp 0x14000795e
test r12, r12
jne 0x1400078d9
mov ecx, 0x80070057
call fcn.140001970
int3
mov r14d, dword [rbx - 0x10]
mov r13, r12
sub r13, rbx
test esi, esi
jns 0x1400078f2
mov ecx, 0x80070057
call fcn.140001970
int3
mov ecx, 1
sub ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, esi
or eax, ecx
jge 0x140007914
mov edx, esi
lea rcx, [rsp + 0x58]
call fcn.140001910
mov rbx, qword [rsp + 0x58]
mov rdi, rsi
movsxd rdx, dword [rbx - 0xc]
mov r9, rsi
mov rcx, rbx
cmp r13, r14
ja 0x140007932
lea r8, [r13 + rbx]
call fcn.14016609c
jmp 0x14000793a
mov r8, r12
call fcn.140166014
cmp esi, dword [rbx - 0xc]
jg 0x140007953
mov dword [rbx - 0x10], esi
mov byte [rdi + rbx], 0
mov r13, qword [rbp + 0xd0]
or r14d, 0xffffffff
jmp 0x140007963
mov ecx, 0x80070057
call fcn.140001970
int3
mov qword [rsp + 0x58], rax
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140007982
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
mov rdx, qword [rsp + 0x70]
test rdx, rdx
setne al
test eax, eax
jne 0x14000799e
mov ecx, 0x80004005
call fcn.140001970
int3
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
call fcn.1401663c0
test eax, eax
sete al
test al, al
je 0x140007c57
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rdx, str.Uninstalling
lea rcx, [rsp + 0x40]
call fcn.140001990
mov rsi, qword [0x140231b08]
mov rbx, qword [rsp + 0x40]
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x104
or eax, ecx
jge 0x140007a03
mov edx, 0x104
lea rcx, [rsp + 0x40]
call fcn.140001910
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0x104
mov r9, rbx
mov r8, rbx
lea rdx, str.Uninstalling
lea rcx, str.string
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1401663c8
test eax, eax
js 0x140007c4c
cmp eax, dword [rbx - 0xc]
jg 0x140007c4c
mov dword [rbx - 0x10], eax
cdqe
mov byte [rax + rbx], 0
mov r12, qword [rbp + 0xd8]
mov r9, qword [r12 + 0x20]
mov r8, rbx
lea rdx, str._s_________________________________s_______________________________
lea rcx, [0x140231af0]
call fcn.140003410
mov r9, qword [0x140231af0]
xor r8d, r8d
mov edx, dword [0x1402268dc]
mov rcx, qword [0x1402318d8]
call qword [sym.imp.USER32.dll_SendMessageA]
mov r8d, 0x25
lea rdx, str.Winodws_7_system__Will_not_Uninstall.
lea rcx, [rsp + 0x40]
call fcn.140001990
mov rsi, qword [0x140231b08]
mov rbx, qword [rsp + 0x40]
mov edx, 1
sub edx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x104
or eax, edx
jge 0x140007ada
mov edx, 0x104
lea rcx, [rsp + 0x40]
call fcn.140001910
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0x104
mov r9, rbx
mov r8, rbx
lea rdx, str.MTPWIN7WillnotUnstall
lea rcx, str.string
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1401663c8
test eax, eax
js 0x140007c41
cmp eax, dword [rbx - 0xc]
jg 0x140007c41
mov dword [rbx - 0x10], eax
cdqe
mov byte [rax + rbx], 0
mov r8, rbx
lea rdx, str._r_n_s_r_n
lea rcx, [0x140231af0]
call fcn.140003410
mov r9, qword [0x140231af0]
xor r8d, r8d
mov edx, dword [0x1402268dc]
mov rcx, qword [0x1402318d8]
call qword [sym.imp.USER32.dll_SendMessageA]
nop
lea rdx, [rdi - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140007b77
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140007b97
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140007bb8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140007bd9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140007bf9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140007c1a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r14d
dec r14d
test r14d, r14d
jg 0x140007c3c
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
nop
jmp 0x140008b2c
mov ecx, 0x80070057
call fcn.140001970
int3
mov ecx, 0x80070057
call fcn.140001970
int3
cmp qword [r13 + 0x80], 0
jne 0x140007d15
call fcn.140014264
mov r11, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x140007c84
mov ecx, 0x80004005
call fcn.140001970
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x78], rax
lea rdx, str.C:WINDOWSinf
test rdx, 0xffffffffffff0000
jne 0x140007cc5
movzx ebx, dx
mov ecx, ebx
call fcn.140014074
test rax, rax
je 0x140007cd5
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.140001640
jmp 0x140007cd5
mov r8d, SafeArrayGetDim
lea rcx, [rbp - 0x78]
call fcn.140001990
nop
lea rdx, [0x1401e3978]
lea rcx, [rbp - 0x20]
call fcn.140001a70
lea rdx, [r13 + 0x70]
mov r8, rax
lea rcx, [rbp - 0x78]
call fcn.140011260
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140007d15
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rdx, str.Uninstalling
lea rcx, [rsp + 0x40]
call fcn.140001990
mov rdi, qword [0x140231b08]
mov rbx, qword [rsp + 0x40]
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x104
or eax, ecx
jge 0x140007d60
mov edx, 0x104
lea rcx, [rsp + 0x40]
call fcn.140001910
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x104
mov r9, rbx
mov r8, rbx
lea rdx, str.Uninstalling
lea rcx, str.string
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1401663c8
test eax, eax
js 0x140008b16
cmp eax, dword [rbx - 0xc]
jg 0x140008b16
mov dword [rbx - 0x10], eax
cdqe
mov byte [rax + rbx], 0
mov r12, qword [rbp + 0xd8]
mov r9, qword [r12 + 0x20]
mov r8, rbx
lea rdx, str._s_________________________________s_______________________________
lea rcx, [0x140231af0]
call fcn.140003410
mov r9, qword [0x140231af0]
xor r8d, r8d
mov edx, dword [0x1402268dc]
mov rcx, qword [0x1402318d8]
call qword [sym.imp.USER32.dll_SendMessageA]
mov dword [rbp + 0xe8], 0
call fcn.140014264
mov r11, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x140007e15
mov ecx, 0x80004005
call fcn.140001970
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x60], rbx
lea rsi, [0x1401e2848]
test r15, r15
jne 0x140007e54
movzx edi, si
mov ecx, edi
call fcn.140014074
test rax, rax
je 0x140007e69
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140001640
jmp 0x140007e64
xor r8d, r8d
mov rdx, rsi
lea rcx, [rsp + 0x60]
call fcn.140001990
mov rbx, qword [rsp + 0x60]
mov dword [rbp + 0xe0], 0x104
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x104
or eax, ecx
jge 0x140007e9b
mov edx, 0x104
lea rcx, [rsp + 0x60]
call fcn.140001910
mov rbx, qword [rsp + 0x60]
lea r8, [rbp + 0xe0]
mov rdx, rbx
mov rcx, qword [r12]
call qword [sym.imp.DIFXAPI.dll_DriverPackageGetPathA]
mov edi, eax
cmp dword [rbx - 0xc], 0x104
jl 0x140008b0b
mov dword [rbx - 0x10], 0x104
mov byte [rbx + 0x104], 0
mov rdx, rsi
mov rcx, qword [r12 + 0x28]
call fcn.1401663c0
test eax, eax
setne cl
test cl, cl
je 0x140007efa
lea r9, [rbp + 0xe8]
xor r8d, r8d
xor edx, edx
mov rcx, qword [r12]
call qword [sym.imp.DIFXAPI.dll_DriverPackageUninstallA]
mov edi, eax
lea rsi, [r13 + 0x10]
mov rax, qword [r12 + 0x20]
xor r8d, r8d
lea edx, [r8 + 1]
mov qword [rbp - 0x68], rsi
mov rcx, rsi
test edi, edi
je 0x140007fbe
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
lea r9, str.Uninstall__s_FAILED_ret0x_X_r_n
call fcn.140001060
cmp edi, 0x103
je 0x140007f90
cmp edi, 0xe000020b
je 0x140007f62
cmp edi, 0xe0000235
jne 0x140007fcf
mov rax, qword [r12 + 0x20]
lea r9, str.DriverPackageUninstall__s_FAILED_errorERROR_IN_WOW64_r_n
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rsi
jmp 0x140007fc5
xor r8d, r8d
xor edx, edx
lea rcx, str.ERROR_NO_SUCH_DEVINST
call fcn.14001bdfc
mov r11, qword [r12 + 0x20]
mov qword [rsp + 0x20], r11
lea r9, str.DriverPackageUninstall__s_FAILED_errorERROR_NO_SUCH_DEVINST_r_n
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rsi
jmp 0x140007fca
xor r8d, r8d
xor edx, edx
lea rcx, str.ERROR_NO_MORE_ITEMS
call fcn.14001bdfc
mov r11, qword [r12 + 0x20]
mov qword [rsp + 0x20], r11
lea r9, str.DriverPackageUninstall__s_FAILED_errorERROR_NO_MORE_ITEMS_r_n
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rsi
jmp 0x140007fca
lea r9, str.DriverPackageUninstall__s_SUCCESS_r_n
mov qword [rsp + 0x20], rax
call fcn.140001060
mov rdx, r12
lea rcx, [rbp - 0x18]
call fcn.140007340
mov rdx, rax
mov rcx, r13
call fcn.140008d70
test eax, eax
jne 0x140008009
mov rax, qword [r12]
mov qword [rsp + 0x20], rax
lea r9, str.ERROR:_UnRegCoDeviceInstallers__s_failed__r_n
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rsi
call fcn.140001060
xor r15d, r15d
mov rax, qword [r12 + 0x50]
sub rax, qword [r12 + 0x48]
sar rax, 3
test rax, rax
je 0x14000849c
nop word [rax + rax]
mov rax, qword [r12 + 0x48]
mov rbx, qword [rax + r15*8]
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rbx - 8], 0
jl 0x14000805c
cmp rax, qword [rbx - 0x18]
jne 0x14000805c
lea rdi, [rbx - 0x18]
lock inc dword [rbx - 8]
jmp 0x140008093
mov rax, qword [rax]
mov r8d, 1
mov edx, dword [rbx - 0x10]
call qword [rax]
mov rdi, rax
test rax, rax
je 0x140008496
mov ecx, dword [rbx - 0x10]
mov dword [rax + 8], ecx
mov ecx, dword [rbx - 0x10]
inc ecx
movsxd rdx, ecx
mov r8, rbx
lea rcx, [rax + 0x18]
mov r9, rdx
call fcn.140166014
lea rbx, [rdi + 0x18]
mov qword [rsp + 0x48], rbx
mov edx, 0x5c
mov rcx, rbx
call fcn.140166c18
test rax, rax
je 0x14000821f
sub eax, ebx
cmp eax, 0xffffffff
je 0x14000821f
lea r8d, [rax + 1]
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x48]
call fcn.14000cb00
nop
mov r13, qword [rax]
lea rcx, [r13 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x1400081fb
cmp dword [rdi + 0x10], 0
jl 0x140008123
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140008123
call fcn.1400014e0
mov rbx, rax
mov ecx, r14d
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140008115
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x48], rax
jmp 0x1400081fb
movsxd rsi, dword [r13 - 0x10]
test esi, esi
jne 0x140008185
mov rsi, qword [rdi]
cmp dword [rdi + 8], 0
je 0x1400081fb
cmp dword [rdi + 0x10], 0
jge 0x140008157
cmp dword [rbx - 0xc], 0
jl 0x140008437
mov dword [rbx - 0x10], 0
mov byte [rbx], 0
jmp 0x1400081fb
mov eax, r14d
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x140008171
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
jmp 0x1400081fb
test r13, r13
je 0x140008458
mov r14d, dword [rbx - 0x10]
mov r12, r13
sub r12, rbx
test esi, esi
js 0x14000844d
mov ecx, 1
sub ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, esi
or eax, ecx
jge 0x1400081c2
mov edx, esi
lea rcx, [rsp + 0x48]
call fcn.140001910
mov rbx, qword [rsp + 0x48]
mov rdi, rsi
movsxd rdx, dword [rbx - 0xc]
mov r9, rsi
mov rcx, rbx
cmp r12, r14
ja 0x1400081df
lea r8, [r12 + rbx]
call fcn.14016609c
jmp 0x1400081e7
mov r8, r13
call fcn.140166014
cmp esi, dword [rbx - 0xc]
jg 0x140008442
mov dword [rbx - 0x10], esi
mov byte [rdi + rbx], 0
or r14d, 0xffffffff
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000821a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x48]
lea r8, [rsp + 0x48]
lea rdx, str.C:WINDOWS_system32_
lea rcx, [rbp - 0x60]
call fcn.140003570
nop
mov r13, qword [rax]
lea rcx, [r13 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x140008360
cmp dword [rdi + 0x10], 0
jl 0x140008288
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140008288
call fcn.1400014e0
mov rbx, rax
mov ecx, r14d
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14000827a
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x48], rax
jmp 0x140008360
movsxd rsi, dword [r13 - 0x10]
test esi, esi
jne 0x1400082ea
mov rsi, qword [rdi]
cmp dword [rdi + 8], 0
je 0x140008360
cmp dword [rdi + 0x10], 0
jge 0x1400082bc
cmp dword [rbx - 0xc], 0
jl 0x140008463
mov dword [rbx - 0x10], 0
mov byte [rbx], 0
jmp 0x140008360
mov eax, r14d
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x1400082d6
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
jmp 0x140008360
test r13, r13
je 0x140008484
mov r14d, dword [rbx - 0x10]
mov r12, r13
sub r12, rbx
test esi, esi
js 0x140008479
mov ecx, 1
sub ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, esi
or eax, ecx
jge 0x140008327
mov edx, esi
lea rcx, [rsp + 0x48]
call fcn.140001910
mov rbx, qword [rsp + 0x48]
mov rdi, rsi
movsxd rdx, dword [rbx - 0xc]
mov r9, rsi
mov rcx, rbx
cmp r12, r14
ja 0x140008344
lea r8, [r12 + rbx]
call fcn.14016609c
jmp 0x14000834c
mov r8, r13
call fcn.140166014
cmp esi, dword [rbx - 0xc]
jg 0x14000846e
mov dword [rbx - 0x10], esi
mov byte [rdi + rbx], 0
or r14d, 0xffffffff
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000837f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x1400083fa
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp eax, 0x50
je 0x1400083fa
cmp eax, 2
je 0x1400083fa
mov edx, eax
lea rcx, [rbp - 0x40]
call fcn.140001370
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rbx
lea r9, str.DeleteFile__s_failed_error_code__d__s_r_n
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, qword [rbp - 0x68]
call fcn.140001060
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400083f5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x48]
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140008415
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc r15
mov r12, qword [rbp + 0xd8]
mov rax, qword [r12 + 0x50]
sub rax, qword [r12 + 0x48]
sar rax, 3
cmp r15, rax
jae 0x14000848f
jmp 0x140008030
mov ecx, 0x80070057
call fcn.140001970
int3
mov ecx, 0x80070057
call fcn.140001970
int3
mov ecx, 0x80070057
call fcn.140001970
int3
mov ecx, 0x80070057
call fcn.140001970
nop
mov ecx, 0x80070057
call fcn.140001970
int3
mov ecx, 0x80070057
call fcn.140001970
int3
mov ecx, 0x80070057
call fcn.140001970
int3
mov ecx, 0x80070057
call fcn.140001970
nop
mov rbx, qword [rsp + 0x60]
jmp 0x14000849c
call fcn.1400018b0
int3
xor r15d, r15d
mov rax, qword [r12 + 0x70]
sub rax, qword [r12 + 0x68]
sar rax, 3
test rax, rax
je 0x14000892c
nop word [rax + rax]
mov rax, qword [r12 + 0x68]
mov rbx, qword [rax + r15*8]
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rbx - 8], 0
jl 0x1400084ec
cmp rax, qword [rbx - 0x18]
jne 0x1400084ec
lea rdi, [rbx - 0x18]
lock inc dword [rbx - 8]
jmp 0x140008523
mov rax, qword [rax]
mov r8d, 1
mov edx, dword [rbx - 0x10]
call qword [rax]
mov rdi, rax
test rax, rax
je 0x140008926
mov ecx, dword [rbx - 0x10]
mov dword [rax + 8], ecx
mov ecx, dword [rbx - 0x10]
inc ecx
movsxd rdx, ecx
mov r8, rbx
lea rcx, [rax + 0x18]
mov r9, rdx
call fcn.140166014
lea rbx, [rdi + 0x18]
mov qword [rsp + 0x50], rbx
mov edx, 0x5c
mov rcx, rbx
call fcn.140166c18
test rax, rax
je 0x1400086af
sub eax, ebx
cmp eax, 0xffffffff
je 0x1400086af
lea r8d, [rax + 1]
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x50]
call fcn.14000cb00
nop
mov r13, qword [rax]
lea rcx, [r13 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x14000868b
cmp dword [rdi + 0x10], 0
jl 0x1400085b3
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x1400085b3
call fcn.1400014e0
mov rbx, rax
mov ecx, r14d
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x1400085a5
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x50], rax
jmp 0x14000868b
movsxd rsi, dword [r13 - 0x10]
test esi, esi
jne 0x140008615
mov rsi, qword [rdi]
cmp dword [rdi + 8], 0
je 0x14000868b
cmp dword [rdi + 0x10], 0
jge 0x1400085e7
cmp dword [rbx - 0xc], 0
jl 0x1400088c7
mov dword [rbx - 0x10], 0
mov byte [rbx], 0
jmp 0x14000868b
mov eax, r14d
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x140008601
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
jmp 0x14000868b
test r13, r13
je 0x1400088e8
mov r14d, dword [rbx - 0x10]
mov r12, r13
sub r12, rbx
test esi, esi
js 0x1400088dd
mov ecx, 1
sub ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, esi
or eax, ecx
jge 0x140008652
mov edx, esi
lea rcx, [rsp + 0x50]
call fcn.140001910
mov rbx, qword [rsp + 0x50]
mov rdi, rsi
movsxd rdx, dword [rbx - 0xc]
mov r9, rsi
mov rcx, rbx
cmp r12, r14
ja 0x14000866f
lea r8, [r12 + rbx]
call fcn.14016609c
jmp 0x140008677
mov r8, r13
call fcn.140166014
cmp esi, dword [rbx - 0xc]
jg 0x1400088d2
mov dword [rbx - 0x10], esi
mov byte [rdi + rbx], 0
or r14d, 0xffffffff
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400086aa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x50]
lea r8, [rsp + 0x50]
lea rdx, str.C:WINDOWS_system32drivers_
lea rcx, [rbp - 0x58]
call fcn.140003570
nop
mov r13, qword [rax]
lea rcx, [r13 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x1400087f0
cmp dword [rdi + 0x10], 0
jl 0x140008718
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140008718
call fcn.1400014e0
mov rbx, rax
mov ecx, r14d
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14000870a
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x50], rax
jmp 0x1400087f0
movsxd rsi, dword [r13 - 0x10]
test esi, esi
jne 0x14000877a
mov rsi, qword [rdi]
cmp dword [rdi + 8], 0
je 0x1400087f0
cmp dword [rdi + 0x10], 0
jge 0x14000874c
cmp dword [rbx - 0xc], 0
jl 0x1400088f3
mov dword [rbx - 0x10], 0
mov byte [rbx], 0
jmp 0x1400087f0
mov eax, r14d
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x140008766
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
jmp 0x1400087f0
test r13, r13
je 0x140008914
mov r14d, dword [rbx - 0x10]
mov r12, r13
sub r12, rbx
test esi, esi
js 0x140008909
mov ecx, 1
sub ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, esi
or eax, ecx
jge 0x1400087b7
mov edx, esi
lea rcx, [rsp + 0x50]
call fcn.140001910
mov rbx, qword [rsp + 0x50]
mov rdi, rsi
movsxd rdx, dword [rbx - 0xc]
mov r9, rsi
mov rcx, rbx
cmp r12, r14
ja 0x1400087d4
lea r8, [r12 + rbx]
call fcn.14016609c
jmp 0x1400087dc
mov r8, r13
call fcn.140166014
cmp esi, dword [rbx - 0xc]
jg 0x1400088fe
mov dword [rbx - 0x10], esi
mov byte [rdi + rbx], 0
or r14d, 0xffffffff
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000880f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x14000888a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp eax, 0x50
je 0x14000888a
cmp eax, 2
je 0x14000888a
mov edx, eax
lea rcx, [rbp - 0x48]
call fcn.140001370
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rbx
lea r9, str.DeleteFile__s_failed_error_code__d__s_r_n
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, qword [rbp - 0x68]
call fcn.140001060
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140008885
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x50]
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400088a5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc r15
mov r12, qword [rbp + 0xd8]
mov rax, qword [r12 + 0x70]
sub rax, qword [r12 + 0x68]
sar rax, 3
cmp r15, rax
jae 0x14000891f
jmp 0x1400084c0
mov ecx, 0x80070057
call fcn.140001970
int3
mov ecx, 0x80070057
call fcn.140001970
int3
mov ecx, 0x80070057
call fcn.140001970
int3
mov ecx, 0x80070057
call fcn.140001970
nop
mov ecx, 0x80070057
call fcn.140001970
int3
mov ecx, 0x80070057
call fcn.140001970
int3
mov ecx, 0x80070057
call fcn.140001970
int3
mov ecx, 0x80070057
call fcn.140001970
nop
mov rbx, qword [rsp + 0x60]
jmp 0x14000892c
call fcn.1400018b0
int3
mov r8d, SafeArrayGetDim
lea rdx, str.Uninstalled
lea rcx, [rsp + 0x40]
call fcn.140001990
mov rsi, qword [0x140231b08]
mov rdi, qword [rsp + 0x40]
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, 0x104
or eax, ecx
jge 0x140008977
mov edx, 0x104
lea rcx, [rsp + 0x40]
call fcn.140001910
mov rdi, qword [rsp + 0x40]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0x104
mov r9, rdi
mov r8, rdi
lea rdx, str.Uninstalled
lea rcx, str.string
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
movsxd rdx, dword [rdi - 0xc]
mov rcx, rdi
call fcn.1401663c8
test eax, eax
js 0x140008b00
cmp eax, dword [rdi - 0xc]
jg 0x140008b00
mov dword [rdi - 0x10], eax
cdqe
mov byte [rax + rdi], 0
mov r9, qword [r12 + 0x20]
mov r8, rdi
lea rdx, str._s_r_n
lea rcx, [0x140231af0]
call fcn.140003410
mov r9, qword [0x140231af0]
xor r8d, r8d
mov edx, dword [0x1402268dc]
mov rcx, qword [0x1402318d8]
call qword [sym.imp.USER32.dll_SendMessageA]
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140008a19
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140008a3a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140008a5a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140008a7b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140008a9c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140008abc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140008add
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r14d
dec r14d
test r14d, r14d
jg 0x140008afe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140008b2c
mov ecx, 0x80070057
call fcn.140001970
int3
mov ecx, 0x80070057
call fcn.140001970
nop
mov ecx, 0x80070057
call fcn.140001970
nop
mov ecx, 0x80070057
call fcn.140001970
nop
mov rcx, r12
call fcn.140005410
mov eax, 1
add rsp, 0x188
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret