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

Disassembly:
sub rsp, 0x218
mov rax, qword [0x14008d040]
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 0x14006188a
mov eax, 0xffffdcd8
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.1400704a0
add rsp, 0x218
ret
movzx eax, word [rsp + 0x40]
cmp al, 1
jne 0x140061be7
shr ax, 8
cmp al, 1
jne 0x140061be7
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, [0x14009d230]
mov qword [0x14009cf30], rax
call qword [sym.imp.WS2_32.dll_inet_addr]
lea rcx, [0x14009d1b0]
mov word [0x14009cf10], bx
mov dword [0x14009cf14], 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 [0x14009d130]
movsx ebx, byte [0x14009d131]
mov word [0x14009cf12], 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 [0x14009d132]
sub al, 0x30
movsx ebx, byte [0x14009d133]
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 [0x14009d134]
sub al, 0x30
movsx ebx, byte [0x14009d135]
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 [0x14009d136]
sub al, 0x30
movsx ebx, byte [0x14009d137]
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 [0x14009c6e0], r8d
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov rcx, qword [0x14009cf30]
lea rdi, [0x14009cf10]
xorps xmm0, xmm0
mov dword [0x14009c6e4], eax
xor eax, eax
mov dword [rsp + 0x28], sendto
xor ebx, ebx
mov qword [0x14009c6d8], rax
xor r9d, r9d
mov qword [0x14009caf0], rax
mov r8d, sendto
mov dword [0x14009caf8], eax
lea rdx, [0x14009c6e0]
mov dword [0x14009c6e8], ebx
mov dword [0x14009c6ec], 0xaf3c2828
movups xmmword [0x14009c6a8], xmm0
mov qword [rsp + 0x20], rdi
movups xmmword [0x14009c6b8], xmm0
movups xmmword [0x14009c6c8], 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 [0x14009cf30]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, [0x14009cb00]
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 0x140061bb8
mov eax, 0xffffdcdb
mov rbx, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.1400704a0
add rsp, 0x218
ret
mov eax, dword [0x14009c6ec]
cmp dword [0x14009cb0c], eax
je 0x140061bcf
mov ebx, 0xffffdcdc
mov eax, ebx
jmp 0x140061b98
mov ecx, dword [0x14009c6e8]
mov eax, 0xffffdcdd
cmp dword [0x14009cb08], ecx
cmovne ebx, eax
mov eax, ebx
jmp 0x140061b98
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 0xffffdcd9
mov qword [0x14009cf30], 0xffffffffffffffff
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.1400704a0
add rsp, 0x218
ret