Function at 0x40a590
Capabilities:
Bypass windows file protection
Read file on windows
Terminate process

Disassembly:
push ebp
lea ebp, [esp - 0x8170]
mov eax, 0x8170
call fcn.0041c600
push 0xffffffffffffffff
push 0x4301e2
mov eax, dword fs:[0]
push eax
sub esp, 0xc
mov eax, dword [0x43e748]
xor eax, ebp
mov dword [ebp + 0x816c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov bl, byte [ebp + 0x8178]
push 0x4328a4
mov byte [ebp - 0xd], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov esi, eax
test esi, esi
je 0x40a63d
push str.SetDllDirectoryW
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
test edi, edi
je 0x40a612
movzx ecx, bl
neg ecx
sbb ecx, ecx
and ecx, 0x432668
push ecx
mov ecx, edi
call dword [0x43224c]
call edi
push str.SetDefaultDllDirectories
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x40a63d
movzx ecx, bl
xor ecx, 1
inc ecx
shl ecx, 0xb
push ecx
mov ecx, esi
call dword [0x43224c]
call esi
mov byte [ebp - 0xd], 1
mov eax, dword [str.xlistpos]
mov dword [ebp + 0x14c], str.version.dll
mov dword [ebp + 0x150], str.DXGIDebug.dll
mov dword [ebp + 0x154], str.sfc_os.dll
cmp byte [eax], 0x78
mov dword [ebp + 0x158], str.SSPICLI.DLL
mov dword [ebp + 0x15c], str.rsaenh.dll
mov dword [ebp + 0x160], str.UXTheme.dll
mov dword [ebp + 0x164], str.dwmapi.dll
mov dword [ebp + 0x168], str.cryptbase.dll
mov dword [ebp + 0x78], str.lpk.dll
mov dword [ebp + 0x7c], str.usp10.dll
mov dword [ebp + 0x80], str.clbcatq.dll
mov dword [ebp + 0x84], str.comres.dll
mov dword [ebp + 0x88], str.ws2_32.dll
mov dword [ebp + 0x8c], str.ws2help.dll
mov dword [ebp + 0x90], str.psapi.dll
mov dword [ebp + 0x94], str.ieframe.dll
mov dword [ebp + 0x98], str.ntshrui.dll
mov dword [ebp + 0x9c], str.atl.dll
mov dword [ebp + 0xa0], str.setupapi.dll
mov dword [ebp + 0xa4], str.apphelp.dll
mov dword [ebp + 0xa8], str.userenv.dll
mov dword [ebp + 0xac], str.netapi32.dll
mov dword [ebp + 0xb0], str.shdocvw.dll
mov dword [ebp + 0xb4], str.crypt32.dll
mov dword [ebp + 0xb8], str.msasn1.dll
mov dword [ebp + 0xbc], str.cryptui.dll
mov dword [ebp + 0xc0], str.wintrust.dll
mov dword [ebp + 0xc4], str.shell32.dll
mov dword [ebp + 0xc8], str.secur32.dll
mov dword [ebp + 0xcc], str.cabinet.dll
mov dword [ebp + 0xd0], str.oleaccrc.dll
mov dword [ebp + 0xd4], str.ntmarta.dll
mov dword [ebp + 0xd8], str.profapi.dll
mov dword [ebp + 0xdc], str.WindowsCodecs.dll
mov dword [ebp + 0xe0], str.srvcli.dll
mov dword [ebp + 0xe4], str.cscapi.dll
mov dword [ebp + 0xe8], str.slc.dll
mov dword [ebp + 0xec], str.imageres.dll
mov dword [ebp + 0xf0], str.dnsapi.DLL
mov dword [ebp + 0xf4], str.iphlpapi.DLL
mov dword [ebp + 0xf8], str.WINNSI.DLL
mov dword [ebp + 0xfc], str.netutils.dll
mov dword [ebp + 0x100], str.mpr.dll
mov dword [ebp + 0x104], str.devrtl.dll
mov dword [ebp + 0x108], str.propsys.dll
mov dword [ebp + 0x10c], str.mlang.dll
mov dword [ebp + 0x110], str.samcli.dll
mov dword [ebp + 0x114], str.samlib.dll
mov dword [ebp + 0x118], str.wkscli.dll
mov dword [ebp + 0x11c], str.dfscli.dll
mov dword [ebp + 0x120], str.browcli.dll
mov dword [ebp + 0x124], str.rasadhlp.dll
mov dword [ebp + 0x128], str.dhcpcsvc6.dll
mov dword [ebp + 0x12c], str.dhcpcsvc.dll
mov dword [ebp + 0x130], str.XmlLite.dll
mov dword [ebp + 0x134], str.linkinfo.dll
mov dword [ebp + 0x138], str.cryptsp.dll
mov dword [ebp + 0x13c], str.RpcRtRemote.dll
mov dword [ebp + 0x140], str.aclui.dll
mov dword [ebp + 0x144], str.dsrole.dll
mov dword [ebp + 0x148], str.peerdist.dll
je 0x40a9b0
push eax
call fcn.00424bfd
mov edi, eax
pop ecx
test edi, edi
je 0x40a9b0
lea eax, [ebp + 0x30]
push eax
call fcn.00405eb3
xor ebx, ebx
lea eax, [ebp + 0x30]
cmp dword [ebp + 0x44], 8
mov dword [ebp - 4], ebx
jb 0x40a8d2
mov eax, dword [ebp + 0x30]
push ebx
push ebx
push 3
push ebx
push 1
push SysReAllocString
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x40a99b
push ebx
push ebx
push edi
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, edi
jne 0x40a99b
push ebx
lea eax, [ebp - 0x18]
push eax
push 0x7ffe
lea eax, [ebp + 0x16c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x40a99b
mov eax, dword [ebp - 0x18]
and eax, 0xfffffffe
cmp eax, 0x8000
jae 0x40ac07
xor ecx, ecx
mov word [ebp + eax + 0x16c], cx
lea eax, [ebp + 0x16c]
push eax
lea ecx, [ebp + 0x60]
call fcn.004014a3
xor eax, eax
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x58], ebx
mov dword [ebp + 0x5c], 7
mov word [ebp + 0x48], ax
mov byte [ebp - 4], 2
mov dword [ebp - 0x14], ebx
jmp 0x40a976
cmp dword [ebp + 0x5c], 8
lea eax, [ebp + 0x48]
jb 0x40a970
mov eax, dword [ebp + 0x48]
push eax
call fcn.0040a473
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00409b75
test al, al
jne 0x40a964
lea ecx, [ebp + 0x48]
call fcn.00401770
lea ecx, [ebp + 0x60]
call fcn.00401770
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x30]
call fcn.00401770
jmp 0x40a9b2
xor ebx, ebx
lea eax, [ebp + 0x18]
push eax
call fcn.00405eb3
lea eax, [ebp + 0x18]
mov dword [ebp - 4], 3
push eax
lea eax, [ebp]
push eax
call fcn.0040654f
mov byte [ebp - 4], 4
xor edi, edi
mov esi, edi
call fcn.00405032
cmp eax, 0x600
jb 0x40aa18
push dword [ebp + esi*4 + 0x14c]
call fcn.0040a473
test eax, eax
je 0x40aa18
push 0xffffffffffffffff
push str.DXGIDebug.dll
push 0xffffffffffffffff
push dword [ebp + esi*4 + 0x14c]
push 0x1001
push 0x400
call dword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, 2
jne 0x40aa53
mov esi, dword [ebp + esi*4 + 0x14c]
lea ecx, [ebp + 0x60]
push esi
call fcn.004014a3
lea eax, [ebp + 0x60]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.004066d5
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 4
call fcn.00401770
lea eax, [ebp + 0x18]
push eax
call fcn.00404461
cmp eax, 0xffffffff
jne 0x40aa5f
inc edi
cmp edi, 8
jb 0x40a9d5
jmp 0x40aa61
mov ebx, esi
cmp byte [ebp - 0xd], 0
jne 0x40aaab
xor esi, esi
mov edi, dword [ebp + esi*4 + 0x78]
lea ecx, [ebp + 0x60]
push edi
call fcn.004014a3
lea eax, [ebp + 0x60]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.004066d5
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 4
call fcn.00401770
lea eax, [ebp + 0x18]
push eax
call fcn.00404461
cmp eax, 0xffffffff
jne 0x40aaa9
inc esi
cmp esi, 0x35
jb 0x40aa69
jmp 0x40aaab
mov ebx, edi
test ebx, ebx
je 0x40abd2
lea eax, [ebp + 0x18]
push eax
call fcn.004065bf
call fcn.00405032
cmp eax, 0x600
jb 0x40ab47
push str.dwmapi.dll
call fcn.0040a473
push str.uxtheme.dll
call fcn.0040a473
sub esp, 0x18
lea esi, [ebp]
push 6
pop ecx
mov edi, esp
sub esp, 0x18
rep movsd dword es:[edi], dword [esi]
push 6
pop ecx
mov edi, esp
lea esi, [ebp + 0x18]
push ebx
rep movsd dword es:[edi], dword [esi]
push 0xf1
call fcn.00407fca
push eax
lea eax, [ebp + 0x30]
push eax
call fcn.0040a2ad
add esp, 0x3c
push 0xf0
mov byte [ebp - 4], 7
call fcn.00407fca
push eax
lea ecx, [ebp + 0x60]
call fcn.004014a3
push 0x30
lea eax, [ebp + 0x60]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp + 0x30]
push eax
push 0
call fcn.00415d7e
lea ecx, [ebp + 0x60]
call fcn.00401549
lea ecx, [ebp + 0x30]
jmp 0x40abc5
sub esp, 0x18
lea esi, [ebp]
lea eax, [ebp + 0x60]
push 6
pop ecx
mov edi, esp
sub esp, 0x18
rep movsd dword es:[edi], dword [esi]
push 6
pop ecx
mov edi, esp
lea esi, [ebp + 0x18]
push ebx
push str.Please_remove__s_from__s_folder._It_is_unsecure_to_run__s_until_it_is_done.
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.0040a2ad
add esp, 0x3c
call dword [sym.imp.KERNEL32.dll_AllocConsole]
test eax, eax
je 0x40abc2
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call dword [sym.imp.KERNEL32.dll_AttachConsole]
push 0
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp + 0x60]
call fcn.0040ac56
push eax
lea ecx, [ebp + 0x60]
call fcn.0040ac4b
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]
lea ecx, [ebp + 0x60]
call fcn.00401549
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
lea ecx, [ebp]
call fcn.00401770
lea ecx, [ebp + 0x18]
call fcn.00401770
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x816c]
xor ecx, ebp
call fcn.0041c3c4
add ebp, 0x8170
leave
ret 4
call fcn.0041c7bf
int3