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

Disassembly:
add eax, edx
push eax
mov eax, ecx
ret
push dword [0x4044b5]
mov edx, eax
mov ecx, pe_nt_image_headers32
push 0x10
and eax, ecx
sub eax, edx
loop 0x401ee2
pop ecx
pop eax
test eax, eax
jne 0x401ecd
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 0x40202b
dec eax
je 0x40201e
sub eax, 0xd
je 0x401fe9
sub eax, 0x102
je 0x401f79
sub eax, 0x384
je 0x401f5d
dec eax
je 0x401f49
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_DefWindowProcW]
jmp 0x402217
mov eax, ecx
push dword [0x406200]
call fcn.004010d0
xor eax, eax
jmp 0x402217
xor ebx, ebx
push ebx
push ebx
push 0x445
push dword [0x4061dc]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [0x406200], eax
jmp 0x401f56
movzx eax, word [ebp + 0x10]
sub eax, 5
je 0x401faf
sub eax, 0x63
je 0x401f95
dec eax
jne 0x401f56
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x401f56
push 0
push 0x403dd0
push dword [ebp + 8]
push 0x67
push dword [0x4052c7]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
jmp 0x401f56
mov eax, dword [0x4061dc]
xor ebx, ebx
cmp eax, ebx
je 0x401f56
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 0x401fd3
jmp 0x401f56
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 0x401f56
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x401f56
mov edi, dword [ebp + 8]
xor ebx, ebx
push str.Riched32.dll
mov dword [0x4061fc], edi
mov dword [0x4061dc], 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 0x402099
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 0x401f56
cmp esi, ebx
je 0x401f56
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 [0x4052c7]
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 0x404678
push str.button
push ebx
call esi
push ebx
push dword [0x4052c7]
mov dword [0x4061f8], 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 [0x4052c7]
mov dword [0x4061f4], eax
push 4
push dword [ebp + 8]
mov eax, 0x12c
push 0x1e
push eax
push 0x23
push eax
push edi
push 0x404674
push str.edit
push ebx
call esi
push ebx
push dword [0x4052c7]
mov dword [0x4061f0], 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 [0x4061ec], eax
push 0x400
lea eax, [ebp - 0x450]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push ebx
push dword [0x4052c7]
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 [0x4052c7]
mov dword [0x4061e8], eax
push ebx
push dword [ebp + 8]
push 0x1e
push 0x127
push 0x23
push 4
push edi
push 0x404638
push str.static
push ebx
call esi
push ebx
push dword [0x4052c7]
mov dword [0x4061e4], eax
push ebx
push dword [ebp + 8]
push 0x12c
push 0x258
push 0x5f
push 5
push 0x40000004
push 0x404674
push str.richedit
push ebx
call esi
push ebx
push dword [0x4052c7]
mov dword [0x4061dc], eax
push 5
push dword [ebp + 8]
mov eax, 0x136
push 0x1e
push eax
push 0x41
push eax
push edi
push 0x404674
push str.edit
push ebx
call esi
push eax
mov dword [0x4061e0], eax
call dword [sym.imp.USER32.dll_SetFocus]
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 0x10