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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x58
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov r15, rcx
and qword [rbp - 0x18], 0
lea rdx, str._Driver__InitCoordinator_Method_Called
xor ecx, ecx
call fcn.140007efc
lea r12, [r15 + 0x58]
mov rcx, qword [r15 + 0x30]
xor ebx, ebx
mov qword [rbp - 0x20], rbx
xor r13d, r13d
mov qword [rbp - 0x28], r13
mov esi, 0x80070057
test rcx, rcx
jne 0x140007464
mov r14d, esi
mov ecx, esi
call fcn.14000b708
jmp 0x140007552
test r12, r12
je 0x140007455
lea rdx, [rbp - 0x28]
call fcn.140009114
mov r14d, eax
test eax, eax
jns 0x140007489
mov ecx, eax
call fcn.14000b708
mov r13, qword [rbp - 0x28]
jmp 0x140007552
xor r14d, r14d
mov dword [rbp + 0x48], r14d
xor r12d, r12d
mov dword [rbp + 0x50], r12d
and dword [rbp + 0x60], ebx
and dword [rbp + 0x58], ebx
mov r13, qword [rbp - 0x28]
mov rcx, r13
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
nop dword [rax + rax]
mov edi, eax
cmp eax, 0xffffffff
je 0x1400074c1
shr edi, 4
not edi
and edi, 1
jmp 0x1400074c3
xor edi, edi
xor ecx, ecx
call fcn.14000b77c
xor ecx, ecx
call fcn.14000b77c
test edi, edi
je 0x14000750e
lea rax, [rbp + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x60]
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x48]
mov rcx, r13
call fcn.1400080ec
mov r14d, eax
test eax, eax
jns 0x140007506
mov ecx, eax
call fcn.14000b708
lea r12, [r15 + 0x58]
jmp 0x140007552
mov r14d, dword [rbp + 0x48]
mov r12d, dword [rbp + 0x50]
mov eax, dword [rbp + 0x58]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x60]
mov dword [rsp + 0x20], eax
mov r9d, r12d
mov r8d, r14d
lea rdx, str._u:_u:_u:_u
lea rcx, [rbp - 0x20]
call fcn.14000ab78
mov r14d, eax
test eax, eax
jns 0x140007546
mov ecx, eax
call fcn.14000b708
mov rbx, qword [rbp - 0x20]
jmp 0x140007500
mov rax, qword [rbp - 0x20]
lea r12, [r15 + 0x58]
mov qword [r12], rax
mov ecx, r14d
call fcn.14000b77c
test r13, r13
je 0x140007587
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
lea r8, [r13 - 4]
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.14000b77c
test rbx, rbx
je 0x1400075b4
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
lea r8, [rbx - 4]
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.14000b77c
test r14d, r14d
js 0x14000762b
mov rbx, qword [r12]
test rbx, rbx
je 0x14000761d
lea rdx, [rbp + 0x48]
mov rcx, rbx
call fcn.14000b4bc
mov esi, eax
test eax, eax
js 0x1400075ec
lea r8, [0x14001a9c8]
mov edx, dword [rbp + 0x48]
mov rcx, rbx
call fcn.14000b580
mov esi, eax
test eax, eax
jns 0x1400075f3
mov ecx, eax
call fcn.14000b708
mov ecx, esi
call fcn.14000b77c
mov ecx, esi
test esi, esi
js 0x14000761f
mov r8, qword [0x14001a9c8]
lea rdx, str.Coordinator_version___s
call fcn.140008e4c
mov esi, eax
test eax, eax
jns 0x140007624
mov ecx, eax
jmp 0x14000761f
mov ecx, esi
call fcn.14000b708
mov ecx, esi
call fcn.14000b77c
mov rcx, qword [r15 + 0x30]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
nop dword [rax + rax]
mov ebx, eax
cmp eax, 0xffffffff
je 0x14000764c
shr ebx, 4
not ebx
and ebx, 1
jmp 0x14000764e
xor ebx, ebx
xor ecx, ecx
call fcn.14000b77c
xor ecx, ecx
call fcn.14000b77c
test ebx, ebx
jne 0x14000767d
mov edi, 0x80070002
lea rdx, str._Driver__InitCoordinator_Method:_Coordinator_dll_does_not_exit_on_disk
mov ecx, edi
call fcn.140007db4
call fcn.14000737c
jmp 0x14000785c
lea rdx, str._Driver__InitCoordinator_Method:_Coordinator_dll_exists_on_disk
xor ecx, ecx
call fcn.140007efc
xor edi, edi
cmp byte [r15 + 0x40], dil
jne 0x14000769e
mov rcx, qword [r15 + 0x30]
call fcn.14000c2a4
mov edi, eax
mov ecx, edi
test edi, edi
jns 0x1400076b5
lea rdx, str._Driver__InitCoordinator_Method:_Coordinator_dll_not_signed
call fcn.140007db4
jmp 0x14000785c
lea rdx, str._Driver__InitCoordinator_Method:_Coordinator_dll_correctly_signed
call fcn.140007efc
lea rdx, str._Driver__InitCoordinator_Method:_Setting_Coordinator_dll_directory
mov ecx, edi
call fcn.140007efc
mov rcx, qword [r15 + 0x20]
call qword [sym.imp.api_ms_win_core_kernel32_legacy_l1_1_1.dll_SetDllDirectoryW]
nop dword [rax + rax]
test eax, eax
jne 0x140007708
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
lea rdx, str._Driver__InitCoordinator_Method:_Unable_to_set_dll_directory_to_Coordinators_directory
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
mov ecx, edi
jmp 0x1400076ab
lea rdx, str._Driver__InitCoordinator_Method:_Loading_Coordinator_dll
mov ecx, edi
call fcn.140007efc
lea rcx, str.DTUCoordinator.dll
call qword [sym.imp.api_ms_win_core_kernel32_legacy_l1_1_0.dll_LoadLibraryW]
nop dword [rax + rax]
mov rsi, rax
mov r14, qword [r15 + 8]
test r14, r14
je 0x140007760
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
mov rcx, r14
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
nop dword [rax + rax]
mov ecx, ebx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
nop dword [rax + rax]
mov qword [r15 + 8], rsi
test rsi, rsi
jne 0x1400077b0
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
lea rdx, str._Driver__InitCoordinator_Method:_Unable_to_load_Coordinator_dll
mov ecx, edi
call fcn.140007db4
cmp edi, 0x8007007e
jne 0x14000785c
lea rdx, str._Driver__InitCoordinator_Method:_Atempting_to_re_mediate_the_issue_for_next_run
xor ecx, ecx
call fcn.140007efc
jmp 0x140007673
lea rdx, str._Driver__InitCoordinator_Method:_Getting_Coordinator_object
mov ecx, edi
call fcn.140007efc
lea rdx, str.DllGetClassObject
mov rcx, qword [r15 + 8]
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
jne 0x1400077f2
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
lea rdx, str._Driver__InitCoordinator_Method:_Failed_to_get_GetProcAddress_to_DllGetClassObject_method
jmp 0x1400076f6
lea r8, [rbp - 0x18]
lea rdx, [0x140011a30]
lea rcx, [0x1400148c0]
call qword [0x1400117d8]
mov edi, eax
test eax, eax
jns 0x14000781e
lea rdx, str._Driver__InitCoordinator_Method:_Call_to_DllGetClassObject_method_failed
mov ecx, eax
jmp 0x1400076ab
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
mov r9, r15
lea r8, [0x1400148d0]
xor edx, edx
mov rax, qword [rax + 0x18]
call qword [0x1400117d8]
mov edi, eax
mov ecx, eax
test eax, eax
jns 0x14000784f
lea rdx, str._Driver__InitCoordinator_Method:_Unable_to_get_Coordinator_object
jmp 0x1400076ab
lea rdx, str._Driver__InitCoordinator_Method:_Coordinator_succesfully_initialized
call fcn.140007efc
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x140007872
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x1400117d8]
mov eax, edi
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret