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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x520ea5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, ecx
movzx eax, byte [ebx]
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
movzx eax, byte [ebx + 1]
xor edx, eax
movzx eax, byte [ebx + 2]
imul edx, edx, 0x1000193
xor edx, eax
movzx eax, byte [ebx + 3]
imul ecx, edx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edi
push eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.00465c40
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x46c448
mov eax, dword [ebp + 8]
mov dword [eax], ecx
mov byte [eax + 4], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp dword [edi + 8], 0x1861861
je 0x46c5a4
lea eax, [edi + 4]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], eax
push 0xa8
mov dword [ebp - 4], 0
mov dword [ebp - 0x24], 0
call fcn.004fa223
mov ecx, dword [ebx]
mov esi, eax
add esp, 4
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], esi
mov dword [esi + 8], ecx
lea ecx, [esi + 0x10]
push 1
call fcn.0046c6d0
mov eax, dword [edi + 8]
fld dword [edi]
add eax, 1
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
mov dword [ebp - 4], 1
jns 0x46c4ad
fadd dword [0x530074]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
mov ebx, dword [edi + 0x1c]
fild dword [edi + 0x1c]
test ebx, ebx
jns 0x46c4c3
fadd dword [0x530074]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fdivr st(1)
fcompi st(2)
jbe 0x46c543
fdivrp st(1)
sub esp, 8
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fstp qword [esp]
call fcn.005067e0
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
mov ecx, 8
fnstcw word [ebp + 0xe]
movzx eax, word [ebp + 0xe]
add esp, 8
or eax, 0xc00
mov dword [ebp - 0x14], eax
fldcw word [ebp - 0x14]
fistp qword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
cmova ecx, eax
fldcw word [ebp + 0xe]
cmp ebx, ecx
jae 0x46c525
cmp ebx, 0x200
jae 0x46c523
shl ebx, 3
cmp ebx, ecx
jae 0x46c525
mov ebx, ecx
push ebx
mov ecx, edi
call fcn.0046f6a0
push dword [ebp - 0x10]
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00465c40
mov edx, dword [eax]
jmp 0x46c54a
mov edx, dword [ebp - 0x18]
fstp st(0)
fstp st(0)
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]
and eax, dword [ebp - 0x10]
mov ecx, dword [edi + 0xc]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ecx + eax*8]
cmp edi, dword [esi]
mov esi, dword [ebp - 0x20]
jne 0x46c575
mov dword [ecx + eax*8], esi
jmp 0x46c584
cmp edi, edx
jne 0x46c57e
mov dword [ecx + eax*8], esi
jmp 0x46c588
cmp dword [ecx + eax*8 + 4], ebx
jne 0x46c588
mov dword [ecx + eax*8 + 4], esi
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword [eax], esi
pop esi
mov byte [eax + 4], 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8
push str.unordered_map_set_too_long
call fcn.004f7e11
int3
Function at 0x46e830
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x521108
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xbc
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0xc8]
push 1
movzx esi, word [edi + 6]
call fcn.0046c6d0
mov dword [ebp - 4], 0
mov ebx, 0x532969
mov dword [ebp + 8], 0
cmp esi, 0x47
jne 0x46e9ac
mov eax, dword [edi + 0x14]
mov esi, 1
movzx ecx, word [eax]
mov eax, dword [edi]
mov eax, dword [eax + ecx*4]
mov ecx, esi
mov dword [ebp + 8], eax
cmp cx, word [edi + 0x18]
jae 0x46e8d0
nop
lea eax, [ebp - 0xc8]
push ebx
push eax
call fcn.00438a80
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0xc8]
add esp, 8
mov ebx, 0x533328
push esi
push edi
push eax
call fcn.0046e280
inc esi
cmp si, word [edi + 0x18]
jb 0x46e8a0
mov eax, dword [ebp + 8]
test eax, eax
je 0x46e9ac
mov ecx, dword [ebp - 0x10]
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x30]
push eax
lea ecx, [ecx + 0x48]
call fcn.0046c3c0
mov esi, dword [eax]
lea eax, [ebp - 0x28]
add esi, 0x10
push eax
lea ecx, [esi + 4]
call fcn.0043be30
cmp dword [ebp - 0x18], 0
mov ecx, dword [ebp - 0x14]
setne bl
cmp ecx, 0xf
jbe 0x46e937
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46e92d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46ea32
push ecx
push edx
call fcn.004fa253
add esp, 8
test bl, bl
je 0x46e949
push 0x530090
push esi
call fcn.00438a80
add esp, 8
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc4]
call fcn.0043be30
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x28]
push dword [ebp - 0x18]
cmova eax, dword [ebp - 0x28]
push eax
push esi
mov byte [ebp - 4], 1
call fcn.00438fa0
mov ecx, dword [ebp - 0x14]
add esp, 0xc
mov byte [ebp - 4], 0
cmp ecx, 0xf
jbe 0x46e9ac
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46e9a2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46ea37
push ecx
push edx
call fcn.004fa253
add esp, 8
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc8], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xcc], eax
lea ecx, [ebp - 0xc4]
call fcn.00439cc0
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc8], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0xcc], eax
lea eax, [ebp - 0x78]
mov dword [ebp - 4], 2
push eax
mov dword [ebp - 0x78], vtable.std::ios_base.0
call fcn.004f8fc7
mov ecx, dword [ebp - 0xc]
add esp, 4
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
call fcn.004ff45f
call fcn.004ff45f
int3
Function at 0x46f6a0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov edx, dword [ebp + 8]
mov eax, 0x1fffffff
push ebx
mov ebx, ecx
bsr ecx, eax
push esi
push edi
mov edi, 1
mov dword [ebp - 4], ebx
mov eax, edi
shl eax, cl
cmp edx, eax
ja 0x46f7f9
mov esi, dword [ebx + 4]
lea eax, [edx - 1]
or eax, edi
mov dword [ebp + 8], esi
bsr ecx, eax
push esi
lea ecx, [ecx + 1]
shl edi, cl
lea ecx, [ebx + 0xc]
lea eax, [edi + edi]
push eax
call fcn.004018e0
lea eax, [edi - 1]
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov ecx, eax
cmp eax, esi
je 0x46f7cc
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 [ebx + 0xc]
imul edi, edi, 0x1000193
and edi, dword [ebx + 0x18]
lea edx, [edx + edi*8]
mov edi, dword [edx]
mov dword [ebp - 8], edx
cmp edi, esi
jne 0x46f751
mov dword [edx], eax
mov dword [edx + 4], eax
jmp 0x46f7c2
mov edx, dword [edx + 4]
mov ebx, dword [eax + 8]
cmp ebx, dword [edx + 8]
jne 0x46f78b
mov edx, dword [edx]
mov dword [ebp - 0xc], edx
cmp edx, eax
je 0x46f783
mov ebx, dword [eax + 4]
mov esi, dword [ebp - 0xc]
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp + 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
mov edx, dword [ebp - 8]
mov dword [edx + 4], eax
jmp 0x46f7bf
cmp edi, edx
je 0x46f79c
nop
mov edx, dword [edx + 4]
cmp ebx, dword [edx + 8]
je 0x46f7d5
cmp edi, edx
jne 0x46f790
mov ebx, dword [eax + 4]
mov dword [ebp - 0xc], ebx
mov dword [ebx], ecx
mov ebx, dword [ecx + 4]
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], eax
mov dword [edx + 4], ebx
mov edx, dword [ebp - 0xc]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 8]
mov dword [eax + 4], edi
mov dword [edx], eax
mov ebx, dword [ebp - 4]
mov eax, ecx
cmp ecx, esi
jne 0x46f702
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ebx, dword [eax + 4]
mov edx, dword [edx]
mov dword [ebp - 0xc], edx
mov esi, edx
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp + 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
jmp 0x46f7bf
push str.invalid_hash_bucket_count
call fcn.004f7e11
int3
Function at 0x46f9d0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
movzx eax, byte [esi]
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
movzx eax, byte [esi + 1]
xor edx, eax
movzx eax, byte [esi + 2]
imul edx, edx, 0x1000193
xor edx, eax
movzx eax, byte [esi + 3]
imul ecx, edx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edi
push eax
push esi
lea eax, [ebp - 8]
push eax
call fcn.00465c40
mov eax, dword [ebp - 4]
pop edi
pop esi
test eax, eax
je 0x46fa2e
add eax, 0xc
mov esp, ebp
pop ebp
ret 4
push str.invalid_unordered_map_K__T__key
call fcn.004f7e31
int3

Function at 0x46fa80
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x52119d
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push esi
mov esi, ecx
push edi
push 8
mov dword [esi + 0x30], 0
mov dword [esi + 8], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0x201
mov dword [esi + 0x18], 6
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0xc], 0
call fcn.004fa223
mov edi, eax
add esp, 4
test edi, edi
je 0x46fb12
push 1
mov dword [ebp - 4], 0
call fcn.004f8ab2
add esp, 4
mov dword [edi + 4], eax
jmp 0x46fb14
xor edi, edi
mov eax, dword [ebp + 8]
mov dword [esi + 0x30], edi
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], 0
mov edi, dword [edi + 4]
mov ecx, edi
push ebx
mov dword [ebp - 0x10], edi
mov eax, dword [edi]
call dword [eax + 4]
lea eax, [ebp - 0x14]
mov dword [ebp - 4], 1
push eax
call fcn.004392a0
add esp, 4
mov ecx, dword [eax]
push 0x20
mov edx, dword [ecx + 0x20]
mov ecx, eax
call edx
mov dword [ebp - 4], 0xffffffff
mov bl, al
test edi, edi
je 0x46fb70
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 8]
test eax, eax
je 0x46fb70
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
cmp dword [esi + 0x38], 0
mov byte [esi + 0x40], bl
pop ebx
jne 0x46fb8d
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
and eax, 0x13
or eax, 4
mov dword [esi + 0xc], eax
and ecx, eax
jne 0x46fbae
cmp byte [ebp + 0xc], 0
je 0x46fb9c
push esi
call fcn.004f8f48
add esp, 4
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8
test cl, 4
je 0x46fbba
mov esi, str.ios_base::badbit_set
jmp 0x46fbca
test cl, 2
mov esi, str.ios_base::failbit_set
mov eax, str.ios_base::eofbit_set
cmove esi, eax
lea eax, [ebp - 0x14]
push 1
push eax
call fcn.0043b5b0
add esp, 8
lea ecx, [ebp - 0x28]
push eax
push esi
call fcn.00439a00
push 0x5b4a2c
lea eax, [ebp - 0x28]
push eax
call fcn.004fb7b1
int3
Function at 0x4710f0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
push esi
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]
mov edx, dword [edx + 4]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, dl
xor eax, 0x811c9dc5
imul esi, ecx, 0x1000193
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
xor eax, edx
imul eax, eax, 0x1000193
xor eax, esi
pop esi
pop ebp
ret 4
Function at 0x4715d0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5212a5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, ecx
movzx eax, byte [ebx]
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
movzx eax, byte [ebx + 1]
xor edx, eax
movzx eax, byte [ebx + 2]
imul edx, edx, 0x1000193
xor edx, eax
movzx eax, byte [ebx + 3]
imul ecx, edx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edi
push eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.00465c40
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x471658
mov eax, dword [ebp + 8]
mov dword [eax], ecx
mov byte [eax + 4], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp dword [edi + 8], 0xaaaaaaa
je 0x4717bc
lea eax, [edi + 4]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], eax
push 0x18
mov dword [ebp - 4], 0
mov dword [ebp - 0x24], 0
call fcn.004fa223
mov ecx, dword [ebx]
mov esi, eax
add esp, 4
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], esi
mov dword [esi + 8], ecx
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov eax, dword [edi + 8]
fld dword [edi]
add eax, 1
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
mov dword [ebp - 4], 1
jns 0x4716c5
fadd dword [0x530074]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
mov ebx, dword [edi + 0x1c]
fild dword [edi + 0x1c]
test ebx, ebx
jns 0x4716db
fadd dword [0x530074]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fdivr st(1)
fcompi st(2)
jbe 0x47175b
fdivrp st(1)
sub esp, 8
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fstp qword [esp]
call fcn.005067e0
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
mov ecx, 8
fnstcw word [ebp + 0xe]
movzx eax, word [ebp + 0xe]
add esp, 8
or eax, 0xc00
mov dword [ebp - 0x14], eax
fldcw word [ebp - 0x14]
fistp qword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
cmova ecx, eax
fldcw word [ebp + 0xe]
cmp ebx, ecx
jae 0x47173d
cmp ebx, 0x200
jae 0x47173b
shl ebx, 3
cmp ebx, ecx
jae 0x47173d
mov ebx, ecx
push ebx
mov ecx, edi
call fcn.0046f6a0
push dword [ebp - 0x10]
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00465c40
mov edx, dword [eax]
jmp 0x471762
mov edx, dword [ebp - 0x18]
fstp st(0)
fstp st(0)
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]
and eax, dword [ebp - 0x10]
mov ecx, dword [edi + 0xc]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ecx + eax*8]
cmp edi, dword [esi]
mov esi, dword [ebp - 0x20]
jne 0x47178d
mov dword [ecx + eax*8], esi
jmp 0x47179c
cmp edi, edx
jne 0x471796
mov dword [ecx + eax*8], esi
jmp 0x4717a0
cmp dword [ecx + eax*8 + 4], ebx
jne 0x4717a0
mov dword [ecx + eax*8 + 4], esi
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword [eax], esi
pop esi
mov byte [eax + 4], 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8
push str.unordered_map_set_too_long
call fcn.004f7e11
int3
Function at 0x471a00
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x521305
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push ebx
mov ebx, dword [ebp + 0xc]
push edi
mov edi, ecx
movzx eax, byte [ebx]
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
movzx eax, byte [ebx + 1]
xor edx, eax
movzx eax, byte [ebx + 2]
imul edx, edx, 0x1000193
xor edx, eax
movzx eax, byte [ebx + 3]
imul ecx, edx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edi
push eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.00465c40
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x471a86
mov eax, dword [ebp + 8]
pop edi
pop ebx
mov dword [eax], ecx
mov byte [eax + 4], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8
cmp dword [edi + 8], 0x15555555
je 0x471bd6
lea eax, [edi + 4]
push esi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], eax
push 0xc
mov dword [ebp - 4], 0
mov dword [ebp - 0x24], 0
call fcn.004fa223
mov ecx, dword [ebx]
mov esi, eax
add esp, 4
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], esi
mov dword [esi + 8], ecx
mov eax, dword [edi + 8]
fld dword [edi]
add eax, 1
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
mov dword [ebp - 4], 1
jns 0x471adf
fadd dword [0x530074]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
mov ebx, dword [edi + 0x1c]
fild dword [edi + 0x1c]
test ebx, ebx
jns 0x471af5
fadd dword [0x530074]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fdivr st(1)
fcompi st(2)
jbe 0x471b75
fdivrp st(1)
sub esp, 8
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fstp qword [esp]
call fcn.005067e0
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
mov ecx, 8
fnstcw word [ebp + 0xe]
movzx eax, word [ebp + 0xe]
add esp, 8
or eax, 0xc00
mov dword [ebp - 0x14], eax
fldcw word [ebp - 0x14]
fistp qword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
cmova ecx, eax
fldcw word [ebp + 0xe]
cmp ebx, ecx
jae 0x471b57
cmp ebx, 0x200
jae 0x471b55
shl ebx, 3
cmp ebx, ecx
jae 0x471b57
mov ebx, ecx
push ebx
mov ecx, edi
call fcn.00475d10
push dword [ebp - 0x10]
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00465c40
mov edx, dword [eax]
jmp 0x471b7c
mov edx, dword [ebp - 0x18]
fstp st(0)
fstp st(0)
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]
and eax, dword [ebp - 0x10]
mov ecx, dword [edi + 0xc]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ecx + eax*8]
cmp edi, dword [esi]
mov esi, dword [ebp - 0x20]
jne 0x471ba7
mov dword [ecx + eax*8], esi
jmp 0x471bb6
cmp edi, edx
jne 0x471bb0
mov dword [ecx + eax*8], esi
jmp 0x471bba
cmp dword [ecx + eax*8 + 4], ebx
jne 0x471bba
mov dword [ecx + eax*8 + 4], esi
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword [eax], esi
pop esi
pop edi
mov byte [eax + 4], 1
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8
push str.unordered_map_set_too_long
call fcn.004f7e11
int3
Function at 0x471bf0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x521335
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push ebx
mov ebx, dword [ebp + 0xc]
push edi
mov edi, ecx
movzx eax, byte [ebx]
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
movzx eax, byte [ebx + 1]
xor edx, eax
movzx eax, byte [ebx + 2]
imul edx, edx, 0x1000193
xor edx, eax
movzx eax, byte [ebx + 3]
imul ecx, edx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edi
push eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.00465c40
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x471c76
mov eax, dword [ebp + 8]
pop edi
pop ebx
mov dword [eax], ecx
mov byte [eax + 4], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8
cmp dword [edi + 8], 0x2c8590b
je 0x471dd2
lea eax, [edi + 4]
push esi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], eax
push 0x5c
mov dword [ebp - 4], 0
mov dword [ebp - 0x24], 0
call fcn.004fa223
mov ecx, dword [ebx]
lea edx, [ebx + 4]
mov esi, eax
add esp, 4
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], esi
mov dword [esi + 8], ecx
lea ecx, [esi + 0xc]
push edx
call fcn.00472090
mov eax, dword [edi + 8]
fld dword [edi]
add eax, 1
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
mov dword [ebp - 4], 1
jns 0x471cdb
fadd dword [0x530074]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
mov ebx, dword [edi + 0x1c]
fild dword [edi + 0x1c]
test ebx, ebx
jns 0x471cf1
fadd dword [0x530074]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fdivr st(1)
fcompi st(2)
jbe 0x471d71
fdivrp st(1)
sub esp, 8
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fstp qword [esp]
call fcn.005067e0
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
mov ecx, 8
fnstcw word [ebp + 0xe]
movzx eax, word [ebp + 0xe]
add esp, 8
or eax, 0xc00
mov dword [ebp - 0x14], eax
fldcw word [ebp - 0x14]
fistp qword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
cmova ecx, eax
fldcw word [ebp + 0xe]
cmp ebx, ecx
jae 0x471d53
cmp ebx, 0x200
jae 0x471d51
shl ebx, 3
cmp ebx, ecx
jae 0x471d53
mov ebx, ecx
push ebx
mov ecx, edi
call fcn.0046f6a0
push dword [ebp - 0x10]
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00465c40
mov edx, dword [eax]
jmp 0x471d78
mov edx, dword [ebp - 0x18]
fstp st(0)
fstp st(0)
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]
and eax, dword [ebp - 0x10]
mov ecx, dword [edi + 0xc]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ecx + eax*8]
cmp edi, dword [esi]
mov esi, dword [ebp - 0x20]
jne 0x471da3
mov dword [ecx + eax*8], esi
jmp 0x471db2
cmp edi, edx
jne 0x471dac
mov dword [ecx + eax*8], esi
jmp 0x471db6
cmp dword [ecx + eax*8 + 4], ebx
jne 0x471db6
mov dword [ecx + eax*8 + 4], esi
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword [eax], esi
pop esi
pop edi
mov byte [eax + 4], 1
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8
push str.unordered_map_set_too_long
call fcn.004f7e11
int3
Function at 0x472c10
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x521585
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
movzx eax, byte [edi]
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
movzx eax, byte [edi + 1]
xor edx, eax
movzx eax, byte [edi + 2]
imul edx, edx, 0x1000193
xor edx, eax
movzx eax, byte [edi + 3]
imul ecx, edx, 0x1000193
xor ecx, eax
lea eax, [ebp - 0x1c]
imul ebx, ecx, 0x1000193
mov ecx, esi
push ebx
push edi
push eax
call fcn.00465c40
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x472d27
cmp dword [esi + 8], 0xfffffff
je 0x472d3d
lea eax, [esi + 4]
mov dword [ebp - 0x24], eax
push 0x10
mov dword [ebp - 4], 0
mov dword [ebp - 0x20], 0
call fcn.004fa223
mov dword [ebp - 0x14], eax
add esp, 4
mov dword [ebp - 0x20], eax
lea ecx, [eax + 8]
mov eax, dword [edi]
mov dword [ebp - 0x10], ecx
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov eax, dword [esi + 8]
fld dword [esi]
add eax, 1
mov dword [ebp + 8], eax
fild dword [ebp + 8]
mov dword [ebp - 4], 1
jns 0x472cdc
fadd dword [0x530074]
fstp dword [ebp + 8]
fld dword [ebp + 8]
mov eax, dword [esi + 0x1c]
fild dword [esi + 0x1c]
test eax, eax
jns 0x472cf2
fadd dword [0x530074]
fstp dword [ebp + 8]
fdiv dword [ebp + 8]
fcompi st(1)
fstp st(0)
jbe 0x472d18
mov ecx, esi
call fcn.00475e70
push ebx
push dword [ebp - 0x10]
lea eax, [ebp - 0x24]
mov ecx, esi
push eax
call fcn.00465c40
mov ecx, dword [eax]
jmp 0x472d1b
mov ecx, dword [ebp - 0x1c]
push dword [ebp - 0x14]
push ecx
push ebx
mov ecx, esi
call fcn.00431350
mov ecx, dword [ebp - 0xc]
add eax, 0xc
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.unordered_map_set_too_long
call fcn.004f7e11
int3