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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x40
mov rsi, rcx
cmp byte [rcx + 0x48], 0
je 0x1400a6bb8
mov rcx, qword [rdx + 0x108]
test rcx, rcx
je 0x1400a6bcd
lea rdx, [rsp + 0x60]
call fcn.1400593c0
test rax, rax
je 0x1400a6bcd
mov edi, dword [rax]
mov rax, qword [rsi + 0x10]
dec rax
cmp rdi, rax
jne 0x1400a6bb8
movzx edx, dil
movabs r14, 0xcbf29ce484222325
xor rdx, r14
movabs rbp, 0x100000001b3
imul rdx, rbp
mov eax, edi
shr eax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, rbp
mov eax, edi
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, rbp
mov eax, edi
shr rax, 0x18
xor rdx, rax
imul rdx, rbp
mov r9, qword [rsi + 0x30]
mov rax, r9
and rax, rdx
mov r10, qword [rsi + 0x18]
add rax, rax
mov rcx, qword [r10 + rax*8 + 8]
mov r8, qword [rsi + 8]
xor ebx, ebx
cmp rcx, r8
je 0x1400a6a98
mov rax, qword [r10 + rax*8]
cmp edi, dword [rcx + 0x10]
je 0x1400a6a9b
cmp rcx, rax
je 0x1400a6a98
mov rcx, qword [rcx + 8]
cmp edi, dword [rcx + 0x10]
jne 0x1400a6a88
jmp 0x1400a6a9b
mov rcx, rbx
test rcx, rcx
cmove rcx, r8
movzx edx, byte [rcx + 0x10]
xor rdx, r14
imul rdx, rbp
movzx eax, byte [rcx + 0x11]
xor rdx, rax
imul rdx, rbp
movzx eax, byte [rcx + 0x12]
xor rdx, rax
imul rdx, rbp
movzx eax, byte [rcx + 0x13]
xor rdx, rax
imul rdx, rbp
and rdx, r9
add rdx, rdx
mov rax, qword [r10 + rdx*8]
cmp qword [r10 + rdx*8 + 8], rcx
jne 0x1400a6afa
cmp rax, rcx
jne 0x1400a6aef
mov qword [r10 + rdx*8], r8
mov qword [r10 + rdx*8 + 8], r8
jmp 0x1400a6b06
mov r8, qword [rcx + 8]
mov qword [r10 + rdx*8 + 8], r8
jmp 0x1400a6b06
cmp rax, rcx
jne 0x1400a6b06
mov rax, qword [rcx]
mov qword [r10 + rdx*8], rax
mov rdx, qword [rcx]
dec qword [rsi + 0x10]
mov rax, qword [rcx + 8]
mov qword [rax], rdx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov edx, 0x20
call fcn.140161d84
test edi, edi
je 0x1400a6bb0
lea r8d, [rdi - 1]
mov r9d, r8d
movzx edx, r8b
xor rdx, r14
imul rdx, rbp
mov eax, r8d
shr eax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, rbp
mov eax, r8d
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, rbp
mov eax, r8d
shr rax, 0x18
xor rdx, rax
imul rdx, rbp
mov rcx, qword [rsi + 0x30]
and rcx, rdx
shl rcx, 4
add rcx, qword [rsi + 0x18]
mov rax, qword [rcx + 8]
mov rdx, qword [rsi + 8]
cmp rax, rdx
je 0x1400a6ba5
mov rcx, qword [rcx]
cmp r9d, dword [rax + 0x10]
je 0x1400a6ba2
cmp rax, rcx
je 0x1400a6ba5
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x1400a6b93
mov rbx, rax
test rbx, rbx
cmove rbx, rdx
mov rbx, qword [rbx + 0x18]
mov qword [rsi + 0x40], rbx
mov al, 1
jmp 0x1400a6bba
xor al, al
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x20]
call fcn.14004f550
nop
mov rcx, rax
call fcn.14004e4a0
int3
Function at 0x1400a6bf0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x1401dc478]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rbx, rdx
mov rsi, rcx
cmp byte [rcx + 0x40], 0
je 0x1400a6d30
lea rcx, [rsp + 0x28]
call fcn.140073750
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x58], xmm1
mov rcx, qword [rbx + 0x108]
test rcx, rcx
je 0x1400a6de5
lea rdx, [rsp + 0x20]
call fcn.1400593c0
test rax, rax
je 0x1400a6de5
mov r8d, dword [rax]
movzx edx, r8b
movabs r13, 0xcbf29ce484222325
xor rdx, r13
movabs r12, 0x100000001b3
imul rdx, r12
mov eax, r8d
shr eax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, r12
mov eax, r8d
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r12
mov eax, r8d
shr rax, 0x18
xor rdx, rax
imul rdx, r12
mov r14, qword [rsi + 0x30]
mov rax, r14
and rax, rdx
mov r15, qword [rsi + 0x18]
add rax, rax
mov rbx, qword [r15 + rax*8]
mov rbp, qword [rsi + 8]
cmp rbx, rbp
je 0x1400a6d30
mov rax, qword [r15 + rax*8 + 8]
cmp dword [rbx + 0x10], r8d
je 0x1400a6cee
nop word [rax + rax]
cmp rbx, rax
je 0x1400a6d30
mov rbx, qword [rbx]
cmp dword [rbx + 0x10], r8d
jne 0x1400a6ce0
mov rdi, qword [rbx]
cmp rbx, rax
je 0x1400a6d07
mov rcx, rdi
cmp r8d, dword [rdi + 0x10]
jne 0x1400a6d07
mov rdi, qword [rdi]
cmp rcx, rax
jne 0x1400a6cf6
cmp rbx, rdi
je 0x1400a6d30
nop dword [rax]
lea rcx, [rbx + 0x14]
mov r8d, 0x20
lea rdx, [rsp + 0x48]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400a6d57
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x1400a6d10
xor al, al
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1401623e0
mov rbx, qword [rsp + 0xc0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movzx ecx, byte [rbx + 0x10]
xor rcx, r13
imul rcx, r12
movzx eax, byte [rbx + 0x11]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbx + 0x12]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbx + 0x13]
xor rcx, rax
imul rcx, r12
and r14, rcx
add r14, r14
mov rax, qword [r15 + r14*8]
cmp qword [r15 + r14*8 + 8], rbx
jne 0x1400a6daf
cmp rax, rbx
jne 0x1400a6da4
mov qword [r15 + r14*8], rbp
mov qword [r15 + r14*8 + 8], rbp
jmp 0x1400a6dbb
mov rbp, qword [rbx + 8]
mov qword [r15 + r14*8 + 8], rbp
jmp 0x1400a6dbb
cmp rax, rbx
jne 0x1400a6dbb
mov rax, qword [rbx]
mov qword [r15 + r14*8], rax
mov rcx, qword [rbx]
dec qword [rsi + 0x10]
mov rax, qword [rbx + 8]
mov qword [rax], rcx
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
mov edx, 0x38
mov rcx, rbx
call fcn.140161d84
mov al, 1
jmp 0x1400a6d32
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x48]
call fcn.14004f550
nop
mov rcx, rax
call fcn.14004e4a0
int3
Function at 0x1400b8d10
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
xor r9d, r9d
lea rbx, [r8 + 0x10]
mov rdi, r8
mov r14, rdx
mov rsi, rcx
mov r10d, r9d
mov r11, r8
cmp r8, rbx
je 0x1400b8d76
mov edx, 0x9e3779b9
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [r11]
mov r8, r10
mov rax, r10
shl r8, 6
shr rax, 2
inc r11
add rax, r8
add rax, rdx
add rcx, rax
xor r10, rcx
cmp r11, rbx
jne 0x1400b8d50
mov rdx, qword [rsi + 0x30]
mov rax, qword [rsi + 0x18]
and rdx, r10
mov r8, qword [rsi + 8]
add rdx, rdx
mov rcx, qword [rax + rdx*8 + 8]
cmp rcx, r8
je 0x1400b8dd0
movdqu xmm1, xmmword [rdi]
mov rdx, qword [rax + rdx*8]
movdqu xmm0, xmmword [rcx + 0x10]
pcmpeqd xmm0, xmm1
pmovmskb eax, xmm0
cmp eax, 0xffff
je 0x1400b8dcd
nop
cmp rcx, rdx
je 0x1400b8dd0
mov rcx, qword [rcx + 8]
movdqu xmm0, xmmword [rcx + 0x10]
pcmpeqd xmm0, xmm1
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x1400b8db0
mov r9, rcx
mov rbx, qword [rsp + 8]
test r9, r9
mov rsi, qword [rsp + 0x10]
mov rax, r14
mov rdi, qword [rsp + 0x18]
cmove r9, r8
mov qword [r14], r9
mov r14, qword [rsp + 0x20]
ret
Function at 0x1400bce70
Capabilities:
Generate random numbers via winapi

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x1401dc478]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rbx, rdx
xor r9d, r9d
lea r8d, [r9 + 0x10]
lea rdx, [rsp + 0x40]
mov rcx, qword [rcx]
call sub.bcrypt.dll_BCryptGenRandom
movsxd rdi, eax
test eax, eax
jne 0x1400bcef1
movzx ecx, byte [rsp + 0x48]
and cl, 0x3f
or cl, 0x80
mov byte [rsp + 0x48], cl
movzx ecx, byte [rsp + 0x46]
and cl, 0xf
or cl, 0x40
mov byte [rsp + 0x46], cl
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rbx], xmm0
mov rax, rbx
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1401623e0
mov rbx, qword [rsp + 0xa0]
add rsp, 0x80
pop rdi
ret
lea rdx, [0x14018c248]
lea rcx, [rsp + 0x50]
call fcn.14000f250
nop
mov rdx, rdi
lea r8, [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.1400bb430
nop
mov r9d, 0x58
lea r8, str.C:.hunter_Base95c47c94a379ff_a2b19f8Installinclude_boost_uuid_detail_random_provider_bcrypt.ipp
lea rdx, str.void___cdecl_boost::uuids::detail::random_provider_base::get_random_bytes_void__unsigned___int64_
mov rcx, rax
call fcn.1400ba660
int3
Function at 0x1400bdd30
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rdi
sub rsp, 0x28
movabs rax, 0xfffffffffffffff
mov rbp, rcx
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x1400bdf14
lea rax, [rdx - 1]
mov qword [rsp + 0x40], rbx
mov rbx, qword [rbp + 8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
mov qword [rsp + 0x50], r14
inc ecx
shl rdi, cl
lea rcx, [rbp + 0x18]
lea rdx, [rdi + rdi]
call fcn.14005f140
mov rcx, qword [rbp + 8]
lea rax, [rdi - 1]
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rdi
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x1400bdedd
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x20], r15
mov r15d, 0x9e3779b9
nop dword [rax + rax]
mov rdx, qword [rdx]
lea rsi, [rcx + 0x10]
xor r10d, r10d
lea rdi, [rcx + 0x20]
mov r11, rsi
cmp rsi, rdi
je 0x1400bde06
nop word [rax + rax]
movzx r8d, byte [r11]
mov r9, r10
mov rax, r10
shl r9, 6
shr rax, 2
inc r11
add rax, r9
add rax, r15
add r8, rax
xor r10, r8
cmp r11, rdi
jne 0x1400bdde0
mov r11, qword [rbp + 0x30]
and r11, r10
shl r11, 4
add r11, qword [rbp + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x1400bde29
mov qword [r11], rcx
mov qword [r11 + 8], rcx
jmp 0x1400bdec7
mov rax, qword [r11 + 8]
movdqu xmm1, xmmword [rsi]
movdqu xmm0, xmmword [rax + 0x10]
pcmpeqd xmm0, xmm1
pmovmskb r8d, xmm0
cmp r8d, 0xffff
jne 0x1400bde77
mov r10, qword [rax]
cmp r10, rcx
je 0x1400bde71
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
mov qword [r11 + 8], rcx
jmp 0x1400bdec7
mov r10, rax
cmp r9, rax
je 0x1400bdea3
nop
mov rax, qword [rax + 8]
mov r10, rax
movdqu xmm0, xmmword [rax + 0x10]
pcmpeqd xmm0, xmm1
pmovmskb r8d, xmm0
cmp r8d, 0xffff
je 0x1400bdeee
cmp r9, rax
jne 0x1400bde80
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
mov qword [r11], rcx
mov rcx, rdx
cmp rdx, rbx
jne 0x1400bddc0
mov r15, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov r14, qword [rsp + 0x50]
add rsp, 0x28
pop rdi
pop rbp
ret
mov r10, qword [rax]
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
jmp 0x1400bdec7
lea rcx, str.invalid_hash_bucket_count
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3
Function at 0x1400bdf30
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
mov rax, qword [rcx + 8]
xor r14d, r14d
mov edi, r14d
mov ebp, r14d
mov rsi, rcx
nop word [rax + rax]
lea ecx, [rax + 0xff]
shl rdi, cl
add rdi, rdi
nop dword [rax]
mov r10, qword [rsi]
mov ecx, dword [r10]
cmp ecx, 0x270
jne 0x1400bdfd4
lea rax, [r10 + 8]
mov r9d, ecx
nop word [rax + rax]
mov r8d, dword [rax - 4]
xor r8d, dword [rax]
lea rax, [rax + 4]
btr r8d, 0x1f
xor r8d, dword [rax - 8]
mov ecx, r8d
and cl, 1
neg cl
sbb edx, edx
shr r8d, 1
and edx, 0x9908b0df
xor edx, dword [rax + 0x62c]
xor edx, r8d
mov dword [rax + 0x9b8], edx
sub r9, 1
jne 0x1400bdf90
mov ecx, dword [r10]
jmp 0x1400be0b7
cmp ecx, 0x4e0
jb 0x1400be0b7
lea r11, [r10 + 0x9c4]
mov ebx, 0xe3
mov eax, dword [r11]
nop
mov edx, dword [r11 + 4]
lea r8, [r11 + 4]
xor edx, eax
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
mov eax, dword [r8]
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r11 + 0x634]
xor ecx, edx
mov dword [r11 - 0x9c0], ecx
lea r11, [r8]
sub rbx, 1
jne 0x1400bdff0
lea r11, [r10 + 0xd50]
mov ebx, 0x18c
mov eax, dword [r11]
nop dword [rax + rax]
mov edx, eax
lea r8, [r11 + 4]
xor edx, dword [r8]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
mov eax, dword [r8]
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r11 - 0xd4c]
xor ecx, edx
mov dword [r11 - 0x9c0], ecx
lea r11, [r8]
sub rbx, 1
jne 0x1400be040
mov edx, dword [r10 + 0x1380]
xor edx, dword [r10 + 4]
btr edx, 0x1f
xor edx, dword [r10 + 0x1380]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r10 + 0x634]
xor ecx, edx
mov dword [r10 + 0x9c0], ecx
mov ecx, r14d
mov dword [r10], r14d
mov eax, ecx
mov edx, dword [r10 + rax*4 + 4]
lea eax, [rcx + 1]
mov ecx, edx
mov dword [r10], eax
mov eax, dword [r10 + 0x1384]
shr ecx, 0xb
and eax, ecx
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and edx, 0xffffdf8c
shl edx, 0xf
mov ecx, edx
xor rcx, rax
mov rdx, rcx
shr rdx, 0x12
xor rdx, rcx
cmp rdx, qword [rsi + 0x10]
ja 0x1400bdf70
mov rax, qword [rsi + 8]
or rdi, rdx
add rbp, rax
cmp rbp, 0x40
jb 0x1400bdf60
mov rbx, qword [rsp + 0x10]
mov rax, rdi
mov rdi, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x20]
pop r14
ret
Function at 0x1400c0750
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x10], rdx
push rsi
push rdi
push r14
sub rsp, 0x40
mov rbp, rdx
mov r14, rcx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 0
mov rdx, qword [rcx + 0x18]
test rdx, rdx
je 0x1400c07a5
movabs rax, 0xfffffffffffffff
cmp rdx, rax
ja 0x1400c0971
lea rcx, [rsp + 0x20]
call fcn.1400be1d0
mov rsi, qword [r14 + 0x10]
mov rbx, qword [rsi]
mov rdi, qword [rsp + 0x28]
cmp rbx, rsi
je 0x1400c07ff
nop word [rax + rax]
lea r8, [rbx + 0x10]
cmp rdi, qword [rsp + 0x30]
je 0x1400c07e2
movups xmm0, xmmword [r8]
movups xmmword [rdi], xmm0
mov rdi, qword [rsp + 0x28]
add rdi, 0x10
mov qword [rsp + 0x28], rdi
jmp 0x1400c07f4
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.1400b7aa0
mov rdi, qword [rsp + 0x28]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
jne 0x1400c07c0
mov r8, qword [rsp + 0x20]
cmp r8, rdi
je 0x1400c08e8
mov esi, 0x9e3779b9
nop dword [rax]
nop word [rax + rax]
xor r9d, r9d
mov r10, r8
lea rbx, [r8 + 0x10]
cmp r8, rbx
je 0x1400c0856
nop
mov rdx, r9
shl rdx, 6
mov rax, r9
shr rax, 2
add rax, rdx
movzx ecx, byte [r10]
add rax, rsi
add rcx, rax
xor r9, rcx
inc r10
cmp r10, rbx
jne 0x1400c0830
mov rcx, qword [r14 + 0x38]
and rcx, r9
add rcx, rcx
mov rax, qword [r14 + 0x20]
mov rdx, qword [rax + rcx*8 + 8]
mov r9, qword [r14 + 0x10]
cmp rdx, r9
je 0x1400c08d7
mov rcx, qword [rax + rcx*8]
movdqu xmm2, xmmword [r8]
movdqu xmm0, xmmword [rdx + 0x10]
movdqa xmm1, xmm2
pcmpeqd xmm1, xmm0
pmovmskb eax, xmm1
cmp eax, 0xffff
je 0x1400c08b4
cmp rdx, rcx
je 0x1400c08d7
mov rdx, qword [rdx + 8]
movdqu xmm0, xmmword [rdx + 0x10]
movdqa xmm1, xmm2
pcmpeqd xmm1, xmm0
pmovmskb eax, xmm1
cmp eax, 0xffff
jne 0x1400c0893
test rdx, rdx
cmove rdx, r9
cmp rdx, r9
je 0x1400c08d7
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x1400c096b
mov rax, qword [rcx]
add rdx, 0x20
call qword [rax + reloc.WS2_32.dll_recv]
mov r8, rbx
cmp rbx, rdi
jne 0x1400c0820
mov r8, qword [rsp + 0x20]
test r8, r8
je 0x1400c093b
mov rdx, qword [rsp + 0x30]
sub rdx, r8
and rdx, 0xfffffffffffffff0
mov rax, r8
cmp rdx, 0x1000
jb 0x1400c0921
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400c0921
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.140161d84
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 0
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x1400c0958
mov rax, qword [rcx]
cmp rcx, rbp
setne dl
call qword [rax + 0x20]
mov qword [rbp + 0x38], 0
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x70]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
nop
call fcn.1400166f0
int3
Function at 0x1400cd970
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rsi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov rsi, rcx
bsr rcx, rax
mov ebx, 1
mov eax, ebx
shl rax, cl
cmp rdx, rax
ja 0x1400cdb53
lea rax, [rdx - 1]
mov qword [rsp + 0x38], rdi
mov rdi, qword [rsi + 8]
or rax, rbx
bsr rcx, rax
mov r8, rdi
mov qword [rsp + 0x40], r14
inc ecx
shl rbx, cl
lea rcx, [rsi + 0x18]
lea rdx, [rbx + rbx]
call fcn.14005f140
mov rdx, qword [rsi + 8]
lea rax, [rbx - 1]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rbx
mov rdx, qword [rdx]
cmp rdx, rdi
je 0x1400cdb18
mov qword [rsp + 0x30], rbp
mov rcx, rdx
movabs rbp, 0xcbf29ce484222325
movabs rbx, 0x100000001b3
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx + 0x11]
movzx r9d, byte [rcx + 0x10]
mov r11, qword [rsi + 0x30]
xor r9, rbp
mov rdx, qword [rdx]
imul r9, rbx
xor r9, rax
movzx eax, byte [rcx + 0x12]
imul r9, rbx
xor r9, rax
movzx eax, byte [rcx + 0x13]
imul r9, rbx
xor r9, rax
movzx eax, byte [rcx + 0x14]
imul r9, rbx
xor r9, rax
movzx eax, byte [rcx + 0x15]
imul r9, rbx
xor r9, rax
movzx eax, byte [rcx + 0x16]
imul r9, rbx
xor r9, rax
movzx eax, byte [rcx + 0x17]
imul r9, rbx
xor r9, rax
imul r9, rbx
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r10, qword [r11]
cmp r10, rdi
jne 0x1400cda8c
mov qword [r11], rcx
mov qword [r11 + 8], rcx
jmp 0x1400cdb07
mov rax, qword [r11 + 8]
mov r9, qword [rcx + 0x10]
cmp r9, qword [rax + 0x10]
jne 0x1400cdac9
mov r10, qword [rax]
cmp r10, rcx
je 0x1400cdac3
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
mov qword [r11 + 8], rcx
jmp 0x1400cdb07
mov r8, rax
cmp r10, rax
je 0x1400cdae3
mov rax, qword [rax + 8]
mov r8, rax
cmp r9, qword [rax + 0x10]
je 0x1400cdb2d
cmp r10, rax
jne 0x1400cdad1
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], r8
mov rax, qword [r8 + 8]
mov qword [rax], rcx
mov qword [r8 + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], rax
mov qword [r11], rcx
mov rcx, rdx
cmp rdx, rdi
jne 0x1400cda10
mov rbp, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
add rsp, 0x20
pop rsi
ret
mov r10, qword [rax]
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
jmp 0x1400cdb07
lea rcx, str.invalid_hash_bucket_count
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3
Function at 0x1400d4b10
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
cmp qword [r8 + 0x18], 0x10
mov rbx, rdx
mov rdx, r8
mov rdi, rcx
jb 0x1400d4b2d
mov rdx, qword [r8]
mov r11, qword [r8 + 0x10]
xor r10d, r10d
movabs r9, 0xcbf29ce484222325
test r11, r11
je 0x1400d4b64
movabs rcx, 0x100000001b3
nop dword [rax]
movzx eax, byte [r10 + rdx]
inc r10
xor r9, rax
imul r9, rcx
cmp r10, r11
jb 0x1400d4b50
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400b2740
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1400d4b8b
mov qword [rbx], rcx
mov rax, rbx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
mov rax, qword [rdi + 8]
mov qword [rbx], rax
mov rax, rbx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
Function at 0x140120450
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
mov r15, rdx
lea r14, [rdx - 1]
mov rdi, rcx
xor r12d, r12d
nop word [rax + rax]
mov rsi, r12
mov rbp, r12
test r14, r14
je 0x140120666
mov rdx, qword [rdi + 8]
nop dword [rax]
nop word [rax + rax]
lea ecx, [rdx + 0xff]
shl rsi, cl
add rsi, rsi
nop dword [rax]
mov r10, qword [rdi]
mov ecx, dword [r10]
cmp ecx, 0x270
jne 0x140120514
lea rax, [r10 + 8]
mov r9d, ecx
nop word [rax + rax]
mov r8d, dword [rax - 4]
xor r8d, dword [rax]
lea rax, [rax + 4]
btr r8d, 0x1f
xor r8d, dword [rax - 8]
mov ecx, r8d
and cl, 1
neg cl
sbb edx, edx
shr r8d, 1
and edx, 0x9908b0df
xor edx, dword [rax + 0x62c]
xor edx, r8d
mov dword [rax + 0x9b8], edx
sub r9, 1
jne 0x1401204d0
mov ecx, dword [r10]
jmp 0x1401205f7
cmp ecx, 0x4e0
jb 0x1401205f7
lea r11, [r10 + 0x9c4]
mov ebx, 0xe3
mov eax, dword [r11]
nop
mov edx, eax
lea r8, [r11 + 4]
xor edx, dword [r8]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
mov eax, dword [r8]
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, edx
xor ecx, dword [r11 + 0x634]
mov dword [r11 - 0x9c0], ecx
lea r11, [r8]
sub rbx, 1
jne 0x140120530
lea r11, [r10 + 0xd50]
mov ebx, 0x18c
mov eax, dword [r11]
nop word [rax + rax]
mov edx, eax
lea r8, [r11 + 4]
xor edx, dword [r8]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
mov eax, dword [r8]
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r11 - 0xd4c]
xor ecx, edx
mov dword [r11 - 0x9c0], ecx
lea r11, [r8]
sub rbx, 1
jne 0x140120580
mov edx, dword [r10 + 0x1380]
xor edx, dword [r10 + 4]
btr edx, 0x1f
xor edx, dword [r10 + 0x1380]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r10 + 0x634]
xor ecx, edx
mov dword [r10 + 0x9c0], ecx
mov ecx, r12d
mov dword [r10], r12d
mov eax, ecx
mov edx, dword [r10 + rax*4 + 4]
lea eax, [rcx + 1]
mov dword [r10], eax
mov ecx, edx
mov eax, dword [r10 + 0x1384]
mov r8, qword [rdi + 0x10]
shr ecx, 0xb
and eax, ecx
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and edx, 0xffffdf8c
shl edx, 0xf
mov ecx, edx
xor rcx, rax
mov rax, rcx
shr rax, 0x12
xor rax, rcx
cmp rax, r8
ja 0x1401204b0
mov rdx, qword [rdi + 8]
or rsi, rax
lea ecx, [rdx + 0xff]
shl rbp, cl
add rbp, rbp
or rbp, r8
cmp rbp, r14
jb 0x1401204a0
xor edx, edx
mov rax, rbp
div r15
mov rcx, rax
mov r8, rdx
xor edx, edx
mov rax, rsi
div r15
cmp rax, rcx
jb 0x14012068a
cmp r8, r14
jne 0x140120480
mov rbx, qword [rsp + 0x20]
mov rax, rsi
mov rbp, qword [rsp + 0x28]
xor edx, edx
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
div r15
mov rax, rdx
pop r15
pop r14
pop r12
ret