Function at 0x5a5570
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], 0
cmp dword [0x6aef14], 0
jne 0x5a55a6
push str.LM_NO_NETWORK
call fcn.005d9e10
add esp, 4
neg eax
sbb eax, eax
neg eax
mov dword [0x6aef18], eax
mov dword [0x6aef14], 1
cmp dword [0x6aef18], 0
je 0x5a55b6
xor eax, eax
jmp 0x5a5ce0
cmp dword [0x6aef00], 0x20
jb 0x5a55ef
cmp dword [0x6aef0c], 0
jne 0x5a55e5
push 0x6b27e0
movzx eax, word [0x6b2974]
push eax
call dword [0x6aeec0]
mov dword [0x6aef0c], 1
mov eax, 1
jmp 0x5a5ce0
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 0x5a562f
push str.WS2_32.Dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x6aef00], eax
cmp dword [0x6aef00], 0x20
jb 0x5a562f
mov dword [0x6aeefc], 1
jmp 0x5a566f
push str.WSOCK32.Dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x6aef00], eax
cmp dword [0x6aef00], 0x20
jae 0x5a5665
mov dword [0x6b2970], 0
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
xor eax, eax
jmp 0x5a5ce0
mov dword [0x6aeefc], 0
push str.icmp.Dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x6aef04], eax
cmp dword [0x6aef04], 0x20
jae 0x5a5694
mov dword [0x6b27c4], 0
jmp 0x5a56d8
push str.IcmpCreateFile
mov edx, dword [0x6aef04]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aee78], eax
push str.IcmpSendEcho
mov eax, dword [0x6aef04]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeea0], eax
push str.IcmpCloseHandle
mov ecx, dword [0x6aef04]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aee84], eax
push str.send
mov edx, dword [0x6aef00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeee4], eax
push str.ioctlsocket
mov eax, dword [0x6aef00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aee94], eax
push str.WSAGetLastError
mov ecx, dword [0x6aef00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aee60], eax
push str.recv
mov edx, dword [0x6aef00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeea4], eax
push str.closesocket
mov eax, dword [0x6aef00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeebc], eax
push str.getservbyname
mov ecx, dword [0x6aef00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aee9c], eax
push str.gethostbyname
mov edx, dword [0x6aef00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeee8], eax
push str.gethostname
mov eax, dword [0x6aef00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeec4], eax
push str.WSAStartup
mov ecx, dword [0x6aef00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeec0], eax
push str.WSACleanup
mov edx, dword [0x6aef00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aee58], eax
push str.htons
mov eax, dword [0x6aef00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeee0], eax
push str.ntohl
mov ecx, dword [0x6aef00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aee8c], eax
push str.connect
mov edx, dword [0x6aef00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeeb4], eax
push str.socket
mov eax, dword [0x6aef00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aee90], eax
push str.select
mov ecx, dword [0x6aef00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeec8], eax
push str.ntohs
mov edx, dword [0x6aef00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeed0], eax
push str.__WSAFDIsSet
mov eax, dword [0x6aef00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeef0], eax
push str.bind
mov ecx, dword [0x6aef00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aee68], eax
push str.getsockname
mov edx, dword [0x6aef00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aee64], eax
push str.accept
mov eax, dword [0x6aef00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeeec], eax
push str.listen
mov ecx, dword [0x6aef00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aee88], eax
push str.WSASetLastError
mov edx, dword [0x6aef00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeed4], eax
push str.setsockopt
mov eax, dword [0x6aef00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aee5c], eax
push str.sendto
mov ecx, dword [0x6aef00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeecc], eax
push str.recvfrom
mov edx, dword [0x6aef00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aee74], eax
push str.htonl
mov eax, dword [0x6aef00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeeac], eax
push str.shutdown
mov ecx, dword [0x6aef00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeeb8], eax
push str.getsockopt
mov edx, dword [0x6aef00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aee6c], eax
push str.gethostbyaddr
mov eax, dword [0x6aef00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeedc], eax
push str.EnumProtocolsA
mov ecx, dword [0x6aef00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aee98], eax
push str.GetAddressByNameA
mov edx, dword [0x6aef00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aee70], eax
cmp dword [0x6aeefc], 0
je 0x5a5a5b
mov eax, dword [0x6aeec8]
mov dword [0x6aeeb0], eax
mov ecx, 2
mov word [0x6b2974], cx
push str.WSACreateEvent
mov edx, dword [0x6aef00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeed8], eax
push str.WSAEventSelect
mov eax, dword [0x6aef00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeef8], eax
push str.WSAWaitForMultipleEvents
mov ecx, dword [0x6aef00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aee54], eax
push str.WSAEnumNetworkEvents
mov edx, dword [0x6aef00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeea8], eax
push str.WSALookupServiceBeginA
mov eax, dword [0x6aef00]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aeef4], eax
push str.WSALookupServiceNextA
mov ecx, dword [0x6aef00]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aee80], eax
push str.WSALookupServiceEnd
mov edx, dword [0x6aef00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6aee7c], eax
jmp 0x5a5a71
mov eax, dword [0x6aeec8]
mov dword [0x6aeeb0], eax
mov ecx, 0x101
mov word [0x6b2974], cx
cmp dword [0x6aeee4], 0
je 0x5a5be2
cmp dword [0x6aee94], 0
je 0x5a5be2
cmp dword [0x6aee60], 0
je 0x5a5be2
cmp dword [0x6aeea4], 0
je 0x5a5be2
cmp dword [0x6aeebc], 0
je 0x5a5be2
cmp dword [0x6aee9c], 0
je 0x5a5be2
cmp dword [0x6aeee8], 0
je 0x5a5be2
cmp dword [0x6aeec4], 0
je 0x5a5be2
cmp dword [0x6aeec0], 0
je 0x5a5be2
cmp dword [0x6aee58], 0
je 0x5a5be2
cmp dword [0x6aeee0], 0
je 0x5a5be2
cmp dword [0x6aeeb4], 0
je 0x5a5be2
cmp dword [0x6aee90], 0
je 0x5a5be2
cmp dword [0x6aeeb0], 0
je 0x5a5be2
cmp dword [0x6aeef0], 0
je 0x5a5be2
cmp dword [0x6aeed0], 0
je 0x5a5be2
cmp dword [0x6aee68], 0
je 0x5a5be2
cmp dword [0x6aee64], 0
je 0x5a5be2
cmp dword [0x6aee8c], 0
je 0x5a5be2
cmp dword [0x6aeeec], 0
je 0x5a5be2
cmp dword [0x6aee88], 0
je 0x5a5be2
cmp dword [0x6aeed4], 0
je 0x5a5be2
cmp dword [0x6aee5c], 0
je 0x5a5be2
cmp dword [0x6aeecc], 0
je 0x5a5be2
cmp dword [0x6aee74], 0
je 0x5a5be2
cmp dword [0x6aeeac], 0
je 0x5a5be2
cmp dword [0x6aeeb8], 0
je 0x5a5be2
cmp dword [0x6aee6c], 0
je 0x5a5be2
cmp dword [0x6aeedc], 0
je 0x5a5be2
cmp dword [0x6aeefc], 0
jne 0x5a5bd0
cmp dword [0x6aee98], 0
je 0x5a5be2
cmp dword [0x6aeefc], 0
jne 0x5a5c18
cmp dword [0x6aee70], 0
jne 0x5a5c18
cmp dword [ebp + 8], 0
je 0x5a5c07
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 0x5a5ce0
cmp dword [0x6aeefc], 0
je 0x5a5c93
cmp dword [0x6aeed8], 0
je 0x5a5c60
cmp dword [0x6aeef8], 0
je 0x5a5c60
cmp dword [0x6aee54], 0
je 0x5a5c60
cmp dword [0x6aeea8], 0
je 0x5a5c60
cmp dword [0x6aeef4], 0
je 0x5a5c60
cmp dword [0x6aee80], 0
je 0x5a5c60
cmp dword [0x6aee7c], 0
jne 0x5a5c93
cmp dword [ebp + 8], 0
je 0x5a5c85
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 0x5a5ce0
mov dword [0x6b2970], 1
push 0x6b27e0
movzx edx, word [0x6b2974]
push edx
call dword [0x6aeec0]
mov dword [0x6ad8ac], 0x400
mov eax, dword [0x6aef08]
add eax, 1
mov dword [0x6aef08], eax
mov dword [0x6aef0c], 1
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov eax, 1
mov esp, ebp
pop ebp
ret