Function at 0x140016530
Capabilities:
Bypass windows file protection
Check if file exists
Get file attributes
Read file on windows
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0xb410]
mov eax, 0xb510
call fcn.140021670
sub rsp, rax
movzx edi, cl
xor r12d, r12d
lea rcx, [0x14003a7f0]
mov r15b, r12b
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rbx, rax
test rax, rax
je 0x1400165ca
lea rdx, str.SetDllDirectoryW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400165a2
mov cl, dil
lea rdx, [0x14003a804]
neg cl
sbb rcx, rcx
and rcx, rdx
call qword [0x140037440]
lea rdx, str.SetDefaultDllDirectories
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400165ca
mov ecx, edi
xor ecx, 1
inc ecx
shl ecx, 0xb
call qword [0x140037440]
mov r15b, 1
lea rax, str.version.dll
mov qword [rsp + 0x40], rax
lea rax, [0x14003a858]
mov qword [rsp + 0x48], rax
lea rax, str.sfc_os.dll
mov qword [rsp + 0x50], rax
lea rax, str.SSPICLI.DLL
mov qword [rsp + 0x58], rax
lea rax, str.rsaenh.dll
mov qword [rsp + 0x60], rax
lea rax, str.UXTheme.dll
mov qword [rsp + 0x68], rax
lea rax, str.dwmapi.dll
mov qword [rsp + 0x70], rax
lea rax, str.cryptbase.dll
mov qword [rsp + 0x78], rax
lea rax, str.lpk.dll
mov qword [rbp - 0x80], rax
lea rax, str.usp10.dll
mov qword [rbp - 0x78], rax
lea rax, str.clbcatq.dll
mov qword [rbp - 0x70], rax
lea rax, str.comres.dll
mov qword [rbp - 0x68], rax
lea rax, str.ws2_32.dll
mov qword [rbp - 0x60], rax
lea rax, str.ws2help.dll
mov qword [rbp - 0x58], rax
lea rax, str.psapi.dll
mov qword [rbp - 0x50], rax
lea rax, str.ieframe.dll
mov qword [rbp - 0x48], rax
lea rax, str.ntshrui.dll
mov qword [rbp - 0x40], rax
lea rax, str.atl.dll
mov qword [rbp - 0x38], rax
lea rax, str.setupapi.dll
mov qword [rbp - 0x30], rax
lea rax, str.apphelp.dll
mov qword [rbp - 0x28], rax
lea rax, str.userenv.dll
mov qword [rbp - 0x20], rax
lea rax, str.netapi32.dll
mov qword [rbp - 0x18], rax
lea rax, str.shdocvw.dll
mov qword [rbp - 0x10], rax
lea rax, str.crypt32.dll
mov qword [rbp - 8], rax
lea rax, str.msasn1.dll
mov qword [rbp], rax
lea rax, str.cryptui.dll
mov qword [rbp + 8], rax
lea rax, str.wintrust.dll
mov qword [rbp + 0x10], rax
lea rax, str.shell32.dll
mov qword [rbp + 0x18], rax
lea rax, str.secur32.dll
mov qword [rbp + 0x20], rax
lea rax, str.cabinet.dll
mov qword [rbp + 0x28], rax
lea rax, str.oleaccrc.dll
mov qword [rbp + 0x30], rax
lea rax, str.ntmarta.dll
mov qword [rbp + 0x38], rax
lea rax, str.profapi.dll
mov qword [rbp + 0x40], rax
lea rax, str.WindowsCodecs.dll
mov qword [rbp + 0x48], rax
lea rax, str.srvcli.dll
mov qword [rbp + 0x50], rax
lea rax, str.cscapi.dll
mov qword [rbp + 0x58], rax
lea rax, str.slc.dll
mov qword [rbp + 0x60], rax
lea rax, str.imageres.dll
mov qword [rbp + 0x68], rax
lea rax, str.dnsapi.DLL
mov qword [rbp + 0x70], rax
lea rax, str.iphlpapi.DLL
mov qword [rbp + 0x78], rax
lea rax, str.WINNSI.DLL
mov rcx, qword [str.xlistpos]
mov esi, 0x800
mov qword [rbp + 0x80], rax
lea rax, str.netutils.dll
mov qword [rbp + 0x88], rax
lea rax, str.mpr.dll
mov qword [rbp + 0x90], rax
lea rax, str.devrtl.dll
cmp byte [rcx], 0x78
mov qword [rbp + 0x98], rax
lea rax, str.propsys.dll
mov qword [rbp + 0xa0], rax
lea rax, str.mlang.dll
mov qword [rbp + 0xa8], rax
lea rax, str.samcli.dll
mov qword [rbp + 0xb0], rax
lea rax, str.samlib.dll
mov qword [rbp + 0xb8], rax
lea rax, str.wkscli.dll
mov qword [rbp + 0xc0], rax
lea rax, str.dfscli.dll
mov qword [rbp + 0xc8], rax
lea rax, str.browcli.dll
mov qword [rbp + 0xd0], rax
lea rax, str.rasadhlp.dll
mov qword [rbp + 0xd8], rax
lea rax, str.dhcpcsvc6.dll
mov qword [rbp + 0xe0], rax
lea rax, str.dhcpcsvc.dll
mov qword [rbp + 0xe8], rax
lea rax, str.XmlLite.dll
mov qword [rbp + 0xf0], rax
lea rax, str.linkinfo.dll
mov qword [rbp + 0xf8], rax
lea rax, str.cryptsp.dll
mov qword [rbp + 0x100], rax
lea rax, str.RpcRtRemote.dll
mov qword [rbp + 0x108], rax
lea rax, str.aclui.dll
mov qword [rbp + 0x110], rax
lea rax, str.dsrole.dll
mov qword [rbp + 0x118], rax
lea rax, str.peerdist.dll
mov qword [rbp + 0x120], rax
je 0x1400169a9
call fcn.14002af98
mov edi, eax
test eax, eax
je 0x1400169a9
mov r8d, esi
lea rdx, [rbp + 0x1340]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor r9d, r9d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
lea rcx, [rbp + 0x1340]
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x1400169a0
xor r9d, r9d
xor r8d, r8d
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, edi
jne 0x1400169a0
lea r9, [rbp + 0xb448]
mov qword [rsp + 0x20], r12
mov r8d, 0x7ffe
lea rdx, [rbp + 0x3410]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400169a0
mov eax, dword [rbp + 0xb448]
lea rcx, [rbp + 0x3410]
shr rax, 1
mov r14d, 0x104
mov word [rbp + rax*2 + 0x3410], r12w
jmp 0x140016989
lea rcx, [rbp + 0x130]
call fcn.1400164d0
mov rcx, rdi
mov r8, r14
lea rdx, [rbp + 0x130]
call fcn.140015d7c
mov rdi, rax
test rax, rax
jne 0x14001697a
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r8d, esi
lea rdx, [rbp + 0x340]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rcx, [rbp + 0x340]
call fcn.140011748
mov rdx, rax
lea rcx, [rbp + 0x2410]
mov r8, rsi
call fcn.140016248
mov rdi, r12
lea rbx, [rsp + 0x40]
mov esi, r12d
call fcn.14000f17c
cmp eax, 0x600
jb 0x140016a2a
mov rcx, qword [rbx]
call fcn.1400164d0
test rax, rax
je 0x140016a2a
or dword [rsp + 0x28], 0xffffffff
lea rax, str.DXGIDebug.dll
mov r8, qword [rbx]
or r9d, 0xffffffff
mov edx, 0x1001
mov qword [rsp + 0x20], rax
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, 2
jne 0x140016a54
mov r14, qword [rbx]
lea rcx, [rbp + 0x340]
mov rdx, r14
mov r8d, 0x800
call fcn.1400117d4
lea rcx, [rbp + 0x340]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140016a61
inc esi
add rbx, 8
cmp esi, 8
jb 0x1400169e4
jmp 0x140016a64
mov rdi, r14
test r15b, r15b
jne 0x140016aaa
mov ebx, r12d
lea rsi, [rbp - 0x80]
mov r14, qword [rsi]
lea rcx, [rbp + 0x340]
mov rdx, r14
mov r8d, 0x800
call fcn.1400117d4
lea rcx, [rbp + 0x340]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140016aa7
inc ebx
add rsi, 8
cmp ebx, 0x35
jb 0x140016a70
jmp 0x140016aaa
mov rdi, r14
test rdi, rdi
je 0x140016b5d
lea rcx, [rbp + 0x340]
call fcn.14001179c
lea rax, [rbp + 0x2410]
mov r9, rdi
mov qword [rsp + 0x28], rax
lea r8, str.Please_remove__s_from__s_folder._It_is_unsecure_to_run__s_until_it_is_done.
lea rax, [rbp + 0x340]
mov edx, 0x864
lea rcx, [rbp + 0x1340]
mov qword [rsp + 0x20], rax
call fcn.140004f9c
call qword [sym.imp.KERNEL32.dll_AllocConsole]
test eax, eax
je 0x140016b54
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_AttachConsole]
lea rcx, [rbp + 0x1340]
call fcn.14002689c
mov ecx, 0xfffffff4
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
lea r9, [rbp + 0xb448]
mov qword [rsp + 0x20], r12
mov rcx, rax
lea rdx, [rbp + 0x1340]
mov r8d, ebx
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
mov ecx, 0x2710
call qword [sym.imp.KERNEL32.dll_Sleep]
call qword [sym.imp.KERNEL32.dll_FreeConsole]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
lea r11, [rsp + 0xb510]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret