Function at 0x140001b90
Capabilities:
Check if file exists
Delete file
Execute command
Get common file path
Get file attributes
Self delete

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x240]
sub rsp, 0x340
mov rax, qword [0x140008040]
xor rax, rsp
mov qword [rbp + 0x230], rax
xor r14d, r14d
lea rdx, [0x140008760]
cmp qword [0x140008778], 0xf
cmova rdx, qword [0x140008760]
mov r8, qword [0x140008770]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140002f80
lea rdx, str._n___Welcome_to_NonWare_Bootstrapper____n
mov rcx, rax
call fcn.1400027c0
mov rcx, rax
lea rdx, [0x140002990]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
call fcn.1400012b0
test al, al
jne 0x140001c45
lea rdx, str.Download_failed_
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400027c0
mov rcx, rax
lea rdx, [0x140002990]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea eax, [r14 + 1]
jmp 0x1400024ed
lea rdx, [rbp + 0x20]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x50]
call fcn.1400025a0
mov rbx, rax
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 0xc
jb 0x140001caa
lea rsi, [rcx + 0xc]
mov qword [rbx + 0x10], rsi
mov rdi, rbx
cmp rdx, 7
jbe 0x140001c8d
mov rdi, qword [rbx]
lea rcx, [rdi + rcx*2]
mov r8d, 0x18
lea rdx, str._nonware.rar
call sub.VCRUNTIME140.dll_memmove
mov word [rdi + rsi*2], r14w
jmp 0x140001cca
mov qword [rsp + 0x20], 0xc
lea r9, str._nonware.rar
mov edx, 0xc
mov rcx, rbx
call fcn.140002d70
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], r14
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x28], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x18], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x140001d3d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001d38
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001d38
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400034b0
movdqa xmm0, xmmword [0x140005a00]
movdqu xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x50], r14w
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x68]
call fcn.1400025a0
mov rbx, rax
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 8
jb 0x140001da6
lea rsi, [rcx + 8]
mov qword [rbx + 0x10], rsi
mov rdi, rbx
cmp rdx, 7
jbe 0x140001d89
mov rdi, qword [rbx]
lea rcx, [rdi + rcx*2]
mov r8d, 0x10
lea rdx, str._nonware
call sub.VCRUNTIME140.dll_memmove
mov word [rdi + rsi*2], r14w
jmp 0x140001dc6
mov qword [rsp + 0x20], 8
lea r9, str._nonware
mov edx, 8
mov rcx, rbx
call fcn.140002d70
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 8], xmm1
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 8], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 8], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
mov rdx, qword [rbp - 0x50]
cmp rdx, 7
jbe 0x140001e37
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001e32
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001e32
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400034b0
movdqa xmm0, xmmword [0x140005a00]
movdqu xmmword [rbp - 0x58], xmm0
mov word [rbp - 0x68], r14w
lea rcx, [rbp - 8]
cmp qword [rbp + 0x10], 7
cmova rcx, qword [rbp - 8]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140001e96
lea rcx, [rbp - 8]
call fcn.1400019b0
test al, al
je 0x140001f28
lea rdx, str.Deleted_existing_NonWare_folder.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.140002b50
mov rcx, rax
lea rdx, [0x140002d30]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x70]
call fcn.1400025a0
nop
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x28]
call fcn.140001640
movzx ebx, al
mov rdx, qword [rbp - 0x78]
cmp rdx, 7
jbe 0x140001ef7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001ef2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002435
call fcn.1400034b0
test bl, bl
jne 0x140001f31
lea rdx, str.Unzipping_failed_
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400027c0
lea rdx, [0x140002990]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov ebx, 1
jmp 0x140002453
lea rdx, str.Failed_to_delete_NonWare_folder.
jmp 0x140001f02
lea rcx, [rbp - 0x28]
cmp qword [rbp - 0x10], 7
cmova rcx, qword [rbp - 0x28]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x140001f88
lea rdx, str.Deleted_old_rar_file:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.140002b50
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 7
cmova rdx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x18]
mov rcx, rax
call fcn.140003140
mov rcx, rax
lea rdx, [0x140002d30]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
jmp 0x140001fab
lea rdx, str.Failed_to_delete_the_rar_file.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400027c0
mov rcx, rax
lea rdx, [0x140002990]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rdx, str._nThank_you_for_using_NonWare_Boostraper__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400027c0
lea rdx, str.Luanching..._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400027c0
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x70]
call fcn.1400025a0
mov rbx, rax
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 0x14
jb 0x140002032
lea rsi, [rcx + 0x14]
mov qword [rbx + 0x10], rsi
mov rdi, rbx
cmp rdx, 7
jbe 0x140002015
mov rdi, qword [rbx]
lea rcx, [rdi + rcx*2]
mov r8d, 0x28
lea rdx, str._nonwareNonWare.exe
call sub.VCRUNTIME140.dll_memmove
mov word [rdi + rsi*2], r14w
jmp 0x140002052
mov qword [rsp + 0x20], 0x14
lea r9, str._nonwareNonWare.exe
mov edx, 0x14
mov rcx, rbx
call fcn.140002d70
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x38], xmm1
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x48], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x38], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
mov rdx, qword [rbp - 0x78]
cmp rdx, 7
jbe 0x1400020c4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400020bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400020bf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400034b0
movdqa xmm0, xmmword [0x140005a00]
movdqu xmmword [rbp - 0x80], xmm0
mov word [rsp + 0x70], r14w
lea rcx, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova rcx, qword [rbp - 0x48]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400023cd
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova rdx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x38]
lea rsi, [rdx + rax*2]
lea rbx, [rbp - 0x48]
cmova rbx, qword [rbp - 0x48]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
cmp rbx, rsi
jne 0x14000213c
mov r8, r14
mov ecx, 0xf
mov qword [rsp + 0x48], rcx
mov byte [rsp + 0x30], r8b
jmp 0x140002247
sub rsi, rbx
sar rsi, 1
mov qword [rsp + 0x48], 0xf
movabs rax, 0x7fffffffffffffff
cmp rsi, rax
ja 0x140002519
mov edi, 0xf
cmp rsi, rdi
jbe 0x140002202
mov rdi, rsi
or rdi, 0xf
cmp rdi, rax
jbe 0x1400021b5
mov rdi, rax
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1400034b8
mov rcx, rax
test rax, rax
je 0x1400023bf
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x48], rdi
jmp 0x140002207
mov eax, 0x16
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x1400021dd
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14000251f
jmp 0x140002189
test rcx, rcx
je 0x1400021f3
call fcn.1400034b8
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x48], rdi
jmp 0x140002207
mov rax, r14
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x48], rdi
jmp 0x140002207
mov rax, qword [rsp + 0x30]
lea r8, [rsp + 0x30]
cmp rdi, 0xf
cmova r8, rax
mov rcx, r8
mov rdx, rsi
test rsi, rsi
je 0x140002233
nop
movzx eax, byte [rbx]
mov byte [rcx], al
lea rcx, [rcx + 1]
lea rbx, [rbx + 2]
sub rdx, 1
jne 0x140002220
mov qword [rsp + 0x40], rsi
mov byte [r8 + rsi], 0
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x40]
mov rax, rcx
sub rax, r8
mov esi, 6
cmp rax, rsi
jb 0x1400022de
lea rax, [r8 + 6]
mov qword [rsp + 0x40], rax
lea rbx, [rsp + 0x30]
cmp rcx, 0xf
cmova rbx, qword [rsp + 0x30]
lea rax, [0x1400059da]
lea r15, str.start
cmp rax, rbx
jbe 0x1400022a1
lea rax, [rbx + r8]
cmp r15, rax
ja 0x1400022a1
cmp rbx, r15
ja 0x140002299
mov rdi, r14
jmp 0x1400022a4
mov rdi, rbx
sub rdi, r15
jmp 0x1400022a4
mov rdi, rsi
lea rcx, [rbx + 6]
inc r8
mov rdx, rbx
call sub.VCRUNTIME140.dll_memmove
mov r8, rdi
mov rdx, r15
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbx + rdi]
sub rsi, rdi
lea rdx, [r15 + 6]
add rdx, rdi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rsp + 0x30]
jmp 0x1400022f0
mov qword [rsp + 0x28], rsi
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.140003310
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x60], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0xf
cmova rcx, qword [rsp + 0x50]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140002378
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002373
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002373
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400034b0
movdqa xmm0, xmmword [0x140005a10]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x1400023f0
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400023c6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400023c6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400034b0
jmp 0x1400023f0
lea rdx, str.Executable_not_found_
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400027c0
mov rcx, rax
lea rdx, [0x140002990]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov ecx, 0x9c4
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, r14d
mov rdx, qword [rbp - 0x30]
cmp rdx, 7
jbe 0x140002441
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000243c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000243c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400034b0
movdqa xmm0, xmmword [0x140005a00]
movdqu xmmword [rbp - 0x38], xmm0
mov word [rbp - 0x48], r14w
mov rdx, qword [rbp + 0x10]
cmp rdx, 7
jbe 0x140002496
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002491
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002491
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400034b0
movdqa xmm0, xmmword [0x140005a00]
movdqu xmmword [rbp + 8], xmm0
mov word [rbp - 8], r14w
mov rdx, qword [rbp - 0x10]
cmp rdx, 7
jbe 0x1400024eb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400024e6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400024e6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400034b0
mov eax, ebx
mov rcx, qword [rbp + 0x230]
xor rcx, rsp
call fcn.140003490
lea r11, [rsp + 0x340]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.140001290
nop
call fcn.1400011f0
int3