Function at 0x471bd0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], 0
cmp dword [0x529d68], 0
jne 0x471c06
push str.LM_NO_NETWORK
call fcn.004aa860
add esp, 4
neg eax
sbb eax, eax
neg eax
mov dword [0x529d6c], eax
mov dword [0x529d68], 1
cmp dword [0x529d6c], 0
je 0x471c16
xor eax, eax
jmp 0x472340
cmp dword [0x529d54], 0x20
jb 0x471c4f
cmp dword [0x529d60], 0
jne 0x471c45
push 0x52cd00
movzx eax, word [0x52ce94]
push eax
call dword [0x529d14]
mov dword [0x529d60], 1
mov eax, 1
jmp 0x472340
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 0x471c8f
push str.WS2_32.Dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x529d54], eax
cmp dword [0x529d54], 0x20
jb 0x471c8f
mov dword [0x529d50], 1
jmp 0x471ccf
push str.WSOCK32.Dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x529d54], eax
cmp dword [0x529d54], 0x20
jae 0x471cc5
mov dword [0x52ce90], 0
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
xor eax, eax
jmp 0x472340
mov dword [0x529d50], 0
push str.icmp.Dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x529d58], eax
cmp dword [0x529d58], 0x20
jae 0x471cf4
mov dword [0x52cce4], 0
jmp 0x471d38
push str.IcmpCreateFile
mov edx, dword [0x529d58]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529ccc], eax
push str.IcmpSendEcho
mov eax, dword [0x529d58]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529cf4], eax
push str.IcmpCloseHandle
mov ecx, dword [0x529d58]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529cd8], eax
push str.send
mov edx, dword [0x529d54]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529d38], eax
push str.ioctlsocket
mov eax, dword [0x529d54]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529ce8], eax
push str.WSAGetLastError
mov ecx, dword [0x529d54]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529cb4], eax
push str.recv
mov edx, dword [0x529d54]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529cf8], eax
push str.closesocket
mov eax, dword [0x529d54]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529d10], eax
push str.getservbyname
mov ecx, dword [0x529d54]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529cf0], eax
push str.gethostbyname
mov edx, dword [0x529d54]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529d3c], eax
push str.gethostname
mov eax, dword [0x529d54]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529d18], eax
push str.WSAStartup
mov ecx, dword [0x529d54]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529d14], eax
push str.WSACleanup
mov edx, dword [0x529d54]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529cac], eax
push str.htons
mov eax, dword [0x529d54]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529d34], eax
push str.ntohl
mov ecx, dword [0x529d54]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529ce0], eax
push str.connect
mov edx, dword [0x529d54]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529d08], eax
push str.socket
mov eax, dword [0x529d54]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529ce4], eax
push str.select
mov ecx, dword [0x529d54]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529d1c], eax
push str.ntohs
mov edx, dword [0x529d54]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529d24], eax
push str.__WSAFDIsSet
mov eax, dword [0x529d54]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529d44], eax
push str.bind
mov ecx, dword [0x529d54]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529cbc], eax
push str.getsockname
mov edx, dword [0x529d54]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529cb8], eax
push str.accept
mov eax, dword [0x529d54]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529d40], eax
push str.listen
mov ecx, dword [0x529d54]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529cdc], eax
push str.WSASetLastError
mov edx, dword [0x529d54]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529d28], eax
push str.setsockopt
mov eax, dword [0x529d54]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529cb0], eax
push str.sendto
mov ecx, dword [0x529d54]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529d20], eax
push str.recvfrom
mov edx, dword [0x529d54]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529cc8], eax
push str.htonl
mov eax, dword [0x529d54]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529d00], eax
push str.shutdown
mov ecx, dword [0x529d54]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529d0c], eax
push str.getsockopt
mov edx, dword [0x529d54]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529cc0], eax
push str.gethostbyaddr
mov eax, dword [0x529d54]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529d30], eax
push str.EnumProtocolsA
mov ecx, dword [0x529d54]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529cec], eax
push str.GetAddressByNameA
mov edx, dword [0x529d54]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529cc4], eax
cmp dword [0x529d50], 0
je 0x4720bb
mov eax, dword [0x529d1c]
mov dword [0x529d04], eax
mov ecx, 2
mov word [0x52ce94], cx
push str.WSACreateEvent
mov edx, dword [0x529d54]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529d2c], eax
push str.WSAEventSelect
mov eax, dword [0x529d54]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529d4c], eax
push str.WSAWaitForMultipleEvents
mov ecx, dword [0x529d54]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529ca8], eax
push str.WSAEnumNetworkEvents
mov edx, dword [0x529d54]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529cfc], eax
push str.WSALookupServiceBeginA
mov eax, dword [0x529d54]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529d48], eax
push str.WSALookupServiceNextA
mov ecx, dword [0x529d54]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529cd4], eax
push str.WSALookupServiceEnd
mov edx, dword [0x529d54]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x529cd0], eax
jmp 0x4720d1
mov eax, dword [0x529d1c]
mov dword [0x529d04], eax
mov ecx, 0x101
mov word [0x52ce94], cx
cmp dword [0x529d38], 0
je 0x472242
cmp dword [0x529ce8], 0
je 0x472242
cmp dword [0x529cb4], 0
je 0x472242
cmp dword [0x529cf8], 0
je 0x472242
cmp dword [0x529d10], 0
je 0x472242
cmp dword [0x529cf0], 0
je 0x472242
cmp dword [0x529d3c], 0
je 0x472242
cmp dword [0x529d18], 0
je 0x472242
cmp dword [0x529d14], 0
je 0x472242
cmp dword [0x529cac], 0
je 0x472242
cmp dword [0x529d34], 0
je 0x472242
cmp dword [0x529d08], 0
je 0x472242
cmp dword [0x529ce4], 0
je 0x472242
cmp dword [0x529d04], 0
je 0x472242
cmp dword [0x529d44], 0
je 0x472242
cmp dword [0x529d24], 0
je 0x472242
cmp dword [0x529cbc], 0
je 0x472242
cmp dword [0x529cb8], 0
je 0x472242
cmp dword [0x529ce0], 0
je 0x472242
cmp dword [0x529d40], 0
je 0x472242
cmp dword [0x529cdc], 0
je 0x472242
cmp dword [0x529d28], 0
je 0x472242
cmp dword [0x529cb0], 0
je 0x472242
cmp dword [0x529d20], 0
je 0x472242
cmp dword [0x529cc8], 0
je 0x472242
cmp dword [0x529d00], 0
je 0x472242
cmp dword [0x529d0c], 0
je 0x472242
cmp dword [0x529cc0], 0
je 0x472242
cmp dword [0x529d30], 0
je 0x472242
cmp dword [0x529d50], 0
jne 0x472230
cmp dword [0x529cec], 0
je 0x472242
cmp dword [0x529d50], 0
jne 0x472278
cmp dword [0x529cc4], 0
jne 0x472278
cmp dword [ebp + 8], 0
je 0x472267
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 0x472340
cmp dword [0x529d50], 0
je 0x4722f3
cmp dword [0x529d2c], 0
je 0x4722c0
cmp dword [0x529d4c], 0
je 0x4722c0
cmp dword [0x529ca8], 0
je 0x4722c0
cmp dword [0x529cfc], 0
je 0x4722c0
cmp dword [0x529d48], 0
je 0x4722c0
cmp dword [0x529cd4], 0
je 0x4722c0
cmp dword [0x529cd0], 0
jne 0x4722f3
cmp dword [ebp + 8], 0
je 0x4722e5
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 0x472340
mov dword [0x52ce90], 1
push 0x52cd00
movzx edx, word [0x52ce94]
push edx
call dword [0x529d14]
mov dword [0x5289f4], 0x400
mov eax, dword [0x529d5c]
add eax, 1
mov dword [0x529d5c], eax
mov dword [0x529d60], 1
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov eax, 1
mov esp, ebp
pop ebp
ret