Function at 0x140012368
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.1400238f0
sub rsp, rax
movzx edi, cl
xor r12d, r12d
lea rcx, [0x140038ef8]
mov r15b, r12b
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rbx, rax
test rax, rax
je 0x140012402
lea rdx, str.SetDllDirectoryW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400123da
mov cl, dil
lea rdx, [0x140038864]
neg cl
sbb rcx, rcx
and rcx, rdx
call qword [0x1400384e0]
lea rdx, str.SetDefaultDllDirectories
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140012402
mov ecx, edi
xor ecx, 1
inc ecx
shl ecx, 0xb
call qword [0x1400384e0]
mov r15b, 1
lea rax, str.version.dll
mov qword [rsp + 0x40], rax
lea r14, str.DXGIDebug.dll
lea rax, str.sfc_os.dll
mov qword [rsp + 0x48], r14
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 0x1400127e8
call fcn.14002c0a0
mov edi, eax
test eax, eax
je 0x1400127e8
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 0x1400127df
xor r9d, r9d
xor r8d, r8d
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, edi
jne 0x1400127df
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 0x1400127df
mov eax, dword [rbp + 0xb448]
lea rcx, [rbp + 0x3410]
shr rax, 1
mov r14d, 0x104
mov word [rbp + rax*2 + 0x3410], r12w
mov r8, r14
lea rdx, [rbp + 0x130]
call fcn.140011d98
mov rdi, rax
test rax, rax
je 0x1400127d8
lea rcx, [rbp + 0x130]
call fcn.140012310
mov rcx, rdi
jmp 0x1400127b0
lea r14, str.DXGIDebug.dll
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.14000d4d0
mov rdx, rax
lea rcx, [rbp + 0x2410]
mov r8, rsi
call fcn.140012080
mov rbx, r12
lea rdi, [rsp + 0x40]
mov esi, r12d
call fcn.14000c0f8
cmp eax, 0x600
jb 0x140012862
mov rcx, qword [rdi]
call fcn.140012310
test rax, rax
je 0x140012862
or dword [rsp + 0x28], 0xffffffff
or r9d, 0xffffffff
mov r8, qword [rdi]
mov edx, 0x1001
mov ecx, 0x400
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, 2
jne 0x140012893
mov r14, qword [rdi]
lea rcx, [rbp + 0x340]
mov rdx, r14
mov r8d, 0x800
call fcn.14000d55c
lea rcx, [rbp + 0x340]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400128a0
lea r14, str.DXGIDebug.dll
inc esi
add rdi, 8
cmp esi, 8
jb 0x140012823
jmp 0x1400128a3
mov rbx, r14
test r15b, r15b
jne 0x1400128e9
mov edi, r12d
lea rsi, [rbp - 0x80]
mov r14, qword [rsi]
lea rcx, [rbp + 0x340]
mov rdx, r14
mov r8d, 0x800
call fcn.14000d55c
lea rcx, [rbp + 0x340]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400128e6
inc edi
add rsi, 8
cmp edi, 0x35
jb 0x1400128af
jmp 0x1400128e9
mov rbx, r14
test rbx, rbx
je 0x140012a1f
lea rcx, [rbp + 0x340]
call fcn.14000d524
call fcn.14000c0f8
cmp eax, 0x600
jb 0x140012981
lea rcx, str.dwmapi.dll
call fcn.140012310
lea rcx, str.uxtheme.dll
call fcn.140012310
mov ecx, 0xf1
call fcn.14000fde8
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.1400045d8
mov ecx, 0xf0
call fcn.14000fde8
mov r8, rax
lea rdx, [rbp + 0x1340]
mov r9d, 0x30
xor ecx, ecx
call fcn.14001e4a4
jmp 0x140012a16
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.1400045d8
call qword [sym.imp.KERNEL32.dll_AllocConsole]
test eax, eax
je 0x140012a16
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_AttachConsole]
lea rcx, [rbp + 0x1340]
call fcn.1400282b8
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