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

Disassembly:
push rbx
push rbp
push rdi
sub rsp, 0x240
mov rax, qword [0x14005a010]
xor rax, rsp
mov qword [rsp + 0x220], rax
mov rdi, rdx
mov rbx, rcx
mov ecx, 0x101
lea rdx, [rsp + 0x40]
mov rbp, r8
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x140044384
mov eax, 0xffffdcd8
jmp 0x14004463a
movzx eax, word [rsp + 0x40]
cmp al, 1
jne 0x140044624
shr ax, 8
cmp al, 1
jne 0x140044624
mov rax, qword [0x14005b4e0]
mov qword [rsp + 0x278], rsi
mov qword [rsp + 0x238], r14
mov qword [rsp + 0x230], r15
test rax, rax
jne 0x1400443da
lea r8, str.busy
xor ecx, ecx
lea edx, [rax + 1]
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [0x14005b4e0], rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [0x14005b4e8], xmm0
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
mov esi, 2
xor r8d, r8d
mov edx, esi
mov ecx, esi
call qword [sym.imp.WS2_32.dll_socket]
mov rcx, rbx
mov qword [0x14005ac38], rax
call qword [sym.imp.WS2_32.dll_inet_addr]
mov rcx, rdi
mov word [0x14005b480], si
mov dword [0x14005b484], 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]
xorps xmm0, xmm0
mov word [0x14005b482], ax
xor r15d, r15d
lea r14, [rsp + 0x1e0]
movups xmmword [rsp + 0x1e0], xmm0
mov esi, r15d
nop
movsx ecx, byte [rsi + rbp]
movsx ebx, byte [rsi + rbp + 1]
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]
sub al, 0x30
lea r14, [r14 + 4]
movzx r8d, al
cmp dil, 9
lea eax, [rdi - 7]
movzx ecx, al
cmovbe ecx, edi
movzx edx, cl
lea eax, [r8 - 7]
shl edx, 4
cmp r8b, 9
movzx ecx, al
cmovbe ecx, r8d
add rsi, 2
movzx eax, cl
add edx, eax
mov dword [r14 - 4], edx
cmp rsi, 8
jl 0x140044460
mov eax, dword [rsp + 0x1e0]
shl eax, 8
or eax, dword [rsp + 0x1e4]
shl eax, 8
or eax, dword [rsp + 0x1e8]
shl eax, 8
or eax, dword [rsp + 0x1ec]
mov dword [0x14005ac40], eax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov ecx, dword [0x14005ac40]
lea rbx, [0x14005b480]
mov dword [0x14005ac44], eax
lea rdx, [0x14005ac40]
xor eax, eax
mov byte [0x14005b4eb], cl
mov qword [0x14005ac30], rax
xorps xmm0, xmm0
mov qword [0x14005b050], rax
xor r9d, r9d
mov dword [0x14005b058], eax
movzx eax, byte [0x14005ac43]
mov byte [0x14005b4e8], al
movzx eax, byte [0x14005ac42]
lea r8d, [r9 + 0x10]
mov byte [0x14005b4e9], al
mov eax, ecx
mov rcx, qword [0x14005ac38]
shr eax, 8
mov dword [rsp + 0x28], socket
mov byte [0x14005b4ea], al
mov dword [0x14005ac48], r15d
mov dword [0x14005ac4c], 0xaf3c2828
movups xmmword [0x14005ac00], xmm0
mov qword [rsp + 0x20], rbx
movups xmmword [0x14005ac10], xmm0
movups xmmword [0x14005ac20], 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 [0x14005ac38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, [0x14005b060]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
mov r8d, 0x400
mov dword [rsp + 0x30], socket
call qword [sym.imp.WS2_32.dll_recvfrom]
mov ecx, dword [0x14005ac4c]
mov eax, 0xffffdcdc
cmp dword [0x14005b06c], ecx
mov ecx, dword [0x14005ac48]
cmovne r15d, eax
cmp dword [0x14005b068], ecx
mov rcx, qword [0x14005b4e0]
mov eax, 0xffffdcdd
cmovne r15d, eax
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov r14, qword [rsp + 0x238]
mov eax, r15d
mov r15, qword [rsp + 0x230]
mov rsi, qword [rsp + 0x278]
jmp 0x14004463a
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 0xffffdcd9
mov qword [0x14005ac38], 0xffffffffffffffff
mov rcx, qword [rsp + 0x220]
xor rcx, rsp
call fcn.140046b10
add rsp, 0x240
pop rdi
pop rbp
pop rbx
ret