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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1fffffff
sub esp, 8
bsr ecx, eax
push ebx
push esi
push edi
mov edi, 1
mov eax, edi
shl eax, cl
mov ecx, dword [ebp + 8]
cmp ecx, eax
ja 0x49704d
lea eax, [ecx - 1]
mov esi, dword [0x56c400]
or eax, edi
mov dword [ebp + 8], esi
bsr ecx, eax
push esi
lea ecx, [ecx + 1]
shl edi, cl
mov ecx, 0x56c408
lea eax, [edi + edi]
push eax
call fcn.0047c820
mov eax, dword [0x56c400]
lea ebx, [edi - 1]
mov dword [0x56c414], ebx
mov dword [0x56c418], edi
mov eax, dword [eax]
mov ecx, eax
cmp eax, esi
je 0x497044
nop word [eax + eax]
movzx edx, byte [eax + 8]
xor edx, 0x811c9dc5
mov ecx, dword [ecx]
imul edi, edx, 0x1000193
movzx edx, byte [eax + 9]
xor edi, edx
movzx edx, byte [eax + 0xa]
imul edi, edi, 0x1000193
xor edi, edx
movzx edx, byte [eax + 0xb]
imul edi, edi, 0x1000193
xor edi, edx
mov edx, dword [0x56c408]
imul edi, edi, 0x1000193
and edi, ebx
mov ebx, dword [edx + edi*8]
lea edx, [edx + edi*8]
mov dword [ebp - 4], edx
cmp ebx, esi
jne 0x496fa2
mov dword [edx], eax
mov dword [edx + 4], eax
jmp 0x49700f
mov edx, dword [edx + 4]
mov edi, dword [eax + 8]
cmp edi, dword [edx + 8]
jne 0x496fdc
mov edx, dword [edx]
mov dword [ebp - 8], edx
cmp edx, eax
je 0x496fd4
mov ebx, dword [eax + 4]
mov esi, dword [ebp - 8]
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp + 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
mov edx, dword [ebp - 4]
mov dword [edx + 4], eax
jmp 0x49700f
cmp ebx, edx
je 0x496fec
mov edx, dword [edx + 4]
cmp edi, dword [edx + 8]
je 0x497020
cmp ebx, edx
jne 0x496fe0
mov ebx, dword [eax + 4]
mov dword [ebp - 8], ebx
mov dword [ebx], ecx
mov ebx, dword [ecx + 4]
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], eax
mov dword [edx + 4], ebx
mov edx, dword [ebp - 8]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 4]
mov dword [eax + 4], edi
mov dword [edx], eax
mov eax, ecx
cmp ecx, esi
je 0x497044
mov ebx, dword [0x56c414]
jmp 0x496f50
mov ebx, dword [eax + 4]
mov edx, dword [edx]
mov dword [ebp - 8], edx
mov esi, edx
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp + 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
jmp 0x49700f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.invalid_hash_bucket_count
call fcn.004bd7c6
int3
Function at 0x497060
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1fffffff
sub esp, 8
bsr ecx, eax
push ebx
push esi
push edi
mov edi, 1
mov eax, edi
shl eax, cl
mov ecx, dword [ebp + 8]
cmp ecx, eax
ja 0x4971be
lea eax, [ecx - 1]
mov esi, dword [0x561728]
or eax, edi
mov dword [ebp + 8], esi
bsr ecx, eax
push esi
lea ecx, [ecx + 1]
shl edi, cl
mov ecx, 0x561730
lea eax, [edi + edi]
push eax
call fcn.0047c820
mov eax, dword [0x561728]
lea ebx, [edi - 1]
mov dword [0x56173c], ebx
mov dword [0x561740], edi
mov eax, dword [eax]
mov ecx, eax
cmp eax, esi
je 0x4971b5
nop word [eax + eax]
movzx edx, byte [eax + 8]
mov ecx, dword [ecx]
xor edx, 0x811c9dc5
imul edi, edx, 0x1000193
movzx edx, byte [eax + 9]
xor edi, edx
mov edx, dword [0x561730]
imul edi, edi, 0x1000193
and edi, ebx
lea edx, [edx + edi*8]
mov edi, dword [edx]
mov dword [ebp - 4], edx
cmp edi, esi
jne 0x497109
mov dword [edx], eax
mov dword [edx + 4], eax
jmp 0x497180
mov edx, dword [edx + 4]
movzx ebx, word [eax + 8]
cmp bx, word [edx + 8]
jne 0x497145
mov edx, dword [edx]
mov dword [ebp - 8], edx
cmp edx, eax
je 0x49713d
mov ebx, dword [eax + 4]
mov esi, dword [ebp - 8]
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp + 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
mov edx, dword [ebp - 4]
mov dword [edx + 4], eax
jmp 0x497180
cmp edi, edx
je 0x49715d
nop dword [eax]
mov edx, dword [edx + 4]
cmp bx, word [edx + 8]
je 0x497191
cmp edi, edx
jne 0x497150
mov ebx, dword [eax + 4]
mov dword [ebp - 8], ebx
mov dword [ebx], ecx
mov ebx, dword [ecx + 4]
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], eax
mov dword [edx + 4], ebx
mov edx, dword [ebp - 8]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 4]
mov dword [eax + 4], edi
mov dword [edx], eax
mov eax, ecx
cmp ecx, esi
je 0x4971b5
mov ebx, dword [0x56173c]
jmp 0x4970d0
mov ebx, dword [eax + 4]
mov edx, dword [edx]
mov dword [ebp - 8], edx
mov esi, edx
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp + 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
jmp 0x497180
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.invalid_hash_bucket_count
call fcn.004bd7c6
int3
Function at 0x4971d0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1fffffff
sub esp, 8
bsr ecx, eax
push ebx
push esi
push edi
mov edi, 1
mov eax, edi
shl eax, cl
mov ecx, dword [ebp + 8]
cmp ecx, eax
ja 0x49732e
lea eax, [ecx - 1]
mov esi, dword [0x56c2c0]
or eax, edi
mov dword [ebp + 8], esi
bsr ecx, eax
push esi
lea ecx, [ecx + 1]
shl edi, cl
mov ecx, 0x56c2c8
lea eax, [edi + edi]
push eax
call fcn.0047c920
mov eax, dword [0x56c2c0]
lea ebx, [edi - 1]
mov dword [0x56c2d4], ebx
mov dword [0x56c2d8], edi
mov eax, dword [eax]
mov ecx, eax
cmp eax, esi
je 0x497325
nop word [eax + eax]
movzx edx, byte [eax + 8]
mov ecx, dword [ecx]
xor edx, 0x811c9dc5
imul edi, edx, 0x1000193
movzx edx, byte [eax + 9]
xor edi, edx
mov edx, dword [0x56c2c8]
imul edi, edi, 0x1000193
and edi, ebx
lea edx, [edx + edi*8]
mov edi, dword [edx]
mov dword [ebp - 4], edx
cmp edi, esi
jne 0x497279
mov dword [edx], eax
mov dword [edx + 4], eax
jmp 0x4972f0
mov edx, dword [edx + 4]
movzx ebx, word [eax + 8]
cmp bx, word [edx + 8]
jne 0x4972b5
mov edx, dword [edx]
mov dword [ebp - 8], edx
cmp edx, eax
je 0x4972ad
mov ebx, dword [eax + 4]
mov esi, dword [ebp - 8]
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp + 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
mov edx, dword [ebp - 4]
mov dword [edx + 4], eax
jmp 0x4972f0
cmp edi, edx
je 0x4972cd
nop dword [eax]
mov edx, dword [edx + 4]
cmp bx, word [edx + 8]
je 0x497301
cmp edi, edx
jne 0x4972c0
mov ebx, dword [eax + 4]
mov dword [ebp - 8], ebx
mov dword [ebx], ecx
mov ebx, dword [ecx + 4]
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], eax
mov dword [edx + 4], ebx
mov edx, dword [ebp - 8]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 4]
mov dword [eax + 4], edi
mov dword [edx], eax
mov eax, ecx
cmp ecx, esi
je 0x497325
mov ebx, dword [0x56c2d4]
jmp 0x497240
mov ebx, dword [eax + 4]
mov edx, dword [edx]
mov dword [ebp - 8], edx
mov esi, edx
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp + 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
jmp 0x4972f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.invalid_hash_bucket_count
call fcn.004bd7c6
int3
Function at 0x497340
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov edx, dword [ebp + 8]
mov eax, 0x1fffffff
push ebx
mov ebx, ecx
bsr ecx, eax
push esi
push edi
mov edi, 1
mov dword [ebp - 4], ebx
mov eax, edi
shl eax, cl
cmp edx, eax
ja 0x49748a
mov esi, dword [ebx + 4]
lea eax, [edx - 1]
or eax, edi
mov dword [ebp + 8], esi
bsr ecx, eax
push esi
lea ecx, [ecx + 1]
shl edi, cl
lea ecx, [ebx + 0xc]
lea eax, [edi + edi]
push eax
call fcn.0047c920
lea eax, [edi - 1]
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov ecx, eax
cmp eax, esi
je 0x49745d
movzx edx, byte [eax + 8]
mov ecx, dword [ecx]
xor edx, 0x811c9dc5
imul edi, edx, 0x1000193
movzx edx, byte [eax + 9]
xor edi, edx
imul edx, edi, 0x1000193
mov edi, dword [ebx + 0x18]
and edi, edx
mov edx, dword [ebx + 0xc]
lea edx, [edx + edi*8]
mov edi, dword [edx]
mov dword [ebp - 8], edx
cmp edi, esi
jne 0x4973de
mov dword [edx], eax
mov dword [edx + 4], eax
jmp 0x497453
mov edx, dword [edx + 4]
movzx ebx, word [eax + 8]
cmp bx, word [edx + 8]
jne 0x49741a
mov edx, dword [edx]
mov dword [ebp - 0xc], edx
cmp edx, eax
je 0x497412
mov ebx, dword [eax + 4]
mov esi, dword [ebp - 0xc]
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp + 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
mov edx, dword [ebp - 8]
mov dword [edx + 4], eax
jmp 0x497450
cmp edi, edx
je 0x49742d
nop
mov edx, dword [edx + 4]
cmp bx, word [edx + 8]
je 0x497466
cmp edi, edx
jne 0x497420
mov ebx, dword [eax + 4]
mov dword [ebp - 0xc], ebx
mov dword [ebx], ecx
mov ebx, dword [ecx + 4]
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], eax
mov dword [edx + 4], ebx
mov edx, dword [ebp - 0xc]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 8]
mov dword [eax + 4], edi
mov dword [edx], eax
mov ebx, dword [ebp - 4]
mov eax, ecx
cmp ecx, esi
jne 0x4973a2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ebx, dword [eax + 4]
mov edx, dword [edx]
mov dword [ebp - 0xc], edx
mov esi, edx
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp + 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
jmp 0x497450
push str.invalid_hash_bucket_count
call fcn.004bd7c6
int3
Function at 0x4974a0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1fffffff
sub esp, 8
bsr ecx, eax
push ebx
push esi
push edi
mov edi, 1
mov eax, edi
shl eax, cl
mov ecx, dword [ebp + 8]
cmp ecx, eax
ja 0x4975fe
lea eax, [ecx - 1]
mov esi, dword [0x5616e8]
or eax, edi
mov dword [ebp + 8], esi
bsr ecx, eax
push esi
lea ecx, [ecx + 1]
shl edi, cl
mov ecx, 0x5616f0
lea eax, [edi + edi]
push eax
call fcn.0047c920
mov eax, dword [0x5616e8]
lea ebx, [edi - 1]
mov dword [0x5616fc], ebx
mov dword [0x561700], edi
mov eax, dword [eax]
mov ecx, eax
cmp eax, esi
je 0x4975f5
nop word [eax + eax]
movzx edx, byte [eax + 8]
mov ecx, dword [ecx]
xor edx, 0x811c9dc5
imul edi, edx, 0x1000193
movzx edx, byte [eax + 9]
xor edi, edx
mov edx, dword [0x5616f0]
imul edi, edi, 0x1000193
and edi, ebx
lea edx, [edx + edi*8]
mov edi, dword [edx]
mov dword [ebp - 4], edx
cmp edi, esi
jne 0x497549
mov dword [edx], eax
mov dword [edx + 4], eax
jmp 0x4975c0
mov edx, dword [edx + 4]
movzx ebx, word [eax + 8]
cmp bx, word [edx + 8]
jne 0x497585
mov edx, dword [edx]
mov dword [ebp - 8], edx
cmp edx, eax
je 0x49757d
mov ebx, dword [eax + 4]
mov esi, dword [ebp - 8]
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp + 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
mov edx, dword [ebp - 4]
mov dword [edx + 4], eax
jmp 0x4975c0
cmp edi, edx
je 0x49759d
nop dword [eax]
mov edx, dword [edx + 4]
cmp bx, word [edx + 8]
je 0x4975d1
cmp edi, edx
jne 0x497590
mov ebx, dword [eax + 4]
mov dword [ebp - 8], ebx
mov dword [ebx], ecx
mov ebx, dword [ecx + 4]
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], eax
mov dword [edx + 4], ebx
mov edx, dword [ebp - 8]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 4]
mov dword [eax + 4], edi
mov dword [edx], eax
mov eax, ecx
cmp ecx, esi
je 0x4975f5
mov ebx, dword [0x5616fc]
jmp 0x497510
mov ebx, dword [eax + 4]
mov edx, dword [edx]
mov dword [ebp - 8], edx
mov esi, edx
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp + 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
jmp 0x4975c0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.invalid_hash_bucket_count
call fcn.004bd7c6
int3
Function at 0x497610
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1fffffff
sub esp, 8
bsr ecx, eax
push ebx
push esi
push edi
mov edi, 1
mov eax, edi
shl eax, cl
mov ecx, dword [ebp + 8]
cmp ecx, eax
ja 0x49777d
lea eax, [ecx - 1]
mov esi, dword [0x56c2a0]
or eax, edi
mov dword [ebp + 8], esi
bsr ecx, eax
push esi
lea ecx, [ecx + 1]
shl edi, cl
mov ecx, 0x56c2a8
lea eax, [edi + edi]
push eax
call fcn.0047c820
mov eax, dword [0x56c2a0]
lea ebx, [edi - 1]
mov dword [0x56c2b4], ebx
mov dword [0x56c2b8], edi
mov eax, dword [eax]
mov ecx, eax
cmp eax, esi
je 0x497774
nop word [eax + eax]
movzx edx, byte [eax + 8]
xor edx, 0x811c9dc5
mov ecx, dword [ecx]
imul edi, edx, 0x1000193
movzx edx, byte [eax + 9]
xor edi, edx
movzx edx, byte [eax + 0xa]
imul edi, edi, 0x1000193
xor edi, edx
movzx edx, byte [eax + 0xb]
imul edi, edi, 0x1000193
xor edi, edx
mov edx, dword [0x56c2a8]
imul edi, edi, 0x1000193
and edi, ebx
mov ebx, dword [edx + edi*8]
lea edx, [edx + edi*8]
mov dword [ebp - 4], edx
cmp ebx, esi
jne 0x4976d2
mov dword [edx], eax
mov dword [edx + 4], eax
jmp 0x49773f
mov edx, dword [edx + 4]
mov edi, dword [eax + 8]
cmp edi, dword [edx + 8]
jne 0x49770c
mov edx, dword [edx]
mov dword [ebp - 8], edx
cmp edx, eax
je 0x497704
mov ebx, dword [eax + 4]
mov esi, dword [ebp - 8]
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp + 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
mov edx, dword [ebp - 4]
mov dword [edx + 4], eax
jmp 0x49773f
cmp ebx, edx
je 0x49771c
mov edx, dword [edx + 4]
cmp edi, dword [edx + 8]
je 0x497750
cmp ebx, edx
jne 0x497710
mov ebx, dword [eax + 4]
mov dword [ebp - 8], ebx
mov dword [ebx], ecx
mov ebx, dword [ecx + 4]
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], eax
mov dword [edx + 4], ebx
mov edx, dword [ebp - 8]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 4]
mov dword [eax + 4], edi
mov dword [edx], eax
mov eax, ecx
cmp ecx, esi
je 0x497774
mov ebx, dword [0x56c2b4]
jmp 0x497680
mov ebx, dword [eax + 4]
mov edx, dword [edx]
mov dword [ebp - 8], edx
mov esi, edx
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp + 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
jmp 0x49773f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.invalid_hash_bucket_count
call fcn.004bd7c6
int3
Function at 0x497790
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov edx, dword [ebp + 8]
mov eax, 0x1fffffff
push ebx
mov ebx, ecx
bsr ecx, eax
push esi
push edi
mov edi, 1
mov dword [ebp - 4], ebx
mov eax, edi
shl eax, cl
cmp edx, eax
ja 0x4978da
mov esi, dword [ebx + 4]
lea eax, [edx - 1]
or eax, edi
mov dword [ebp + 8], esi
bsr ecx, eax
push esi
lea ecx, [ecx + 1]
shl edi, cl
lea ecx, [ebx + 0xc]
lea eax, [edi + edi]
push eax
call fcn.0047c820
lea eax, [edi - 1]
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov ecx, eax
cmp eax, esi
je 0x4978ad
movzx edx, byte [eax + 8]
mov ecx, dword [ecx]
xor edx, 0x811c9dc5
imul edi, edx, 0x1000193
movzx edx, byte [eax + 9]
xor edi, edx
imul edx, edi, 0x1000193
mov edi, dword [ebx + 0x18]
and edi, edx
mov edx, dword [ebx + 0xc]
lea edx, [edx + edi*8]
mov edi, dword [edx]
mov dword [ebp - 8], edx
cmp edi, esi
jne 0x49782e
mov dword [edx], eax
mov dword [edx + 4], eax
jmp 0x4978a3
mov edx, dword [edx + 4]
movzx ebx, word [eax + 8]
cmp bx, word [edx + 8]
jne 0x49786a
mov edx, dword [edx]
mov dword [ebp - 0xc], edx
cmp edx, eax
je 0x497862
mov ebx, dword [eax + 4]
mov esi, dword [ebp - 0xc]
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp + 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
mov edx, dword [ebp - 8]
mov dword [edx + 4], eax
jmp 0x4978a0
cmp edi, edx
je 0x49787d
nop
mov edx, dword [edx + 4]
cmp bx, word [edx + 8]
je 0x4978b6
cmp edi, edx
jne 0x497870
mov ebx, dword [eax + 4]
mov dword [ebp - 0xc], ebx
mov dword [ebx], ecx
mov ebx, dword [ecx + 4]
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], eax
mov dword [edx + 4], ebx
mov edx, dword [ebp - 0xc]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 8]
mov dword [eax + 4], edi
mov dword [edx], eax
mov ebx, dword [ebp - 4]
mov eax, ecx
cmp ecx, esi
jne 0x4977f2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ebx, dword [eax + 4]
mov edx, dword [edx]
mov dword [ebp - 0xc], edx
mov esi, edx
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp + 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
jmp 0x4978a0
push str.invalid_hash_bucket_count
call fcn.004bd7c6
int3
Function at 0x4978f0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1fffffff
sub esp, 8
bsr ecx, eax
push ebx
push esi
push edi
mov edi, 1
mov eax, edi
shl eax, cl
mov ecx, dword [ebp + 8]
cmp ecx, eax
ja 0x497a5d
lea eax, [ecx - 1]
mov esi, dword [0x56c320]
or eax, edi
mov dword [ebp + 8], esi
bsr ecx, eax
push esi
lea ecx, [ecx + 1]
shl edi, cl
mov ecx, 0x56c328
lea eax, [edi + edi]
push eax
call fcn.0047c820
mov eax, dword [0x56c320]
lea ebx, [edi - 1]
mov dword [0x56c334], ebx
mov dword [0x56c338], edi
mov eax, dword [eax]
mov ecx, eax
cmp eax, esi
je 0x497a54
nop word [eax + eax]
movzx edx, byte [eax + 8]
xor edx, 0x811c9dc5
mov ecx, dword [ecx]
imul edi, edx, 0x1000193
movzx edx, byte [eax + 9]
xor edi, edx
movzx edx, byte [eax + 0xa]
imul edi, edi, 0x1000193
xor edi, edx
movzx edx, byte [eax + 0xb]
imul edi, edi, 0x1000193
xor edi, edx
mov edx, dword [0x56c328]
imul edi, edi, 0x1000193
and edi, ebx
mov ebx, dword [edx + edi*8]
lea edx, [edx + edi*8]
mov dword [ebp - 4], edx
cmp ebx, esi
jne 0x4979b2
mov dword [edx], eax
mov dword [edx + 4], eax
jmp 0x497a1f
mov edx, dword [edx + 4]
mov edi, dword [eax + 8]
cmp edi, dword [edx + 8]
jne 0x4979ec
mov edx, dword [edx]
mov dword [ebp - 8], edx
cmp edx, eax
je 0x4979e4
mov ebx, dword [eax + 4]
mov esi, dword [ebp - 8]
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp + 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
mov edx, dword [ebp - 4]
mov dword [edx + 4], eax
jmp 0x497a1f
cmp ebx, edx
je 0x4979fc
mov edx, dword [edx + 4]
cmp edi, dword [edx + 8]
je 0x497a30
cmp ebx, edx
jne 0x4979f0
mov ebx, dword [eax + 4]
mov dword [ebp - 8], ebx
mov dword [ebx], ecx
mov ebx, dword [ecx + 4]
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], eax
mov dword [edx + 4], ebx
mov edx, dword [ebp - 8]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 4]
mov dword [eax + 4], edi
mov dword [edx], eax
mov eax, ecx
cmp ecx, esi
je 0x497a54
mov ebx, dword [0x56c334]
jmp 0x497960
mov ebx, dword [eax + 4]
mov edx, dword [edx]
mov dword [ebp - 8], edx
mov esi, edx
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp + 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
jmp 0x497a1f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.invalid_hash_bucket_count
call fcn.004bd7c6
int3
Function at 0x497b40
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
mov ebx, ecx
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x497be8
mov eax, dword [ebx + 0x1c]
shr eax, 3
push esi
cmp eax, ecx
jbe 0x497c90
mov eax, dword [ebx + 4]
mov dword [ebp - 4], eax
mov edx, dword [eax]
mov dword [ebp - 0x14], edx
cmp edx, eax
je 0x497be7
mov eax, dword [edx + 4]
mov esi, edx
mov dword [ebp - 8], eax
movzx eax, byte [edx + 8]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [edx + 9]
push edi
mov edi, dword [ebx + 0xc]
mov dword [ebp - 0x1c], edi
xor ecx, eax
mov eax, dword [ebx + 0x18]
imul ecx, ecx, 0x1000193
and eax, ecx
mov ecx, dword [edi + eax*8]
mov dword [ebp - 0x10], ecx
lea eax, [edi + eax*8]
mov dword [ebp - 0xc], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], eax
mov eax, esi
mov edi, esi
mov esi, dword [esi]
push 0xc
push eax
call fcn.004be4f6
dec dword [ebx + 8]
add esp, 8
cmp edi, dword [ebp - 0x18]
je 0x497bed
cmp esi, dword [ebp - 4]
jne 0x497bb3
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x14]
jne 0x497bde
mov ecx, dword [ebp - 0xc]
mov dword [ecx], esi
mov eax, dword [ebp - 8]
pop edi
mov dword [eax], esi
mov dword [esi + 4], eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x14]
jne 0x497c01
mov dword [ecx], edx
mov eax, edx
jmp 0x497c04
mov eax, dword [ebp - 8]
mov dword [ecx + 4], eax
cmp esi, edx
je 0x497bde
nop dword [eax + eax]
movzx eax, byte [esi + 8]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [esi + 9]
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [ebp - 0x1c]
and eax, dword [ebx + 0x18]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x14], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], eax
nop dword [eax]
mov eax, esi
mov edi, esi
mov esi, dword [esi]
push 0xc
push eax
call fcn.004be4f6
dec dword [ebx + 8]
add esp, 8
cmp edi, dword [ebp - 0x18]
je 0x497c72
cmp esi, dword [ebp - 4]
jne 0x497c40
mov eax, dword [ebp - 0x14]
pop edi
mov dword [eax], esi
mov eax, dword [ebp - 8]
mov dword [eax], esi
mov dword [esi + 4], eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 4]
mov dword [eax], edx
mov dword [eax + 4], edx
cmp esi, edx
jne 0x497c10
mov eax, dword [ebp - 8]
pop edi
mov dword [eax], esi
mov dword [esi + 4], eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 4]
mov dword [eax], 0
mov eax, dword [ecx]
test eax, eax
je 0x497cb5
mov esi, dword [eax]
push 0xc
push eax
call fcn.004be4f6
add esp, 8
mov eax, esi
test esi, esi
jne 0x497ca2
mov eax, dword [ebx + 4]
mov dword [eax], eax
mov eax, dword [ebx + 4]
mov dword [eax + 4], eax
mov dword [ebx + 8], 0
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.0048fde0
add esp, 4
pop esi
pop ebx
mov esp, ebp
pop ebp
ret