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

Disassembly:
add eax, edx
push eax
mov eax, ecx
ret
push dword [0x4044c7]
mov edx, eax
mov ecx, pe_nt_image_headers32
push 0x10
and eax, ecx
sub eax, edx
loop 0x401e02
pop ecx
pop eax
test eax, eax
jne 0x401ded
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 0x401f4b
dec eax
je 0x401f3e
sub eax, 0xd
je 0x401f09
sub eax, 0x102
je 0x401e99
sub eax, 0x384
je 0x401e7d
dec eax
je 0x401e69
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_DefWindowProcW]
jmp 0x402137
mov eax, ecx
push dword [0x4061b0]
call fcn.004010d0
xor eax, eax
jmp 0x402137
xor ebx, ebx
push ebx
push ebx
push 0x445
push dword [0x40618c]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [0x4061b0], eax
jmp 0x401e76
movzx eax, word [ebp + 0x10]
sub eax, 5
je 0x401ecf
sub eax, 0x63
je 0x401eb5
dec eax
jne 0x401e76
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x401e76
push 0
push 0x403bb0
push dword [ebp + 8]
push 0x67
push dword [0x40528e]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
jmp 0x401e76
mov eax, dword [0x40618c]
xor ebx, ebx
cmp eax, ebx
je 0x401e76
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 0x401ef3
jmp 0x401e76
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 0x401e76
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x401e76
mov edi, dword [ebp + 8]
xor ebx, ebx
push str.Riched32.dll
mov dword [0x4061ac], edi
mov dword [0x40618c], 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 0x401fb9
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 0x401e76
cmp esi, ebx
je 0x401e76
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 [0x40528e]
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 [0x40528e]
mov dword [0x4061a8], 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 [0x40528e]
mov dword [0x4061a4], 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 [0x40528e]
mov dword [0x4061a0], 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 [0x40619c], eax
push 0x400
lea eax, [ebp - 0x450]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push ebx
push dword [0x40528e]
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 [0x40528e]
mov dword [0x406198], 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 [0x40528e]
mov dword [0x406194], 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 [0x40528e]
mov dword [0x40618c], 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 [0x406190], eax
call dword [sym.imp.USER32.dll_SetFocus]
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 0x10