Function at 0x14000371f
Capabilities:
Delete directory

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push r15
mov rax, 0x12
sub rsp, 8
mov qword [rsp], 0
dec rax
jne 0x14000372e
sub rsp, 0x28
mov rdx, qword [rsp + 0xd0]
lea rcx, [rsp + 0x28]
sub rsp, 0x10
call fcn.140012230
add rsp, 0x10
mov qword [rsp + 0x30], 1
push qword [0x140017b00]
pop rcx
call fcn.14000e33c
push qword [0x140018190]
sub rsp, 8
push qword [0x140018190]
movabs rax, str.BDFI
push rax
push qword [0x140018190]
sub rsp, 8
push qword [0x140018190]
pop rcx
sub rsp, 0x20
call fcn.14000e2dc
add rsp, 0x28
mov rdx, qword [0x1400181a0]
add qword [rsp], rdx
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140005350
add rsp, 0x28
lea rcx, [rsp + 0x40]
pop rdx
call fcn.1400120a0
push qword [0x140018190]
sub rsp, 8
push qword [0x140018190]
movabs rax, 0x140016021
push rax
push qword [rsp + 0x50]
push qword [rsp + 0x50]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.140005420
add rsp, 0x28
lea rcx, [rsp + 0x48]
pop rdx
call fcn.1400120a0
mov rcx, qword [rsp + 0x40]
xor rdx, rdx
call fcn.140012160
or rax, rax
jne 0x140003c1c
mov r15, qword [rsp + 0x30]
mov rax, r15
mov rcx, 2
cqo
idiv rcx
mov r15, rdx
and r15, r15
jne 0x14000387c
push qword [rsp + 0x40]
pop rcx
call fcn.140005580
mov rax, rax
push rax
mov r15, qword [rsp + 0x50]
mov rbp, qword [0x140017bf0]
imul r15, r15, 0xc
add rbp, r15
pop rax
mov dword [rbp + 8], eax
mov r15, qword [rsp + 0x48]
inc r15
mov qword [rsp + 0x48], r15
jmp 0x140003c1a
mov rcx, qword [rsp + 0x40]
push qword [0x140018190]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
mov r15, qword [rsp + 0x50]
mov rbp, qword [0x140017bf0]
imul r15, r15, 0xc
add rbp, r15
lea rcx, [rbp]
pop rdx
call fcn.1400120a0
movabs rax, str.BDFI
push rax
push qword [rsp + 0x48]
pop rcx
pop rdx
call fcn.140005770
and rax, rax
je 0x140003c1a
movabs rdx, 0x14001601e
lea rcx, [rsp + 0x50]
call fcn.140011fb0
movabs rdx, 0x14001601e
lea rcx, [rsp + 0x58]
call fcn.140011fb0
movabs rax, str.BDFI
push rax
push qword [rsp + 0x48]
pop rcx
pop rdx
call fcn.1400057d0
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 0
mov r15, qword [rsp + 0x60]
dec r15
cmp r15, qword [rsp + 0x68]
jl 0x140003c1a
push qword [rsp + 0x50]
movabs rcx, 0x14001601e
pop rdx
call fcn.140012160
or rax, rax
jne 0x14000396b
mov rcx, qword [rsp + 0x50]
push qword [0x140018190]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
lea rcx, [rsp + 0x60]
pop rdx
call fcn.1400120a0
push qword [0x140018190]
sub rsp, 8
push qword [0x140018190]
movabs rax, str.BDFI
push rax
mov r15, qword [rsp + 0x88]
inc r15
mov rax, r15
push rax
push qword [rsp + 0x68]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.140005420
add rsp, 0x28
lea rcx, [rsp + 0x78]
pop rdx
call fcn.1400120a0
push qword [0x140018190]
sub rsp, 8
mov rcx, qword [rsp + 0x48]
push qword [0x140018190]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
movabs rcx, str.BDFI
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
mov rcx, qword [rsp + 0x70]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
mov rcx, qword [rsp + 0x88]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
mov rdx, qword [0x1400181a0]
add qword [rsp], rdx
pop rcx
sub rsp, 0x20
call fcn.14000e4c8
add rsp, 0x28
pop qword [0x140018190]
mov rcx, qword [rsp + 0x50]
push qword [0x140018190]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
mov rcx, qword [rsp + 0x78]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
movabs rcx, str.BDFI
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
lea rcx, [rsp + 0x58]
pop rdx
call fcn.1400120a0
mov rcx, qword [rsp + 0x38]
push qword [0x140018190]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
movabs rcx, str.BDFI
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
mov rcx, qword [rsp + 0x60]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
mov rcx, qword [rsp + 0x78]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
mov rcx, qword [rsp]
mov qword [0x140018190], rcx
mov rdx, qword [0x1400181a0]
add qword [rsp], rdx
pop rdx
mov rcx, qword [0x140017c20]
call fcn.14000fad4
mov rbp, rax
mov r15, qword [rbp]
cmp r15, 1
jge 0x140003c0f
mov rcx, qword [rsp + 0x38]
push qword [0x140018190]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
movabs rcx, str.BDFI
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
mov rcx, qword [rsp + 0x60]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
mov rcx, qword [rsp + 0x78]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
mov rcx, qword [rsp]
mov qword [0x140018190], rcx
mov rdx, qword [0x1400181a0]
add qword [rsp], rdx
pop rdx
mov rcx, qword [0x140017c20]
call fcn.14000fad4
mov rbp, rax
mov qword [rbp], 1
push qword [0x140017c10]
pop rcx
call fcn.140009c4c
mov rcx, qword [rsp + 0x38]
push qword [0x140018190]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
movabs rcx, str.BDFI
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
mov rcx, qword [rsp + 0x60]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
mov rcx, qword [rsp + 0x78]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
mov rbp, qword [0x140017c18]
lea rcx, [rbp + 0x14]
pop rdx
call fcn.1400120a0
push qword [rsp + 0x78]
pop rax
mov dword [rbp + 0x10], eax
mov r15, qword [rsp + 0x78]
inc r15
mov qword [rsp + 0x78], r15
inc qword [rsp + 0x68]
jno 0x14000391c
jmp 0x140003c1e
jmp 0x140003c54
mov r15, qword [rsp + 0x30]
inc r15
mov qword [rsp + 0x30], r15
mov r15, qword [rsp + 0x30]
add r15, 0x400
mov rax, r15
inc rax
movabs rdx, 0x140017bf0
mov rcx, rax
call fcn.140011d04
jmp 0x1400037d2
push qword [rsp + 0x48]
pop rax
mov qword [0x140017a48], rax
mov qword [rsp + 0x80], 0
mov rax, qword [rsp + 0x48]
cmp rax, qword [rsp + 0x80]
jl 0x140003fd9
mov r15, qword [rsp + 0x80]
mov rbp, qword [0x140017bf0]
imul r15, r15, 0xc
add rbp, r15
mov rcx, qword [rbp]
push qword [0x140018190]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
lea rcx, [rsp + 0x90]
pop rdx
call fcn.1400120a0
mov r15, qword [0x140017a18]
cmp r15, 1
je 0x140003da3
push qword [rsp + 0x88]
push 1
pop rcx
pop rdx
call fcn.14000ecb0
and rax, rax
je 0x140003da3
push 1
pop rcx
call fcn.14000e6a0
push qword [0x140018190]
sub rsp, 8
push qword [0x140018190]
push 1
push qword [rsp + 0xa8]
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140005850
add rsp, 0x28
inc qword [0x140018190]
movabs rcx, 0x140016023
pop rdx
mov qword [0x140018190], rdx
add rdx, qword [0x1400181a0]
call fcn.140012160
or rax, rax
jne 0x140003d9e
mov rcx, qword [rsp + 0x90]
push qword [0x140018190]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
mov rcx, qword [rsp + 0x90]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
movabs rcx, 0x140016178
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
lea rcx, [rsp + 0x98]
pop rdx
call fcn.1400120a0
jmp 0x140003fcb
push qword [rsp + 0x88]
push 1
pop rcx
pop rdx
call fcn.14000eaa0
and rax, rax
je 0x140003f1f
push qword [0x140018190]
sub rsp, 8
push qword [rsp + 0x98]
push qword [0x140018190]
movabs rcx, str.b2eincfile
sub rsp, 0x20
call fcn.1400121c0
add rsp, 0x20
push qword [0x140018190]
sub rsp, 8
push qword [0x140018190]
mov r15, qword [rsp + 0xd0]
inc r15
mov rax, r15
push rax
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400052f0
add rsp, 0x28
pop rax
mov rdx, qword [0x1400181a0]
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140008f18
add rsp, 0x28
pop qword [0x140018190]
mov r15, qword [rsp + 0x98]
inc r15
mov qword [rsp + 0x98], r15
push qword [rsp + 0x98]
pop rax
mov qword [0x140017a48], rax
mov r15, qword [rsp + 0x80]
mov rbp, qword [0x140017bf0]
imul r15, r15, 0xc
add rbp, r15
movsxd rax, dword [rbp + 8]
push rax
pop rax
mov qword [rsp + 0xa0], rax
push qword [rsp + 0xa0]
mov r15, qword [0x140017bc8]
add r15, qword [rsp + 0xb0]
mov rax, r15
push rax
push 1
pop rcx
pop rdx
pop r8
call fcn.14000ee50
push 1
pop rcx
call fcn.14000e6a0
mov r15, qword [rsp + 0xa8]
add r15, qword [rsp + 0xa0]
mov qword [rsp + 0xa8], r15
push qword [0x140017c00]
pop rcx
call fcn.140009c4c
mov rcx, qword [rsp + 0x88]
push qword [0x140018190]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
mov rbp, qword [0x140017c08]
lea rcx, [rbp + 0x10]
pop rdx
call fcn.1400120a0
push qword [rsp + 0x88]
pop rcx
call fcn.140010520
mov rax, rax
push rax
pop rax
mov dword [rbp + 0x18], eax
jmp 0x140003fcb
push qword [0x140018190]
sub rsp, 8
push qword [0x140018190]
push 1
push qword [rsp + 0xa8]
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140005850
add rsp, 0x28
inc qword [0x140018190]
movabs rcx, 0x140016023
pop rdx
mov qword [0x140018190], rdx
add rdx, qword [0x1400181a0]
call fcn.140012160
or rax, rax
jne 0x140003fcb
mov rcx, qword [rsp + 0x90]
push qword [0x140018190]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
mov rcx, qword [rsp + 0x90]
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
movabs rcx, 0x140016178
sub rsp, 0x28
call fcn.1400121c0
add rsp, 0x28
lea rcx, [rsp + 0x98]
pop rdx
call fcn.1400120a0
inc qword [rsp + 0x80]
jno 0x140003c6c
push qword [0x140018190]
sub rsp, 8
push qword [0x140018190]
sub rsp, 8
push qword [0x140018190]
push qword [0x140018190]
push qword [0x140018190]
movabs rax, 0x140016178
push rax
push qword [rsp + 0xd0]
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140005b70
add rsp, 0x20
mov rdx, qword [0x1400181a0]
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400051d0
add rsp, 0x28
mov rdx, qword [0x1400181a0]
add qword [rsp], rdx
pop rcx
sub rsp, 0x20
call fcn.140005060
add rsp, 0x28
pop qword [0x140018190]
mov r15, rax
and r15, r15
jle 0x140004171
push qword [0x140018190]
sub rsp, 8
push 0x24
mov rcx, qword [0x140017a80]
push qword [0x140018190]
sub rsp, 0x20
call fcn.1400121c0
add rsp, 0x20
movabs rcx, str._r_n_r_n
sub rsp, 0x20
call fcn.1400121c0
add rsp, 0x20
mov rcx, qword [rsp + 0xb0]
sub rsp, 0x20
call fcn.1400121c0
add rsp, 0x20
movabs rcx, 0x140016178
sub rsp, 0x20
call fcn.1400121c0
add rsp, 0x20
mov rcx, qword [0x140017a38]
sub rsp, 0x20
call fcn.1400121c0
add rsp, 0x20
inc qword [0x140018190]
push qword [0x140017bc0]
mov rdx, qword [0x1400181a0]
add qword [rsp + 8], rdx
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140008784
add rsp, 0x28
pop qword [0x140018190]
mov qword [rsp + 0xb0], rax
mov r15, qword [rsp + 0xb0]
cmp r15, 7
jne 0x140004171
call fcn.1400047fe
push qword [0x140017b10]
pop rcx
call fcn.14000e4c0
push qword [0x140017bb8]
pop rcx
call sub.KERNEL32.dll_RemoveDirectoryA
push qword [0x140017af8]
pop rcx
call fcn.14000e4c0
push qword [0x140017bb0]
pop rcx
call sub.KERNEL32.dll_RemoveDirectoryA
xor rax, rax
mov qword [0x140017a10], rax
jmp 0x1400028e9
mov rax, 1
jmp 0x14000417d
push rax
mov rcx, qword [rsp + 0x30]
sub rsp, 0x28
call fcn.1400122a0
add rsp, 0x28
mov rcx, qword [rsp + 0x60]
sub rsp, 0x28
call fcn.1400122a0
add rsp, 0x28
mov rcx, qword [rsp + 0x58]
sub rsp, 0x28
call fcn.1400122a0
add rsp, 0x28
mov rcx, qword [rsp + 0x98]
sub rsp, 0x28
call fcn.1400122a0
add rsp, 0x28
mov rcx, qword [rsp + 0x78]
sub rsp, 0x28
call fcn.1400122a0
add rsp, 0x28
mov rcx, qword [rsp + 0x90]
sub rsp, 0x28
call fcn.1400122a0
add rsp, 0x28
mov rcx, qword [rsp + 0x48]
sub rsp, 0x28
call fcn.1400122a0
add rsp, 0x28
mov rcx, qword [rsp + 0x40]
sub rsp, 0x28
call fcn.1400122a0
add rsp, 0x28
pop rax
add rsp, 0xb8
pop r15
pop rbp
ret