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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50e045
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, ecx
push edi
movzx eax, byte [ebx]
xor eax, 0x811c9dc5
mov edi, dword [ebp + 8]
imul edx, eax, 0x1000193
movzx eax, byte [ebx + 1]
xor edx, eax
movzx eax, byte [ebx + 2]
imul ecx, edx, 0x1000193
xor ecx, eax
movzx eax, byte [ebx + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, esi
push eax
mov dword [ebp + 8], eax
lea eax, [ebp - 0x1c]
push ebx
push eax
call fcn.0045c060
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x469ff8
mov dword [edi], eax
xor al, al
jmp 0x46a0a5
cmp dword [esi + 8], 0x15555555
je 0x46a0bd
lea eax, [esi + 4]
mov dword [ebp - 0x24], eax
push 0xc
mov dword [ebp - 4], 0
mov dword [ebp - 0x20], 0
call fcn.004e5c9b
mov dword [ebp - 0x14], eax
add esp, 4
mov dword [ebp - 0x20], eax
lea ecx, [eax + 8]
mov eax, dword [ebx]
mov dword [ebp - 0x10], ecx
mov dword [ecx], eax
mov eax, dword [esi + 8]
fld dword [esi]
add eax, 1
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
mov dword [ebp - 4], 1
jns 0x46a050
fadd dword [0x51a9b0]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
mov eax, dword [esi + 0x1c]
fild dword [esi + 0x1c]
test eax, eax
jns 0x46a066
fadd dword [0x51a9b0]
fstp dword [ebp + 0xc]
fdiv dword [ebp + 0xc]
fcompi st(1)
fstp st(0)
jbe 0x46a08f
mov ecx, esi
call fcn.00469d90
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x1c]
push ebx
push dword [ebp - 0x10]
mov ecx, esi
push eax
call fcn.0045c060
mov ecx, dword [eax]
jmp 0x46a095
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [ebp + 8]
push dword [ebp - 0x14]
push ecx
push ebx
mov ecx, esi
call fcn.0042b540
mov dword [edi], eax
mov al, 1
mov byte [edi + 4], al
mov eax, edi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8
push str.unordered_map_set_too_long
call fcn.004e3511
int3
Function at 0x46a340
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50e06d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x28
push ebx
mov ebx, ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x18], ebx
push esi
push edi
movzx eax, word [ecx + 4]
mov edx, dword [ecx]
mov dword [ebp - 0x10], edx
mov dword [ebx], 0
mov dword [ebx + 4], 0
lea edi, [eax*4]
mov dword [ebx + 8], 0
test eax, eax
je 0x46a3b8
push eax
mov ecx, ebx
call fcn.00402650
mov dword [ebx], eax
mov dword [ebx + 4], eax
add eax, edi
push edi
push dword [ebp - 0x10]
mov dword [ebx + 8], eax
mov esi, dword [ebx]
push esi
call fcn.004e74d0
mov ecx, dword [ebp + 8]
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebx + 4], eax
movzx edi, word [ecx + 0x18]
mov eax, edi
mov dword [ebp - 4], 0
shl eax, 4
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x14], eax
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0
test edi, edi
je 0x46a455
shl edi, 4
cmp edi, 0x1000
jb 0x46a41e
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x46a4d6
push eax
call fcn.004e5c9b
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x46a4db
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x46a42f
test edi, edi
je 0x46a42d
push edi
call fcn.004e5c9b
add esp, 4
jmp 0x46a42f
xor eax, eax
push dword [ebp - 0x10]
mov dword [ebx + 0xc], eax
push dword [ebp - 0x14]
mov dword [ebx + 0x10], eax
add eax, edi
mov dword [ebx + 0x14], eax
mov esi, dword [ebx + 0xc]
push esi
call fcn.004e74d0
mov ecx, dword [ebp + 8]
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebx + 0x10], eax
mov eax, dword [ebx]
lea edi, [ebx + 0x18]
mov dword [ebp - 0x34], eax
lea esi, [ebp - 0x34]
movzx eax, word [ecx + 4]
mov word [ebp - 0x30], ax
movzx eax, word [ecx + 6]
mov word [ebp - 0x2e], ax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x20], eax
movzx eax, word [ecx + 0x18]
mov ecx, 7
mov word [ebp - 0x1c], ax
mov eax, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], 0
pop edi
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x48], 0
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
call fcn.00401930
call fcn.004ea5cf
int3
Function at 0x46aa60
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
mov edx, dword [ebp + 0xc]
push 0xffffffffffffffff
push 0x50b385
push eax
mov dword fs:[0], esp
sub esp, 0x20
cmp dword [edx + 0x14], 0x10
push ebx
push esi
push edi
mov ebx, ecx
mov edi, edx
jb 0x46aa8d
mov edi, dword [edx]
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x46aab2
lea esp, [esp]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edx + 0x10]
jb 0x46aaa0
push esi
push edx
lea eax, [ebp - 0x1c]
mov ecx, ebx
push eax
call fcn.00404910
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x46aae2
mov eax, dword [ebp + 8]
pop edi
pop esi
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 [ebx + 8], 0x7ffffff
je 0x46ac41
lea eax, [ebx + 4]
mov dword [ebp - 0x24], eax
push 0x20
mov dword [ebp - 4], 0
mov dword [ebp - 0x20], 0
call fcn.004e5c9b
add esp, 4
mov edi, eax
mov dword [ebp - 0x20], edi
push dword [ebp + 0xc]
lea ecx, [edi + 8]
call fcn.004054a0
mov eax, dword [ebx + 8]
fld dword [ebx]
mov dword [ebp - 0x10], eax
add eax, 1
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
mov dword [ebp - 4], 1
jns 0x46ab3d
fadd dword [0x51a9b0]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
mov eax, dword [ebx + 0x1c]
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x14], eax
fild dword [ebp + 0xc]
test eax, eax
jns 0x46ab59
fadd dword [0x51a9b0]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fdivr st(1)
fcompi st(2)
ja 0x46ab71
mov edx, dword [ebp - 0x1c]
fstp st(0)
mov eax, dword [ebp - 0x10]
fstp st(0)
jmp 0x46abe6
fdivrp st(1)
sub esp, 8
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fstp qword [esp]
call fcn.004f1910
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 - 0x10], eax
fldcw word [ebp - 0x10]
fistp qword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
cmova ecx, eax
mov eax, dword [ebp - 0x14]
fldcw word [ebp + 0xe]
cmp eax, ecx
jae 0x46abc9
cmp eax, 0x200
jae 0x46abc7
shl eax, 3
cmp eax, ecx
jae 0x46abc9
mov eax, ecx
push eax
mov ecx, ebx
call fcn.00405cd0
push esi
lea eax, [edi + 8]
mov ecx, ebx
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00404910
mov edx, dword [eax]
mov eax, dword [ebx + 8]
mov ecx, dword [edx + 4]
inc eax
mov dword [ebx + 8], eax
mov dword [edi], edx
mov dword [edi + 4], ecx
mov dword [ecx], edi
mov dword [edx + 4], edi
mov eax, dword [ebx + 0x18]
mov dword [ebp + 0xc], ecx
and eax, esi
mov ecx, dword [ebx + 0xc]
mov esi, dword [ecx + eax*8]
cmp esi, dword [ebx + 4]
jne 0x46ac0f
mov dword [ecx + eax*8], edi
jmp 0x46ac21
cmp esi, edx
jne 0x46ac18
mov dword [ecx + eax*8], edi
jmp 0x46ac25
mov edx, dword [ebp + 0xc]
cmp dword [ecx + eax*8 + 4], edx
jne 0x46ac25
mov dword [ecx + eax*8 + 4], edi
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword [eax], edi
pop edi
pop esi
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.004e3511
int3
Function at 0x46ae10
Capabilities:
Access peb ldr_data
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50e0d0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
mov eax, ecx
push esi
push edi
push 8
mov dword [ebp - 0x10], eax
mov dword [eax], vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
call fcn.004e5c9b
mov esi, eax
add esp, 4
test esi, esi
je 0x46ae5f
push 1
mov dword [ebp - 4], 0
call fcn.004e41d1
add esp, 4
mov dword [esi + 4], eax
jmp 0x46ae61
xor esi, esi
mov eax, dword [ebp - 0x10]
lea edi, [eax + 0x14]
lea ecx, [eax + 0x18]
lea edx, [eax + 0x24]
mov dword [eax + 0x20], ecx
lea ebx, [eax + 4]
mov dword [eax + 0xc], ebx
mov dword [eax + 0x34], esi
lea esi, [eax + 8]
mov dword [eax + 0x2c], edx
mov dword [eax + 0x10], esi
mov dword [eax + 0x1c], edi
add eax, 0x28
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebx + 0x30], eax
mov ebx, dword [ebp - 0x14]
mov dword [esi], 0
mov dword [ecx], 0
mov dword [eax], 0
mov dword [ebx], 0
mov ebx, dword [ebp + 8]
mov ecx, ebx
mov esi, dword [ebp - 0x10]
not ecx
and ecx, 1
mov dword [edi], 0
shl ecx, 2
mov eax, ebx
mov dword [edx], 0
mov edx, ecx
or edx, 2
mov dword [esi], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
and al, 2
mov dword [esi + 0x38], 0
mov eax, ebx
cmovne edx, ecx
mov ecx, edx
or ecx, 8
and al, 8
pop edi
cmove ecx, edx
mov eax, ecx
or eax, 0x10
and bl, 4
cmove eax, ecx
mov ecx, dword [ebp - 0xc]
mov dword [esi + 0x3c], eax
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4

Function at 0x46b2c0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
mov ebx, dword [ebp + 0xc]
movzx eax, bl
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
mov eax, ebx
shr eax, 8
movzx eax, al
push esi
mov esi, ecx
xor edx, eax
mov eax, ebx
shr eax, 0x10
movzx eax, al
imul ecx, edx, 0x1000193
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, esi
push eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 8]
push eax
call fcn.0045c060
mov eax, dword [eax + 4]
test eax, eax
je 0x46b33b
cmp eax, dword [esi + 4]
je 0x46b33b
mov ecx, dword [ebp + 8]
add eax, 0xc
push eax
call fcn.004054a0
mov eax, dword [ebp + 8]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov esi, dword [ebp + 8]
push ebx
push esi
call fcn.0046d260
add esp, 8
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x46ec60
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50e0d0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
mov eax, ecx
push esi
push edi
push 8
mov dword [ebp - 0x10], eax
mov dword [eax], vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
call fcn.004e5c9b
mov esi, eax
add esp, 4
test esi, esi
je 0x46ecaf
push 1
mov dword [ebp - 4], 0
call fcn.004e41d1
add esp, 4
mov dword [esi + 4], eax
jmp 0x46ecb1
xor esi, esi
mov eax, dword [ebp - 0x10]
lea edi, [eax + 0x14]
lea ecx, [eax + 0x18]
lea edx, [eax + 0x24]
mov dword [eax + 0x34], esi
lea ebx, [eax + 4]
mov dword [eax + 0xc], ebx
lea esi, [eax + 8]
mov dword [eax + 0x10], esi
mov dword [eax + 0x1c], edi
mov dword [eax + 0x20], ecx
mov dword [eax + 0x2c], edx
add eax, 0x28
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebx + 0x30], eax
mov ebx, dword [ebp - 0x14]
mov dword [esi], 0
mov dword [ecx], 0
mov ecx, dword [ebp - 0xc]
mov dword [eax], 0
mov eax, dword [ebp - 0x10]
mov dword [ebx], 0
mov dword [edi], 0
pop edi
pop esi
mov dword [edx], 0
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x470fc0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50e805
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
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.0045c060
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x471048
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 0x4711b4
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.004e5c9b
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 ecx, dword [edi + 8]
fld dword [edi]
mov dword [ebp - 4], 1
lea eax, [ecx + 1]
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
test eax, eax
jns 0x4710b7
fadd dword [0x51a9b0]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
mov ebx, dword [edi + 0x1c]
fild dword [edi + 0x1c]
test ebx, ebx
jns 0x4710cd
fadd dword [0x51a9b0]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fdivr st(1)
fcompi st(2)
ja 0x4710e2
mov edx, dword [ebp - 0x18]
fstp st(0)
fstp st(0)
jmp 0x471157
fdivrp st(1)
sub esp, 8
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fstp qword [esp]
call fcn.004f1910
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 0x471138
cmp ebx, 0x200
jae 0x471136
shl ebx, 3
cmp ebx, ecx
jae 0x471138
mov ebx, ecx
push ebx
mov ecx, edi
call fcn.004740a0
push dword [ebp - 0x10]
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0045c060
mov ecx, dword [edi + 8]
mov edx, dword [eax]
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]
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 0x471185
mov dword [ecx + eax*8], esi
jmp 0x471194
cmp edi, edx
jne 0x47118e
mov dword [ecx + eax*8], esi
jmp 0x471198
cmp dword [ecx + eax*8 + 4], ebx
jne 0x471198
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.004e3511
int3
Function at 0x47ab10
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50f4fc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
cmp dword [ebp + 8], 0
push ebx
mov ebx, ecx
push esi
mov dword [ebp - 0x14], ebx
push edi
mov dword [ebp - 0x10], 0
je 0x47ab7a
mov dword [ebx], 0x51e160
mov dword [ebx + 0x58], 0
mov dword [ebx + 0x78], 0
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x80], 0
mov dword [ebx + 0x50], vtable.std::basic_ios_char__struct_std::char_traits_char__.0
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 1
push 0
lea esi, [ebx + 4]
mov ecx, ebx
push 0
push esi
mov dword [ebp + 8], esi
call fcn.00433ad0
mov eax, dword [ebx]
push 8
mov dword [ebp - 4], 1
mov eax, dword [eax + 4]
mov dword [ebx + eax], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ecx + ebx - 4], eax
mov dword [esi], vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
call fcn.004e5c9b
mov esi, eax
add esp, 4
test esi, esi
je 0x47abd4
push 1
mov byte [ebp - 4], 2
call fcn.004e41d1
add esp, 4
mov dword [esi + 4], eax
jmp 0x47abd6
xor esi, esi
lea eax, [ebx + 4]
mov dword [eax + 0x34], esi
lea ebx, [eax + 4]
mov dword [eax + 0xc], ebx
lea esi, [eax + 8]
mov dword [eax + 0x10], esi
lea edi, [eax + 0x14]
mov dword [eax + 0x1c], edi
lea ecx, [eax + 0x18]
mov dword [eax + 0x20], ecx
lea edx, [eax + 0x24]
mov dword [eax + 0x2c], edx
add eax, 0x28
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp + 8]
mov dword [ebx + 0x30], eax
mov ebx, dword [ebp - 0x10]
mov dword [esi], 0
mov dword [ecx], 0
mov ecx, dword [ebp - 0xc]
mov dword [eax], 0
mov eax, dword [ebp + 8]
mov dword [ebx], 0
mov dword [edi], 0
mov dword [edx], 0
pop edi
mov dword [eax], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov dword [eax + 0x38], 0
mov dword [eax + 0x3c], 4
mov eax, dword [ebp - 0x14]
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
Function at 0x47e4f0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50f73d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x34
mov edx, dword [ebp + 8]
push esi
push edi
mov edi, ecx
movzx eax, word [edx + 0x1e]
mov dword [ebp - 0x24], edi
mov esi, eax
cmp eax, 0x36
jne 0x47e6bd
mov eax, dword [edx + 0x28]
push ebx
lea ebx, [edi + 0x20]
mov dword [edi + 0xc], eax
mov ecx, ebx
call fcn.0048edc0
push dword [edi + 0xc]
mov ecx, dword [edi]
call fcn.004dac40
mov dword [edi + 0x1c], eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp + 8], ecx
mov dword [ebp - 0x20], eax
cmp ecx, eax
je 0x47e6e9
mov edx, dword [ecx]
movzx eax, dl
xor eax, 0x811c9dc5
mov edi, dword [edi]
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
mov dword [ebp - 0x10], edx
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
lea ecx, [edi + 0x274]
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.0045c060
mov eax, dword [eax + 4]
test eax, eax
jne 0x47e5b6
mov eax, dword [edi + 0x278]
cmp eax, dword [edi + 0x278]
je 0x47e6a7
add eax, 0xc
je 0x47e6a7
mov edi, dword [eax]
mov ecx, dword [ebx]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ecx
mov esi, dword [edi]
cmp esi, edi
je 0x47e6a7
nop
lea eax, [esi + 0x10]
push eax
push ecx
lea eax, [ebp - 0x40]
mov ecx, ebx
push eax
call fcn.0047a640
cmp byte [eax + 8], 0
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x10], ecx
jne 0x47e65e
cmp dword [ebx + 4], 0xccccccc
je 0x47e6fc
mov edi, dword [ebx]
mov dword [ebp - 0x2c], ebx
push 0x14
mov dword [ebp - 4], 0
mov dword [ebp - 0x28], 0
call fcn.004e5c9b
mov ecx, dword [esi + 0x10]
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x28], 0
mov dword [eax + 0x10], ecx
mov ecx, ebx
push eax
push dword [ebp - 0x10]
mov dword [eax], edi
push dword [ebp - 0x14]
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov word [eax + 0xc], 0
call fcn.0044b9d0
mov edi, dword [ebp - 0x18]
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x47e684
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x47e680
cmp esi, dword [eax + 8]
jne 0x47e680
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x47e670
mov esi, eax
jmp 0x47e69c
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x47e69c
mov edi, edi
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x47e690
mov ecx, dword [ebp - 0x1c]
cmp esi, edi
jne 0x47e5e0
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
cmp ecx, dword [ebp - 0x20]
je 0x47e6e9
mov edi, dword [ebp - 0x24]
jmp 0x47e555
cmp esi, 0x38
jne 0x47e6ea
lea eax, [edi + 0x10]
mov dword [edi + 0xc], 0
lea ecx, [edi + 0x20]
mov dword [edi + 0x1c], eax
call fcn.0048edc0
pop edi
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
pop ebx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
call fcn.0044c430
int3
Function at 0x490f80
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50d965
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
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.0045c060
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x491008
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], 0xccccccc
je 0x491167
lea eax, [edi + 4]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], eax
push 0x14
mov dword [ebp - 4], 0
mov dword [ebp - 0x24], 0
call fcn.004e5c9b
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
xor ecx, ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], ecx
mov ecx, dword [edi + 8]
fld dword [edi]
mov dword [ebp - 4], 1
lea eax, [ecx + 1]
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
test eax, eax
jns 0x49106a
fadd dword [0x51a9b0]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
mov ebx, dword [edi + 0x1c]
fild dword [edi + 0x1c]
test ebx, ebx
jns 0x491080
fadd dword [0x51a9b0]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fdivr st(1)
fcompi st(2)
ja 0x491095
mov edx, dword [ebp - 0x18]
fstp st(0)
fstp st(0)
jmp 0x49110a
fdivrp st(1)
sub esp, 8
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fstp qword [esp]
call fcn.004f1910
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 0x4910eb
cmp ebx, 0x200
jae 0x4910e9
shl ebx, 3
cmp ebx, ecx
jae 0x4910eb
mov ebx, ecx
push ebx
mov ecx, edi
call fcn.0045d740
push dword [ebp - 0x10]
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0045c060
mov ecx, dword [edi + 8]
mov edx, dword [eax]
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]
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 0x491138
mov dword [ecx + eax*8], esi
jmp 0x491147
cmp edi, edx
jne 0x491141
mov dword [ecx + eax*8], esi
jmp 0x49114b
cmp dword [ecx + eax*8 + 4], ebx
jne 0x49114b
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.004e3511
int3