Function at 0x1400496b0
Capabilities:
Check if file exists
Delete registry value
Get common file path
Persist via run registry key

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xfc0
mov qword [rsp + 0x260], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov rax, qword [0x14026fdb0]
xor rax, rsp
mov qword [rsp + 0xfb0], rax
mov r14, rcx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x168], rcx
xor r8d, r8d
lea rdx, str.CUNINSTALLERDlg::CleanupThread
lea rcx, [r11 - 0xe28]
call fcn.140001190
nop
mov r13d, 1
mov dword [rsp + 0x58], r13d
mov dword [rsp + 0xa0], r13d
mov dword [rsp + 0x70], r13d
mov dword [rsp + 0x60], r13d
mov eax, r13d
mov dword [rsp + 0xb0], eax
mov dword [rsp + 0x120], eax
mov dword [rsp + 0x138], r13d
xor r15d, r15d
mov dword [rsp + 0x74], r15d
call fcn.140056384
mov rcx, rax
mov eax, r15d
test rcx, rcx
setne al
test eax, eax
jne 0x14004976e
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x180], rax
call fcn.140059f20
mov rdi, qword [rax + 8]
mov qword [rsp + 0xb8], rdi
call fcn.1400166e0
mov dword [rsp + 0x1a0], eax
mov eax, r15d
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x104], eax
mov qword [rsp + 0x220], r15
mov qword [rsp + 0x228], r15
mov qword [rsp + 0x230], r15
mov dword [rsp + 0x140], r13d
mov dword [rsp + 0x8c], r13d
mov eax, r13d
mov dword [rsp + 0x90], eax
mov dword [rsp + 0x128], eax
lea rcx, [rdi + 0xa58]
or rbx, 0xffffffffffffffff
mov r8, rbx
xor edx, edx
call fcn.140058c34
xor r8d, r8d
xor edx, edx
mov rcx, r14
call fcn.140047fc0
call fcn.140059f20
mov rcx, qword [rax + 8]
call fcn.14005a4ac
nop
mov dword [rdi + 0xa84], r13d
mov dword [rdi + 0x2d8], r13d
call fcn.140056384
mov rcx, rax
mov eax, r15d
test rcx, rcx
setne al
test eax, eax
jne 0x140049846
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rsi, [rax + 0x18]
mov qword [rsp + 0x108], rsi
call fcn.140056384
mov rcx, rax
mov eax, r15d
test rcx, rcx
setne al
test eax, eax
jne 0x140049878
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x118], rdi
mov ecx, 3
call fcn.140056158
test rax, rax
je 0x1400498b7
mov r8d, 3
mov rdx, rax
lea rcx, [rsp + 0x118]
call fcn.140005730
mov rdi, qword [rsp + 0x118]
mov ecx, 0x20
call fcn.140056158
test rax, rax
je 0x1400498e4
mov r8d, 0x20
mov rdx, rax
lea rcx, [rsp + 0x108]
call fcn.140005730
mov rsi, qword [rsp + 0x108]
mov qword [rsp + 0x20], r15
mov r9d, 0x34
mov r8, rdi
mov rdx, rsi
mov rcx, r14
call fcn.140046ea0
mov esi, eax
mov rcx, qword [r14 + 0x40]
call qword [sym.imp.USER32.dll_UpdateWindow]
cmp esi, 7
jne 0x140049999
lea r8, str.cancel
lea edx, [rsi - 5]
lea rcx, [rsp + 0x1c0]
call fcn.140001370
nop
lea rdx, [rdi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140049945
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x108]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140049968
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x50]
call fcn.14000f190
nop
mov rdx, qword [rsp + 0x180]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140049994
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x14004b9dd
mov dword [rsp + 0x5c], r15d
mov dword [rsp + 0x54], r15d
mov qword [rsp + 0x80], r15
cmp dword [0x140292e28], 0
je 0x1400499d2
lea rcx, [r14 + 0x690]
mov edx, 5
call fcn.140065358
mov rcx, qword [r14 + 0x6d0]
call qword [sym.imp.USER32.dll_SetForegroundWindow]
call fcn.140056384
mov rcx, rax
mov eax, r15d
test rcx, rcx
setne al
test eax, eax
jne 0x1400499f2
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x130], rdi
call fcn.140056384
mov rcx, rax
mov eax, r15d
test rcx, rcx
setne al
test eax, eax
jne 0x140049a24
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0xf8], rbx
call fcn.140056384
mov rcx, rax
mov eax, r15d
test rcx, rcx
setne al
test eax, eax
jne 0x140049a56
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rsi, [rax + 0x18]
mov qword [rsp + 0x110], rsi
call fcn.140056384
mov rcx, rax
mov eax, r15d
test rcx, rcx
setne al
test eax, eax
jne 0x140049a88
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x170], rax
call fcn.140056384
mov rcx, rax
mov eax, r15d
test rcx, rcx
setne al
test eax, eax
jne 0x140049aba
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
lea r12, [rax + 0x18]
mov qword [rsp + 0x98], r12
mov ecx, 0x3e
call fcn.140056158
test rax, rax
je 0x140049af9
mov r8d, 0x3e
mov rdx, rax
lea rcx, [rsp + 0x130]
call fcn.140005730
mov rdi, qword [rsp + 0x130]
mov ecx, 0x3f
call fcn.140056158
test rax, rax
je 0x140049b26
mov r8d, 0x3f
mov rdx, rax
lea rcx, [rsp + 0xf8]
call fcn.140005730
mov rbx, qword [rsp + 0xf8]
mov ecx, 0x41
call fcn.140056158
test rax, rax
je 0x140049b4b
mov r8d, 0x41
mov rdx, rax
lea rcx, [rsp + 0x170]
call fcn.140005730
mov ecx, 0x40
call fcn.140056158
test rax, rax
je 0x140049b78
mov r8d, 0x40
mov rdx, rax
lea rcx, [rsp + 0x110]
call fcn.140005730
mov rsi, qword [rsp + 0x110]
mov ecx, 0x42
call fcn.140056158
test rax, rax
je 0x140049ba5
mov r8d, 0x42
mov rdx, rax
lea rcx, [rsp + 0x98]
call fcn.140005730
mov r12, qword [rsp + 0x98]
cmp dword [0x140292e28], 0
je 0x140049bd2
lea rcx, [r14 + 0x690]
mov edx, 0x3f2
call fcn.1400650c0
mov qword [rsp + 0x80], rax
mov rdx, rdi
mov rcx, rax
call fcn.140065248
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
mov rcx, qword [r14 + 0x158]
call qword [sym.imp.USER32.dll_SendMessageW]
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0x124], eax
cmp dword [0x140292e28], 0
je 0x140049c90
xor r9d, r9d
mov r8, r13
mov edx, 0x402
mov rcx, qword [r14 + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rsp + 0xc8]
mov eax, 0x14
test ecx, ecx
jle 0x140049c6b
cdq
idiv ecx
test eax, eax
jg 0x140049c70
mov eax, 0x66666667
imul ecx
mov r13d, edx
sar r13d, 3
mov eax, r13d
shr eax, 0x1f
add r13d, eax
mov eax, 2
cmp r13d, 1
cmovle r13d, eax
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x54], r13d
mov eax, 1
jmp 0x140049c70
mov dword [rsp + 0x54], r15d
movsxd r8, eax
xor r9d, r9d
mov edx, 0x404
mov rcx, qword [r14 + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rax, qword [rsp + 0xc8]
mov r13d, r15d
test eax, eax
jle 0x140049ed8
lea rax, [r14 + 0x118]
mov qword [rsp + 0x178], rax
nop word [rax + rax]
mov edx, r13d
mov rcx, rax
call fcn.140066210
mov r14, rax
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140049d54
mov rax, qword [rsp + 0x68]
lea r8, [rax + 0x690]
mov rcx, rax
call fcn.1400414e0
mov r15d, eax
cmp dword [0x140292e28], 0
je 0x140049d4e
mov eax, dword [rsp + 0x54]
test eax, eax
jg 0x140049d48
xor r9d, r9d
xor r8d, r8d
mov edx, 0x408
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0x14
jge 0x140049d4e
xor r9d, r9d
xor r8d, r8d
mov edx, 0x405
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, rdi
mov rcx, qword [rsp + 0x80]
call fcn.140065248
mov eax, dword [rsp + 0x5c]
jmp 0x140049d4a
dec eax
mov dword [rsp + 0x54], eax
cmp r15d, 2
je 0x140049d72
inc r13d
cmp r13d, dword [rsp + 0xc8]
jge 0x140049ed0
mov rax, qword [rsp + 0x178]
jmp 0x140049cb0
movzx eax, word [r14 + 2]
shl eax, 0x10
or eax, 1
mov dword [r14], eax
call fcn.140059f20
mov rcx, qword [rax + 8]
mov dword [rcx + 0x270], 1
lea r8, str.In_case_of_busy
mov edx, 2
lea rcx, [rsp + 0x1c0]
call fcn.140001370
nop
lea rdx, [r12 - 0x18]
or rdi, 0xffffffffffffffff
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140049dcd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x170]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140049df0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x110]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140049e13
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xf8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140049e36
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, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140049e59
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x118]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140049e7c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x108]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140049e9f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x50]
call fcn.14000f190
nop
mov rdx, qword [rsp + 0x180]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
dec edi
test edi, edi
jg 0x140049ecb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x14004b9dd
xor r15d, r15d
mov r14, qword [rsp + 0x68]
cmp dword [0x140292e28], 0
je 0x140049f0a
xor r9d, r9d
mov edx, 0x402
lea r8d, [r9 + 0x14]
mov rcx, qword [r14 + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, rbx
mov rcx, qword [rsp + 0x80]
call fcn.140065248
mov dword [rsp + 0x13c], r15d
mov rcx, qword [rsp + 0xc8]
mov edi, ecx
mov dword [rsp + 0x78], r15d
mov dword [rsp + 0xe0], r15d
mov r13d, r15d
mov qword [rsp + 0x1e8], r15
cmp dword [0x140292e28], 0
je 0x140049fae
mov eax, 0x14
test ecx, ecx
jle 0x140049f7a
cdq
idiv ecx
test eax, eax
jg 0x140049f7f
mov eax, 0x66666667
imul ecx
mov ecx, edx
sar ecx, 3
mov eax, ecx
shr eax, 0x1f
add ecx, eax
cmp ecx, 1
mov eax, 2
cmovle ecx, eax
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x54], ecx
mov eax, 1
jmp 0x140049f7f
mov dword [rsp + 0x54], r15d
movsxd r8, eax
xor r9d, r9d
mov edx, 0x404
mov rcx, qword [r14 + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
lea rax, [r14 + 0x690]
mov qword [rsp + 0x1e8], rax
mov rcx, qword [rsp + 0xc8]
mov r14d, r15d
test ecx, ecx
jle 0x14004a5d9
mov r15, qword [rsp + 0x68]
add r15, 0x118
xor r12d, r12d
nop dword [rax + rax]
mov edx, r14d
mov rcx, r15
call fcn.140066210
mov r13, rax
mov dword [rsp + 0x12c], r12d
dec edi
mov dword [rsp + 0x100], edi
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14004a40b
lea r8, [rsp + 0x12c]
mov edx, dword [rax]
call fcn.140041850
mov r12d, eax
test eax, eax
jne 0x14004a0ba
movzx eax, word [r13 + 2]
shl eax, 0x10
or eax, 0x10
mov dword [r13], eax
mov eax, dword [rsp + 0x74]
cmp dword [rsp + 0x12c], 1
mov ecx, 1
cmove eax, ecx
mov dword [rsp + 0x74], eax
cmp dword [0x140292e28], r12d
je 0x14004a3de
mov esi, dword [rsp + 0x54]
test esi, esi
jg 0x14004a0af
xor r9d, r9d
xor r8d, r8d
mov edx, 0x408
mov r12, qword [rsp + 0x68]
mov rcx, qword [r12 + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0x28
jge 0x14004a3de
xor r9d, r9d
xor r8d, r8d
mov edx, 0x405
mov rcx, qword [r12 + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, rbx
mov rcx, qword [rsp + 0x80]
call fcn.140065248
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x54], eax
jmp 0x14004a3de
dec esi
mov dword [rsp + 0x54], esi
jmp 0x14004a3de
call fcn.140059f20
mov rcx, qword [rax + 8]
mov dword [rcx + 0x270], 1
call fcn.140056384
mov rcx, rax
xor edi, edi
mov eax, edi
test rcx, rcx
setne al
test eax, eax
je 0x14004a561
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xa8], rax
call fcn.140056384
mov rcx, rax
mov eax, edi
test rcx, rcx
setne al
test eax, eax
je 0x14004a556
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rsi, [rax + 0x18]
mov qword [rsp + 0xe8], rsi
call fcn.140056384
mov rcx, rax
mov eax, edi
test rcx, rcx
setne al
test eax, eax
je 0x14004a54b
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0xd8], rdi
movzx eax, word [r13 + 2]
shl eax, 0x10
or eax, 1
mov dword [r13], eax
mov qword [rsp + 0x40], r13
xor eax, eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9d, [rax + 4]
xor r8d, r8d
mov edx, r14d
mov rcx, r15
call fcn.140066810
mov dword [rsp + 0x13c], 1
cmp r12d, 3
jne 0x14004a1d9
lea ecx, [r12 + 8]
call fcn.140056158
test rax, rax
je 0x14004a1c3
lea r8d, [r12 + 8]
mov rdx, rax
lea rcx, [rsp + 0xd8]
call fcn.140005730
mov rdi, qword [rsp + 0xd8]
mov r8, qword [r13 + 0x10]
mov rdx, rdi
lea rcx, [rsp + 0xa8]
call fcn.14000bfe0
jmp 0x14004a239
cmp r12d, 4
jne 0x14004a1f5
lea ecx, [r12 + 0xc]
call fcn.140056158
test rax, rax
je 0x14004a222
lea r8d, [r12 + 0xc]
jmp 0x14004a20a
mov ecx, 4
call fcn.140056158
test rax, rax
je 0x14004a222
mov r8d, 4
mov rdx, rax
lea rcx, [rsp + 0xd8]
call fcn.140005730
mov rdi, qword [rsp + 0xd8]
mov r8, qword [r13 + 0x10]
mov r9, r8
mov rdx, rdi
lea rcx, [rsp + 0xa8]
call fcn.14000bfe0
mov ecx, 3
call fcn.140056158
cmp dword [rsp + 0x100], 0
jle 0x14004a496
test rax, rax
je 0x14004a274
mov r8d, 3
mov rdx, rax
lea rcx, [rsp + 0xe8]
call fcn.140005730
mov rsi, qword [rsp + 0xe8]
mov ecx, 0x12
call fcn.140056158
test rax, rax
je 0x14004a2a1
mov r8d, 0x12
mov rdx, rax
lea rcx, [rsp + 0xd8]
call fcn.140005730
mov rdi, qword [rsp + 0xd8]
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
lea rcx, [rsp + 0xa8]
call fcn.14000bed0
mov r12, qword [rsp + 0x68]
lea r11, [r12 + 0x690]
mov qword [rsp + 0x20], r11
mov r9d, 0x34
mov r8, rsi
mov rdx, qword [rsp + 0xa8]
mov rcx, r12
call fcn.140046ea0
cmp eax, 7
je 0x14004a421
cmp dword [0x140292e28], 0
je 0x14004a36b
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_SetActiveWindow]
mov rcx, rax
call fcn.140060128
mov esi, dword [rsp + 0x54]
test esi, esi
jg 0x14004a365
xor r9d, r9d
xor r8d, r8d
mov edx, 0x408
mov rcx, qword [r12 + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0x28
jge 0x14004a36b
xor r9d, r9d
xor r8d, r8d
mov edx, 0x405
mov rcx, qword [r12 + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, rbx
mov rcx, qword [rsp + 0x80]
call fcn.140065248
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x54], eax
jmp 0x14004a36b
dec esi
mov dword [rsp + 0x54], esi
lea rdx, [rdi - 0x18]
or rdi, 0xffffffffffffffff
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004a38a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xe8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004a3ad
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004a3cf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edi, dword [rsp + 0x100]
mov rbx, qword [rsp + 0xf8]
mov qword [rsp + 0x40], r13
xor eax, eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9d, [rax + 4]
xor r8d, r8d
mov edx, r14d
mov rcx, r15
call fcn.140066810
xor r12d, r12d
inc r14d
cmp r14d, dword [rsp + 0xc8]
jge 0x14004a56c
jmp 0x140049fd0
mov ebx, 1
lea rdx, [rdi - 0x18]
or rdi, 0xffffffffffffffff
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004a445
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xe8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004a468
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004a48a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov esi, dword [rsp + 0xe0]
jmp 0x14004a57b
test rax, rax
je 0x14004a4b9
mov r8d, 3
mov rdx, rax
lea rcx, [rsp + 0xe8]
call fcn.140005730
mov rsi, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x68]
lea rax, [rcx + 0x690]
mov qword [rsp + 0x20], rax
mov r9d, 0x30
mov r8, rsi
mov rdx, qword [rsp + 0xa8]
call fcn.140046ea0
mov esi, 1
lea rdx, [rdi - 0x18]
or rdi, 0xffffffffffffffff
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004a504
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xe8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004a527
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004a577
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14004a577
mov ecx, 0x80004005
call fcn.140004550
nop
mov ecx, 0x80004005
call fcn.140004550
nop
mov ecx, 0x80004005
call fcn.140004550
int3
mov esi, dword [rsp + 0xe0]
mov ebx, esi
jmp 0x14004a57b
mov ebx, dword [rsp + 0x78]
xor r15d, r15d
mov r13d, r15d
cmp r14d, 1
mov eax, 1
cmovge r13d, eax
cmp dword [rsp + 0x74], eax
jne 0x14004a5b3
lea rcx, [rsp + 0x750]
call fcn.140023f00
cmp eax, 1
jne 0x14004a5b3
lea rcx, [rsp + 0x750]
call fcn.1400239e0
test ebx, ebx
jne 0x14004a5cd
test esi, esi
jne 0x14004a5cd
mov rsi, qword [rsp + 0x110]
mov r12, qword [rsp + 0x98]
jmp 0x14004a5d9
mov r12d, r15d
or r13, 0xffffffffffffffff
jmp 0x14004b407
mov rbx, qword [rsp + 0x68]
lea r14, [rbx + 0x690]
mov rcx, r14
call fcn.140045e60
mov dword [rsp + 0xf0], eax
test r13d, r13d
jne 0x14004a88b
mov rdi, qword [rsp + 0xb8]
cmp dword [rdi + 0xa84], r13d
je 0x14004a626
call fcn.140019870
lea rcx, str.SPOOLER
call fcn.140019a70
mov dword [rdi + 0xa84], r15d
call fcn.140046330
test eax, eax
jne 0x14004a88b
call fcn.140056384
mov rcx, rax
mov eax, r15d
test rcx, rcx
setne al
test eax, eax
jne 0x14004a653
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rsi, [rax + 0x18]
mov qword [rsp + 0x1b0], rsi
call fcn.140056384
mov rcx, rax
test rax, rax
mov r12d, 0
setne r12b
test r12d, r12d
jne 0x14004a68a
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x1d8], rdi
mov r12d, 2
mov ecx, r12d
call fcn.140056158
test rax, rax
je 0x14004a6ca
mov r8d, r12d
mov rdx, rax
lea rcx, [rsp + 0x1b0]
call fcn.140005730
mov rsi, qword [rsp + 0x1b0]
mov ecx, 3
call fcn.140056158
test rax, rax
je 0x14004a6f7
mov r8d, 3
mov rdx, rax
lea rcx, [rsp + 0x1d8]
call fcn.140005730
mov rdi, qword [rsp + 0x1d8]
mov qword [rsp + 0x20], r14
mov r9d, 0x30
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.140046ea0
call fcn.140059f20
mov rcx, qword [rax + 8]
mov dword [rcx + 0x270], 1
lea rdx, [rdi - 0x18]
or rdi, 0xffffffffffffffff
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004a742
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x1b0]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004a765
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, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004a788
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x170]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004a7ab
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x110]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004a7ce
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xf8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004a7f1
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, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004a814
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x118]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004a837
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x108]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004a85a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x50]
call fcn.14000f190
nop
mov rdx, qword [rsp + 0x180]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
dec edi
test edi, edi
jg 0x14004a886
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x14004b9dd
mov r13, rbx
cmp dword [0x140292e28], 0
je 0x14004a8de
xor r9d, r9d
mov edx, 0x402
lea r8d, [r9 + 0x28]
mov rcx, qword [rbx + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, rsi
mov rdi, qword [rsp + 0x80]
mov rcx, rdi
call fcn.140065248
xor r9d, r9d
mov edx, 0x404
lea r8d, [r9 + 0x14]
mov rcx, qword [rbx + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x14004a8e6
mov rdi, qword [rsp + 0x80]
mov rcx, r13
call fcn.1400430a0
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0x78], eax
cmp dword [0x140292e28], 0
je 0x14004a925
xor r9d, r9d
xor r8d, r8d
mov edx, 0x405
mov rcx, qword [r13 + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, rsi
mov rcx, rdi
call fcn.140065248
xor eax, eax
lea rdi, str.CAPT
mov rdx, qword [rsp + 0xb8]
mov rsi, qword [rdx + 0x788]
mov ecx, 5
repe cmpsw word [rsi], word [rdi]
je 0x14004a94c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x14004a977
cmp dword [rdx + 0x810], 0
je 0x14004a977
call fcn.140030770
mov ecx, dword [rsp + 0x8c]
test eax, eax
cmove ecx, r15d
mov dword [rsp + 0x8c], ecx
mov rcx, r14
call fcn.1400445a0
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x74], eax
mov qword [rsp + 0x158], r15
mov ecx, 0x28
call fcn.140056010
test rax, rax
je 0x14004b99c
mov qword [rsp + 0x150], rax
mov qword [rax], rax
mov rcx, qword [rsp + 0x150]
mov qword [rcx + 8], rcx
mov rcx, qword [rsp + 0x150]
mov qword [rcx + 0x10], rcx
mov rax, qword [rsp + 0x150]
mov byte [rax + 0x20], 1
mov rax, qword [rsp + 0x150]
mov byte [rax + 0x21], 1
mov rax, qword [rsp + 0x150]
mov rsi, qword [rax + 8]
mov rdi, rsi
cmp byte [rsi + 0x21], 0
jne 0x14004aa53
or rbx, 0xffffffffffffffff
nop word [rax + rax]
mov rdx, qword [rdi + 0x10]
lea rcx, [rsp + 0x148]
call fcn.14004fcf0
mov rdi, qword [rdi]
mov rdx, qword [rsi + 0x18]
sub rdx, 0x18
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004aa32
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 0x14004aa00
mov r12, qword [rsp + 0x98]
mov rax, qword [rsp + 0x150]
mov qword [rax + 8], rax
mov rax, qword [rsp + 0x150]
mov qword [rax], rax
mov rax, qword [rsp + 0x150]
mov qword [rax + 0x10], rax
mov qword [rsp + 0x158], r15
mov dword [rsp + 0xc0], r15d
mov dword [rsp + 0xa4], r15d
lea rax, [rsp + 0xa4]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor edx, edx
xor ecx, ecx
lea r8d, [r9 + 3]
call qword [sym.imp.WINSPOOL.DRV_EnumPrinterDriversW]
test eax, eax
jne 0x14004ab93
mov dil, 1
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14004af63
mov edx, dword [rsp + 0xc0]
lea ecx, [rax - 0x3a]
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rsi, rax
test rax, rax
je 0x14004af63
lea rax, [rsp + 0xa4]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov ecx, dword [rsp + 0xc0]
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 0x14004ab81
mov edi, r15d
cmp dword [rsp + 0xa4], 0
jbe 0x14004ab7e
nop word [rax + rax]
mov eax, edi
lea rcx, [rax + rax*4]
add rcx, rcx
lea rdx, [rsi + rcx*8 + 0x40]
lea rcx, [rsp + 0x148]
call fcn.140050730
mov r8, rax
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0x148]
call fcn.1400502a0
inc edi
cmp edi, dword [rsp + 0xa4]
jb 0x14004ab40
xor dil, dil
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
test dil, dil
jne 0x14004af63
call fcn.140059f20
mov r14, qword [rax + 8]
mov qword [rsp + 0xd0], r14
test r14, r14
je 0x14004af63
cmp qword [r14 + 0x250], 0
je 0x14004af63
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x540]
call fcn.14019d7c0
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x330]
call fcn.14019d7c0
mov edx, 0x104
lea rcx, [rsp + 0x330]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea rcx, [rsp + 0x330]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
mov r13d, r15d
mov r11, qword [r14 + 0x250]
mov rax, r11
mov rbx, r15
mov r10, qword [rsp + 0x150]
nop
xor edx, edx
lea rdi, [0x1402209ac]
mov rsi, qword [rax]
mov ecx, 1
repe cmpsw word [rsi], word [rdi]
je 0x14004ac3b
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
setne al
test al, al
je 0x14004af5e
mov rdi, qword [r10 + 8]
mov rsi, r10
cmp byte [rdi + 0x21], 0
jne 0x14004acad
mov r9, qword [rbx + r11]
mov r8d, r15d
test r9, r9
setne r8b
test r8d, r8d
je 0x14004ad95
mov rax, qword [rdi + 0x18]
mov rdx, r9
sub rdx, rax
movzx ecx, word [rax]
cmp cx, word [rax + rdx]
jne 0x14004ac8d
add rax, 2
test cx, cx
jne 0x14004ac76
mov eax, r15d
jmp 0x14004ac92
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sets al
test al, al
je 0x14004aca1
mov rdi, qword [rdi + 0x10]
jmp 0x14004aca7
mov rsi, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x21], 0
je 0x14004ac63
mov qword [rsp + 0x208], rsi
cmp rsi, r10
je 0x14004ad05
mov rdx, qword [rsi + 0x18]
mov eax, r15d
test rdx, rdx
setne al
test eax, eax
je 0x14004ada0
mov rax, qword [rbx + r11]
sub rdx, rax
movzx ecx, word [rax]
cmp cx, word [rax + rdx]
jne 0x14004aced
add rax, 2
test cx, cx
jne 0x14004acd6
mov eax, r15d
jmp 0x14004acf2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sets al
test al, al
jne 0x14004ad05
lea rax, [rsp + 0x208]
jmp 0x14004ad15
mov qword [rsp + 0x218], r10
lea rax, [rsp + 0x218]
mov rax, qword [rax]
mov qword [rsp + 0x298], rax
cmp rax, r10
jne 0x14004ad78
lea rdi, [rbx + r11 + 8]
mov rax, qword [rdi]
cmp dword [rax - 8], 1
jle 0x14004ad3e
mov edx, dword [rax - 0x10]
mov rcx, rdi
call fcn.140005c50
mov r9, qword [rdi]
lea r8, [rsp + 0x330]
lea rdx, [0x14021c280]
lea rcx, [rsp + 0x540]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rcx, [rsp + 0x540]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14004adab
mov r10, qword [rsp + 0x150]
inc r13d
add rbx, 0x10
mov r11, qword [r14 + 0x250]
movsxd rax, r13d
shl rax, 4
add rax, r11
jmp 0x14004ac20
mov ecx, 0x80004005
call fcn.140004550
int3
mov ecx, 0x80004005
call fcn.140004550
int3
call fcn.1400166e0
cmp eax, 0xa
jne 0x14004adc6
call fcn.140019870
lea rcx, str.SPOOLER
call fcn.140019a70
mov r14d, r15d
mov r8, qword [rsp + 0xd0]
mov r8, qword [r8 + 0x250]
mov rax, r8
mov r13, r15
mov r10, qword [rsp + 0x150]
nop word [rax + rax]
xor edx, edx
lea rdi, [0x1402209ac]
mov rsi, qword [rax]
mov ecx, 1
repe cmpsw word [rsi], word [rdi]
je 0x14004ae0b
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
setne al
test al, al
je 0x14004af5e
lea rbx, [r13 + r8]
mov rdi, qword [r10 + 8]
mov r9, r10
cmp byte [rdi + 0x21], 0
jne 0x14004ae6c
mov r8, qword [rbx]
nop dword [rax]
test r8, r8
je 0x14004af48
mov rax, qword [rdi + 0x18]
mov rsi, r8
sub rsi, rax
movzx edx, word [rax]
movzx ecx, word [rax + rsi]
sub edx, ecx
jne 0x14004ae56
add rax, 2
test ecx, ecx
jne 0x14004ae43
test edx, edx
jns 0x14004ae60
mov rdi, qword [rdi + 0x10]
jmp 0x14004ae66
mov r9, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x21], 0
je 0x14004ae30
mov qword [rsp + 0x240], r9
cmp r9, r10
je 0x14004aeb1
mov rdi, qword [r9 + 0x18]
test rdi, rdi
je 0x14004af53
mov rax, qword [rbx]
sub rdi, rax
nop dword [rax]
movzx edx, word [rax]
movzx ecx, word [rax + rdi]
sub edx, ecx
jne 0x14004aea3
add rax, 2
test ecx, ecx
jne 0x14004ae90
test edx, edx
js 0x14004aeb1
lea rax, [rsp + 0x240]
jmp 0x14004aec1
mov qword [rsp + 0x1f8], r10
lea rax, [rsp + 0x1f8]
mov rax, qword [rax]
mov qword [rsp + 0x250], rax
cmp rax, r10
jne 0x14004af23
mov rax, qword [rbx]
cmp dword [rax - 8], 1
jle 0x14004aee5
mov edx, dword [rax - 0x10]
mov rcx, rbx
call fcn.140005c50
mov rsi, qword [rbx]
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x250]
lea rdi, [r13 + rax + 8]
mov rax, qword [rdi]
cmp dword [rax - 8], 1
jle 0x14004af10
mov edx, dword [rax - 0x10]
mov rcx, rdi
call fcn.140005c50
mov rdx, rsi
mov rcx, qword [rdi]
call fcn.1400238a0
mov r10, qword [rsp + 0x150]
inc r14d
add r13, 0x10
mov rax, qword [rsp + 0xd0]
mov r8, qword [rax + 0x250]
movsxd rax, r14d
shl rax, 4
add rax, r8
jmp 0x14004adf0
mov ecx, 0x80004005
call fcn.140004550
int3
mov ecx, 0x80004005
call fcn.140004550
int3
mov r13, qword [rsp + 0x68]
cmp dword [0x140292e28], 0
je 0x14004b00f
xor r9d, r9d
mov edx, 0x402
lea r8d, [r9 + 0x50]
mov rcx, qword [r13 + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, r12
mov r14, qword [rsp + 0x80]
mov rcx, r14
call fcn.140065248
xor r9d, r9d
mov edx, 0x404
lea r8d, [r9 + 3]
mov rcx, qword [r13 + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x140292e28], 0
je 0x14004b017
xor r9d, r9d
xor r8d, r8d
mov edx, 0x405
mov rcx, qword [r13 + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, r12
mov rcx, r14
call fcn.140065248
cmp dword [0x140292e28], 0
je 0x14004b017
xor r9d, r9d
xor r8d, r8d
mov edx, 0x405
mov rcx, qword [r13 + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, r12
mov rcx, r14
call fcn.140065248
jmp 0x14004b017
mov r14, qword [rsp + 0x80]
lea rdx, [r13 + 0x690]
mov rcx, r13
call fcn.140047340
mov esi, eax
call fcn.140056384
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x14004b048
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 + 0xd0], rbx
mov rdx, qword [rsp + 0xb8]
mov rdx, qword [rdx + 0x210]
lea rcx, [rdx - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x14004b0d8
cmp dword [rdi + 0x10], 0
jl 0x14004b0bf
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14004b0bf
call fcn.140006db0
mov rbx, rax
or ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14004b0a9
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rbx, 0x18
mov qword [rsp + 0xd0], rbx
mov r12, qword [rsp + 0x98]
jmp 0x14004b0d8
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0xd0]
call fcn.1400059f0
mov rbx, qword [rsp + 0xd0]
cmp dword [rsp + 0xf0], 0
je 0x14004b1c8
test esi, esi
je 0x14004b1c8
xor eax, eax
lea rdi, [0x140222524]
mov rsi, rbx
mov ecx, 3
repe cmpsw word [rsi], word [rdi]
je 0x14004b109
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x14004b1f5
call fcn.140019340
mov edi, eax
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x5c], eax
call fcn.14001bc80
test edi, edi
je 0x14004b202
test eax, eax
je 0x14004b202
xor edx, edx
mov r8d, 0x80
lea rcx, [rsp + 0x2b0]
call fcn.14019d7c0
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rax + 0x1b8]
lea rcx, [rsp + 0x2b0]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, [rsp + 0x198]
mov qword [rsp + 0x20], rdx
mov r9d, 0xf013f
xor r8d, r8d
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionRunOnce
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14004b202
lea rdx, [rsp + 0x2b0]
mov rcx, qword [rsp + 0x198]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rsp + 0x198]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x198], r15
jmp 0x14004b202
xor eax, eax
lea rdi, [0x140222524]
mov rsi, rbx
mov ecx, 3
repe cmpsw word [rsi], word [rdi]
je 0x14004b1e3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x14004b1f5
xor edx, edx
xor ecx, ecx
call fcn.14001e180
mov eax, 1
mov dword [rsp + 0x5c], eax
mov dword [rsp + 0x70], eax
cmp dword [0x140292e28], 0
je 0x14004b22f
xor r9d, r9d
xor r8d, r8d
mov edx, 0x405
mov rcx, qword [r13 + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, r12
mov rcx, r14
call fcn.140065248
nop
cmp dword [rsp + 0x1a0], 0xa
je 0x14004b247
call fcn.14002c410
mov dword [rsp + 0x138], eax
jmp 0x14004b274
mov dword [rsp + 0x1b8], r15d
lea r8, [rsp + 0x220]
lea rdx, [rsp + 0x1b8]
xor ecx, ecx
call fcn.14000f1e0
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x104], eax
mov rdi, qword [rsp + 0x68]
mov r14d, dword [rsp + 0x58]
jmp 0x14004b333
or r13, 0xffffffffffffffff
cmp dword [0x140292e28], 0
je 0x14004b36d
xor r9d, r9d
xor r8d, r8d
mov edx, 0x405
mov rcx, qword [rdi + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, r12
mov rsi, qword [rsp + 0x80]
mov rcx, rsi
call fcn.140065248
jmp 0x14004b375
mov rsi, qword [rsp + 0x80]
test r14d, r14d
je 0x14004b386
call fcn.140030320
mov dword [rsp + 0xb0], eax
cmp dword [0x140292e28], 0
je 0x14004b3b2
xor r9d, r9d
xor r8d, r8d
mov edx, 0x405
mov rcx, qword [rdi + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, r12
mov rcx, rsi
call fcn.140065248
call fcn.140047700
mov r12d, eax
lea rdx, [rbx - 0x18]
mov ecx, r13d
lock xadd dword [rdx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14004b3d6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov r8, qword [rsp + 0x150]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x258]
lea rcx, [rsp + 0x148]
call fcn.14004fd60
nop
mov rcx, qword [rsp + 0x150]
call fcn.14005605c
mov r14, qword [rsp + 0x68]
cmp dword [0x140292e28], 0
je 0x14004b443
xor r9d, r9d
mov edx, 0x402
lea r8d, [r9 + 0x64]
mov rcx, qword [r14 + 0x7e8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x80]
call fcn.140065248
mov eax, dword [rsp + 0x58]
cmp eax, 1
jne 0x14004b55c
call fcn.140026f60
mov ebx, eax
mov r8, qword [rsp + 0xb8]
test eax, eax
jne 0x14004b4b6
xor edx, edx
lea rdi, str.CAPT
mov rsi, qword [r8 + 0x788]
mov ecx, 5
repe cmpsw word [rsi], word [rdi]
je 0x14004b482
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
sete al
test al, al
je 0x14004b4b6
cmp dword [r8 + 0x810], 0
je 0x14004b4b6
call fcn.1400310d0
mov ecx, dword [rsp + 0x90]
test eax, eax
cmove ecx, r15d
mov dword [rsp + 0x90], ecx
mov r8, qword [rsp + 0xb8]
cmp dword [rsp + 0x88], 0
jne 0x14004b4f1
test ebx, ebx
jne 0x14004b558
cmp dword [rsp + 0x140], ebx
je 0x14004b558
mov rax, qword [r8 + 0x260]
cmp dword [rax + 0x80], ebx
je 0x14004b558
call fcn.14001a4a0
mov ecx, eax
mov eax, dword [rsp + 0x58]
jmp 0x14004b560
mov rax, qword [r8 + 0x260]
mov esi, dword [rax + 0x98]
mov edi, dword [rax + 0x88]
call fcn.140046d60
cmp dword [rsp + 0x88], 2
je 0x14004b522
mov edx, 0x55
mov rcx, r14
call fcn.14004e8b0
jmp 0x14004b558
test eax, eax
je 0x14004b546
test edi, edi
je 0x14004b52f
cmp esi, 2
jae 0x14004b546
lea r8, [rsp + 0x220]
mov edx, 1
mov rcx, r14
call fcn.14004e5c0
jmp 0x14004b558
lea rdx, [rsp + 0x220]
mov ecx, 1
call fcn.14004e470
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x60]
cmp dword [rsp + 0x13c], 1
je 0x14004b5b4
cmp dword [rsp + 0xa0], 0
je 0x14004b5b4
test eax, eax
je 0x14004b5b4
cmp dword [rsp + 0x70], 0
je 0x14004b5b4
test ecx, ecx
je 0x14004b5b4
cmp dword [rsp + 0x138], 0
je 0x14004b5b4
test r12d, r12d
je 0x14004b5b4
cmp dword [rsp + 0xb0], 0
je 0x14004b5b4
cmp dword [rsp + 0x8c], 0
je 0x14004b5b4
cmp dword [rsp + 0x90], 0
jne 0x14004b6ea
call fcn.140056384
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x14004b5d4
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 + 0x190], rsi
call fcn.140056384
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x14004b609
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 + 0x1e0], rdi
mov ecx, 0x21
call fcn.140056158
test rax, rax
je 0x14004b64b
mov r8d, 0x21
mov rdx, rax
lea rcx, [rsp + 0x190]
call fcn.140005730
mov rsi, qword [rsp + 0x190]
mov ecx, 3
call fcn.140056158
test rax, rax
je 0x14004b678
mov r8d, 3
mov rdx, rax
lea rcx, [rsp + 0x1e0]
call fcn.140005730
mov rdi, qword [rsp + 0x1e0]
lea rax, [r14 + 0x690]
mov qword [rsp + 0x20], rax
mov r9d, 0x30
mov r8, rdi
mov rdx, rsi
mov rcx, r14
call fcn.140046ea0
call fcn.140059f20
mov rcx, qword [rax + 8]
mov dword [rcx + 0x270], 1
lea rdx, [rdi - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004b6c7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x190]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004b6ea
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xb]
mov rcx, qword [r14 + 0x158]
call qword [sym.imp.USER32.dll_SendMessageW]
mov edi, r15d
mov rbx, qword [rsp + 0xc8]
test ebx, ebx
jle 0x14004b74e
mov edx, edi
lea rcx, [r14 + 0x118]
call fcn.140066210
cmp word [rax], 0x10
jne 0x14004b748
mov rcx, rax
call fcn.14005605c
movsxd r8, edi
xor r9d, r9d
mov edx, 0x1008
mov rcx, qword [r14 + 0x158]
call qword [sym.imp.USER32.dll_SendMessageW]
dec edi
dec ebx
inc edi
cmp edi, ebx
jl 0x14004b710
xor r9d, r9d
lea edx, [r9 + 0xb]
lea r8d, [r9 + 1]
mov rcx, qword [r14 + 0x158]
call qword [sym.imp.USER32.dll_SendMessageW]
call fcn.140046d60
test eax, eax
je 0x14004b807
call fcn.140056384
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x14004b793
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 + 0x178], rdi
mov ecx, 0x38
call fcn.140056158
test rax, rax
je 0x14004b7d5
mov r8d, 0x38
mov rdx, rax
lea rcx, [rsp + 0x178]
call fcn.140005730
mov rdi, qword [rsp + 0x178]
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, r14
call fcn.140046ea0
nop
lea rdx, [rdi - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004b807
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r8, [0x1402209ac]
mov edx, 2
lea rcx, [rsp + 0x1c0]
call fcn.140001370
nop
mov rdx, qword [rsp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004b845
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x170]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004b869
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x110]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004b88d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xf8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004b8b1
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, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004b8d5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x118]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004b8f9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x108]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004b91d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x50]
call fcn.14000f190
nop
mov rbx, qword [rsp + 0x220]
test rbx, rbx
je 0x14004b976
mov rdi, rbx
mov rsi, qword [rsp + 0x228]
cmp rbx, rsi
je 0x14004b96d
cmp qword [rdi + 0x18], 8
jb 0x14004b954
mov rcx, qword [rdi]
call fcn.14005605c
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], r15
mov word [rdi], r15w
add rdi, 0x28
cmp rdi, rsi
jne 0x14004b945
mov rcx, rbx
call fcn.14005605c
nop
mov rdx, qword [rsp + 0x180]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
dec r13d
test r13d, r13d
jg 0x14004b99a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x14004b9dd
mov qword [rsp + 0x200], r15
lea rdx, [rsp + 0x200]
lea rcx, [rsp + 0x268]
call fcn.140198c5c
lea rdx, vtable.std::bad_alloc.0
mov qword [rsp + 0x268], rdx
lea rdx, [0x140265298]
lea rcx, [rsp + 0x268]
call fcn.14019d534
nop
lea rcx, [rsp + 0x1c0]
call fcn.140001320
mov rcx, qword [rsp + 0xfb0]
xor rcx, rsp
call fcn.140198b40
lea r11, [rsp + 0xfc0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret