Function at 0x140004bb8
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.1400082ed
call fcn.140007259
mov rax, qword [0x14000b5f0]
mov eax, dword [rax]
and eax, 0x20
mov rbx, qword [0x14000b368]
mov dword [rbx], eax
mov dword [rbx + 0x1c], 0x10000
add rsi, 0xa800
mov rcx, rsi
call fcn.140007ade
test eax, eax
je 0x140004d8d
mov rcx, rsi
call fcn.140007ade
test eax, eax
jne 0x140004c42
mov edx, dword [r14 + 0x138]
mov rcx, rsi
call fcn.1400083fa
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 [0x14002fc10], rax
cmp dword [r14 + 0x70], 0xffffffff
je 0x140004d3a
lea rcx, section..text
mov qword [0x14002fbd0], rcx
lea rcx, [0x14002fbc8]
mov rdx, qword [r15]
mov qword [0x14002fbe0], rdx
mov qword [0x14002fbe8], rax
lea rax, [0x14000b53a]
mov qword [0x14002fc08], rax
call qword [sym.imp.USER32.dll_RegisterClassW]
test ax, ax
je 0x140004f13
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, [0x14000b53a]
mov ecx, 0x80
xor r8d, r8d
mov r9d, 0x80000000
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov qword [0x14002fc18], rax
xor ecx, ecx
call fcn.140003804
mov esi, 2
test eax, eax
jne 0x140004f15
call fcn.140007259
cmp dword [rbx + 0x20], 0
je 0x140004e53
xor ecx, ecx
call fcn.1400056ea
test eax, eax
je 0x140004f09
cmp dword [0x14002fc24], 0
jne 0x140004f15
mov esi, 2
mov ecx, 2
call fcn.140003804
jmp 0x140004f15
movsxd rax, dword [r14 + 0x68]
test rax, rax
je 0x140004c27
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 [0x14000b5f8]
mov r9, rdi
call fcn.14000825a
movzx eax, word [rdi]
test eax, eax
je 0x140004c27
cmp eax, 0x22
jne 0x140004df8
mov rdi, qword [0x14000b5f8]
add rdi, 2
mov rcx, rdi
mov dx, 0x22
call fcn.140007c94
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 0x140004e3b
lea rdx, str..exe
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x140004e3b
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140004e33
and eax, 0x10
jne 0x140004e3b
mov rcx, rdi
call fcn.140007bc2
mov rcx, rdi
call fcn.140007c58
mov rcx, rsi
mov rdx, rax
call fcn.140007bae
jmp 0x140004c27
mov rcx, qword [0x14002fc18]
mov edx, 5
call qword [sym.imp.USER32.dll_ShowWindow]
lea rcx, str.RichEd20
call fcn.140008736
test rax, rax
jne 0x140004e82
lea rcx, str.RichEd32
call fcn.140008736
lea rsi, str.RichEdit20W
lea r8, [0x14002fbc8]
xor ecx, ecx
mov rdx, rsi
call qword [sym.imp.USER32.dll_GetClassInfoW]
test eax, eax
jne 0x140004ec8
lea rdx, str.RichEdit
lea rdi, [0x14002fbc8]
xor ecx, ecx
mov r8, rdi
call qword [sym.imp.USER32.dll_GetClassInfoW]
mov qword [0x14002fc08], rsi
mov rcx, rdi
call qword [sym.imp.USER32.dll_RegisterClassW]
mov rcx, qword [r15]
mov eax, dword [0x14002fc20]
add eax, 0x69
movzx edx, ax
mov qword [rsp + 0x20], 0
lea r9, [0x140004f23]
xor r8d, r8d
call qword [sym.imp.USER32.dll_DialogBoxParamW]
mov rsi, rax
mov ecx, 5
call fcn.140003804
mov ecx, 1
call fcn.140004aac
jmp 0x140004f15
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