Function at 0x140012b3c
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.14001e3f0
sub rsp, rax
mov bl, cl
xor r15d, r15d
lea rcx, [0x140033df0]
mov r14b, r15b
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdi, rax
test rax, rax
je 0x140012bd2
lea rdx, str.SetDllDirectoryW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140012ba8
mov cl, bl
lea rdx, [0x140033e04]
neg cl
sbb rcx, rcx
and rcx, rdx
call rax
lea rdx, str.SetDefaultDllDirectories
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140012bd2
neg bl
sbb ecx, ecx
and ecx, 0xfffff800
add ecx, 0x1000
call rax
mov r14b, 1
lea rax, str.version.dll
mov qword [rsp + 0x40], rax
lea rax, [0x140033e58]
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 r12d, 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 0x140012fb1
call fcn.1400256a8
mov edi, eax
test eax, eax
je 0x140012fb1
mov r8d, r12d
lea rdx, [rbp + 0x1340]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor r9d, r9d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
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 0x140012fa8
xor r9d, r9d
xor r8d, r8d
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, edi
jne 0x140012fa8
lea r9, [rbp + 0xb448]
mov qword [rsp + 0x20], r15
mov r8d, 0x7ffe
lea rdx, [rbp + 0x3410]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140012fa8
mov eax, dword [rbp + 0xb448]
lea rcx, [rbp + 0x3410]
shr rax, 1
mov esi, 0x104
mov word [rbp + rax*2 + 0x3410], r15w
jmp 0x140012f91
lea rcx, [rbp + 0x130]
call fcn.140012adc
mov rcx, rdi
mov r8, rsi
lea rdx, [rbp + 0x130]
call fcn.140012400
mov rdi, rax
test rax, rax
jne 0x140012f82
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r8d, r12d
lea rdx, [rbp + 0x340]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rcx, [rbp + 0x340]
call fcn.14000e8d4
mov rdx, rax
lea rcx, [rbp + 0x2410]
mov r8, r12
call fcn.14001284c
mov rdi, r15
lea rbx, [rsp + 0x40]
mov esi, r15d
call fcn.14000c600
cmp eax, 0x600
jb 0x140013002
mov rcx, qword [rbx]
call fcn.140012adc
jmp 0x140013005
mov rax, r15
test rax, rax
je 0x140013037
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 0x14001305b
mov rdx, qword [rbx]
lea rcx, [rbp + 0x340]
mov r8, r12
call fcn.14000e960
lea rcx, [rbp + 0x340]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140013068
inc esi
add rbx, 8
cmp esi, 8
jb 0x140012fec
jmp 0x140013070
movsxd rax, esi
mov rdi, qword [rsp + rax*8 + 0x40]
test r14b, r14b
jne 0x1400130b5
mov ebx, r15d
lea rsi, [rbp - 0x80]
mov rdx, qword [rsi]
lea rcx, [rbp + 0x340]
mov r8, r12
call fcn.14000e960
lea rcx, [rbp + 0x340]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400130ad
inc ebx
add rsi, 8
cmp ebx, 0x35
jb 0x14001307c
jmp 0x1400130b5
movsxd rax, ebx
mov rdi, qword [rbp + rax*8 - 0x80]
test rdi, rdi
je 0x140013168
lea rcx, [rbp + 0x340]
call fcn.14000e928
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.140003f64
call qword [sym.imp.KERNEL32.dll_AllocConsole]
test eax, eax
je 0x14001315f
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_AttachConsole]
lea rcx, [rbp + 0x1340]
call fcn.14002217c
mov ecx, 0xfffffff4
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
lea r9, [rbp + 0xb448]
mov qword [rsp + 0x20], r15
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