Function at 0x140028fa0
Capabilities:
Check if file exists
Delete file

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x110
mov qword [rsp + 0x80], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x14012a4f8]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov r15, rcx
mov qword [rsp + 0x28], rcx
cmp byte [rcx + 0x68], 0
jne 0x140029028
cmp qword [rcx + 0x60], 8
jb 0x140028ff8
mov rcx, qword [rcx + 0x48]
jmp 0x140028ffc
add rcx, 0x48
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x140029028
cmp qword [r15 + 0x60], 8
jb 0x140029013
mov rcx, qword [r15 + 0x48]
jmp 0x140029017
lea rcx, [r15 + 0x48]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x140029028
mov al, 1
jmp 0x1400298c3
add r15, 0x40
mov qword [rsp + 0x20], r15
mov rdx, r15
lea rcx, [rsp + 0xb0]
call fcn.140036a70
nop
lea rcx, [rsp + 0xb8]
cmp qword [rsp + 0xd0], 8
cmovae rcx, qword [rsp + 0xb8]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x140029096
lea rcx, [rsp + 0xb0]
call fcn.140034590
test eax, eax
jne 0x140029096
cmp qword [rsp + 0xd0], 8
jb 0x14002908f
mov rcx, qword [rsp + 0xb8]
call fcn.1400ad0b8
xor al, al
jmp 0x1400298c3
mov qword [rsp + 0xa8], 0xf
xor r14d, r14d
mov qword [rsp + 0xa0], r14
mov byte [rsp + 0x90], r14b
xor r8d, r8d
lea rdx, [0x1400fc5d9]
lea rcx, [rsp + 0x88]
call fcn.140004cb0
nop
mov r15, qword [rsp + 0x28]
mov rax, qword [r15 + 0x30]
mov rsi, qword [rax]
mov r12, qword [r15]
nop dword [rax]
mov rdi, qword [r15 + 0x30]
test r12, r12
je 0x1400290ee
cmp r12, qword [r15]
je 0x1400290f3
call fcn.1400aedac
cmp rsi, rdi
je 0x1400292ff
test r12, r12
jne 0x14002910b
call fcn.1400aedac
mov rdx, r14
jmp 0x14002910f
mov rdx, qword [r12]
cmp rsi, qword [rdx + 0x30]
jne 0x14002911a
call fcn.1400aedac
mov rax, qword [rsi + 0x70]
mov rdi, qword [rax]
mov rbp, qword [rsi + 0x40]
test r12, r12
jne 0x140029134
call fcn.1400aedac
mov r11, r14
jmp 0x140029138
mov r11, qword [r12]
cmp rsi, qword [r11 + 0x30]
jne 0x140029143
call fcn.1400aedac
mov rbx, qword [rsi + 0x70]
test rbp, rbp
je 0x140029152
cmp rbp, qword [rsi + 0x40]
je 0x140029157
call fcn.1400aedac
cmp rdi, rbx
je 0x14002927b
test rbp, rbp
jne 0x14002916f
call fcn.1400aedac
mov r11, r14
jmp 0x140029173
mov r11, qword [rbp]
cmp rdi, qword [r11 + 0x30]
jne 0x14002917e
call fcn.1400aedac
mov rbx, qword [rdi + 0x30]
cmp rbx, rbx
cmovb rbx, rbx
cmp qword [rdi + 0x38], 0x10
jb 0x140029196
mov rcx, qword [rdi + 0x20]
jmp 0x14002919a
lea rcx, [rdi + 0x20]
mov r8d, 8
cmp rbx, r8
cmovb r8, rbx
lea rdx, str.config15
call fcn.1400ae1a0
movsxd rcx, eax
test eax, eax
jne 0x1400291cc
cmp rbx, 8
jb 0x1400291d0
mov eax, r14d
cmp rbx, 8
setne al
mov ecx, eax
test ecx, ecx
je 0x140029206
test rbp, rbp
jne 0x1400291df
call fcn.1400aedac
mov r11, r14
jmp 0x1400291e3
mov r11, qword [rbp]
cmp rdi, qword [r11 + 0x30]
jne 0x1400291ee
call fcn.1400aedac
lea rdx, [rdi + 0x40]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rsp + 0x88]
call fcn.1400222f0
test rbp, rbp
jne 0x140029210
call fcn.1400aedac
cmp byte [rdi + 0x69], 0
je 0x140029220
call fcn.1400aedac
jmp 0x140029125
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x69], 0
jne 0x140029251
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x69], 0
jne 0x140029125
nop word [rax + rax]
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x69], 0
je 0x140029240
jmp 0x140029125
mov rax, qword [rdi + 8]
cmp byte [rax + 0x69], 0
jne 0x140029273
nop dword [rax + rax]
cmp rdi, qword [rax + 0x10]
jne 0x140029273
mov rdi, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x69], 0
je 0x140029260
mov rdi, rax
jmp 0x140029125
test r12, r12
jne 0x140029285
call fcn.1400aedac
cmp byte [rsi + 0x81], 0
je 0x140029298
call fcn.1400aedac
jmp 0x1400290e0
mov rax, qword [rsi + 0x10]
cmp byte [rax + 0x81], 0
jne 0x1400292d4
mov rsi, rax
mov rax, qword [rax]
cmp byte [rax + 0x81], 0
jne 0x1400290e0
nop dword [rax + rax]
mov rsi, rax
mov rax, qword [rax]
cmp byte [rax + 0x81], 0
je 0x1400292c0
jmp 0x1400290e0
mov rax, qword [rsi + 8]
cmp byte [rax + 0x81], 0
jne 0x1400292f7
cmp rsi, qword [rax + 0x10]
jne 0x1400292f7
mov rsi, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x81], 0
je 0x1400292e1
mov rsi, rax
jmp 0x1400290e0
cmp qword [rsp + 0xa0], 0
mov r15, qword [rsp + 0x20]
je 0x1400293f4
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0xd8]
mov rbp, qword [rsp + 0x28]
mov rcx, rbp
call fcn.140029900
nop
mov qword [rsp + 0x50], 0xf
mov qword [rsp + 0x48], r14
mov byte [rsp + 0x38], 0
mov r8d, 8
lea rdx, str.config15
lea rcx, [rsp + 0x30]
call fcn.140004cb0
nop
mov qword [rsp + 0x78], 0xf
mov qword [rsp + 0x70], r14
mov byte [rsp + 0x60], 0
mov r8d, 7
lea rdx, str.config4
lea rcx, [rsp + 0x58]
call fcn.140004cb0
nop
lea r9, [rsp + 0xd8]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x58]
mov rcx, rbp
call fcn.140027ae0
nop
cmp qword [rsp + 0x78], 0x10
jb 0x1400293b4
mov rcx, qword [rsp + 0x60]
call fcn.1400ad0b8
mov qword [rsp + 0x78], 0xf
mov qword [rsp + 0x70], r14
mov byte [rsp + 0x60], 0
cmp qword [rsp + 0x50], 0x10
jb 0x1400293da
mov rcx, qword [rsp + 0x38]
call fcn.1400ad0b8
nop
cmp qword [rsp + 0xf8], 0x10
jb 0x1400293f9
mov rcx, qword [rsp + 0xe0]
call fcn.1400ad0b8
jmp 0x1400293f9
mov rbp, qword [rsp + 0x28]
mov ebx, r14d
mov qword [rsp + 0x20], r14
mov rdx, r15
lea rcx, [rsp + 0x20]
call fcn.140037320
test eax, eax
jne 0x1400294b8
mov rdi, qword [rsp + 0x20]
test rdi, rdi
je 0x140029431
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdi, r14
mov qword [rsp + 0x20], r14
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
cmp ebx, 5
jge 0x140029456
mov rdx, r15
lea rcx, [rsp + 0x20]
call fcn.140037320
test eax, eax
je 0x140029416
jmp 0x1400294b8
test rdi, rdi
je 0x140029465
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
cmp qword [rsp + 0xa8], 0x10
jb 0x14002947d
mov rcx, qword [rsp + 0x90]
call fcn.1400ad0b8
mov qword [rsp + 0xa8], 0xf
mov qword [rsp + 0xa0], r14
mov byte [rsp + 0x90], 0
cmp qword [rsp + 0xd0], 8
jb 0x1400294b1
mov rcx, qword [rsp + 0xb8]
call fcn.1400ad0b8
xor al, al
jmp 0x1400298c3
cmp qword [r15 + 0x20], 8
jb 0x1400294c5
mov rcx, qword [r15 + 8]
jmp 0x1400294c9
lea rcx, [r15 + 8]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14002956d
cmp qword [r15 + 0x20], 8
jb 0x1400294e4
mov rcx, qword [r15 + 8]
jmp 0x1400294e8
lea rcx, [r15 + 8]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x140029556
cmp qword [r15 + 0x20], 8
jb 0x1400294ff
mov rdx, qword [r15 + 8]
jmp 0x140029503
lea rdx, [r15 + 8]
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], r14
mov word [rsp + 0x38], r14w
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0x30]
call fcn.140025a70
nop
mov dl, 1
lea rcx, [rsp + 0x30]
call fcn.1400356c0
nop
cmp qword [rsp + 0x50], 8
jb 0x14002956d
mov rcx, qword [rsp + 0x38]
call fcn.1400ad0b8
jmp 0x14002956d
cmp qword [r15 + 0x20], 8
jb 0x140029563
mov rcx, qword [r15 + 8]
jmp 0x140029567
lea rcx, [r15 + 8]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov rax, qword [rbp + 0x30]
mov rsi, qword [rax]
mov r13, qword [rbp]
nop dword [rax + rax]
mov rdi, qword [rbp + 0x30]
test r13, r13
je 0x14002958f
cmp r13, qword [rbp]
je 0x140029594
call fcn.1400aedac
cmp rsi, rdi
je 0x140029856
test r13, r13
jne 0x1400295ac
call fcn.1400aedac
mov rdx, r14
jmp 0x1400295b0
mov rdx, qword [r13]
cmp rsi, qword [rdx + 0x30]
jne 0x1400295bb
call fcn.1400aedac
mov rax, qword [rsi + 0x70]
mov rdi, qword [rax]
mov r12, qword [rsi + 0x40]
xor ebp, ebp
test r13, r13
jne 0x1400295d7
call fcn.1400aedac
mov r11, rbp
jmp 0x1400295db
mov r11, qword [r13]
cmp rsi, qword [r11 + 0x30]
jne 0x1400295e6
call fcn.1400aedac
mov rbx, qword [rsi + 0x70]
test r12, r12
je 0x1400295f5
cmp r12, qword [rsi + 0x40]
je 0x1400295fa
call fcn.1400aedac
cmp rdi, rbx
je 0x1400297bb
test r12, r12
jne 0x140029612
call fcn.1400aedac
mov r11, rbp
jmp 0x140029616
mov r11, qword [r12]
cmp rdi, qword [r11 + 0x30]
jne 0x140029621
call fcn.1400aedac
lea rdx, [rdi + 0x40]
xor r8d, r8d
lea rcx, [rsp + 0xd8]
call fcn.1400341d0
mov rbp, rax
test r12, r12
jne 0x140029647
call fcn.1400aedac
xor r11d, r11d
jmp 0x14002964b
mov r11, qword [r12]
cmp rdi, qword [r11 + 0x30]
jne 0x140029656
call fcn.1400aedac
xor r8d, r8d
lea rdx, [rdi + 0x18]
lea rcx, [rsp + 0x58]
call fcn.1400341d0
mov rbx, rax
test r13, r13
jne 0x140029679
call fcn.1400aedac
xor r11d, r11d
jmp 0x14002967d
mov r11, qword [r13]
cmp rsi, qword [r11 + 0x30]
jne 0x140029688
call fcn.1400aedac
xor r8d, r8d
lea rdx, [rsi + 0x18]
lea rcx, [rsp + 0x30]
call fcn.1400341d0
cmp qword [r15 + 0x20], 8
jb 0x1400296a6
mov r9, qword [r15 + 8]
jmp 0x1400296aa
lea r9, [r15 + 8]
cmp qword [rbp + 0x20], 8
jb 0x1400296b7
mov r8, qword [rbp + 8]
jmp 0x1400296bb
lea r8, [rbp + 8]
cmp qword [rbx + 0x20], 8
jb 0x1400296c8
mov rdx, qword [rbx + 8]
jmp 0x1400296cc
lea rdx, [rbx + 8]
cmp qword [rax + 0x20], 8
jb 0x1400296d9
mov rcx, qword [rax + 8]
jmp 0x1400296dd
lea rcx, [rax + 8]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp qword [rsp + 0x50], 8
jb 0x1400296f5
mov rcx, qword [rsp + 0x38]
call fcn.1400ad0b8
mov qword [rsp + 0x50], 7
xor ebp, ebp
mov qword [rsp + 0x48], rbp
mov word [rsp + 0x38], bp
cmp qword [rsp + 0x78], 8
jb 0x14002971c
mov rcx, qword [rsp + 0x60]
call fcn.1400ad0b8
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], rbp
mov word [rsp + 0x60], bp
cmp qword [rsp + 0xf8], 8
jb 0x140029747
mov rcx, qword [rsp + 0xe0]
call fcn.1400ad0b8
test r12, r12
jne 0x140029751
call fcn.1400aedac
cmp byte [rdi + 0x69], 0
je 0x140029761
call fcn.1400aedac
jmp 0x1400295c8
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x69], 0
jne 0x140029791
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x69], 0
jne 0x1400295c8
nop dword [rax + rax]
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x69], 0
je 0x140029780
jmp 0x1400295c8
mov rax, qword [rdi + 8]
cmp byte [rax + 0x69], 0
jne 0x1400297b3
nop dword [rax + rax]
cmp rdi, qword [rax + 0x10]
jne 0x1400297b3
mov rdi, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x69], 0
je 0x1400297a0
mov rdi, rax
jmp 0x1400295c8
test r13, r13
jne 0x1400297c5
call fcn.1400aedac
cmp byte [rsi + 0x81], 0
je 0x1400297e0
call fcn.1400aedac
mov rbp, qword [rsp + 0x28]
xor r14d, r14d
jmp 0x140029580
mov rax, qword [rsi + 0x10]
cmp byte [rax + 0x81], 0
jne 0x14002981c
mov rsi, rax
mov rax, qword [rax]
cmp byte [rax + 0x81], 0
jne 0x14002980f
nop dword [rax]
mov rsi, rax
mov rax, qword [rax]
cmp byte [rax + 0x81], 0
je 0x140029800
mov rbp, qword [rsp + 0x28]
xor r14d, r14d
jmp 0x140029580
mov rax, qword [rsi + 8]
cmp byte [rax + 0x81], 0
jne 0x140029846
nop dword [rax]
cmp rsi, qword [rax + 0x10]
jne 0x140029846
mov rsi, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x81], 0
je 0x140029830
mov rsi, rax
mov rbp, qword [rsp + 0x28]
xor r14d, r14d
jmp 0x140029580
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x140029869
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r14
test rcx, rcx
je 0x140029875
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
cmp qword [rsp + 0xa8], 0x10
jb 0x14002988d
mov rcx, qword [rsp + 0x90]
call fcn.1400ad0b8
mov qword [rsp + 0xa8], 0xf
mov qword [rsp + 0xa0], r14
mov byte [rsp + 0x90], 0
cmp qword [rsp + 0xd0], 8
jb 0x1400298c1
mov rcx, qword [rsp + 0xb8]
call fcn.1400ad0b8
mov al, 1
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.1400ad2c0
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret