Function at 0x14001b5f0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1b8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x120], xmm6
mov qword [rbp + 0x118], 0xfffffffffffffffe
mov rsi, r9
mov r12, rdx
mov r13, rcx
lea rax, vtable._ODI0.0
mov qword [rbp + 0x10], rax
lea rdx, [rbp + 0x18]
mov qword [rbp + 0x18], 0
movaps xmm6, xmmword [section..rdata]
movups xmmword [rbp + 0x28], xmm6
mov byte [rbp + 0x18], 0
mov qword [rbp + 0x38], 0
movups xmmword [rbp + 0x48], xmm6
mov byte [rbp + 0x38], 0
mov rcx, r9
call fcn.140035290
mov rcx, rsi
lea rdx, [rbp + 0x38]
call fcn.140035290
mov rax, qword [rbp + 0x18]
mov r14, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x30]
cmp rcx, 0x10
lea rdx, [rbp + 0x18]
mov rbx, rdx
cmovae rbx, rax
cmp r14, 0xf
ja 0x14001b6a7
cmp rcx, 0x10
mov rsi, qword [rbx]
cmovb rax, rdx
mov r15, qword [rax + 8]
mov edi, send
jmp 0x14001b6fd
mov rdi, r14
or rdi, 0xf
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
cmovae rdi, rax
cmp rdi, 0xfff
jb 0x14001b6e2
lea rcx, [rdi + 0x28]
call fcn.1400ad850
mov rsi, rax
add rsi, 0x27
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14001b6ee
lea rcx, [rdi + 1]
call fcn.1400ad850
mov rsi, rax
lea r8, [r14 + 1]
mov rcx, rsi
mov rdx, rbx
call fcn.1401d4a60
lea rax, [r13 + 0x18]
mov qword [rbp + 0xe8], rax
mov rax, qword [r13 + 0x30]
cmp rax, 0x10
jb 0x14001b74d
mov rcx, qword [rbp + 0xe8]
mov rcx, qword [rcx]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14001b748
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x14001c035
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1400ad894
mov qword [r13 + 0x18], rsi
mov qword [r13 + 0x20], r15
mov qword [r13 + 0x28], r14
mov qword [r13 + 0x30], rdi
movabs rax, 0x4bb9c46211ad7617
mov qword [rbp + 0xf0], rax
movabs rax, 0x969a632f01c2a30d
mov qword [rbp + 0xf8], rax
movabs rax, 0x3aa8fd99307a5427
mov qword [rbp + 0x100], rax
movabs r14, 0xc9319614891271d0
mov qword [rbp + 0x108], r14
movabs rax, 0x2ef4b60762f80259
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0x90], rax
movabs r15, 0xfafb204a66a3d07e
mov qword [rbp + 0x98], r15
movabs rax, 0x3aa8fd99307a544b
mov qword [rbp + 0x88], rax
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], r14
lea rdi, [rbp + 0x90]
mov rax, rdi
movups xmm0, xmmword [rax]
xorps xmm0, xmmword [rbp + 0xf0]
movaps xmmword [rbp + 0xf0], xmm0
movups xmm0, xmmword [rax + 0x10]
xorps xmm0, xmmword [rbp + 0x100]
movaps xmmword [rbp + 0x100], xmm0
mov qword [rbp - 0x10], 0
movups xmmword [rbp], xmm6
mov byte [rbp - 0x10], 0
lea rcx, [rbp + 0xf0]
call fcn.1401ed780
mov rsi, rax
cmp rax, 0xf
jbe 0x14001b86c
test rsi, rsi
js 0x14001c03a
mov rax, rsi
or rax, 0xf
js 0x14001b88a
cmp rax, 0x17
mov edi, reloc.WS2_32.dll_shutdown
cmovae rdi, rax
lea rcx, [rdi + 1]
cmp rdi, 0xfff
jb 0x14001b8b8
mov rdi, rax
jmp 0x14001b89e
mov qword [rbp], rsi
lea rcx, [rbp - 0x10]
lea rdx, [rbp + 0xf0]
mov r8, rsi
call fcn.1401d4a60
mov byte [rbp + rsi - 0x10], 0
jmp 0x14001b8e9
movabs rcx, 0x8000000000000000
movabs rdi, 0x7fffffffffffffff
add rcx, 0x27
call fcn.1400ad850
mov rbx, rax
add rbx, 0x27
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x14001b8c0
call fcn.1400ad850
mov rbx, rax
mov qword [rbp], rsi
mov qword [rbp + 8], rdi
lea rdx, [rbp + 0xf0]
mov rcx, rbx
mov r8, rsi
call fcn.1401d4a60
mov byte [rbx + rsi], 0
mov qword [rbp - 0x10], rbx
lea rdi, [rbp + 0x90]
movabs rax, 0x2ef4c33551966b2e
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], r15
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], r15
mov rax, rdi
movups xmm0, xmmword [rax]
xorps xmm0, xmmword [rbp + 0x70]
movaps xmmword [rbp + 0x70], xmm0
mov qword [rbp - 0x30], 0
movups xmmword [rbp - 0x20], xmm6
mov byte [rbp - 0x30], 0
lea rcx, [rbp + 0x70]
call fcn.1401ed780
mov rsi, rax
cmp rax, 0xf
jbe 0x14001b971
test rsi, rsi
js 0x14001c03f
mov rax, rsi
or rax, 0xf
js 0x14001b98c
cmp rax, 0x17
mov edi, reloc.WS2_32.dll_shutdown
cmovae rdi, rax
lea rcx, [rdi + 1]
cmp rdi, 0xfff
jb 0x14001b9c1
mov rdi, rax
jmp 0x14001b9a0
mov qword [rbp - 0x20], rsi
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x70]
mov r8, rsi
call fcn.1401d4a60
mov byte [rbp + rsi - 0x30], 0
jmp 0x14001b9ef
movabs rcx, 0x8000000000000000
movabs rdi, 0x7fffffffffffffff
add rcx, 0x27
mov byte [rbp + 0x117], 1
call fcn.1400ad850
mov rbx, rax
add rbx, 0x27
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x14001b9d0
mov byte [rbp + 0x117], 1
call fcn.1400ad850
mov rbx, rax
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], rdi
lea rdx, [rbp + 0x70]
mov rcx, rbx
mov r8, rsi
call fcn.1401d4a60
mov byte [rbx + rsi], 0
mov qword [rbp - 0x30], rbx
mov byte [rbp + 0x117], 0
lea rcx, [rbp - 0x30]
lea rdx, [rbp - 0x10]
call fcn.1400059c0
mov rsi, rax
test rax, rax
je 0x14001c02b
mov rcx, rsi
call fcn.140005b30
test al, al
je 0x14001c02b
mov rax, qword [0x1402c00a0]
mov qword [rax + 8], rsi
mov rax, r13
mov r13, qword [r13 + 0x28]
mov qword [rbp + 0x58], rax
cmp qword [rax + 0x30], 0x10
mov rbx, qword [rbp + 0xe8]
jb 0x14001ba4b
mov rax, qword [rbp + 0x58]
mov rbx, qword [rax + 0x18]
test r13, r13
mov qword [rbp - 0x38], r12
mov qword [rbp + 0x60], r14
je 0x14001ba81
lea rax, [r13 - 1]
mov r8d, r13d
and r8d, 3
movabs rcx, 0x100000001b3
cmp rax, 3
jae 0x14001ba8d
movabs rax, 0xcbf29ce484222325
xor edx, edx
jmp 0x14001bad8
movabs rdi, 0xcbf29ce484222325
jmp 0x14001bb07
mov rsi, r13
and rsi, 0xfffffffffffffffc
movabs rax, 0xcbf29ce484222325
xor edx, edx
movzx edi, byte [rbx + rdx]
xor rdi, rax
imul rdi, rcx
movzx eax, byte [rbx + rdx + 1]
xor rax, rdi
imul rax, rcx
movzx edi, byte [rbx + rdx + 2]
xor rdi, rax
imul rdi, rcx
movzx eax, byte [rbx + rdx + 3]
xor rax, rdi
imul rax, rcx
add rdx, 4
cmp rsi, rdx
jne 0x14001baa0
mov rdi, rax
test r8, r8
je 0x14001bb07
add rdx, rbx
xor esi, esi
nop word cs:[rax + rax]
nop
movzx edi, byte [rdx + rsi]
xor rdi, rax
imul rdi, rcx
add rsi, 1
mov rax, rdi
cmp r8, rsi
jne 0x14001baf0
and rdi, qword [0x1402c02c0]
mov rax, qword [0x1402c02a8]
mov rcx, rdi
shl rcx, 4
mov r14, qword [rax + rcx + 8]
mov r12, qword [0x1402c0298]
cmp r14, r12
je 0x14001bb89
add rdi, rdi
mov rsi, qword [rax + rdi*8]
lea rdi, [rbp + 0x90]
cmp r13, qword [r14 + 0x20]
jne 0x14001bb73
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp qword [r14 + 0x28], 0x10
jb 0x14001bb60
mov rdx, qword [r14 + 0x10]
jmp 0x14001bb64
lea rdx, [r14 + 0x10]
mov rcx, rbx
mov r8, r13
call fcn.1401d4960
test eax, eax
je 0x14001bb93
cmp r14, rsi
je 0x14001bb84
mov r14, qword [r14 + 8]
cmp r13, qword [r14 + 0x20]
je 0x14001bb50
jmp 0x14001bb73
xor r14d, r14d
jmp 0x14001bb93
xor r14d, r14d
lea rdi, [rbp + 0x90]
test r14, r14
cmovne r12, r14
lea rbx, [r12 + 0x30]
mov rcx, rbx
call fcn.140015220
mov esi, eax
movabs rax, 0x2ef4b607628b6e3a
mov qword [rbp + 0x68], rax
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0xf8], r15
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0x90], rax
mov r14, r15
mov qword [rbp + 0x98], r15
mov rax, rdi
movups xmm0, xmmword [rax]
xorps xmm0, xmmword [rbp + 0xf0]
movaps xmmword [rbp + 0xf0], xmm0
lea rcx, [rbp + 0xf0]
call fcn.1401eec0c
cmp qword [r12 + 0x48], 0x10
mov rdx, rbx
jb 0x14001bc0d
mov rdx, qword [r12 + 0x30]
movabs r13, 0x6ca6f3573bb02202
mov qword [rbp + 0xf0], r13
movabs rax, 0xaab4001746e69e31
mov qword [rbp + 0xf8], rax
movabs rax, 0x3aa8f7ea155a1a0e
mov qword [rbp + 0x100], rax
mov rdi, qword [rbp + 0x60]
mov qword [rbp + 0x108], rdi
mov r15, qword [rbp + 0xe0]
mov qword [rbp + 0x90], r15
mov qword [rbp + 0x98], r14
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], rdi
lea r12, [rbp + 0x90]
mov rax, r12
movups xmm0, xmmword [rax]
xorps xmm0, xmmword [rbp + 0xf0]
movaps xmmword [rbp + 0xf0], xmm0
movups xmm0, xmmword [rax + 0x10]
xorps xmm0, xmmword [rbp + 0x100]
movaps xmmword [rbp + 0x100], xmm0
lea rcx, [rbp + 0xf0]
call fcn.1400040b0
test esi, esi
je 0x14001bd58
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0xf8], r14
mov qword [rbp + 0x90], r15
mov qword [rbp + 0x98], r14
mov rax, r12
movups xmm0, xmmword [rax]
xorps xmm0, xmmword [rbp + 0xf0]
movaps xmmword [rbp + 0xf0], xmm0
lea rcx, [rbp + 0xf0]
call fcn.1401eec0c
mov qword [rbp + 0xf0], r13
movabs rax, 0x95b7001746e69e31
mov qword [rbp + 0xf8], rax
movabs rax, 0x1486d3fe5e13302a
mov qword [rbp + 0x100], rax
movabs rax, 0xc9319614891271da
mov qword [rbp + 0x108], rax
mov qword [rbp + 0x90], r15
mov qword [rbp + 0x98], r14
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], rdi
jmp 0x14001be3d
mov rcx, rbx
call fcn.140015220
mov esi, eax
test eax, eax
mov r15, qword [rbp + 0x88]
jne 0x14001bd9c
mov rdi, qword [sym.imp.KERNEL32.dll_Sleep]
nop word cs:[rax + rax]
nop
mov ecx, 0xc8
call rdi
mov rcx, rbx
call fcn.140015220
test eax, eax
je 0x14001bd80
mov esi, eax
lea r12, [rbp + 0x90]
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0xf8], r14
mov rbx, qword [rbp + 0xe0]
mov qword [rbp + 0x90], rbx
mov qword [rbp + 0x98], r14
mov rax, r12
movups xmm0, xmmword [rax]
xorps xmm0, xmmword [rbp + 0xf0]
movaps xmmword [rbp + 0xf0], xmm0
lea rcx, [rbp + 0xf0]
call fcn.1401eec0c
mov qword [rbp + 0xf0], r13
movabs rax, 0x95b7001746e69e31
mov qword [rbp + 0xf8], rax
movabs rax, 0x1486d3fe5e13302a
mov qword [rbp + 0x100], rax
movabs rax, 0xc9319614891271da
mov qword [rbp + 0x108], rax
mov qword [rbp + 0x90], rbx
mov qword [rbp + 0x98], r14
mov qword [rbp + 0xa0], r15
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0xa8], rax
movups xmm0, xmmword [r12]
xorps xmm0, xmmword [rbp + 0xf0]
movaps xmmword [rbp + 0xf0], xmm0
movups xmm0, xmmword [r12 + 0x10]
xorps xmm0, xmmword [rbp + 0x100]
movaps xmmword [rbp + 0x100], xmm0
lea rcx, [rbp + 0xf0]
call fcn.1400040b0
mov eax, esi
mov rcx, qword [0x1402c00a0]
mov qword [rcx], rax
lea rax, vtable.U.tz_.0
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], 0
movups xmmword [rbp + 0xa8], xmm6
mov byte [rbp + 0x98], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0xc8], xmm0
movups xmmword [rbp + 0xb8], xmm0
mov qword [rbp - 0x60], 0
movups xmmword [rbp - 0x50], xmm0
mov rax, qword [rbp + 0x58]
mov rsi, qword [rax + 0x28]
cmp qword [rax + 0x30], 0x10
mov rbx, qword [rbp - 0x38]
jb 0x14001bede
mov rax, qword [rax + 0x18]
mov qword [rbp + 0xe8], rax
cmp rsi, 0xf
ja 0x14001bef9
mov rax, qword [rbp + 0xe8]
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x60], xmm0
mov edi, send
jmp 0x14001bf54
mov rdi, rsi
or rdi, 0xf
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
cmovae rdi, rax
cmp rdi, 0xfff
jb 0x14001bf34
lea rcx, [rdi + 0x28]
call fcn.1400ad850
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x14001bf40
lea rcx, [rdi + 1]
call fcn.1400ad850
mov rcx, rax
mov qword [rbp - 0x60], rcx
lea r8, [rsi + 1]
mov rdx, qword [rbp + 0xe8]
call fcn.1401d4a60
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x48], rdi
lea rcx, [rbp + 0x90]
lea rdx, [rbp - 0x60]
call fcn.1400184d0
lea rdx, [rbp + 0x90]
mov rcx, rbx
call fcn.140013de0
lea rcx, [rbp + 0x90]
call fcn.14001c1a0
lea rax, vtable._ODI0.0
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x50]
cmp rax, 0x10
jb 0x14001bfcd
mov rcx, qword [rbp + 0x38]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14001bfc8
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x14001c035
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1400ad894
movups xmmword [rbp + 0x48], xmm6
mov byte [rbp + 0x38], 0
mov rax, qword [rbp + 0x30]
cmp rax, 0x10
jb 0x14001c010
mov rcx, qword [rbp + 0x18]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14001c00b
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x14001c035
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1400ad894
movaps xmm6, xmmword [rbp + 0x120]
add rsp, 0x1b8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov ecx, 0xffffffff
call fcn.1401e1fd4
call fcn.1401e54b4
call fcn.1400035c0
mov byte [rbp + 0x117], 1
call fcn.1400035c0
int3