Function at 0x1400c0200
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.1400afc50
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.1400756b0
lea ecx, [r12 + 8]
call fcn.1401831d8
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.140019fc0
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 0x1400c0350
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.140189500
lea rax, [rsi + rdi]
mov word [rbx + rax*2], r12w
jmp 0x1400c0362
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 0x1400c03ad
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, [0x140244bf0]
call fcn.140189500
mov word [rbx + rdi*2], r12w
jmp 0x1400c03cc
mov qword [rsp + 0x20], 3
lea r9, [0x140244bf0]
mov edx, 3
lea rcx, [rsp + 0x48]
call fcn.1400074b0
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x58]
call fcn.1400d5c50
movzx ebx, al
and r14d, 0xfffffffe
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400c042c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0427
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e3d
call fcn.140183214
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r12w
test bl, bl
je 0x1400c0b36
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 0x1400c049e
test rsi, rsi
je 0x1400c049e
lea rax, [rbp - 0x28]
cmp r12, 8
cmovae rax, r13
cmp word [rax], 0x2e
jne 0x1400c049e
cmp rsi, 1
je 0x1400c0788
lea rax, [rbp - 0x28]
cmp r12, 8
cmovae rax, r13
cmp word [rax + 2], 0x2e
jne 0x1400c049e
cmp rsi, 2
je 0x1400c0788
test cl, cl
je 0x1400c0611
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.140019fc0
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 0x1400c053a
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.140189500
lea rax, [r15 + rdi]
xor ecx, ecx
mov word [rbx + rax*2], cx
jmp 0x1400c054c
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 0x1400c059d
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.140189500
xor esi, esi
mov word [rbx + rdi*2], si
jmp 0x1400c05b1
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400074b0
xor esi, esi
lea rcx, [rsp + 0x48]
call fcn.1400c0200
mov r15, rax
and r14d, 0xfffffffd
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400c0775
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0770
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e31
jmp 0x1400c0770
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.140019fc0
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 0x1400c06a5
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.140189500
lea rax, [r15 + rdi]
xor ecx, ecx
mov word [rbx + rax*2], cx
jmp 0x1400c06b7
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 0x1400c0708
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.140189500
xor esi, esi
mov word [rbx + rdi*2], si
jmp 0x1400c071c
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400074b0
xor esi, esi
lea rcx, [rsp + 0x48]
call fcn.1400f9b90
movzx r15d, al
and r14d, 0xfffffffb
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400c0775
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0770
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e43
call fcn.140183214
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 0x1400c0b3a
xor edx, edx
mov r8d, 0x250
lea rcx, [rbp]
call fcn.140189c40
lea rdx, [rbp]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x1400c0b36
lea r8, [rbp - 0x50]
lea rdx, [rbp]
call fcn.1400d5950
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 0x1400c0821
test rsi, rsi
je 0x1400c0821
lea rax, [rbp - 0x28]
cmp r12, 8
cmovae rax, r13
cmp word [rax], 0x2e
jne 0x1400c0821
cmp rsi, 1
je 0x1400c0788
lea rax, [rbp - 0x28]
cmp r12, 8
cmovae rax, r13
cmp word [rax + 2], 0x2e
jne 0x1400c0821
cmp rsi, 2
je 0x1400c0788
test cl, cl
je 0x1400c09b1
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.140019fc0
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 0x1400c08c6
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.140189500
mov rax, qword [rsp + 0x38]
add rax, rdi
xor ecx, ecx
mov word [rbx + rax*2], cx
jmp 0x1400c08d8
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 0x1400c092b
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.140189500
xor r12d, r12d
mov word [rbx + rdi*2], r12w
jmp 0x1400c0940
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400074b0
xor r12d, r12d
lea rcx, [rsp + 0x48]
call fcn.1400c0200
add r15, rax
and r14d, 0xfffffff7
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400c0998
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0993
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e49
call fcn.140183214
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r12w
jmp 0x1400c078b
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.140019fc0
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 0x1400c0a4b
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.140189500
mov rax, qword [rsp + 0x38]
add rax, rdi
xor ecx, ecx
mov word [rbx + rax*2], cx
jmp 0x1400c0a5d
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 0x1400c0aaf
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.140189500
xor r12d, r12d
mov word [rbx + rdi*2], r12w
jmp 0x1400c0ac4
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.1400074b0
xor r12d, r12d
lea rcx, [rsp + 0x68]
call fcn.1400f9b90
movzx eax, al
add r15, rax
and r14d, 0xffffffef
mov dword [rsp + 0x30], r14d
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400c0b1e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0b19
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e4f
call fcn.140183214
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r12w
jmp 0x1400c078b
mov rdi, qword [rbp - 0x58]
mov rcx, qword [rdi]
cmp rcx, 0xffffffffffffffff
je 0x1400c0b54
call qword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
je 0x1400c0b54
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 0x1400c0c14
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.1400fadf0
test al, al
je 0x1400c0caf
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 0x1400c0caf
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400c0c01
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0bfc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e55
call fcn.140183214
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r12w
inc r15
lea rcx, [rbp - 0x58]
call fcn.1400d5b80
nop
lea rcx, [rbp - 0x28]
call fcn.140006ac0
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x1400c0c6b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0c66
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e5b
call fcn.140183214
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.1401837c0
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 0x1400c0cf0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0ceb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e61
call fcn.140183214
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r12w
lea rcx, [rbp - 0x78]
call fcn.1400f8f40
mov ebx, eax
cmp eax, 0xffffffff
je 0x1400c0c17
xor edx, edx
lea rcx, [rbp - 0x78]
call fcn.1400f8e20
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 0x1400c0c14
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.1400fadf0
test al, al
je 0x1400c0dcb
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 0x1400c0dcb
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400c0c01
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0bfc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e37
jmp 0x1400c0bfc
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400c0e08
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0e03
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c0e2b
call fcn.140183214
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r12w
mov edx, ebx
lea rcx, [rbp - 0x78]
call fcn.1400f8e20
jmp 0x1400c0c17
call fcn.140195ffc
int3
call fcn.140195ffc
int3
call fcn.140195ffc
int3
call fcn.140195ffc
int3
call fcn.140195ffc
int3
call fcn.140195ffc
int3
call fcn.140195ffc
int3
call fcn.140195ffc
nop
call fcn.140195ffc
nop
call fcn.140195ffc
int3