Function at 0x1800120e0
Capabilities:
Delete directory

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x298]
sub rsp, 0x370
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x180268080]
xor rax, rsp
mov qword [rbp + 0x260], rax
xor r12d, r12d
mov dword [rsp + 0x30], r12d
mov esi, r12d
mov qword [rsp + 0x38], r12
mov rdx, rcx
lea rcx, [rbp - 0x68]
call fcn.1800097d0
nop
lea edx, [r12 + 0x10]
lea rcx, [rbp - 0x68]
call fcn.1800162c0
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x20], r12
mov qword [rbp - 8], r12
mov qword [rbp], r12
mov qword [rbp - 8], r12
mov qword [rbp], 7
mov word [rbp - 0x18], r12w
mov qword [rsp + 0x40], r12
lea ecx, [r12 + 8]
call fcn.18017e70c
mov qword [rsp + 0x48], rax
mov qword [rax], 0xffffffffffffffff
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r12w
mov r15d, 1
mov dword [rsp + 0x30], r15d
mov rdx, qword [rbp - 0x58]
add rdx, 3
lea rcx, [rsp + 0x58]
call fcn.1800145f0
lea r9, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae r9, qword [rbp - 0x68]
mov rdi, qword [rbp - 0x58]
mov r14, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
sub rax, r14
cmp rdi, rax
ja 0x18001222d
lea rax, [r14 + rdi]
mov qword [rsp + 0x68], rax
lea rbx, [rsp + 0x58]
cmp rcx, 8
cmovae rbx, qword [rsp + 0x58]
lea r8, [rdi + rdi]
lea rcx, [rbx + r14*2]
mov rdx, r9
call fcn.180180990
lea rax, [r14 + rdi]
mov word [rbx + rax*2], r12w
jmp 0x18001223f
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rsp + 0x58]
call fcn.180009f00
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov rax, rdx
sub rax, rcx
cmp rax, 3
jb 0x18001228a
lea rdi, [rcx + 3]
mov qword [rsp + 0x68], rdi
lea rbx, [rsp + 0x58]
cmp rdx, 8
cmovae rbx, qword [rsp + 0x58]
lea rcx, [rbx + rcx*2]
mov r8d, 6
lea rdx, [0x1801e1e18]
call fcn.180180990
mov word [rbx + rdi*2], r12w
jmp 0x1800122a9
mov qword [rsp + 0x20], 3
lea r9, [0x1801e1e18]
mov edx, 3
lea rcx, [rsp + 0x58]
call fcn.180009f00
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x40]
call fcn.18001b320
movzx edi, al
and r15d, 0xfffffffe
mov dword [rsp + 0x30], r15d
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x18001230a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012305
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012d42
call fcn.18017ebfc
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r12w
mov rbx, qword [rsp + 0x40]
test dil, dil
je 0x180012a45
movzx ecx, byte [rbp - 0x20]
shr cl, 4
mov r12, qword [rbp]
mov r14, qword [rbp - 8]
mov r13, qword [rbp - 0x18]
and cl, 1
je 0x180012382
test r14, r14
je 0x180012382
lea rax, [rbp - 0x18]
cmp r12, 8
cmovae rax, r13
cmp word [rax], 0x2e
jne 0x180012382
cmp r14, 1
je 0x18001268e
lea rax, [rbp - 0x18]
cmp r12, 8
cmovae rax, r13
cmp word [rax + 2], 0x2e
jne 0x180012382
cmp r14, 2
je 0x18001268e
test cl, cl
je 0x180012506
xor eax, eax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], ax
or r15d, 2
mov dword [rsp + 0x30], r15d
mov rdx, qword [rbp - 0x58]
add rdx, r14
lea rcx, [rsp + 0x58]
call fcn.1800145f0
lea r9, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae r9, qword [rbp - 0x68]
mov rsi, qword [rbp - 0x58]
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x38], rcx
mov rdx, qword [rsp + 0x70]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x180012427
lea rax, [rcx + rsi]
mov qword [rsp + 0x68], rax
lea rdi, [rsp + 0x58]
cmp rdx, 8
cmovae rdi, qword [rsp + 0x58]
lea r8, [rsi + rsi]
lea rcx, [rdi + rcx*2]
mov rdx, r9
call fcn.180180990
mov rax, qword [rsp + 0x38]
add rax, rsi
xor ecx, ecx
mov word [rdi + rax*2], cx
jmp 0x180012439
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.180009f00
lea r9, [rbp - 0x18]
cmp r12, 8
cmovae r9, r13
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x18001248c
lea rsi, [rcx + r14]
mov qword [rsp + 0x68], rsi
lea rdi, [rsp + 0x58]
cmp rdx, 8
cmovae rdi, qword [rsp + 0x58]
lea r8, [r14 + r14]
lea rcx, [rdi + rcx*2]
mov rdx, r9
call fcn.180180990
xor r14d, r14d
mov word [rdi + rsi*2], r14w
jmp 0x1800124a1
mov qword [rsp + 0x20], r14
mov rdx, r14
lea rcx, [rsp + 0x58]
call fcn.180009f00
xor r14d, r14d
lea rcx, [rsp + 0x58]
call fcn.1800120e0
mov rsi, rax
mov qword [rsp + 0x38], rax
and r15d, 0xfffffffd
mov dword [rsp + 0x30], r15d
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x18001267a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012675
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012d36
jmp 0x180012675
xor eax, eax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], ax
or r15d, 4
mov dword [rsp + 0x30], r15d
mov rdx, qword [rbp - 0x58]
add rdx, r14
lea rcx, [rsp + 0x58]
call fcn.1800145f0
lea r9, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae r9, qword [rbp - 0x68]
mov rsi, qword [rbp - 0x58]
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x38], rcx
mov rdx, qword [rsp + 0x70]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x1800125a3
lea rax, [rsi + rcx]
mov qword [rsp + 0x68], rax
lea rdi, [rsp + 0x58]
cmp rdx, 8
cmovae rdi, qword [rsp + 0x58]
lea r8, [rsi + rsi]
lea rcx, [rdi + rcx*2]
mov rdx, r9
call fcn.180180990
mov rax, qword [rsp + 0x38]
add rax, rsi
xor ecx, ecx
mov word [rdi + rax*2], cx
jmp 0x1800125b5
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.180009f00
lea r9, [rbp - 0x18]
cmp r12, 8
cmovae r9, r13
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x180012608
lea rsi, [rcx + r14]
mov qword [rsp + 0x68], rsi
lea rdi, [rsp + 0x58]
cmp rdx, 8
cmovae rdi, qword [rsp + 0x58]
lea r8, [r14 + r14]
lea rcx, [rdi + rcx*2]
mov rdx, r9
call fcn.180180990
xor r14d, r14d
mov word [rdi + rsi*2], r14w
jmp 0x18001261d
mov qword [rsp + 0x20], r14
mov rdx, r14
lea rcx, [rsp + 0x58]
call fcn.180009f00
xor r14d, r14d
lea rcx, [rsp + 0x58]
call fcn.18001c2d0
movzx esi, al
mov qword [rsp + 0x38], rsi
and r15d, 0xfffffffb
mov dword [rsp + 0x30], r15d
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x18001267a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012675
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012d48
call fcn.18017ebfc
mov word [rsp + 0x58], r14w
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], r14
xor r12d, r12d
mov rdi, qword [rbx]
cmp rdi, 0xffffffffffffffff
je 0x180012a45
xor edx, edx
mov r8d, 0x250
lea rcx, [rbp + 0x10]
call fcn.180180df0
lea rdx, [rbp + 0x10]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x180012a45
lea r8, [rbp - 0x40]
lea rdx, [rbp + 0x10]
call fcn.18001b090
movzx ecx, byte [rbp - 0x20]
shr cl, 4
mov r12, qword [rbp]
mov r14, qword [rbp - 8]
mov r13, qword [rbp - 0x18]
and cl, 1
je 0x180012723
test r14, r14
je 0x180012723
lea rax, [rbp - 0x18]
cmp r12, 8
cmovae rax, r13
cmp word [rax], 0x2e
jne 0x180012723
cmp r14, 1
je 0x18001268e
lea rax, [rbp - 0x18]
cmp r12, 8
cmovae rax, r13
cmp word [rax + 2], 0x2e
jne 0x180012723
cmp r14, 2
je 0x18001268e
test cl, cl
je 0x1800128bd
xor eax, eax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], ax
or r15d, 8
mov dword [rsp + 0x30], r15d
mov rdx, qword [rbp - 0x58]
add rdx, r14
lea rcx, [rsp + 0x58]
call fcn.1800145f0
lea r9, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae r9, qword [rbp - 0x68]
mov rsi, qword [rbp - 0x58]
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x48], rcx
mov rdx, qword [rsp + 0x70]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x1800127c8
lea rax, [rcx + rsi]
mov qword [rsp + 0x68], rax
lea rdi, [rsp + 0x58]
cmp rdx, 8
cmovae rdi, qword [rsp + 0x58]
lea r8, [rsi + rsi]
lea rcx, [rdi + rcx*2]
mov rdx, r9
call fcn.180180990
mov rax, qword [rsp + 0x48]
add rax, rsi
xor ecx, ecx
mov word [rdi + rax*2], cx
jmp 0x1800127da
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.180009f00
lea r9, [rbp - 0x18]
cmp r12, 8
cmovae r9, r13
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x18001282d
lea rsi, [rcx + r14]
mov qword [rsp + 0x68], rsi
lea rdi, [rsp + 0x58]
cmp rdx, 8
cmovae rdi, qword [rsp + 0x58]
lea r8, [r14 + r14]
lea rcx, [rdi + rcx*2]
mov rdx, r9
call fcn.180180990
xor r12d, r12d
mov word [rdi + rsi*2], r12w
jmp 0x180012842
mov qword [rsp + 0x20], r14
mov rdx, r14
lea rcx, [rsp + 0x58]
call fcn.180009f00
xor r12d, r12d
lea rcx, [rsp + 0x58]
call fcn.1800120e0
mov rsi, qword [rsp + 0x38]
add rsi, rax
mov qword [rsp + 0x38], rsi
and r15d, 0xfffffff7
mov dword [rsp + 0x30], r15d
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x1800128a4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001289f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012d4e
call fcn.18017ebfc
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r12w
jmp 0x180012691
xor eax, eax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], ax
or r15d, 0x10
mov dword [rsp + 0x30], r15d
mov rdx, qword [rbp - 0x58]
add rdx, r14
lea rcx, [rsp + 0x78]
call fcn.1800145f0
lea r9, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae r9, qword [rbp - 0x68]
mov rsi, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x78]
mov qword [rsp + 0x48], rcx
mov rdx, qword [rbp - 0x70]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x180012953
lea rax, [rcx + rsi]
mov qword [rbp - 0x78], rax
lea rdi, [rsp + 0x78]
cmp rdx, 8
cmovae rdi, qword [rsp + 0x78]
lea r8, [rsi + rsi]
lea rcx, [rdi + rcx*2]
mov rdx, r9
call fcn.180180990
mov rax, qword [rsp + 0x48]
add rax, rsi
xor ecx, ecx
mov word [rdi + rax*2], cx
jmp 0x180012965
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x78]
call fcn.180009f00
lea r9, [rbp - 0x18]
cmp r12, 8
cmovae r9, r13
mov rcx, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x70]
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x1800129b5
lea rsi, [rcx + r14]
mov qword [rbp - 0x78], rsi
lea rdi, [rsp + 0x78]
cmp rdx, 8
cmovae rdi, qword [rsp + 0x78]
lea r8, [r14 + r14]
lea rcx, [rdi + rcx*2]
mov rdx, r9
call fcn.180180990
xor r12d, r12d
mov word [rdi + rsi*2], r12w
jmp 0x1800129ca
mov qword [rsp + 0x20], r14
mov rdx, r14
lea rcx, [rsp + 0x78]
call fcn.180009f00
xor r12d, r12d
lea rcx, [rsp + 0x78]
call fcn.18001c2d0
movzx eax, al
mov rsi, qword [rsp + 0x38]
add rsi, rax
mov qword [rsp + 0x38], rsi
and r15d, 0xffffffef
mov dword [rsp + 0x30], r15d
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x180012a2e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012a29
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012d54
call fcn.18017ebfc
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r12w
jmp 0x180012691
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x180012a5f
call qword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
je 0x180012a5f
mov qword [rbx], 0xffffffffffffffff
lea rcx, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae rcx, qword [rbp - 0x68]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x180012b1c
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r12w
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x68]
call fcn.18001cd90
test al, al
je 0x180012bb8
lea rcx, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x180012bb8
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x180012b0a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012b05
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012d5a
call fcn.18017ebfc
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r12w
inc rsi
lea rcx, [rsp + 0x40]
call fcn.18001b2b0
nop
lea rcx, [rbp - 0x18]
call fcn.180009930
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 8
jb 0x180012b74
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012b6f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012d60
call fcn.18017ebfc
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], r12w
mov rax, rsi
mov rcx, qword [rbp + 0x260]
xor rcx, rsp
call fcn.18017e6e0
lea r11, [rsp + 0x370]
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 - 0x70]
cmp rdx, 8
jb 0x180012bf9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012bf4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012d66
call fcn.18017ebfc
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r12w
lea rcx, [rbp - 0x68]
call fcn.18001ba90
mov ebx, eax
cmp eax, 0xffffffff
je 0x180012b1f
xor edx, edx
lea rcx, [rbp - 0x68]
call fcn.18001b970
lea rcx, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae rcx, qword [rbp - 0x68]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x180012b1c
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r12w
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x68]
call fcn.18001cd90
test al, al
je 0x180012cd1
lea rcx, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x180012cd1
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x180012b0a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012b05
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012d3c
jmp 0x180012b05
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x180012d0e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012d09
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012d30
call fcn.18017ebfc
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r12w
mov edx, ebx
lea rcx, [rbp - 0x68]
call fcn.18001b970
jmp 0x180012b1f
call fcn.18018341c
int3
call fcn.18018341c
int3
call fcn.18018341c
int3
call fcn.18018341c
int3
call fcn.18018341c
int3
call fcn.18018341c
int3
call fcn.18018341c
int3
call fcn.18018341c
nop
call fcn.18018341c
nop
call fcn.18018341c
int3