Function at 0x1400c01c0
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.1400afc10
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.140075670
lea ecx, [r12 + 8]
call fcn.1401830c8
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 0x1400c0310
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.1401893f0
lea rax, [rsi + rdi]
mov word [rbx + rax*2], r12w
jmp 0x1400c0322
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 0x1400c036d
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.1401893f0
mov word [rbx + rdi*2], r12w
jmp 0x1400c038c
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.1400d5c10
movzx ebx, al
and r14d, 0xfffffffe
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400c03ec
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c03e7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0dfd
call fcn.140183104
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r12w
test bl, bl
je 0x1400c0af6
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 0x1400c045e
test rsi, rsi
je 0x1400c045e
lea rax, [rbp - 0x28]
cmp r12, 8
cmovae rax, r13
cmp word [rax], 0x2e
jne 0x1400c045e
cmp rsi, 1
je 0x1400c0748
lea rax, [rbp - 0x28]
cmp r12, 8
cmovae rax, r13
cmp word [rax + 2], 0x2e
jne 0x1400c045e
cmp rsi, 2
je 0x1400c0748
test cl, cl
je 0x1400c05d1
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 0x1400c04fa
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.1401893f0
lea rax, [r15 + rdi]
xor ecx, ecx
mov word [rbx + rax*2], cx
jmp 0x1400c050c
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 0x1400c055d
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.1401893f0
xor esi, esi
mov word [rbx + rdi*2], si
jmp 0x1400c0571
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400074b0
xor esi, esi
lea rcx, [rsp + 0x48]
call fcn.1400c01c0
mov r15, rax
and r14d, 0xfffffffd
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400c0735
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0730
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0df1
jmp 0x1400c0730
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 0x1400c0665
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.1401893f0
lea rax, [r15 + rdi]
xor ecx, ecx
mov word [rbx + rax*2], cx
jmp 0x1400c0677
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 0x1400c06c8
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.1401893f0
xor esi, esi
mov word [rbx + rdi*2], si
jmp 0x1400c06dc
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400074b0
xor esi, esi
lea rcx, [rsp + 0x48]
call fcn.1400f9b50
movzx r15d, al
and r14d, 0xfffffffb
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400c0735
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0730
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e03
call fcn.140183104
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 0x1400c0afa
xor edx, edx
mov r8d, 0x250
lea rcx, [rbp]
call fcn.140189b30
lea rdx, [rbp]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x1400c0af6
lea r8, [rbp - 0x50]
lea rdx, [rbp]
call fcn.1400d5910
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 0x1400c07e1
test rsi, rsi
je 0x1400c07e1
lea rax, [rbp - 0x28]
cmp r12, 8
cmovae rax, r13
cmp word [rax], 0x2e
jne 0x1400c07e1
cmp rsi, 1
je 0x1400c0748
lea rax, [rbp - 0x28]
cmp r12, 8
cmovae rax, r13
cmp word [rax + 2], 0x2e
jne 0x1400c07e1
cmp rsi, 2
je 0x1400c0748
test cl, cl
je 0x1400c0971
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 0x1400c0886
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.1401893f0
mov rax, qword [rsp + 0x38]
add rax, rdi
xor ecx, ecx
mov word [rbx + rax*2], cx
jmp 0x1400c0898
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 0x1400c08eb
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.1401893f0
xor r12d, r12d
mov word [rbx + rdi*2], r12w
jmp 0x1400c0900
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400074b0
xor r12d, r12d
lea rcx, [rsp + 0x48]
call fcn.1400c01c0
add r15, rax
and r14d, 0xfffffff7
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400c0958
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0953
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e09
call fcn.140183104
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r12w
jmp 0x1400c074b
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 0x1400c0a0b
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.1401893f0
mov rax, qword [rsp + 0x38]
add rax, rdi
xor ecx, ecx
mov word [rbx + rax*2], cx
jmp 0x1400c0a1d
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 0x1400c0a6f
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.1401893f0
xor r12d, r12d
mov word [rbx + rdi*2], r12w
jmp 0x1400c0a84
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.1400074b0
xor r12d, r12d
lea rcx, [rsp + 0x68]
call fcn.1400f9b50
movzx eax, al
add r15, rax
and r14d, 0xffffffef
mov dword [rsp + 0x30], r14d
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400c0ade
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0ad9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e0f
call fcn.140183104
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r12w
jmp 0x1400c074b
mov rdi, qword [rbp - 0x58]
mov rcx, qword [rdi]
cmp rcx, 0xffffffffffffffff
je 0x1400c0b14
call qword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
je 0x1400c0b14
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 0x1400c0bd4
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.1400fadb0
test al, al
je 0x1400c0c6f
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 0x1400c0c6f
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400c0bc1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0bbc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e15
call fcn.140183104
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r12w
inc r15
lea rcx, [rbp - 0x58]
call fcn.1400d5b40
nop
lea rcx, [rbp - 0x28]
call fcn.140006ac0
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x1400c0c2b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0c26
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e1b
call fcn.140183104
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.1401836b0
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 0x1400c0cb0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0cab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e21
call fcn.140183104
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r12w
lea rcx, [rbp - 0x78]
call fcn.1400f8f00
mov ebx, eax
cmp eax, 0xffffffff
je 0x1400c0bd7
xor edx, edx
lea rcx, [rbp - 0x78]
call fcn.1400f8de0
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 0x1400c0bd4
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.1400fadb0
test al, al
je 0x1400c0d8b
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 0x1400c0d8b
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400c0bc1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0bbc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0df7
jmp 0x1400c0bbc
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400c0dc8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0dc3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0deb
call fcn.140183104
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r12w
mov edx, ebx
lea rcx, [rbp - 0x78]
call fcn.1400f8de0
jmp 0x1400c0bd7
call fcn.140195eec
int3
call fcn.140195eec
int3
call fcn.140195eec
int3
call fcn.140195eec
int3
call fcn.140195eec
int3
call fcn.140195eec
int3
call fcn.140195eec
int3
call fcn.140195eec
nop
call fcn.140195eec
nop
call fcn.140195eec
int3