Function at 0x140003550
Capabilities:
Get common file path
Read .ini file

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.140022f80
sub rsp, rax
mov rax, qword [0x14006b020]
xor rax, rsp
mov qword [rbp + 0x1130], rax
lea rax, vtable.CTracePie.0
mov qword [rbp + 0x200], rax
xor r15d, r15d
mov qword [rbp + 0x2a8], r15
mov word [rbp + 0x2b0], 0x100
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rbp + 0x2a8], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x2ac], eax
lea r9d, [r15 + 0x46]
lea r8, str.PIE_Migration::UninstallProsetINFs
lea edx, [r15 + 0x78]
lea rcx, [rbp + 0x208]
call fcn.1400133b0
lea r9d, [r15 + 0x2c]
lea r8, str.PIE_SERVICE_MIGRATION
lea edx, [r15 + 0x28]
lea rcx, [rbp + 0x280]
call fcn.1400133b0
cmp byte [rbp + 0x2b1], 1
jne 0x14000361d
lea r8, [0x14005a24c]
lea edx, [r15 + 5]
lea rcx, [rbp + 0x200]
call fcn.1400134a0
lea rax, vtable.CTracePieServiceMigration.0
mov qword [rbp + 0x200], rax
xorps xmm0, xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xf0], xmm1
mov qword [rbp + 0x100], r15
movups xmmword [rbp + 0xb0], xmm0
movdqu xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], r15
mov qword [rbp + 0xb8], r15
mov qword [rbp + 0xc0], r15
lfence
mov ecx, 0x10
call fcn.140022678
mov qword [rax + 8], r15
mov qword [rbp + 0xa0], rax
lea rcx, [rbp + 0xa0]
mov qword [rax], rcx
mov qword [rbp + 0x128], r15
mov qword [rbp + 0x138], r15
mov qword [rbp + 0x140], 7
mov word [rbp + 0x128], r15w
mov edx, 0x104
lea rcx, [rbp + 0x510]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
lea rax, [rbp + 0x510]
mov rdi, 0xffffffffffffffff
mov r8, rdi
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400036d0
lea rdx, [rbp + 0x510]
lea rcx, [rbp + 0x128]
call fcn.140009ed0
mov r8d, 5
lea rdx, str.INF_
lea rcx, [rbp + 0x128]
call fcn.140008330
lea r9, [rbp + 0x128]
cmp qword [rbp + 0x140], 8
cmovae r9, qword [rbp + 0x128]
lea r8, str.winInfsDir___ws
mov edx, 4
lea rcx, [rbp + 0x200]
call fcn.1400134a0
lea rdx, [rbp + 0x128]
cmp qword [rbp + 0x140], 8
cmovae rdx, qword [rbp + 0x128]
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], 7
mov word [rbp - 0x38], r15w
mov r8, qword [rbp + 0x138]
lea rcx, [rbp - 0x38]
call fcn.140009ed0
nop
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xe0], xmm0
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0xe0]
call fcn.14000b8b0
mov esi, eax
mov dword [rsp + 0x30], eax
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x1400037d4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400037cf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004bc7
call fcn.140022904
movdqa xmm0, xmmword [0x140060680]
movdqu xmmword [rbp - 0x28], xmm0
mov word [rbp - 0x38], r15w
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
mov rcx, qword [rbp + 0xe8]
test rcx, rcx
je 0x140003807
lock inc dword [rcx + 8]
mov rcx, qword [rbp + 0xe8]
movdqa xmm1, xmmword [rbp + 0xe0]
movdqa xmmword [rbp + 0xd0], xmm1
movdqu xmmword [rbp + 0x68], xmm0
test rcx, rcx
je 0x140003834
lock inc dword [rcx + 8]
mov rcx, qword [rbp + 0xe8]
movdqa xmm1, xmmword [rbp + 0xe0]
movdqa xmmword [rbp + 0x80], xmm1
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1e8], xmm1
test rcx, rcx
je 0x14000388f
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14000388f
mov rbx, qword [rbp + 0xe8]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [0x140046408]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14000388f
mov rcx, qword [rbp + 0xe8]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140046408]
nop
nop
mov r14, qword [rbp + 0xd8]
mov qword [rsp + 0x38], r14
mov r13, qword [rbp + 0xd0]
test r13, r13
je 0x14000436c
test esi, esi
jne 0x140003e87
mov rax, qword [r13 + 0x30]
lea rcx, [r13 + 0x20]
cmp qword [r13 + 0x38], 8
jb 0x1400038c7
mov rcx, qword [r13 + 0x20]
lea rbx, [rcx + rax*2]
mov r11, rbx
mov rdx, rbx
call fcn.140002970
cmp rax, rbx
je 0x14000390b
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x1400038ea
cmp cx, 0x2f
jne 0x1400038f0
add rax, 2
jmp 0x1400038d6
lea rdx, [r11 - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x14000390b
cmp cx, 0x2f
je 0x14000390b
mov r11, rdx
cmp rax, rdx
jne 0x1400038f0
sub rbx, r11
sar rbx, 1
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r15w
mov r8, rbx
mov rdx, r11
lea rcx, [rsp + 0x68]
call fcn.140009ed0
nop
lea rdx, [rbp - 0x18]
lea rcx, [rsp + 0x68]
call fcn.14000b750
nop
mov edx, 0x104
lea rcx, [0x14005630c]
call fcn.14002c844
mov r8, rax
mov qword [rbp + 0x1c8], r15
mov qword [rbp + 0x1d8], r15
mov qword [rbp + 0x1e0], 0xf
mov byte [rbp + 0x1c8], 0
cmp qword [rbp - 8], rax
cmovb r8, qword [rbp - 8]
lea rdx, [rbp - 0x18]
cmp qword [rbp], 0x10
cmovae rdx, qword [rbp - 0x18]
lea rcx, [rbp + 0x1c8]
call fcn.14000a080
nop
mov rdx, qword [rbp]
cmp rdx, 0x10
jb 0x1400039dc
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400039d7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004bcd
call fcn.140022904
mov qword [rbp - 8], r15
mov qword [rbp], 0xf
mov byte [rbp - 0x18], 0
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x140003a2d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003a28
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004bd3
call fcn.140022904
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r15w
mov rax, qword [r13 + 0x30]
lea rcx, [r13 + 0x20]
cmp qword [r13 + 0x38], 8
jb 0x140003a53
mov rcx, qword [r13 + 0x20]
lea rbx, [rcx + rax*2]
mov r11, rbx
mov rdx, rbx
call fcn.140002970
cmp rax, rbx
je 0x140003aab
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x140003a76
cmp cx, 0x2f
jne 0x140003a90
add rax, 2
cmp rax, rbx
jne 0x140003a67
mov r8, rbx
jmp 0x140003b00
lea rdx, [r11 - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x140003aab
cmp cx, 0x2f
je 0x140003aab
mov r11, rdx
cmp rax, rdx
jne 0x140003a90
mov r8, r11
cmp r11, rbx
je 0x140003b00
cmp word [r8], 0x3a
je 0x140003ac3
add r8, 2
cmp r8, rbx
jne 0x140003ab3
cmp r11, r8
je 0x140003b00
lea rdx, [r8 - 2]
cmp r11, rdx
je 0x140003b00
cmp word [rdx], 0x2e
jne 0x140003ae8
lea rax, [rdx - 2]
cmp r11, rax
jne 0x140003b03
cmp word [rax], 0x2e
jne 0x140003b03
jmp 0x140003b00
sub rdx, 2
cmp r11, rdx
je 0x140003b00
cmp word [rdx], 0x2e
je 0x140003b03
sub rdx, 2
cmp r11, rdx
jne 0x140003af1
mov rdx, r8
sub r8, rdx
sar r8, 1
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], r15w
lea rcx, [rbp - 0x78]
call fcn.140009ed0
nop
lea rdx, [rbp + 0x188]
lea rcx, [rbp - 0x78]
call fcn.14000b750
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x140003b79
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003b74
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004bd9
call fcn.140022904
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], r15w
lea rcx, [rbp + 0x1c8]
mov rsi, qword [rbp + 0x1c8]
mov r15, qword [rbp + 0x1e0]
cmp r15, 0x10
cmovae rcx, rsi
mov rbx, qword [rbp + 0x1d8]
mov r8, rbx
cmp rbx, 3
mov eax, 3
cmova r8, rax
lea rdx, [0x14005630c]
call fcn.140025020
test eax, eax
jne 0x140003cf6
cmp rbx, 3
jne 0x140003cf6
lea rcx, [rbp + 0x188]
mov rbx, qword [rbp + 0x188]
mov rdi, qword [rbp + 0x1a0]
cmp rdi, 0x10
cmovae rcx, rbx
mov r14, qword [rbp + 0x198]
mov r8, r14
cmp r14, 4
mov eax, 4
cmova r8, rax
lea rdx, str..inf
call fcn.140025020
test eax, eax
jne 0x140003d09
cmp r14, 4
jae 0x140003c31
mov eax, 0xffffffff
jmp 0x140003c3a
xor eax, eax
cmp r14, 4
seta al
test eax, eax
jne 0x140003d09
lea rdx, [r13 + 0x20]
lea rcx, [rbp + 8]
call fcn.140008520
nop
mov rdx, qword [rbp + 0xf8]
cmp rdx, qword [rbp + 0x100]
je 0x140003c8e
xor r12d, r12d
movups xmm0, xmmword [rbp + 8]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp + 0x18]
movups xmmword [rdx + 0x10], xmm1
mov qword [rbp + 0x18], r12
mov eax, 7
mov qword [rbp + 0x20], rax
mov word [rbp + 8], r12w
add qword [rbp + 0xf8], 0x20
jmp 0x140003ca5
lea r8, [rbp + 8]
lea rcx, [rbp + 0xf0]
call fcn.14000ba40
mov rax, qword [rbp + 0x20]
xor r12d, r12d
cmp rax, 8
jb 0x140003ce1
lea rdx, [rax*2 + 2]
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003cdc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004bdf
call fcn.140022904
mov word [rbp + 8], r12w
mov rdi, qword [rbp + 0x1a0]
mov rbx, qword [rbp + 0x188]
jmp 0x140003d0c
mov rdi, qword [rbp + 0x1a0]
mov rbx, qword [rbp + 0x188]
xor r12d, r12d
jmp 0x140003d11
xor r12d, r12d
mov r14, qword [rsp + 0x38]
cmp rdi, 0x10
jb 0x140003d48
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140003d40
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004be5
mov rcx, rbx
call fcn.140022904
mov qword [rbp + 0x198], r12
mov qword [rbp + 0x1a0], 0xf
mov byte [rbp + 0x188], 0
cmp r15, 0x10
jb 0x140003d98
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140003d90
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004beb
mov rcx, rsi
call fcn.140022904
mov byte [rbp + 0x1c8], 0
nop
lea rdx, [rbp + 0x2c0]
mov rcx, qword [r13 + 0x40]
call fcn.140021170
cmp eax, 0x12
je 0x140003e05
test eax, eax
jne 0x140004bf1
cmp word [rbp + 0x2ec], 0x2e
jne 0x140003de3
movzx eax, word [rbp + 0x2ee]
test ax, ax
je 0x140003da0
cmp ax, 0x2e
jne 0x140003de3
cmp word [rbp + 0x2f0], 0
je 0x140003da0
lea rdx, [rbp + 0x2c0]
mov rcx, r13
call fcn.140003300
mov rdi, 0xffffffffffffffff
mov esi, dword [rsp + 0x30]
xor r15d, r15d
jmp 0x1400038a3
mov qword [rbp + 0x90], r13
xor r15d, r15d
mov r13d, r15d
mov qword [rbp + 0xd0], r15
mov rbx, r14
mov qword [rbp + 0x98], r14
mov r14d, r15d
mov qword [rsp + 0x38], r15
mov qword [rbp + 0xd8], r15
test rbx, rbx
lea rdi, [r15 - 1]
mov esi, dword [rsp + 0x30]
je 0x1400038a3
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140003890
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [0x140046408]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140003890
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [0x140046408]
jmp 0x140003890
mov rax, qword [0x14006bbe8]
mov r8d, esi
lea rdx, [rbp + 0x28]
lea rcx, [0x14006bbe8]
mov rax, qword [rax + 0x10]
call qword [0x140046408]
nop
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x930]
call fcn.140024e70
lea r8, [rbp + 0x28]
cmp qword [rbp + 0x40], 0x10
cmovae r8, qword [rbp + 0x28]
xor r13d, r13d
mov dword [rsp + 0x28], r13d
lea rax, [rbp + 0x930]
mov qword [rsp + 0x20], rax
mov r9d, edi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, 0x400
jg 0x140003f2a
lfence
lea r8, [rbp + 0x28]
cmp qword [rbp + 0x40], 0x10
cmovae r8, qword [rbp + 0x28]
mov dword [rsp + 0x28], 0x400
lea rax, [rbp + 0x930]
mov qword [rsp + 0x20], rax
mov r9d, edi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov r14, qword [rbp + 0xd8]
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r13w
lea rax, [rbp + 0x930]
mov r8, rdi
nop dword [rax]
inc r8
cmp word [rax + r8*2], r13w
jne 0x140003f50
lea rdx, [rbp + 0x930]
lea rcx, [rsp + 0x48]
call fcn.140009ed0
nop
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae rax, qword [rsp + 0x48]
lea r9, [rbp + 0x128]
cmp qword [rbp + 0x140], 8
cmovae r9, qword [rbp + 0x128]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
lea r8, str.Failed_to_iterate_over_the_directory___ws___error_code:__d__error_message:__ws
mov edx, 2
lea rcx, [rbp + 0x200]
call fcn.1400134a0
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x140003ff8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003ff3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004bf9
call fcn.140022904
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r13w
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x140004048
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004042
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004bff
call fcn.140022904
nop
test r14, r14
je 0x140004091
mov eax, edi
lock xadd dword [r14 + 8], eax
cmp eax, 1
jne 0x140004091
mov rbx, qword [rbp + 0xd8]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [0x140046408]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140004091
mov rcx, qword [rbp + 0xd8]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140046408]
nop
mov rcx, qword [rbp + 0xe8]
test rcx, rcx
je 0x1400040dd
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400040dd
mov rbx, qword [rbp + 0xe8]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [0x140046408]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1400040dd
mov rcx, qword [rbp + 0xe8]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140046408]
mov rcx, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0x140]
cmp rdx, 8
jb 0x140004131
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x128]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004125
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004c05
call fcn.140022904
mov rcx, qword [rbp + 0xc0]
mov qword [rbp + 0x138], r13
mov qword [rbp + 0x140], 7
mov word [rbp + 0x128], r13w
test rcx, rcx
je 0x1400041f3
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rbp + 0xb8]
dec rax
add rcx, rax
mov rdx, qword [rbp + 0xb0]
dec rdx
and rdx, rcx
mov rax, qword [rbp + 0xa8]
mov rbx, qword [rax + rdx*8]
mov rdx, qword [rbx + 0x18]
cmp rdx, 8
jb 0x1400041c4
mov rcx, qword [rbx]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x1400041bf
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004c29
mov rcx, r8
call fcn.140022904
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], 7
mov word [rbx], r13w
mov rcx, qword [rbp + 0xc0]
sub rcx, 1
mov qword [rbp + 0xc0], rcx
jne 0x140004160
mov qword [rbp + 0xb8], r13
mov rbx, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xa8]
test rbx, rbx
je 0x14000423c
nop word [rax + rax]
dec rbx
mov rax, qword [rcx + rbx*8]
test rax, rax
je 0x140004230
mov edx, 0x20
mov rcx, rax
call fcn.140022904
mov rcx, qword [rbp + 0xa8]
test rbx, rbx
jne 0x140004210
mov rbx, qword [rbp + 0xb0]
test rcx, rcx
je 0x140004273
lea rdx, [rbx*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000426e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004c29
call fcn.140022904
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xa8], r13
mov rcx, qword [rbp + 0xa0]
mov qword [rbp + 0xa0], r13
mov edx, 0x10
call fcn.140022904
nop
mov rcx, qword [rbp + 0xf0]
test rcx, rcx
je 0x140004303
mov rdx, qword [rbp + 0xf8]
call fcn.14000c260
mov rdx, qword [rbp + 0x100]
mov rcx, qword [rbp + 0xf0]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400042ec
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004bc1
call fcn.140022904
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xf0], xmm0
mov qword [rbp + 0x100], r13
lea rax, vtable.CTracePie.0
mov qword [rbp + 0x200], rax
cmp byte [rbp + 0x2b1], 1
jne 0x14000433c
cmp byte [rbp + 0x2b0], 0
jne 0x14000433c
lea r8, [0x14005a254]
mov edx, 5
lea rcx, [rbp + 0x200]
call fcn.1400134a0
nop
mov rcx, qword [rbp + 0x1130]
xor rcx, rsp
call fcn.1400223c0
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
test r14, r14
je 0x1400043b5
mov eax, edi
lock xadd dword [r14 + 8], eax
cmp eax, 1
jne 0x1400043b5
mov rbx, qword [rbp + 0xd8]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [0x140046408]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400043b5
mov rcx, qword [rbp + 0xd8]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140046408]
nop
mov rcx, qword [rbp + 0xe8]
test rcx, rcx
je 0x140004401
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140004401
mov rbx, qword [rbp + 0xe8]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [0x140046408]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140004401
mov rcx, qword [rbp + 0xe8]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140046408]
lea r8, str.Getting_Proset_DC_INFs
mov r12d, 4
mov edx, r12d
lea rcx, [rbp + 0x200]
call fcn.1400134a0
mov r15, qword [rbp + 0xf8]
movabs rax, 0x7ffffffffffffffe
mov rbx, qword [rbp + 0xf0]
xor r13d, r13d
cmp rbx, r15
je 0x14000476a
lea r12, str.ProSetExtension.cat
nop dword [rax + rax]
mov qword [rbp + 0x108], r13
mov qword [rbp + 0x118], r13
mov qword [rbp + 0x120], r13
mov rsi, qword [rbx + 0x10]
mov r14, rbx
cmp qword [rbx + 0x18], 8
jb 0x140004476
mov r14, qword [rbx]
cmp rsi, 8
jae 0x14000448e
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0x108], xmm0
mov edi, 7
jmp 0x1400044c6
mov rdi, rsi
or rdi, 7
cmp rdi, rax
cmova rdi, rax
lea rdx, [rdi + 1]
lea rcx, [rbp + 0x108]
call fcn.14000a000
mov qword [rbp + 0x108], rax
lea r8, [rsi*2 + 2]
mov rdx, r14
mov rcx, rax
call fcn.140024700
mov qword [rbp + 0x120], rdi
mov qword [rbp + 0x118], rsi
lea rax, [rbp + 0x108]
cmp rdi, 8
cmovae rax, qword [rbp + 0x108]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rbp + 0x720]
lea r8, [0x1400552a8]
lea rdx, str.CatalogFile
lea rcx, str.Version
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rax, [rbp + 0x720]
lea r8, str.ProSetSWComponent.cat
sub r8, rax
nop word [rax + rax]
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x140004544
add rax, 2
test ecx, ecx
jne 0x140004530
test edx, edx
jne 0x140004617
lea r9, [rbp + 0x108]
cmp qword [rbp + 0x120], 8
cmovae r9, qword [rbp + 0x108]
lea r8, str.Found_proset_component:___ws_
mov edx, 4
lea rcx, [rbp + 0x200]
call fcn.1400134a0
mov rax, qword [rbp + 0xc0]
inc rax
mov rdi, qword [rbp + 0xb0]
cmp rdi, rax
ja 0x1400045a4
lea rcx, [rbp + 0xa0]
call fcn.140009810
mov rdi, qword [rbp + 0xb0]
lea rcx, [rdi - 1]
mov rax, qword [rbp + 0xb8]
and rax, rcx
mov qword [rbp + 0xb8], rax
cmovne rdi, rax
dec rdi
mov rax, rdi
and rax, rcx
lea rsi, [rax*8]
mov rcx, qword [rbp + 0xa8]
cmp qword [rcx + rsi], 0
jne 0x1400045fb
lfence
mov ecx, 0x20
call fcn.140022678
mov rcx, qword [rbp + 0xa8]
mov qword [rcx + rsi], rax
mov rcx, qword [rbp + 0xa8]
lea rdx, [rbp + 0x108]
mov rcx, qword [rcx + rsi]
call fcn.140008520
mov qword [rbp + 0xb8], rdi
jmp 0x1400046ff
lea rax, [rbp + 0x720]
mov r8, r12
sub r8, rax
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x140004638
add rax, 2
test ecx, ecx
jne 0x140004624
test edx, edx
jne 0x140004706
lea r9, [rbp + 0x108]
cmp qword [rbp + 0x120], 8
cmovae r9, qword [rbp + 0x108]
lea r8, str.Found_proset_extension:___ws_
mov edx, 4
lea rcx, [rbp + 0x200]
call fcn.1400134a0
mov rcx, qword [rbp + 0xc0]
lea rax, [rcx + 1]
mov rdx, qword [rbp + 0xb0]
cmp rdx, rax
ja 0x1400046a0
lea rcx, [rbp + 0xa0]
call fcn.140009810
mov rcx, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0xb0]
dec rdx
mov rax, qword [rbp + 0xb8]
and rax, rdx
mov qword [rbp + 0xb8], rax
add rcx, rax
and rcx, rdx
lea rdi, [rcx*8]
mov rcx, qword [rbp + 0xa8]
cmp qword [rcx + rdi], 0
jne 0x1400046ef
lfence
mov ecx, 0x20
call fcn.140022678
mov rcx, qword [rbp + 0xa8]
mov qword [rcx + rdi], rax
mov rcx, qword [rbp + 0xa8]
lea rdx, [rbp + 0x108]
mov rcx, qword [rcx + rdi]
call fcn.140008520
inc qword [rbp + 0xc0]
mov rdx, qword [rbp + 0x120]
cmp rdx, 8
jb 0x14000474c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004747
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004c0b
call fcn.140022904
add rbx, 0x20
cmp rbx, r15
je 0x140004764
movabs rax, 0x7ffffffffffffffe
jmp 0x140004450
mov r12d, 4
lea r8, str.Delete_Uninstall_Proset_DC_INFs
mov edx, r12d
lea rcx, [rbp + 0x200]
call fcn.1400134a0
mov rcx, qword [rbp + 0xc0]
mov r12, qword [rbp + 0xb8]
add r12, rcx
mov r15, r13
mov rax, qword [rbp + 0xa0]
test rax, rax
je 0x1400047ab
mov rax, qword [rax]
test rax, rax
je 0x1400047ab
mov r15, qword [rax]
mov r14, qword [rbp + 0xb8]
cmp r14, r12
je 0x1400040e4
nop dword [rax + rax]
test r15, r15
je 0x1400047ca
mov rax, qword [r15]
jmp 0x1400047cd
mov rax, r13
mov rcx, qword [rax + 0x10]
dec rcx
and rcx, r14
mov rax, qword [rax + 8]
mov rdi, qword [rax + rcx*8]
mov qword [rbp + 0x148], r13
mov qword [rbp + 0x158], r13
mov qword [rbp + 0x160], r13
mov rsi, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 8
jb 0x140004802
mov rdi, qword [rdi]
cmp rsi, 8
jae 0x140004819
movups xmm0, xmmword [rdi]
movups xmmword [rbp + 0x148], xmm0
mov ebx, 7
jmp 0x14000485b
mov rbx, rsi
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rbp + 0x148]
call fcn.14000a000
mov qword [rbp + 0x148], rax
lea r8, [rsi*2 + 2]
mov rdx, rdi
mov rcx, rax
call fcn.140024700
mov qword [rbp + 0x160], rbx
mov qword [rbp + 0x158], rsi
lea rdx, [rbp + 0x148]
cmp rbx, 8
cmovae rdx, qword [rbp + 0x148]
mov qword [rbp + 0x1a8], r13
mov qword [rbp + 0x1b8], r13
mov qword [rbp + 0x1c0], 7
mov word [rbp + 0x1a8], r13w
mov r8, rsi
lea rcx, [rbp + 0x1a8]
call fcn.140009ed0
nop
lea rcx, [rbp + 0x1a8]
cmp qword [rbp + 0x1c0], 8
cmovae rcx, qword [rbp + 0x1a8]
mov rax, qword [rbp + 0x1b8]
lea rbx, [rcx + rax*2]
mov r11, rbx
mov rdx, rbx
call fcn.140002970
cmp rax, rbx
je 0x14000491b
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x1400048ee
cmp cx, 0x2f
jne 0x140004900
add rax, 2
jmp 0x1400048da
lea rdx, [r11 - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x14000491b
cmp cx, 0x2f
je 0x14000491b
mov r11, rdx
cmp rax, rdx
jne 0x140004900
sub rbx, r11
sar rbx, 1
mov qword [rbp + 0x48], r13
mov qword [rbp + 0x58], r13
mov qword [rbp + 0x60], 7
mov word [rbp + 0x48], r13w
mov r8, rbx
mov rdx, r11
lea rcx, [rbp + 0x48]
call fcn.140009ed0
nop
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x168]
call fcn.140008520
nop
mov rdx, qword [rbp + 0x60]
cmp rdx, 8
jb 0x140004997
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004992
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004c11
call fcn.140022904
lea r9, [rbp + 0x168]
cmp qword [rbp + 0x180], 8
cmovae r9, qword [rbp + 0x168]
lea r8, str.Uninstalling:__ws
mov edx, 4
lea rcx, [rbp + 0x200]
call fcn.1400134a0
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14006fc78], eax
jle 0x140004a31
lea rcx, [0x14006fc78]
call fcn.140022568
cmp dword [0x14006fc78], 0xffffffff
jne 0x140004a31
mov qword [0x14006fc88], r13
lea rax, vtable.OsPnPInstall.0
mov qword [0x14006fc80], rax
call fcn.140016ee0
mov qword [0x14006fc88], rax
lea rcx, [0x140045830]
call fcn.1400228ec
nop
lea rcx, [0x14006fc78]
call fcn.140022508
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], r13
mov rdi, qword [rbp + 0x178]
lea rsi, [rbp + 0x168]
cmp qword [rbp + 0x180], 8
cmovae rsi, qword [rbp + 0x168]
cmp rdi, 8
jae 0x140004a72
movups xmm0, xmmword [rsi]
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x40], 7
jmp 0x140004ab2
mov rbx, rdi
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rbp - 0x58]
call fcn.14000a000
mov qword [rbp - 0x58], rax
lea r8, [rdi*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.140024700
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x48], rdi
lea rdx, [rbp - 0x58]
lea rcx, [0x14006fc80]
call fcn.14001e650
nop
mov rdx, qword [rbp + 0x180]
cmp rdx, 8
jb 0x140004b0d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x168]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004b08
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004c17
call fcn.140022904
mov qword [rbp + 0x178], r13
mov qword [rbp + 0x180], 7
mov word [rbp + 0x168], r13w
mov rdx, qword [rbp + 0x1c0]
cmp rdx, 8
jb 0x140004b6e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004b68
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004c1d
call fcn.140022904
nop
mov rdx, qword [rbp + 0x160]
cmp rdx, 8
jb 0x140004bb0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x148]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004bab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004c23
call fcn.140022904
inc r14
cmp r14, r12
je 0x1400040dd
jmp 0x1400047c0
call fcn.14002c5b4
nop
call fcn.14002c5b4
nop
call fcn.14002c5b4
nop
call fcn.14002c5b4
nop
call fcn.14002c5b4
int3
call fcn.14002c5b4
nop
call fcn.14002c5b4
nop
call fcn.14002c5b4
int3
mov edx, eax
call fcn.140003060
nop
call fcn.14002c5b4
nop
call fcn.14002c5b4
nop
call fcn.14002c5b4
nop
call fcn.14002c5b4
nop
call fcn.14002c5b4
nop
call fcn.14002c5b4
nop
call fcn.14002c5b4
nop
call fcn.14002c5b4
nop
call fcn.14002c5b4
int3