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

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x700
mov rax, qword [0x14005d018]
xor rax, rsp
mov qword [rsp + 0x6f0], rax
cmp qword [rcx + 0x10], 0
mov rsi, rdx
mov rdi, rcx
je 0x14000359e
cmp qword [rdx + 0x10], 0
je 0x14000359e
cmp qword [rcx + 0x18], 8
mov ebx, 2
jb 0x1400031a8
mov rcx, qword [rcx]
xor r9d, r9d
lea r8, [rsp + 0x4e0]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
cmp eax, 0x104
jb 0x1400031cc
mov eax, ebx
jmp 0x1400035a3
xor edx, edx
mov qword [rsp + 0x738], r14
mov r8d, 0x208
lea rcx, [rsp + 0xc0]
call fcn.14001ca60
cmp qword [rsi + 0x18], 8
mov r8, rsi
jb 0x1400031f6
mov r8, qword [rsi]
lea rax, [rsp + 0xc0]
mov edx, 0x100
sub r8, rax
lea rcx, [rsp + 0xc0]
nop
lea rax, [rdx + 0x7ffffefe]
test rax, rax
je 0x140003232
movzx eax, word [r8 + rcx]
test ax, ax
je 0x140003232
mov word [rcx], ax
add rcx, rbx
sub rdx, 1
jne 0x140003210
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
xor r14d, r14d
mov word [rax], r14w
test rdx, rdx
je 0x140003592
lea r9d, [r14 + 0x20]
mov qword [rsp + 0x20], r14
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x4e0]
call qword [sym.imp.SETUPAPI.dll_SetupDiGetINFClassW]
test eax, eax
jne 0x1400032c8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
test eax, eax
jle 0x14000328d
movzx r8d, ax
or r8d, 0x80070000
test r8d, r8d
jns 0x140003592
lfence
lea rax, str.e:_build_agentworkspacelaternrock_crashlog_win_mainSrc_srcincludedrvinstall.cpp
mov r9d, 0x5e9
lea rdx, str.HRESULT:_0x_08x___LINE__04i___s_
mov qword [rsp + 0x20], rax
mov ecx, ebx
call fcn.140003880
mov r14, qword [rsp + 0x738]
mov eax, ebx
jmp 0x1400035a3
xor edx, edx
mov qword [rsp + 0x730], rbp
lea rcx, [rsp + 0x48]
call qword [sym.imp.SETUPAPI.dll_SetupDiCreateDeviceInfoList]
mov rbp, rax
cmp rax, 0xffffffffffffffff
jne 0x14000332f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
test eax, eax
jle 0x1400032fe
movzx r8d, ax
or r8d, 0x80070000
test r8d, r8d
jns 0x14000358a
lfence
lea rax, str.e:_build_agentworkspacelaternrock_crashlog_win_mainSrc_srcincludedrvinstall.cpp
mov r9d, 0x5f3
lea rdx, str.HRESULT:_0x_08x___LINE__04i___s_
mov qword [rsp + 0x20], rax
mov ecx, ebx
call fcn.140003880
jmp 0x14000358a
lea rax, [rsp + 0x58]
mov dword [rsp + 0x58], 0x20
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x48]
mov dword [rsp + 0x28], 1
lea rdx, [rsp + 0x80]
xor r9d, r9d
mov qword [rsp + 0x20], r14
mov rcx, rbp
call qword [sym.imp.SETUPAPI.dll_SetupDiCreateDeviceInfoW]
test eax, eax
jne 0x1400033b4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
test eax, eax
jle 0x140003383
movzx r8d, ax
or r8d, 0x80070000
test r8d, r8d
jns 0x140003581
lfence
lea rax, str.e:_build_agentworkspacelaternrock_crashlog_win_mainSrc_srcincludedrvinstall.cpp
mov r9d, 0x604
lea rdx, str.HRESULT:_0x_08x___LINE__04i___s_
mov qword [rsp + 0x20], rax
mov ecx, ebx
call fcn.140003880
jmp 0x140003581
lea rcx, [rsp + 0xc0]
mov rax, 0xffffffffffffffff
cmp word [rcx + rax*2 + 2], r14w
lea rax, [rax + 1]
jne 0x1400033c3
lea eax, [rax*2 + 4]
mov r8d, 1
lea r9, [rsp + 0xc0]
mov dword [rsp + 0x20], eax
lea rdx, [rsp + 0x58]
mov rcx, rbp
call qword [sym.imp.SETUPAPI.dll_SetupDiSetDeviceRegistryPropertyW]
test eax, eax
jne 0x140003443
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
test eax, eax
jle 0x140003412
movzx r8d, ax
or r8d, 0x80070000
test r8d, r8d
jns 0x140003581
lfence
lea rax, str.e:_build_agentworkspacelaternrock_crashlog_win_mainSrc_srcincludedrvinstall.cpp
mov r9d, 0x611
lea rdx, str.HRESULT:_0x_08x___LINE__04i___s_
mov qword [rsp + 0x20], rax
mov ecx, ebx
call fcn.140003880
jmp 0x140003581
lea r8, [rsp + 0x58]
mov rdx, rbp
mov ecx, 0x19
call qword [sym.imp.SETUPAPI.dll_SetupDiCallClassInstaller]
test eax, eax
jne 0x1400034a3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
test eax, eax
jle 0x140003472
movzx r8d, ax
or r8d, 0x80070000
test r8d, r8d
jns 0x140003581
lfence
lea rax, str.e:_build_agentworkspacelaternrock_crashlog_win_mainSrc_srcincludedrvinstall.cpp
mov r9d, 0x61d
lea rdx, str.HRESULT:_0x_08x___LINE__04i___s_
mov qword [rsp + 0x20], rax
mov ecx, ebx
call fcn.140003880
jmp 0x140003581
cmp qword [rdi + 0x10], r14
jne 0x1400034b3
mov ebx, 3
jmp 0x140003581
cmp qword [rsi + 0x10], r14
je 0x1400034a9
lfence
cmp qword [rdi + 0x18], 8
mov dword [rsp + 0x40], r14d
jb 0x1400034cb
mov rdi, qword [rdi]
xor r9d, r9d
lea r8, [rsp + 0x2d0]
mov edx, 0x104
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
dec eax
cmp eax, 0x102
ja 0x140003581
lea rcx, [rsp + 0x2d0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140003581
cmp qword [rsi + 0x18], 8
jb 0x14000350e
mov rsi, qword [rsi]
lea rax, [rsp + 0x40]
mov r9d, 1
lea r8, [rsp + 0x2d0]
mov qword [rsp + 0x20], rax
mov rdx, rsi
xor ecx, ecx
call qword [sym.imp.newdev.dll_UpdateDriverForPlugAndPlayDevicesW]
test eax, eax
jne 0x140003577
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
test eax, eax
jle 0x14000354d
movzx r8d, ax
or r8d, 0x80070000
test r8d, r8d
jns 0x140003581
lfence
lea rax, str.e:_build_agentworkspacelaternrock_crashlog_win_mainSrc_srcincludedrvinstall.cpp
mov r9d, 0x5bb
lea rdx, str.HRESULT:_0x_08x___LINE__04i___s_
mov qword [rsp + 0x20], rax
mov ecx, ebx
call fcn.140003880
jmp 0x140003581
mov ebx, r14d
cmp dword [rsp + 0x40], ebx
setne bl
mov rcx, rbp
call qword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
mov rbp, qword [rsp + 0x730]
mov r14, qword [rsp + 0x738]
mov eax, ebx
jmp 0x1400035a3
mov eax, 3
mov rcx, qword [rsp + 0x6f0]
xor rcx, rsp
call fcn.14001a1a0
add rsp, 0x700
pop rdi
pop rsi
pop rbx
ret