Function at 0x10003413c
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r13
push r15
sub rsp, 0x690
mov rax, qword [0x10004a110]
xor rax, rsp
mov qword [rsp + 0x680], rax
xor r13d, r13d
mov r12, rcx
mov r15d, 0x105
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], r13
mov ebp, r13d
mov edi, r13d
mov edx, 0x103
lea rcx, [rsp + 0x260]
lea rax, [rsp + 0x260]
cmp edi, r13d
je 0x1000341d4
lea r8, [0x10001f5d0]
sub r8, rax
lea rax, [rdx + 0x7ffffefb]
cmp rax, r13
je 0x100034202
movzx eax, word [r8 + rcx]
cmp ax, r13w
je 0x100034202
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1000341ae
jmp 0x100034202
lea r8, [0x10001f580]
sub r8, rax
lea rax, [rdx + 0x7ffffefb]
cmp rax, r13
je 0x100034202
movzx eax, word [r8 + rcx]
cmp ax, r13w
je 0x100034202
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1000341de
cmp rdx, r13
jne 0x10003420b
sub rcx, 2
lea rax, [rsp + 0x38]
mov word [rcx], r13w
lea rdx, [rsp + 0x260]
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, r13d
jne 0x10003447b
mov esi, r13d
xor edx, edx
jmp 0x10003444f
lea r9, [rsp + 0x50]
lea r8, [0x10001f610]
lea rcx, [rsp + 0x260]
mov edx, 0x103
mov dword [rsp + 0x30], 0x20a
inc esi
call fcn.10002e570
mov rcx, qword [rsp + 0x38]
lea r11, [rsp + 0x40]
lea rdx, [rsp + 0x260]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], r11
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, r13d
jne 0x10003444d
mov rcx, qword [rsp + 0x40]
lea rax, [rsp + 0x30]
lea r9, [rsp + 0x34]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
lea rdx, [0x10001f620]
xor r8d, r8d
mov dword [rsp + 0x34], 1
mov dword [rsp + 0x30], 0x20a
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ebx, eax
cmp eax, r13d
jne 0x1000342ed
cmp dword [rsp + 0x34], 1
je 0x100034366
mov rcx, qword [rsp + 0x40]
lea rax, [rsp + 0x30]
lea r9, [rsp + 0x34]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
lea rdx, [0x10001f648]
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ebx, eax
cmp eax, r13d
jne 0x1000343d8
cmp dword [rsp + 0x34], 1
jne 0x1000343d3
lea rax, [rsp + 0x50]
cmp rax, r13
je 0x100034346
lea rcx, [rsp + 0x50]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
mov rdx, r15
lea rcx, [rsp + 0x50]
lea r8, [0x10001f670]
cmp edi, r13d
je 0x100034361
lea r8, [0x10001f690]
call fcn.10002e3d4
mov rcx, qword [rsp + 0x40]
lea rax, [rsp + 0x30]
lea r9, [rsp + 0x34]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x470]
lea rdx, [0x10001f6a0]
xor r8d, r8d
mov dword [rsp + 0x30], 0x208
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp eax, r13d
jne 0x1000343ab
cmp dword [rsp + 0x34], 1
je 0x1000343d8
lea rax, [rsp + 0x470]
cmp rax, r13
je 0x1000343d8
lea r8, [0x10001f6c0]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x470]
call fcn.100036668
jmp 0x1000343d8
mov ebx, 0x1f
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp ebx, r13d
jne 0x10003444d
lea rax, [rsp + 0x50]
cmp rax, r13
je 0x1000343fe
lea rcx, [rsp + 0x50]
call fcn.10003fff0
jmp 0x100034401
mov eax, r13d
cmp eax, r13d
je 0x10003444d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x50]
mov r8d, r15d
call qword [sym.imp.KERNEL32.dll_GetShortPathNameW]
lea r11, [rsp + 0x50]
cmp r11, r13
je 0x10003442e
lea rcx, [rsp + 0x50]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea r8, [rsp + 0x470]
lea rdx, [rsp + 0x50]
mov rcx, r12
call fcn.100033f3c
mov ebx, 0xd2af9
cmp eax, ebx
cmove ebp, ebx
mov edx, esi
mov rcx, qword [rsp + 0x38]
lea r8, [rsp + 0x50]
mov r9d, r15d
mov dword [rsp + 0x30], r15d
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
cmp eax, r13d
je 0x10003424a
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc edi
cmp edi, 2
jl 0x10003418a
mov eax, ebp
mov rcx, qword [rsp + 0x680]
xor rcx, rsp
call fcn.1000475f0
lea r11, [rsp + 0x690]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r13
pop r12
ret