Function at 0x30027ca3
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x190
mov eax, dword [0x30002788]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x14]
push edi
push esi
push dword [ebp + 0x10]
mov dword [ebp - 0x118], ebx
push dword [ebp + 0xc]
push ebx
call fcn.3008507a
mov edi, eax
mov eax, dword [ebp + 0xc]
sub eax, 0x4e
je 0x300281dd
sub eax, 0xc2
je 0x30027f5f
dec eax
jne 0x30028254
movzx eax, word [ebp + 0x10]
dec eax
je 0x30027e5a
dec eax
je 0x30027e3d
sub eax, 0xbdf
jne 0x30028254
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 - 0x114], eax
mov dword [ebp - 0x154], 5
call esi
mov dword [ebp - 0x150], eax
lea eax, [ebp - 0x106]
mov dword [ebp - 0x140], eax
lea eax, [ebp - 0x154]
push eax
xor ebx, ebx
push ebx
push 0x1005
push dword [ebp - 0x114]
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x13c], 0x100
call esi
xor edi, edi
inc edi
test eax, eax
je 0x30028254
mov eax, dword [0x3009c7b8]
mov dword [ebp - 0x110], eax
mov ax, word [ebp - 0x134]
mov word [ebp - 0x10c], ax
movzx eax, word [0x3009c79c]
mov dword [ebp - 0x10a], eax
lea eax, [ebp - 0x110]
push eax
push 0x30027aa1
push dword [0x3009c34c]
push 0x30002050
push dword [0x3009e050]
call fcn.300877c2
add esp, 0x14
cmp eax, edi
jne 0x30028254
movsx eax, word [ebp - 0x10c]
mov dword [ebp - 0x134], eax
lea eax, [ebp - 0x154]
push eax
push ebx
push 0x1006
push dword [ebp - 0x114]
call esi
push dword [ebp - 0x10c]
mov dword [ebp - 0x154], edi
push dword [0x3009c7b8]
mov dword [ebp - 0x14c], edi
call fcn.30027a5d
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp - 0x140], eax
je 0x30028254
lea eax, [ebp - 0x154]
push eax
push ebx
push 0x1006
push dword [ebp - 0x114]
call esi
jmp 0x30028254
push dword [0x3009c7b8]
call fcn.30027a0f
pop ecx
push 0
push ebx
call dword [sym.imp.USER32.dll_EndDialog]
xor edi, edi
inc edi
jmp 0x30028254
push 0xbe0
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edi, eax
lea eax, [ebp - 0x108]
xor ebx, ebx
mov dword [ebp - 0x140], eax
mov eax, dword [0x3009df9c]
mov dword [ebp - 0x154], 5
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x13c], 0x100
mov dword [ebp - 0x150], ebx
cmp dword [eax + 0x24], ebx
jle 0x30027f4a
lea eax, [ebp - 0x154]
push eax
push ebx
push 0x1005
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x30027f30
lea eax, [ebp - 0x108]
push eax
push dword [0x3009c7d8]
call fcn.3007f89f
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
je 0x30027f30
mov ecx, dword [ebp - 0x150]
mov eax, dword [0x3009df9c]
imul ecx, ecx, 0x13
mov eax, dword [eax + 0x20]
mov eax, dword [eax]
push dword [eax + ecx + 4]
push dword [0x3009c7d8]
call fcn.3007f7f3
mov eax, dword [0x3009df9c]
mov eax, dword [eax + 0x20]
mov eax, dword [eax]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x150]
imul ecx, ecx, 0x13
mov dword [eax + ecx + 4], esi
mov ecx, dword [ebp - 0x150]
mov eax, dword [0x3009df9c]
imul ecx, ecx, 0x13
mov eax, dword [eax + 0x20]
mov eax, dword [eax]
mov dx, word [ebp - 0x134]
mov word [eax + ecx + 0x10], dx
inc dword [ebp - 0x150]
mov eax, dword [0x3009df9c]
mov ecx, dword [ebp - 0x150]
cmp ecx, dword [eax + 0x24]
jl 0x30027ea4
push dword [0x3009c7b8]
call fcn.30027a0f
xor edi, edi
pop ecx
inc edi
push edi
jmp 0x300281cf
push 0x3009c79c
push 0x3a
push dword [esi]
call sub.ODBC32.dll_SQLGetFunctions
xor ebx, ebx
test ax, 0xfffe
je 0x30027f7c
mov word [0x3009c79c], bx
push esi
call fcn.300278c5
xor edi, edi
inc edi
cmp eax, ebx
pop ecx
mov dword [0x3009c7b8], eax
je 0x300281cd
push 0xbe0
push dword [ebp - 0x118]
call dword [sym.imp.USER32.dll_GetDlgItem]
lea ecx, [ebp - 0x164]
push ecx
push eax
mov dword [ebp - 0x114], eax
call dword [sym.imp.USER32.dll_GetWindowRect]
cmp dword [0x3009e098], 0x400
jb 0x30027fdd
push 0x2d
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [ebp - 0x15c]
neg eax
lea eax, [ecx + eax*2]
mov dword [ebp - 0x15c], eax
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push ebx
push ebx
push 0x1028
push dword [ebp - 0x114]
call esi
mov ecx, dword [0x3009df9c]
cmp eax, dword [ecx + 0x24]
jge 0x3002800b
push 2
call dword [sym.imp.USER32.dll_GetSystemMetrics]
sub dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x15c]
sub eax, dword [ebp - 0x164]
push 5
imul eax, eax, 3
cdq
pop ecx
idiv ecx
push 0x1500e3
mov dword [ebp - 0x190], 0xf
mov dword [ebp - 0x18c], ebx
mov dword [ebp - 0x188], eax
call fcn.3005bbe5
mov dword [ebp - 0x184], eax
lea eax, [ebp - 0x190]
push eax
push ebx
push 0x101b
push dword [ebp - 0x114]
mov dword [ebp - 0x17c], ebx
call esi
mov eax, dword [ebp - 0x15c]
sub eax, dword [ebp - 0x188]
push 0x1500e4
sub eax, dword [ebp - 0x164]
mov dword [ebp - 0x188], eax
call fcn.3005bbe5
mov dword [ebp - 0x184], eax
lea eax, [ebp - 0x190]
push eax
push edi
push 0x101b
push dword [ebp - 0x114]
mov dword [ebp - 0x17c], edi
call esi
mov eax, dword [0x3009df9c]
mov dword [ebp - 0x144], 3
mov dword [ebp - 0x150], ebx
cmp dword [eax + 0x24], ebx
jle 0x30028194
mov ecx, dword [ebp - 0x150]
neg ecx
sbb ecx, ecx
and ecx, 0xfffffffd
add ecx, 3
mov dword [ebp - 0x148], ecx
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x140], ecx
mov ecx, dword [ebp - 0x150]
imul ecx, ecx, 0x13
mov dword [ebp - 0x154], 0xd
mov dword [ebp - 0x14c], ebx
mov eax, dword [eax + 0x20]
mov eax, dword [eax]
movsx eax, word [eax + ecx + 0x10]
mov dword [ebp - 0x134], eax
lea eax, [ebp - 0x108]
push eax
push 0x100
push dword [ebp - 0x150]
call fcn.30031bf9
add esp, 0xc
lea eax, [ebp - 0x154]
push eax
push ebx
push 0x1007
push dword [ebp - 0x114]
call esi
push dword [ebp - 0x134]
mov dword [ebp - 0x154], edi
push dword [0x3009c7b8]
mov dword [ebp - 0x14c], edi
call fcn.30027a5d
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp - 0x140], eax
je 0x3002817a
lea eax, [ebp - 0x154]
push eax
push ebx
push 0x1006
push dword [ebp - 0x114]
call esi
inc dword [ebp - 0x150]
mov eax, dword [0x3009df9c]
mov ecx, dword [ebp - 0x150]
cmp ecx, dword [eax + 0x24]
jl 0x300280c2
xor ecx, ecx
cmp ecx, dword [eax + 0x24]
sbb eax, eax
neg eax
push eax
push 0xbe1
push dword [ebp - 0x118]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0x1b
push 0xffffffffffffffff
push dword [ebp - 0x118]
call fcn.3008565c
add esp, 0xc
jmp 0x30028254
push 2
push dword [ebp - 0x118]
call dword [sym.imp.USER32.dll_EndDialog]
jmp 0x30028254
mov eax, dword [esi + 8]
cmp eax, 0xffffff9b
je 0x30028230
cmp eax, 0xfffffffd
jne 0x30028254
cmp dword [esi + 4], 0xbe0
jne 0x30028254
xor ebx, ebx
push ebx
push ebx
push 0x1032
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x30028254
mov esi, 0xbe1
push esi
push dword [ebp - 0x118]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
push esi
push 0x111
push dword [ebp - 0x118]
call fcn.30027ca3
mov edi, eax
jmp 0x30028254
xor edi, edi
inc edi
test byte [esi + 0x1c], 8
je 0x30028254
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 - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.3008a55a
leave
ret 0x10