Function at 0x1400c01f0
Capabilities:
Delete directory

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x288]
sub rsp, 0x360
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1402be168]
xor rax, rsp
mov qword [rbp + 0x250], rax
xor r12d, r12d
mov dword [rsp + 0x30], r12d
mov r15d, r12d
mov rdx, rcx
lea rcx, [rbp - 0x78]
call fcn.140006870
nop
lea edx, [r12 + 0x10]
lea rcx, [rbp - 0x78]
call fcn.1400afc40
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x10], r12
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x10], 7
mov word [rbp - 0x28], r12w
lea edx, [r12 + 8]
lea rcx, [rbp - 0x58]
call fcn.1400756a0
lea ecx, [r12 + 8]
call fcn.1401830f8
mov qword [rsp + 0x38], rax
mov qword [rax], 0xffffffffffffffff
mov qword [rbp - 0x58], rax
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r12w
mov r14d, 1
mov dword [rsp + 0x30], r14d
mov rdx, qword [rbp - 0x68]
add rdx, 3
lea rcx, [rsp + 0x48]
call fcn.140019fb0
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
mov rdi, qword [rbp - 0x68]
mov rsi, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
sub rax, rsi
cmp rdi, rax
ja 0x1400c0340
lea rax, [rsi + rdi]
mov qword [rsp + 0x58], rax
lea rbx, [rsp + 0x48]
cmp rcx, 8
cmovae rbx, qword [rsp + 0x48]
lea r8, [rdi + rdi]
lea rcx, [rbx + rsi*2]
mov rdx, r9
call fcn.140189420
lea rax, [rsi + rdi]
mov word [rbx + rax*2], r12w
jmp 0x1400c0352
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.1400074b0
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rax, rdx
sub rax, rcx
cmp rax, 3
jb 0x1400c039d
lea rdi, [rcx + 3]
mov qword [rsp + 0x58], rdi
lea rbx, [rsp + 0x48]
cmp rdx, 8
cmovae rbx, qword [rsp + 0x48]
lea rcx, [rbx + rcx*2]
mov r8d, 6
lea rdx, [0x140244c20]
call fcn.140189420
mov word [rbx + rdi*2], r12w
jmp 0x1400c03bc
mov qword [rsp + 0x20], 3
lea r9, [0x140244c20]
mov edx, 3
lea rcx, [rsp + 0x48]
call fcn.1400074b0
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x58]
call fcn.1400d5c40
movzx ebx, al
and r14d, 0xfffffffe
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400c041c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0417
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e2d
call fcn.140183134
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r12w
test bl, bl
je 0x1400c0b26
movzx ecx, byte [rbp - 0x30]
shr cl, 4
mov r12, qword [rbp - 0x10]
mov rsi, qword [rbp - 0x18]
mov r13, qword [rbp - 0x28]
and cl, 1
je 0x1400c048e
test rsi, rsi
je 0x1400c048e
lea rax, [rbp - 0x28]
cmp r12, 8
cmovae rax, r13
cmp word [rax], 0x2e
jne 0x1400c048e
cmp rsi, 1
je 0x1400c0778
lea rax, [rbp - 0x28]
cmp r12, 8
cmovae rax, r13
cmp word [rax + 2], 0x2e
jne 0x1400c048e
cmp rsi, 2
je 0x1400c0778
test cl, cl
je 0x1400c0601
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], ax
or r14d, 2
mov dword [rsp + 0x30], r14d
mov rdx, qword [rbp - 0x68]
add rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.140019fb0
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
mov rdi, qword [rbp - 0x68]
mov r15, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
sub rax, r15
cmp rdi, rax
ja 0x1400c052a
lea rax, [r15 + rdi]
mov qword [rsp + 0x58], rax
lea rbx, [rsp + 0x48]
cmp rcx, 8
cmovae rbx, qword [rsp + 0x48]
lea r8, [rdi + rdi]
lea rcx, [rbx + r15*2]
mov rdx, r9
call fcn.140189420
lea rax, [r15 + rdi]
xor ecx, ecx
mov word [rbx + rax*2], cx
jmp 0x1400c053c
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.1400074b0
lea r9, [rbp - 0x28]
cmp r12, 8
cmovae r9, r13
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x1400c058d
lea rdi, [rcx + rsi]
mov qword [rsp + 0x58], rdi
lea rbx, [rsp + 0x48]
cmp rdx, 8
cmovae rbx, qword [rsp + 0x48]
lea r8, [rsi + rsi]
lea rcx, [rbx + rcx*2]
mov rdx, r9
call fcn.140189420
xor esi, esi
mov word [rbx + rdi*2], si
jmp 0x1400c05a1
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400074b0
xor esi, esi
lea rcx, [rsp + 0x48]
call fcn.1400c01f0
mov r15, rax
and r14d, 0xfffffffd
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400c0765
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0760
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e21
jmp 0x1400c0760
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], ax
or r14d, 4
mov dword [rsp + 0x30], r14d
mov rdx, qword [rbp - 0x68]
add rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.140019fb0
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
mov rdi, qword [rbp - 0x68]
mov r15, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
sub rax, r15
cmp rdi, rax
ja 0x1400c0695
lea rax, [rdi + r15]
mov qword [rsp + 0x58], rax
lea rbx, [rsp + 0x48]
cmp rcx, 8
cmovae rbx, qword [rsp + 0x48]
lea r8, [rdi + rdi]
lea rcx, [rbx + r15*2]
mov rdx, r9
call fcn.140189420
lea rax, [r15 + rdi]
xor ecx, ecx
mov word [rbx + rax*2], cx
jmp 0x1400c06a7
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.1400074b0
lea r9, [rbp - 0x28]
cmp r12, 8
cmovae r9, r13
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x1400c06f8
lea rdi, [rcx + rsi]
mov qword [rsp + 0x58], rdi
lea rbx, [rsp + 0x48]
cmp rdx, 8
cmovae rbx, qword [rsp + 0x48]
lea r8, [rsi + rsi]
lea rcx, [rbx + rcx*2]
mov rdx, r9
call fcn.140189420
xor esi, esi
mov word [rbx + rdi*2], si
jmp 0x1400c070c
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400074b0
xor esi, esi
lea rcx, [rsp + 0x48]
call fcn.1400f9b80
movzx r15d, al
and r14d, 0xfffffffb
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400c0765
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0760
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e33
call fcn.140183134
mov word [rsp + 0x48], si
mov qword [rsp + 0x60], 7
mov qword [rsp + 0x58], rsi
xor r12d, r12d
mov rdi, qword [rbp - 0x58]
mov rbx, qword [rdi]
cmp rbx, 0xffffffffffffffff
je 0x1400c0b2a
xor edx, edx
mov r8d, 0x250
lea rcx, [rbp]
call fcn.140189b60
lea rdx, [rbp]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x1400c0b26
lea r8, [rbp - 0x50]
lea rdx, [rbp]
call fcn.1400d5940
movzx ecx, byte [rbp - 0x30]
shr cl, 4
mov r12, qword [rbp - 0x10]
mov rsi, qword [rbp - 0x18]
mov r13, qword [rbp - 0x28]
and cl, 1
je 0x1400c0811
test rsi, rsi
je 0x1400c0811
lea rax, [rbp - 0x28]
cmp r12, 8
cmovae rax, r13
cmp word [rax], 0x2e
jne 0x1400c0811
cmp rsi, 1
je 0x1400c0778
lea rax, [rbp - 0x28]
cmp r12, 8
cmovae rax, r13
cmp word [rax + 2], 0x2e
jne 0x1400c0811
cmp rsi, 2
je 0x1400c0778
test cl, cl
je 0x1400c09a1
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], ax
or r14d, 8
mov dword [rsp + 0x30], r14d
mov rdx, qword [rbp - 0x68]
add rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.140019fb0
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
mov rdi, qword [rbp - 0x68]
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x38], rcx
mov rdx, qword [rsp + 0x60]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x1400c08b6
lea rax, [rdi + rcx]
mov qword [rsp + 0x58], rax
lea rbx, [rsp + 0x48]
cmp rdx, 8
cmovae rbx, qword [rsp + 0x48]
lea r8, [rdi + rdi]
lea rcx, [rbx + rcx*2]
mov rdx, r9
call fcn.140189420
mov rax, qword [rsp + 0x38]
add rax, rdi
xor ecx, ecx
mov word [rbx + rax*2], cx
jmp 0x1400c08c8
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.1400074b0
lea r9, [rbp - 0x28]
cmp r12, 8
cmovae r9, r13
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x1400c091b
lea rdi, [rcx + rsi]
mov qword [rsp + 0x58], rdi
lea rbx, [rsp + 0x48]
cmp rdx, 8
cmovae rbx, qword [rsp + 0x48]
lea r8, [rsi + rsi]
lea rcx, [rbx + rcx*2]
mov rdx, r9
call fcn.140189420
xor r12d, r12d
mov word [rbx + rdi*2], r12w
jmp 0x1400c0930
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400074b0
xor r12d, r12d
lea rcx, [rsp + 0x48]
call fcn.1400c01f0
add r15, rax
and r14d, 0xfffffff7
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400c0988
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0983
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e39
call fcn.140183134
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r12w
jmp 0x1400c077b
xor eax, eax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], ax
or r14d, 0x10
mov dword [rsp + 0x30], r14d
mov rdx, qword [rbp - 0x68]
add rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.140019fb0
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
mov rdi, qword [rbp - 0x68]
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x38], rcx
mov rdx, qword [rbp - 0x80]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x1400c0a3b
lea rax, [rdi + rcx]
mov qword [rsp + 0x78], rax
lea rbx, [rsp + 0x68]
cmp rdx, 8
cmovae rbx, qword [rsp + 0x68]
lea r8, [rdi + rdi]
lea rcx, [rbx + rcx*2]
mov rdx, r9
call fcn.140189420
mov rax, qword [rsp + 0x38]
add rax, rdi
xor ecx, ecx
mov word [rbx + rax*2], cx
jmp 0x1400c0a4d
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rsp + 0x68]
call fcn.1400074b0
lea r9, [rbp - 0x28]
cmp r12, 8
cmovae r9, r13
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x80]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x1400c0a9f
lea rdi, [rcx + rsi]
mov qword [rsp + 0x78], rdi
lea rbx, [rsp + 0x68]
cmp rdx, 8
cmovae rbx, qword [rsp + 0x68]
lea r8, [rsi + rsi]
lea rcx, [rbx + rcx*2]
mov rdx, r9
call fcn.140189420
xor r12d, r12d
mov word [rbx + rdi*2], r12w
jmp 0x1400c0ab4
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.1400074b0
xor r12d, r12d
lea rcx, [rsp + 0x68]
call fcn.1400f9b80
movzx eax, al
add r15, rax
and r14d, 0xffffffef
mov dword [rsp + 0x30], r14d
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400c0b0e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0b09
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e3f
call fcn.140183134
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r12w
jmp 0x1400c077b
mov rdi, qword [rbp - 0x58]
mov rcx, qword [rdi]
cmp rcx, 0xffffffffffffffff
je 0x1400c0b44
call qword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
je 0x1400c0b44
mov qword [rdi], 0xffffffffffffffff
lea rcx, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae rcx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x1400c0c04
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], r12
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r12w
lea rdx, [rsp + 0x68]
lea rcx, [rbp - 0x78]
call fcn.1400fade0
test al, al
je 0x1400c0c9f
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x1400c0c9f
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400c0bf1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0bec
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e45
call fcn.140183134
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r12w
inc r15
lea rcx, [rbp - 0x58]
call fcn.1400d5b70
nop
lea rcx, [rbp - 0x28]
call fcn.140006ac0
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x1400c0c5b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0c56
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e4b
call fcn.140183134
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], r12w
mov rax, r15
mov rcx, qword [rbp + 0x250]
xor rcx, rsp
call fcn.1401836e0
lea r11, [rsp + 0x360]
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
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400c0ce0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0cdb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e51
call fcn.140183134
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r12w
lea rcx, [rbp - 0x78]
call fcn.1400f8f30
mov ebx, eax
cmp eax, 0xffffffff
je 0x1400c0c07
xor edx, edx
lea rcx, [rbp - 0x78]
call fcn.1400f8e10
lea rcx, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae rcx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x1400c0c04
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], r12
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r12w
lea rdx, [rsp + 0x68]
lea rcx, [rbp - 0x78]
call fcn.1400fade0
test al, al
je 0x1400c0dbb
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x1400c0dbb
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400c0bf1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0bec
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e27
jmp 0x1400c0bec
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400c0df8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0df3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e1b
call fcn.140183134
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r12w
mov edx, ebx
lea rcx, [rbp - 0x78]
call fcn.1400f8e10
jmp 0x1400c0c07
call fcn.140195f1c
int3
call fcn.140195f1c
int3
call fcn.140195f1c
int3
call fcn.140195f1c
int3
call fcn.140195f1c
int3
call fcn.140195f1c
int3
call fcn.140195f1c
int3
call fcn.140195f1c
nop
call fcn.140195f1c
nop
call fcn.140195f1c
int3