Function at 0x100053aa8
Capabilities:
Query or enumerate registry value

Disassembly:
mov r11, rsp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0xf30
mov qword [rsp + 0xc0], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rbp
mov rax, qword [0x1000730b0]
xor rax, rsp
mov qword [rsp + 0xf20], rax
mov r12, rdx
mov rbp, rcx
xor r13d, r13d
mov word [r11 - 0xe38], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [r11 - 0xe36]
call sub.msvcrt.dll_memset
mov dword [rsp + 0x6c], 0x104
mov dword [rsp + 0x78], r13d
mov dword [rsp + 0x70], r13d
mov dword [rsp + 0x7c], r13d
mov dword [rsp + 0x60], r13d
mov dword [rsp + 0x84], r13d
mov dword [rsp + 0x74], r13d
mov dword [rsp + 0x80], r13d
mov esi, r13d
mov dword [rsp + 0x68], 0x400
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x74]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x84]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rsp + 0x6c]
lea rdx, [rsp + 0x120]
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov ecx, dword [rsp + 0x60]
cmp eax, r13d
cmovne ecx, r13d
mov dword [rsp + 0x60], ecx
cmp ecx, r13d
je 0x100053eea
mov dword [rsp + 0x64], 4
lea r14d, [r13 + 7]
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x110], r13
mov word [rsp + 0x100], r13w
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xe8], r13
mov word [rsp + 0xd8], r13w
mov ebx, r13d
lea esi, [r13 + 1]
cmp ecx, r13d
jbe 0x100053dc2
mov dword [rsp + 0x68], 0x400
mov word [rsp + 0x720], r13w
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x68]
lea r8, [rsp + 0x720]
mov edx, ebx
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
cmp eax, r13d
jne 0x100053db6
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x720]
repne scasw ax, word [rdi]
not rcx
sub rcx, rsi
mov r8, rcx
lea rdx, [rsp + 0x720]
lea rcx, [rsp + 0xd0]
call fcn.10001b608
mov dword [rsp + 0x64], 4
lea r8, [rsp + 0xd8]
cmp qword [rsp + 0xf0], 8
cmovae r8, qword [rsp + 0xd8]
lea rax, [rsp + 0x64]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
mov r9d, 0x10
lea rdx, [0x100062c88]
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
cmp eax, r13d
jne 0x100053d06
lea rcx, [rbp + 0x78]
lea rdx, [rsp + 0xd0]
call fcn.10005500c
mov ecx, dword [rsp + 0x88]
mov dword [rax], ecx
jmp 0x100053db6
mov dword [rsp + 0x64], 0x3e8
lea r8, [rsp + 0xd8]
cmp qword [rsp + 0xf0], 8
cmovae r8, qword [rsp + 0xd8]
lea rax, [rsp + 0x64]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x330]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
mov r9d, 0xffff
lea rdx, [0x100062c88]
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
cmp eax, r13d
jne 0x100053db6
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x330]
repne scasw ax, word [rdi]
not rcx
sub rcx, rsi
mov r8, rcx
lea rdx, [rsp + 0x330]
lea rcx, [rsp + 0xf8]
call fcn.10001b608
lea rcx, [rbp + 0x60]
lea rdx, [rsp + 0xd0]
call fcn.100054de4
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0xf8]
mov rcx, rax
call fcn.10001bb30
add ebx, esi
cmp ebx, dword [rsp + 0x60]
jb 0x100053c19
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0xb0], r13
mov word [rsp + 0xa0], r13w
mov r8d, 0xe
lea rdx, str.SaveSystimeLow
lea rcx, [rsp + 0x98]
call fcn.10001b608
nop
lea rdx, [rsp + 0x98]
lea rcx, [rbp + 0x78]
call fcn.10005500c
mov ecx, dword [rax]
mov dword [rsp + 0x90], ecx
cmp qword [rsp + 0xb8], 8
jb 0x100053e28
mov rcx, qword [rsp + 0xa0]
call sub.msvcrt.dll_free
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0xb0], r13
mov word [rsp + 0xa0], r13w
mov r8d, 0xf
lea rdx, str.SaveSystimeHigh
lea rcx, [rsp + 0x98]
call fcn.10001b608
nop
lea rdx, [rsp + 0x98]
lea rcx, [rbp + 0x78]
call fcn.10005500c
mov ecx, dword [rax]
mov dword [rsp + 0x94], ecx
cmp qword [rsp + 0xb8], 8
jb 0x100053e8e
mov rcx, qword [rsp + 0xa0]
call sub.msvcrt.dll_free
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.DLL_FileTimeToSystemTime]
nop
cmp qword [rsp + 0xf0], 8
jb 0x100053eb9
mov rcx, qword [rsp + 0xd8]
call sub.msvcrt.dll_free
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xe8], r13
mov word [rsp + 0xd8], r13w
cmp qword [rsp + 0x118], 8
jb 0x100053eea
mov rcx, qword [rsp + 0x100]
call sub.msvcrt.dll_free
mov eax, esi
mov rcx, qword [rsp + 0xf20]
xor rcx, rsp
call fcn.100001c30
lea r11, [rsp + 0xf30]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret