joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100d7740
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
push esi
push edi
mov edi, ecx
mov eax, dword [edi]
cmp eax, 0x270
jne 0x100d7790
lea edx, [edi + 8]
mov esi, eax
mov ecx, dword [edx - 4]
lea edx, [edx + 4]
xor ecx, dword [edx - 4]
and ecx, 0x7fffffff
xor ecx, dword [edx - 8]
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [edx + 0x62c]
xor eax, ecx
mov dword [edx + 0x9b8], eax
sub esi, 1
jne 0x100d7752
mov eax, dword [edi]
jmp 0x100d7877
cmp eax, 0x4e0
jb 0x100d7877
mov eax, dword [edi + 0x9c4]
push ebx
lea ebx, [edi + 0x9c4]
push ebp
mov ebp, 0xe3
nop
mov ecx, dword [ebx + 4]
lea edx, [ebx + 4]
xor ecx, eax
and ecx, 0x7fffffff
xor ecx, eax
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [ebx + 0x634]
xor eax, ecx
mov dword [ebx - 0x9c0], eax
lea ebx, [edx]
mov eax, dword [edx]
sub ebp, 1
jne 0x100d77b0
mov eax, dword [edi + 0xd50]
lea ebx, [edi + 0xd50]
mov ebp, 0x18c
nop word [eax + eax]
mov ecx, eax
lea edx, [ebx + 4]
xor ecx, dword [edx]
and ecx, 0x7fffffff
xor ecx, eax
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [ebx - 0xd4c]
xor eax, ecx
mov dword [ebx - 0x9c0], eax
lea ebx, [edx]
mov eax, dword [edx]
sub ebp, 1
jne 0x100d7800
mov ecx, dword [edi + 0x1380]
xor ecx, dword [edi + 4]
and ecx, 0x7fffffff
xor ecx, dword [edi + 0x1380]
mov eax, ecx
and al, 1
movzx eax, al
neg eax
pop ebp
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [edi + 0x634]
xor eax, ecx
mov dword [edi + 0x9c0], eax
xor eax, eax
mov dword [edi], 0
pop ebx
mov edx, dword [edi + eax*4 + 4]
inc eax
mov dword [edi], eax
mov ecx, edx
mov eax, dword [edi + 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 eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, edx
shr eax, 0x12
pop edi
xor eax, edx
pop esi
ret
Function at 0x100d7930
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x18
push ebp
mov ebp, ecx
mov ecx, dword [esp + 0x20]
cmp ecx, eax
je 0x100d7a96
cmp dword [ecx + 0x1c], 0x10
lea edx, [ecx + 8]
mov eax, dword [ebp + 4]
push ebx
mov ebx, dword [edx + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
push esi
mov dword [esp + 0x14], eax
mov esi, ecx
mov eax, dword [ecx + 4]
push edi
mov dword [esp + 0x20], eax
jb 0x100d796e
mov edx, dword [edx]
xor ecx, ecx
mov edi, 0x811c9dc5
test ebx, ebx
je 0x100d7991
nop dword [eax]
movzx eax, byte [ecx + edx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, ebx
jb 0x100d7980
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x18]
and eax, edi
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], eax
nop
mov edi, esi
mov ebx, esi
mov esi, dword [esi]
lea ecx, [edi + 8]
call fcn.100db900
push 0x28
push edi
call fcn.100fa9c7
dec dword [ebp + 8]
add esp, 8
cmp ebx, dword [esp + 0x24]
je 0x100d79f1
cmp esi, dword [esp + 0x30]
jne 0x100d79b0
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x2c]
jne 0x100d7a86
mov ecx, dword [esp + 0x10]
mov dword [ecx], esi
jmp 0x100d7a86
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
cmp eax, dword [esp + 0x2c]
jne 0x100d7a07
mov eax, dword [esp + 0x1c]
mov dword [ecx], eax
jmp 0x100d7a0b
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], eax
cmp esi, dword [esp + 0x30]
je 0x100d7a86
cmp dword [esi + 0x1c], 0x10
lea edx, [esi + 8]
mov ebx, dword [edx + 0x10]
jb 0x100d7a22
mov edx, dword [edx]
xor ecx, ecx
mov edi, 0x811c9dc5
test ebx, ebx
je 0x100d7a41
nop dword [eax]
movzx eax, byte [ecx + edx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, ebx
jb 0x100d7a30
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x18]
and eax, edi
lea eax, [ecx + eax*8]
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x24], eax
mov edi, esi
mov ebx, esi
mov esi, dword [esi]
lea ecx, [edi + 8]
call fcn.100db900
push 0x28
push edi
call fcn.100fa9c7
dec dword [ebp + 8]
add esp, 8
cmp ebx, dword [esp + 0x24]
je 0x100d7a9d
cmp esi, dword [esp + 0x30]
jne 0x100d7a58
mov eax, dword [esp + 0x2c]
mov dword [eax], esi
mov eax, dword [esp + 0x20]
pop edi
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, dword [esp + 0x2c]
pop esi
pop ebx
pop ebp
add esp, 0x18
ret 8
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
mov dword [eax], edi
mov dword [eax + 4], edi
cmp esi, dword [esp + 0x30]
jne 0x100d7a14
jmp 0x100d7a86
Function at 0x100d8d00
Capabilities:
Hash data using fnv

Disassembly:
sub esp, 8
mov edx, dword [esp + 0xc]
mov eax, 0x1fffffff
push ebx
mov ebx, ecx
bsr ecx, eax
push ebp
push esi
push edi
mov edi, 1
mov dword [esp + 0x14], ebx
mov eax, edi
shl eax, cl
cmp edx, eax
ja 0x100d8e56
mov esi, dword [ebx + 4]
lea eax, [edx - 1]
or eax, edi
bsr ecx, eax
push esi
lea ecx, [ecx + 1]
shl edi, cl
lea ecx, [ebx + 0xc]
lea eax, [edi + edi]
push eax
call fcn.10086b30
lea eax, [edi - 1]
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], eax
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx]
mov edx, ecx
cmp ecx, esi
je 0x100d8e30
nop
mov ebp, dword [ecx + 8]
mov edx, dword [edx]
lea ebx, [ebp + 8]
movzx eax, bl
xor eax, 0x811c9dc5
imul edi, eax, 0x1000193
mov eax, ebx
shr eax, 8
movzx eax, al
xor edi, eax
mov eax, ebx
imul edi, edi, 0x1000193
shr eax, 0x10
movzx eax, al
shr ebx, 0x18
xor edi, eax
imul eax, edi, 0x1000193
xor eax, ebx
mov ebx, dword [esp + 0x14]
imul eax, eax, 0x1000193
mov edi, dword [ebx + 0x18]
and edi, eax
mov eax, dword [ebx + 0xc]
lea eax, [eax + edi*8]
mov edi, dword [eax]
mov dword [esp + 0x1c], eax
cmp edi, esi
jne 0x100d8dc1
mov dword [eax], ecx
mov dword [eax + 4], ecx
jmp 0x100d8e20
mov eax, dword [eax + 4]
cmp ebp, dword [eax + 8]
jne 0x100d8df1
mov eax, dword [eax]
cmp eax, ecx
je 0x100d8de8
mov ebp, dword [ecx + 4]
mov dword [ebp], edx
mov ebx, dword [edx + 4]
mov dword [ebx], eax
mov edi, dword [eax + 4]
mov dword [edi], ecx
mov dword [eax + 4], ebx
mov dword [edx + 4], ebp
mov dword [ecx + 4], edi
mov eax, dword [esp + 0x1c]
mov dword [eax + 4], ecx
jmp 0x100d8e20
cmp edi, eax
je 0x100d8e01
mov eax, dword [eax + 4]
cmp ebp, dword [eax + 8]
je 0x100d8e3a
cmp edi, eax
jne 0x100d8df5
mov ebp, dword [ecx + 4]
mov dword [ebp], edx
mov ebx, dword [edx + 4]
mov dword [ebx], eax
mov edi, dword [eax + 4]
mov dword [edi], ecx
mov dword [eax + 4], ebx
mov eax, dword [esp + 0x1c]
mov dword [edx + 4], ebp
mov dword [ecx + 4], edi
mov dword [eax], ecx
mov ecx, edx
cmp edx, esi
jne 0x100d8d60
nop word [eax + eax]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
mov ebx, dword [ecx + 4]
mov ebp, dword [eax]
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], ebp
mov eax, dword [ebp + 4]
mov dword [eax], ecx
mov dword [ebp + 4], edi
mov dword [edx + 4], ebx
mov dword [ecx + 4], eax
jmp 0x100d8e20
push str.invalid_hash_bucket_count
call fcn.100fb945
int3
Function at 0x100d9140
Capabilities:
Hash data using fnv

Disassembly:
sub esp, 8
mov eax, dword [esp + 0x10]
push ebx
push ebp
push esi
mov ebx, dword [eax]
add ebx, 8
movzx eax, bl
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
mov eax, ebx
shr eax, 8
movzx eax, al
push edi
mov edi, ecx
xor edx, eax
mov eax, ebx
shr eax, 0x10
imul ecx, edx, 0x1000193
movzx eax, al
shr ebx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edi
xor eax, ebx
mov ebx, dword [esp + 0x20]
imul ebp, eax, 0x1000193
lea eax, [esp + 0x10]
push ebp
push ebx
push eax
call fcn.100a2520
mov esi, dword [esp + 0x14]
test esi, esi
je 0x100d91ba
mov eax, dword [esp + 0x1c]
xor cl, cl
mov dword [eax], esi
mov byte [eax + 4], cl
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 0xc
cmp dword [edi + 8], 0xfffffff
je 0x100d92a9
push 0x10
call fcn.100faea5
mov ecx, dword [ebx]
mov esi, eax
add esp, 4
mov dword [esi + 8], ecx
mov ecx, dword [esp + 0x24]
mov cl, byte [ecx]
mov byte [esi + 0xc], cl
mov ecx, dword [edi + 8]
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1014bca0]
mov eax, dword [edi + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1014bca0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [edi]
jbe 0x100d9242
mov ecx, edi
call fcn.100d8450
push ebp
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [esp + 0x18]
push eax
call fcn.100a2520
mov ecx, dword [edi + 8]
mov edx, dword [eax]
jmp 0x100d9246
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 4]
lea eax, [ecx + 1]
mov dword [edi + 8], eax
mov dword [esi], edx
mov dword [esi + 4], ebx
mov dword [ebx], esi
mov dword [edx + 4], esi
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0xc]
and eax, ebp
mov ebp, dword [ecx + eax*8]
cmp ebp, dword [edi + 4]
jne 0x100d926e
mov dword [ecx + eax*8], esi
jmp 0x100d9290
cmp ebp, edx
jne 0x100d928a
mov dword [ecx + eax*8], esi
mov cl, 1
mov eax, dword [esp + 0x1c]
mov dword [eax], esi
mov byte [eax + 4], cl
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 0xc
cmp dword [ecx + eax*8 + 4], ebx
jne 0x100d9294
mov dword [ecx + eax*8 + 4], esi
mov eax, dword [esp + 0x1c]
mov cl, 1
pop edi
mov dword [eax], esi
pop esi
pop ebp
mov byte [eax + 4], cl
pop ebx
add esp, 8
ret 0xc
push str.unordered_map_set_too_long
call fcn.100fb945
int3
Function at 0x100d9520
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0xc
push ebx
mov ebx, dword [esp + 0x18]
mov edx, ebx
push ebp
push esi
push edi
cmp dword [ebx + 0x14], 0x10
mov edi, dword [ebx + 0x10]
jb 0x100d9538
mov edx, dword [ebx]
xor ecx, ecx
mov esi, 0x811c9dc5
test edi, edi
je 0x100d9554
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edi
jb 0x100d9543
push esi
push ebx
lea eax, [esp + 0x18]
push eax
call fcn.100da7e0
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100d957c
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
mov byte [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [0x1015ce7c], 0x6666666
je 0x100d970a
push 0x28
call fcn.100faea5
mov edi, eax
add esp, 4
mov dword [edi + 8], 0
lea ebp, [edi + 8]
mov dword [ebp + 0x10], 0
mov dword [ebp + 0x14], 0
movups xmm0, xmmword [ebx]
movups xmmword [ebp], xmm0
movq xmm0, qword [ebx + 0x10]
movq qword [ebp + 0x10], xmm0
xorps xmm0, xmm0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0xf
mov byte [ebx], 0
movq qword [ebp + 0x18], xmm0
mov dword [ebp + 0x1c], 0
mov ecx, dword [0x1015ce7c]
mov ebx, dword [0x1015ce90]
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1014bca0]
mov eax, ebx
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x1014bca0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [0x1015ce74]
comiss xmm1, xmm0
jbe 0x100d969c
divss xmm2, xmm0
sub esp, 8
movss dword [esp + 0x2c], xmm2
fld dword [esp + 0x2c]
fstp qword [esp]
call fcn.1011f260
add esp, 8
fstp dword [esp + 0x24]
movss xmm0, dword [esp + 0x24]
call fcn.10120ad0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebx, ecx
jae 0x100d9680
cmp ebx, 0x200
jae 0x100d967e
shl ebx, 3
cmp ebx, ecx
jae 0x100d9680
mov ebx, ecx
push ebx
call fcn.100d9950
push esi
push ebp
lea eax, [esp + 0x18]
push eax
call fcn.100da7e0
mov ecx, dword [0x1015ce7c]
mov edx, dword [eax]
jmp 0x100d96a0
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 4]
inc ecx
mov dword [0x1015ce7c], ecx
mov dword [edi], edx
mov dword [edi + 4], ebx
mov dword [ebx], edi
mov dword [edx + 4], edi
mov eax, dword [0x1015ce8c]
mov ecx, dword [0x1015ce80]
and eax, esi
mov esi, dword [ecx + eax*8]
cmp esi, dword [0x1015ce78]
jne 0x100d96d1
mov dword [ecx + eax*8], edi
jmp 0x100d96f2
cmp esi, edx
jne 0x100d96ec
mov dword [ecx + eax*8], edi
mov eax, dword [esp + 0x20]
mov dword [eax], edi
mov byte [eax + 4], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ecx + eax*8 + 4], ebx
jne 0x100d96f6
mov dword [ecx + eax*8 + 4], edi
mov eax, dword [esp + 0x20]
mov dword [eax], edi
pop edi
pop esi
pop ebp
mov byte [eax + 4], 1
pop ebx
add esp, 0xc
ret 8
push str.unordered_map_set_too_long
call fcn.100fb945
int3
Function at 0x100d9950
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov eax, 0x1fffffff
sub esp, 8
bsr ecx, eax
push ebx
push ebp
push esi
mov esi, 1
mov eax, esi
shl eax, cl
mov ecx, dword [esp + 0x18]
push edi
cmp ecx, eax
ja 0x100d9b0f
lea eax, [ecx - 1]
or eax, esi
bsr ecx, eax
mov eax, dword [0x1015ce78]
push eax
mov dword [esp + 0x20], eax
lea ecx, [ecx + 1]
shl esi, cl
mov ecx, 0x1015ce80
lea eax, [esi + esi]
push eax
call fcn.10086b30
mov edi, dword [0x1015ce78]
lea eax, [esi - 1]
mov ecx, dword [esp + 0x1c]
mov dword [0x1015ce8c], eax
mov dword [0x1015ce90], esi
mov edi, dword [edi]
mov eax, edi
cmp edi, ecx
je 0x100d9ae5
nop dword [eax]
cmp dword [edi + 0x1c], 0x10
lea ebx, [edi + 8]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
jb 0x100d99d9
mov edx, dword [ebx]
mov dword [esp + 0x14], edx
xor esi, esi
mov ebp, 0x811c9dc5
cmp dword [ebx + 0x10], esi
jbe 0x100d9a06
mov ecx, dword [esp + 0x14]
nop dword [eax]
movzx edx, byte [esi + ecx]
inc esi
xor edx, ebp
imul ebp, edx, 0x1000193
cmp esi, dword [ebx + 0x10]
jb 0x100d99f0
mov ecx, dword [esp + 0x1c]
and ebp, dword [0x1015ce8c]
mov edx, dword [0x1015ce80]
lea edx, [edx + ebp*8]
mov dword [esp + 0x14], edx
cmp dword [edx], ecx
jne 0x100d9a27
mov dword [edx], edi
mov dword [edx + 4], edi
jmp 0x100d9adb
mov esi, dword [edx + 4]
cmp dword [esi + 0x1c], 0x10
lea eax, [esi + 8]
mov edx, dword [eax + 0x10]
jb 0x100d9a38
mov eax, dword [eax]
cmp dword [ebx + 0x14], 0x10
mov ecx, ebx
jb 0x100d9a42
mov ecx, dword [ebx]
mov ebp, dword [ebx + 0x10]
push edx
push eax
mov edx, ebp
call fcn.1009a400
test al, al
je 0x100d9a7d
mov ecx, dword [esi]
mov eax, dword [esp + 0x10]
cmp ecx, edi
je 0x100d9a74
mov ebx, dword [edi + 4]
mov dword [ebx], eax
mov esi, dword [eax + 4]
mov dword [esi], ecx
mov edx, dword [ecx + 4]
mov dword [edx], edi
mov dword [ecx + 4], esi
mov dword [eax + 4], ebx
mov dword [edi + 4], edx
mov ecx, dword [esp + 0x14]
mov dword [ecx + 4], edi
jmp 0x100d9ad7
mov eax, dword [esp + 0x14]
cmp dword [eax], esi
je 0x100d9ab5
mov esi, dword [esi + 4]
cmp dword [esi + 0x1c], 0x10
lea eax, [esi + 8]
mov edx, dword [eax + 0x10]
jb 0x100d9a96
mov eax, dword [eax]
cmp dword [ebx + 0x14], 0x10
mov ecx, ebx
jb 0x100d9aa0
mov ecx, dword [ebx]
push edx
push eax
mov edx, ebp
call fcn.1009a400
test al, al
jne 0x100d9aef
mov eax, dword [esp + 0x14]
cmp dword [eax], esi
jne 0x100d9a85
mov ebx, dword [edi + 4]
mov eax, dword [esp + 0x10]
mov dword [ebx], eax
mov edx, dword [eax + 4]
mov dword [edx], esi
mov ecx, dword [esi + 4]
mov dword [ecx], edi
mov dword [esi + 4], edx
mov dword [eax + 4], ebx
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx], edi
mov ecx, dword [esp + 0x1c]
mov edi, eax
cmp eax, ecx
jne 0x100d99c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
mov ebx, dword [esi]
mov esi, dword [edi + 4]
mov eax, dword [esp + 0x10]
mov dword [esi], eax
mov edx, dword [eax + 4]
mov dword [edx], ebx
mov ecx, dword [ebx + 4]
mov dword [ecx], edi
mov dword [ebx + 4], edx
mov dword [eax + 4], esi
mov dword [edi + 4], ecx
jmp 0x100d9ad7
push str.invalid_hash_bucket_count
call fcn.100fb945
int3
Function at 0x100d9b80
Capabilities:
Hash data using fnv

Disassembly:
sub esp, 8
mov eax, dword [esp + 0x10]
push ebx
push ebp
push esi
mov ebx, dword [eax]
add ebx, 8
movzx eax, bl
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
mov eax, ebx
shr eax, 8
movzx eax, al
push edi
mov edi, ecx
xor edx, eax
mov eax, ebx
shr eax, 0x10
imul ecx, edx, 0x1000193
movzx eax, al
shr ebx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edi
xor eax, ebx
mov ebx, dword [esp + 0x20]
imul ebp, eax, 0x1000193
lea eax, [esp + 0x10]
push ebp
push ebx
push eax
call fcn.100a2520
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100d9bf9
mov eax, dword [esp + 0x1c]
mov dword [eax], ecx
mov byte [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 0xc
cmp dword [edi + 8], 0xaaaaaaa
je 0x100d9d40
push 0x18
call fcn.100faea5
mov ecx, dword [ebx]
mov esi, eax
add esp, 4
mov dword [esi + 8], ecx
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], ecx
mov ecx, dword [edi + 8]
mov ebx, dword [edi + 0x1c]
movss xmm3, dword [edi]
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1014bca0]
mov eax, ebx
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x1014bca0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x100d9cdb
divss xmm2, xmm3
sub esp, 8
movss dword [esp + 0x28], xmm2
fld dword [esp + 0x28]
fstp qword [esp]
call fcn.1011f260
add esp, 8
fstp dword [esp + 0x20]
movss xmm0, dword [esp + 0x20]
call fcn.10120ad0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebx, ecx
jae 0x100d9cbb
cmp ebx, 0x200
jae 0x100d9cb9
shl ebx, 3
cmp ebx, ecx
jae 0x100d9cbb
mov ebx, ecx
push ebx
mov ecx, edi
call fcn.100d8d00
push ebp
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [esp + 0x18]
push eax
call fcn.100a2520
mov ecx, dword [edi + 8]
mov edx, dword [eax]
jmp 0x100d9cdf
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 4]
lea eax, [ecx + 1]
mov dword [edi + 8], eax
mov dword [esi], edx
mov dword [esi + 4], ebx
mov dword [ebx], esi
mov dword [edx + 4], esi
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0xc]
and eax, ebp
mov ebp, dword [ecx + eax*8]
cmp ebp, dword [edi + 4]
jne 0x100d9d07
mov dword [ecx + eax*8], esi
jmp 0x100d9d28
cmp ebp, edx
jne 0x100d9d22
mov dword [ecx + eax*8], esi
mov eax, dword [esp + 0x1c]
mov dword [eax], esi
mov byte [eax + 4], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 0xc
cmp dword [ecx + eax*8 + 4], ebx
jne 0x100d9d2c
mov dword [ecx + eax*8 + 4], esi
mov eax, dword [esp + 0x1c]
pop edi
mov dword [eax], esi
pop esi
pop ebp
mov byte [eax + 4], 1
pop ebx
add esp, 8
ret 0xc
push str.unordered_map_set_too_long
call fcn.100fb945
int3
Function at 0x100d9d50
Capabilities:
Hash data using fnv

