Function at 0x140017670
Capabilities:
Delete file
Enumerate files on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1a0]
sub rsp, 0x2a0
mov rax, qword [0x140317e98]
xor rax, rsp
mov qword [rbp + 0x190], rax
mov rdi, rcx
call fcn.140004b20
mov rcx, rax
test rax, rax
je 0x140017a9c
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x20], rax
mov rbx, 0xffffffffffffffff
test rdi, rdi
je 0x1400176fe
cmp rdi, 0x10000
jae 0x1400176ef
movzx edx, di
lea rcx, [rsp + 0x20]
call fcn.1400054f0
jmp 0x140017711
mov rax, rbx
inc rax
cmp word [rdi + rax*2], 0
jne 0x1400176f2
jmp 0x140017700
xor eax, eax
mov r8d, eax
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.14000ac20
nop
lea rcx, [0x140245a90]
mov rax, rbx
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140017720
mov r8d, eax
mov rdx, rcx
lea rcx, [rsp + 0x20]
call fcn.14000c240
lea rsi, str.ShellExtension
mov rax, rbx
inc rax
cmp word [rsi + rax*2], 0
jne 0x140017744
mov r15, rsi
mov rbx, qword [rsp + 0x20]
sub r15, rbx
sar r15, 1
mov r12d, dword [rbx - 0x10]
test eax, eax
js 0x140017a91
movsxd rdx, eax
mov rcx, rsi
call fcn.1400ea46c
mov r13, rax
mov ecx, 0x7fffffff
sub ecx, eax
cmp ecx, r12d
jl 0x140017a91
lea r14d, [r12 + rax]
test r14d, r14d
js 0x140017a91
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r14d
or eax, ecx
jge 0x1400177b7
mov edx, r14d
lea rcx, [rsp + 0x20]
call fcn.140005800
mov rbx, qword [rsp + 0x20]
cmp r15, r12
ja 0x1400177c0
lea rsi, [rbx + r15*2]
lea rcx, [rbx + r12*2]
movsxd r8, r13d
add r8, r8
je 0x1400177f7
test rcx, rcx
je 0x1400177e7
test rsi, rsi
je 0x1400177e0
mov rdx, rsi
call fcn.1400d9910
jmp 0x1400177f7
xor edx, edx
call fcn.1400d9fc0
call fcn.1400e8b0c
mov dword [rax], 0x16
call fcn.1400de95c
cmp r14d, dword [rbx - 0xc]
jg 0x140017a91
mov dword [rbx - 0x10], r14d
movsxd rax, r14d
xor r14d, r14d
mov word [rbx + rax*2], r14w
lea rdx, str..dll
mov rsi, 0xffffffffffffffff
mov rax, rsi
inc rax
cmp word [rdx + rax*2], r14w
jne 0x140017821
mov r8d, eax
lea rcx, [rsp + 0x20]
call fcn.14000c240
lea rdx, [rsp + 0x40]
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov qword [rsp + 0x30], rax
cmp rax, rsi
je 0x140017a3f
mov rbx, rax
nop dword [rax]
lea rdx, [0x140246ca0]
lea rcx, [rsp + 0x6c]
call fcn.1400ea684
test eax, eax
je 0x140017a1b
lea rdx, [0x140246ca4]
lea rcx, [rsp + 0x6c]
call fcn.1400ea684
test eax, eax
je 0x140017a1b
call fcn.140004b20
test rax, rax
je 0x140017a86
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x28], rax
test rdi, rdi
je 0x1400178de
cmp rdi, 0x10000
jae 0x1400178cf
movzx edx, di
lea rcx, [rsp + 0x28]
call fcn.1400054f0
jmp 0x1400178f2
mov rax, rsi
inc rax
cmp word [rdi + rax*2], 0
jne 0x1400178d2
jmp 0x1400178e1
mov eax, r14d
mov r8d, eax
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.14000ac20
nop
mov r8d, 1
lea rdx, [0x140245a90]
lea rcx, [rsp + 0x28]
call fcn.14000c240
lea rcx, [rsp + 0x6c]
mov rax, rsi
inc rax
cmp word [rcx + rax*2], 0
jne 0x140017911
lea r12, [rsp + 0x6c]
lea rsi, [rsp + 0x6c]
mov rbx, qword [rsp + 0x28]
sub rsi, rbx
sar rsi, 1
mov r15d, dword [rbx - 0x10]
test eax, eax
js 0x140017aa7
movsxd rdx, eax
lea rcx, [rsp + 0x6c]
call fcn.1400ea46c
mov r13, rax
mov ecx, 0x7fffffff
sub ecx, eax
cmp ecx, r15d
jl 0x140017aa7
lea r14d, [r15 + rax]
test r14d, r14d
js 0x140017aa7
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r14d
or eax, ecx
jge 0x14001798d
mov edx, r14d
lea rcx, [rsp + 0x28]
call fcn.140005800
mov rbx, qword [rsp + 0x28]
cmp rsi, r15
ja 0x140017996
lea r12, [rbx + rsi*2]
lea rcx, [rbx + r15*2]
movsxd r8, r13d
add r8, r8
je 0x1400179cd
test rcx, rcx
je 0x1400179bd
test r12, r12
je 0x1400179b6
mov rdx, r12
call fcn.1400d9910
jmp 0x1400179cd
xor edx, edx
call fcn.1400d9fc0
call fcn.1400e8b0c
mov dword [rax], 0x16
call fcn.1400de95c
cmp r14d, dword [rbx - 0xc]
jg 0x140017aa7
mov dword [rbx - 0x10], r14d
movsxd rax, r14d
xor r14d, r14d
mov word [rbx + rax*2], r14w
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
mov rax, 0xffffffffffffffff
lock xadd dword [rbx - 8], eax
sub eax, 1
jg 0x140017a0f
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
lea rdx, [rbx - 0x18]
call qword [rax + 8]
mov rbx, qword [rsp + 0x30]
mov rsi, 0xffffffffffffffff
lea rdx, [rsp + 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x140017860
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rbx, qword [rsp + 0x20]
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x140017a56
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rbp + 0x190]
xor rcx, rsp
call fcn.1400d7670
lea r11, [rsp + 0x2a0]
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 ecx, 0x80004005
call fcn.1400049a0
int3
mov ecx, 0x80070057
call fcn.1400049a0
nop
mov ecx, 0x80004005
call fcn.1400049a0
nop
mov ecx, 0x80070057
call fcn.1400049a0
int3