Function at 0x1400120b0
Capabilities:
Check for time delay via gettickcount
Delete file
Enumerate files on windows
Get common file path
Get disk information

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
push rbp
sub rsp, 0xb18
mov r14, r8
mov rax, qword [0x140024c20]
mov r13, rdx
xor rax, rsp
xor ebp, ebp
mov qword [rsp + 0xb08], rax
xor ebx, ebx
cmp dword [0x140024c40], 0
jne 0x1400120f4
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 0x140012145
lea rsi, str.ssproiut
lea rcx, [rsp + 0x798]
mov qword [rsp + 0x20], rsi
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 0x140012187
lea rsi, str.ssproiut
lea rcx, [rsp + 0x798]
mov dword [rsp + 0x20], edx
mov edx, 0x104
lea r8, str.c:_temp_s__d.log
mov r9, rsi
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 0x140012196
mov edx, 0x103
lea rcx, [rsp + 0x89c]
lea r8, [0x1400202fc]
lea r9, [rsp + 0x694]
mov qword [rsp + 0x20], rsi
call qword [sym.imp.MSVCR100.dll__snprintf]
lea rcx, [rsp + 0x89c]
lea rdx, [rsp + 0x9a0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov r15, rax
cmp r15, 0xffffffffffffffff
je 0x140012479
mov rcx, r15
lea rdx, [rsp + 0x9a0]
mov edi, 1
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x140012237
mov rcx, r15
lea rdx, [rsp + 0x9a0]
inc edi
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x140012220
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FindClose]
cmp edi, 0x3c
jbe 0x14001234d
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 0x14001224e
lea rcx, [rsp + 0x89c]
lea rdx, [rsp + 0x9a0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov r15, rax
cmp r15, 0xffffffffffffffff
je 0x140012479
mov edx, 0x103
lea rcx, [rsp + 0x590]
lea r8, str._s_s
lea r9, [rsp + 0x694]
lea rax, [rsp + 0x9cc]
mov qword [rsp + 0x20], rax
call qword [sym.imp.MSVCR100.dll__snprintf]
lea rcx, [rsp + 0x590]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov rcx, r15
lea rdx, [rsp + 0x9a0]
dec edi
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x140012344
lea r12, [rsp + 0x9cc]
cmp edi, 0x3c
jbe 0x140012344
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, r15
lea rdx, [rsp + 0x9a0]
dec edi
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x1400122f3
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FindClose]
xor edi, edi
lea rdx, [0x14001e89c]
lea rcx, [rsp + 0x798]
call qword [sym.imp.MSVCR100.dll_fopen]
mov r12, rax
test edi, edi
je 0x14001238e
test r12, r12
je 0x14001238e
mov rcx, r12
lea rdx, str.Purging_of_old_files__s_s_failed__Error__d
mov r9, rsi
lea r8, [rsp + 0x694]
mov dword [rsp + 0x20], edi
call fcn.140010c10
mov ecx, 1
mov edx, 0x80
call qword [sym.imp.MSVCR100.dll_calloc]
mov qword [r13 + 0x150], rax
test rax, rax
je 0x14001255e
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_ImpersonateNamedPipeClient]
test eax, eax
je 0x14001250d
mov r14, qword [r13 + 0x150]
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov r15d, eax
call qword [sym.imp.ADVAPI32.dll_RevertToSelf]
mov byte [r14], 0
test r15d, r15d
je 0x1400124bd
xor r8d, r8d
mov ecx, r8d
mov eax, 1
shl eax, cl
test eax, r15d
je 0x14001243a
cmp ebp, 1
je 0x140012486
mov rdi, r14
lea rdx, [rsp + 0x40]
mov byte [rsp + 0x41], 0x3a
lea eax, [r8 + 0x41]
mov byte [rsp + 0x40], al
mov ebp, 1
mov byte [rsp + 0x42], 0
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte [rdi]
dec rdi
mov al, byte [rdx]
inc rdx
mov byte [rdi], al
inc rdi
test al, al
jne 0x140012428
add rbx, 2
inc r8d
cmp r8d, 0x1a
jl 0x1400123e5
test rbx, rbx
je 0x140012450
mov qword [r13 + 0x18], rbx
add dword [r13 + 4], ebx
test r12, r12
je 0x1400124b2
mov rcx, qword [rsp + 0xb08]
xor rcx, rsp
call fcn.14001c150
add rsp, 0xb18
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call qword [sym.imp.orauts.dll_GetLastError]
mov edi, eax
jmp 0x14001234f
mov rdi, r14
lea rdx, [0x14001fef0]
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte [rdi]
dec rdi
mov al, byte [rdx]
inc rdx
mov byte [rdi], al
inc rdi
test al, al
jne 0x14001249c
inc rbx
jmp 0x1400123fd
mov rcx, r12
call qword [sym.imp.MSVCR100.dll_fclose]
jmp 0x140012455
call qword [sym.imp.orauts.dll_GetLastError]
mov ebx, eax
mov rcx, r12
lea rdx, str.Error_getting_logical_drives___d
mov r8d, ebx
call fcn.140010c10
mov rcx, qword [r13 + 0x150]
lea rdx, str._s__d
lea r8, str.Failed_to_get_logical_drives__error_
mov r9d, ebx
call qword [sym.imp.MSVCR100.dll_sprintf]
test eax, eax
je 0x140012450
movsxd rax, eax
mov qword [r13 + 0x18], rax
add dword [r13 + 4], eax
jmp 0x140012450
call qword [sym.imp.orauts.dll_GetLastError]
mov rcx, r12
lea rdx, str.Error_impersonating_named_pipe_client___d
mov r8d, eax
call fcn.140010c10
call qword [sym.imp.orauts.dll_GetLastError]
mov rcx, qword [r13 + 0x150]
lea rdx, str._s__d
lea r8, str.Failed_to_become_named_pipe_client__error_
mov r9d, eax
call qword [sym.imp.MSVCR100.dll_sprintf]
mov qword [r13 + 0x18], 0x80
add dword [r13 + 4], 0x80
jmp 0x1400123bf
mov rcx, r12
lea rdx, str._s:_d_allocation_of__d_bytes_for_response_failed
lea r8, str.ssproiut.c
mov r9d, 0x2eb
mov dword [rsp + 0x20], 0x80
call fcn.140010c10
xor eax, eax
mov ecx, 0x1100
xor edx, edx
mov r8d, 0xe
mov r9d, 0x400
lea rbx, [rsp + 0xb00]
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x28], 0
mov qword [rsp + 0xb00], rax
mov dword [r13 + 0x104], 0xe
mov qword [rsp + 0x30], rax
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov rbx, qword [rsp + 0xb00]
test rbx, rbx
jne 0x1400125e7
mov dword [r13 + 0x100], 1
jmp 0x140012450
cmp dword [0x140024c40], 0
jne 0x1400125fc
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 0x140012640
mov qword [rsp + 0x20], rsi
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 0x140012678
mov dword [rsp + 0x20], edx
lea rcx, [rsp + 0x144]
lea r8, str.c:_temp_s__d.log
mov edx, 0x104
mov r9, rsi
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 rbp, [rsp + 0x34c]
mov rcx, rbp
lea r8, [0x1400202fc]
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x40]
call qword [sym.imp.MSVCR100.dll__snprintf]
mov rcx, rbp
lea rdx, [rsp + 0x450]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rdi, rax
cmp rdi, 0xffffffffffffffff
je 0x140012932
mov dword [rsp + 0xaf8], 1
mov rcx, rdi
lea rdx, [rsp + 0x450]
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x140012720
mov r15d, dword [rsp + 0xaf8]
lea r14, [rsp + 0x450]
mov rcx, rdi
mov rdx, r14
inc r15d
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x140012705
mov dword [rsp + 0xaf8], r15d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [rsp + 0xaf8], 0x3c
jbe 0x140012864
movabs rax, 0
lea rdi, [rsp + 0x450]
push 0x28
pop rcx
rep stosq qword [rdi], rax
mov rcx, rbp
lea rdx, [rsp + 0x450]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov qword [rsp + 0xaf0], rax
cmp qword [rsp + 0xaf0], 0xffffffffffffffff
je 0x140012932
lea r14, str._s_s
lea rdi, [rsp + 0x248]
mov rcx, rdi
mov edx, 0x103
mov r8, r14
lea r9, [rsp + 0x40]
lea rbp, [rsp + 0x47c]
mov qword [rsp + 0x20], rbp
call qword [sym.imp.MSVCR100.dll__snprintf]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
dec dword [rsp + 0xaf8]
lea rdx, [rsp + 0x450]
mov rcx, qword [rsp + 0xaf0]
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x140012856
mov qword [rsp + 0xae8], r12
lea r12, [rsp + 0x40]
mov qword [rsp + 0xae0], r13
lea r13, [rsp + 0x450]
mov r15d, dword [rsp + 0xaf8]
mov rsi, qword [rsp + 0xaf0]
cmp r15d, 0x3c
jbe 0x14001283f
mov rcx, rdi
mov edx, 0x103
mov r8, r14
mov r9, r12
mov qword [rsp + 0x20], rbp
call qword [sym.imp.MSVCR100.dll__snprintf]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov rcx, rsi
mov rdx, r13
dec r15d
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x140012804
mov r12, qword [rsp + 0xae8]
lea rsi, str.ssproiut
mov r13, qword [rsp + 0xae0]
mov rcx, qword [rsp + 0xaf0]
call qword [sym.imp.KERNEL32.dll_FindClose]
xor ebp, ebp
lea rdx, [0x14001e89c]
lea rcx, [rsp + 0x144]
call qword [sym.imp.MSVCR100.dll_fopen]
mov qword [rsp + 0xae0], rax
test ebp, ebp
je 0x1400128b4
mov rax, qword [rsp + 0xae0]
test rax, rax
je 0x1400128b4
mov dword [rsp + 0x20], ebp
lea rdx, str.Purging_of_old_files__s_s_failed__Error__d
mov r9, rsi
lea r8, [rsp + 0x40]
mov rcx, qword [rsp + 0xae0]
call fcn.140010c10
mov rcx, rbx
xor eax, eax
movzx edx, byte [rcx + rax]
test edx, edx
je 0x1400128d1
movzx edx, byte [rcx + rax + 1]
add rax, 2
test edx, edx
jne 0x1400128b9
dec rax
mov rbp, rax
mov ecx, 1
lea rsi, [rbp + 1]
mov rdx, rsi
call qword [sym.imp.MSVCR100.dll_calloc]
mov qword [r13 + 0x158], rax
test rax, rax
je 0x14001294f
mov rcx, rax
mov rdx, rbx
mov r8, rsi
call qword [sym.imp.MSVCR100.dll_strncpy]
movsxd rax, dword [r13 + 4]
mov qword [r13 + 0x20], rsi
lea rdx, [rbp + rax + 1]
mov dword [r13 + 4], edx
mov rax, qword [rsp + 0xae0]
test rax, rax
je 0x14001293f
mov rcx, qword [rsp + 0xb00]
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x1400125d7
call qword [sym.imp.orauts.dll_GetLastError]
mov ebp, eax
jmp 0x140012866
mov rcx, qword [rsp + 0xae0]
call qword [sym.imp.MSVCR100.dll_fclose]
jmp 0x14001291f
mov qword [rsp + 0x20], rsi
lea rdx, str._s:_d_allocation_of__d_bytes_for_response_failed
lea r8, str.ssproiut.c
mov r9d, 0x42a
mov rcx, qword [rsp + 0xae0]
call fcn.140010c10
mov dword [r13 + 0x100], 1
jmp 0x140012912