Function at 0x5a4570
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], 0
cmp dword [0x6adf14], 0
jne 0x5a45a6
push str.LM_NO_NETWORK
call fcn.005d8e10
add esp, 4
neg eax
sbb eax, eax
neg eax
mov dword [0x6adf18], eax
mov dword [0x6adf14], 1
cmp dword [0x6adf18], 0
je 0x5a45b6
xor eax, eax
jmp 0x5a4ce0
cmp dword [0x6adf00], 0x20
jb 0x5a45ef
cmp dword [0x6adf0c], 0
jne 0x5a45e5
push 0x6b17e0
movzx eax, word [0x6b1974]
push eax
call dword [0x6adec0]
mov dword [0x6adf0c], 1
mov eax, 1
jmp 0x5a4ce0
push 0x8000
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x80000000
jae 0x5a462f
push str.WS2_32.Dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x6adf00], eax
cmp dword [0x6adf00], 0x20
jb 0x5a462f
mov dword [0x6adefc], 1
jmp 0x5a466f
push str.WSOCK32.Dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x6adf00], eax
cmp dword [0x6adf00], 0x20
jae 0x5a4665
mov dword [0x6b1970], 0
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
xor eax, eax
jmp 0x5a4ce0
mov dword [0x6adefc], 0
push str.icmp.Dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x6adf04], eax
cmp dword [0x6adf04], 0x20
jae 0x5a4694
mov dword [0x6b17c4], 0
jmp 0x5a46d8
push str.IcmpCreateFile
mov edx, dword [0x6adf04]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6ade78], eax
push str.IcmpSendEcho
mov eax, dword [0x6adf04]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6adea0], eax
push str.IcmpCloseHandle
mov ecx, dword [0x6adf04]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6ade84], eax
push str.send
mov edx, dword [0x6adf00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6adee4], eax
push str.ioctlsocket
mov eax, dword [0x6adf00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6ade94], eax
push str.WSAGetLastError
mov ecx, dword [0x6adf00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6ade60], eax
push str.recv
mov edx, dword [0x6adf00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6adea4], eax
push str.closesocket
mov eax, dword [0x6adf00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6adebc], eax
push str.getservbyname
mov ecx, dword [0x6adf00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6ade9c], eax
push str.gethostbyname
mov edx, dword [0x6adf00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6adee8], eax
push str.gethostname
mov eax, dword [0x6adf00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6adec4], eax
push str.WSAStartup
mov ecx, dword [0x6adf00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6adec0], eax
push str.WSACleanup
mov edx, dword [0x6adf00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6ade58], eax
push str.htons
mov eax, dword [0x6adf00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6adee0], eax
push str.ntohl
mov ecx, dword [0x6adf00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6ade8c], eax
push str.connect
mov edx, dword [0x6adf00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6adeb4], eax
push str.socket
mov eax, dword [0x6adf00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6ade90], eax
push str.select
mov ecx, dword [0x6adf00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6adec8], eax
push str.ntohs
mov edx, dword [0x6adf00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aded0], eax
push str.__WSAFDIsSet
mov eax, dword [0x6adf00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6adef0], eax
push str.bind
mov ecx, dword [0x6adf00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6ade68], eax
push str.getsockname
mov edx, dword [0x6adf00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6ade64], eax
push str.accept
mov eax, dword [0x6adf00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6adeec], eax
push str.listen
mov ecx, dword [0x6adf00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6ade88], eax
push str.WSASetLastError
mov edx, dword [0x6adf00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aded4], eax
push str.setsockopt
mov eax, dword [0x6adf00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6ade5c], eax
push str.sendto
mov ecx, dword [0x6adf00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6adecc], eax
push str.recvfrom
mov edx, dword [0x6adf00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6ade74], eax
push str.htonl
mov eax, dword [0x6adf00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6adeac], eax
push str.shutdown
mov ecx, dword [0x6adf00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6adeb8], eax
push str.getsockopt
mov edx, dword [0x6adf00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6ade6c], eax
push str.gethostbyaddr
mov eax, dword [0x6adf00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6adedc], eax
push str.EnumProtocolsA
mov ecx, dword [0x6adf00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6ade98], eax
push str.GetAddressByNameA
mov edx, dword [0x6adf00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6ade70], eax
cmp dword [0x6adefc], 0
je 0x5a4a5b
mov eax, dword [0x6adec8]
mov dword [0x6adeb0], eax
mov ecx, 2
mov word [0x6b1974], cx
push str.WSACreateEvent
mov edx, dword [0x6adf00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aded8], eax
push str.WSAEventSelect
mov eax, dword [0x6adf00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6adef8], eax
push str.WSAWaitForMultipleEvents
mov ecx, dword [0x6adf00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6ade54], eax
push str.WSAEnumNetworkEvents
mov edx, dword [0x6adf00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6adea8], eax
push str.WSALookupServiceBeginA
mov eax, dword [0x6adf00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6adef4], eax
push str.WSALookupServiceNextA
mov ecx, dword [0x6adf00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6ade80], eax
push str.WSALookupServiceEnd
mov edx, dword [0x6adf00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6ade7c], eax
jmp 0x5a4a71
mov eax, dword [0x6adec8]
mov dword [0x6adeb0], eax
mov ecx, 0x101
mov word [0x6b1974], cx
cmp dword [0x6adee4], 0
je 0x5a4be2
cmp dword [0x6ade94], 0
je 0x5a4be2
cmp dword [0x6ade60], 0
je 0x5a4be2
cmp dword [0x6adea4], 0
je 0x5a4be2
cmp dword [0x6adebc], 0
je 0x5a4be2
cmp dword [0x6ade9c], 0
je 0x5a4be2
cmp dword [0x6adee8], 0
je 0x5a4be2
cmp dword [0x6adec4], 0
je 0x5a4be2
cmp dword [0x6adec0], 0
je 0x5a4be2
cmp dword [0x6ade58], 0
je 0x5a4be2
cmp dword [0x6adee0], 0
je 0x5a4be2
cmp dword [0x6adeb4], 0
je 0x5a4be2
cmp dword [0x6ade90], 0
je 0x5a4be2
cmp dword [0x6adeb0], 0
je 0x5a4be2
cmp dword [0x6adef0], 0
je 0x5a4be2
cmp dword [0x6aded0], 0
je 0x5a4be2
cmp dword [0x6ade68], 0
je 0x5a4be2
cmp dword [0x6ade64], 0
je 0x5a4be2
cmp dword [0x6ade8c], 0
je 0x5a4be2
cmp dword [0x6adeec], 0
je 0x5a4be2
cmp dword [0x6ade88], 0
je 0x5a4be2
cmp dword [0x6aded4], 0
je 0x5a4be2
cmp dword [0x6ade5c], 0
je 0x5a4be2
cmp dword [0x6adecc], 0
je 0x5a4be2
cmp dword [0x6ade74], 0
je 0x5a4be2
cmp dword [0x6adeac], 0
je 0x5a4be2
cmp dword [0x6adeb8], 0
je 0x5a4be2
cmp dword [0x6ade6c], 0
je 0x5a4be2
cmp dword [0x6adedc], 0
je 0x5a4be2
cmp dword [0x6adefc], 0
jne 0x5a4bd0
cmp dword [0x6ade98], 0
je 0x5a4be2
cmp dword [0x6adefc], 0
jne 0x5a4c18
cmp dword [0x6ade70], 0
jne 0x5a4c18
cmp dword [ebp + 8], 0
je 0x5a4c07
push 0x10010
mov edx, dword [str.FlexNet_WINSOCK_error]
push edx
mov eax, dword [str.WINSOCK_usage_error_detected.__You_must_make_sure_your_license_file_does_only_node_locking__or_you_must_have_a_WINSOCK.DLL_in_order_to_communicate_with_FlexNet_license_server.]
push eax
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
xor eax, eax
jmp 0x5a4ce0
cmp dword [0x6adefc], 0
je 0x5a4c93
cmp dword [0x6aded8], 0
je 0x5a4c60
cmp dword [0x6adef8], 0
je 0x5a4c60
cmp dword [0x6ade54], 0
je 0x5a4c60
cmp dword [0x6adea8], 0
je 0x5a4c60
cmp dword [0x6adef4], 0
je 0x5a4c60
cmp dword [0x6ade80], 0
je 0x5a4c60
cmp dword [0x6ade7c], 0
jne 0x5a4c93
cmp dword [ebp + 8], 0
je 0x5a4c85
push 0x10010
mov edx, dword [str.FlexNet_WINSOCK_error]
push edx
mov eax, dword [str.WINSOCK_usage_error_detected.__You_must_make_sure_your_license_file_does_only_node_locking__or_you_must_have_a_WINSOCK.DLL_in_order_to_communicate_with_FlexNet_license_server.]
push eax
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
xor eax, eax
jmp 0x5a4ce0
mov dword [0x6b1970], 1
push 0x6b17e0
movzx edx, word [0x6b1974]
push edx
call dword [0x6adec0]
mov dword [0x6ac8ac], 0x400
mov eax, dword [0x6adf08]
add eax, 1
mov dword [0x6adf08], eax
mov dword [0x6adf0c], 1
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov eax, 1
mov esp, ebp
pop ebp
ret