Function at 0x402340
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x406e57
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c
push ebx
push ebp
push esi
push edi
mov edi, ecx
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_2]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x64], 0
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_2]
mov eax, dword [edi + 0x98]
mov ebp, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x110a
push eax
mov byte [esp + 0x74], 1
call ebp
mov ecx, dword [edi + 0x98]
push eax
push 6
push 0x110a
push ecx
call ebp
push 0xa
lea ecx, [esp + 0x40]
mov esi, eax
call sub.MFC71.DLL_CMapStringToString::CMapStringToString
test esi, esi
mov byte [esp + 0x64], 2
je 0x4024b5
jmp 0x4023d0
mov edx, dword [edi + 0x98]
push esi
push 4
push 0x110a
push edx
call ebp
mov ebx, eax
push esi
lea eax, [esp + 0x28]
push eax
lea ecx, [edi + 0x78]
call sub.MFC71.DLL_CTreeCtrl::GetItemText
test ebx, ebx
mov byte [esp + 0x64], 3
jne 0x40248b
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x24]
push edx
lea ebx, [edi + 0x78]
push esi
mov ecx, ebx
call sub.MFC71.DLL_CTreeCtrl::GetItemImage
cmp dword [esp + 0x20], 1
jne 0x40248b
push esi
mov ecx, ebx
call sub.MFC71.DLL_CTreeCtrl::GetItemData
add eax, 0x200
push eax
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator]
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea ecx, [edi + 0xf8]
call sub.MFC71.DLL_CMapStringToString::operator
push eax
lea ecx, [esp + 0x20]
call dword [0x4081c0]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x64], 4
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
lea ecx, [esp + 0x14]
mov ebx, eax
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push ebx
push eax
lea ecx, [esp + 0x44]
call sub.MFC71.DLL_CMapStringToString::operator
mov ecx, eax
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator]
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov eax, dword [edi + 0x98]
push esi
push 6
push 0x110a
push eax
call ebp
lea ecx, [esp + 0x24]
mov esi, eax
mov byte [esp + 0x64], 2
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
test esi, esi
jne 0x4023d0
fld qword [0x408cf0]
lea ecx, [esp + 0x28]
fstp qword [esp + 0x30]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_2]
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_2]
mov eax, dword [esp + 0x48]
test eax, eax
mov byte [esp + 0x64], 6
je 0x40252a
lea ecx, [esp + 0x3c]
call sub.MFC71.DLL_CMapStringToString::PGetFirstAssoc
mov esi, eax
test esi, esi
je 0x40252a
nop
lea ecx, [esi + 4]
push ecx
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetBuffer]
push eax
call dword [sym.imp.MSVCR71.dll_atof]
fadd qword [esp + 0x34]
add esp, 4
push esi
lea ecx, [esp + 0x40]
fstp qword [esp + 0x34]
call sub.MFC71.DLL_CMapStringToString::PGetNextAssoc
mov esi, eax
test esi, esi
jne 0x4024f0
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_2]
fld qword [esp + 0x30]
fcom qword [0x408ce8]
mov byte [esp + 0x64], 7
fnstsw ax
test ah, 0x41
jne 0x40256b
fmul qword [0x408ce0]
sub esp, 8
lea edx, [esp + 0x18]
fstp qword [esp]
push 0x408cd8
push edx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0x10
jmp 0x4025e0
fcom qword [0x408cd0]
fnstsw ax
test ah, 0x41
jne 0x402599
fmul qword [0x408cc8]
sub esp, 8
lea eax, [esp + 0x18]
fstp qword [esp]
push 0x408cc0
push eax
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0x10
jmp 0x4025e0
fcom qword [0x408cb8]
fnstsw ax
test ah, 0x41
jne 0x4025c7
fmul qword [0x408cb0]
sub esp, 8
lea ecx, [esp + 0x18]
fstp qword [esp]
push str._.2f_KB
push ecx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0x10
jmp 0x4025e0
call fcn.00406534
push eax
lea edx, [esp + 0x14]
push 0x408c98
push edx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0xc
push 0x3f2
mov ecx, edi
call sub.MFC71.DLL_CWnd::GetDlgItem
lea ecx, [esp + 0x10]
mov esi, eax
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetBuffer]
push eax
mov ecx, esi
call sub.MFC71.DLL_CWnd::SetWindowTextA
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x28]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x3c]
mov byte [esp + 0x64], 1
call fcn.0040619e
lea ecx, [esp + 0x2c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov ecx, dword [esp + 0x5c]
pop edi
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret