Function at 0x407da0
Capabilities:
Access the windows event log
Create thread

Disassembly:
sub esp, 0x214
mov eax, dword [0x43e008]
xor eax, esp
mov dword [esp + 0x210], eax
push esi
push edi
push 0x20a
lea eax, [esp + 0x10]
mov edi, ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventW]
add esp, 0xc
push 0
push 0
push 1
push 0
call esi
mov dword [0x43f290], eax
test eax, eax
jne 0x407e5c
test byte [0x43f278], 2
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
je 0x407e18
cmp dword [str._CBrowseSvc::FInitServiceERRRET__creating_termination_event:__dWINERR_n], eax
je 0x407e18
call esi
push eax
mov eax, dword [str._CBrowseSvc::FInitServiceERRRET__creating_termination_event:__dWINERR_n]
push eax
mov eax, dword [str.sql_ntdbms_browser_sqlbrowser_brwssvc.cpp]
push 0x2dc00
push eax
call fcn.00405110
add esp, 0x10
call esi
mov dword [esp + 8], eax
call esi
push str.SQLBrowser
push 0
mov edi, eax
call dword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov esi, eax
test esi, esi
je 0x4080f7
lea eax, [esp + 8]
push eax
push 0
push 4
push 0
push 0
push 0xc04e000b
push 0
push 1
push esi
call dword [sym.imp.ADVAPI32.dll_ReportEventW]
push esi
jmp 0x4080f9
push 0
push 0
push 1
push 0
call esi
mov dword [0x43f294], eax
test eax, eax
jne 0x407e9e
test byte [0x43f278], 2
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
je 0x407e18
cmp dword [str._CBrowseSvc::FInitServiceERRRET__creating_an_event_to_signal_the_update_thread_about_service_shutdown_:__dWINERR_n], eax
je 0x407e18
call esi
push eax
mov eax, dword [str._CBrowseSvc::FInitServiceERRRET__creating_an_event_to_signal_the_update_thread_about_service_shutdown_:__dWINERR_n]
push eax
mov eax, dword [str.sql_ntdbms_browser_sqlbrowser_brwssvc.cpp]
push 0x30400
jmp 0x407e0f
push 0
push 1
push 1
push 0
call esi
mov dword [0x43f2a8], eax
test eax, eax
jne 0x407ee8
test byte [0x43f278], 2
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
je 0x407e18
cmp dword [str._CBrowseSvc::FInitServiceERRRET__creating_pause_event:__dWINERR_n], eax
je 0x407e18
call esi
push eax
mov eax, dword [str._CBrowseSvc::FInitServiceERRRET__creating_pause_event:__dWINERR_n]
push eax
mov eax, dword [str.sql_ntdbms_browser_sqlbrowser_brwssvc.cpp]
push 0x32c00
jmp 0x407e0f
push 0
push 0
push 1
push 0
call esi
mov dword [edi + 0x20], eax
test eax, eax
je 0x4080bf
lea eax, [esp + 8]
mov dword [esp + 8], 0
push eax
push 0
push edi
push 0x407a10
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp dword [edi + 0x20], 0
mov dword [edi + 0x24], eax
je 0x4080bf
test eax, eax
je 0x4080bf
push str.SOFTWAREMicrosoftMicrosoft_SQL_Server90
mov edx, 0x105
lea ecx, [esp + 0x10]
lfence
call fcn.004010b0
test eax, eax
js 0x408060
xor eax, eax
lea ecx, [esp + 0xc]
push str.SQL_Browser
mov edx, 0x105
mov word [esp + 0x218], ax
call fcn.00401120
test eax, eax
jns 0x407fed
push 0x6f
call dword [sym.imp.KERNEL32.dll_SetLastError]
test byte [0x43f278], 2
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
je 0x407fac
cmp dword [str._CBrowseSvc::FInitServiceERRRET__wszRegPath_StringCchCatW_:__dWINERR_n], 0
je 0x407fac
call esi
push eax
mov eax, dword [str._CBrowseSvc::FInitServiceERRRET__wszRegPath_StringCchCatW_:__dWINERR_n]
push eax
mov eax, dword [str.sql_ntdbms_browser_sqlbrowser_brwssvc.cpp]
push 0x3c400
push eax
call fcn.00405110
add esp, 0x10
call esi
push str.SQLBrowser
push 0
mov edi, eax
call dword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov esi, eax
test esi, esi
je 0x4080f7
lea eax, [esp + 0xc]
push eax
push 0
push 0x20a
push 0
push 0
push 0xc04e0001
push 0
push 1
push esi
call dword [sym.imp.ADVAPI32.dll_ReportEventW]
push esi
jmp 0x4080f9
push 0x43f2c0
push 0x20019
push 0
lea eax, [esp + 0x18]
push eax
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x408044
test byte [0x43f278], 2
je 0x408039
cmp dword [str._CBrowseSvc::FInitServiceERRRET__Failed_to_open_reg_key_for_SQL_Browser_listeners:__dWINERR_n], 0
je 0x408039
push eax
mov eax, dword [str._CBrowseSvc::FInitServiceERRRET__Failed_to_open_reg_key_for_SQL_Browser_listeners:__dWINERR_n]
push eax
mov eax, dword [str.sql_ntdbms_browser_sqlbrowser_brwssvc.cpp]
push 0x3e400
push eax
call fcn.00405110
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x407fae
pop edi
mov eax, 1
pop esi
mov ecx, dword [esp + 0x210]
xor ecx, esp
call fcn.004145b4
add esp, 0x214
ret
test byte [0x43f278], 2
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
je 0x408094
cmp dword [str._CBrowseSvc::FInitServiceERRRET__Failed_to_get_90_root_reg_path:__dWINERR_n], 0
je 0x408094
call esi
push eax
mov eax, dword [str._CBrowseSvc::FInitServiceERRRET__Failed_to_get_90_root_reg_path:__dWINERR_n]
push eax
mov eax, dword [str.sql_ntdbms_browser_sqlbrowser_brwssvc.cpp]
push 0x3a400
push eax
call fcn.00405110
add esp, 0x10
call esi
mov dword [esp + 8], eax
call esi
push str.SQLBrowser
push 0
mov edi, eax
call dword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov esi, eax
test esi, esi
je 0x4080f7
lea eax, [esp + 8]
push eax
push 0
push 4
jmp 0x407fd3
test byte [0x43f278], 2
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
je 0x407e18
cmp dword [str._CBrowseSvc::FInitServiceERRRET__tracking_service_status:__dWINERR_n], 0
je 0x407e18
call esi
push eax
mov eax, dword [str._CBrowseSvc::FInitServiceERRRET__tracking_service_status:__dWINERR_n]
push eax
mov eax, dword [str.sql_ntdbms_browser_sqlbrowser_brwssvc.cpp]
push 0x38000
jmp 0x407e0f
push 0
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [esp + 0x218]
xor eax, eax
pop edi
pop esi
xor ecx, esp
call fcn.004145b4
add esp, 0x214
ret