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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x590
mov rax, qword [0x14042d950]
xor rax, rsp
mov qword [rsp + Ordinal_1412], rax
mov rbp, r8
mov rsi, rdx
movzx r12d, cx
call fcn.14002cee0
lea rcx, [rsp + 0x182]
xor edx, edx
mov r8d, Ordinal_512
mov rbx, rax
call sub.ntdll.dll_memset
xor eax, eax
mov word [rsp + 0x180], r12w
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x180]
mov word [rsp + reloc.MFC80U.DLL_Ordinal_320], 0
repne scasw ax, word [rdi]
mov rax, qword [str.:WindowsSystem32_ntdll.dll]
mov r9b, 1
mov qword [rdi - 2], rax
mov rax, qword [0x1402e8f20]
lea rdx, [rsp + 0x180]
mov qword [rdi + 6], rax
mov rax, qword [0x1402e8f28]
movzx r8d, r9b
mov qword [rdi + 0xe], rax
mov rax, qword [0x1402e8f30]
mov rcx, rbx
mov qword [rdi + 0x16], rax
mov rax, qword [0x1402e8f38]
mov qword [rdi + 0x1e], rax
mov rax, qword [0x1402e8f40]
mov qword [rdi + 0x26], rax
mov rax, qword [0x1402e8f48]
mov qword [rdi + 0x2e], rax
movzx eax, word [0x1402e8f50]
mov word [rdi + 0x36], ax
xor eax, eax
mov qword [rsp + 0x142], rax
mov qword [rsp + 0x14a], rax
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_338], rax
mov qword [rsp + 0x15a], rax
mov qword [rsp + 0x162], rax
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_362], rax
mov qword [rsp + 0x172], rax
mov dword [rsp + 0x17a], eax
mov word [rsp + 0x17e], ax
mov word [rsp + 0x30], ax
mov qword [rsp + 0x32], rax
mov qword [rsp + 0x3a], rax
mov word [rsp + 0x42], ax
mov rax, qword [rbx]
call qword [rax + 8]
mov rcx, rbx
test al, al
mov rax, qword [rbx]
jne 0x140098413
call qword [rax]
lea rcx, [rsp + 0x382]
xor edx, edx
mov r8d, Ordinal_512
call sub.ntdll.dll_memset
xor eax, eax
mov word [rsp + 0x380], r12w
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x380]
repne scasw ax, word [rdi]
mov rax, qword [str.:WindowsSysWOW64]
lea rcx, [rsp + 0x380]
mov qword [rdi - 2], rax
mov rax, qword [0x1402e8ef8]
mov qword [rdi + 6], rax
mov rax, qword [0x1402e8f00]
mov qword [rdi + 0xe], rax
mov rax, qword [0x1402e8f08]
mov qword [rdi + 0x16], rax
mov eax, dword [0x1402e8f10]
mov dword [rdi + 0x1e], eax
movzx eax, word [0x1402e8f14]
mov word [rdi + 0x22], ax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
xor edi, edi
cmp eax, 0xffffffff
setne dil
jmp 0x14009852a
xor r9d, r9d
lea rdx, [rsp + reloc.MFC80U.DLL_Ordinal_320]
mov byte [rsp + 0x20], 0
lea r8d, [r9 + 0x40]
call qword [rax + 0x10]
mov rcx, rbx
test al, al
mov rax, qword [rbx]
je 0x14009845d
movsxd r9, dword [rsp + 0x17c]
lea rdx, [rsp + 0x30]
mov r8d, 0x14
add r9, 4
mov byte [rsp + 0x20], 0
call qword [rax + 0x10]
test al, al
jne 0x14009846f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x30]
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx]
xor eax, eax
jmp 0x14009852c
xor edx, edx
bt word [rsp + 0x42], 8
mov word [rsp + 0x50], 0
lea rcx, [rsp + 0x52]
jae 0x1400984cd
mov r8d, 0xde
call sub.ntdll.dll_memset
movsxd r9, dword [rsp + 0x17c]
mov rax, qword [rbx]
lea rdx, [rsp + 0x50]
add r9, 0x18
mov r8d, 0xe0
mov rcx, rbx
mov byte [rsp + 0x20], 0
call qword [rax + 0x10]
test al, al
je 0x140098457
movzx eax, word [rsp + 0x78]
xor edi, edi
mov dword [rsi], eax
movzx eax, word [rsp + 0x7a]
mov dword [rbp], eax
jmp 0x140098519
mov r8d, 0xee
call sub.ntdll.dll_memset
movsxd r9, dword [rsp + 0x17c]
mov rax, qword [rbx]
lea rdx, [rsp + 0x50]
add r9, 0x18
mov r8d, 0xf0
mov rcx, rbx
mov byte [rsp + 0x20], 0
call qword [rax + 0x10]
test al, al
je 0x140098457
movzx ecx, word [rsp + 0x78]
mov edi, 1
mov dword [rsi], ecx
movzx ecx, word [rsp + 0x7a]
mov dword [rbp], ecx
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x30]
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx]
mov eax, edi
mov rcx, qword [rsp + 0x580]
xor rcx, rsp
call fcn.140161080
add rsp, 0x590
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret