Function at 0x4647b0
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5aef66
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x14]
mov dword [esp + 0x5c], 0
push eax
call sub.MFC42.DLL_CTime::GetTickCount
push ecx
lea ecx, [esp + 0x18]
mov eax, esp
mov dword [esp + 0x2c], esp
mov dword [eax], 0xf
call fcn.00444700
push 0
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CTime::GetLocalTm
mov ebx, dword [eax]
push 0
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CTime::GetLocalTm
mov ebp, dword [eax + 4]
push 0
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CTime::GetLocalTm
mov ecx, dword [eax + 8]
push 0
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CTime::GetLocalTm
mov edx, dword [eax + 0xc]
push 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x28], edx
call sub.MFC42.DLL_CTime::GetLocalTm
mov edi, dword [eax + 0x10]
push 0
lea ecx, [esp + 0x18]
inc edi
call sub.MFC42.DLL_CTime::GetLocalTm
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + 0x14]
mov edx, dword [esp + 0x24]
push ebx
push ebp
push ecx
add eax, 0x76c
push edx
push edi
push eax
lea eax, [esp + 0x28]
push str.SELECT__FROM_etdz_rec_WHERE__bill_mode_0_OR_fund_mode_0_OR_tkt_count_enable_0__AND_bill_retry_count___3_AND_LEN_tickets__13_AND_rec_time__d__d__d__d:_d:_d_ORDER_BY_rec_time_ASC
push eax
call sub.MFC42.DLL_CString::Format
push 0x40
call sub.MFC42.DLL_operatornew
add esp, 0x24
mov dword [esp + 0x28], eax
xor ebx, ebx
mov byte [esp + 0x5c], 1
cmp eax, ebx
je 0x4648a6
push str.PNRR
mov ecx, eax
call fcn.004ddd00
mov edi, eax
jmp 0x4648a8
xor edi, edi
mov ecx, dword [esp + 0x10]
push 3
push 3
push 1
push ecx
mov ecx, edi
mov byte [esp + 0x6c], 0
call fcn.004ddd90
cmp eax, ebx
je 0x464cfe
mov ecx, edi
call sym.ETermProxy.exe_public:_long_int___thiscall_CAdoRecordSet::GetRecordCount_void_
test eax, eax
je 0x464cfe
mov dword [esp + 0x2c], 0x5d5eb4
mov dword [esp + 0x30], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x5c], 2
call sub.MFC42.DLL_CString::CString_1
mov ecx, edi
mov byte [esp + 0x5c], 3
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::IsEOF_void_
test eax, eax
jne 0x464b6a
push 0x74
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x28], eax
test eax, eax
mov byte [esp + 0x5c], 4
je 0x464932
mov ecx, eax
call fcn.00467050
mov ebp, eax
jmp 0x464934
xor ebp, ebp
mov eax, dword [esp + 0x34]
push 0xffffffffffffffff
mov ebx, eax
inc eax
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x64], 3
mov dword [esi + 0x10], ebp
call fcn.005343d0
mov edx, dword [esp + 0x30]
mov ecx, edi
mov dword [edx + ebx*4], ebp
mov eax, dword [esi + 0x10]
push eax
push 0x60c170
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
lea ecx, [esp + 0x18]
push ecx
push str.bill_mode
mov ecx, edi
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x10]
test ecx, ecx
lea ecx, [esp + 0x18]
setne dl
push ecx
push str.fund_mode
mov ecx, edi
mov byte [eax + 4], dl
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
mov ebx, dword [esp + 0x18]
mov eax, dword [esi + 0x10]
test ebx, ebx
lea ecx, [esp + 0x18]
setne dl
push ecx
push str.tkt_count_enable
mov ecx, edi
mov byte [eax + 5], dl
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
mov ebp, dword [esp + 0x18]
mov eax, dword [esi + 0x10]
test ebp, ebp
setne dl
mov byte [eax + 6], dl
mov ecx, dword [esi + 0x10]
add ecx, 8
push ecx
push str.account
mov ecx, edi
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___class_CString__
mov edx, dword [esi + 0x10]
mov ecx, edi
add edx, 0xc
push edx
push str.account_group
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
mov eax, dword [esi + 0x10]
mov ecx, edi
add eax, 0x10
push eax
push str.group_name
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___class_CString__
mov ecx, dword [esi + 0x10]
add ecx, 0x14
push ecx
push str.account_bak
mov ecx, edi
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___class_CString__
mov edx, dword [esi + 0x10]
mov ecx, edi
add edx, 0x18
push edx
push str.account_group_bak
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
mov eax, dword [esi + 0x10]
mov ecx, edi
add eax, 0x1c
push eax
push str.group_name_bak
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___class_CString__
mov ecx, dword [esi + 0x10]
add ecx, 0x20
push ecx
push 0x60cd50
mov ecx, edi
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___class_CString__
mov edx, dword [esi + 0x10]
mov ecx, edi
add edx, 0x34
push edx
push str.rec_time
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___class_COleDateTime__
mov eax, dword [esi + 0x10]
mov ecx, edi
add eax, 0x2c
push eax
push str.price
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
mov ecx, dword [esi + 0x10]
add ecx, 0x28
push ecx
push str.opration
mov ecx, edi
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___class_CString__
mov edx, dword [esi + 0x10]
mov ecx, edi
add edx, 0x68
push edx
push str.remark
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___class_CString__
lea eax, [esp + 0x1c]
mov ecx, edi
push eax
push str.tickets
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___class_CString__
mov ecx, dword [esi + 0x10]
add ecx, 0x70
push ecx
push str.etdz_dev
mov ecx, edi
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::GetCollect_char_const___int__
lea ecx, [esp + 0x40]
call sub.MFC42.DLL_CStringArray::CStringArray
push 1
push 1
push 0xa
lea edx, [esp + 0x4c]
push 0x2c
push edx
push ecx
lea eax, [esp + 0x34]
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
mov byte [esp + 0x78], 5
call sub.MFC42.DLL_CString::CString_2
call fcn.004ec420
mov eax, dword [esp + 0x60]
add esp, 0x18
xor ebx, ebx
test eax, eax
jle 0x464b46
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push ebx
push ecx
lea ecx, [esp + 0x4c]
call fcn.0041abd0
call fcn.004ec3c0
mov ebp, dword [esi + 0x10]
mov dword [esp + 0x28], eax
add ebp, 0x40
add esp, 4
mov ecx, ebp
mov eax, dword [ebp + 8]
push 0xffffffffffffffff
mov dword [esp + 0x24], eax
inc eax
push eax
call fcn.005343d0
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
inc ebx
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0x48]
cmp ebx, eax
jl 0x464af9
mov ecx, edi
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::MoveNext_void_
lea ecx, [esp + 0x40]
mov byte [esp + 0x5c], 3
call fcn.0059ba94
mov ecx, edi
call sym.ETermProxy.exe_public:_int___thiscall_CAdoRecordSet::IsEOF_void_
test eax, eax
je 0x464910
test edi, edi
je 0x464b76
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx]
mov eax, dword [esp + 0x34]
xor ebp, ebp
test eax, eax
jle 0x464ccd
mov ebx, dword [sym.imp.MSVCRT.dll__mbscmp]
mov eax, dword [esp + 0x30]
push 0x61a0b8
mov eax, dword [eax + ebp*4]
mov dword [esi + 0x10], eax
mov eax, dword [eax + 0x28]
push eax
call ebx
add esp, 8
test eax, eax
jne 0x464c48
mov ecx, esi
call fcn.00464d40
test al, al
je 0x464c03
push 0
mov ecx, esi
call fcn.00464fe0
mov ecx, dword [esi + 0x10]
lea eax, [esp + 0x10]
mov edx, dword [ecx]
push edx
push str.UPDATE_etdz_rec_SET_bill_retry_count__100_WHERE_id_d
push eax
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x1c]
mov eax, dword [0x641030]
add esp, 0xc
lea edx, [esp + 0x24]
push ecx
mov ecx, dword [eax + 8]
push str.PNRR
push edx
call sym.ETermProxy.exe_public:_class__com_ptr_t_class__com_IIID_struct_ADODB::_Recordset__struct___s_GUID__GUID_00000556_0000_0010_8000_00aa006d2ea4_____thiscall_CDBConnCollect::Execute_char___char_const__
mov eax, dword [esp + 0x24]
test eax, eax
je 0x464ca9
jmp 0x464ca3
mov edx, dword [esi + 0x10]
lea ecx, [esp + 0x10]
mov eax, dword [edx]
push eax
push str.UPDATE_etdz_rec_SET_bill_retry_count__bill_retry_count1_WHERE_id_d
push ecx
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x1c]
mov ecx, dword [0x641030]
add esp, 0xc
lea eax, [esp + 0x20]
mov ecx, dword [ecx + 8]
push edx
push str.PNRR
push eax
call sym.ETermProxy.exe_public:_class__com_ptr_t_class__com_IIID_struct_ADODB::_Recordset__struct___s_GUID__GUID_00000556_0000_0010_8000_00aa006d2ea4_____thiscall_CDBConnCollect::Execute_char___char_const__
mov eax, dword [esp + 0x20]
test eax, eax
je 0x464ca9
mov edx, dword [eax]
push eax
call dword [edx + 8]
jmp 0x464ca9
mov eax, dword [esi + 0x10]
push 0x61a02c
add eax, 0x28
mov eax, dword [eax]
push eax
call ebx
add esp, 8
test eax, eax
jne 0x464ca9
mov ecx, esi
call fcn.004659f0
mov eax, dword [esi + 0x10]
lea edx, [esp + 0x10]
mov ecx, dword [eax]
push ecx
push str.UPDATE_etdz_rec_SET_bill_retry_count__100_WHERE_id_d
push edx
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x1c]
mov edx, dword [0x641030]
add esp, 0xc
lea ecx, [esp + 0x28]
push eax
push str.PNRR
push ecx
mov ecx, dword [edx + 8]
call sym.ETermProxy.exe_public:_class__com_ptr_t_class__com_IIID_struct_ADODB::_Recordset__struct___s_GUID__GUID_00000556_0000_0010_8000_00aa006d2ea4_____thiscall_CDBConnCollect::Execute_char___char_const__
mov eax, dword [esp + 0x28]
test eax, eax
je 0x464ca9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [esi + 0x10]
test edi, edi
je 0x464cc0
mov ecx, edi
call fcn.00467130
push edi
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, dword [esp + 0x34]
inc ebp
cmp ebp, eax
jl 0x464b8a
lea ecx, [esp + 0x1c]
mov byte [esp + 0x5c], 2
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], 0x5d5eb4
test eax, eax
je 0x464cf4
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [esp + 0x2c], 0x5cc040
jmp 0x464d0a
cmp edi, ebx
je 0x464d0a
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx]
lea ecx, [esp + 0x10]
mov dword [esp + 0x5c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x54]
pop edi
pop esi
pop ebp
mov al, 1
mov dword fs:[0], ecx
pop ebx
add esp, 0x50
ret 4