Function at 0x140024a34
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x908]
sub rsp, 0x9d0
mov qword [rbp + 0x1b0], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x14009a008]
xor rax, rsp
mov qword [rbp + 0x8c0], rax
mov rsi, rdx
mov r12, rcx
lea rcx, [rbp - 0x80]
call fcn.140005bb0
mov r15, rax
mov r14, qword [0x14009d010]
lea rcx, [0x14009cfe0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor r13d, r13d
cmp qword [0x14009cfd8], r13
je 0x140024b52
mov rcx, qword [0x14009cfd0]
mov rdi, qword [rcx + 8]
mov rbx, rcx
cmp byte [rdi + 0x19], r13b
jne 0x140024b3f
mov rdx, qword [r15]
mov eax, r13d
test rdx, rdx
setne al
test eax, eax
je 0x140024b34
mov rcx, qword [rdi + 0x20]
call fcn.140050608
test eax, eax
sets al
test al, al
je 0x140024ae6
mov rdi, qword [rdi + 0x10]
jmp 0x140024aec
mov rbx, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x19], r13b
je 0x140024abe
mov rcx, qword [0x14009cfd0]
cmp rbx, rcx
je 0x140024b3f
mov rdx, qword [rbx + 0x20]
mov eax, r13d
test rdx, rdx
setne al
test eax, eax
jne 0x140024b1a
mov ecx, 0x80004005
call fcn.140006760
int3
mov rcx, qword [r15]
call fcn.140050608
test eax, eax
sets al
mov rcx, qword [0x14009cfd0]
test al, al
je 0x140024b42
jmp 0x140024b3f
mov ecx, 0x80004005
call fcn.140006760
int3
mov rbx, rcx
mov qword [rbp + 0x2c8], rbx
cmp rbx, rcx
je 0x140024b52
mov r14, qword [rbx + 0x28]
lea rcx, [0x14009cfe0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rdx, qword [r15]
sub rdx, 0x18
or r13d, 0xffffffff
mov ecx, r13d
lock xadd dword [rdx + 0x10], ecx
add ecx, r13d
xor ebx, ebx
test ecx, ecx
jg 0x140024b85
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
test r14, r14
je 0x140024b92
mov rax, r14
jmp 0x140026066
xor eax, eax
mov qword [rbp + 0x260], rax
mov qword [rbp + 0x258], rbx
mov dword [rbp + 0x260], ebx
mov qword [rbp + 0x268], rbx
mov qword [rbp + 0x250], rax
lea r8, [0x14009d220]
lea rdx, [0x14009d308]
lea rcx, [rbp + 0xe8]
call fcn.1400059f4
nop
lea r8, [0x14009d248]
mov rdx, rax
lea rcx, [rbp + 0xe0]
call fcn.1400059f4
nop
lea r8, [0x14009d200]
mov rdx, rax
lea rcx, [rbp + 0xd8]
call fcn.1400059f4
nop
lea r8, [0x14009d1e8]
mov rdx, rax
lea rcx, [rbp + 0xd0]
call fcn.1400059f4
nop
lea r8, [0x14009d230]
mov rdx, rax
lea rcx, [rbp + 0xc8]
call fcn.1400059f4
nop
lea r8, [0x14009d1f8]
mov rdx, rax
lea rcx, [rbp + 0xc0]
call fcn.1400059f4
nop
lea r8, [0x14009d1f0]
mov rdx, rax
lea rcx, [rbp + 0xb8]
call fcn.1400059f4
nop
lea r8, [0x14009d100]
mov rdx, rax
lea rcx, [rbp + 0xb0]
call fcn.1400059f4
nop
lea r8, [0x14009d100]
mov rdx, rax
lea rcx, [rbp + 0xa8]
call fcn.1400059f4
nop
lea r8, [0x14009d088]
mov rdx, rax
lea rcx, [rbp + 0xa0]
call fcn.1400059f4
nop
lea rbx, [0x14009d1d0]
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x98]
call fcn.1400059f4
nop
lea rdi, [0x14009d198]
mov r8, rdi
mov rdx, rax
lea rcx, [rbp + 0x90]
call fcn.1400059f4
nop
lea r8, [0x14009d1a8]
mov rdx, rax
lea rcx, [rbp + 0x88]
call fcn.1400059f4
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x80]
call fcn.1400059f4
nop
lea r8, [0x14009d1c0]
mov rdx, rax
lea rcx, [rbp + 0x78]
call fcn.1400059f4
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x70]
call fcn.1400059f4
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rbp + 0x68]
call fcn.1400059f4
nop
lea r15, [0x14009d368]
mov r8, r15
mov rdx, rax
lea rcx, [rbp + 0x60]
call fcn.1400059f4
nop
lea rbx, [0x14009d108]
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x58]
call fcn.1400059f4
nop
lea r8, [0x14009d1c8]
mov rdx, rax
lea rcx, [rbp + 0x50]
call fcn.1400059f4
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rbp + 0x48]
call fcn.1400059f4
nop
lea r14, [0x14009d1b0]
mov r8, r14
mov rdx, rax
lea rcx, [rbp + 0x40]
call fcn.1400059f4
nop
lea r8, [0x14009d190]
mov rdx, rax
lea rcx, [rbp + 0x38]
call fcn.1400059f4
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x30]
call fcn.1400059f4
nop
lea r8, [0x14009d1a8]
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.1400059f4
nop
lea rdi, [0x14009d318]
mov r8, rdi
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.1400059f4
nop
lea r8, [0x14009d300]
mov rdx, rax
lea rcx, [rbp + 0x18]
call fcn.1400059f4
nop
mov r8, r15
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.1400059f4
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 8]
call fcn.1400059f4
nop
lea r8, [0x14009d230]
mov rdx, rax
lea rcx, [rbp]
call fcn.1400059f4
nop
lea r8, [0x14009d300]
mov rdx, rax
lea rcx, [rbp - 8]
call fcn.1400059f4
nop
lea r8, [0x14009d1d8]
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.1400059f4
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rbp - 0x10]
call fcn.1400059f4
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp - 0x18]
call fcn.1400059f4
nop
lea r8, [0x14009d198]
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.1400059f4
nop
lea r8, [0x14009d2c0]
mov rdx, rax
lea rcx, [rbp - 0x28]
call fcn.1400059f4
nop
mov r8, r14
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.1400059f4
nop
lea r8, [0x14009d190]
mov rdx, rax
lea rcx, [rbp - 0x38]
call fcn.1400059f4
nop
lea r8, [0x14009d1c0]
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.1400059f4
nop
lea r8, [0x14009d310]
mov rdx, rax
lea rcx, [rbp - 0x48]
call fcn.1400059f4
nop
lea r8, [0x14009d198]
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.1400059f4
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rbp - 0x58]
call fcn.1400059f4
nop
lea r8, [0x14009d358]
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400059f4
nop
mov r8, r14
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.1400059f4
nop
mov r8, r15
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.1400059f4
nop
lea r8, [0x14009d2c0]
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.1400059f4
nop
lea r8, [0x14009d0d8]
mov rdx, rax
lea rcx, [rbp + 0x250]
call fcn.1400059f4
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
xor r15d, r15d
test eax, eax
jg 0x140024f96
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140024fb7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140024fd8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140024ffa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14002501b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14002503c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14002505d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14002507e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14002509f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400250c0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400250e1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025102
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x18]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025123
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025144
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025165
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025186
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400251a7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400251c8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400251e9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x18]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14002520a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14002522b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14002524c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14002526d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14002528e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400252af
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400252d0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400252f1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025312
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025333
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025354
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025375
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025396
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400253ba
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400253de
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025402
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025426
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14002544a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14002546e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025492
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xb8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400254b6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400254da
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400254fe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xd0]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025522
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xd8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025546
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xe0]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14002556a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xe8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14002558d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r8, qword [rbp + 0x250]
mov rdx, 0xffffffff80000001
lea rcx, [rbp + 0x258]
call fcn.14003ce1c
test eax, eax
jne 0x140026029
xor eax, eax
mov qword [rbp + 0x240], rax
lea r8, [0x14009d230]
lea rdx, [0x14009d370]
lea rcx, [rbp + 0xf8]
call fcn.1400059f4
nop
lea r8, [0x14009d2a8]
mov rdx, rax
lea rcx, [rbp + 0xf0]
call fcn.1400059f4
nop
lea r8, [0x14009d1f0]
mov rdx, rax
lea rcx, [rbp + 0x240]
call fcn.1400059f4
nop
mov rdx, qword [rbp + 0xf0]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025625
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xf8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025648
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov dword [rbp + 0x230], 0x208
lea rax, [rbp + 0x230]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x6b0]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x248]
xor r8d, r8d
mov rdx, qword [rbp + 0x240]
mov r14, qword [rbp + 0x258]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140025743
mov eax, dword [rbp + 0x248]
dec eax
cmp eax, 1
ja 0x140025743
mov eax, dword [rbp + 0x230]
test eax, eax
je 0x1400256c6
test al, 1
jne 0x140025743
shr rax, 1
cmp word [rbp + rax*2 + 0x6ae], r15w
je 0x1400256ce
jmp 0x140025743
mov word [rbp + 0x6b0], r15w
mov eax, r15d
test eax, eax
jne 0x140025743
lea rcx, [rbp + 0x6b0]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
je 0x140025743
mov rdx, rsi
lea rcx, [rbp + 0x6b0]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
test eax, eax
je 0x140025743
lea rax, [rbp + 0x100]
mov qword [rsp + 0x70], rax
lea rdx, [rbp + 0x6b0]
lea rcx, [rbp + 0x100]
call fcn.140005bb0
mov rbx, rax
mov rdx, rsi
lea rcx, [rbp + 0x108]
call fcn.140005bb0
nop
mov r8, rbx
mov rdx, rax
call fcn.14002499c
mov rdi, rax
test rax, rax
jne 0x140025f65
test r14, r14
je 0x140025758
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rbp + 0x258], r15
mov dword [rbp + 0x260], r15d
mov edi, 0x104
mov r8d, edi
lea rdx, [rbp + 0x4a0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x140026006
lea rcx, [rbp + 0x4a0]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
je 0x140026006
xor eax, eax
mov qword [rbp + 0x238], rax
lea r8, [0x14009d1f8]
lea r14, [0x14009d200]
mov rdx, r14
lea rcx, [rbp + 0x130]
call fcn.1400059f4
nop
lea r8, [0x14009d1f0]
mov rdx, rax
lea rcx, [rbp + 0x128]
call fcn.1400059f4
nop
lea r8, [0x14009d1f0]
mov rdx, rax
lea rcx, [rbp + 0x120]
call fcn.1400059f4
nop
lea r8, [0x14009d0e8]
mov rdx, rax
lea rcx, [rbp + 0x118]
call fcn.1400059f4
nop
lea r8, [0x14009d260]
mov rdx, rax
lea rcx, [rbp + 0x110]
call fcn.1400059f4
nop
lea r8, [0x14009d238]
mov rdx, rax
lea rcx, [rbp + 0x238]
call fcn.1400059f4
nop
mov rdx, qword [rbp + 0x110]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025851
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x118]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025875
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x120]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025899
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x128]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400258bd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x130]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400258e0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rbp + 0x238]
lea rcx, [rbp + 0x4a0]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
test eax, eax
je 0x140025fe2
mov qword [rbp + 0x2c0], 0xf
mov qword [rbp + 0x2b8], r15
mov byte [rbp + 0x2a8], r15b
mov qword [rbp + 0x1a8], 7
mov qword [rbp + 0x1a0], r15
mov word [rbp + 0x190], r15w
cmp word [rbp + 0x4a0], r15w
jne 0x14002593e
mov rax, r15
jmp 0x14002594a
lea rcx, [rbp + 0x4a0]
call fcn.140047f58
mov r8, rax
lea rdx, [rbp + 0x4a0]
lea rcx, [rbp + 0x190]
call fcn.14002e908
nop
lea r8, [rbp + 0x2a8]
lea rdx, [rbp + 0x190]
call fcn.140024614
test eax, eax
setne bl
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x190]
call fcn.14002e888
test bl, bl
je 0x1400259e3
lea rcx, [rbp + 0x4a0]
call qword [sym.imp.SHLWAPI.dll_PathStripPathW]
lea rdx, [rbp + 0x4a0]
lea rcx, [rsp + 0x48]
call fcn.140005bb0
nop
lea r8, [rbp + 0x2a8]
lea rdx, [rsp + 0x48]
mov rcx, r12
call fcn.140013f10
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400259e3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp qword [rbp + 0x2b8], r15
sete al
test al, al
jne 0x140025fd5
xor eax, eax
mov qword [rbp + 0x270], rax
mov qword [rbp + 0x278], rax
and dword [rbp + 0x278], 0xfffffe00
mov qword [rbp + 0x280], r15
xor edx, edx
mov r8d, 0xc0
lea rcx, [rbp + 0x2d0]
call fcn.1400463f0
lea rcx, [rbp + 0x2d0]
call fcn.1400076ec
nop
lea r8, [rbp + 0x270]
lea rdx, [rbp + 0x2a8]
lea rcx, [rbp + 0x2d0]
call fcn.1400077e0
test al, al
je 0x140025fbb
call fcn.140006438
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x140025a79
mov ecx, 0x80004005
call fcn.140006760
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x288], rax
lea r8, [0x14009d2a0]
lea rdx, [0x14009d218]
lea rcx, [rsp + 0x60]
call fcn.1400059f4
nop
lea r8, [0x14009d238]
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.1400059f4
nop
mov r8, r14
mov rdx, rax
lea rcx, [rbp + 0x188]
call fcn.1400059f4
nop
lea r8, [0x14009d230]
mov rdx, rax
lea rcx, [rbp + 0x180]
call fcn.1400059f4
nop
lea r8, [0x14009d270]
mov rdx, rax
lea rcx, [rbp + 0x178]
call fcn.1400059f4
nop
lea r8, [0x14009d270]
mov rdx, rax
lea rcx, [rbp + 0x170]
call fcn.1400059f4
nop
lea r8, [0x14009d130]
mov rdx, rax
lea rcx, [rbp + 0x168]
call fcn.1400059f4
nop
lea r8, [0x14009d228]
mov rdx, rax
lea rcx, [rbp + 0x160]
call fcn.1400059f4
nop
lea r8, [0x14009d230]
mov rdx, rax
lea rcx, [rbp + 0x158]
call fcn.1400059f4
nop
mov r8, r14
mov rdx, rax
lea rcx, [rbp + 0x150]
call fcn.1400059f4
nop
lea r8, [0x14009d258]
mov rdx, rax
lea rcx, [rbp + 0x148]
call fcn.1400059f4
nop
lea r8, [0x14009d1a0]
mov rdx, rax
lea rcx, [rbp + 0x140]
call fcn.1400059f4
nop
lea r8, [0x14009d198]
mov rdx, rax
lea rcx, [rbp + 0x138]
call fcn.1400059f4
nop
mov rdx, qword [rax]
lea rcx, [rbp + 0x288]
call fcn.14002cfe8
nop
mov rdx, qword [rbp + 0x138]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025be4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x140]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025c08
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x148]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025c2c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x150]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025c50
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x158]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025c74
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x160]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025c98
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x168]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025cbc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x170]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025ce0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x178]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025d04
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x180]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025d28
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x188]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025d4c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025d6e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025d8f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
mov qword [rbp + 0x290], rax
mov qword [rbp + 0x298], rax
mov qword [rbp + 0x2a0], rax
lea rdx, [0x14007c000]
lea rcx, [rbp + 0x1b8]
call fcn.14000b1a8
nop
lea r9, [rbp + 0x1b8]
mov rbx, qword [rbp + 0x288]
mov r8, rbx
lea rdx, [rbp + 0x290]
lea rcx, [rbp + 0x270]
call fcn.14000b93c
nop
lea rcx, [rbp + 0x1b8]
call fcn.14000b308
cmp byte [rbp + 0x298], 4
jne 0x140025f91
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x290]
call fcn.14000b470
cmp qword [rax + 0x18], 0x10
jb 0x140025e15
mov rax, qword [rax]
mov r8, rax
mov rdx, rdi
lea rcx, [rbp + 0x390]
call fcn.140052500
lea rcx, [rbp + 0x1f0]
call fcn.1400096c0
lea rcx, [rbp + 0x390]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
test eax, eax
je 0x140025f91
mov rdx, rsi
lea rcx, [rbp + 0x1d0]
call fcn.14002aef0
nop
lea r8, [rbp + 0x1d0]
lea rdx, [rbp + 0x210]
call fcn.1400261bc
cmp qword [rax + 0x18], 0x10
jb 0x140025e75
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0x390]
call qword [sym.imp.SHLWAPI.dll_PathAppendA]
mov edi, eax
lea rcx, [rbp + 0x210]
call fcn.1400096c0
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x1d0]
call fcn.14002e888
test edi, edi
je 0x140025f91
lea rax, [rsp + 0x68]
mov qword [rsp + 0x78], rax
lea rdx, [rbp + 0x390]
lea rcx, [rsp + 0x68]
call fcn.14002d11c
mov rdi, rax
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.140005bb0
nop
mov r8, rdi
mov rdx, rax
call fcn.14002499c
mov rdi, rax
test rax, rax
je 0x140025f91
lea rcx, [rbp + 0x290]
call fcn.14000b308
nop
lea rdx, [rbx - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025f1a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rbp + 0x2d0]
call fcn.140009324
nop
lea rcx, [rbp + 0x270]
call fcn.14000b308
nop
lea rcx, [rbp + 0x2a8]
call fcn.1400096c0
nop
mov rdx, qword [rbp + 0x238]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025f65
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x240]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14002602c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14002602c
lea rcx, [rbp + 0x290]
call fcn.14000b308
nop
lea rdx, [rbx - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140025fbb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rbp + 0x2d0]
call fcn.140009324
nop
lea rcx, [rbp + 0x270]
call fcn.14000b308
nop
lea rcx, [rbp + 0x2a8]
call fcn.1400096c0
nop
mov rdx, qword [rbp + 0x238]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140026006
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x240]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140026029
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, r15
mov rdx, qword [rbp + 0x250]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140026051
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
nop
mov rcx, qword [rbp + 0x258]
test rcx, rcx
je 0x140026063
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rax, rdi
mov rcx, qword [rbp + 0x8c0]
xor rcx, rsp
call fcn.140041c20
mov rbx, qword [rsp + 0xa20]
add rsp, 0x9d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret