Function at 0x405b60
Capabilities:
Resume thread

Disassembly:
push 0xffffffffffffffff
push 0x4098b1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x128
push ebp
push edi
mov edi, ecx
lea ecx, [esp + 8]
call sub.MFC42.DLL_CString::CString_2
xor ebp, ebp
lea ecx, [esp + 0x10]
mov dword [esp + 0x138], ebp
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0xc]
mov byte [esp + 0x138], 1
call sub.MFC42.DLL_CString::CString_2
lea eax, [esp + 8]
lea ecx, [edi + 0x3e0]
push eax
mov byte [esp + 0x13c], 2
call sub.MFC42.DLL_CWnd::GetWindowTextA
mov ecx, dword [esp + 8]
mov eax, dword [ecx - 8]
lea ecx, [esp + 8]
push eax
call sub.MFC42.DLL_CString::GetBuffer
test eax, eax
jne 0x405c31
push ebp
push ebp
push 0x40d598
call sub.MFC42.DLL_AfxMessageBox
lea ecx, [esp + 0xc]
mov byte [esp + 0x138], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x138], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 8]
mov dword [esp + 0x138], 0xffffffff
call sub.MFC42.DLL_CString::CString
pop edi
pop ebp
mov ecx, dword [esp + 0x128]
mov dword fs:[0], ecx
add esp, 0x134
ret
push esi
mov byte [edi + 0x790], 1
push ebp
push 0x40d
mov ecx, edi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push ebp
push 0x3f0
mov ecx, edi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
lea edx, [esp + 0x34]
push 0x100
push edx
push 0x40d58c
push 0x40d390
call fcn.004086d0
add esp, 0x10
lea eax, [esp + 0x34]
mov ecx, edi
push eax
push 0x421
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::SetWindowTextA
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CFile::CFile
mov ecx, dword [esp + 0xc]
push ebp
push 0x8001
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x148], 3
call sub.MFC42.DLL_CFile::Open
test eax, eax
je 0x405f37
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CFile::GetLength
lea ecx, [esp + 0x24]
mov esi, eax
call sub.MFC42.DLL_CFile::Close
cmp esi, 0x40000
jbe 0x405efd
mov edx, dword [edi + 0x240]
push ebp
push ebp
push 0x1004
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, ebp
jle 0x405e88
push ebx
lea ebx, [edi + 0x220]
push ebp
mov ecx, ebx
call sub.MFC42.DLL_CListCtrl::GetCheck
test eax, eax
je 0x405e68
lea esi, [edi + 0x7b0]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [edi + 0x7e0]
push esi
inc ecx
mov dword [edi + 0x7e0], ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x14
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
test esi, esi
mov byte [esp + 0x140], 4
je 0x405d6c
lea ecx, [esi + 4]
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esi + 0x10]
mov byte [esp + 0x140], 5
call sub.MFC42.DLL_CString::CString_2
jmp 0x405d6e
xor esi, esi
push 1
lea eax, [esp + 0x20]
push ebp
push eax
mov ecx, ebx
mov byte [esp + 0x14c], 3
call sub.MFC42.DLL_CListCtrl::GetItemText
lea ebx, [esi + 4]
push eax
mov ecx, ebx
mov byte [esp + 0x144], 6
call fcn.00408d0a
lea ecx, [esp + 0x1c]
mov byte [esp + 0x140], 3
call sub.MFC42.DLL_CString::CString
push 9
lea ecx, [esp + 0x28]
push ebp
push ecx
lea ecx, [edi + 0x220]
call sub.MFC42.DLL_CListCtrl::GetItemText
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 4
lea ecx, [esp + 0x24]
mov word [esi + 8], ax
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0x10]
lea ecx, [esi + 0x10]
push edx
mov dword [esi], edi
mov dword [esi + 0xc], ebp
call fcn.00408d0a
push 0
push 4
push 0
push 0
push esi
push 0x402b70
call sub.MFC42.DLL_AfxBeginThread
test eax, eax
jne 0x405e57
lea eax, [edi + 0x7b0]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [edi + 0x7e0]
lea eax, [edi + 0x7b0]
dec edx
push eax
mov dword [edi + 0x7e0], edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
mov dword [esp + 0x20], esi
je 0x405e68
lea ecx, [esi + 0x10]
mov byte [esp + 0x140], 7
call sub.MFC42.DLL_CString::CString
mov ecx, ebx
mov byte [esp + 0x140], 3
call sub.MFC42.DLL_CString::CString
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
jmp 0x405e68
mov dword [eax + 0x28], 1
mov eax, dword [eax + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov ecx, dword [edi + 0x240]
push 0
push 0
push 0x1004
push ecx
inc ebp
call dword [sym.imp.USER32.dll_SendMessageA]
cmp ebp, eax
jl 0x405cff
pop ebx
mov eax, dword [edi + 0x7e0]
test eax, eax
jne 0x405f74
lea edx, [esp + 0x34]
push 0x100
push edx
push 0x40d530
push 0x40d390
call fcn.004086d0
add esp, 0x10
lea eax, [esp + 0x34]
mov ecx, edi
push eax
push 0x421
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::SetWindowTextA
mov byte [edi + 0x790], 0
push 1
push 0x40d
mov ecx, edi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push 1
push 0x3f0
mov ecx, edi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
jmp 0x405f74
mov byte [edi + 0x790], 0
push 1
push 0x40d
mov ecx, edi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push 1
push 0x3f0
mov ecx, edi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push ebp
push ebp
push 0x40d578
jmp 0x405f6f
mov byte [edi + 0x790], 0
push 1
push 0x40d
mov ecx, edi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push 1
push 0x3f0
mov ecx, edi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push ebp
push ebp
push 0x40d568
call sub.MFC42.DLL_AfxMessageBox
lea ecx, [esp + 0x24]
mov byte [esp + 0x13c], 2
call fcn.00408d58
lea ecx, [esp + 0x10]
mov byte [esp + 0x13c], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x13c], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov dword [esp + 0x13c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x134]
pop esi
pop edi
pop ebp
mov dword fs:[0], ecx
add esp, 0x134
ret