Disassembly:
sub esp, 8
mov eax, dword [esp + 0x10]
push ebx
push ebp
push esi
mov ebx, dword [eax]
add ebx, 8
movzx eax, bl
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
mov eax, ebx
shr eax, 8
movzx eax, al
push edi
mov edi, ecx
xor edx, eax
mov eax, ebx
shr eax, 0x10
imul ecx, edx, 0x1000193
movzx eax, al
shr ebx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edi
xor eax, ebx
mov ebx, dword [esp + 0x20]
imul ebp, eax, 0x1000193
lea eax, [esp + 0x10]
push ebp
push ebx
push eax
call fcn.100a2520
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100d9dc9
mov eax, dword [esp + 0x1c]
mov dword [eax], ecx
mov byte [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 0xc
cmp dword [edi + 8], 0xfffffff
je 0x100d9f0a
push 0x10
call fcn.100faea5
mov ecx, dword [ebx]
mov esi, eax
add esp, 4
mov dword [esi + 8], ecx
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx]
mov dword [esi + 0xc], ecx
mov ecx, dword [edi + 8]
mov ebx, dword [edi + 0x1c]
movss xmm3, dword [edi]
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1014bca0]
mov eax, ebx
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x1014bca0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x100d9ea5
divss xmm2, xmm3
sub esp, 8
movss dword [esp + 0x28], xmm2
fld dword [esp + 0x28]
fstp qword [esp]
call fcn.1011f260
add esp, 8
fstp dword [esp + 0x20]
movss xmm0, dword [esp + 0x20]
call fcn.10120ad0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebx, ecx
jae 0x100d9e85
cmp ebx, 0x200
jae 0x100d9e83
shl ebx, 3
cmp ebx, ecx
jae 0x100d9e85
mov ebx, ecx
push ebx
mov ecx, edi
call fcn.100d8d00
push ebp
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [esp + 0x18]
push eax
call fcn.100a2520
mov ecx, dword [edi + 8]
mov edx, dword [eax]
jmp 0x100d9ea9
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 4]
lea eax, [ecx + 1]
mov dword [edi + 8], eax
mov dword [esi], edx
mov dword [esi + 4], ebx
mov dword [ebx], esi
mov dword [edx + 4], esi
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0xc]
and eax, ebp
mov ebp, dword [ecx + eax*8]
cmp ebp, dword [edi + 4]
jne 0x100d9ed1
mov dword [ecx + eax*8], esi
jmp 0x100d9ef2
cmp ebp, edx
jne 0x100d9eec
mov dword [ecx + eax*8], esi
mov eax, dword [esp + 0x1c]
mov dword [eax], esi
mov byte [eax + 4], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 0xc
cmp dword [ecx + eax*8 + 4], ebx
jne 0x100d9ef6
mov dword [ecx + eax*8 + 4], esi
mov eax, dword [esp + 0x1c]
pop edi
mov dword [eax], esi
pop esi
pop ebp
mov byte [eax + 4], 1
pop ebx
add esp, 8
ret 0xc
push str.unordered_map_set_too_long
call fcn.100fb945
int3
Function at 0x100daa90
Capabilities:
Hash data using fnv

Disassembly:
sub esp, 8
mov edx, dword [esp + 0xc]
mov eax, 0x1fffffff
push ebx
push ebp
mov ebp, ecx
bsr ecx, eax
push esi
push edi
mov edi, 1
mov dword [esp + 0x14], ebp
mov eax, edi
shl eax, cl
cmp edx, eax
ja 0x100dabb2
mov esi, dword [ebp + 4]
lea eax, [edx - 1]
or eax, edi
bsr ecx, eax
push esi
lea ecx, [ecx + 1]
shl edi, cl
lea ecx, [ebp + 0xc]
lea eax, [edi + edi]
push eax
call fcn.10086b30
lea eax, [edi - 1]
mov dword [ebp + 0x1c], edi
mov dword [ebp + 0x18], eax
mov ecx, dword [ebp + 4]
mov ecx, dword [ecx]
mov edx, ecx
cmp ecx, esi
je 0x100dab8c
nop
mov bl, byte [ecx + 8]
mov edi, dword [ebp + 0x18]
mov edx, dword [edx]
movzx eax, bl
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
and edi, eax
mov eax, dword [ebp + 0xc]
lea eax, [eax + edi*8]
mov edi, dword [eax]
mov dword [esp + 0x1c], eax
cmp edi, esi
jne 0x100dab1f
mov dword [eax], ecx
mov dword [eax + 4], ecx
jmp 0x100dab7e
mov eax, dword [eax + 4]
cmp bl, byte [eax + 8]
jne 0x100dab4f
mov eax, dword [eax]
cmp eax, ecx
je 0x100dab46
mov ebp, dword [ecx + 4]
mov dword [ebp], edx
mov ebx, dword [edx + 4]
mov dword [ebx], eax
mov edi, dword [eax + 4]
mov dword [edi], ecx
mov dword [eax + 4], ebx
mov dword [edx + 4], ebp
mov dword [ecx + 4], edi
mov eax, dword [esp + 0x1c]
mov dword [eax + 4], ecx
jmp 0x100dab7e
cmp edi, eax
je 0x100dab5f
mov eax, dword [eax + 4]
cmp bl, byte [eax + 8]
je 0x100dab96
cmp edi, eax
jne 0x100dab53
mov ebp, dword [ecx + 4]
mov dword [ebp], edx
mov ebx, dword [edx + 4]
mov dword [ebx], eax
mov edi, dword [eax + 4]
mov dword [edi], ecx
mov dword [eax + 4], ebx
mov eax, dword [esp + 0x1c]
mov dword [edx + 4], ebp
mov dword [ecx + 4], edi
mov dword [eax], ecx
mov ebp, dword [esp + 0x14]
mov ecx, edx
cmp edx, esi
jne 0x100daaf0
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
mov ebx, dword [ecx + 4]
mov ebp, dword [eax]
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], ebp
mov eax, dword [ebp + 4]
mov dword [eax], ecx
mov dword [ebp + 4], edi
mov dword [edx + 4], ebx
mov dword [ecx + 4], eax
jmp 0x100dab7e
push str.invalid_hash_bucket_count
call fcn.100fb945
int3