Function at 0x301753ad
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
sub esp, 0x3c
cmp eax, 3
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
mov esi, ecx
je 0x30175767
cmp eax, 0x4e
je 0x30175708
cmp eax, 0x7b
je 0x301756f6
cmp eax, 0x111
jne 0x3017577e
mov eax, dword [ebp + 0xc]
shr eax, 0x10
cmp ax, 0x300
jne 0x30175649
xor ebx, ebx
cmp byte [esi + 0xd1], bl
je 0x30175405
mov al, 1
jmp 0x3017578f
push 1
call sym.OFFDIAG.exe_public:_struct_HWND______thiscall_NetUI::HWNDHost::GetHWND_enum_NetUI::HWNDHost::TriggerDelayLoadFlag_
push ebx
push 2
push dword [0x30261adc]
mov ecx, esi
mov dword [ebp + 8], eax
mov dword [ebp + 0x14], ebx
call sym.OFFDIAG.exe_public:_class_NetUI::Value____thiscall_NetUI::Node::GetValue_struct_NetUI::PropertyInfo_const___int__unsigned_char_
push eax
lea ecx, [ebp + 0x14]
call fcn.301393f1
mov ecx, dword [ebp + 0x14]
cmp word [ecx + 4], 6
jne 0x3017543f
call sym.OFFDIAG.exe_public:_wchar_t_const____thiscall_NetUI::Value::GetString_void_
mov dword [ebp + 0x10], eax
jmp 0x30175442
mov dword [ebp + 0x10], ebx
push dword [ebp + 8]
mov byte [ebp + 0xf], bl
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
cmp dword [ebp + 0x10], ebx
mov edi, eax
jne 0x30175463
cmp edi, ebx
jg 0x30175463
mov ecx, dword [ebp + 0x14]
call sym.OFFDIAG.exe_public:_void___thiscall_NetUI::BaseValue::Release_void_
jmp 0x301753fe
push 2
push edi
call fcn.30146413
cmp eax, ebx
mov dword [ebp - 8], eax
je 0x3017550c
inc edi
push edi
push eax
push dword [ebp + 8]
mov dword [ebp - 0xc], edi
call dword [sym.imp.USER32.dll_GetWindowTextW]
cmp dword [ebp + 0x10], ebx
je 0x30175499
push dword [ebp - 8]
push dword [ebp + 0x10]
call fcn.301251a6
test eax, eax
je 0x30175504
lea edi, [esi + 0xd3]
cmp byte [edi], bl
mov byte [esi + 0xd2], 1
je 0x301754b8
mov ecx, esi
call sym.OFFDIAG.exe_public:_int___thiscall_NetUI::Textbox::GetMaxCharacters_void_
cmp dword [ebp - 0xc], eax
jg 0x301754b8
mov byte [edi], bl
push 0xffffffffffffffff
push 1
push ebx
push dword [ebp - 8]
mov dword [ebp - 4], ebx
call sym.OFFDIAG.exe_public:_static_class_NetUI::Value____stdcall_NetUI::Value::CreateString_wchar_t_const___struct_HINSTANCE_____enum_NetUI::Value::ValueStringType__int_
push eax
lea ecx, [ebp - 4]
call fcn.301393f1
mov eax, dword [ebp - 4]
push esi
push ebx
lea edi, [esi + 0xd8]
push eax
mov dword [edi], eax
push dword [0x30261adc]
mov ecx, esi
call sym.OFFDIAG.exe_protected:_long_int___thiscall_NetUI::Node::_SetValue_struct_NetUI::PropertyInfo_const___class_NetUI::Value___bool__void__
mov ecx, dword [ebp - 4]
cmp ecx, ebx
mov dword [edi], ebx
mov byte [esi + 0xd2], bl
mov byte [ebp + 0xf], 1
je 0x30175504
call sym.OFFDIAG.exe_public:_void___thiscall_NetUI::BaseValue::Release_void_
push dword [ebp - 8]
call sym.OFFDIAG.exe_void___stdcall_NetUI::HFree_void__
push ebx
push 2
push dword [0x30261adc]
mov ecx, esi
mov dword [ebp - 4], ebx
call sym.OFFDIAG.exe_public:_class_NetUI::Value____thiscall_NetUI::Node::GetValue_struct_NetUI::PropertyInfo_const___int__unsigned_char_
push eax
lea ecx, [ebp - 4]
call fcn.301393f1
cmp byte [ebp + 0xf], bl
je 0x301755fe
mov eax, dword [ebp - 4]
cmp eax, dword [ebp + 0x14]
jne 0x301755fe
mov byte [esi + 0xd1], 1
mov byte [ebp + 0xf], bl
mov dword [ebp - 8], ebx
cmp dword [ebp - 8], 5
jge 0x30175590
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push ebx
push 0xc6
push dword [ebp + 8]
call edi
test eax, eax
je 0x30175590
push ebx
push ebx
push 0xc7
push dword [ebp + 8]
call edi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov edi, eax
cmp edi, ebx
jge 0x30175583
xor edi, edi
cmp dword [ebp + 0x10], ebx
jne 0x301755ba
cmp edi, ebx
jne 0x301755f0
mov byte [ebp + 0xf], 1
cmp byte [ebp + 0xf], bl
jne 0x301755b2
push dword [ebp + 0x10]
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push dword [ebp + 0x10]
call fcn.30123986
push eax
push eax
mov ecx, esi
call sym.OFFDIAG.exe_public:_void___thiscall_NetUI::Textbox::SetSelectedRange_int__int_
mov byte [esi + 0xd1], bl
jmp 0x30175634
push 2
push edi
call fcn.30146413
cmp eax, ebx
mov dword [ebp - 0xc], eax
je 0x30175590
inc edi
push edi
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetWindowTextW]
push dword [ebp + 0x10]
push dword [ebp - 0xc]
call fcn.301251a6
test eax, eax
jne 0x301755e8
mov byte [ebp + 0xf], 1
push dword [ebp - 0xc]
call sym.OFFDIAG.exe_void___stdcall_NetUI::HFree_void__
inc dword [ebp - 8]
cmp byte [ebp + 0xf], bl
je 0x3017554a
jmp 0x30175590
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push ebx
push 0x458
push dword [ebp + 8]
call edi
mov ecx, esi
call sym.OFFDIAG.exe_public:_bool___thiscall_NetUI::Textbox::GetIsDirty_void_
test al, al
jne 0x30175634
push ebx
push ebx
push 0xb8
push dword [ebp + 8]
call edi
test eax, eax
setne al
mov ecx, esi
push eax
call sym.OFFDIAG.exe_public:_long_int___thiscall_NetUI::Textbox::SetIsDirty_bool_
mov ecx, dword [ebp - 4]
cmp ecx, ebx
je 0x30175459
call sym.OFFDIAG.exe_public:_void___thiscall_NetUI::BaseValue::Release_void_
jmp 0x30175459
cmp ax, 0x501
jne 0x3017577e
lea eax, [esi + 0xdc]
push eax
call fcn.301740f5
mov ecx, esi
call sym.OFFDIAG.exe_public:_int___thiscall_NetUI::Textbox::GetMaxCharacters_void_
test eax, eax
jle 0x3017577e
xor ebx, ebx
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
call fcn.3015b212
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1c]
push eax
push dword [0x3026431c]
push esi
call sym.OFFDIAG.exe_public:_static_bool___stdcall_NetUI::Node::FExecuteCommand_class_NetUI::Node___struct_NetUI::PropertyInfo_const___struct_NetUI::CommandCP__
mov ecx, dword [ebp - 0x14]
call fcn.3015b4d6
test eax, eax
jle 0x301756c8
mov eax, dword [ebp - 0x14]
cmp dword [eax], ebx
jne 0x301756ae
mov eax, 0x30002678
jmp 0x301756b0
mov eax, dword [eax]
push eax
lea eax, [esi + 0xe8]
push eax
mov ecx, esi
call fcn.30174eb6
mov byte [esi + 0xd3], 1
jmp 0x301756d6
lea eax, [esi + 0xe8]
push eax
mov ecx, esi
call fcn.301740f5
lea ecx, [ebp - 0x10]
call fcn.3015b4a5
mov ecx, dword [ebp - 0x1c]
cmp ecx, ebx
mov dword [ebp - 0x1c], ebx
je 0x3017577e
call sym.OFFDIAG.exe_public:_void___thiscall_NetUI::BaseValue::Release_void_
jmp 0x3017577e
mov eax, dword [esi]
push edi
call dword [eax + 0x11c]
test al, al
je 0x3017577e
jmp 0x301753fe
mov eax, dword [edi + 8]
cmp eax, 0x702
jne 0x30175732
call sym.OFFDIAG.exe_public:_static_void___stdcall_NetUI::Node::StartDefer_void_
push dword [edi + 0xc]
mov ecx, esi
call sym.OFFDIAG.exe_public:_long_int___thiscall_NetUI::Textbox::SetSelectedRangeStart_int_
push dword [edi + 0x10]
mov ecx, esi
call sym.OFFDIAG.exe_public:_long_int___thiscall_NetUI::Textbox::SetSelectedRangeEnd_int_
call sym.OFFDIAG.exe_public:_static_void___stdcall_NetUI::Node::EndDefer_void_
jmp 0x3017577e
cmp eax, 0x714
jne 0x3017577e
mov eax, dword [sym.OFFDIAG.exe_public:_static_void____stdcall_NetUI::Textbox::UIDIMEMessageReceived_void_]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0xc]
push 1
mov dword [ebp - 0x24], eax
push 1
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x3c], 0x20
mov dword [ebp - 0x28], 0x10e
mov dword [ebp - 0x20], edi
call sym.OFFDIAG.exe_public:_void___thiscall_NetUI::Element::FireEvent_struct_NetUI::Event___bool__bool_
jmp 0x3017577e
xor ebx, ebx
push ebx
call sym.OFFDIAG.exe_public:_struct_HWND______thiscall_NetUI::HWNDHost::GetHWND_enum_NetUI::HWNDHost::TriggerDelayLoadFlag_
cmp eax, ebx
je 0x3017577e
push ebx
push ebx
push 3
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [ebp + 0x14]
mov ecx, esi
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call sym.OFFDIAG.exe_public_virtual:_bool___thiscall_NetUI::HWNDHost::OnNotify_unsigned_int__unsigned_int__long_int__long_int__
pop edi
pop esi
pop ebx
leave
ret 0x10