joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14001c670
Capabilities:
Get thread local storage value

Disassembly:
push rbx
sub rsp, 0x20
mov ebx, ecx
call fcn.14001b4a0
mov ecx, dword [0x140020678]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14001c6b0
test ebx, ebx
jle 0x14001c6a0
lock add dword [rax + 0x20], 1
add rsp, 0x20
pop rbx
ret
lock sub dword [rax + 0x20], 1
add rsp, 0x20
pop rbx
ret
call fcn.14001b550
test rax, rax
jne 0x14001c68d
add rsp, 0x20
pop rbx
ret

Function at 0x14001c7a0
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rbx
sub rsp, 0x28
call fcn.14001b4a0
mov ecx, dword [0x140020678]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
mov rbx, rax
je 0x14001c818
test byte [rbx + 0x40], 0xc
jne 0x14001c7cf
mov eax, dword [0x141310658]
test eax, eax
jne 0x14001c7e0
add rsp, 0x28
pop rbx
pop rsi
ret
lea rsi, [rbx + 0x38]
mov rcx, rsi
call fcn.14001a720
movzx eax, byte [rbx + 0x40]
test al, 3
je 0x14001c803
mov edx, dword [rbx + 0x44]
test dl, 1
je 0x14001c803
mov ecx, dword [rbx + 0x20]
test ecx, ecx
jle 0x14001c82c
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rsi
jmp fcn.14001aa10
call fcn.14001b550
test rax, rax
mov rbx, rax
jne 0x14001c7bf
add rsp, 0x28
pop rbx
pop rsi
ret
mov rcx, qword [rbx + 0x30]
and eax, 0xfffffff3
and edx, 0xfffffffe
or eax, 4
mov dword [rbx + 0x44], edx
mov byte [rbx + 0x40], al
test rcx, rcx
je 0x14001c84a
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov rcx, rsi
call fcn.14001aa10
call fcn.14001c6c0
nop
nop dword [rax + rax]
push rdi
push rsi
push rbx
sub rsp, 0x20
test rcx, rcx
je 0x14001c8d0
call fcn.14001d9b0
mov rsi, rax
mov eax, 0xfffffffe
cmp rax, rsi
jb 0x14001c908
call fcn.14001b4a0
mov ecx, dword [0x140020678]
mov edi, esi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
mov rbx, rax
je 0x14001c960
test esi, esi
je 0x14001c8e6
call fcn.14001c7a0
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x14001c940
mov edx, edi
call fcn.14001da60
call fcn.14001c7a0
xor eax, eax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
call fcn.14001b4a0
mov ecx, dword [0x140020678]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14001c950
call fcn.14001c7a0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.14001c7a0
xor eax, eax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
call fcn.14001b4a0
mov ecx, dword [0x140020678]
mov edi, 0xffffffff
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
mov rbx, rax
jne 0x14001c8a5
call fcn.14001b550
mov rbx, rax
jmp 0x14001c8a5
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14001c8be
call fcn.14001b550
jmp 0x14001c8e6
call fcn.14001b550
mov rbx, rax
jmp 0x14001c8a1
Function at 0x14001c860
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rbx
sub rsp, 0x28
call fcn.14001b4a0
mov ecx, dword [0x140020678]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
mov rbx, rax
je 0x14001c818
test byte [rbx + 0x40], 0xc
jne 0x14001c7cf
mov eax, dword [0x141310658]
test eax, eax
jne 0x14001c7e0
add rsp, 0x28
pop rbx
pop rsi
ret
lea rsi, [rbx + 0x38]
mov rcx, rsi
call fcn.14001a720
movzx eax, byte [rbx + 0x40]
test al, 3
je 0x14001c803
mov edx, dword [rbx + 0x44]
test dl, 1
je 0x14001c803
mov ecx, dword [rbx + 0x20]
test ecx, ecx
jle 0x14001c82c
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rsi
jmp fcn.14001aa10
call fcn.14001b550
test rax, rax
mov rbx, rax
jne 0x14001c7bf
add rsp, 0x28
pop rbx
pop rsi
ret
mov rcx, qword [rbx + 0x30]
and eax, 0xfffffff3
and edx, 0xfffffffe
or eax, 4
mov dword [rbx + 0x44], edx
mov byte [rbx + 0x40], al
test rcx, rcx
je 0x14001c84a
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov rcx, rsi
call fcn.14001aa10
call fcn.14001c6c0
nop
nop dword [rax + rax]
push rdi
push rsi
push rbx
sub rsp, 0x20
test rcx, rcx
je 0x14001c8d0
call fcn.14001d9b0
mov rsi, rax
mov eax, 0xfffffffe
cmp rax, rsi
jb 0x14001c908
call fcn.14001b4a0
mov ecx, dword [0x140020678]
mov edi, esi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
mov rbx, rax
je 0x14001c960
test esi, esi
je 0x14001c8e6
call fcn.14001c7a0
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x14001c940
mov edx, edi
call fcn.14001da60
call fcn.14001c7a0
xor eax, eax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
call fcn.14001b4a0
mov ecx, dword [0x140020678]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14001c950
call fcn.14001c7a0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.14001c7a0
xor eax, eax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
call fcn.14001b4a0
mov ecx, dword [0x140020678]
mov edi, 0xffffffff
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
mov rbx, rax
jne 0x14001c8a5
call fcn.14001b550
mov rbx, rax
jmp 0x14001c8a5
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14001c8be
call fcn.14001b550
jmp 0x14001c8e6
call fcn.14001b550
mov rbx, rax
jmp 0x14001c8a1

Function at 0x14001c970
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov esi, ecx
call fcn.14001b4a0
mov ecx, dword [0x140020678]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
mov rbx, rax
je 0x14001c9e0
test esi, esi
je 0x14001c9c0
call fcn.14001c7a0
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x14001c9f0
mov edx, esi
call fcn.14001da60
call fcn.14001c7a0
xor eax, eax
add rsp, 0x28
pop rbx
pop rsi
ret
call fcn.14001c7a0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.14001c7a0
xor eax, eax
add rsp, 0x28
pop rbx
pop rsi
ret
call fcn.14001b550
mov rbx, rax
jmp 0x14001c991
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14001c9aa
Function at 0x140006570
Capabilities:
Hash data using djb2

Disassembly:
movsx eax, byte [rcx]
test eax, eax
je 0x1400066b6
add eax, 0x2b5a5
movsx edx, byte [rcx + 1]
test edx, edx
je 0x1400066b5
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 2]
test edx, edx
je 0x1400066b5
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 3]
test edx, edx
je 0x1400066b5
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 4]
test edx, edx
je 0x1400066b5
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 5]
test edx, edx
je 0x1400066b5
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 6]
test edx, edx
je 0x1400066b5
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 7]
test edx, edx
je 0x1400066b5
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 8]
test edx, edx
je 0x1400066b5
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 9]
test edx, edx
je 0x1400066b5
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xa]
test edx, edx
je 0x1400066b5
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xb]
test edx, edx
je 0x1400066b5
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xc]
test edx, edx
je 0x1400066b5
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xd]
test edx, edx
je 0x1400066b5
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx ecx, byte [rcx + 0xe]
test ecx, ecx
je 0x1400066b5
add ecx, eax
shl eax, 5
add ecx, eax
mov eax, ecx
ret
mov eax, 0x1505
ret
Function at 0x14000df00
Capabilities:
Hash data using djb2

Disassembly:
movsx eax, byte [rcx]
test eax, eax
je 0x14000e016
add eax, 0x2b5a5
movsx edx, byte [rcx + 1]
test edx, edx
je 0x14000e015
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 2]
test edx, edx
je 0x14000e015
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 3]
test edx, edx
je 0x14000e015
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 4]
test edx, edx
je 0x14000e015
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 5]
test edx, edx
je 0x14000e015
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 6]
test edx, edx
je 0x14000e015
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 7]
test edx, edx
je 0x14000e015
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 8]
test edx, edx
je 0x14000e015
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 9]
test edx, edx
je 0x14000e015
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xa]
test edx, edx
je 0x14000e015
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xb]
test edx, edx
je 0x14000e015
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx ecx, byte [rcx + 0xc]
test ecx, ecx
je 0x14000e015
add ecx, eax
shl eax, 5
add ecx, eax
mov eax, ecx
ret
mov eax, 0x1505
ret
Function at 0x14000fd70
Capabilities:
Hash data using djb2

Disassembly:
movsx eax, byte [rcx]
test eax, eax
je 0x14000ff46
add eax, 0x2b5a5
movsx edx, byte [rcx + 1]
test edx, edx
je 0x14000ff45
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 2]
test edx, edx
je 0x14000ff45
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 3]
test edx, edx
je 0x14000ff45
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 4]
test edx, edx
je 0x14000ff45
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 5]
test edx, edx
je 0x14000ff45
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 6]
test edx, edx
je 0x14000ff45
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 7]
test edx, edx
je 0x14000ff45
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 8]
test edx, edx
je 0x14000ff45
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 9]
test edx, edx
je 0x14000ff45
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xa]
test edx, edx
je 0x14000ff45
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xb]
test edx, edx
je 0x14000ff45
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xc]
test edx, edx
je 0x14000ff45
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xd]
test edx, edx
je 0x14000ff45
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xe]
test edx, edx
je 0x14000ff45
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xf]
test edx, edx
je 0x14000ff45
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0x10]
test edx, edx
je 0x14000ff45
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0x11]
test edx, edx
je 0x14000ff45
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0x12]
test edx, edx
je 0x14000ff45
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0x13]
test edx, edx
je 0x14000ff45
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx ecx, byte [rcx + 0x14]
test ecx, ecx
je 0x14000ff45
add ecx, eax
shl eax, 5
add ecx, eax
mov eax, ecx
ret
mov eax, 0x1505
ret
Function at 0x1400103f0
Capabilities:
Hash data using djb2

Disassembly:
movsx eax, byte [rcx]
test eax, eax
je 0x14001054e
add eax, 0x2b5a5
movsx edx, byte [rcx + 1]
test edx, edx
je 0x14001054d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 2]
test edx, edx
je 0x14001054d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 3]
test edx, edx
je 0x14001054d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 4]
test edx, edx
je 0x14001054d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 5]
test edx, edx
je 0x14001054d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 6]
test edx, edx
je 0x14001054d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 7]
test edx, edx
je 0x14001054d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 8]
test edx, edx
je 0x14001054d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 9]
test edx, edx
je 0x14001054d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xa]
test edx, edx
je 0x14001054d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xb]
test edx, edx
je 0x14001054d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xc]
test edx, edx
je 0x14001054d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xd]
test edx, edx
je 0x14001054d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xe]
test edx, edx
je 0x14001054d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx ecx, byte [rcx + 0xf]
test ecx, ecx
je 0x14001054d
add ecx, eax
shl eax, 5
add ecx, eax
mov eax, ecx
ret
mov eax, 0x1505
ret
Function at 0x140010f00
Capabilities:
Hash data using djb2

Disassembly:
movsx eax, byte [rcx]
test eax, eax
je 0x14001102e
add eax, 0x2b5a5
movsx edx, byte [rcx + 1]
test edx, edx
je 0x14001102d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 2]
test edx, edx
je 0x14001102d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 3]
test edx, edx
je 0x14001102d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 4]
test edx, edx
je 0x14001102d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 5]
test edx, edx
je 0x14001102d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 6]
test edx, edx
je 0x14001102d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 7]
test edx, edx
je 0x14001102d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 8]
test edx, edx
je 0x14001102d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 9]
test edx, edx
je 0x14001102d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xa]
test edx, edx
je 0x14001102d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xb]
test edx, edx
je 0x14001102d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xc]
test edx, edx
je 0x14001102d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx ecx, byte [rcx + 0xd]
test ecx, ecx
je 0x14001102d
add ecx, eax
shl eax, 5
add ecx, eax
mov eax, ecx
ret
mov eax, 0x1505
ret
Function at 0x140013020
Capabilities:
Hash data using djb2

Disassembly:
movsx eax, byte [rcx]
test eax, eax
je 0x140013196
add eax, 0x2b5a5
movsx edx, byte [rcx + 1]
test edx, edx
je 0x140013195
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 2]
test edx, edx
je 0x140013195
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 3]
test edx, edx
je 0x140013195
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 4]
test edx, edx
je 0x140013195
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 5]
test edx, edx
je 0x140013195
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 6]
test edx, edx
je 0x140013195
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 7]
test edx, edx
je 0x140013195
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 8]
test edx, edx
je 0x140013195
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 9]
test edx, edx
je 0x140013195
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xa]
test edx, edx
je 0x140013195
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xb]
test edx, edx
je 0x140013195
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xc]
test edx, edx
je 0x140013195
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xd]
test edx, edx
je 0x140013195
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xe]
test edx, edx
je 0x140013195
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xf]
test edx, edx
je 0x140013195
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx ecx, byte [rcx + 0x10]
test ecx, ecx
je 0x140013195
add ecx, eax
shl eax, 5
add ecx, eax
mov eax, ecx
ret
mov eax, 0x1505
ret

Function at 0x140013f40
Capabilities:
Hash data using djb2

Disassembly:
movsx eax, byte [rcx]
test eax, eax
je 0x140014026
add eax, 0x2b5a5
movsx edx, byte [rcx + 1]
test edx, edx
je 0x140014025
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 2]
test edx, edx
je 0x140014025
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 3]
test edx, edx
je 0x140014025
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 4]
test edx, edx
je 0x140014025
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 5]
test edx, edx
je 0x140014025
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 6]
test edx, edx
je 0x140014025
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 7]
test edx, edx
je 0x140014025
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 8]
test edx, edx
je 0x140014025
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 9]
test edx, edx
je 0x140014025
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx ecx, byte [rcx + 0xa]
test ecx, ecx
je 0x140014025
add ecx, eax
shl eax, 5
add ecx, eax
mov eax, ecx
ret
mov eax, 0x1505
ret
Function at 0x1400149a0
Capabilities:
Hash data using djb2

Disassembly:
movsx eax, byte [rcx]
test eax, eax
je 0x140014a9e
add eax, 0x2b5a5
movsx edx, byte [rcx + 1]
test edx, edx
je 0x140014a9d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 2]
test edx, edx
je 0x140014a9d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 3]
test edx, edx
je 0x140014a9d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 4]
test edx, edx
je 0x140014a9d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 5]
test edx, edx
je 0x140014a9d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 6]
test edx, edx
je 0x140014a9d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 7]
test edx, edx
je 0x140014a9d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 8]
test edx, edx
je 0x140014a9d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 9]
test edx, edx
je 0x140014a9d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xa]
test edx, edx
je 0x140014a9d
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx ecx, byte [rcx + 0xb]
test ecx, ecx
je 0x140014a9d
add ecx, eax
shl eax, 5
add ecx, eax
mov eax, ecx
ret
mov eax, 0x1505
ret
Function at 0x1400168f0
Capabilities:
Hash data using djb2

Disassembly:
movsx eax, byte [rcx]
test eax, eax
je 0x140016a96
add eax, 0x2b5a5
movsx edx, byte [rcx + 1]
test edx, edx
je 0x140016a95
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 2]
test edx, edx
je 0x140016a95
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 3]
test edx, edx
je 0x140016a95
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 4]
test edx, edx
je 0x140016a95
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 5]
test edx, edx
je 0x140016a95
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 6]
test edx, edx
je 0x140016a95
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 7]
test edx, edx
je 0x140016a95
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 8]
test edx, edx
je 0x140016a95
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 9]
test edx, edx
je 0x140016a95
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xa]
test edx, edx
je 0x140016a95
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xb]
test edx, edx
je 0x140016a95
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xc]
test edx, edx
je 0x140016a95
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xd]
test edx, edx
je 0x140016a95
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xe]
test edx, edx
je 0x140016a95
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0xf]
test edx, edx
je 0x140016a95
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0x10]
test edx, edx
je 0x140016a95
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx edx, byte [rcx + 0x11]
test edx, edx
je 0x140016a95
mov r8d, eax
shl r8d, 5
add eax, edx
add eax, r8d
movsx ecx, byte [rcx + 0x12]
test ecx, ecx
je 0x140016a95
add ecx, eax
shl eax, 5
add ecx, eax
mov eax, ecx
ret
mov eax, 0x1505
ret
Function at 0x140016f80
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
movabs rax, 0x800000000000001
cmp rdx, rax
jae 0x14001712f
mov rsi, rcx
dec rdx
or rdx, 1
bsr rcx, rdx
xor ecx, 0x3f
neg cl
mov ebx, 1
shl rbx, cl
lea rax, [rsi + 0x18]
mov rdi, qword [rsi + 8]
mov edx, 2
shl rdx, cl
mov rcx, rax
mov r8, rdi
call fcn.140017660
lea rax, [rbx - 1]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rbx
mov rax, qword [rsi + 8]
mov rax, qword [rax]
cmp rax, rdi
je 0x140017122
movabs rcx, 0xcbf29ce484222325
movabs rdx, 0x100000001b3
jmp 0x140017021
mov qword [r9 + r10*8], r8
mov qword [r9 + rbx*8], r8
cmp rax, rdi
je 0x140017122
mov r8, rax
mov rax, qword [rax]
movzx r9d, byte [r8 + 0x10]
xor r9, rcx
imul r9, rdx
movzx r10d, byte [r8 + 0x11]
xor r10, r9
imul r10, rdx
movzx r9d, byte [r8 + 0x12]
xor r9, r10
imul r9, rdx
movzx r11d, byte [r8 + 0x13]
xor r11, r9
imul r11, rdx
and r11, qword [rsi + 0x30]
mov r9, qword [rsi + 0x18]
lea r10, [r11 + r11]
lea rbx, [r11*2 + 1]
shl r11, 4
mov r11, qword [r9 + r11]
cmp r11, rdi
je 0x140017010
mov r14, qword [r9 + rbx*8]
mov ebp, dword [r8 + 0x10]
cmp ebp, dword [r14 + 0x10]
jne 0x1400170c0
mov r10, qword [r14]
cmp r10, r8
je 0x140017014
mov r11, qword [r8 + 8]
mov qword [r11], rax
mov r14, qword [rax + 8]
mov qword [r14], r10
mov r15, qword [r10 + 8]
mov qword [r15], r8
mov qword [r10 + 8], r14
mov qword [rax + 8], r11
mov qword [r8 + 8], r15
jmp 0x140017014
cmp r11, r14
je 0x1400170f8
mov r14, qword [r14 + 8]
cmp ebp, dword [r14 + 0x10]
jne 0x1400170c0
mov r9, qword [r14]
mov r10, qword [r8 + 8]
mov qword [r10], rax
mov r11, qword [rax + 8]
mov qword [r11], r9
mov rbx, qword [r9 + 8]
mov qword [rbx], r8
mov qword [r9 + 8], r11
mov qword [rax + 8], r10
mov qword [r8 + 8], rbx
jmp 0x140017018
mov rbx, qword [r8 + 8]
mov qword [rbx], rax
mov r14, qword [rax + 8]
mov qword [r14], r11
mov r15, qword [r11 + 8]
mov qword [r15], r8
mov qword [r11 + 8], r14
mov qword [rax + 8], rbx
mov qword [r8 + 8], r15
mov qword [r9 + r10*8], r8
jmp 0x140017018
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
lea rcx, str.invalid_hash_bucket_count
call fcn.14016f284
int3