Function at 0x140012140
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.140023f50
sub rsp, rax
mov r14b, cl
xor r12d, r12d
lea rcx, str.kernel32
mov r15b, r12b
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdi, rax
test rax, rax
je 0x1400121f4
lea rdx, str.SetDllDirectoryW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
test rax, rax
je 0x1400121bd
mov cl, r14b
lea rax, [0x140038874]
neg cl
mov rcx, rsi
sbb rbx, rbx
and rbx, rax
call qword [fcn.140008900]
mov rcx, rbx
call rsi
lea rdx, str.SetDefaultDllDirectories
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
je 0x1400121f4
neg r14b
mov rcx, rax
sbb ebx, ebx
and ebx, 0xfffff800
call qword [fcn.140008900]
lea ecx, [rbx + 0x1000]
call rdi
mov r15b, 1
lea rax, str.version.dll
mov qword [rsp + 0x40], rax
lea rax, str.DXGIDebug.dll
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 r14d, 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 0x1400125d3
call fcn.14002be28
mov edi, eax
test eax, eax
je 0x1400125d3
mov r8d, r14d
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 0x1400125ca
xor r9d, r9d
xor r8d, r8d
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, edi
jne 0x1400125ca
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 0x1400125ca
mov eax, dword [rbp + 0xb448]
lea rcx, [rbp + 0x3410]
shr rax, 1
mov esi, 0x104
mov word [rbp + rax*2 + 0x3410], r12w
jmp 0x1400125b3
lea rcx, [rbp + 0x130]
call fcn.1400120e8
mov rcx, rdi
mov r8, rsi
lea rdx, [rbp + 0x130]
call fcn.140011b50
mov rdi, rax
test rax, rax
jne 0x1400125a4
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r8d, r14d
lea rdx, [rbp + 0x340]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rcx, [rbp + 0x340]
call fcn.14000d33c
mov rdx, rax
lea rcx, [rbp + 0x2410]
mov r8, r14
call fcn.140011e48
mov rbx, r12
lea rdi, [rsp + 0x40]
mov esi, r12d
call fcn.14000c108
cmp eax, 0x600
jb 0x140012624
mov rcx, qword [rdi]
call fcn.1400120e8
jmp 0x140012627
mov rax, r12
test rax, rax
je 0x140012659
or dword [rsp + 0x28], 0xffffffff
lea rax, str.DXGIDebug.dll
mov r8, qword [rdi]
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 0x14001267d
mov rdx, qword [rdi]
lea rcx, [rbp + 0x340]
mov r8, r14
call fcn.14000d3c8
lea rcx, [rbp + 0x340]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x14001268a
inc esi
add rdi, 8
cmp esi, 8
jb 0x14001260e
jmp 0x140012692
movsxd rax, esi
mov rbx, qword [rsp + rax*8 + 0x40]
test r15b, r15b
jne 0x1400126d7
mov edi, r12d
lea rsi, [rbp - 0x80]
mov rdx, qword [rsi]
lea rcx, [rbp + 0x340]
mov r8, r14
call fcn.14000d3c8
lea rcx, [rbp + 0x340]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400126cf
inc edi
add rsi, 8
cmp edi, 0x35
jb 0x14001269e
jmp 0x1400126d7
movsxd rax, edi
mov rbx, qword [rbp + rax*8 - 0x80]
test rbx, rbx
je 0x14001280d
lea rcx, [rbp + 0x340]
call fcn.14000d390
call fcn.14000c108
cmp eax, 0x600
jb 0x14001276f
lea rcx, str.dwmapi.dll
call fcn.1400120e8
lea rcx, str.uxtheme.dll
call fcn.1400120e8
mov ecx, 0xf1
call fcn.14000fb18
mov r8, rax
lea rcx, [rbp + 0x1340]
lea rax, [rbp + 0x2410]
mov r9, rbx
mov qword [rsp + 0x28], rax
mov edx, 0x864
lea rax, [rbp + 0x340]
mov qword [rsp + 0x20], rax
call fcn.14000462c
mov ecx, 0xf0
call fcn.14000fb18
mov r8, rax
lea rdx, [rbp + 0x1340]
mov r9d, 0x30
xor ecx, ecx
call fcn.14001eb9c
jmp 0x140012804
lea rax, [rbp + 0x2410]
mov r9, rbx
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.14000462c
call qword [sym.imp.KERNEL32.dll_AllocConsole]
test eax, eax
je 0x140012804
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_AttachConsole]
lea rcx, [rbp + 0x1340]
call fcn.140027cc8
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