joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100e11e0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x18
mov eax, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x14], ecx
push esi
mov esi, edx
mov dword [esp + 4], eax
sar eax, 1
mov dword [esp + 8], eax
push edi
mov edi, esi
mov dword [esp + 0x18], edi
cmp esi, eax
jge 0x100e1254
lea edi, [edx + edx]
lea eax, [edi + 2]
shl eax, 4
add eax, ecx
mov dword [esp + 0x10], eax
lea ecx, [eax - 0x10]
push ecx
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x30]
push eax
call fcn.100d4990
mov ecx, dword [esp + 0x1c]
movzx edx, al
xor edx, 1
inc edx
add edx, edi
test al, al
mov eax, dword [esp + 0x14]
cmove eax, dword [esp + 0x10]
add esi, esi
movups xmm0, xmmword [eax]
mov eax, dword [esp + 0xc]
movups xmmword [ecx + esi*8], xmm0
mov esi, edx
cmp edx, eax
jl 0x100e1204
mov edi, dword [esp + 0x18]
cmp edx, eax
jne 0x100e1271
mov eax, dword [esp + 0x24]
test al, 1
jne 0x100e1271
add eax, eax
add esi, esi
movups xmm0, xmmword [ecx + eax*8 - 0x10]
movups xmmword [ecx + esi*8], xmm0
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
cmp edi, esi
jge 0x100e12bb
nop dword [eax]
push dword [esp + 0x28]
lea edi, [esi - 1]
sar edi, 1
mov eax, edi
shl eax, 4
add eax, ecx
lea ecx, [esp + 0x28]
push eax
mov dword [esp + 0x10], eax
call fcn.100d4990
mov ecx, dword [esp + 0x1c]
test al, al
je 0x100e12bb
mov eax, dword [esp + 8]
add esi, esi
movups xmm0, xmmword [eax]
movups xmmword [ecx + esi*8], xmm0
mov esi, edi
cmp dword [esp + 0x18], edi
jl 0x100e1280
mov eax, dword [esp + 0x28]
add esi, esi
pop edi
movups xmm0, xmmword [eax]
movups xmmword [ecx + esi*8], xmm0
pop esi
add esp, 0x18
ret 0x14
Function at 0x100e2fa0
Capabilities:
Hash data using fnv

