joyce8/EMBER2024-capa huggingface dataset:
Function at 0x45ae810
Capabilities:
Capture webcam image

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x4612008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 8]
cmp eax, 0xfffffd3a
je 0x45ae8a0
cmp eax, 0xfffffffe
jne 0x45ae937
and dword [esi + 0x2c], eax
mov eax, dword [esi + 0xd0]
mov dword [ebp - 0x20], 0
mov eax, dword [eax + 4]
test eax, eax
jne 0x45ae857
xor ebx, ebx
jmp 0x45ae86a
push 0
push dword [edi + 0xc]
push 0x419
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ebx, eax
push dword [edi + 0xc]
lea eax, [ebp - 0x20]
push ebx
push 2
push 2
push eax
push esi
call fcn.04579a30
add esp, 0x18
test byte [ebp - 0x20], 1
jne 0x45ae937
push ebx
push 1
push 0
lea eax, [ebp - 0x20]
push eax
push esi
call fcn.04579a30
add esp, 0x14
jmp 0x45ae937
mov eax, dword [esi + 0xd0]
mov dword [ebp - 0x20], 0
mov eax, dword [eax + 4]
test eax, eax
jne 0x45ae8b8
xor ebx, ebx
jmp 0x45ae8cb
push 0
push dword [edi + 0xc]
push 0x419
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ebx, eax
push dword [edi + 0xc]
lea eax, [ebp - 0x20]
push ebx
push 2
push 3
push eax
push esi
call fcn.04579a30
add esp, 0x18
test byte [ebp - 0x20], 1
jne 0x45ae937
mov eax, dword [esi + 0xd0]
mov eax, dword [eax + 4]
test eax, eax
je 0x45ae906
lea ecx, [ebp - 0x1c]
push ecx
push dword [edi + 0xc]
push 0x433
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
push dword [esi + 0x14]
call dword [sym.imp.USER32.dll_ClientToScreen]
push dword [ebp - 8]
lea eax, [ebp - 0x20]
push dword [ebp - 0xc]
push ebx
push 3
push 1
push eax
push esi
call fcn.04579a30
add esp, 0x1c
mov ecx, dword [ebp - 4]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.045bc602
mov esp, ebp
pop ebp
ret 0x10
Function at 0x45b1ad0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
push edi
mov edi, ecx
mov esi, dword [edi]
test esi, esi
jne 0x45b1b82
push 0xd4
call fcn.045bc771
push 0xd4
push esi
push eax
mov dword [edi], eax
call fcn.045be2d0
mov eax, dword [edi]
movzx ecx, byte [ebp + 8]
push 0x10
mov dword [eax + 0x28], ecx
mov esi, dword [edi]
call fcn.045bc771
mov dword [ebp - 4], eax
xorps xmm0, xmm0
push 0x14
movups xmmword [eax], xmm0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax], vtable._iext_TransLabel_ctl_.0
mov dword [eax + 0xc], 0
mov dword [esi + 0xc8], eax
call fcn.045bc771
mov dword [ebp - 4], eax
add esp, 0x18
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [esi + 0xcc], eax
mov al, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x18]
test eax, eax
je 0x45b1ba7
push eax
push str.478011B2_E06D_4B4B_A323_5B4AD8F78DE6
push dword [esi + 0x14]
call dword [sym.imp.USER32.dll_SetPropW]
push 0
push 0
push 0x10
push dword [esi + 0x14]
call dword [sym.imp.USER32.dll_PostMessageW]
mov edx, dword [edi]
add edx, 0x14
movzx eax, byte [edx]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [edx + 1]
xor ecx, eax
movzx eax, byte [edx + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edx + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
lea eax, [ebp - 8]
imul esi, ecx, 0x1000193
push esi
push edx
push eax
call fcn.045b2740
mov edx, dword [eax + 4]
test edx, edx
je 0x45b1c45
mov ecx, dword [0x461f700]
mov eax, dword [0x461f6f4]
and ecx, esi
lea ecx, [eax + ecx*8]
mov eax, dword [ecx]
cmp dword [ecx + 4], edx
jne 0x45b1c1f
cmp eax, edx
jne 0x45b1c17
mov eax, dword [0x461f6ec]
mov dword [ecx], eax
mov dword [ecx + 4], eax
jmp 0x45b1c27
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
jmp 0x45b1c27
cmp eax, edx
jne 0x45b1c27
mov eax, dword [edx]
mov dword [ecx], eax
mov ecx, dword [edx]
dec dword [0x461f6f0]
mov eax, dword [edx + 4]
push 0x10
push edx
mov dword [eax], ecx
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
call fcn.045bc737
add esp, 8
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x45b1f40
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45df3b5
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x4612008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x14], edi
movzx eax, byte [ebx]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [ebx + 1]
xor ecx, eax
movzx eax, byte [ebx + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebx + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
push eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x1c]
push ebx
push eax
call fcn.045b2360
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x45b1fc3
mov dword [edi], eax
mov byte [edi + 4], 0
jmp 0x45b20ec
cmp dword [0x461f710], 0x15555555
je 0x45b2102
mov dword [ebp - 0x24], 0x461f70c
mov dword [ebp - 4], 0
push 0xc
mov dword [ebp - 0x20], 0
call fcn.045bc771
mov ecx, dword [ebx]
mov esi, eax
lea edi, [esi + 8]
mov dword [ebp - 0x20], esi
add esp, 4
mov dword [edi], ecx
mov dword [ebp - 4], 1
mov ecx, dword [0x461f710]
mov ebx, dword [0x461f724]
inc ecx
mov eax, ebx
shr eax, 0x1f
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
movd xmm1, ebx
addsd xmm0, qword [ecx*8 + 0x4608910]
cvtdq2pd xmm1, xmm1
cvtpd2ps xmm0, xmm0
addsd xmm1, qword [eax*8 + 0x4608910]
movaps xmm2, xmm0
cvtpd2ps xmm1, xmm1
divss xmm2, xmm1
movss xmm1, dword [0x461f708]
comiss xmm2, xmm1
jbe 0x45b209c
divss xmm0, xmm1
call fcn.04578b60
call fcn.045dd480
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebx, ecx
jae 0x45b2085
cmp ebx, 0x200
jae 0x45b2083
shl ebx, 3
cmp ebx, ecx
jae 0x45b2085
mov ebx, ecx
push ebx
call fcn.045b2110
push dword [ebp - 0x10]
lea eax, [ebp - 0x24]
push edi
push eax
call fcn.045b2360
mov edx, dword [eax]
jmp 0x45b209f
mov edx, dword [ebp - 0x1c]
mov ebx, dword [edx + 4]
inc dword [0x461f710]
mov dword [esi], edx
mov dword [esi + 4], ebx
mov dword [ebx], esi
mov dword [edx + 4], esi
mov eax, dword [0x461f720]
and eax, dword [ebp - 0x10]
mov ecx, dword [0x461f714]
mov edi, dword [ecx + eax*8]
cmp edi, dword [0x461f70c]
jne 0x45b20d0
mov dword [ecx + eax*8], esi
jmp 0x45b20df
cmp edi, edx
jne 0x45b20d9
mov dword [ecx + eax*8], esi
jmp 0x45b20e3
cmp dword [ecx + eax*8 + 4], ebx
jne 0x45b20e3
mov dword [ecx + eax*8 + 4], esi
mov edi, dword [ebp - 0x14]
mov dword [edi], esi
mov byte [edi + 4], 1
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push str.unordered_map_set_too_long
call fcn.045bd607
int3
Function at 0x45b2110
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1fffffff
sub esp, 0x10
bsr ecx, eax
push ebx
push esi
mov esi, 1
mov eax, esi
shl eax, cl
mov ecx, dword [ebp + 8]
push edi
cmp ecx, eax
ja 0x45b2270
lea eax, [ecx - 1]
mov ebx, dword [0x461f70c]
or eax, esi
mov dword [ebp - 8], ebx
bsr ecx, eax
push ebx
lea ecx, [ecx + 1]
shl esi, cl
mov ecx, 0x461f714
lea eax, [esi + esi]
push eax
call fcn.0457a250
mov ecx, dword [0x461f70c]
lea edi, [esi - 1]
mov dword [0x461f720], edi
mov dword [0x461f724], esi
mov ecx, dword [ecx]
cmp ecx, ebx
je 0x45b2267
mov eax, ecx
nop dword [eax + eax]
movzx edx, byte [eax + 8]
xor edx, 0x811c9dc5
mov ecx, dword [ecx]
imul esi, edx, 0x1000193
movzx edx, byte [eax + 9]
xor esi, edx
movzx edx, byte [eax + 0xa]
imul esi, esi, 0x1000193
xor esi, edx
movzx edx, byte [eax + 0xb]
imul esi, esi, 0x1000193
xor esi, edx
mov edx, dword [0x461f714]
imul esi, esi, 0x1000193
and esi, edi
mov edi, dword [edx + esi*8]
lea ebx, [edx + esi*8]
mov dword [ebp - 4], ebx
cmp edi, dword [ebp - 8]
jne 0x45b21d3
mov dword [ebx], eax
mov dword [ebx + 4], eax
jmp 0x45b2239
mov edx, dword [ebx + 4]
mov esi, dword [eax + 8]
cmp esi, dword [edx + 8]
jne 0x45b220a
mov edx, dword [edx]
mov dword [ebp - 0xc], edx
cmp edx, eax
je 0x45b2205
mov edi, dword [eax + 4]
mov ebx, dword [ebp - 0xc]
mov dword [edi], ecx
mov esi, dword [ecx + 4]
mov dword [esi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [ebx + 4], esi
mov ebx, dword [ebp - 4]
mov dword [ecx + 4], edi
mov dword [eax + 4], edx
mov dword [ebx + 4], eax
jmp 0x45b2239
cmp edi, edx
je 0x45b221c
nop
mov edx, dword [edx + 4]
cmp esi, dword [edx + 8]
je 0x45b224b
cmp edi, edx
jne 0x45b2210
mov ebx, dword [eax + 4]
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov esi, dword [edx + 4]
mov dword [esi], eax
mov dword [edx + 4], edi
mov edx, dword [ebp - 4]
mov dword [ecx + 4], ebx
mov dword [eax + 4], esi
mov dword [edx], eax
mov eax, ecx
cmp ecx, dword [ebp - 8]
je 0x45b2267
mov edi, dword [0x461f720]
jmp 0x45b2180
mov edi, dword [eax + 4]
mov ebx, dword [edx]
mov dword [edi], ecx
mov esi, dword [ecx + 4]
mov dword [esi], ebx
mov edx, dword [ebx + 4]
mov dword [edx], eax
mov dword [ebx + 4], esi
mov dword [ecx + 4], edi
mov dword [eax + 4], edx
jmp 0x45b2239
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.invalid_hash_bucket_count
call fcn.045bd607
int3
Function at 0x45b23d0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45df135
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x4612008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x14], edi
movzx eax, byte [ebx]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [ebx + 1]
xor ecx, eax
movzx eax, byte [ebx + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebx + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
push eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x1c]
push ebx
push eax
call fcn.045b2740
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x45b2453
mov dword [edi], eax
mov byte [edi + 4], 0
jmp 0x45b2590
cmp dword [0x461f6f0], 0xfffffff
je 0x45b25a6
mov dword [ebp - 0x24], 0x461f6ec
mov dword [ebp - 4], 0
push 0x10
mov dword [ebp - 0x20], 0
call fcn.045bc771
mov ecx, dword [ebx]
mov esi, eax
add esp, 4
mov dword [ebp - 0x20], esi
mov dword [esi + 8], ecx
mov dword [esi + 0xc], 0
mov dword [ebp - 4], 1
mov ecx, dword [0x461f6f0]
mov ebx, dword [0x461f704]
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movd xmm1, ebx
addsd xmm0, qword [eax*8 + 0x4608910]
cvtdq2pd xmm1, xmm1
mov eax, ebx
shr eax, 0x1f
cvtpd2ps xmm0, xmm0
addsd xmm1, qword [eax*8 + 0x4608910]
movaps xmm2, xmm0
cvtpd2ps xmm1, xmm1
divss xmm2, xmm1
movss xmm1, dword [0x461f6e8]
comiss xmm2, xmm1
jbe 0x45b253d
divss xmm0, xmm1
call fcn.04578b60
call fcn.045dd480
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebx, ecx
jae 0x45b251c
cmp ebx, 0x200
jae 0x45b251a
shl ebx, 3
cmp ebx, ecx
jae 0x45b251c
mov ebx, ecx
push ebx
call fcn.045b25c0
mov edi, dword [ebp - 0x10]
lea eax, [esi + 8]
push edi
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.045b2740
mov ecx, dword [0x461f6f0]
mov edx, dword [eax]
jmp 0x45b2543
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x10]
mov ebx, dword [edx + 4]
inc ecx
mov dword [0x461f6f0], ecx
mov dword [esi], edx
mov dword [esi + 4], ebx
mov dword [ebx], esi
mov dword [edx + 4], esi
mov eax, dword [0x461f700]
mov ecx, dword [0x461f6f4]
and eax, edi
mov edi, dword [ecx + eax*8]
cmp edi, dword [0x461f6ec]
jne 0x45b2574
mov dword [ecx + eax*8], esi
jmp 0x45b2583
cmp edi, edx
jne 0x45b257d
mov dword [ecx + eax*8], esi
jmp 0x45b2587
cmp dword [ecx + eax*8 + 4], ebx
jne 0x45b2587
mov dword [ecx + eax*8 + 4], esi
mov edi, dword [ebp - 0x14]
mov dword [edi], esi
mov byte [edi + 4], 1
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push str.unordered_map_set_too_long
call fcn.045bd607
int3
Function at 0x45b25c0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1fffffff
sub esp, 0x10
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 0x45b272d
lea eax, [ecx - 1]
mov esi, dword [0x461f6ec]
or eax, edi
mov dword [ebp - 8], esi
bsr ecx, eax
push esi
lea ecx, [ecx + 1]
shl edi, cl
mov ecx, 0x461f6f4
lea eax, [edi + edi]
push eax
call fcn.0457a250
mov eax, dword [0x461f6ec]
lea ebx, [edi - 1]
mov dword [0x461f700], ebx
mov dword [0x461f704], edi
mov eax, dword [eax]
mov ecx, eax
cmp eax, esi
je 0x45b2724
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 [0x461f6f4]
imul edi, edi, 0x1000193
and edi, ebx
mov ebx, dword [edx + edi*8]
lea edx, [edx + edi*8]
mov dword [ebp - 0xc], edx
cmp ebx, esi
jne 0x45b2682
mov dword [edx], eax
mov dword [edx + 4], eax
jmp 0x45b26ef
mov edx, dword [edx + 4]
mov edi, dword [eax + 8]
cmp edi, dword [edx + 8]
jne 0x45b26bc
mov edx, dword [edx]
mov dword [ebp - 4], edx
cmp edx, eax
je 0x45b26b4
mov ebx, dword [eax + 4]
mov esi, dword [ebp - 4]
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 - 0xc]
mov dword [edx + 4], eax
jmp 0x45b26ef
cmp ebx, edx
je 0x45b26cc
mov edx, dword [edx + 4]
cmp edi, dword [edx + 8]
je 0x45b2700
cmp ebx, edx
jne 0x45b26c0
mov ebx, dword [eax + 4]
mov dword [ebp - 4], 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 - 4]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xc]
mov dword [eax + 4], edi
mov dword [edx], eax
mov eax, ecx
cmp ecx, esi
je 0x45b2724
mov ebx, dword [0x461f700]
jmp 0x45b2630
mov ebx, dword [eax + 4]
mov edx, dword [edx]
mov dword [ebp - 4], 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 0x45b26ef
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.invalid_hash_bucket_count
call fcn.045bd607
int3
Function at 0x45b3750
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
push edi
mov dword [esp + 0x14], ebx
movzx eax, byte [esi]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [esi + 1]
xor ecx, eax
movzx eax, byte [esi + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esi + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
push eax
push esi
lea eax, [esp + 0x20]
push eax
call fcn.045b43e0
mov ecx, dword [0x461f764]
mov edi, ecx
mov eax, dword [eax + 4]
test eax, eax
cmovne edi, eax
cmp edi, ecx
je 0x45b3927
mov eax, dword [esi + 8]
cmp eax, 0xfffffe36
je 0x45b37e3
cmp eax, 0xfffffff4
je 0x45b3927
push ebx
push dword [edi + 0xc]
push esi
push ecx
call fcn.045b9850
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [edi + 0xc]
mov ebx, dword [esi + 0x14]
mov edx, dword [eax + 0x138]
movzx eax, bl
xor eax, 0x811c9dc5
mov dword [esp + 0x10], edx
imul ecx, eax, 0x1000193
mov eax, ebx
shr eax, 8
movzx eax, al
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [edx + 0x18]
and ecx, eax
mov eax, dword [edx + 0xc]
lea edx, [eax + ecx*8]
mov ecx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov ecx, dword [ecx + 4]
mov dword [esp + 0xc], ecx
cmp eax, ecx
je 0x45b3860
mov ecx, dword [edx]
cmp ebx, dword [eax + 8]
je 0x45b3862
cmp eax, ecx
je 0x45b3860
mov eax, dword [eax + 4]
cmp ebx, dword [eax + 8]
jne 0x45b3852
jmp 0x45b3862
xor eax, eax
test eax, eax
je 0x45b38ab
mov ecx, dword [edx]
cmp dword [edx + 4], eax
jne 0x45b3884
cmp ecx, eax
jne 0x45b387c
mov ecx, dword [esp + 0xc]
mov dword [edx], ecx
mov dword [edx + 4], ecx
jmp 0x45b388c
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
jmp 0x45b388c
cmp ecx, eax
jne 0x45b388c
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [eax]
push 0x4c
push eax
dec dword [ecx + 8]
mov ecx, dword [eax + 4]
mov dword [ecx], edx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
call fcn.045bc737
add esp, 8
mov eax, dword [edi + 0xc]
cmp dword [eax + 0x13c], 0
jne 0x45b3910
mov dword [eax + 0x13c], 1
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x134]
mov dword [esp + 0xc], ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
cmp eax, ecx
je 0x45b3910
lea edx, [eax + 4]
cmp dword [eax], ebx
je 0x45b38fb
mov eax, edx
cmp eax, ecx
jne 0x45b38d7
push dword [esp + 0x14]
push dword [edi + 0xc]
push esi
push ecx
call fcn.045b9850
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
sub ecx, edx
push ecx
push edx
push eax
call fcn.045bf7d0
mov eax, dword [esp + 0x18]
add esp, 0xc
add dword [eax + 4], 0xfffffffc
push dword [esp + 0x14]
push dword [edi + 0xc]
push esi
push ecx
call fcn.045b9850
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 0x10
Function at 0x45b4070
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45df135
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x4612008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x14], edi
movzx eax, byte [ebx]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [ebx + 1]
xor ecx, eax
movzx eax, byte [ebx + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebx + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
push eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x1c]
push ebx
push eax
call fcn.045b43e0
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x45b40f3
mov dword [edi], eax
mov byte [edi + 4], 0
jmp 0x45b4230
cmp dword [0x461f768], 0xfffffff
je 0x45b4246
mov dword [ebp - 0x24], 0x461f764
mov dword [ebp - 4], 0
push 0x10
mov dword [ebp - 0x20], 0
call fcn.045bc771
mov ecx, dword [ebx]
mov esi, eax
add esp, 4
mov dword [ebp - 0x20], esi
mov dword [esi + 8], ecx
mov dword [esi + 0xc], 0
mov dword [ebp - 4], 1
mov ecx, dword [0x461f768]
mov ebx, dword [0x461f77c]
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movd xmm1, ebx
addsd xmm0, qword [eax*8 + 0x4608910]
cvtdq2pd xmm1, xmm1
mov eax, ebx
shr eax, 0x1f
cvtpd2ps xmm0, xmm0
addsd xmm1, qword [eax*8 + 0x4608910]
movaps xmm2, xmm0
cvtpd2ps xmm1, xmm1
divss xmm2, xmm1
movss xmm1, dword [0x461f760]
comiss xmm2, xmm1
jbe 0x45b41dd
divss xmm0, xmm1
call fcn.04578b60
call fcn.045dd480
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebx, ecx
jae 0x45b41bc
cmp ebx, 0x200
jae 0x45b41ba
shl ebx, 3
cmp ebx, ecx
jae 0x45b41bc
mov ebx, ecx
push ebx
call fcn.045b4260
mov edi, dword [ebp - 0x10]
lea eax, [esi + 8]
push edi
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.045b43e0
mov ecx, dword [0x461f768]
mov edx, dword [eax]
jmp 0x45b41e3
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x10]
mov ebx, dword [edx + 4]
inc ecx
mov dword [0x461f768], ecx
mov dword [esi], edx
mov dword [esi + 4], ebx
mov dword [ebx], esi
mov dword [edx + 4], esi
mov eax, dword [0x461f778]
mov ecx, dword [0x461f76c]
and eax, edi
mov edi, dword [ecx + eax*8]
cmp edi, dword [0x461f764]
jne 0x45b4214
mov dword [ecx + eax*8], esi
jmp 0x45b4223
cmp edi, edx
jne 0x45b421d
mov dword [ecx + eax*8], esi
jmp 0x45b4227
cmp dword [ecx + eax*8 + 4], ebx
jne 0x45b4227
mov dword [ecx + eax*8 + 4], esi
mov edi, dword [ebp - 0x14]
mov dword [edi], esi
mov byte [edi + 4], 1
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push str.unordered_map_set_too_long
call fcn.045bd607
int3
Function at 0x45b4260
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1fffffff
sub esp, 0x10
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 0x45b43cd
lea eax, [ecx - 1]
mov esi, dword [0x461f764]
or eax, edi
mov dword [ebp - 8], esi
bsr ecx, eax
push esi
lea ecx, [ecx + 1]
shl edi, cl
mov ecx, 0x461f76c
lea eax, [edi + edi]
push eax
call fcn.0457a250
mov eax, dword [0x461f764]
lea ebx, [edi - 1]
mov dword [0x461f778], ebx
mov dword [0x461f77c], edi
mov eax, dword [eax]
mov ecx, eax
cmp eax, esi
je 0x45b43c4
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 [0x461f76c]
imul edi, edi, 0x1000193
and edi, ebx
mov ebx, dword [edx + edi*8]
lea edx, [edx + edi*8]
mov dword [ebp - 0xc], edx
cmp ebx, esi
jne 0x45b4322
mov dword [edx], eax
mov dword [edx + 4], eax
jmp 0x45b438f
mov edx, dword [edx + 4]
mov edi, dword [eax + 8]
cmp edi, dword [edx + 8]
jne 0x45b435c
mov edx, dword [edx]
mov dword [ebp - 4], edx
cmp edx, eax
je 0x45b4354
mov ebx, dword [eax + 4]
mov esi, dword [ebp - 4]
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 - 0xc]
mov dword [edx + 4], eax
jmp 0x45b438f
cmp ebx, edx
je 0x45b436c
mov edx, dword [edx + 4]
cmp edi, dword [edx + 8]
je 0x45b43a0
cmp ebx, edx
jne 0x45b4360
mov ebx, dword [eax + 4]
mov dword [ebp - 4], 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 - 4]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xc]
mov dword [eax + 4], edi
mov dword [edx], eax
mov eax, ecx
cmp ecx, esi
je 0x45b43c4
mov ebx, dword [0x461f778]
jmp 0x45b42d0
mov ebx, dword [eax + 4]
mov edx, dword [edx]
mov dword [ebp - 4], 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 0x45b438f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.invalid_hash_bucket_count
call fcn.045bd607
int3