Function at 0x4063ca
Capabilities:
Get file version info

Disassembly:
mov eax, 0x4065f5
call sub.MSVCRT40.dll__EH_prolog
sub esp, 0x11c
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x10]
push ebx
push esi
xor ebx, ebx
call sub.MFC40.DLL_CString::CString
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], ebx
call sub.MFC40.DLL_CString::CString
lea eax, [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
push eax
add ecx, 0x1dc
mov byte [ebp - 4], 1
call sub.MFC40.DLL_CWnd::GetWindowTextA
mov eax, dword [ebp - 0x18]
push 0x40b098
push eax
call dword [sym.imp.MSVCRT40.dll__mbscmp]
add esp, 8
test eax, eax
jne 0x406445
mov byte [ebp - 4], bl
call fcn.004065ed
mov dword [ebp - 4], 0xffffffff
call fcn.004065ff
mov eax, dword [ebp - 0xc]
pop esi
mov dword fs:[0], eax
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [ebp - 0x18]
lea ecx, [ebp - 0x10]
push eax
call sub.MFC40.DLL_CString::operator_1
push 0x40b334
lea ecx, [ebp - 0x10]
call sub.MFC40.DLL_CString::FindOneOf
cmp eax, 0xffffffff
je 0x406491
inc eax
lea ecx, [ebp - 0x14]
push eax
push ecx
lea ecx, [ebp - 0x10]
call sub.MFC40.DLL_CString::Mid
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 2
call sub.MFC40.DLL_CString::operator_1
mov byte [ebp - 4], 1
call fcn.00406489
jmp 0x406451
push 0x40b330
lea ecx, [ebp - 0x10]
call sub.MFC40.DLL_CString::FindOneOf
cmp eax, 0xffffffff
je 0x4064c6
push eax
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x10]
call sub.MFC40.DLL_CString::Left
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 3
call sub.MFC40.DLL_CString::operator_1
mov byte [ebp - 4], 1
call fcn.004065ba
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0x1c]
push eax
call sub.MFC40.DLL_CString::CString_2
mov byte [ebp - 4], 4
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x18]
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov ebx, eax
test ebx, ebx
je 0x40657b
push ebx
call sub.MFC40.DLL_operator_new
add esp, 4
mov esi, eax
push esi
push ebx
push dword [ebp - 0x28]
push dword [ebp - 0x18]
call sub.VERSION.dll_GetFileVersionInfoA
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x14]
push ecx
push edx
push str.VarFileInfoTranslation
push esi
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x406572
cmp dword [ebp - 0x24], 0
je 0x406572
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov eax, ecx
shr eax, 0x10
movzx ecx, cx
movzx edx, ax
push edx
lea eax, [ebp - 0x128]
push ecx
push str.StringFileInfo_04hX_04hXFileDescription
push eax
call dword [sym.imp.MSVCRT40.dll_sprintf]
add esp, 0x10
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x14]
lea eax, [ebp - 0x128]
push ecx
push edx
push eax
push esi
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x406572
cmp dword [ebp - 0x24], 0
je 0x406572
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1c]
call sub.MFC40.DLL_CString::operator
push esi
call sub.MFC40.DLL_operator_delete
add esp, 4
cmp dword [ebp + 8], 0
jne 0x4065c2
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x20]
push eax
add ecx, 0x194
call sub.MFC40.DLL_CWnd::GetWindowTextA
push 0x40b098
push dword [ebp - 0x10]
call dword [sym.imp.MSVCRT40.dll__mbscmp]
add esp, 8
test eax, eax
je 0x4065c2
mov byte [ebp - 4], 1
call fcn.004065e5
mov byte [ebp - 4], 0
jmp 0x406423
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
add ecx, 0x194
call sub.MFC40.DLL_CWnd::SetWindowTextA
mov byte [ebp - 4], 1
call fcn.004065e5
mov byte [ebp - 4], 0
jmp 0x406423