Function at 0x140004360
Capabilities:
Query environment variable
Query or enumerate registry value
Set registry value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r15
lea rbp, [rax - 0xbfe8]
mov eax, 0xc0d0
call fcn.1400079a0
sub rsp, rax
mov rax, qword [0x140026100]
xor rax, rsp
mov qword [rbp + 0xbfc0], rax
xor edi, edi
mov eax, dword [0x140026d28]
test eax, eax
je 0x140004971
cmp eax, 0x7fffffff
je 0x140004971
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
lea r8d, [rdi + 0x13]
lea rdx, str.Updating_registry..
lea rcx, [rsp + 0x58]
call fcn.1400012cc
nop
lea rcx, [rsp + 0x58]
call fcn.1400049dc
nop
mov esi, 0x1000
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x140004429
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, rsi
jb 0x140004424
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400049a9
call fcn.1400073a8
mov eax, dword [0x140026d2c]
shr rax, 1
add rax, rax
cmp rax, 0x40
jae 0x1400049a3
lea r12, [0x140026d40]
mov word [rax + r12], di
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 3
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionUninstall6354A46F_7CE5_4CF7_A9FA_9A3542AD9A6B_is1
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140004971
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
lea r8d, [rax + 0x24]
lea rdx, str.Checking_registry_install_location..
lea rcx, [rsp + 0x58]
call fcn.1400012cc
nop
lea rcx, [rsp + 0x58]
call fcn.1400049dc
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x1400044ea
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, rsi
jb 0x1400044e5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400049af
call fcn.1400073a8
mov ebx, 0x2000
mov dword [rsp + 0x48], ebx
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
xor r8d, r8d
lea rdx, str.InstallLocation
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140004966
mov edx, dword [rsp + 0x48]
shr edx, 1
mov dword [rsp + 0x48], edx
lea eax, [rdx - 1]
cmp word [rbp + rax*2 - 0x40], di
je 0x140004555
lea rcx, [rdx + rdx]
lea eax, [rdx + 1]
mov dword [rsp + 0x48], eax
cmp rcx, rbx
jae 0x1400049bb
mov word [rbp + rcx - 0x40], di
mov r15d, 1
mov eax, dword [rsp + 0x50]
cmp eax, 2
jne 0x14000459b
mov r8d, esi
lea rdx, [rbp + 0x1fc0]
lea rcx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
cmp eax, esi
ja 0x140004592
mov r8d, eax
add r8, r8
lea rdx, [rbp + 0x1fc0]
lea rcx, [rbp - 0x40]
call fcn.1400174e0
mov eax, dword [rsp + 0x50]
cmp eax, 2
je 0x1400045a4
cmp eax, r15d
jne 0x140004966
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x1fc0]
call qword [sym.imp.SHLWAPI.dll_PathCanonicalizeW]
test eax, eax
je 0x140004966
mov r8, rbx
lea rdx, [rbp + 0x1fc0]
lea rcx, [rbp - 0x40]
call fcn.1400174e0
xor r9d, r9d
lea r8, [rbp + 0x1fc0]
mov edx, esi
lea rcx, [0x1400199f8]
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
cmp eax, esi
jae 0x140004966
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], rdi
lea rax, [rbp - 0x40]
or rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp word [rax + r8*2], di
jne 0x14000460b
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x68]
call fcn.1400012cc
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rdi
lea rax, [rbp + 0x1fc0]
inc rbx
cmp word [rax + rbx*2], di
jne 0x14000463c
mov r8, rbx
lea rdx, [rbp + 0x1fc0]
lea rcx, [rsp + 0x58]
call fcn.1400012cc
nop
movabs rax, 0x7ffffffffffffffe
mov rcx, qword [rsp + 0x68]
sub rax, rcx
cmp rax, r15
jb 0x1400049b5
lea r9, [rsp + 0x58]
cmp qword [rsp + 0x70], 7
cmova r9, qword [rsp + 0x58]
mov qword [rsp + 0x30], r15
lea rax, [0x1400198e4]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r8, [rsp + 0x58]
mov dl, byte [rsp + 0x4c]
lea rcx, [rsp + 0x78]
call fcn.140001a10
lea rcx, [rsp + 0x78]
call fcn.140002064
lea rcx, [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [0x140026d2c]
shr eax, 1
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r12
mov r9d, r15d
xor r8d, r8d
lea rdx, str.DisplayVersion
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
lea rdx, str.materialgram
lea rcx, [rbp + 0x3fc0]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rcx, [rbp + 0x3fc0]
call fcn.14000e2cc
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x3fc0]
mov qword [rsp + 0x20], rax
mov r9d, r15d
xor r8d, r8d
lea rdx, str.DisplayName
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
lea rdx, str.kukuruzka
lea rcx, [rbp + 0x5fc0]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rcx, [rbp + 0x5fc0]
call fcn.14000e2cc
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x5fc0]
mov qword [rsp + 0x20], rax
mov r9d, r15d
xor r8d, r8d
lea rdx, str.Publisher
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
lea rdx, str.materialgram
lea rcx, [rbp + 0x7fc0]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rcx, [rbp + 0x7fc0]
call fcn.14000e2cc
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x7fc0]
mov qword [rsp + 0x20], rax
mov r9d, r15d
xor r8d, r8d
lea rdx, str.Inno_Setup:_Icon_Group
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
movzx eax, word [rsp + 0x7e]
movzx r9d, word [rsp + 0x7a]
movzx r8d, word [rsp + 0x78]
mov dword [rsp + 0x20], eax
lea rdx, str._04d_02d_02d
lea rcx, [rbp + 0x9fc0]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rcx, [rbp + 0x9fc0]
call fcn.14000e2cc
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x9fc0]
mov qword [rsp + 0x20], rax
mov r9d, r15d
xor r8d, r8d
lea rdx, str.InstallDate
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
lea rbx, str.https:__github.com_kukuruzka165_materialgram
mov rcx, rbx
call fcn.14000e2cc
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, r15d
xor r8d, r8d
lea rdx, str.HelpLink
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rbx
call fcn.14000e2cc
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, r15d
xor r8d, r8d
lea rdx, str.URLInfoAbout
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rbx
call fcn.14000e2cc
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, r15d
xor r8d, r8d
lea rdx, str.URLUpdateInfo
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x14000491b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, rsi
jb 0x140004916
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400049c1
call fcn.1400073a8
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], di
mov rdx, qword [rbp - 0x50]
cmp rdx, 7
jbe 0x140004966
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, rsi
jb 0x140004961
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000499d
call fcn.1400073a8
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rbp + 0xbfc0]
xor rcx, rsp
call fcn.140007a00
lea r11, [rsp + 0xc0d0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r12
pop rbp
ret
call fcn.14000e1ec
int3
call fcn.1400076f8
int3
call fcn.14000e1ec
int3
call fcn.14000e1ec
nop
call fcn.1400020dc
nop
call fcn.1400076f8
nop
call fcn.14000e1ec
int3