Function at 0x1400403c4
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x14017d140]
xor rax, rsp
mov qword [rbp - 0x10], rax
xor r14d, r14d
or qword [rbp - 0x38], 0xffffffffffffffff
mov r13, rcx
mov qword [rbp - 0x40], r14
mov edi, r14d
mov qword [rbp - 0x50], r14
mov esi, r14d
mov qword [rbp - 0x48], r14
mov qword [rbp - 0x28], r14
mov r15d, r14d
mov dword [rbp - 0x30], r14d
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x140040450
test byte [rcx + 0x1c], 1
je 0x140040450
cmp byte [rcx + 0x19], 4
jb 0x140040450
mov rcx, qword [rcx + 0x10]
lea r8, [0x140003c28]
mov edx, 0x258
call fcn.14001dd24
mov rcx, qword [r13 + 0x1d8]
lea rax, [rbp - 0x40]
lea r9, [0x140004178]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.140131854
mov ebx, eax
test eax, eax
js 0x140040b56
mov rax, qword [r13 + 0x1d8]
mov r12, r14
test rax, rax
je 0x1400404b1
mov r12d, 0x7fffffff
mov ebx, r14d
mov ecx, r12d
cmp word [rax], r14w
je 0x1400404a5
add rax, 2
dec rcx
jne 0x140040496
test rcx, rcx
jne 0x140040578
mov r12, r14
mov ebx, 0x80070057
test ebx, ebx
cmovs r12, r14
js 0x140040b56
cmp byte [r13 + 0x187], r14b
je 0x14004051e
mov rcx, qword [r13 + 0x340]
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x30]
call fcn.140025a4c
test eax, eax
jns 0x14004051a
mov rcx, qword [0x14017d3a8]
lea rdx, [0x14017d3a8]
cmp rcx, rdx
je 0x14004051a
test byte [rcx + 0x1c], 1
je 0x14004051a
cmp byte [rcx + 0x19], 3
jb 0x14004051a
mov rcx, qword [rcx + 0x10]
lea r8, [0x140003c28]
mov edx, 0x259
mov r9d, eax
call fcn.14001de24
mov r15d, dword [rbp - 0x30]
mov r14, qword [rbp - 0x40]
lea r8, [rbp - 0x38]
lea rdx, [rbp - 0x50]
mov rcx, r14
xor r9d, r9d
call fcn.14011ed74
mov ebx, eax
test eax, eax
jns 0x140040895
mov rcx, qword [0x14017d3a8]
lea r12, [0x14017d3a8]
cmp rcx, r12
je 0x140040966
test byte [rcx + 0x1c], 1
je 0x140040966
cmp byte [rcx + 0x19], 2
jb 0x140040966
mov edx, 0x25a
mov dword [rsp + 0x20], eax
jmp 0x140040953
sub r12, rcx
jmp 0x1400404b6
test rsi, rsi
je 0x140040593
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
and qword [rbp - 0x48], 0
lea rcx, [r12 + 1]
lea rdx, [rbp - 0x48]
xor r8d, r8d
lea rcx, [rdi + rcx*2]
call fcn.1400a99e4
mov rsi, qword [rbp - 0x48]
mov ebx, eax
test eax, eax
js 0x140040b5a
lea rdx, [0x140004188]
mov r8d, 3
mov rcx, rsi
call qword [sym.imp.msvcrt.dll__wcsnicmp]
xor ebx, ebx
test eax, eax
jne 0x14004067b
mov edx, dword [r13 + reloc.ADVAPI32.dll_TraceEvent]
mov ecx, ebx
test edx, edx
je 0x1400405ff
mov rax, qword [r13 + 0xd8]
add rax, 0x54
test byte [rax], 1
jne 0x1400405ff
inc ecx
add rax, 0x170
cmp ecx, edx
jb 0x1400405ee
cmp ecx, edx
jne 0x14004086b
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x14004086b
mov rax, qword [0x14017d3a8]
lea rcx, [0x14017d3a8]
cmp rax, rcx
je 0x14004086b
test byte [rax + 0x1c], 1
je 0x14004086b
cmp byte [rax + 0x19], 2
jb 0x14004086b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x14017d3a8]
lea r8, [0x140003c28]
mov rcx, qword [rcx + 0x10]
movzx r9d, ax
mov edx, 0x25b
or r9d, 0x80070000
test eax, eax
cmovle r9d, eax
call fcn.14001de24
jmp 0x14004086b
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], bx
jne 0x14004067f
cmp rax, 0x24
jb 0x140040834
mov word [rsi + 0x48], bx
movups xmm0, xmmword [0x14000ab48]
lea rdx, [rbp - 0x20]
mov rcx, rsi
movdqu xmmword [rbp - 0x20], xmm0
call qword [sym.imp.RPCRT4.dll_UuidFromStringW]
test eax, eax
jne 0x14004080e
lea rax, [rbp - 0x20]
lea rcx, [0x14000ab48]
mov rdx, qword [rax]
cmp rdx, qword [rcx]
jne 0x1400406d8
mov rdx, qword [rax + 8]
cmp rdx, qword [rcx + 8]
jne 0x1400406d8
mov eax, ebx
jmp 0x1400406dd
sbb eax, eax
sbb eax, reloc.ADVAPI32.dll_TraceEvent
test eax, eax
jne 0x1400406f9
lea r8, [0x1400048e8]
lea rcx, [0x140003c50]
mov edx, 0x3792
call fcn.1400a8be8
mov r10d, dword [r13 + reloc.ADVAPI32.dll_TraceEvent]
mov r9d, ebx
test r10d, r10d
je 0x140040747
mov r8, qword [r13 + 0xd8]
mov ecx, r9d
lea rax, [rbp - 0x20]
imul rcx, rcx, 0x170
mov rdx, qword [rcx + r8 + 0x44]
cmp rdx, qword [rax]
jne 0x140040736
mov rdx, qword [rcx + r8 + 0x4c]
cmp rdx, qword [rax + 8]
jne 0x140040736
mov eax, ebx
jmp 0x14004073b
sbb eax, eax
sbb eax, reloc.ADVAPI32.dll_TraceEvent
test eax, eax
je 0x140040747
inc r9d
cmp r9d, r10d
jb 0x14004070f
mov ecx, ebx
test r15d, r15d
je 0x140040787
mov r14, qword [rbp - 0x28]
mov eax, ecx
lea rdx, [rbp - 0x20]
add rax, rax
mov r8, qword [r14 + rax*8]
cmp r8, qword [rdx]
jne 0x140040773
mov r8, qword [r14 + rax*8 + 8]
cmp r8, qword [rdx + 8]
jne 0x140040773
mov eax, ebx
jmp 0x140040778
sbb eax, eax
sbb eax, reloc.ADVAPI32.dll_TraceEvent
test eax, eax
je 0x140040783
inc ecx
cmp ecx, r15d
jb 0x140040752
mov r14, qword [rbp - 0x40]
cmp r9d, r10d
jne 0x14004086b
cmp ecx, r15d
jne 0x14004086b
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x14004086b
mov rax, qword [0x14017d3a8]
lea rcx, [0x14017d3a8]
cmp rax, rcx
je 0x14004086b
test byte [rax + 0x1c], 1
je 0x14004086b
cmp byte [rax + 0x19], 2
jb 0x14004086b
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, [0x140003c28]
mov edx, 0x25c
movzx ecx, ax
mov r9, rdi
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rsp + 0x20], ecx
mov rcx, qword [0x14017d3a8]
mov rcx, qword [rcx + 0x10]
call fcn.14001ecbc
jmp 0x14004086b
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14004086b
test byte [rcx + 0x1c], 1
je 0x14004086b
cmp byte [rcx + 0x19], 3
jb 0x14004086b
mov edx, 0x25d
jmp 0x140040858
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14004086b
test byte [rcx + 0x1c], 1
je 0x14004086b
cmp byte [rcx + 0x19], 3
jb 0x14004086b
mov edx, 0x25e
mov rcx, qword [rcx + 0x10]
lea r8, [0x140003c28]
mov r9, rdi
call fcn.14001ec40
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rdx, qword [rbp - 0x38]
lea r8, [rbp - 0x50]
xor r9d, r9d
mov rcx, r14
mov qword [rbp - 0x50], rbx
call fcn.14011ef8c
mov ebx, eax
test eax, eax
js 0x14004096f
mov rdi, qword [rbp - 0x50]
test rdi, rdi
jne 0x140040580
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_FindClose]
or qword [rbp - 0x38], 0xffffffffffffffff
xor r15d, r15d
test r14, r14
je 0x1400408c6
mov rcx, r14
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rbp - 0x40], r15
mov rcx, qword [r13 + 0x1d8]
lea rax, [rbp - 0x40]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.1401316ec
mov ebx, eax
test eax, eax
js 0x140040b56
test rdi, rdi
je 0x14004090a
lea r8, [0x140004908]
lea rcx, [0x140003c50]
mov edx, 0x37d2
call fcn.1400a8be8
mov r14, qword [rbp - 0x40]
lea r8, [rbp - 0x38]
lea rdx, [rbp - 0x50]
mov rcx, r14
xor r9d, r9d
call fcn.14011ed74
mov ebx, eax
test eax, eax
jns 0x140040b12
mov rcx, qword [0x14017d3a8]
lea r12, [0x14017d3a8]
cmp rcx, r12
je 0x140040966
test byte [rcx + 0x1c], 1
je 0x140040966
cmp byte [rcx + 0x19], 3
jb 0x140040966
mov edx, 0x25f
mov dword [rsp + 0x20], eax
mov rcx, qword [rcx + 0x10]
lea r8, [0x140003c28]
mov r9, r14
call fcn.14001ecbc
mov rdi, qword [rbp - 0x50]
jmp 0x140040b61
mov rdi, qword [rbp - 0x50]
jmp 0x140040b5a
test rsi, rsi
je 0x14004098a
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rbp - 0x48], r15
lea rcx, [r12 + 1]
lea rdx, [rbp - 0x48]
xor r8d, r8d
lea rcx, [rdi + rcx*2]
call fcn.1400a99e4
mov rsi, qword [rbp - 0x48]
mov ebx, eax
test eax, eax
js 0x140040b5a
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], r15w
jne 0x1400409b1
cmp rax, 0x24
jb 0x140040ab5
mov word [rsi + 0x48], r15w
movups xmm0, xmmword [0x14000ab48]
lea rdx, [rbp - 0x20]
mov rcx, rsi
movdqu xmmword [rbp - 0x20], xmm0
call qword [sym.imp.RPCRT4.dll_UuidFromStringW]
test eax, eax
jne 0x140040a8f
lea rcx, [rbp - 0x20]
lea rax, [r13 + 0x128]
mov rdx, qword [rcx]
cmp rdx, qword [rax]
jne 0x140040a0d
mov rdx, qword [rcx + 8]
cmp rdx, qword [rax + 8]
jne 0x140040a0d
mov eax, r15d
jmp 0x140040a12
sbb eax, eax
sbb eax, reloc.ADVAPI32.dll_TraceEvent
test eax, eax
je 0x140040aec
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x140040aec
mov rax, qword [0x14017d3a8]
lea rcx, [0x14017d3a8]
cmp rax, rcx
je 0x140040aec
test byte [rax + 0x1c], 1
je 0x140040aec
cmp byte [rax + 0x19], 3
jb 0x140040aec
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, [0x140003c28]
mov edx, 0x260
movzx ecx, ax
mov r9, rdi
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rsp + 0x20], ecx
mov rcx, qword [0x14017d3a8]
mov rcx, qword [rcx + 0x10]
call fcn.14001ecbc
jmp 0x140040aec
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x140040aec
test byte [rcx + 0x1c], 1
je 0x140040aec
cmp byte [rcx + 0x19], 3
jb 0x140040aec
mov edx, 0x261
jmp 0x140040ad9
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x140040aec
test byte [rcx + 0x1c], 1
je 0x140040aec
cmp byte [rcx + 0x19], 3
jb 0x140040aec
mov edx, 0x262
mov rcx, qword [rcx + 0x10]
lea r8, [0x140003c28]
mov r9, rdi
call fcn.14001ec40
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rdx, qword [rbp - 0x38]
lea r8, [rbp - 0x50]
xor r9d, r9d
mov rcx, r14
mov qword [rbp - 0x50], r15
call fcn.14011ef8c
mov ebx, eax
test eax, eax
js 0x140040b21
mov rdi, qword [rbp - 0x50]
test rdi, rdi
jne 0x140040978
jmp 0x140040b5a
mov rcx, qword [0x14017d3a8]
lea r12, [0x14017d3a8]
cmp rcx, r12
je 0x140040966
test byte [rcx + 0x1c], 1
je 0x140040966
cmp byte [rcx + 0x19], 2
jb 0x140040966
mov edx, 0x263
jmp 0x14004094f
mov r14, qword [rbp - 0x40]
lea r12, [0x14017d3a8]
test r14, r14
je 0x140040b6f
mov rcx, r14
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test rdi, rdi
je 0x140040b7d
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test rsi, rsi
je 0x140040b8b
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [rbp - 0x38]
cmp rcx, 0xffffffffffffffff
je 0x140040b9b
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rax, qword [rbp - 0x28]
test rax, rax
je 0x140040bad
mov rcx, rax
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x14017d3a8]
cmp rcx, r12
je 0x140040bda
test byte [rcx + 0x1c], 1
je 0x140040bda
cmp byte [rcx + 0x19], 4
jb 0x140040bda
mov rcx, qword [rcx + 0x10]
lea r8, [0x140003c28]
mov edx, 0x264
call fcn.14001dd24
mov eax, ebx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140168920
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret