Function at 0x4a1e40
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
cmp dword [0x590a38], 0
jne 0x4a1e6e
push 0x579e9c
call fcn.004a0560
add esp, 4
neg eax
sbb eax, eax
neg eax
mov dword [0x590a3c], eax
mov dword [0x590a38], 1
cmp dword [0x590a3c], 0
je 0x4a1e7e
xor eax, eax
jmp 0x4a257b
cmp dword [0x590a24], 0x20
jb 0x4a1eb6
cmp dword [0x590a30], 0
jne 0x4a1eac
push 0x5977c0
mov ax, word [0x597954]
push eax
call dword [0x5909e4]
mov dword [0x590a30], 1
mov eax, 1
jmp 0x4a257b
push 0x8000
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x80000000
jae 0x4a1ef3
push str.WS2_32.Dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x590a24], eax
cmp dword [0x590a24], 0x20
jb 0x4a1ef3
mov dword [0x590a20], 1
jmp 0x4a1f29
push str.WSOCK32.Dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x590a24], eax
cmp dword [0x590a24], 0x20
jae 0x4a1f1f
mov dword [0x597950], 0
xor eax, eax
jmp 0x4a257b
mov dword [0x590a20], 0
push str.icmp.Dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x590a28], eax
cmp dword [0x590a28], 0x20
jae 0x4a1f4e
mov dword [0x5977b4], 0
jmp 0x4a1f92
push str.IcmpCreateFile
mov ecx, dword [0x590a28]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x59099c], eax
push str.IcmpSendEcho
mov edx, dword [0x590a28]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909c4], eax
push str.IcmpCloseHandle
mov eax, dword [0x590a28]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909a8], eax
push str.send
mov ecx, dword [0x590a24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x590a08], eax
push str.ioctlsocket
mov edx, dword [0x590a24]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909b8], eax
push str.WSAGetLastError
mov eax, dword [0x590a24]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x590984], eax
push str.recv
mov ecx, dword [0x590a24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909c8], eax
push str.closesocket
mov edx, dword [0x590a24]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909e0], eax
push str.getservbyname
mov eax, dword [0x590a24]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909c0], eax
push str.gethostbyname
mov ecx, dword [0x590a24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x590a0c], eax
push str.gethostname
mov edx, dword [0x590a24]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909e8], eax
push str.WSAStartup
mov eax, dword [0x590a24]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909e4], eax
push str.WSACleanup
mov ecx, dword [0x590a24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x59097c], eax
push str.htons
mov edx, dword [0x590a24]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x590a04], eax
push str.ntohl
mov eax, dword [0x590a24]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909b0], eax
push str.connect
mov ecx, dword [0x590a24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909d8], eax
push str.socket
mov edx, dword [0x590a24]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909b4], eax
push str.select
mov eax, dword [0x590a24]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909ec], eax
push str.ntohs
mov ecx, dword [0x590a24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909f4], eax
push str.__WSAFDIsSet
mov edx, dword [0x590a24]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x590a14], eax
push str.bind
mov eax, dword [0x590a24]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x59098c], eax
push str.getsockname
mov ecx, dword [0x590a24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x590988], eax
push str.accept
mov edx, dword [0x590a24]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x590a10], eax
push str.listen
mov eax, dword [0x590a24]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909ac], eax
push str.WSASetLastError
mov ecx, dword [0x590a24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909f8], eax
push str.setsockopt
mov edx, dword [0x590a24]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x590980], eax
push str.sendto
mov eax, dword [0x590a24]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909f0], eax
push str.recvfrom
mov ecx, dword [0x590a24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x590998], eax
push str.htonl
mov edx, dword [0x590a24]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909d0], eax
push str.shutdown
mov eax, dword [0x590a24]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909dc], eax
push str.getsockopt
mov ecx, dword [0x590a24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x590990], eax
push str.gethostbyaddr
mov edx, dword [0x590a24]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x590a00], eax
push str.EnumProtocolsA
mov eax, dword [0x590a24]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909bc], eax
push str.GetAddressByNameA
mov ecx, dword [0x590a24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x590994], eax
cmp dword [0x590a20], 0
je 0x4a2313
mov edx, dword [0x5909ec]
mov dword [0x5909d4], edx
mov word [0x597954], 2
push str.WSACreateEvent
mov eax, dword [0x590a24]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909fc], eax
push str.WSAEventSelect
mov ecx, dword [0x590a24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x590a1c], eax
push str.WSAWaitForMultipleEvents
mov edx, dword [0x590a24]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x590978], eax
push str.WSAEnumNetworkEvents
mov eax, dword [0x590a24]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909cc], eax
push str.WSALookupServiceBeginA
mov ecx, dword [0x590a24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x590a18], eax
push str.WSALookupServiceNextA
mov edx, dword [0x590a24]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909a4], eax
push str.WSALookupServiceEnd
mov eax, dword [0x590a24]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5909a0], eax
jmp 0x4a2328
mov ecx, dword [0x5909ec]
mov dword [0x5909d4], ecx
mov word [0x597954], 0x101
cmp dword [0x590a08], 0
je 0x4a2499
cmp dword [0x5909b8], 0
je 0x4a2499
cmp dword [0x590984], 0
je 0x4a2499
cmp dword [0x5909c8], 0
je 0x4a2499
cmp dword [0x5909e0], 0
je 0x4a2499
cmp dword [0x5909c0], 0
je 0x4a2499
cmp dword [0x590a0c], 0
je 0x4a2499
cmp dword [0x5909e8], 0
je 0x4a2499
cmp dword [0x5909e4], 0
je 0x4a2499
cmp dword [0x59097c], 0
je 0x4a2499
cmp dword [0x590a04], 0
je 0x4a2499
cmp dword [0x5909d8], 0
je 0x4a2499
cmp dword [0x5909b4], 0
je 0x4a2499
cmp dword [0x5909d4], 0
je 0x4a2499
cmp dword [0x590a14], 0
je 0x4a2499
cmp dword [0x5909f4], 0
je 0x4a2499
cmp dword [0x59098c], 0
je 0x4a2499
cmp dword [0x590988], 0
je 0x4a2499
cmp dword [0x5909b0], 0
je 0x4a2499
cmp dword [0x590a10], 0
je 0x4a2499
cmp dword [0x5909ac], 0
je 0x4a2499
cmp dword [0x5909f8], 0
je 0x4a2499
cmp dword [0x590980], 0
je 0x4a2499
cmp dword [0x5909f0], 0
je 0x4a2499
cmp dword [0x590998], 0
je 0x4a2499
cmp dword [0x5909d0], 0
je 0x4a2499
cmp dword [0x5909dc], 0
je 0x4a2499
cmp dword [0x590990], 0
je 0x4a2499
cmp dword [0x590a00], 0
je 0x4a2499
cmp dword [0x590a20], 0
jne 0x4a2487
cmp dword [0x5909bc], 0
je 0x4a2499
cmp dword [0x590a20], 0
jne 0x4a24c5
cmp dword [0x590994], 0
jne 0x4a24c5
cmp dword [ebp + 8], 0
je 0x4a24be
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]
xor eax, eax
jmp 0x4a257b
cmp dword [0x590a20], 0
je 0x4a2537
cmp dword [0x5909fc], 0
je 0x4a250d
cmp dword [0x590a1c], 0
je 0x4a250d
cmp dword [0x590978], 0
je 0x4a250d
cmp dword [0x5909cc], 0
je 0x4a250d
cmp dword [0x590a18], 0
je 0x4a250d
cmp dword [0x5909a4], 0
je 0x4a250d
cmp dword [0x5909a0], 0
jne 0x4a2537
cmp dword [ebp + 8], 0
je 0x4a2533
push 0x10010
mov ecx, dword [str.FlexNet_WINSOCK_error]
push ecx
mov edx, 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 edx
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x4a257b
mov dword [0x597950], 1
push 0x5977c0
mov ax, word [0x597954]
push eax
call dword [0x5909e4]
mov dword [0x590434], 0x400
mov ecx, dword [0x590a2c]
add ecx, 1
mov dword [0x590a2c], ecx
mov dword [0x590a30], 1
mov eax, 1
pop ebp
ret