Function at 0x401e9b
Capabilities:
Get common file path
Read file on windows

Disassembly:
add eax, edx
push eax
mov eax, ecx
ret
push dword [0x404539]
mov edx, eax
mov ecx, pe_nt_image_headers32
push 0x10
and eax, ecx
sub eax, edx
loop 0x401e82
pop ecx
pop eax
test eax, eax
jne 0x401e6d
inc eax
and al, 0xf
add byte [eax], al
add byte [ecx + 0x48882048], cl
adc bl, al
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
sub esp, 0x450
dec eax
push ebx
push esi
push edi
je 0x401fcb
dec eax
je 0x401fbe
sub eax, 0xd
je 0x401f89
sub eax, 0x102
je 0x401f19
sub eax, 0x384
je 0x401efd
dec eax
je 0x401ee9
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_DefWindowProcW]
jmp 0x4021b7
mov eax, ecx
push dword [0x4061f0]
call fcn.004010d0
xor eax, eax
jmp 0x4021b7
xor ebx, ebx
push ebx
push ebx
push 0x445
push dword [0x4061cc]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [0x4061f0], eax
jmp 0x401ef6
movzx eax, word [ebp + 0x10]
sub eax, 5
je 0x401f4f
sub eax, 0x63
je 0x401f35
dec eax
jne 0x401ef6
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x401ef6
push 0
push 0x403c50
push dword [ebp + 8]
push 0x67
push dword [0x4052b8]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
jmp 0x401ef6
mov eax, dword [0x4061cc]
xor ebx, ebx
cmp eax, ebx
je 0x401ef6
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0x606
push ebx
push 0x445
push eax
call esi
mov edi, 0x493
push ebx
push edi
push edi
push dword [ebp + 8]
call esi
inc edi
cmp edi, 0x4cc
jl 0x401f73
jmp 0x401ef6
lea eax, [ebp - 0x50]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_BeginPaint]
push 1
lea ecx, [ebp - 0x10]
push ecx
push 0xa
lea ecx, [ebp - 0x450]
push ecx
push eax
call dword [sym.imp.USER32.dll_DrawTextW]
lea eax, [ebp - 0x50]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_EndPaint]
jmp 0x401ef6
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x401ef6
mov edi, dword [ebp + 8]
xor ebx, ebx
push str.Riched32.dll
mov dword [0x4061ec], edi
mov dword [0x4061cc], ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push ebx
push pe_nt_image_headers32
push 3
push ebx
push 1
push 0x80000000
lea eax, [ebp - 0x450]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp + 0x10], eax
cmp eax, 0xffffffff
je 0x402039
mov esi, dword [ebp + 8]
push ebx
lea ecx, [ebp + 0xc]
push ecx
push esi
push dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [ebp + 0xc], esi
jne 0x401ef6
cmp esi, ebx
je 0x401ef6
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x400
call sub.CRTDLL.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
push ebx
push dword [0x4052b8]
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
push ebx
push edi
push 0x1e
push 0x64
mov eax, 0x195
push eax
push eax
mov edi, 0x40000000
push edi
push 0x4046ec
push str.button
push ebx
call esi
push ebx
push dword [0x4052b8]
mov dword [0x4061e8], eax
push 3
push dword [ebp + 8]
mov eax, 0x12c
push 0x1e
push eax
push 5
push eax
push edi
push ebx
push str.edit
push ebx
call esi
push ebx
push dword [0x4052b8]
mov dword [0x4061e4], eax
push 4
push dword [ebp + 8]
mov eax, 0x12c
push 0x1e
push eax
push 0x23
push eax
push edi
push 0x4046e8
push str.edit
push ebx
call esi
push ebx
push dword [0x4052b8]
mov dword [0x4061e0], eax
push ebx
push dword [ebp + 8]
push 0x1e
push 0x127
push 5
push 5
push edi
push str.Infinitely
push str.static
push ebx
call esi
mov dword [0x4061dc], eax
push 0x400
lea eax, [ebp - 0x450]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push ebx
push dword [0x4052b8]
push ebx
push dword [ebp + 8]
push 0x1e
push 0x127
push 0x41
push 5
push edi
push str.prisewin
push str.static
push ebx
call esi
push ebx
push dword [0x4052b8]
mov dword [0x4061d8], eax
push ebx
push dword [ebp + 8]
push 0x1e
push 0x127
push 0x23
push 4
push edi
push str.mistic
push str.static
push ebx
call esi
push ebx
push dword [0x4052b8]
mov dword [0x4061d4], eax
push ebx
push dword [ebp + 8]
push 0x12c
push 0x258
push 0x5f
push 5
push 0x40000004
push 0x4046e8
push str.richedit
push ebx
call esi
push ebx
push dword [0x4052b8]
mov dword [0x4061cc], eax
push 5
push dword [ebp + 8]
mov eax, 0x136
push 0x1e
push eax
push 0x41
push eax
push edi
push 0x4046e8
push str.edit
push ebx
call esi
push eax
mov dword [0x4061d0], eax
call dword [sym.imp.USER32.dll_SetFocus]
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 0x10