Function at 0x140017060
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
movdqa xmmword [rsp + 0xf0], xmm8
movdqa xmmword [rsp + 0xe0], xmm7
movdqa xmmword [rsp + 0xd0], xmm6
mov rax, qword [0x1400f5980]
xor rax, rsp
mov qword [rsp + 0xc8], rax
movsxd rax, dword [rcx + 0x3c]
mov r11d, dword [rax + rcx + 0x88]
mov r13d, dword [r11 + rcx + 0x1c]
add r13, rcx
mov r9d, dword [r11 + rcx + 0x24]
add r9, rcx
cmp rdx, 0x10000
jae 0x1400170d8
movzx eax, word [r9 + rdx*2]
mov ebx, dword [r13 + rax*4]
add rbx, rcx
jmp 0x14001718c
lea r8, [r11 + rcx]
mov r10d, dword [r8 + 0x18]
test r10, r10
je 0x14001718a
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], rax
mov r11d, dword [r11 + rcx + 0x20]
add r11, rcx
movabs rbp, 0x100000001b3
xor r14d, r14d
nop dword [rax + rax]
mov edi, dword [r11 + r14*4]
mov rax, rcx
add rdi, rcx
mov r15, 0xffffffffffffffff
nop word cs:[rax + rax]
cmp byte [rdi + r15 + 1], 0
lea r15, [r15 + 1]
jne 0x140017130
movabs rbx, 0xcbf29ce484222325
mov rsi, rbx
test r15, r15
je 0x14001717a
xor r12d, r12d
nop word cs:[rax + rax]
movzx esi, byte [rdi + r12]
xor rsi, rbx
imul rsi, rbp
inc r12
mov r8d, r12d
mov rbx, rsi
cmp r15, r8
ja 0x140017160
cmp rsi, rdx
je 0x1400171cc
inc r14
cmp r14, r10
mov rcx, rax
jne 0x140017110
xor ebx, ebx
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.14009adb0
mov rax, rbx
movaps xmm6, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx edx, word [r9 + r14*2]
mov ebx, dword [r13 + rdx*4]
add rbx, rax
mov rcx, qword [rsp + 0x38]
cmp rbx, rcx
jb 0x14001718c
mov rsi, rax
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + rsi + 0x8c]
add rcx, rax
cmp rbx, rcx
ja 0x14001718c
pxor xmm0, xmm0
movdqa xmmword [rsp + 0xa0], xmm0
movdqa xmmword [rsp + 0x90], xmm0
mov rcx, rbx
call fcn.1400af490
test rax, rax
js 0x140017e4d
mov r14, rax
cmp rax, 0xf
ja 0x14001725d
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xa8], recvfrom
lea rcx, [rsp + 0x90]
mov rdx, rbx
mov r8, r14
call fcn.1400ca7f0
add r14, rsp
add r14, 0x90
jmp 0x1400172c9
mov rax, r14
or rax, 0xf
cmp rax, 0x17
mov r12d, 0x16
cmovae r12, rax
cmp r12, 0xfff
jb 0x140017293
lea rcx, [r12 + 0x28]
call fcn.14009ad20
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x1400172a0
lea rcx, [r12 + 1]
call fcn.14009ad20
mov r15, rax
mov qword [rsp + 0x90], r15
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xa8], r12
mov rcx, r15
mov rdx, rbx
mov r8, r14
call fcn.1400ca7f0
add r14, r15
mov byte [r14], 0
mov r14, qword [rsp + 0xa0]
test r14, r14
je 0x140017908
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x30], rcx
cmp rcx, 0x10
lea r15, [rsp + 0x90]
mov r12, r15
mov qword [rsp + 0x38], rax
cmovae r12, rax
mov rcx, r12
mov edx, 0x2e
mov r8, r14
call fcn.1400ca650
xor ebx, ebx
test rax, rax
je 0x14001790a
mov r13, rax
sub r13, r12
cmp r13, 0xffffffffffffffff
je 0x14001790a
mov rcx, r12
mov edx, 0x2d
mov r8, r14
call fcn.1400ca650
test rax, rax
je 0x14001795a
sub rax, r12
cmp rax, 0xffffffffffffffff
je 0x14001795a
movabs rax, 0xb531351e597fad8a
movabs rcx, 0xc0a309a3badccce7
movq xmm0, rcx
movq xmm1, rax
punpcklqdq xmm1, xmm0
pxor xmm1, xmmword [0x1400f6af0]
movq rax, xmm1
mov r9, rax
shl r9, 0xc
pshufd xmm0, xmm1, 0xee
movq rdx, xmm0
mov rcx, rdx
shr rcx, 8
mov r10d, r9d
and r10d, 0xf00f0000
mov r13, rsi
movabs rsi, 0xf0000000f00
and rcx, rsi
mov r11d, eax
and r11d, 0xf00000
shl r11, 0x10
mov r15, rdx
shl r15, 8
movabs rbx, 0xf000000000000
and r15, rbx
mov r8, rax
shr r8, 0x38
movabs r14, 0xf00000000000
and r9, r14
mov r12, rdx
shl r12, 0x3c
or r12, rcx
or r12, r10
or r12, r11
or r12, r15
mov rcx, rdx
shr rcx, 0x14
mov r10, rax
shr r10, 0x28
and r10d, 0xf
and r8d, 0xfffffff0
or r8, r12
or r8, r9
mov r9d, edx
and r9d, 0xf00000
shl r9, 0x20
mov r11, rax
shr r11, 0x18
and r11d, 0xf000000
shr rax, 0x24
and eax, 0xf00000
and edx, 0xf00
shl rdx, 0x30
movabs r15, 0xf0000f000
and rcx, r15
or rcx, r10
or rcx, r9
or rcx, r11
or rcx, rax
or rcx, rdx
or rcx, r8
not rcx
movabs rdx, 0x578960f1fc7fff25
call fcn.140017060
mov r8, rax
movabs rax, 0x5c4d12f947bd853
movabs rcx, 0xf14a21a5abe6d649
movq xmm0, rcx
movq xmm2, rax
punpcklqdq xmm2, xmm0
xor eax, eax
not rax
movq xmm1, rax
pshufd xmm0, xmm1, 0x44
movabs rax, 0x2556ed8b6b8427ac
movabs rcx, 0xeb51d01227c2986
movq xmm3, rcx
movq xmm4, rax
punpcklqdq xmm4, xmm3
pxor xmm4, xmm2
pandn xmm4, xmm0
pshufd xmm2, xmm4, 0xee
movq rax, xmm2
movq rcx, xmm4
shl ecx, 0x10
movzx eax, ax
mov r9, qword gs:[rcx + rax]
rdtsc
shl rdx, 0x20
or rdx, rax
movabs rax, 0xddf466968c7e60e2
movabs rcx, 0xc50a4a93f4987797
movq xmm2, rcx
movq xmm3, rax
punpcklqdq xmm3, xmm2
movabs rax, 0x279f4be973819f1d
movabs rcx, 0x3af567ec2cf2886a
movq xmm2, rcx
movq xmm4, rax
punpcklqdq xmm4, xmm2
pxor xmm4, xmm3
pandn xmm4, xmm0
pshufd xmm2, xmm4, 0xee
movq rcx, xmm2
movq rax, xmm4
mov r10d, eax
shl r10, 0x10
movabs rax, 0xffff00000000ffff
and rcx, rax
or rcx, r10
imul rcx, rdx
movq xmm2, rcx
movq xmm3, rdx
pshufd xmm4, xmm3, 0x44
punpcklqdq xmm3, xmm2
movabs rcx, 0xc89e012b9fea780f
movabs rdx, 0xafe1eb9d9ae15141
movq xmm2, rdx
movq xmm5, rcx
punpcklqdq xmm5, xmm2
movabs rcx, 0x3845cf9b601587f0
movabs rdx, 0x501e252dab5aaebd
movq xmm6, rdx
movq xmm2, rcx
punpcklqdq xmm2, xmm6
pxor xmm2, xmm5
pandn xmm2, xmm0
movabs rcx, 0x26725e642a0d8960
movabs rdx, 0x7b9be4ef1e6aa193
movq xmm5, rdx
movq xmm6, rcx
punpcklqdq xmm6, xmm5
movabs rcx, 0xb5b62281d5f2769f
movabs rdx, 0x8464980a047e5e68
movq xmm5, rdx
movq xmm7, rcx
punpcklqdq xmm7, xmm5
pxor xmm7, xmm6
pandn xmm7, xmm0
movabs rcx, 0xcad9f2f6a08e31c2
movabs rdx, 0x98efecd3c3e9fe57
movq xmm5, rdx
movq xmm6, rcx
punpcklqdq xmm6, xmm5
movabs rcx, 0x23a419295f7131c2
movabs rdx, 0x6710070c7923fe57
movq xmm5, rdx
movq xmm8, rcx
punpcklqdq xmm8, xmm5
pxor xmm8, xmm6
pandn xmm8, xmm0
pshufd xmm5, xmm8, 0xee
movq rcx, xmm5
movq rdx, xmm8
shl edx, 0x10
movzx r10d, cx
or r10d, edx
movabs rcx, 0x4b315649de6168dd
movq xmm5, rcx
movabs rcx, 0xb4ce880fd9d19702
movq xmm6, rcx
pxor xmm6, xmm5
pandn xmm6, xmm1
movq rcx, xmm6
movq xmm1, r8
shr r8, cl
movdqa xmm5, xmm2
punpcklqdq xmm5, xmm7
psllq xmm5, 0x10
punpckhqdq xmm2, xmm7
movdqa xmm6, xmmword [section..rdata]
pand xmm5, xmm6
pandn xmm6, xmm2
por xmm6, xmm5
movdqa xmm2, xmm4
psrlq xmm2, 0x20
pmuludq xmm2, xmm6
movdqa xmm5, xmm6
psrlq xmm5, 0x20
pmuludq xmm5, xmm4
paddq xmm5, xmm2
psllq xmm5, 0x20
pmuludq xmm6, xmm4
paddq xmm6, xmm5
movd xmm2, r10d
pshufd xmm2, xmm2, 0x44
movq xmm4, r8
punpcklqdq xmm1, xmm4
pand xmm6, xmmword [0x1400cc030]
pand xmm1, xmm2
por xmm6, xmm1
pxor xmm6, xmm3
movabs rcx, 0x79fef7bdfd9b1761
movabs rdx, 0x1e36a316e494885
movq xmm1, rdx
movq xmm2, rcx
punpcklqdq xmm2, xmm1
movabs rcx, 0xbe0247870264e89e
movabs rdx, 0xfe1cda0bb295b6fa
movq xmm1, rdx
movq xmm4, rcx
punpcklqdq xmm4, xmm1
pxor xmm4, xmm2
pandn xmm4, xmm0
pshufd xmm1, xmm4, 0xee
movq rcx, xmm1
movq rdx, xmm4
mov edx, edx
shl rdx, 0x10
and rcx, rax
add rcx, r9
movdqu xmmword [rdx + rcx], xmm6
movabs rcx, 0x134b7d0ee4527aba
movabs rdx, 0x28f5ea83f82d8ec7
movq xmm1, rdx
movq xmm2, rcx
punpcklqdq xmm2, xmm1
movabs rcx, 0xbe97e6d91bad8545
movabs rdx, 0xd70a7154e40b70a8
movq xmm1, rdx
movq xmm4, rcx
punpcklqdq xmm4, xmm1
pxor xmm4, xmm2
pandn xmm4, xmm0
pshufd xmm0, xmm4, 0xee
movq rcx, xmm0
movq rdx, xmm4
mov edx, edx
shl rdx, 0x10
and rcx, rax
add rcx, r9
movdqu xmmword [rdx + rcx], xmm3
movabs rax, 0xd4f682335f5a9e37
movabs rcx, 0x7fb30e6d5b090811
movq xmm0, rcx
movq xmm1, rax
punpcklqdq xmm1, xmm0
pxor xmm1, xmmword [0x1400f6b70]
movq rax, xmm1
mov r9, rax
shl r9, 0xc
pshufd xmm0, xmm1, 0xee
movq rcx, xmm0
mov r8, rcx
shr r8, 8
mov r10d, r9d
and r10d, 0xf00f0000
and r8, rsi
mov r11d, eax
and r11d, 0xf00000
shl r11, 0x10
mov rsi, rcx
shl rsi, 8
and rsi, rbx
mov rdx, rax
shr rdx, 0x38
and r9, r14
mov rbx, rcx
shl rbx, 0x3c
or rbx, r8
or rbx, r10
or rbx, r11
or rbx, rsi
mov r8, rcx
shr r8, 0x14
mov r10, rax
shr r10, 0x28
and r10d, 0xf
and edx, 0xfffffff0
or rdx, rbx
or rdx, r9
mov r9d, ecx
and r9d, 0xf00000
shl r9, 0x20
mov r11, rax
shr r11, 0x18
and r11d, 0xf000000
shr rax, 0x24
and eax, 0xf00000
and ecx, 0xf00
shl rcx, 0x30
and r8, r15
or r8, r10
or r8, r9
or r8, r11
or r8, rax
or r8, rcx
or r8, rdx
not r8
mov rcx, r13
mov rdx, rdi
call r8
mov rbx, rax
jmp 0x14001790a
xor ebx, ebx
mov rax, qword [rsp + 0xa8]
cmp rax, 0x10
jb 0x14001718c
mov rcx, qword [rsp + 0x90]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140017950
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140017e52
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.14009ad64
jmp 0x14001718c
lea rsi, [r12 + r13]
inc rsi
add r12, r14
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x80], xmm0
movdqa xmmword [rsp + 0x70], xmm0
cmp rsi, r12
je 0x1400179bc
sub r12, rsi
js 0x140017e4d
cmp r12, 0xf
ja 0x1400179d7
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x88], recvfrom
lea rcx, [rsp + 0x70]
mov rdx, rsi
mov r8, r12
call fcn.1400ca7f0
lea rdi, [rsp + r12]
add rdi, 0x70
jmp 0x140017a3e
mov qword [rsp + 0x88], recvfrom
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
jmp 0x140017a59
mov rax, r12
or rax, 0xf
cmp rax, 0x17
mov r14d, 0x16
cmovae r14, rax
cmp r14, 0xfff
jb 0x140017a0c
lea rcx, [r14 + 0x28]
call fcn.14009ad20
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140017a18
lea rcx, [r14 + 1]
call fcn.14009ad20
mov rdi, rax
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x88], r14
mov rcx, rdi
mov rdx, rsi
mov r8, r12
call fcn.1400ca7f0
add rdi, r12
mov byte [rdi], 0
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x90]
mov r14, qword [rsp + 0xa0]
cmp rax, 0x10
cmovb rcx, r15
lea rax, [rcx + r14]
add rcx, r13
sub rax, rcx
mov rdx, r14
sub rdx, r13
cmp rdx, rax
cmovae rdx, rax
sub r14, rdx
mov r8, r14
sub r8, r13
inc r8
add rdx, rcx
call fcn.1400ca7f0
mov qword [rsp + 0xa0], r14
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xa8]
movabs rax, 0xdb1b876997187253
mov qword [rsp + 0x60], rax
movabs rax, 0x1d25a3d20a02e32e
mov qword [rsp + 0x68], rax
movabs rcx, 0xdb1b8769fb74167d
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], rax
lea rax, [rsp + 0xb0]
movdqu xmm0, xmmword [rax]
pxor xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x60]
call fcn.1400af490
mov rcx, rsi
sub rcx, r14
cmp rcx, rax
jae 0x140017b25
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x90]
lea r9, [rsp + 0x60]
mov rdx, rax
call fcn.140003a90
jmp 0x140017b52
cmp rsi, 0x10
cmovb rdi, r15
mov rsi, rax
add rsi, r14
mov qword [rsp + 0xa0], rsi
add r14, rdi
lea rdx, [rsp + 0x60]
mov rcx, r14
mov r8, rax
call fcn.1400ca7f0
mov byte [rdi + rsi], 0
mov rdi, qword [rsp + 0xa0]
cmp qword [rsp + 0xa8], 0x10
jb 0x140017b6d
mov r15, qword [rsp + 0x90]
test rdi, rdi
je 0x140017b8a
xor esi, esi
movsx ecx, byte [r15 + rsi]
call fcn.1400b3418
mov byte [r15 + rsi], al
inc rsi
cmp rdi, rsi
jne 0x140017b74
mov r14, qword [rsp + 0x88]
cmp r14, 0x10
jb 0x140017b9f
mov rax, qword [rsp + 0x70]
jmp 0x140017ba4
lea rax, [rsp + 0x70]
mov rcx, 0xffffffffffffffff
cmp byte [rax + rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x140017bab
test rcx, rcx
je 0x140017be2
xor edx, edx
movabs r9, 0xcbf29ce484222325
movzx edi, byte [rax + rdx]
xor rdi, r9
imul rdi, rbp
inc rdx
mov r8d, edx
mov r9, rdi
cmp rcx, r8
ja 0x140017bc7
jmp 0x140017bec
movabs rdi, 0xcbf29ce484222325
mov rsi, qword [rsp + 0xa0]
cmp qword [rsp + 0xa8], 0x10
jb 0x140017c09
mov rbx, qword [rsp + 0x90]
jmp 0x140017c11
lea rbx, [rsp + 0x90]
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmmword [rsp + 0x50], xmm0
test rsi, rsi
je 0x140017c9a
movabs rax, 0x7ffffffffffffffe
mov qword [rsp + 0x58], 7
cmp rsi, rax
ja 0x140017e4d
cmp rsi, 8
jb 0x140017ca8
mov rcx, rsi
or rcx, 7
cmp rcx, rax
ja 0x140017e57
cmp rcx, 0xb
mov r14d, 0xa
cmovae r14, rcx
lea rcx, [r14 + r14]
cmp r14, 0x7ff
jb 0x140017caf
add rax, 0xffffffffffffffee
cmp r14, rax
jae 0x140017e57
add rcx, 0x29
call fcn.14009ad20
mov rcx, rax
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140017cb8
mov qword [rsp + 0x58], 7
jmp 0x140017df4
lea rax, [rsp + 0x40]
jmp 0x140017cc2
add rcx, 2
call fcn.14009ad20
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x58], r14
cmp rsi, 0x10
jb 0x140017ce2
lea rcx, [rbx + rsi]
cmp rax, rcx
jae 0x140017d8c
lea rcx, [rax + rsi*2]
cmp rbx, rcx
jae 0x140017d8c
mov rcx, rbx
mov rdx, rsi
mov r8, rax
lea r9, [rdx - 1]
mov r11, rdx
and r11, 7
je 0x140017d16
xor r10d, r10d
movsx ebx, byte [rcx + r10]
mov word [r8], bx
add r8, 2
inc r10
cmp r11, r10
jne 0x140017cfb
add rcx, r10
sub rdx, r10
cmp r9, 7
jb 0x140017de1
xor r9d, r9d
movsx r10d, byte [rcx + r9]
mov word [r8 + r9*2], r10w
movsx r10d, byte [rcx + r9 + 1]
mov word [r8 + r9*2 + 2], r10w
movsx r10d, byte [rcx + r9 + 2]
mov word [r8 + r9*2 + 4], r10w
movsx r10d, byte [rcx + r9 + 3]
mov word [r8 + r9*2 + 6], r10w
movsx r10d, byte [rcx + r9 + 4]
mov word [r8 + r9*2 + 8], r10w
movsx r10d, byte [rcx + r9 + 5]
mov word [r8 + r9*2 + 0xa], r10w
movsx r10d, byte [rcx + r9 + 6]
mov word [r8 + r9*2 + 0xc], r10w
movsx r10d, byte [rcx + r9 + 7]
mov word [r8 + r9*2 + 0xe], r10w
add r9, 8
cmp rdx, r9
jne 0x140017d23
jmp 0x140017de1
mov r9, rsi
and r9, 0xfffffffffffffff0
lea rcx, [rbx + r9]
mov edx, esi
and edx, 0xf
lea r8, [rax + r9*2]
xor r10d, r10d
movq xmm0, qword [rbx + r10]
punpcklbw xmm0, xmm0
movq xmm1, qword [rbx + r10 + 8]
punpcklbw xmm1, xmm1
psraw xmm0, 8
psraw xmm1, 8
movdqu xmmword [rax + r10*2], xmm0
movdqu xmmword [rax + r10*2 + 0x10], xmm1
add r10, 0x10
cmp r9, r10
jne 0x140017da3
cmp rsi, r9
jne 0x140017ceb
mov qword [rsp + 0x50], rsi
mov word [rax + rsi*2], 0
mov r14, qword [rsp + 0x88]
lea rcx, [rsp + 0x40]
call fcn.140016270
mov rcx, rax
mov rdx, rdi
call fcn.140017060
mov rbx, rax
cmp r14, 0x10
jb 0x14001790a
mov rcx, qword [rsp + 0x70]
lea rdx, [r14 + 1]
cmp rdx, 0x1000
jb 0x140017e43
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140017e52
add r14, 0x28
mov rdx, r14
mov rcx, rax
call fcn.14009ad64
jmp 0x14001790a
call fcn.140002dd0
call fcn.1400a96e8
call fcn.140002df0
int3