Function at 0x402da0
Capabilities:
Get graphical window text

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x40526e
push eax
mov dword fs:[0], esp
sub esp, 0x2ac
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
mov eax, dword [esi + 0x168]
push 0
push 0x147
push eax
call edi
mov ebx, eax
test ebx, ebx
jl 0x403806
push ebp
push 0
push 0x3f3
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::ShowWindow
push 0
push 0x3f4
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::ShowWindow
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esi + 0x128]
push 0
push 0
push 0x14b
push ecx
mov dword [esp + 0x2d4], 0
call edi
test ebx, ebx
jne 0x403076
push str.select__from_cb_where_AVAIL1
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
lea edx, [esi + 0x60]
lea ecx, [esp + 0x18]
push edx
call fcn.00401010
mov eax, dword [esp + 0x10]
push ebx
push eax
push 1
lea ecx, [esp + 0x24]
mov byte [esp + 0x2d0], 1
call sub.MFC42.DLL_CRecordset::Open
mov eax, dword [esp + 0xe0]
test eax, eax
jne 0x402ebe
mov ecx, dword [esp + 0x128]
mov edx, dword [esi + 0x128]
push ecx
push 0
push 0x143
push edx
call edi
mov eax, dword [esp + 0x18]
push 1
push 1
lea ecx, [esp + 0x20]
call dword [eax + 0x1c]
mov ecx, dword [esi + 0x128]
push 0
push 0
push 0x14e
push ecx
call edi
mov eax, dword [esp + 0xe0]
test eax, eax
je 0x402e7a
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CRecordset::Close
push 0
mov ecx, esi
call fcn.004038e0
push 5
lea ecx, [esi + 0x188]
call sub.MFC42.DLL_CWnd::ShowWindow
mov edx, dword [esi + 0x1a8]
push 0
push 0
push 0x14b
push edx
call edi
mov eax, dword [esi + 0x1a8]
push 0x408554
push 0
push 0x143
push eax
call edi
mov ecx, dword [esi + 0x1a8]
push 0x40854c
push 0
push 0x143
push ecx
call edi
mov edx, dword [esi + 0x1a8]
push 0x408544
push 0
push 0x143
push edx
call edi
mov eax, dword [esi + 0x1a8]
push 0x408538
push 0
push 0x143
push eax
call edi
mov ecx, dword [esi + 0x1a8]
push 0x408530
push 0
push 0x143
push ecx
call edi
mov edx, dword [esi + 0x1a8]
push 0x408528
push 0
push 0x143
push edx
call edi
mov eax, dword [esi + 0x1a8]
push 0x408520
push 0
push 0x143
push eax
call edi
mov ecx, dword [esi + 0x1a8]
push 0x408514
push 0
push 0x143
push ecx
call edi
mov edx, dword [esi + 0x1a8]
push 0x40850c
push 0
push 0x143
push edx
call edi
mov eax, dword [esi + 0x1a8]
push 0x408500
push 0
push 0x143
push eax
call edi
mov ecx, dword [esi + 0x1a8]
push 0x4084f4
push 0
push 0x143
push ecx
call edi
push 0
mov edx, dword [esi + 0x1a8]
push 0
push 0x14e
push edx
call edi
lea ecx, [esp + 0x1a8]
mov byte [esp + 0x2c4], 7
call fcn.0040474c
lea ecx, [esp + 0x1a4]
mov byte [esp + 0x2c4], 6
call fcn.0040474c
lea ecx, [esp + 0x198]
mov byte [esp + 0x2c4], 5
call fcn.0040474c
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2c4], 4
call fcn.0040474c
lea ecx, [esp + 0x12c]
mov byte [esp + 0x2c4], 3
call fcn.0040474c
lea ecx, [esp + 0x128]
mov byte [esp + 0x2c4], 2
call fcn.0040474c
lea ecx, [esp + 0x18]
mov byte [esp + 0x2c4], 0
call fcn.00404752
jmp 0x4037f1
cmp ebx, 1
jne 0x4032c7
push str.select__from_xf_where_AVAIL1
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
lea eax, [esi + 0x60]
lea ecx, [esp + 0x18]
push eax
call fcn.00404030
mov ecx, dword [esp + 0x10]
push 0
push ecx
push ebx
lea ecx, [esp + 0x24]
mov byte [esp + 0x2d0], 8
call sub.MFC42.DLL_CRecordset::Open
mov eax, dword [esp + 0xe0]
test eax, eax
jne 0x403102
mov edx, dword [esp + 0x128]
mov eax, dword [esi + 0x128]
push edx
push 0
push 0x143
push eax
call edi
mov edx, dword [esp + 0x18]
push 1
push 1
lea ecx, [esp + 0x20]
call dword [edx + 0x1c]
mov eax, dword [esi + 0x128]
push 0
push 0
push 0x14e
push eax
call edi
mov eax, dword [esp + 0xe0]
test eax, eax
je 0x4030be
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CRecordset::Close
push 1
mov ecx, esi
call fcn.004038e0
push 5
lea ecx, [esi + 0x188]
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [esi + 0x1a8]
push 0
push 0
push 0x14b
push ecx
call edi
mov al, byte [esi + 0xc0]
test al, al
je 0x40316c
mov edx, dword [esi + 0x1a8]
push 0x4084d0
push 0
push 0x143
push edx
call edi
mov eax, dword [esi + 0x1a8]
push 0x4084cc
push 0
push 0x143
push eax
call edi
jmp 0x4031ff
mov ecx, dword [esi + 0x1a8]
push 0x4084c4
push 0
push 0x143
push ecx
call edi
mov edx, dword [esi + 0x1a8]
push 0x4084bc
push 0
push 0x143
push edx
call edi
mov eax, dword [esi + 0x1a8]
push 0x4084b4
push 0
push 0x143
push eax
call edi
mov ecx, dword [esi + 0x1a8]
push 0x4084ac
push 0
push 0x143
push ecx
call edi
mov edx, dword [esi + 0x1a8]
push 0x4084a4
push 0
push 0x143
push edx
call edi
push 5
push 0x3f3
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::ShowWindow
push 5
push 0x3f4
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::ShowWindow
mov eax, dword [esi + 0x1a8]
push 0
push 0
push 0x14e
push eax
call edi
lea ecx, [esp + 0x180]
mov byte [esp + 0x2c4], 0x10
call fcn.0040474c
lea ecx, [esp + 0x17c]
mov byte [esp + 0x2c4], 0xf
call fcn.0040474c
lea ecx, [esp + 0x16c]
mov byte [esp + 0x2c4], 0xe
call fcn.0040474c
lea ecx, [esp + 0x164]
mov byte [esp + 0x2c4], 0xd
call fcn.0040474c
lea ecx, [esp + 0x148]
mov byte [esp + 0x2c4], 0xc
call fcn.0040474c
lea ecx, [esp + 0x138]
mov byte [esp + 0x2c4], 0xb
call fcn.0040474c
lea ecx, [esp + 0x12c]
mov byte [esp + 0x2c4], 0xa
call fcn.0040474c
lea ecx, [esp + 0x128]
mov byte [esp + 0x2c4], 9
call fcn.0040474c
lea ecx, [esp + 0x18]
mov byte [esp + 0x2c4], 0
call fcn.00404752
jmp 0x4037f1
cmp ebx, 2
jne 0x4033e5
mov al, byte [esi + 0xc0]
test al, al
je 0x40336d
push 0x4084a0
push 0x40849c
call sub.rtdb.dll_GetRecNum
mov ebx, eax
mov ebp, 1
add esp, 8
cmp ebx, ebp
jl 0x4033de
lea ecx, [esp + 0x1f4]
push ecx
push 0x408498
push 0x4084a0
push 0x40849c
push ebp
call dword [sym.imp.rtdb.dll_int___cdecl_GetFldValue_int__char_const___char_const___char_const___char__]
add esp, 0x14
lea edx, [esp + 0x1f4]
lea ecx, [esp + 0x14]
push edx
call sub.MFC42.DLL_CString::CString_1
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x128]
push eax
push 0
push 0x143
push ecx
call edi
mov edx, dword [esi + 0x128]
push 0
push 0
push 0x14e
push edx
call edi
lea ecx, [esp + 0x14]
call fcn.0040474c
inc ebp
cmp ebp, ebx
jle 0x4032ff
push 2
jmp 0x4037dd
push 0x408494
push 0x40849c
call sub.rtdb.dll_GetRecNum
mov ebx, eax
mov ebp, 1
add esp, 8
cmp ebx, ebp
jl 0x4033c8
lea eax, [esp + 0x1f4]
push eax
push str.DESC
push 0x408494
push 0x40849c
push ebp
call dword [sym.imp.rtdb.dll_int___cdecl_GetFldValue_int__char_const___char_const___char_const___char__]
mov edx, dword [esi + 0x128]
add esp, 0x14
lea ecx, [esp + 0x1f4]
push ecx
push 0
push 0x143
push edx
call edi
inc ebp
cmp ebp, ebx
jle 0x40338a
test ebx, ebx
jle 0x4033de
mov eax, dword [esi + 0x128]
push 0
push 0
push 0x14e
push eax
call edi
push 2
jmp 0x4037dd
cmp ebx, 3
jne 0x403602
push str.select__from_sw_where_AVAIL1
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
lea ecx, [esi + 0x60]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004018d0
mov edx, dword [esp + 0x10]
push 0
push edx
push 1
lea ecx, [esp + 0x24]
mov byte [esp + 0x2d0], 0x11
call sub.MFC42.DLL_CRecordset::Open
mov eax, dword [esp + 0xe0]
test eax, eax
jne 0x403472
mov eax, dword [esp + 0x128]
mov ecx, dword [esi + 0x128]
push eax
push 0
push 0x143
push ecx
call edi
mov edx, dword [esp + 0x18]
push 1
push 1
lea ecx, [esp + 0x20]
call dword [edx + 0x1c]
mov eax, dword [esi + 0x128]
push 0
push 0
push 0x14e
push eax
call edi
mov eax, dword [esp + 0xe0]
test eax, eax
je 0x40342e
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CRecordset::Close
push 3
mov ecx, esi
call fcn.004038e0
push 5
lea ecx, [esi + 0x188]
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [esi + 0x1a8]
push 0
push 0
push 0x14b
push ecx
call edi
mov edx, dword [esi + 0x1a8]
push 0x408554
push 0
push 0x143
push edx
call edi
mov eax, dword [esi + 0x1a8]
push 0x40854c
push 0
push 0x143
push eax
call edi
mov ecx, dword [esi + 0x1a8]
push 0x408544
push 0
push 0x143
push ecx
call edi
mov edx, dword [esi + 0x1a8]
push 0x408538
push 0
push 0x143
push edx
call edi
mov eax, dword [esi + 0x1a8]
push 0x408530
push 0
push 0x143
push eax
call edi
mov ecx, dword [esi + 0x1a8]
push 0x408528
push 0
push 0x143
push ecx
call edi
mov edx, dword [esi + 0x1a8]
push 0x408520
push 0
push 0x143
push edx
call edi
mov eax, dword [esi + 0x1a8]
push 0x408514
push 0
push 0x143
push eax
call edi
mov ecx, dword [esi + 0x1a8]
push 0x40850c
push 0
push 0x143
push ecx
call edi
mov edx, dword [esi + 0x1a8]
push 0x408500
push 0
push 0x143
push edx
call edi
mov eax, dword [esi + 0x1a8]
push 0x4084f4
push 0
push 0x143
push eax
call edi
push 0
mov ecx, dword [esi + 0x1a8]
push 0
push 0x14e
push ecx
call edi
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2c4], 0x15
call fcn.0040474c
lea ecx, [esp + 0x138]
mov byte [esp + 0x2c4], 0x14
call fcn.0040474c
lea ecx, [esp + 0x12c]
mov byte [esp + 0x2c4], 0x13
call fcn.0040474c
lea ecx, [esp + 0x128]
mov byte [esp + 0x2c4], 0x12
call fcn.0040474c
lea ecx, [esp + 0x18]
mov byte [esp + 0x2c4], 0
call fcn.00404752
jmp 0x4037f1
cmp ebx, 4
jne 0x40374e
push str.select__from_gnsw_where_AVAIL1
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
lea edx, [esi + 0x60]
lea ecx, [esp + 0x18]
push edx
call fcn.00401690
mov eax, dword [esp + 0x10]
push 0
push eax
push 1
lea ecx, [esp + 0x24]
mov byte [esp + 0x2d0], 0x16
call sub.MFC42.DLL_CRecordset::Open
mov eax, dword [esp + 0xe0]
test eax, eax
jne 0x40368f
mov ecx, dword [esp + 0x128]
mov edx, dword [esi + 0x128]
push ecx
push 0
push 0x143
push edx
call edi
mov eax, dword [esp + 0x18]
push 1
push 1
lea ecx, [esp + 0x20]
call dword [eax + 0x1c]
mov ecx, dword [esi + 0x128]
push 0
push 0
push 0x14e
push ecx
call edi
mov eax, dword [esp + 0xe0]
test eax, eax
je 0x40364b
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CRecordset::Close
push 4
mov ecx, esi
call fcn.004038e0
push 5
lea ecx, [esi + 0x188]
call sub.MFC42.DLL_CWnd::ShowWindow
mov edx, dword [esi + 0x1a8]
push 0
push 0
push 0x14b
push edx
call edi
mov eax, dword [esi + 0x1a8]
push 0x408440
push 0
push 0x143
push eax
call edi
mov ecx, dword [esi + 0x1a8]
push 0x408438
push 0
push 0x143
push ecx
call edi
mov edx, dword [esi + 0x1a8]
push 0
push 0
push 0x14e
push edx
call edi
lea ecx, [esp + 0x134]
mov byte [esp + 0x2c4], 0x19
call fcn.0040474c
lea ecx, [esp + 0x12c]
mov byte [esp + 0x2c4], 0x18
call fcn.0040474c
lea ecx, [esp + 0x128]
mov byte [esp + 0x2c4], 0x17
call fcn.0040474c
lea ecx, [esp + 0x18]
mov byte [esp + 0x2c4], 0
call fcn.00404752
jmp 0x4037f1
cmp ebx, 5
jne 0x4037f1
push 0x408434
push 0x40849c
call sub.rtdb.dll_GetRecNum
mov ebx, eax
mov ebp, 1
add esp, 8
cmp ebx, ebp
jl 0x4037db
lea eax, [esp + 0x1f4]
push eax
push 0x408498
push 0x408434
push 0x40849c
push ebp
call dword [sym.imp.rtdb.dll_int___cdecl_GetFldValue_int__char_const___char_const___char_const___char__]
add esp, 0x14
lea ecx, [esp + 0x1f4]
push ecx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_1
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 0x128]
push edx
push 0
push 0x143
push eax
call edi
mov ecx, dword [esi + 0x128]
push 0
push 0
push 0x14e
push ecx
call edi
lea ecx, [esp + 0x14]
call fcn.0040474c
inc ebp
cmp ebp, ebx
jle 0x403774
push 5
mov ecx, esi
call fcn.004038e0
push 0
lea ecx, [esi + 0x188]
call sub.MFC42.DLL_CWnd::ShowWindow
lea ecx, [esp + 0x10]
mov dword [esp + 0x2c4], 0xffffffff
call fcn.0040474c
pop ebp
mov ecx, dword [esp + 0x2b8]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x2b8
ret