joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1401b0038
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
and dword [rax + 0x10], 0
mov r12, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rdx, rax
ja 0x1401b022d
mov rsi, qword [r12 + 8]
lea rax, [rdx - 1]
and dword [rsp + 0x58], 0
lea rdi, [r12 + 0x18]
or rax, 1
mov ebx, 1
bsr rcx, rax
mov r8, rsi
inc ecx
shl rbx, cl
mov rcx, rdi
lea rdx, [rbx + rbx]
call fcn.14002bc60
mov qword [r12 + 0x38], rbx
lea rax, [rbx - 1]
mov qword [r12 + 0x30], rax
mov r11, qword [r12 + 8]
mov r11, qword [r11]
mov rbx, r11
cmp r11, rsi
je 0x1401b01da
mov rbx, qword [rbx]
lea r15, [r11 + 0x10]
cmp qword [r15 + 0x18], 8
mov r8, r15
mov r9, qword [r15 + 0x10]
jb 0x1401b00e8
mov r8, qword [r15]
xor edx, edx
movabs rcx, 0xcbf29ce484222325
add r9, r9
je 0x1401b0117
movzx eax, byte [rdx + r8]
movabs r10, 0x100000001b3
xor rcx, rax
inc rdx
imul rcx, r10
cmp rdx, r9
jb 0x1401b00f9
mov r14, qword [r12 + 0x30]
mov rbp, qword [rdi]
and r14, rcx
add r14, r14
cmp qword [rbp + r14*8], rsi
jne 0x1401b013b
mov qword [rbp + r14*8], r11
mov qword [rbp + r14*8 + 8], r11
jmp 0x1401b01ce
mov rdi, qword [rbp + r14*8 + 8]
mov rcx, r15
lea rdx, [rdi + 0x10]
call fcn.14002c208
test al, al
je 0x1401b0180
mov r8, qword [rdi]
cmp r8, r11
je 0x1401b0179
mov rdx, qword [r11 + 8]
mov qword [rdx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], r8
mov rax, qword [r8 + 8]
mov qword [rax], r11
mov qword [r8 + 8], rcx
mov qword [rbx + 8], rdx
mov qword [r11 + 8], rax
mov qword [rbp + r14*8 + 8], r11
jmp 0x1401b01c9
mov r13, rdi
jmp 0x1401b019c
mov rdi, qword [rdi + 8]
mov rcx, r15
mov r13, rdi
lea rdx, [rdi + 0x10]
call fcn.14002c208
test al, al
jne 0x1401b0207
cmp qword [rbp + r14*8], rdi
jne 0x1401b0185
mov rdx, qword [r11 + 8]
mov qword [rdx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], r13
mov rax, qword [r13 + 8]
mov qword [rax], r11
mov qword [r13 + 8], rcx
mov qword [rbx + 8], rdx
mov qword [r11 + 8], rax
mov qword [rbp + r14*8], r11
lea rdi, [r12 + 0x18]
mov r11, rbx
cmp rbx, rsi
jne 0x1401b00d0
and qword [rsp + 0x58], 0
lea rcx, [rsp + 0x58]
call fcn.1401b023c
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov r8, qword [rdi]
mov rdx, qword [r11 + 8]
mov qword [rdx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], r8
mov rax, qword [r8 + 8]
mov qword [rax], r11
mov qword [r8 + 8], rcx
mov qword [rbx + 8], rdx
mov qword [r11 + 8], rax
jmp 0x1401b01c9
lea rcx, str.invalid_hash_bucket_count
call fcn.14006dcb4
int3
Function at 0x1401b0310
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x28
mov rbp, r8
mov r15, rdx
mov r9, rcx
cmp rdx, r8
je 0x1401b04b7
mov rax, qword [rcx + 8]
mov rsi, rdx
mov r12, qword [rcx + 0x18]
lea rcx, [rdx + 0x10]
cmp qword [rcx + 0x18], 8
mov r14, qword [rdx + 8]
mov r10, qword [rcx + 0x10]
mov qword [rsp + 0x80], rax
jb 0x1401b0360
mov rcx, qword [rcx]
xor r8d, r8d
movabs rdx, 0xcbf29ce484222325
movabs r11, 0x100000001b3
add r10, r10
je 0x1401b0390
movzx eax, byte [r8 + rcx]
inc r8
xor rdx, rax
imul rdx, r11
cmp r8, r10
jb 0x1401b037c
mov r13, qword [r9 + 0x30]
and r13, rdx
add r13, r13
mov rax, qword [r12 + r13*8]
mov qword [rsp + 0x78], rax
mov rax, qword [r12 + r13*8 + 8]
mov qword [rsp + 0x88], rax
mov rbx, rsi
mov rdi, rsi
mov rsi, qword [rsi]
lea rcx, [rbx + 0x10]
call fcn.1401b3770
mov edx, 0x70
mov rcx, rbx
call fcn.140016264
mov r8, qword [rsp + 0x70]
dec qword [r8 + 0x10]
cmp rbx, qword [rsp + 0x88]
je 0x1401b03fb
cmp rsi, rbp
jne 0x1401b03b0
cmp qword [rsp + 0x78], r15
jne 0x1401b04b0
mov qword [r12 + r13*8], rsi
jmp 0x1401b04b0
cmp qword [rsp + 0x78], r15
jne 0x1401b0413
mov rdx, qword [rsp + 0x80]
mov qword [r12 + r13*8], rdx
mov rax, rdx
jmp 0x1401b0416
mov rax, r14
mov qword [r12 + r13*8 + 8], rax
cmp rsi, rbp
je 0x1401b04b0
lea rcx, [rsi + 0x10]
cmp qword [rcx + 0x18], 8
mov r10, qword [rcx + 0x10]
jb 0x1401b0436
mov rcx, qword [rcx]
xor r9d, r9d
movabs rdx, 0xcbf29ce484222325
add r10, r10
je 0x1401b046b
movabs r8, 0x100000001b3
movzx eax, byte [r9 + rcx]
inc r9
xor rdx, rax
imul rdx, r8
cmp r9, r10
jb 0x1401b0452
mov r8, qword [rsp + 0x70]
mov r15, qword [r8 + 0x30]
and r15, rdx
add r15, r15
mov r13, qword [r12 + r15*8 + 8]
mov rbx, rsi
mov rdi, rsi
mov rsi, qword [rsi]
lea rcx, [rbx + 0x10]
call fcn.1401b3770
mov edx, 0x70
mov rcx, rbx
call fcn.140016264
mov r8, qword [rsp + 0x70]
dec qword [r8 + 0x10]
cmp rbx, r13
je 0x1401b04cb
cmp rsi, rbp
jne 0x1401b047a
mov qword [r12 + r15*8], rsi
mov qword [r14], rsi
mov qword [rsi + 8], r14
mov rax, rbp
add rsp, 0x28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rax, qword [rsp + 0x80]
mov qword [r12 + r15*8], rax
mov qword [r12 + r15*8 + 8], rax
jmp 0x1401b041b
Function at 0x1401b0b50
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r14, r8
mov rsi, rdx
mov rdi, rcx
mov r8, qword [r8 + 0x10]
mov rdx, r14
cmp qword [r14 + 0x18], 8
jb 0x1401b0b86
mov rdx, qword [r14]
movabs rbp, 0xcbf29ce484222325
xor ecx, ecx
add r8, r8
je 0x1401b0bb4
movzx eax, byte [rcx + rdx]
xor rbp, rax
movabs r9, 0x100000001b3
imul rbp, r9
inc rcx
cmp rcx, r8
jb 0x1401b0b97
mov r9, rbp
mov r8, r14
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.140063a4c
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1401b0bdd
mov qword [rsi], rax
mov byte [rsi + 8], 0
jmp 0x1401b0d57
movabs rax, 0x249249249249249
cmp qword [rdi + 0x10], rax
je 0x1401b0d78
lea r12, [rdi + 8]
mov qword [rsp + 0x30], r12
and qword [rsp + 0x38], 0
mov ecx, 0x70
call fcn.140221508
mov rbx, rax
mov qword [rsp + 0x38], rax
mov rdx, r14
lea rcx, [rax + 0x10]
call fcn.140011d38
add r14, 0x20
and qword [rbx + 0x68], 0
mov rcx, qword [r14 + 0x38]
test rcx, rcx
je 0x1401b0c71
cmp rcx, r14
jne 0x1401b0c68
mov rax, qword [rcx]
lea rdx, [rbx + 0x30]
mov rax, qword [rax + 8]
call qword [case.0x14003d846.0]
mov qword [rbx + 0x68], rax
mov rcx, qword [r14 + 0x38]
test rcx, rcx
je 0x1401b0c71
mov rax, qword [rcx]
cmp rcx, r14
setne dl
mov rax, qword [rax + 0x20]
call qword [case.0x14003d846.0]
jmp 0x1401b0c6c
mov qword [rbx + 0x68], rcx
and qword [r14 + 0x38], 0
mov r9, qword [rdi + 0x10]
lea rcx, [r9 + 1]
xorps xmm0, xmm0
test rcx, rcx
js 0x1401b0c88
cvtsi2ss xmm0, rcx
jmp 0x1401b0c9d
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rdi + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x1401b0cb0
cvtsi2ss xmm1, rcx
jmp 0x1401b0cc5
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rdi]
seta al
test al, al
je 0x1401b0cfc
mov rcx, rdi
call fcn.1401aeb74
mov r9, rbp
lea r8, [rbx + 0x10]
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.140063a4c
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x20], xmm0
mov r9, qword [rdi + 0x10]
mov rdx, qword [rsp + 0x20]
mov r8, qword [rdx + 8]
lea rax, [r9 + 1]
mov qword [rdi + 0x10], rax
mov qword [rbx], rdx
mov qword [rbx + 8], r8
mov qword [r8], rbx
mov qword [rdx + 8], rbx
mov rcx, qword [rdi + 0x18]
mov rax, qword [rdi + 0x30]
and rax, rbp
add rax, rax
mov r9, qword [rcx + rax*8]
cmp r9, qword [r12]
jne 0x1401b0d39
mov qword [rcx + rax*8], rbx
jmp 0x1401b0d4b
cmp r9, rdx
jne 0x1401b0d44
mov qword [rcx + rax*8], rbx
jmp 0x1401b0d50
cmp qword [rcx + rax*8 + 8], r8
jne 0x1401b0d50
mov qword [rcx + rax*8 + 8], rbx
mov qword [rsi], rbx
mov byte [rsi + 8], 1
mov rax, rsi
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rcx, str.unordered_map_set_too_long
call fcn.14006dcb4
int3
Function at 0x1401b3068
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x40
mov rsi, r8
mov rdi, rdx
mov rbp, rcx
mov r8, qword [r8 + 0x10]
mov rdx, rsi
cmp qword [rsi + 0x18], 8
jb 0x1401b309f
mov rdx, qword [rsi]
xor ecx, ecx
movabs r14, 0xcbf29ce484222325
add r8, r8
je 0x1401b30cd
movzx eax, byte [rcx + rdx]
xor r14, rax
movabs r9, 0x100000001b3
imul r14, r9
inc rcx
cmp rcx, r8
jb 0x1401b30b0
mov r9, r14
mov r8, rsi
lea rdx, [rsp + 0x30]
mov rcx, rbp
call fcn.140063a4c
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1401b30f6
mov qword [rdi], rax
mov byte [rdi + 8], 0
jmp 0x1401b3236
movabs rax, 0x492492492492492
cmp qword [rbp + 0x10], rax
je 0x1401b3258
lea r12, [rbp + 8]
mov qword [rsp + 0x20], r12
and qword [rsp + 0x28], 0
mov ecx, 0x38
call fcn.1400160c8
mov rbx, rax
mov qword [rsp + 0x28], rax
mov rdx, rsi
lea rcx, [rax + 0x10]
call fcn.140011d38
mov rax, qword [rsi + 0x20]
mov qword [rbx + 0x30], rax
mov r9, qword [rbp + 0x10]
lea rcx, [r9 + 1]
xorps xmm0, xmm0
test rcx, rcx
js 0x1401b3156
cvtsi2ss xmm0, rcx
jmp 0x1401b316b
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rbp + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x1401b317e
cvtsi2ss xmm1, rcx
jmp 0x1401b3193
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rbp]
seta al
test al, al
je 0x1401b31cb
mov rcx, rbp
call fcn.1401b6718
mov r9, r14
lea r8, [rbx + 0x10]
lea rdx, [rsp + 0x30]
mov rcx, rbp
call fcn.140063a4c
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x30], xmm0
mov r9, qword [rbp + 0x10]
and qword [rsp + 0x28], 0
mov rdx, qword [rsp + 0x30]
mov r8, qword [rdx + 8]
lea rax, [r9 + 1]
mov qword [rbp + 0x10], rax
mov qword [rbx], rdx
mov qword [rbx + 8], r8
mov qword [r8], rbx
mov qword [rdx + 8], rbx
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x30]
and rax, r14
add rax, rax
mov r9, qword [rcx + rax*8]
cmp r9, qword [r12]
jne 0x1401b320e
mov qword [rcx + rax*8], rbx
jmp 0x1401b3220
cmp r9, rdx
jne 0x1401b3219
mov qword [rcx + rax*8], rbx
jmp 0x1401b3225
cmp qword [rcx + rax*8 + 8], r8
jne 0x1401b3225
mov qword [rcx + rax*8 + 8], rbx
mov qword [rdi], rbx
mov byte [rdi + 8], 1
lea rcx, [rsp + 0x20]
call fcn.1401b3b00
mov rax, rdi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r12
ret
lea rcx, str.unordered_map_set_too_long
call fcn.14006dcb4
int3
Function at 0x1401b6718
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdx, qword [rcx + 0x10]
mov rdi, rcx
add rdx, 1
mov rbx, qword [rcx + 0x38]
xorps xmm0, xmm0
js 0x1401b673d
cvtsi2ss xmm0, rdx
jmp 0x1401b6752
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [rcx]
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
movss xmm1, dword [0x14025c2c0]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x1401b6780
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x1401b6780
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rbx, rcx
jae 0x1401b67ae
cmp rbx, 0x200
jae 0x1401b67ab
shl rbx, 3
cmp rbx, rcx
jae 0x1401b67ae
mov rbx, rcx
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.140103d50
Function at 0x1401be638
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
and dword [rax + 0x10], 0
mov r12, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rdx, rax
ja 0x1401be82d
mov rsi, qword [r12 + 8]
lea rax, [rdx - 1]
and dword [rsp + 0x58], 0
lea rdi, [r12 + 0x18]
or rax, 1
mov ebx, 1
bsr rcx, rax
mov r8, rsi
inc ecx
shl rbx, cl
mov rcx, rdi
lea rdx, [rbx + rbx]
call fcn.14002bc60
mov qword [r12 + 0x38], rbx
lea rax, [rbx - 1]
mov qword [r12 + 0x30], rax
mov r11, qword [r12 + 8]
mov r11, qword [r11]
mov rbx, r11
cmp r11, rsi
je 0x1401be7da
mov rbx, qword [rbx]
lea r15, [r11 + 0x10]
cmp qword [r15 + 0x18], 8
mov r8, r15
mov r9, qword [r15 + 0x10]
jb 0x1401be6e8
mov r8, qword [r15]
xor edx, edx
movabs rcx, 0xcbf29ce484222325
add r9, r9
je 0x1401be717
movzx eax, byte [rdx + r8]
movabs r10, 0x100000001b3
xor rcx, rax
inc rdx
imul rcx, r10
cmp rdx, r9
jb 0x1401be6f9
mov r14, qword [r12 + 0x30]
mov rbp, qword [rdi]
and r14, rcx
add r14, r14
cmp qword [rbp + r14*8], rsi
jne 0x1401be73b
mov qword [rbp + r14*8], r11
mov qword [rbp + r14*8 + 8], r11
jmp 0x1401be7ce
mov rdi, qword [rbp + r14*8 + 8]
mov rcx, r15
lea rdx, [rdi + 0x10]
call fcn.14002c208
test al, al
je 0x1401be780
mov r8, qword [rdi]
cmp r8, r11
je 0x1401be779
mov rdx, qword [r11 + 8]
mov qword [rdx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], r8
mov rax, qword [r8 + 8]
mov qword [rax], r11
mov qword [r8 + 8], rcx
mov qword [rbx + 8], rdx
mov qword [r11 + 8], rax
mov qword [rbp + r14*8 + 8], r11
jmp 0x1401be7c9
mov r13, rdi
jmp 0x1401be79c
mov rdi, qword [rdi + 8]
mov rcx, r15
mov r13, rdi
lea rdx, [rdi + 0x10]
call fcn.14002c208
test al, al
jne 0x1401be807
cmp qword [rbp + r14*8], rdi
jne 0x1401be785
mov rdx, qword [r11 + 8]
mov qword [rdx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], r13
mov rax, qword [r13 + 8]
mov qword [rax], r11
mov qword [r13 + 8], rcx
mov qword [rbx + 8], rdx
mov qword [r11 + 8], rax
mov qword [rbp + r14*8], r11
lea rdi, [r12 + 0x18]
mov r11, rbx
cmp rbx, rsi
jne 0x1401be6d0
and qword [rsp + 0x58], 0
lea rcx, [rsp + 0x58]
call fcn.1401bf304
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov r8, qword [rdi]
mov rdx, qword [r11 + 8]
mov qword [rdx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], r8
mov rax, qword [r8 + 8]
mov qword [rax], r11
mov qword [r8 + 8], rcx
mov qword [rbx + 8], rdx
mov qword [r11 + 8], rax
jmp 0x1401be7c9
lea rcx, str.invalid_hash_bucket_count
call fcn.14006dcb4
int3
Function at 0x1401be83c
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
and dword [rsp + 0x68], 0
movabs rax, 0xfffffffffffffff
mov rsi, rcx
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rdx, rax
ja 0x1401bea24
mov rbp, qword [rsi + 8]
lea rax, [rdx - 1]
and dword [rsp + 0x68], 0
lea r15, [rsi + 0x18]
or rax, 1
mov ebx, 1
bsr rcx, rax
mov r8, rbp
inc ecx
shl rbx, cl
mov rcx, r15
lea rdx, [rbx + rbx]
call fcn.14002bc60
lea rax, [rbx - 1]
mov qword [rsi + 0x38], rbx
mov qword [rsi + 0x30], rax
mov rbx, qword [rsi + 8]
mov rbx, qword [rbx]
mov rdi, rbx
cmp rbx, rbp
je 0x1401be9d9
mov rdi, qword [rdi]
lea r12, [rbx + 0x10]
cmp qword [r12 + 0x18], 8
mov r8, r12
mov r9, qword [r12 + 0x10]
jb 0x1401be8e8
mov r8, qword [r12]
xor edx, edx
movabs rcx, 0xcbf29ce484222325
add r9, r9
je 0x1401be917
movzx eax, byte [rdx + r8]
movabs r10, 0x100000001b3
xor rcx, rax
inc rdx
imul rcx, r10
cmp rdx, r9
jb 0x1401be8f9
mov r14, qword [rsi + 0x30]
mov r15, qword [r15]
and r14, rcx
add r14, r14
cmp qword [r15 + r14*8], rbp
jne 0x1401be938
mov qword [r15 + r14*8], rbx
mov qword [r15 + r14*8 + 8], rbx
jmp 0x1401be9c9
mov rsi, qword [r15 + r14*8 + 8]
mov rdx, r12
lea r8, [rsi + 0x10]
call fcn.1400a14f8
test eax, eax
jne 0x1401be97d
mov r8, qword [rsi]
cmp r8, rbx
je 0x1401be976
mov rdx, qword [rbx + 8]
mov qword [rdx], rdi
mov rcx, qword [rdi + 8]
mov qword [rcx], r8
mov rax, qword [r8 + 8]
mov qword [rax], rbx
mov qword [r8 + 8], rcx
mov qword [rdi + 8], rdx
mov qword [rbx + 8], rax
mov qword [r15 + r14*8 + 8], rbx
jmp 0x1401be9c4
mov r13, rsi
jmp 0x1401be999
mov rsi, qword [rsi + 8]
mov rdx, r12
mov r13, rsi
lea r8, [rsi + 0x10]
call fcn.1400a14f8
test eax, eax
je 0x1401be9fe
cmp qword [r15 + r14*8], rsi
jne 0x1401be982
mov rdx, qword [rbx + 8]
mov qword [rdx], rdi
mov rcx, qword [rdi + 8]
mov qword [rcx], r13
mov rax, qword [r13 + 8]
mov qword [rax], rbx
mov qword [r13 + 8], rcx
mov qword [rdi + 8], rdx
mov qword [rbx + 8], rax
mov qword [r15 + r14*8], rbx
mov rsi, qword [rsp + 0x60]
lea r15, [rsi + 0x18]
mov rbx, rdi
cmp rdi, rbp
jne 0x1401be8cd
and qword [rsp + 0x68], 0
lea rcx, [rsp + 0x68]
call fcn.1401bf230
mov rbx, qword [rsp + 0x70]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r8, qword [rsi]
mov rdx, qword [rbx + 8]
mov qword [rdx], rdi
mov rcx, qword [rdi + 8]
mov qword [rcx], r8
mov rax, qword [r8 + 8]
mov qword [rax], rbx
mov qword [r8 + 8], rcx
mov qword [rdi + 8], rdx
mov qword [rbx + 8], rax
jmp 0x1401be9c4
lea rcx, str.invalid_hash_bucket_count
call fcn.14006dcb4
int3
Function at 0x1401bea34
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
and dword [rax + 0x10], 0
mov r12, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rdx, rax
ja 0x1401bec29
mov rsi, qword [r12 + 8]
lea rax, [rdx - 1]
and dword [rsp + 0x58], 0
lea rdi, [r12 + 0x18]
or rax, 1
mov ebx, 1
bsr rcx, rax
mov r8, rsi
inc ecx
shl rbx, cl
mov rcx, rdi
lea rdx, [rbx + rbx]
call fcn.14002bc60
mov qword [r12 + 0x38], rbx
lea rax, [rbx - 1]
mov qword [r12 + 0x30], rax
mov r11, qword [r12 + 8]
mov r11, qword [r11]
mov rbx, r11
cmp r11, rsi
je 0x1401bebd6
mov rbx, qword [rbx]
lea r15, [r11 + 0x10]
cmp qword [r15 + 0x18], 8
mov r8, r15
mov r9, qword [r15 + 0x10]
jb 0x1401beae4
mov r8, qword [r15]
xor edx, edx
movabs rcx, 0xcbf29ce484222325
add r9, r9
je 0x1401beb13
movzx eax, byte [rdx + r8]
movabs r10, 0x100000001b3
xor rcx, rax
inc rdx
imul rcx, r10
cmp rdx, r9
jb 0x1401beaf5
mov r14, qword [r12 + 0x30]
mov rbp, qword [rdi]
and r14, rcx
add r14, r14
cmp qword [rbp + r14*8], rsi
jne 0x1401beb37
mov qword [rbp + r14*8], r11
mov qword [rbp + r14*8 + 8], r11
jmp 0x1401bebca
mov rdi, qword [rbp + r14*8 + 8]
mov rcx, r15
lea rdx, [rdi + 0x10]
call fcn.14002c208
test al, al
je 0x1401beb7c
mov r8, qword [rdi]
cmp r8, r11
je 0x1401beb75
mov rdx, qword [r11 + 8]
mov qword [rdx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], r8
mov rax, qword [r8 + 8]
mov qword [rax], r11
mov qword [r8 + 8], rcx
mov qword [rbx + 8], rdx
mov qword [r11 + 8], rax
mov qword [rbp + r14*8 + 8], r11
jmp 0x1401bebc5
mov r13, rdi
jmp 0x1401beb98
mov rdi, qword [rdi + 8]
mov rcx, r15
mov r13, rdi
lea rdx, [rdi + 0x10]
call fcn.14002c208
test al, al
jne 0x1401bec03
cmp qword [rbp + r14*8], rdi
jne 0x1401beb81
mov rdx, qword [r11 + 8]
mov qword [rdx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], r13
mov rax, qword [r13 + 8]
mov qword [rax], r11
mov qword [r13 + 8], rcx
mov qword [rbx + 8], rdx
mov qword [r11 + 8], rax
mov qword [rbp + r14*8], r11
lea rdi, [r12 + 0x18]
mov r11, rbx
cmp rbx, rsi
jne 0x1401beacc
and qword [rsp + 0x58], 0
lea rcx, [rsp + 0x58]
call fcn.1401bf15c
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov r8, qword [rdi]
mov rdx, qword [r11 + 8]
mov qword [rdx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], r8
mov rax, qword [r8 + 8]
mov qword [rax], r11
mov qword [r8 + 8], rcx
mov qword [rbx + 8], rdx
mov qword [r11 + 8], rax
jmp 0x1401bebc5
lea rcx, str.invalid_hash_bucket_count
call fcn.14006dcb4
int3
Function at 0x1401bf3d8
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x28
mov rbp, r8
mov r15, rdx
mov r9, rcx
cmp rdx, r8
je 0x1401bf57f
mov rax, qword [rcx + 8]
mov rsi, rdx
mov r12, qword [rcx + 0x18]
lea rcx, [rdx + 0x10]
cmp qword [rcx + 0x18], 8
mov r14, qword [rdx + 8]
mov r10, qword [rcx + 0x10]
mov qword [rsp + 0x80], rax
jb 0x1401bf428
mov rcx, qword [rcx]
xor r8d, r8d
movabs rdx, 0xcbf29ce484222325
movabs r11, 0x100000001b3
add r10, r10
je 0x1401bf458
movzx eax, byte [r8 + rcx]
inc r8
xor rdx, rax
imul rdx, r11
cmp r8, r10
jb 0x1401bf444
mov r13, qword [r9 + 0x30]
and r13, rdx
add r13, r13
mov rax, qword [r12 + r13*8]
mov qword [rsp + 0x78], rax
mov rax, qword [r12 + r13*8 + 8]
mov qword [rsp + 0x88], rax
mov rbx, rsi
mov rdi, rsi
mov rsi, qword [rsi]
lea rcx, [rbx + 0x10]
call fcn.14002e520
mov edx, 0x50
mov rcx, rbx
call fcn.140016264
mov r8, qword [rsp + 0x70]
dec qword [r8 + 0x10]
cmp rbx, qword [rsp + 0x88]
je 0x1401bf4c3
cmp rsi, rbp
jne 0x1401bf478
cmp qword [rsp + 0x78], r15
jne 0x1401bf578
mov qword [r12 + r13*8], rsi
jmp 0x1401bf578
cmp qword [rsp + 0x78], r15
jne 0x1401bf4db
mov rdx, qword [rsp + 0x80]
mov qword [r12 + r13*8], rdx
mov rax, rdx
jmp 0x1401bf4de
mov rax, r14
mov qword [r12 + r13*8 + 8], rax
cmp rsi, rbp
je 0x1401bf578
lea rcx, [rsi + 0x10]
cmp qword [rcx + 0x18], 8
mov r10, qword [rcx + 0x10]
jb 0x1401bf4fe
mov rcx, qword [rcx]
xor r9d, r9d
movabs rdx, 0xcbf29ce484222325
add r10, r10
je 0x1401bf533
movabs r8, 0x100000001b3
movzx eax, byte [r9 + rcx]
inc r9
xor rdx, rax
imul rdx, r8
cmp r9, r10
jb 0x1401bf51a
mov r8, qword [rsp + 0x70]
mov r15, qword [r8 + 0x30]
and r15, rdx
add r15, r15
mov r13, qword [r12 + r15*8 + 8]
mov rbx, rsi
mov rdi, rsi
mov rsi, qword [rsi]
lea rcx, [rbx + 0x10]
call fcn.14002e520
mov edx, 0x50
mov rcx, rbx
call fcn.140016264
mov r8, qword [rsp + 0x70]
dec qword [r8 + 0x10]
cmp rbx, r13
je 0x1401bf593
cmp rsi, rbp
jne 0x1401bf542
mov qword [r12 + r15*8], rsi
mov qword [r14], rsi
mov qword [rsi + 8], r14
mov rax, rbp
add rsp, 0x28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rax, qword [rsp + 0x80]
mov qword [r12 + r15*8], rax
mov qword [r12 + r15*8 + 8], rax
jmp 0x1401bf4e3
Function at 0x1401bf5ac
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x28
mov rbp, r8
mov r15, rdx
mov r9, rcx
cmp rdx, r8
je 0x1401bf753
mov rax, qword [rcx + 8]
mov rsi, rdx
mov r12, qword [rcx + 0x18]
lea rcx, [rdx + 0x10]
cmp qword [rcx + 0x18], 8
mov r14, qword [rdx + 8]
mov r10, qword [rcx + 0x10]
mov qword [rsp + 0x80], rax
jb 0x1401bf5fc
mov rcx, qword [rcx]
xor r8d, r8d
movabs rdx, 0xcbf29ce484222325
movabs r11, 0x100000001b3
add r10, r10
je 0x1401bf62c
movzx eax, byte [r8 + rcx]
inc r8
xor rdx, rax
imul rdx, r11
cmp r8, r10
jb 0x1401bf618
mov r13, qword [r9 + 0x30]
and r13, rdx
add r13, r13
mov rax, qword [r12 + r13*8]
mov qword [rsp + 0x78], rax
mov rax, qword [r12 + r13*8 + 8]
mov qword [rsp + 0x88], rax
mov rbx, rsi
mov rdi, rsi
mov rsi, qword [rsi]
lea rcx, [rbx + 0x10]
call fcn.14002e520
mov edx, 0x58
mov rcx, rbx
call fcn.140016264
mov r8, qword [rsp + 0x70]
dec qword [r8 + 0x10]
cmp rbx, qword [rsp + 0x88]
je 0x1401bf697
cmp rsi, rbp
jne 0x1401bf64c
cmp qword [rsp + 0x78], r15
jne 0x1401bf74c
mov qword [r12 + r13*8], rsi
jmp 0x1401bf74c
cmp qword [rsp + 0x78], r15
jne 0x1401bf6af
mov rdx, qword [rsp + 0x80]
mov qword [r12 + r13*8], rdx
mov rax, rdx
jmp 0x1401bf6b2
mov rax, r14
mov qword [r12 + r13*8 + 8], rax
cmp rsi, rbp
je 0x1401bf74c
lea rcx, [rsi + 0x10]
cmp qword [rcx + 0x18], 8
mov r10, qword [rcx + 0x10]
jb 0x1401bf6d2
mov rcx, qword [rcx]
xor r9d, r9d
movabs rdx, 0xcbf29ce484222325
add r10, r10
je 0x1401bf707
movabs r8, 0x100000001b3
movzx eax, byte [r9 + rcx]
inc r9
xor rdx, rax
imul rdx, r8
cmp r9, r10
jb 0x1401bf6ee
mov r8, qword [rsp + 0x70]
mov r15, qword [r8 + 0x30]
and r15, rdx
add r15, r15
mov r13, qword [r12 + r15*8 + 8]
mov rbx, rsi
mov rdi, rsi
mov rsi, qword [rsi]
lea rcx, [rbx + 0x10]
call fcn.14002e520
mov edx, 0x58
mov rcx, rbx
call fcn.140016264
mov r8, qword [rsp + 0x70]
dec qword [r8 + 0x10]
cmp rbx, r13
je 0x1401bf767
cmp rsi, rbp
jne 0x1401bf716
mov qword [r12 + r15*8], rsi
mov qword [r14], rsi
mov qword [rsi + 8], r14
mov rax, rbp
add rsp, 0x28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rax, qword [rsp + 0x80]
mov qword [r12 + r15*8], rax
mov qword [r12 + r15*8 + 8], rax
jmp 0x1401bf6b7