Function at 0x406680
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x4066cb
push str.GetComputerNameA
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413de0], eax
cmp dword [0x413de0], 0
jne 0x4066c1
mov dword [0x413e38], 1
mov dword [0x413e38], 1
push 0x411d18
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4066f3
mov dword [0x413e40], 1
mov dword [0x413e40], 1
push str.advapi32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x406910
push str.RegEnumKeyExA
mov ecx, dword [ebp - 0x34]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d44], eax
mov dword [0x413e48], 1
push str.OpenSCManagerA
mov edx, dword [ebp - 0x34]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413da4], eax
push str.OpenServiceA
mov eax, dword [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d00], eax
push str.StartServiceA
mov ecx, dword [ebp - 0x34]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d04], eax
push str.ControlService
mov edx, dword [ebp - 0x34]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d34], eax
push str.DeleteService
mov eax, dword [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d38], eax
push str.CloseServiceHandle
mov ecx, dword [ebp - 0x34]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d10], eax
push str.EnumServicesStatusA
mov edx, dword [ebp - 0x34]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d80], eax
push str.IsValidSecurityDescriptor
mov eax, dword [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d08], eax
push str.CreateServiceA
mov ecx, dword [ebp - 0x34]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413df0], eax
push str.StartServiceCtrlDispatcherA
mov edx, dword [ebp - 0x34]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413e34], eax
push str.ImpersonateLoggedOnUser
mov eax, dword [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413e2c], eax
push str.LockServiceDatabase
mov ecx, dword [ebp - 0x34]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d20], eax
push str.QueryServiceLockStatusA
mov edx, dword [ebp - 0x34]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d58], eax
push str.ChangeServiceConfig2A
mov eax, dword [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413e30], eax
push str.UnlockServiceDatabase
mov ecx, dword [ebp - 0x34]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413dbc], eax
push str.RegisterServiceCtrlHandlerA
mov edx, dword [ebp - 0x34]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413db8], eax
push str.SetServiceStatus
mov eax, dword [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d48], eax
cmp dword [0x413da4], 0
je 0x406904
cmp dword [0x413d00], 0
je 0x406904
cmp dword [0x413d04], 0
je 0x406904
cmp dword [0x413d34], 0
je 0x406904
cmp dword [0x413d38], 0
je 0x406904
cmp dword [0x413d10], 0
je 0x406904
cmp dword [0x413d80], 0
je 0x406904
cmp dword [0x413d08], 0
je 0x406904
cmp dword [0x413e2c], 0
je 0x406904
cmp dword [0x413d20], 0
je 0x406904
cmp dword [0x413d58], 0
je 0x406904
cmp dword [0x413e30], 0
je 0x406904
cmp dword [0x413dbc], 0
je 0x406904
cmp dword [0x413db8], 0
je 0x406904
cmp dword [0x413d48], 0
jne 0x40690e
mov dword [0x413e48], 1
jmp 0x406925
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x413e50], eax
mov dword [0x413e48], 1
push str.ws2_32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x406bde
push str.WSAStartup
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d50], eax
push str.WSASocketA
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413e24], eax
push str.__WSAFDIsSet
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d0c], eax
push str.WSAGetLastError
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d64], eax
push str.WSACleanup
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d40], eax
push str.socket
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413e04], eax
push str.connect
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d78], eax
push str.inet_ntoa
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413e10], eax
push str.inet_addr
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413dd8], eax
push str.htons
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413db0], eax
push str.htonl
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413dac], eax
push str.send
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413ddc], eax
push str.sendto
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413de8], eax
push str.recv
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413dc0], eax
push str.bind
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413dcc], eax
push str.select
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413da0], eax
push str.listen
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413dc8], eax
push str.accept
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413e14], eax
push str.setsockopt
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d98], eax
push str.getsockname
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d74], eax
push str.gethostname
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413db4], eax
push str.gethostbyname
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413e08], eax
push str.getpeername
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d3c], eax
push str.closesocket
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413e1c], eax
push str.shutdown
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413e18], eax
cmp dword [0x413d50], 0
je 0x406bd2
cmp dword [0x413e24], 0
je 0x406bd2
cmp dword [0x413d64], 0
je 0x406bd2
cmp dword [0x413d40], 0
je 0x406bd2
cmp dword [0x413e04], 0
je 0x406bd2
cmp dword [0x413d78], 0
je 0x406bd2
cmp dword [0x413e10], 0
je 0x406bd2
cmp dword [0x413dd8], 0
je 0x406bd2
cmp dword [0x413db0], 0
je 0x406bd2
cmp dword [0x413dac], 0
je 0x406bd2
cmp dword [0x413ddc], 0
je 0x406bd2
cmp dword [0x413de8], 0
je 0x406bd2
cmp dword [0x413dc0], 0
je 0x406bd2
cmp dword [0x413d98], 0
je 0x406bd2
cmp dword [0x413d74], 0
je 0x406bd2
cmp dword [0x413db4], 0
je 0x406bd2
cmp dword [0x413e1c], 0
jne 0x406bdc
mov dword [0x413e5c], 1
jmp 0x406bf3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x413e60], eax
mov dword [0x413e5c], 1
push str.wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x406d95
push str.InternetGetConnectedState
mov edx, dword [ebp - 0x20]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d30], eax
push str.InternetGetConnectedStateEx
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413cfc], eax
push str.HttpOpenRequestA
mov ecx, dword [ebp - 0x20]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d88], eax
push str.HttpSendRequestA
mov edx, dword [ebp - 0x20]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d54], eax
push str.FtpGetFileA
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d28], eax
push str.FtpPutFileA
mov ecx, dword [ebp - 0x20]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413df4], eax
push str.InternetConnectA
mov edx, dword [ebp - 0x20]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d90], eax
push str.InternetOpenA
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d68], eax
push str.InternetOpenUrlA
mov ecx, dword [ebp - 0x20]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d18], eax
push str.InternetCrackUrlA
mov edx, dword [ebp - 0x20]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d14], eax
push str.InternetReadFile
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d1c], eax
push str.InternetCloseHandle
mov ecx, dword [ebp - 0x20]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413dd0], eax
cmp dword [0x413d30], 0
je 0x406d55
cmp dword [0x413cfc], 0
je 0x406d55
cmp dword [0x413d88], 0
je 0x406d55
cmp dword [0x413d54], 0
je 0x406d55
cmp dword [0x413d90], 0
je 0x406d55
cmp dword [0x413d68], 0
je 0x406d55
cmp dword [0x413d18], 0
je 0x406d55
cmp dword [0x413d14], 0
je 0x406d55
cmp dword [0x413d1c], 0
je 0x406d55
cmp dword [0x413dd0], 0
jne 0x406d5f
mov dword [0x413e64], 1
cmp dword [0x413d68], 0
je 0x406d93
push 0
push 0
push 0
push 0
push str.Mozilla_4.0__compatible_
call dword [0x413d68]
mov dword [0x413d7c], eax
cmp dword [0x413d7c], 0
jne 0x406d93
mov dword [0x413d7c], 0
jmp 0x406db4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x413e68], eax
mov dword [0x413e64], 1
mov dword [0x413d7c], 0
push str.netapi32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x406dd2
mov dword [0x413e74], 1
push str.dnsapi.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x406e2c
push str.DnsFlushResolverCache
mov edx, dword [ebp - 0x30]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d24], eax
push str.DnsFlushResolverCacheEntry_A
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413da8], eax
cmp dword [0x413d24], 0
je 0x406e20
cmp dword [0x413da8], 0
jne 0x406e2a
mov dword [0x413e7c], 1
jmp 0x406e41
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x413e80], eax
mov dword [0x413e7c], 1
push str.iphlpapi.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x406ef6
push str.GetIpNetTable
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413e00], eax
push str.DeleteIpNetEntry
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413dfc], eax
push str.GetIfTable
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d8c], eax
push str.GetTcpTable
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d9c], eax
push str.GetUdpTable
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413de4], eax
cmp dword [0x413e00], 0
je 0x406eea
cmp dword [0x413dfc], 0
je 0x406eea
cmp dword [0x413d8c], 0
je 0x406eea
cmp dword [0x413de4], 0
je 0x406eea
cmp dword [0x413d9c], 0
jne 0x406ef4
mov dword [0x413e84], 1
jmp 0x406f0b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x413e8c], eax
mov dword [0x413e84], 1
push str.mpr.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x406fa3
push str.WNetAddConnection2A
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413e28], eax
push str.WNetAddConnection2W
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413e20], eax
push str.WNetCancelConnection2A
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413dec], eax
push str.WNetCancelConnection2W
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d2c], eax
cmp dword [0x413e28], 0
je 0x406f97
cmp dword [0x413e20], 0
je 0x406f97
cmp dword [0x413dec], 0
je 0x406f97
cmp dword [0x413d2c], 0
jne 0x406fa1
mov dword [0x413e90], 1
jmp 0x406fb8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x413e94], eax
mov dword [0x413e90], 1
push str.shell32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x407012
push str.ShellExecuteA
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d4c], eax
push str.SHChangeNotify
mov edx, dword [ebp - 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413df8], eax
cmp dword [0x413d4c], 0
je 0x407006
cmp dword [0x413df8], 0
jne 0x407010
mov dword [0x413e98], 1
jmp 0x407027
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x413e9c], eax
mov dword [0x413e98], 1
push str.odbc32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
je 0x4070f9
push str.SQLDriverConnect
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413dd4], eax
push str.SQLSetEnvAttr
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413e0c], eax
push str.SQLExecDirect
mov edx, dword [ebp - 0x2c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d84], eax
push str.SQLAllocHandle
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d5c], eax
push str.SQLFreeHandle
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413dc4], eax
push str.SQLDisconnect
mov edx, dword [ebp - 0x2c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d60], eax
cmp dword [0x413dd4], 0
je 0x4070ed
cmp dword [0x413e0c], 0
je 0x4070ed
cmp dword [0x413d84], 0
je 0x4070ed
cmp dword [0x413d5c], 0
je 0x4070ed
cmp dword [0x413dc4], 0
je 0x4070ed
cmp dword [0x413d60], 0
jne 0x4070f7
mov dword [0x413ea0], 1
jmp 0x40710e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x413ea4], eax
mov dword [0x413ea0], 1
push 0x41227c
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x40714b
push 0x412288
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d94], eax
cmp dword [0x413d94], 0
jne 0x407149
mov dword [0x413eb8], 1
jmp 0x407160
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x413ebc], eax
mov dword [0x413eb8], 1
push str.shlwapi.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x40719d
push str.PathRemoveFileSpecA
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x413d6c], eax
cmp dword [0x413d6c], 0
jne 0x40719b
mov dword [0x413ec0], 1
jmp 0x4071b2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x413ec4], eax
mov dword [0x413ec0], 1
mov eax, 1
mov esp, ebp
pop ebp
ret