Function at 0x1400fbd10
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x460]
sub rsp, 0x560
mov rax, qword [0x14057b900]
xor rax, rsp
mov qword [rbp + 0x450], rax
mov rsi, rdx
mov r12, rcx
xor r15d, r15d
mov edx, r15d
movzx eax, word [rsi]
or eax, 0x20
sub eax, 0x61
lea r8d, [r15 + 2]
cmp eax, 0x19
ja 0x1400fbd67
cmp word [rsi + 2], 0x3a
cmove edx, r8d
mov rbx, 0xffffffffffffffff
mov edi, ebx
mov eax, edx
movzx ecx, word [rsi + rax*2]
test cx, cx
je 0x1400fc1e0
nop
mov eax, edi
cmp cx, 0x3a
jne 0x1400fbd91
mov edi, edx
test eax, eax
cmovns edi, eax
jmp 0x1400fbd9f
cmp cx, 0x5c
je 0x1400fbd9d
cmp cx, 0x2f
jne 0x1400fbd9f
mov edi, ebx
inc edx
movzx ecx, word [rsi + rdx*2]
test cx, cx
jne 0x1400fbd80
test edi, edi
js 0x1400fc1e0
lea eax, [rdi + 1]
cmp word [rsi + rax*2], r15w
je 0x1400fc1e0
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov eax, edi
lea r13, [rax + rax]
lea r15, [rsi + r13]
xor edx, edx
mov r14d, edx
cmp word [r15], dx
je 0x1400fbdea
nop dword [rax]
inc r14d
cmp word [r15 + r14*2], dx
jne 0x1400fbde0
mov ecx, r14d
inc rcx
mov rax, r8
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.14014fc5c
mov rcx, rax
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x60], r14d
mov dword [rsp + 0x64], r14d
lea r8d, [r14 + 1]
add r8, r8
mov rdx, r15
call fcn.1403ebbf0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xor eax, eax
mov r15d, eax
cmp word [rsi], ax
je 0x1400fbe40
inc r15d
cmp word [rsi + r15*2], ax
jne 0x1400fbe36
mov ecx, r15d
inc rcx
mov eax, 2
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.14014fc5c
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x54], r15d
lea r8d, [r15 + 1]
add r8, r8
mov rdx, rsi
mov rcx, rax
call fcn.1403ebbf0
nop
cmp edi, r15d
jae 0x1400fbe94
mov r15d, edi
mov dword [rsp + 0x50], edi
mov rcx, qword [rsp + 0x48]
xor eax, eax
mov word [rcx + r13], ax
cmp r14d, 6
jbe 0x1400fbeb3
mov eax, r14d
mov r13, qword [rsp + 0x58]
lea rcx, [r13 - 0xc]
lea rcx, [rcx + rax*2]
call fcn.1400fa730
test al, al
jne 0x1400fbec2
lea rcx, [rsp + 0x58]
call fcn.1400fab90
mov r13, qword [rsp + 0x58]
mov r14, qword [rsp + 0x48]
movzx eax, word [r14]
or eax, 0x20
sub eax, 0x61
cmp eax, 0x19
ja 0x1400fbf2f
cmp word [r14 + 2], 0x3a
jne 0x1400fbf2f
cmp edi, 2
je 0x1400fbef0
cmp edi, 3
jne 0x1400fbf2f
cmp word [r14 + 4], 0x5c
jne 0x1400fbf2f
xor esi, esi
mov qword [r12], rsi
mov qword [r12 + 8], rsi
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x18], rsi
mov dword [r12 + 0x20], esi
mov word [r12 + 0x24], si
lea rcx, [r12 + 0x28]
mov dword [rcx + 8], esi
mov rax, qword [rcx]
mov word [rax], si
cmp edi, 2
jne 0x1400fbf47
lea rdx, [rsp + 0x48]
call fcn.1400fab00
jmp 0x1400fbf47
xor r8d, r8d
mov rdx, r14
mov rcx, r12
call fcn.1400fbd10
test al, al
je 0x1400fc1cc
xor esi, esi
and dword [r12 + 0x20], 0xfffffbef
mov qword [r12], rsi
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rsi
mov ecx, r15d
inc rcx
mov eax, 2
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.14014fc5c
mov rdi, rax
mov qword [rsp + 0x78], rax
mov dword [rbp - 0x80], r15d
mov dword [rbp - 0x7c], r15d
lea r8d, [r15 + 1]
add r8, r8
mov rdx, r14
mov rcx, rax
call fcn.1403ebbf0
nop
mov eax, 8
mov ecx, eax
call fcn.14014fc5c
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x34], 3
mov word [rax], si
cmp rbx, 0xffffffffffffffff
je 0x1400fbffa
mov rax, qword [0x14059de00]
test rax, rax
je 0x1400fc16b
lea rdx, [rbp - 0x70]
mov rcx, rbx
call rax
test eax, eax
je 0x1400fc176
mov rax, qword [rbp - 0x70]
lea rdx, [rbp - 0x68]
jmp 0x1400fc05a
cmp qword [0x14059ddf8], 0
je 0x1400fc16b
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor r9d, r9d
lea r8, [rbp + 0x1f0]
xor edx, edx
mov rcx, rdi
call qword [0x14059ddf8]
mov rbx, rax
mov qword [rsp + 0x70], rax
cmp rax, 0xffffffffffffffff
jne 0x1400fc042
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x26
je 0x1400fc176
cmp rbx, 0xffffffffffffffff
je 0x1400fc176
mov rax, qword [rbp + 0x1f0]
lea rdx, [rbp + 0x1f8]
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x28]
call fcn.1400faa60
mov r15, r13
mov r13, qword [rsp + 0x28]
sub r13, r15
nop dword [rax]
nop dword [rax + rax]
movzx esi, word [r15 + r13]
movzx edi, word [r15]
lea r15, [r15 + 2]
cmp si, di
je 0x1400fc0e6
cmp esi, 0x61
jae 0x1400fc09d
movzx r14d, si
jmp 0x1400fc0bf
cmp esi, 0x7a
ja 0x1400fc0a8
lea r14d, [rsi - 0x20]
jmp 0x1400fc0bf
cmp esi, 0x7f
ja 0x1400fc0b3
movzx r14d, si
jmp 0x1400fc0bf
mov rcx, rsi
call qword [sym.imp.USER32.dll_CharUpperW]
mov r14, rax
cmp edi, 0x61
jb 0x1400fc0e0
cmp edi, 0x7a
ja 0x1400fc0cf
sub di, 0x20
jmp 0x1400fc0e0
cmp edi, 0x7f
jbe 0x1400fc0e0
mov rcx, rdi
call qword [sym.imp.USER32.dll_CharUpperW]
mov rdi, rax
cmp r14w, di
jne 0x1400fc150
test si, si
jne 0x1400fc080
mov esi, dword [rsp + 0x30]
cmp esi, 7
jbe 0x1400fc10c
lea eax, [rsi - 6]
cmp eax, esi
jae 0x1400fc10c
mov esi, eax
mov dword [rsp + 0x30], eax
mov rcx, qword [rsp + 0x28]
xor edx, edx
mov word [rcx + rax*2], dx
mov edx, esi
lea rcx, [r12 + 0x28]
call fcn.1400fa810
lea r8d, [rsi + 1]
mov ecx, dword [r12 + 0x30]
mov rax, qword [r12 + 0x28]
lea rcx, [rax + rcx*2]
add r8, r8
mov rdx, qword [rsp + 0x28]
call fcn.1403ebbf0
add dword [r12 + 0x30], esi
mov rax, qword [rsp + 0x38]
mov qword [r12], rax
mov byte [r12 + 0x24], 1
mov dil, 1
jmp 0x1400fc18d
mov rcx, qword [rsp + 0x28]
call fcn.14014f510
mov r13, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x78]
xor esi, esi
jmp 0x1400fbfa9
mov ecx, 0x78
call qword [sym.imp.KERNEL32.dll_SetLastError]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x26
jne 0x1400fc18a
lea ecx, [rax - 0x24]
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor dil, dil
mov rcx, qword [rsp + 0x28]
call fcn.14014f510
nop
mov rcx, qword [rsp + 0x78]
call fcn.14014f510
cmp rbx, 0xffffffffffffffff
je 0x1400fc1b2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
mov rcx, qword [rsp + 0x48]
call fcn.14014f510
nop
mov rcx, qword [rsp + 0x58]
call fcn.14014f510
jmp 0x1400fc597
mov rcx, r14
call fcn.14014f510
nop
mov rcx, r13
call fcn.14014f510
xor r15d, r15d
mov qword [rsp + 0x68], rbx
movzx eax, word [rsi]
cmp ax, 0x5c
je 0x1400fc1f4
cmp ax, 0x2f
jne 0x1400fc228
movzx eax, word [rsi + 2]
cmp ax, 0x5c
je 0x1400fc204
cmp ax, 0x2f
jne 0x1400fc228
cmp word [rsi + 4], 0x3f
jne 0x1400fc228
movzx eax, word [rsi + 6]
cmp ax, 0x5c
je 0x1400fc21b
cmp ax, 0x2f
jne 0x1400fc228
mov edx, 8
lea ecx, [rdx + 6]
mov r14d, edx
jmp 0x1400fc233
mov rdx, r15
mov ecx, 6
mov r14, r15
movzx eax, word [rsi + rdx]
or eax, 0x20
sub eax, 0x61
cmp eax, 0x19
ja 0x1400fc2f4
cmp word [rsi + rdx + 2], 0x3a
jne 0x1400fc2f4
movzx eax, word [rsi + rdx + 4]
cmp ax, 0x5c
je 0x1400fc267
cmp ax, 0x2f
jne 0x1400fc2f4
cmp word [rcx + rsi], 0
jne 0x1400fc2f4
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400fc570
test al, 0x10
je 0x1400fc570
mov qword [r12], r15
mov qword [r12 + 8], 0
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], 0
mov word [r12 + 0x24], 0
mov dword [r12 + 0x20], eax
lea rdx, [r14 + rsi]
lea rcx, [r12 + 0x28]
call fcn.1400faa60
cmp dword [r12 + 0x30], 2
jbe 0x1400fc2e1
mov dword [r12 + 0x30], 2
mov rax, qword [r12 + 0x28]
mov word [rax + 4], r15w
mov rdx, rsi
mov rcx, r12
call fcn.1400fc6a0
mov dil, 1
jmp 0x1400fc588
movzx eax, word [rsi]
cmp ax, 0x5c
je 0x1400fc307
cmp ax, 0x2f
jne 0x1400fc570
mov rcx, rsi
cmp word [rsi + 2], 0
jne 0x1400fc36d
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, eax
cmp eax, 0xffffffff
je 0x1400fc570
test cl, 0x10
je 0x1400fc570
mov qword [r12], r15
mov qword [r12 + 8], 0
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], 0
mov word [r12 + 0x24], 0
mov dword [r12 + 0x30], r15d
mov rax, qword [r12 + 0x28]
mov word [rax], r15w
mov dword [r12 + 0x20], ecx
mov dil, 1
jmp 0x1400fc588
call fcn.140104590
mov dword [rsp + 0x20], eax
test eax, eax
je 0x1400fc570
mov ecx, eax
lea rdi, [rsi + rcx*2]
cmp word [rdi], 0
je 0x1400fc570
mov rcx, rdi
call fcn.1401044d0
test eax, eax
jns 0x1400fc570
mov rdx, rsi
mov rcx, r12
call fcn.1400fc6a0
test al, al
je 0x1400fc3c2
lea rcx, [r12 + 0x28]
mov rdx, rdi
call fcn.1400faa60
mov dil, 1
jmp 0x1400fc588
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400fa970
nop
mov r14d, dword [rsp + 0x54]
mov r13d, dword [rsp + 0x50]
cmp r14d, r13d
jne 0x1400fc45f
mov r14d, r13d
shr r14d, 1
add r14d, 0x10
add r14d, r13d
and r14d, 0xfffffff0
dec r14d
cmp r14d, r13d
jb 0x1400fc409
cmp r14d, 0x3ffffffe
jbe 0x1400fc40f
mov r14d, 0x3ffffffe
cmp r14d, r13d
jbe 0x1400fc639
mov ecx, r14d
inc rcx
mov eax, 2
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.14014fc5c
mov r15, rax
lea r8d, [r13 + 1]
add r8, r8
mov rdx, qword [rsp + 0x48]
mov rcx, rax
call fcn.1403ebbf0
mov rcx, qword [rsp + 0x48]
call fcn.14014f510
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x54], r14d
jmp 0x1400fc464
mov r15, qword [rsp + 0x48]
mov word [r15 + r13*2], 0x5c
inc r13d
mov eax, r13d
add rax, rax
mov qword [rsp + 0x58], rax
xor edi, edi
mov word [rax + r15], di
mov dword [rsp + 0x50], r13d
cmp r14d, r13d
jne 0x1400fc502
mov edi, r13d
shr edi, 1
add edi, 0x10
add edi, r13d
and edi, 0xfffffff0
dec edi
cmp edi, r13d
jb 0x1400fc4a7
cmp edi, 0x3ffffffe
jbe 0x1400fc4ac
mov edi, 0x3ffffffe
cmp edi, r13d
jbe 0x1400fc61f
mov edx, edi
inc rdx
mov eax, 2
mul rdx
cmovo rax, rbx
mov rcx, rax
call fcn.14014fc5c
mov rbx, rax
inc r13d
mov r8d, r13d
add r8, r8
mov rdx, r15
mov rcx, rax
call fcn.1403ebbf0
mov rcx, r15
call fcn.14014f510
mov r15, rbx
mov qword [rsp + 0x48], rbx
mov dword [rsp + 0x54], edi
mov rax, qword [rsp + 0x58]
xor edi, edi
jmp 0x1400fc505
inc r13d
mov word [r15 + rax], 0x2a
mov word [r15 + r13*2], di
mov dword [rsp + 0x50], r13d
xor bl, bl
mov r8, r12
mov rdx, r15
lea rcx, [rsp + 0x68]
call fcn.1400fbc50
test al, al
je 0x1400fc547
lea rcx, [r12 + 0x28]
mov rax, qword [rcx]
cmp word [rax], 0x2e
jne 0x1400fc545
cmp word [rax + 2], 0
je 0x1400fc601
mov bl, 1
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, eax
test bl, bl
jne 0x1400fc5c5
cmp ecx, 0xffffffff
je 0x1400fc568
test cl, 0x10
jne 0x1400fc5c5
mov rcx, r15
call fcn.14014f510
mov r8, r12
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.1400fbc50
movzx edi, al
mov rbx, qword [rsp + 0x68]
cmp rbx, 0xffffffffffffffff
je 0x1400fc597
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
movzx eax, dil
mov rcx, qword [rbp + 0x450]
xor rcx, rsp
call fcn.14014f4f0
mov rbx, qword [rsp + 0x5b0]
add rsp, 0x560
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [r12], rdi
mov qword [r12 + 8], 0
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], 0
mov word [r12 + 0x24], 0
mov eax, 0x10
cmp ecx, 0xffffffff
cmovne eax, ecx
mov dword [r12 + 0x20], eax
lea rcx, [r12 + 0x28]
mov eax, dword [rsp + 0x20]
lea rdx, [rsi + rax*2]
call fcn.1400faa60
nop
mov rcx, r15
call fcn.14014f510
mov dil, 1
jmp 0x1400fc583
mov dword [rsp + 0x40], 0x13329ac
lea rdx, [0x140576ae8]
lea rcx, [rsp + 0x40]
call fcn.140152094
int3
mov dword [rsp + 0x20], 0x13329ac
lea rdx, [0x140576ae8]
lea rcx, [rsp + 0x20]
call fcn.140152094
int3