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

Disassembly:
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x1d8]
sub rsp, 0x2d8
mov rax, qword [0x14017d140]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x48], r8
mov dword [rsp + 0x38], edx
mov rbx, rcx
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14011cbfa
test byte [rcx + 0x1c], 1
je 0x14011cbfa
cmp byte [rcx + 0x19], 5
jb 0x14011cbfa
mov rcx, qword [rcx + 0x10]
lea r8, [0x140012500]
mov edx, 0x1b
call fcn.14001dd24
xor ecx, ecx
or rsi, 0xffffffffffffffff
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rsi
mov dword [rsp + 0x40], ecx
test rbx, rbx
jne 0x14011cc25
mov edi, 0x80070057
mov rsi, rcx
jmp 0x14011cca9
mov rax, rsi
inc rax
cmp word [rbx + rax*2], cx
jne 0x14011cc28
test eax, eax
je 0x14011cc3e
dec eax
cmp word [rbx + rax*2], 0x5c
jne 0x14011cc18
lea rcx, [rsp + 0x70]
xor edx, edx
mov r8d, 0x250
call sub.msvcrt.dll_memset
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1400ae318
xor ecx, ecx
mov edi, eax
test eax, eax
jns 0x14011cd26
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14011cca4
test byte [rcx + 0x1c], 1
je 0x14011cca4
cmp byte [rcx + 0x19], 2
jb 0x14011cca4
mov edx, 0x1c
mov dword [rsp + 0x20], edi
mov rcx, qword [rcx + 0x10]
lea r8, [0x140012500]
mov r9, rbx
call fcn.14001ecbc
mov rsi, qword [rsp + 0x30]
lea rbx, [0x14017d3a8]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x14011ccce
mov rcx, rax
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test rsi, rsi
je 0x14011ccdc
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x14017d3a8]
cmp rcx, rbx
je 0x14011cd09
test byte [rcx + 0x1c], 1
je 0x14011cd09
cmp byte [rcx + 0x19], 5
jb 0x14011cd09
mov rcx, qword [rcx + 0x10]
lea r8, [0x140012500]
mov edx, 0x26
call fcn.14001dd24
mov eax, edi
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.140168920
add rsp, 0x2d8
pop rdi
pop rsi
pop rbx
pop rbp
ret
test dword [rsp + 0x40], reloc.ADVAPI32.dll_TraceEvent
je 0x14011cd72
mov edi, 0x80070005
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14011cca4
test byte [rcx + 0x1c], 1
je 0x14011cca4
cmp byte [rcx + 0x19], 2
jb 0x14011cca4
mov edx, 0x1d
mov dword [rsp + 0x20], reloc.ADVAPI32.dll_TraceEvent
jmp 0x14011cc91
mov r8d, dword [rsp + 0x38]
lea eax, [r8 - 1]
cmp eax, 0x13
ja 0x14011d161
mov rax, rsi
inc rax
cmp word [rbx + rax*2], cx
jne 0x14011cd87
add eax, 0x106
mov ecx, reloc.ADVAPI32.dll_TraceEvent
mov qword [rsp + 0x40], rax
add rax, rax
cmp rax, rcx
jbe 0x14011cdb1
mov edi, 0x80070216
jmp 0x14011cca4
mov eax, eax
mov ecx, eax
mov qword [rsp + 0x68], rax
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rdi, rax
mov qword [rsp + 0x30], rax
test rax, rax
jne 0x14011cdd7
mov edi, 0x8007000e
jmp 0x14011cca4
mov r8, qword [rsp + 0x68]
xor edx, edx
mov rcx, rdi
call sub.msvcrt.dll_memset
mov rdx, qword [rsp + 0x40]
mov r8, rbx
mov rcx, rdi
call fcn.140052508
mov edi, eax
test eax, eax
js 0x14011cca4
lea r8, [rsp + 0x58]
lea rdx, [0x140004f10]
mov rcx, rbx
call fcn.1400a9ab8
mov edi, eax
test eax, eax
js 0x14011cca4
mov rdi, qword [rsp + 0x58]
lea rdx, [rsp + 0x70]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov qword [rsp + 0x60], rax
cmp rax, rsi
jne 0x14011ced5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp eax, 2
je 0x14011ce84
mov rcx, qword [0x14017d3a8]
lea rbx, [0x14017d3a8]
cmp rcx, rbx
je 0x14011d0f8
test byte [rcx + 0x1c], 1
je 0x14011d0f8
cmp byte [rcx + 0x19], 2
jb 0x14011d0f8
mov edx, 0x1f
mov r9, rdi
jmp 0x14011d0e4
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.14011c728
mov edi, eax
test eax, eax
jns 0x14011cca4
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14011cca4
test byte [rcx + 0x1c], 1
je 0x14011cca4
cmp byte [rcx + 0x19], 2
jb 0x14011cca4
mov edx, 0x20
jmp 0x14011cc8d
mov rax, qword [rsp + 0x30]
xor edx, edx
inc rsi
cmp word [rax + rsi*2], dx
jne 0x14011cedc
movsxd rax, esi
mov qword [rsp + 0x68], rax
lea rsi, [rbp - 0x64]
lea rdi, [0x140009d84]
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x14011cff1
lea rsi, [rbp - 0x64]
lea rdi, [0x140009d88]
mov ecx, 3
repe cmpsw word [rsi], word [rdi]
je 0x14011cff1
mov rsi, qword [rsp + 0x30]
lea r8, [rbp - 0x64]
mov word [rsi + rax*2], dx
mov rdx, qword [rsp + 0x40]
mov rcx, rsi
call fcn.14006892c
mov edi, eax
test eax, eax
js 0x14011cca9
test dword [rsp + 0x70], reloc.ADVAPI32.dll_TraceEvent
je 0x14011cf5a
cmp dword [rbp - 0x6c], reloc.ADVAPI32.dll_TraceEvent
jne 0x14011d015
test byte [rsp + 0x70], 0x10
je 0x14011cfd9
cmp dword [rsp + 0x38], 0x14
jae 0x14011cfd9
mov rdx, qword [rsp + 0x40]
lea r8, [0x140001800]
mov rcx, rsi
call fcn.14006892c
mov edi, eax
test eax, eax
js 0x14011cca9
mov edx, dword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
inc edx
mov rcx, rsi
call fcn.14011cb90
mov edi, eax
test eax, eax
jns 0x14011cff1
mov rcx, qword [0x14017d3a8]
lea rbx, [0x14017d3a8]
cmp rcx, rbx
je 0x14011ccb0
test byte [rcx + 0x1c], 1
je 0x14011ccb0
cmp byte [rcx + 0x19], 2
jb 0x14011ccb0
mov edx, 0x22
jmp 0x14011d092
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov rcx, rsi
call fcn.14011c728
mov edi, eax
test eax, eax
js 0x14011d062
mov rcx, qword [rsp + 0x60]
lea rdx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
xor edx, edx
test eax, eax
je 0x14011d0ae
mov rax, qword [rsp + 0x68]
jmp 0x14011ceed
mov edi, 0x80070005
mov rcx, qword [0x14017d3a8]
lea rbx, [0x14017d3a8]
cmp rcx, rbx
je 0x14011ccb0
test byte [rcx + 0x1c], 1
je 0x14011ccb0
cmp byte [rcx + 0x19], 2
jb 0x14011ccb0
mov rcx, qword [rcx + 0x10]
lea r8, [0x140012500]
mov edx, 0x21
mov r9, rsi
call fcn.14001ec40
jmp 0x14011ccb0
mov rcx, qword [0x14017d3a8]
lea rbx, [0x14017d3a8]
cmp rcx, rbx
je 0x14011ccb0
test byte [rcx + 0x1c], 1
je 0x14011ccb0
cmp byte [rcx + 0x19], 2
jb 0x14011ccb0
mov edx, 0x23
mov rcx, qword [rcx + 0x10]
lea r8, [0x140012500]
mov r9, rsi
mov dword [rsp + 0x20], edi
call fcn.14001ecbc
jmp 0x14011ccb0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp eax, 0x12
je 0x14011d110
mov rcx, qword [0x14017d3a8]
lea rbx, [0x14017d3a8]
cmp rcx, rbx
je 0x14011d0f8
test byte [rcx + 0x1c], 1
je 0x14011d0f8
cmp byte [rcx + 0x19], 2
jb 0x14011d0f8
mov r9, qword [rsp + 0x58]
mov edx, 0x24
mov rcx, qword [rcx + 0x10]
lea r8, [0x140012500]
mov dword [rsp + 0x20], eax
call fcn.14001ecbc
movzx edi, si
or edi, 0x80070000
test esi, esi
cmovle edi, esi
mov rsi, qword [rsp + 0x30]
jmp 0x14011ccb0
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.14011c728
mov edi, eax
test eax, eax
jns 0x14011cca4
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14011cca4
test byte [rcx + 0x1c], 1
je 0x14011cca4
cmp byte [rcx + 0x19], 2
jb 0x14011cca4
mov edx, 0x25
jmp 0x14011cc8d
mov edi, 0x80070057
mov rcx, qword [0x14017d3a8]
lea rbx, [0x14017d3a8]
cmp rcx, rbx
je 0x14011d106
test byte [rcx + 0x1c], 1
je 0x14011d106
cmp byte [rcx + 0x19], 2
jb 0x14011d106
mov rcx, qword [rcx + 0x10]
mov r9d, r8d
lea r8, [0x140012500]
mov edx, 0x1e
mov dword [rsp + 0x20], reloc.ADVAPI32.dll_TraceEvent
call fcn.1400285b4
jmp 0x14011d106