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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rax, qword [0x14000b008]
mov r14, qword [rax]
mov rax, qword [0x14000b058]
mov rsi, qword [rax]
lea rdi, [rsi + 0xc000]
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx edx, ax
mov rcx, rdi
call fcn.14000816d
call fcn.1400070d9
mov rax, qword [0x14000b530]
mov eax, dword [rax]
and eax, 0x20
mov rbx, qword [0x14000b2b8]
mov dword [rbx], eax
mov dword [rbx + 0x1c], 0x10000
add rsi, 0xa800
mov rcx, rsi
call fcn.14000795e
test eax, eax
je 0x140004c0d
mov rcx, rsi
call fcn.14000795e
test eax, eax
jne 0x140004ac2
mov edx, dword [r14 + 0x138]
mov rcx, rsi
call fcn.14000827a
mov r15, qword [0x14000b048]
mov rcx, qword [r15]
mov dword [rsp + 0x28], 0x8040
mov dword [rsp + 0x20], 0
mov edx, 0x67
mov r8d, 1
xor r9d, r9d
call qword [sym.imp.USER32.dll_LoadImageW]
mov qword [0x140039740], rax
cmp dword [r14 + 0x70], 0xffffffff
je 0x140004bba
lea rcx, section..text
mov qword [0x140039700], rcx
lea rcx, [0x1400396f8]
mov rdx, qword [r15]
mov qword [0x140039710], rdx
mov qword [0x140039718], rax
lea rax, [0x14000b47a]
mov qword [0x140039738], rax
call qword [sym.imp.USER32.dll_RegisterClassW]
test ax, ax
je 0x140004d93
lea rsi, [rsp + 0x60]
mov ecx, 0x30
xor edx, edx
mov r8, rsi
xor r9d, r9d
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
mov eax, dword [rsi]
mov ecx, dword [rsi + 4]
mov edx, dword [rsi + 8]
sub edx, eax
mov r8d, dword [rsi + 0xc]
sub r8d, ecx
mov r9, qword [r15]
mov qword [rsp + 0x50], r9
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x58], 0
lea rdx, [0x14000b47a]
mov ecx, 0x80
xor r8d, r8d
mov r9d, 0x80000000
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov qword [0x140039748], rax
xor ecx, ecx
call fcn.140003804
mov esi, 2
test eax, eax
jne 0x140004d95
call fcn.1400070d9
cmp dword [rbx + 0x20], 0
je 0x140004cd3
xor ecx, ecx
call fcn.14000556a
test eax, eax
je 0x140004d89
cmp dword [0x140039754], 0
jne 0x140004d95
mov esi, 2
mov ecx, 2
call fcn.140003804
jmp 0x140004d95
movsxd rax, dword [r14 + 0x68]
test rax, rax
je 0x140004aa7
movsxd rcx, dword [r14 + 0x64]
mov rdx, qword [0x14000b018]
mov r8, qword [rdx + 0x24]
lea rdx, [r8 + rax*2]
movsxd rax, dword [r14 + 0x6c]
lea r8, [r8 + rax*2]
mov dword [rsp + 0x20], 0
mov rdi, qword [0x14000b538]
mov r9, rdi
call fcn.1400080da
movzx eax, word [rdi]
test eax, eax
je 0x140004aa7
cmp eax, 0x22
jne 0x140004c78
mov rdi, qword [0x14000b538]
add rdi, 2
mov rcx, rdi
mov dx, 0x22
call fcn.140007b14
mov word [rax], 0
mov rcx, rdi
call sub.KERNEL32.dll_lstrlenW
cdqe
lea rcx, [rdi + rax*2]
add rcx, 0xfffffffffffffff8
cmp rcx, rdi
jbe 0x140004cbb
lea rdx, str..exe
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x140004cbb
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140004cb3
and eax, 0x10
jne 0x140004cbb
mov rcx, rdi
call fcn.140007a42
mov rcx, rdi
call fcn.140007ad8
mov rcx, rsi
mov rdx, rax
call fcn.140007a2e
jmp 0x140004aa7
mov rcx, qword [0x140039748]
mov edx, 5
call qword [sym.imp.USER32.dll_ShowWindow]
lea rcx, str.RichEd20
call fcn.1400085b6
test rax, rax
jne 0x140004d02
lea rcx, str.RichEd32
call fcn.1400085b6
lea rsi, str.RichEdit20W
lea r8, [0x1400396f8]
xor ecx, ecx
mov rdx, rsi
call qword [sym.imp.USER32.dll_GetClassInfoW]
test eax, eax
jne 0x140004d48
lea rdx, str.RichEdit
lea rdi, [0x1400396f8]
xor ecx, ecx
mov r8, rdi
call qword [sym.imp.USER32.dll_GetClassInfoW]
mov qword [0x140039738], rsi
mov rcx, rdi
call qword [sym.imp.USER32.dll_RegisterClassW]
mov rcx, qword [r15]
mov eax, dword [0x140039750]
add eax, 0x69
movzx edx, ax
mov qword [rsp + 0x20], 0
lea r9, [0x140004da3]
xor r8d, r8d
call qword [sym.imp.USER32.dll_DialogBoxParamW]
mov rsi, rax
mov ecx, 5
call fcn.140003804
mov ecx, 1
call fcn.14000492c
jmp 0x140004d95
mov ecx, 1
call fcn.140003804
xor esi, esi
mov eax, esi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret