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

Disassembly:
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x160]
sub rsp, 0x260
mov rax, qword [0x1800ee530]
xor rax, rsp
mov qword [rbp + 0x150], rax
mov rdi, rcx
xor r15d, r15d
xor ecx, ecx
mov r13d, r15d
mov esi, r15d
call qword [sym.imp.KERNEL32.dll_SetLastError]
test rdi, rdi
je 0x18001f71c
mov r12, 0xffffffffffffffff
mov edx, r15d
mov rax, r12
inc rax
cmp word [rdi + rax*2], dx
jne 0x18001f107
test rax, rax
je 0x18001f144
mov rcx, r15
nop dword [rax + rax]
movzx r8d, word [rdi + rcx*2]
cmp r8w, 0x5c
je 0x18001f71c
cmp r8w, 0x2f
je 0x18001f71c
inc edx
mov ecx, edx
cmp rcx, rax
jb 0x18001f120
mov qword [rsp + 0x298], rbx
mov ecx, 0x42ea
mov qword [rsp + 0x2a0], r14
call fcn.18001d720
test eax, eax
je 0x18001f337
xor edx, edx
lea rcx, [rsp + 0x42]
mov r8d, 0x208
call fcn.18006b2e0
mov rax, qword [0x1800ee018]
mov word [rsp + 0x40], r15w
test rax, rax
je 0x18001f22c
mov r14, r15
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x18001f1ec
mov r8d, 0x104
lea rdx, [rsp + 0x40]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov ebx, eax
test eax, eax
je 0x18001f1ec
movzx eax, word [rsp + 0x40]
cmp eax, 0x5c
je 0x18001f201
cmp eax, 0x2f
je 0x18001f201
mov ecx, eax
call fcn.18009e2c0
test eax, eax
je 0x18001f1ec
cmp word [rsp + 0x42], 0x3a
jne 0x18001f1ec
movzx eax, word [rsp + 0x44]
cmp ax, 0x5c
je 0x18001f201
cmp ax, 0x2f
je 0x18001f201
inc r14
lea rax, [0x1800ee018]
mov rax, qword [rax + r14*8]
test rax, rax
jne 0x18001f191
jmp 0x18001f225
lea rcx, [rsp + 0x40]
lea rcx, [rcx + rbx*2]
nop word [rax + rax]
cmp word [rcx], 0x5c
je 0x18001f21f
sub rcx, 2
add ebx, 0xffffffff
jne 0x18001f210
mov word [rsp + rbx*2 + 0x40], r15w
cmp word [rsp + 0x40], si
jne 0x18001f236
lea rcx, [rsp + 0x40]
call fcn.18001b990
lea rax, [rsp + 0x40]
mov rcx, r12
nop
inc rcx
cmp word [rax + rcx*2], si
jne 0x18001f240
mov rdx, r12
nop dword [rax]
inc rdx
cmp word [rdi + rdx*2], si
jne 0x18001f250
test rcx, rcx
je 0x18001f277
cmp word [rsp + rcx*2 + 0x3e], 0x5c
je 0x18001f277
test rdx, rdx
je 0x18001f277
cmp word [rdi], 0x5c
mov r14d, 1
jne 0x18001f27a
mov r14d, r15d
mov eax, r14d
add rax, rdx
add rax, rcx
mov ecx, 0x40
lea r15, [rax*2 + 2]
mov rdx, r15
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rbx, rax
test rax, rax
je 0x18001f315
lea r8, [rsp + 0x40]
mov rdx, r15
mov rcx, rax
call fcn.18001e0d0
test eax, eax
jns 0x18001f2c6
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor r15d, r15d
mov ebx, r15d
jmp 0x18001f318
test r14d, r14d
je 0x18001f2f2
lea r8, [0x1800c9b20]
mov rdx, r15
mov rcx, rbx
call fcn.18001e010
test eax, eax
jns 0x18001f2f2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor r15d, r15d
mov ebx, r15d
jmp 0x18001f318
mov r8, rdi
mov rdx, r15
mov rcx, rbx
call fcn.18001e010
test eax, eax
jns 0x18001f315
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor r15d, r15d
mov ebx, r15d
jmp 0x18001f318
xor r15d, r15d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x18001f32e
test al, 0x50
je 0x18001f590
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor ecx, ecx
call fcn.18001f750
mov r13, rax
mov rbx, r15
test rax, rax
je 0x18001f590
lea r14, [0x1800c9d80]
mov rdx, r12
nop word [rax + rax]
cmp word [r14 + rdx*2 + 2], si
lea rdx, [rdx + 1]
jne 0x18001f360
mov rcx, r12
nop
cmp word [rdi + rcx*2 + 2], si
lea rcx, [rcx + 1]
jne 0x18001f370
mov rax, r12
nop
cmp word [rdi + rax*2 + 2], si
lea rax, [rax + 1]
jne 0x18001f380
lea r9, [rdi + rax*2]
mov r11d, 0x5c
mov rax, r9
lea r10d, [r11 - 0x2e]
cmp rdi, r9
jae 0x18001f3ba
movzx r8d, word [rax]
cmp r11w, r8w
je 0x18001f3ba
cmp r10w, r8w
je 0x18001f3ba
sub rax, 2
cmp rdi, rax
jb 0x18001f3a1
cmp r10w, word [rax]
cmove r9, rax
mov rax, r12
inc rax
cmp word [r9 + rax*2], si
jne 0x18001f3c5
test rax, rax
je 0x18001f689
cmp rax, 1
je 0x18001f5b2
mov rbx, r12
inc rbx
cmp word [rdi + rbx*2], si
jne 0x18001f3e5
inc rbx
mov ecx, 0x40
lea rdx, [rbx + rbx]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rsi, rax
test rax, rax
je 0x18001f6e0
mov r8, rdi
mov rdx, rbx
mov rcx, rax
call fcn.18001e290
test eax, eax
jns 0x18001f42a
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rsi, r15
mov r11d, 0x5c
lea r10d, [r11 - 0x2e]
mov rbx, r15
test rsi, rsi
je 0x18001f590
cmp word [rsi + r12*2 + 2], 0
lea r12, [r12 + 1]
jne 0x18001f440
lea rdi, [rsi + r12*2]
mov rax, rdi
cmp rsi, rdi
jae 0x18001f478
nop word [rax + rax]
movzx ecx, word [rax]
cmp r11w, cx
je 0x18001f478
cmp r10w, cx
je 0x18001f478
sub rax, 2
cmp rsi, rax
jb 0x18001f460
cmp r10w, word [rax]
mov rdx, r14
cmove rdi, rax
mov rcx, rdi
call fcn.18009ec0c
test eax, eax
je 0x18001f4a6
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x18001f4a6
xor edx, edx
mov rcx, rsi
call fcn.18001ad50
mov rbx, rax
lea rdx, [0x1800c9d90]
mov rcx, rdi
call fcn.18009ec0c
test eax, eax
je 0x18001f556
test rbx, rbx
jne 0x18001f590
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x18001f518
lea rax, [0x1800c9da0]
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x20]
lea rax, [0x1800c9dd0]
mov r8, r13
mov qword [rsp + 0x28], rax
mov rdx, 0xffffffff80000002
lea rax, [0x1800c9e00]
mov rcx, rsi
mov qword [rsp + 0x30], rax
call fcn.18001b250
mov rbx, rax
test rax, rax
jne 0x18001f590
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x18001f55b
lea rax, [0x1800c9e30]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x20]
lea rax, [0x1800c9e70]
mov rdx, 0xffffffff80000002
mov rcx, rsi
mov qword [rsp + 0x28], rax
call fcn.18001aff0
mov rbx, rax
test rbx, rbx
jne 0x18001f590
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x18001f590
lea rax, [0x1800c9eb0]
mov qword [rsp + 0x28], r15
lea r9, [rsp + 0x20]
mov qword [rsp + 0x20], rax
mov r8, r13
mov rdx, 0xffffffff80000002
mov rcx, rsi
call fcn.18001b250
mov rbx, rax
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
test rbx, rbx
je 0x18001f6f4
xor ecx, ecx
jmp 0x18001f701
lea r14, [rcx - 1]
test r14, r14
js 0x18001f67a
mov rbx, r12
inc rbx
cmp word [rdi + rbx*2], si
jne 0x18001f5c2
cmp r14, rbx
mov ecx, 0x40
cmovb rbx, r14
inc rbx
lea rdx, [rbx + rbx]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rsi, rax
test rax, rax
jne 0x18001f606
mov rcx, r13
mov rbx, r15
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x18001f6f4
test rbx, rbx
je 0x18001f662
cmp rbx, 0x7fffffff
jbe 0x18001f61a
mov word [rax], r15w
jmp 0x18001f662
cmp r14, 0x7ffffffe
jbe 0x18001f629
mov word [rax], r15w
jmp 0x18001f662
sub r14, rbx
mov rcx, rsi
sub rdi, rsi
lea rax, [rbx + r14]
test rax, rax
je 0x18001f651
movzx eax, word [rcx + rdi]
test ax, ax
je 0x18001f651
mov word [rcx], ax
add rcx, 2
sub rbx, 1
jne 0x18001f632
test rbx, rbx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], r15w
jne 0x18001f66e
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rsi, r15
lea r14, [0x1800c9d80]
jmp 0x18001f42a
mov rsi, r15
lea r14, [0x1800c9d80]
jmp 0x18001f434
lea rax, [rcx + rdx]
mov ecx, 0x40
lea rbx, [rax*2 + 2]
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rsi, rax
test rax, rax
je 0x18001f42a
mov r8, rdi
mov rdx, rbx
mov rcx, rax
call fcn.18001e0d0
mov rcx, rsi
test eax, eax
js 0x18001f6da
mov r8, r14
mov rdx, rbx
call fcn.18001e010
test eax, eax
jns 0x18001f42a
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, r13
mov rbx, r15
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LocalFree]
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x18001f707
lea ecx, [rax + 0x7e]
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r14, qword [rsp + 0x2a0]
mov rax, rbx
mov rbx, qword [rsp + 0x298]
jmp 0x18001f729
mov ecx, 0xa0
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.180068690
mov rsi, qword [rsp + 0x2a8]
add rsp, 0x260
pop r15
pop r13
pop r12
pop rdi
pop rbp
ret