Function at 0x140002490
Capabilities:
Get common file path
Persist via run registry key
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xad8]
sub rsp, 0xbb0
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x140078038]
xor rax, rsp
mov qword [rbp + 0xa80], rax
mov rsi, rcx
mov qword [rsp + 0x60], rcx
xor r14d, r14d
mov r12d, r14d
mov dword [rsp + 0x54], r14d
mov dword [rsp + 0x58], r14d
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SOFTWARECanonCBTSETUP
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea r13, [r14 - 1]
lea r15d, [r14 + 1]
test eax, eax
jne 0x140002901
mov dword [rsp + 0x40], 0x114
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x330]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
xor r8d, r8d
lea rdx, str.Path
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x140002697
movdqa xmm0, xmmword [0x14006ce90]
movdqu xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], r12b
lea rax, [rbp + 0x330]
mov r8, r13
inc r8
cmp byte [rax + r8], r12b
jne 0x140002583
lea rdx, [rbp + 0x330]
lea rcx, [rsp + 0x70]
call fcn.14000a5a0
lea rbx, [rsi + 0x68]
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.140009be0
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x1400025eb
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400025e5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003b70
call fcn.140013ee4
nop
movdqa xmm0, xmmword [0x14006ce90]
movdqu xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], 0
mov dword [rsp + 0x58], r15d
lea rdi, [rbx + 0x10]
mov rdx, qword [rdi]
add rdx, 0x1a
lea rcx, [rsp + 0x70]
call fcn.14000ce70
mov r8d, 0x1a
lea rdx, str.__CBT_installation_path:
lea rcx, [rsp + 0x70]
call fcn.14000a720
cmp qword [rbx + 0x18], 0x10
jb 0x140002638
mov rbx, qword [rbx]
mov r8, qword [rdi]
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.14000a720
lea rcx, [rsp + 0x70]
call fcn.140001ec0
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x14000268f
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000268a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003b76
call fcn.140013ee4
mov r12d, r14d
mov dword [rsp + 0x54], r14d
mov dword [rsp + 0x40], 0x114
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x560]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
xor r8d, r8d
lea rdx, str.Dependent_files
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x1400028f6
lea rbx, [rbp + 0x560]
mov edi, dword [rsp + 0x40]
test rdi, rdi
je 0x1400028f6
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
mov r8, r13
nop
inc r8
cmp byte [rbx + r8], 0
jne 0x140002700
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.14000a5a0
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140002753
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000274e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003b7c
call fcn.140013ee4
cmp qword [rbp - 0x80], 0
je 0x1400028f6
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
mov r8, r13
inc r8
cmp byte [rbx + r8], 0
jne 0x140002772
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.14000a5a0
nop
lea rcx, [rsi + 0xa8]
mov rdx, qword [rcx + 8]
cmp qword [rcx + 0x10], rdx
je 0x1400027bc
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 0x80]
movups xmmword [rdx + 0x10], xmm1
mov edx, 0xf
mov byte [rsp + 0x70], 0
add qword [rcx + 8], 0x20
jmp 0x1400027ca
lea r8, [rsp + 0x70]
call fcn.14000b870
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140002802
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400027fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003b82
call fcn.140013ee4
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
mov r8, r13
inc r8
cmp byte [rbx + r8], 0
jne 0x140002816
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.14000a5a0
mov rax, r13
sub rax, qword [rbp - 0x80]
add rdi, rax
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140002873
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000286e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003b88
call fcn.140013ee4
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
mov r8, r13
nop word [rax + rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x140002890
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.14000a5a0
mov rax, qword [rbp - 0x80]
inc rax
add rbx, rax
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x1400026e2
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400028ec
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003b8e
call fcn.140013ee4
jmp 0x1400026e2
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SOFTWARECanonCBTSETUPCBTUser
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x140002a56
mov ebx, r14d
xor edx, edx
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x450]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
mov dword [rsp + 0x40], 0x104
mov dword [rsp + 0x5c], 0x104
lea r9, [rsp + 0x40]
lea r8, [rbp + 0x220]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueA]
test eax, eax
jne 0x140002a56
cmp byte [rbp + 0x220], al
je 0x140002a56
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], al
lea rax, [rbp + 0x220]
mov r8, r13
nop
inc r8
cmp byte [rax + r8], 0
jne 0x1400029b0
lea rdx, [rbp + 0x220]
lea rcx, [rsp + 0x70]
call fcn.14000a5a0
nop
mov rdx, qword [0x140078b48]
cmp qword [0x140078b50], rdx
je 0x140002a00
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 0x80]
movups xmmword [rdx + 0x10], xmm1
mov edx, 0xf
mov byte [rsp + 0x70], 0
add qword [0x140078b48], 0x20
jmp 0x140002a15
lea r8, [rsp + 0x70]
lea rcx, [0x140078b40]
call fcn.14000b870
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140002a4d
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002a48
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003b94
call fcn.140013ee4
inc ebx
mov edx, ebx
jmp 0x140002935
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp qword [rsi + 0x78], 0
jne 0x140002c09
mov edx, 0x400
lea rcx, [rbp + 0x680]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
movdqa xmm0, xmmword [0x14006ce90]
movdqu xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], 0
lea rax, [rbp + 0x680]
mov r8, r13
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140002aa0
lea rdx, [rbp + 0x680]
lea rcx, [rsp + 0x70]
call fcn.14000a5a0
lea rbx, [rsi + 0x68]
lea rax, [rsp + 0x70]
cmp rbx, rax
je 0x140002b1d
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x140002b03
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x140002afe
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140003b9a
mov rcx, r8
call fcn.140013ee4
mov qword [rbx + 0x18], 0xf
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp - 0x80]
movups xmmword [rbx + 0x10], xmm1
jmp 0x140002b5a
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140002b5a
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002b54
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003ba0
call fcn.140013ee4
nop
movdqa xmm0, xmmword [0x14006ce90]
movdqu xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], 0
mov dword [rsp + 0x58], 2
lea rdi, [rbx + 0x10]
mov rdx, qword [rdi]
add rdx, 0x1a
lea rcx, [rsp + 0x70]
call fcn.14000ce70
mov r8d, 0x1a
lea rdx, str.__CBT_installation_path:
lea rcx, [rsp + 0x70]
call fcn.14000a720
cmp qword [rbx + 0x18], 0x10
jb 0x140002baa
mov rbx, qword [rbx]
mov r8, qword [rdi]
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.14000a720
lea rcx, [rsp + 0x70]
call fcn.140001ec0
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140002c01
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002bfc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003ba6
call fcn.140013ee4
mov r12d, r14d
mov dword [rsp + 0x54], r14d
mov rax, qword [rsi + 0xb0]
cmp qword [rsi + 0xa8], rax
jne 0x140002f96
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], 0
mov r8d, 0x56
lea rdx, str.NBCBT95.dll_NBPORT95.exe_NBLOCALT.dll_NBPORTNT.exe_NBCBTNT.dll_NBCBTSPT.dat_AUPORT.exe
lea rcx, [rbp - 0x48]
call fcn.14000a5a0
nop
mov qword [rbp - 0x80], r14
mov r15d, 0xf
mov qword [rbp - 0x78], r15
mov byte [rsp + 0x70], 0
mov rdi, qword [rsp + 0x70]
nop dword [rax]
lea rcx, [rbp - 0x48]
mov rsi, qword [rbp - 0x48]
mov r14, qword [rbp - 0x30]
cmp r14, 0x10
cmovae rcx, rsi
mov eax, 1
mov qword [rsp + 0x20], rax
lea r9, [0x14006bce8]
mov rbx, qword [rbp - 0x38]
mov rdx, rbx
call fcn.14000c030
cmp rax, 0xffffffffffffffff
jne 0x140002cb5
lea rdx, [rbp - 0x48]
cmp r14, 0x10
cmovae rdx, rsi
mov r8, rbx
lea rcx, [rsp + 0x70]
call fcn.14000a5a0
jmp 0x140002d42
mov qword [rbp - 0x58], 0
mov qword [rbp - 0x50], 0xf
mov byte [rbp - 0x68], 0
test rax, rax
je 0x140002e9c
cmp rbx, rax
cmovb rax, rbx
lea rdx, [rbp - 0x48]
cmp r14, 0x10
cmovae rdx, rsi
mov r8, rax
lea rcx, [rbp - 0x68]
call fcn.14000a5a0
or r12d, 4
mov dword [rsp + 0x54], r12d
cmp r15, 0x10
jb 0x140002d31
lea rdx, [r15 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140002d29
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003bac
mov rcx, rdi
call fcn.140013ee4
movups xmm0, xmmword [rbp - 0x68]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rbp - 0x58]
movups xmmword [rbp - 0x80], xmm1
mov rsi, qword [rbp - 0x78]
mov rdi, qword [rsp + 0x70]
mov rbx, qword [rbp - 0x80]
mov r15d, 1
test rbx, rbx
je 0x140002f1b
lea rcx, [rsp + 0x70]
cmp rsi, 0x10
cmovae rcx, rdi
mov r8, rbx
cmp rbx, r15
cmova r8, r15
lea rdx, [0x14006bce8]
call fcn.14005f070
test eax, eax
jne 0x140002d8e
cmp rbx, r15
je 0x140002f1b
mov rax, qword [0x140078b30]
cmp qword [0x140078b38], rax
je 0x140002db5
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.140009d00
add qword [0x140078b30], 0x20
jmp 0x140002dc9
lea r8, [rsp + 0x70]
mov rdx, rax
lea rcx, [0x140078b28]
call fcn.14000bb20
lea r9, [rsp + 0x70]
mov rdi, qword [rsp + 0x70]
mov r15, qword [rbp - 0x78]
cmp r15, 0x10
cmovae r9, rdi
lea rcx, [rbp - 0x48]
mov r14, qword [rbp - 0x48]
mov r12, qword [rbp - 0x30]
cmp r12, 0x10
cmovae rcx, r14
mov rbx, qword [rbp - 0x80]
mov qword [rsp + 0x20], rbx
mov rsi, qword [rbp - 0x38]
mov rdx, rsi
call fcn.14000c030
lea rcx, [rbx + rax]
mov qword [rbp - 0x58], 0
mov qword [rbp - 0x50], 0xf
mov byte [rbp - 0x68], 0
cmp rsi, rcx
jb 0x140003bb2
sub rsi, rcx
mov r8, r13
cmp rsi, r13
cmovb r8, rsi
lea rdx, [rbp - 0x48]
cmp r12, 0x10
cmovae rdx, r14
add rdx, rcx
lea rcx, [rbp - 0x68]
call fcn.14000a5a0
mov r12d, dword [rsp + 0x54]
or r12d, 0x10
mov dword [rsp + 0x54], r12d
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x140002f06
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002f01
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003b6a
jmp 0x140002f01
cmp rbx, 1
jb 0x140003bca
lea r8, [rbx - 1]
lea rdx, [rbp - 0x48]
cmp r14, 0x10
cmovae rdx, rsi
inc rdx
lea rcx, [rbp - 0x68]
call fcn.14000a5a0
or r12d, 8
mov dword [rsp + 0x54], r12d
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x140002f06
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002f01
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003bc4
call fcn.140013ee4
movups xmm0, xmmword [rbp - 0x68]
movups xmmword [rbp - 0x48], xmm0
movups xmm1, xmmword [rbp - 0x58]
movups xmmword [rbp - 0x38], xmm1
jmp 0x140002c60
cmp rsi, 0x10
jb 0x140002f53
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140002f4a
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003bb8
mov rcx, rdi
call fcn.140013ee4
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x140002f8e
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002f89
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003bbe
call fcn.140013ee4
xor r14d, r14d
mov rsi, qword [rsp + 0x60]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SOFTWARECanonDIASSETUP
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x140003602
mov dword [rsp + 0x40], 0x114
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x100]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
xor r8d, r8d
lea rdx, str.Path
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x14000327b
movdqa xmm0, xmmword [0x14006ce90]
movdqu xmmword [rbp - 0x58], xmm0
mov byte [rbp - 0x68], al
lea rax, [rbp + 0x100]
mov r8, r13
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140003020
lea rdx, [rbp + 0x100]
lea rcx, [rbp - 0x68]
call fcn.14000a5a0
nop
mov r8, r15
lea rdx, [0x14006bbe4]
lea rcx, [rbp - 0x68]
call fcn.14000a720
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x80], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r12d, 0x20
mov r8d, VariantTimeToDosDateTime
lea rdx, str.CnxDias.exe
lea rcx, [rsp + 0x70]
call fcn.14000a720
movups xmm6, xmmword [rax]
movups xmmword [rbp - 0x48], xmm6
movups xmm7, xmmword [rax + 0x10]
movups xmmword [rbp - 0x38], xmm7
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rbx, [rsi + 0x28]
lea rax, [rbp - 0x48]
cmp rbx, rax
je 0x140003106
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x1400030f5
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x1400030f0
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140003bd0
mov rcx, r8
call fcn.140013ee4
mov qword [rbx + 0x18], 0xf
movups xmmword [rbx], xmm6
movups xmmword [rbx + 0x10], xmm7
jmp 0x140003142
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x140003142
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000313c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003bd6
call fcn.140013ee4
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x14000317e
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003179
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003bdc
call fcn.140013ee4
movdqa xmm0, xmmword [0x14006ce90]
movdqu xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], 0
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x1400031cc
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400031c6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003be2
call fcn.140013ee4
nop
movdqa xmm0, xmmword [0x14006ce90]
movdqu xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], 0
or r12d, 0xc0
mov dword [rsp + 0x58], r12d
lea rdi, [rbx + 0x10]
mov rdx, qword [rdi]
add rdx, 0x1a
lea rcx, [rsp + 0x70]
call fcn.14000ce70
mov r8d, 0x1a
lea rdx, str.__Dias_installation_path:
lea rcx, [rsp + 0x70]
call fcn.14000a720
cmp qword [rbx + 0x18], 0x10
jb 0x140003220
mov rbx, qword [rbx]
mov r8, qword [rdi]
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.14000a720
lea rcx, [rsp + 0x70]
call fcn.140001ec0
btr r12d, 7
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x14000327b
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003276
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003be8
call fcn.140013ee4
mov dword [rsp + 0x40], 0x114
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
xor r8d, r8d
lea rdx, str.AppPath
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x140003434
movdqa xmm0, xmmword [0x14006ce90]
movdqu xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], al
lea rax, [rbp - 0x20]
mov r8, r13
inc r8
cmp byte [rax + r8], 0
jne 0x1400032d0
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x70]
call fcn.14000a5a0
lea rbx, [rsi + 0x48]
lea rax, [rsp + 0x70]
cmp rbx, rax
je 0x14000334a
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x140003330
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x14000332b
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140003bee
mov rcx, r8
call fcn.140013ee4
mov qword [rbx + 0x18], 0xf
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp - 0x80]
movups xmmword [rbx + 0x10], xmm1
jmp 0x140003387
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140003387
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003381
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003bf4
call fcn.140013ee4
nop
movdqa xmm0, xmmword [0x14006ce90]
movdqu xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], 0
bts r12d, 8
mov dword [rsp + 0x58], r12d
lea rdi, [rbx + 0x10]
mov rdx, qword [rdi]
add rdx, 0x1a
lea rcx, [rsp + 0x70]
call fcn.14000ce70
mov r8d, 0x1a
lea rdx, str.__Dias_data_path:
lea rcx, [rsp + 0x70]
call fcn.14000a720
cmp qword [rbx + 0x18], 0x10
jb 0x1400033d9
mov rbx, qword [rbx]
mov r8, qword [rdi]
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.14000a720
lea rcx, [rsp + 0x70]
call fcn.140001ec0
btr r12d, 8
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140003434
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000342f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003bfa
call fcn.140013ee4
mov dword [rsp + 0x40], 0x114
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
xor r8d, r8d
lea rdx, str.BuildNumber
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x1400035f7
movdqa xmm0, xmmword [0x14006ce90]
movdqu xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], al
lea rax, [rbp - 0x20]
mov r8, r13
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140003490
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x70]
call fcn.14000a5a0
lea rbx, [rsi + 0x88]
lea rax, [rsp + 0x70]
cmp rbx, rax
je 0x14000350d
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x1400034f3
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x1400034ee
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140003c00
mov rcx, r8
call fcn.140013ee4
mov qword [rbx + 0x18], 0xf
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp - 0x80]
movups xmmword [rbx + 0x10], xmm1
jmp 0x14000354a
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x14000354a
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003544
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003c06
call fcn.140013ee4
nop
movdqa xmm0, xmmword [0x14006ce90]
movdqu xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], 0
bts r12d, 9
mov dword [rsp + 0x58], r12d
lea rdi, [rbx + 0x10]
mov rdx, qword [rdi]
add rdx, 0x1a
lea rcx, [rsp + 0x70]
call fcn.14000ce70
mov r8d, 0x1a
lea rdx, str.__Dias_build_ver:
lea rcx, [rsp + 0x70]
call fcn.14000a720
cmp qword [rbx + 0x18], 0x10
jb 0x14000359c
mov rbx, qword [rbx]
mov r8, qword [rdi]
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.14000a720
lea rcx, [rsp + 0x70]
call fcn.140001ec0
btr r12d, 9
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x1400035f7
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400035f2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003c0c
call fcn.140013ee4
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp qword [rsi + 0x38], 0
jne 0x1400038f3
mov dword [rsp + 0x40], 0x114
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersion
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x140003b60
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
xor r8d, r8d
lea rdx, str.ProgramFilesDir
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov ebx, eax
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
jne 0x140003b60
movdqa xmm0, xmmword [0x14006ce90]
movdqu xmmword [rbp - 0x58], xmm0
mov byte [rbp - 0x68], bl
lea rax, [rbp - 0x20]
mov r8, r13
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400036a0
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x68]
call fcn.14000a5a0
nop
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rdx, str.CanonDIAS_
lea rcx, [rbp - 0x68]
call fcn.14000a720
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x80], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8d, VariantTimeToDosDateTime
lea rdx, str.CnxDias.exe
lea rcx, [rsp + 0x70]
call fcn.14000a720
movups xmm6, xmmword [rax]
movups xmmword [rbp - 0x48], xmm6
movups xmm7, xmmword [rax + 0x10]
movups xmmword [rbp - 0x38], xmm7
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rbx, [rsi + 0x28]
lea rax, [rbp - 0x48]
cmp rbx, rax
je 0x140003782
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x140003771
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x14000376c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140003c12
mov rcx, r8
call fcn.140013ee4
mov qword [rbx + 0x18], 0xf
movups xmmword [rbx], xmm6
movups xmmword [rbx + 0x10], xmm7
jmp 0x1400037be
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x1400037be
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400037b8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003c18
call fcn.140013ee4
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x1400037fa
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400037f5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003c1e
call fcn.140013ee4
movdqa xmm0, xmmword [0x14006ce90]
movdqu xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], 0
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x140003848
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003842
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003c24
call fcn.140013ee4
nop
movdqa xmm0, xmmword [0x14006ce90]
movdqu xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], 0
or r12d, 0x1c00
mov dword [rsp + 0x58], r12d
lea rdi, [rbx + 0x10]
mov rdx, qword [rdi]
add rdx, 0x1a
lea rcx, [rsp + 0x70]
call fcn.14000ce70
mov r8d, 0x1a
lea rdx, str.__Dias_installation_path:
lea rcx, [rsp + 0x70]
call fcn.14000a720
cmp qword [rbx + 0x18], 0x10
jb 0x14000389c
mov rbx, qword [rbx]
mov r8, qword [rdi]
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.14000a720
lea rcx, [rsp + 0x70]
call fcn.140001ec0
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x1400038f3
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400038ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003b64
call fcn.140013ee4
cmp qword [rsi + 0x58], 0
jne 0x140003a1b
mov dword [rsp + 0x40], 0x114
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerShell_Folders
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x140003b60
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x100]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
xor r8d, r8d
lea rdx, str.Common_AppData
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov ebx, eax
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
jne 0x140003b60
movdqa xmm0, xmmword [0x14006ce90]
movdqu xmmword [rbp - 0x58], xmm0
mov byte [rbp - 0x68], bl
lea rax, [rbp + 0x100]
inc r13
cmp byte [rax + r13], 0
jne 0x140003991
mov r8, r13
lea rdx, [rbp + 0x100]
lea rcx, [rbp - 0x68]
call fcn.14000a5a0
nop
mov r8d, 6
lea rdx, str.Canon
lea rcx, [rbp - 0x68]
call fcn.14000a720
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.140009c70
lea rdx, [rsp + 0x70]
lea rcx, [rsi + 0x48]
call fcn.140009be0
lea rcx, [rsp + 0x70]
call fcn.140009b80
nop
lea rcx, [rbp - 0x68]
call fcn.140009b80
lea r8, [rsi + 0x48]
lea rdx, str.__Dias_data_path:
lea rcx, [rbp - 0x68]
call fcn.14000b110
nop
mov rcx, rax
call fcn.140001ec0
nop
lea rcx, [rbp - 0x68]
call fcn.140009b80
lea rcx, [rsp + 0x70]
call fcn.140003c30
nop
mov dword [rsp + 0x70], 2
lea r8, str.DIASLog
lea rdx, [0x140078ac8]
lea rcx, [rbp - 0x68]
call fcn.14000b220
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.140009be0
lea rcx, [rbp - 0x68]
call fcn.140009b80
lea rdx, [rsp + 0x70]
lea rcx, [0x140078b58]
call fcn.140009320
mov dword [rsp + 0x70], r15d
lea r8, str.DIASCfg
lea rdx, [0x140078ac8]
lea rcx, [rbp - 0x68]
call fcn.14000b220
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.140009be0
lea rcx, [rbp - 0x68]
call fcn.140009b80
lea rdx, [rsp + 0x70]
lea rcx, [0x140078b58]
call fcn.140009320
mov dword [rsp + 0x70], r15d
lea r8, [0x14006be6c]
lea rdx, [0x140078ac8]
lea rcx, [rbp - 0x68]
call fcn.14000b220
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.140009be0
lea rcx, [rbp - 0x68]
call fcn.140009b80
lea rdx, [rsp + 0x70]
lea rcx, [0x140078b58]
call fcn.140009320
mov dword [rsp + 0x70], r15d
lea rdx, [0x140078ac8]
lea rcx, [rsp + 0x78]
call fcn.140009b50
lea rdx, [rsp + 0x70]
lea rcx, [0x140078b58]
call fcn.140009320
nop
lea rcx, [rsp + 0x78]
call fcn.140009b80
mov al, 1
mov rcx, qword [rbp + 0xa80]
xor rcx, rsp
call fcn.140013980
lea r11, [rsp + 0xbb0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
xor al, al
jmp 0x140003b26
call fcn.140022b6c
nop
call fcn.140022b6c
nop
call fcn.140022b6c
int3
call fcn.140022b6c
int3
call fcn.140022b6c
int3
call fcn.140022b6c
int3
call fcn.140022b6c
int3
call fcn.140022b6c
int3
call fcn.140022b6c
int3
call fcn.140022b6c
int3
call fcn.140022b6c
int3
call fcn.140022b6c
nop
call fcn.140022b6c
int3
call fcn.14000b0c0
nop
call fcn.140022b6c
nop
call fcn.140022b6c
nop
call fcn.140022b6c
int3
call fcn.14000b0c0
nop
call fcn.140022b6c
int3
call fcn.140022b6c
nop
call fcn.140022b6c
nop
call fcn.140022b6c
int3
call fcn.140022b6c
int3
call fcn.140022b6c
int3
call fcn.140022b6c
int3
call fcn.140022b6c
int3
call fcn.140022b6c
int3
call fcn.140022b6c
int3
call fcn.140022b6c
nop
call fcn.140022b6c
int3
call fcn.140022b6c
nop
call fcn.140022b6c
nop
call fcn.140022b6c
int3