Function at 0x404510
Capabilities:
Reference sql statements

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xbb0
mov eax, dword [0x40c024]
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [ebp - 0xba8]
mov dword [ebp - 4], eax
call fcn.00402550
lea ebx, [esi + 0xa14]
push 0x405558
mov ecx, ebx
call fcn.004031e0
lea ecx, [ebx + 9]
cmp eax, ecx
je 0x404562
mov ecx, esi
call fcn.00403dc0
mov dword [esi + 0xa0c], 0
jmp 0x4049fd
push str._ActionType
mov ecx, ebx
call fcn.004031e0
push str._DistributionDB
mov ecx, ebx
mov edi, eax
call fcn.004031e0
test eax, eax
mov dword [ebp - 0xbac], 0
je 0x404599
push eax
call fcn.00401010
add esp, 4
mov dword [ebp - 0xbac], eax
mov edx, dword [ebp - 0xbac]
lea eax, [esi + 0xa24]
push edx
push eax
call dword [sym.imp.MSVCR71.dll_wcscpy]
mov eax, dword [ebp - 0xbac]
add esp, 8
test eax, eax
je 0x4045c3
push eax
call sub.MSVCR71.dll_void___cdecl_operator_delete_void__
add esp, 4
push str.CheckStatus
push edi
call dword [sym.imp.MSVCR71.dll__stricmp]
add esp, 8
test eax, eax
jne 0x4045e8
mov ecx, esi
call fcn.00403790
mov dword [esi + 0xa0c], eax
jmp 0x4049fd
push edi
push str.ScriptOut
call dword [sym.imp.MSVCR71.dll__stricmp]
add esp, 8
test eax, eax
jne 0x40460d
mov ecx, esi
call fcn.00403a10
mov dword [esi + 0xa0c], eax
jmp 0x4049fd
push edi
push str.ClearDistribution
call dword [sym.imp.MSVCR71.dll__stricmp]
add esp, 8
test eax, eax
je 0x4047bf
push edi
push str.DropPublishing
call dword [sym.imp.MSVCR71.dll__stricmp]
add esp, 8
test eax, eax
jne 0x404649
mov ecx, esi
call fcn.00403be0
mov dword [esi + 0xa0c], eax
jmp 0x4049fd
push edi
push str.UpdateDistribution
call dword [sym.imp.MSVCR71.dll__stricmp]
add esp, 8
test eax, eax
jne 0x40466e
mov ecx, esi
call fcn.00403d00
mov dword [esi + 0xa0c], eax
jmp 0x4049fd
push edi
push str.ActivateSubscriptions
call dword [sym.imp.MSVCR71.dll__stricmp]
add esp, 8
test eax, eax
jne 0x404693
mov ecx, esi
call fcn.00403c90
mov dword [esi + 0xa0c], eax
jmp 0x4049fd
push edi
push str.Export
call dword [sym.imp.MSVCR71.dll__stricmp]
add esp, 8
test eax, eax
jne 0x4047d1
lea eax, [ebp - 0xba8]
push 0x6d67
push eax
call fcn.00402680
mov ecx, dword [esi + 0x2b28]
add esp, 8
push 2
lea edx, [ebp - 0xba0]
lea edi, [esi + 0x2b28]
push edx
push edi
call dword [ecx + 0x14]
push str._ProxyPath
mov ecx, ebx
call fcn.004031e0
push eax
lea ecx, [ebp - 0xbac]
call fcn.004034d0
mov eax, dword [eax]
push eax
mov ecx, esi
call fcn.00403ea0
test eax, eax
mov dword [esi + 0xa0c], eax
mov eax, dword [ebp - 0xbac]
setne bl
test eax, eax
je 0x404717
push eax
call sub.MSVCR71.dll_void___cdecl_operator_delete_void__
add esp, 4
test bl, bl
jne 0x4049fd
lea eax, [ebp - 0xba8]
push 0x6d68
push eax
call fcn.00402680
mov ecx, dword [edi]
add esp, 8
push 2
lea edx, [ebp - 0xba0]
push edx
push edi
call dword [ecx + 0x14]
mov ecx, esi
call fcn.00403a10
test eax, eax
mov dword [esi + 0xa0c], eax
jne 0x4049fd
lea eax, [ebp - 0xba8]
push 0x6d69
push eax
call fcn.00402680
mov ecx, dword [edi]
add esp, 8
push 2
lea edx, [ebp - 0xba0]
push edx
push edi
call dword [ecx + 0x14]
mov ecx, esi
call fcn.00403be0
test eax, eax
mov dword [esi + 0xa0c], eax
jne 0x4049fd
cmp word [esi + 0xa24], ax
je 0x4049fd
lea eax, [ebp - 0xba8]
push 0x6d6a
push eax
call fcn.00402680
mov ecx, dword [edi]
add esp, 8
push 2
lea edx, [ebp - 0xba0]
push edx
push edi
call dword [ecx + 0x14]
mov ecx, esi
call fcn.00403ab0
mov dword [esi + 0xa0c], eax
jmp 0x4049fd
push edi
push str.Import
call dword [sym.imp.MSVCR71.dll__stricmp]
add esp, 8
test eax, eax
jne 0x4049de
mov dword [ebp - 0xbac], eax
lea eax, [ebp - 0xba8]
push 0x6d69
push eax
call fcn.00402680
mov ecx, dword [esi + 0x2b28]
add esp, 8
push 2
lea edx, [ebp - 0xba0]
lea edi, [esi + 0x2b28]
push edx
push edi
call dword [ecx + 0x14]
mov eax, dword [esi + 0xa20]
mov ecx, dword [eax]
lea edx, [ebp - 0xbac]
push edx
push eax
call dword [ecx + 0x1e4]
test eax, eax
jl 0x4048c0
cmp word [esi + 0xa24], 0
je 0x4048a4
push str._Server
mov ecx, ebx
call fcn.004031e0
push eax
lea ecx, [ebp - 0xbb0]
call fcn.004034d0
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x194]
push str.IF_NOT_EXISTS__SELECT__FROM_master..sysservers_WHERE__srvstatus__8_____0__EXEC_sp_adddistributor__s
push eax
call dword [sym.imp.MSVCR71.dll_swprintf]
mov eax, dword [ebp - 0xbb0]
add esp, 0xc
test eax, eax
je 0x404886
push eax
call sub.MSVCR71.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [esi + 0xa20]
mov ecx, dword [eax]
push 0
push 1
lea edx, [ebp - 0x194]
push edx
push eax
call dword [ecx + 0x16c]
test eax, eax
jl 0x4048c0
mov eax, dword [esi + 0xa20]
mov edx, dword [eax]
push 0
push 1
push str.IF_EXISTS__SELECT__FROM_master..sysservers_WHERE__srvstatus__8_____0__EXEC_sp_dropdistributor__no_checks1
push eax
call dword [edx + 0x16c]
test eax, eax
jge 0x4048eb
push eax
mov ecx, esi
call fcn.00403310
mov dword [esi + 0xa0c], 0xc
mov eax, dword [ebp - 0xbac]
test eax, eax
je 0x4049fd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x4049fd
lea edx, [ebp - 0xba8]
push 0x6d6b
push edx
call fcn.00402680
mov eax, dword [edi]
add esp, 8
push 2
lea ecx, [ebp - 0xba0]
push ecx
push edi
call dword [eax + 0x14]
push str._ScriptPath
mov ecx, ebx
call fcn.004031e0
push eax
lea ecx, [ebp - 0xbb0]
call fcn.004034d0
mov eax, dword [eax]
push eax
mov ecx, esi
call fcn.00403ea0
test eax, eax
mov dword [esi + 0xa0c], eax
mov eax, dword [ebp - 0xbb0]
setne bl
test eax, eax
je 0x40494e
push eax
call sub.MSVCR71.dll_void___cdecl_operator_delete_void__
add esp, 4
test bl, bl
jne 0x4049cc
cmp word [esi + 0xa24], 0
je 0x404994
lea eax, [ebp - 0xba8]
push 0x6d6c
push eax
call fcn.00402680
mov ecx, dword [edi]
add esp, 8
push 2
lea edx, [ebp - 0xba0]
push edx
push edi
call dword [ecx + 0x14]
mov ecx, esi
call fcn.00403d00
test eax, eax
mov dword [esi + 0xa0c], eax
jne 0x4048d2
lea edx, [ebp - 0xba8]
push 0x6d6d
push edx
call fcn.00402680
mov eax, dword [edi]
add esp, 8
push 2
lea ecx, [ebp - 0xba0]
push ecx
push edi
call dword [eax + 0x14]
mov ecx, esi
call fcn.00403c90
test eax, eax
mov dword [esi + 0xa0c], eax
je 0x4048d2
mov eax, dword [ebp - 0xbac]
test eax, eax
je 0x4049fd
mov edx, dword [eax]
push eax
call dword [edx + 8]
jmp 0x4049fd
push 0x6d60
push esi
call fcn.00402680
add esp, 8
mov ecx, esi
mov dword [esi + 0xa0c], 0xb
call fcn.00403dc0
mov eax, dword [esi + 0xa0c]
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.00404c1f
mov esp, ebp
pop ebp
ret