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

Disassembly:
push rbx
push rbp
push rsi
sub rsp, 0x50
mov rbx, rcx
xor ecx, ecx
mov rsi, rdx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x40], rcx
mov word [rsp + 0x80], cx
mov dword [rsp + 0x20], ecx
mov rcx, rdx
mov dword [rsp + 0x28], 0xffffffff
call fcn.140019110
test rax, rax
jne 0x140020139
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14002012e
or r8d, 0xffffffff
xor edx, edx
mov rcx, rbx
add rsp, 0x50
pop rsi
pop rbp
pop rbx
jmp fcn.14001fb60
or eax, 0xffffffff
add rsp, 0x50
pop rsi
pop rbp
pop rbx
ret
mov rbp, qword [rsp + 0x40]
mov qword [rsp + 0x70], rdi
nop word [rax + rax]
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea rax, [rsi + rcx*2 - 4]
cmp rax, rsi
jbe 0x14002017f
nop dword [rax]
sub rax, 2
cmp word [rax], 0x2f
je 0x140020183
cmp rax, rsi
ja 0x140020170
sub rax, 2
lea rdi, [rax + 2]
xor ecx, ecx
movzx eax, word [rdi]
mov qword [rsp + 0x48], rdi
mov word [rdi], cx
mov word [rsp + 0x88], ax
test rbp, rbp
je 0x1400201ad
movzx ecx, word [rsp + 0x80]
mov word [rbp], cx
mov rcx, rbx
mov rbp, rdi
mov word [rsp + 0x80], ax
call fcn.14001e270
mov qword [rsp + 0x38], rax
test rax, rax
jne 0x1400201cf
cmp rdi, rsi
ja 0x140020150
lea rcx, [rdi + 2]
mov edx, 0x2f
mov qword [rsp + 0x40], rdi
call fcn.140029538
or rcx, 0xffffffffffffffff
mov rdx, rax
mov qword [rsp + 0x80], rax
test rax, rax
je 0x14002022c
add rdx, 2
xor eax, eax
mov word [rdx - 2], ax
mov rdi, rdx
mov qword [rsp + 0x80], rdx
repne scasw ax, word [rdi]
mov rdi, rbx
not rcx
lea rdx, [rcx - 1]
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
not rcx
lea rcx, [rdx + rcx + 0x100]
jmp 0x14002023c
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
add rcx, 0xff
mov rsi, qword [rsp + 0x38]
mov ebp, dword [rsp + 0x28]
test rsi, rsi
je 0x140020409
add rcx, rcx
call fcn.140022488
mov rdi, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x140020409
mov rdx, rax
sub rdx, rbx
nop dword [rax]
movzx ecx, word [rbx]
add rbx, 2
mov word [rdx + rbx - 2], cx
test cx, cx
jne 0x140020270
or rcx, 0xffffffffffffffff
xor eax, eax
repne scasw ax, word [rdi]
mov rax, qword [rsp + 0x40]
not rcx
dec rcx
mov qword [rsp + 0x28], rcx
test rax, rax
je 0x1400202aa
movzx edx, word [rsp + 0x88]
mov word [rax], dx
mov rcx, rax
call fcn.140019110
test rax, rax
jne 0x1400202be
or ebp, ebp
jmp 0x14002042b
mov rcx, rsi
call fcn.14001e500
mov rbx, rax
test rax, rax
je 0x14002042b
nop word [rax + rax]
lea rdi, [0x14004a4b0]
mov rsi, rbx
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x1400203ee
lea rdi, [0x14004af10]
mov rsi, rbx
mov ecx, 3
repe cmpsw word [rsi], word [rdi]
je 0x1400203ee
mov rcx, qword [rsp + 0x48]
xor r8d, r8d
mov rdx, rbx
call fcn.1400195a0
test eax, eax
je 0x1400203ee
mov rax, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
lea rcx, [rax + rax]
sub rcx, rbx
add rcx, r9
nop dword [rax]
movzx eax, word [rbx]
add rbx, 2
mov word [rcx + rbx - 2], ax
test ax, ax
jne 0x140020340
mov rsi, qword [rsp + 0x80]
test rsi, rsi
je 0x1400203b4
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r9
repne scasw ax, word [rdi]
mov eax, 0x2f
not rcx
lea rdi, [r9 + rcx*2 - 2]
mov rcx, rsi
lea rdx, [rdi + 2]
mov word [rdi], ax
sub rdx, rsi
nop word [rax + rax]
movzx eax, word [rcx]
add rcx, 2
mov word [rdx + rcx - 2], ax
test ax, ax
jne 0x140020390
lea rdx, [rdi + 2]
mov rcx, r9
call fcn.1400200d0
mov rsi, qword [rsp + 0x38]
jmp 0x1400203c7
mov rsi, qword [rsp + 0x38]
xor edx, edx
mov rcx, r9
mov r8d, dword [rsi + 0xc]
call fcn.14001fb60
mov rbx, qword [rsp + 0x30]
mov ebp, eax
mov rax, qword [rsp + 0x28]
xor ecx, ecx
mov word [rbx + rax*2], cx
test ebp, ebp
jne 0x1400203e7
mov dword [rsp + 0x20], 1
jmp 0x1400203f3
cmp ebp, 0xffffffff
jne 0x140020430
jmp 0x1400203f3
mov rsi, qword [rsp + 0x38]
mov rcx, rsi
call fcn.14001e500
mov rbx, rax
test rax, rax
jne 0x1400202e0
jmp 0x14002042b
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14002041e
movzx edx, word [rsp + 0x88]
mov word [rax], dx
or ebp, ebp
mov eax, 4
test rsi, rsi
cmovne ebp, eax
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x70]
test rsi, rsi
je 0x14002044b
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, rsi
call fcn.140021628
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x140020461
mov ecx, 0x2f
mov word [rax - 2], cx
test rbx, rbx
je 0x14002046e
mov rcx, rbx
call fcn.140021628
cmp ebp, 0xffffffff
jne 0x140020480
cmp dword [rsp + 0x20], 0
mov eax, 0
cmovne ebp, eax
mov eax, ebp
add rsp, 0x50
pop rsi
pop rbp
pop rbx
ret