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

Disassembly:
sub rsp, 0x218
mov rax, qword [0x140066040]
xor rax, rsp
mov qword [rsp + 0x1e0], rax
mov ecx, 0x101
lea rdx, [rsp + 0x40]
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x14004f65a
mov eax, 0xffffdcd8
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.14004fcd0
add rsp, 0x218
ret
movzx eax, word [rsp + 0x40]
cmp al, 1
jne 0x14004f9b7
shr ax, 8
cmp al, 1
jne 0x14004f9b7
mov qword [rsp + 0x220], rbx
xor ecx, ecx
mov qword [rsp + 0x228], rbp
mov qword [rsp + 0x230], rsi
mov qword [rsp + 0x210], rdi
mov qword [rsp + 0x208], r12
mov qword [rsp + 0x200], r13
mov qword [rsp + 0x1f8], r14
mov qword [rsp + 0x1f0], r15
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
mov ebx, 2
xor r8d, r8d
mov edx, ebx
mov ecx, ebx
call qword [sym.imp.WS2_32.dll_socket]
lea rcx, [0x140067880]
mov qword [0x140067730], rax
call qword [sym.imp.WS2_32.dll_inet_addr]
lea rcx, [0x140067800]
mov word [0x140067710], bx
mov dword [0x140067714], eax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov ecx, eax
call qword [sym.imp.WS2_32.dll_htons]
movsx ecx, byte [0x140067780]
movsx ebx, byte [0x140067781]
mov word [0x140067712], ax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
sub al, 0x30
mov ecx, ebx
movzx esi, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
movsx ecx, byte [0x140067782]
sub al, 0x30
movsx ebx, byte [0x140067783]
movzx r14d, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
sub al, 0x30
mov ecx, ebx
movzx r15d, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
movsx ecx, byte [0x140067784]
sub al, 0x30
movsx ebx, byte [0x140067785]
movzx r13d, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
sub al, 0x30
mov ecx, ebx
movzx edi, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
movsx ecx, byte [0x140067786]
sub al, 0x30
movsx ebx, byte [0x140067787]
movzx ebp, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
sub al, 0x30
mov ecx, ebx
movzx r12d, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
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
cmovbe ecx, edi
movzx edx, cl
shl edx, 4
lea eax, [rbp - 7]
movzx ecx, al
cmp bpl, 9
cmovbe ecx, ebp
movzx eax, cl
add edx, eax
lea eax, [r15 - 7]
shl edx, 8
or r8d, edx
movzx ecx, al
cmp r15b, 9
lea eax, [r13 - 7]
cmovbe ecx, r15d
movzx edx, cl
shl edx, 4
movzx ecx, al
cmp r13b, 9
cmovbe ecx, r13d
movzx eax, cl
add edx, eax
lea eax, [r12 - 7]
shl edx, 0x10
or r8d, edx
movzx ecx, al
lea eax, [r9 - 7]
cmp r12b, 9
cmovbe ecx, r12d
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 [0x140066ee0], r8d
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov rcx, qword [0x140067730]
lea rdi, [0x140067710]
xorps xmm0, xmm0
mov dword [0x140066ee4], eax
xor eax, eax
mov dword [rsp + 0x28], sendto
xor ebx, ebx
mov qword [0x140066ed8], rax
xor r9d, r9d
mov qword [0x1400672f0], rax
mov r8d, sendto
mov dword [0x1400672f8], eax
lea rdx, [0x140066ee0]
mov dword [0x140066ee8], ebx
mov dword [0x140066eec], 0xaf3c2828
movups xmmword [0x140066ea8], xmm0
mov qword [rsp + 0x20], rdi
movups xmmword [0x140066eb8], xmm0
movups xmmword [0x140066ec8], xmm0
call qword [sym.imp.WS2_32.dll_sendto]
mov ecx, reloc.WS2_32.dll_sendto
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [0x140067730]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, [0x140067300]
xor r9d, r9d
mov qword [rsp + 0x20], rdi
mov r8d, 0x400
mov dword [rsp + 0x30], sendto
call qword [sym.imp.WS2_32.dll_recvfrom]
mov r15, qword [rsp + 0x1f0]
mov r14, qword [rsp + 0x1f8]
mov r13, qword [rsp + 0x200]
mov r12, qword [rsp + 0x208]
mov rdi, qword [rsp + 0x210]
mov rsi, qword [rsp + 0x230]
mov rbp, qword [rsp + 0x228]
test eax, eax
jns 0x14004f988
mov eax, 0xffffdcdb
mov rbx, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.14004fcd0
add rsp, 0x218
ret
mov eax, dword [0x140066eec]
cmp dword [0x14006730c], eax
je 0x14004f99f
mov ebx, 0xffffdcdc
mov eax, ebx
jmp 0x14004f968
mov ecx, dword [0x140066ee8]
mov eax, 0xffffdcdd
cmp dword [0x140067308], ecx
cmovne ebx, eax
mov eax, ebx
jmp 0x14004f968
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 0xffffdcd9
mov qword [0x140067730], 0xffffffffffffffff
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.14004fcd0
add rsp, 0x218
ret