Function at 0x14000edf0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push rdi
lea rbp, [rsp - 0xcef0]
mov eax, 0xcff0
call fcn.14019ceb0
sub rsp, rax
mov qword [rbp + 0x70], 0xfffffffffffffffe
mov qword [rsp + 0xd028], rbx
mov rax, qword [0x1402669b0]
xor rax, rsp
mov qword [rbp + 0xcee0], rax
mov rax, r8
mov qword [rbp - 0x70], rax
mov rdi, rdx
mov qword [rbp + 0x18], rdx
mov rsi, rcx
mov qword [rbp - 0x48], rcx
mov qword [rbp + 0x78], rax
call fcn.140024fb0
mov rcx, rax
xor r8d, r8d
test rax, rax
setne r8b
test r8d, r8d
jne 0x14000ee65
mov ecx, 0x80004005
call fcn.14001bed0
int3
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x38], rbx
call fcn.140024fb0
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x14000ee93
mov ecx, 0x80004005
call fcn.14001bed0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x78], rax
cmp rdi, 0xffffffff80000000
jne 0x14000eebc
mov r8d, 0x11
lea rdx, str.HKEY_CLASSES_ROOT
jmp 0x14000ef06
cmp rdi, 0xffffffff80000001
jne 0x14000eed4
mov r8d, 0x11
lea rdx, str.HKEY_CURRENT_USER
jmp 0x14000ef06
cmp rdi, 0xffffffff80000002
jne 0x14000eeec
mov r8d, 0x12
lea rdx, str.HKEY_LOCAL_MACHINE
jmp 0x14000ef06
cmp rdi, 0xffffffff80000003
jne 0x14001017d
mov r8d, 0xa
lea rdx, str.HKEY_USERS
lea rcx, [rbp - 0x78]
call fcn.14001bef0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rax, qword [rbp - 0x70]
mov rdx, qword [rax]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
or edi, 0xffffffff
test eax, eax
jne 0x14001011d
lea r8, [0x140222b6c]
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0x38]
call fcn.14001b6b0
nop
mov r8, qword [rbp - 0x70]
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.14001b0c0
nop
lea r8, [0x140222810]
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.14001b6b0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14000efce
cmp dword [rbx + 0x10], 0
jl 0x14000efbf
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14000efbf
call fcn.14001b870
mov rsi, rax
lock add dword [rbx + 0x10], edi
jg 0x14000efb0
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rsi + 0x18]
mov qword [rsp + 0x38], rax
mov rsi, qword [rbp - 0x48]
jmp 0x14000efce
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x38]
call fcn.14001bef0
nop
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000efe7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x28]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000f000
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x38]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000f018
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x38]
mov ebx, dword [rdi - 0x10]
cmp dword [rdi - 8], 1
jle 0x14000f037
mov edx, ebx
lea rcx, [rsp + 0x38]
call fcn.14001bd60
mov rdi, qword [rsp + 0x38]
mov rax, qword [rsi]
mov r8d, ebx
mov rdx, rdi
mov rcx, rsi
call qword [rax + 0x78]
lea rbx, [rdi - 0xc]
mov qword [rbp - 0x50], rbx
movsxd rdx, dword [rbx]
mov rcx, rdi
call fcn.14019ad18
test eax, eax
js 0x140010112
cmp eax, dword [rbx]
jg 0x140010112
lea rcx, [rdi - 0x10]
mov qword [rbp - 0x40], rcx
mov dword [rcx], eax
cdqe
mov byte [rax + rdi], 0
call fcn.140024fb0
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x14000f098
mov ecx, 0x80004005
call fcn.14001bed0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x60], rbx
call fcn.140024fb0
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x14000f0c9
mov ecx, 0x80004005
call fcn.14001bed0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rsi, [rax + 0x18]
mov qword [rsp + 0x48], rsi
call fcn.140024fb0
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x14000f0fa
mov ecx, 0x80004005
call fcn.14001bed0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
lea rax, [fcn.14001bad0]
mov qword [rsp + 0x20], rax
lea r9, [fcn.14001ba90]
mov edx, 8
mov r8d, 0x400
lea rcx, [rbp + 0xa4d8]
call fcn.14019a884
nop
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp + 0x60b0]
call fcn.14000ebe0
nop
mov rdx, rax
lea rcx, [rbp + 0xa4d0]
call fcn.140010220
nop
lea r9, [fcn.14001bad0]
mov edx, 8
mov r8d, 0x400
lea rcx, [rbp + 0x60b8]
call fcn.14019a8ec
mov dword [rsp + 0x40], 0
cmp dword [rbp + 0xa4d0], 0
jbe 0x14000fc69
nop dword [rax]
lea rdx, [rsi - 0x18]
mov rcx, qword [rdx]
mov qword [rsp + 0x50], rcx
cmp dword [rdx + 8], 0
je 0x14000f1ec
cmp dword [rdx + 0x10], 0
jge 0x14000f1be
cmp dword [rsi - 0xc], 0
jl 0x14000fbe5
mov dword [rsi - 0x10], 0
mov byte [rsi], 0
jmp 0x14000f1ec
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000f1d3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x30]
lea rdx, [rax - 0x18]
mov rsi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14000f246
cmp dword [rdx + 0x10], 0
jge 0x14000f21a
cmp dword [rax - 0xc], 0
jl 0x14000fbf0
mov dword [rax - 0x10], 0
mov byte [rax], 0
jmp 0x14000f246
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000f22a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x60]
mov eax, dword [rsp + 0x40]
mov r8, qword [rbp + rax*8 + 0xa4d8]
mov qword [rbp - 0x58], r8
lea rcx, [r8 - 0x18]
lea rsi, [rbx - 0x18]
cmp rcx, rsi
je 0x14000f395
cmp dword [rsi + 0x10], 0
jl 0x14000f2a4
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x14000f2a4
call fcn.14001b870
mov rbx, rax
lock add dword [rsi + 0x10], 0xffffffff
jg 0x14000f291
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
add rbx, 0x18
mov qword [rsp + 0x60], rbx
mov rdi, qword [rsp + 0x38]
jmp 0x14000f395
mov edx, dword [r8 - 0x10]
mov dword [rsp + 0x58], edx
test edx, edx
jne 0x14000f30a
mov rcx, qword [rsi]
mov qword [rsp + 0x50], rcx
cmp dword [rsi + 8], edx
je 0x14000f395
cmp dword [rsi + 0x10], edx
jge 0x14000f2d9
cmp dword [rbx - 0xc], edx
jl 0x14000fbfb
mov dword [rbx - 0x10], edx
mov byte [rbx], dl
jmp 0x14000f395
lock add dword [rsi + 0x10], 0xffffffff
jg 0x14000f2f1
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x60], rbx
mov rdi, qword [rsp + 0x38]
jmp 0x14000f395
test r8, r8
je 0x14000fc1c
mov eax, dword [rbx - 0x10]
mov dword [rsp + 0x50], eax
mov r9, r8
sub r9, rbx
mov qword [rbp - 0x80], r9
test edx, edx
js 0x14000fc11
mov ecx, 1
sub ecx, dword [rsi + 0x10]
mov eax, dword [rsi + 0xc]
sub eax, edx
or eax, ecx
jge 0x14000f358
lea rcx, [rsp + 0x60]
call fcn.14001be70
mov rbx, qword [rsp + 0x60]
mov edx, dword [rsp + 0x58]
mov r8, qword [rbp - 0x58]
mov r9, qword [rbp - 0x80]
mov eax, dword [rsp + 0x50]
movsxd rsi, edx
mov rcx, rbx
movsxd rdx, dword [rbx - 0xc]
cmp r9, rax
ja 0x14000f379
lea r8, [r9 + rbx]
mov r9, rsi
call fcn.14019a830
jmp 0x14000f381
mov r9, rsi
call fcn.14019a7a8
mov eax, dword [rsp + 0x58]
cmp eax, dword [rbx - 0xc]
jg 0x14000fc06
mov dword [rbx - 0x10], eax
mov byte [rsi + rbx], 0
mov ecx, dword [rsp + 0x40]
movzx eax, byte [rbp + rcx + 0xc4d8]
cmp eax, 0xb
ja case.default.0x14000f3bb
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x101ec]
add rcx, rdx
jmp rcx
lea rdx, str._TYPE__0_
mov r8d, 0xa
lea rcx, [rsp + 0x48]
call fcn.14001bef0
mov r8d, 3
lea rdx, [0x1402232e4]
lea rcx, [rsp + 0x30]
call fcn.14001bef0
jmp case.default.0x14000f3bb
mov r8d, 6
lea rdx, str.REG_SZ
lea rcx, [rsp + 0x48]
call fcn.14001bef0
lea rcx, [rbx - 0x18]
call fcn.14001b870
add rax, 0x18
mov qword [rbp - 0x10], rax
lea r8, [rbp - 0x10]
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp - 0x30]
call fcn.140010520
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x30]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14000f484
cmp dword [rbx + 0x10], 0
jl 0x14000f475
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14000f475
call fcn.14001b870
mov rdi, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x14000f46a
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x30], rax
jmp 0x14000f484
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x30]
call fcn.14001bef0
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000f49c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x38]
jmp case.default.0x14000f3bb
mov r8d, 0xd
lea rdx, str.REG_EXPAND_SZ
lea rcx, [rsp + 0x48]
call fcn.14001bef0
lea rcx, [rbx - 0x18]
call fcn.14001b870
add rax, 0x18
mov qword [rbp], rax
lea r8, [rbp]
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp + 0x48]
call fcn.140010520
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x30]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14000f53a
cmp dword [rbx + 0x10], 0
jl 0x14000f52b
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14000f52b
call fcn.14001b870
mov rdi, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x14000f520
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x30], rax
jmp 0x14000f53a
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x30]
call fcn.14001bef0
nop
mov rdx, qword [rbp + 0x48]
jmp 0x14000f488
mov dword [rsp + 0x68], 0
mov byte [rbp + 0xc8e0], 0
xor edx, edx
mov r8d, 0x1ff
lea rcx, [rbp + 0xc8e1]
call fcn.14019c230
call fcn.140024fb0
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14000fc27
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp - 0x38], rdi
mov dword [rsp + 0x58], 0
mov r8d, 0xa
lea rdx, str.REG_BINARY
lea rcx, [rsp + 0x48]
call fcn.14001bef0
lea rcx, [rbx - 0x18]
call fcn.14001b870
add rax, 0x18
mov qword [rbp + 0x10], rax
lea r8, [rsp + 0x68]
lea rdx, [rbp + 0x10]
mov rcx, qword [rsp + 0x70]
call fcn.1400103d0
mov r8d, dword [rsp + 0x68]
mov rdx, rax
lea rcx, [rbp + 0xc8e0]
call fcn.1401a0010
xor r8d, r8d
lea rdx, [0x140225ea8]
lea rcx, [rsp + 0x30]
call fcn.14001bef0
xor esi, esi
cmp dword [rsp + 0x68], esi
jbe 0x14000f71c
lea rax, [rbp + 0xc8e0]
mov qword [rsp + 0x50], rax
nop
movzx r8d, byte [rax]
lea rdx, [0x140223094]
lea rcx, [rbp - 0x38]
call fcn.14001b830
lea rdx, str.Option
mov rcx, rbx
call fcn.14019add8
test eax, eax
sete al
test al, al
jne 0x14000f69c
lea rdx, str.Scroll
mov rcx, rbx
call fcn.14019add8
test eax, eax
sete al
test al, al
jne 0x14000f69c
lea rdx, str.Zoom
mov rcx, rbx
call fcn.14019add8
test eax, eax
sete al
test al, al
jne 0x14000f69c
lea rdx, str.Touch_Scroll
mov rcx, rbx
call fcn.14019add8
test eax, eax
sete al
test al, al
jne 0x14000f69c
lea rdx, str.Touch_Zoom
mov rcx, rbx
call fcn.14019add8
test eax, eax
sete al
test al, al
je 0x14000f6ee
test sil, 7
jne 0x14000f6ee
mov eax, dword [rsp + 0x58]
inc eax
mov dword [rsp + 0x58], eax
cmp eax, 2
jb 0x14000f6ee
mov r8d, 0x12
lea rdx, str._r_n_t
lea rcx, [rsp + 0x30]
call fcn.14001b390
xor edi, edi
cmp dword [rbx - 0x10], edi
jle 0x14000f6ee
nop
mov r8d, 1
lea rdx, [0x140223080]
lea rcx, [rsp + 0x30]
call fcn.14001b390
inc edi
cmp edi, dword [rbx - 0x10]
jl 0x14000f6d0
mov rdi, qword [rbp - 0x38]
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.14001b390
inc esi
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
cmp esi, dword [rsp + 0x68]
jb 0x14000f610
lea rdx, [rdi - 0x18]
jmp 0x14000f48c
mov r8d, 9
lea rdx, str.REG_DWORD
lea rcx, [rsp + 0x48]
call fcn.14001bef0
lea rcx, [rbx - 0x18]
call fcn.14001b870
add rax, 0x18
mov qword [rbp + 0x58], rax
lea rdx, [rbp + 0x58]
mov rcx, qword [rsp + 0x70]
call fcn.1400104a0
lea rdx, str.0x_.8X
jmp 0x14000f909
lea rdx, str._TYPE__5_
jmp 0x14000f3c4
lea rdx, str._TYPE__6_
jmp 0x14000f3c4
lea rsi, [fcn.14001bad0]
mov qword [rsp + 0x20], rsi
lea r9, [fcn.14001ba90]
mov edx, 8
mov r8d, 0x400
lea rcx, [rbp + 0x88]
call fcn.14019a884
nop
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rdx, str.REG_MULTI_SZ
lea rcx, [rsp + 0x48]
call fcn.14001bef0
mov dword [rbp - 0x60], 0x400
lea rax, [rbp - 0x60]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xcae0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov r8d, dword [rbp - 0x60]
lea rdx, [rbp + 0xcae0]
lea rcx, [rbp + 0x2090]
call fcn.14000c5b0
nop
mov rdx, rax
lea rcx, [rbp + 0x80]
call fcn.140009820
nop
mov r9, rsi
mov edx, 8
mov r8d, 0x400
lea rcx, [rbp + 0x2098]
call fcn.14019a8ec
xor ebx, ebx
cmp dword [rbp + 0x80], ebx
jbe 0x14000f886
nop dword [rax]
mov rdx, qword [rbp + rbx*8 + 0x88]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x30]
call fcn.14001b390
mov ecx, dword [rbp + 0x80]
lea eax, [rcx - 1]
cmp ebx, eax
je 0x14000f880
mov r8d, 1
lea rdx, [0x140223080]
lea rcx, [rsp + 0x30]
call fcn.14001b390
mov ecx, dword [rbp + 0x80]
inc ebx
cmp ebx, ecx
jb 0x14000f840
mov r9, rsi
mov edx, 8
mov r8d, 0x400
lea rcx, [rbp + 0x88]
call fcn.14019a8ec
jmp case.default.0x14000f3bb
lea rdx, str._TYPE__8_
jmp 0x14000f3c4
lea rdx, str._TYPE__9_
jmp 0x14000f3c4
mov r8d, VariantTimeToDosDateTime
lea rdx, str._TYPE__10_
jmp 0x14000f3ca
mov r8d, 9
lea rdx, str.REG_QWORD
lea rcx, [rsp + 0x48]
call fcn.14001bef0
lea rcx, [rbx - 0x18]
call fcn.14001b870
add rax, 0x18
mov qword [rbp + 0x20], rax
lea rdx, [rbp + 0x20]
mov rcx, qword [rsp + 0x70]
call fcn.1400104a0
lea rdx, str.0x_.16X
mov r8d, eax
lea rcx, [rsp + 0x30]
call fcn.14001b830
lea r8, [rsp + 0x60]
lea rdx, reloc.OLEAUT32.dll_VariantCopy
lea rcx, [rbp - 0x28]
call fcn.14001b4d0
nop
lea r8, [0x1402233f4]
mov rdx, rax
lea rcx, [rbp + 0x60]
call fcn.14001b6b0
nop
lea r8, [rsp + 0x48]
mov rdx, rax
lea rcx, [rbp + 0x40]
call fcn.14001b0c0
nop
lea r8, [0x1402233f0]
mov rdx, rax
lea rcx, [rbp + 0x50]
call fcn.14001b6b0
nop
lea r8, [rsp + 0x30]
mov rdx, rax
lea rcx, [rbp + 0x30]
call fcn.14001b0c0
nop
lea r8, [0x140222810]
mov rdx, rax
lea rcx, [rbp + 0x68]
call fcn.14001b6b0
nop
mov r8, qword [rax]
mov qword [rbp - 0x58], r8
lea rcx, [r8 - 0x18]
lea rbx, [rdi - 0x18]
cmp rcx, rbx
je 0x14000fac9
cmp dword [rbx + 0x10], 0
jl 0x14000f9dc
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14000f9dc
call fcn.14001b870
mov rdi, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x14000f9ce
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x38], rax
jmp 0x14000fac9
movsxd rsi, dword [r8 - 0x10]
test esi, esi
jne 0x14000fa40
mov rsi, qword [rbx]
cmp dword [rbx + 8], 0
je 0x14000fac9
cmp dword [rbx + 0x10], 0
jge 0x14000fa16
mov rax, qword [rbp - 0x50]
cmp dword [rax], 0
jl 0x14000fc32
mov rax, qword [rbp - 0x40]
mov dword [rax], 0
mov byte [rdi], 0
jmp 0x14000fac9
lock add dword [rbx + 0x10], 0xffffffff
jg 0x14000fa29
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
jmp 0x14000fac9
test r8, r8
je 0x14000fc53
mov rax, qword [rbp - 0x40]
mov eax, dword [rax]
mov dword [rsp + 0x50], eax
mov rdx, r8
sub rdx, rdi
mov qword [rbp - 0x80], rdx
test esi, esi
js 0x14000fc48
mov ecx, 1
sub ecx, dword [rbx + 0x10]
mov eax, dword [rbx + 0xc]
sub eax, esi
or eax, ecx
jge 0x14000fa8f
mov edx, esi
lea rcx, [rsp + 0x38]
call fcn.14001be70
mov rdi, qword [rsp + 0x38]
mov rdx, qword [rbp - 0x80]
mov r8, qword [rbp - 0x58]
mov eax, dword [rsp + 0x50]
mov rbx, rsi
mov r9, rsi
mov rcx, rdi
cmp rdx, rax
ja 0x14000fab0
lea r8, [rdx + rdi]
movsxd rdx, dword [rdi - 0xc]
call fcn.14019a830
jmp 0x14000fab9
movsxd rdx, dword [rdi - 0xc]
call fcn.14019a7a8
cmp esi, dword [rdi - 0xc]
jg 0x14000fc3d
mov dword [rdi - 0x10], esi
mov byte [rbx + rdi], 0
mov rdx, qword [rbp + 0x68]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000fae2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000fafb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000fb14
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000fb2d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x60]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000fb46
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000fb5e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x38]
mov ebx, dword [rdi - 0x10]
cmp dword [rdi - 8], 1
jle 0x14000fb7d
mov edx, ebx
lea rcx, [rsp + 0x38]
call fcn.14001bd60
mov rdi, qword [rsp + 0x38]
mov rcx, qword [rbp - 0x48]
mov rax, qword [rcx]
mov r8d, ebx
mov rdx, rdi
call qword [rax + 0x78]
lea rbx, [rdi - 0xc]
mov qword [rbp - 0x50], rbx
movsxd rdx, dword [rbx]
mov rcx, rdi
call fcn.14019ad18
test eax, eax
js 0x14000fc5e
cmp eax, dword [rbx]
jg 0x14000fc5e
lea rcx, [rdi - 0x10]
mov qword [rbp - 0x40], rcx
mov dword [rcx], eax
cdqe
mov byte [rax + rdi], 0
mov eax, dword [rsp + 0x40]
inc eax
mov dword [rsp + 0x40], eax
cmp eax, dword [rbp + 0xa4d0]
jae 0x14000fc69
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x48]
jmp 0x14000f190
mov ecx, 0x80070057
call fcn.14001bed0
int3
mov ecx, 0x80070057
call fcn.14001bed0
int3
mov ecx, 0x80070057
call fcn.14001bed0
int3
mov ecx, 0x80070057
call fcn.14001bed0
int3
mov ecx, 0x80070057
call fcn.14001bed0
int3
mov ecx, 0x80070057
call fcn.14001bed0
int3
mov ecx, 0x80004005
call fcn.14001bed0
nop
mov ecx, 0x80070057
call fcn.14001bed0
int3
mov ecx, 0x80070057
call fcn.14001bed0
int3
mov ecx, 0x80070057
call fcn.14001bed0
int3
mov ecx, 0x80070057
call fcn.14001bed0
nop
mov ecx, 0x80070057
call fcn.14001bed0
int3
call fcn.140024fb0
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x14000fc88
mov ecx, 0x80004005
call fcn.14001bed0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
call fcn.140024fb0
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x14000fcb9
mov ecx, 0x80004005
call fcn.14001bed0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x68], rax
lea rax, [fcn.14001bad0]
mov qword [rsp + 0x20], rax
lea r9, [fcn.14001ba90]
mov edx, 8
mov r8d, 0x400
lea rcx, [rbp + 0x40a8]
call fcn.14019a884
nop
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp + 0x84c0]
call fcn.14000ea20
nop
mov ecx, dword [rax]
mov dword [rbp + 0x40a0], ecx
lea rdi, [rbp + 0x40a8]
lea rcx, [rbp + 0x40a8]
sub rax, rcx
add rax, 8
mov qword [rbp - 0x50], rax
mov esi, 0x400
nop dword [rax]
mov rdx, qword [rax + rdi]
lea rcx, [rdx - 0x18]
mov rbx, qword [rdi]
sub rbx, 0x18
cmp rcx, rbx
je 0x14000fd8c
cmp dword [rbx + 0x10], 0
jl 0x14000fd7c
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14000fd7c
call fcn.14001b870
mov qword [rbp - 0x80], rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x14000fd73
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov rax, qword [rbp - 0x80]
add rax, 0x18
mov qword [rdi], rax
jmp 0x14000fd88
mov r8d, dword [rdx - 0x10]
mov rcx, rdi
call fcn.14001bef0
mov rax, qword [rbp - 0x50]
add rdi, 8
dec rsi
jne 0x14000fd30
lea rbx, [fcn.14001bad0]
mov r9, rbx
lea edx, [rsi + 8]
mov r8d, 0x400
lea rcx, [rbp + 0x84c8]
call fcn.14019a8ec
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [rsp + 0x40], esi
cmp dword [rbp + 0x40a0], esi
jbe 0x140010058
mov rbx, qword [rsp + 0x78]
nop dword [rax]
nop dword [rax + rax]
mov r8, qword [rbp + rsi*8 + 0x40a8]
mov qword [rbp - 0x80], r8
lea rcx, [r8 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x14000ff1d
cmp dword [rdi + 0x10], 0
jl 0x14000fe35
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14000fe35
call fcn.14001b870
mov rbx, rax
lock add dword [rdi + 0x10], 0xffffffff
jg 0x14000fe27
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
add rbx, 0x18
mov qword [rsp + 0x78], rbx
jmp 0x14000ff1d
movsxd rsi, dword [r8 - 0x10]
test esi, esi
jne 0x14000fe93
mov rsi, qword [rdi]
cmp dword [rdi + 8], 0
je 0x14000ff19
cmp dword [rdi + 0x10], 0
jge 0x14000fe69
cmp dword [rbx - 0xc], 0
jl 0x140010025
mov dword [rbx - 0x10], 0
mov byte [rbx], 0
jmp 0x14000ff19
lock add dword [rdi + 0x10], 0xffffffff
jg 0x14000fe7c
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]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x78], rbx
jmp 0x14000ff19
test r8, r8
je 0x140010046
mov eax, dword [rbx - 0x10]
mov dword [rsp + 0x50], eax
mov rdx, r8
sub rdx, rbx
mov qword [rbp - 0x58], rdx
test esi, esi
js 0x14001003b
mov ecx, 1
sub ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, esi
or eax, ecx
jge 0x14000fedf
mov edx, esi
lea rcx, [rsp + 0x78]
call fcn.14001be70
mov rbx, qword [rsp + 0x78]
mov r8, qword [rbp - 0x80]
mov rdx, qword [rbp - 0x58]
mov eax, dword [rsp + 0x50]
mov rdi, rsi
mov r9, rsi
mov rcx, rbx
cmp rdx, rax
ja 0x14000ff00
lea r8, [rdx + rbx]
movsxd rdx, dword [rbx - 0xc]
call fcn.14019a830
jmp 0x14000ff09
movsxd rdx, dword [rbx - 0xc]
call fcn.14019a7a8
cmp esi, dword [rbx - 0xc]
jg 0x140010030
mov dword [rbx - 0x10], esi
mov byte [rdi + rbx], 0
mov esi, dword [rsp + 0x40]
lea rdx, [0x140225ea8]
mov rcx, rbx
call fcn.14019add8
test eax, eax
setne al
test al, al
je 0x140010012
lea r8, [0x140222b6c]
mov rdx, qword [rbp - 0x70]
lea rcx, [rbp - 8]
call fcn.14001b6b0
nop
lea r8, [rsp + 0x78]
mov rdx, rax
lea rcx, [rbp - 0x18]
call fcn.14001b0c0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp - 0x68]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14000ffb6
cmp dword [rbx + 0x10], 0
jl 0x14000ffa8
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14000ffa8
call fcn.14001b870
mov rdi, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x14000ff9e
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rdi + 0x18]
mov qword [rbp - 0x68], rax
jmp 0x14000ffb6
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x68]
call fcn.14001bef0
nop
mov rdx, qword [rbp - 0x18]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000ffcf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 8]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000ffe7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp - 0x68]
add rcx, 0xffffffffffffffe8
call fcn.14001b870
add rax, 0x18
mov qword [rbp + 8], rax
lea r8, [rbp + 8]
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp - 0x48]
call fcn.14000edf0
mov rbx, qword [rsp + 0x78]
inc esi
mov dword [rsp + 0x40], esi
cmp esi, dword [rbp + 0x40a0]
jae 0x140010051
jmp 0x14000fde0
mov ecx, 0x80070057
call fcn.14001bed0
int3
mov ecx, 0x80070057
call fcn.14001bed0
int3
mov ecx, 0x80070057
call fcn.14001bed0
int3
mov ecx, 0x80070057
call fcn.14001bed0
int3
lea rbx, [fcn.14001bad0]
mov r9, rbx
mov edx, 8
mov r8d, 0x400
lea rcx, [rbp + 0x40a8]
call fcn.14019a8ec
nop
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
or edi, 0xffffffff
lock add dword [rdx + 0x10], edi
jg 0x14001008e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400100a8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov r9, rbx
mov edx, 8
mov r8d, 0x400
lea rcx, [rbp + 0xa4d8]
call fcn.14019a8ec
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400100dd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400100f7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001011d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14001011d
mov ecx, 0x80070057
call fcn.14001bed0
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14001013a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x140010158
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rbp - 0x70]
mov rdx, qword [rax]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], edi
dec edi
jg 0x140010176
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov eax, 1
jmp 0x1400101c9
lea rdx, [rax - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140010192
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400101ac
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rbp - 0x70]
mov rdx, qword [rax]
sub rdx, 0x18
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400101c7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
mov rcx, qword [rbp + 0xcee0]
xor rcx, rsp
call fcn.14019a4e0
mov rbx, qword [rsp + 0xd028]
add rsp, 0xcff0
pop rdi
pop rsi
pop rbp
ret