joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100b1a30
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.100b20f0
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100b1a95
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 [0x1027d990], 0xccccccc
je 0x100b1bf0
push 0x14
call fcn.10117c3b
mov ecx, dword [edi]
mov esi, eax
lea ebp, [esi + 8]
add esp, 4
mov dword [ebp], ecx
mov dword [ebp + 4], 0
mov dword [ebp + 8], 0
mov ecx, dword [0x1027d990]
mov edi, dword [0x1027d9a4]
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10183e70]
mov eax, edi
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, edi
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x10183e70]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [0x1027d988]
comiss xmm1, xmm0
jbe 0x100b1b82
divss xmm2, xmm0
sub esp, 8
movss dword [esp + 0x2c], xmm2
fld dword [esp + 0x2c]
fstp qword [esp]
call fcn.10132ab0
add esp, 8
fstp dword [esp + 0x24]
movss xmm0, dword [esp + 0x24]
call fcn.101482e0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp edi, ecx
jae 0x100b1b66
cmp edi, 0x200
jae 0x100b1b64
shl edi, 3
cmp edi, ecx
jae 0x100b1b66
mov edi, ecx
push edi
call fcn.100b1c00
push ebx
push ebp
lea eax, [esp + 0x18]
push eax
call fcn.100b20f0
mov ecx, dword [0x1027d990]
mov edx, dword [eax]
jmp 0x100b1b86
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 4]
inc ecx
mov dword [0x1027d990], ecx
mov dword [esi], edx
mov dword [esi + 4], edi
mov dword [edi], esi
mov dword [edx + 4], esi
mov eax, dword [0x1027d9a0]
mov ecx, dword [0x1027d994]
and eax, ebx
mov ebx, dword [ecx + eax*8]
cmp ebx, dword [0x1027d98c]
jne 0x100b1bb7
mov dword [ecx + eax*8], esi
jmp 0x100b1bd8
cmp ebx, edx
jne 0x100b1bd2
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 0x100b1bdc
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.10118f5f
int3
Function at 0x100b1c00
Capabilities:
Hash data using fnv

Disassembly:
mov eax, 0x1fffffff
bsr ecx, eax
push ebx
push ebp
push esi
push edi
mov edi, 1
mov eax, edi
shl eax, cl
mov ecx, dword [esp + 0x14]
cmp ecx, eax
ja 0x100b1d4f
lea eax, [ecx - 1]
mov esi, dword [0x1027d98c]
or eax, edi
bsr ecx, eax
push esi
lea ecx, [ecx + 1]
shl edi, cl
mov ecx, 0x1027d994
lea eax, [edi + edi]
push eax
call fcn.1001d840
mov ecx, dword [0x1027d98c]
lea ebx, [edi - 1]
mov dword [0x1027d9a0], ebx
mov dword [0x1027d9a4], edi
mov ecx, dword [ecx]
mov edx, ecx
cmp ecx, esi
je 0x100b1d48
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
mov eax, dword [0x1027d994]
imul edi, edi, 0x1000193
and edi, ebx
mov ebx, dword [eax + edi*8]
lea eax, [eax + edi*8]
mov dword [esp + 0x14], eax
cmp ebx, esi
jne 0x100b1cb5
mov dword [eax], ecx
mov dword [eax + 4], ecx
jmp 0x100b1d1b
mov eax, dword [eax + 4]
mov edi, dword [ecx + 8]
cmp edi, dword [eax + 8]
jne 0x100b1ce8
mov eax, dword [eax]
cmp eax, ecx
je 0x100b1cdf
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 + 0x14]
mov dword [eax + 4], ecx
jmp 0x100b1d1b
cmp ebx, eax
je 0x100b1cfc
nop dword [eax]
mov eax, dword [eax + 4]
cmp edi, dword [eax + 8]
je 0x100b1d2c
cmp ebx, eax
jne 0x100b1cf0
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 + 0x14]
mov dword [edx + 4], ebp
mov dword [ecx + 4], edi
mov dword [eax], ecx
mov ecx, edx
cmp edx, esi
je 0x100b1d48
mov ebx, dword [0x1027d9a0]
jmp 0x100b1c64
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 0x100b1d1b
pop edi
pop esi
pop ebp
pop ebx
ret 4
push str.invalid_hash_bucket_count
call fcn.10118f5f
int3
Function at 0x100c5000
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
mov esi, dword [esp + 0x20]
mov ebp, ecx
push edi
mov edx, esi
cmp dword [esi + 0x14], 0x10
mov ebx, dword [esi + 0x10]
jb 0x100c501a
mov edx, dword [esi]
xor ecx, ecx
mov edi, 0x811c9dc5
test ebx, ebx
je 0x100c5036
movzx eax, byte [ecx + edx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, ebx
jb 0x100c5025
push edi
push esi
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
call fcn.10027540
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100c5060
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 [ebp + 8], 0x1555555
je 0x100c51e0
push 0xc0
call fcn.10117c3b
mov ebx, eax
xorps xmm0, xmm0
add esp, 4
movups xmmword [ebx + 8], xmm0
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x1c], 0
movups xmm0, xmmword [esi]
push 0xa0
push 0
movups xmmword [ebx + 8], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebx + 0x18], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
lea esi, [ebx + 0x20]
push esi
call fcn.10120ba0
add esp, 0xc
mov ecx, esi
call fcn.1002f220
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x1c]
inc eax
movss xmm3, dword [ebp]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10183e70]
mov eax, esi
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x10183e70]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x100c517e
divss xmm2, xmm3
sub esp, 8
movss dword [esp + 0x2c], xmm2
fld dword [esp + 0x2c]
fstp qword [esp]
call fcn.10132ab0
add esp, 8
fstp dword [esp + 0x24]
movss xmm0, dword [esp + 0x24]
call fcn.101482e0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp esi, ecx
jae 0x100c5161
cmp esi, 0x200
jae 0x100c515f
shl esi, 3
cmp esi, ecx
jae 0x100c5161
mov esi, ecx
push esi
mov ecx, ebp
call fcn.10025100
push edi
lea eax, [ebx + 8]
mov ecx, ebp
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10027540
mov edx, dword [eax]
jmp 0x100c5182
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 4]
inc dword [ebp + 8]
mov dword [ebx], edx
mov dword [ebx + 4], esi
mov dword [esi], ebx
mov dword [edx + 4], ebx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0xc]
and eax, edi
mov edi, dword [ecx + eax*8]
cmp edi, dword [ebp + 4]
jne 0x100c51a7
mov dword [ecx + eax*8], ebx
jmp 0x100c51c8
cmp edi, edx
jne 0x100c51c2
mov dword [ecx + eax*8], ebx
mov eax, dword [esp + 0x20]
mov dword [eax], ebx
mov byte [eax + 4], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ecx + eax*8 + 4], esi
jne 0x100c51cc
mov dword [ecx + eax*8 + 4], ebx
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [eax], ebx
mov byte [eax + 4], 1
pop ebx
add esp, 0xc
ret 8
push str.unordered_map_set_too_long
call fcn.10118f5f
int3
Function at 0x100c51f0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
mov esi, dword [esp + 0x20]
mov ebp, ecx
push edi
mov edx, esi
cmp dword [esi + 0x14], 0x10
mov ebx, dword [esi + 0x10]
jb 0x100c520a
mov edx, dword [esi]
xor ecx, ecx
mov edi, 0x811c9dc5
test ebx, ebx
je 0x100c5226
movzx eax, byte [ecx + edx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, ebx
jb 0x100c5215
push edi
push esi
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
call fcn.10027540
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100c5250
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 [ebp + 8], 0x234f72c
je 0x100c53ca
push 0x74
call fcn.10117c3b
mov ebx, eax
xorps xmm0, xmm0
add esp, 4
movups xmmword [ebx + 8], xmm0
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x1c], 0
movups xmm0, xmmword [esi]
push 0x54
push 0
movups xmmword [ebx + 8], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebx + 0x18], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
lea esi, [ebx + 0x20]
push esi
call fcn.10120ba0
add esp, 0xc
mov ecx, esi
call fcn.1002f3f0
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x1c]
inc eax
movss xmm3, dword [ebp]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10183e70]
mov eax, esi
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x10183e70]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x100c5368
divss xmm2, xmm3
sub esp, 8
movss dword [esp + 0x2c], xmm2
fld dword [esp + 0x2c]
fstp qword [esp]
call fcn.10132ab0
add esp, 8
fstp dword [esp + 0x24]
movss xmm0, dword [esp + 0x24]
call fcn.101482e0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp esi, ecx
jae 0x100c534b
cmp esi, 0x200
jae 0x100c5349
shl esi, 3
cmp esi, ecx
jae 0x100c534b
mov esi, ecx
push esi
mov ecx, ebp
call fcn.10025100
push edi
lea eax, [ebx + 8]
mov ecx, ebp
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10027540
mov edx, dword [eax]
jmp 0x100c536c
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 4]
inc dword [ebp + 8]
mov dword [ebx], edx
mov dword [ebx + 4], esi
mov dword [esi], ebx
mov dword [edx + 4], ebx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0xc]
and eax, edi
mov edi, dword [ecx + eax*8]
cmp edi, dword [ebp + 4]
jne 0x100c5391
mov dword [ecx + eax*8], ebx
jmp 0x100c53b2
cmp edi, edx
jne 0x100c53ac
mov dword [ecx + eax*8], ebx
mov eax, dword [esp + 0x20]
mov dword [eax], ebx
mov byte [eax + 4], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ecx + eax*8 + 4], esi
jne 0x100c53b6
mov dword [ecx + eax*8 + 4], ebx
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [eax], ebx
mov byte [eax + 4], 1
pop ebx
add esp, 0xc
ret 8
push str.unordered_map_set_too_long
call fcn.10118f5f
int3
Function at 0x100c55f0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x28
push esi
push edi
mov edi, edx
test edi, edi
je 0x100c56d9
test ecx, ecx
jle 0x100c56d9
cmp ecx, 0x6b
jae 0x100c56d9
mov al, byte [edi]
mov esi, dword [ecx*4 + 0x1017c9c0]
test al, al
je 0x100c56d9
movsx eax, al
lea ecx, [edi + 1]
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
call fcn.1006ec50
cmp eax, 0x6002d5a3
ja 0x100c575e
je 0x100c571e
cmp eax, 0x433d134e
je 0x100c56df
cmp eax, 0x57014847
jne 0x100c56d9
mov ecx, esi
mov dword [esp + 0x20], 0
xorps xmm0, xmm0
mov dword [esp + 0x24], 0
movaps xmmword [esp + 0x10], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c5680
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x18]
call fcn.10022b10
mov ecx, 0x10192d28
lea eax, [esp + 0x10]
push eax
call fcn.1001a4c0
mov ecx, dword [esp + 0x24]
cmp ecx, 0x10
jb 0x100c56d9
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c56cf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c57dd
push ecx
push edx
call fcn.10117c1f
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, esi
mov dword [esp + 0x20], 0
xorps xmm0, xmm0
mov dword [esp + 0x24], 0
movaps xmmword [esp + 0x10], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c5700
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x18]
call fcn.10022b10
mov ecx, 0x10192d10
jmp 0x100c5699
mov ecx, esi
mov dword [esp + 0x20], 0
xorps xmm0, xmm0
mov dword [esp + 0x24], 0
movaps xmmword [esp + 0x10], xmm0
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c5740
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x18]
call fcn.10022b10
mov ecx, 0x10192cf8
jmp 0x100c5699
cmp eax, 0xd3636959
jne 0x100c56d9
mov ecx, esi
mov dword [esp + 0x20], 0
xorps xmm0, xmm0
mov dword [esp + 0x24], 0
movaps xmmword [esp + 0x10], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c5786
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x18]
call fcn.10022b10
lea eax, [esp + 0x10]
mov ecx, 0x10192ce0
push eax
call fcn.1001a4c0
mov ecx, dword [esp + 0x24]
cmp ecx, 0x10
jb 0x100c56d9
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c56cf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c56cf
call fcn.10124776
int3
Function at 0x100d0200
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 0x100d03ad
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.10002cd0
mov edx, dword [edi + 0x14]
call fcn.100d0ba0
push 0x24
push dword [edi + 0x14]
call fcn.10117c1f
push 0x30
push edi
call fcn.10117c1f
mov edx, dword [esp + 0x24]
add esp, 0x10
dec dword [edx + 8]
cmp ebx, dword [esp + 0x20]
je 0x100d02e6
cmp esi, ebp
jne 0x100d0281
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x2c]
jne 0x100d03a2
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 0x100d02fc
mov eax, dword [esp + 0x18]
mov dword [ecx], eax
jmp 0x100d0300
mov eax, dword [esp + 0x1c]
mov dword [ecx + 4], eax
cmp esi, ebp
je 0x100d03a2
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
mov eax, dword [edx + 0x18]
imul ecx, ecx, 0x1000193
and eax, ecx
mov ecx, dword [esp + 0x24]
lea eax, [ecx + eax*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.10002cd0
mov edx, dword [edi + 0x14]
call fcn.100d0ba0
push 0x24
push dword [edi + 0x14]
call fcn.10117c1f
push 0x30
push edi
call fcn.10117c1f
mov edx, dword [esp + 0x24]
add esp, 0x10
dec dword [edx + 8]
cmp ebx, dword [esp + 0x30]
je 0x100d03b7
cmp esi, ebp
jne 0x100d0360
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 0x100d0310
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 0x100d03f0
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 0x100d05a6
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 0x100d042b
mov edx, dword [edx]
xor ecx, ecx
push esi
mov esi, 0x811c9dc5
test eax, eax
je 0x100d0455
mov ebp, eax
nop dword [eax]
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, ebp
jb 0x100d0440
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.100d0c10
dec dword [edi + 8]
cmp ebx, dword [esp + 0x10]
je 0x100d04a2
mov dword [esp + 0x24], esi
cmp esi, ebp
je 0x100d04b4
mov edx, esi
mov esi, dword [esi]
call fcn.100d0c10
dec dword [edi + 8]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x24], eax
jne 0x100d0484
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x14], ebx
jne 0x100d04d9
mov eax, dword [esp + 0x1c]
mov dword [ecx], eax
jmp 0x100d04dd
cmp dword [esp + 0x14], ebx
jne 0x100d059c
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 0x100d059c
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 0x100d0506
mov edx, dword [edx]
xor ecx, ecx
mov ebx, 0x811c9dc5
test eax, eax
je 0x100d052a
mov ebp, dword [esp + 0x2c]
movzx eax, byte [ecx + edx]
inc ecx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp ecx, ebp
jb 0x100d0515
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.100d0c10
dec dword [edi + 8]
cmp dword [esp + 0x24], ebx
je 0x100d056c
mov ebx, esi
cmp esi, ebp
je 0x100d0596
mov edx, esi
mov esi, dword [esi]
call fcn.100d0c10
dec dword [edi + 8]
cmp ebx, dword [esp + 0x14]
jne 0x100d0554
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x1c]
mov dword [eax], ebx
mov dword [eax + 4], ebx
cmp esi, ebp
jne 0x100d04f0
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 0x100d06a0
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.100d12b0
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100d0705
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 [0x1027db74], 0x5555555
je 0x100d086c
push 0x30
call fcn.10117c3b
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.100d0130
mov ecx, dword [0x1027db74]
mov edi, dword [0x1027db88]
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10183e70]
mov eax, edi
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, edi
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x10183e70]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [0x1027db6c]
comiss xmm1, xmm0
jbe 0x100d07fe
divss xmm2, xmm0
sub esp, 8
movss dword [esp + 0x2c], xmm2
fld dword [esp + 0x2c]
fstp qword [esp]
call fcn.10132ab0
add esp, 8
fstp dword [esp + 0x24]
movss xmm0, dword [esp + 0x24]
call fcn.101482e0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp edi, ecx
jae 0x100d07e2
cmp edi, 0x200
jae 0x100d07e0
shl edi, 3
cmp edi, ecx
jae 0x100d07e2
mov edi, ecx
push edi
call fcn.100d0c70
push ebx
push ebp
lea eax, [esp + 0x18]
push eax
call fcn.100d12b0
mov ecx, dword [0x1027db74]
mov edx, dword [eax]
jmp 0x100d0802
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 4]
inc ecx
mov dword [0x1027db74], ecx
mov dword [esi], edx
mov dword [esi + 4], edi
mov dword [edi], esi
mov dword [edx + 4], esi
mov eax, dword [0x1027db84]
mov ecx, dword [0x1027db78]
and eax, ebx
mov ebx, dword [ecx + eax*8]
cmp ebx, dword [0x1027db70]
jne 0x100d0833
mov dword [ecx + eax*8], esi
jmp 0x100d0854
cmp ebx, edx
jne 0x100d084e
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 0x100d0858
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.10118f5f
int3
Function at 0x100d0880
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 0x100d089b
mov edx, dword [ebp]
xor ecx, ecx
mov esi, 0x811c9dc5
test edi, edi
je 0x100d08b7
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edi
jb 0x100d08a6
push esi
push ebp
lea eax, [esp + 0x18]
mov ecx, ebx
push eax
call fcn.10027540
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100d08e1
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 0x100d0a1d
push 0x24
call fcn.10117c3b
add esp, 4
mov edi, eax
lea ecx, [edi + 8]
push ebp
call fcn.1001a670
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 + 0x10183e70]
mov eax, ebp
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, ebp
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x10183e70]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x100d09ba
divss xmm2, xmm3
sub esp, 8
movss dword [esp + 0x2c], xmm2
fld dword [esp + 0x2c]
fstp qword [esp]
call fcn.10132ab0
add esp, 8
fstp dword [esp + 0x24]
movss xmm0, dword [esp + 0x24]
call fcn.101482e0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebp, ecx
jae 0x100d099d
cmp ebp, 0x200
jae 0x100d099b
shl ebp, 3
cmp ebp, ecx
jae 0x100d099d
mov ebp, ecx
push ebp
mov ecx, ebx
call fcn.10025100
push esi
lea eax, [edi + 8]
mov ecx, ebx
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10027540
mov edx, dword [eax]
jmp 0x100d09be
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 0x100d09e4
mov dword [ecx + eax*8], edi
jmp 0x100d0a05
cmp esi, edx
jne 0x100d09ff
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 0x100d0a09
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.10118f5f
int3