Disassembly:
sub esp, 0x28
push ebx
mov ebx, dword [esp + 0x30]
push ebp
push esi
push edi
mov dword [ebx], 0
mov edi, ecx
push 0x10
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
call fcn.100fe077
add esp, 4
lea ecx, [ebx + 0xc]
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebx + 4], eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [ebx + 0x18], 7
mov dword [ebx + 0x1c], 8
mov dword [ebx], 0x3f800000
push dword [ebx + 4]
push 0x10
call fcn.1008a330
mov edi, dword [edi + 4]
xor ebp, ebp
mov esi, dword [edi]
cmp esi, edi
je 0x100e30d6
nop word [eax + eax]
mov edx, dword [esi + 0xc]
lea eax, [esi + 0xc]
mov dword [esp + 0x14], eax
add edx, 8
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
xor ecx, eax
mov eax, edx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, ebx
xor eax, edx
imul eax, eax, 0x1000193
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x20]
push eax
call fcn.100a8d00
mov eax, dword [eax + 4]
test eax, eax
je 0x100e3099
cmp eax, dword [ebx + 4]
je 0x100e3099
add eax, 0xc
mov ecx, ebx
push eax
lea eax, [esi + 8]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.100e8090
jmp 0x100e30cc
lea eax, [esp + 0x3c]
inc ebp
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x30]
mov dword [esp + 0x44], ebp
push eax
mov ecx, ebx
call fcn.100e8090
lea eax, [esp + 0x3c]
mov ecx, ebx
push eax
lea eax, [esi + 8]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.100e8090
mov ebp, dword [esp + 0x3c]
mov esi, dword [esi]
cmp esi, edi
jne 0x100e3020
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x28
ret 4
Function at 0x100e8a80
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 0x100e8bd2
mov esi, dword [ebx + 4]
lea eax, [edx - 1]
or eax, edi
lea ebp, [ebx + 0xc]
bsr ecx, eax
push esi
lea ecx, [ecx + 1]
shl edi, cl
mov ecx, ebp
lea eax, [edi + edi]
push eax
call fcn.1008a330
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 0x100e8bac
movzx eax, byte [ecx + 8]
xor eax, 0x811c9dc5
mov edx, dword [edx]
imul edi, eax, 0x1000193
movzx eax, byte [ecx + 9]
xor edi, eax
movzx eax, byte [ecx + 0xa]
imul edi, edi, 0x1000193
xor edi, eax
movzx eax, byte [ecx + 0xb]
imul edi, edi, 0x1000193
xor edi, eax
imul eax, edi, 0x1000193
mov edi, dword [ebx + 0x18]
and edi, eax
mov eax, dword [ebp]
mov ebx, dword [eax + edi*8]
lea eax, [eax + edi*8]
mov dword [esp + 0x1c], eax
cmp ebx, esi
jne 0x100e8b33
mov dword [eax], ecx
mov dword [eax + 4], ecx
jmp 0x100e8b9b
mov eax, dword [eax + 4]
mov edi, dword [ecx + 8]
cmp edi, dword [eax + 8]
jne 0x100e8b66
mov eax, dword [eax]
cmp eax, ecx
je 0x100e8b5d
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 0x100e8b9b
cmp ebx, eax
je 0x100e8b7c
nop word [eax + eax]
mov eax, dword [eax + 4]
cmp edi, dword [eax + 8]
je 0x100e8bb6
cmp ebx, eax
jne 0x100e8b70
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 ebx, dword [esp + 0x14]
mov ecx, edx
lea ebp, [ebx + 0xc]
cmp edx, esi
jne 0x100e8ae1
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 0x100e8b9b
push str.invalid_hash_bucket_count
call fcn.100feb15
int3
Function at 0x100ecdb0
Capabilities:
Hash data using fnv

Disassembly:
sub esp, 8
push ebx
mov ebx, dword [esp + 0x14]
push ebp
push esi
push edi
movzx eax, byte [ebx]
mov edi, ecx
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
movzx eax, byte [ebx + 1]
xor edx, eax
lea eax, [esp + 0x10]
imul ebp, edx, 0x1000193
push ebp
push ebx
push eax
call fcn.100ceda0
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100ecdff
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], 0x9249249
je 0x100ecf3c
push 0x1c
call fcn.100fe077
mov cx, word [ebx]
mov esi, eax
add esp, 4
mov word [esi + 8], cx
mov ecx, dword [esp + 0x24]
movups xmm0, xmmword [ecx]
movups xmmword [esi + 0xc], xmm0
mov eax, dword [edi + 8]
mov ebx, dword [edi + 0x1c]
inc eax
movss xmm3, dword [edi]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101516d0]
mov eax, ebx
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x101516d0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x100eceda
divss xmm2, xmm3
sub esp, 8
movss dword [esp + 0x28], xmm2
fld dword [esp + 0x28]
fstp qword [esp]
call fcn.10123ea0
add esp, 8
fstp dword [esp + 0x20]
movss xmm0, dword [esp + 0x20]
call fcn.101258f0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebx, ecx
jae 0x100ecebd
cmp ebx, 0x200
jae 0x100ecebb
shl ebx, 3
cmp ebx, ecx
jae 0x100ecebd
mov ebx, ecx
push ebx
mov ecx, edi
call fcn.100cec50
push ebp
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [esp + 0x18]
push eax
call fcn.100ceda0
mov edx, dword [eax]
jmp 0x100ecede
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 4]
inc dword [edi + 8]
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 0x100ecf03
mov dword [ecx + eax*8], esi
jmp 0x100ecf24
cmp ebp, edx
jne 0x100ecf1e
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 0x100ecf28
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.100feb15
int3

Function at 0x100ed170
Capabilities:
Hash data using fnv

Disassembly:
mov al, byte [ecx]
test al, al
je 0x100ed187
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
inc ecx
jmp fcn.100ed170
mov eax, edx
ret
Function at 0x100fa180
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
push esi
push edi
sub esp, 0x18
xorps xmm0, xmm0
mov esi, esp
mov edi, ecx
mov ebx, edx
mov dword [esp + 0x28], edi
push 7
movups xmmword [esi], xmm0
push str.Enabled
push esi
mov dword [esi + 0x10], 7
mov dword [esi + 0x14], 0xf
call fcn.10101750
add esp, 0xc
mov byte [esi + 7], 0
mov ecx, edi
call fcn.1008ed00
mov edi, dword [ebp + 8]
mov edx, ebx
push edi
mov ecx, eax
call fcn.1008c460
sub esp, 0x18
xorps xmm0, xmm0
mov esi, esp
push 0xc
movups xmmword [esi], xmm0
push str.No_Title_Bar
push esi
mov dword [esi + 0x10], 0xc
mov dword [esi + 0x14], 0xf
call fcn.10101750
mov ecx, dword [esp + 0x34]
add esp, 0xc
mov byte [esi + 0xc], 0
call fcn.1008ed00
lea ecx, [edi + 1]
push ecx
lea edx, [ebx + 1]
mov ecx, eax
call fcn.1008c460
or ecx, 0xffffffff
mov esi, 0x10150179
mov al, 0x53
or edi, 0xffffffff
cmp al, 0x23
jne 0x100fa234
cmp byte [esi], al
jne 0x100fa234
cmp byte [esi + 1], al
cmove ecx, edi
movzx edx, cl
movzx eax, al
xor edx, eax
shr ecx, 8
mov al, byte [esi]
inc esi
xor ecx, dword [edx*4 + 0x1013dac8]
test al, al
jne 0x100fa226
not ecx
call fcn.10047710
mov ebx, eax
test ebx, ebx
je 0x100fa35c
sub esp, 0x18
xorps xmm0, xmm0
mov esi, esp
push 3
movups xmmword [esi], xmm0
push 0x10150954
push esi
mov dword [esi + 0x10], 3
mov dword [esi + 0x14], 0xf
call fcn.10101750
mov ecx, dword [esp + 0x34]
add esp, 0xc
mov byte [esi + 3], 0
call fcn.1008ed00
lea ecx, [ebx + 0xc]
mov edi, eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.100fbc00
mov dl, byte [edi]
movzx ecx, byte [esp + 0x18]
mov eax, dword [esp + 0x20]
mov byte [edi], cl
mov esi, dword [edi + 0xc]
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x14], dl
push dword [esp + 0x14]
mov byte [esp + 0x1c], dl
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [esp + 0x24]
mov dword [edi + 8], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], esi
call fcn.10089b50
sub esp, 0x18
xorps xmm0, xmm0
mov esi, esp
push 4
movups xmmword [esi], xmm0
push str.Size
push esi
mov dword [esi + 0x10], 4
mov dword [esi + 0x14], 0xf
call fcn.10101750
mov ecx, dword [esp + 0x34]
add esp, 0xc
mov byte [esi + 4], 0
call fcn.1008ed00
lea ecx, [ebx + 0x1c]
mov edi, eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.100fbc00
mov dl, byte [edi]
movzx ecx, byte [esp + 0x18]
mov eax, dword [esp + 0x20]
mov byte [edi], cl
mov esi, dword [edi + 0xc]
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x14], dl
push dword [esp + 0x14]
mov byte [esp + 0x1c], dl
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [esp + 0x24]
mov dword [edi + 8], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], esi
call fcn.10089b50
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x100fb460
Capabilities:
Hash data using fnv

Disassembly:
sub esp, 0x18
push ebx
mov ebx, dword [esp + 0x20]
mov edx, ecx
push ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0xc], edx
cmp ebx, ebp
je 0x100fb60d
mov eax, dword [edx + 4]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
movzx eax, byte [ebx + 8]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [ebx + 9]
push esi
push edi
mov edi, dword [edx + 0xc]
mov esi, ebx
xor ecx, eax
mov dword [esp + 0x24], edi
movzx eax, byte [ebx + 0xa]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebx + 0xb]
imul ecx, ecx, 0x1000193
xor ecx, eax
mov eax, dword [edx + 0x18]
imul ecx, ecx, 0x1000193
and eax, ecx
mov ecx, dword [edi + eax*8]
mov dword [esp + 0x10], ecx
lea eax, [edi + eax*8]
mov dword [esp + 0x30], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x20], eax
mov edi, esi
mov ebx, esi
mov esi, dword [esi]
lea ecx, [edi + 0x1c]
call fcn.10088660
mov edx, dword [edi + 0x14]
call fcn.100fc0a0
push 0x24
push dword [edi + 0x14]
call fcn.100fdb97
push 0x30
push edi
call fcn.100fdb97
mov edx, dword [esp + 0x24]
add esp, 0x10
dec dword [edx + 8]
cmp ebx, dword [esp + 0x20]
je 0x100fb546
cmp esi, ebp
jne 0x100fb4e1
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x2c]
jne 0x100fb602
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
pop edi
mov dword [ecx], esi
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 8
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
cmp eax, dword [esp + 0x2c]
jne 0x100fb55c
mov eax, dword [esp + 0x18]
mov dword [ecx], eax
jmp 0x100fb560
mov eax, dword [esp + 0x1c]
mov dword [ecx + 4], eax
cmp esi, ebp
je 0x100fb602
nop dword [eax + eax]
movzx eax, byte [esi + 8]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [esi + 9]
xor ecx, eax
movzx eax, byte [esi + 0xa]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esi + 0xb]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [edx + 0x18]
and ecx, eax
mov eax, dword [esp + 0x24]
lea eax, [eax + ecx*8]
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x30], eax
nop word [eax + eax]
mov edi, esi
mov ebx, esi
mov esi, dword [esi]
lea ecx, [edi + 0x1c]
call fcn.10088660
mov edx, dword [edi + 0x14]
call fcn.100fc0a0
push 0x24
push dword [edi + 0x14]
call fcn.100fdb97
push 0x30
push edi
call fcn.100fdb97
mov edx, dword [esp + 0x24]
add esp, 0x10
dec dword [edx + 8]
cmp ebx, dword [esp + 0x30]
je 0x100fb617
cmp esi, ebp
jne 0x100fb5c0
mov eax, dword [esp + 0x2c]
mov dword [eax], esi
mov eax, dword [esp + 0x1c]
pop edi
mov dword [eax], esi
mov dword [esi + 4], eax
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x18
ret 8
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x18]
mov dword [eax], ebx
mov dword [eax + 4], ebx
cmp esi, ebp
jne 0x100fb570
mov eax, dword [esp + 0x1c]
pop edi
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 8
Function at 0x100fb650
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0x18
push ebx
mov ebx, dword [esp + 0x20]
push ebp
mov ebp, dword [esp + 0x28]
push edi
mov edi, ecx
cmp ebx, ebp
je 0x100fb806
cmp dword [ebx + 0x1c], 0x10
lea edx, [ebx + 8]
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x10]
jb 0x100fb68b
mov edx, dword [edx]
xor ecx, ecx
push esi
mov esi, 0x811c9dc5
test eax, eax
je 0x100fb6b5
mov ebp, eax
nop dword [eax]
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, ebp
jb 0x100fb6a0
mov ebp, dword [esp + 0x30]
mov eax, dword [edi + 0x18]
mov edx, ebx
mov ecx, dword [esp + 0x18]
and eax, esi
mov esi, dword [ebx]
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
call fcn.100fc110
dec dword [edi + 8]
cmp ebx, dword [esp + 0x10]
je 0x100fb702
mov dword [esp + 0x24], esi
cmp esi, ebp
je 0x100fb714
mov edx, esi
mov esi, dword [esi]
call fcn.100fc110
dec dword [edi + 8]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x24], eax
jne 0x100fb6e4
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x14], ebx
jne 0x100fb739
mov eax, dword [esp + 0x1c]
mov dword [ecx], eax
jmp 0x100fb73d
cmp dword [esp + 0x14], ebx
jne 0x100fb7fc
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov dword [ecx], esi
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, ebp
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x18
ret 8
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], eax
cmp esi, ebp
je 0x100fb7fc
nop dword [eax + eax]
cmp dword [esi + 0x1c], 0x10
lea edx, [esi + 8]
mov eax, dword [edx + 0x10]
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], eax
jb 0x100fb766
mov edx, dword [edx]
xor ecx, ecx
mov ebx, 0x811c9dc5
test eax, eax
je 0x100fb78a
mov ebp, dword [esp + 0x2c]
movzx eax, byte [ecx + edx]
inc ecx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp ecx, ebp
jb 0x100fb775
mov ebp, dword [esp + 0x30]
mov eax, dword [edi + 0x18]
mov edx, esi
mov ecx, dword [esp + 0x18]
and eax, ebx
mov ebx, dword [ecx + eax*8 + 4]
mov esi, dword [esi]
mov dword [esp + 0x14], ebx
lea eax, [ecx + eax*8]
mov dword [esp + 0x2c], eax
call fcn.100fc110
dec dword [edi + 8]
cmp dword [esp + 0x24], ebx
je 0x100fb7cc
mov ebx, esi
cmp esi, ebp
je 0x100fb7f6
mov edx, esi
mov esi, dword [esi]
call fcn.100fc110
dec dword [edi + 8]
cmp ebx, dword [esp + 0x14]
jne 0x100fb7b4
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x1c]
mov dword [eax], ebx
mov dword [eax + 4], ebx
cmp esi, ebp
jne 0x100fb750
mov eax, dword [esp + 0x20]
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, ebp
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x18
ret 8
mov eax, dword [esp + 0x2c]
mov dword [eax], esi
mov eax, dword [esp + 0x20]
mov dword [eax], esi
mov dword [esi + 4], eax
pop esi
pop edi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x18
ret 8
Function at 0x100fbcc0
Capabilities:
Hash data using fnv

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x24]
movzx eax, byte [edi]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [edi + 1]
xor ecx, eax
movzx eax, byte [edi + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edi + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
lea eax, [esp + 0x10]
imul ebx, ecx, 0x1000193
push ebx
push edi
push eax
call fcn.100fc4a0
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100fbd25
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 [0x1015ef30], 0x5555555
je 0x100fbe8c
push 0x30
call fcn.100fe077
mov ecx, dword [edi]
mov esi, eax
lea ebp, [esi + 8]
xorps xmm0, xmm0
mov dword [ebp], ecx
add esp, 4
movups xmmword [ebp + 4], xmm0
lea ecx, [ebp + 8]
movups xmmword [ebp + 0x14], xmm0
mov dword [ebp + 0x24], 0
call fcn.100fb270
mov ecx, dword [0x1015ef30]
mov edi, dword [0x1015ef44]
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101516d0]
mov eax, edi
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, edi
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x101516d0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [0x1015ef28]
comiss xmm1, xmm0
jbe 0x100fbe1e
divss xmm2, xmm0
sub esp, 8
movss dword [esp + 0x2c], xmm2
fld dword [esp + 0x2c]
fstp qword [esp]
call fcn.10123ea0
add esp, 8
fstp dword [esp + 0x24]
movss xmm0, dword [esp + 0x24]
call fcn.101258f0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp edi, ecx
jae 0x100fbe02
cmp edi, 0x200
jae 0x100fbe00
shl edi, 3
cmp edi, ecx
jae 0x100fbe02
mov edi, ecx
push edi
call fcn.100fc170
push ebx
push ebp
lea eax, [esp + 0x18]
push eax
call fcn.100fc4a0
mov ecx, dword [0x1015ef30]
mov edx, dword [eax]
jmp 0x100fbe22
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 4]
inc ecx
mov dword [0x1015ef30], ecx
mov dword [esi], edx
mov dword [esi + 4], edi
mov dword [edi], esi
mov dword [edx + 4], esi
mov eax, dword [0x1015ef40]
mov ecx, dword [0x1015ef34]
and eax, ebx
mov ebx, dword [ecx + eax*8]
cmp ebx, dword [0x1015ef2c]
jne 0x100fbe53
mov dword [ecx + eax*8], esi
jmp 0x100fbe74
cmp ebx, edx
jne 0x100fbe6e
mov dword [ecx + eax*8], esi
mov eax, dword [esp + 0x20]
mov dword [eax], esi
mov byte [eax + 4], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ecx + eax*8 + 4], edi
jne 0x100fbe78
mov dword [ecx + eax*8 + 4], esi
mov eax, dword [esp + 0x20]
pop edi
mov dword [eax], esi
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.100feb15
int3
Function at 0x100fbea0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0xc
push ebx
push ebp
mov ebp, dword [esp + 0x1c]
mov ebx, ecx
push esi
push edi
mov edx, ebp
cmp dword [ebp + 0x14], 0x10
mov edi, dword [ebp + 0x10]
jb 0x100fbebb
mov edx, dword [ebp]
xor ecx, ecx
mov esi, 0x811c9dc5
test edi, edi
je 0x100fbed7
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edi
jb 0x100fbec6
push esi
push ebp
lea eax, [esp + 0x18]
mov ecx, ebx
push eax
call fcn.10091840
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100fbf01
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 [ebx + 8], 0x71c71c7
je 0x100fc03d
push 0x24
call fcn.100fe077
add esp, 4
mov edi, eax
lea ecx, [edi + 8]
push ebp
call fcn.1009c190
mov dword [edi + 0x20], 0
mov eax, dword [ebx + 8]
mov ebp, dword [ebx + 0x1c]
inc eax
movss xmm3, dword [ebx]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101516d0]
mov eax, ebp
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, ebp
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x101516d0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x100fbfda
divss xmm2, xmm3
sub esp, 8
movss dword [esp + 0x2c], xmm2
fld dword [esp + 0x2c]
fstp qword [esp]
call fcn.10123ea0
add esp, 8
fstp dword [esp + 0x24]
movss xmm0, dword [esp + 0x24]
call fcn.101258f0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebp, ecx
jae 0x100fbfbd
cmp ebp, 0x200
jae 0x100fbfbb
shl ebp, 3
cmp ebp, ecx
jae 0x100fbfbd
mov ebp, ecx
push ebp
mov ecx, ebx
call fcn.1008f650
push esi
lea eax, [edi + 8]
mov ecx, ebx
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10091840
mov edx, dword [eax]
jmp 0x100fbfde
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 4]
inc dword [ebx + 8]
mov dword [edi], edx
mov dword [edi + 4], ebp
mov dword [ebp], edi
mov dword [edx + 4], edi
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0xc]
and eax, esi
mov esi, dword [ecx + eax*8]
cmp esi, dword [ebx + 4]
jne 0x100fc004
mov dword [ecx + eax*8], edi
jmp 0x100fc025
cmp esi, edx
jne 0x100fc01f
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], ebp
jne 0x100fc029
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.100feb15
int3