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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rsi, r8
mov rbx, rdx
mov r13, rcx
mov r9, r8
mov r14, qword [r8 + 0x18]
cmp r14, 0x10
jb 0x140128f52
mov r9, qword [r8]
movabs rdx, 0xcbf29ce484222325
mov rbp, qword [r8 + 0x10]
xor r8d, r8d
test rbp, rbp
je 0x140128f94
movabs rcx, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + r9]
xor rdx, rax
imul rdx, rcx
inc r8
cmp r8, rbp
jb 0x140128f80
and rdx, qword [0x140256270]
add rdx, rdx
mov rax, qword [0x140256258]
mov rdi, qword [rax + rdx*8 + 8]
mov r12, qword [0x140256248]
cmp rdi, r12
je 0x1401293b1
mov r15, qword [rax + rdx*8]
nop
lea rdx, [rdi + 0x10]
cmp qword [rdi + 0x28], 0x10
jb 0x140128fcf
mov rdx, qword [rdi + 0x10]
mov rcx, rsi
cmp r14, 0x10
jb 0x140128fdb
mov rcx, qword [rsi]
cmp rbp, qword [rdi + 0x20]
jne 0x140128fed
mov r8, rbp
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140128ffc
cmp rdi, r15
je 0x1401293b1
mov rdi, qword [rdi + 8]
jmp 0x140128fc0
test rdi, rdi
je 0x1401293b1
cmp rdi, r12
je 0x1401293b1
lea rcx, [rdi + 0x30]
call fcn.140128b20
mov qword [rsp + 0x20], rax
mov r14, qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
xor ebp, ebp
mov qword [rsp + 0x38], rbp
mov r9, qword [r14 + 0x18]
sub r9, qword [r14 + 0x10]
sar r9, 5
mov qword [rsp + 0x98], r9
xor r12d, r12d
mov rdi, qword [rsp + 0x30]
nop dword [rax + rax]
lea eax, [r12*4]
xor edx, edx
mov eax, dword [rax + r13]
div r9d
mov r13d, edx
mov ecx, eax
add eax, edx
xor edx, edx
div r9d
mov esi, edx
xor edx, edx
mov eax, ecx
div r9d
add eax, esi
xor edx, edx
div r9d
mov dword [rsp + 0x90], edx
shl r13, 5
mov r8, qword [r14 + 0x10]
add r8, r13
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x14012909c
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
mov rcx, rbx
call fcn.1400220e0
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x1401290d1
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x1401290c9
mov rax, qword [rbx]
mov word [rax + rcx], 0x20
jmp 0x1401290e3
mov r9b, 0x20
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.14000def0
mov r15, rsi
shl r15, 5
mov r8, qword [r14 + 0x10]
add r8, r15
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x1401290fe
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
mov rcx, rbx
call fcn.1400220e0
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x140129133
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x14012912b
mov rax, qword [rbx]
mov word [rax + rcx], 0x20
jmp 0x140129145
mov r9b, 0x20
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.14000def0
mov esi, dword [rsp + 0x90]
shl rsi, 5
mov r8, qword [r14 + 0x10]
add r8, rsi
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x140129164
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
mov rcx, rbx
call fcn.1400220e0
mov r8, qword [r14 + 0x10]
add r8, r13
cmp rdi, rbp
je 0x140129192
mov rdx, r8
mov rcx, rdi
call fcn.14000e550
add rdi, 0x20
mov qword [rsp + 0x30], rdi
jmp 0x1401291a9
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.140010160
mov rbp, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
mov r8, qword [r14 + 0x10]
add r8, r15
cmp rdi, rbp
je 0x1401291cb
mov rdx, r8
mov rcx, rdi
call fcn.14000e550
add rdi, 0x20
mov qword [rsp + 0x30], rdi
jmp 0x1401291e2
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.140010160
mov rbp, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
mov r8, qword [r14 + 0x10]
add r8, rsi
cmp rdi, rbp
je 0x140129204
mov rdx, r8
mov rcx, rdi
call fcn.14000e550
add rdi, 0x20
mov qword [rsp + 0x30], rdi
jmp 0x14012921b
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.140010160
mov rbp, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
inc r12d
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x140129247
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x14012923f
mov rax, qword [rbx]
mov word [rax + rcx], 0x20
jmp 0x140129259
mov r9b, 0x20
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.14000def0
cmp r12d, 8
mov r9, qword [rsp + 0x98]
mov r13, qword [rsp + 0x80]
jb 0x140129050
mov rcx, qword [rbx + 0x10]
dec rcx
mov qword [rbx + 0x10], rcx
mov rax, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x14012928b
mov rax, qword [rbx]
mov byte [rax + rcx], 0
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x1401292b8
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x1401292b0
mov rax, qword [rbx]
mov word [rax + rcx], 0x20
jmp 0x1401292ca
mov r9b, 0x20
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.14000def0
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
mov edx, dword [rax + 0xa8]
lea rcx, [rsp + 0x28]
call fcn.140129ba0
mov r8d, eax
shl r8, 5
mov rdi, qword [rsp + 0x28]
add r8, rdi
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x1401292fe
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
mov rcx, rbx
call fcn.1400220e0
nop
test rdi, rdi
je 0x1401293ad
mov rbx, rdi
mov rsi, qword [rsp + 0x30]
cmp rdi, rsi
je 0x140129371
xor ebp, ebp
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x140129359
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x140129354
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14012939e
mov rcx, r8
call fcn.14018bbf4
mov qword [rbx + 0x10], rbp
mov qword [rbx + 0x18], setsockopt
mov byte [rbx], bpl
add rbx, 0x20
cmp rbx, rsi
jne 0x140129323
mov rdx, qword [rsp + 0x38]
sub rdx, rdi
and rdx, 0xffffffffffffffe0
mov rax, rdi
cmp rdx, 0x1000
jb 0x1401293a5
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1401293a5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.14018bbf4
mov al, 1
jmp 0x1401293b3
xor al, al
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret