Function at 0x14003e910
Capabilities:
Delete registry key

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1b50
call fcn.1400a28a0
sub rsp, rax
mov qword [rsp + 0x1c0], 0xfffffffffffffffe
mov rax, qword [0x1400e71f0]
xor rax, rsp
mov qword [rsp + 0x1b40], rax
mov qword [rsp + 0xd0], r9
mov r13d, r8d
mov r15, rdx
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x190], r9
mov rax, qword [rsp + 0x1bc0]
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x1bc8]
mov qword [rsp + 0x118], rax
xor r14d, r14d
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x40], r14d
mov qword [rsp + 0xb8], r14
mov dword [rsp + 0x64], r14d
mov dword [rsp + 0xa0], 1
mov dword [rsp + 0xa4], 1
mov dword [rsp + 0xe8], 1
mov dword [rsp + 0x88], 1
mov dword [rax], r14d
call fcn.140069504
mov rax, qword [rax + 8]
mov qword [rsp + 0x80], rax
xor edx, edx
mov r8d, 0x410
lea rcx, [rsp + 0x2a0]
call fcn.140080d50
call fcn.1400696cc
mov rcx, rax
mov eax, r14d
test rcx, rcx
setne al
test eax, eax
jne 0x14003ea24
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x48], rdi
call fcn.1400696cc
mov rcx, rax
mov eax, r14d
test rcx, rcx
setne al
test eax, eax
jne 0x14003ea53
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rsi, [rax + 0x18]
mov qword [rsp + 0x50], rsi
call fcn.1400696cc
mov rcx, rax
mov eax, r14d
test rcx, rcx
setne al
test eax, eax
jne 0x14003ea82
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
lea r12, [rax + 0x18]
mov qword [rsp + 0x58], r12
call fcn.1400696cc
mov rcx, rax
mov eax, r14d
test rcx, rcx
setne al
test eax, eax
jne 0x14003eab1
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0xc8], rbx
mov ecx, 0x3e
call fcn.1400696b8
test rax, rax
je 0x14003eaea
mov r8d, 0x3e
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140003a40
mov rdi, qword [rsp + 0x48]
mov ecx, 0x3f
call fcn.1400696b8
test rax, rax
je 0x14003eb11
mov r8d, 0x3f
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.140003a40
mov rsi, qword [rsp + 0x50]
mov ecx, 0x40
call fcn.1400696b8
test rax, rax
je 0x14003eb38
mov r8d, 0x40
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140003a40
mov r12, qword [rsp + 0x58]
mov ecx, 0x41
call fcn.1400696b8
test rax, rax
je 0x14003eb65
mov r8d, 0x41
mov rdx, rax
lea rcx, [rsp + 0xc8]
call fcn.140003a40
mov rbx, qword [rsp + 0xc8]
xor r9d, r9d
mov r8, rdi
lea edx, [r9 + 5]
mov rdi, qword [rsp + 0xd0]
mov rcx, rdi
call fcn.140023f30
mov r8d, dword [rsp + 0x1bb8]
mov edx, 1
mov rcx, rdi
call fcn.140023fd0
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
mov rcx, r15
call fcn.140022a60
cmp eax, 1
jne 0x14003ec48
test r13d, r13d
jne 0x14003ec48
lea rdx, [rbx - 0x18]
or r13, 0xffffffffffffffff
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14003ebd9
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
add eax, 0xffffffff
test eax, eax
jg 0x14003ebfb
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
add eax, 0xffffffff
test eax, eax
jg 0x14003ec1d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x14003ec3e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 3
jmp 0x140040ebe
mov rcx, qword [rsp + 0x80]
mov rdx, r15
add rcx, 0xb90
call fcn.140060a10
mov dword [rsp + 0x110], eax
xor edx, edx
mov r8d, 0x410
lea rcx, [rsp + 0x6b0]
call fcn.140080d50
lea rdx, [rsp + 0x6c]
mov qword [rsp + 0x30], rdx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor edx, edx
lea ecx, [rdx + 6]
lea r8d, [r9 + 2]
call sub.WINSPOOL.DRV_EnumPrintersW
test eax, eax
jne 0x14003ed4c
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x14003ed4c
lea rdx, [rbx - 0x18]
or r13, 0xffffffffffffffff
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14003ecdd
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
add eax, 0xffffffff
test eax, eax
jg 0x14003ecff
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
add eax, 0xffffffff
test eax, eax
jg 0x14003ed21
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x14003ed42
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
jmp 0x140040ebe
mov edx, dword [rsp + 0x40]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov r15, rax
test rax, rax
jne 0x14003edf7
lea rdx, [rbx - 0x18]
or r13, 0xffffffffffffffff
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14003ed88
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
add eax, 0xffffffff
test eax, eax
jg 0x14003edaa
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
add eax, 0xffffffff
test eax, eax
jg 0x14003edcc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x14003eded
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
jmp 0x140040ebe
lea rax, [rsp + 0x6c]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
mov r9, r15
xor edx, edx
lea ecx, [rdx + 6]
lea r8d, [rdx + 2]
call sub.WINSPOOL.DRV_EnumPrintersW
test eax, eax
je 0x14003eea3
mov edi, r14d
cmp dword [rsp + 0x6c], 0
jbe 0x14003eea3
lea r13, [r15 + 8]
nop
nop
nop
mov rdx, qword [rsp + 0x90]
mov rcx, qword [r13]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x14003ee68
add edi, 1
add r13, 0x88
cmp edi, dword [rsp + 0x6c]
jb 0x14003ee40
jmp 0x14003eea3
imul rdi, rdi, 0x88
mov rax, qword [rdi + r15 + 8]
cmp word [rax], 0x5c
jne 0x14003eea3
mov rcx, qword [rdi + r15]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x14003eea3
mov dword [rsp + 0x64], 1
mov rdx, qword [rdi + r15 + 0x20]
lea rcx, [rsp + 0x6b0]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GlobalFree]
call fcn.140015a10
mov edi, eax
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x64], 0
jne 0x14003f381
mov qword [rsp + 0x1a8], r14
mov qword [rsp + 0x1b0], r14
mov dword [rsp + 0x1b8], 0xf000c
lea r8, [rsp + 0x1a8]
lea rdx, [rsp + 0x70]
mov r13, qword [rsp + 0x90]
mov rcx, r13
call sub.WINSPOOL.DRV_OpenPrinterW
mov dword [rsp + 0xa0], eax
test eax, eax
jne 0x14003f038
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x14003efa8
lea rdx, [rbx - 0x18]
or r13, 0xffffffffffffffff
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14003ef39
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
add eax, 0xffffffff
test eax, eax
jg 0x14003ef5b
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
add eax, 0xffffffff
test eax, eax
jg 0x14003ef7d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x14003ef9e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 4
jmp 0x140040ebe
lea rdx, [rbx - 0x18]
or r13, 0xffffffffffffffff
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14003efc9
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
add eax, 0xffffffff
test eax, eax
jg 0x14003efeb
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
add eax, 0xffffffff
test eax, eax
jg 0x14003f00d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x14003f02e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
jmp 0x140040ebe
cmp edi, 2
je 0x14003f05b
cmp edi, 3
je 0x14003f05b
lea rdx, [rsp + 0x2a0]
mov rcx, r13
call fcn.14002a7b0
mov r13d, eax
mov dword [rsp + 0x68], eax
jmp 0x14003f074
lea rdx, [rsp + 0x2a0]
mov rcx, qword [rsp + 0x70]
call fcn.1400233c0
mov r13d, eax
mov dword [rsp + 0x68], eax
cmp r13d, 0xffffffff
jne 0x14003f119
mov rcx, qword [rsp + 0x70]
call sub.WINSPOOL.DRV_ClosePrinter
nop
lea rdx, [rbx - 0x18]
or r13, 0xffffffffffffffff
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14003f0aa
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
add eax, 0xffffffff
test eax, eax
jg 0x14003f0cc
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
add eax, 0xffffffff
test eax, eax
jg 0x14003f0ee
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x14003f10f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
jmp 0x140040ebe
mov dword [rsp + 0x40], r14d
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 3]
mov rcx, qword [rsp + 0x70]
call sub.WINSPOOL.DRV_GetPrinterDriverW
test eax, eax
jne 0x14003f1f2
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x14003f1f2
mov rcx, qword [rsp + 0x70]
call sub.WINSPOOL.DRV_ClosePrinter
nop
lea rdx, [rbx - 0x18]
or r13, 0xffffffffffffffff
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14003f183
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
add eax, 0xffffffff
test eax, eax
jg 0x14003f1a5
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
add eax, 0xffffffff
test eax, eax
jg 0x14003f1c7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x14003f1e8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
jmp 0x140040ebe
mov edx, dword [rsp + 0x40]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov r15, rax
mov qword [rsp + 0xf8], rax
test rax, rax
jne 0x14003f2b0
mov rcx, qword [rsp + 0x70]
call sub.WINSPOOL.DRV_ClosePrinter
nop
lea rdx, [rbx - 0x18]
or r13, 0xffffffffffffffff
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14003f241
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
add eax, 0xffffffff
test eax, eax
jg 0x14003f263
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
add eax, 0xffffffff
test eax, eax
jg 0x14003f285
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x14003f2a6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
jmp 0x140040ebe
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
mov r9, r15
xor edx, edx
lea r8d, [rdx + 3]
mov rcx, qword [rsp + 0x70]
call sub.WINSPOOL.DRV_GetPrinterDriverW
test eax, eax
jne 0x14003f5c7
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rcx, qword [rsp + 0x70]
call sub.WINSPOOL.DRV_ClosePrinter
nop
lea rdx, [rbx - 0x18]
or r13, 0xffffffffffffffff
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14003f312
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
add eax, 0xffffffff
test eax, eax
jg 0x14003f334
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
add eax, 0xffffffff
test eax, eax
jg 0x14003f356
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x14003f377
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
jmp 0x140040ebe
lea rax, [rsp + 0x6c]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor edx, edx
xor ecx, ecx
lea r8d, [r9 + 3]
call sub.WINSPOOL.DRV_EnumPrinterDriversW
test eax, eax
jne 0x14003f451
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x14003f451
lea rdx, [rbx - 0x18]
or r13, 0xffffffffffffffff
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14003f3e2
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
add eax, 0xffffffff
test eax, eax
jg 0x14003f404
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
add eax, 0xffffffff
test eax, eax
jg 0x14003f426
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x14003f447
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
jmp 0x140040ebe
mov edx, dword [rsp + 0x40]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov r13, rax
mov qword [rsp + 0xb8], rax
test rax, rax
jne 0x14003f504
lea rdx, [rbx - 0x18]
or r13, 0xffffffffffffffff
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14003f495
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
add eax, 0xffffffff
test eax, eax
jg 0x14003f4b7
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
add eax, 0xffffffff
test eax, eax
jg 0x14003f4d9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x14003f4fa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
jmp 0x140040ebe
lea rax, [rsp + 0x6c]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
mov r9, r13
xor edx, edx
xor ecx, ecx
lea r8d, [rdx + 3]
call sub.WINSPOOL.DRV_EnumPrinterDriversW
test eax, eax
je 0x14003f5b2
mov edi, r14d
cmp dword [rsp + 0x6c], r14d
jbe 0x14003f5b2
add r13, 8
lea rdx, [rsp + 0x6b0]
mov rcx, qword [r13]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x14003f584
add edi, 1
add r13, 0x50
cmp edi, dword [rsp + 0x6c]
jb 0x14003f542
mov r13d, dword [rsp + 0xa4]
mov dword [rsp + 0x68], r13d
mov r15, qword [rsp + 0xf8]
mov r13, qword [rsp + 0xb8]
jmp 0x14003f5cf
mov word [rsp + 0x2a0], 0
mov dword [rsp + 0x68], r14d
mov eax, edi
lea r15, [rax + rax*4]
shl r15, 4
mov r13, qword [rsp + 0xb8]
add r15, r13
mov qword [rsp + 0xf8], r15
jmp 0x14003f5cf
mov eax, dword [rsp + 0xa4]
mov dword [rsp + 0x68], eax
mov r15, qword [rsp + 0xf8]
jmp 0x14003f5cf
mov r13, qword [rsp + 0xb8]
mov dword [rsp + 0x20], r14d
xor r9d, r9d
mov r8, qword [r15 + 8]
mov rdx, qword [rsp + 0x90]
mov rcx, qword [r15 + 0x38]
call fcn.14001fdb0
cmp eax, 1
jne 0x14003f8f3
cmp dword [rsp + 0x64], 0
je 0x14003f607
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x14003f61a
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rcx, qword [rsp + 0x70]
call sub.WINSPOOL.DRV_ClosePrinter
call fcn.140069504
mov r15, qword [rax + 8]
call fcn.1400696cc
mov rdx, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x14003f643
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0xf0], rdi
call fcn.1400696cc
mov r11, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x14003f678
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x148], rbx
mov ecx, 2
call fcn.1400696b8
test rax, rax
je 0x14003f6ba
mov r8d, 2
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.140003a40
mov rdi, qword [rsp + 0xf0]
mov ecx, 3
call fcn.1400696b8
test rax, rax
je 0x14003f6e7
mov r8d, 3
mov rdx, rax
lea rcx, [rsp + 0x148]
call fcn.140003a40
mov rbx, qword [rsp + 0x148]
mov rax, qword [r15 + 0x660]
cmp dword [rax + 0x44], 0
je 0x14003f7ab
mov rdx, rbx
mov rcx, qword [r15 + 0x668]
call fcn.14000f3b0
xor r13b, r13b
movsxd rsi, dword [rdi - 0x10]
test esi, esi
jle 0x14003f787
movsxd r12, r14d
cmp word [rdi + r12*2], 0xa
jne 0x14003f754
test r13b, r13b
jne 0x14003f74d
mov r13b, 1
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, esi
or eax, ecx
jge 0x14003f74d
mov edx, esi
lea rcx, [rsp + 0xf0]
call fcn.140003180
mov rdi, qword [rsp + 0xf0]
mov word [rdi + r12*2], 0x20
lea rax, [r12 + r12 + 2]
sar rax, 1
mov r14d, eax
cmp eax, esi
jl 0x14003f712
test r13b, r13b
je 0x14003f787
test esi, esi
js 0x14003f77c
cmp esi, dword [rdi - 0xc]
jg 0x14003f77c
mov dword [rdi - 0x10], esi
mov word [rdi + rsi*2], 0
jmp 0x14003f787
mov ecx, 0x80070057
call fcn.140001000
int3
mov rdx, rdi
mov rcx, qword [r15 + 0x668]
call fcn.14000f3b0
lea rdx, [0x1400a5440]
mov rcx, qword [r15 + 0x668]
call fcn.14000f3b0
jmp 0x14003f819
mov r12, qword [rsp + 0xd0]
test r12, r12
je 0x14003f7fe
cmp dword [0x1400e9130], 0
je 0x14003f7fe
mov rcx, qword [rsp + 0xc0]
call fcn.14006e388
mov rsi, rax
xor edx, edx
mov rcx, rax
call fcn.140074ae0
mov r9d, 0x30
mov r8, rbx
mov rdx, rdi
mov rcx, r12
call fcn.14006c770
mov edx, 1
mov rcx, rsi
call fcn.140074ae0
jmp 0x14003f819
mov r9d, 0x30
mov r8, rbx
mov rdx, rdi
mov rcx, qword [rsp + 0xc0]
call qword [sym.imp.USER32.dll_MessageBoxW]
nop
lea rdx, [rbx - 0x18]
or r13, 0xffffffffffffffff
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14003f83a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xf0]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14003f85f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14003f884
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
add eax, 0xffffffff
test eax, eax
jg 0x14003f8a6
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
add eax, 0xffffffff
test eax, eax
jg 0x14003f8c8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x14003f8e9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 2
jmp 0x140040ebe
mov r8d, 1
lea rdx, [rsp + 0x220]
mov rcx, qword [r15 + 0x18]
call fcn.140015bf0
test eax, eax
jne 0x14003f9c7
cmp dword [rsp + 0x64], eax
je 0x14003f923
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x14003f937
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rcx, qword [rsp + 0x70]
call sub.WINSPOOL.DRV_ClosePrinter
nop
lea rdx, [rbx - 0x18]
or r13, 0xffffffffffffffff
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14003f958
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
add eax, 0xffffffff
test eax, eax
jg 0x14003f97a
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
add eax, 0xffffffff
test eax, eax
jg 0x14003f99c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x14003f9bd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
jmp 0x140040ebe
xor eax, eax
or r13, 0xffffffffffffffff
mov rcx, r13
lea rdi, [rsp + 0x2a0]
repne scasw ax, word [rdi]
not rcx
cmp rcx, 1
je 0x14003fac6
test byte [rsp + 0x68], 8
je 0x14003fac6
lea rdx, [rsp + 0x2a0]
xor ecx, ecx
call fcn.140021df0
test eax, eax
jne 0x14003fac6
cmp dword [rsp + 0x64], eax
je 0x14003fa20
mov rcx, qword [rsp + 0xb8]
call qword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x14003fa33
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rcx, qword [rsp + 0x70]
call sub.WINSPOOL.DRV_ClosePrinter
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop
lea rdx, [rbx - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14003fa57
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
add eax, 0xffffffff
test eax, eax
jg 0x14003fa79
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
add eax, 0xffffffff
test eax, eax
jg 0x14003fa9b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x14003fabc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
jmp 0x140040ebe
xor eax, eax
mov dword [rsp + 0x218], eax
mov byte [rsp + 0x21c], al
lea rdx, [rsp + 0x218]
mov rdi, qword [rsp + 0x90]
mov rcx, rdi
call fcn.140015140
mov dword [rsp + 0x68], eax
xor edx, edx
mov r8d, 0x820
lea rcx, [rsp + 0xac0]
call fcn.140080d50
mov dword [rsp + 0xa8], r14d
lea r9, [rsp + 0xa8]
mov r8d, 0x410
lea rdx, [rsp + 0xac0]
mov rcx, rdi
call fcn.140015570
xor r9d, r9d
mov r8, rsi
lea edx, [r9 + 5]
mov rdi, qword [rsp + 0xd0]
mov rcx, rdi
call fcn.140023f30
mov r8d, dword [rsp + 0x1bb8]
mov edx, dword [rsp + 0x1bb0]
mov rcx, rdi
call fcn.140023fd0
cmp dword [rsp + 0x64], 0
jne 0x14003fcd8
mov rax, qword [rsp + 0x80]
mov edi, dword [rax + 0xba8]
cmp dword [rsp + 0x60], 0xa
jne 0x14003fbf1
mov rcx, qword [rsp + 0x70]
call fcn.14002d5b0
mov edi, eax
mov rcx, qword [rsp + 0x70]
call sub.WINSPOOL.DRV_ClosePrinter
test edi, edi
jne 0x14003fbcf
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0xac0]
xor r8d, r8d
mov rsi, qword [rsp + 0x90]
mov rdx, rsi
mov rcx, qword [rsp + 0x80]
add rcx, 0xb90
call fcn.140060ba0
jmp 0x14003fc30
lea rdx, [rsp + 0xac0]
mov rsi, qword [rsp + 0x90]
mov rcx, rsi
call fcn.140023060
mov rcx, rsi
call fcn.140014fe0
jmp 0x14003fc30
mov rcx, qword [rsp + 0x70]
call sub.WINSPOOL.DRV_ClosePrinter
mov edx, dword [rsp + 0xa8]
mov dword [rsp + 0x20], edx
lea r9, [rsp + 0xac0]
mov r8d, edi
mov rsi, qword [rsp + 0x90]
mov rdx, rsi
mov rcx, qword [rsp + 0x80]
add rcx, 0xb90
call fcn.140060ba0
cmp dword [rsp + 0xa0], 0
je 0x14003fc42
test eax, eax
je 0x14003fe43
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GlobalFree]
nop
lea rdx, [rbx - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14003fc69
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
add eax, 0xffffffff
test eax, eax
jg 0x14003fc8b
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
add eax, 0xffffffff
test eax, eax
jg 0x14003fcad
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x14003fcce
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
jmp 0x140040ebe
mov dword [rsp + 0x20], r14d
xor r9d, r9d
mov rax, qword [rsp + 0x80]
mov r8d, dword [rax + 0xba8]
mov rsi, qword [rsp + 0x90]
mov rdx, rsi
lea rcx, [rax + 0xb90]
call fcn.140060ba0
test eax, eax
je 0x14003fe4b
mov rcx, qword [rsp + 0xb8]
call qword [sym.imp.KERNEL32.dll_GlobalFree]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x14003fdb7
lea rdx, [rbx - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14003fd48
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
add eax, 0xffffffff
test eax, eax
jg 0x14003fd6a
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
add eax, 0xffffffff
test eax, eax
jg 0x14003fd8c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x14003fdad
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 4
jmp 0x140040ebe
lea rdx, [rbx - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14003fdd4
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
add eax, 0xffffffff
test eax, eax
jg 0x14003fdf6
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
add eax, 0xffffffff
test eax, eax
jg 0x14003fe18
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x14003fe39
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
jmp 0x140040ebe
mov rdi, qword [rsp + 0xd0]
xor r9d, r9d
mov r8, r12
lea edx, [r9 + 5]
mov rcx, rdi
call fcn.140023f30
mov r12d, dword [rsp + 0x60]
cmp r12d, 2
je 0x14003fe6e
cmp r12d, 3
jne 0x14003fede
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x1e8]
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x14003fede
nop
nop
lea rcx, [rsp + 0x1e8]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x1e8]
call qword [sym.imp.USER32.dll_DispatchMessageW]
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x1e8]
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x14003fea0
call fcn.1400696cc
mov rdx, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x14003fefe
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
call fcn.1400696cc
mov rdx, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x14003ff30
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x98], rax
call fcn.1400696cc
mov rdx, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x14003ff65
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xe0], rax
call fcn.1400696cc
mov rdx, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x14003ff9a
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xd8], rax
mov rdx, qword [r15 + 8]
lea rcx, [rsp + 0xb0]
call fcn.140004ec0
nop
mov r8d, 5
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0xb0]
call fcn.140003710
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rdi, qword [rsp + 0xb0]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x140040046
cmp dword [rdi + 0x10], 0
jl 0x140040034
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140040034
call fcn.1400031e0
mov rbx, rax
mov ecx, r13d
lock xadd dword [rdi + 0x10], ecx
add ecx, 0xffffffff
test ecx, ecx
jg 0x140040026
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 + 0xb0], rax
jmp 0x140040046
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0xb0]
call fcn.140003c40
nop
mov rdx, qword [rsp + 0x1a0]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004006a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [r15 + 8]
lea rcx, [rsp + 0x100]
call fcn.140004ec0
nop
call fcn.1400696cc
mov rdx, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x14004009c
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x140], rax
mov rdi, qword [rsp + 0x100]
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi - 8], 0
jl 0x1400400dd
cmp rax, qword [rdi - 0x18]
jne 0x1400400dd
lea rbx, [rdi - 0x18]
lock add dword [rdi - 8], 1
jmp 0x14004011b
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi - 0x10]
call qword [rax]
mov rbx, rax
test rax, rax
jne 0x1400400f9
call fcn.1400019f0
int3
mov eax, dword [rdi - 0x10]
mov dword [rbx + 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, [rbx + 0x18]
call fcn.140080540
lea rax, [rbx + 0x18]
mov qword [rsp + 0x178], rax
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x178]
call fcn.140027420
cmp r12d, 2
je 0x1400404e4
cmp r12d, 3
je 0x1400404e4
mov rdx, rsi
lea rcx, [rsp + 0x108]
call fcn.140004ec0
nop
mov r8d, 2
lea rdx, [0x1400a7c88]
mov rcx, rsi
call fcn.140085210
test eax, eax
jne 0x1400403dc
mov rax, qword [rsp + 0x108]
mov r8d, dword [rax - 0x10]
add r8d, 0xffffffff
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x108]
call fcn.140003710
nop
mov rsi, qword [rsp + 0x80]
mov r8, rax
lea rdx, [rsi + 0x5d8]
lea rcx, [rsp + 0x170]
call fcn.140003ec0
nop
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.1400047a0
nop
mov rdx, qword [rsp + 0x170]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400401f7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x158]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004021b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [rsi + 0x5d8]
lea rcx, [rsp + 0x98]
call fcn.1400047a0
mov rdi, qword [rsp + 0x78]
mov rdx, rdi
mov rcx, 0xffffffff80000001
call fcn.1400222b0
mov rdx, rdi
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov dx, 0x5c
mov rcx, rdi
call fcn.140080890
test rax, rax
jne 0x140040269
mov eax, r13d
jmp 0x14004026f
sub rax, rdi
sar rax, 1
mov r8d, eax
lea rdx, [rsp + 0x138]
lea rcx, [rsp + 0x78]
call fcn.1400038a0
nop
mov rdi, qword [rsp + 0x138]
mov rdx, rdi
mov rcx, 0xffffffff80000001
call fcn.1400223e0
cmp eax, 1
jne 0x1400402b1
mov rdx, rdi
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rdi, qword [rsp + 0x108]
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi - 8], 0
jl 0x1400402dd
cmp rax, qword [rdi - 0x18]
jne 0x1400402dd
lea rbx, [rdi - 0x18]
lock add dword [rdi - 8], 1
jmp 0x14004031b
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi - 0x10]
call qword [rax]
mov rbx, rax
test rax, rax
jne 0x1400402f9
call fcn.1400019f0
int3
mov eax, dword [rdi - 0x10]
mov dword [rbx + 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, [rbx + 0x18]
call fcn.140080540
lea rax, [rbx + 0x18]
mov qword [rsp + 0x120], rax
lea r8, [0x1400a7ca0]
lea rdx, [0x1400a3ff4]
lea rcx, [rsp + 0x120]
call fcn.1400140f0
mov rbx, qword [rsp + 0x120]
mov r9, rbx
mov r8, qword [rsi + 0x5d8]
lea rdx, [0x1400a3e08]
lea rcx, [rsp + 0x78]
call fcn.1400040b0
mov rdi, qword [rsp + 0x78]
mov rdx, rdi
mov rcx, 0xffffffff80000001
call fcn.1400222b0
mov rdx, rdi
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
nop
lea rdx, [rbx - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400403a7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x138]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004049e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rsi, qword [rsp + 0x90]
jmp 0x1400404a6
mov rdx, rsi
lea rcx, [rsp + 0x188]
call fcn.140004ec0
nop
mov rdi, qword [rsp + 0x80]
lea rdx, [rdi + 0x5d0]
mov r8, rax
lea rcx, [rsp + 0x198]
call fcn.140003ec0
nop
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.1400047a0
nop
mov rdx, qword [rsp + 0x198]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040440
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x188]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040464
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [rdi + 0x5d8]
lea rcx, [rsp + 0x98]
call fcn.1400047a0
mov rdi, qword [rsp + 0x78]
mov rdx, rdi
mov rcx, 0xffffffff80000001
call fcn.1400222b0
mov rdx, rdi
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
jmp 0x1400404a6
mov rsi, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x108]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400404d7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x98]
jmp 0x140040768
mov rdi, qword [rsp + 0x98]
jmp 0x140040768
mov r12d, dword [rsp + 0x68]
cmp r12d, 1
jne 0x1400404fc
lea rcx, [rsp + 0x218]
call fcn.140015340
lea rdx, [0x1400a8300]
mov rcx, qword [rsp + 0xb0]
call fcn.1400807e0
test eax, eax
je 0x140040562
lea rdx, [0x1400a8300]
mov rcx, qword [rsp + 0xb0]
call fcn.1400807e0
test eax, eax
je 0x14004054c
mov rdi, qword [rsp + 0x80]
mov rdx, qword [rdi + 0x580]
lea rcx, [rsp + 0x220]
call fcn.14002cc30
test eax, eax
jns 0x14004056a
mov rcx, qword [r15 + 8]
call fcn.14002a160
mov rdi, qword [rsp + 0x98]
jmp 0x14004072f
mov rdi, qword [rsp + 0x80]
mov rdx, rsi
lea rcx, [rsp + 0x180]
call fcn.140004ec0
nop
lea rdx, [rdi + 0x5d0]
mov r8, rax
lea rcx, [rsp + 0x168]
call fcn.140003ec0
nop
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.1400047a0
nop
mov rdx, qword [rsp + 0x168]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400405c6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x180]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400405ea
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [rdi + 0x5d8]
lea rcx, [rsp + 0x98]
call fcn.1400047a0
lea rdx, [rdi + 0x5f0]
lea rcx, [rsp + 0xe0]
call fcn.1400047a0
lea rdx, [rdi + 0x5e8]
lea rcx, [rsp + 0xd8]
call fcn.1400047a0
mov rsi, qword [rsp + 0x78]
mov rdx, rsi
mov rcx, 0xffffffff80000002
call fcn.1400222b0
mov rdx, rsi
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rdi, qword [rsp + 0x98]
mov rdx, rdi
mov rcx, 0xffffffff80000002
call fcn.1400223e0
cmp eax, 1
je 0x140040674
call fcn.14002bb20
test eax, eax
je 0x140040684
jmp 0x140040708
mov rdx, rdi
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rbx, qword [rsp + 0xe0]
mov rdx, rbx
mov rcx, 0xffffffff80000002
call fcn.1400223e0
cmp eax, 1
jne 0x1400406b0
mov rdx, rbx
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rbx, qword [rsp + 0xd8]
mov rdx, rbx
mov rcx, 0xffffffff80000002
call fcn.1400223e0
cmp eax, 1
jne 0x1400406dc
mov rdx, rbx
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, str.SOFTWARECANON_
mov rcx, 0xffffffff80000002
call fcn.1400223e0
cmp eax, 1
jne 0x140040708
lea rdx, str.SOFTWARECANON_
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rdx, rsi
mov rcx, 0xffffffff80000001
call fcn.1400222b0
mov rdx, rsi
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rsi, qword [rsp + 0x90]
test r12d, r12d
je 0x140040763
lea rdx, [rsp + 0x218]
lea rcx, str.EnumLPTENUM
call fcn.140023af0
lea rdx, [rsp + 0x218]
lea rcx, str.EnumUSBPRINT
call fcn.140023af0
mov r12d, dword [rsp + 0x60]
jmp 0x140040768
mov r12d, dword [rsp + 0x60]
mov rdx, rdi
mov rcx, 0xffffffff80000001
call fcn.1400223e0
cmp eax, 1
jne 0x1400407b8
mov rdx, rdi
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, str.SOFTWARECANON_
mov rcx, 0xffffffff80000001
call fcn.1400223e0
cmp eax, 1
jne 0x1400407b8
lea rdx, str.SOFTWARECANON_
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rdx, rsi
mov rcx, qword [r15 + 8]
call fcn.140021fe0
test eax, eax
jne 0x1400408a7
lea r9d, [rax + 0x37]
mov r8, qword [rsp + 0xc8]
lea edx, [rax + 5]
mov rbx, qword [rsp + 0xd0]
mov rcx, rbx
call fcn.140023f30
mov rdi, qword [rsp + 0x80]
cmp dword [rdi + 0x2e0], 0xd2
jne 0x140040807
mov rcx, r15
call fcn.140031820
call fcn.140025210
mov ecx, 1
test eax, eax
cmove ecx, r14d
mov dword [rsp + 0x60], ecx
mov dword [rsp + 0x28], 0x50
mov dword [rsp + 0x20], 5
mov r9, rbx
mov r8d, dword [rsp + 0xa8]
lea rdx, [rsp + 0xac0]
mov rcx, r15
call fcn.14003d320
mov esi, eax
mov dword [rsp + 0xa0], eax
test eax, eax
je 0x1400408c9
cmp r12d, 0xa
je 0x1400408bc
call fcn.140032b40
mov r14d, eax
mov dword [rsp + 0xe8], eax
mov r12d, dword [rsp + 0x60]
jmp 0x1400408d4
mov rdi, qword [rsp + 0x80]
mov esi, 1
mov r12d, esi
mov r14d, esi
jmp 0x1400408d4
mov r12d, dword [rsp + 0x60]
mov r14d, 1
jmp 0x1400408d4
mov r12d, dword [rsp + 0x60]
mov r14d, 1
cmp dword [rsp + 0x64], 0
je 0x1400408eb
mov rcx, qword [rsp + 0xb8]
call qword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x1400408f4
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [rdi + 0xbd4], 0
je 0x140040907
call fcn.140018450
mov r15d, eax
jmp 0x14004090f
mov r15d, dword [rsp + 0xa4]
cmp dword [rsp + 0x110], 1
jne 0x14004093f
lea rcx, [rsp + 0x12e0]
call fcn.140022c30
cmp eax, 1
jne 0x14004093f
lea rcx, [rdi + 0xb90]
lea rdx, [rsp + 0x12e0]
call fcn.1400609f0
mov rdi, qword [rsp + 0x140]
add rdi, 0xffffffffffffffe8
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi + 0x10], 0
jl 0x14004096c
cmp rax, qword [rdi]
jne 0x14004096c
mov rbx, rdi
lock add dword [rdi + 0x10], 1
jmp 0x1400409ab
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi + 8]
call qword [rax]
mov rbx, rax
test rax, rax
jne 0x140040988
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
lea rax, [rbx + 0x18]
mov qword [rsp + 0x160], rax
lea rcx, [rsp + 0x160]
call fcn.140025ad0
test esi, esi
je 0x140040d16
test r15d, r15d
je 0x140040d16
test r12d, r12d
je 0x140040d16
test r14d, r14d
je 0x140040d16
cmp dword [rsp + 0x88], 0
jne 0x140040b8e
mov rax, qword [rsp + 0x118]
mov dword [rax], 2
mov eax, r13d
lock xadd dword [rdi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040a1f
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x100]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040a44
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040a69
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xd8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040a8e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xe0]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040ab3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040ad8
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
add eax, 0xffffffff
test eax, eax
jg 0x140040afa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040b1f
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
add eax, 0xffffffff
test eax, eax
jg 0x140040b41
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
add eax, 0xffffffff
test eax, eax
jg 0x140040b63
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x140040b84
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 5
jmp 0x140040ebe
mov eax, r13d
lock xadd dword [rdi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040baa
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x100]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040bcf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040bf4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xd8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040c19
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xe0]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040c3e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040c63
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
add eax, 0xffffffff
test eax, eax
jg 0x140040c85
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040caa
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
add eax, 0xffffffff
test eax, eax
jg 0x140040ccc
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
add eax, 0xffffffff
test eax, eax
jg 0x140040cee
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x140040d0f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x140040ebe
mov rax, qword [rsp + 0x150]
mov dword [rax], esi
cmp dword [rsp + 0x88], 0
jne 0x140040d38
mov rax, qword [rsp + 0x118]
mov dword [rax], 1
mov eax, r13d
lock xadd dword [rdi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040d54
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x100]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040d79
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040d9e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xd8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040dc3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xe0]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040de8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040e0d
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
add eax, 0xffffffff
test eax, eax
jg 0x140040e2f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040e54
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
add eax, 0xffffffff
test eax, eax
jg 0x140040e76
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
add eax, 0xffffffff
test eax, eax
jg 0x140040e98
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x140040eb9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 5
mov rcx, qword [rsp + 0x1b40]
xor rcx, rsp
call fcn.140081050
add rsp, 0x1b50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret