Function at 0x1400d3c90
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
xor r12d, r12d
mov ebp, r12d
mov r8, qword [0x14024ebf8]
cmp dword [r8 + 0x5f40], r12d
jle 0x1400d4070
movabs r11, 0xcbf29ce484222325
movabs r10, 0x100000001b3
mov r13d, 0x4080
nop dword [rax + rax]
mov esi, r12d
cmp dword [r8 + 0x5f44], r12d
jle 0x1400d4061
mov edx, dword [r8 + 0x5f40]
mov ecx, edx
imul ecx, esi
add ecx, ebp
cmp ecx, 0xffffffff
jle 0x1400d3d3d
mov r15, qword [r8 + 0x5f4c]
mov rax, qword [r8 + 0x5f54]
sub rax, r15
sar rax, 3
movsxd r9, ecx
cmp r9, rax
jae 0x1400d3d3d
cmp ebp, 0xffffffff
jle 0x1400d3d3d
cmp ebp, edx
jge 0x1400d3d3d
cmp esi, 0xffffffff
jle 0x1400d3d3d
cmp esi, dword [r8 + 0x5f44]
jge 0x1400d3d3d
mov r15, qword [r15 + r9*8]
jmp 0x1400d3d40
mov r15, r12
movzx edx, word [r15]
movzx ecx, dl
xor rcx, r11
imul rcx, r10
mov eax, edx
shr rax, 8
xor rcx, rax
imul rcx, r10
mov eax, edx
shr rax, 0x10
xor rcx, rax
imul rcx, r10
mov eax, edx
shr rax, 0x18
xor rcx, rax
imul rcx, r10
and rcx, qword [0x140236b60]
shl rcx, 4
add rcx, qword [0x140236b48]
mov rax, qword [rcx + 8]
cmp rax, qword [0x140236b38]
je 0x1400d3db0
mov rcx, qword [rcx]
cmp edx, dword [rax + 0x10]
je 0x1400d3db3
nop dword [rax]
cmp rax, rcx
je 0x1400d3db0
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x1400d3da0
jmp 0x1400d3db3
mov rax, r12
mov rcx, qword [0x140236b38]
test rax, rax
cmovne rcx, rax
cmp byte [rcx + 0x78], 3
jne 0x1400d4052
movzx eax, byte [r15 + 6]
cmp word [r15 + 9], 0
jne 0x1400d3eec
test al, al
lea rax, [r15 + 7]
jns 0x1400d3dea
movzx ecx, r13w
jmp 0x1400d3def
mov ecx, 0x2000
mov word [rax], cx
mov ecx, 0x41
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm0
mov byte [rdi + 0x40], al
mov byte [rdi], 5
mov dword [rdi + 0x2c], ebp
mov dword [rdi + 0x30], esi
mov dword [rdi + 4], 0xffffffff
or dword [rdi + 0xc], 8
lea ecx, [rax + 0x14]
call fcn.140196c00
mov rbx, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1400d3e66
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], r12d
mov qword [rax + 0xc], 8
mov ecx, 8
call fcn.1401972f0
mov qword [rbx], rax
xor ecx, ecx
mov qword [rax], rcx
jmp 0x1400d3e69
mov rbx, r12
mov edx, dword [rbx + 8]
mov rcx, qword [rbx]
movzx eax, word [r15]
mov word [rdx + rcx], ax
add dword [rbx + 8], 2
mov edx, dword [rbx + 8]
mov rcx, qword [rbx]
movzx eax, word [r15 + 2]
mov word [rdx + rcx], ax
add dword [rbx + 8], 2
mov edx, dword [rbx + 8]
mov rcx, qword [rbx]
movzx eax, word [r15 + 4]
mov word [rdx + rcx], ax
add dword [rbx + 8], 2
mov r8d, dword [rbx + 8]
mov rdx, qword [rbx]
movzx eax, word [r15 + 7]
mov word [r8 + rdx], ax
add dword [rbx + 8], 2
mov r8d, dword [rbx + 8]
lea rcx, [rdi + 0x38]
mov rdx, qword [rbx]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rbx + 8]
mov dword [rdi + 0x34], eax
mov rcx, qword [rbx]
call fcn.140196c3c
mov edx, reloc.WS2_32.dll_sendto
mov rcx, rbx
call fcn.140196c3c
mov eax, dword [rdi + 0x34]
mov r9, rdi
jmp 0x1400d4012
test al, al
lea rax, [r15 + 7]
jns 0x1400d3efa
movzx ecx, r13w
jmp 0x1400d3eff
mov ecx, 0x2000
mov word [rax], cx
mov ecx, 0x43
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm0
mov word [rbx + 0x40], ax
mov byte [rbx + 0x42], al
mov byte [rbx], 5
mov dword [rbx + 0x2c], ebp
mov dword [rbx + 0x30], esi
mov dword [rbx + 4], 0xffffffff
or dword [rbx + 0xc], 8
lea ecx, [rax + 0x14]
call fcn.140196c00
mov rdi, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400d3f7e
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], r12d
mov qword [rax + 0xc], 0xa
mov ecx, 0xa
call fcn.1401972f0
mov qword [rdi], rax
xor ecx, ecx
mov qword [rax], rcx
mov word [rax + 8], cx
jmp 0x1400d3f81
mov rdi, r12
mov edx, dword [rdi + 8]
mov rcx, qword [rdi]
movzx eax, word [r15]
mov word [rdx + rcx], ax
add dword [rdi + 8], 2
mov edx, dword [rdi + 8]
mov rcx, qword [rdi]
movzx eax, word [r15 + 2]
mov word [rdx + rcx], ax
add dword [rdi + 8], 2
mov edx, dword [rdi + 8]
mov rcx, qword [rdi]
movzx eax, word [r15 + 4]
mov word [rdx + rcx], ax
add dword [rdi + 8], 2
mov edx, dword [rdi + 8]
mov rcx, qword [rdi]
movzx eax, word [r15 + 7]
mov word [rdx + rcx], ax
add dword [rdi + 8], 2
mov r8d, dword [rdi + 8]
mov rdx, qword [rdi]
movzx eax, word [r15 + 9]
mov word [r8 + rdx], ax
add dword [rdi + 8], 2
mov r8d, dword [rdi + 8]
lea rcx, [rbx + 0x38]
mov rdx, qword [rdi]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rdi + 8]
mov dword [rbx + 0x34], eax
mov rcx, qword [rdi]
call fcn.140196c3c
mov edx, reloc.WS2_32.dll_sendto
mov rcx, rdi
call fcn.140196c3c
mov eax, dword [rbx + 0x34]
mov r9, rbx
mov dword [rsp + 0x28], 1
add rax, 0x39
mov qword [rsp + 0x20], rax
mov r8d, 4
mov dl, 1
mov rcx, qword [0x14024ebf8]
call fcn.14012e9a0
movabs r11, 0xcbf29ce484222325
movabs r10, 0x100000001b3
mov r8, qword [0x14024ebf8]
inc esi
cmp esi, dword [r8 + 0x5f44]
jl 0x1400d3cf0
inc ebp
cmp ebp, dword [r8 + 0x5f40]
jl 0x1400d3ce0
mov rbx, qword [rsp + 0x80]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret