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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r15
sub rsp, 0x60
mov r12, r9
mov rbp, r8
mov rsi, rdx
mov bl, cl
mov rcx, qword [0x1001653b8]
lea r15, [0x1001653b8]
cmp rcx, r15
je 0x10012026b
test byte [rcx + 0x1c], 1
je 0x10012026b
cmp byte [rcx + 0x19], 4
jb 0x10012026b
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f50]
mov edx, 0xe
call fcn.10001c7b8
mov rdx, qword [rsi]
and qword [rsp + 0x38], 0
lea rcx, [0x100001fe0]
mov byte [rsp + 0x30], 0
cmp rdx, qword [rcx]
jne 0x100120293
mov rdx, qword [rsi + 8]
cmp rdx, qword [rcx + 8]
jne 0x100120293
xor eax, eax
jmp 0x100120298
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1001202b4
lea r8, [0x100006550]
lea rcx, [0x100013720]
mov edx, 0x2b7
call fcn.100099ad8
lea rcx, [rsp + 0x30]
call fcn.1000a2a08
mov edi, eax
test eax, eax
jns 0x100120305
mov rcx, qword [0x1001653b8]
cmp rcx, r15
je 0x10012058f
test byte [rcx + 0x1c], 1
je 0x100120569
cmp byte [rcx + 0x19], 2
jb 0x100120569
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f50]
mov edx, 0xf
mov r9d, eax
call fcn.10001c7dc
jmp 0x100120562
cmp byte [rsp + 0x30], 0
je 0x100120562
test bl, bl
je 0x10012045a
movdqu xmm0, xmmword [0x100166a40]
movdqu xmm1, xmmword [rsi]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
and dword [rsp + 0x20], 0
lea r9, [rsp + 0x40]
lea rcx, [rsp + 0x50]
mov r8, r12
mov rdx, rbp
movdqu xmmword [rsp + 0x40], xmm0
movdqu xmmword [rsp + 0x50], xmm1
call fcn.100087ee8
mov edi, eax
test eax, eax
jns 0x1001203a0
mov rcx, qword [0x1001653b8]
cmp rcx, r15
je 0x1001204c0
test byte [rcx + 0x1c], 1
je 0x1001204c0
cmp byte [rcx + 0x19], 2
jb 0x1001204c0
mov edx, 0x10
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f50]
mov r9d, eax
call fcn.10001c7dc
mov rbx, qword [rsp + 0x38]
jmp 0x10012054d
mov rcx, qword [0x1001653b8]
mov rbx, qword [rsp + 0x38]
cmp rcx, r15
je 0x1001203d5
test byte [rcx + 0x1c], 1
je 0x1001203d5
cmp byte [rcx + 0x19], 4
jb 0x1001203d5
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f50]
mov edx, 0x11
mov r9, rbx
call fcn.10001da24
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x100120446
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x100120446
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
mov rcx, qword [0x1001653b8]
cmp rcx, r15
je 0x100120554
test byte [rcx + 0x1c], 1
je 0x100120554
cmp byte [rcx + 0x19], 4
jb 0x100120554
mov edx, 0x12
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f50]
mov r9, rbx
mov dword [rsp + 0x20], edi
call fcn.10001daa4
jmp 0x10012054d
test rbx, rbx
je 0x10012045a
mov rcx, rbx
call qword [sym.imp.ole32.dll_CoTaskMemFree]
and qword [rsp + 0x38], 0
movdqu xmm0, xmmword [0x100166a40]
movdqu xmm1, xmmword [rsi]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x50]
lea rcx, [rsp + 0x40]
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], 1
movdqu xmmword [rsp + 0x50], xmm0
movdqu xmmword [rsp + 0x40], xmm1
call fcn.100087ee8
mov edi, eax
test eax, eax
jns 0x1001204ca
mov rcx, qword [0x1001653b8]
cmp rcx, r15
je 0x1001204c0
test byte [rcx + 0x1c], 1
je 0x1001204c0
cmp byte [rcx + 0x19], 2
jb 0x1001204c0
mov edx, 0x13
jmp 0x100120383
mov rbx, qword [rsp + 0x38]
jmp 0x100120554
mov rbx, qword [rsp + 0x38]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x10012051d
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x10012054d
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
mov rcx, qword [0x1001653b8]
cmp rcx, r15
je 0x100120554
test byte [rcx + 0x1c], 1
je 0x100120554
cmp byte [rcx + 0x19], 4
jb 0x100120554
mov edx, 0x14
jmp 0x10012042a
mov rcx, qword [0x1001653b8]
cmp rcx, r15
je 0x100120554
test byte [rcx + 0x1c], 1
je 0x100120554
cmp byte [rcx + 0x19], 4
jb 0x100120554
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f50]
mov edx, 0x15
mov r9, rbx
call fcn.10001da24
mov rcx, qword [0x1001653b8]
test rbx, rbx
je 0x100120569
mov rcx, rbx
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x1001653b8]
cmp rcx, r15
je 0x10012058f
test byte [rcx + 0x1c], 1
je 0x10012058f
cmp byte [rcx + 0x19], 4
jb 0x10012058f
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f50]
mov edx, 0x16
call fcn.10001c7b8
mov eax, edi
mov rbx, qword [rsp + 0x90]
add rsp, 0x60
pop r15
pop r12
pop rdi
pop rsi
pop rbp
ret