Function at 0x30026753
Capabilities:
Get graphical window text

Disassembly:
push ebp
lea ebp, [esp - 0xec]
sub esp, 0x16c
mov eax, dword [0x30095244]
push ebx
mov ebx, dword [ebp + 0xf4]
push esi
mov esi, dword [ebp + 0x100]
push edi
push esi
push dword [ebp + 0xfc]
mov dword [ebp + 0xe8], eax
push dword [ebp + 0xf8]
push ebx
call fcn.3007f0b2
mov edi, eax
mov eax, dword [ebp + 0xf8]
sub eax, 0x4e
je 0x30026ba2
sub eax, 0xc2
je 0x300269bb
dec eax
jne 0x30026c19
movzx eax, word [ebp + 0xfc]
dec eax
je 0x300268d4
dec eax
je 0x300268b7
sub eax, 0xbdf
jne 0x30026c19
push 0xbe0
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 2
push 0xffffffffffffffff
push 0x100c
push eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x50], 5
call esi
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x1a]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x50]
push eax
xor ebx, ebx
push ebx
push 0x1005
push dword [ebp - 0x28]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x38], 0x100
call esi
xor edi, edi
inc edi
test eax, eax
je 0x30026c19
mov eax, dword [0x300956f8]
mov dword [ebp - 0x24], eax
mov ax, word [ebp - 0x30]
mov word [ebp - 0x20], ax
movzx eax, word [0x300956d8]
mov dword [ebp - 0x1e], eax
lea eax, [ebp - 0x24]
push eax
push 0x30026545
push dword [0x30095284]
push 0x30001ab0
push dword [0x30096e30]
call fcn.300816f4
add esp, 0x14
cmp eax, edi
jne 0x30026c19
movsx eax, word [ebp - 0x20]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x50]
push eax
push ebx
push 0x1006
push dword [ebp - 0x28]
call esi
push dword [ebp - 0x20]
mov dword [ebp - 0x50], edi
push dword [0x300956f8]
mov dword [ebp - 0x48], edi
call fcn.30026502
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp - 0x3c], eax
je 0x30026c19
lea eax, [ebp - 0x50]
push eax
push ebx
push 0x1006
push dword [ebp - 0x28]
call esi
jmp 0x30026c19
push dword [0x300956f8]
call fcn.300264bb
pop ecx
push 0
push ebx
call dword [sym.imp.USER32.dll_EndDialog]
xor edi, edi
inc edi
jmp 0x30026c19
push 0xbe0
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edi, eax
lea eax, [ebp - 0x1c]
xor ebx, ebx
mov dword [ebp - 0x3c], eax
mov eax, dword [0x30096d7c]
mov dword [ebp - 0x50], 5
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x38], 0x100
mov dword [ebp - 0x4c], ebx
cmp dword [eax + 0x24], ebx
jle 0x3002699a
lea eax, [ebp - 0x50]
push eax
push ebx
push 0x1005
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x30026986
lea eax, [ebp - 0x1c]
push eax
push dword [0x30095718]
call fcn.30079bc2
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
je 0x30026986
mov ecx, dword [ebp - 0x4c]
mov eax, dword [0x30096d7c]
imul ecx, ecx, 0x13
mov eax, dword [eax + 0x20]
mov eax, dword [eax]
push dword [eax + ecx + 4]
push dword [0x30095718]
call fcn.30079b24
mov eax, dword [0x30096d7c]
mov eax, dword [eax + 0x20]
mov eax, dword [eax]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x4c]
imul ecx, ecx, 0x13
mov dword [eax + ecx + 4], esi
mov ecx, dword [ebp - 0x4c]
mov eax, dword [0x30096d7c]
imul ecx, ecx, 0x13
mov eax, dword [eax + 0x20]
mov eax, dword [eax]
mov dx, word [ebp - 0x30]
mov word [eax + ecx + 0x10], dx
inc dword [ebp - 0x4c]
mov eax, dword [0x30096d7c]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [eax + 0x24]
jl 0x3002690c
push dword [0x300956f8]
call fcn.300264bb
xor edi, edi
pop ecx
inc edi
push edi
push dword [ebp + 0xf4]
call dword [sym.imp.USER32.dll_EndDialog]
jmp 0x30026c19
push 0x300956d8
push 0x3a
push dword [esi]
call sub.ODBC32.dll_SQLGetFunctions
and al, 0xfe
xor ebx, ebx
test ax, ax
je 0x300269d9
mov word [0x300956d8], bx
push esi
call fcn.300263ab
xor edi, edi
inc edi
cmp eax, ebx
pop ecx
mov dword [0x300956f8], eax
je 0x30026b9b
push 0xbe0
push dword [ebp + 0xf4]
call dword [sym.imp.USER32.dll_GetDlgItem]
lea ecx, [ebp - 0x60]
push ecx
push eax
mov dword [ebp - 0x28], eax
call dword [sym.imp.USER32.dll_GetWindowRect]
cmp dword [0x30096e78], 0x400
jb 0x30026a29
push 0x2d
call dword [sym.imp.USER32.dll_GetSystemMetrics]
imul eax, eax, 0xfffffffe
add dword [ebp - 0x58], eax
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push ebx
push ebx
push 0x1028
push dword [ebp - 0x28]
call esi
mov ecx, dword [0x30096d7c]
cmp eax, dword [ecx + 0x24]
jge 0x30026a51
push 2
call dword [sym.imp.USER32.dll_GetSystemMetrics]
sub dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x60]
push 5
imul eax, eax, 3
cdq
pop ecx
idiv ecx
push 0x1500e3
mov dword [ebp - 0x80], 0xf
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], eax
call fcn.30056fbc
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x80]
push eax
push ebx
push 0x101b
push dword [ebp - 0x28]
mov dword [ebp - 0x6c], ebx
call esi
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x78]
push 0x1500e4
sub eax, dword [ebp - 0x60]
mov dword [ebp - 0x78], eax
call fcn.30056fbc
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x80]
push eax
push edi
push 0x101b
push dword [ebp - 0x28]
mov dword [ebp - 0x6c], edi
call esi
mov eax, dword [0x30096d7c]
mov dword [ebp - 0x40], 3
mov dword [ebp - 0x4c], ebx
cmp dword [eax + 0x24], ebx
jle 0x30026b65
mov ecx, dword [ebp - 0x4c]
neg ecx
sbb ecx, ecx
and ecx, 0xfffffffd
add ecx, 3
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x4c]
imul ecx, ecx, 0x13
mov dword [ebp - 0x50], 0xd
mov dword [ebp - 0x48], ebx
mov eax, dword [eax + 0x20]
mov eax, dword [eax]
movsx eax, word [eax + ecx + 0x10]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x1c]
push eax
push 0x100
push dword [ebp - 0x4c]
call fcn.3002fded
add esp, 0xc
lea eax, [ebp - 0x50]
push eax
push ebx
push 0x1007
push dword [ebp - 0x28]
call esi
push dword [ebp - 0x30]
mov dword [ebp - 0x50], edi
push dword [0x300956f8]
mov dword [ebp - 0x48], edi
call fcn.30026502
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp - 0x3c], eax
je 0x30026b51
lea eax, [ebp - 0x50]
push eax
push ebx
push 0x1006
push dword [ebp - 0x28]
call esi
inc dword [ebp - 0x4c]
mov eax, dword [0x30096d7c]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [eax + 0x24]
jl 0x30026acf
xor ecx, ecx
cmp ecx, dword [eax + 0x24]
sbb eax, eax
neg eax
push eax
push 0xbe1
push dword [ebp + 0xf4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0x1b
push 0xffffffffffffffff
push dword [ebp + 0xf4]
call fcn.3007f629
add esp, 0xc
jmp 0x30026c19
push 2
jmp 0x300269aa
mov eax, dword [esi + 8]
cmp eax, 0xffffff9b
je 0x30026bf5
cmp eax, 0xfffffffd
jne 0x30026c19
cmp dword [esi + 4], 0xbe0
jne 0x30026c19
xor ebx, ebx
push ebx
push ebx
push 0x1032
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x30026c19
mov esi, 0xbe1
push esi
push dword [ebp + 0xf4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
push esi
push 0x111
push dword [ebp + 0xf4]
call fcn.30026753
mov edi, eax
jmp 0x30026c19
xor edi, edi
inc edi
test byte [esi + 0x1c], 8
je 0x30026c19
mov eax, dword [esi + 0x14]
shr eax, 1
and eax, edi
push eax
push 0xbe1
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov ecx, dword [ebp + 0xe8]
mov eax, edi
pop edi
pop esi
pop ebx
call fcn.300843e7
add ebp, 0xec
leave
ret 0x10