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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push rbp
lea rbp, [rax - 0x7b8]
sub rsp, 0x8b0
xor esi, esi
lea rax, [rsp + 0x58]
mov qword [rsp + 0x48], rax
mov rdi, rcx
lea rcx, [0x0048d7e0]
mov dword [rsp + 0x50], esi
mov r14d, 0x104
mov word [rsp + 0x58], si
lea rax, [rbp + 0x398]
mov dword [rsp + 0x54], r14d
mov r8, qword [rdi + 0xa8]
mov bl, sil
mov qword [rbp + 0x388], rax
lea rax, [rbp + 0x178]
mov qword [rbp + 0x168], rax
mov qword [rsp + 0x40], rcx
mov dword [rbp + 0x390], esi
mov dword [rbp + 0x394], r14d
mov word [rbp + 0x398], si
mov qword [rbp + 0x380], rcx
mov dword [rbp + 0x170], esi
mov dword [rbp + 0x174], r14d
mov word [rbp + 0x178], si
mov qword [rbp + 0x160], rcx
mov ecx, dword [r8 + 8]
lea eax, [rcx - 3]
test eax, 0xfffffff5
jne 0x46a541
cmp ecx, 5
je 0x46a541
add r8, 0x29c
lea rdx, str._s_terminal.ico
lea rcx, [rbp + 0x160]
call fcn.004012e8
mov rcx, qword [rbp + 0x168]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x46a541
mov rax, qword [rbp + 0x168]
mov dword [rbp + 0x170], esi
test rax, rax
je 0x46a541
mov word [rax], si
mov r8, qword [rdi + 0xa8]
lea rdx, [0x00491de8]
lea rcx, [rbp + 0x380]
lea r9, [r8 + 0x4a4]
add r8, 0x29c
call fcn.004012e8
mov rax, qword [rbp + 0x168]
mov rdx, qword [rdi + 0xa8]
mov r8, qword [rbp + 0x388]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x28], eax
lea r9, [rdx + 0x94]
mov rax, qword [rsp + 0x48]
add rdx, 0x29c
mov qword [rsp + 0x20], rax
call fcn.00461c80
test eax, eax
je 0x46a627
mov r8, qword [rsp + 0x48]
test r8, r8
je 0x46a5cd
mov edx, dword [rsp + 0x54]
mov rcx, r8
call fcn.004293f8
mov r8, qword [rsp + 0x48]
mov dword [rsp + 0x50], eax
jmp 0x46a5d1
mov dword [rsp + 0x50], esi
lea rbx, [rdi + 0x8f0]
test r8, r8
je 0x46a5f0
or r9, 0xffffffffffffffff
lea rcx, [rbp + 0x5a0]
mov rdx, r14
call fcn.00435528
mov edx, dword [rbx + 0x18]
mov rcx, rbx
inc edx
call fcn.00403cbc
test al, al
jne 0x46a606
mov bl, sil
jmp 0x46a627
mov eax, dword [rbx + 0x20]
lea rdx, [rbp + 0x5a0]
mov r8d, eax
imul eax, dword [rbx + 0x18]
mov ecx, eax
add rcx, qword [rbx + 0x10]
call fcn.00424180
inc dword [rbx + 0x18]
mov bl, 1
mov rax, qword [rdi + 0xa8]
mov ecx, dword [rax + 8]
sub ecx, 3
test ecx, 0xfffffff7
jne 0x46a770
mov rax, qword [rbp + 0x168]
mov dword [rbp + 0x170], esi
test rax, rax
je 0x46a655
mov word [rax], si
mov r8, qword [rdi + 0xa8]
lea rax, [0x00497134]
lea r9, [0x00486284]
lea rdx, str._smetaeditor_s.exe
lea rcx, [rbp + 0x380]
cmp dword [r8 + 4], 2
cmove r9, rax
add r8, 0x29c
call fcn.004012e8
mov rcx, qword [rbp + 0x388]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x46a770
mov rdx, qword [rdi + 0xa8]
lea rax, str.MetaEditor_4
mov r8, qword [rbp + 0x388]
lea r9, str.MetaEditor_5
cmp dword [rdx + 8], 0xb
cmove r9, rax
mov rax, qword [rbp + 0x168]
mov qword [rsp + 0x30], rax
add rdx, 0x29c
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.00461c80
test eax, eax
je 0x46a770
mov r8, qword [rsp + 0x48]
test r8, r8
je 0x46a716
mov edx, dword [rsp + 0x54]
mov rcx, r8
call fcn.004293f8
mov r8, qword [rsp + 0x48]
mov dword [rsp + 0x50], eax
jmp 0x46a71a
mov dword [rsp + 0x50], esi
lea rbx, [rdi + 0x8f0]
test r8, r8
je 0x46a739
or r9, 0xffffffffffffffff
lea rcx, [rbp + 0x5a0]
mov rdx, r14
call fcn.00435528
mov edx, dword [rbx + 0x18]
mov rcx, rbx
inc edx
call fcn.00403cbc
test al, al
jne 0x46a74f
mov bl, sil
jmp 0x46a770
mov eax, dword [rbx + 0x20]
lea rdx, [rbp + 0x5a0]
mov r8d, eax
imul eax, dword [rbx + 0x18]
mov ecx, eax
add rcx, qword [rbx + 0x10]
call fcn.00424180
inc dword [rbx + 0x18]
mov bl, 1
lea r11, [rsp + 0x8b0]
mov al, bl
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret