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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0xb70
mov qword [0x14002eb58], rcx
mov rbp, r8
mov r15d, 0x104
lea rcx, [rax - 0x797]
xor r13d, r13d
xor edx, edx
mov r8, r15
mov byte [rax - 0x798], r13b
call sub.msvcrt.dll_memset
lea rcx, [rsp + 0xd1]
mov r8, r15
xor edx, edx
mov byte [rsp + 0xd0], r13b
call sub.msvcrt.dll_memset
lea rdx, [rsp + 0x400]
mov r8d, r15d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov al, byte [rsp + 0x400]
lea r11, [rsp + 0x400]
lea rdx, [rsp + 0x400]
jmp 0x14001ab36
cmp al, 0x5c
je 0x14001ab2b
cmp al, 0x2f
jne 0x14001ab2f
lea rdx, [r11 + 1]
add r11, 1
mov al, byte [r11]
cmp al, r13b
jne 0x14001ab23
lea rcx, [rsp + 0xd0]
call fcn.1400263b4
lea rcx, [rsp + 0xd0]
mov edx, 0x2e
call sub.msvcrt.dll_strchr
cmp rax, r13
je 0x14001ab62
mov byte [rax], r13b
lea rdx, str._res.dll
lea rcx, [rsp + 0xd0]
call sub.msvcrt.dll_strcat
lea rcx, [rsp + 0x2f1]
mov r8, r15
xor edx, edx
mov byte [rsp + 0x2f0], r13b
call sub.msvcrt.dll_memset
lea rcx, [rsp + 0x1e1]
mov r8, r15
xor edx, edx
mov byte [rsp + 0x1e0], r13b
call sub.msvcrt.dll_memset
lea rcx, [rsp + 0x1e0]
call fcn.14000b8c4
lea rcx, [rsp + 0x1e0]
call sub.msvcrt.dll_strlen
lea rcx, [rsp + 0xd0]
mov rbx, rax
call sub.msvcrt.dll_strlen
lea rcx, [rbx + rax + 1]
cmp rcx, r15
jae 0x14001abfd
lea r8, [rsp + 0x2f0]
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x1e0]
call fcn.14000b9b8
jmp 0x14001ac05
mov byte [rsp + 0x2f0], r13b
lea rcx, [rsp + 0x2f0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x14001ac2d
lea rcx, [rsp + 0x2f0]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x140031cc0], rax
lea rcx, str.comctl32.dll
mov dword [rsp + 0xba0], 8
mov dword [rsp + 0xba4], 0xff
mov ebx, r13d
mov esi, r13d
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp rax, r13
mov rdi, rax
je 0x14001ac92
lea rdx, str.InitCommonControlsEx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp rax, r13
je 0x14001ac84
lea rcx, [rsp + 0xba0]
mov esi, 1
call rax
mov ebx, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, r13d
jne 0x14001ac9d
call qword [sym.imp.COMCTL32.dll_InitCommonControls]
mov ebx, 1
cmp ebx, r13d
jne 0x14001acc8
lea r8, str.Error
lea rdx, str.Error:_Cannot_load_the_common_control_classes.
mov r9d, gethostbyaddr
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
mov eax, 1
jmp 0x14001b238
cmp qword [0x140032068], r13
jne 0x14001ad00
lea rcx, str.shell32.dll
call fcn.14000c55c
cmp rax, r13
mov qword [0x140032068], rax
je 0x14001ad00
lea rdx, str.SHGetSpecialFolderPathA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140032060], rax
call fcn.14000b988
cmp dword [rax + 0x10], 2
jne 0x14001ad12
call fcn.14001e718
jmp 0x14001ad17
call fcn.14001e644
lea rcx, [rsp + 0x510]
mov r12d, 0x100
mov esi, 0x20
mov dword [rsp + 0x50], 0x400
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x34], r13d
mov dword [rsp + 0x54], r12d
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
mov dword [rsp + 0x58], r13d
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x6c], esi
mov qword [rsp + 0x60], r13
mov dword [rsp + 0x70], r13d
mov dword [rsp + 0x68], r13d
call fcn.14001a504
lea r11, [rsp + 0x30]
lea rcx, [rsp + 0x30]
mov rdx, rbp
mov qword [rsp + 0xb68], r11
call fcn.14000cc30
mov rcx, qword [rsp + 0xb68]
lea rdx, str._savelangfile
call fcn.14000cdb8
cmp eax, r13d
jl 0x14001adaa
call fcn.14000fa30
jmp 0x14001b1f7
call fcn.14000f920
call fcn.14000b988
mov edi, 5
cmp dword [rax + 4], edi
jbe 0x14001aebe
mov rcx, qword [rsp + 0xb68]
lea rdx, str._RunAsAdmin
call fcn.14000cdb8
cmp eax, r13d
jl 0x14001aebe
or ebx, 0xffffffff
lea rcx, [rsp + 0x80]
mov rdx, rbp
mov r8d, ebx
mov dword [rsp + 0x90], r13d
mov qword [rsp + 0x80], r13
mov dword [rsp + 0x88], r13d
mov dword [rsp + 0x94], r12d
mov dword [rsp + 0x8c], r13d
call fcn.14000c8f8
lea rdx, str._RunAsAdmin
lea rcx, [rsp + 0x80]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
call fcn.14000ca1c
lea rcx, [rsp + 0x80]
cmp eax, r13d
jl 0x14001aeb9
lea r8d, [rdi + 6]
mov edx, eax
call fcn.14000cac4
lea rcx, [rsp + 0x1e1]
mov r8, r15
xor edx, edx
mov byte [rsp + 0x1e0], r13b
call sub.msvcrt.dll_memset
lea rdx, [rsp + 0x1e0]
mov r8d, r15d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov rax, qword [rsp + 0x80]
lea rdx, [0x140027eb8]
cmp rax, r13
lea rcx, [rsp + 0x1e0]
cmovne rdx, rax
call fcn.14000c370
lea rcx, [rsp + 0x80]
call fcn.14000c888
jmp 0x14001b1f7
call fcn.14000c888
mov rcx, qword [rsp + 0xb68]
cmp dword [rcx + 0x48], 1
jl 0x14001b06b
cmp dword [rcx + 0x48], edi
jl 0x14001b055
lea rdx, str._close
call fcn.14000cdb8
cmp eax, r13d
jne 0x14001b055
mov rcx, qword [rsp + 0xb68]
mov dword [rsp + 0x16c], esi
mov qword [rsp + 0x160], r13
mov edx, dword [rcx + 0x48]
mov dword [rsp + 0x170], r13d
mov dword [rsp + 0x168], r13d
cmp edx, edi
mov dword [rsp + 0xe0], r13d
mov qword [rsp + 0xd8], r13
mov qword [rsp + 0xd0], r13
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0xf0], r13
mov qword [rsp + 0x118], r13
mov qword [rsp + 0xf8], r13
mov qword [rsp + 0x100], r13
mov qword [rsp + 0x108], r13
mov qword [rsp + 0x110], r13
mov dword [rsp + 0x17c], r13d
lea rbx, [0x140027eb8]
jle 0x14001af93
cmp dword [rcx + 0x28], edi
jle 0x14001af8e
mov rax, qword [rcx + 0x10]
mov r12d, dword [rax + 0x14]
add r12, qword [rcx + 0x18]
jmp 0x14001af96
mov r12, r13
jmp 0x14001af96
mov r12, rbx
cmp edx, 4
jle 0x14001afb3
cmp dword [rcx + 0x28], 4
jle 0x14001afae
mov rax, qword [rcx + 0x10]
mov ebp, dword [rax + 0x10]
add rbp, qword [rcx + 0x18]
jmp 0x14001afb6
mov rbp, r13
jmp 0x14001afb6
mov rbp, rbx
cmp edx, 3
jle 0x14001afd3
cmp dword [rcx + 0x28], 3
jle 0x14001afce
mov rax, qword [rcx + 0x10]
mov esi, dword [rax + 0xc]
add rsi, qword [rcx + 0x18]
jmp 0x14001afd6
mov rsi, r13
jmp 0x14001afd6
mov rsi, rbx
cmp edx, 2
jle 0x14001aff3
cmp dword [rcx + 0x28], 2
jle 0x14001afee
mov rax, qword [rcx + 0x10]
mov edi, dword [rax + 8]
add rdi, qword [rcx + 0x18]
jmp 0x14001aff6
mov rdi, r13
jmp 0x14001aff6
mov rdi, rbx
cmp edx, 1
jle 0x14001b011
cmp dword [rcx + 0x28], 1
jle 0x14001b00e
mov rax, qword [rcx + 0x10]
mov ebx, dword [rax + 4]
add rbx, qword [rcx + 0x18]
jmp 0x14001b011
mov rbx, r13
lea rcx, [rsp + 0xd0]
call fcn.14001d8c8
cmp eax, r13d
je 0x14001b043
lea rcx, [rsp + 0xd0]
mov r9, rsi
mov r8, rdi
mov rdx, rbx
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rbp
call fcn.14001dfe8
lea rcx, [rsp + 0xd0]
call fcn.14001cecc
jmp 0x14001b1f7
lea rcx, [rsp + 0x510]
call fcn.14001a724
cmp eax, r13d
jne 0x14001b1f7
lea rcx, [rsp + 0x510]
call fcn.14001a448
mov r11, qword [rsp + 0xa90]
cmp dword [r11 + 0xb8], r13d
je 0x14001b0a4
cmp dword [r11 + 0xac], r13d
je 0x14001b0a4
mov rcx, qword [rsp + 0x620]
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x14001b0ce
cmp dword [r11 + 8], 3
mov rcx, qword [rsp + 0x620]
mov edx, 3
je 0x14001b0ba
mov edx, edi
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [rsp + 0x620]
call qword [sym.imp.USER32.dll_UpdateWindow]
mov rcx, qword [0x14002eb58]
mov edx, 0x67
call qword [sym.imp.USER32.dll_LoadAcceleratorsA]
mov rcx, qword [rsp + 0x620]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x415
mov qword [rsp + 0x650], rax
call qword [sym.imp.USER32.dll_PostMessageA]
jmp 0x14001b1d8
cmp dword [rsp + 0xa0], r12d
jne 0x14001b17a
movsxd rax, dword [0x1400327e8]
mov byte [rsp + 0xba0], 0x43
mov byte [rsp + 0xba1], 0x4c
mov byte [rsp + 0xba2], 0x52
mov byte [rsp + 0xba3], r13b
movsx rcx, byte [rsp + rax + 0xba0]
cmp qword [rsp + 0xa8], rcx
jne 0x14001b161
lea rdx, [rsp + 0xba0]
lea rcx, [rsp + 0x510]
call fcn.140014e5c
jmp 0x14001b175
mov byte [rsp + 0xba3], r13b
mov dword [0x1400327e8], r13d
mov eax, 1
cmp eax, r13d
je 0x14001b1d8
mov rdx, qword [rsp + 0x650]
mov rcx, qword [rsp + 0x620]
lea r8, [rsp + 0x98]
call qword [sym.imp.USER32.dll_TranslateAcceleratorA]
cmp eax, r13d
jne 0x14001b1d8
mov rcx, qword [0x140031cb8]
cmp rcx, r13
je 0x14001b1bc
lea rdx, [rsp + 0x98]
call qword [sym.imp.USER32.dll_IsDialogMessageA]
cmp eax, r13d
jne 0x14001b1d8
lea rcx, [rsp + 0x98]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x98]
call qword [sym.imp.USER32.dll_DispatchMessageA]
lea rcx, [rsp + 0x98]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageA]
cmp eax, r13d
jne 0x14001b106
lea rcx, [rsp + 0x510]
call fcn.14001a660
lea rcx, [rsp + 0x30]
call fcn.14000c62c
mov rcx, qword [rsp + 0x60]
cmp rcx, r13
je 0x14001b21d
call sub.msvcrt.dll_free
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x60], r13
mov dword [rsp + 0x70], r13d
mov dword [rsp + 0x68], r13d
call fcn.14000c62c
xor eax, eax
lea r11, [rsp + 0xb70]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r13
pop r12
pop rdi
pop rsi
ret