Function at 0x140111c0c
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 - 0x330]
sub rsp, 0x430
mov rax, qword [0x14017d140]
xor rax, rsp
mov qword [rbp + 0x320], rax
mov rax, qword [rbp + 0x390]
mov r12, qword [rbp + 0x398]
mov qword [rsp + 0x78], r9
mov qword [rbp - 0x80], rax
mov rdi, r8
mov qword [rsp + 0x70], r8
mov r14d, edx
mov dword [rsp + 0x58], edx
mov r13, rcx
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x140111c99
test byte [rcx + 0x1c], 1
je 0x140111c99
cmp byte [rcx + 0x19], 5
jb 0x140111c99
mov rcx, qword [rcx + 0x10]
lea r8, [0x140011ce8]
mov edx, 0x16
call fcn.14001dd24
mov eax, dword [rbp - 0x54]
xor edx, edx
lea rcx, [rbp - 0x50]
and eax, 0xfffffffe
lea r8d, [rdx + 0x18]
mov qword [rbp - 0x60], rcx
and eax, 0xfffffffb
lea rcx, [rbp]
mov dword [rbp - 0x68], r8d
or eax, 2
mov qword [rbp - 0x10], rcx
mov dword [rbp - 0x18], r8d
mov dword [rbp - 0x54], eax
mov eax, dword [rbp - 4]
lea rcx, [rbp + 0xd0]
and eax, 0xfffffffe
mov r8d, 0x250
mov ebx, edx
and eax, 0xfffffffb
mov qword [rsp + 0x50], rdx
mov esi, edx
or eax, 2
mov qword [rsp + 0x38], rdx
mov r15d, edx
mov dword [rbp - 4], eax
mov eax, r14d
mov qword [rsp + 0x40], rdx
shr eax, 1
mov qword [rbp - 0x70], rdx
mov dword [rbp - 0x58], edx
and al, 1
mov word [rbp - 0x50], dx
mov qword [rbp - 0x20], rdx
mov dword [rbp - 8], edx
mov word [rbp], dx
mov dword [rsp + 0x34], edx
mov dword [rsp + 0x48], eax
call sub.msvcrt.dll_memset
mov eax, r14d
and eax, 4
mov byte [r12], bl
mov dword [rsp + 0x4c], eax
jne 0x140111d43
cmp dword [r13 + 0x10], 0x64
jbe 0x140111d43
mov ebx, 0x80070057
jmp 0x140112274
test dword [r13], reloc.ADVAPI32.dll_TraceEvent
mov byte [r13 + 0x14], 1
je 0x140111d9b
mov rcx, qword [0x14017d3a8]
lea rdi, [0x14017d3a8]
cmp rcx, rdi
je 0x14011227b
test byte [rcx + 0x1c], 1
je 0x14011227b
cmp byte [rcx + 0x19], 5
jb 0x14011227b
mov r9, qword [r13 + 8]
mov rcx, qword [rcx + 0x10]
lea r8, [0x140011ce8]
mov edx, 0x17
call fcn.14001ec40
jmp 0x14011227b
lea rdx, [rsp + 0x50]
mov rcx, rdi
call fcn.140111694
mov ebx, eax
test eax, eax
jns 0x140111df6
mov rcx, qword [0x14017d3a8]
lea rdi, [0x14017d3a8]
cmp rcx, rdi
je 0x14011227b
test byte [rcx + 0x1c], 1
je 0x14011227b
cmp byte [rcx + 0x19], 2
jb 0x14011227b
mov rcx, qword [rcx + 0x10]
lea r8, [0x140011ce8]
mov edx, 0x18
mov r9d, eax
call fcn.14001de24
jmp 0x14011227b
mov rdx, qword [r13 + 8]
lea rcx, [rbp + 0x80]
call fcn.140105b04
mov rdx, qword [rsp + 0x50]
lea rcx, [rbp + 0x30]
mov rdi, rax
call fcn.140105b04
lea r8, [rbp - 0x20]
mov rcx, rax
mov rdx, rdi
call fcn.14010f110
lea rcx, [rbp + 0x30]
call fcn.140105bb4
lea rcx, [rbp + 0x80]
call fcn.140105bb4
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x20]
call fcn.14010fa9c
mov rsi, qword [rsp + 0x38]
xor ecx, ecx
mov ebx, eax
test eax, eax
js 0x140112274
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], cx
jne 0x140111e5e
add eax, 0x106
mov ebx, eax
lea rdi, [rax + rax]
mov qword [rsp + 0x68], rbx
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov r14, rax
test rax, rax
jne 0x140111e92
mov ebx, 0x8007000e
jmp 0x140112274
mov r8, rdi
xor edx, edx
mov rcx, r14
call sub.msvcrt.dll_memset
mov r8, rsi
mov rdx, rbx
mov rcx, r14
call fcn.140052508
xor edx, edx
mov ebx, eax
test eax, eax
js 0x14011226b
or r8, 0xffffffffffffffff
mov rdi, r8
inc rdi
cmp word [r14 + rdi*2], dx
jne 0x140111ec0
mov eax, edi
inc edi
mov ecx, 0x5c
mov word [r14 + rax*2], cx
mov word [r14 + rdi*2], dx
test rsi, rsi
jne 0x140111eee
mov rax, qword [rbp - 0x60]
mov word [rax], dx
mov dword [rbp - 0x58], edx
jmp 0x140111f04
inc r8
cmp word [rsi + r8*2], dx
jne 0x140111eee
lea rcx, [rbp - 0x70]
mov rdx, rsi
call fcn.140105ff4
lea rdx, [0x140009d7c]
lea rcx, [rbp - 0x70]
mov r8d, 2
call fcn.1401061b4
mov rcx, qword [rbp - 0x60]
lea rdx, [rbp + 0xd0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov qword [rsp + 0x60], rax
cmp rax, 0xffffffffffffffff
jne 0x140111f9b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp eax, 2
je 0x140111f92
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x140111f7f
test byte [rcx + 0x1c], 1
je 0x140111f7f
cmp byte [rcx + 0x19], 2
jb 0x140111f7f
mov r9, qword [rbp - 0x60]
mov rcx, qword [rcx + 0x10]
lea r8, [0x140011ce8]
mov edx, 0x19
mov dword [rsp + 0x20], edi
call fcn.14001ecbc
movzx ebx, di
or ebx, 0x80070000
test edi, edi
cmovle ebx, edi
jmp 0x14011226b
xor eax, eax
mov ebx, eax
jmp 0x14011226b
movsxd rax, edi
mov qword [rbp - 0x78], rax
lea rsi, [rbp + 0xfc]
lea rdi, [0x140009d84]
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x14011219e
lea rsi, [rbp + 0xfc]
lea rdi, [0x140009d88]
mov ecx, 3
repe cmpsw word [rsi], word [rdi]
je 0x14011219e
mov rdx, qword [rsp + 0x68]
lea r8, [rbp + 0xfc]
xor esi, esi
mov rcx, r14
mov word [r14 + rax*2], si
call fcn.14006892c
mov ebx, eax
test eax, eax
js 0x140112257
mov edx, dword [rbp + 0xd0]
test dl, 0x10
je 0x140112123
bt edx, 0xa
jb 0x140112123
cmp dword [rsp + 0x4c], esi
jne 0x140112077
cmp dword [r13 + 0x10], 0x64
jne 0x140112077
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x1401121a0
test byte [rcx + 0x1c], 1
je 0x1401121a0
cmp byte [rcx + 0x19], 3
jb 0x1401121a0
mov rcx, qword [rcx + 0x10]
lea edx, [rsi + 0x1a]
lea r9, [rbp + 0xfc]
lea r8, [0x140011ce8]
mov dword [rsp + 0x20], DeleteCriticalSection
call fcn.14001ecbc
jmp 0x1401121a0
test byte [rsp + 0x58], 8
mov edi, dword [rsp + 0x34]
jne 0x1401120d5
cmp edi, 0x64
jb 0x1401120d5
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x1401120c9
test byte [rcx + 0x1c], 1
je 0x1401120c9
cmp byte [rcx + 0x19], 4
jb 0x1401120c9
mov rax, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x10]
mov edx, 0x1b
lea r9d, [rdx + 0x49]
lea r8, [0x140011ce8]
mov qword [rsp + 0x20], rax
call fcn.14006beb4
mov rax, qword [rbp - 0x80]
mov byte [rax], 1
jmp 0x1401121a0
mov r8d, dword [r13 + 0x10]
lea r9, [rsp + 0x40]
lea rcx, [rbp + 0xfc]
inc r8d
call fcn.1401111dc
mov r15, qword [rsp + 0x40]
mov ebx, eax
test eax, eax
js 0x140112257
mov rcx, qword [rsp + 0x70]
mov rdx, r15
call fcn.1401112dc
mov ebx, eax
test eax, eax
js 0x140112257
inc edi
mov r15, rsi
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x34], edi
jmp 0x1401121a0
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0xd0]
mov rcx, r14
mov byte [rsp + 0x30], 1
call fcn.1401118f0
mov ebx, eax
test eax, eax
jns 0x140112194
mov al, byte [rsp + 0x30]
mov byte [r12], al
cmp byte [rsp + 0x48], sil
je 0x1401121bf
test al, al
je 0x1401121bf
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x140112190
test byte [rcx + 0x1c], 1
je 0x140112190
cmp byte [rcx + 0x19], 4
jb 0x140112190
mov rcx, qword [rcx + 0x10]
lea r8, [0x140011ce8]
mov edx, 0x1c
mov r9, r14
mov dword [rsp + 0x20], ebx
call fcn.14001ecbc
mov ebx, esi
jmp 0x1401121a0
mov rax, qword [rsp + 0x78]
inc qword [rax]
jmp 0x1401121a0
xor esi, esi
mov rcx, qword [rsp + 0x60]
lea rdx, [rbp + 0xd0]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x140112200
mov rax, qword [rbp - 0x78]
jmp 0x140111fa2
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14011225b
test byte [rcx + 0x1c], 1
je 0x14011225b
cmp byte [rcx + 0x19], 2
jb 0x14011225b
mov rcx, qword [rcx + 0x10]
lea r8, [0x140011ce8]
mov edx, 0x1d
mov r9, r14
mov dword [rsp + 0x20], ebx
call fcn.14001ecbc
jmp 0x14011225b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp eax, 0x12
je 0x14011225b
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x140112249
test byte [rcx + 0x1c], 1
je 0x140112249
cmp byte [rcx + 0x19], 2
jb 0x140112249
mov r9, qword [rbp - 0x60]
mov rcx, qword [rcx + 0x10]
lea r8, [0x140011ce8]
mov edx, 0x1e
mov dword [rsp + 0x20], edi
call fcn.14001ecbc
movzx ebx, di
or ebx, 0x80070000
test edi, edi
cmovle ebx, edi
mov byte [r12], sil
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rsi, qword [rsp + 0x38]
mov rcx, r14
call qword [sym.imp.ole32.dll_CoTaskMemFree]
lea rdi, [0x14017d3a8]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.msvcrt.dll_free]
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_free]
xor esi, esi
test r15, r15
je 0x1401122ad
mov rcx, qword [r15 + 8]
call qword [sym.imp.msvcrt.dll_free]
mov rcx, r15
mov qword [r15 + 8], rsi
call qword [sym.imp.msvcrt.dll_free]
mov rcx, qword [0x14017d3a8]
cmp rcx, rdi
je 0x1401122da
test byte [rcx + 0x1c], 1
je 0x1401122da
cmp byte [rcx + 0x19], 5
jb 0x1401122da
mov rcx, qword [rcx + 0x10]
lea r8, [0x140011ce8]
mov edx, 0x1f
call fcn.14001dd24
lea rcx, [rbp - 0x20]
call fcn.140105bb4
lea rcx, [rbp - 0x70]
call fcn.140105bb4
mov eax, ebx
mov rcx, qword [rbp + 0x320]
xor rcx, rsp
call fcn.140168920
mov rbx, qword [rsp + 0x478]
add rsp, 0x430
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret