Function at 0x14005fd90
Capabilities:
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push rbx
push rdi
push r15
sub rsp, 0x1e0
mov rbx, rdx
mov rdi, rcx
mov ecx, 0x101
lea rdx, [rsp + 0x30]
mov r15, r8
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x14005fdca
mov eax, 0xffffdcd8
add rsp, 0x1e0
pop r15
pop rdi
pop rbx
ret
movzx eax, word [rsp + 0x30]
cmp al, 1
jne 0x1400600dd
shr ax, 8
cmp al, 1
jne 0x1400600dd
mov qword [rsp + 0x200], rbp
xor ecx, ecx
mov qword [rsp + 0x208], rsi
mov qword [rsp + 0x210], r12
mov qword [rsp + 0x1d8], r13
mov qword [rsp + 0x1d0], r14
call fcn.140176288
mov rcx, rax
call fcn.140175fb0
mov esi, 2
xor r8d, r8d
mov edx, esi
mov ecx, esi
call qword [sym.imp.WS2_32.dll_socket]
mov rcx, rdi
mov qword [0x1402b8ce0], rax
call qword [sym.imp.WS2_32.dll_inet_addr]
mov rcx, rbx
mov word [0x1402b8cd0], si
mov dword [0x1402b8cd4], eax
call fcn.140177114
mov ecx, eax
call qword [sym.imp.WS2_32.dll_htons]
mov word [0x1402b8cd2], ax
movsx ecx, byte [r15]
movsx ebx, byte [r15 + 1]
call fcn.14017625c
sub al, 0x30
mov ecx, ebx
movzx esi, al
call fcn.14017625c
movsx ecx, byte [r15 + 2]
sub al, 0x30
movsx ebx, byte [r15 + 3]
movzx r14d, al
call fcn.14017625c
sub al, 0x30
mov ecx, ebx
movzx r12d, al
call fcn.14017625c
movsx ecx, byte [r15 + 4]
sub al, 0x30
movsx ebx, byte [r15 + 5]
movzx r13d, al
call fcn.14017625c
sub al, 0x30
mov ecx, ebx
movzx edi, al
call fcn.14017625c
movsx ecx, byte [r15 + 6]
sub al, 0x30
movsx ebx, byte [r15 + 7]
movzx ebp, al
call fcn.14017625c
sub al, 0x30
mov ecx, ebx
movzx r15d, al
call fcn.14017625c
sub al, 0x30
movzx r9d, al
cmp sil, 9
lea eax, [rsi - 7]
movzx ecx, al
lea eax, [r14 - 7]
cmovbe ecx, esi
movzx r8d, cl
shl r8d, 4
movzx ecx, al
cmp r14b, 9
cmovbe ecx, r14d
movzx eax, cl
add r8d, eax
lea eax, [rdi - 7]
shl r8d, 0x18
cmp dil, 9
movzx ecx, al
lea eax, [rbp - 7]
cmovbe ecx, edi
movzx edx, cl
shl edx, 4
movzx ecx, al
cmp bpl, 9
cmovbe ecx, ebp
movzx eax, cl
add edx, eax
lea eax, [r12 - 7]
shl edx, 8
or r8d, edx
movzx ecx, al
cmp r12b, 9
lea eax, [r13 - 7]
cmovbe ecx, r12d
movzx edx, cl
shl edx, 4
movzx ecx, al
cmp r13b, 9
cmovbe ecx, r13d
movzx eax, cl
add edx, eax
lea eax, [r15 - 7]
shl edx, 0x10
or r8d, edx
movzx ecx, al
lea eax, [r9 - 7]
cmp r15b, 9
cmovbe ecx, r15d
movzx edx, cl
shl edx, 4
movzx ecx, al
cmp r9b, 9
cmovbe ecx, r9d
movzx eax, cl
add edx, eax
or r8d, edx
mov dword [0x1402b8490], r8d
call fcn.140175f84
mov rcx, qword [0x1402b8ce0]
lea rdi, [0x1402b8cd0]
xorps xmm0, xmm0
mov dword [0x1402b8494], eax
xor eax, eax
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
xor ebx, ebx
mov dword [0x1402b849c], 0xaf3c2828
xor r9d, r9d
mov dword [0x1402b8498], ebx
lea rdx, [0x1402b8490]
mov qword [0x1402b8480], rax
movups xmmword [0x1402b8450], xmm0
lea r8d, [rbx + 0x10]
mov qword [0x1402b88a0], rax
movups xmmword [0x1402b8460], xmm0
mov dword [0x1402b88a8], eax
movups xmmword [0x1402b8470], xmm0
mov qword [rsp + 0x20], rdi
call qword [sym.imp.WS2_32.dll_sendto]
lea ecx, [rbx + 0x14]
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [0x1402b8ce0]
lea rax, [rsp + 0x218]
mov qword [rsp + 0x28], rax
lea rdx, [0x1402b88b0]
xor r9d, r9d
mov qword [rsp + 0x20], rdi
mov r8d, 0x400
mov dword [rsp + 0x218], reloc.WS2_32.dll_recv
call qword [sym.imp.WS2_32.dll_recvfrom]
mov r14, qword [rsp + 0x1d0]
mov r13, qword [rsp + 0x1d8]
mov r12, qword [rsp + 0x210]
mov rsi, qword [rsp + 0x208]
mov rbp, qword [rsp + 0x200]
test eax, eax
jns 0x14006009a
mov eax, 0xffffdcdb
add rsp, 0x1e0
pop r15
pop rdi
pop rbx
ret
mov eax, dword [0x1402b849c]
cmp dword [0x1402b88bc], eax
je 0x1400600bb
mov ebx, 0xffffdcdc
mov eax, ebx
add rsp, 0x1e0
pop r15
pop rdi
pop rbx
ret
mov ecx, dword [0x1402b8498]
mov eax, 0xffffdcdd
cmp dword [0x1402b88b8], ecx
cmovne ebx, eax
mov eax, ebx
add rsp, 0x1e0
pop r15
pop rdi
pop rbx
ret
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 0xffffdcd9
mov qword [0x1402b8ce0], 0xffffffffffffffff
add rsp, 0x1e0
pop r15
pop rdi
pop rbx
ret