Function at 0x405d9a
Capabilities:
Check if file exists
Get file attributes
Identify system language via api

Disassembly:
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x70
mov rax, qword [0x0040d0f0]
mov rsi, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov rdx, qword [0x0040d150]
mov r13, qword [rdx]
movzx edx, ax
lea rcx, [r13 + 0x60000]
add r13, 0x54000
call fcn.004077df
call fcn.00404998
mov rdi, qword [0x0040d0d0]
mov rbx, qword [0x0040d0b0]
mov rcx, r13
mov eax, dword [rdi]
mov dword [rbx + 0x1c], 0x10000
and eax, 0x20
mov dword [rbx], eax
call fcn.004080a8
test eax, eax
jne 0x405ecd
movsxd rdx, dword [rsi + 0x68]
test edx, edx
je 0x405ecd
mov rax, qword [0x0040d080]
movsxd r10, dword [rsi + 0x64]
add rdx, rdx
mov r9, qword [0x0040d1c0]
mov rcx, qword [rax + 0x24]
movsxd rax, dword [rsi + 0x6c]
mov dword [rsp + 0x20], 0
add rax, rax
add rdx, rcx
lea r8, [rax + rcx]
mov rcx, r10
call fcn.00407747
mov r12, qword [0x0040d1c0]
mov ax, word [r12]
test ax, ax
je 0x405ecd
cmp ax, 0x22
jne 0x405e78
lea rcx, [r12 + 2]
mov edx, 0x22
add r12, 2
call fcn.00407247
mov word [rax], 0
mov rcx, r12
call sub.KERNEL32.dll_lstrlenW
cdqe
add rax, rax
lea rcx, [r12 + rax - 8]
cmp r12, rcx
jae 0x405eba
lea rdx, str..exe
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x405eba
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x405eb2
test al, 0x10
jne 0x405eba
mov rcx, r12
call fcn.0040726f
mov rcx, r12
call fcn.004078cc
mov rcx, r13
mov rdx, rax
call fcn.004078b1
mov rcx, r13
call fcn.004080a8
test eax, eax
jne 0x405ee7
mov edx, dword [rsi + 0x138]
mov rcx, r13
call fcn.00407a1f
test byte [rdi], 0x10
je 0x405f0a
mov rax, qword [0x0040d120]
cmp dword [rax], 0
jne 0x405f0a
call fcn.0040594d
mov rax, qword [0x0040d180]
mov dword [rax], 1
mov rdi, qword [0x0040d0e0]
mov dword [rsp + 0x28], 0x8040
xor r9d, r9d
mov r8d, 1
mov dword [rsp + 0x20], 0
mov edx, 0x67
mov rcx, qword [rdi]
call qword [sym.imp.USER32.dll_LoadImageW]
cmp dword [rsi + 0x70], 0xffffffff
mov qword [0x0044a320], rax
je 0x40600a
mov rdx, qword [0x0040d010]
lea r12, [0x0040c24c]
mov qword [0x0045a3a0], rax
lea rcx, [0x0045a380]
mov qword [0x0045a3c0], r12
mov qword [0x0045a388], rdx
mov rdx, qword [rdi]
mov qword [0x0045a398], rdx
call qword [sym.imp.USER32.dll_RegisterClassW]
test ax, ax
jne 0x405f90
xor r12d, r12d
jmp 0x406115
xor r9d, r9d
lea r8, [rsp + 0x60]
xor edx, edx
mov ecx, 0x30
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
mov ecx, dword [rsp + 0x64]
mov edx, dword [rsp + 0x60]
xor r8d, r8d
mov qword [rsp + 0x58], 0
mov rax, qword [rdi]
mov r9d, 0x80000000
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x20], edx
mov qword [rsp + 0x48], 0
sub eax, ecx
mov ecx, pe_nt_image_headers64
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x68]
mov qword [rsp + 0x40], 0
sub eax, edx
mov rdx, r12
mov dword [rsp + 0x30], eax
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov qword [0x0045a3f0], rax
xor ecx, ecx
call fcn.00403b56
mov r12d, eax
test eax, eax
jne 0x406103
call fcn.00404998
cmp dword [rbx + 0x20], 0
jne 0x4060e5
mov rcx, qword [0x0045a3f0]
mov edx, 5
call qword [sym.imp.USER32.dll_ShowWindow]
lea rcx, str.RichEd20
call fcn.004083ef
test rax, rax
jne 0x40605a
lea rcx, str.RichEd32
call fcn.004083ef
xor ecx, ecx
mov rbx, qword [sym.imp.USER32.dll_GetClassInfoW]
lea r8, [0x0045a380]
lea rdx, str.RichEdit20W
call rbx
test eax, eax
jne 0x4060a4
xor ecx, ecx
lea r8, [0x0045a380]
lea rdx, str.RichEdit
call rbx
lea rax, str.RichEdit20W
lea rcx, [0x0045a380]
mov qword [0x0045a3c0], rax
call qword [sym.imp.USER32.dll_RegisterClassW]
mov eax, dword [0x0044a318]
lea r9, [0x00405331]
xor r8d, r8d
mov qword [rsp + 0x20], 0
mov rcx, qword [rdi]
lea edx, [rax + 0x69]
movzx edx, dx
call qword [sym.imp.USER32.dll_DialogBoxParamW]
mov ecx, 5
mov r12d, eax
call fcn.00403b56
mov ecx, 1
call fcn.00404840
jmp 0x406115
xor ecx, ecx
call fcn.00404a97
test eax, eax
je 0x40610b
cmp dword [0x0044a310], 0
jne 0x406103
mov ecx, 2
call fcn.00403b56
mov r12d, 2
jmp 0x406115
mov ecx, 1
call fcn.00403b56
mov eax, r12d
add rsp, 0x70
pop rbx
pop rsi
pop rdi
pop r12
pop r13
ret