Function at 0x14004ba60
Capabilities:
Check if file exists
Get common file path

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xfd0
mov qword [rsp + 0x240], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov rax, qword [0x14026fdb0]
xor rax, rsp
mov qword [rsp + 0xfc0], rax
mov r15, rcx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x168], rcx
xor r8d, r8d
lea rdx, str.CUNINSTALLERDlg::DeleteThread
lea rcx, [r11 - 0xdd8]
call fcn.140001190
nop
call fcn.140056384
mov rdx, rax
xor r13d, r13d
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x14004bae3
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x1b0], rax
call fcn.140056384
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x14004bb18
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x70], rbx
call fcn.140056384
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x14004bb4a
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x1f0], rax
call fcn.140059f20
mov r12, qword [rax + 8]
mov qword [rsp + 0xd0], r12
xor eax, eax
lea rdi, [0x140222714]
mov rsi, qword [r12 + 0x1c8]
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x14004bb90
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
movzx eax, al
mov dword [rsp + 0xe8], eax
mov rax, qword [r12 + 0x260]
mov eax, dword [rax + 0x88]
mov dword [rsp + 0x100], eax
mov dword [rsp + 0x78], r13d
call fcn.1400166e0
movsxd r14, eax
xor r8d, r8d
xor edx, edx
mov rcx, r15
call fcn.140047fc0
mov dword [r12 + 0x2d8], r13d
call fcn.140046d60
mov ecx, 2
test eax, eax
cmovne ecx, r13d
mov dword [rsp + 0xa8], ecx
call fcn.140059f20
mov rcx, qword [rax + 8]
call fcn.14005a4ac
nop
mov esi, 1
mov dword [r12 + 0xa84], esi
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
mov rcx, qword [r15 + 0x158]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdi, rax
mov qword [rsp + 0xe0], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1032
mov rcx, qword [r15 + 0x158]
call qword [sym.imp.USER32.dll_SendMessageW]
mov qword [rsp + 0x120], rax
mov dword [rsp + 0x68], esi
movsxd rcx, edi
mov eax, 4
mul rcx
mov r12, 0xffffffffffffffff
cmovo rax, r12
mov rcx, rax
call fcn.140056054
mov qword [rsp + 0x118], rax
test edi, edi
jle 0x14004d815
mov edi, r13d
mov rsi, r13
mov rax, qword [rsp + 0xe0]
test eax, eax
je 0x14004bcd0
movsxd r8, edi
mov edx, 0x102c
mov r9d, 2
mov rcx, qword [r15 + 0x158]
call qword [sym.imp.USER32.dll_SendMessageW]
mov ecx, r13d
cmp eax, 2
sete cl
mov rax, qword [rsp + 0x118]
mov dword [rax + rsi*4], ecx
inc edi
inc rsi
mov rax, qword [rsp + 0xe0]
cmp edi, eax
jb 0x14004bc90
mov esi, r13d
mov dword [rsp + 0x50], r13d
mov qword [rsp + 0x108], r13
mov qword [rsp + 0x1e8], r14
test eax, eax
je 0x14004d7f7
lea rdi, [0x1402209ac]
call fcn.140056384
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
je 0x14004d7cc
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
test rdi, 0xffffffffffff0000
jne 0x14004bd49
movzx edi, di
mov ecx, edi
call fcn.140056158
test rax, rax
je 0x14004bdaf
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140005730
jmp 0x14004bdaf
mov rax, qword [rsp + 0x58]
lea rdx, [rax - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14004bdaf
cmp dword [rdx + 0x10], 0
jge 0x14004bd81
cmp dword [rax - 0xc], 0
jl 0x14004bd76
mov dword [rax - 0x10], r13d
mov rax, qword [rsp + 0x58]
mov word [rax], r13w
jmp 0x14004bdaf
mov ecx, 0x80070057
call fcn.140004550
int3
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004bd98
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
mov rbx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x108]
cmp dword [rax + rcx*4], 1
jne 0x14004d760
mov edx, esi
lea rcx, [r15 + 0x118]
call fcn.140066210
mov qword [rsp + 0xf0], rax
mov r14, qword [rax + 8]
call fcn.140056384
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
je 0x14004d755
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rsi, [rax + 0x18]
mov qword [rsp + 0x88], rsi
test r14, r14
je 0x14004be54
test r14, 0xffffffffffff0000
jne 0x14004be41
movzx edi, r14w
mov ecx, edi
call fcn.140056158
test rax, rax
je 0x14004be72
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.140005730
jmp 0x14004be6a
xor eax, eax
mov rcx, r12
mov rdi, r14
repne scasw ax, word [rdi]
not rcx
dec rcx
jmp 0x14004be57
mov ecx, r13d
mov r8d, ecx
mov rdx, r14
lea rcx, [rsp + 0x88]
call fcn.1400059f0
mov rsi, qword [rsp + 0x88]
dec dword [rsp + 0x120]
mov r14, qword [rsp + 0xd0]
mov rcx, qword [r14 + 0x260]
cmp dword [rcx + 0x88], 0
je 0x14004c0b4
lea rdx, [rsp + 0x1d8]
call fcn.1400166a0
nop
mov rdx, qword [rax]
mov qword [rsp + 0x340], 7
mov qword [rsp + 0x338], r13
mov word [rsp + 0x328], r13w
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0x328]
call fcn.140003200
nop
lea rdx, [rsp + 0x1f8]
mov rcx, qword [r14 + 0x260]
call fcn.1400203f0
nop
mov rdx, qword [rax]
mov qword [rsp + 0x368], 7
mov qword [rsp + 0x360], r13
mov word [rsp + 0x350], r13w
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0x350]
call fcn.140003200
nop
mov qword [rsp + 0x318], 7
mov qword [rsp + 0x310], r13
mov word [rsp + 0x300], r13w
xor eax, eax
mov rcx, r12
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, rsi
lea rcx, [rsp + 0x300]
call fcn.140003200
nop
lea r8, [rsp + 0x328]
lea rdx, [rsp + 0x350]
lea rcx, [rsp + 0x300]
call fcn.140027470
test eax, eax
sete dil
cmp qword [rsp + 0x318], 8
jb 0x14004bfb3
mov rcx, qword [rsp + 0x300]
call fcn.14005605c
mov qword [rsp + 0x318], 7
mov qword [rsp + 0x310], r13
mov word [rsp + 0x300], r13w
cmp qword [rsp + 0x368], 8
jb 0x14004bfe8
mov rcx, qword [rsp + 0x350]
call fcn.14005605c
mov qword [rsp + 0x368], 7
mov qword [rsp + 0x360], r13
mov word [rsp + 0x350], r13w
mov rdx, qword [rsp + 0x1f8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004c029
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0x340], 8
jb 0x14004c041
mov rcx, qword [rsp + 0x328]
call fcn.14005605c
mov qword [rsp + 0x340], 7
mov qword [rsp + 0x338], r13
mov word [rsp + 0x328], r13w
mov rdx, qword [rsp + 0x1d8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004c081
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test dil, dil
je 0x14004c0af
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004c0aa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x14004d782
mov rbx, qword [rsp + 0x70]
mov r9d, 2
mov esi, dword [rsp + 0x50]
mov r8d, esi
lea rdx, [rsp + 0x1d0]
lea rcx, [r15 + 0x118]
call fcn.140067064
nop
mov r15, qword [rax]
lea rcx, [r15 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x14004c233
cmp dword [rdi + 0x10], 0
jl 0x14004c123
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14004c123
call fcn.140006db0
mov rsi, rax
mov ecx, r12d
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14004c11a
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsi + 0x18]
jmp 0x14004c22a
movsxd rsi, dword [r15 - 0x10]
test esi, esi
jne 0x14004c188
mov rsi, qword [rdi]
cmp dword [rdi + 8], 0
je 0x14004c22f
cmp dword [rdi + 0x10], 0
jge 0x14004c15c
cmp dword [rbx - 0xc], 0
jl 0x14004c151
mov dword [rbx - 0x10], r13d
mov word [rbx], r13w
jmp 0x14004c22f
mov ecx, 0x80070057
call fcn.140004550
int3
mov eax, r12d
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x14004c176
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
jmp 0x14004c22a
test r15, r15
je 0x14004c21f
mov eax, dword [rbx - 0x10]
mov dword [rsp + 0xf8], eax
mov r14, r15
sub r14, rbx
sar r14, 1
test esi, esi
js 0x14004c214
mov ecx, 1
sub ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, esi
or eax, ecx
jge 0x14004c1ca
mov edx, esi
lea rcx, [rsp + 0x70]
call fcn.140005ae0
mov rbx, qword [rsp + 0x70]
mov eax, dword [rsp + 0xf8]
lea rdi, [rsi + rsi]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
mov r9, rdi
add rdx, rdx
cmp r14, rax
ja 0x14004c1f2
lea r8, [rbx + r14*2]
call fcn.140199418
jmp 0x14004c1fa
mov r8, r15
call fcn.140199918
cmp esi, dword [rbx - 0xc]
jg 0x14004c209
mov dword [rbx - 0x10], esi
mov word [rdi + rbx], r13w
jmp 0x14004c22f
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
int3
mov qword [rsp + 0x70], rax
mov esi, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x1d0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004c256
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r15d, 1
mov r9d, r15d
mov r8d, esi
lea rdx, [rsp + 0x1e0]
mov rcx, qword [rsp + 0x60]
add rcx, 0x118
call fcn.140067064
nop
mov r14, qword [rax]
lea rdx, [r14 - 0x18]
mov rcx, qword [rsp + 0x58]
lea rdi, [rcx - 0x18]
cmp rdx, rdi
je 0x14004c3e2
cmp dword [rdi + 0x10], 0
jl 0x14004c2d1
mov rax, qword [rdi]
cmp qword [rdx], rax
jne 0x14004c2d1
mov rcx, rdx
call fcn.140006db0
mov rsi, rax
mov ecx, r12d
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14004c2c8
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsi + 0x18]
jmp 0x14004c3dd
movsxd rsi, dword [r14 - 0x10]
test esi, esi
jne 0x14004c33b
mov rsi, qword [rdi]
cmp dword [rdi + 8], 0
je 0x14004c3e2
cmp dword [rdi + 0x10], 0
jge 0x14004c30f
cmp dword [rcx - 0xc], 0
jl 0x14004c304
mov dword [rcx - 0x10], r13d
mov rax, qword [rsp + 0x58]
mov word [rax], r13w
jmp 0x14004c3e2
mov ecx, 0x80070057
call fcn.140004550
int3
mov eax, r12d
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x14004c329
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
jmp 0x14004c3dd
test r14, r14
je 0x14004c3d2
mov r15d, dword [rcx - 0x10]
mov rbx, r14
sub rbx, rcx
sar rbx, 1
test esi, esi
js 0x14004c3c7
mov edx, 1
sub edx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, esi
or eax, edx
jge 0x14004c377
mov edx, esi
lea rcx, [rsp + 0x58]
call fcn.140005ae0
mov rcx, qword [rsp + 0x58]
lea rdi, [rsi + rsi]
movsxd rdx, dword [rcx - 0xc]
mov r9, rdi
add rdx, rdx
cmp rbx, r15
ja 0x14004c395
lea r8, [rcx + rbx*2]
call fcn.140199418
jmp 0x14004c39d
mov r8, r14
call fcn.140199918
mov rax, qword [rsp + 0x58]
cmp esi, dword [rax - 0xc]
jg 0x14004c3bc
mov dword [rax - 0x10], esi
mov rax, qword [rsp + 0x58]
mov word [rdi + rax], r13w
mov r15d, 1
jmp 0x14004c3e2
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
int3
mov qword [rsp + 0x58], rax
mov rdx, qword [rsp + 0x1e0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004c405
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x70]
mov edx, dword [rdi - 0x10]
test edx, edx
js 0x14004d74a
mov ecx, r15d
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, edx
or eax, ecx
jge 0x14004c433
lea rcx, [rsp + 0x70]
call fcn.140005ae0
mov rdi, qword [rsp + 0x70]
movsxd rdx, dword [rdi - 0xc]
mov rcx, rdi
call fcn.140199d34
test eax, eax
js 0x14004d73f
cmp eax, dword [rdi - 0xc]
jg 0x14004d73f
mov dword [rdi - 0x10], eax
cdqe
mov word [rdi + rax*2], r13w
call fcn.140056384
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
je 0x14004d734
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x90], rax
call fcn.140056384
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
je 0x14004d729
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rsi, [rax + 0x18]
mov qword [rsp + 0xc8], rsi
call fcn.140056384
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
je 0x14004d71e
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x80], rax
xor edx, edx
mov r8d, 0x410
lea rcx, [rsp + 0x590]
call fcn.14019d7c0
mov ecx, 3
call fcn.140056158
test rax, rax
je 0x14004c51d
mov r8d, 3
mov rdx, rax
lea rcx, [rsp + 0xc8]
call fcn.140005730
mov rsi, qword [rsp + 0xc8]
mov r9d, 0x208
lea r8, [rsp + 0x590]
mov edx, 4
mov r14, qword [rsp + 0xf0]
mov rcx, qword [r14 + 8]
call fcn.140023ca0
cmp eax, 1
jne 0x14004c58f
lea ecx, [rax + 0x3c]
call fcn.140056158
test rax, rax
je 0x14004c569
mov r8d, 0x3d
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.140005730
mov r9, qword [r14 + 0x10]
lea r8, [rsp + 0x590]
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x90]
call fcn.14000bfe0
jmp 0x14004c79a
mov rbx, qword [r14 + 8]
xor r8d, r8d
lea rdx, str.Tool_CheckPrinterInfo
lea rcx, [rsp + 0x180]
call fcn.140001190
nop
mov dword [rsp + 0x30], 0x208
lea rax, [rsp + 0x590]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 3
mov r9, rbx
lea r8, str.lpszPrinter___s__nMode___d__lpszShareName___s__dwShareName___08x
mov edx, r15d
lea rcx, [rsp + 0x180]
call fcn.140001370
mov r15d, r13d
call fcn.140059f20
mov rax, qword [rax + 8]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x158], r13
test rbx, rbx
je 0x14004c729
mov rax, qword [rax + 0x7a0]
lea r8, [rsp + 0x158]
xor edx, edx
mov rcx, rbx
call qword [rax + 0x80]
test eax, eax
jne 0x14004c729
mov rbx, qword [rsp + 0x158]
lea r8d, [rax + 2]
lea rdx, [0x140220450]
mov rcx, qword [rbx + 8]
call fcn.140199c9c
mov r14d, r13d
test eax, eax
mov eax, 1
cmove r14d, eax
lea r8d, [rax + 1]
lea rdx, [0x140220450]
mov rcx, qword [rbx + 0x18]
call fcn.140199c9c
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x14004c68d
test byte [rbx + 0x68], 8
je 0x14004c68d
test r14d, r14d
jne 0x14004c68d
lea r15d, [r14 + 1]
lea rcx, [rsp + 0x590]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov rcx, qword [rsp + 0x158]
test rcx, rcx
je 0x14004c6ac
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax + 0x7a0]
call qword [rax + 0x10]
mov r9d, r15d
lea r8, str.return___08x
mov edx, 2
lea rcx, [rsp + 0x180]
call fcn.140001370
nop
lea rcx, [rsp + 0x180]
call fcn.140001320
cmp r15d, 1
jne 0x14004c754
lea ecx, [r15 + 0xc]
call fcn.140056158
test rax, rax
je 0x14004c6fe
lea r8d, [r15 + 0xc]
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.140005730
lea r9, [rsp + 0x590]
mov r14, qword [rsp + 0xf0]
mov r8, qword [r14 + 0x10]
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x90]
call fcn.14000bfe0
jmp 0x14004c79a
xor r9d, r9d
lea r8, str.return___08x
lea edx, [r9 + 2]
lea rcx, [rsp + 0x180]
call fcn.140001370
nop
lea rcx, [rsp + 0x180]
call fcn.140001320
jmp 0x14004c75c
mov r14, qword [rsp + 0xf0]
mov ecx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
call fcn.140056158
test rax, rax
je 0x14004c781
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.140005730
mov r8, qword [r14 + 0x10]
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x90]
call fcn.14000bfe0
xor r8d, r8d
lea rdx, str.CUNINSTALLERDlg::beSilent
lea rcx, [rsp + 0x200]
call fcn.140001190
nop
call fcn.140059f20
mov rbx, qword [rax + 8]
mov rax, qword [rbx + 0x260]
mov r9d, dword [rax + 0x4c]
lea r8, str.return___08x
mov edx, 2
lea rcx, [rsp + 0x200]
call fcn.140001370
mov r11, qword [rbx + 0x260]
mov ebx, dword [r11 + 0x4c]
lea rcx, [rsp + 0x200]
call fcn.140001320
test ebx, ebx
jne 0x14004ca8f
xor r8d, r8d
lea rdx, str.CUNINSTALLERDlg::beSilent
lea rcx, [rsp + 0x210]
call fcn.140001190
nop
call fcn.140059f20
mov rbx, qword [rax + 8]
mov rax, qword [rbx + 0x260]
mov r9d, dword [rax + 0x4c]
lea r8, str.return___08x
mov edx, 2
lea rcx, [rsp + 0x210]
call fcn.140001370
mov r11, qword [rbx + 0x260]
mov ebx, dword [r11 + 0x4c]
lea rcx, [rsp + 0x210]
call fcn.140001320
test ebx, ebx
je 0x14004c97a
call fcn.140059f20
mov rbx, qword [rax + 8]
mov rdx, rsi
mov rcx, qword [rbx + 0x268]
call fcn.140012770
call fcn.140056384
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
je 0x14004c96f
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x110], rax
mov rdx, qword [rsp + 0x90]
test rdx, rdx
je 0x14004c8f4
test rdx, 0xffffffffffff0000
jne 0x14004c8e1
movzx edi, dx
mov ecx, edi
call fcn.140056158
test rax, rax
je 0x14004c908
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x110]
call fcn.140005730
jmp 0x14004c908
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
dec rcx
jmp 0x14004c8f7
mov ecx, r13d
mov r8d, ecx
lea rcx, [rsp + 0x110]
call fcn.1400059f0
nop
mov edx, 0xa
lea r8d, [rdx + 0x16]
lea rcx, [rsp + 0x110]
call fcn.140014570
mov rdi, qword [rsp + 0x110]
mov rdx, rdi
mov rcx, qword [rbx + 0x268]
call fcn.140012770
lea rdx, [0x14021dbc0]
mov rcx, qword [rbx + 0x268]
call fcn.140012770
mov esi, 6
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004c968
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x70]
jmp 0x14004c9b0
mov ecx, 0x80004005
call fcn.140004550
int3
call fcn.14006d0c8
test rax, rax
je 0x14004c992
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xe8]
jmp 0x14004c995
mov rax, r13
mov r9d, 0x34
mov r8, rsi
mov rdx, qword [rsp + 0x90]
mov rcx, rax
call fcn.14005f200
mov esi, eax
mov r15, qword [rsp + 0x60]
mov rcx, qword [r15 + 0x40]
call qword [sym.imp.USER32.dll_UpdateWindow]
cmp esi, 7
jne 0x14004ca8f
movzx eax, word [r14 + 2]
shl eax, 0x10
or eax, 1
mov dword [r14], eax
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004c9fa
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, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004ca1e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004ca42
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004ca66
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, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d7a7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14004d7a7
call fcn.140056384
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
je 0x14004d713
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0xa0], rbx
mov r8, qword [rsp + 0xd0]
mov r8, qword [r8 + 0x1c8]
mov qword [rsp + 0x1b8], r8
lea rcx, [r8 - 0x18]
lea rsi, [rbx - 0x18]
cmp rcx, rsi
je 0x14004cc40
cmp dword [rsi + 0x10], 0
jl 0x14004cb1b
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x14004cb1b
call fcn.140006db0
mov rbx, rax
mov ecx, r12d
lock xadd dword [rsi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14004cb12
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rbx, 0x18
jmp 0x14004cc33
movsxd r14, dword [r8 - 0x10]
test r14d, r14d
jne 0x14004cb81
mov r14, qword [rsi]
cmp dword [rsi + 8], 0
je 0x14004cc40
cmp dword [rsi + 0x10], 0
jge 0x14004cb55
cmp dword [rbx - 0xc], 0
jl 0x14004cb4a
mov dword [rbx - 0x10], r13d
mov word [rbx], r13w
jmp 0x14004cc40
mov ecx, 0x80070057
call fcn.140004550
int3
mov eax, r12d
lock xadd dword [rsi + 0x10], eax
dec eax
test eax, eax
jg 0x14004cb6f
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
jmp 0x14004cc33
test r8, r8
je 0x14004cc28
mov eax, dword [rbx - 0x10]
mov dword [rsp + 0xf8], eax
mov r15, r8
sub r15, rbx
sar r15, 1
test r14d, r14d
js 0x14004cc1d
mov ecx, 1
sub ecx, dword [rsi + 0x10]
mov eax, dword [rsi + 0xc]
sub eax, r14d
or eax, ecx
jge 0x14004cbd4
mov edx, r14d
lea rcx, [rsp + 0xa0]
call fcn.140005ae0
mov rbx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x1b8]
mov eax, dword [rsp + 0xf8]
lea rsi, [r14 + r14]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
mov r9, rsi
add rdx, rdx
cmp r15, rax
ja 0x14004cbfc
lea r8, [rbx + r15*2]
call fcn.140199418
jmp 0x14004cc01
call fcn.140199918
cmp r14d, dword [rbx - 0xc]
jg 0x14004cc12
mov dword [rbx - 0x10], r14d
mov word [rsi + rbx], r13w
jmp 0x14004cc40
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
int3
mov qword [rsp + 0xa0], rbx
mov rdi, qword [rsp + 0x70]
mov eax, dword [rbx - 0x10]
cmp eax, 1
jne 0x14004d665
test eax, eax
js 0x14004cc78
cmp word [rbx], 0x31
jne 0x14004cc83
mov r15, qword [rsp + 0xf0]
mov rdx, qword [r15 + 8]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0x40]
call fcn.140027c00
mov r14d, eax
jmp 0x14004cd42
mov ecx, 0x80070057
call fcn.140004550
int3
cmp eax, 1
jne 0x14004d665
test eax, eax
js 0x14004cc98
cmp word [rbx], 0x30
je 0x14004ccbe
jmp 0x14004cca3
mov ecx, 0x80070057
call fcn.140004550
int3
cmp eax, 1
jne 0x14004d665
test eax, eax
js 0x14004d65a
cmp word [rbx], 0x32
jne 0x14004d665
mov r8d, 2
lea rdx, [0x140220450]
mov r15, qword [rsp + 0xf0]
mov rcx, qword [r15 + 8]
call fcn.140199c9c
test eax, eax
jne 0x14004ccfa
mov eax, 0x1000
cmp word [r15 + 2], ax
jne 0x14004ccfa
mov rdx, rdi
mov rcx, qword [r15 + 8]
call fcn.140022600
jmp 0x14004cd0c
mov rdx, qword [r15 + 8]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0x40]
call fcn.140020580
mov r14d, eax
mov eax, dword [rbx - 0x10]
cmp eax, 1
jne 0x14004cd42
test eax, eax
js 0x14004cd37
cmp word [rbx], 0x32
jne 0x14004cd42
mov eax, dword [rsp + 0x78]
cmp r14d, 6
mov ecx, 1
cmove eax, ecx
mov dword [rsp + 0x78], eax
jmp 0x14004cd42
mov ecx, 0x80070057
call fcn.140004550
int3
cmp qword [rsp + 0x1e8], 0xa
jne 0x14004ce45
mov rdi, qword [rsp + 0xd0]
cmp qword [rdi + 0x2c0], 0
jg 0x14004cd93
xor eax, eax
lea rdi, [0x14021d928]
mov rsi, rbx
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x14004cd7e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x14004ce45
mov rdi, qword [rsp + 0xd0]
call fcn.140046d60
test eax, eax
je 0x14004cda9
cmp dword [rdi + 0x308], 1
jne 0x14004ce45
cmp dword [rsp + 0xa8], 0
je 0x14004cdf9
mov eax, dword [rsp + 0x50]
inc eax
mov rcx, qword [rsp + 0x108]
inc rcx
mov rdx, qword [rsp + 0xe0]
cmp eax, edx
jae 0x14004cded
mov rsi, qword [rsp + 0x118]
cmp dword [rsi + rcx*4], 1
je 0x14004cde9
inc eax
inc rcx
cmp eax, edx
jb 0x14004cdd8
jmp 0x14004cded
cmp eax, edx
jb 0x14004cdf9
mov eax, 1
mov dword [rsp + 0xa8], eax
mov rax, qword [rdi + 0x260]
mov ecx, dword [rax + 0x98]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov r9d, dword [rsp + 0xe8]
mov r8d, dword [rsp + 0x100]
lea rdx, [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.14004e310
jmp 0x14004ce4a
mov rsi, qword [rsp + 0x60]
test r14d, r14d
jne 0x14004cf80
movzx eax, word [r15 + 2]
shl eax, 0x10
or eax, 0x10
mov dword [r15], eax
call fcn.140046d60
test eax, eax
je 0x14004d4ce
call fcn.140056384
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
je 0x14004cf75
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x160], rax
call fcn.140056384
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
je 0x14004cf6a
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x178], rdi
lea ecx, [r14 + 0x36]
call fcn.140056158
test rax, rax
je 0x14004ceee
lea r8d, [r14 + 0x36]
mov rdx, rax
lea rcx, [rsp + 0x178]
call fcn.140005730
mov rdi, qword [rsp + 0x178]
mov r8, qword [r15 + 8]
mov rdx, rdi
lea rcx, [rsp + 0x160]
call fcn.14000bfe0
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x160]
mov rcx, rsi
call fcn.140046ea0
nop
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004cf3a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x160]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004cf5d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0xa0]
jmp 0x14004d4ce
mov ecx, 0x80004005
call fcn.140004550
nop
mov ecx, 0x80004005
call fcn.140004550
int3
cmp r14d, 2
je 0x14004d587
cmp r14d, 5
je 0x14004d4c9
cmp r14d, 6
je 0x14004d4c9
call fcn.140059f20
mov rcx, qword [rax + 8]
mov eax, 1
mov dword [rcx + 0x270], eax
call fcn.140056384
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
je 0x14004d4be
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x98], rax
call fcn.140056384
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
je 0x14004d4b3
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0xc0], rax
call fcn.140056384
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
je 0x14004d4a8
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0xb8], rdi
movzx eax, word [r15 + 2]
shl eax, 0x10
or eax, 1
mov dword [r15], eax
lea rcx, [rsi + 0x118]
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r9d, 4
xor r8d, r8d
mov edx, dword [rsp + 0x50]
call fcn.140066810
cmp r14d, 3
jne 0x14004d0bc
lea ecx, [r14 + 8]
call fcn.140056158
test rax, rax
je 0x14004d0a3
lea r8d, [r14 + 8]
mov rdx, rax
lea rcx, [rsp + 0xb8]
call fcn.140005730
mov rdi, qword [rsp + 0xb8]
mov r8, qword [r15 + 0x10]
mov rdx, rdi
lea rcx, [rsp + 0x98]
call fcn.14000bfe0
jmp 0x14004d13f
cmp r14d, 4
jne 0x14004d0d6
lea ecx, [r14 + 0xc]
call fcn.140056158
test rax, rax
je 0x14004d128
lea r8d, [r14 + 0xc]
jmp 0x14004d110
mov ecx, 3
call fcn.140056158
test rax, rax
je 0x14004d0fb
mov r8d, 3
mov rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.140005730
mov ecx, 4
call fcn.140056158
test rax, rax
je 0x14004d128
mov r8d, 4
mov rdx, rax
lea rcx, [rsp + 0xb8]
call fcn.140005730
mov rdi, qword [rsp + 0xb8]
mov r8, qword [r15 + 0x10]
mov r9, r8
mov rdx, rdi
lea rcx, [rsp + 0x98]
call fcn.14000bfe0
mov rax, qword [rsp + 0x120]
mov ecx, 3
test eax, eax
jle 0x14004d347
call fcn.140056158
test rax, rax
je 0x14004d174
mov r8d, 3
mov rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.140005730
mov ecx, 0x12
call fcn.140056158
test rax, rax
je 0x14004d1a1
mov r8d, 0x12
mov rdx, rax
lea rcx, [rsp + 0xb8]
call fcn.140005730
mov rdi, qword [rsp + 0xb8]
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
lea rcx, [rsp + 0x98]
call fcn.14000bed0
mov qword [rsp + 0x20], r13
mov r9d, 0x34
mov r8, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call fcn.140046ea0
cmp eax, 7
je 0x14004d22a
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d1f9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d21d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x98]
jmp 0x14004cf42
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d246
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d26a
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, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d28e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d2b2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d2d6
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, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d2fa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d31e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d342
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x14004d7d7
call fcn.140056158
test rax, rax
je 0x14004d367
mov r8d, 3
mov rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.140005730
mov qword [rsp + 0x20], r13
mov r9d, 0x30
mov r8, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call fcn.140046ea0
nop
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d3a7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d3cb
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, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d3ef
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d413
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d437
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, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d45b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d47f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d4a3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x14004d7d7
mov ecx, 0x80004005
call fcn.140004550
nop
mov ecx, 0x80004005
call fcn.140004550
nop
mov ecx, 0x80004005
call fcn.140004550
int3
mov dword [rsp + 0x68], r13d
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d4ea
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d50e
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, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d532
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d556
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d579
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r15, qword [rsp + 0x60]
mov esi, dword [rsp + 0x50]
jmp 0x14004d760
movzx eax, word [r15 + 2]
shl eax, 0x10
or eax, 1
mov dword [r15], eax
call fcn.140059f20
mov rcx, qword [rax + 8]
mov eax, 1
mov dword [rcx + 0x270], eax
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d5c5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d5e9
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, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d60d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d631
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d655
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x14004d7d7
mov ecx, 0x80070057
call fcn.140004550
nop
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d681
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d6a5
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, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d6c9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d6ed
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d711
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x14004d782
mov ecx, 0x80004005
call fcn.140004550
nop
mov ecx, 0x80004005
call fcn.140004550
nop
mov ecx, 0x80004005
call fcn.140004550
nop
mov ecx, 0x80004005
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
nop
mov ecx, 0x80004005
call fcn.140004550
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d7ab
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14004d7ab
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d7a2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r15, qword [rsp + 0x60]
mov esi, dword [rsp + 0x50]
inc esi
mov dword [rsp + 0x50], esi
inc qword [rsp + 0x108]
cmp esi, dword [rsp + 0xe0]
jae 0x14004d7f7
mov rbx, qword [rsp + 0x70]
jmp 0x14004bcf0
mov ecx, 0x80004005
call fcn.140004550
int3
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d7f7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsp + 0x118]
test rax, rax
je 0x14004da6e
mov rcx, rax
call fcn.14005605c
jmp 0x14004da6e
xor eax, eax
lea rdi, [0x14021d928]
mov rbx, qword [rsp + 0xd0]
mov rsi, qword [rbx + 0x1c8]
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x14004d83c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x14004da60
call fcn.140046d60
test eax, eax
je 0x14004da60
mov rdi, qword [rbx + 0x260]
cmp dword [rdi + 0x6c], 0
je 0x14004da60
mov word [rsp + 0xbb0], r13w
xor edx, edx
mov r8d, 0x40e
lea rcx, [rsp + 0xbb2]
call fcn.14019d7c0
lea rdx, [rsp + 0x1c8]
mov rcx, rdi
call fcn.140016670
mov r8, qword [rax]
mov edx, 0x208
lea rcx, [rsp + 0xbb0]
call fcn.14019a840
mov rdx, qword [rsp + 0x1c8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d8cd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [rsp + 0xbb0]
mov rcx, qword [r15 + 0x40]
call fcn.140027c00
test eax, eax
jne 0x14004d9ff
call fcn.140046d60
test eax, eax
je 0x14004da0d
call fcn.140056384
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x14004d913
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x128], rax
call fcn.140056384
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x14004d948
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x190], rdi
mov ecx, 0x36
call fcn.140056158
test rax, rax
je 0x14004d98a
mov r8d, 0x36
mov rdx, rax
lea rcx, [rsp + 0x190]
call fcn.140005730
mov rdi, qword [rsp + 0x190]
lea r8, [rsp + 0xbb0]
mov rdx, rdi
lea rcx, [rsp + 0x128]
call fcn.14000bfe0
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x128]
mov rcx, r15
call fcn.140046ea0
nop
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004d9da
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x128]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004da0d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14004da0d
mov dword [rsp + 0x68], r13d
mov eax, 1
mov dword [rsp + 0x78], eax
cmp r14d, 0xa
jne 0x14004da6e
cmp dword [rbx + 0x308], 0
je 0x14004da6e
mov rax, qword [rbx + 0x260]
mov ecx, dword [rax + 0x98]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov r9d, dword [rsp + 0xe8]
mov r8d, dword [rsp + 0x100]
xor edx, edx
mov rcx, r15
call fcn.14004e310
jmp 0x14004da6e
mov dword [rsp + 0x68], r13d
mov eax, 1
mov dword [rsp + 0x78], eax
lea rcx, [rsp + 0x138]
call fcn.14004fc60
nop
mov rax, qword [rsp + 0x140]
mov rsi, qword [rax + 8]
mov rdi, rsi
cmp byte [rsi + 0x21], 0
jne 0x14004dadd
mov rdx, qword [rdi + 0x10]
lea rcx, [rsp + 0x138]
call fcn.14004fcf0
mov rdi, qword [rdi]
mov rdx, qword [rsi + 0x18]
sub rdx, 0x18
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004dac4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rsi
call fcn.14005605c
mov rsi, rdi
cmp byte [rdi + 0x21], 0
je 0x14004da91
mov rax, qword [rsp + 0x140]
mov qword [rax + 8], rax
mov rax, qword [rsp + 0x140]
mov qword [rax], rax
mov rax, qword [rsp + 0x140]
mov qword [rax + 0x10], rax
mov qword [rsp + 0x148], r13
mov dword [rsp + 0xb0], r13d
mov dword [rsp + 0xac], r13d
lea rax, [rsp + 0xac]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor edx, edx
xor ecx, ecx
lea r8d, [r9 + 3]
call qword [sym.imp.WINSPOOL.DRV_EnumPrinterDriversW]
test eax, eax
jne 0x14004dc13
mov dil, 1
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14004de53
mov edx, dword [rsp + 0xb0]
lea ecx, [rax - 0x3a]
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rsi, rax
test rax, rax
je 0x14004de53
lea rax, [rsp + 0xac]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x28], rax
mov ecx, dword [rsp + 0xb0]
mov dword [rsp + 0x20], ecx
mov r9, rsi
xor edx, edx
xor ecx, ecx
lea r8d, [rdx + 3]
call qword [sym.imp.WINSPOOL.DRV_EnumPrinterDriversW]
test eax, eax
je 0x14004dc01
mov edi, r13d
cmp dword [rsp + 0xac], r13d
jbe 0x14004dbfe
nop dword [rax]
mov eax, edi
lea rcx, [rax + rax*4]
add rcx, rcx
lea rdx, [rsi + rcx*8 + 0x40]
lea rcx, [rsp + 0x138]
call fcn.140050730
mov r8, rax
lea rdx, [rsp + 0x2f0]
lea rcx, [rsp + 0x138]
call fcn.1400502a0
inc edi
cmp edi, dword [rsp + 0xac]
jb 0x14004dbc0
xor dil, dil
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
test dil, dil
jne 0x14004de53
call fcn.140059f20
mov rbx, qword [rax + 8]
test rbx, rbx
je 0x14004de53
cmp qword [rbx + 0x250], 0
je 0x14004de53
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x9a0]
call fcn.14019d7c0
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x380]
call fcn.14019d7c0
mov edx, 0x104
lea rcx, [rsp + 0x380]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea rcx, [rsp + 0x380]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
mov r14d, r13d
mov r9, qword [rbx + 0x250]
mov rax, r9
mov r15, r13
nop
xor edx, edx
lea rdi, [0x1402209ac]
mov rsi, qword [rax]
mov ecx, 1
repe cmpsw word [rsi], word [rdi]
je 0x14004dcab
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
setne al
test al, al
je 0x14004dd58
mov rdi, qword [rsp + 0x140]
movsxd r8, r14d
shl r8, 4
add r8, r9
lea rdx, [rsp + 0x250]
lea rcx, [rsp + 0x138]
call fcn.14004fb70
cmp qword [rax], rdi
jne 0x14004dd3c
mov rcx, r15
add rcx, rcx
mov rax, qword [rbx + 0x250]
lea rdi, [rax + rcx*8 + 8]
mov rax, qword [rdi]
cmp dword [rax - 8], 1
jle 0x14004dd0a
mov edx, dword [rax - 0x10]
mov rcx, rdi
call fcn.140005c50
mov r9, qword [rdi]
lea r8, [rsp + 0x380]
lea rdx, [0x14021c280]
lea rcx, [rsp + 0x9a0]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rcx, [rsp + 0x9a0]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14004dd61
inc r14d
inc r15
mov r9, qword [rbx + 0x250]
movsxd rax, r14d
shl rax, 4
add rax, r9
jmp 0x14004dc90
test r13d, r13d
je 0x14004de53
call fcn.1400166e0
cmp eax, 0xa
jne 0x14004dd7c
call fcn.140019870
lea rcx, str.SPOOLER
call fcn.140019a70
mov r14d, r13d
mov r9, qword [rbx + 0x250]
mov rax, r9
mov r15, r13
nop dword [rax]
xor edx, edx
lea rdi, [0x1402209ac]
mov rsi, qword [rax]
mov ecx, 1
repe cmpsw word [rsi], word [rdi]
je 0x14004ddab
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
setne al
test al, al
je 0x14004de53
mov rdi, qword [rsp + 0x140]
movsxd r8, r14d
shl r8, 4
add r8, r9
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0x138]
call fcn.14004fb70
cmp qword [rax], rdi
jne 0x14004de37
mov rdi, r15
add rdi, rdi
mov rax, qword [rbx + 0x250]
lea rsi, [rax + rdi*8]
mov rax, qword [rsi]
cmp dword [rax - 8], 1
jle 0x14004de09
mov edx, dword [rax - 0x10]
mov rcx, rsi
call fcn.140005c50
mov rsi, qword [rsi]
mov rax, qword [rbx + 0x250]
lea rdi, [rax + rdi*8 + 8]
mov rax, qword [rdi]
cmp dword [rax - 8], 1
jle 0x14004de2c
mov edx, dword [rax - 0x10]
mov rcx, rdi
call fcn.140005c50
mov rdx, rsi
mov rcx, qword [rdi]
call fcn.1400238a0
inc r14d
inc r15
mov r9, qword [rbx + 0x250]
movsxd rax, r14d
shl rax, 4
add rax, r9
jmp 0x14004dd90
call fcn.140026f60
mov ebx, eax
mov r14, qword [rsp + 0xd0]
test eax, eax
jne 0x14004deaa
xor edx, edx
lea rdi, str.CAPT
mov rsi, qword [r14 + 0x788]
mov ecx, 5
repe cmpsw word [rsi], word [rdi]
je 0x14004de85
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
sete al
test al, al
je 0x14004deaa
cmp dword [r14 + 0x810], 0
je 0x14004deaa
call fcn.1400310d0
mov r15d, dword [rsp + 0x68]
test eax, eax
cmove r15d, r13d
jmp 0x14004deaf
mov r15d, dword [rsp + 0x68]
cmp dword [rsp + 0x78], 0
jne 0x14004e03c
mov edi, r13d
mov rcx, qword [r14 + 0x260]
cmp dword [rcx + 0x80], r13d
je 0x14004e03c
cmp dword [rcx + 0x88], r13d
je 0x14004e003
lea rdx, [rsp + 0x1a8]
call fcn.1400166a0
mov rcx, qword [rax]
cmp dword [rcx - 0x10], r13d
setne sil
mov rdx, qword [rsp + 0x1a8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004df19
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test sil, sil
je 0x14004df25
test ebx, ebx
jmp 0x14004e031
lea rcx, [rsp + 0x270]
call fcn.1400074a0
nop
lea rcx, [rsp + 0x270]
call fcn.140007710
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x2d8]
lea r8, [rsp + 0x2b8]
mov edx, 2
lea rcx, [rsp + 0x270]
call fcn.140007880
test eax, eax
je 0x14004dff0
lea rdx, [rsp + 0x168]
mov rcx, qword [r14 + 0x260]
call fcn.140016670
nop
mov ecx, dword [rsp + 0x278]
cmp ecx, 8
jne 0x14004dfa2
mov rdx, rax
lea rcx, [rsp + 0x270]
call fcn.1400077c0
jmp 0x14004dfbc
cmp ecx, 2
jne 0x14004dfb9
mov rdx, rax
lea rcx, [rsp + 0x270]
call fcn.140007960
jmp 0x14004dfbc
mov eax, r13d
test eax, eax
sete sil
mov rdx, qword [rsp + 0x168]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004dfe5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test sil, sil
mov eax, 1
cmovne edi, eax
lea rcx, [rsp + 0x270]
call fcn.1400075c0
test edi, edi
jne 0x14004e033
jmp 0x14004e03c
cmp dword [rsp + 0xe0], edi
jle 0x14004e010
test ebx, ebx
je 0x14004e033
call fcn.140046d60
test eax, eax
je 0x14004e03c
mov rax, qword [r14 + 0x260]
cmp dword [rax + 0x6c], edi
je 0x14004e03c
mov rcx, qword [rsp + 0x60]
call fcn.14004e9e0
test eax, eax
jne 0x14004e03c
call fcn.14001a4a0
test eax, eax
je 0x14004e045
test r15d, r15d
jne 0x14004e17c
call fcn.140056384
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x14004e065
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rsi, [rax + 0x18]
mov qword [rsp + 0x130], rsi
call fcn.140056384
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x14004e09a
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x170], rdi
mov ecx, 0x21
call fcn.140056158
test rax, rax
je 0x14004e0dc
mov r8d, 0x21
mov rdx, rax
lea rcx, [rsp + 0x130]
call fcn.140005730
mov rsi, qword [rsp + 0x130]
mov ecx, 3
call fcn.140056158
test rax, rax
je 0x14004e109
mov r8d, 3
mov rdx, rax
lea rcx, [rsp + 0x170]
call fcn.140005730
mov rdi, qword [rsp + 0x170]
mov qword [rsp + 0x20], r13
mov r9d, 0x30
mov r8, rdi
mov rdx, rsi
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.140046ea0
call fcn.140059f20
mov rcx, qword [rax + 8]
mov ebx, 1
mov dword [rcx + 0x270], ebx
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004e157
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x130]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004e186
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14004e186
mov rsi, qword [rsp + 0x60]
mov ebx, 1
cmp ebx, 1
jne 0x14004e20a
xor r9d, r9d
xor r8d, r8d
lea edx, [rbx + 0xa]
mov rcx, qword [rsi + 0x158]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdi, qword [rsp + 0xe0]
test edi, edi
jle 0x14004e1f3
lea rcx, [rsi + 0x118]
mov edx, r13d
call fcn.140066210
cmp word [rax], 0x10
jne 0x14004e1eb
mov rcx, rax
call fcn.14005605c
movsxd r8, r13d
xor r9d, r9d
mov edx, 0x1008
mov rcx, qword [rsi + 0x158]
call qword [sym.imp.USER32.dll_SendMessageW]
dec r13d
dec edi
inc r13d
cmp r13d, edi
jl 0x14004e1b1
xor r9d, r9d
mov r8, rbx
lea edx, [r9 + 0xb]
mov rcx, qword [rsi + 0x158]
call qword [sym.imp.USER32.dll_SendMessageW]
lea r8, [0x1402209ac]
mov edx, 2
lea rcx, [rsp + 0x220]
call fcn.140001370
nop
mov r8, qword [rsp + 0x140]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x248]
lea rcx, [rsp + 0x138]
call fcn.14004fd60
nop
mov rcx, qword [rsp + 0x140]
call fcn.14005605c
nop
lea rcx, [rsp + 0xd8]
call fcn.14000f190
nop
mov rdx, qword [rsp + 0x1f0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004e288
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
dec eax
test eax, eax
jg 0x14004e2a9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x1b0]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x14004e2cd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x220]
call fcn.140001320
mov rcx, qword [rsp + 0xfc0]
xor rcx, rsp
call fcn.140198b40
lea r11, [rsp + 0xfd0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret