Function at 0x1400337c0
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, 0x68
lea rbp, [rsp + 0x60]
mov qword [rbp], 0xfffffffffffffffe
mov r14, r8
mov rdi, rcx
mov rbx, qword [r8 + 0x10]
cmp qword [r8 + 0x18], 0x10
mov r15, r8
jb 0x1400337f4
mov r15, qword [r14]
test rbx, rbx
mov qword [rbp - 0x30], rdx
je 0x14003381c
movabs rax, 0x100000001b3
cmp rbx, 8
jae 0x14003382b
movabs r8, 0xcbf29ce484222325
jmp 0x1400338af
movabs r12, 0xcbf29ce484222325
jmp 0x1400338dc
mov rcx, rbx
shr rcx, 3
movabs r8, 0xcbf29ce484222325
xor edx, edx
nop
movzx r9d, byte [r15 + rdx*8]
xor r9, r8
imul r9, rax
movzx r8d, byte [r15 + rdx*8 + 1]
xor r8, r9
imul r8, rax
movzx r9d, byte [r15 + rdx*8 + 2]
xor r9, r8
imul r9, rax
movzx r8d, byte [r15 + rdx*8 + 3]
xor r8, r9
imul r8, rax
movzx r9d, byte [r15 + rdx*8 + 4]
xor r9, r8
imul r9, rax
movzx r8d, byte [r15 + rdx*8 + 5]
xor r8, r9
imul r8, rax
movzx r9d, byte [r15 + rdx*8 + 6]
xor r9, r8
imul r9, rax
movzx r8d, byte [r15 + rdx*8 + 7]
xor r8, r9
imul r8, rax
inc rdx
cmp rcx, rdx
jne 0x140033840
mov rcx, rbx
and rcx, 0xfffffffffffffff8
cmp rcx, rbx
jae 0x1400338d9
nop dword [rax + rax]
movzx r12d, byte [r15 + rcx]
xor r12, r8
imul r12, rax
inc rcx
mov r8, r12
cmp rbx, rcx
jne 0x1400338c0
jmp 0x1400338dc
mov r12, r8
mov rax, qword [rdi + 0x30]
and rax, r12
mov rcx, qword [rdi + 0x18]
mov rdx, rax
shl rdx, 4
mov r13, qword [rcx + rdx + 8]
cmp r13, qword [rdi + 8]
je 0x140033935
add rax, rax
mov rsi, qword [rcx + rax*8]
lea rdx, [r13 + 0x10]
cmp qword [r13 + 0x28], 0x10
jb 0x14003390e
mov rdx, qword [rdx]
cmp rbx, qword [r13 + 0x20]
jne 0x140033927
mov rcx, r15
mov r8, rbx
call fcn.140219260
test eax, eax
je 0x1400339fb
cmp r13, rsi
je 0x140033932
mov r13, qword [r13 + 8]
jmp 0x140033900
mov r13, rsi
movabs rax, 0x555555555555555
cmp qword [rdi + 0x10], rax
je 0x140033c14
mov qword [rbp - 8], rdi
lea rax, [rdi + 8]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x10], 0
mov ecx, 0x30
call fcn.1401c3b4c
mov rsi, rax
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rax + 0x10], ymm0
mov qword [rbp - 0x38], rax
mov r15, qword [r14 + 0x10]
cmp qword [r14 + 0x18], 0x10
jb 0x140033985
mov r14, qword [r14]
test r15, r15
js 0x140033c20
mov rbx, rsi
add rbx, 0x10
cmp r15, 0xf
ja 0x1400339b5
mov qword [rsi + 0x20], r15
mov qword [rsi + 0x28], reloc.WS2_32.dll_ntohs
vmovups xmm0, xmmword [r14]
vmovups xmmword [rbx], xmm0
jmp 0x140033a3d
mov qword [rsi + 0x28], reloc.WS2_32.dll_ntohs
mov rdi, r15
or rdi, 0xf
cmp rdi, 0x16
mov ecx, 0x16
cmovae rcx, rdi
cmp rcx, 0xfff
jb 0x140033a0b
add rcx, 0x28
mov qword [rbp - 0x10], rsi
vzeroupper
call fcn.1401c3b4c
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x140033a24
mov rax, qword [rbp - 0x30]
mov qword [rax], r13
mov byte [rax + 8], 0
jmp 0x140033c00
lea rax, [rcx + 1]
mov qword [rbp - 0x10], rsi
mov rdi, rcx
mov rcx, rax
vzeroupper
call fcn.1401c3b4c
mov rcx, rax
mov qword [rbx], rcx
mov qword [rsi + 0x20], r15
mov qword [rsi + 0x28], rdi
inc r15
mov rdx, r14
mov r8, r15
call fcn.1401bb6d0
mov rdi, qword [rbp - 8]
mov rax, qword [rdi + 0x10]
inc rax
js 0x140033a51
vcvtsi2ss xmm0, xmm1, rax
jmp 0x140033a66
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
vcvtsi2ss xmm0, xmm1, rax
vaddss xmm0, xmm0, xmm0
vmovss xmm1, dword [rdi]
mov rdx, qword [rdi + 0x38]
test rdx, rdx
js 0x140033a7a
vcvtsi2ss xmm2, xmm2, rdx
jmp 0x140033a91
mov rax, rdx
shr rax, 1
mov ecx, edx
and ecx, 1
or rcx, rax
vcvtsi2ss xmm2, xmm2, rcx
vaddss xmm2, xmm2, xmm2
vdivss xmm2, xmm0, xmm2
vucomiss xmm2, xmm1
jbe 0x140033b77
vdivss xmm0, xmm0, xmm1
vroundss xmm0, xmm0, xmm0, 0xa
vcvttss2si rax, xmm0
mov rcx, rax
vsubss xmm0, xmm0, dword [0x14021cd80]
vcvttss2si r8, xmm0
sar rcx, 0x3f
and r8, rcx
or r8, rax
cmp r8, 9
mov eax, 8
cmovae rax, r8
cmp rdx, rax
jae 0x140033af7
lea rcx, [rdx*8]
cmp rcx, rax
cmovb rcx, rax
cmp rdx, 0x200
cmovae rcx, rax
mov rdx, rcx
mov rcx, rdi
vzeroupper
call fcn.140033d50
and r12, qword [rdi + 0x30]
mov rax, qword [rdi + 8]
mov r8, qword [rdi + 0x18]
lea rcx, [r12*2 + 1]
add r12, r12
mov r13, qword [r8 + r12*8 + 8]
cmp r13, rax
je 0x140033b95
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x28], r8
mov rdi, qword [r8 + r12*8]
mov r14, qword [rsi + 0x20]
mov r15, qword [rsi + 0x28]
nop dword [rax + rax]
lea rdx, [r13 + 0x10]
cmp qword [r13 + 0x28], 0x10
jb 0x140033b4e
mov rdx, qword [rdx]
mov rcx, rbx
cmp r15, 0x10
jb 0x140033b5a
mov rcx, qword [rbx]
cmp r14, qword [r13 + 0x20]
jne 0x140033b6c
mov r8, r14
call fcn.140219260
test eax, eax
je 0x140033b9a
cmp r13, rdi
je 0x140033b90
mov r13, qword [r13 + 8]
jmp 0x140033b40
mov r9, qword [rdi + 8]
mov r8, qword [rdi + 0x18]
and r12, qword [rdi + 0x30]
lea rcx, [r12*2 + 1]
add r12, r12
jmp 0x140033bae
mov r13, rdi
jmp 0x140033b9e
mov r9, r13
jmp 0x140033bae
mov r13, qword [r13]
mov rdi, qword [rbp - 8]
mov r8, qword [rbp - 0x28]
mov r9, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x18]
mov qword [rbp - 0x38], 0
mov rax, qword [r13 + 8]
inc qword [rdi + 0x10]
mov qword [rsi], r13
mov qword [rsi + 8], rax
mov qword [rax], rsi
mov qword [r13 + 8], rsi
lea rdx, [r8 + rcx*8]
lea rcx, [r8 + r12*8]
mov r8, qword [r8 + r12*8]
cmp r8, r9
je 0x140033bec
cmp r8, r13
je 0x140033bf2
mov rcx, rdx
cmp qword [rdx], rax
jne 0x140033bf5
jmp 0x140033bf2
mov qword [rcx], rsi
mov rcx, rdx
mov qword [rcx], rsi
mov rax, qword [rbp - 0x30]
mov qword [rax], rsi
mov byte [rax + 8], 1
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
vzeroupper
ret
lea rcx, str.unordered_map_set_too_long
call fcn.1401c778c
mov qword [rbp - 0x10], rsi
vzeroupper
call fcn.140005120
int3