Function at 0x180075c40
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x400
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov rax, qword [0x180141088]
xor rax, rsp
mov qword [rsp + 0x3f0], rax
mov r12, r9
mov rdi, r8
mov rsi, rdx
mov r15d, ecx
mov dword [rsp + 0x1d0], ecx
mov qword [rsp + 0x198], rdx
mov qword [rsp + 0x190], r8
mov qword [rsp + 0x188], r9
xor r13d, r13d
mov dword [rsp + 0x1a0], r13d
cmp byte [0x180141c44], r13b
je 0x1800760e4
lea rcx, [rsp + 0x1a8]
call fcn.180030bd0
nop
mov qword [rsp + 0x68], 0xf
mov qword [rsp + 0x60], r13
mov byte [rsp + 0x50], r13b
cmp byte [rdi], r13b
jne 0x180075cdc
mov r8d, r13d
jmp 0x180075cea
or r8, 0xffffffffffffffff
inc r8
cmp byte [rdi + r8], 0
jne 0x180075ce0
mov rdx, rdi
lea rcx, [rsp + 0x50]
call fcn.180009ff0
nop
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x1a8]
lea rcx, [rsp + 0x30]
call fcn.180030c60
mov rdx, rax
lea rcx, [rsp + 0x1a8]
call fcn.18000bf30
mov rax, qword [rsp + 0x48]
cmp rax, 0x10
jb 0x180075d77
inc rax
mov rcx, qword [rsp + 0x30]
cmp rax, 0x1000
jb 0x180075d72
test cl, 0x1f
je 0x180075d45
call fcn.1800c0d4c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180075d54
call fcn.1800c0d4c
int3
sub rcx, rax
cmp rcx, 8
jae 0x180075d63
call fcn.1800c0d4c
int3
cmp rcx, 0x27
jbe 0x180075d6f
call fcn.1800c0d4c
int3
mov rcx, rax
call fcn.1800af3bc
mov qword [rsp + 0x48], 0xf
mov qword [rsp + 0x40], r13
mov byte [rsp + 0x30], 0
mov rax, qword [rsp + 0x68]
cmp rax, 0x10
jb 0x180075de2
inc rax
mov rcx, qword [rsp + 0x50]
cmp rax, 0x1000
jb 0x180075ddd
test cl, 0x1f
je 0x180075db0
call fcn.1800c0d4c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180075dbf
call fcn.1800c0d4c
int3
sub rcx, rax
cmp rcx, 8
jae 0x180075dce
call fcn.1800c0d4c
int3
cmp rcx, 0x27
jbe 0x180075dda
call fcn.1800c0d4c
int3
mov rcx, rax
call fcn.1800af3bc
mov qword [rsp + 0x68], 0xf
mov qword [rsp + 0x60], r13
mov byte [rsp + 0x50], 0
cmp byte [rsi], 0
jne 0x180075dff
mov r8, r13
jmp 0x180075e0d
or r8, 0xffffffffffffffff
inc r8
cmp byte [rsi + r8], 0
jne 0x180075e03
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.180009ff0
nop
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x1a8]
lea rcx, [rsp + 0x30]
call fcn.180030c60
mov rdx, rax
lea rcx, [rsp + 0x1a8]
call fcn.18000bf30
mov rax, qword [rsp + 0x48]
cmp rax, 0x10
jb 0x180075e9a
inc rax
mov rcx, qword [rsp + 0x30]
cmp rax, 0x1000
jb 0x180075e95
test cl, 0x1f
je 0x180075e68
call fcn.1800c0d4c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180075e77
call fcn.1800c0d4c
int3
sub rcx, rax
cmp rcx, 8
jae 0x180075e86
call fcn.1800c0d4c
int3
cmp rcx, 0x27
jbe 0x180075e92
call fcn.1800c0d4c
int3
mov rcx, rax
call fcn.1800af3bc
mov qword [rsp + 0x48], 0xf
mov qword [rsp + 0x40], r13
mov byte [rsp + 0x30], 0
mov rax, qword [rsp + 0x68]
cmp rax, 0x10
jb 0x180075f05
inc rax
mov rcx, qword [rsp + 0x50]
cmp rax, 0x1000
jb 0x180075f00
test cl, 0x1f
je 0x180075ed3
call fcn.1800c0d4c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180075ee2
call fcn.1800c0d4c
int3
sub rcx, rax
cmp rcx, 8
jae 0x180075ef1
call fcn.1800c0d4c
int3
cmp rcx, 0x27
jbe 0x180075efd
call fcn.1800c0d4c
int3
mov rcx, rax
call fcn.1800af3bc
mov qword [rsp + 0x68], 0xf
mov qword [rsp + 0x60], r13
mov byte [rsp + 0x50], 0
mov r8d, 0xa
lea rdx, str.SasLog.txt
lea rcx, [rsp + 0x50]
call fcn.180009ff0
nop
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x1a8]
lea rcx, [rsp + 0x30]
call fcn.180030c60
mov rdx, rax
lea rcx, [rsp + 0x1a8]
call fcn.18000bf30
mov rax, qword [rsp + 0x48]
cmp rax, 0x10
jb 0x180075faf
inc rax
mov rcx, qword [rsp + 0x30]
cmp rax, 0x1000
jb 0x180075faa
test cl, 0x1f
je 0x180075f7d
call fcn.1800c0d4c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180075f8c
call fcn.1800c0d4c
int3
sub rcx, rax
cmp rcx, 8
jae 0x180075f9b
call fcn.1800c0d4c
int3
cmp rcx, 0x27
jbe 0x180075fa7
call fcn.1800c0d4c
int3
mov rcx, rax
call fcn.1800af3bc
mov qword [rsp + 0x48], 0xf
mov qword [rsp + 0x40], r13
mov byte [rsp + 0x30], 0
mov rax, qword [rsp + 0x68]
cmp rax, 0x10
jb 0x18007601a
inc rax
mov rcx, qword [rsp + 0x50]
cmp rax, 0x1000
jb 0x180076015
test cl, 0x1f
je 0x180075fe8
call fcn.1800c0d4c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180075ff7
call fcn.1800c0d4c
int3
sub rcx, rax
cmp rcx, 8
jae 0x180076006
call fcn.1800c0d4c
int3
cmp rcx, 0x27
jbe 0x180076012
call fcn.1800c0d4c
int3
mov rcx, rax
call fcn.1800af3bc
mov ecx, 0x28
call fcn.1800aeed4
mov rbx, rax
mov qword [rsp + 0x180], rax
lea rax, vtable.Common::Log::FileLogger.0
mov qword [rbx], rax
lea rcx, [rbx + 8]
mov qword [rcx + 0x18], 0xf
mov qword [rcx + 0x10], r13
cmp qword [rcx + 0x18], 0x10
jb 0x180076055
mov rax, qword [rcx]
jmp 0x180076058
mov rax, rcx
mov byte [rax], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x1a8]
call fcn.18000a120
nop
mov qword [rsp + 0x1a0], rbx
lea rcx, [rsp + 0x1a0]
call fcn.180031c00
nop
mov rax, qword [rsp + 0x1c0]
cmp rax, 0x10
jb 0x1800760e4
inc rax
mov rcx, qword [rsp + 0x1a8]
cmp rax, 0x1000
jb 0x1800760df
test cl, 0x1f
je 0x1800760b2
call fcn.1800c0d4c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1800760c1
call fcn.1800c0d4c
int3
sub rcx, rax
cmp rcx, 8
jae 0x1800760d0
call fcn.1800c0d4c
int3
cmp rcx, 0x27
jbe 0x1800760dc
call fcn.1800c0d4c
int3
mov rcx, rax
call fcn.1800af3bc
mov qword [rsp + 0x1c0], 0xf
mov qword [rsp + 0x1b8], r13
mov byte [rsp + 0x1a8], 0
mov r8d, 9
lea rdx, str.Software_
lea rcx, [rsp + 0x1a8]
call fcn.180009ff0
nop
mov r8, rdi
lea rdx, [rsp + 0x1a8]
lea rcx, [rsp + 0x50]
call fcn.18001b810
nop
lea r8, str.Settings
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.18000c8f0
mov rdx, rax
lea rcx, [rsp + 0x1a8]
call fcn.18000bf30
mov rax, qword [rsp + 0x48]
cmp rax, 0x10
jb 0x1800761ad
inc rax
mov rcx, qword [rsp + 0x30]
cmp rax, 0x1000
jb 0x1800761a8
test cl, 0x1f
je 0x18007617b
call fcn.1800c0d4c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18007618a
call fcn.1800c0d4c
int3
sub rcx, rax
cmp rcx, 8
jae 0x180076199
call fcn.1800c0d4c
int3
cmp rcx, 0x27
jbe 0x1800761a5
call fcn.1800c0d4c
int3
mov rcx, rax
call fcn.1800af3bc
mov qword [rsp + 0x48], 0xf
mov qword [rsp + 0x40], r13
mov byte [rsp + 0x30], 0
mov rax, qword [rsp + 0x68]
cmp rax, 0x10
jb 0x180076218
inc rax
mov rcx, qword [rsp + 0x50]
cmp rax, 0x1000
jb 0x180076213
test cl, 0x1f
je 0x1800761e6
call fcn.1800c0d4c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1800761f5
call fcn.1800c0d4c
int3
sub rcx, rax
cmp rcx, 8
jae 0x180076204
call fcn.1800c0d4c
int3
cmp rcx, 0x27
jbe 0x180076210
call fcn.1800c0d4c
int3
mov rcx, rax
call fcn.1800af3bc
mov qword [rsp + 0x68], 0xf
mov qword [rsp + 0x60], r13
mov byte [rsp + 0x50], 0
mov r8d, 8
lea rdx, [0x180106ea8]
lea rcx, [rsp + 0x50]
call fcn.180009ff0
nop
lea rdx, [rsp + 0x1a8]
lea rcx, [rsp + 0x30]
call fcn.180033ea0
cmp qword [rax + 0x18], 8
jb 0x18007625f
mov rax, qword [rax]
lea rcx, [rsp + 0x180]
mov qword [rsp + 0x20], rcx
mov r9d, 0x201
xor r8d, r8d
mov rdx, rax
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
sete bl
mov r8, qword [rsp + 0x48]
cmp r8, 8
jb 0x1800762a7
inc r8
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x30]
call fcn.180031a90
test bl, bl
je 0x180076352
mov dword [rsp + 0x1cc], 4
mov dword [rsp + 0x1c8], 4
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x30]
call fcn.180033ea0
cmp qword [rax + 0x18], 8
jb 0x1800762de
mov rax, qword [rax]
lea rcx, [rsp + 0x1c8]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x1a0]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x1cc]
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rsp + 0x180]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r14d, eax
mov r8, qword [rsp + 0x48]
cmp r8, 8
jb 0x180076334
inc r8
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x30]
call fcn.180031a90
mov rcx, qword [rsp + 0x180]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ebx, dword [rsp + 0x1a0]
test r14d, r14d
sete r14b
jmp 0x180076358
mov ebx, r13d
xor r14b, r14b
mov rax, qword [rsp + 0x68]
cmp rax, 0x10
jb 0x1800763b0
inc rax
mov rcx, qword [rsp + 0x50]
cmp rax, 0x1000
jb 0x1800763ab
test cl, 0x1f
je 0x18007637e
call fcn.1800c0d4c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18007638d
call fcn.1800c0d4c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18007639c
call fcn.1800c0d4c
int3
cmp rcx, 0x27
jbe 0x1800763a8
call fcn.1800c0d4c
int3
mov rcx, rax
call fcn.1800af3bc
mov eax, dword [0x180141c40]
test r14b, r14b
cmovne eax, ebx
mov dword [0x180141c40], eax
mov rax, qword [rsp + 0x1c0]
cmp rax, 0x10
jb 0x180076420
inc rax
mov rcx, qword [rsp + 0x1a8]
cmp rax, 0x1000
jb 0x18007641b
test cl, 0x1f
je 0x1800763ee
call fcn.1800c0d4c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1800763fd
call fcn.1800c0d4c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18007640c
call fcn.1800c0d4c
int3
cmp rcx, 0x27
jbe 0x180076418
call fcn.1800c0d4c
int3
mov rcx, rax
call fcn.1800af3bc
mov r8d, 0x104
lea rdx, [rsp + 0x1e0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
or r8d, 0xffffffff
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x30]
call fcn.180033a90
mov rbx, rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x180], rax
lea rax, [0x180102398]
mov qword [rsp + 0x80], rax
lea rax, [0x1800ff140]
mov qword [rsp + 0x90], rax
lea rax, vtable.std::basic_ios_char__struct_std::char_traits_char__.0
mov qword [rsp + 0x118], rax
mov dword [rsp + 0x1a0], 1
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x80]
call fcn.1800319c0
nop
mov rax, qword [rsp + 0x80]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + rcx + 0x80], rax
mov rax, qword [rsp + 0x80]
movsxd rcx, dword [rax + 4]
lea r8d, [rcx - 0x98]
mov dword [rsp + rcx + 0x7c], r8d
mov edx, 3
lea rcx, [rsp + 0x98]
call fcn.18000a9a0
nop
mov dword [rsp + 0x178], 0xa
lea rdx, str.Initialize:
lea rcx, [rsp + 0x90]
call fcn.18000c960
lea rdx, str.Product_ID_
lea rcx, [rsp + 0x90]
call fcn.18000c960
mov edx, r15d
lea rcx, [rsp + 0x90]
call fcn.180008040
lea rdx, str.__Product_Name_
lea rcx, [rsp + 0x90]
call fcn.18000c960
mov rdx, rsi
lea rcx, [rsp + 0x90]
call fcn.18000c960
lea rdx, str.__Version_
lea rcx, [rsp + 0x90]
call fcn.18000c960
mov rdx, r12
lea rcx, [rsp + 0x90]
call fcn.18000c960
lea rdx, str.__Company_Name_
lea rcx, [rsp + 0x90]
call fcn.18000c960
mov rdx, rdi
lea rcx, [rsp + 0x90]
call fcn.18000c960
lea rdx, str.__Process_Name_
lea rcx, [rsp + 0x90]
call fcn.18000c960
mov rdx, rbx
lea rcx, [rsp + 0x90]
call fcn.18000ce20
lea rdx, [0x1801028a4]
lea rcx, [rsp + 0x90]
call fcn.18000c960
nop
lea rcx, [rsp + 0x80]
call fcn.180032150
nop
mov rax, qword [rsp + 0x48]
cmp rax, 0x10
jb 0x180076642
inc rax
mov rcx, qword [rsp + 0x30]
cmp rax, 0x1000
jb 0x18007663c
test cl, 0x1f
je 0x18007660f
call fcn.1800c0d4c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18007661e
call fcn.1800c0d4c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18007662d
call fcn.1800c0d4c
int3
cmp rcx, 0x27
jbe 0x180076639
call fcn.1800c0d4c
int3
mov rcx, rax
call fcn.1800af3bc
nop
lea rax, [rsp + 0x188]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x190]
lea r8, [rsp + 0x198]
lea rdx, [rsp + 0x1d0]
lea rcx, [rsp + 0x180]
call fcn.180079b90
lea rcx, [0x180149e88]
cmp rcx, rax
je 0x1800766a3
mov rdx, qword [rax]
mov qword [rax], r13
mov rcx, qword [0x180149e88]
mov qword [0x180149e88], rdx
test rcx, rcx
je 0x1800766a3
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rcx, qword [rsp + 0x180]
test rcx, rcx
je 0x1800766bb
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
xor eax, eax
jmp 0x1800766c4
mov rcx, qword [rsp + 0x3f0]
xor rcx, rsp
call fcn.1800ae8d0
add rsp, 0x400
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret