Function at 0x406bd4
Capabilities:
Bypass windows file protection
Get file attributes
Read file on windows
Resolve function by parsing pe exports
Terminate process

Disassembly:
mov eax, 0xb3cc
call fcn.00415650
push ebx
push ebp
push esi
push edi
xor ebx, ebx
push 0x429838
mov byte [esp + 0x17], bl
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov esi, eax
test esi, esi
je 0x406c58
push str.SetDllDirectoryW
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov bl, byte [esp + 0xb3e0]
mov edi, eax
test edi, edi
je 0x406c2a
movzx ecx, bl
neg ecx
sbb ecx, ecx
and ecx, 0x429584
push ecx
mov ecx, edi
call dword [0x42922c]
call edi
push str.SetDefaultDllDirectories
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x406c56
movzx ecx, bl
xor ecx, 1
inc ecx
shl ecx, 0xb
push ecx
mov ecx, esi
call dword [0x42922c]
call esi
mov byte [esp + 0x13], 1
xor ebx, ebx
mov eax, dword [str.xlistpos]
or ebp, 0xffffffff
mov dword [esp + 0x18], str.version.dll
mov esi, 0x800
mov dword [esp + 0x1c], str.DXGIDebug.dll
mov dword [esp + 0x20], str.sfc_os.dll
cmp byte [eax], 0x78
mov dword [esp + 0x24], str.SSPICLI.DLL
mov dword [esp + 0x28], str.rsaenh.dll
mov dword [esp + 0x2c], str.UXTheme.dll
mov dword [esp + 0x30], str.dwmapi.dll
mov dword [esp + 0x34], str.cryptbase.dll
mov dword [esp + 0x38], str.lpk.dll
mov dword [esp + 0x3c], str.usp10.dll
mov dword [esp + 0x40], str.clbcatq.dll
mov dword [esp + 0x44], str.comres.dll
mov dword [esp + 0x48], str.ws2_32.dll
mov dword [esp + 0x4c], str.ws2help.dll
mov dword [esp + 0x50], str.psapi.dll
mov dword [esp + 0x54], str.ieframe.dll
mov dword [esp + 0x58], str.ntshrui.dll
mov dword [esp + 0x5c], str.atl.dll
mov dword [esp + 0x60], str.setupapi.dll
mov dword [esp + 0x64], str.apphelp.dll
mov dword [esp + 0x68], str.userenv.dll
mov dword [esp + 0x6c], str.netapi32.dll
mov dword [esp + 0x70], str.shdocvw.dll
mov dword [esp + 0x74], str.crypt32.dll
mov dword [esp + 0x78], str.msasn1.dll
mov dword [esp + 0x7c], str.cryptui.dll
mov dword [esp + 0x80], str.wintrust.dll
mov dword [esp + 0x84], str.shell32.dll
mov dword [esp + 0x88], str.secur32.dll
mov dword [esp + 0x8c], str.cabinet.dll
mov dword [esp + 0x90], str.oleaccrc.dll
mov dword [esp + 0x94], str.ntmarta.dll
mov dword [esp + 0x98], str.profapi.dll
mov dword [esp + 0x9c], str.WindowsCodecs.dll
mov dword [esp + 0xa0], str.srvcli.dll
mov dword [esp + 0xa4], str.cscapi.dll
mov dword [esp + 0xa8], str.slc.dll
mov dword [esp + 0xac], str.imageres.dll
mov dword [esp + 0xb0], str.dnsapi.DLL
mov dword [esp + 0xb4], str.iphlpapi.DLL
mov dword [esp + 0xb8], str.WINNSI.DLL
mov dword [esp + 0xbc], str.netutils.dll
mov dword [esp + 0xc0], str.mpr.dll
mov dword [esp + 0xc4], str.devrtl.dll
mov dword [esp + 0xc8], str.propsys.dll
mov dword [esp + 0xcc], str.mlang.dll
mov dword [esp + 0xd0], str.samcli.dll
mov dword [esp + 0xd4], str.samlib.dll
mov dword [esp + 0xd8], str.wkscli.dll
mov dword [esp + 0xdc], str.dfscli.dll
mov dword [esp + 0xe0], str.browcli.dll
mov dword [esp + 0xe4], str.rasadhlp.dll
mov dword [esp + 0xe8], str.dhcpcsvc6.dll
mov dword [esp + 0xec], str.dhcpcsvc.dll
mov dword [esp + 0xf0], str.XmlLite.dll
mov dword [esp + 0xf4], str.linkinfo.dll
mov dword [esp + 0xf8], str.cryptsp.dll
mov dword [esp + 0xfc], str.RpcRtRemote.dll
mov dword [esp + 0x100], str.aclui.dll
mov dword [esp + 0x104], str.dsrole.dll
mov dword [esp + 0x108], str.peerdist.dll
je 0x406f85
push eax
call fcn.0041db8d
mov edi, eax
pop ecx
test edi, edi
je 0x406f85
push esi
lea eax, [esp + 0x1318]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push ebx
push ebx
push 3
push ebx
push 1
push 0x80000000
lea eax, [esp + 0x132c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, ebp
je 0x406f79
push ebx
push ebx
push edi
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, edi
jne 0x406f79
push ebx
lea eax, [esp + 0x18]
push eax
push 0x7ffe
lea eax, [esp + 0x33e8]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x406f79
mov eax, dword [esp + 0x14]
shr eax, 1
xor ecx, ecx
push 0x104
mov word [esp + eax*2 + 0x33e0], cx
lea eax, [esp + 0x110]
push eax
lea eax, [esp + 0x33e4]
push eax
jmp 0x406f6e
lea eax, [esp + 0x10c]
push eax
call fcn.00406b8c
push 0x104
lea eax, [esp + 0x110]
push eax
push edi
call fcn.00406679
mov edi, eax
test edi, edi
jne 0x406f53
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, 0x800
push esi
lea eax, [esp + 0x318]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push esi
lea eax, [esp + 0x318]
push eax
call fcn.00403919
push eax
lea eax, [esp + 0x23e4]
push eax
call fcn.0040694c
mov edi, ebx
mov esi, ebx
call fcn.00402d8e
cmp eax, 0x600
jb 0x406fee
push dword [esp + esi*4 + 0x18]
call fcn.00406b8c
test eax, eax
je 0x406fee
push ebp
push str.DXGIDebug.dll
push ebp
push dword [esp + esi*4 + 0x24]
push 0x1001
push 0x400
call dword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, 2
jne 0x407017
mov esi, dword [esp + esi*4 + 0x18]
lea eax, [esp + 0x314]
push 0x800
push esi
push eax
call fcn.004039d4
lea eax, [esp + 0x314]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, ebp
jne 0x40701f
inc ebx
cmp ebx, 8
jb 0x406fb3
jmp 0x407021
mov edi, esi
cmp byte [esp + 0x13], 0
jne 0x40705d
xor esi, esi
mov ebx, dword [esp + esi*4 + 0x38]
lea eax, [esp + 0x314]
push 0x800
push ebx
push eax
call fcn.004039d4
lea eax, [esp + 0x314]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, ebp
jne 0x40705b
inc esi
cmp esi, 0x35
jb 0x40702a
jmp 0x40705d
mov edi, ebx
test edi, edi
je 0x40716c
lea eax, [esp + 0x314]
push eax
call fcn.00403963
call fcn.00402d8e
cmp eax, 0x600
jb 0x4070e4
push str.dwmapi.dll
call fcn.00406b8c
push str.uxtheme.dll
call fcn.00406b8c
lea eax, [esp + 0x23dc]
push eax
lea eax, [esp + 0x318]
push eax
push edi
push 0xf1
call fcn.00404ba7
push eax
lea eax, [esp + 0x1324]
push 0x864
push eax
call fcn.00402aa2
add esp, 0x18
push 0x30
push 0xf0
call fcn.00404ba7
push eax
lea eax, [esp + 0x131c]
push eax
push 0
call fcn.004112b4
jmp 0x407164
lea eax, [esp + 0x23dc]
push eax
lea eax, [esp + 0x318]
push eax
push edi
push str.Please_remove__s_from__s_folder._It_is_unsecure_to_run__s_until_it_is_done.
lea eax, [esp + 0x1324]
push 0x864
push eax
call fcn.00402aa2
add esp, 0x18
call dword [sym.imp.KERNEL32.dll_AllocConsole]
test eax, eax
je 0x407164
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call dword [sym.imp.KERNEL32.dll_AttachConsole]
push 0
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x131c]
push eax
call fcn.0041a1c3
pop ecx
push eax
lea eax, [esp + 0x1320]
push eax
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_WriteConsoleW]
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.KERNEL32.dll_FreeConsole]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb3cc
ret 4