Function at 0x140010d00
Capabilities:
Check for time delay via gettickcount
Delete file
Enumerate files on windows
Get common file path
Shutdown system

Disassembly:
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0xb40
mov r13, rdx
mov rax, qword [0x140024c20]
xor rax, rsp
mov qword [rsp + 0xb38], rax
cmp dword [0x140024c40], 0
jne 0x140010d39
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x140024c40], eax
mov ecx, 0x104
lea rdx, [rsp + 0x694]
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
mov edx, dword [0x140024c40]
test eax, eax
jbe 0x140010d8a
lea r14, str.ssproiut
lea rcx, [rsp + 0x798]
mov qword [rsp + 0x20], r14
lea r8, str._s_s__d.log
mov dword [rsp + 0x28], edx
mov edx, 0x104
lea r9, [rsp + 0x694]
call qword [sym.imp.MSVCR100.dll__snprintf]
jmp 0x140010dcc
lea r14, str.ssproiut
lea rcx, [rsp + 0x798]
mov dword [rsp + 0x20], edx
mov edx, 0x104
lea r8, str.c:_temp_s__d.log
mov r9, r14
call qword [sym.imp.MSVCR100.dll__snprintf]
mov edx, 0x104
lea rcx, [rsp + 0x694]
lea r8, str.c:_temp
call qword [sym.imp.MSVCR100.dll__snprintf]
movabs r12, 0
mov eax, 0x140
mov qword [rsp + rax + 0x998], r12
mov qword [rsp + rax + 0x990], r12
mov qword [rsp + rax + 0x988], r12
mov qword [rsp + rax + 0x980], r12
sub rax, 0x20
jne 0x140010ddb
mov edx, 0x103
lea rcx, [rsp + 0x89c]
lea r8, [0x1400202fc]
lea r9, [rsp + 0x694]
mov qword [rsp + 0x20], r14
call qword [sym.imp.MSVCR100.dll__snprintf]
lea rcx, [rsp + 0x89c]
lea rdx, [rsp + 0x9a0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rdi, rax
cmp rdi, 0xffffffffffffffff
je 0x140011185
mov rcx, rdi
lea rdx, [rsp + 0x9a0]
mov esi, 1
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x140010e7c
mov rcx, rdi
lea rdx, [rsp + 0x9a0]
inc esi
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x140010e65
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
cmp esi, 0x3c
jbe 0x140010f8a
mov eax, 0x140
mov qword [rsp + rax + 0x998], r12
mov qword [rsp + rax + 0x990], r12
mov qword [rsp + rax + 0x988], r12
mov qword [rsp + rax + 0x980], r12
sub rax, 0x20
jne 0x140010e93
lea rcx, [rsp + 0x89c]
lea rdx, [rsp + 0x9a0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rdi, rax
cmp rdi, 0xffffffffffffffff
je 0x140011185
mov edx, 0x103
lea rcx, [rsp + 0x590]
lea r8, str._s_s
lea r9, [rsp + 0x694]
lea r12, [rsp + 0x9cc]
mov qword [rsp + 0x20], r12
call qword [sym.imp.MSVCR100.dll__snprintf]
lea rcx, [rsp + 0x590]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov rcx, rdi
lea rdx, [rsp + 0x9a0]
dec esi
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x140010f81
cmp esi, 0x3c
jbe 0x140010f81
mov edx, 0x103
lea rcx, [rsp + 0x590]
lea r8, str._s_s
lea r9, [rsp + 0x694]
mov qword [rsp + 0x20], r12
call qword [sym.imp.MSVCR100.dll__snprintf]
lea rcx, [rsp + 0x590]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov rcx, rdi
lea rdx, [rsp + 0x9a0]
dec esi
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x140010f30
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
xor esi, esi
lea rdx, [0x14001e89c]
lea rcx, [rsp + 0x798]
call qword [sym.imp.MSVCR100.dll_fopen]
mov r12, rax
test esi, esi
je 0x140010fcb
test r12, r12
je 0x140010fcb
mov rcx, r12
lea rdx, str.Purging_of_old_files__s_s_failed__Error__d
mov r9, r14
lea r8, [rsp + 0x694]
mov dword [rsp + 0x20], esi
call fcn.140010c10
mov rcx, r12
lea rdx, str.Opening_process_token
call fcn.140010c10
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0x28
lea r8, [rsp + 0xb30]
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x1400110bc
mov rcx, r12
lea rdx, str.get_the_lookup_privilege
call fcn.140010c10
xor ecx, ecx
lea rdx, str.SeShutdownPrivilege
lea r8, [rsp + 0xb1c]
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
mov rcx, r12
lea rdx, str.get_the_shutdown_privilege
mov dword [rsp + 0xb18], 1
mov dword [rsp + 0xb24], 2
call fcn.140010c10
xor edx, edx
lea r8, [rsp + 0xb18]
mov rcx, qword [rsp + 0xb30]
xor r9d, r9d
xor eax, eax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rax
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
call qword [sym.imp.orauts.dll_GetLastError]
test eax, eax
jne 0x1400110ab
mov rcx, r12
lea rdx, str.Trying_to_shut_down_the_system_now
call fcn.140010c10
mov ecx, 2
xor edx, edx
call qword [sym.imp.USER32.dll_ExitWindowsEx]
test eax, eax
jne 0x1400110cb
mov rcx, r12
lea rdx, str.Not_successful_in_shutting_down_the_system_now
call fcn.140010c10
jmp 0x1400110cb
mov rcx, r12
lea rdx, str.Not_successful_in_getting_the_shutdown_privilege
call fcn.140010c10
jmp 0x1400110cb
mov rcx, r12
lea rdx, str.Unable_to_open_process_token
call fcn.140010c10
mov rcx, r12
lea rdx, str.Shutting_down_the_system_now
call fcn.140010c10
mov ecx, 2
xor edx, edx
call qword [sym.imp.USER32.dll_ExitWindowsEx]
test eax, eax
jne 0x14001114c
call qword [sym.imp.orauts.dll_GetLastError]
xor edi, edi
mov ecx, 0x1100
xor edx, edx
mov r8d, eax
mov r9d, 0x400
lea rsi, [rsp + 0xb28]
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x28], 0
mov qword [rsp + 0xb28], rdi
mov dword [r13 + 0x104], eax
mov qword [rsp + 0x30], rdi
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov rsi, qword [rsp + 0xb28]
test rsi, rsi
jne 0x140011192
mov dword [r13 + 0x100], 1
jmp 0x140011157
mov dword [r13 + 0x100], 0
test r12, r12
je 0x140011165
mov rcx, r12
call qword [sym.imp.MSVCR100.dll_fclose]
mov rcx, qword [rsp + 0xb38]
xor rcx, rsp
call fcn.14001c150
add rsp, 0xb40
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret
call qword [sym.imp.orauts.dll_GetLastError]
mov esi, eax
jmp 0x140010f8c
cmp dword [0x140024c40], 0
jne 0x1400111a7
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x140024c40], eax
mov ecx, 0x104
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
mov edx, dword [0x140024c40]
test eax, eax
jbe 0x1400111eb
mov qword [rsp + 0x20], r14
lea rcx, [rsp + 0x144]
mov dword [rsp + 0x28], edx
lea r8, str._s_s__d.log
mov edx, 0x104
lea r9, [rsp + 0x40]
call qword [sym.imp.MSVCR100.dll__snprintf]
jmp 0x140011223
mov dword [rsp + 0x20], edx
lea rcx, [rsp + 0x144]
lea r8, str.c:_temp_s__d.log
mov edx, 0x104
mov r9, r14
call qword [sym.imp.MSVCR100.dll__snprintf]
lea r8, str.c:_temp
lea rcx, [rsp + 0x40]
mov edx, 0x104
call qword [sym.imp.MSVCR100.dll__snprintf]
movabs rax, 0
lea rdi, [rsp + 0x450]
push 0x28
pop rcx
rep stosq qword [rdi], rax
mov edx, 0x103
lea rcx, [rsp + 0x34c]
lea r8, [0x1400202fc]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], r14
call qword [sym.imp.MSVCR100.dll__snprintf]
lea rcx, [rsp + 0x34c]
lea rdx, [rsp + 0x450]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rdi, rax
cmp rdi, 0xffffffffffffffff
je 0x140011567
mov dword [rsp + 0xb10], 1
mov rcx, rdi
lea rdx, [rsp + 0x450]
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x1400112fa
mov qword [rsp + 0xae0], rbx
mov qword [rsp + 0xae8], r15
mov qword [rsp + 0xaf0], rbp
lea rbp, [rsp + 0x450]
mov ebx, dword [rsp + 0xb10]
mov rcx, rdi
mov rdx, rbp
inc ebx
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x1400112c9
mov dword [rsp + 0xb10], ebx
mov rbx, qword [rsp + 0xae0]
mov r15, qword [rsp + 0xae8]
mov rbp, qword [rsp + 0xaf0]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [rsp + 0xb10], 0x3c
jbe 0x140011482
movabs rax, 0
lea rdi, [rsp + 0x450]
push 0x28
pop rcx
rep stosq qword [rdi], rax
lea rcx, [rsp + 0x34c]
lea rdx, [rsp + 0x450]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov qword [rsp + 0xb08], rax
cmp qword [rsp + 0xb08], 0xffffffffffffffff
je 0x140011567
lea rdi, str._s_s
lea rcx, [rsp + 0x248]
mov edx, 0x103
mov r8, rdi
lea r9, [rsp + 0x40]
lea rax, [rsp + 0x47c]
mov qword [rsp + 0x20], rax
call qword [sym.imp.MSVCR100.dll__snprintf]
lea rcx, [rsp + 0x248]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
dec dword [rsp + 0xb10]
lea rdx, [rsp + 0x450]
mov rcx, qword [rsp + 0xb08]
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x140011474
mov qword [rsp + 0xae0], rbx
lea r14, [rsp + 0x40]
mov qword [rsp + 0xaf0], rbp
mov qword [rsp + 0xb00], r12
lea r12, [rsp + 0x248]
mov qword [rsp + 0xaf8], r13
lea r13, [rsp + 0x47c]
mov qword [rsp + 0xae8], r15
lea r15, [rsp + 0x450]
mov ebp, dword [rsp + 0xb10]
mov rbx, qword [rsp + 0xb08]
cmp ebp, 0x3c
jbe 0x140011445
mov rcx, r12
mov edx, 0x103
mov r8, rdi
mov r9, r14
mov qword [rsp + 0x20], r13
call qword [sym.imp.MSVCR100.dll__snprintf]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov rcx, rbx
mov rdx, r15
dec ebp
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x14001140c
mov r12, qword [rsp + 0xb00]
lea r14, str.ssproiut
mov r13, qword [rsp + 0xaf8]
mov rbx, qword [rsp + 0xae0]
mov r15, qword [rsp + 0xae8]
mov rbp, qword [rsp + 0xaf0]
mov rcx, qword [rsp + 0xb08]
call qword [sym.imp.KERNEL32.dll_FindClose]
mov dword [rsp + 0xb00], 0
lea rdx, [0x14001e89c]
lea rcx, [rsp + 0x144]
call qword [sym.imp.MSVCR100.dll_fopen]
mov qword [rsp + 0xaf8], rax
cmp dword [rsp + 0xb00], 0
je 0x1400114e8
mov rax, qword [rsp + 0xaf8]
test rax, rax
je 0x1400114e8
mov eax, dword [rsp + 0xb00]
lea rdx, str.Purging_of_old_files__s_s_failed__Error__d
mov dword [rsp + 0x20], eax
lea r8, [rsp + 0x40]
mov r9, r14
mov rcx, qword [rsp + 0xaf8]
call fcn.140010c10
mov rcx, rsi
xor eax, eax
movzx edx, byte [rcx + rax]
test edx, edx
je 0x140011505
movzx edx, byte [rcx + rax + 1]
add rax, 2
test edx, edx
jne 0x1400114ed
dec rax
mov rdi, rax
mov ecx, 1
lea r14, [rdi + 1]
mov rdx, r14
call qword [sym.imp.MSVCR100.dll_calloc]
mov qword [r13 + 0x158], rax
test rax, rax
je 0x140011589
mov rcx, rax
mov rdx, rsi
mov r8, r14
call qword [sym.imp.MSVCR100.dll_strncpy]
movsxd rax, dword [r13 + 4]
mov qword [r13 + 0x20], r14
lea rdx, [rdi + rax + 1]
mov dword [r13 + 4], edx
mov rax, qword [rsp + 0xaf8]
test rax, rax
je 0x140011579
mov rcx, qword [rsp + 0xb28]
call qword [sym.imp.KERNEL32.dll_LocalFree]
nop
jmp 0x14001113f
call qword [sym.imp.orauts.dll_GetLastError]
mov dword [rsp + 0xb00], eax
jmp 0x14001148d
mov rcx, qword [rsp + 0xaf8]
call qword [sym.imp.MSVCR100.dll_fclose]
jmp 0x140011553
mov qword [rsp + 0x20], r14
lea rdx, str._s:_d_allocation_of__d_bytes_for_response_failed
lea r8, str.ssproiut.c
mov r9d, 0x42a
mov rcx, qword [rsp + 0xaf8]
call fcn.140010c10
mov dword [r13 + 0x100], 1
jmp 0x140011546