Function at 0x14002f8d0
Capabilities:
Check if file exists
Get file attributes
Query environment variable
Read .ini file

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x2b70
call fcn.14006c5a0
sub rsp, rax
mov qword [rsp + 0x300], 0xfffffffffffffffe
mov qword [rsp + 0x2bc0], rbx
mov rax, qword [0x140099938]
xor rax, rsp
mov qword [rsp + 0x2b60], rax
mov rdi, rdx
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x2f8], rdx
mov ebx, 8
mov rcx, rbx
call fcn.14005b298
xor r13d, r13d
cmp rax, r13
je 0x14002f946
lea rcx, [rsp + 0x100]
mov qword [rax], rcx
jmp 0x14002f949
mov rax, r13
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x118], r13
mov qword [rsp + 0x120], r13
mov qword [rsp + 0x128], r13
lea rax, [fcn.140009f98]
mov qword [rsp + 0x20], rax
lea r9, [0x140009f6c]
mov r8d, ebx
mov rdx, rbx
lea rcx, [rsp + 0x90]
call fcn.14005da7c
nop
mov r12d, r13d
mov dword [rsp + 0x70], r13d
lea rbx, [0x140077480]
mov rdx, rbx
lea rcx, [rsp + 0x80]
call fcn.14000b470
nop
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.14000b470
nop
mov rdx, rbx
lea rcx, [rsp + 0x68]
call fcn.14000b470
nop
mov dword [rsp + 0x58], r13d
mov qword [rsp + 0xf0], r13
xor edx, edx
mov r8d, 0x2002
lea rcx, [rsp + 0xb50]
call fcn.14005bb90
mov dword [rsp + 0x500], r13d
mov r15d, 0x2000000
mov rcx, qword [rdi]
sub rcx, 0x18
call fcn.140009ef0
add rax, 0x18
mov qword [rsp + 0x1a0], rax
mov r8d, 0x2c
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x1a0]
call fcn.14002802c
mov rbp, qword [rsp + 0x120]
mov rcx, rbp
mov rbx, qword [rsp + 0x118]
sub rcx, rbx
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
or rsi, 0xffffffffffffffff
cmp rdx, 7
jb 0x14003103d
cmp rdx, 8
ja 0x14003103d
cmp rbx, rbp
jbe 0x14002fa82
call fcn.14005c2f8
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rbx
movaps xmm0, xmmword [rsp + 0xe0]
movdqa xmmword [rsp + 0xe0], xmm0
mov r12, r13
lea r13, [rsp + 0x90]
mov rdi, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xe8]
xor r14d, r14d
mov rbp, qword [rsp + 0x120]
cmp qword [rsp + 0x118], rbp
jbe 0x14002fae0
call fcn.14005c2f8
cmp rdi, r14
je 0x14002faef
cmp rdi, qword [rsp + 0x100]
je 0x14002faf4
call fcn.14005c2f8
cmp rbx, rbp
je 0x14002fba2
cmp r12, 8
jae 0x14002fb75
cmp rdi, r14
jne 0x14002fb12
call fcn.14005c2f8
mov r11, r14
jmp 0x14002fb15
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x20]
jb 0x14002fb20
call fcn.14005c2f8
cmp qword [rbx + 0x20], 8
jb 0x14002fb2d
mov rbp, qword [rbx + 8]
jmp 0x14002fb31
lea rbp, [rbx + 8]
cmp rbp, r14
jne 0x14002fb3b
mov eax, r14d
jmp 0x14002fb43
mov rcx, rbp
call fcn.14005b1c0
mov r8d, eax
mov rdx, rbp
mov rcx, r13
call fcn.14000a188
mov r11, qword [r13]
mov qword [rsp + 0x20], r11
mov r9, r12
lea r8, str.Parameter__1_d_____2_s__n
lea rdx, str.CUninstallActions::SetVariable
mov ecx, 4
call fcn.140009480
cmp rdi, r14
jne 0x14002fb84
call fcn.14005c2f8
mov r11, r14
jmp 0x14002fb87
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x20]
jb 0x14002fb92
call fcn.14005c2f8
add rbx, 0x28
inc r12
add r13, 8
jmp 0x14002fac9
mov rcx, qword [rsp + 0xc8]
xor r13d, r13d
cmp dword [rcx - 0x10], r13d
mov r14d, dword [rsp + 0x500]
je 0x14002fcc5
add rcx, 0xffffffffffffffe8
call fcn.140009ef0
add rax, 0x18
mov qword [rsp + 0x1b0], rax
lea rdx, [rsp + 0x1b0]
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.14002e178
cmp eax, r13d
jne 0x14002fcca
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
or rsi, 0xffffffffffffffff
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
cmp eax, r13d
jg 0x14002fc17
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
cmp eax, r13d
jg 0x14002fc38
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
cmp eax, r13d
jg 0x14002fc5c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea r9, [fcn.140009f98]
mov eax, 8
mov r8d, eax
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.14005bcfc
nop
lea rcx, [rsp + 0x100]
call fcn.140005204
mov rcx, qword [rsp + 0x100]
call fcn.14005ab0c
nop
mov r8, qword [rsp + 0x78]
mov rdx, qword [r8]
sub rdx, 0x18
mov ecx, esi
lock xadd dword [rdx + 0x10], ecx
add ecx, esi
cmp ecx, r13d
jg 0x14002fcbb
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
mov eax, 1
jmp 0x14003113a
mov rbx, qword [rsp + 0x60]
lea rdx, str.SET_VARUNSIGNED
mov rcx, qword [rsp + 0x90]
call fcn.14005c7d4
cmp eax, r13d
jne 0x14002fce8
mov ebp, r13d
jmp 0x14002fd51
mov edi, 0xe
mov rdx, rdi
lea rcx, str.SET_VARSIGNED
call fcn.14005ca00
mov r8, rax
lea rdx, str.SET_VARSIGNED
mov rcx, qword [rsp + 0x90]
call fcn.14005c5e0
cmp eax, r13d
jne 0x14002fd1d
lea ebp, [rdi - 0xd]
jmp 0x14002fd51
mov rdx, rdi
lea rcx, str.SET_VARSTRING
call fcn.14005ca00
mov r8, rax
lea rdx, str.SET_VARSTRING
mov rcx, qword [rsp + 0x90]
call fcn.14005c5e0
cmp eax, r13d
jne 0x140031028
mov ebp, 2
lea rdx, str.HKLM_WOW64
mov rcx, qword [rsp + 0xa8]
call fcn.14005c7d4
cmp eax, r13d
jne 0x14002fd7c
mov rbx, 0xffffffff80000002
mov r15d, 0x20219
jmp 0x14002fe06
lea rdx, str.HKLM
mov rcx, qword [rsp + 0xa8]
call fcn.14005c7d4
cmp eax, r13d
jne 0x14002fd9e
mov rbx, 0xffffffff80000002
jmp 0x14002fe06
lea rdx, str.HKCU
mov rcx, qword [rsp + 0xa8]
call fcn.14005c7d4
cmp eax, r13d
jne 0x14002fdc0
mov rbx, 0xffffffff80000001
jmp 0x14002fe06
lea rdx, str.HKCR
mov rcx, qword [rsp + 0xa8]
call fcn.14005c7d4
cmp eax, r13d
jne 0x14002fde2
mov rbx, 0xffffffff80000000
jmp 0x14002fe06
lea rdx, str.HKCC
mov rcx, qword [rsp + 0xa8]
call fcn.14005c7d4
cmp eax, r13d
jne 0x14003022b
mov rbx, 0xffffffff80000005
lea rcx, [rsp + 0xd0]
call fcn.14004a428
nop
mov r9d, r15d
mov r8, qword [rsp + 0xb0]
mov rdx, rbx
lea rcx, [rsp + 0xd0]
call fcn.14004a460
cmp rax, r13
jne 0x14002fe4b
lea rcx, [rsp + 0xd0]
call fcn.14004a8ec
mov rbx, qword [rsp + 0x60]
jmp 0x1400300e6
mov rdx, qword [rsp + 0xb8]
mov r14d, r13d
cmp dword [rdx - 0x10], r13d
sete r14b
lea rcx, [rsp + 0xd0]
call fcn.14004a55c
cmp eax, r13d
jne 0x14002fe87
lea rcx, [rsp + 0xd0]
call fcn.14004a8ec
mov rbx, qword [rsp + 0x60]
jmp 0x1400300e6
mov r14d, 1
mov rdx, qword [rsp + 0xb8]
lea rcx, [rsp + 0xd0]
call fcn.14004a58c
mov r12d, eax
cmp ebp, r13d
je 0x1400300ae
cmp ebp, r14d
je 0x1400300ae
lea rcx, [rsp + 0x470]
call fcn.14004a92c
nop
mov rdi, r13
xor ecx, ecx
mov qword [rsp + 0xf8], rcx
cmp r12d, r14d
je 0x14002ff05
cmp r12d, 2
je 0x14002ff05
lea rcx, [rsp + 0x470]
call fcn.14004a960
nop
lea rcx, [rsp + 0xd0]
call fcn.14004a8ec
mov rbx, qword [rsp + 0x60]
xor r13d, r13d
jmp 0x1400300e6
mov r9d, r15d
mov r8, qword [rsp + 0xb0]
mov rdx, rbx
lea rcx, [rsp + 0x470]
call fcn.14004a460
xor r15d, r15d
cmp rax, r15
je 0x140030099
lea r8, [rsp + 0xf8]
mov rdx, qword [rsp + 0xb8]
lea rcx, [rsp + 0x470]
call fcn.14004a79c
mov rbx, rax
cmp rax, r15
jne 0x14002ff9f
mov dword [rsp + 0x70], 1
mov rdx, qword [rsp + 0xc0]
mov eax, dword [rdx - 0x10]
inc eax
movsxd r8, eax
lea r9, [rsp + 0x50]
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.1400236ac
nop
lea rcx, [rsp + 0x470]
call fcn.14004a960
nop
lea rcx, [rsp + 0xd0]
call fcn.14004a8ec
xor r13d, r13d
jmp 0x1400300e6
mov rdx, qword [rsp + 0xf8]
mov rcx, rax
call fcn.14005ca00
lea ecx, [rax + 1]
cmp r12d, 2
jne 0x140030025
mov rcx, rdi
call fcn.140048b24
lea r12d, [r13 + 1]
mov ecx, r12d
add rcx, rcx
mov r8d, 0x82c
lea rdx, str..DevConFunc.cpp
call fcn.140048afc
mov rdi, rax
xor r13d, r13d
cmp rax, r13
je 0x140030000
mov r8d, r12d
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov r13d, eax
cmp eax, r12d
jb 0x140030078
jmp 0x14002ffb8
lea rcx, [rsp + 0x470]
call fcn.14004a960
nop
lea rcx, [rsp + 0xd0]
call fcn.14004a8ec
mov rbx, qword [rsp + 0x60]
jmp 0x1400300e6
mov r12d, ecx
add rcx, rcx
mov r8d, 0x831
lea rdx, str..DevConFunc.cpp
call fcn.140048afc
mov rdi, rax
xor r13d, r13d
cmp rax, r13
jne 0x14003006a
lea rcx, [rsp + 0x470]
call fcn.14004a960
nop
lea rcx, [rsp + 0xd0]
call fcn.14004a8ec
mov rbx, qword [rsp + 0x60]
jmp 0x1400300e6
mov r8, rbx
mov rdx, r12
mov rcx, rax
call fcn.14005ceb0
mov rcx, rdi
call fcn.14005b1c0
mov r8d, eax
mov rdx, rdi
lea rcx, [rsp + 0x50]
call fcn.14000a188
mov rcx, rdi
call fcn.140048b24
nop
lea rcx, [rsp + 0x470]
call fcn.14004a960
xor r13d, r13d
jmp 0x140030219
lea rcx, [rsp + 0x4c0]
call fcn.14004a9c8
nop
cmp r12d, 4
je 0x1400301d0
lea rcx, [rsp + 0x4c0]
call fcn.14004a9f8
nop
lea rcx, [rsp + 0xd0]
call fcn.14004a8ec
mov rbx, qword [rsp + 0x60]
mov ecx, ebp
cmp ebp, r13d
je 0x14003018a
sub ecx, 1
je 0x140030121
cmp ecx, 1
jne 0x1400308ef
mov rdx, qword [rsp + 0xc0]
mov eax, dword [rdx - 0x10]
inc eax
movsxd r8, eax
lea r9, [rsp + 0x50]
mov rcx, rbx
call fcn.1400236ac
jmp 0x1400308ef
lea rdx, str.SET_VARSIGNED_EXIST
mov rcx, qword [rsp + 0x90]
call fcn.14005c7d4
cmp eax, r13d
jne 0x140030144
mov dword [rsp + 0x58], r14d
jmp 0x1400308ef
lea r8, [rsp + 0x58]
lea rdx, str.0x_x
mov rcx, qword [rsp + 0xc0]
call fcn.14005d32c
cmp eax, r13d
jg 0x1400308ef
mov r8d, 0xa
lea rdx, [rsp + 0xf0]
mov rcx, qword [rsp + 0xc0]
call fcn.14005da3c
mov dword [rsp + 0x58], eax
jmp 0x1400308ef
lea r8, [rsp + 0x58]
lea rdx, str.0x_x
mov rcx, qword [rsp + 0xc0]
call fcn.14005d32c
cmp eax, r13d
jg 0x1400308ef
mov r8d, 0xa
lea rdx, [rsp + 0xf0]
mov rcx, qword [rsp + 0xc0]
call fcn.14005da3c
mov dword [rsp + 0x58], eax
jmp 0x1400308ef
mov r9d, r15d
mov r8, qword [rsp + 0xb0]
mov rdx, rbx
lea rcx, [rsp + 0x4c0]
call fcn.14004a460
cmp rax, r13
je 0x14003020b
mov rdx, qword [rsp + 0xb8]
lea rcx, [rsp + 0x4c0]
call fcn.14004a840
mov ecx, dword [rax]
mov dword [rsp + 0x58], ecx
lea rcx, [rsp + 0x4c0]
call fcn.14004a9f8
nop
lea rcx, [rsp + 0xd0]
call fcn.14004a8ec
jmp 0x140030396
lea rdx, str.DIRECT
mov rcx, qword [rsp + 0xa8]
call fcn.14005c7d4
cmp eax, r13d
jne 0x140030268
mov r9d, 0x1000
mov r8, qword [rsp + 0xc0]
lea edx, [r9 + 1]
lea rcx, [rsp + 0xb50]
call fcn.14005dbac
jmp 0x14003033c
lea rdx, str.FILEPATH
mov rcx, qword [rsp + 0xa8]
call fcn.14005c7d4
cmp eax, r13d
jne 0x1400302c9
mov r9d, 0x1000
mov r8, qword [rsp + 0xc0]
lea edx, [r9 + 1]
lea rcx, [rsp + 0xb50]
call fcn.14005dbac
cmp r13w, word [rsp + 0xb50]
je 0x14003033c
lea rcx, [rsp + 0xb50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r14d, r13d
cmp eax, 0xffffffff
setne r14b
jmp 0x14003033c
mov rdx, qword [rsp + 0xa8]
mov eax, dword [rdx - 0x10]
inc eax
movsxd r8, eax
lea r9, [rsp + 0x80]
mov rcx, rbx
call fcn.1400236ac
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r14d, r13d
cmp eax, 0xffffffff
setne r14b
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x1001
lea r9, [rsp + 0xb50]
mov r8, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea r8, [rsp + 0x58]
lea rdx, str.0x_x
lea rcx, [rsp + 0xb50]
call fcn.14005d32c
cmp eax, r13d
jg 0x140030379
mov r8d, 0xa
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0xb50]
call fcn.14005da3c
mov dword [rsp + 0x58], eax
mov rdx, qword [rsp + 0xc0]
mov eax, dword [rdx - 0x10]
inc eax
movsxd r8, eax
lea r9, [rsp + 0x50]
mov rcx, rbx
call fcn.1400236ac
cmp ebp, 1
jne 0x1400303db
lea rdx, str.SET_VARSIGNED_EXIST
mov rcx, qword [rsp + 0x90]
call fcn.14005c7d4
cmp eax, r13d
jne 0x1400308ef
mov r9d, r14d
lea r8, str.SET_VARSIGNED_EXIST_bExist___1_x_
lea rdx, str.CUninstallActions::SetVariable
lea ecx, [rbp + 3]
call fcn.140009480
mov dword [rsp + 0x58], r14d
jmp 0x1400308ef
cmp ebp, 2
jne 0x1400308ef
mov r14d, 0x101
mov qword [rsp + 0x40], r14
lea rax, [rsp + 0x730]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
lea rax, [rsp + 0x940]
mov qword [rsp + 0x28], rax
lea r15d, [r14 + 4]
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x520]
lea edi, [rbp + 2]
mov r8, rdi
lea rdx, [rsp + 0x500]
mov rcx, qword [rsp + 0x50]
call fcn.14005cbe4
lea rdx, str.SET_VARSTRING_DRIVE
mov rcx, qword [rsp + 0x90]
call fcn.14005c7d4
cmp eax, r13d
jne 0x140030477
lea rcx, [rsp + 0x500]
call fcn.14005b1c0
mov r8d, eax
lea rdx, [rsp + 0x500]
lea rcx, [rsp + 0x50]
call fcn.14000a188
jmp 0x1400308ef
lea rdx, str.SET_VARSTRING_DIR
mov rcx, qword [rsp + 0x90]
call fcn.14005c7d4
cmp eax, r13d
jne 0x1400304d9
lea rcx, [rsp + 0x500]
call fcn.14005b1c0
mov r8d, eax
lea rdx, [rsp + 0x500]
lea rcx, [rsp + 0x50]
call fcn.14000a188
lea rcx, [rsp + 0x520]
call fcn.14005b1c0
mov r8d, eax
lea rdx, [rsp + 0x520]
lea rcx, [rsp + 0x50]
call fcn.14000a8b0
jmp 0x1400308ef
lea rdx, str.SET_VARSTRING_FILE
mov rcx, qword [rsp + 0x90]
call fcn.14005c7d4
cmp eax, r13d
jne 0x14003053b
lea rcx, [rsp + 0x940]
call fcn.14005b1c0
mov r8d, eax
lea rdx, [rsp + 0x940]
lea rcx, [rsp + 0x50]
call fcn.14000a188
lea rcx, [rsp + 0x730]
call fcn.14005b1c0
mov r8d, eax
lea rdx, [rsp + 0x730]
lea rcx, [rsp + 0x50]
call fcn.14000a8b0
jmp 0x1400308ef
lea rdx, str.SET_VARSTRING_EXT
mov rcx, qword [rsp + 0x90]
call fcn.14005c7d4
cmp eax, r13d
jne 0x14003057b
lea rcx, [rsp + 0x730]
call fcn.14005b1c0
mov r8d, eax
lea rdx, [rsp + 0x730]
lea rcx, [rsp + 0x50]
call fcn.14000a188
jmp 0x1400308ef
lea rdx, str.SET_VARSTRING_ISU
mov rcx, qword [rsp + 0x90]
call fcn.14005c7d4
cmp eax, r13d
jne 0x1400308ef
movabs rax, 0x220066002d
mov qword [rsp + 0x508], rax
lea rcx, [rsp + 0x510]
mov rax, qword [str..isu_]
mov qword [rcx], rax
mov eax, dword [0x14007dbf8]
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0x50]
cmp dword [rcx - 0x10], r13d
jl 0x140030744
lea rdx, [rsp + 0x508]
call fcn.14005cf34
mov rbx, rax
cmp rax, r13
je 0x140030744
sub rbx, qword [rsp + 0x50]
sar rbx, 1
cmp ebx, r13d
jle 0x140030744
mov rdx, rdi
lea rcx, [rsp + 0x508]
call fcn.14005ca00
add ebx, eax
mov rax, qword [rsp + 0x50]
js 0x140030646
cmp ebx, dword [rax - 0x10]
jg 0x140030646
movsxd rcx, ebx
lea rcx, [rax + rcx*2]
lea rdx, [rsp + 0x510]
call fcn.14005cf34
mov rdi, rax
cmp rax, r13
je 0x1400308ef
sub rdi, qword [rsp + 0x50]
sar rdi, 1
jmp 0x140030648
mov edi, esi
cmp edi, r13d
jle 0x1400308ef
mov edx, 6
lea rcx, [rsp + 0x510]
call fcn.14005ca00
lea r9d, [rdi + rax - 1]
sub r9d, ebx
mov r8d, ebx
lea rdx, [rsp + 0x1a8]
lea rcx, [rsp + 0x50]
call fcn.140013304
nop
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.14000a830
nop
mov rdx, qword [rsp + 0x1a8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
cmp eax, r13d
jg 0x1400306b2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov qword [rsp + 0x40], r14
lea rax, [rsp + 0x730]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
lea rax, [rsp + 0x940]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x520]
mov r8d, 4
lea rdx, [rsp + 0x500]
mov rcx, qword [rsp + 0x50]
call fcn.14005cbe4
lea rcx, [rsp + 0x500]
call fcn.14005b1c0
mov r8d, eax
lea rdx, [rsp + 0x500]
lea rcx, [rsp + 0x50]
call fcn.14000a188
lea rcx, [rsp + 0x520]
call fcn.14005b1c0
mov r8d, eax
lea rdx, [rsp + 0x520]
lea rcx, [rsp + 0x50]
call fcn.14000a8b0
jmp 0x1400308ef
lea r8, [0x14007dbe4]
mov rdx, rdi
lea rcx, [rsp + 0x508]
call fcn.14005ceb0
lea r8, str..isu
mov r12d, 6
mov rdx, r12
lea rcx, [rsp + 0x510]
call fcn.14005ceb0
mov rcx, qword [rsp + 0x50]
cmp dword [rcx - 0x10], r13d
jl 0x1400308ef
lea rdx, [rsp + 0x508]
call fcn.14005cf34
mov rbx, rax
cmp rax, r13
je 0x1400308ef
sub rbx, qword [rsp + 0x50]
sar rbx, 1
cmp ebx, r13d
jle 0x1400308ef
mov rdx, rdi
lea rcx, [rsp + 0x508]
call fcn.14005ca00
add ebx, eax
mov rax, qword [rsp + 0x50]
js 0x1400307f9
cmp ebx, dword [rax - 0x10]
jg 0x1400307f9
movsxd rcx, ebx
lea rcx, [rax + rcx*2]
lea rdx, [rsp + 0x510]
call fcn.14005cf34
mov rdi, rax
cmp rax, r13
je 0x1400308ef
sub rdi, qword [rsp + 0x50]
sar rdi, 1
jmp 0x1400307fb
mov edi, esi
cmp edi, r13d
jle 0x1400308ef
mov rdx, r12
lea rcx, [rsp + 0x510]
call fcn.14005ca00
lea r9d, [rax + rdi]
sub r9d, ebx
mov r8d, ebx
lea rdx, [rsp + 0x1e8]
lea rcx, [rsp + 0x50]
call fcn.140013304
nop
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.14000a830
nop
mov rdx, qword [rsp + 0x1e8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
cmp eax, r13d
jg 0x140030862
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov qword [rsp + 0x40], r14
lea rax, [rsp + 0x730]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
lea rax, [rsp + 0x940]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x520]
mov r8d, 4
lea rdx, [rsp + 0x500]
mov rcx, qword [rsp + 0x50]
call fcn.14005cbe4
lea rcx, [rsp + 0x500]
call fcn.14005b1c0
mov r8d, eax
lea rdx, [rsp + 0x500]
lea rcx, [rsp + 0x50]
call fcn.14000a188
lea rcx, [rsp + 0x520]
call fcn.14005b1c0
mov r8d, eax
lea rdx, [rsp + 0x520]
lea rcx, [rsp + 0x50]
call fcn.14000a8b0
mov rbx, qword [rsp + 0xa0]
mov r15d, 7
mov qword [rsp + 0x198], r15
mov qword [rsp + 0x190], r13
mov word [rsp + 0x180], r13w
mov rcx, rbx
call fcn.14005b1c0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x178]
call fcn.140002280
nop
mov r13, qword [rsp + 0x60]
lea r8, [rsp + 0x178]
lea rdx, [rsp + 0x378]
lea rcx, [r13 + 0x48]
call fcn.140021978
movdqu xmm0, xmmword [rax]
movdqu xmmword [rsp + 0xe0], xmm0
cmp qword [rsp + 0x198], 8
jb 0x140030975
mov rcx, qword [rsp + 0x180]
call fcn.14005ab0c
mov qword [rsp + 0x198], r15
xor r14d, r14d
mov qword [rsp + 0x190], r14
mov word [rsp + 0x180], r14w
mov r12, qword [rsp + 0xe0]
cmp ebp, r14d
je 0x1400309d5
mov rdi, qword [r13 + 0x78]
cmp r12, r14
je 0x1400309ad
cmp r12, qword [r13 + 0x48]
je 0x1400309b2
call fcn.14005c2f8
cmp qword [rsp + 0xe8], rdi
je 0x1400309d5
mov r8, qword [rsp + 0x78]
mov r8, qword [r8]
lea rdx, str.__s__the_variable_is_already_defined_as_unsigned_variable.
lea rcx, [rsp + 0x68]
call fcn.14000b0cc
mov rbx, qword [rsp + 0xa0]
mov qword [rsp + 0x170], r15
mov qword [rsp + 0x168], r14
mov word [rsp + 0x158], r14w
mov rcx, rbx
call fcn.14005b1c0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x150]
call fcn.140002280
nop
lea r15, [r13 + 0x88]
lea r8, [rsp + 0x150]
lea rdx, [rsp + 0x368]
mov rcx, r15
call fcn.140021978
movdqu xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x130], xmm0
cmp qword [rsp + 0x170], 8
jb 0x140030a56
mov rcx, qword [rsp + 0x158]
call fcn.14005ab0c
mov qword [rsp + 0x170], 7
mov qword [rsp + 0x168], r14
mov word [rsp + 0x158], r14w
mov r14, qword [rsp + 0x138]
mov rdi, qword [rsp + 0x130]
cmp ebp, 1
je 0x140030abb
mov rbx, qword [r15 + 0x30]
xor ecx, ecx
cmp rdi, rcx
je 0x140030a98
cmp rdi, qword [r15]
je 0x140030a9d
call fcn.14005c2f8
cmp r14, rbx
je 0x140030abb
mov rax, qword [rsp + 0x78]
mov r8, qword [rax]
lea rdx, str.__s__the_variable_is_already_defined_as_signed_variable.
lea rcx, [rsp + 0x68]
call fcn.14000b0cc
mov rbx, qword [rsp + 0xa0]
mov qword [rsp + 0x270], 7
xor eax, eax
mov qword [rsp + 0x268], rax
mov word [rsp + 0x258], ax
mov rcx, rbx
call fcn.14005b1c0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x250]
call fcn.140002280
nop
lea rbx, [r13 + 0xc8]
lea r8, [rsp + 0x250]
lea rdx, [rsp + 0x358]
mov rcx, rbx
call fcn.140013938
movdqu xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x140], xmm0
cmp qword [rsp + 0x270], 8
jb 0x140030b41
mov rcx, qword [rsp + 0x258]
call fcn.14005ab0c
mov r13, qword [rsp + 0x140]
cmp ebp, 2
je 0x140030b96
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x130], rax
xor ecx, ecx
cmp r13, rcx
je 0x140030b66
cmp r13, qword [rbx]
je 0x140030b73
call fcn.14005c2f8
mov rax, qword [rsp + 0x130]
cmp qword [rsp + 0x148], rax
je 0x140030b96
mov rax, qword [rsp + 0x78]
mov r8, qword [rax]
lea rdx, str.__s__the_variable_is_already_defined_as_string_variable.
lea rcx, [rsp + 0x68]
call fcn.14000b0cc
mov rdx, qword [rsp + 0x68]
xor ecx, ecx
cmp dword [rdx - 0x10], ecx
je 0x140030bc5
lea r9d, [rcx + 0x10]
lea r8, str.Internal_Error
call qword [sym.imp.USER32.dll_MessageBoxW]
mov rdi, qword [rsp + 0x78]
mov r12d, dword [rsp + 0x70]
xor r13d, r13d
jmp 0x140031077
cmp ebp, ecx
je 0x140030e68
sub ebp, 1
je 0x140030cea
cmp ebp, 1
jne 0x140031018
mov rdi, qword [rbx + 0x30]
cmp r13, rcx
je 0x140030bed
cmp r13, qword [rbx]
je 0x140030bf2
call fcn.14005c2f8
cmp qword [rsp + 0x148], rdi
je 0x140030c30
mov rdi, qword [rsp + 0x50]
lea rcx, [rsp + 0x140]
call fcn.1400130a0
mov rbx, rax
mov rcx, rdi
call fcn.14005b1c0
mov r8, rax
mov rdx, rdi
lea rcx, [rbx + 0x28]
call fcn.140002280
xor r13d, r13d
jmp 0x14003101b
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x308]
call fcn.140003a70
nop
mov rdx, qword [rsp + 0xa0]
lea rcx, [rsp + 0x330]
call fcn.140003a70
nop
lea r8, [rsp + 0x308]
lea rdx, [rsp + 0x330]
lea rcx, [rsp + 0x420]
call fcn.140013af8
nop
mov rdx, rax
lea rcx, [rsp + 0x3d0]
call fcn.140013b78
nop
lea r8, [rsp + 0x3d0]
lea rdx, [rsp + 0x3a0]
mov rcx, rbx
call fcn.140015dac
nop
lea rcx, [rsp + 0x3d0]
call fcn.140003254
nop
lea rcx, [rsp + 0x420]
call fcn.140003254
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x330]
call fcn.140001624
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x308]
call fcn.140001624
xor r13d, r13d
jmp 0x14003101b
mov rbx, qword [r15 + 0x30]
xor r13d, r13d
cmp rdi, r13
je 0x140030cfb
cmp rdi, qword [r15]
je 0x140030d00
call fcn.14005c2f8
cmp r14, rbx
je 0x140030d2f
cmp rdi, r13
jne 0x140030d14
call fcn.14005c2f8
mov r11, r13
jmp 0x140030d17
mov r11, qword [rdi]
cmp r14, qword [r11 + 0x30]
jne 0x140030d22
call fcn.14005c2f8
mov eax, dword [rsp + 0x58]
mov dword [r14 + 0x40], eax
jmp 0x14003101b
mov edi, dword [rsp + 0x58]
mov rbx, qword [rsp + 0xa0]
mov ebp, 7
mov qword [rsp + 0x2f0], rbp
mov qword [rsp + 0x2e8], r13
mov word [rsp + 0x2d8], r13w
mov rcx, rbx
call fcn.14005b1c0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x2d0]
call fcn.140002280
nop
mov qword [rsp + 0x2c0], rbp
mov qword [rsp + 0x2b8], r13
mov word [rsp + 0x2a8], r13w
mov r9, rsi
xor r8d, r8d
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x2a0]
call fcn.140002130
mov dword [rsp + 0x2c8], edi
mov qword [rsp + 0x240], rbp
mov qword [rsp + 0x238], r13
mov word [rsp + 0x228], r13w
mov r9, rsi
xor r8d, r8d
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0x220]
call fcn.140002130
mov r11d, dword [rsp + 0x2c8]
mov dword [rsp + 0x248], r11d
lea r8, [rsp + 0x220]
lea rdx, [rsp + 0x3b8]
mov rcx, r15
call fcn.140027730
nop
cmp qword [rsp + 0x240], 8
jb 0x140030e25
mov rcx, qword [rsp + 0x228]
call fcn.14005ab0c
mov qword [rsp + 0x240], rbp
mov qword [rsp + 0x238], r13
mov word [rsp + 0x228], r13w
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x2a0]
call fcn.140001624
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x2d0]
call fcn.140001624
jmp 0x14003101b
mov rdi, qword [rsp + 0x60]
mov rbp, qword [rdi + 0x78]
xor r13d, r13d
cmp r12, r13
je 0x140030e7f
cmp r12, qword [rdi + 0x48]
je 0x140030e84
call fcn.14005c2f8
mov rbx, qword [rsp + 0xe8]
cmp rbx, rbp
je 0x140030ebb
cmp r12, r13
jne 0x140030ea0
call fcn.14005c2f8
mov r11, r13
jmp 0x140030ea4
mov r11, qword [r12]
cmp rbx, qword [r11 + 0x30]
jne 0x140030eaf
call fcn.14005c2f8
mov eax, dword [rsp + 0x58]
mov dword [rbx + 0x40], eax
jmp 0x14003101b
mov rbx, qword [rsp + 0xa0]
mov ebp, 7
mov qword [rsp + 0x298], rbp
mov qword [rsp + 0x290], r13
mov word [rsp + 0x280], r13w
mov rcx, rbx
call fcn.14005b1c0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x278]
call fcn.140002280
nop
mov qword [rsp + 0x1d8], rbp
mov qword [rsp + 0x1d0], r13
mov word [rsp + 0x1c0], r13w
mov r9, rsi
xor r8d, r8d
lea rdx, [rsp + 0x278]
lea rcx, [rsp + 0x1b8]
call fcn.140002130
mov r11d, dword [rsp + 0x58]
mov dword [rsp + 0x1e0], r11d
mov qword [rsp + 0x210], rbp
mov qword [rsp + 0x208], r13
mov word [rsp + 0x1f8], r13w
mov r9, rsi
xor r8d, r8d
lea rdx, [rsp + 0x1b8]
lea rcx, [rsp + 0x1f0]
call fcn.140002130
mov r11d, dword [rsp + 0x1e0]
mov dword [rsp + 0x218], r11d
lea r8, [rsp + 0x1f0]
lea rdx, [rsp + 0x388]
lea rcx, [rdi + 0x48]
call fcn.140027730
nop
cmp qword [rsp + 0x210], 8
jb 0x140030fb4
mov rcx, qword [rsp + 0x1f8]
call fcn.14005ab0c
mov qword [rsp + 0x210], rbp
mov qword [rsp + 0x208], r13
mov word [rsp + 0x1f8], r13w
cmp qword [rsp + 0x1d8], 8
jb 0x140030fe5
mov rcx, qword [rsp + 0x1c0]
call fcn.14005ab0c
mov qword [rsp + 0x1d8], rbp
mov qword [rsp + 0x1d0], r13
mov word [rsp + 0x1c0], r13w
cmp qword [rsp + 0x298], 8
jb 0x14003101b
mov rcx, qword [rsp + 0x280]
call fcn.14005ab0c
jmp 0x14003101b
xor r13d, r13d
mov r12d, 1
mov rdi, qword [rsp + 0x78]
jmp 0x140031077
mov ecx, 0x57
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rdi, qword [rsp + 0x78]
mov r12d, r13d
jmp 0x140031077
mov ecx, 0x57
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r8, qword [rdi]
lea rdx, str.CUninstallActions::SetVariable_invalid_parameters.___s_
lea rcx, [rsp + 0x68]
call fcn.14000b0cc
mov r9d, 0x10
lea r8, str.Internal_Error
mov rdx, qword [rsp + 0x68]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
cmp eax, r13d
jg 0x140031098
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
cmp eax, r13d
jg 0x1400310b9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
cmp eax, r13d
jg 0x1400310dd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea r9, [fcn.140009f98]
mov eax, 8
mov r8d, eax
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.14005bcfc
nop
lea rcx, [rsp + 0x100]
call fcn.140005204
mov rcx, qword [rsp + 0x100]
call fcn.14005ab0c
nop
mov rdx, qword [rdi]
sub rdx, 0x18
mov ecx, esi
lock xadd dword [rdx + 0x10], ecx
add ecx, esi
cmp ecx, r13d
jg 0x140031137
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
mov eax, r12d
mov rcx, qword [rsp + 0x2b60]
xor rcx, rsp
call fcn.14005bad0
mov rbx, qword [rsp + 0x2bc0]
add rsp, 0x2b70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret