Function at 0x41cca0
Capabilities:
Log keystrokes via polling

Disassembly:
push 0xffffffffffffffff
push 0x59cadb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x15c
push ebx
push ebp
mov ebx, ecx
xor eax, eax
push esi
push edi
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x180]
mov ebp, dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebx + 0x118], ecx
mov edx, dword [ebx + 0x4e0]
push eax
push eax
push 0x1009
push edx
mov dword [esp + 0x184], eax
call ebp
push 1
mov ecx, ebx
call sub.MFC42.DLL_CWnd::UpdateData
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x6d]
mov byte [esp + 0x6c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x6c]
push eax
call dword [sym.imp.USER32.dll_GetKeyboardState]
mov esi, eax
mov byte [esp + 0x17], 1
call fcn.0044c560
mov ecx, dword [eax + 0xd0]
mov al, byte [ecx + 6]
test al, al
jne 0x41cd5d
test esi, esi
je 0x41cd58
mov cl, byte [esp + 0x10c]
mov al, 0x80
test al, cl
jne 0x41cd51
test byte [esp + 0x10d], al
je 0x41cd58
mov byte [esp + 0x17], 1
jmp 0x41cd5d
mov byte [esp + 0x17], 0
lea ecx, [esp + 0x3c]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x3c]
lea ecx, [ebx + 0x480]
push edx
mov byte [esp + 0x178], 1
call sub.MFC42.DLL_CWnd::GetWindowTextA
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax - 8]
mov eax, dword [esp + 0x17c]
test ecx, ecx
mov ecx, dword [eax - 8]
jne 0x41cd9c
test ecx, ecx
jne 0x41cda0
jmp 0x41d7f2
test ecx, ecx
je 0x41cdb2
mov ecx, dword [ebx + 0x4a0]
push 0
push 0
push 0x14e
push ecx
call ebp
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x38]
mov byte [esp + 0x174], 2
call sub.MFC42.DLL_CString::CString_1
push 0x62fc5c
lea ecx, [esp + 0x30]
mov byte [esp + 0x178], 3
call sub.MFC42.DLL_CString::CString_3
push 0x62fc5c
lea ecx, [esp + 0x24]
mov byte [esp + 0x178], 4
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [ebx + 0x600]
mov byte [esp + 0x174], 5
test eax, eax
je 0x41ce6f
lea edx, [esp + 0x30]
push edx
call sub.MFC42.DLL_CTime::GetTickCount
push ecx
lea ecx, [esp + 0x34]
mov eax, esp
mov dword [esp + 0x54], esp
mov dword [eax], 0x2a300
call fcn.0041f100
push 0
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CTime::GetLocalTm
mov edi, dword [eax + 0xc]
push 0
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CTime::GetLocalTm
mov esi, dword [eax + 0x10]
push 0
lea ecx, [esp + 0x34]
inc esi
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax + 0x14]
push edi
add eax, 0x76c
push esi
push eax
lea eax, [esp + 0x38]
push str._AND_no_time_limit0_AND_disable0_AND_expire_date__4d__02d__02d_23:59:59
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x14
mov al, byte [esp + 0x17]
test al, al
jne 0x41ce85
push str._and__hide_is_null_or_hide__1_
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
mov eax, dword [ebx + 0x604]
mov byte [esp + 0x174], 6
test eax, eax
je 0x41ceae
push str._and__disable___0
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_CString::operator
mov ecx, dword [esp + 0x17c]
mov esi, dword [sym.imp.MSVCRT.dll__mbscmp]
push 0x62fc5c
push ecx
call esi
add esp, 8
test eax, eax
je 0x41d033
mov eax, dword [ebx + 0x60]
test eax, eax
jle 0x41cf8a
mov ecx, dword [0x635400]
lea edx, [esp + 0x1c]
push edx
call fcn.0058ef60
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x20]
push ecx
push ecx
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x17c], 7
push ecx
mov ecx, dword [ebx + 0x60]
push edx
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x40]
push str.select__from__s_where__delflag_0_and__group__d__s__s_and___account__like__s___or__name__like__s___
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x20
lea ecx, [esp + 0x1c]
mov byte [esp + 0x174], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [0x635400]
call fcn.0058ef60
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x24]
mov eax, dword [eax]
push ecx
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [ebx + 0x60]
push ecx
push edx
push eax
lea ecx, [esp + 0x50]
push str.select_COUNT_1__as_rcount_from__s_where__delflag_0_and__group__d__s__s_and___account__like__s___or__name__like__s___
push ecx
mov byte [esp + 0x194], 8
call sub.MFC42.DLL_CString::Format
add esp, 0x20
lea ecx, [esp + 0x1c]
mov byte [esp + 0x174], 6
call sub.MFC42.DLL_CString::CString
push 0
jmp 0x41d18f
mov ecx, dword [0x635400]
lea edx, [esp + 0x1c]
push edx
call fcn.0058ef60
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x20]
mov eax, dword [eax]
push ecx
push ecx
mov ecx, dword [esp + 0x2c]
push ecx
push edx
push eax
lea ecx, [esp + 0x3c]
push str.select__from__s_where__delflag_0_and__group_delflag_0__s__s_and___account__like__s____or__name__like__s___
push ecx
mov byte [esp + 0x190], 9
call sub.MFC42.DLL_CString::Format
add esp, 0x1c
lea ecx, [esp + 0x1c]
mov byte [esp + 0x174], 6
call sub.MFC42.DLL_CString::CString
mov ecx, dword [0x635400]
lea edx, [esp + 0x1c]
push edx
call fcn.0058ef60
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x20]
mov eax, dword [eax]
push ecx
push ecx
mov ecx, dword [esp + 0x2c]
push ecx
push edx
push eax
lea ecx, [esp + 0x4c]
push str.select_COUNT_1__as_rcount_from__s_where__delflag_0_and__group_delflag_0__s__s_and___account__like__s___or__name__like__s___
push ecx
mov byte [esp + 0x190], 0xa
call sub.MFC42.DLL_CString::Format
add esp, 0x1c
lea ecx, [esp + 0x1c]
mov byte [esp + 0x174], 6
call sub.MFC42.DLL_CString::CString
push 0
jmp 0x41d18f
mov edx, dword [esp + 0x3c]
push 0x601744
push edx
call esi
add esp, 8
test eax, eax
je 0x41d0f3
mov ecx, dword [0x635400]
lea eax, [esp + 0x1c]
push eax
call fcn.0058ef60
mov ecx, dword [esp + 0x2c]
mov edx, dword [ebx + 0x60]
mov eax, dword [eax]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x28]
push ecx
push edx
push eax
lea ecx, [esp + 0x3c]
push str.select__from__s_where__delflag_0_and__group_delflag_0__s__s_and__group____d__s_order_by__disable___account__asc
push ecx
mov byte [esp + 0x190], 0xb
call sub.MFC42.DLL_CString::Format
add esp, 0x1c
lea ecx, [esp + 0x1c]
mov byte [esp + 0x174], 6
call sub.MFC42.DLL_CString::CString
mov ecx, dword [0x635400]
lea edx, [esp + 0x1c]
push edx
call fcn.0058ef60
mov ecx, dword [esp + 0x2c]
mov edx, dword [ebx + 0x60]
mov eax, dword [eax]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x28]
push ecx
push edx
push eax
lea ecx, [esp + 0x4c]
push str.select_COUNT_1__as_rcount_from__s_where__delflag_0_and__group_delflag_0__s__s_and__group____d__s
push ecx
mov byte [esp + 0x190], 0xc
call sub.MFC42.DLL_CString::Format
add esp, 0x1c
lea ecx, [esp + 0x1c]
mov byte [esp + 0x174], 6
call sub.MFC42.DLL_CString::CString
push 0
jmp 0x41d18f
mov ecx, dword [0x635400]
lea edx, [esp + 0x1c]
push edx
call fcn.0058ef60
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x38]
push str.select__from__s_where__delflag_0_and__group_delflag_0__s__s__s_order_by__disable___group_name___account__asc
push eax
mov byte [esp + 0x18c], 0xd
call sub.MFC42.DLL_CString::Format
add esp, 0x18
lea ecx, [esp + 0x1c]
mov byte [esp + 0x174], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [0x635400]
call fcn.0058ef60
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax]
push edx
mov edx, dword [esp + 0x24]
push ecx
push edx
push eax
lea ecx, [esp + 0x48]
push str.select_COUNT_1__as_rcount_from__s_where__delflag_0_and__group_delflag_0__s__s__s
push ecx
mov byte [esp + 0x18c], 0xe
call sub.MFC42.DLL_CString::Format
add esp, 0x18
lea ecx, [esp + 0x1c]
mov byte [esp + 0x174], 6
call sub.MFC42.DLL_CString::CString
push 1
push 6
mov ecx, ebx
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
mov edx, dword [ebx + 0x118]
mov eax, dword [ebx + 0x110]
mov ecx, dword [esp + 0x28]
push edx
push eax
push ecx
mov ecx, dword [0x635400]
push str.XGSP
call fcn.0058f640
mov esi, eax
test esi, esi
jne 0x41d2a5
mov eax, dword [0x635400]
test eax, eax
je 0x41d231
mov cl, byte [eax + 0x40]
test cl, cl
je 0x41d231
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push esi
push 0x601778
push 0x601774
push ecx
mov ecx, esp
mov dword [esp + 0x60], esp
push str..dbs.
call sub.MFC42.DLL_CString::CString_3
mov edx, dword [0x635400]
push str.runtime
push 0x601760
mov eax, dword [edx + 0x44]
push eax
call fcn.004eb7d0
mov ecx, dword [0x635400]
add esp, 0x1c
add ecx, 0x248
mov edx, dword [ecx]
call dword [edx + 0x1c]
push ecx
mov ecx, esp
mov dword [esp + 0x58], esp
push 0x601778
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x17c], 0xf
mov ecx, esp
mov dword [esp + 0x54], esp
push 0x601774
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x180], 0x10
mov ecx, esp
mov dword [esp + 0x40], esp
push str..dbs.
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x184], 0x11
mov ecx, esp
mov dword [esp + 0x6c], esp
push 0x60175c
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x62ffdc]
mov byte [esp + 0x184], 6
call fcn.00458cb0
jmp 0x41d79d
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x60]
xor edi, edi
push eax
mov byte [esp + 0x178], 0x12
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
call sub.MFC42.DLL_COleDateTime::GetTickCount
mov ecx, esi
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::IsEOF_void_
test eax, eax
jne 0x41d78c
lea ebp, [ebx + 0x4c0]
mov ecx, dword [ebx + 0x118]
lea eax, [esp + 0x10]
dec ecx
imul ecx, dword [ebx + 0x110]
lea edx, [ecx + edi + 1]
push edx
push 0x601758
push eax
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push 0
push 0
push 0
push 0
push ecx
push edi
push 1
mov ecx, ebp
call sub.MFC42.DLL_CListCtrl::InsertItem
lea edx, [esp + 0x10]
mov ecx, esi
push edx
push str.account
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___class_CString__
mov eax, dword [esp + 0x10]
mov ecx, ebp
push eax
push 1
push edi
call sub.MFC42.DLL_CListCtrl::SetItemText
lea ecx, [esp + 0x10]
push ecx
push str.name
mov ecx, esi
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___class_CString__
mov edx, dword [esp + 0x10]
mov ecx, ebp
push edx
push 2
push edi
call sub.MFC42.DLL_CListCtrl::SetItemText
lea eax, [esp + 0x18]
mov ecx, esi
push eax
push str.disable
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
mov eax, dword [esp + 0x18]
test eax, eax
mov eax, 0x601614
je 0x41d382
mov eax, 0x6016f8
push eax
push 3
push edi
mov ecx, ebp
call sub.MFC42.DLL_CListCtrl::SetItemText
lea ecx, [esp + 0x18]
push ecx
push str.no_time_limit
mov ecx, esi
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x18]
cmp ecx, 1
push edx
push str.role_id
mov ecx, esi
sete byte [esp + 0x1f]
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
mov eax, dword [esp + 0x18]
test eax, eax
jg 0x41d3d3
push 0x604378
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
jmp 0x41d3e4
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push str.role_name
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___class_CString__
mov ecx, dword [esp + 0x10]
push ecx
push 4
push edi
mov ecx, ebp
call sub.MFC42.DLL_CListCtrl::SetItemText
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push str.carrier_rule_id
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
mov eax, dword [esp + 0x18]
test eax, eax
jge 0x41d41c
push 0x604328
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
jmp 0x41d43f
jne 0x41d42e
push 0x604340
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
jmp 0x41d43f
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push str.carrier_rule_name
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___class_CString__
mov ecx, dword [esp + 0x10]
push ecx
push 5
push edi
mov ecx, ebp
call sub.MFC42.DLL_CListCtrl::SetItemText
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::Empty
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push str.remote_admin
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
mov eax, dword [esp + 0x18]
cmp eax, 1
mov eax, 0x604494
je 0x41d47b
mov eax, str.....
push eax
lea ecx, [esp + 0x14]
call fcn.005928ca
lea eax, [esp + 0x18]
mov ecx, esi
push eax
push str.pnr_protect_enable
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
mov eax, dword [esp + 0x18]
cmp eax, 1
mov eax, 0x604480
je 0x41d4a9
mov eax, str.........
push eax
lea ecx, [esp + 0x14]
call fcn.005928ca
mov ecx, dword [esp + 0x10]
push ecx
push 6
push edi
mov ecx, ebp
call sub.MFC42.DLL_CListCtrl::SetItemText
mov al, byte [esp + 0x17]
test al, al
je 0x41d4d4
push 0x6016d8
jmp 0x41d582
lea edx, [esp + 0x40]
mov ecx, esi
push edx
push str.expire_date
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___class_COleDateTime__
lea ecx, [esp + 0x40]
call sub.MFC42.DLL_COleDateTime::GetYear
cmp eax, 0x7d0
lea ecx, [esp + 0x40]
jge 0x41d51d
call sub.MFC42.DLL_COleDateTime::GetDay
push eax
lea ecx, [esp + 0x44]
call sub.MFC42.DLL_COleDateTime::GetMonth
push eax
lea eax, [esp + 0x18]
push str.2000__02d__02d
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x10
jmp 0x41d57d
call sub.MFC42.DLL_COleDateTime::GetYear
cmp eax, 0x7f5
lea ecx, [esp + 0x40]
jle 0x41d551
call sub.MFC42.DLL_COleDateTime::GetDay
push eax
lea ecx, [esp + 0x44]
call sub.MFC42.DLL_COleDateTime::GetMonth
push eax
lea ecx, [esp + 0x18]
push str.2037__02d__02d
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
jmp 0x41d57d
call sub.MFC42.DLL_COleDateTime::GetDay
push eax
lea ecx, [esp + 0x44]
call sub.MFC42.DLL_COleDateTime::GetMonth
push eax
lea ecx, [esp + 0x48]
call sub.MFC42.DLL_COleDateTime::GetYear
push eax
lea edx, [esp + 0x1c]
push 0x601698
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x14
mov eax, dword [esp + 0x10]
push eax
push 7
push edi
mov ecx, ebp
call sub.MFC42.DLL_CListCtrl::SetItemText
lea ecx, [esp + 0x18]
push ecx
push str.group_disable
mov ecx, esi
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
lea edx, [esp + 0x10]
mov ecx, esi
push edx
push str.group_name
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___class_CString__
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x41d5bc
lea eax, [esp + 0x10]
jmp 0x41d5dd
lea eax, [esp + 0x10]
push 0x605864
lea ecx, [esp + 0x58]
push eax
push ecx
call sub.MFC42.DLL_operator_3
or dword [esp + 0x34], 1
mov byte [esp + 0x174], 0x13
mov eax, dword [eax]
mov ecx, ebp
push eax
push 8
push edi
call sub.MFC42.DLL_CListCtrl::SetItemText
mov al, byte [esp + 0x34]
mov dword [esp + 0x174], 0x12
test al, 1
je 0x41d610
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x54]
and al, 0xfe
mov dword [esp + 0x34], eax
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0x10]
mov ecx, esi
push edx
push str.last_logtime
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___class_CString__
mov eax, dword [esp + 0x10]
mov ecx, ebp
push eax
push 9
push edi
call sub.MFC42.DLL_CListCtrl::SetItemText
lea ecx, [esp + 0x18]
push ecx
push str.ins_control_enable
mov ecx, esi
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
mov eax, dword [esp + 0x18]
cmp eax, 1
mov eax, 0x601614
je 0x41d654
mov eax, 0x6016d8
push eax
push 0xa
push edi
mov ecx, ebp
call sub.MFC42.DLL_CListCtrl::SetItemText
cmp dword [esp + 0x18], 1
jne 0x41d712
lea edx, [esp + 0x1c]
mov ecx, esi
push edx
push str.max_ins_count
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
lea eax, [esp + 0x30]
mov ecx, esi
push eax
push str.curr_ins_count
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
lea ecx, [esp + 0x50]
push ecx
push str.add_ins_count
mov ecx, esi
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
lea edx, [esp + 0x58]
mov ecx, esi
push edx
push str.add_ins_curr
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x1c]
lea edx, [ecx + eax]
mov eax, dword [esp + 0x50]
add ebx, eax
cmp edx, ebx
jl 0x41d6dc
push 0x6032cc
push 0xb
push edi
mov ecx, ebp
call sub.MFC42.DLL_CListCtrl::SetItemText
mov ebx, dword [esp + 0x4c]
jmp 0x41d721
mov edx, dword [esp + 0x30]
sub eax, ecx
mov ecx, dword [esp + 0x1c]
sub eax, edx
add eax, ecx
push eax
lea eax, [esp + 0x14]
push 0x601d2c
push eax
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
push 0xb
push edi
mov ecx, ebp
call sub.MFC42.DLL_CListCtrl::SetItemText
mov ebx, dword [esp + 0x4c]
jmp 0x41d721
push 0x6016d8
push 0xb
push edi
mov ecx, ebp
call sub.MFC42.DLL_CListCtrl::SetItemText
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 0x601170
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
mov eax, dword [esp + 0x18]
mov ecx, ebp
push eax
push 0
push 0
push 0
push 0
push 4
push 0
push edi
call sub.MFC42.DLL_CListCtrl::SetItem
lea ecx, [esp + 0x18]
push ecx
push 0x601170
mov ecx, esi
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
mov edx, dword [esp + 0x18]
mov ecx, ebp
push edx
push 0
push 0
push 0
push 0
push 4
push 0
push edi
call sub.MFC42.DLL_CListCtrl::SetItem
mov ecx, esi
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::MoveNext_void_
mov ecx, esi
inc edi
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::IsEOF_void_
test eax, eax
je 0x41d2e3
lea ecx, [esp + 0x10]
mov byte [esp + 0x174], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0x174], 5
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x174], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x2c]
mov byte [esp + 0x174], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x38]
mov byte [esp + 0x174], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0x174], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x3c]
mov byte [esp + 0x174], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x17c]
mov dword [esp + 0x174], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x16c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x168
ret 8