Function at 0x4aaf20
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
cmp dword [0x58b6e8], 0
jne 0x4aaf4e
push 0x5705bc
call fcn.00501f70
add esp, 4
neg eax
sbb eax, eax
neg eax
mov dword [0x58b6ec], eax
mov dword [0x58b6e8], 1
cmp dword [0x58b6ec], 0
je 0x4aaf5e
xor eax, eax
jmp 0x4ab65b
cmp dword [0x58b6d4], 0x20
jb 0x4aaf96
cmp dword [0x58b6e0], 0
jne 0x4aaf8c
push 0x5d4460
mov ax, word [0x5d45f4]
push eax
call dword [0x58b694]
mov dword [0x58b6e0], 1
mov eax, 1
jmp 0x4ab65b
push 0x8000
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x80000000
jae 0x4aafd3
push str.WS2_32.Dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x58b6d4], eax
cmp dword [0x58b6d4], 0x20
jb 0x4aafd3
mov dword [0x58b6d0], 1
jmp 0x4ab009
push str.WSOCK32.Dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x58b6d4], eax
cmp dword [0x58b6d4], 0x20
jae 0x4aafff
mov dword [0x5d45f0], 0
xor eax, eax
jmp 0x4ab65b
mov dword [0x58b6d0], 0
push str.icmp.Dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x58b6d8], eax
cmp dword [0x58b6d8], 0x20
jae 0x4ab02e
mov dword [0x5d4454], 0
jmp 0x4ab072
push str.IcmpCreateFile
mov ecx, dword [0x58b6d8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b64c], eax
push str.IcmpSendEcho
mov edx, dword [0x58b6d8]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b674], eax
push str.IcmpCloseHandle
mov eax, dword [0x58b6d8]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b658], eax
push str.send
mov ecx, dword [0x58b6d4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b6b8], eax
push 0x570628
mov edx, dword [0x58b6d4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b668], eax
push 0x570634
mov eax, dword [0x58b6d4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b634], eax
push str.recv
mov ecx, dword [0x58b6d4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b678], eax
push 0x57064c
mov edx, dword [0x58b6d4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b690], eax
push 0x570658
mov eax, dword [0x58b6d4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b670], eax
push 0x570668
mov ecx, dword [0x58b6d4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b6bc], eax
push 0x570678
mov edx, dword [0x58b6d4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b698], eax
push 0x570684
mov eax, dword [0x58b6d4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b694], eax
push str.WSACleanup
mov ecx, dword [0x58b6d4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b62c], eax
push 0x57069c
mov edx, dword [0x58b6d4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b6b4], eax
push 0x5706a4
mov eax, dword [0x58b6d4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b660], eax
push str.connect
mov ecx, dword [0x58b6d4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b688], eax
push 0x5706b4
mov edx, dword [0x58b6d4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b664], eax
push 0x5706bc
mov eax, dword [0x58b6d4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b69c], eax
push 0x5706c4
mov ecx, dword [0x58b6d4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b6a4], eax
push str.__WSAFDIsSet
mov edx, dword [0x58b6d4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b6c4], eax
push 0x5706dc
mov eax, dword [0x58b6d4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b63c], eax
push 0x5706e4
mov ecx, dword [0x58b6d4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b638], eax
push str.accept
mov edx, dword [0x58b6d4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b6c0], eax
push str.listen
mov eax, dword [0x58b6d4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b65c], eax
push str.WSASetLastError
mov ecx, dword [0x58b6d4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b6a8], eax
push 0x570710
mov edx, dword [0x58b6d4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b630], eax
push 0x57071c
mov eax, dword [0x58b6d4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b6a0], eax
push 0x570724
mov ecx, dword [0x58b6d4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b648], eax
push 0x570730
mov edx, dword [0x58b6d4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b680], eax
push 0x570738
mov eax, dword [0x58b6d4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b68c], eax
push str.getsockopt
mov ecx, dword [0x58b6d4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b640], eax
push 0x570750
mov edx, dword [0x58b6d4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b6b0], eax
push str.EnumProtocolsA
mov eax, dword [0x58b6d4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b66c], eax
push str.GetAddressByNameA
mov ecx, dword [0x58b6d4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b644], eax
cmp dword [0x58b6d0], 0
je 0x4ab3f3
mov edx, dword [0x58b69c]
mov dword [0x58b684], edx
mov word [0x5d45f4], 2
push str.WSACreateEvent
mov eax, dword [0x58b6d4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b6ac], eax
push str.WSAEventSelect
mov ecx, dword [0x58b6d4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b6cc], eax
push str.WSAWaitForMultipleEvents
mov edx, dword [0x58b6d4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b628], eax
push str.WSAEnumNetworkEvents
mov eax, dword [0x58b6d4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b67c], eax
push str.WSALookupServiceBeginA
mov ecx, dword [0x58b6d4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b6c8], eax
push str.WSALookupServiceNextA
mov edx, dword [0x58b6d4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b654], eax
push str.WSALookupServiceEnd
mov eax, dword [0x58b6d4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58b650], eax
jmp 0x4ab408
mov ecx, dword [0x58b69c]
mov dword [0x58b684], ecx
mov word [0x5d45f4], 0x101
cmp dword [0x58b6b8], 0
je 0x4ab579
cmp dword [0x58b668], 0
je 0x4ab579
cmp dword [0x58b634], 0
je 0x4ab579
cmp dword [0x58b678], 0
je 0x4ab579
cmp dword [0x58b690], 0
je 0x4ab579
cmp dword [0x58b670], 0
je 0x4ab579
cmp dword [0x58b6bc], 0
je 0x4ab579
cmp dword [0x58b698], 0
je 0x4ab579
cmp dword [0x58b694], 0
je 0x4ab579
cmp dword [0x58b62c], 0
je 0x4ab579
cmp dword [0x58b6b4], 0
je 0x4ab579
cmp dword [0x58b688], 0
je 0x4ab579
cmp dword [0x58b664], 0
je 0x4ab579
cmp dword [0x58b684], 0
je 0x4ab579
cmp dword [0x58b6c4], 0
je 0x4ab579
cmp dword [0x58b6a4], 0
je 0x4ab579
cmp dword [0x58b63c], 0
je 0x4ab579
cmp dword [0x58b638], 0
je 0x4ab579
cmp dword [0x58b660], 0
je 0x4ab579
cmp dword [0x58b6c0], 0
je 0x4ab579
cmp dword [0x58b65c], 0
je 0x4ab579
cmp dword [0x58b6a8], 0
je 0x4ab579
cmp dword [0x58b630], 0
je 0x4ab579
cmp dword [0x58b6a0], 0
je 0x4ab579
cmp dword [0x58b648], 0
je 0x4ab579
cmp dword [0x58b680], 0
je 0x4ab579
cmp dword [0x58b68c], 0
je 0x4ab579
cmp dword [0x58b640], 0
je 0x4ab579
cmp dword [0x58b6b0], 0
je 0x4ab579
cmp dword [0x58b6d0], 0
jne 0x4ab567
cmp dword [0x58b66c], 0
je 0x4ab579
cmp dword [0x58b6d0], 0
jne 0x4ab5a5
cmp dword [0x58b644], 0
jne 0x4ab5a5
cmp dword [ebp + 8], 0
je 0x4ab59e
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 0x4ab65b
cmp dword [0x58b6d0], 0
je 0x4ab617
cmp dword [0x58b6ac], 0
je 0x4ab5ed
cmp dword [0x58b6cc], 0
je 0x4ab5ed
cmp dword [0x58b628], 0
je 0x4ab5ed
cmp dword [0x58b67c], 0
je 0x4ab5ed
cmp dword [0x58b6c8], 0
je 0x4ab5ed
cmp dword [0x58b654], 0
je 0x4ab5ed
cmp dword [0x58b650], 0
jne 0x4ab617
cmp dword [ebp + 8], 0
je 0x4ab613
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 0x4ab65b
mov dword [0x5d45f0], 1
push 0x5d4460
mov ax, word [0x5d45f4]
push eax
call dword [0x58b694]
mov dword [0x58b544], 0x400
mov ecx, dword [0x58b6dc]
add ecx, 1
mov dword [0x58b6dc], ecx
mov dword [0x58b6e0], 1
mov eax, 1
pop ebp
ret