Function at 0x140013e10
Capabilities:
Check for time delay via gettickcount
Delete file
Enumerate files on windows
Get common file path
Query environment variable

Disassembly:
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x10c08
call fcn.14001c210
sub rsp, 0x10c08
mov r15, rdx
mov rax, qword [0x140024c20]
mov r13, rcx
xor rax, rsp
mov qword [rsp + 0x10bf8], rax
cmp dword [0x140024c40], 0
jne 0x140013e58
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x140024c40], eax
mov ecx, 0x104
lea rdx, [rsp + 0x10694]
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
mov edx, dword [0x140024c40]
test eax, eax
jbe 0x140013ea9
lea rsi, str.ssproiut
lea rcx, [rsp + 0x10798]
mov qword [rsp + 0x20], rsi
lea r8, str._s_s__d.log
mov dword [rsp + 0x28], edx
mov edx, 0x104
lea r9, [rsp + 0x10694]
call qword [sym.imp.MSVCR100.dll__snprintf]
jmp 0x140013eeb
lea rsi, str.ssproiut
lea rcx, [rsp + 0x10798]
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 + 0x10694]
lea r8, str.c:_temp
call qword [sym.imp.MSVCR100.dll__snprintf]
movabs r14, 0
mov eax, 0x140
mov qword [rsp + rax + 0x10a98], r14
mov qword [rsp + rax + 0x10a90], r14
mov qword [rsp + rax + 0x10a88], r14
mov qword [rsp + rax + 0x10a80], r14
sub rax, 0x20
jne 0x140013efa
mov edx, 0x103
lea rcx, [rsp + 0x1089c]
lea r8, [0x1400202fc]
lea r9, [rsp + 0x10694]
mov qword [rsp + 0x20], rsi
call qword [sym.imp.MSVCR100.dll__snprintf]
lea rcx, [rsp + 0x1089c]
lea rdx, [rsp + 0x10aa0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov r12, rax
cmp r12, 0xffffffffffffffff
je 0x1400141bf
mov rcx, r12
lea rdx, [rsp + 0x10aa0]
mov edi, 1
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x140013f9b
mov rcx, r12
lea rdx, [rsp + 0x10aa0]
inc edi
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x140013f84
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FindClose]
cmp edi, 0x3c
jbe 0x1400140a9
mov eax, 0x140
mov qword [rsp + rax + 0x10a98], r14
mov qword [rsp + rax + 0x10a90], r14
mov qword [rsp + rax + 0x10a88], r14
mov qword [rsp + rax + 0x10a80], r14
sub rax, 0x20
jne 0x140013fb2
lea rcx, [rsp + 0x1089c]
lea rdx, [rsp + 0x10aa0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov r12, rax
cmp r12, 0xffffffffffffffff
je 0x1400141bf
mov edx, 0x103
lea rcx, [rsp + 0x10590]
lea r8, str._s_s
lea r9, [rsp + 0x10694]
lea r14, [rsp + 0x10acc]
mov qword [rsp + 0x20], r14
call qword [sym.imp.MSVCR100.dll__snprintf]
lea rcx, [rsp + 0x10590]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov rcx, r12
lea rdx, [rsp + 0x10aa0]
dec edi
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x1400140a0
cmp edi, 0x3c
jbe 0x1400140a0
mov edx, 0x103
lea rcx, [rsp + 0x10590]
lea r8, str._s_s
lea r9, [rsp + 0x10694]
mov qword [rsp + 0x20], r14
call qword [sym.imp.MSVCR100.dll__snprintf]
lea rcx, [rsp + 0x10590]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov rcx, r12
lea rdx, [rsp + 0x10aa0]
dec edi
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x14001404f
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FindClose]
xor edi, edi
lea rdx, [0x14001e89c]
lea rcx, [rsp + 0x10798]
call qword [sym.imp.MSVCR100.dll_fopen]
mov r12, rax
test edi, edi
je 0x1400140ea
test r12, r12
je 0x1400140ea
mov rcx, r12
lea rdx, str.Purging_of_old_files__s_s_failed__Error__d
mov r9, rsi
lea r8, [rsp + 0x10694]
mov dword [rsp + 0x20], edi
call fcn.140010c10
xor edx, edx
lea rcx, [rsp + 0x590]
mov r8d, 0x10000
call fcn.140018800
mov ecx, 1
mov edx, 0x10000
call qword [sym.imp.MSVCR100.dll_calloc]
mov qword [r15 + 0x150], rax
test rax, rax
je 0x14001423f
mov rax, qword [r13 + 0x178]
lea rdx, [rsp + 0x109a0]
mov rcx, qword [rax + 8]
test cl, 3
je 0x14001414a
mov al, byte [rcx]
inc rcx
test al, al
mov byte [rdx], al
je 0x14001414f
inc rdx
test cl, 3
jne 0x140014137
call fcn.1400188b0
mov r8d, 0x10000
lea rcx, [rsp + 0x109a0]
lea rdx, [rsp + 0x590]
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
jne 0x1400141cc
mov rcx, qword [r15 + 0x150]
mov qword [r15 + 0x18], 0
call qword [sym.imp.MSVCR100.dll_free]
mov qword [r15 + 0x150], 0
test r12, r12
je 0x14001419d
mov rcx, r12
call qword [sym.imp.MSVCR100.dll_fclose]
mov rcx, qword [rsp + 0x10bf8]
xor rcx, rsp
call fcn.14001c150
add rsp, 0x10c08
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret
call qword [sym.imp.orauts.dll_GetLastError]
mov edi, eax
jmp 0x1400140ab
call qword [sym.imp.orauts.dll_GetLastError]
cmp eax, 0xcb
je 0x14001416f
mov rcx, qword [r15 + 0x150]
lea rdx, [0x14001e308]
lea r8, [rsp + 0x590]
call qword [sym.imp.MSVCR100.dll_sprintf]
test eax, eax
je 0x140014204
movsxd rax, eax
mov qword [r15 + 0x18], rax
add dword [r15 + 4], eax
mov rcx, r12
lea rdx, str.__s:_d__Value_read_for_Variable__s_from_System_environment_is___s_
lea r8, str.ssproiut.c
mov r9d, 0x4b2
lea rax, [rsp + 0x109a0]
mov qword [rsp + 0x20], rax
lea rsi, [rsp + 0x590]
mov qword [rsp + 0x28], rsi
call fcn.140010c10
jmp 0x14001418f
mov rcx, r12
lea rdx, str.allocation_of__d_bytes_for_response_failed
mov r8d, 0x10000
call fcn.140010c10
xor edi, edi
mov ecx, 0x1100
xor edx, edx
mov r8d, 0xe
mov r9d, 0x400
lea rax, [rsp + 0x10bf0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x10bf0], rdi
mov dword [r15 + 0x104], 0xe
mov qword [rsp + 0x30], rdi
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov r13, qword [rsp + 0x10bf0]
test r13, r13
jne 0x1400142b9
mov dword [r15 + 0x100], 1
jmp 0x14001418f
cmp dword [0x140024c40], 0
jne 0x1400142ce
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 0x140014312
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 0x14001434a
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 r14, [rsp + 0x34c]
mov rcx, r14
lea r8, [0x1400202fc]
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x40]
call qword [sym.imp.MSVCR100.dll__snprintf]
mov rcx, r14
lea rdx, [rsp + 0x450]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rdi, rax
cmp rdi, 0xffffffffffffffff
je 0x140014647
mov dword [rsp + 0x109b8], 1
mov rcx, rdi
lea rdx, [rsp + 0x450]
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x14001440f
mov qword [rsp + 0x10be8], rbp
mov qword [rsp + 0x10be0], rbx
lea rbx, [rsp + 0x450]
mov ebp, dword [rsp + 0x109b8]
mov rcx, rdi
mov rdx, rbx
inc ebp
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x1400143e6
mov dword [rsp + 0x109b8], ebp
mov rbx, qword [rsp + 0x10be0]
mov rbp, qword [rsp + 0x10be8]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [rsp + 0x109b8], 0x3c
jbe 0x140014578
movabs rax, 0
lea rdi, [rsp + 0x450]
push 0x28
pop rcx
rep stosq qword [rdi], rax
mov rcx, r14
lea rdx, [rsp + 0x450]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov qword [rsp + 0x109b0], rax
cmp qword [rsp + 0x109b0], 0xffffffffffffffff
je 0x140014647
lea rdi, str._s_s
lea r14, [rsp + 0x248]
mov rcx, r14
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]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
dec dword [rsp + 0x109b8]
lea rdx, [rsp + 0x450]
mov rcx, qword [rsp + 0x109b0]
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x14001456a
mov qword [rsp + 0x10be8], rbp
mov qword [rsp + 0x109a8], r12
lea r12, [rsp + 0x47c]
mov qword [rsp + 0x109a0], r15
lea r15, [rsp + 0x40]
mov qword [rsp + 0x10be0], rbx
lea rbx, [rsp + 0x450]
mov ebp, dword [rsp + 0x109b8]
mov rsi, qword [rsp + 0x109b0]
cmp ebp, 0x3c
jbe 0x140014543
mov rcx, r14
mov edx, 0x103
mov r8, rdi
mov r9, r15
mov qword [rsp + 0x20], r12
call qword [sym.imp.MSVCR100.dll__snprintf]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov rcx, rsi
mov rdx, rbx
dec ebp
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x14001450a
mov r12, qword [rsp + 0x109a8]
lea rsi, str.ssproiut
mov r15, qword [rsp + 0x109a0]
mov rbx, qword [rsp + 0x10be0]
mov rbp, qword [rsp + 0x10be8]
mov rcx, qword [rsp + 0x109b0]
call qword [sym.imp.KERNEL32.dll_FindClose]
xor edi, edi
lea rdx, [0x14001e89c]
lea rcx, [rsp + 0x144]
call qword [sym.imp.MSVCR100.dll_fopen]
mov qword [rsp + 0x109a0], rax
test edi, edi
je 0x1400145c8
mov rax, qword [rsp + 0x109a0]
test rax, rax
je 0x1400145c8
mov dword [rsp + 0x20], edi
lea rdx, str.Purging_of_old_files__s_s_failed__Error__d
mov r9, rsi
lea r8, [rsp + 0x40]
mov rcx, qword [rsp + 0x109a0]
call fcn.140010c10
mov rcx, r13
xor eax, eax
movzx edx, byte [rcx + rax]
test edx, edx
je 0x1400145e5
movzx edx, byte [rcx + rax + 1]
add rax, 2
test edx, edx
jne 0x1400145cd
dec rax
mov rdi, rax
mov ecx, 1
lea rsi, [rdi + 1]
mov rdx, rsi
call qword [sym.imp.MSVCR100.dll_calloc]
mov qword [r15 + 0x158], rax
test rax, rax
je 0x140014664
mov rcx, rax
mov rdx, r13
mov r8, rsi
call qword [sym.imp.MSVCR100.dll_strncpy]
movsxd rax, dword [r15 + 4]
mov qword [r15 + 0x20], rsi
lea rdx, [rdi + rax + 1]
mov dword [r15 + 4], edx
mov rax, qword [rsp + 0x109a0]
test rax, rax
je 0x140014654
mov rcx, qword [rsp + 0x10bf0]
call qword [sym.imp.KERNEL32.dll_LocalFree]
nop
jmp 0x1400142a9
call qword [sym.imp.orauts.dll_GetLastError]
mov edi, eax
jmp 0x14001457a
mov rcx, qword [rsp + 0x109a0]
call qword [sym.imp.MSVCR100.dll_fclose]
jmp 0x140014633
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 + 0x109a0]
call fcn.140010c10
mov dword [r15 + 0x100], 1
jmp 0x140014626