Function at 0x140018cf0
Capabilities:
Check if file exists
Enumerate files on windows
Get file attributes

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x580
mov qword [rsp + 0xd0], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x14010bfc0]
xor rax, rsp
mov qword [rsp + 0x570], rax
mov rbx, r8
mov qword [rsp + 0x60], rbx
mov r15, rdx
mov rbp, rcx
mov qword [rsp + 0x20], rbx
mov r9, rdx
lea r8, str.FindOemInf2Delete_looking_for___s__from___s___n
mov edx, 2
lea rcx, [0x14010f570]
call fcn.140001000
mov qword [rsp + 0x20], r15
mov r9, rbx
lea r8, [0x1400c63b8]
mov edx, 0x104
lea rcx, [rsp + 0x460]
call fcn.14009841c
lea rdx, [rsp + 0x460]
mov rcx, qword [rbp + 8]
call fcn.14002dba4
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x460]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rdi, rax
mov qword [rsp + 0xa0], rax
cmp rax, 0xffffffffffffffff
jne 0x140018db6
lea eax, [rdi + 0x13]
jmp 0x14001971c
xor esi, esi
mov r12, rsi
mov r14, rsi
mov r13, rsi
lea rax, [rsp + 0x12c]
mov qword [rsp + 0x20], rax
mov r9, rbx
lea r8, [0x1400c63b8]
mov edx, 0x104
lea rcx, [rsp + 0x240]
call fcn.14009841c
lea rdx, [rsp + 0x240]
mov rcx, rbp
call fcn.14000d954
cmp eax, esi
je 0x140019571
lea r9, [rsp + 0x240]
lea r8, str.Found_OEM_file__s_n
mov edx, 0x20
lea rcx, [0x14010f570]
call fcn.140001000
mov rcx, rbp
call fcn.140018c18
cmp eax, esi
je 0x1400190ad
cmp r12, rsi
jne 0x140019036
mov r14d, reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0xf8], r14
mov qword [rsp + 0xf0], rsi
mov byte [rsp + 0xe0], sil
lea rcx, str._system_
call fcn.1400980d0
mov r8, rax
lea rdx, str._system_
lea rcx, [rsp + 0xd8]
call fcn.14000352c
nop
mov r9d, 0x800
mov rcx, qword [rbp + 0x88]
add rcx, 0x4e0
xor r8d, r8d
lea rdx, [rsp + 0xd8]
call fcn.140015768
lea r12, str.difxapi.DLL
mov rcx, r12
call fcn.1400980d0
mov r8, rax
mov rdx, r12
lea rcx, [rsp + 0xd8]
call fcn.14000627c
lea rcx, [rsp + 0xe0]
cmp qword [rsp + 0xf8], 0x10
cmovae rcx, qword [rsp + 0xe0]
call fcn.14000bbb0
cmp eax, esi
jne 0x140018f7d
lea r9, [rsp + 0xe0]
cmp qword [rsp + 0xf8], 0x10
cmovae r9, qword [rsp + 0xe0]
lea r8, str.DIFx_Api_dose_not_exist_as:__s
lea edx, [r14 + 0x11]
lea rcx, [0x14010f570]
call fcn.140001000
lea rcx, str._DIFxPath_
call fcn.1400980d0
mov r8, rax
lea rdx, str._DIFxPath_
lea rcx, [rsp + 0xd8]
call fcn.14000352c
mov r9d, 0x800
mov rcx, qword [rbp + 0x88]
add rcx, 0x4e0
xor r8d, r8d
lea rdx, [rsp + 0xd8]
call fcn.140015768
mov rcx, r12
call fcn.1400980d0
mov r8, rax
mov rdx, r12
lea rcx, [rsp + 0xd8]
call fcn.14000627c
lea rcx, [rsp + 0xe0]
cmp qword [rsp + 0xf8], 0x10
cmovae rcx, qword [rsp + 0xe0]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov r12, rax
cmp rax, rsi
je 0x140019633
lea r8, str.DIFx_Api_got_loaded
mov edx, 0x20
lea rcx, [0x14010f570]
call fcn.140001000
lea rdx, str.DriverPackageUninstallA
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
lea rdx, str.DIFXAPISetLogCallbackA
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r13, rax
cmp rax, rsi
je 0x140018ff9
mov rdx, rbp
lea rcx, [0x14000d4a0]
call r13
cmp r14, rsi
je 0x1400195d6
cmp qword [rsp + 0xf8], 0x10
jb 0x14001901a
mov rcx, qword [rsp + 0xe0]
call fcn.14006127c
mov qword [rsp + reloc.OLEAUT32.dll_SafeArrayDestroy8], 0xf
mov qword [rsp + 0xf0], rsi
mov byte [rsp + 0xe0], sil
mov dword [rsp + 0x30], esi
lea r9, [rsp + 0x30]
xor r8d, r8d
lea edx, [r8 + 0x22]
lea rcx, [rsp + 0x240]
call r14
cmp eax, esi
jne 0x14001908d
cmp dword [rsp + 0x30], esi
je 0x14001955e
mov edx, 1
mov rcx, qword [rbp + 0x88]
call fcn.14003ec34
lea r8, str.DriverPackageUninstall_Force_reboot_required__n
mov edx, 1
lea rcx, [0x14010f570]
call fcn.140001000
jmp 0x14001955e
mov r9d, eax
lea r8, str.DriverPackageUninstall_returned_with_error__d__n
mov edx, 0x400
lea rcx, [0x14010f570]
call fcn.140001000
jmp 0x14001955e
call fcn.14004c654
cmp eax, esi
jne 0x14001918a
mov byte [rsp + 0x350], sil
xor edx, edx
mov r8d, 0x103
lea rcx, [rsp + 0x351]
call fcn.1400988d0
mov r8d, 0x104
lea rdx, [rsp + 0x350]
lea rcx, [rsp + 0x240]
call fcn.14000bcd0
mov ebx, eax
lea r9, [rsp + 0x350]
lea r8, str.Is_XP__oem_name_s_n
mov edx, 0x20
lea rcx, [0x14010f570]
call fcn.140001000
cmp ebx, esi
jne 0x14001913e
mov dword [rsp + 0x20], ebx
lea r9, [rsp + 0x240]
lea r8, str.GetFileNameFromPath__s__returned__d
mov edx, 8
lea rcx, [0x14010f570]
call fcn.140001000
jmp 0x14001918a
call fcn.14005d27c
mov r11, qword [0x140120338]
cmp r11, rsi
je 0x140019169
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rsp + 0x350]
call r11
cmp eax, esi
jne 0x140019559
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, str.SetupUninstallOEMInf_returned__d__n
mov edx, 8
lea rcx, [0x14010f570]
call fcn.140001000
lea r9, [rsp + 0x240]
lea r8, str.Deleting_the_file__s_n
mov edi, 0x20
mov edx, edi
lea rcx, [0x14010f570]
call fcn.140001000
lea rdx, [rsp + 0x12c]
mov rcx, qword [rbp + 8]
call fcn.14002dba4
lea ebx, [rdi - 0x11]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], rsi
mov byte [rsp + 0x40], sil
lea rcx, [rsp + 0x240]
call fcn.1400980d0
mov r8, rax
lea rdx, [rsp + 0x240]
lea rcx, [rsp + 0x38]
call fcn.14000352c
nop
lea rdx, [rsp + 0x38]
mov rcx, qword [rbp + 0x88]
call fcn.1400418f8
nop
cmp qword [rsp + 0x58], 0x10
jb 0x140019216
mov rcx, qword [rsp + 0x40]
call fcn.14006127c
lea rcx, [rsp + 0x240]
call fcn.1400980d0
lea rcx, [rsp + 0x240]
mov byte [rax + rcx - 3], 0x50
lea rcx, [rsp + 0x240]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400192b6
lea r9, [rsp + 0x240]
lea r8, str.Deleting_the_file__s_n
mov edx, edi
lea rcx, [0x14010f570]
call fcn.140001000
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], rsi
mov byte [rsp + 0x40], sil
lea rcx, [rsp + 0x240]
call fcn.1400980d0
mov r8, rax
lea rdx, [rsp + 0x240]
lea rcx, [rsp + 0x38]
call fcn.14000352c
nop
lea rdx, [rsp + 0x38]
mov rcx, qword [rbp + 0x88]
call fcn.1400418f8
nop
cmp qword [rsp + 0x58], 0x10
jb 0x1400192b6
mov rcx, qword [rsp + 0x40]
call fcn.14006127c
lea rcx, [rsp + 0x12c]
call fcn.1400980d0
mov byte [rsp + rax + 0x129], 0x63
lea rcx, [rsp + 0x12c]
call fcn.1400980d0
mov byte [rsp + rax + 0x12a], 0x61
lea rcx, [rsp + 0x12c]
call fcn.1400980d0
mov byte [rsp + rax + 0x12b], 0x74
mov ecx, 8
call fcn.140061238
cmp rax, rsi
je 0x14001930e
lea rcx, [rsp + 0x68]
mov qword [rax], rcx
jmp 0x140019311
mov rax, rsi
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x68]
call fcn.140005ed4
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rsi
mov byte [rsp + 0x350], sil
xor edx, edx
mov r8d, 0x103
lea rcx, [rsp + 0x351]
call fcn.1400988d0
lea r9, [rbp + 0x98]
lea r8, str._sCatRoot
mov edx, 0x104
lea rcx, [rsp + 0x350]
call fcn.14009841c
mov r9, qword [rbp + 8]
mov r9, qword [r9 + 0x368]
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x350]
lea rcx, [rsp + 0x12c]
call fcn.140055b88
mov rsi, qword [rsp + 0x90]
mov rax, qword [rsi]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xc0], rax
movaps xmm0, xmmword [rsp + 0xc0]
movdqa xmmword [rsp + 0xb0], xmm0
mov rdi, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
test rdi, rdi
je 0x1400193dd
cmp rdi, rax
je 0x1400193e2
call fcn.14009861c
cmp rbx, rsi
je 0x14001951f
test rdi, rdi
jne 0x1400193fa
call fcn.14009861c
xor r11d, r11d
jmp 0x1400193fd
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x28]
jne 0x140019408
call fcn.14009861c
cmp qword [rbx + 0x30], 0x10
jb 0x140019415
mov rcx, qword [rbx + 0x18]
jmp 0x140019419
lea rcx, [rbx + 0x18]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400194ed
test rdi, rdi
jne 0x140019437
call fcn.14009861c
xor r11d, r11d
jmp 0x14001943a
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x28]
jne 0x140019445
call fcn.14009861c
cmp qword [rbx + 0x30], 0x10
jb 0x140019452
mov r9, qword [rbx + 0x18]
jmp 0x140019456
lea r9, [rbx + 0x18]
lea r8, str.Deleting_the_file___s_n
mov edx, 0x20
lea rcx, [0x14010f570]
call fcn.140001000
test rdi, rdi
jne 0x14001947d
call fcn.14009861c
xor r11d, r11d
jmp 0x140019480
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x28]
jne 0x14001948b
call fcn.14009861c
cmp qword [rbx + 0x30], 0x10
jb 0x140019498
mov rsi, qword [rbx + 0x18]
jmp 0x14001949c
lea rsi, [rbx + 0x18]
mov qword [rsp + 0x58], reloc.OLEAUT32.dll_SafeArrayDestroy
and qword [rsp + 0x50], 0
mov byte [rsp + 0x40], 0
mov rcx, rsi
call fcn.1400980d0
mov r8, rax
mov rdx, rsi
lea rcx, [rsp + 0x38]
call fcn.14000352c
nop
lea rdx, [rsp + 0x38]
mov rcx, qword [rbp + 0x88]
call fcn.1400418f8
nop
cmp qword [rsp + 0x58], 0x10
jb 0x1400194ed
mov rcx, qword [rsp + 0x40]
call fcn.14006127c
test rdi, rdi
jne 0x1400194fc
call fcn.14009861c
xor r11d, r11d
jmp 0x1400194ff
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x28]
jne 0x14001950a
call fcn.14009861c
mov rbx, qword [rbx]
mov rsi, qword [rsp + 0x90]
mov rax, qword [rsp + 0x68]
jmp 0x1400193d3
lea rcx, [rsp + 0x68]
call fcn.140007328
mov rcx, qword [rsp + 0x90]
call fcn.14006127c
xor esi, esi
mov qword [rsp + 0x90], rsi
mov rcx, qword [rsp + 0x68]
call fcn.14006127c
mov rdi, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x60]
jmp 0x14001955e
mov rbx, qword [rsp + 0x60]
lea rdx, [rsp + 0x460]
mov rcx, qword [rbp + 8]
call fcn.14002dba4
jmp 0x140019591
lea r9, [rsp + 0x240]
lea r8, str.Not_Found__s_n
mov edx, 1
lea rcx, [0x14010f570]
call fcn.140001000
lea rdx, [rsp + 0x100]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
cmp eax, esi
je 0x1400195b3
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x140018dc1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp eax, 0x12
je 0x1400196cc
cmp eax, esi
jne 0x1400196a4
mov rbx, qword [rsp + 0x60]
jmp 0x140018dc1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov r9d, eax
lea r8, str.Could_not_fimd_the_method_DriverPackageUninstall__returned_error___d
mov edx, 0x400
lea rcx, [0x14010f570]
call fcn.140001000
nop
cmp qword [rsp + 0xf8], 0x10
jb 0x140019612
mov rcx, qword [rsp + 0xe0]
call fcn.14006127c
mov qword [rsp + reloc.OLEAUT32.dll_SafeArrayDestroy8], 0xf
mov qword [rsp + 0xf0], rsi
mov byte [rsp + 0xe0], sil
jmp 0x1400196cc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea r9, [rsp + 0xe0]
cmp qword [rsp + 0xf8], 0x10
cmovae r9, qword [rsp + 0xe0]
mov dword [rsp + 0x20], eax
lea r8, str.DIFx_Api__s__could_not_be_loaded__LoadLibrary_returned_error___d
mov edx, 0x400
lea rcx, [0x14010f570]
call fcn.140001000
nop
cmp qword [rsp + 0xf8], 0x10
jb 0x14001968a
mov rcx, qword [rsp + 0xe0]
call fcn.14006127c
mov qword [rsp + 0xf8], r14
mov qword [rsp + 0xf0], rsi
mov byte [rsp + 0xe0], sil
jmp 0x1400196cc
mov ecx, eax
call fcn.14004d8f0
mov r9, rax
lea r8, str.FindNextFile
lea rdx, str._s_failed_returning__s_n
lea rcx, [0x14010f570]
call fcn.14004b7ec
mov eax, ebx
jmp 0x14001971c
cmp r13, rsi
je 0x1400196d8
xor edx, edx
xor ecx, ecx
call r13
cmp r12, rsi
je 0x1400196e6
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
lea rdx, [0x1400c49dc]
mov rcx, qword [rbp + 8]
call fcn.14002dba4
mov r9, r15
lea r8, str.FindOemInf2Delete_looking_for__s_n
mov edx, 4
lea rcx, [0x14010f570]
call fcn.140001000
mov eax, ebx
mov rcx, qword [rsp + 0x570]
xor rcx, rsp
call fcn.140061100
mov rbx, qword [rsp + 0x5d8]
add rsp, 0x580
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret