Function at 0x140043701
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
push r15
mov rax, reloc.OLEAUT32.dll_SafeArrayGetLBound
sub rsp, 8
mov qword [rsp], 0
dec rax
jne 0x140043719
sub rsp, 0x28
call fcn.1400bc5a0
mov rcx, qword [rsp + 0xf0]
call fcn.14004b97c
mov rdx, qword [rsp + 0xd0]
lea rcx, [rsp + 0x28]
sub rsp, 0x10
call fcn.1400bc610
add rsp, 0x10
mov rdx, qword [rsp + 0xd8]
lea rcx, [rsp + 0x30]
sub rsp, 0x10
call fcn.1400bc610
add rsp, 0x10
mov rdx, qword [rsp + 0xe0]
lea rcx, [rsp + 0x38]
sub rsp, 0x10
call fcn.1400bc610
add rsp, 0x10
push qword [rsp + 0x28]
pop rcx
call fcn.140045fa8
push qword [rsp + 0x38]
movabs rcx, 0x1402719a6
pop rdx
call fcn.1400bc3b0
or rax, rax
je 0x14004382c
cmp dword [0x1404bc518], 0
je 0x140043804
sub rsp, 8
lea rax, [rsp + 0x50]
mov rax, rax
push rax
movsxd r15, dword [0x1404bc520]
or r15, 0xf003f
mov rax, r15
push rax
push 0
push qword [0x1404bc438]
push qword [0x1404bc460]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.ADVAPI32.dll_RegOpenKeyExW
add rsp, 0x30
mov qword [rsp + 0x40], rax
jmp 0x140043827
lea rax, [rsp + 0x48]
mov rax, rax
push rax
push qword [0x1404bc438]
push qword [0x1404bc460]
pop rcx
pop rdx
pop r8
call sub.ADVAPI32.dll_RegOpenKeyW
mov qword [rsp + 0x40], rax
jmp 0x1400438c5
lea rax, [rsp + 0x58]
mov rax, rax
push rax
push qword [0x1404bc460]
push qword [rsp + 0x48]
pop rcx
pop rdx
pop r8
call sub.ADVAPI32.dll_RegConnectRegistryW
movsxd rax, eax
mov qword [rsp + 0x50], rax
cmp dword [0x1404bc518], 0
je 0x1400438a4
sub rsp, 8
lea rax, [rsp + 0x50]
mov rax, rax
push rax
movsxd r15, dword [0x1404bc520]
or r15, 0xf003f
mov rax, r15
push rax
push 0
push qword [0x1404bc438]
push qword [rsp + 0x80]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.ADVAPI32.dll_RegOpenKeyExW
add rsp, 0x30
mov qword [rsp + 0x40], rax
jmp 0x1400438c5
lea rax, [rsp + 0x48]
mov rax, rax
push rax
push qword [0x1404bc438]
push qword [rsp + 0x68]
pop rcx
pop rdx
pop r8
call sub.ADVAPI32.dll_RegOpenKeyW
mov qword [rsp + 0x40], rax
mov r15, qword [rsp + 0x40]
and r15, r15
jne 0x140043e33
mov qword [rsp + 0x60], 0x400
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
push qword [rsp + 0x78]
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400b8fa0
add rsp, 0x28
lea rcx, [rsp + 0x70]
pop rdx
call fcn.1400bc2d0
lea rax, [rsp + 0x60]
mov rax, rax
push rax
mov rax, qword [rsp + 0x70]
mov rax, rax
push rax
lea rax, [rsp + 0x80]
mov rax, rax
push rax
push 0
push qword [rsp + 0x50]
push qword [rsp + 0x70]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.ADVAPI32.dll_RegQueryValueExW
add rsp, 0x30
mov qword [rsp + 0x40], rax
mov r15, qword [rsp + 0x40]
and r15, r15
jne 0x140043e33
push qword [rsp + 0x70]
mov r15, 1
cmp r15, qword [rsp]
jne 0x140043a5b
sub rsp, 8
lea rax, [rsp + 0x70]
mov rax, rax
push rax
mov rax, qword [rsp + 0x80]
mov rax, rax
push rax
lea rax, [rsp + 0x90]
mov rax, rax
push rax
push 0
push qword [rsp + 0x60]
push qword [rsp + 0x80]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.ADVAPI32.dll_RegQueryValueExW
add rsp, 0x38
mov qword [rsp + 0x48], rax
mov r15, qword [rsp + 0x48]
and r15, r15
jne 0x140043a37
push rcx
sub rsp, 0x20
call main
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
mov r15, qword [rsp + 0x78]
dec r15
mov rax, r15
push rax
push qword [rsp + 0x88]
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.1400b9780
add rsp, 0x20
lea rcx, [rsp + 0x88]
pop rdx
sub rsp, 0x28
call fcn.1400bc2d0
add rsp, 0x28
jmp 0x140043a56
movabs rdx, 0x140271064
lea rcx, [rsp + 0x80]
sub rsp, 0x28
call fcn.1400bc120
add rsp, 0x28
jmp 0x140043e2f
mov r15, 2
cmp r15, qword [rsp]
jne 0x140043b43
sub rsp, 8
lea rax, [rsp + 0x70]
mov rax, rax
push rax
mov rax, qword [rsp + 0x80]
mov rax, rax
push rax
lea rax, [rsp + 0x90]
mov rax, rax
push rax
push 0
push qword [rsp + 0x60]
push qword [rsp + 0x80]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.ADVAPI32.dll_RegQueryValueExW
add rsp, 0x38
mov qword [rsp + 0x48], rax
mov r15, qword [rsp + 0x48]
and r15, r15
jne 0x140043b1f
push rcx
sub rsp, 0x20
call main
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
mov r15, qword [rsp + 0x78]
dec r15
mov rax, r15
push rax
push qword [rsp + 0x88]
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.1400b9780
add rsp, 0x20
lea rcx, [rsp + 0x88]
pop rdx
sub rsp, 0x28
call fcn.1400bc2d0
add rsp, 0x28
jmp 0x140043b3e
movabs rdx, 0x140271064
lea rcx, [rsp + 0x80]
sub rsp, 0x28
call fcn.1400bc120
add rsp, 0x28
jmp 0x140043e2f
mov r15, 4
cmp r15, qword [rsp]
jne 0x140043c1d
sub rsp, 8
lea rax, [rsp + 0x70]
mov rax, rax
push rax
lea rax, [rsp + 0xa0]
mov rax, rax
push rax
lea rax, [rsp + 0xa0]
mov rax, rax
push rax
push 0
push qword [rsp + 0x60]
push qword [rsp + 0x80]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.ADVAPI32.dll_RegQueryValueExW
add rsp, 0x38
mov qword [rsp + 0x48], rax
mov r15, qword [rsp + 0x48]
and r15, r15
jne 0x140043bf9
push rcx
sub rsp, 0x20
call main
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
push qword [rsp + 0xa0]
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400b9000
add rsp, 0x20
lea rcx, [rsp + 0x88]
pop rdx
sub rsp, 0x28
call fcn.1400bc2d0
add rsp, 0x28
jmp 0x140043c18
movabs rdx, 0x1402719ec
lea rcx, [rsp + 0x80]
sub rsp, 0x28
call fcn.1400bc120
add rsp, 0x28
jmp 0x140043e2f
mov r15, 3
cmp r15, qword [rsp]
jne 0x140043e2f
mov qword [rsp + 0x98], 0x400
sub rsp, 8
push qword [rsp + 0xa0]
pop rcx
sub rsp, 0x20
call fcn.1400ba7b0
add rsp, 0x28
mov qword [rsp + 0xa0], rax
sub rsp, 8
lea rax, [rsp + 0xa0]
mov rax, rax
push rax
push qword [rsp + 0xb0]
lea rax, [rsp + 0xc0]
mov rax, rax
push rax
push 0
push qword [rsp + 0x60]
push qword [rsp + 0x80]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.ADVAPI32.dll_RegQueryValueExW
add rsp, 0x38
mov qword [rsp + 0x48], rax
mov r15, qword [rsp + 0x48]
and r15, r15
jne 0x140043e2f
movabs rdx, 0x140271064
lea rcx, [rsp + 0x80]
sub rsp, 0x28
call fcn.1400bc120
add rsp, 0x28
mov qword [rsp + 0xb0], 0
jmp 0x140043ce1
mov r15, qword [rsp + 0x98]
dec r15
cmp r15, qword [rsp + 0xb0]
jl 0x140043e16
sub rsp, 8
mov r15, qword [rsp + 0xa8]
add r15, qword [rsp + 0xb8]
mov rax, r15
push rax
pop rcx
sub rsp, 0x20
call fcn.1400baa60
add rsp, 0x28
mov r15, rax
and r15, 0xff
mov qword [rsp + 0xb8], r15
mov r15, qword [rsp + 0xb8]
cmp r15, 0x10
jge 0x140043d92
mov rcx, qword [rsp + 0x80]
push rcx
sub rsp, 0x20
call main
add rsp, 0x20
pop rcx
push rax
sub rsp, 0x20
call fcn.1400bc260
add rsp, 0x20
movabs rcx, 0x1402719ec
sub rsp, 0x20
call fcn.1400bc260
add rsp, 0x20
lea rcx, [rsp + 0x88]
pop rdx
sub rsp, 0x28
call fcn.1400bc2d0
add rsp, 0x28
mov rcx, qword [rsp + 0x80]
push rcx
sub rsp, 0x20
call main
add rsp, 0x20
pop rcx
push rax
sub rsp, 0x20
call fcn.1400bc260
add rsp, 0x20
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
push qword [rsp + 0xd8]
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400b8b90
add rsp, 0x28
pop rax
lea rcx, [rsp + 0x88]
pop rdx
sub rsp, 0x28
call fcn.1400bc2d0
add rsp, 0x28
inc qword [rsp + 0xb0]
jno 0x140043ce1
sub rsp, 8
push qword [rsp + 0xa8]
pop rcx
sub rsp, 0x20
call fcn.1400baa30
add rsp, 0x28
add rsp, 8
push qword [rsp + 0x48]
pop rcx
call sub.ADVAPI32.dll_RegCloseKey
mov rcx, qword [rsp + 0x78]
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.1400bc260
add rsp, 0x28
pop rax
push rax
call fcn.1400bc410
pop rdx
add rax, rdx
jmp 0x140043e76
push rax
mov rcx, qword [rsp + 0x40]
sub rsp, 0x28
call fcn.1400bc6b0
add rsp, 0x28
mov rcx, qword [rsp + 0x70]
sub rsp, 0x28
call fcn.1400bc6b0
add rsp, 0x28
mov rcx, qword [rsp + 0x30]
sub rsp, 0x28
call fcn.1400bc6b0
add rsp, 0x28
mov rcx, qword [rsp + 0x38]
sub rsp, 0x28
call fcn.1400bc6b0
add rsp, 0x28
mov rcx, qword [rsp + 0x80]
sub rsp, 0x28
call fcn.1400bc6b0
add rsp, 0x28
pop rax
add rsp, 0xc0
pop r15
ret