Function at 0x404b90
Capabilities:
Read file on windows
Terminate process

Disassembly:
sub esp, 0xc
push ebx
push ebp
mov ebp, dword [sym.imp.USER32.dll_SendMessageW]
push esi
mov ebx, ecx
push edi
push 0
push 0
mov eax, dword [ebx + 0xfc0]
push 0x1004
push eax
call ebp
cmp eax, 1
je 0x404f7d
mov ecx, dword [ebx + 0xfc0]
push 2
push 0xffffffffffffffff
push 0x100c
push ecx
call ebp
mov edi, eax
inc edi
je 0x404f7d
mov edx, dword [ebx + 0xfc0]
lea esi, [edi - 1]
push 2
push esi
push 0x100c
push edx
call ebp
inc eax
push esi
lea ecx, [ebx + 0xfa0]
mov edi, eax
call sub.MFC42u.DLL_CListCtrl::GetItemData
mov dword [ebx + 0x1dc4], eax
mov eax, dword [ebx + 0xfc0]
push 0
push 0
push 0x103c
push eax
call ebp
lea ecx, [ebx + esi*4 + 0x46dc]
push ecx
mov ecx, ebx
call fcn.00406120
test edi, edi
jne 0x404bd5
push eax
mov ecx, ebx
call fcn.00407640
cmp dword [ebx + 0x1a9c], 7
je 0x404f7d
lea ebp, [ebx + 0xfe0]
push 1
mov ecx, ebp
call sub.MFC42u.DLL_CWnd::EnableWindow
mov eax, dword [ebx + 0x4ba8]
cmp eax, 1
je 0x404ef4
cmp eax, 2
je 0x404ef4
cmp eax, 3
jne 0x404f1b
push 1
push 0x104
call dword [sym.imp.MSVCRT.dll_calloc]
mov esi, eax
add esp, 8
cmp esi, edi
mov dword [esp + 0x14], esi
jne 0x404c94
push edi
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
push 1
call dword [sym.imp.MSVCRT.dll_exit]
mov eax, dword [ebx + 0x1c80]
cmp eax, 1
jne 0x404dba
mov ecx, ebx
call fcn.00407980
mov edi, eax
test edi, edi
jne 0x404cc4
push esi
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
mov edx, dword [ebx + 0x1c84]
push 0
push edx
push edi
call dword [sym.imp.MSVCRT.dll_fseek]
push edi
push 0x18
push 1
push esi
call dword [sym.imp.MSVCRT.dll_fread]
lea eax, [ebx + 0x1d0c]
mov ecx, 6
mov edi, eax
add esp, 0x1c
rep movsd dword es:[edi], dword [esi]
mov eax, dword [eax]
test eax, eax
jne 0x404d25
mov ecx, dword [ebx + 0x1d14]
test ecx, ecx
je 0x404d25
push eax
lea ecx, [ebx + 0x900]
call sub.MFC42u.DLL_CWnd::EnableWindow
push 0
lea ecx, [ebx + 0x66c]
call sub.MFC42u.DLL_CWnd::EnableWindow
push 1
lea ecx, [ebx + 0xb94]
jmp 0x404d89
cmp eax, 1
jne 0x404d58
mov ecx, dword [ebx + 0x1d14]
test ecx, ecx
je 0x404d58
push 0
lea ecx, [ebx + 0xb94]
call sub.MFC42u.DLL_CWnd::EnableWindow
push 0
lea ecx, [ebx + 0x66c]
call sub.MFC42u.DLL_CWnd::EnableWindow
push 1
lea ecx, [ebx + 0x900]
jmp 0x404d89
cmp eax, 2
jne 0x404d8e
mov eax, dword [ebx + 0x1d14]
test eax, eax
je 0x404d8e
push 0
lea ecx, [ebx + 0xb94]
call sub.MFC42u.DLL_CWnd::EnableWindow
push 0
lea ecx, [ebx + 0x900]
call sub.MFC42u.DLL_CWnd::EnableWindow
push 1
lea ecx, [ebx + 0x66c]
call sub.MFC42u.DLL_CWnd::EnableWindow
mov ax, word [ebx + 0x1d10]
cmp ax, 0x9b
je 0x404db1
cmp ax, 0x9c
je 0x404db1
cmp ax, 0x9d
je 0x404db1
cmp ax, 0x19d
jne 0x404f1b
push 0
mov ecx, ebp
jmp 0x404f16
cmp eax, 2
jb 0x404f1b
lea ecx, [ebx + 0xb94]
push edi
call sub.MFC42u.DLL_CWnd::EnableWindow
lea ecx, [ebx + 0x900]
push edi
call sub.MFC42u.DLL_CWnd::EnableWindow
lea ecx, [ebx + 0x66c]
push edi
call sub.MFC42u.DLL_CWnd::EnableWindow
mov eax, dword [ebx + 0x1c80]
mov dword [esp + 0x18], edi
cmp eax, edi
jbe 0x404f1b
mov dword [esp + 0x10], edi
jmp 0x404e03
mov esi, dword [esp + 0x14]
mov ecx, ebx
call fcn.00407980
mov edi, eax
test edi, edi
je 0x404cb0
mov eax, dword [ebx + 0x1c84]
mov ecx, dword [esp + 0x10]
add eax, ecx
push 0
push eax
push edi
call dword [sym.imp.MSVCRT.dll_fseek]
push edi
push 0x18
push 1
push esi
call dword [sym.imp.MSVCRT.dll_fread]
mov esi, dword [esp + 0x30]
lea ebp, [ebx + 0x1d0c]
mov ecx, 6
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp]
add esp, 0x1c
test eax, eax
jne 0x404e6a
mov eax, dword [ebx + 0x1d14]
test eax, eax
je 0x404e6a
push 1
lea ecx, [ebx + 0xb94]
call sub.MFC42u.DLL_CWnd::EnableWindow
cmp dword [ebp], 1
jne 0x404e87
mov eax, dword [ebx + 0x1d14]
test eax, eax
je 0x404e87
push 1
lea ecx, [ebx + 0x900]
call sub.MFC42u.DLL_CWnd::EnableWindow
cmp dword [ebp], 2
jne 0x404ea4
mov eax, dword [ebx + 0x1d14]
test eax, eax
je 0x404ea4
push 1
lea ecx, [ebx + 0x66c]
call sub.MFC42u.DLL_CWnd::EnableWindow
mov ax, word [ebx + 0x1d10]
cmp ax, 0x9b
je 0x404ec3
cmp ax, 0x9c
je 0x404ec3
cmp ax, 0x9d
je 0x404ec3
cmp ax, 0x19d
jne 0x404ed0
push 0
lea ecx, [ebx + 0xfe0]
call sub.MFC42u.DLL_CWnd::EnableWindow
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [ebx + 0x1c80]
inc eax
add edx, 0x18
cmp eax, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], edx
jb 0x404dff
jmp 0x404f1b
push 0
lea ecx, [ebx + 0xb94]
call sub.MFC42u.DLL_CWnd::EnableWindow
push 0
lea ecx, [ebx + 0x900]
call sub.MFC42u.DLL_CWnd::EnableWindow
push 0
lea ecx, [ebx + 0x66c]
call sub.MFC42u.DLL_CWnd::EnableWindow
mov ecx, dword [ebx + 0x4ba4]
push ecx
lea ecx, [ebx + 0xe28]
call sub.MFC42u.DLL_CWnd::SetWindowTextW
mov eax, dword [ebx + 0x4ba8]
cmp eax, 1
jne 0x404f41
mov edx, dword [0x41a904]
push edx
jmp 0x404f61
cmp eax, 2
jne 0x404f4e
mov eax, dword [0x41a908]
push eax
jmp 0x404f61
cmp eax, 3
jne 0x404f5c
mov ecx, dword [0x41a90c]
push ecx
jmp 0x404f61
push str.NULL
lea ecx, [ebx + 0xee4]
call sub.MFC42u.DLL_CWnd::SetWindowTextW
mov ecx, ebx
call fcn.0040d2e0
mov edx, dword [esp + 0x24]
mov dword [edx], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8