Function at 0x18001f190
Capabilities:
Check if file exists
Get disk information
Get file attributes

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb8
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov r12, rcx
xor edi, edi
mov dword [rsp + 0x20], edi
mov esi, 2
mov dword [rsp + 0x118], esi
mov r13, qword [rcx + 0x78]
cmp r13, qword [rcx + 0x80]
jbe 0x18001f1dd
call fcn.1800610c8
mov r15, qword [r12 + 0x60]
mov r8d, 1
lea rdx, [0x18008c340]
lea rcx, [rsp + 0x30]
call fcn.180024b80
nop
mov dword [rsp + 0x24], 1
mov r9d, 1
lea r8, [rsp + 0x24]
lea rdx, str.SFXLocal
lea rcx, [rsp + 0x30]
call fcn.180024a40
mov dword [rsp + 0x2c], 0
xor r9d, r9d
lea r8, [rsp + 0x2c]
lea rdx, str.SFXNetwork
lea rcx, [rsp + 0x30]
call fcn.180024a40
mov dword [rsp + 0x28], 1
mov r9d, 1
lea r8, [rsp + 0x28]
lea rdx, str.SFXOther
lea rcx, [rsp + 0x30]
call fcn.180024a40
nop word [rax + rax]
mov rbx, qword [r12 + 0x80]
cmp qword [r12 + 0x78], rbx
jbe 0x18001f284
call fcn.1800610c8
test r15, r15
je 0x18001f290
cmp r15, qword [r12 + 0x60]
je 0x18001f295
call fcn.1800610c8
cmp r13, rbx
je 0x18001f9e3
xor ebx, ebx
mov dword [rsp + 0x110], ebx
test r15, r15
jne 0x18001f2b6
call fcn.1800610c8
xor r11d, r11d
jmp 0x18001f2b9
mov r11, qword [r15]
cmp r13, qword [r11 + 0x20]
jb 0x18001f2c4
call fcn.1800610c8
cmp qword [r13 + 0x20], 8
jb 0x18001f2d5
lea rbp, [r13 + 8]
mov rcx, qword [rbp]
jmp 0x18001f2dc
lea rbp, [r13 + 8]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r14d, eax
cmp eax, 0xffffffff
jne 0x18001f2f0
call qword [sym.imp.KERNEL32.dll_GetLastError]
test r15, r15
jne 0x18001f2ff
call fcn.1800610c8
xor r11d, r11d
jmp 0x18001f302
mov r11, qword [r15]
cmp r13, qword [r11 + 0x20]
jb 0x18001f30d
call fcn.1800610c8
cmp qword [r13 + 0x20], 8
jb 0x18001f31a
mov rcx, qword [rbp]
jmp 0x18001f31d
mov rcx, rbp
call qword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
mov rcx, rax
lea rdx, [0x18008c3a8]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x18001f371
test r15, r15
jne 0x18001f346
call fcn.1800610c8
xor r11d, r11d
jmp 0x18001f349
mov r11, qword [r15]
cmp r13, qword [r11 + 0x20]
jb 0x18001f354
call fcn.1800610c8
cmp qword [r13 + 0x20], 8
jb 0x18001f361
mov rcx, qword [rbp]
jmp 0x18001f364
mov rcx, rbp
call fcn.18001a370
mov r11d, eax
jmp 0x18001f40f
test r15, r15
jne 0x18001f380
call fcn.1800610c8
xor r11d, r11d
jmp 0x18001f383
mov r11, qword [r15]
cmp r13, qword [r11 + 0x20]
jb 0x18001f38e
call fcn.1800610c8
cmp qword [r13 + 0x20], 8
jb 0x18001f39b
mov rcx, qword [rbp]
jmp 0x18001f39e
mov rcx, rbp
mov esi, dword [rsp + 0x28]
mov r12d, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x24]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
je 0x18001f3bf
mov edi, esi
cmp eax, 4
cmove edi, r12d
test edi, edi
je 0x18001f843
test r15, r15
jne 0x18001f3d6
call fcn.1800610c8
xor r11d, r11d
jmp 0x18001f3d9
mov r11, qword [r15]
cmp r13, qword [r11 + 0x20]
jb 0x18001f3e4
call fcn.1800610c8
cmp qword [r13 + 0x20], 8
jb 0x18001f3f1
mov rcx, qword [rbp]
jmp 0x18001f3f4
mov rcx, rbp
call fcn.18001a370
mov r11d, eax
mov r12, qword [rsp + 0x100]
mov edi, dword [rsp + 0x20]
mov esi, dword [rsp + 0x118]
test r11d, r11d
je 0x18001f852
cmp r11d, 1
je 0x18001f42a
cmp r11d, 7
je 0x18001f42a
cmp r11d, 0xf
jne 0x18001f436
mov ebx, 2
mov dword [rsp + 0x110], ebx
cmp r11d, 0xa
jne 0x18001f487
or ebx, 3
mov dword [rsp + 0x110], ebx
mov rcx, qword [r12 + 0x80]
sub rcx, qword [r12 + 0x78]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 1
jne 0x18001f509
or ebx, 4
mov dword [rsp + 0x110], ebx
jmp 0x18001f509
cmp r11d, 0xf
je 0x18001f499
cmp r11d, 3
je 0x18001f499
cmp r11d, 4
jne 0x18001f4a3
or ebx, 2
mov dword [rsp + 0x110], ebx
cmp r11d, 5
je 0x18001f4c1
cmp r11d, 6
je 0x18001f4c1
cmp r11d, 0xc
je 0x18001f4c1
cmp r11d, 0xb
je 0x18001f4c1
cmp r11d, 0xd
jne 0x18001f4cb
or ebx, 2
mov dword [rsp + 0x110], ebx
cmp r11d, 0x10
jne 0x18001f509
mov rcx, qword [r12 + 0x80]
sub rcx, qword [r12 + 0x78]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 1
jne 0x18001f509
or ebx, 4
mov dword [rsp + 0x110], ebx
mov ecx, r11d
call fcn.180019b40
test eax, eax
je 0x18001f51f
or ebx, 1
mov dword [rsp + 0x110], ebx
test r14b, 0x10
je 0x18001f6f0
mov esi, 1
mov dword [rsp + 0x110], esi
test r15, r15
jne 0x18001f544
call fcn.1800610c8
xor r11d, r11d
jmp 0x18001f547
mov r11, qword [r15]
cmp r13, qword [r11 + 0x20]
jb 0x18001f552
call fcn.1800610c8
cmp qword [r13 + 0x18], rsi
jbe 0x18001f5a3
test r15, r15
jne 0x18001f567
call fcn.1800610c8
xor r11d, r11d
jmp 0x18001f56a
mov r11, qword [r15]
cmp r13, qword [r11 + 0x20]
jb 0x18001f575
call fcn.1800610c8
cmp qword [r13 + 0x18], rsi
ja 0x18001f580
call fcn.18005e25c
cmp qword [r13 + 0x20], 8
jb 0x18001f58b
mov rbp, qword [rbp]
mov eax, Ordinal_60
cmp ax, word [rbp + 2]
mov eax, 5
cmovne esi, eax
mov dword [rsp + 0x110], esi
or edi, esi
mov dword [rsp + 0x20], edi
mov rdx, qword [r12 + 0xa8]
test rdx, rdx
jne 0x18001f5ba
xor ecx, ecx
jmp 0x18001f5c9
mov rcx, qword [r12 + 0xb8]
sub rcx, rdx
sar rcx, 2
mov rdi, qword [r12 + 0xb0]
mov rax, rdi
sub rax, rdx
sar rax, 2
cmp rax, rcx
jae 0x18001f5fa
mov dword [rdi], esi
lea rax, [rdi + 4]
mov qword [r12 + 0xb0], rax
mov esi, dword [rsp + 0x118]
jmp 0x18001f9b9
cmp rdx, rdi
jbe 0x18001f604
call fcn.1800610c8
mov rsi, qword [r12 + 0x90]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rdi
mov rcx, qword [r12 + 0xb0]
mov rbp, qword [r12 + 0xa8]
mov rax, rcx
sub rax, rbp
test rax, 0xfffffffffffffffc
jne 0x18001f638
xor edi, edi
jmp 0x18001f65d
cmp rbp, rcx
jbe 0x18001f642
call fcn.1800610c8
test rsi, rsi
je 0x18001f651
cmp rsi, qword [r12 + 0x90]
je 0x18001f656
call fcn.1800610c8
sub rdi, rbp
sar rdi, 2
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x90], xmm0
lea r9, [rsp + 0x110]
mov r8d, 1
lea rdx, [rsp + 0x90]
lea rcx, [r12 + 0x90]
call fcn.1800237d0
mov rsi, qword [r12 + 0xa8]
cmp rsi, qword [r12 + 0xb0]
jbe 0x18001f6a5
call fcn.1800610c8
mov rbx, qword [r12 + 0x90]
test rbx, rbx
jne 0x18001f6bc
call fcn.1800610c8
xor r11d, r11d
jmp 0x18001f6bf
mov r11, qword [rbx]
lea rcx, [rsi + rdi*4]
cmp rcx, qword [r11 + 0x20]
ja 0x18001f6df
test rbx, rbx
je 0x18001f6d3
mov rax, qword [rbx]
jmp 0x18001f6d5
xor eax, eax
cmp rcx, qword [rax + 0x18]
jae 0x18001f9a9
call fcn.1800610c8
mov esi, dword [rsp + 0x118]
jmp 0x18001f9b9
or edi, ebx
mov dword [rsp + 0x20], edi
and esi, ebx
mov dword [rsp + 0x118], esi
mov rdx, qword [r12 + 0xa8]
test rdx, rdx
jne 0x18001f710
xor ecx, ecx
jmp 0x18001f71f
mov rcx, qword [r12 + 0xb8]
sub rcx, rdx
sar rcx, 2
mov rsi, qword [r12 + 0xb0]
mov rax, rsi
sub rax, rdx
sar rax, 2
cmp rax, rcx
jae 0x18001f750
mov dword [rsi], ebx
lea rax, [rsi + 4]
mov qword [r12 + 0xb0], rax
mov esi, dword [rsp + 0x118]
jmp 0x18001f9b9
cmp rdx, rsi
jbe 0x18001f75a
call fcn.1800610c8
mov rbx, qword [r12 + 0x90]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rsi
mov rcx, qword [r12 + 0xb0]
mov rbp, qword [r12 + 0xa8]
mov rax, rcx
sub rax, rbp
test rax, 0xfffffffffffffffc
jne 0x18001f78e
xor esi, esi
jmp 0x18001f7b3
cmp rbp, rcx
jbe 0x18001f798
call fcn.1800610c8
test rbx, rbx
je 0x18001f7a7
cmp rbx, qword [r12 + 0x90]
je 0x18001f7ac
call fcn.1800610c8
sub rsi, rbp
sar rsi, 2
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x80], xmm0
lea r9, [rsp + 0x110]
mov r8d, 1
lea rdx, [rsp + 0x80]
lea rcx, [r12 + 0x90]
call fcn.1800237d0
mov rbp, qword [r12 + 0xa8]
cmp rbp, qword [r12 + 0xb0]
jbe 0x18001f7fb
call fcn.1800610c8
mov rbx, qword [r12 + 0x90]
test rbx, rbx
jne 0x18001f812
call fcn.1800610c8
xor r11d, r11d
jmp 0x18001f815
mov r11, qword [rbx]
lea rcx, [rbp + rsi*4]
cmp rcx, qword [r11 + 0x20]
ja 0x18001f832
test rbx, rbx
je 0x18001f82a
mov rax, qword [rbx]
jmp 0x18001f82c
xor eax, eax
cmp rcx, qword [rax + 0x18]
jae 0x18001f837
call fcn.1800610c8
mov esi, dword [rsp + 0x118]
jmp 0x18001f9b9
mov r12, qword [rsp + 0x100]
mov esi, dword [rsp + 0x118]
mov dword [rsp + 0x110], 1
or dword [rsp + 0x20], 1
and esi, 1
mov dword [rsp + 0x118], esi
mov rdx, qword [r12 + 0xa8]
test rdx, rdx
jne 0x18001f87d
xor ecx, ecx
jmp 0x18001f88c
mov rcx, qword [r12 + 0xb8]
sub rcx, rdx
sar rcx, 2
mov rdi, qword [r12 + 0xb0]
mov rax, rdi
sub rax, rdx
sar rax, 2
cmp rax, rcx
jae 0x18001f8ba
mov dword [rdi], 1
lea rax, [rdi + 4]
mov qword [r12 + 0xb0], rax
jmp 0x18001f9b9
cmp rdx, rdi
jbe 0x18001f8c4
call fcn.1800610c8
mov rsi, qword [r12 + 0x90]
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rdi
mov rcx, qword [r12 + 0xb0]
mov rbp, qword [r12 + 0xa8]
mov rax, rcx
sub rax, rbp
test rax, 0xfffffffffffffffc
jne 0x18001f8f8
xor edi, edi
jmp 0x18001f91d
cmp rbp, rcx
jbe 0x18001f902
call fcn.1800610c8
test rsi, rsi
je 0x18001f911
cmp rsi, qword [r12 + 0x90]
je 0x18001f916
call fcn.1800610c8
sub rdi, rbp
sar rdi, 2
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0xa0], xmm0
lea r9, [rsp + 0x110]
mov r8d, 1
lea rdx, [rsp + 0xa0]
lea rcx, [r12 + 0x90]
call fcn.1800237d0
mov rsi, qword [r12 + 0xa8]
cmp rsi, qword [r12 + 0xb0]
jbe 0x18001f965
call fcn.1800610c8
mov rbx, qword [r12 + 0x90]
test rbx, rbx
jne 0x18001f97c
call fcn.1800610c8
xor r11d, r11d
jmp 0x18001f97f
mov r11, qword [rbx]
lea rcx, [rsi + rdi*4]
cmp rcx, qword [r11 + 0x20]
ja 0x18001f99b
test rbx, rbx
je 0x18001f993
mov rax, qword [rbx]
jmp 0x18001f995
xor eax, eax
cmp rcx, qword [rax + 0x18]
jae 0x18001f9b2
call fcn.1800610c8
mov esi, dword [rsp + 0x118]
jmp 0x18001f9b9
mov esi, dword [rsp + 0x118]
jmp 0x18001f9b9
mov esi, dword [rsp + 0x118]
test r15, r15
jne 0x18001f9c8
call fcn.1800610c8
xor r11d, r11d
jmp 0x18001f9cb
mov r11, qword [r15]
cmp r13, qword [r11 + 0x20]
jb 0x18001f9d6
call fcn.1800610c8
add r13, 0x28
mov edi, dword [rsp + 0x20]
jmp 0x18001f270
mov rcx, qword [r12 + 0x80]
sub rcx, qword [r12 + 0x78]
movabs rbp, 0x6666666666666667
mov rax, rbp
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 1
jne 0x18001fa42
mov rax, qword [r12 + 0xb0]
sub rax, qword [r12 + 0xa8]
sar rax, 2
test rax, rax
jne 0x18001fa32
call fcn.1800610c8
mov rax, qword [r12 + 0xa8]
test byte [rax], 2
je 0x18001fa42
or edi, 0x10
test esi, esi
je 0x18001fa49
or edi, 0x40
mov rcx, qword [r12 + 0x80]
sub rcx, qword [r12 + 0x78]
mov rax, rbp
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 1
jbe 0x18001faf4
or edi, 1
mov dword [rsp + 0x20], edi
mov rdi, qword [r12 + 0xb0]
cmp qword [r12 + 0xa8], rdi
jbe 0x18001fa92
call fcn.1800610c8
mov rbx, qword [r12 + 0xa8]
cmp rbx, qword [r12 + 0xb0]
jbe 0x18001faa9
call fcn.1800610c8
mov eax, 1
cmp rbx, rdi
je 0x18001faea
mov ecx, dword [rbx]
test cl, 4
jne 0x18001facd
test cl, 8
jne 0x18001facd
test cl, 2
jne 0x18001facd
test cl, 0x40
jne 0x18001facd
xor ecx, ecx
jmp 0x18001fad2
mov ecx, 1
and eax, ecx
add rbx, 4
cmp rbx, rdi
jne 0x18001fab3
test eax, eax
jne 0x18001faf0
mov edi, dword [rsp + 0x20]
and edi, 0xffffffb1
jmp 0x18001faf4
mov edi, dword [rsp + 0x20]
jmp 0x18001faf4
mov edi, dword [rsp + 0x20]
cmp word [r12 + 0x124], 0
je 0x18001fb0f
mov rbp, qword [rsp + 0x108]
and dword [rbp], 0xfff8ebf2
lea rcx, [rsp + 0x30]
call fcn.180024b60
mov eax, edi
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret