Function at 0x1400e80b4
Capabilities:
Check if file exists
Enumerate files on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x320]
sub rsp, 0x420
mov rax, qword [0x14016d608]
xor rax, rsp
mov qword [rbp + 0x310], rax
mov rax, qword [rbp + 0x380]
mov rsi, r8
mov r12, qword [rbp + 0x388]
mov r13d, edx
mov qword [rsp + 0x68], rax
mov rdi, rcx
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x70], r8
mov dword [rsp + 0x4c], edx
mov rcx, qword [0x14016d090]
lea rax, [0x14016d090]
cmp rcx, rax
je 0x1400e8142
test byte [rcx + 0x1c], 1
je 0x1400e8142
cmp byte [rcx + 0x19], 5
jb 0x1400e8142
mov rcx, qword [rcx + 0x10]
lea r8, [0x140152968]
mov edx, 0x16
call fcn.140004968
mov eax, dword [rbp - 0x64]
lea rcx, [rbp - 0x60]
xor edx, edx
mov qword [rbp - 0x70], rcx
and eax, 0xfffffffe
mov qword [rsp + 0x58], rdx
and eax, 0xfffffffb
mov qword [rsp + 0x38], rdx
or eax, 2
mov qword [rsp + 0x40], rdx
mov dword [rbp - 0x64], eax
lea r8d, [rdx + 0x18]
mov eax, dword [rbp - 0x14]
lea rcx, [rbp - 0x10]
and eax, 0xfffffffe
mov dword [rbp - 0x78], r8d
and eax, 0xfffffffb
mov dword [rbp - 0x28], r8d
or eax, 2
mov qword [rbp - 0x20], rcx
mov dword [rbp - 0x14], eax
lea rcx, [rbp + 0xc0]
mov eax, r13d
mov qword [rbp - 0x80], rdx
shr eax, 1
mov r8d, 0x250
and al, 1
mov dword [rbp - 0x68], edx
mov dword [rsp + 0x50], eax
mov ebx, edx
mov r15d, edx
mov word [rbp - 0x60], dx
mov r14d, edx
mov qword [rbp - 0x30], rdx
mov dword [rbp - 0x18], edx
mov word [rbp - 0x10], dx
mov dword [rsp + 0x34], edx
call sub.msvcrt.dll_memset
xor eax, eax
mov byte [r12], al
mov eax, r13d
and eax, 4
mov dword [rsp + 0x48], eax
jne 0x1400e81ee
cmp dword [rdi + 0x10], 0x64
jbe 0x1400e81ee
mov ebx, 0x80070057
jmp 0x1400e8733
test dword [rdi], 0x400
mov byte [rdi + 0x14], 1
je 0x1400e8243
mov rcx, qword [0x14016d090]
lea rsi, [0x14016d090]
cmp rcx, rsi
je 0x1400e873a
test byte [rcx + 0x1c], 1
je 0x1400e873a
cmp byte [rcx + 0x19], 5
jb 0x1400e873a
mov r9, qword [rdi + 8]
lea r8, [0x140152968]
mov rcx, qword [rcx + 0x10]
mov edx, 0x17
call fcn.140005868
jmp 0x1400e873a
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.1400e7b4c
mov ebx, eax
test eax, eax
jns 0x1400e829e
mov rcx, qword [0x14016d090]
lea rsi, [0x14016d090]
cmp rcx, rsi
je 0x1400e873a
test byte [rcx + 0x1c], 1
je 0x1400e873a
cmp byte [rcx + 0x19], 2
jb 0x1400e873a
mov rcx, qword [rcx + 0x10]
lea r8, [0x140152968]
mov edx, 0x18
mov r9d, eax
call fcn.140004988
jmp 0x1400e873a
mov rdx, qword [rdi + 8]
lea rcx, [rbp + 0x70]
call fcn.1400dd2e4
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0x20]
mov rbx, rax
call fcn.1400dd2e4
mov rcx, rax
lea r8, [rbp - 0x30]
mov rdx, rbx
call fcn.1400e5824
lea rcx, [rbp + 0x20]
call fcn.1400dd384
lea rcx, [rbp + 0x70]
call fcn.1400dd384
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x30]
call fcn.1400e6180
mov r15, qword [rsp + 0x38]
xor ecx, ecx
mov ebx, eax
test eax, eax
js 0x1400e8733
or rax, 0xffffffffffffffff
inc rax
cmp word [r15 + rax*2], cx
jne 0x1400e8300
add eax, 0x106
mov r13d, eax
mov qword [rsp + 0x60], r13
lea rbx, [rax*2]
mov rcx, rbx
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rsi, rax
test rax, rax
jne 0x1400e833a
mov ebx, 0x8007000e
jmp 0x1400e8733
mov r8, rbx
xor edx, edx
mov rcx, rsi
call sub.msvcrt.dll_memset
mov r8, r15
mov rdx, r13
mov rcx, rsi
call fcn.140039a84
xor r9d, r9d
mov ebx, eax
test eax, eax
js 0x1400e872a
or r8, 0xffffffffffffffff
mov rcx, r8
inc rcx
cmp word [rsi + rcx*2], r9w
jne 0x1400e8369
mov eax, ecx
mov edx, 0x5c
inc ecx
mov word [rsi + rax*2], dx
mov eax, ecx
mov qword [rsp + 0x38], rax
mov word [rsi + rcx*2], r9w
test r15, r15
jne 0x1400e839f
mov rax, qword [rbp - 0x70]
mov word [rax], r9w
mov dword [rbp - 0x68], r9d
jmp 0x1400e83b5
inc r8
cmp word [r15 + r8*2], r9w
jne 0x1400e839f
mov rdx, r15
lea rcx, [rbp - 0x80]
call fcn.1400dd61c
mov r8d, 2
lea rdx, [0x14014ae8c]
lea rcx, [rbp - 0x80]
call fcn.1400dd7b0
mov rcx, qword [rbp - 0x70]
lea rdx, [rbp + 0xc0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov r13, rax
cmp rax, 0xffffffffffffffff
jne 0x1400e8449
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp eax, 2
je 0x1400e8440
mov rcx, qword [0x14016d090]
lea rax, [0x14016d090]
cmp rcx, rax
je 0x1400e842d
test byte [rcx + 0x1c], 1
je 0x1400e842d
cmp byte [rcx + 0x19], 2
jb 0x1400e842d
mov r9, qword [rbp - 0x70]
lea edx, [r13 + 0x1a]
mov rcx, qword [rcx + 0x10]
lea r8, [0x140152968]
mov dword [rsp + 0x20], edi
call fcn.1400058c8
movzx ebx, di
or ebx, 0x80070000
test edi, edi
cmovle ebx, edi
jmp 0x1400e872a
xor eax, eax
mov ebx, eax
jmp 0x1400e872a
movzx ecx, word [rbp + 0xec]
cmp cx, word [0x14014ae94]
movzx eax, word [rbp + 0xee]
jne 0x1400e846d
cmp ax, word [0x14014ae96]
je 0x1400e8663
cmp cx, word [0x14014ae98]
jne 0x1400e8493
cmp ax, word [0x14014ae9a]
jne 0x1400e8493
movzx eax, word [rbp + 0xf0]
cmp ax, word [0x14014ae9c]
je 0x1400e8663
mov rax, qword [rsp + 0x38]
lea r8, [rbp + 0xec]
mov rdx, qword [rsp + 0x60]
xor ecx, ecx
mov word [rsi + rax*2], cx
mov rcx, rsi
call fcn.14005034c
xor ecx, ecx
mov ebx, eax
test eax, eax
js 0x1400e871d
mov edx, dword [rbp + 0xc0]
mov eax, edx
and eax, 0x410
cmp eax, 0x10
jne 0x1400e85df
cmp dword [rsp + 0x48], ecx
jne 0x1400e8534
cmp dword [rdi + 0x10], 0x64
jne 0x1400e8534
mov rcx, qword [0x14016d090]
lea rax, [0x14016d090]
cmp rcx, rax
je 0x1400e8663
test byte [rcx + 0x1c], 1
je 0x1400e8663
cmp byte [rcx + 0x19], 3
jb 0x1400e8663
mov rcx, qword [rcx + 0x10]
lea r9, [rbp + 0xec]
mov edx, 0x1a
mov dword [rsp + 0x20], 0x64
lea r8, [0x140152968]
call fcn.1400058c8
jmp 0x1400e8663
test byte [rsp + 0x4c], 8
jne 0x1400e858c
cmp dword [rsp + 0x34], 0x64
jb 0x1400e858c
mov rcx, qword [0x14016d090]
lea rax, [0x14016d090]
cmp rcx, rax
je 0x1400e857f
test byte [rcx + 0x1c], 1
je 0x1400e857f
cmp byte [rcx + 0x19], 4
jb 0x1400e857f
mov rcx, qword [rcx + 0x10]
lea r8, [0x140152968]
mov edx, 0x1b
mov qword [rsp + 0x20], r15
lea r9d, [rdx + 0x49]
call fcn.14000f75c
mov rax, qword [rsp + 0x68]
mov byte [rax], 1
jmp 0x1400e8663
mov r8d, dword [rdi + 0x10]
lea r9, [rsp + 0x40]
inc r8d
lea rcx, [rbp + 0xec]
call fcn.1400e76a0
mov r14, qword [rsp + 0x40]
mov ebx, eax
xor eax, eax
test ebx, ebx
js 0x1400e86da
mov rcx, qword [rsp + 0x70]
mov rdx, r14
call fcn.1400e7784
mov ebx, eax
xor eax, eax
test ebx, ebx
js 0x1400e86da
inc dword [rsp + 0x34]
mov r14d, eax
mov qword [rsp + 0x40], rax
jmp 0x1400e8663
lea r8, [rsp + 0x30]
mov byte [rsp + 0x30], 1
lea rdx, [rbp + 0xc0]
mov rcx, rsi
call fcn.1400e7da0
xor ecx, ecx
mov ebx, eax
test eax, eax
jns 0x1400e865b
mov al, byte [rsp + 0x30]
mov byte [r12], al
cmp byte [rsp + 0x50], cl
je 0x1400e86e0
test al, al
je 0x1400e86e0
mov rcx, qword [0x14016d090]
lea rax, [0x14016d090]
cmp rcx, rax
je 0x1400e8655
test byte [rcx + 0x1c], 1
je 0x1400e8655
cmp byte [rcx + 0x19], 4
jb 0x1400e8655
mov rcx, qword [rcx + 0x10]
lea r8, [0x140152968]
mov edx, 0x1c
mov dword [rsp + 0x20], ebx
mov r9, rsi
call fcn.1400058c8
xor eax, eax
mov ebx, eax
jmp 0x1400e8663
mov rax, qword [rsp + 0x78]
inc qword [rax]
lea rdx, [rbp + 0xc0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
xor ecx, ecx
test eax, eax
jne 0x1400e8449
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp eax, 0x12
je 0x1400e8721
mov rcx, qword [0x14016d090]
lea rax, [0x14016d090]
cmp rcx, rax
je 0x1400e86ca
test byte [rcx + 0x1c], 1
je 0x1400e86ca
cmp byte [rcx + 0x19], 2
jb 0x1400e86ca
mov r9, qword [rbp - 0x70]
lea r8, [0x140152968]
mov rcx, qword [rcx + 0x10]
mov edx, 0x1e
mov dword [rsp + 0x20], edi
call fcn.1400058c8
movzx ebx, di
xor eax, eax
or ebx, 0x80070000
test edi, edi
cmovle ebx, edi
mov byte [r12], al
jmp 0x1400e8721
mov rcx, qword [0x14016d090]
lea rax, [0x14016d090]
cmp rcx, rax
je 0x1400e8721
test byte [rcx + 0x1c], 1
je 0x1400e8721
cmp byte [rcx + 0x19], 2
jb 0x1400e8721
mov rcx, qword [rcx + 0x10]
lea r8, [0x140152968]
mov edx, 0x1d
mov dword [rsp + 0x20], ebx
mov r9, rsi
call fcn.1400058c8
jmp 0x1400e8721
mov byte [r12], cl
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
lea rsi, [0x14016d090]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, r15
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
xor edi, edi
test r14, r14
je 0x1400e876b
mov rcx, qword [r14 + 8]
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, r14
mov qword [r14 + 8], rdi
call fcn.14013c808
mov rcx, qword [0x14016d090]
cmp rcx, rsi
je 0x1400e8798
test byte [rcx + 0x1c], 1
je 0x1400e8798
cmp byte [rcx + 0x19], 5
jb 0x1400e8798
mov rcx, qword [rcx + 0x10]
lea r8, [0x140152968]
mov edx, 0x1f
call fcn.140004968
lea rcx, [rbp - 0x30]
call fcn.1400dd384
lea rcx, [rbp - 0x80]
call fcn.1400dd384
mov eax, ebx
mov rcx, qword [rbp + 0x310]
xor rcx, rsp
call fcn.14013cc00
mov rbx, qword [rsp + 0x468]
add rsp, 0x420
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret