Function at 0x140038f90
Capabilities:
Copy file
Read .ini file
Set file attributes

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x21b90]
mov eax, 0x21c90
call fcn.14019e810
sub rsp, rax
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov qword [rsp + 0x21cc8], rbx
mov qword [rsp + 0x21cd0], rsi
mov qword [rsp + 0x21cd8], rdi
mov rax, qword [0x14026fdb0]
xor rax, rsp
mov qword [rbp + 0x21b80], rax
mov r14, rcx
xor r15d, r15d
mov ebx, r15d
xor edx, edx
mov r8d, 0xfffe
lea rcx, [rbp + 0x1b80]
call fcn.14019d7c0
xor edx, edx
mov r8d, 0x1000
lea rcx, [rbp + 0x340]
call fcn.14019d7c0
mov eax, dword [0x140222718]
mov dword [rbp + 0x68], eax
movzx eax, word [0x14022271c]
mov word [rbp + 0x6c], ax
mov esi, 9
mov dword [rsp + 0x60], esi
mov word [rbp + 0xb0], r15w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0xb2]
call fcn.14019d7c0
lea r8, [r14 + 0x850]
mov edx, 0x104
lea rcx, [rbp + 0xb0]
call fcn.14019a840
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x1340]
call fcn.14019d7c0
call fcn.140056384
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x140039096
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x48], rdi
mov rcx, r14
call fcn.14003d480
mov rdx, qword [r14 + 0x2a0]
lea rcx, [rbp + 0x1340]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, str.uninst.ini
lea rcx, [rbp + 0x1340]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
xor r8d, r8d
lea rdx, [rbp + 0x1340]
lea rcx, [rbp + 0xb0]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
cmp eax, 1
je 0x140039130
mov edx, 0x1e
lea r9d, [rdx + 0x12]
lea r8d, [rdx - 0x1b]
mov rcx, r14
call fcn.14003c790
nop
lea rdx, [rdi - 0x18]
or r13, 0xffffffffffffffff
lock xadd dword [rdx + 0x10], r13d
dec r13d
test r13d, r13d
jg 0x140039129
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14003c675
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [rbp + 0x1340]
lea rcx, [rbp + 0xb0]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov edx, 0x80
lea rcx, [rbp + 0xb0]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r9, [rbp + 0xb0]
mov r8d, 0x7fff
lea rdx, [rbp + 0x1b80]
lea rcx, str.Uninstall_Drivers
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
call fcn.140056384
mov rdi, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400391a3
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov edx, 0x7fff
mov r8d, 2
mov rcx, rdi
call qword [rax]
test rax, rax
jne 0x1400391c1
call fcn.140005c40
int3
lea rcx, [rax + 0x18]
mov qword [rsp + 0x38], rcx
cmp dword [rcx - 0xc], 0x7fff
jl 0x14003c66a
mov dword [rcx - 0x10], 0x7fff
mov word [rcx + 0xfffe], r15w
mov r9d, 0xfffe
lea r8, [rbp + 0x1b80]
mov edx, r9d
call fcn.140199918
nop
mov r8d, esi
xor edx, edx
lea rcx, [rsp + 0x38]
call fcn.140014570
mov r8d, esi
mov edx, 0x3b
lea rcx, [rsp + 0x38]
call fcn.140014570
mov rsi, qword [rsp + 0x38]
or r13, 0xffffffffffffffff
cmp dword [rsi - 0x10], 0
jge 0x140039231
mov eax, r13d
jmp 0x14003924d
lea rdx, [rbp + 0x68]
mov rcx, rsi
call fcn.1401998b4
test rax, rax
jne 0x140039247
mov eax, r13d
jmp 0x14003924d
sub rax, rsi
sar rax, 1
mov r8d, eax
lea rdx, [rbp - 0x38]
lea rcx, [rsp + 0x38]
call fcn.1400121e0
nop
lea rcx, [r14 + 0x160]
mov rdx, rax
call fcn.140006d20
nop
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003928e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp dword [rsi - 0x10], 0
jl 0x14003c65f
lea rdx, [rbp + 0x68]
mov rdi, qword [rsp + 0x38]
mov rcx, rdi
call fcn.1401998b4
mov r12, rax
test rax, rax
je 0x14003c65f
sub r12, rdi
sar r12, 1
test r12d, r12d
js 0x14003c65f
movsxd rsi, dword [rsi - 0x10]
cmp r12d, esi
jge 0x14003c65f
cmp dword [rdi - 8], 1
jle 0x1400392e9
mov edx, dword [rdi - 0x10]
lea rcx, [rsp + 0x38]
call fcn.140005c50
mov rdi, qword [rsp + 0x38]
movsxd rax, r12d
mov word [rdi + rax*2], r15w
test esi, esi
js 0x14003c654
cmp esi, dword [rdi - 0xc]
jg 0x14003c654
mov dword [rdi - 0x10], esi
mov word [rdi + rsi*2], r15w
nop word [rax + rax]
test ebx, ebx
js 0x140039347
cmp ebx, dword [rdi - 0x10]
jg 0x140039347
movsxd rax, ebx
lea rcx, [rdi + rax*2]
lea rdx, [rsp + 0x60]
call fcn.1401998b4
mov rbx, rax
test rax, rax
je 0x140039347
sub rbx, rdi
sar rbx, 1
test ebx, ebx
jle 0x140039347
inc dword [r14 + 0x258]
inc ebx
jmp 0x140039310
mov rcx, qword [r14 + 0x160]
sub rcx, 0x18
call fcn.140006db0
lea rdi, [rax + 0x18]
mov qword [rsp + 0x58], rdi
call fcn.140056384
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x140039380
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
lea rbx, [0x1402209ac]
mov rsi, rbx
shr rsi, 0x10
test rsi, rsi
jne 0x1400393c6
movzx ebx, bx
mov ecx, ebx
call fcn.140056158
test rax, rax
je 0x1400393d8
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140005730
jmp 0x1400393d8
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.1400059f0
jmp 0x1400393df
lea rbx, [0x1402209ac]
call fcn.140056384
mov r11, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400393ff
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
test rsi, rsi
jne 0x140039437
movzx esi, bx
mov ecx, esi
call fcn.140056158
test rax, rax
je 0x140039448
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140005730
jmp 0x140039448
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.1400059f0
nop
mov ebx, r15d
lea r12, [rdi - 0x10]
mov r15d, 9
test ebx, ebx
js 0x140039550
cmp ebx, dword [r12]
jge 0x140039550
mov edx, r15d
movsxd rax, ebx
lea rcx, [rdi + rax*2]
call fcn.140199ab0
mov rsi, rax
test rax, rax
je 0x140039550
sub rsi, rdi
sar rsi, 1
test esi, esi
js 0x140039550
cmp esi, ebx
jle 0x140039548
mov r9d, esi
sub r9d, ebx
mov r8d, ebx
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x58]
call fcn.14000b960
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rdi, qword [rsp + 0x40]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x14003950f
cmp dword [rdi + 0x10], 0
jl 0x140039500
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140039500
call fcn.140006db0
mov rbx, rax
mov ecx, r13d
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x1400394f5
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x40], rax
jmp 0x14003950f
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.1400059f0
nop
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003952e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [r14 + 0x2e0]
lea r8, [rsp + 0x40]
mov rdx, qword [rcx + 0x10]
call fcn.140059134
mov rdi, qword [rsp + 0x58]
lea ebx, [rsi + 1]
jmp 0x140039455
mov r8d, ebx
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x58]
call fcn.140012110
nop
mov r12, qword [rax]
lea rdx, [r12 - 0x18]
mov rcx, qword [rsp + 0x30]
lea rdi, [rcx - 0x18]
cmp rdx, rdi
mov r15d, 0
je 0x1400396cb
cmp dword [rdi + 0x10], r15d
jl 0x1400395be
mov rax, qword [rdi]
cmp qword [rdx], rax
jne 0x1400395be
mov rcx, rdx
call fcn.140006db0
mov rsi, rax
mov ecx, r13d
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x1400395b5
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsi + 0x18]
jmp 0x1400396c6
movsxd rsi, dword [r12 - 0x10]
test esi, esi
jne 0x140039629
mov rsi, qword [rdi]
cmp dword [rdi + 8], r15d
je 0x1400396cb
cmp dword [rdi + 0x10], r15d
jge 0x1400395fd
cmp dword [rcx - 0xc], r15d
jge 0x1400395eb
mov ecx, 0x80070057
call fcn.140004550
int3
mov dword [rcx - 0x10], r15d
mov rax, qword [rsp + 0x30]
mov word [rax], r15w
jmp 0x1400396cb
mov eax, r13d
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x140039617
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 0x1400396c6
test r12, r12
jne 0x140039639
mov ecx, 0x80070057
call fcn.140004550
int3
mov eax, dword [rcx - 0x10]
mov dword [rbp - 0x80], eax
mov rbx, r12
sub rbx, rcx
sar rbx, 1
test esi, esi
jns 0x140039657
mov ecx, 0x80070057
call fcn.140004550
int3
mov edx, 1
sub edx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, esi
or eax, edx
jge 0x140039679
mov edx, esi
lea rcx, [rsp + 0x30]
call fcn.140005ae0
mov rcx, qword [rsp + 0x30]
mov eax, dword [rbp - 0x80]
lea rdi, [rsi + rsi]
movsxd rdx, dword [rcx - 0xc]
mov r9, rdi
add rdx, rdx
cmp rbx, rax
ja 0x14003969a
lea r8, [rcx + rbx*2]
call fcn.140199418
jmp 0x1400396a2
mov r8, r12
call fcn.140199918
mov rax, qword [rsp + 0x30]
cmp esi, dword [rax - 0xc]
jg 0x1400396bb
mov dword [rax - 0x10], esi
mov rax, qword [rsp + 0x30]
mov word [rdi + rax], r15w
jmp 0x1400396cb
mov ecx, 0x80070057
call fcn.140004550
int3
mov qword [rsp + 0x30], rax
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400396ea
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [r14 + 0x2e0]
lea r8, [rsp + 0x30]
mov rdx, qword [rcx + 0x10]
call fcn.140059134
xor edx, edx
mov r8d, 0x7fff
lea rcx, [rbp + 0x1b80]
call fcn.14019d7c0
lea r9, [rbp + 0xb0]
mov r8d, 0x7fff
lea rdx, [rbp + 0x1b80]
lea rcx, str.Uninstall_Old_Drivers
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
call fcn.140056384
mov rdi, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x140039754
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov edx, 0x7fff
mov r8d, 2
mov rcx, rdi
call qword [rax]
test rax, rax
jne 0x140039772
call fcn.140005c40
int3
lea rcx, [rax + 0x18]
mov qword [rsp + 0x50], rcx
cmp dword [rcx - 0xc], 0x7fff
jl 0x14003c649
mov dword [rcx - 0x10], 0x7fff
mov word [rcx + 0xfffe], r15w
mov r9d, 0xfffe
lea r8, [rbp + 0x1b80]
mov edx, r9d
call fcn.140199918
nop
mov edi, 9
mov r8d, edi
xor edx, edx
lea rcx, [rsp + 0x50]
call fcn.140014570
mov r8d, edi
lea edx, [rdi + 0x32]
lea rcx, [rsp + 0x50]
call fcn.140014570
mov rdi, qword [rsp + 0x50]
cmp dword [rdi - 0x10], 0
jge 0x1400397e1
mov eax, r13d
jmp 0x1400397fd
lea rdx, [rbp + 0x68]
mov rcx, rdi
call fcn.1401998b4
test rax, rax
jne 0x1400397f7
mov eax, r13d
jmp 0x1400397fd
sub rax, rdi
sar rax, 1
mov r8d, eax
lea rdx, [rbp - 0x18]
lea rcx, [rsp + 0x50]
call fcn.1400121e0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rsi, qword [r14 + 0x168]
sub rsi, 0x18
cmp rcx, rsi
je 0x140039875
cmp dword [rsi + 0x10], 0
jl 0x140039864
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x140039864
call fcn.140006db0
mov r12, rax
mov ecx, r13d
lock xadd dword [rsi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140039856
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [r12 + 0x18]
mov qword [r14 + 0x168], rax
jmp 0x140039875
mov r8d, dword [rdx - 0x10]
lea rcx, [r14 + 0x168]
call fcn.1400059f0
nop
mov rdx, qword [rbp - 0x18]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140039894
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov esi, r15d
cmp dword [rdi - 0x10], r15d
jl 0x14003c63e
lea rdx, [rbp + 0x68]
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.1401998b4
mov r12, rax
test rax, rax
je 0x14003c63e
sub r12, rbx
sar r12, 1
test r12d, r12d
js 0x14003c63e
movsxd rdi, dword [rdi - 0x10]
cmp r12d, edi
jge 0x14003c63e
cmp dword [rbx - 8], 1
jle 0x1400398f2
mov edx, dword [rbx - 0x10]
lea rcx, [rsp + 0x50]
call fcn.140005c50
mov rbx, qword [rsp + 0x50]
movsxd rax, r12d
mov word [rbx + rax*2], r15w
test edi, edi
js 0x14003c633
cmp edi, dword [rbx - 0xc]
jg 0x14003c633
mov dword [rbx - 0x10], edi
mov word [rbx + rdi*2], r15w
test esi, esi
js 0x14003994a
cmp esi, dword [rbx - 0x10]
jg 0x14003994a
movsxd rax, esi
lea rcx, [rbx + rax*2]
lea rdx, [rsp + 0x60]
call fcn.1401998b4
mov rsi, rax
test rax, rax
je 0x14003994a
sub rsi, rbx
sar rsi, 1
test esi, esi
jle 0x14003994a
inc dword [r14 + 0x25c]
inc esi
jmp 0x140039913
mov rax, qword [r14 + 0x2a8]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, 0x800
or eax, ecx
jge 0x140039976
mov edx, 0x800
lea rcx, [r14 + 0x2a8]
call fcn.140005ae0
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
mov r9, qword [r14 + 0x2a8]
lea r8, str.item_not_found__
lea rdx, str.ShowMsgDlg
lea rcx, str.Debug_Info
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rcx, qword [r14 + 0x2a8]
test rcx, rcx
jne 0x1400399bd
mov eax, r15d
jmp 0x1400399ce
movsxd rdx, dword [rcx - 0xc]
call fcn.140199d34
test eax, eax
js 0x14003c628
mov rcx, qword [r14 + 0x2a8]
cmp eax, dword [rcx - 0xc]
jg 0x14003c628
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [r14 + 0x2a8]
mov word [rax + rcx*2], r15w
mov rax, qword [r14 + 0x170]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, 0x800
or eax, ecx
jge 0x140039a1c
mov edx, 0x800
lea rcx, [r14 + 0x170]
call fcn.140005ae0
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
mov r9, qword [r14 + 0x170]
lea r8, str.item_not_found__
lea rdx, str.PRT_2KXP
lea rcx, str.Borderline_Driver_Versions
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
lea rdi, str.item_not_found__
mov rsi, qword [r14 + 0x170]
mov ecx, 0x11
repe cmpsw word [rsi], word [rdi]
je 0x140039a71
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x140039b91
lea r8, str.PRT_2KXP
lea rdx, str.Borderline_Driver_Versions
mov rcx, r14
call fcn.14003c900
mov rcx, qword [r14 + 0x170]
test rcx, rcx
jne 0x140039aa5
mov eax, r15d
jmp 0x140039ab6
movsxd rdx, dword [rcx - 0xc]
call fcn.140199d34
test eax, eax
js 0x140039b86
mov rcx, qword [r14 + 0x170]
cmp eax, dword [rcx - 0xc]
jg 0x140039b86
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [r14 + 0x170]
mov word [rax + rcx*2], r15w
lea rdx, [rbx - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140039af4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140039b15
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140039b36
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140039b57
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140039b78
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
jmp 0x140039112
mov ecx, 0x80070057
call fcn.140004550
int3
mov rcx, qword [r14 + 0x170]
test rcx, rcx
jne 0x140039ba2
mov eax, r15d
jmp 0x140039bb3
movsxd rdx, dword [rcx - 0xc]
call fcn.140199d34
test eax, eax
js 0x14003c61d
mov rcx, qword [r14 + 0x170]
cmp eax, dword [rcx - 0xc]
jg 0x14003c61d
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [r14 + 0x170]
mov word [rax + rcx*2], r15w
mov rax, qword [r14 + 0x178]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, 0x800
or eax, ecx
jge 0x140039c01
mov edx, 0x800
lea rcx, [r14 + 0x178]
call fcn.140005ae0
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
mov r9, qword [r14 + 0x178]
lea r8, str.item_not_found__
lea rdx, str.FAX_2KXP
lea rcx, str.Borderline_Driver_Versions
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
lea rdi, str.item_not_found__
mov rsi, qword [r14 + 0x178]
mov ecx, 0x11
repe cmpsw word [rsi], word [rdi]
je 0x140039c56
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x140039d76
lea r8, str.FAX_2KXP
lea rdx, str.Borderline_Driver_Versions
mov rcx, r14
call fcn.14003c900
mov rcx, qword [r14 + 0x178]
test rcx, rcx
jne 0x140039c8a
mov eax, r15d
jmp 0x140039c9b
movsxd rdx, dword [rcx - 0xc]
call fcn.140199d34
test eax, eax
js 0x140039d6b
mov rcx, qword [r14 + 0x178]
cmp eax, dword [rcx - 0xc]
jg 0x140039d6b
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [r14 + 0x178]
mov word [rax + rcx*2], r15w
lea rdx, [rbx - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140039cd9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140039cfa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140039d1b
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140039d3c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140039d5d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
jmp 0x140039112
mov ecx, 0x80070057
call fcn.140004550
int3
mov rcx, qword [r14 + 0x178]
test rcx, rcx
jne 0x140039d87
mov eax, r15d
jmp 0x140039d98
movsxd rdx, dword [rcx - 0xc]
call fcn.140199d34
test eax, eax
js 0x14003c612
mov rcx, qword [r14 + 0x178]
cmp eax, dword [rcx - 0xc]
jg 0x14003c612
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [r14 + 0x178]
mov word [rax + rcx*2], r15w
mov rax, qword [r14 + 0x180]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, 0x800
or eax, ecx
jge 0x140039de6
mov edx, 0x800
lea rcx, [r14 + 0x180]
call fcn.140005ae0
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
mov r9, qword [r14 + 0x180]
lea r8, str.item_not_found__
lea rdx, str.OLD_VER
lea rcx, str.Borderline_Driver_Versions
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
lea rdi, str.item_not_found__
mov rsi, qword [r14 + 0x180]
mov ecx, 0x11
repe cmpsw word [rsi], word [rdi]
je 0x140039e3b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x140039f5b
lea r8, str.OLD_VER
lea rdx, str.Borderline_Driver_Versions
mov rcx, r14
call fcn.14003c900
mov rcx, qword [r14 + 0x180]
test rcx, rcx
jne 0x140039e6f
mov eax, r15d
jmp 0x140039e80
movsxd rdx, dword [rcx - 0xc]
call fcn.140199d34
test eax, eax
js 0x140039f50
mov rcx, qword [r14 + 0x180]
cmp eax, dword [rcx - 0xc]
jg 0x140039f50
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [r14 + 0x180]
mov word [rax + rcx*2], r15w
lea rdx, [rbx - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140039ebe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140039edf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140039f00
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140039f21
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140039f42
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
jmp 0x140039112
mov ecx, 0x80070057
call fcn.140004550
int3
mov rcx, qword [r14 + 0x180]
test rcx, rcx
jne 0x140039f6c
mov eax, r15d
jmp 0x140039f7d
movsxd rdx, dword [rcx - 0xc]
call fcn.140199d34
test eax, eax
js 0x14003c607
mov rcx, qword [r14 + 0x180]
cmp eax, dword [rcx - 0xc]
jg 0x14003c607
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [r14 + 0x180]
mov word [rax + rcx*2], r15w
mov rax, qword [r14 + 0x188]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, 0x800
or eax, ecx
jge 0x140039fcb
mov edx, 0x800
lea rcx, [r14 + 0x188]
call fcn.140005ae0
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
mov r9, qword [r14 + 0x188]
lea r8, str.item_not_found__
lea rdx, [0x140222820]
lea rcx, [0x140222820]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
lea rdi, str.item_not_found__
mov rsi, qword [r14 + 0x188]
mov ecx, 0x11
repe cmpsw word [rsi], word [rdi]
je 0x14003a020
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x14003a140
lea r8, [0x140222820]
lea rdx, [0x140222820]
mov rcx, r14
call fcn.14003c900
mov rcx, qword [r14 + 0x188]
test rcx, rcx
jne 0x14003a054
mov eax, r15d
jmp 0x14003a065
movsxd rdx, dword [rcx - 0xc]
call fcn.140199d34
test eax, eax
js 0x14003a135
mov rcx, qword [r14 + 0x188]
cmp eax, dword [rcx - 0xc]
jg 0x14003a135
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [r14 + 0x188]
mov word [rax + rcx*2], r15w
lea rdx, [rbx - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a0a3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a0c4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a0e5
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a106
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a127
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
jmp 0x140039112
mov ecx, 0x80070057
call fcn.140004550
int3
mov rcx, qword [r14 + 0x188]
test rcx, rcx
jne 0x14003a151
mov eax, r15d
jmp 0x14003a162
movsxd rdx, dword [rcx - 0xc]
call fcn.140199d34
test eax, eax
js 0x14003c5fc
mov rcx, qword [r14 + 0x188]
cmp eax, dword [rcx - 0xc]
jg 0x14003c5fc
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [r14 + 0x188]
mov word [rax + rcx*2], r15w
mov rcx, qword [r14 + 0x188]
sub rcx, 0x18
call fcn.140006db0
lea r12, [rax + 0x18]
mov qword [rbp - 0x78], r12
xor eax, eax
lea rdi, [0x140220fd0]
mov rsi, qword [r14 + 0x188]
mov ecx, 4
repe cmpsw word [rsi], word [rdi]
je 0x14003a1bb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x14003a1de
mov r8d, 5
lea rdx, str.PCL5e
lea rcx, [rbp - 0x78]
call fcn.1400059f0
mov r12, qword [rbp - 0x78]
mov rax, qword [r14 + 0x788]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, 0x800
or eax, ecx
jge 0x14003a20a
mov edx, 0x800
lea rcx, [r14 + 0x788]
call fcn.140005ae0
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
mov r9, qword [r14 + 0x788]
lea r8, [0x1402209ac]
lea rdx, str.PDL_TYPE
lea rcx, [0x140222820]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov r11, qword [r14 + 0x788]
xor eax, eax
lea rdi, str.LIPS4
mov rsi, r11
mov ecx, 6
repe cmpsw word [rsi], word [rdi]
je 0x14003a262
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne al
test al, al
je 0x14003a341
xor eax, eax
lea rdi, [0x140220fd0]
mov rsi, r11
mov ecx, 4
repe cmpsw word [rsi], word [rdi]
je 0x14003a28a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne al
test al, al
je 0x14003a341
xor eax, eax
lea rdi, [0x14022284c]
mov rsi, r11
mov ecx, 3
repe cmpsw word [rsi], word [rdi]
je 0x14003a2b2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne al
test al, al
je 0x14003a341
xor eax, eax
lea rdi, [0x140220448]
mov rsi, r11
mov ecx, 4
repe cmpsw word [rsi], word [rdi]
je 0x14003a2da
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne al
test al, al
je 0x14003a341
xor eax, eax
lea rdi, str.UFRII
mov rsi, r11
mov ecx, 6
repe cmpsw word [rsi], word [rdi]
je 0x14003a2fe
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne al
test al, al
je 0x14003a341
xor eax, eax
lea rdi, str.CAPT
mov rsi, r11
mov ecx, 5
repe cmpsw word [rsi], word [rdi]
je 0x14003a322
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne al
test al, al
je 0x14003a341
xor r8d, r8d
lea rdx, [0x1402209ac]
lea rcx, [r14 + 0x788]
call fcn.1400059f0
lea rdx, [r14 + 0x788]
mov rcx, qword [rdx]
test rcx, rcx
jne 0x14003a355
mov eax, r15d
jmp 0x14003a36d
movsxd rdx, dword [rcx - 0xc]
call fcn.140199d34
test eax, eax
js 0x14003c5f1
lea rdx, [r14 + 0x788]
mov rcx, qword [rdx]
cmp eax, dword [rcx - 0xc]
jg 0x14003c5f1
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [rdx]
mov word [rax + rcx*2], r15w
mov edi, r15d
mov eax, dword [r14 + 0x25c]
add eax, dword [r14 + 0x258]
test eax, eax
jle 0x14003a3cd
nop dword [rax]
mov r8d, 2
lea rdx, [0x140222864]
lea rcx, [r14 + 0x190]
call fcn.14000bed0
inc edi
mov eax, dword [r14 + 0x25c]
add eax, dword [r14 + 0x258]
cmp edi, eax
jl 0x14003a3a0
mov rax, qword [r14 + 0x190]
mov ecx, dword [rax - 0x10]
dec ecx
mov dword [rbp - 0x80], ecx
js 0x14003c5e6
movsxd rsi, dword [rax - 0x10]
cmp ecx, esi
jge 0x14003c5e6
cmp dword [rax - 8], 1
jle 0x14003a403
mov edx, dword [rax - 0x10]
lea rcx, [r14 + 0x190]
call fcn.140005c50
mov rcx, qword [r14 + 0x190]
movsxd rax, dword [rbp - 0x80]
mov word [rcx + rax*2], r15w
test esi, esi
js 0x14003c5db
mov rax, qword [r14 + 0x190]
cmp esi, dword [rax - 0xc]
jg 0x14003c5db
mov dword [rax - 0x10], esi
mov rax, qword [r14 + 0x190]
mov word [rax + rsi*2], r15w
lea rcx, [r14 + 0x198]
lea rdx, [r14 + 0x190]
call fcn.140006d20
mov qword [rbp - 0x70], r15
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
call fcn.14019a1c0
mov rdi, rax
test rax, rax
je 0x14003a4fb
lea rdx, str._FAX_
mov rcx, rdi
call fcn.1401998b4
lea rsi, [r14 + 0x1a0]
test rax, rax
jne 0x14003a49c
mov rdx, qword [r14 + 0x170]
test rdx, rdx
jne 0x14003a4ad
mov ecx, r15d
jmp 0x14003a4be
mov rdx, qword [r14 + 0x178]
test rdx, rdx
jne 0x14003a4ad
mov ecx, r15d
jmp 0x14003a4be
mov rcx, r13
mov rdi, rdx
xor eax, eax
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r8d, ecx
mov rcx, rsi
call fcn.14000bed0
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x60]
xor ecx, ecx
call fcn.14019a1c0
mov rdi, rax
test rax, rax
je 0x14003a4fb
mov r8d, 1
lea rdx, [0x14021d23c]
mov rcx, rsi
call fcn.14000bed0
jmp 0x14003a470
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.14019a1c0
mov rdi, rax
test rax, rax
je 0x14003a5ab
nop dword [rax + rax]
lea rdx, str._FAX_
mov rcx, rdi
call fcn.1401998b4
lea rsi, [r14 + 0x1a0]
test rax, rax
jne 0x14003a54c
mov rdx, qword [r14 + 0x170]
test rdx, rdx
jne 0x14003a55d
mov ecx, r15d
jmp 0x14003a56e
mov rdx, qword [r14 + 0x178]
test rdx, rdx
jne 0x14003a55d
mov ecx, r15d
jmp 0x14003a56e
mov rcx, r13
mov rdi, rdx
xor eax, eax
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r8d, ecx
mov rcx, rsi
call fcn.14000bed0
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x60]
xor ecx, ecx
call fcn.14019a1c0
mov rdi, rax
test rax, rax
je 0x14003a5ab
mov r8d, 1
lea rdx, [0x14021d23c]
mov rcx, rsi
call fcn.14000bed0
jmp 0x14003a520
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x340]
call fcn.14019d7c0
lea rdx, [rbp + 0xb0]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x800
lea r9, [rbp + 0x340]
lea r8, str.item_not_found__
lea rdx, str.KEY_PRINTER
lea rcx, str.Registrys
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov rcx, r13
lea rdi, [rbp + 0x340]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, str.item_not_found__
lea rcx, [rbp + 0x340]
call fcn.140199c9c
test eax, eax
jne 0x14003a70d
lea r8, str.KEY_PRINTER
lea rdx, str.Registrys
mov rcx, r14
call fcn.14003c900
nop
lea rdx, [r12 - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a65a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a67b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a69c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a6bd
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a6de
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a6ff
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
jmp 0x140039112
xor eax, eax
mov rcx, r13
lea rdi, [rbp + 0x340]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rbp + 0x340]
lea rcx, [r14 + 0x1d0]
call fcn.1400059f0
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x340]
call fcn.14019d7c0
lea rdx, [rbp + 0xb0]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x800
lea r9, [rbp + 0x340]
lea r8, str.item_not_found__
lea rdx, str.KEY_PRINTER2
lea rcx, str.Registrys
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov rcx, r13
lea rdi, [rbp + 0x340]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, str.item_not_found__
lea rcx, [rbp + 0x340]
call fcn.140199c9c
test eax, eax
jne 0x14003a898
lea r8, str.KEY_PRINTER2
lea rdx, str.Registrys
mov rcx, r14
call fcn.14003c900
nop
lea rdx, [r12 - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a7e5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a806
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a827
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a848
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a869
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a88a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
jmp 0x140039112
xor eax, eax
mov rcx, r13
lea rdi, [rbp + 0x340]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rbp + 0x340]
lea rcx, [r14 + 0x1d8]
call fcn.1400059f0
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x340]
call fcn.14019d7c0
lea rdx, [rbp + 0xb0]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x800
lea r9, [rbp + 0x340]
lea r8, str.item_not_found__
lea rdx, str.KEY_BEFORE
lea rcx, str.Registrys
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov rcx, r13
lea rdi, [rbp + 0x340]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, str.item_not_found__
lea rcx, [rbp + 0x340]
call fcn.140199c9c
test eax, eax
jne 0x14003aa23
lea r8, str.KEY_BEFORE
lea rdx, str.Registrys
mov rcx, r14
call fcn.14003c900
nop
lea rdx, [r12 - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a970
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a991
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a9b2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a9d3
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003a9f4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003aa15
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
jmp 0x140039112
xor eax, eax
mov rcx, r13
lea rdi, [rbp + 0x340]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rbp + 0x340]
lea rcx, [r14 + 0x1e0]
call fcn.1400059f0
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x340]
call fcn.14019d7c0
lea rdx, [rbp + 0xb0]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x800
lea r9, [rbp + 0x340]
lea r8, str.item_not_found__
lea rdx, str.KEY_BEFORE2
lea rcx, str.Registrys
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov rcx, r13
lea rdi, [rbp + 0x340]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, str.item_not_found__
lea rcx, [rbp + 0x340]
call fcn.140199c9c
test eax, eax
jne 0x14003abae
lea r8, str.KEY_BEFORE2
lea rdx, str.Registrys
mov rcx, r14
call fcn.14003c900
nop
lea rdx, [r12 - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003aafb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003ab1c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003ab3d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003ab5e
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003ab7f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003aba0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
jmp 0x140039112
xor eax, eax
mov rcx, r13
lea rdi, [rbp + 0x340]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rbp + 0x340]
lea rcx, [r14 + 0x1e8]
call fcn.1400059f0
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x340]
call fcn.14019d7c0
lea rdx, [rbp + 0xb0]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x800
lea r9, [rbp + 0x340]
lea r8, str.item_not_found__
lea rdx, str.KEY_BEFORE3
lea rcx, str.Registrys
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov rcx, r13
lea rdi, [rbp + 0x340]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, str.item_not_found__
lea rcx, [rbp + 0x340]
call fcn.140199c9c
test eax, eax
jne 0x14003ad39
lea r8, str.KEY_BEFORE3
lea rdx, str.Registrys
mov rcx, r14
call fcn.14003c900
nop
lea rdx, [r12 - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003ac86
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003aca7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003acc8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003ace9
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003ad0a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003ad2b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
jmp 0x140039112
xor eax, eax
mov rcx, r13
lea rdi, [rbp + 0x340]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rbp + 0x340]
lea rcx, [r14 + 0x1f0]
call fcn.1400059f0
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x340]
call fcn.14019d7c0
lea rdx, [rbp + 0xb0]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x800
lea r9, [rbp + 0x340]
lea r8, str.item_not_found__
lea rdx, str.KEY_PDRVCAP
lea rcx, str.Registrys
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov rcx, r13
lea rdi, [rbp + 0x340]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, str.item_not_found__
lea rcx, [rbp + 0x340]
call fcn.140199c9c
test eax, eax
jne 0x14003aec4
lea r8, str.KEY_PDRVCAP
lea rdx, str.Registrys
mov rcx, r14
call fcn.14003c900
nop
lea rdx, [r12 - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003ae11
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003ae32
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003ae53
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003ae74
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003ae95
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003aeb6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
jmp 0x140039112
xor eax, eax
mov rcx, r13
lea rdi, [rbp + 0x340]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rbp + 0x340]
lea rcx, [r14 + 0x1f8]
call fcn.1400059f0
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x340]
call fcn.14019d7c0
lea rdx, [rbp + 0xb0]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x800
lea r9, [rbp + 0x340]
lea r8, str.item_not_found__
lea rdx, str.KEY_PDRVCAP2
lea rcx, str.Registrys
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov rcx, r13
lea rdi, [rbp + 0x340]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, str.item_not_found__
lea rcx, [rbp + 0x340]
call fcn.140199c9c
test eax, eax
jne 0x14003b04f
lea r8, str.KEY_PDRVCAP2
lea rdx, str.Registrys
mov rcx, r14
call fcn.14003c900
nop
lea rdx, [r12 - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003af9c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003afbd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003afde
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003afff
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b020
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b041
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
jmp 0x140039112
lea rcx, [r14 + 0x200]
lea rdx, [rbp + 0x340]
call fcn.1400055d0
xor edx, edx
mov r8d, 0x7fff
lea rcx, [rbp + 0x1b80]
call fcn.14019d7c0
lea r9, [rbp + 0xb0]
mov r8d, 0x7fff
lea rdx, [rbp + 0x1b80]
lea rcx, str.Registrys_Key
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
mov edi, eax
call fcn.140056384
mov r9, rax
mov r8d, 0x7fff
lea rdx, [rbp + 0x1b80]
lea rcx, [rsp + 0x68]
call fcn.14000bc20
nop
lea rcx, [rsp + 0x68]
test edi, edi
je 0x14003b0e3
mov esi, 9
mov r8d, esi
xor edx, edx
call fcn.140014570
mov r8d, esi
lea edx, [rsi + 0x32]
lea rcx, [rsp + 0x68]
call fcn.140014570
jmp 0x14003b0fa
mov r8d, 0xd
lea rdx, str.Non_Printer_t_t
call fcn.1400059f0
mov esi, 9
mov rdi, qword [rsp + 0x68]
cmp dword [rdi - 0x10], 0
jge 0x14003b10a
mov eax, r13d
jmp 0x14003b126
lea rdx, [rbp + 0x68]
mov rcx, rdi
call fcn.1401998b4
test rax, rax
jne 0x14003b120
mov eax, r13d
jmp 0x14003b126
sub rax, rdi
sar rax, 1
mov r8d, eax
lea rdx, [rbp - 0x28]
lea rcx, [rsp + 0x68]
call fcn.1400121e0
nop
lea rcx, [r14 + 0x208]
mov rdx, rax
call fcn.140006d20
nop
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b167
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
mov r8d, 0x7fff
lea rcx, [rbp + 0x1b80]
call fcn.14019d7c0
lea r9, [rbp + 0xb0]
mov r8d, 0x7fff
lea rdx, [rbp + 0x1b80]
lea rcx, str.VDC_Modules
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
call fcn.140056384
mov r9, rax
mov r8d, 0x7fff
lea rdx, [rbp + 0x1b80]
lea rcx, [rsp + 0x78]
call fcn.14000bc20
nop
mov r8d, esi
xor edx, edx
lea rcx, [rsp + 0x78]
call fcn.140014570
mov r8d, esi
mov edx, 0x3b
lea rcx, [rsp + 0x78]
call fcn.140014570
mov rdi, qword [rsp + 0x78]
cmp dword [rdi - 0x10], 0
jge 0x14003b1ed
mov eax, r13d
jmp 0x14003b209
lea rdx, [rbp + 0x68]
mov rcx, rdi
call fcn.1401998b4
test rax, rax
jne 0x14003b203
mov eax, r13d
jmp 0x14003b209
sub rax, rdi
sar rax, 1
mov r8d, eax
lea rdx, [rbp - 0x48]
lea rcx, [rsp + 0x78]
call fcn.1400121e0
nop
lea rcx, [r14 + 0x1a8]
mov rdx, rax
call fcn.140006d20
nop
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b24a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
mov r8d, 0x7fff
lea rcx, [rbp + 0x1b80]
call fcn.14019d7c0
lea r9, [rbp + 0xb0]
mov r8d, 0x7fff
lea rdx, [rbp + 0x1b80]
lea rcx, str.DIAS_Modules
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
call fcn.140056384
mov r9, rax
mov r8d, 0x7fff
lea rdx, [rbp + 0x1b80]
lea rcx, [rsp + 0x70]
call fcn.14000bc20
nop
mov r8d, esi
xor edx, edx
lea rcx, [rsp + 0x70]
call fcn.140014570
mov r8d, esi
mov edx, 0x3b
lea rcx, [rsp + 0x70]
call fcn.140014570
mov rdi, qword [rsp + 0x70]
cmp dword [rdi - 0x10], 0
jge 0x14003b2d0
mov eax, r13d
jmp 0x14003b2ec
lea rdx, [rbp + 0x68]
mov rcx, rdi
call fcn.1401998b4
test rax, rax
jne 0x14003b2e6
mov eax, r13d
jmp 0x14003b2ec
sub rax, rdi
sar rax, 1
mov r8d, eax
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x70]
call fcn.1400121e0
nop
lea rcx, [r14 + 0x1b0]
mov rdx, rax
call fcn.140006d20
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b32d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edx, 0x800
lea rcx, [r14 + 0x1b8]
call fcn.1400056e0
mov r9, rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
lea r8, str.item_not_found__
lea rdx, str.PDL_NAME
lea rcx, str.Profiles
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, str.item_not_found__
lea rcx, [r14 + 0x1b8]
call fcn.140007460
test al, al
je 0x14003b4e7
lea r8, str.PDL_NAME
lea rdx, str.Profiles
mov rcx, r14
call fcn.14003c900
mov edx, r13d
lea rcx, [r14 + 0x1b8]
call fcn.140020390
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b3d2
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b3f3
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b414
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b434
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b455
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b476
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b497
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b4b8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b4d9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
jmp 0x140039112
mov edx, r13d
lea rcx, [r14 + 0x1b8]
call fcn.140020390
call fcn.140056384
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x14003b516
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x68], rax
lea rdx, [0x140220fd0]
lea rcx, [r14 + 0x788]
call fcn.140007460
lea rcx, [rbp - 0x68]
test al, al
je 0x14003b556
mov r8d, 0x10
lea rdx, str.item_not_found__
call fcn.1400059f0
jmp 0x14003b562
lea rdx, [r14 + 0x1b8]
call fcn.140006d20
mov edx, 0x800
lea rcx, [r14 + 0x1c0]
call fcn.1400056e0
mov r9, rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
mov rdi, qword [rbp - 0x68]
mov r8, rdi
lea rdx, str.PDL_NAME2
lea rcx, str.Profiles
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, str.item_not_found__
lea rcx, [r14 + 0x1c0]
call fcn.140007460
test al, al
je 0x14003b738
lea r8, str.PDL_NAME2
lea rdx, str.Profiles
mov rcx, r14
call fcn.14003c900
mov edx, r13d
lea rcx, [r14 + 0x1c0]
call fcn.140020390
nop
lea rdx, [rdi - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b602
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b623
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b644
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b665
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b685
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b6a6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b6c7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b6e8
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b709
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b72a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
jmp 0x140039112
mov edx, r13d
lea rcx, [r14 + 0x1c0]
call fcn.140020390
mov edx, 0x800
lea rcx, [r14 + 0x1c8]
call fcn.1400056e0
mov r9, rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
lea r8, str.item_not_found__
lea rdx, str.UninstallLevel
lea rcx, str.Profiles
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, str.item_not_found__
lea rcx, [r14 + 0x1c8]
call fcn.140007460
test al, al
jne 0x14003c463
lea rdx, [0x1402229f0]
lea rcx, [r14 + 0x1c8]
call fcn.140012400
test al, al
je 0x14003b7ee
lea rdx, [0x14021d928]
lea rcx, [r14 + 0x1c8]
call fcn.140012400
test al, al
je 0x14003b7ee
lea rdx, [0x140222714]
lea rcx, [r14 + 0x1c8]
call fcn.140012400
test al, al
jne 0x14003c463
mov edx, r13d
lea rcx, [r14 + 0x1c8]
call fcn.140020390
lea rdx, [rbp - 0x20]
mov rcx, qword [r14 + 0x260]
call fcn.140035660
nop
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140006d20
nop
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b83b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
lea rdi, [0x1402229f0]
mov rax, qword [rsp + 0x48]
mov rsi, rax
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x14003b85b
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
sete cl
test cl, cl
jne 0x14003b8ac
xor edx, edx
lea rdi, [0x14021d928]
mov rsi, rax
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x14003b87f
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
sete cl
test cl, cl
jne 0x14003b8ac
xor edx, edx
lea rdi, [0x140222714]
mov rsi, rax
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x14003b8a3
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
sete al
test al, al
je 0x14003b8bd
lea rdx, [rsp + 0x48]
lea rcx, [r14 + 0x1c8]
call fcn.140006d20
mov edx, 0x800
lea rcx, [r14 + 0x210]
call fcn.1400056e0
mov r9, rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
lea r8, str.item_not_found__
lea rdx, str.PST_DEL
lea rcx, str.Profiles
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, str.item_not_found__
lea rcx, [r14 + 0x210]
call fcn.140007460
test al, al
je 0x14003b92a
lea rdx, [0x140222524]
lea rcx, [r14 + 0x210]
call fcn.1400055d0
mov edx, r13d
lea rcx, [r14 + 0x210]
call fcn.140020390
mov edx, 0x800
lea rcx, [r14 + 0x220]
call fcn.1400056e0
mov r9, rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
lea r8, str.item_not_found__
lea rdx, str.VDCService
lea rcx, str.Profiles
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, str.item_not_found__
lea rcx, [r14 + 0x220]
call fcn.140007460
test al, al
je 0x14003b9a6
lea rdx, str.DEFAULT_STOP
lea rcx, [r14 + 0x220]
call fcn.1400055d0
mov edx, r13d
lea rcx, [r14 + 0x220]
call fcn.140020390
mov edx, 0x800
lea rcx, [r14 + 0x228]
call fcn.1400056e0
mov r9, rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
lea r8, str.item_not_found__
lea rdx, str.NetWorkPrinter
lea rcx, str.Profiles
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, str.item_not_found__
lea rcx, [r14 + 0x228]
call fcn.140007460
test al, al
je 0x14003ba22
lea rdx, [0x140222524]
lea rcx, [r14 + 0x228]
call fcn.1400055d0
mov edx, r13d
lea rcx, [r14 + 0x228]
call fcn.140020390
mov edx, 0x800
lea rcx, [r14 + 0x230]
call fcn.1400056e0
mov r9, rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
lea r8, str.item_not_found__
lea rdx, str.AUTHORITYCHECK
lea rcx, str.Profiles
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, str.item_not_found__
lea rcx, [r14 + 0x230]
call fcn.140007460
test al, al
je 0x14003ba9e
lea rdx, [0x140222524]
lea rcx, [r14 + 0x230]
call fcn.1400055d0
mov edx, r13d
lea rcx, [r14 + 0x230]
call fcn.140020390
mov edx, 0x800
lea rcx, [r14 + 0x248]
call fcn.1400056e0
mov r9, rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
lea r8, str.item_not_found__
lea rdx, str.CCD3_VER_2KXP
lea rcx, str.Borderline_CCD3_Driver_Versions
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, str.item_not_found__
lea rcx, [r14 + 0x248]
call fcn.140007460
test al, al
je 0x14003bb1a
lea rdx, str.0.00
lea rcx, [r14 + 0x248]
call fcn.1400055d0
mov edx, r13d
lea rcx, [r14 + 0x248]
call fcn.140020390
lea r9, [rbp + 0xb0]
xor r8d, r8d
lea rdx, str.DrvNum
lea rcx, str.GetDrvInfo
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ebx, eax
lea rcx, [r14 + 0x818]
call fcn.14000cb60
mov edi, 0x20
test ebx, ebx
jle 0x14003bc4b
cmp ebx, edi
cmovg ebx, edi
mov esi, r15d
test ebx, ebx
jle 0x14003bc4b
inc esi
mov dword [rsp + 0x20], esi
lea r9, str.DrvFile_
lea r8, str._s_d
mov edx, 0x104
lea rcx, [rbp + 0x1970]
call fcn.14003de40
lea rdx, [rbp + 0xb0]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x104
lea r9, [rbp + 0x1550]
lea r8, [0x1402209ac]
lea rdx, [rbp + 0x1970]
lea rcx, str.GetDrvInfo
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [0x1402209ac]
lea rcx, [rbp + 0x1550]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x14003bc3e
mov qword [rbp + 0x58], 7
mov qword [rbp + 0x50], r15
mov word [rbp + 0x40], r15w
xor eax, eax
mov rcx, r13
lea rdi, [rbp + 0x1550]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rbp + 0x1550]
lea rcx, [rbp + 0x40]
call fcn.140003200
nop
lea rdx, [rbp + 0x40]
lea rcx, [r14 + 0x818]
call fcn.14000ca70
nop
cmp qword [rbp + 0x58], 8
jb 0x14003bc3e
mov rcx, qword [rbp + 0x40]
call fcn.14005605c
cmp esi, ebx
jl 0x14003bb72
mov edi, 0x20
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
lea r9, [rbp + 0x2c0]
lea r8, [0x1402225a8]
lea rdx, str.CheckJobMonitor
lea rcx, str.Profiles
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [0x140222524]
lea rcx, [rbp + 0x2c0]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov ecx, r15d
test eax, eax
sete cl
mov dword [r14 + 0x838], ecx
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
lea r9, [rbp + 0x300]
lea r8, [0x1402225a8]
lea rdx, str.DelRestoreFile
lea rcx, str.Profiles
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [0x140222524]
lea rcx, [rbp + 0x300]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov ecx, r15d
test eax, eax
sete cl
mov dword [r14 + 0x83c], ecx
call fcn.1400166e0
cmp eax, 0xa
jne 0x14003bdac
mov word [rbp + 0x11b80], r15w
xor edx, edx
mov r8d, 0xfffc
lea rcx, [rbp + 0x11b82]
call fcn.14019d7c0
lea r9, [rbp + 0xb0]
mov r8d, 0x7fff
lea rdx, [rbp + 0x11b80]
lea rcx, str.DriverStoreInfo
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
test eax, eax
je 0x14003bd84
lea rdi, [rbp + 0x11b80]
cmp word [rbp + 0x11b80], 0
je 0x14003bd84
cmp word [rdi], 0x3b
je 0x14003bd6e
lea rcx, [r14 + 0x338]
mov r8, rdi
mov rdx, qword [rcx + 0x10]
call fcn.14005920c
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, eax
lea rdi, [rdi + rdx*2 + 2]
cmp word [rdi], 0
jne 0x14003bd55
lea r9, [rbp + 0xb0]
mov r8d, 0xa
lea rdx, str.WaitDeleteDriverPacakge
lea rcx, str.UninstallDriverStore
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [r14 + 0x360], eax
mov word [rbp + 0x1760], r15w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x1762]
call fcn.14019d7c0
mov ebx, r15d
mov edi, r15d
mov qword [rbp - 0x58], r15
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x7fff
lea r9, [rbp + 0x1b80]
lea r12, [0x1402209ac]
mov r8, r12
xor edx, edx
lea rcx, str.DeleteMonitor
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x14003bf6d
lea rcx, [rbp + 0x1b80]
mov eax, eax
mov edx, 9
nop dword [rax]
cmp word [rcx], bx
jne 0x14003be2a
mov word [rcx], dx
inc edi
add rcx, 2
dec rax
jne 0x14003be20
lea esi, [rdi + 1]
mov eax, 0x10
mul rsi
cmovo rax, r13
add rax, 8
cmovb rax, r13
mov rcx, rax
call fcn.140056054
test rax, rax
je 0x14003be82
mov dword [rax], esi
lea rdi, [rax + 8]
lea rax, [0x140036a30]
mov qword [rsp + 0x20], rax
lea r9, [0x14003c6b0]
mov r8d, esi
mov edx, 0x10
mov rcx, rdi
call fcn.140199a4c
jmp 0x14003be85
mov rdi, r15
mov qword [r14 + 0x250], rdi
lea r8, [rbp - 0x58]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x1b80]
call fcn.14019a1c0
mov rsi, rax
test rax, rax
je 0x14003bf41
nop dword [rax]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 0x64
jg 0x14003bf25
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x208
lea r9, [rbp + 0x1760]
mov r8, r12
mov rdx, rsi
lea rcx, str.DeleteMonitor
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
dec eax
cmp eax, 0x63
ja 0x14003bf25
mov edi, ebx
add rdi, rdi
mov rax, qword [r14 + 0x250]
lea rcx, [rax + rdi*8]
mov rdx, rsi
call fcn.1400055d0
mov rdx, qword [r14 + 0x250]
lea rcx, [rdx + rdi*8 + 8]
lea rdx, [rbp + 0x1760]
call fcn.1400055d0
inc ebx
lea r8, [rbp - 0x58]
lea rdx, [rsp + 0x60]
xor ecx, ecx
call fcn.14019a1c0
mov rsi, rax
test rax, rax
jne 0x14003beb0
mov edi, ebx
add rdi, rdi
mov rax, qword [r14 + 0x250]
lea rcx, [rax + rdi*8]
mov rdx, r12
call fcn.1400055d0
mov rdx, qword [r14 + 0x250]
lea rcx, [rdx + rdi*8 + 8]
mov rdx, r12
call fcn.1400055d0
mov word [rbp + 0x70], r15w
xor eax, eax
mov qword [rbp + 0x72], rax
mov qword [rbp + 0x7a], rax
mov qword [rbp + 0x82], rax
mov qword [rbp + 0x8a], rax
mov qword [rbp + 0x92], rax
mov qword [rbp + 0x9a], rax
mov qword [rbp + 0xa2], rax
mov dword [rbp + 0xaa], eax
mov word [rbp + 0xae], ax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x20
lea r9, [rbp + 0x70]
lea r8, [0x1402229f0]
lea rdx, str.UsePrintUI
lea rcx, str.Profiles
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [0x14021d928]
lea rcx, [rbp + 0x70]
call fcn.140199570
mov ecx, r15d
test eax, eax
sete cl
mov dword [r14 + 0x7a8], ecx
mov edx, 0x800
lea rcx, [r14 + 0xa90]
call fcn.1400056e0
mov r9, rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
lea r8, str.item_not_found__
lea rdx, str.Uninst
lea rcx, str.MFNP
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edx, r13d
lea rcx, [r14 + 0xa90]
call fcn.140020390
mov edx, 0x800
lea rcx, [r14 + 0xa98]
call fcn.1400056e0
mov r9, rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
lea r8, str.item_not_found__
lea rdx, [0x140222c58]
lea rcx, str.MFNP
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edx, r13d
lea rcx, [r14 + 0xa98]
call fcn.140020390
lea rdx, str.CAPT
lea rcx, [r14 + 0x788]
call fcn.140007460
test al, al
je 0x14003c1eb
mov edx, 0x800
lea rcx, [r14 + 0x7f8]
call fcn.1400056e0
mov r9, rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
mov r8, r12
lea rdx, str.CAPTModuleName
lea rcx, str.CAPTInfo
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edx, r13d
lea rcx, [r14 + 0x7f8]
call fcn.140020390
mov edx, 0x800
lea rcx, [r14 + 0x800]
call fcn.1400056e0
mov r9, rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
mov r8, r12
lea rdx, str.VirtualChannel
lea rcx, str.CAPTInfo
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edx, r13d
lea rcx, [r14 + 0x800]
call fcn.140020390
mov edx, 0x800
lea rcx, [r14 + 0x808]
call fcn.1400056e0
mov r9, rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
mov r8, r12
lea rdx, str.ModuleNamePreFix
lea rcx, str.CAPTInfo
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edx, r13d
lea rcx, [r14 + 0x808]
call fcn.140020390
mov rdx, r12
lea rcx, [r14 + 0x7f8]
call fcn.140012400
test al, al
je 0x14003c1eb
mov rdx, r12
lea rcx, [r14 + 0x800]
call fcn.140012400
test al, al
je 0x14003c1eb
mov rdx, r12
lea rcx, [r14 + 0x808]
call fcn.140012400
test al, al
je 0x14003c1eb
mov dword [r14 + 0x810], 1
lea r8, [r14 + 0xaa0]
lea rdx, str.CategoryRegName
lea rcx, [rbp]
call fcn.140035720
nop
lea r8, [r14 + 0xaa8]
lea rdx, str.SupportCategory
lea rcx, [rbp + 0x20]
call fcn.140035720
nop
call fcn.140056384
mov rcx, rax
test rax, rax
setne r15b
test r15d, r15d
jne 0x14003c23a
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x60], rax
lea r12, [rbp + 8]
mov r14d, 2
mov rdi, qword [r12 + 0x10]
mov rsi, qword [r12]
mov rbx, qword [r12 - 8]
mov edx, 0x800
lea rcx, [rbp - 0x60]
call fcn.1400056e0
mov r9, rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edx, r13d
lea rcx, [rbp - 0x60]
call fcn.140020390
lea rdx, [rbp - 0x60]
mov rcx, qword [r12 + 8]
call fcn.140006d20
add r12, 0x20
dec r14
jne 0x14003c252
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003c2d7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea r9, [0x14003c710]
mov edx, 0x20
lea r8d, [rdx - 0x1e]
lea rcx, [rbp]
call fcn.1401999ec
nop
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003c311
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003c332
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003c353
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003c374
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003c394
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003c3b5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003c3d6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003c3f7
lea r8, str.UninstallLevel
lea rdx, str.Profiles
mov rcx, r14
call fcn.14003c900
mov edx, r13d
lea rcx, [r14 + 0x1c8]
call fcn.140020390
nop
lea rdx, [rdi - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003c4a5
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003c4c6
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003c4e7
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003c508
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003c528
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003c549
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003c56a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003c58b
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003c5ac
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003c5cd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
jmp 0x140039112
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
nop
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
nop
mov ecx, 0x80070057
call fcn.140004550
nop
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
nop
mov ecx, 0x80070057
call fcn.140004550
nop
mov rcx, qword [rbp + 0x21b80]
xor rcx, rsp
call fcn.140198b40
lea r11, [rsp + 0x21c90]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret