Function at 0x1400091dc
Capabilities:
Check if file exists
Create process on windows
Delete directory
Delete file
Get common file path
Get comspec environment variable
Get file attributes
Move file
Query environment variable
Self delete
Set current directory
Set file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
mov eax, 0x9e80
call fcn.14001ba30
sub rsp, rax
mov rax, qword [0x1400242f8]
xor rax, rsp
mov qword [rsp + 0x9e70], rax
mov r13d, 0x800
lea rdx, [rsp + 0x1670]
xor ecx, ecx
mov r8d, r13d
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rdx, [rsp + 0x1670]
lea rcx, [rsp + 0x2670]
call fcn.14000a6fc
lea rcx, [rsp + 0x2670]
mov edx, 0x5c
call fcn.14000b8d0
xor r12d, r12d
cmp rax, r12
je 0x140009850
lea rcx, [rsp + 0x2670]
cmp rax, rcx
jbe 0x140009276
cmp word [rax - 2], 0x3a
jne 0x140009276
mov word [rax + 2], r12w
jmp 0x14000927a
mov word [rax], r12w
lea rcx, [rsp + 0x2670]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea rcx, [rsp + 0x2670]
mov rdx, r13
call fcn.140005544
mov esi, 0x13f2
cmp byte [0x14002bdb0], r12b
jne 0x1400092d4
mov ecx, esi
call fcn.140008048
lea ecx, [rsi + 3]
mov rbx, rax
call fcn.140008048
mov r9d, 0x10024
mov r8, rbx
xor ecx, ecx
mov rdx, rax
call fcn.14000a3ac
cmp eax, 6
jne 0x140009850
lea rdx, [0x14001f164]
lea rcx, str.Uninstall.lst
call fcn.140002268
mov rdi, rax
cmp rax, r12
jne 0x140009339
mov ecx, 0x13f6
call fcn.140008048
lea r9, str.Uninstall.lst
lea rcx, [rsp + 0xe0]
mov r8, rax
mov edx, 0xc8
call fcn.140008fdc
mov ecx, esi
call fcn.140008048
lea rdx, [rsp + 0xe0]
mov r9d, 0x10010
mov r8, rax
xor ecx, ecx
call fcn.14000a3ac
jmp 0x140009850
mov ecx, 0x13fc
call fcn.140008048
mov ebx, 0x100
lea rcx, [rsp + 0xc70]
mov rdx, rax
mov r8, rbx
call fcn.140008444
mov ecx, esi
call fcn.140008048
lea rcx, [rsp + 0xa70]
mov r8, rbx
mov rdx, rax
call fcn.140008444
call fcn.140008dd4
lea rcx, [0x140027c10]
call fcn.140007ebc
cmp byte [0x14002bdb1], r12b
jne 0x140009850
mov rbx, r12
lea rsi, str.winrar.gid
xor edx, edx
mov rcx, qword [rbx + rsi]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov rcx, qword [rbx + rsi]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
add rbx, 8
cmp rbx, 0x10
jb 0x140009396
mov bpl, r12b
lea rcx, [rsp + 0xe70]
mov r8, rdi
mov edx, r13d
mov esi, r12d
call fcn.14000c88c
cmp rax, r12
je 0x1400095d0
lea rcx, [rsp + 0xe70]
call fcn.14000b120
dec eax
movsxd rcx, eax
cmp rcx, r12
jl 0x14000941b
mov al, byte [rsp + rcx + 0xe70]
cmp al, 0xd
je 0x14000940d
cmp al, 0xa
je 0x14000940d
cmp al, 0x20
je 0x14000940d
cmp al, 9
jne 0x14000941b
mov byte [rsp + rcx + 0xe70], r12b
sub rcx, 1
jns 0x1400093f6
cmp byte [rsp + 0xe70], r12b
je 0x14000959d
lea rdx, [rsp + 0x2670]
lea rcx, [rsp + 0x4670]
call fcn.14000a6fc
lea rcx, [rsp + 0x4670]
call fcn.14000b0f0
mov r8d, 0x1000
lea rcx, [rsp + 0xe70]
lea rdx, [rsp + rax*2 + 0x4670]
sub r8, rax
call fcn.1400088c0
lea rcx, [rsp + 0x4670]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea rcx, [rsp + 0x4670]
xor edx, edx
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
cmp ebx, 0xffffffff
je 0x1400094a8
test bl, 0x10
je 0x1400094a8
lea rcx, [rsp + 0x4670]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
add esi, eax
jmp 0x14000959d
lea rcx, [rsp + 0x4670]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
add esi, eax
cmp eax, r12d
jne 0x14000959d
cmp ebx, 0xffffffff
je 0x14000959d
lea rcx, [rsp + 0x4670]
call fcn.14000591c
lea rcx, [rsp + 0x1670]
mov rbx, rax
call fcn.14000591c
mov rcx, rbx
mov rdx, rax
call fcn.140008914
cmp eax, r12d
je 0x14000959d
lea rdx, str.Uninstall.lst
mov rcx, rbx
call fcn.140008914
cmp eax, r12d
je 0x14000959d
mov bpl, 1
mov ebx, r12d
lea r9, [rsp + 0x4670]
lea r8, str._s._d.tmp
lea rcx, [rsp + 0x3670]
mov rdx, r13
mov dword [rsp + 0x20], ebx
call fcn.140008fdc
lea rcx, [rsp + 0x3670]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140009559
inc ebx
cmp ebx, 0x3e8
jl 0x140009519
lea rdx, [rsp + 0x3670]
lea rcx, [rsp + 0x4670]
call qword [sym.imp.KERNEL32.dll_MoveFileW]
cmp eax, r12d
jne 0x140009589
lea rdx, [rsp + 0x4670]
lea rcx, [rsp + 0x3670]
call fcn.14000a6fc
xor edx, edx
lea rcx, [rsp + 0x3670]
lea r8d, [rdx + 4]
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
lea rcx, [rsp + 0xe70]
mov r8, rdi
mov edx, r13d
call fcn.14000c88c
cmp rax, r12
jne 0x1400093df
cmp esi, r12d
je 0x1400095d0
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.14000c7dc
jmp 0x1400093c0
mov rcx, rdi
call fcn.14000b5e0
lea rcx, str.Uninstall.lst
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp bpl, r12b
je 0x140009610
cmp byte [0x14002bdb0], r12b
jne 0x140009610
lea r8, [rsp + 0xa70]
lea rdx, [rsp + 0xc70]
mov r9d, 0x10040
xor ecx, ecx
call fcn.14000a3ac
lea rdx, [rsp + 0x6670]
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
lea rdx, str.Uninstall_Rar.Bat
lea rcx, [rsp + 0x6670]
call fcn.14000a6d0
lea rdx, [0x14001e4f4]
lea rcx, [rsp + 0x6670]
call fcn.140002268
mov rbx, rax
cmp rax, r12
je 0x140009850
mov esi, 0x400
lea r9, [rsp + 0x1670]
lea r8, str.__s___wait_r_n
lea rcx, [rsp + 0x270]
mov rdx, rsi
call fcn.140008fdc
lea rdx, [rsp + 0x270]
mov rcx, rbx
call fcn.140008d54
lea rdx, [rsp + 0x7e70]
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea r11, [rsp + 0x1670]
lea rax, [rsp + 0x7e70]
mov qword [rsp + 0x28], r11
lea r9, [rsp + 0x1670]
lea r8, str.del___s__r_nrd___s__r_nif_not_exist___s__goto_done_r_n
lea rcx, [rsp + 0x270]
mov rdx, rsi
mov qword [rsp + 0x20], rax
call fcn.140008fdc
mov edi, 5
lea rdx, [rsp + 0x270]
mov rcx, rbx
call fcn.140008d54
sub rdi, 1
jne 0x1400096d8
lea rdx, str.:done_r_n
mov rcx, rbx
call fcn.140008d54
cmp byte [0x14002bdb0], r12b
jne 0x140009742
lea rax, [rsp + 0x1670]
lea r9, [rsp + 0x1670]
lea r8, str.if_exist___s____s___warning_r_n
lea rcx, [rsp + 0x270]
mov rdx, rsi
mov qword [rsp + 0x20], rax
call fcn.140008fdc
lea rdx, [rsp + 0x270]
mov rcx, rbx
call fcn.140008d54
lea r9, [rsp + 0x6670]
lea r8, str.del___s__r_n
lea rcx, [rsp + 0x270]
mov rdx, rsi
call fcn.140008fdc
lea rdx, [rsp + 0x270]
mov rcx, rbx
call fcn.140008d54
mov rcx, rbx
call fcn.14000b5e0
lea rdx, [rsp + 0x8e70]
lea rcx, str.COMSPEC
mov r8d, r13d
mov word [rsp + 0x8e70], r12w
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea r11, [rsp + 0x6670]
lea r9, [rsp + 0x8e70]
lea r8, str._s__c___s_
lea rcx, [rsp + 0x7670]
mov rdx, rsi
mov qword [rsp + 0x20], r11
call fcn.140008fdc
mov ebx, 0x68
lea rcx, [rsp + 0x50]
mov r8, rbx
xor edx, edx
call fcn.14000b1e0
lea rcx, [0x14001d710]
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x8c], 1
mov word [rsp + 0x90], r12w
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
call fcn.140005438
lea rdx, [rsp + 0x7670]
neg eax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x48], rax
sbb ecx, ecx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], rax
not ecx
mov qword [rsp + 0x38], r12
and ecx, 8
mov qword [rsp + 0x30], r12
xor r9d, r9d
mov dword [rsp + 0x28], ecx
xor ecx, ecx
xor r8d, r8d
mov dword [rsp + 0x20], 1
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
mov rcx, qword [rsp + 0x9e70]
xor rcx, rsp
call fcn.14000a6b0
lea r11, [rsp + 0x9e80]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r13
pop r12
pop rdi
ret