Function at 0x1400c3e90
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 [0x1402c5168]
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.1400b38e0
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.140078840
lea ecx, [r12 + 8]
call fcn.140186e68
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 0x1400c3fe0
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.14018d190
lea rax, [rsi + rdi]
mov word [rbx + rax*2], r12w
jmp 0x1400c3ff2
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 0x1400c403d
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, [0x140249dd0]
call fcn.14018d190
mov word [rbx + rdi*2], r12w
jmp 0x1400c405c
mov qword [rsp + 0x20], 3
lea r9, [0x140249dd0]
mov edx, 3
lea rcx, [rsp + 0x48]
call fcn.1400074b0
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x58]
call fcn.1400d98e0
movzx ebx, al
and r14d, 0xfffffffe
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400c40bc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c40b7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c4acd
call fcn.140186ea4
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r12w
test bl, bl
je 0x1400c47c6
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 0x1400c412e
test rsi, rsi
je 0x1400c412e
lea rax, [rbp - 0x28]
cmp r12, 8
cmovae rax, r13
cmp word [rax], 0x2e
jne 0x1400c412e
cmp rsi, 1
je 0x1400c4418
lea rax, [rbp - 0x28]
cmp r12, 8
cmovae rax, r13
cmp word [rax + 2], 0x2e
jne 0x1400c412e
cmp rsi, 2
je 0x1400c4418
test cl, cl
je 0x1400c42a1
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 0x1400c41ca
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.14018d190
lea rax, [r15 + rdi]
xor ecx, ecx
mov word [rbx + rax*2], cx
jmp 0x1400c41dc
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 0x1400c422d
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.14018d190
xor esi, esi
mov word [rbx + rdi*2], si
jmp 0x1400c4241
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400074b0
xor esi, esi
lea rcx, [rsp + 0x48]
call fcn.1400c3e90
mov r15, rax
and r14d, 0xfffffffd
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400c4405
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c4400
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c4ac1
jmp 0x1400c4400
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 0x1400c4335
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.14018d190
lea rax, [r15 + rdi]
xor ecx, ecx
mov word [rbx + rax*2], cx
jmp 0x1400c4347
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 0x1400c4398
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.14018d190
xor esi, esi
mov word [rbx + rdi*2], si
jmp 0x1400c43ac
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400074b0
xor esi, esi
lea rcx, [rsp + 0x48]
call fcn.1400fd820
movzx r15d, al
and r14d, 0xfffffffb
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400c4405
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c4400
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c4ad3
call fcn.140186ea4
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 0x1400c47ca
xor edx, edx
mov r8d, 0x250
lea rcx, [rbp]
call fcn.14018d8d0
lea rdx, [rbp]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x1400c47c6
lea r8, [rbp - 0x50]
lea rdx, [rbp]
call fcn.1400d95e0
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 0x1400c44b1
test rsi, rsi
je 0x1400c44b1
lea rax, [rbp - 0x28]
cmp r12, 8
cmovae rax, r13
cmp word [rax], 0x2e
jne 0x1400c44b1
cmp rsi, 1
je 0x1400c4418
lea rax, [rbp - 0x28]
cmp r12, 8
cmovae rax, r13
cmp word [rax + 2], 0x2e
jne 0x1400c44b1
cmp rsi, 2
je 0x1400c4418
test cl, cl
je 0x1400c4641
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 0x1400c4556
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.14018d190
mov rax, qword [rsp + 0x38]
add rax, rdi
xor ecx, ecx
mov word [rbx + rax*2], cx
jmp 0x1400c4568
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 0x1400c45bb
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.14018d190
xor r12d, r12d
mov word [rbx + rdi*2], r12w
jmp 0x1400c45d0
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400074b0
xor r12d, r12d
lea rcx, [rsp + 0x48]
call fcn.1400c3e90
add r15, rax
and r14d, 0xfffffff7
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400c4628
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c4623
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c4ad9
call fcn.140186ea4
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r12w
jmp 0x1400c441b
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 0x1400c46db
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.14018d190
mov rax, qword [rsp + 0x38]
add rax, rdi
xor ecx, ecx
mov word [rbx + rax*2], cx
jmp 0x1400c46ed
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 0x1400c473f
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.14018d190
xor r12d, r12d
mov word [rbx + rdi*2], r12w
jmp 0x1400c4754
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.1400074b0
xor r12d, r12d
lea rcx, [rsp + 0x68]
call fcn.1400fd820
movzx eax, al
add r15, rax
and r14d, 0xffffffef
mov dword [rsp + 0x30], r14d
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400c47ae
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c47a9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c4adf
call fcn.140186ea4
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r12w
jmp 0x1400c441b
mov rdi, qword [rbp - 0x58]
mov rcx, qword [rdi]
cmp rcx, 0xffffffffffffffff
je 0x1400c47e4
call qword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
je 0x1400c47e4
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 0x1400c48a4
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.1400fea80
test al, al
je 0x1400c493f
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 0x1400c493f
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400c4891
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c488c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c4ae5
call fcn.140186ea4
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r12w
inc r15
lea rcx, [rbp - 0x58]
call fcn.1400d9810
nop
lea rcx, [rbp - 0x28]
call fcn.140006ac0
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x1400c48fb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c48f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c4aeb
call fcn.140186ea4
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.140187450
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 0x1400c4980
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c497b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c4af1
call fcn.140186ea4
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r12w
lea rcx, [rbp - 0x78]
call fcn.1400fcbd0
mov ebx, eax
cmp eax, 0xffffffff
je 0x1400c48a7
xor edx, edx
lea rcx, [rbp - 0x78]
call fcn.1400fcab0
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 0x1400c48a4
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.1400fea80
test al, al
je 0x1400c4a5b
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 0x1400c4a5b
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400c4891
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c488c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c4ac7
jmp 0x1400c488c
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400c4a98
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c4a93
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c4abb
call fcn.140186ea4
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r12w
mov edx, ebx
lea rcx, [rbp - 0x78]
call fcn.1400fcab0
jmp 0x1400c48a7
call fcn.140199c8c
int3
call fcn.140199c8c
int3
call fcn.140199c8c
int3
call fcn.140199c8c
int3
call fcn.140199c8c
int3
call fcn.140199c8c
int3
call fcn.140199c8c
int3
call fcn.140199c8c
nop
call fcn.140199c8c
nop
call fcn.140199c8c
int3