Function at 0x14012d180
Capabilities:
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
push rbx
push rbp
push rdi
sub rsp, 0x240
mov rax, qword [0x14018c010]
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.WSOCK32.dll_WSAStartup]
test eax, eax
je 0x14012d1c4
mov eax, 0xffffdcd8
jmp 0x14012d404
movzx eax, word [rsp + 0x40]
cmp al, 1
jne 0x14012d3ee
shr ax, 8
cmp al, 1
jne 0x14012d3ee
mov qword [rsp + 0x238], rsi
xor ecx, ecx
mov qword [rsp + 0x230], r14
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.WSOCK32.dll_socket]
mov rcx, rbx
mov qword [0x140195438], rax
call qword [sym.imp.WSOCK32.dll_inet_addr]
mov rcx, rdi
mov word [0x140195c80], si
mov dword [0x140195c84], eax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov ecx, eax
call qword [sym.imp.WSOCK32.dll_htons]
xorps xmm0, xmm0
mov word [0x140195c82], ax
xor esi, esi
lea r14, [rsp + 0x1e0]
movups xmmword [rsp + 0x1e0], xmm0
nop word [rax + rax]
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 0x14012d260
mov eax, dword [rsp + 0x1e0]
mov r14, qword [rsp + 0x230]
mov rsi, qword [rsp + 0x238]
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 [0x140195440], eax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov rcx, qword [0x140195438]
lea rbx, [0x140195c80]
xorps xmm0, xmm0
mov dword [0x140195444], eax
xor eax, eax
mov dword [rsp + 0x28], recvfrom
xor r9d, r9d
mov dword [0x140195448], 0
lea rdx, [0x140195440]
mov dword [0x14019544c], 0xaf3c2828
movups xmmword [0x140195400], xmm0
lea r8d, [rax + 0x10]
mov qword [0x140195430], rax
movups xmmword [0x140195410], xmm0
mov qword [0x140195850], rax
movups xmmword [0x140195420], xmm0
mov dword [0x140195858], eax
mov qword [rsp + 0x20], rbx
call qword [sym.imp.WSOCK32.dll_sendto]
mov ecx, reloc.WSOCK32.dll_sendto
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [0x140195438]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, [0x140195860]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
mov r8d, 0x400
mov dword [rsp + 0x30], recvfrom
call qword [sym.imp.WSOCK32.dll_recvfrom]
test eax, eax
jns 0x14012d3bd
mov eax, 0xffffdcdb
jmp 0x14012d404
mov eax, dword [0x14019544c]
cmp dword [0x14019586c], eax
je 0x14012d3d2
mov eax, 0xffffdcdc
jmp 0x14012d404
mov ecx, dword [0x140195448]
mov edx, 0xffffdcdd
cmp dword [0x140195868], ecx
mov eax, dword [0x140195864]
cmovne eax, edx
jmp 0x14012d404
call qword [sym.imp.WSOCK32.dll_WSACleanup]
mov eax, 0xffffdcd9
mov qword [0x140195438], 0xffffffffffffffff
mov rcx, qword [rsp + 0x220]
xor rcx, rsp
call fcn.140130030
add rsp, 0x240
pop rdi
pop rbp
pop rbx
ret