Function at 0x14000a320
Capabilities:
Delete directory
Delete file

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc78
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xbf0], 0xfffffffffffffffe
mov rdx, qword [rcx]
mov r8, qword [rcx + 0x10]
lea rsi, [rbp + 0x920]
mov rcx, rsi
call fcn.14005b680
mov ebx, dword [rsi + 0x10]
mov rsi, qword [rsi]
cmp ebx, 2
je 0x14000a73a
lea rdx, [rbp + 0x934]
mov r14, qword [rdx - 0xc]
lea rdi, [rbp + 0x474]
mov r8d, 0x254
mov rcx, rdi
call fcn.14006aa40
xor eax, eax
mov qword [rdi - 0x4d4], rax
mov qword [rdi - 0x274], rax
mov qword [rdi - 0x14], rsi
mov qword [rdi - 0xc], r14
mov dword [rdi - 4], ebx
lea rsi, [rbp + 0x6c8]
lea r15, [rbp + 0xbd0]
mov rcx, rsi
lea rdx, [rbp - 0x60]
call section..text
cmp qword [rbp + 0x6c8], 0
je 0x14000a707
mov r8d, 0x258
lea rdi, [rbp + 0x920]
mov rcx, rdi
mov rbx, rsi
mov rdx, rsi
call fcn.14006aa40
mov rax, qword [rbp + 0x920]
mov r13, qword [rax + 0x10]
mov r12, qword [rax + 0x20]
lea rcx, [rbp + 0xb88]
mov rdx, rdi
call case.0x140047e30.108
mov rsi, qword [rbp + 0xb88]
mov rdi, qword [rbp + 0xb98]
test r12, r12
mov qword [rbp + 0xba8], rsi
je 0x14000a442
js 0x14000a799
mov al, byte [0x1400d68a0]
mov rcx, r12
call fcn.14000f140
mov r14, rax
test rax, rax
jne 0x14000a448
jmp 0x14000a7a0
mov r14d, 1
mov rcx, r14
mov rdx, r13
mov r8, r12
call fcn.14006aa40
mov qword [rbp + 0xbd0], r14
mov qword [rbp + 0xbd8], r12
mov qword [rbp + 0xbe0], r12
mov byte [rbp + 0xbe8], 0
mov rcx, r15
mov rdx, rsi
mov r8, rdi
call fcn.140047cb0
movups xmm0, xmmword [rbp + 0xbd0]
movups xmm1, xmmword [rbp + 0xbe0]
movaps xmmword [rbp + 0xbc0], xmm1
movaps xmmword [rbp + 0xbb0], xmm0
cmp qword [rbp + 0xb90], 0
je 0x14000a4bc
mov rcx, qword [0x1400d6818]
xor edx, edx
mov r8, qword [rbp + 0xba8]
call qword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [rbp + 0x928]
bt edx, 0xa
setae al
test byte [rbp + 0x94f], 0x20
sete cl
test dl, 0x10
je 0x14000a50f
or al, cl
je 0x14000a50f
mov rcx, r15
lea rdx, [rbp + 0x920]
call case.0x140047e30.108
cmp qword [rbp + 0xbe0], 4
jne 0x14000a599
mov rax, qword [rbp + 0xbd0]
cmp dword [rax], 0x7469672e
sete sil
jmp 0x14000a59b
mov r13, qword [rbp + 0xbb0]
mov rsi, qword [rbp + 0xbb8]
mov r8, qword [rbp + 0xbc0]
mov rcx, r15
mov rdx, r13
call fcn.1400415c0
mov rax, qword [rbp + 0xbd0]
mov r12, qword [rbp + 0xbd8]
test rax, rax
je 0x14000a6ca
mov rcx, qword [rbp + 0xbe0]
mov qword [rbp + 0xbd0], rax
mov qword [rbp + 0xbd8], r12
mov qword [rbp + 0xbe0], rcx
lea rcx, [rbp + 0xb88]
mov rdx, r15
mov r8b, 1
call fcn.1400471d0
mov rdi, qword [rbp + 0xb88]
mov r12, qword [rbp + 0xb90]
test rdi, rdi
je 0x14000a6ca
mov rcx, rdi
call qword [sym.imp.kernel32.dll_DeleteFileW]
jmp 0x14000a67f
xor esi, esi
cmp qword [rbp + 0xbd8], 0
je 0x14000a5bb
mov r8, qword [rbp + 0xbd0]
mov rcx, qword [0x1400d6818]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
test sil, sil
je 0x14000a5e9
cmp qword [rbp + 0xbb8], 0
je 0x14000a6e6
mov r8, qword [rbp + 0xbb0]
mov rcx, qword [0x1400d6818]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x14000a6e6
lea rcx, [rbp + 0xbb0]
call fcn.14000a320
test rax, rax
jne 0x14000a715
mov r13, qword [rbp + 0xbb0]
mov rsi, qword [rbp + 0xbb8]
mov r8, qword [rbp + 0xbc0]
mov rcx, r15
mov rdx, r13
call fcn.1400415c0
mov rax, qword [rbp + 0xbd0]
mov r12, qword [rbp + 0xbd8]
test rax, rax
je 0x14000a6ca
mov rcx, qword [rbp + 0xbe0]
mov qword [rbp + 0xbd0], rax
mov qword [rbp + 0xbd8], r12
mov qword [rbp + 0xbe0], rcx
lea rcx, [rbp + 0xb88]
mov rdx, r15
mov r8b, 1
call fcn.1400471d0
mov rdi, qword [rbp + 0xb88]
mov r12, qword [rbp + 0xb90]
test rdi, rdi
je 0x14000a6ca
mov rcx, rdi
call qword [sym.imp.kernel32.dll_RemoveDirectoryW]
test eax, eax
je 0x14000a69f
test r12, r12
je 0x14000a69a
mov rcx, qword [0x1400d6818]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
xor r12d, r12d
jmp 0x14000a6ca
call qword [sym.imp.kernel32.dll_GetLastError]
mov r14d, eax
shl r14, 0x20
or r14, 2
test r12, r12
je 0x14000a6c7
mov rcx, qword [0x1400d6818]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov r12, r14
test rsi, rsi
je 0x14000a6e1
mov rcx, qword [0x1400d6818]
xor edx, edx
mov r8, r13
call qword [sym.imp.kernel32.dll_HeapFree]
test r12, r12
jne 0x14000a755
mov rax, qword [rbp + 0x920]
lock dec qword [rax]
jne 0x14000a6ff
mov rcx, qword [rbp + 0x920]
call fcn.14005be24
mov rsi, rbx
jmp 0x14000a3b4
lea rcx, [rbp - 0x60]
call fcn.14000b2db
xor r12d, r12d
jmp 0x14000a782
mov r12, rax
cmp qword [rbp + 0xbb8], 0
je 0x14000a760
mov r8, qword [rbp + 0xbb0]
mov rcx, qword [0x1400d6818]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x14000a760
mov rcx, rsi
add rsp, 0xc78
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp fcn.14006cebf
mov rcx, r12
call fcn.14006cebf
mov r12, rax
mov rax, qword [rbp + 0x920]
lock dec qword [rax]
jne 0x14000a779
mov rcx, qword [rbp + 0x920]
call fcn.14005be24
lea rcx, [rbp - 0x60]
call fcn.14000b2db
mov rax, r12
add rsp, 0xc78
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.14000f1a0
jmp 0x14000a7ad
mov ecx, 1
mov rdx, r12
call fcn.14006b610
ud2