Function at 0x140007bac
Capabilities:
Accept command line arguments
Check if file exists
Check os version
Get file attributes
Log keystrokes via polling
Set current directory

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1e8]
sub rsp, 0x2c0
lea rcx, [0x140007434]
call qword [sym.imp.msvcrt.dll_int____cdecl___unsigned_long_long_unsigned___int64_____cdecl__set_new_handler_int____cdecl___unsigned_long_long_unsigned___int64___]
call fcn.1400043c8
lea rcx, [rbp + 0xa0]
mov dword [rbp + 0xa0], 0x114
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
xor edi, edi
test eax, eax
je 0x140008dc0
lea r15d, [rdi + 2]
cmp dword [rbp + 0xb0], r15d
jne 0x140008dc0
cmp dword [rbp + 0xa4], 5
jb 0x140008dc0
lea rcx, [rsp + 0x78]
mov byte [str.___InstallEnd__], 0x3b
mov byte [str.___Install__UTF_8_], 0x3b
call fcn.140015c54
lea rcx, [rbp - 8]
call fcn.140015c54
lea rcx, [rbp - 0x38]
call fcn.140015c54
call fcn.140006b3c
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea rdx, [rsp + 0x78]
mov rcx, rax
call fcn.140003858
lea rcx, [rbp - 0x38]
mov rdx, rax
call fcn.140015d24
lea rcx, [rbp - 0x38]
call fcn.1400056c0
mov rsi, qword [rbp - 0x38]
lea r14d, [rdi + 1]
lea rdx, [0x140022378]
lea rcx, str.SfxVarModulePlatform
mov r8d, r14d
call fcn.140006470
call fcn.140004cd8
lea rcx, str.SfxVarSystemPlatform
mov rdx, rax
mov r8d, r14d
call fcn.140006470
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea rcx, str.SfxVarCmdLine0
mov rdx, rax
mov r8d, r14d
call fcn.140006470
movzx ebx, word [0x140028ae8]
lea r13d, [rdi + 0x20]
lea rcx, [rsp + 0x78]
mov edx, r13d
call fcn.1400050e4
lea rdx, [0x140023534]
mov r8d, ebx
mov rcx, rax
call qword [sym.imp.USER32.dll_wsprintfW]
mov rcx, qword [rsp + 0x78]
mov r11d, edi
cmp word [rcx], di
je 0x140007d0d
mov rax, rcx
add rax, r15
add r11d, r14d
cmp word [rax], di
jne 0x140007d02
mov eax, r11d
mov dword [rbp - 0x80], r11d
mov r8d, r14d
mov word [rcx + rax*2], di
mov rdx, qword [rsp + 0x78]
lea rcx, str.SfxVarSystemLanguage
call fcn.140006470
lea rdx, str.sfxlang
mov rcx, rsi
call fcn.140006ed4
test rax, rax
je 0x140007d74
cmp word [rax], 0x3a
jne 0x140007d74
lea rcx, [rax + 2]
call qword [sym.imp.msvcrt.dll__wtol]
movzx edx, word [0x140028ae8]
lea ecx, [rax - 1]
cmp ecx, 0xfffe
cmovbe dx, ax
mov word [0x140028ae8], dx
add rsi, r15
cmp word [rsi], r13w
ja 0x140007d6b
lea rdx, str.sfxversion
mov rcx, rsi
call fcn.140006ed4
test rax, rax
je 0x140007d92
call fcn.14000768c
jmp 0x140008bac
lea rdx, str.sfxwaitall
mov rcx, rsi
call fcn.140006ed4
test rax, rax
je 0x140007db5
mov rcx, rax
call fcn.140002404
mov edi, eax
jmp 0x140008bac
lea rdx, str.sfxelevation
mov rcx, rsi
mov r12b, dil
call fcn.140006ed4
test rax, rax
je 0x140007dd2
mov r12b, r14b
mov rsi, rax
mov ebx, 0x208
lea rcx, [0x140028c90]
mov edx, ebx
call fcn.1400050e4
mov r8d, ebx
xor ecx, ecx
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x140007e0a
lea edx, [rax + 6]
mov ecx, r14d
call fcn.14000c484
mov edi, r14d
jmp 0x140008bac
mov rdx, qword [0x140028c90]
mov eax, edi
cmp word [rdx], di
je 0x140007e26
mov rcx, rdx
add rcx, r15
add eax, r14d
cmp word [rcx], di
jne 0x140007e1b
mov dword [0x140028c98], eax
mov word [rdx + rax*2], di
lea rdx, str.sfxtest
mov rcx, rsi
call fcn.140006ed4
mov r8d, 0x61
mov rbx, rax
test rax, rax
je 0x14000801b
cmp word [rax], 0x3a
je 0x140007e61
mov edi, 0x64
jmp 0x140008bac
movzx edx, word [rax + 2]
mov ecx, edx
or ecx, r13d
sub ecx, r8d
je 0x140007fa4
sub ecx, r15d
je 0x140007f8c
dec ecx
je 0x140007ee3
sub ecx, 0xb
je 0x140007e94
cmp ecx, 7
jne 0x140007e57
mov edi, 0x4f3d
jmp 0x140008bac
cmp word [rax + 4], 0x3a
jne 0x140008bac
movzx ecx, word [rax + 6]
sub ecx, 0x31
je 0x140007e02
dec ecx
je 0x140007ed9
dec ecx
je 0x140007ecf
dec ecx
je 0x140007ec5
dec ecx
jne 0x140008bac
jmp 0x140008ba7
mov edi, 0x3fff
jmp 0x140008bac
mov edi, 0x1f
jmp 0x140008bac
mov edi, 0x5b7
jmp 0x140008bac
cmp edx, 0x44
jne 0x140007f4e
cmp word [rax + 4], 0x3a
jne 0x140007e57
mov edx, dword [0x140028d48]
add rbx, 6
movzx esi, word [rbx]
cmp si, r13w
jbe 0x140007f45
cmp si, 0x3a
je 0x140007f45
cmp dword [0x140028d4c], edx
jne 0x140007f26
lea rcx, [0x140028d40]
call fcn.1400159a8
mov edx, dword [0x140028d48]
mov rcx, qword [0x140028d40]
mov eax, edx
add edx, r14d
mov word [rcx + rax*2], si
mov word [rcx + rdx*2], di
mov dword [0x140028d48], edx
add rbx, r15
jmp 0x140007efd
test edx, edx
jne 0x140007f52
jmp 0x140007e57
add rbx, 4
mov dword [0x140028d38], edi
cmp word [rbx], 0x3a
jne 0x140007f79
lea rcx, [rbx + 2]
call qword [sym.imp.msvcrt.dll__wtol]
mov dword [0x140028d38], eax
cmp eax, 0xe10
ja 0x140007f79
test eax, eax
jne 0x140007f83
mov dword [0x140028d38], 0xa
mov dword [0x140028d3c], r14d
jmp 0x140007fb0
movzx eax, word [rax + 4]
sub ax, 0x63
neg ax
sbb eax, eax
add eax, 4
mov dword [0x140028d3c], eax
jmp 0x140007fb0
mov dword [0x140028d3c], r15d
jmp 0x140007fb0
add rbx, r15
cmp word [rbx], r13w
ja 0x140007fad
lea rdx, str.sfxconfig
mov rcx, rbx
mov rsi, rbx
call fcn.140006ed4
mov rcx, rax
test rax, rax
je 0x14000801b
cmp word [rax], 0x3a
jne 0x140007fe1
jmp 0x140007fde
cmp ax, r13w
ja 0x140007fe9
add rcx, r15
movzx eax, word [rcx]
test ax, ax
jne 0x140007fd8
mov rax, qword [rsp + 0x78]
mov dword [rbp - 0x80], edi
lea rdx, [rsp + 0x78]
mov word [rax], di
call fcn.140003858
cmp dword [0x140028d3c], r15d
mov rsi, rax
je 0x14000801b
lea rdx, [rsp + 0x78]
lea rcx, [0x140028c90]
call fcn.140015db4
lea rdx, [0x140028c90]
lea rcx, [0x140028b88]
call fcn.140015db4
lea rdx, [0x140028c90]
lea rcx, [0x140028ba8]
call fcn.140015db4
lea rcx, [0x140028c90]
call fcn.140004390
test eax, eax
js 0x14000810d
mov rcx, qword [0x140028b88]
mov edx, eax
mov dword [0x140028b90], eax
mov word [rcx + rdx*2], di
movsxd rbx, eax
mov rax, qword [0x140028c90]
lea rdx, [rax + rbx*2 + 2]
lea rcx, [0x140028ba8]
call fcn.140015d24
mov r11, qword [0x140028c90]
lea rdx, [r11 + rbx*2 + 2]
lea rbx, [0x140028cd0]
mov rcx, rbx
call fcn.140015d24
mov edx, 0x2e
mov rcx, rbx
call fcn.14001604c
test eax, eax
jle 0x1400080c2
mov dword [0x140028cd8], eax
mov ecx, eax
mov rax, qword [0x140028cd0]
mov word [rax + rcx*2], di
lea rcx, [0x140028cb0]
mov rdx, rbx
call fcn.140015db4
mov ecx, 4
call fcn.140004a70
lea rcx, [0x140028cb0]
mov rdx, rax
call fcn.140015e38
mov r11, qword [0x140028cd0]
mov rax, qword [0x140028cb0]
mov qword [0x140028af0], r11
mov qword [0x140028b40], rax
mov qword [0x140028b48], r11
call fcn.140004cd8
lea rcx, [0x140028ca0]
mov rdx, rax
call fcn.140015d24
mov rdx, qword [0x140028c90]
lea rcx, [0x140028bc0]
call fcn.1400012f8
test al, al
jne 0x140008154
mov r8, qword [0x140028c90]
mov edx, 7
mov ecx, r14d
call fcn.14000c484
mov edi, r15d
jmp 0x140008bac
lea rcx, [rsp + 0x48]
call fcn.140015624
lea rcx, [0x140028b98]
call fcn.1400079ec
mov rcx, qword [0x140028bc8]
lea r8, [rsp + 0x48]
xor edx, edx
call fcn.140006a38
mov ebx, eax
test eax, eax
je 0x140008194
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov edi, ebx
jmp 0x140008bac
mov eax, dword [0x140028d3c]
test eax, eax
jne 0x14000821c
lea rdx, str.sfxconfig
mov rcx, rsi
call fcn.140006ed4
test rax, rax
je 0x140008216
cmp word [rax], 0x3a
jne 0x1400081bb
add rax, r15
movzx ecx, word [rax]
test cx, cx
je 0x140008450
cmp cx, r13w
ja 0x1400081d8
add rax, r15
movzx ecx, word [rax]
test cx, cx
jne 0x1400081c7
cmp word [rax], di
je 0x140008450
lea rdx, [rsp + 0x48]
mov rcx, rax
call fcn.140007a5c
test al, al
jne 0x140008450
mov edx, 0xa
xor ecx, ecx
call fcn.14000c484
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov edi, 4
jmp 0x140008bac
mov eax, dword [0x140028d3c]
cmp eax, 4
je 0x140008450
mov eax, dword [0x140028190]
lea rbx, [0x140028190]
jmp 0x140008263
lea rdx, str.SfxString_d
lea rcx, [rbp + 0x20]
mov r8d, eax
call qword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [rbx]
call fcn.140004a70
lea rcx, [rbp + 0x20]
xor r8d, r8d
mov rdx, rax
call fcn.140006470
add rbx, r13
mov eax, dword [rbx]
test eax, eax
jne 0x140008234
lea rdx, [0x1400220f8]
lea rcx, [0x140028be8]
call fcn.140015d24
lea rcx, [0x140028be8]
mov rdx, rsi
call fcn.140015e38
call fcn.140001948
mov r13, rax
test rax, rax
jne 0x1400082a9
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
lea edi, [r13 + 0x20]
jmp 0x140008bac
call fcn.140006f80
lea rcx, [0x140028bc0]
call fcn.140001344
lea rcx, [0x140028b98]
call fcn.1400079ec
mov rcx, qword [0x140028bc8]
xor r8d, r8d
xor edx, edx
call fcn.140006a38
call fcn.140006f80
lea rcx, [0x140028bc0]
call fcn.1400013d4
call fcn.140001948
call fcn.140006f80
test r12b, r12b
jne 0x14000845f
test byte [0x140028b60], 4
je 0x14000845f
call fcn.140004cfc
test eax, eax
jne 0x14000845f
lea rcx, [rbp - 0x68]
call fcn.140015c54
lea rcx, [rbp - 0x28]
call fcn.140015c54
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea rdx, [rbp - 0x68]
mov rcx, rax
call fcn.140003858
lea rcx, [rsp + 0x68]
mov rdx, rax
call fcn.140015c8c
lea r8, [rbp - 0x68]
lea rdx, [0x140022010]
lea rcx, [rbp - 0x48]
call fcn.140015c10
lea r8, [0x1400220f0]
lea rcx, [rbp - 0x18]
mov rdx, rax
call fcn.140015bcc
lea r8, str.sfxelevation
lea rcx, [rbp + 8]
mov rdx, rax
call fcn.140015bcc
lea rcx, [rbp - 0x58]
mov r8d, 0x20
mov rdx, rax
call fcn.140015abc
lea r8, [rsp + 0x68]
lea rdx, [rbp - 0x58]
lea rcx, [rsp + 0x58]
call fcn.140015ba0
lea rcx, [rbp - 0x28]
mov rdx, qword [rax]
call fcn.140015d24
mov rcx, qword [rsp + 0x58]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rbp - 0x58]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rbp + 8]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rbp - 0x18]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rbp - 0x48]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
or rsi, 0xffffffffffffffff
mov r8, rsi
mov rdx, rsi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
mov rcx, qword [rbp - 0x28]
xor r8d, r8d
mov edx, r15d
call fcn.140001fb8
mov rcx, qword [rsp + 0x68]
test eax, eax
jne 0x140008439
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rbp - 0x28]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rbp - 0x68]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
lea edi, [rsi + 0xc]
jmp 0x140008bac
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rbp - 0x28]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rbp - 0x68]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
jmp 0x140008bac
mov dword [rsp + 0x40], edi
jmp 0x1400084b7
lea rcx, [rsp + 0x58]
mov rdx, rbx
call fcn.140015c8c
mov rcx, qword [rsp + 0x58]
mov edx, 0x3d
call fcn.1400153a4
mov rcx, qword [rsp + 0x58]
test eax, eax
jle 0x1400084d2
mov edx, eax
mov dword [rsp + 0x60], eax
cdqe
mov word [rcx + rdx*2], di
mov rcx, qword [rsp + 0x58]
lea rdx, [rbx + rax*2 + 2]
xor r8d, r8d
call fcn.140006470
mov rcx, qword [rsp + 0x58]
add dword [rsp + 0x40], r14d
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
lea rdx, [rsp + 0x40]
lea rcx, str.SetEnvironment
call fcn.140006458
mov rbx, rax
test rax, rax
jne 0x140008465
jmp 0x1400084d7
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
call fcn.1400077e8
mov r11d, dword [0x140028778]
or rsi, 0xffffffffffffffff
cmp r11d, esi
cmove r11d, edi
cmp byte [0x140028be3], dil
mov dword [0x140028778], r11d
je 0x140008565
lea rcx, str.HelpText
xor edx, edx
call fcn.140006458
mov rbx, rax
test rax, rax
jne 0x14000851f
lea ecx, [rsi + 0x19]
call fcn.140004a70
mov rbx, rax
lea rcx, [rbp + 0x20]
call fcn.1400095b4
mov r8, qword [0x140028af0]
lea r11, [0x1400231c0]
lea rcx, [rbp + 0x20]
mov r9, rbx
mov edx, reloc.COMCTL32.dll_InitCommonControls
mov qword [rbp + 0x20], r11
mov dword [rbp + 0x70], 0x7d6
mov qword [rsp + 0x20], rdi
call fcn.140009a1c
lea rcx, [rbp + 0x20]
call fcn.140009634
jmp 0x140008450
cmp byte [0x140028be1], dil
je 0x14000857a
btr r11d, 8
mov dword [0x140028778], r11d
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
lea rcx, str.InstallPath
xor edx, edx
call fcn.140006458
test rax, rax
je 0x1400085ab
lea rcx, [0x140028ce0]
mov rdx, rax
call fcn.140015d24
mov byte [0x140028b00], r14b
lea rcx, [0x140028ce0]
call fcn.140006c8c
lea rcx, str.BeginPromptTimeout
xor edx, edx
call fcn.140006458
test rax, rax
je 0x1400085d9
mov rcx, rax
call qword [sym.imp.msvcrt.dll__wtol]
mov dword [0x140028b6c], eax
cmp dword [0x140028d48], edi
je 0x1400085ed
call fcn.14000cf34
mov edi, eax
jmp 0x140008450
cmp dword [0x140028d3c], 3
jne 0x1400085fd
call fcn.14000ce24
jmp 0x1400085e6
lea rbx, [0x140022060]
lea rcx, str.SfxVarApiPath
xor r8d, r8d
mov rdx, rbx
call fcn.140006470
call fcn.1400077e8
lea rcx, str.ExecuteOnLoad
xor edx, edx
call fcn.140006458
test rax, rax
je 0x1400086a1
cmp byte [0x140028be2], dil
jne 0x1400086a1
lea rcx, [0x1400287e0]
call fcn.140009274
mov rdx, qword [0x1400287e8]
lea rcx, str.SfxVarApiPath
xor r8d, r8d
call fcn.140006470
call fcn.1400077e8
lea rcx, [rsp + 0x68]
mov rdx, rbx
call fcn.140015c8c
lea rcx, [0x1400287e0]
call fcn.140009274
mov rdx, qword [0x1400287e8]
lea r9, [rsp + 0x68]
lea rcx, str.ExecuteOnLoad
mov r8, rbx
mov qword [rsp + 0x20], rbx
call fcn.140002818
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
lea rcx, [0x140028c18]
call fcn.14000a824
lea rcx, str.BeginPrompt
xor edx, edx
call fcn.140006458
test rax, rax
je 0x14000870e
cmp byte [0x140028be1], dil
jne 0x14000870e
mov rcx, qword [0x140028af0]
mov rdx, rax
call fcn.14000b3f8
test eax, eax
je 0x1400088ab
mov ecx, InitCommonControls
call qword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x1400086fe
mov word [0x140028be0], 0x101
cmp dword [0x140028d18], edi
je 0x14000870e
btr dword [0x140028778], 7
lea rcx, [rsp + 0x30]
call fcn.140015c54
cmp byte [0x140028be0], dil
je 0x1400087c5
mov rbx, qword [0x140028bd8]
lea rdx, str.AutoInstall
lea rcx, [rsp + 0x30]
call fcn.140015d24
mov edx, dword [rsp + 0x38]
movzx r12d, word [rbx]
cmp dword [rsp + 0x3c], edx
jne 0x140008759
lea rcx, [rsp + 0x30]
call fcn.1400159a8
mov edx, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov eax, edx
add edx, r14d
mov word [rcx + rax*2], r12w
mov word [rcx + rdx*2], di
mov rcx, qword [rsp + 0x30]
mov dword [rsp + 0x38], edx
xor edx, edx
call fcn.140006458
test rax, rax
je 0x140008877
add rbx, r15
cmp word [rbx], 0x30
jb 0x140008794
cmp word [rbx], 0x39
jbe 0x14000872c
mov eax, 0x61
cmp word [rbx], ax
jb 0x1400087a4
cmp word [rbx], 0x7a
jbe 0x14000872c
cmp word [rbx], 0x41
jb 0x1400087b4
cmp word [rbx], 0x5a
jbe 0x14000872c
lea rdx, str.AutoInstall
lea rcx, [rsp + 0x30]
call fcn.140015d24
mov r12b, dil
cmp dword [rsp + 0x38], edi
jne 0x14000881f
lea rcx, str.ExecuteFile
xor edx, edx
call fcn.140006458
test rax, rax
je 0x1400087f5
lea rdx, str.ExecuteFile
lea rcx, [rsp + 0x30]
call fcn.140015d24
mov r12b, r14b
cmp dword [rsp + 0x38], edi
jne 0x14000881f
lea rcx, str.RunProgram
xor edx, edx
call fcn.140006458
test rax, rax
je 0x14000881f
lea rdx, str.RunProgram
lea rcx, [rsp + 0x30]
call fcn.140015d24
cmp byte [0x140028be0], dil
jne 0x1400088bf
cmp byte [0x140028be1], dil
jne 0x1400088bf
mov eax, dword [0x140028778]
and eax, 0xc0
cmp al, 0x80
jne 0x1400088bf
mov rdx, qword [0x140028b10]
mov rcx, qword [0x140028b28]
call fcn.14000b4d4
test eax, eax
jne 0x1400088bf
cmp byte [0x140028b70], dil
mov rcx, qword [rsp + 0x30]
je 0x1400088a6
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
jmp 0x1400086ad
mov r8, qword [rsp + 0x30]
mov edx, InitCommonControls
xor ecx, ecx
call fcn.14000c484
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov edi, 6
jmp 0x140008bac
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov edi, 5
jmp 0x140008bac
cmp dword [0x140028ce8], edi
jne 0x1400088fb
lea rdx, str.7ZipSfx._03x
lea rcx, [rbp - 0x48]
call fcn.140005214
lea r15, [0x140028ce0]
mov rdx, rax
mov rcx, r15
call fcn.140015db4
mov rcx, qword [rbp - 0x48]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov byte [0x140028b00], dil
jmp 0x140008938
lea r15, [0x140028ce0]
lea rcx, [rbp - 0x68]
mov rdx, r15
call fcn.140015ce8
lea rcx, [rbp - 0x68]
call fcn.140006c8c
cmp dword [rbp - 0x60], edi
je 0x140008928
lea rdx, [rbp - 0x68]
mov rcx, r15
call fcn.140015db4
mov rcx, qword [rbp - 0x68]
mov byte [0x140028b00], r14b
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov ecx, dword [0x140028ce8]
mov rdx, qword [0x140028ce0]
dec ecx
cmp word [rdx + rcx*2], 0x5c
je 0x140008955
cmp word [rdx + rcx*2], 0x2f
jne 0x14000895f
mov dword [0x140028ce8], ecx
mov word [rdx + rcx*2], di
cmp byte [0x140028be1], dil
je 0x14000896f
or dword [0x140028b60], 3
lea rdx, str.PreExtract
lea rcx, [rbp - 0x78]
call fcn.140015c8c
mov r11, qword [0x140028bd8]
mov edx, dword [rbp - 0x70]
movzx ebx, word [r11]
cmp dword [rbp - 0x6c], edx
jne 0x14000899e
lea rcx, [rbp - 0x78]
call fcn.1400159a8
mov edx, dword [rbp - 0x70]
mov rcx, qword [rbp - 0x78]
mov eax, edx
add edx, r14d
mov word [rcx + rax*2], bx
mov word [rcx + rdx*2], di
mov rcx, qword [rbp - 0x78]
mov dword [rbp - 0x70], edx
xor edx, edx
call fcn.140006458
test rax, rax
je 0x140008a4b
cmp byte [0x140028be2], dil
jne 0x140008a4b
lea rcx, [0x1400287e0]
call fcn.140009274
mov rdx, qword [0x1400287e8]
lea rcx, str.SfxVarApiPath
xor r8d, r8d
call fcn.140006470
call fcn.1400077e8
lea rdx, [0x140022060]
lea rcx, [rsp + 0x68]
call fcn.140015c8c
mov rbx, qword [0x140028bd8]
lea rcx, [0x1400287e0]
call fcn.140009274
mov rdx, qword [0x1400287e8]
lea rax, [0x140022060]
lea r9, [rsp + 0x68]
lea rcx, str.PreExtract
mov r8, rbx
mov qword [rsp + 0x20], rax
call fcn.140002818
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
cmp dword [0x140028d38], edi
jne 0x140008a5d
mov rcx, r15
call fcn.140003420
jmp 0x140008a6b
call fcn.14000b570
test eax, eax
jne 0x140008aab
mov eax, 0x80004005
test eax, eax
je 0x140008aab
cmp byte [0x140028b00], dil
jne 0x140008a84
mov rcx, qword [0x140028ce0]
call fcn.140003e04
mov rcx, qword [rbp - 0x78]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov edi, 8
jmp 0x140008bac
call fcn.1400077e8
cmp byte [0x140028be2], dil
je 0x140008ac6
cmp byte [0x140028b00], dil
jne 0x140008cab
lea rcx, [rsp + 0x58]
call fcn.140015c54
lea rcx, [rbp - 0x58]
call fcn.140015c54
cmp byte [0x140028be0], dil
jne 0x140008aec
lea rcx, [rsp + 0x58]
call fcn.140001f28
cmp dword [rsp + 0x38], edi
jne 0x140008c0d
cmp byte [0x140028b00], dil
jne 0x140008c2f
lea r8, [0x14002224c]
lea rcx, [rbp - 0x18]
mov rdx, r15
call fcn.140015bcc
lea r8, str.setup.exe
lea rcx, [rbp - 0x48]
mov rdx, rax
call fcn.140015bcc
lea rcx, [rbp - 0x58]
mov rdx, qword [rax]
call fcn.140015d24
mov rcx, qword [rbp - 0x48]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rbp - 0x18]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rbp - 0x58]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140008bcf
cmp byte [0x140028b00], dil
jne 0x140008b6b
mov rcx, qword [0x140028ce0]
call fcn.140003e04
mov edx, InitCommonControls
xor ecx, ecx
call fcn.14000c484
mov rcx, qword [rbp - 0x58]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rsp + 0x58]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rbp - 0x78]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov edi, 7
mov rcx, qword [rbp - 0x38]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rbp - 8]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rsp + 0x78]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov eax, edi
jmp 0x140008de1
mov rbx, qword [0x140028ce0]
lea rdx, str.setup.exe
lea rcx, [rsp + 0x68]
call fcn.140015c8c
lea r9, [rsp + 0x58]
lea rcx, [rsp + 0x68]
mov r8b, r12b
mov rdx, rbx
mov qword [rsp + 0x20], r13
call fcn.140002478
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
jmp 0x140008c2f
mov r8, qword [0x140028bd8]
mov rdx, qword [0x140028ce0]
mov rcx, qword [rsp + 0x30]
lea r9, [rsp + 0x58]
mov qword [rsp + 0x20], r13
call fcn.140002818
cmp dword [0x140028d3c], edi
jne 0x140008c98
call fcn.1400077e8
mov r8, qword [0x140028bd8]
lea rdx, str.Shortcut
lea rcx, [0x140007860]
mov r9d, esi
call fcn.1400072cc
mov rcx, qword [0x140028b88]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov r8, qword [0x140028bd8]
lea rdx, str.Delete
lea rcx, [0x140007298]
mov r9d, esi
call fcn.1400072cc
cmp byte [0x140028b00], dil
jne 0x140008c98
mov rcx, qword [0x140028ce0]
call fcn.140003e04
mov rcx, qword [rbp - 0x58]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rsp + 0x58]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov eax, dword [0x140028784]
cmp eax, esi
jne 0x140008cc7
cmp byte [0x140028be1], dil
jne 0x140008d38
mov eax, r14d
mov dword [0x140028784], eax
test eax, eax
jle 0x140008d38
lea rcx, str.FinishMessage
xor edx, edx
call fcn.140006458
mov rbx, rax
test rax, rax
je 0x140008d38
mov ecx, dword [0x140028784]
mov eax, 0x3e7
cmp ecx, eax
cmovg ecx, eax
mov dword [0x140028784], ecx
lea rcx, [rbp + 0x20]
call fcn.1400095b4
mov r8, qword [0x140028af0]
lea r11, [0x140023330]
lea rcx, [rbp + 0x20]
mov r9, rbx
mov edx, reloc.COMCTL32.dll_InitCommonControls
mov qword [rbp + 0x20], r11
mov dword [rbp + 0x70], 0x7d5
mov qword [rsp + 0x20], rdi
call fcn.140009a1c
lea rcx, [rbp + 0x20]
call fcn.140009634
cmp byte [0x140028be2], dil
jne 0x140008d83
cmp dword [0x140028d3c], edi
jne 0x140008d83
lea rcx, str.SelfDelete
xor edx, edx
call fcn.140006458
mov r11, rax
test rax, rax
je 0x140008d83
mov eax, 0x31
cmp word [r11], ax
jne 0x140008d83
lea rdx, [0x140028c90]
lea rcx, [rbp - 0x48]
call fcn.140015ce8
lea rcx, [rbp - 0x48]
call fcn.14000745c
mov rcx, qword [rbp - 0x78]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rbp - 0x38]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rbp - 8]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rsp + 0x78]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
xor eax, eax
jmp 0x140008de1
lea r8, [0x140023280]
lea rdx, str.Sorry__this_program_requires_Microsoft_Windows_2000_or_later.
mov r9d, InitCommonControls
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
mov eax, 0x14
lea r11, [rsp + 0x2c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret