Function at 0x1401d98a0
Capabilities:
Get common file path
Get file size
Set file attributes

Disassembly:
mov byte [rsp + 0x18], r8b
mov byte [rsp + 0x10], dl
mov byte [rsp + 8], cl
sub rsp, 0x288
movabs rax, 0x1253ec7aaf7a2cf5
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x40
mov dword [rsp + 0x20], 2
xor r9d, r9d
mov r8d, 2
mov edx, 0x80000000
lea rcx, str.lowlandersViolinist_arithmetically_thistleYapping
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rsp + 0xc0], rax
mov dword [rsp + 0x58], 0x43a5004d
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x64], eax
cmp dword [rsp + 0x64], 0x43a5004d
je 0x1401d99e5
cmp dword [rsp + 0x64], 0x76b315f8
je 0x1401d992c
jmp 0x1401d9a81
lea rdx, [rsp + 0x78]
mov rcx, qword [rsp + 0xe8]
call qword [sym.imp.USERENV.dll_GetProfilesDirectoryA]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x58]
sub eax, 0x284964b8
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x8c], eax
cmp dword [rsp + 0x8c], 0x25a22d0
je 0x1401d996a
jmp 0x1401d99d1
movzx r8d, byte [rsp + 0x2a0]
movzx edx, byte [rsp + 0x298]
movzx ecx, byte [rsp + 0x290]
call fcn.1401d98a0
nop
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x90], eax
cmp dword [rsp + 0x90], 0x704e9692
je 0x1401d99a3
jmp 0x1401d99b2
mov eax, dword [rsp + 0x58]
add eax, 0x3fae8a01
mov dword [rsp + 0x58], eax
jmp 0x1401d99cf
lea rdx, [rsp + 0xe8]
mov rcx, qword [rsp + 0x118]
call qword [sym.imp.USERENV.dll_GetProfilesDirectoryA]
mov dword [rsp + 0xc8], eax
jmp 0x1401d99e0
movzx eax, byte [rsp + 0x290]
mov byte [rsp + 0x2a0], al
jmp 0x1401d9a81
movabs rax, 0x4f1ca5feb2ee39af
mov rcx, qword [rsp + 0x50]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov eax, 0xf0
mov word [rsp + 0x44], ax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x40
mov dword [rsp + 0x20], 4
xor r9d, r9d
mov r8d, 4
mov edx, 0x40000000
lea rcx, str.pollardeddiscontinuousCrushersGoblins
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x10
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, 2
mov edx, 0x80000000
lea rcx, str.Haikudissentercurrant_swirledDespondency
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rsp + 0xa8], rax
movabs rax, 0x77eb7a3d1bb328c2
cmp qword [rsp + 0x50], rax
jb 0x1401d9aa7
movzx eax, byte [rsp + 0x298]
mov byte [rsp + 0x2a0], al
call fcn.1401d9230
nop
movabs rax, 0x78c1e3cd5145292a
mov qword [rsp + 0x80], rax
lea rdx, [rsp + 0x128]
mov rcx, qword [rsp + 0xc0]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
mov dword [rsp + 0xcc], eax
mov dword [rsp + 0x94], 0xfa6f5ef7
mov rax, qword [rsp + 0x50]
shl rax, 0x87
movabs rcx, 0x3dde5a8a6d14cc03
cmp rax, rcx
jne 0x1401d9b75
mov r9d, 0x61
lea r8, [rsp + 0x44]
mov edx, 0xa6
mov rcx, qword [rsp + 0x108]
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x58]
sar eax, 0x13
mov dword [rsp + 0x58], eax
lea rcx, [rsp + 0x140]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [rsp + 0x70], eax
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x50]
call fcn.1401d9380
movzx eax, word [rsp + 0x44]
xor eax, 0xbe3
mov word [rsp + 0x44], ax
mov rcx, qword [rsp + 0xf8]
call qword [sym.imp.KERNEL32.dll_SetConsoleActiveScreenBuffer]
mov dword [rsp + 0x60], eax
movabs rax, 0xfbb70cc72b2a2eef
mov rcx, qword [rsp + 0x50]
or rcx, rax
mov rax, rcx
movabs rcx, 0x1f83ed5b1542205c
cmp rax, rcx
jae 0x1401d9c9a
movabs rax, 0x120b9f858b71fef9
mov rcx, qword [rsp + 0x50]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
movzx eax, word [rsp + 0x44]
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x68], 0xcc6
je 0x1401d9c8b
cmp dword [rsp + 0x68], 0xd90
je 0x1401d9bdd
jmp 0x1401d9c9a
movabs rax, 0x32c4910741306c1c
mov rcx, qword [rsp + 0x50]
sub rcx, rax
mov rax, rcx
movabs rcx, 0x3c2390993d20f60e
cmp rax, rcx
jb 0x1401d9c89
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x50]
call fcn.1401d9380
lea r9, [rsp + 0x80]
mov r8d, 0xdc
mov edx, 0x97
mov rcx, qword [rsp + 0x110]
call qword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xf0], rax
movabs rax, 0x87557a27608185f2
cmp qword [rsp + 0xf0], rax
je 0x1401d9c66
jmp 0x1401d9c7c
mov eax, dword [rsp + 0x94]
mov dword [rsp + 0x98], eax
call fcn.1401d9230
nop
jmp 0x1401d9c89
call qword [sym.imp.KERNEL32.dll_AreFileApisANSI]
mov dword [rsp + 0xd8], eax
jmp 0x1401d9c9a
movzx eax, byte [rsp + 0x2a0]
mov byte [rsp + 0x290], al
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_GetFileType]
mov dword [rsp + 0x9c], eax
lea rdx, [rsp + 0xdc]
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [rsp + 0xe0], eax
movzx eax, word [rsp + 0x44]
mov dword [rsp + 0x6c], eax
cmp dword [rsp + 0x6c], 0x976
je 0x1401d9d6f
cmp dword [rsp + 0x6c], 0x996
je 0x1401d9cf2
jmp 0x1401d9eae
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xb0], rax
movabs rax, 0x86aebbfb02bc31c
cmp qword [rsp + 0xb0], rax
je 0x1401d9d36
movabs rax, 0x2cfaa0c05eb65e74
cmp qword [rsp + 0xb0], rax
je 0x1401d9d2c
jmp 0x1401d9d6a
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x70], eax
jmp 0x1401d9d6a
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0xf8]
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
mov dword [rsp + 0x60], eax
movabs rax, 0x8db448eea1c3720f
mov rcx, qword [rsp + 0x50]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
jmp 0x1401d9eae
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x50]
call fcn.1401d9ff0
movzx eax, byte [rsp + 0x298]
mov byte [rsp + 0x290], al
movzx eax, byte [rsp + 0x298]
mov byte [rsp + 0xa0], al
cmp byte [rsp + 0xa0], 0x2a
je 0x1401d9dae
jmp 0x1401d9e94
movsx eax, byte [rsp + 0x298]
movsx ecx, byte [rsp + 0x2a0]
sub eax, ecx
movsx ecx, byte [rsp + 0x290]
cmp eax, ecx
jg 0x1401d9e6a
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_GetStartupInfoA]
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xb8], rax
movabs rax, 0x96fa07177986b51c
cmp qword [rsp + 0xb8], rax
je 0x1401d9e59
movabs rax, 0xa45552374d5337a8
cmp qword [rsp + 0xb8], rax
je 0x1401d9e1d
jmp 0x1401d9e68
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov qword [rsp + 0x100], rax
movzx eax, byte [rsp + 0x2a0]
mov byte [rsp + 0x290], al
lea rdx, [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
mov dword [rsp + 0xd0], eax
jmp 0x1401d9e68
movzx eax, byte [rsp + 0x298]
mov byte [rsp + 0x290], al
jmp 0x1401d9e92
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x50]
call fcn.1401d9380
lea rcx, [rsp + 0x210]
call qword [sym.imp.KERNEL32.dll_GetStartupInfoA]
nop
jmp 0x1401d9eae
movabs rax, 0x2edb3ce585f80616
mov rcx, qword [rsp + 0x50]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov r9d, 1
xor r8d, r8d
mov edx, 0x10da
mov rcx, qword [rsp + 0xc0]
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rsp + 0x9c], eax
mov eax, 0x51fc
mov word [rsp + 0x88], ax
movzx eax, word [rsp + 0x44]
cmp eax, 0x50e
jge 0x1401d9fd6
movzx eax, byte [rsp + 0x2a0]
mov byte [rsp + 0x48], al
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_GetFileType]
mov dword [rsp + 0xd4], eax
movzx eax, word [rsp + 0x44]
mov word [rsp + 0x5c], ax
mov byte [rsp + 0x40], 0xa7
movabs rax, 0x2c8d8a2f259f37d6
cmp qword [rsp + 0x80], rax
jge 0x1401d9fb7
call fcn.1401d96b0
lea r9, [rsp + 0x40]
mov r8d, 3
lea rdx, [rsp + 0x58]
mov rcx, qword [rsp + 0x110]
call qword [sym.imp.KERNEL32.dll_ReadConsoleInputA]
mov dword [rsp + 0x60], eax
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x74], al
cmp byte [rsp + 0x74], 0
je 0x1401d9f76
cmp byte [rsp + 0x74], 0xad
je 0x1401d9fa7
jmp 0x1401d9fb5
movzx eax, byte [rsp + 0x48]
mov byte [rsp + 0x2a0], al
movzx eax, byte [rsp + 0x48]
mov byte [rsp + 0x2a0], al
mov edx, 0xa9
mov rcx, qword [rsp + 0x130]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov dword [rsp + 0x78], eax
jmp 0x1401d9fb5
movzx eax, byte [rsp + 0x40]
sub eax, 0xb9
mov byte [rsp + 0x40], al
jmp 0x1401d9fd6
movzx eax, word [rsp + 0x5c]
add eax, 0x27a
movzx ecx, word [rsp + 0x44]
cmp eax, ecx
jne 0x1401d9fd6
movzx eax, byte [rsp + 0x48]
mov byte [rsp + 0x2a0], al
mov eax, 0x76
add rsp, 0x288
ret