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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xa0
mov qword [rbp - 0x29], 0xfffffffffffffffe
mov rax, qword [0x1403f04b0]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r14, r9
mov qword [rbp - 0x31], r9
mov qword [rbp - 0x39], r8
mov rdi, rdx
mov edx, 0x60
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14041078c], eax
jle 0x1401988c8
lea rcx, [0x14041078c]
call fcn.1402801b8
cmp dword [0x14041078c], 0xffffffff
jne 0x1401988c8
lea rdx, [0x1402cb810]
lea rcx, [0x140410790]
call fcn.140048750
lea rcx, [0x1402b1e00]
call fcn.14027ab8c
nop
lea rcx, [0x14041078c]
call fcn.140280158
lea rdx, [r14 + 0x20]
mov r8b, 1
lea rcx, [rbp - 9]
call fcn.140059288
lea r8, [rbp - 9]
cmp qword [rbp + 0xf], 8
cmovae r8, qword [rbp - 9]
movabs rcx, 0xcbf29ce484222325
xor edx, edx
mov r11, qword [rbp + 7]
lea r9, [r11 + r11]
test r9, r9
je 0x14019891d
movzx eax, byte [rdx + r8]
xor rcx, rax
movabs r10, 0x100000001b3
imul rcx, r10
inc rdx
cmp rdx, r9
jb 0x1401988ff
and rcx, qword [0x1404048a0]
mov r15, qword [0x140404888]
mov rax, rcx
add rax, rax
mov rax, qword [r15 + rax*8]
lea r12, [rcx + rcx]
mov r10, qword [0x140404878]
cmp qword [r15 + r12*8], r10
jne 0x14019894b
mov rcx, r10
jmp 0x140198953
mov rcx, qword [r15 + r12*8 + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x140198a16
lea rdx, [rax + 0x10]
lea rcx, [rbp - 9]
cmp qword [rbp + 0xf], 8
cmovae rcx, qword [rbp - 9]
mov r9, rdx
mov r14, qword [rdx + 0x18]
cmp r14, 8
jb 0x14019897e
mov r9, qword [rdx]
mov rsi, qword [rdx + 0x10]
cmp rsi, r11
jne 0x1401989bc
mov rbx, rsi
test rsi, rsi
je 0x1401989b6
sub r9, rcx
movzx edx, word [rcx + r9]
movzx r8d, word [rcx]
cmp dx, r8w
jne 0x1401989ad
add rcx, 2
sub rbx, 1
jne 0x140198992
jmp 0x1401989b6
sbb ecx, ecx
and ecx, 0xfffffffe
inc ecx
jmp 0x1401989b8
xor ecx, ecx
test ecx, ecx
je 0x1401989c4
mov rax, qword [rax]
jmp 0x140198940
lea rcx, [rax + 0x10]
cmp r14, 8
jb 0x1401989d1
mov rcx, qword [rcx]
lea rdx, [rbp - 9]
cmp qword [rbp + 0xf], 8
cmovae rdx, qword [rbp - 9]
cmp r11, rsi
jne 0x140198a16
test r11, r11
je 0x140198a10
sub rdx, rcx
movzx r8d, word [rcx + rdx]
movzx r9d, word [rcx]
cmp r8w, r9w
jne 0x140198a07
add rcx, 2
sub r11, 1
jne 0x1401989ec
jmp 0x140198a10
sbb ecx, ecx
and ecx, 0xfffffffe
inc ecx
jmp 0x140198a12
xor ecx, ecx
test ecx, ecx
je 0x140198a19
mov rax, r10
cmp rax, r10
jne 0x140198a25
mov bl, 1
mov esi, dword [rbp - 0x39]
jmp 0x140198a2a
mov esi, dword [rax + 0x30]
xor ebx, ebx
lea rcx, [rbp - 9]
call fcn.1400492c0
test bl, bl
je 0x140198a4b
lea rdx, [0x140410790]
mov rcx, rdi
call fcn.14005517c
jmp 0x140198c16
lea rdx, [rbp - 0x19]
mov rcx, qword [rbp - 0x39]
mov rcx, qword [rcx]
call fcn.1401754a8
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x59], xmm0
mov r8, qword [rax + 8]
mov rdx, qword [rax]
lea rcx, [rbp - 0x59]
call fcn.14004cf88
nop
mov rbx, qword [rbp - 0x11]
or r14d, 0xffffffff
test rbx, rbx
je 0x140198aba
mov eax, r14d
lock xadd dword [rbx + 8], eax
add eax, r14d
jne 0x140198aba
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [str.__v__]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
add eax, r14d
jne 0x140198aba
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [str.__v__]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x49], xmm0
mov rbx, qword [rbp - 0x59]
lea rcx, [rbx + 0x78]
mov r8, qword [rbp - 0x31]
lea rdx, [rbp - 0x39]
call fcn.1400810f4
mov rax, qword [rbx + 0x80]
mov qword [rbp - 0x21], rax
mov rcx, qword [rbp - 0x39]
cmp rcx, rax
je 0x140198bbf
lea rdx, [rcx + 0x78]
cmp qword [rdx], 0
je 0x140198bbf
lea rcx, [rbp - 0x49]
call fcn.14006e094
test esi, esi
je 0x140198bb2
cmp esi, 1
je 0x140198ba8
lea eax, [rsi - 2]
cmp eax, 1
ja 0x140198b2d
mov rdx, qword [rbp - 0x49]
cmp qword [rdx + 0xd0], 0
jne 0x140198b8a
lea rdx, [0x140410790]
mov rcx, rdi
call fcn.14005517c
nop
mov rcx, qword [rbp - 0x41]
test rcx, rcx
je 0x140198bcf
mov eax, r14d
lock xadd dword [rcx + 8], eax
add eax, r14d
jne 0x140198bcf
mov rbx, qword [rbp - 0x41]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [str.__v__]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
add eax, r14d
jne 0x140198bcf
mov rcx, qword [rbp - 0x41]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str.__v__]
jmp 0x140198bcf
mov rdx, qword [rdx + 0xd0]
mov rcx, rdi
cmp esi, 2
jne 0x140198b9f
add rdx, 0x30
jmp 0x140198b37
add rdx, 0xc0
jmp 0x140198b37
mov rdx, qword [rbp - 0x49]
add rdx, 0x10
jmp 0x140198b34
mov rdx, qword [rbp - 0x49]
add rdx, 0x30
jmp 0x140198b34
lea rdx, [0x140410790]
mov rcx, rdi
call fcn.14005517c
nop
mov rcx, qword [rbp - 0x51]
test rcx, rcx
je 0x140198c16
mov eax, r14d
lock xadd dword [rcx + 8], eax
add eax, r14d
jne 0x140198c16
mov rbx, qword [rbp - 0x51]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [str.__v__]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
add eax, r14d
jne 0x140198c16
mov rcx, qword [rbp - 0x51]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str.__v__]
mov rax, rdi
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.14027a710
add rsp, 0xa0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret