Function at 0x403d00
Capabilities:
Reference sql statements

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 8
push esi
mov esi, ecx
mov eax, dword [esi + 0xa0c]
test eax, eax
jne 0x403da8
mov eax, dword [esi + 0xa20]
mov ecx, dword [eax]
push 0
lea edx, [ebp - 8]
push edx
lea edx, [esi + 0xa24]
push edx
push eax
call dword [ecx + 0xdc]
test eax, eax
jge 0x403d56
push eax
mov ecx, esi
call fcn.00403310
mov dword [esi + 0xa0c], 0xc
mov eax, dword [esi + 0xa0c]
pop esi
mov esp, ebp
pop ebp
ret
push ebx
push edi
push str.BEGIN_TRAN_n_n__t_n_tAssume_we_are_at_the_distributor__n_tThe_whole_operation_should_be_repeatable_n_tREPL_UPD_MSsubscriber_info_bk_does_not_exist_means_either_no_need_to_n_tresume_data_from_the_old_tables__in_this_case__there_should_be_no_n_told_tables_left__n_tor_the_process_has_been_completed_already._n__n_nIF_EXISTS__SELECT__FROM_sysobjects_WHERE_n_t_tname__REPL_UPD_MSsubscriber_info_AND_n_t_ttype__U__n_nBEGIN_n_n_t___Create_all_publisher_database_entries_n_tINSERT_INTO_MSpublisher_databases__n_t_tSELECT_DISTINCT_j.publisher_id__j.publisher_db_from_REPL_UPD_MSjob_subscriptions_j_n_n_t___Move_last_transactions__MSrepl_transactions___n_tINSERT_INTO__MSrepl_transactions_n_t_t__tpublisher_database_id___n_t_t_txact_id__n_t_t_txact_seqno__n_t_t_tentry_time__n_n_t_tSELECT__pd.id__n_t_t_t_t___convert_byte_word_swaps_this__uses_implicit_string_convert_and_then_back_to_binary_n_t_t_t_tCONVERT_VARBINARY_4___REVERSE_CONVERT_VARBINARY_4___j.xactid_page_____n_t_t_t_tCONVERT_VARBINARY_2___REVERSE_CONVERT_VARBINARY_2___j.xactid_row_____n_t_t_t_tj.xactid_ts__n_t_t_t_tj.entry_time_n_t_t_tFROM_n_t_t_t_tREPL_UPD_MSjobs_j__MSpublisher_databases_pd_n_t_t_tWHERE_n_t_t_t_tpd.publisher_id__j.publisher_id_and_n_t_t_t_tpd.publisher_db__j.publisher_db_n_n_tIF___ERROR___0_n_t_tGOTO_UNDO_n_n__n_tDROP_TABLE_REPL_UPD_MSjobs_n_tIF___ERROR___0_n_t_tGOTO_UNDO_n__n_n_tdeclare__guid_binary_16__n_tselect__guid__0x0_n_tINSERT_INTO_MSdistribution_agents__name__publisher_database_id__publisher_id__publisher_db__publication___n_t_t_tsubscriber_id__subscriber_db__subscription_type__local_job__job_id__subscription_guid__profile_id__n_t_tSELECT__DISTINCT_n_t_t_t_tdistributor.name__n_t_t_t_tpd.id__n_t_t_t_tjs.publisher_id___n_t_t_t_tjs.publisher_db___n_t_t_t_t___in_sp_MSadd_subscription_n_t_t_t_tALL___n_t_t_t_tjs.subscriber_id__n_t_t_t_tjs.subscriber_db__n_t_t_t_t0_____subscription_type__push__n_t_t_t_t1_____it_is_local_job_n_t_t_t_ttaskids.job_id__n_t_t_t_t_guid___n_t_t_t_t0_n_t_t_tFROM_n_t_t_t_tREPL_UPD_MSjob_subscriptions_js_n_t_t_t_t_tjoin_MSpublisher_databases_pd_n_t_t_t_t_ton_n_t_t_t_t_tpd.publisher_id__js.publisher_id_and_n_t_t_t_t_tpd.publisher_db__js.publisher_db_n_t_t_t_t_t_t_n_t_t_t_t_t__n_t_t_t_t_t_tLEFT_OUTER_JOIN_msdb.dbo.systasks_view_logreader__n_t_t_t_t_t_tON_n_t_t_t_t_t_t_tlogreader.server__publisher_AND_n_t_t_t_t_t_t_tlogreader.databasename__publisher_db_AND_n_t_t_t_t_t_t_tlogreader.subsystem__LogReader_n_t_t_t_t_t__n_t_t_t_t_tLEFT_OUTER_JOIN_msdb.dbo.systasks_view_distributor___n_t_t_t_t_tON_n_t_t_t_t_t_tdistributor.server____SERVERNAME_AND_n_t_t_t_t_t_tdistributor.databasename__DB_NAME___AND_n_t_t_t_t_t_tdistributor.subsystem__Distribution_AND_n_t_t_t_t_t_tdistributor.name_LIKE__n_t_t_t_t_t_t_tjs.publisher_____js.publisher_db_____n_t_t_t_t_t_t_tjs.subscriber______n_t_t_t_t_t_t_tCONVERT_varchar_8___js.subscriber_db_____n_t_t_t_t_tLEFT_OUTER_JOIN_msdb.dbo.systaskids_taskids_n_t_t_t_t_tON_n_t_t_t_t_t_tdistributor.id__taskids.task_id_n_tIF___ERROR___0_n_t_tGOTO_UNDO_n_n_t__n_t_tpublisher_id_smallint__n_t_tpublisher_db_varchar____30___NULL__n_t_tpublication_id_int__n_t_tarticle_id_int_NULL__n_t_tsubscriber_id_smallint__n_t_tsubscriber_db_varchar____30__NULL__n_t_tsubscription_type_int_NULL__t_t_t___0__push__1__pull__2__anonymous__n_t_tsync_type_tinyint__t_t_t_t_t___1__automatic_2__no_sync_n_t_tstatus_tinyint__t_t_t_t_t_t___0__inactive__1__subscribed__2__active__n_t_tsubscription_seqno_varbinary_16___t___publishers_database_sequence_number__n_t_tsnapshot_seqno_flag_bit_____t_t_t___1_if_subscription_seqno_is_the_snapshot_seqno_n_t_tindependent_agent_bit__t_t_t_t___Value_carried_over_from_MSpublications_n_t_tsubscription_time_datetime___n_t_t___synctran_n_t_tsynctran_conflict_method_tinyint______0__none__1__row_comapre__2__timestamp_n_t_tagent_id_n_t__n_nINSERT_INTO_MSsubscriptions___n_t_tpublisher_database_id__n_t_tpublisher_id___n_t_tpublisher_db___n____t_tpublication_id___n_t_tarticle_id___n_t_tsubscriber_id___n_t_tsubscriber_db___n____t_tsubscription_type___t_t_t_n_t_tsync_type__t_t_t
call fcn.00401010
add esp, 4
push 0
mov edi, eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push 0
push edi
push eax
call dword [ecx + 0x170]
mov ebx, eax
test ebx, ebx
setl byte [ebp - 1]
test edi, edi
je 0x403d8d
push edi
call sub.MSVCR71.dll_void___cdecl_operator_delete_void__
add esp, 4
mov al, byte [ebp - 1]
test al, al
je 0x403da6
push ebx
mov ecx, esi
call fcn.00403310
mov dword [esi + 0xa0c], 0xc
pop edi
pop ebx
mov eax, dword [esi + 0xa0c]
pop esi
mov esp, ebp
pop ebp
ret