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

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x21c40
call fcn.1400a28a0
sub rsp, rax
mov qword [rsp + 0xe0], 0xfffffffffffffffe
mov qword [rsp + 0x21c78], rbx
mov qword [rsp + 0x21c80], rbp
mov qword [rsp + 0x21c88], rsi
mov rax, qword [0x1400e71f0]
xor rax, rsp
mov qword [rsp + 0x21c30], rax
mov r13, rcx
xor r15d, r15d
mov ebx, r15d
lea rcx, [rsp + 0x110]
mov eax, dword [0x1400a9a24]
mov dword [rcx], eax
movzx eax, word [0x1400a9a28]
mov word [rcx + 4], ax
mov dword [rsp + 0x58], 9
mov word [rsp + 0x160], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x162]
call fcn.140080d50
mov rcx, r13
call fcn.1400418e0
mov r8, rax
mov edx, 0x104
lea rcx, [rsp + 0x160]
call fcn.140081cd0
mov rcx, r13
call fcn.140042cd0
mov rax, qword [0x1400e9300]
mov qword [rsp + 0x20], rax
mov r9, qword [r13 + 0x6a0]
lea r8, [0x1400a3e08]
mov edx, 0x104
lea rcx, [rsp + 0x1810]
call fcn.1400418f0
xor r8d, r8d
lea rdx, [rsp + 0x1810]
lea rcx, [rsp + 0x160]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
cmp eax, 1
je 0x140045220
lea edx, [r15 + 0x1e]
lea r9d, [r15 + 0x30]
lea r8d, [r15 + 3]
mov rcx, r13
call fcn.140041f00
xor eax, eax
jmp 0x140048c64
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [rsp + 0x1810]
lea rcx, [rsp + 0x160]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov edx, 0x80
lea rcx, [rsp + 0x160]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor edx, edx
mov r8d, 0x7fff
lea rcx, [rsp + 0x1c30]
call fcn.140080d50
lea r9, [rsp + 0x160]
mov r8d, 0x7fff
lea rdx, [rsp + 0x1c30]
lea rcx, str.Uninstall_Drivers
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
call fcn.1400696cc
mov rdi, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400452ad
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov edx, 0x7fff
mov r8d, 2
mov rcx, rdi
call qword [rax]
test rax, rax
jne 0x1400452cb
call fcn.1400019f0
int3
lea rdi, [rax + 0x18]
mov qword [rsp + 0x30], rdi
cmp dword [rdi - 0xc], 0x7fff
jl 0x140048c59
mov dword [rdi - 0x10], 0x7fff
mov word [rdi + 0xfffe], bx
mov r9d, 0xfffe
lea r8, [rsp + 0x1c30]
mov rdx, r9
mov rcx, rdi
call fcn.140080540
nop
xor r12b, r12b
movsxd rsi, dword [rdi - 0x10]
mov eax, r15d
test esi, esi
jle 0x14004538a
nop
nop
nop
movsxd rbp, eax
cmp word [rdi + rbp*2], 0
jne 0x14004535a
test r12b, r12b
jne 0x140045354
mov r12b, 1
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, esi
or eax, ecx
jge 0x140045354
mov edx, esi
lea rcx, [rsp + 0x30]
call fcn.140003180
mov rdi, qword [rsp + 0x30]
mov word [rdi + rbp*2], 9
lea rax, [rbp + rbp + 2]
sar rax, 1
cmp eax, esi
jl 0x140045320
test r12b, r12b
je 0x14004538a
test esi, esi
js 0x14004537f
cmp esi, dword [rdi - 0xc]
jg 0x14004537f
mov dword [rdi - 0x10], esi
mov word [rdi + rsi*2], 0
jmp 0x14004538a
mov ecx, 0x80070057
call fcn.140001000
int3
xor r12b, r12b
movsxd rsi, dword [rdi - 0x10]
mov eax, r15d
test esi, esi
jle 0x14004540a
nop
nop
movsxd rbp, eax
cmp word [rdi + rbp*2], 0x3b
jne 0x1400453da
test r12b, r12b
jne 0x1400453d4
mov r12b, 1
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, esi
or eax, ecx
jge 0x1400453d4
mov edx, esi
lea rcx, [rsp + 0x30]
call fcn.140003180
mov rdi, qword [rsp + 0x30]
mov word [rdi + rbp*2], 9
lea rax, [rbp + rbp + 2]
sar rax, 1
cmp eax, esi
jl 0x1400453a0
test r12b, r12b
je 0x14004540a
test esi, esi
js 0x1400453ff
cmp esi, dword [rdi - 0xc]
jg 0x1400453ff
mov dword [rdi - 0x10], esi
mov word [rdi + rsi*2], 0
jmp 0x14004540a
mov ecx, 0x80070057
call fcn.140001000
int3
or r12, 0xffffffffffffffff
cmp dword [rdi - 0x10], 0
jge 0x140045419
mov eax, r12d
jmp 0x140045439
lea rdx, [rsp + 0x110]
mov rcx, rdi
call fcn.1400804d0
test rax, rax
jne 0x140045433
mov eax, r12d
jmp 0x140045439
sub rax, rdi
sar rax, 1
mov r8d, eax
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x30]
call fcn.1400038a0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rsi, qword [r13 + 0x560]
sub rsi, 0x18
cmp rcx, rsi
je 0x1400454b5
cmp dword [rsi + 0x10], 0
jl 0x1400454a4
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x1400454a4
call fcn.1400031e0
mov rbp, rax
mov ecx, r12d
lock xadd dword [rsi + 0x10], ecx
add ecx, 0xffffffff
test ecx, ecx
jg 0x140045497
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbp + 0x18]
mov qword [r13 + 0x560], rax
jmp 0x1400454b5
mov r8d, dword [rdx - 0x10]
lea rcx, [r13 + 0x560]
call fcn.140003c40
nop
mov rdx, qword [rsp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400454d9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp dword [rdi - 0x10], 0
jl 0x140048c4e
lea rdx, [rsp + 0x110]
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
call fcn.1400804d0
mov rbp, rax
test rax, rax
je 0x140048c4e
sub rbp, rsi
sar rbp, 1
test ebp, ebp
js 0x140048c4e
movsxd rdi, dword [rdi - 0x10]
cmp ebp, edi
jge 0x140048c4e
cmp dword [rsi - 8], 1
jle 0x140045536
mov edx, dword [rsi - 0x10]
lea rcx, [rsp + 0x30]
call fcn.140001a00
mov rsi, qword [rsp + 0x30]
movsxd rax, ebp
mov word [rsi + rax*2], 0
test edi, edi
js 0x140048c43
cmp edi, dword [rsi - 0xc]
jg 0x140048c43
mov dword [rsi - 0x10], edi
mov word [rsi + rdi*2], 0
nop
nop
test ebx, ebx
js 0x140045599
cmp ebx, dword [rsi - 0x10]
jg 0x140045599
movsxd rax, ebx
lea rcx, [rsi + rax*2]
lea rdx, [rsp + 0x58]
call fcn.1400804d0
mov rbx, rax
test rax, rax
je 0x140045599
sub rbx, rsi
sar rbx, 1
test ebx, ebx
jle 0x140045599
add dword [r13 + 0x658], 1
add ebx, 1
jmp 0x140045560
mov rdi, qword [r13 + 0x560]
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi - 8], 0
jl 0x1400455c4
cmp rax, qword [rdi - 0x18]
jne 0x1400455c4
lea rsi, [rdi - 0x18]
lock add dword [rdi - 8], 1
jmp 0x140045602
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi - 0x10]
call qword [rax]
mov rsi, rax
test rax, rax
jne 0x1400455e0
call fcn.1400019f0
int3
mov eax, dword [rdi - 0x10]
mov dword [rsi + 8], eax
mov eax, dword [rdi - 0x10]
add eax, 1
movsxd rdx, eax
lea r9, [rdx + rdx]
mov r8, rdi
add rdx, rdx
lea rcx, [rsi + 0x18]
call fcn.140080540
add rsi, 0x18
mov qword [rsp + 0x50], rsi
call fcn.1400696cc
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x14004562b
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rbp, [0x1400a4510]
mov rbx, rbp
shr rbx, 0x10
jne 0x14004566e
movzx edi, bp
mov ecx, edi
call fcn.1400696b8
test rax, rax
je 0x14004568e
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140003a40
jmp 0x14004568e
xor eax, eax
mov rcx, r12
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, rbp
lea rcx, [rsp + 0x48]
call fcn.140003c40
nop
call fcn.1400696cc
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400456ae
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
test rbx, rbx
jne 0x1400456e6
movzx edi, bp
mov ecx, edi
call fcn.1400696b8
test rax, rax
je 0x140045706
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140003a40
jmp 0x140045706
xor eax, eax
mov rcx, r12
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, rbp
lea rcx, [rsp + 0x40]
call fcn.140003c40
nop
mov edi, r15d
lea r14, [rsi - 0x10]
nop
test edi, edi
js 0x14004587a
cmp edi, dword [r14]
jge 0x14004587a
movsxd rax, edi
lea rcx, [rsi + rax*2]
mov dx, 9
call fcn.1400804a0
mov rbx, rax
test rax, rax
je 0x14004587a
sub rbx, rsi
sar rbx, 1
test ebx, ebx
js 0x14004587a
cmp ebx, edi
jle 0x14004586c
mov r9d, ebx
sub r9d, edi
mov r8d, edi
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x50]
call fcn.140003560
nop
mov rdx, qword [rax]
lea rdi, [rdx - 0x18]
mov rsi, qword [rsp + 0x40]
add rsi, 0xffffffffffffffe8
cmp rdi, rsi
je 0x14004582e
cmp dword [rsi + 0x10], 0
jl 0x14004581f
mov rcx, qword [rdi]
cmp rcx, qword [rsi]
jne 0x14004581f
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi + 0x10], 0
jl 0x1400457bc
cmp rax, qword [rdi]
jne 0x1400457bc
mov rbp, rdi
lock add dword [rdi + 0x10], 1
jmp 0x1400457f9
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi + 8]
call qword [rax]
mov rbp, rax
test rax, rax
je 0x140045874
mov ecx, dword [rdi + 8]
mov dword [rax + 8], ecx
mov ecx, dword [rdi + 8]
add ecx, 1
movsxd rdx, ecx
lea r9, [rdx + rdx]
lea r8, [rdi + 0x18]
add rdx, rdx
lea rcx, [rax + 0x18]
call fcn.140080540
mov eax, r12d
lock xadd dword [rsi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140045814
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbp + 0x18]
mov qword [rsp + 0x40], rax
jmp 0x14004582e
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140003c40
nop
mov rdx, qword [rsp + 0xd8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140045852
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [r13 + 0x6d8]
lea r8, [rsp + 0x40]
mov rdx, qword [rcx + 0x10]
call fcn.140068200
mov rsi, qword [rsp + 0x50]
lea edi, [rbx + 1]
jmp 0x140045710
call fcn.1400019f0
nop
mov r8d, edi
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x50]
call fcn.140003e50
nop
mov rdx, qword [rax]
lea rdi, [rdx - 0x18]
mov rsi, qword [rsp + 0x48]
add rsi, 0xffffffffffffffe8
cmp rdi, rsi
je 0x140045951
cmp dword [rsi + 0x10], 0
jl 0x140045942
mov rcx, qword [rdi]
cmp rcx, qword [rsi]
jne 0x140045942
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi + 0x10], 0
jl 0x1400458dd
cmp rax, qword [rdi]
jne 0x1400458dd
mov rbx, rdi
lock add dword [rdi + 0x10], 1
jmp 0x14004591c
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi + 8]
call qword [rax]
mov rbx, rax
test rax, rax
jne 0x1400458f9
call fcn.1400019f0
int3
mov eax, dword [rdi + 8]
mov dword [rbx + 8], eax
mov eax, dword [rdi + 8]
add eax, 1
movsxd rdx, eax
lea r9, [rdx + rdx]
lea r8, [rdi + 0x18]
add rdx, rdx
lea rcx, [rbx + 0x18]
call fcn.140080540
mov eax, r12d
lock xadd dword [rsi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140045937
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x48], rax
jmp 0x140045951
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x48]
call fcn.140003c40
nop
mov rdx, qword [rsp + 0xb8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140045975
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [r13 + 0x6d8]
lea r8, [rsp + 0x48]
mov rdx, qword [rcx + 0x10]
call fcn.140068200
xor edx, edx
mov r8d, 0x7fff
lea rcx, [rsp + 0x1c30]
call fcn.140080d50
lea r9, [rsp + 0x160]
mov r8d, 0x7fff
lea rdx, [rsp + 0x1c30]
lea rcx, str.Uninstall_Old_Drivers
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
call fcn.1400696cc
mov rdi, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400459e2
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov edx, 0x7fff
mov r8d, 2
mov rcx, rdi
call qword [rax]
test rax, rax
jne 0x140045a00
call fcn.1400019f0
int3
lea rdi, [rax + 0x18]
mov qword [rsp + 0x38], rdi
cmp dword [rdi - 0xc], 0x7fff
jl 0x140048c38
mov dword [rdi - 0x10], 0x7fff
mov word [rdi + 0xfffe], 0
mov r9d, 0xfffe
lea r8, [rsp + 0x1c30]
mov rdx, r9
mov rcx, rdi
call fcn.140080540
nop
xor bpl, bpl
movsxd rsi, dword [rdi - 0x10]
mov eax, r15d
test esi, esi
jle 0x140045aba
nop
movsxd rbx, eax
cmp word [rdi + rbx*2], 0
jne 0x140045a8a
test bpl, bpl
jne 0x140045a84
mov bpl, 1
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, esi
or eax, ecx
jge 0x140045a84
mov edx, esi
lea rcx, [rsp + 0x38]
call fcn.140003180
mov rdi, qword [rsp + 0x38]
mov word [rdi + rbx*2], 9
lea rax, [rbx + rbx + 2]
sar rax, 1
cmp eax, esi
jl 0x140045a50
test bpl, bpl
je 0x140045aba
test esi, esi
js 0x140045aaf
cmp esi, dword [rdi - 0xc]
jg 0x140045aaf
mov dword [rdi - 0x10], esi
mov word [rdi + rsi*2], 0
jmp 0x140045aba
mov ecx, 0x80070057
call fcn.140001000
int3
xor bpl, bpl
movsxd rsi, dword [rdi - 0x10]
mov eax, r15d
test esi, esi
jle 0x140045b3a
nop
nop
movsxd rbx, eax
cmp word [rdi + rbx*2], 0x3b
jne 0x140045b0a
test bpl, bpl
jne 0x140045b04
mov bpl, 1
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, esi
or eax, ecx
jge 0x140045b04
mov edx, esi
lea rcx, [rsp + 0x38]
call fcn.140003180
mov rdi, qword [rsp + 0x38]
mov word [rdi + rbx*2], 9
lea rax, [rbx + rbx + 2]
sar rax, 1
cmp eax, esi
jl 0x140045ad0
test bpl, bpl
je 0x140045b3a
test esi, esi
js 0x140045b2f
cmp esi, dword [rdi - 0xc]
jg 0x140045b2f
mov dword [rdi - 0x10], esi
mov word [rdi + rsi*2], 0
jmp 0x140045b3a
mov ecx, 0x80070057
call fcn.140001000
int3
cmp dword [rdi - 0x10], 0
jge 0x140045b45
mov eax, r12d
jmp 0x140045b65
lea rdx, [rsp + 0x110]
mov rcx, rdi
call fcn.1400804d0
test rax, rax
jne 0x140045b5f
mov eax, r12d
jmp 0x140045b65
sub rax, rdi
sar rax, 1
mov r8d, eax
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x38]
call fcn.1400038a0
nop
mov rdx, qword [rax]
lea rsi, [rdx - 0x18]
mov rbx, qword [r13 + 0x568]
sub rbx, 0x18
cmp rsi, rbx
je 0x140045c42
cmp dword [rbx + 0x10], 0
jl 0x140045c31
mov rcx, qword [rsi]
cmp rcx, qword [rbx]
jne 0x140045c31
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rsi + 0x10], 0
jl 0x140045bca
cmp rax, qword [rsi]
jne 0x140045bca
mov rbp, rsi
lock add dword [rsi + 0x10], 1
jmp 0x140045c09
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rsi + 8]
call qword [rax]
mov rbp, rax
test rax, rax
jne 0x140045be6
call fcn.1400019f0
int3
mov eax, dword [rsi + 8]
mov dword [rbp + 8], eax
mov eax, dword [rsi + 8]
add eax, 1
movsxd rdx, eax
lea r9, [rdx + rdx]
lea r8, [rsi + 0x18]
add rdx, rdx
lea rcx, [rbp + 0x18]
call fcn.140080540
mov eax, r12d
lock xadd dword [rbx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140045c24
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbp + 0x18]
mov qword [r13 + 0x568], rax
jmp 0x140045c42
mov r8d, dword [rdx - 0x10]
lea rcx, [r13 + 0x568]
call fcn.140003c40
nop
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140045c66
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov esi, r15d
cmp dword [rdi - 0x10], r15d
jl 0x140048c2d
lea rdx, [rsp + 0x110]
mov rbx, qword [rsp + 0x38]
mov rcx, rbx
call fcn.1400804d0
mov rbp, rax
test rax, rax
je 0x140048c2d
sub rbp, rbx
sar rbp, 1
test ebp, ebp
js 0x140048c2d
movsxd rdi, dword [rdi - 0x10]
cmp ebp, edi
jge 0x140048c2d
cmp dword [rbx - 8], 1
jle 0x140045cc6
mov edx, dword [rbx - 0x10]
lea rcx, [rsp + 0x38]
call fcn.140001a00
mov rbx, qword [rsp + 0x38]
movsxd rax, ebp
mov word [rbx + rax*2], si
test edi, edi
js 0x140048c22
cmp edi, dword [rbx - 0xc]
jg 0x140048c22
mov dword [rbx - 0x10], edi
mov word [rbx + rdi*2], si
test esi, esi
js 0x140045d1e
cmp esi, dword [rbx - 0x10]
jg 0x140045d1e
movsxd rax, esi
lea rcx, [rbx + rax*2]
lea rdx, [rsp + 0x58]
call fcn.1400804d0
mov rsi, rax
test rax, rax
je 0x140045d1e
sub rsi, rbx
sar rsi, 1
test esi, esi
jle 0x140045d1e
add dword [r13 + 0x65c], 1
add esi, 1
jmp 0x140045ce5
mov rax, qword [r13 + 0x190]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, 0x800
or eax, ecx
jge 0x140045d4a
mov edx, 0x800
lea rcx, [r13 + 0x190]
call fcn.140003180
lea rax, [rsp + 0x160]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
mov r9, qword [r13 + 0x190]
lea r8, str.item_not_found__
lea rdx, str.MessageDebugUI
lea rcx, str.Profiles
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rdx, qword [r13 + 0x190]
test rdx, rdx
jne 0x140045d92
mov ecx, r15d
jmp 0x140045dac
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
test ecx, ecx
js 0x140048c17
cmp ecx, dword [rdx - 0xc]
jg 0x140048c17
mov dword [rdx - 0x10], ecx
movsxd rcx, ecx
mov rax, qword [r13 + 0x190]
mov word [rax + rcx*2], 0
lea r9, [rsp + 0x160]
mov r8d, 0x1388
lea rdx, str.MessageDebugInterval
lea rcx, str.Profiles
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [r13 + 0x198], eax
mov rax, qword [r13 + 0x570]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, 0x800
or eax, ecx
jge 0x140045e1d
mov edx, 0x800
lea rcx, [r13 + 0x570]
call fcn.140003180
lea rax, [rsp + 0x160]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
mov r9, qword [r13 + 0x570]
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 [r13 + 0x570]
mov ecx, 0x11
repe cmpsw word [rsi], word [rdi]
je 0x140045e73
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x140045fa8
mov dword [rsp + 0x28], 0x30
mov dword [rsp + 0x20], 3
lea r9, str.PRT_2KXP
lea r8, str.Borderline_Driver_Versions
mov edx, 0x1f
mov rcx, r13
call fcn.1400421b0
mov rdx, qword [r13 + 0x570]
test rdx, rdx
je 0x140045ed4
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r15d, ecx
test ecx, ecx
js 0x140045f9d
cmp r15d, dword [rdx - 0xc]
jg 0x140045f9d
mov dword [rdx - 0x10], r15d
movsxd rcx, r15d
mov rax, qword [r13 + 0x570]
mov word [rax + rcx*2], 0
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140045f0f
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140045f31
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140045f53
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140045f75
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
add r12d, 0xffffffff
test r12d, r12d
jg 0x140045f96
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x140048c64
mov ecx, 0x80070057
call fcn.140001000
int3
mov rdx, qword [r13 + 0x570]
test rdx, rdx
jne 0x140045fb9
mov ecx, r15d
jmp 0x140045fd3
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
test ecx, ecx
js 0x140048c0c
cmp ecx, dword [rdx - 0xc]
jg 0x140048c0c
mov dword [rdx - 0x10], ecx
movsxd rcx, ecx
mov rax, qword [r13 + 0x570]
mov word [rax + rcx*2], 0
mov rax, qword [r13 + 0x578]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, 0x800
or eax, ecx
jge 0x14004601b
mov edx, 0x800
lea rcx, [r13 + 0x578]
call fcn.140003180
lea rax, [rsp + 0x160]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
mov r9, qword [r13 + 0x578]
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 [r13 + 0x578]
mov ecx, 0x11
repe cmpsw word [rsi], word [rdi]
je 0x140046071
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x1400461a6
mov dword [rsp + 0x28], 0x30
mov dword [rsp + 0x20], 3
lea r9, str.FAX_2KXP
lea r8, str.Borderline_Driver_Versions
mov edx, 0x1f
mov rcx, r13
call fcn.1400421b0
mov rdx, qword [r13 + 0x578]
test rdx, rdx
je 0x1400460d2
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r15d, ecx
test ecx, ecx
js 0x14004619b
cmp r15d, dword [rdx - 0xc]
jg 0x14004619b
mov dword [rdx - 0x10], r15d
movsxd rcx, r15d
mov rax, qword [r13 + 0x578]
mov word [rax + rcx*2], 0
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004610d
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004612f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140046151
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140046173
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
add r12d, 0xffffffff
test r12d, r12d
jg 0x140046194
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x140048c64
mov ecx, 0x80070057
call fcn.140001000
int3
mov rdx, qword [r13 + 0x578]
test rdx, rdx
jne 0x1400461b7
mov ecx, r15d
jmp 0x1400461d1
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
test ecx, ecx
js 0x140048c01
cmp ecx, dword [rdx - 0xc]
jg 0x140048c01
mov dword [rdx - 0x10], ecx
movsxd rcx, ecx
mov rax, qword [r13 + 0x578]
mov word [rax + rcx*2], 0
mov rax, qword [r13 + 0x580]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, 0x800
or eax, ecx
jge 0x140046219
mov edx, 0x800
lea rcx, [r13 + 0x580]
call fcn.140003180
lea rax, [rsp + 0x160]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
mov r9, qword [r13 + 0x580]
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 [r13 + 0x580]
mov ecx, 0x11
repe cmpsw word [rsi], word [rdi]
je 0x14004626f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x1400463a4
mov dword [rsp + 0x28], 0x30
mov dword [rsp + 0x20], 3
lea r9, str.OLD_VER
lea r8, str.Borderline_Driver_Versions
mov edx, 0x1f
mov rcx, r13
call fcn.1400421b0
mov rdx, qword [r13 + 0x580]
test rdx, rdx
je 0x1400462d0
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r15d, ecx
test ecx, ecx
js 0x140046399
cmp r15d, dword [rdx - 0xc]
jg 0x140046399
mov dword [rdx - 0x10], r15d
movsxd rcx, r15d
mov rax, qword [r13 + 0x580]
mov word [rax + rcx*2], 0
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004630b
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004632d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004634f
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140046371
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
add r12d, 0xffffffff
test r12d, r12d
jg 0x140046392
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x140048c64
mov ecx, 0x80070057
call fcn.140001000
int3
mov rdx, qword [r13 + 0x580]
test rdx, rdx
jne 0x1400463b5
mov ecx, r15d
jmp 0x1400463cf
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
test ecx, ecx
js 0x140048bf6
cmp ecx, dword [rdx - 0xc]
jg 0x140048bf6
mov dword [rdx - 0x10], ecx
movsxd rcx, ecx
mov rax, qword [r13 + 0x580]
mov word [rax + rcx*2], 0
mov rax, qword [r13 + 0x588]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, 0x800
or eax, ecx
jge 0x140046417
mov edx, 0x800
lea rcx, [r13 + 0x588]
call fcn.140003180
lea rax, [rsp + 0x160]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
mov r9, qword [r13 + 0x588]
lea r8, str.item_not_found__
lea rdx, [0x1400a9900]
lea rcx, [0x1400a9900]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
lea rdi, str.item_not_found__
mov rsi, qword [r13 + 0x588]
mov ecx, 0x11
repe cmpsw word [rsi], word [rdi]
je 0x14004646d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x1400465a2
mov dword [rsp + 0x28], 0x30
mov dword [rsp + 0x20], 3
lea r9, [0x1400a9900]
lea r8, [0x1400a9900]
mov edx, 0x1f
mov rcx, r13
call fcn.1400421b0
mov rdx, qword [r13 + 0x588]
test rdx, rdx
je 0x1400464ce
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r15d, ecx
test ecx, ecx
js 0x140046597
cmp r15d, dword [rdx - 0xc]
jg 0x140046597
mov dword [rdx - 0x10], r15d
movsxd rcx, r15d
mov rax, qword [r13 + 0x588]
mov word [rax + rcx*2], 0
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140046509
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004652b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004654d
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004656f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
add r12d, 0xffffffff
test r12d, r12d
jg 0x140046590
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x140048c64
mov ecx, 0x80070057
call fcn.140001000
int3
mov rdx, qword [r13 + 0x588]
test rdx, rdx
jne 0x1400465b3
mov ecx, r15d
jmp 0x1400465cd
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
test ecx, ecx
js 0x140048beb
cmp ecx, dword [rdx - 0xc]
jg 0x140048beb
mov dword [rdx - 0x10], ecx
movsxd rcx, ecx
mov rax, qword [r13 + 0x588]
mov word [rax + rcx*2], 0
mov rdi, qword [r13 + 0x588]
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi - 8], 0
jl 0x140046619
cmp rax, qword [rdi - 0x18]
jne 0x140046619
lea rbp, [rdi - 0x18]
lock add dword [rdi - 8], 1
mov rbx, qword [rsp + 0x38]
jmp 0x140046657
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi - 0x10]
call qword [rax]
mov rbp, rax
test rax, rax
jne 0x140046635
call fcn.1400019f0
int3
mov eax, dword [rdi - 0x10]
mov dword [rbp + 8], eax
mov eax, dword [rdi - 0x10]
add eax, 1
movsxd rdx, eax
lea r9, [rdx + rdx]
mov r8, rdi
add rdx, rdx
lea rcx, [rbp + 0x18]
call fcn.140080540
add rbp, 0x18
mov qword [rsp + 0x78], rbp
xor eax, eax
lea rdi, [0x1400a82e8]
mov rsi, qword [r13 + 0x588]
mov ecx, 4
repe cmpsw word [rsi], word [rdi]
je 0x14004667f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x1400466b4
xor eax, eax
mov rcx, r12
lea rdi, str.PCL5e
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.PCL5e
lea rcx, [rsp + 0x78]
call fcn.140003c40
mov rbp, qword [rsp + 0x78]
mov rax, qword [r13 + 0xb88]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, 0x800
or eax, ecx
jge 0x1400466e0
mov edx, 0x800
lea rcx, [r13 + 0xb88]
call fcn.140003180
lea rax, [rsp + 0x160]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
mov r9, qword [r13 + 0xb88]
lea r8, [0x1400a4510]
lea rdx, str.PDL_TYPE
lea rcx, [0x1400a9900]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov r11, qword [r13 + 0xb88]
xor eax, eax
lea rdi, str.LIPS4
mov rsi, r11
mov ecx, 6
repe cmpsw word [rsi], word [rdi]
je 0x140046739
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne al
test al, al
je 0x140046803
xor eax, eax
lea rdi, [0x1400a82e8]
mov rsi, r11
mov ecx, 4
repe cmpsw word [rsi], word [rdi]
je 0x140046761
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne al
test al, al
je 0x140046803
xor eax, eax
lea rdi, [0x1400a98dc]
mov rsi, r11
mov ecx, 3
repe cmpsw word [rsi], word [rdi]
je 0x140046789
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne al
test al, al
je 0x140046803
xor eax, eax
lea rdi, [0x1400a8f20]
mov rsi, r11
mov ecx, 4
repe cmpsw word [rsi], word [rdi]
je 0x1400467ad
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne al
test al, al
je 0x140046803
xor eax, eax
lea rdi, str.UFRII
mov rsi, r11
mov ecx, 6
repe cmpsw word [rsi], word [rdi]
je 0x1400467d1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne al
test al, al
je 0x140046803
xor eax, eax
mov rcx, r12
lea rdi, [0x1400a4510]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x1400a4510]
lea rcx, [r13 + 0xb88]
call fcn.140003c40
mov rdx, qword [r13 + 0xb88]
test rdx, rdx
jne 0x140046814
mov ecx, r15d
jmp 0x14004682e
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
test ecx, ecx
js 0x140048be0
cmp ecx, dword [rdx - 0xc]
jg 0x140048be0
mov dword [rdx - 0x10], ecx
movsxd rcx, ecx
mov rax, qword [r13 + 0xb88]
mov word [rax + rcx*2], 0
mov eax, dword [r13 + 0x658]
add eax, dword [r13 + 0x65c]
test eax, eax
jle 0x14004694f
xor eax, eax
mov rcx, r12
lea rdi, [0x1400a98c8]
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r9, rcx
mov qword [rsp + 0x80], rcx
lea r8, [0x1400a98c8]
mov qword [rsp + 0x98], r8
mov rax, qword [r13 + 0x590]
lea r14, [0x1400a98c8]
sub r14, rax
sar r14, 1
mov ecx, dword [rax - 0x10]
mov dword [rsp + 0x5c], ecx
lea edi, [rcx + r9]
mov edx, 1
sub edx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, edi
or eax, edx
jge 0x1400468e2
mov edx, edi
lea rcx, [r13 + 0x590]
call fcn.140003180
mov r8, qword [rsp + 0x98]
mov ecx, dword [rsp + 0x5c]
mov r9, qword [rsp + 0x80]
mov rax, qword [r13 + 0x590]
cmp r14, rcx
ja 0x1400468f2
lea r8, [rax + r14*2]
movsxd rdx, r9d
add rdx, rdx
lea rcx, [rax + rcx*2]
mov r9, rdx
call fcn.140080540
test edi, edi
js 0x140046944
mov rax, qword [r13 + 0x590]
cmp edi, dword [rax - 0xc]
jg 0x140046944
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [r13 + 0x590]
mov word [rax + rcx*2], 0
add r15d, 1
mov eax, dword [r13 + 0x658]
add eax, dword [r13 + 0x65c]
cmp r15d, eax
jl 0x140046860
jmp 0x14004694f
mov ecx, 0x80070057
call fcn.140001000
int3
mov rax, qword [r13 + 0x590]
mov r14d, dword [rax - 0x10]
add r14d, 0xffffffff
js 0x140048bd5
movsxd rsi, dword [rax - 0x10]
cmp r14d, esi
jge 0x140048bd5
cmp dword [rax - 8], 1
jle 0x140046986
mov edx, dword [rax - 0x10]
lea rcx, [r13 + 0x590]
call fcn.140001a00
mov rcx, qword [r13 + 0x590]
movsxd rax, r14d
mov word [rcx + rax*2], 0
test esi, esi
js 0x140048bca
mov rax, qword [r13 + 0x590]
cmp esi, dword [rax - 0xc]
jg 0x140048bca
mov dword [rax - 0x10], esi
mov rax, qword [r13 + 0x590]
mov word [rax + rsi*2], 0
mov rdx, qword [r13 + 0x590]
lea rcx, [rdx - 0x18]
mov rdi, qword [r13 + 0x598]
sub rdi, 0x18
cmp rcx, rdi
je 0x140046a31
cmp dword [rdi + 0x10], 0
jl 0x140046a21
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140046a21
call fcn.1400031e0
mov rbx, rax
mov ecx, r12d
lock xadd dword [rdi + 0x10], ecx
add ecx, 0xffffffff
test ecx, ecx
jg 0x140046a0a
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [r13 + 0x598], rax
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x78]
jmp 0x140046a31
mov r8d, dword [rdx - 0x10]
lea rcx, [r13 + 0x598]
call fcn.140003c40
xor eax, eax
mov qword [rsp + 0x88], rax
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x58]
mov rcx, qword [rsp + 0x30]
call fcn.140081d80
mov r15, rax
test rax, rax
je 0x140046b85
nop
lea rdx, [0x1400a8300]
mov rcx, r15
call fcn.1400804d0
test rax, rax
jne 0x140046a8c
lea rsi, [r13 + 0x5a0]
mov rdx, qword [r13 + 0x570]
mov rcx, rsi
call fcn.140009fe0
jmp 0x140046aa2
lea rsi, [r13 + 0x5a0]
mov rdx, qword [r13 + 0x578]
mov rcx, rsi
call fcn.140009fe0
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x58]
xor ecx, ecx
call fcn.140081d80
mov r15, rax
test rax, rax
je 0x140046b85
xor eax, eax
mov rcx, r12
lea rdi, reloc.OLEAUT32.dll_VariantCopy
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r9, rcx
mov qword [rsp + 0x98], rcx
lea r8, reloc.OLEAUT32.dll_VariantCopy
mov qword [rsp + 0x80], r8
mov rax, qword [rsi]
lea r14, reloc.OLEAUT32.dll_VariantCopy
sub r14, rax
sar r14, 1
mov ecx, dword [rax - 0x10]
mov dword [rsp + 0x5c], ecx
lea edi, [rcx + r9]
mov edx, 1
sub edx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, edi
or eax, edx
jge 0x140046b3c
mov edx, edi
mov rcx, rsi
call fcn.140003180
mov r8, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x5c]
mov r9, qword [rsp + 0x98]
mov rax, qword [rsi]
cmp r14, rcx
ja 0x140046b48
lea r8, [rax + r14*2]
movsxd rdx, r9d
add rdx, rdx
lea rcx, [rax + rcx*2]
mov r9, rdx
call fcn.140080540
test edi, edi
js 0x140046b7a
mov rax, qword [rsi]
cmp edi, dword [rax - 0xc]
jg 0x140046b7a
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsi]
mov word [rax + rcx*2], 0
jmp 0x140046a60
mov ecx, 0x80070057
call fcn.140001000
int3
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.140081d80
mov r14, rax
test rax, rax
je 0x140046cc8
nop
nop
nop
lea rdx, [0x1400a8300]
mov rcx, r14
call fcn.1400804d0
test rax, rax
jne 0x140046bdc
lea rsi, [r13 + 0x5a0]
mov rdx, qword [r13 + 0x570]
mov rcx, rsi
call fcn.140009fe0
jmp 0x140046bf2
lea rsi, [r13 + 0x5a0]
mov rdx, qword [r13 + 0x578]
mov rcx, rsi
call fcn.140009fe0
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x58]
xor ecx, ecx
call fcn.140081d80
mov r14, rax
test rax, rax
je 0x140046cc8
xor eax, eax
mov rcx, r12
lea rdi, reloc.OLEAUT32.dll_VariantCopy
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r8, rcx
mov qword [rsp + 0x80], rcx
lea r15, reloc.OLEAUT32.dll_VariantCopy
mov rax, qword [rsi]
lea rbx, reloc.OLEAUT32.dll_VariantCopy
sub rbx, rax
sar rbx, 1
mov ecx, dword [rax - 0x10]
mov dword [rsp + 0x5c], ecx
lea edi, [rcx + r8]
mov edx, 1
sub edx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, edi
or eax, edx
jge 0x140046c7c
mov edx, edi
mov rcx, rsi
call fcn.140003180
mov ecx, dword [rsp + 0x5c]
mov r8, qword [rsp + 0x80]
mov rax, qword [rsi]
cmp rbx, rcx
ja 0x140046c88
lea r15, [rax + rbx*2]
movsxd rdx, r8d
add rdx, rdx
lea rcx, [rax + rcx*2]
mov r9, rdx
mov r8, r15
call fcn.140080540
test edi, edi
js 0x140046cbd
mov rax, qword [rsi]
cmp edi, dword [rax - 0xc]
jg 0x140046cbd
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsi]
mov word [rax + rcx*2], 0
jmp 0x140046bb0
mov ecx, 0x80070057
call fcn.140001000
int3
xor edx, edx
mov r8d, 0x800
lea rcx, [rsp + 0x3f0]
call fcn.140080d50
lea rdx, [rsp + 0x160]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x800
lea r9, [rsp + 0x3f0]
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, r12
lea rdi, [rsp + 0x3f0]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, str.item_not_found__
lea rcx, [rsp + 0x3f0]
call fcn.140085210
test eax, eax
jne 0x140046e3f
mov dword [rsp + 0x28], 0x30
mov dword [rsp + 0x20], 3
lea r9, str.KEY_PRINTER
lea r8, str.Registrys
lea edx, [rax + 0x1f]
mov rcx, r13
call fcn.1400421b0
nop
lea rdx, [rbp - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140046d8f
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140046db1
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140046dd3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140046df5
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140046e17
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
add r12d, 0xffffffff
test r12d, r12d
jg 0x140046e38
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x140048c64
xor eax, eax
mov rcx, r12
lea rdi, [rsp + 0x3f0]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x3f0]
lea rcx, [r13 + 0x5d0]
call fcn.140003c40
xor edx, edx
mov r8d, 0x800
lea rcx, [rsp + 0x3f0]
call fcn.140080d50
lea rdx, [rsp + 0x160]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x800
lea r9, [rsp + 0x3f0]
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, r12
lea rdi, [rsp + 0x3f0]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, str.item_not_found__
lea rcx, [rsp + 0x3f0]
call fcn.140085210
test eax, eax
jne 0x140046fe1
mov dword [rsp + 0x28], 0x30
mov dword [rsp + 0x20], 3
lea r9, str.KEY_PRINTER2
lea r8, str.Registrys
lea edx, [rax + 0x1f]
mov rcx, r13
call fcn.1400421b0
nop
lea rdx, [rbp - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140046f31
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140046f53
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140046f75
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140046f97
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140046fb9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
add r12d, 0xffffffff
test r12d, r12d
jg 0x140046fda
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x140048c64
xor eax, eax
mov rcx, r12
lea rdi, [rsp + 0x3f0]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x3f0]
lea rcx, [r13 + 0x5d8]
call fcn.140003c40
xor edx, edx
mov r8d, 0x800
lea rcx, [rsp + 0x3f0]
call fcn.140080d50
lea rdx, [rsp + 0x160]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x800
lea r9, [rsp + 0x3f0]
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, r12
lea rdi, [rsp + 0x3f0]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, str.item_not_found__
lea rcx, [rsp + 0x3f0]
call fcn.140085210
test eax, eax
jne 0x140047183
mov dword [rsp + 0x28], 0x30
mov dword [rsp + 0x20], 3
lea r9, str.KEY_BEFORE
lea r8, str.Registrys
lea edx, [rax + 0x1f]
mov rcx, r13
call fcn.1400421b0
nop
lea rdx, [rbp - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400470d3
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400470f5
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047117
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047139
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004715b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
add r12d, 0xffffffff
test r12d, r12d
jg 0x14004717c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x140048c64
xor eax, eax
mov rcx, r12
lea rdi, [rsp + 0x3f0]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x3f0]
lea rcx, [r13 + 0x5e0]
call fcn.140003c40
xor edx, edx
mov r8d, 0x800
lea rcx, [rsp + 0x3f0]
call fcn.140080d50
lea rdx, [rsp + 0x160]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x800
lea r9, [rsp + 0x3f0]
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, r12
lea rdi, [rsp + 0x3f0]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, str.item_not_found__
lea rcx, [rsp + 0x3f0]
call fcn.140085210
test eax, eax
jne 0x140047325
mov dword [rsp + 0x28], 0x30
mov dword [rsp + 0x20], 3
lea r9, str.KEY_BEFORE2
lea r8, str.Registrys
lea edx, [rax + 0x1f]
mov rcx, r13
call fcn.1400421b0
nop
lea rdx, [rbp - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047275
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047297
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400472b9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400472db
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400472fd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
add r12d, 0xffffffff
test r12d, r12d
jg 0x14004731e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x140048c64
xor eax, eax
mov rcx, r12
lea rdi, [rsp + 0x3f0]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x3f0]
lea rcx, [r13 + 0x5e8]
call fcn.140003c40
xor edx, edx
mov r8d, 0x800
lea rcx, [rsp + 0x3f0]
call fcn.140080d50
lea rdx, [rsp + 0x160]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x800
lea r9, [rsp + 0x3f0]
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, r12
lea rdi, [rsp + 0x3f0]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, str.item_not_found__
lea rcx, [rsp + 0x3f0]
call fcn.140085210
test eax, eax
jne 0x1400474c7
mov dword [rsp + 0x28], 0x30
mov dword [rsp + 0x20], 3
lea r9, str.KEY_BEFORE3
lea r8, str.Registrys
lea edx, [rax + 0x1f]
mov rcx, r13
call fcn.1400421b0
nop
lea rdx, [rbp - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047417
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047439
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004745b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004747d
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004749f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
add r12d, 0xffffffff
test r12d, r12d
jg 0x1400474c0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x140048c64
xor eax, eax
mov rcx, r12
lea rdi, [rsp + 0x3f0]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x3f0]
lea rcx, [r13 + 0x5f0]
call fcn.140003c40
xor edx, edx
mov r8d, 0x800
lea rcx, [rsp + 0x3f0]
call fcn.140080d50
lea rdx, [rsp + 0x160]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x800
lea r9, [rsp + 0x3f0]
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, r12
lea rdi, [rsp + 0x3f0]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, str.item_not_found__
lea rcx, [rsp + 0x3f0]
call fcn.140085210
test eax, eax
jne 0x140047669
mov dword [rsp + 0x28], 0x30
mov dword [rsp + 0x20], 3
lea r9, str.KEY_PDRVCAP
lea r8, str.Registrys
lea edx, [rax + 0x1f]
mov rcx, r13
call fcn.1400421b0
nop
lea rdx, [rbp - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400475b9
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400475db
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400475fd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004761f
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047641
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
add r12d, 0xffffffff
test r12d, r12d
jg 0x140047662
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x140048c64
lea rcx, [r13 + 0x5f8]
lea rdx, [rsp + 0x3f0]
call fcn.1400048c0
xor edx, edx
mov r8d, 0x800
lea rcx, [rsp + 0x3f0]
call fcn.140080d50
lea rdx, [rsp + 0x160]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x800
lea r9, [rsp + 0x3f0]
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, r12
lea rdi, [rsp + 0x3f0]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, str.item_not_found__
lea rcx, [rsp + 0x3f0]
call fcn.140085210
test eax, eax
jne 0x1400477f4
mov dword [rsp + 0x28], 0x30
mov dword [rsp + 0x20], 3
lea r9, str.KEY_PDRVCAP2
lea r8, str.Registrys
lea edx, [rax + 0x1f]
mov rcx, r13
call fcn.1400421b0
nop
lea rdx, [rbp - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047744
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047766
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047788
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400477aa
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400477cc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
add r12d, 0xffffffff
test r12d, r12d
jg 0x1400477ed
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x140048c64
lea rcx, [r13 + 0x600]
lea rdx, [rsp + 0x3f0]
call fcn.1400048c0
xor edx, edx
mov r8d, 0x7fff
lea rcx, [rsp + 0x1c30]
call fcn.140080d50
lea r9, [rsp + 0x160]
mov r8d, 0x7fff
lea rdx, [rsp + 0x1c30]
lea rcx, str.Registrys_Key
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
mov edi, eax
mov r8d, 0x7fff
lea rdx, [rsp + 0x1c30]
lea rcx, [rsp + 0x60]
call fcn.140041bb0
nop
test edi, edi
je 0x140047885
mov r8w, 9
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.14000ffe0
mov r8w, 9
mov dx, 0x3b
lea rcx, [rsp + 0x60]
call fcn.14000ffe0
jmp 0x1400478ac
xor eax, eax
mov rcx, r12
lea rdi, str.Non_Printer_t_t
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.Non_Printer_t_t
lea rcx, [rsp + 0x60]
call fcn.140003c40
mov rdi, qword [rsp + 0x60]
cmp dword [rdi - 0x10], 0
jge 0x1400478bc
mov eax, r12d
jmp 0x1400478dc
lea rdx, [rsp + 0x110]
mov rcx, rdi
call fcn.1400804d0
test rax, rax
jne 0x1400478d6
mov eax, r12d
jmp 0x1400478dc
sub rax, rdi
sar rax, 1
mov r8d, eax
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x60]
call fcn.1400038a0
nop
lea rcx, [r13 + 0x608]
mov rdx, rax
call fcn.1400047a0
nop
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047926
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
mov r8d, 0x7fff
lea rcx, [rsp + 0x1c30]
call fcn.140080d50
lea r9, [rsp + 0x160]
mov r8d, 0x7fff
lea rdx, [rsp + 0x1c30]
lea rcx, str.VDC_Modules
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
mov r8d, 0x7fff
lea rdx, [rsp + 0x1c30]
lea rcx, [rsp + 0x68]
call fcn.140041bb0
nop
mov r8w, 9
xor edx, edx
lea rcx, [rsp + 0x68]
call fcn.14000ffe0
mov r8w, 9
mov dx, 0x3b
lea rcx, [rsp + 0x68]
call fcn.14000ffe0
mov rdi, qword [rsp + 0x68]
cmp dword [rdi - 0x10], 0
jge 0x1400479ab
mov eax, r12d
jmp 0x1400479cb
lea rdx, [rsp + 0x110]
mov rcx, rdi
call fcn.1400804d0
test rax, rax
jne 0x1400479c5
mov eax, r12d
jmp 0x1400479cb
sub rax, rdi
sar rax, 1
mov r8d, eax
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x68]
call fcn.1400038a0
nop
lea rcx, [r13 + 0x5a8]
mov rdx, rax
call fcn.1400047a0
nop
mov rdx, qword [rsp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047a15
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
mov r8d, 0x7fff
lea rcx, [rsp + 0x1c30]
call fcn.140080d50
lea r9, [rsp + 0x160]
mov r8d, 0x7fff
lea rdx, [rsp + 0x1c30]
lea rcx, str.DIAS_Modules
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
mov r8d, 0x7fff
lea rdx, [rsp + 0x1c30]
lea rcx, [rsp + 0x70]
call fcn.140041bb0
nop
mov r8w, 9
xor edx, edx
lea rcx, [rsp + 0x70]
call fcn.14000ffe0
mov r8w, 9
mov dx, 0x3b
lea rcx, [rsp + 0x70]
call fcn.14000ffe0
mov rdi, qword [rsp + 0x70]
cmp dword [rdi - 0x10], 0
jge 0x140047a9a
mov eax, r12d
jmp 0x140047aba
lea rdx, [rsp + 0x110]
mov rcx, rdi
call fcn.1400804d0
test rax, rax
jne 0x140047ab4
mov eax, r12d
jmp 0x140047aba
sub rax, rdi
sar rax, 1
mov r8d, eax
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x70]
call fcn.1400038a0
nop
lea rcx, [r13 + 0x5b0]
mov rdx, rax
call fcn.1400047a0
nop
mov rdx, qword [rsp + 0xd0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047b04
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edx, 0x800
lea rcx, [r13 + 0x5b8]
call fcn.140003a00
mov r9, rax
lea rax, [rsp + 0x160]
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, [r13 + 0x5b8]
call fcn.140018630
test al, al
je 0x140047cd6
mov dword [rsp + 0x28], 0x30
mov dword [rsp + 0x20], 3
lea r9, str.PDL_NAME
lea r8, str.Profiles
mov edx, 0x1f
mov rcx, r13
call fcn.1400421b0
mov edx, r12d
lea rcx, [r13 + 0x5b8]
call fcn.140003040
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047bc0
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047be2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047c04
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047c26
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047c48
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047c6a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047c8c
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047cae
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
add r12d, 0xffffffff
test r12d, r12d
jg 0x140047ccf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x140048c64
mov edx, r12d
lea rcx, [r13 + 0x5b8]
call fcn.140003040
call fcn.1400696cc
mov rdx, rax
xor r15d, r15d
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x140047d08
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x90], rax
lea rdx, [0x1400a82e8]
lea rcx, [r13 + 0xb88]
call fcn.140018630
test al, al
je 0x140047d60
xor eax, eax
mov rcx, r12
lea rdi, str.item_not_found__
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.item_not_found__
lea rcx, [rsp + 0x90]
call fcn.140003c40
jmp 0x140047d74
lea rdx, [r13 + 0x5b8]
lea rcx, [rsp + 0x90]
call fcn.1400047a0
mov edx, 0x800
lea rcx, [r13 + 0x5c0]
call fcn.140003a00
mov r9, rax
lea rax, [rsp + 0x160]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
mov rsi, qword [rsp + 0x90]
mov r8, rsi
lea rdx, str.PDL_NAME2
lea rcx, str.Profiles
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, str.item_not_found__
lea rcx, [r13 + 0x5c0]
call fcn.140018630
test al, al
je 0x140047f67
mov dword [rsp + 0x28], 0x30
mov dword [rsp + 0x20], 3
lea r9, str.PDL_NAME2
lea r8, str.Profiles
mov edx, 0x1f
mov rcx, r13
call fcn.1400421b0
mov edx, r12d
lea rcx, [r13 + 0x5c0]
call fcn.140003040
nop
lea rdx, [rsi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047e2f
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047e51
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047e73
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047e95
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047eb7
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047ed9
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047efb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047f1d
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140047f3f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
add r12d, 0xffffffff
test r12d, r12d
jg 0x140047f60
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x140048c64
mov edx, r12d
lea rcx, [r13 + 0x5c0]
call fcn.140003040
mov edx, 0x800
lea rcx, [r13 + 0x5c8]
call fcn.140003a00
mov r9, rax
lea rax, [rsp + 0x160]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
lea r8, str.item_not_found__
lea rdx, [0x1400a9748]
lea rcx, str.Profiles
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, str.item_not_found__
lea rcx, [r13 + 0x5c8]
call fcn.140018630
test al, al
jne 0x140048a3a
lea rdx, [0x1400a9744]
lea rcx, [r13 + 0x5c8]
call fcn.140018670
test al, al
je 0x14004801e
lea rdx, [0x1400a4084]
lea rcx, [r13 + 0x5c8]
call fcn.140018670
test al, al
je 0x14004801e
lea rdx, [0x1400a9740]
lea rcx, [r13 + 0x5c8]
call fcn.140018670
test al, al
jne 0x140048a3a
mov edx, r12d
lea rcx, [r13 + 0x5c8]
call fcn.140003040
mov edx, 0x800
lea rcx, [r13 + 0x610]
call fcn.140003a00
mov r9, rax
lea rax, [rsp + 0x160]
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, [r13 + 0x610]
call fcn.140018630
test al, al
je 0x14004809b
lea rdx, [0x1400a9728]
lea rcx, [r13 + 0x610]
call fcn.1400048c0
mov edx, r12d
lea rcx, [r13 + 0x610]
call fcn.140003040
mov edx, 0x800
lea rcx, [r13 + 0x620]
call fcn.140003a00
mov r9, rax
lea rax, [rsp + 0x160]
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, [r13 + 0x620]
call fcn.140018630
test al, al
je 0x140048118
lea rdx, str.DEFAULT_STOP
lea rcx, [r13 + 0x620]
call fcn.1400048c0
mov edx, r12d
lea rcx, [r13 + 0x620]
call fcn.140003040
mov edx, 0x800
lea rcx, [r13 + 0x628]
call fcn.140003a00
mov r9, rax
lea rax, [rsp + 0x160]
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, [r13 + 0x628]
call fcn.140018630
test al, al
je 0x140048195
lea rdx, [0x1400a9728]
lea rcx, [r13 + 0x628]
call fcn.1400048c0
mov edx, r12d
lea rcx, [r13 + 0x628]
call fcn.140003040
mov edx, 0x800
lea rcx, [r13 + 0x630]
call fcn.140003a00
mov r9, rax
lea rax, [rsp + 0x160]
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, [r13 + 0x630]
call fcn.140018630
test al, al
je 0x140048212
lea rdx, [0x1400a9728]
lea rcx, [r13 + 0x630]
call fcn.1400048c0
mov edx, r12d
lea rcx, [r13 + 0x630]
call fcn.140003040
mov edx, 0x800
lea rcx, [r13 + 0x638]
call fcn.140003a00
mov r9, rax
lea rax, [rsp + 0x160]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
lea r8, str.item_not_found__
lea rdx, str.CCD3_VER_9xMe
lea rcx, str.Borderline_CCD3_Driver_Versions
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, str.item_not_found__
lea rcx, [r13 + 0x638]
call fcn.140018630
test al, al
je 0x14004828f
lea rdx, str.0.00
lea rcx, [r13 + 0x638]
call fcn.1400048c0
mov edx, r12d
lea rcx, [r13 + 0x638]
call fcn.140003040
mov edx, 0x800
lea rcx, [r13 + 0x640]
call fcn.140003a00
mov r9, rax
lea rax, [rsp + 0x160]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
lea r8, str.item_not_found__
lea rdx, str.CCD3_VER_NT40
lea rcx, str.Borderline_CCD3_Driver_Versions
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, str.item_not_found__
lea rcx, [r13 + 0x640]
call fcn.140018630
test al, al
je 0x14004830c
lea rdx, str.0.00
lea rcx, [r13 + 0x640]
call fcn.1400048c0
mov edx, r12d
lea rcx, [r13 + 0x640]
call fcn.140003040
mov edx, 0x800
lea rcx, [r13 + 0x648]
call fcn.140003a00
mov r9, rax
lea rax, [rsp + 0x160]
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, [r13 + 0x648]
call fcn.140018630
test al, al
je 0x140048389
lea rdx, str.0.00
lea rcx, [r13 + 0x648]
call fcn.1400048c0
mov edx, r12d
lea rcx, [r13 + 0x648]
call fcn.140003040
lea r9, [rsp + 0x160]
xor r8d, r8d
lea rdx, str.DrvNum
lea rcx, str.GetDrvInfo
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ebp, eax
lea rcx, [r13 + 0xbb0]
call fcn.1400123f0
mov edi, 0x20
test ebp, ebp
jle 0x1400484e0
cmp ebp, edi
cmovg ebp, edi
mov ebx, r15d
test ebp, ebp
jle 0x1400484e0
add ebx, 1
mov dword [rsp + 0x20], ebx
lea r9, str.DrvFile_
lea r8, str._s_d
mov edx, 0x104
lea rcx, [rsp + 0x1a20]
call fcn.1400418f0
lea rdx, [rsp + 0x160]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x1600]
lea r8, [0x1400a4510]
lea rdx, [rsp + 0x1a20]
lea rcx, str.GetDrvInfo
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [0x1400a4510]
lea rcx, [rsp + 0x1600]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x1400484d3
mov qword [rsp + 0x108], 7
mov qword [rsp + 0x100], r15
mov word [rsp + 0xf0], 0
xor eax, eax
mov rcx, r12
lea rdi, [rsp + 0x1600]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rsp + 0x1600]
lea rcx, [rsp + 0xe8]
call fcn.1400105a0
nop
lea rdx, [rsp + 0xe8]
lea rcx, [r13 + 0xbb0]
call fcn.140012d10
nop
cmp qword [rsp + 0x108], 8
jb 0x1400484d3
mov rcx, qword [rsp + 0xf0]
call fcn.140067524
cmp ebx, ebp
jl 0x1400483e2
mov edi, 0x20
lea rax, [rsp + 0x160]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
lea r9, [rsp + 0x3b0]
lea r8, [0x1400a95b8]
lea rdx, str.CheckJobMonitor
lea rcx, str.Profiles
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [0x1400a9728]
lea rcx, [rsp + 0x3b0]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov ecx, r15d
test eax, eax
sete cl
mov dword [r13 + 0xbd0], ecx
lea rax, [rsp + 0x160]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
lea r9, [rsp + 0x370]
lea r8, [0x1400a95b8]
lea rdx, str.DelRestoreFile
lea rcx, str.Profiles
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [0x1400a9728]
lea rcx, [rsp + 0x370]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov ecx, r15d
test eax, eax
sete cl
mov dword [r13 + 0xbd4], ecx
call fcn.140015a10
cmp eax, 0xa
jne 0x14004864f
mov word [rsp + 0x11c30], 0
xor edx, edx
mov r8d, 0xfffc
lea rcx, [rsp + 0x11c32]
call fcn.140080d50
lea r9, [rsp + 0x160]
mov r8d, 0x7fff
lea rdx, [rsp + 0x11c30]
lea rcx, str.DriverStoreInfo
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
test eax, eax
je 0x140048626
lea rdi, [rsp + 0x11c30]
cmp word [rsp + 0x11c30], 0
je 0x140048626
cmp word [rdi], 0x3b
je 0x140048610
lea rcx, [r13 + 0x738]
mov r8, rdi
mov rdx, qword [rcx + 0x10]
call fcn.140068584
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, eax
lea rdi, [rdi + rdx*2 + 2]
cmp word [rdi], 0
jne 0x1400485f7
lea r9, [rsp + 0x160]
mov r8d, 0xa
lea rdx, str.WaitDeleteDriverPacakge
lea rcx, str.UninstallDriverStore
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [r13 + 0x760], eax
mov word [rsp + 0x13f0], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x13f2]
call fcn.140080d50
mov ebp, r15d
mov edi, r15d
mov qword [rsp + 0xa0], r15
lea rax, [rsp + 0x160]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x7fff
lea r9, [rsp + 0x1c30]
lea r8, [0x1400a4510]
xor edx, edx
lea rcx, str.DeleteMonitor
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x140048832
test eax, eax
je 0x1400486dc
lea rcx, [rsp + 0x1c30]
mov eax, eax
cmp word [rcx], bp
jne 0x1400486d2
mov word [rcx], 9
add edi, 1
add rcx, 2
sub rax, 1
jne 0x1400486c5
lea ebx, [rdi + 1]
mov eax, 0x10
mul rbx
cmovo rax, r12
add rax, 8
cmovb rax, r12
mov rcx, rax
call fcn.14006751c
test rax, rax
je 0x14004872b
mov dword [rax], ebx
lea rdi, [rax + 8]
lea rax, [0x140041e40]
mov qword [rsp + 0x20], rax
lea r9, [0x140041ea0]
mov r8d, ebx
mov edx, 0x10
mov rcx, rdi
call fcn.140083ac0
jmp 0x14004872e
mov rdi, r15
mov qword [r13 + 0x650], rdi
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x1c30]
call fcn.140081d80
mov rbx, rax
test rax, rax
je 0x1400487fe
nop
nop
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 0x64
jg 0x1400487de
lea rax, [rsp + 0x160]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x208
lea r9, [rsp + 0x13f0]
lea r8, [0x1400a4510]
mov rdx, rbx
lea rcx, str.DeleteMonitor
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
add eax, 0xffffffff
cmp eax, 0x63
ja 0x1400487de
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x58]
xor ecx, ecx
call fcn.140081d80
mov rbx, rax
test rax, rax
jne 0x140048760
mov edi, ebp
add rdi, rdi
mov rax, qword [r13 + 0x650]
lea rcx, [rax + rdi*8]
lea rdx, [0x1400a4510]
call fcn.1400048c0
mov rcx, qword [r13 + 0x650]
lea rcx, [rcx + rdi*8 + 8]
lea rdx, [0x1400a4510]
call fcn.1400048c0
mov word [rsp + 0x120], 0
xor eax, eax
mov qword [rsp + 0x122], rax
mov qword [rsp + 0x12a], rax
mov qword [rsp + 0x132], rax
mov qword [rsp + 0x13a], rax
mov qword [rsp + 0x142], rax
mov qword [rsp + 0x14a], rax
mov qword [rsp + 0x152], rax
mov dword [rsp + 0x15a], eax
mov word [rsp + 0x15e], ax
lea rax, [rsp + 0x160]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x20
lea r9, [rsp + 0x120]
lea r8, [0x1400a9744]
lea rdx, str.UsePrintUI
lea rcx, str.Profiles
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [0x1400a4084]
lea rcx, [rsp + 0x120]
call fcn.1400807e0
test eax, eax
mov eax, 0
sete al
mov dword [r13 + 0xba8], eax
lea rdx, [rsi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400488ff
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140048921
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140048943
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140048965
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140048987
mov dword [rsp + 0x28], 0x30
mov dword [rsp + 0x20], 3
lea r9, [0x1400a9748]
lea r8, str.Profiles
mov edx, 0x1f
mov rcx, r13
call fcn.1400421b0
mov edx, r12d
lea rcx, [r13 + 0x5c8]
call fcn.140003040
nop
lea rdx, [rsi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140048a92
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140048ab4
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140048ad6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140048af8
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140048b1a
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140048b3c
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140048b5e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140048b80
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140048ba2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
add r12d, 0xffffffff
test r12d, r12d
jg 0x140048bc3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x140048c64
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
nop
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
nop
mov ecx, 0x80070057
call fcn.140001000
nop
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
nop
mov ecx, 0x80070057
call fcn.140001000
int3
mov rcx, qword [rsp + 0x21c30]
xor rcx, rsp
call fcn.140081050
lea r11, [rsp + 0x21c40]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret