Function at 0x140006980
Capabilities:
Create udp socket
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1d8
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
mov rax, qword [0x140062cc0]
xor rax, rsp
mov qword [rsp + 0x1d0], rax
lea rdx, [rsp + 0x38]
mov cx, 0x101
call qword [sym.imp.WS2_32.dll_WSAStartup]
mov ebp, 0xffffdcd8
test eax, eax
jne 0x140006c5e
movzx eax, word [rsp + 0x38]
cmp eax, 0x101
jne 0x140006c41
xor ecx, ecx
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 ecx, 2
mov edx, 2
xor r8d, r8d
call qword [sym.imp.WS2_32.dll_socket]
mov qword [0x140062d78], rax
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [0x1400635ac], eax
mov word [0x1400635a8], 2
mov rcx, rdi
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]
mov word [0x1400635aa], ax
movsx ecx, byte [rsi]
movsx edi, byte [rsi + 1]
mov r15, qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
call r15
mov ebx, eax
lea r12d, [rbx - 0x3a]
mov ecx, edi
call r15
lea ecx, [rax - 0x30]
add al, 0xc9
cmp cl, 0xa
movzx eax, al
movzx ecx, cl
cmovae ecx, eax
shl ebx, 4
lea ebp, [rbx + 0x90]
cmp r12b, 0xf6
cmovae ebp, ebx
add ebp, ecx
movsx ecx, byte [rsi + 2]
movsx edi, byte [rsi + 3]
call r15
lea ecx, [rax - 0x30]
add al, 0xc9
cmp cl, 0xa
movzx eax, al
movzx ebx, cl
cmovae ebx, eax
mov ecx, edi
call r15
lea ecx, [rax - 0x30]
add al, 0xc9
cmp cl, 0xa
movzx eax, al
movzx ecx, cl
cmovae ecx, eax
movzx r12d, bl
movzx ebx, cl
movsx ecx, byte [rsi + 4]
movsx edi, byte [rsi + 5]
call r15
lea ecx, [rax - 0x30]
add al, 0xc9
cmp cl, 0xa
movzx eax, al
movzx r13d, cl
cmovae r13d, eax
mov ecx, edi
call r15
lea ecx, [rax - 0x30]
add al, 0xc9
cmp cl, 0xa
movzx eax, al
movzx ecx, cl
cmovae ecx, eax
movzx r13d, r13b
movzx edi, cl
movsx ecx, byte [rsi + 6]
movsx esi, byte [rsi + 7]
call r15
lea ecx, [rax - 0x30]
add al, 0xc9
cmp cl, 0xa
movzx eax, al
movzx r14d, cl
cmovae r14d, eax
mov ecx, esi
call r15
lea ecx, [rax - 0x30]
add al, 0xc9
cmp cl, 0xa
movzx eax, al
movzx ecx, cl
cmovae ecx, eax
movzx eax, r14b
shl eax, 4
movzx ecx, cl
add ecx, eax
shl ebp, 0x18
shl r12d, 0x14
shl ebx, 0x10
add ebx, r12d
or ebx, ebp
shl r13d, 0xc
shl edi, 8
add edi, r13d
or edi, ecx
or edi, ebx
mov dword [0x140062d88], edi
lea rsi, [0x140062d88]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov dword [0x140062d8c], eax
movabs rax, 0xaf3c282800000000
mov qword [0x140062d90], rax
xorps xmm0, xmm0
movups xmmword [0x1400635b8], xmm0
movups xmmword [0x1400635c8], xmm0
movups xmmword [0x1400635d8], xmm0
mov qword [0x1400635e8], 0
mov qword [0x1400635f0], 0
mov dword [0x1400635f8], 0
mov rcx, qword [0x140062d78]
lea rdi, [0x1400635a8]
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x28], recvfrom
mov rdx, rsi
mov r8d, recvfrom
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_sendto]
mov ecx, reloc.WS2_32.dll_sendto
call qword [sym.imp.KERNEL32.dll_Sleep]
mov dword [rsp + 0x34], recvfrom
mov rcx, qword [0x140062d78]
lea rax, [rsp + 0x34]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea rdx, [0x140063198]
mov r8d, 0x400
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_recvfrom]
test eax, eax
js 0x140006c59
mov eax, dword [0x1400631a4]
mov ebp, 0xffffdcdc
cmp eax, dword [0x140062d94]
jne 0x140006c5e
mov eax, dword [0x1400631a0]
xor ecx, ecx
cmp eax, dword [0x140062d90]
mov ebp, 0xffffdcdd
cmove ebp, ecx
jmp 0x140006c5e
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov qword [0x140062d78], 0xffffffffffffffff
mov ebp, 0xffffdcd9
jmp 0x140006c5e
mov ebp, 0xffffdcdb
mov rcx, qword [rsp + 0x1d0]
xor rcx, rsp
call fcn.14003af70
mov eax, ebp
add rsp, 0x1d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret