Function at 0x10025370
Capabilities:
Log keystrokes via polling

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x1003b659
push eax
mov dword fs:[0], esp
push ebx
push esi
push edi
mov edi, dword [esp + 0x1c]
lea eax, [edi - 9]
cmp eax, 0x25
mov esi, ecx
ja case.0x100253a1.10
movzx eax, byte [eax + 0x100255f8]
jmp dword [eax*4 + 0x100255e0]
mov ecx, dword [esp + 0x28]
call sub.MFC71.DLL_CWnd::GetDlgCtrlID
cmp eax, 4
jae case.0x100253a1.10
imul eax, eax, 0x58
lea esi, [eax + esi + 0x54]
mov ecx, esi
call sub.MFC71.DLL_CWnd::SetFocus
cmp edi, 0x27
je case.0x100253a1.10
mov ecx, dword [esi + 0x20]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0xffffffffffffffff
push 0
push 0xb1
push ecx
call edi
mov edx, dword [esi + 0x20]
push 0
push 0
push 0xb7
push edx
call edi
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0xc
ret 0x10
mov ecx, dword [esp + 0x28]
call sub.MFC71.DLL_CWnd::GetDlgCtrlID
cmp eax, 1
jbe case.0x100253a1.10
imul eax, eax, 0x58
lea ecx, [eax + esi - 0x5c]
call sub.MFC71.DLL_CWnd::SetFocus
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0xc
ret 0x10
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
mov ecx, esi
jge 0x1002544e
push 1
jmp 0x10025450
push 0
push esi
call fcn.10001810
mov ecx, eax
call fcn.10024710
test eax, eax
je case.0x100253a1.10
mov ecx, eax
call sub.MFC71.DLL_CWnd::SetFocus
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0xc
ret 0x10
mov eax, dword [esi + 0x20]
push eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call sub.MFC71.DLL_CWnd::FromHandle
mov ecx, dword [eax + 0x20]
push 0
push 0
push 0x400
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, eax
shr edx, 0x10
cmp dx, 0x534b
jne case.0x100253a1.10
movzx edi, ax
push edi
mov ecx, esi
call fcn.10001810
mov ecx, eax
call sub.MFC71.DLL_CWnd::GetDlgItem
test eax, eax
je 0x100254d0
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x100254d2
xor eax, eax
push eax
push edi
push 0x111
mov ecx, esi
call fcn.10001810
mov ecx, eax
call fcn.10002c00
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0xc
ret 0x10
mov eax, dword [esi + 0x230]
test eax, eax
mov edi, dword [esp + 0x28]
jne 0x10025558
lea ecx, [esp + 0x28]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_4]
lea eax, [esp + 0x28]
push eax
mov ecx, edi
mov dword [esp + 0x18], 0
call sub.MFC71.DLL_CWnd::GetWindowTextA_1
lea ecx, [esp + 0x28]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
call dword [sym.imp.MSVCR71.dll_atoi]
add esp, 4
test eax, eax
jl 0x1002557d
cmp eax, 0xff
jg 0x10025584
lea ecx, [esp + 0x28]
mov dword [esp + 0x14], 0xffffffff
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov eax, dword [esp + 0x24]
push edi
push eax
push 0
push 0x2e
mov ecx, esi
call sym.Host71.dll_protected:_void___thiscall_CIPAddrCtl::OnChildChar_unsigned_int__unsigned_int__unsigned_int__class_CIPAddrEdit__
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0xc
ret 0x10
push 0x100415d0
jmp 0x10025589
push 0x100415cc
mov ecx, edi
call sub.MFC71.DLL_CWnd::SetWindowTextA
mov ecx, edi
call sub.MFC71.DLL_CWnd::SetFocus
mov ecx, dword [edi + 0x20]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push 0xffffffffffffffff
push 0
push 0xb1
push ecx
call ebx
mov edx, dword [edi + 0x20]
push 0
push 0
push 0xb7
push edx
call ebx
mov ecx, esi
call sym.Host71.dll_protected:_void___thiscall_CIPAddrCtl::OnEditChange_void_
lea ecx, [esp + 0x28]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov ecx, dword [esp + 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0xc
ret 0x10