Function at 0x140025eb0
Capabilities:
Link many functions at runtime

Disassembly:
sub rsp, 0x1d8
mov rax, qword [0x1400a45f8]
xor rax, rsp
mov qword [rsp + 0x1c0], rax
cmp dword [0x1400a5f00], 0
je 0x140025f08
mov rax, qword [0x1400a5ee8]
test rax, rax
je 0x140025eea
mov ecx, 0x101
lea rdx, [rsp + 0x20]
call rax
mov eax, dword [0x1400a5f04]
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.140077b10
add rsp, 0x1d8
ret
lea rcx, str.wsock32.dll
mov qword [rsp + 0x1d0], rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1400a5f08], rax
test rax, rax
jne 0x140025f3b
mov ebx, 1
mov dword [0x1400a5f04], ebx
mov eax, ebx
jmp 0x1400262a4
lea rdx, str.inet_addr
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x1400a5f04]
lea rdx, str.inet_ntoa
test rax, rax
mov qword [0x1400a5e68], rax
mov ebx, 1
cmove ecx, ebx
mov dword [0x1400a5f04], ecx
mov rcx, qword [0x1400a5f08]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x1400a5f04]
lea rdx, str.socket
test rax, rax
mov qword [0x1400a5e70], rax
cmove ecx, ebx
mov dword [0x1400a5f04], ecx
mov rcx, qword [0x1400a5f08]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x1400a5f04]
lea rdx, str.select
test rax, rax
mov qword [0x1400a5e78], rax
cmove ecx, ebx
mov dword [0x1400a5f04], ecx
mov rcx, qword [0x1400a5f08]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x1400a5f04]
lea rdx, str.setsockopt
test rax, rax
mov qword [0x1400a5e80], rax
cmove ecx, ebx
mov dword [0x1400a5f04], ecx
mov rcx, qword [0x1400a5f08]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x1400a5f04]
lea rdx, str.bind
test rax, rax
mov qword [0x1400a5e88], rax
cmove ecx, ebx
mov dword [0x1400a5f04], ecx
mov rcx, qword [0x1400a5f08]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x1400a5f04]
lea rdx, str.sendto
test rax, rax
mov qword [0x1400a5e90], rax
cmove ecx, ebx
mov dword [0x1400a5f04], ecx
mov rcx, qword [0x1400a5f08]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x1400a5f04]
lea rdx, str.recvfrom
test rax, rax
mov qword [0x1400a5e98], rax
cmove ecx, ebx
mov dword [0x1400a5f04], ecx
mov rcx, qword [0x1400a5f08]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x1400a5f04]
lea rdx, str.listen
test rax, rax
mov qword [0x1400a5ea0], rax
cmove ecx, ebx
mov dword [0x1400a5f04], ecx
mov rcx, qword [0x1400a5f08]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x1400a5f04]
lea rdx, str.htons
test rax, rax
mov qword [0x1400a5ea8], rax
cmove ecx, ebx
mov dword [0x1400a5f04], ecx
mov rcx, qword [0x1400a5f08]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x1400a5f04]
test rax, rax
mov qword [0x1400a5eb0], rax
cmove ecx, ebx
mov dword [0x1400a5f04], ecx
mov rcx, qword [0x1400a5f08]
lea rdx, str.htonl
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x1400a5f04]
lea rdx, str.ntohl
test rax, rax
mov qword [0x1400a5eb8], rax
cmove ecx, ebx
mov dword [0x1400a5f04], ecx
mov rcx, qword [0x1400a5f08]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x1400a5f04]
lea rdx, str.gethostname
test rax, rax
mov qword [0x1400a5ec0], rax
cmove ecx, ebx
mov dword [0x1400a5f04], ecx
mov rcx, qword [0x1400a5f08]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x1400a5f04]
lea rdx, str.gethostbyname
test rax, rax
mov qword [0x1400a5ec8], rax
cmove ecx, ebx
mov dword [0x1400a5f04], ecx
mov rcx, qword [0x1400a5f08]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x1400a5f04]
lea rdx, str.gethostbyaddr
test rax, rax
mov qword [0x1400a5ed0], rax
cmove ecx, ebx
mov dword [0x1400a5f04], ecx
mov rcx, qword [0x1400a5f08]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x1400a5f04]
lea rdx, str.WSAAsyncSelect
test rax, rax
mov qword [0x1400a5ed8], rax
cmove ecx, ebx
mov dword [0x1400a5f04], ecx
mov rcx, qword [0x1400a5f08]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x1400a5f04]
lea rdx, str.WSAStartup
test rax, rax
mov qword [0x1400a5ee0], rax
cmove ecx, ebx
mov dword [0x1400a5f04], ecx
mov rcx, qword [0x1400a5f08]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x1400a5f04]
lea rdx, str.WSACleanup
test rax, rax
mov qword [0x1400a5ee8], rax
cmove ecx, ebx
mov dword [0x1400a5f04], ecx
mov rcx, qword [0x1400a5f08]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x1400a5f04]
lea rdx, str.WSAGetLastError
test rax, rax
mov qword [0x1400a5ef8], rax
cmove ecx, ebx
mov dword [0x1400a5f04], ecx
mov rcx, qword [0x1400a5f08]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x1400a5f04]
test rax, rax
mov qword [0x1400a5ef0], rax
cmove ecx, ebx
mov dword [0x1400a5f00], ebx
mov dword [0x1400a5f04], ecx
call fcn.1400262d0
mov eax, dword [0x1400a5f04]
mov rbx, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.140077b10
add rsp, 0x1d8
ret