Function at 0x14000a2b0
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
sub rsp, 0x20
xor ebx, ebx
cmp qword [0x140164570], rbx
jne 0x14000a2d5
lea rcx, str.ws2_32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x140164570], rax
cmp qword [0x140164568], rbx
jne 0x14000a721
lea rcx, str.wsock32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
mov qword [0x140164568], rax
je 0x14000a719
lea rdx, str.WSAStartup
mov rcx, rax
mov qword [0x140164580], rbx
mov qword [0x140164588], rbx
mov qword [0x140164590], rbx
mov qword [0x140164598], rbx
mov qword [0x1401645a0], rbx
mov qword [0x1401645a8], rbx
mov qword [0x1401645b0], rbx
mov qword [0x1401645b8], rbx
mov qword [0x1401645c0], rbx
mov qword [0x1401645c8], rbx
mov qword [0x1401645d0], rbx
mov qword [0x1401645d8], rbx
mov qword [0x1401645e0], rbx
mov qword [0x1401645e8], rbx
mov qword [0x1401645f0], rbx
mov qword [0x1401645f8], rbx
mov qword [0x140164600], rbx
mov qword [0x140164608], rbx
mov qword [0x140164610], rbx
mov qword [0x140164618], rbx
mov qword [0x140164620], rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.socket
mov qword [0x140164578], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.WSACleanup
mov qword [0x140164580], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.WSAAsyncGetHostByName
mov qword [0x140164588], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.listen
mov qword [0x140164590], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.accept
mov qword [0x140164598], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.connect
mov qword [0x1401645a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.bind
mov qword [0x1401645a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.WSAAsyncSelect
mov qword [0x1401645b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.WSAGetLastError
mov qword [0x1401645b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.send
mov qword [0x1401645c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.recv
mov qword [0x1401645c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.htons
mov qword [0x1401645d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.inet_addr
mov qword [0x1401645d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.inet_ntoa
mov qword [0x1401645e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401645e8], rax
mov rcx, qword [0x140164568]
lea rdx, str.closesocket
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.setsockopt
mov qword [0x1401645f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.shutdown
mov qword [0x1401645f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.WSAAsyncGetHostByAddr
mov qword [0x140164600], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.WSACancelAsyncRequest
mov qword [0x140164608], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.ioctlsocket
mov qword [0x140164610], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.getsockname
mov qword [0x140164618], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.getpeername
mov qword [0x140164620], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140164568]
lea rdx, str.gethostbyname
mov qword [0x140164628], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [0x140164578], rbx
mov qword [0x140164630], rax
je 0x14000a705
cmp qword [0x140164580], rbx
je 0x14000a705
cmp qword [0x140164588], rbx
je 0x14000a705
cmp qword [0x140164590], rbx
je 0x14000a705
cmp qword [0x140164598], rbx
je 0x14000a705
cmp qword [0x1401645a0], rbx
je 0x14000a705
cmp qword [0x1401645a8], rbx
je 0x14000a705
cmp qword [0x1401645b0], rbx
je 0x14000a705
cmp qword [0x1401645b8], rbx
je 0x14000a705
cmp qword [0x1401645c0], rbx
je 0x14000a705
cmp qword [0x1401645c8], rbx
je 0x14000a705
cmp qword [0x1401645d0], rbx
je 0x14000a705
cmp qword [0x1401645d8], rbx
je 0x14000a705
cmp qword [0x1401645e0], rbx
je 0x14000a705
cmp qword [0x1401645e8], rbx
je 0x14000a705
cmp qword [0x1401645f0], rbx
je 0x14000a705
cmp qword [0x1401645f8], rbx
je 0x14000a705
cmp qword [0x140164600], rbx
je 0x14000a705
cmp qword [0x140164608], rbx
je 0x14000a705
cmp qword [0x140164610], rbx
je 0x14000a705
cmp qword [0x140164618], rbx
je 0x14000a705
cmp qword [0x140164620], rbx
je 0x14000a705
cmp qword [0x140164628], rbx
jne 0x14000a721
mov rcx, qword [0x140164568]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [0x140164568], rbx
mov eax, ebx
add rsp, 0x20
pop rbx
ret
mov eax, 1
add rsp, 0x20
pop rbx
ret