Function at 0x40f530
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ecx
push 0x425c00
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [0x4502ec], eax
test eax, eax
jne 0x40f59e
lea eax, [ebp - 4]
push eax
push 1
push str.ws2_32.dll
call fcn.00410d80
add esp, 0xc
test eax, eax
jns 0x40f581
lea eax, [ebp - 4]
push eax
push 1
push str.wsock32.dll
call fcn.00410d80
add esp, 0xc
test eax, eax
js 0x40f843
mov byte [0x450178], 1
push dword [ebp - 4]
call fcn.00410c20
push dword [ebp - 4]
mov dword [0x4502ec], eax
call fcn.0041b200
mov eax, dword [0x4502ec]
add esp, 8
push str.WSAStartup
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.WSACleanup
push dword [0x4502ec]
mov dword [0x4502f0], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.WSAGetLastError
push dword [0x4502ec]
mov dword [0x4502f4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.WSASetLastError
push dword [0x4502ec]
mov dword [0x4502f8], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.WSACreateEvent
push dword [0x4502ec]
mov dword [0x4502fc], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.WSACloseEvent
push dword [0x4502ec]
mov dword [0x450300], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.WSASetEvent
push dword [0x4502ec]
mov dword [0x450304], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.WSAEventSelect
push dword [0x4502ec]
mov dword [0x450308], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.WSAEnumNetworkEvents
push dword [0x4502ec]
mov dword [0x45030c], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.WSASocketW
push dword [0x4502ec]
mov dword [0x450310], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.WSASend
push dword [0x4502ec]
mov dword [0x450314], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.WSAIoctl
push dword [0x4502ec]
mov dword [0x450318], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.socket
push dword [0x4502ec]
mov dword [0x45031c], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.closesocket
push dword [0x4502ec]
mov dword [0x450320], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.recv
push dword [0x4502ec]
mov dword [0x450324], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.send
push dword [0x4502ec]
mov dword [0x450328], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.recvfrom
push dword [0x4502ec]
mov dword [0x45032c], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.sendto
push dword [0x4502ec]
mov dword [0x450330], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.bind
push dword [0x4502ec]
mov dword [0x450334], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.listen
push dword [0x4502ec]
mov dword [0x450338], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x45033c], eax
push str.accept
push dword [0x4502ec]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.connect
push dword [0x4502ec]
mov dword [0x450340], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.shutdown
push dword [0x4502ec]
mov dword [0x450344], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.getsockopt
push dword [0x4502ec]
mov dword [0x450348], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.setsockopt
push dword [0x4502ec]
mov dword [0x45034c], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.ioctlsocket
push dword [0x4502ec]
mov dword [0x450350], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.getpeername
push dword [0x4502ec]
mov dword [0x450354], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.getsockname
push dword [0x4502ec]
mov dword [0x450358], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.__WSAFDIsSet
push dword [0x4502ec]
mov dword [0x45035c], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.select
push dword [0x4502ec]
mov dword [0x450360], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.gethostbyname
push dword [0x4502ec]
mov dword [0x450364], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x450368], eax
mov esp, ebp
pop ebp
ret