Function at 0x1400b7880
Capabilities:
Link many functions at runtime

Disassembly:
push rbp
push rbx
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xd0
mov qword [rbp + 0x3f], 0xfffffffffffffffe
xor edi, edi
cmp qword [0x1402c1fa0], rdi
jne 0x1400b78b7
lea rcx, str.ws2_32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1402c1fa0], rax
cmp qword [0x1402c1f98], rdi
jne 0x1400b8246
lea rcx, str.wsock32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
mov qword [0x1402c1f98], rax
test rax, rax
je 0x1400b8242
mov qword [0x1402c1fb0], rdi
mov qword [0x1402c1fb8], rdi
mov qword [0x1402c1fc0], rdi
mov qword [0x1402c1fc8], rdi
mov qword [0x1402c1fd0], rdi
mov qword [0x1402c1fd8], rdi
mov qword [0x1402c1fe0], rdi
mov qword [0x1402c1fe8], rdi
mov qword [0x1402c1ff0], rdi
mov qword [0x1402c1ff8], rdi
mov qword [0x1402c2000], rdi
mov qword [0x1402c2008], rdi
mov qword [0x1402c2010], rdi
mov qword [0x1402c2018], rdi
mov qword [0x1402c2020], rdi
mov qword [0x1402c2028], rdi
mov qword [0x1402c2030], rdi
mov qword [0x1402c2038], rdi
mov qword [0x1402c2040], rdi
mov qword [0x1402c2048], rdi
mov qword [0x1402c2050], rdi
mov rax, qword [0x1402b9cc8]
mov qword [rbp + 0x6f], rax
lea rdx, str.WSASt
lea rcx, [rbp + 0x6f]
call fcn.1400ca6a0
lea rdx, str.artup
lea rcx, [rbp + 0x6f]
call fcn.1400ca830
mov rdx, qword [rbp + 0x6f]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp + 0x6f]
call fcn.1400ca400
mov qword [0x1402c1fa8], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp + 0x77], rax
lea rdx, [0x14022ba64]
lea rcx, [rbp + 0x77]
call fcn.1400ca6a0
lea rdx, [0x14022ba60]
lea rcx, [rbp + 0x77]
call fcn.1400ca830
mov rdx, qword [rbp + 0x77]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp + 0x77]
call fcn.1400ca400
mov qword [0x1402c1fb0], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp + 0x7f], rax
lea rdx, [0x14022ba5c]
lea rcx, [rbp + 0x7f]
call fcn.1400ca6a0
lea rdx, str.ACleanup
lea rcx, [rbp + 0x7f]
call fcn.1400ca830
mov rdx, qword [rbp + 0x7f]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp + 0x7f]
call fcn.1400ca400
mov qword [0x1402c1fb8], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp + 0x17], rax
lea rdx, str.WSAAsy
lea rcx, [rbp + 0x17]
call fcn.1400ca6a0
lea rdx, str.ncGetHostByName
lea rcx, [rbp + 0x17]
call fcn.1400ca830
mov rdx, qword [rbp + 0x17]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp + 0x17]
call fcn.1400ca400
mov qword [0x1402c1fc0], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp - 0x59], rax
lea rdx, [0x14022ba30]
lea rcx, [rbp - 0x59]
call fcn.1400ca6a0
lea rdx, [0x14022ba2c]
lea rcx, [rbp - 0x59]
call fcn.1400ca830
mov rdx, qword [rbp - 0x59]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp - 0x59]
call fcn.1400ca400
mov qword [0x1402c1fc8], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp - 9], rax
lea rdx, [0x14022ba28]
lea rcx, [rbp - 9]
call fcn.1400ca6a0
lea rdx, str.cept
lea rcx, [rbp - 9]
call fcn.1400ca830
mov rdx, qword [rbp - 9]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp - 9]
call fcn.1400ca400
mov qword [0x1402c1fd0], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp - 0x49], rax
lea rdx, [0x14022ba1c]
lea rcx, [rbp - 0x49]
call fcn.1400ca6a0
lea rdx, str.nect
lea rcx, [rbp - 0x49]
call fcn.1400ca830
mov rdx, qword [rbp - 0x49]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp - 0x49]
call fcn.1400ca400
mov qword [0x1402c1fd8], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp + 0x37], rax
lea rdx, [0x14022ba10]
lea rcx, [rbp + 0x37]
call fcn.1400ca6a0
lea rdx, [0x14022ba0c]
lea rcx, [rbp + 0x37]
call fcn.1400ca830
mov rdx, qword [rbp + 0x37]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp + 0x37]
call fcn.1400ca400
mov qword [0x1402c1fe0], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp - 0x39], rax
lea rdx, str.WSAAsync
lea rcx, [rbp - 0x39]
call fcn.1400ca6a0
lea rdx, str.Select
lea rcx, [rbp - 0x39]
call fcn.1400ca830
mov rdx, qword [rbp - 0x39]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp - 0x39]
call fcn.1400ca400
mov qword [0x1402c1fe8], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp + 7], rax
lea rdx, str.WSAGet
lea rcx, [rbp + 7]
call fcn.1400ca6a0
lea rdx, str.LastError
lea rcx, [rbp + 7]
call fcn.1400ca830
mov rdx, qword [rbp + 7]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp + 7]
call fcn.1400ca400
mov qword [0x1402c1ff0], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp - 0x29], rax
lea rdx, [0x14022b9d8]
lea rcx, [rbp - 0x29]
call fcn.1400ca6a0
lea rdx, [0x14022ba0c]
lea rcx, [rbp - 0x29]
call fcn.1400ca830
mov rdx, qword [rbp - 0x29]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp - 0x29]
call fcn.1400ca400
mov qword [0x1402c1ff8], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp + 0x27], rax
lea rdx, [0x14022b9d4]
lea rcx, [rbp + 0x27]
call fcn.1400ca6a0
lea rdx, [0x14022b9d0]
lea rcx, [rbp + 0x27]
call fcn.1400ca830
mov rdx, qword [rbp + 0x27]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp + 0x27]
call fcn.1400ca400
mov qword [0x1402c2000], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp - 0x19], rax
lea rdx, [0x14022b9cc]
lea rcx, [rbp - 0x19]
call fcn.1400ca6a0
lea rdx, [0x14022b9c8]
lea rcx, [rbp - 0x19]
call fcn.1400ca830
mov rdx, qword [rbp - 0x19]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp - 0x19]
call fcn.1400ca400
mov qword [0x1402c2008], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp - 0x69], rax
lea rdx, str.inet
lea rcx, [rbp - 0x69]
call fcn.1400ca6a0
lea rdx, str._addr
lea rcx, [rbp - 0x69]
call fcn.1400ca830
mov rdx, qword [rbp - 0x69]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp - 0x69]
call fcn.1400ca400
mov qword [0x1402c2010], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp - 0x61], rax
lea rdx, str.inet_
lea rcx, [rbp - 0x61]
call fcn.1400ca6a0
lea rdx, str.ntoa
lea rcx, [rbp - 0x61]
call fcn.1400ca830
mov rdx, qword [rbp - 0x61]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp - 0x61]
call fcn.1400ca400
mov qword [0x1402c2018], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp - 0x51], rax
lea rdx, str.close
lea rcx, [rbp - 0x51]
call fcn.1400ca6a0
lea rdx, str.socket
lea rcx, [rbp - 0x51]
call fcn.1400ca830
mov rdx, qword [rbp - 0x51]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp - 0x51]
call fcn.1400ca400
mov qword [0x1402c2020], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp - 0x41], rax
lea rdx, str.setsock
lea rcx, [rbp - 0x41]
call fcn.1400ca6a0
lea rdx, [0x14022b988]
lea rcx, [rbp - 0x41]
call fcn.1400ca830
mov rdx, qword [rbp - 0x41]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp - 0x41]
call fcn.1400ca400
mov qword [0x1402c2028], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp - 0x31], rax
lea rdx, str.shut
lea rcx, [rbp - 0x31]
call fcn.1400ca6a0
lea rdx, str.down
lea rcx, [rbp - 0x31]
call fcn.1400ca830
mov rdx, qword [rbp - 0x31]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp - 0x31]
call fcn.1400ca400
mov qword [0x1402c2030], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp - 0x21], rax
lea rdx, str.WSAAsyncGetHost
lea rcx, [rbp - 0x21]
call fcn.1400ca6a0
lea rdx, str.ByAddr
lea rcx, [rbp - 0x21]
call fcn.1400ca830
mov rdx, qword [rbp - 0x21]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp - 0x21]
call fcn.1400ca400
mov qword [0x1402c2038], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp - 0x11], rax
lea rdx, str.WSACancel
lea rcx, [rbp - 0x11]
call fcn.1400ca6a0
lea rdx, str.AsyncRequest
lea rcx, [rbp - 0x11]
call fcn.1400ca830
mov rdx, qword [rbp - 0x11]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp - 0x11]
call fcn.1400ca400
mov qword [0x1402c2040], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp - 1], rax
lea rdx, str.ioctl
lea rcx, [rbp - 1]
call fcn.1400ca6a0
lea rdx, str.socket
lea rcx, [rbp - 1]
call fcn.1400ca830
mov rdx, qword [rbp - 1]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp - 1]
call fcn.1400ca400
mov qword [0x1402c2048], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp + 0xf], rax
lea rdx, str.getsock
lea rcx, [rbp + 0xf]
call fcn.1400ca6a0
lea rdx, [0x140226510]
lea rcx, [rbp + 0xf]
call fcn.1400ca830
mov rdx, qword [rbp + 0xf]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp + 0xf]
call fcn.1400ca400
mov qword [0x1402c2050], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp + 0x1f], rax
lea rdx, str.getpeer
lea rcx, [rbp + 0x1f]
call fcn.1400ca6a0
lea rdx, [0x140226510]
lea rcx, [rbp + 0x1f]
call fcn.1400ca830
mov rdx, qword [rbp + 0x1f]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp + 0x1f]
call fcn.1400ca400
mov qword [0x1402c2058], rbx
mov rbx, qword [0x1402c1f98]
mov rax, qword [0x1402b9cc8]
mov qword [rbp + 0x2f], rax
lea rdx, str.gethost
lea rcx, [rbp + 0x2f]
call fcn.1400ca6a0
lea rdx, str.byname
lea rcx, [rbp + 0x2f]
call fcn.1400ca830
mov rdx, qword [rbp + 0x2f]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp + 0x2f]
call fcn.1400ca400
mov qword [0x1402c2060], rbx
cmp qword [0x1402c1fa8], 0
je 0x1400b822e
cmp qword [0x1402c1fb0], 0
je 0x1400b822e
cmp qword [0x1402c1fb8], 0
je 0x1400b822e
cmp qword [0x1402c1fc0], 0
je 0x1400b822e
cmp qword [0x1402c1fc8], 0
je 0x1400b822e
cmp qword [0x1402c1fd0], 0
je 0x1400b822e
cmp qword [0x1402c1fd8], 0
je 0x1400b822e
cmp qword [0x1402c1fe0], 0
je 0x1400b822e
cmp qword [0x1402c1fe8], 0
je 0x1400b822e
cmp qword [0x1402c1ff0], 0
je 0x1400b822e
cmp qword [0x1402c1ff8], 0
je 0x1400b822e
cmp qword [0x1402c2000], 0
je 0x1400b822e
cmp qword [0x1402c2008], 0
je 0x1400b822e
cmp qword [0x1402c2010], 0
je 0x1400b822e
cmp qword [0x1402c2018], 0
je 0x1400b822e
cmp qword [0x1402c2020], 0
je 0x1400b822e
cmp qword [0x1402c2028], 0
je 0x1400b822e
cmp qword [0x1402c2030], 0
je 0x1400b822e
cmp qword [0x1402c2038], 0
je 0x1400b822e
cmp qword [0x1402c2040], 0
je 0x1400b822e
cmp qword [0x1402c2048], 0
je 0x1400b822e
cmp qword [0x1402c2050], 0
je 0x1400b822e
cmp qword [0x1402c2058], 0
jne 0x1400b8246
mov rcx, qword [0x1402c1f98]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [0x1402c1f98], rdi
mov eax, edi
jmp 0x1400b824b
mov eax, 1
add rsp, 0xd0
pop rdi
pop rbx
pop rbp
ret