joyce8/EMBER2024-capa huggingface dataset:
Function at 0x457d60
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
xor edx, edx
push 0xffffffffffffffff
push 0x50c0e5
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 0x2b0]
mov dword [esi + 0x2d8], 0
test eax, eax
je 0x457dd5
xor edi, edi
jmp 0x457da0
mov ecx, dword [esi + 0x3b0]
lea edi, [edi + 0xd0]
mov eax, dword [esi + 0xd8]
inc edx
mov dword [ecx + edi + 8], eax
mov eax, dword [esi + 0xe0]
mov dword [ecx + edi + 0xc], eax
mov eax, dword [esi + 0xe8]
mov dword [ecx + edi + 0x10], eax
mov eax, dword [esi + 0x2b0]
cmp edx, eax
jb 0x457da0
xor edi, edi
test eax, eax
je 0x457e8e
nop
push 0xc
call fcn.004e5c9b
add esp, 4
test eax, eax
je 0x457dff
lea ecx, [edi + 1]
mov dword [eax + 4], esi
mov dword [eax], ecx
mov dword [eax + 8], 0x459a80
jmp 0x457e01
xor eax, eax
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 0
push ecx
push 0
push eax
push 0x440ca0
push 0
push 0
call fcn.004f1c98
mov edx, eax
add esp, 0x18
mov dword [ebp - 0x18], edx
test edx, edx
je 0x457ef2
mov ecx, dword [esi + 0x3a8]
mov dword [ebp - 4], 1
cmp ecx, dword [esi + 0x3ac]
je 0x457e64
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov dword [ecx], edx
mov dword [ecx + 4], eax
add dword [esi + 0x3a8], 8
jmp 0x457e74
lea eax, [ebp - 0x18]
push eax
push ecx
lea ecx, [esi + 0x3a4]
call fcn.00440520
cmp dword [ebp - 0x14], 0
mov dword [ebp - 4], 0xffffffff
jne 0x457eed
inc edi
cmp edi, dword [esi + 0x2b0]
jb 0x457de0
lea edi, [esi + 0x3bc]
push edi
call fcn.004e387d
add esp, 4
test eax, eax
jne 0x457ee7
mov eax, dword [esi + 0x2d8]
lea ebx, [esi + 0x304]
cmp eax, dword [esi + 0x2b0]
je 0x457ecd
push edi
push ebx
call fcn.004e3eba
mov eax, dword [esi + 0x2d8]
add esp, 8
cmp eax, dword [esi + 0x2b0]
jne 0x457eb5
push edi
call fcn.004e38a2
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
push eax
call fcn.004e395b
call fcn.004f1b00
push 6
mov dword [ebp - 0x14], 0
call fcn.004e3988
int3
Function at 0x459690
Capabilities:
Terminate process

Disassembly:
mov eax, dword [0x5b0224]
push esi
test eax, eax
je 0x4596a7
cmp byte [eax + 0x948], 0
je 0x4596a7
mov cl, 1
jmp 0x4596a9
xor cl, cl
mov eax, 1
mov edx, 0x5b022c
xchg dword [edx], eax
test eax, eax
jne 0x45972d
test cl, cl
je 0x4596fb
push str.CRASH_n
push dword [0x5b0228]
call fcn.00459fe0
add esp, 8
test al, al
je 0x4596f3
mov esi, dword [0x5b0224]
test esi, esi
je 0x4596f3
lea ecx, [esi + 0x3b0]
call fcn.0044caa0
push eax
push esi
call fcn.0044cdc0
add esp, 8
push 2
call dword [sym.imp.KERNEL32.dll_ExitProcess]
call fcn.00452150
push str.Fossilize_ERROR:_Pipeline_compilation_timed_out._n
push 2
call fcn.004ee433
add esp, 4
push eax
call fcn.00401df0
push 2
call fcn.004ee433
push eax
call fcn.004ee7f0
add esp, 0x10
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
pop esi
ret

Function at 0x459fe0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov esi, edi
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x459ff0
sub esi, ecx
je 0x45a02b
mov ebx, dword [ebp + 8]
mov edi, edi
push 0
lea eax, [ebp - 4]
push eax
push esi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x45a034
push ebx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test eax, eax
je 0x45a034
mov eax, dword [ebp - 4]
test eax, eax
je 0x45a034
add edi, eax
sub esi, eax
jne 0x45a000
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x45c1a0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50ad65
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.0045c130
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x45c228
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], 0xfffffff
je 0x45c386
lea eax, [edi + 4]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], eax
push 0x10
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 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 0x45c289
fadd dword [0x5199b0]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
mov ebx, dword [edi + 0x1c]
fild dword [edi + 0x1c]
test ebx, ebx
jns 0x45c29f
fadd dword [0x5199b0]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fdivr st(1)
fcompi st(2)
ja 0x45c2b4
mov edx, dword [ebp - 0x18]
fstp st(0)
fstp st(0)
jmp 0x45c329
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 0x45c30a
cmp ebx, 0x200
jae 0x45c308
shl ebx, 3
cmp ebx, ecx
jae 0x45c30a
mov ebx, ecx
push ebx
mov ecx, edi
call fcn.0045d810
push dword [ebp - 0x10]
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0045c130
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 0x45c357
mov dword [ecx + eax*8], esi
jmp 0x45c366
cmp edi, edx
jne 0x45c360
mov dword [ecx + eax*8], esi
jmp 0x45c36a
cmp dword [ecx + eax*8 + 4], ebx
jne 0x45c36a
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 0x45c3a0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50c485
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.0045c130
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x45c428
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 0x45c587
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 0x45c48a
fadd dword [0x5199b0]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
mov ebx, dword [edi + 0x1c]
fild dword [edi + 0x1c]
test ebx, ebx
jns 0x45c4a0
fadd dword [0x5199b0]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fdivr st(1)
fcompi st(2)
ja 0x45c4b5
mov edx, dword [ebp - 0x18]
fstp st(0)
fstp st(0)
jmp 0x45c52a
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 0x45c50b
cmp ebx, 0x200
jae 0x45c509
shl ebx, 3
cmp ebx, ecx
jae 0x45c50b
mov ebx, ecx
push ebx
mov ecx, edi
call fcn.0045d980
push dword [ebp - 0x10]
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0045c130
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 0x45c558
mov dword [ecx + eax*8], esi
jmp 0x45c567
cmp edi, edx
jne 0x45c561
mov dword [ecx + eax*8], esi
jmp 0x45c56b
cmp dword [ecx + eax*8 + 4], ebx
jne 0x45c56b
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 0x45c5a0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
mov esi, dword [ebp + 0xc]
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.0045c130
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 8]
test ecx, ecx
jne 0x45c5f9
mov ecx, dword [edi + 4]
pop edi
mov dword [eax], ecx
pop esi
mov esp, ebp
pop ebp
ret 8
Function at 0x45d810
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 - 0xc], ebx
mov eax, edi
shl eax, cl
cmp edx, eax
ja 0x45d973
mov esi, dword [ebx + 4]
lea eax, [edx - 1]
or eax, edi
mov dword [ebp - 4], 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.00401830
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 0x45d946
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 [ebx + 0xc]
mov ebx, dword [eax + edi*8]
mov dword [ebp + 8], ebx
lea eax, [eax + edi*8]
mov dword [ebp - 8], eax
cmp ebx, esi
jne 0x45d8c6
mov dword [eax], ecx
mov dword [eax + 4], ecx
jmp 0x45d939
mov eax, dword [eax + 4]
mov ebx, dword [ecx + 8]
cmp ebx, dword [eax + 8]
jne 0x45d900
mov eax, dword [eax]
mov dword [ebp + 8], eax
cmp eax, ecx
je 0x45d8f8
mov ebx, dword [ecx + 4]
mov esi, dword [ebp + 8]
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], eax
mov eax, dword [eax + 4]
mov dword [eax], ecx
mov dword [esi + 4], edi
mov esi, dword [ebp - 4]
mov dword [edx + 4], ebx
mov dword [ecx + 4], eax
mov eax, dword [ebp - 8]
mov dword [eax + 4], ecx
jmp 0x45d939
mov edi, eax
cmp dword [ebp + 8], eax
je 0x45d916
mov eax, dword [eax + 4]
mov edi, eax
cmp ebx, dword [eax + 8]
je 0x45d94f
cmp dword [ebp + 8], eax
jne 0x45d907
mov eax, dword [ecx + 4]
mov dword [ebp + 8], eax
mov dword [eax], edx
mov ebx, dword [edx + 4]
mov dword [ebx], edi
mov eax, dword [edi + 4]
mov dword [eax], ecx
mov dword [edi + 4], ebx
mov edi, dword [ebp + 8]
mov dword [edx + 4], edi
mov dword [ecx + 4], eax
mov eax, dword [ebp - 8]
mov dword [eax], ecx
mov ebx, dword [ebp - 0xc]
mov ecx, edx
cmp edx, esi
jne 0x45d872
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ebx, dword [ecx + 4]
mov eax, dword [eax]
mov dword [ebp + 8], eax
mov esi, eax
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], eax
mov eax, dword [eax + 4]
mov dword [eax], ecx
mov dword [esi + 4], edi
mov esi, dword [ebp - 4]
mov dword [edx + 4], ebx
mov dword [ecx + 4], eax
jmp 0x45d939
push str.invalid_hash_bucket_count
call fcn.004e3511
int3
Function at 0x45d980
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 - 0xc], ebx
mov eax, edi
shl eax, cl
cmp edx, eax
ja 0x45dae3
mov esi, dword [ebx + 4]
lea eax, [edx - 1]
or eax, edi
mov dword [ebp - 4], 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.00401830
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 0x45dab6
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 [ebx + 0xc]
mov ebx, dword [eax + edi*8]
mov dword [ebp + 8], ebx
lea eax, [eax + edi*8]
mov dword [ebp - 8], eax
cmp ebx, esi
jne 0x45da36
mov dword [eax], ecx
mov dword [eax + 4], ecx
jmp 0x45daa9
mov eax, dword [eax + 4]
mov ebx, dword [ecx + 8]
cmp ebx, dword [eax + 8]
jne 0x45da70
mov eax, dword [eax]
mov dword [ebp + 8], eax
cmp eax, ecx
je 0x45da68
mov ebx, dword [ecx + 4]
mov esi, dword [ebp + 8]
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], eax
mov eax, dword [eax + 4]
mov dword [eax], ecx
mov dword [esi + 4], edi
mov esi, dword [ebp - 4]
mov dword [edx + 4], ebx
mov dword [ecx + 4], eax
mov eax, dword [ebp - 8]
mov dword [eax + 4], ecx
jmp 0x45daa9
mov edi, eax
cmp dword [ebp + 8], eax
je 0x45da86
mov eax, dword [eax + 4]
mov edi, eax
cmp ebx, dword [eax + 8]
je 0x45dabf
cmp dword [ebp + 8], eax
jne 0x45da77
mov eax, dword [ecx + 4]
mov dword [ebp + 8], eax
mov dword [eax], edx
mov ebx, dword [edx + 4]
mov dword [ebx], edi
mov eax, dword [edi + 4]
mov dword [eax], ecx
mov dword [edi + 4], ebx
mov edi, dword [ebp + 8]
mov dword [edx + 4], edi
mov dword [ecx + 4], eax
mov eax, dword [ebp - 8]
mov dword [eax], ecx
mov ebx, dword [ebp - 0xc]
mov ecx, edx
cmp edx, esi
jne 0x45d9e2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ebx, dword [ecx + 4]
mov eax, dword [eax]
mov dword [ebp + 8], eax
mov esi, eax
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], eax
mov eax, dword [eax + 4]
mov dword [eax], ecx
mov dword [esi + 4], edi
mov esi, dword [ebp - 4]
mov dword [edx + 4], ebx
mov dword [ecx + 4], eax
jmp 0x45daa9
push str.invalid_hash_bucket_count
call fcn.004e3511
int3
Function at 0x45e690
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
sub esp, 0x18
mov edx, dword [ebp + 8]
push ebx
mov ebx, ecx
cmp edx, eax
je 0x45e7e6
mov eax, dword [ebx + 4]
mov dword [ebp - 0x10], eax
mov eax, dword [edx + 4]
mov dword [ebp - 4], eax
movzx eax, byte [edx + 8]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [edx + 9]
push esi
push edi
mov edi, dword [ebx + 0xc]
mov esi, edx
xor ecx, eax
mov dword [ebp - 0x18], edi
movzx eax, byte [edx + 0xa]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edx + 0xb]
imul ecx, ecx, 0x1000193
xor ecx, eax
mov eax, dword [ebx + 0x18]
imul ecx, ecx, 0x1000193
and eax, ecx
mov ecx, dword [edi + eax*8]
mov dword [ebp - 0xc], ecx
lea eax, [edi + eax*8]
mov dword [ebp - 8], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
mov eax, esi
mov edi, esi
mov esi, dword [esi]
push 0x10
push eax
call fcn.004e5ccb
dec dword [ebx + 8]
add esp, 8
cmp edi, dword [ebp - 0x14]
je 0x45e749
mov eax, dword [ebp + 0xc]
cmp esi, eax
jne 0x45e707
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp + 8]
jne 0x45e7dc
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 4]
pop edi
mov dword [edx], esi
mov dword [ecx], esi
mov dword [esi + 4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
cmp ecx, dword [ebp + 8]
jne 0x45e75d
mov eax, dword [ebp - 0x10]
mov ecx, eax
mov dword [edx], eax
jmp 0x45e760
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov dword [edx + 4], ecx
cmp esi, eax
je 0x45e7dc
lea ebx, [ebx]
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 [ebx + 0x18]
and ecx, eax
mov eax, dword [ebp - 0x18]
lea eax, [eax + ecx*8]
mov dword [ebp + 8], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
mov eax, esi
mov edi, esi
mov esi, dword [esi]
push 0x10
push eax
call fcn.004e5ccb
dec dword [ebx + 8]
add esp, 8
mov eax, dword [ebp + 0xc]
cmp edi, dword [ebp - 0x14]
je 0x45e7ed
cmp esi, eax
jne 0x45e7b7
mov ecx, dword [ebp + 8]
mov dword [ecx], esi
mov ecx, dword [ebp - 4]
pop edi
mov dword [ecx], esi
mov dword [esi + 4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov dword [ecx], edx
mov dword [ecx + 4], edx
cmp esi, eax
jne 0x45e770
mov ecx, dword [ebp - 4]
pop edi
mov dword [ecx], esi
mov dword [esi + 4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x45e820
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
sub esp, 0x18
mov edx, dword [ebp + 8]
push ebx
mov ebx, ecx
cmp edx, eax
je 0x45e976
mov eax, dword [ebx + 4]
mov dword [ebp - 0x10], eax
mov eax, dword [edx + 4]
mov dword [ebp - 4], eax
movzx eax, byte [edx + 8]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [edx + 9]
push esi
push edi
mov edi, dword [ebx + 0xc]
mov esi, edx
xor ecx, eax
mov dword [ebp - 0x18], edi
movzx eax, byte [edx + 0xa]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edx + 0xb]
imul ecx, ecx, 0x1000193
xor ecx, eax
mov eax, dword [ebx + 0x18]
imul ecx, ecx, 0x1000193
and eax, ecx
mov ecx, dword [edi + eax*8]
mov dword [ebp - 0xc], ecx
lea eax, [edi + eax*8]
mov dword [ebp - 8], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
mov eax, esi
mov edi, esi
mov esi, dword [esi]
push 0x14
push eax
call fcn.004e5ccb
dec dword [ebx + 8]
add esp, 8
cmp edi, dword [ebp - 0x14]
je 0x45e8d9
mov eax, dword [ebp + 0xc]
cmp esi, eax
jne 0x45e897
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp + 8]
jne 0x45e96c
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 4]
pop edi
mov dword [edx], esi
mov dword [ecx], esi
mov dword [esi + 4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
cmp ecx, dword [ebp + 8]
jne 0x45e8ed
mov eax, dword [ebp - 0x10]
mov ecx, eax
mov dword [edx], eax
jmp 0x45e8f0
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov dword [edx + 4], ecx
cmp esi, eax
je 0x45e96c
lea ebx, [ebx]
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 [ebx + 0x18]
and ecx, eax
mov eax, dword [ebp - 0x18]
lea eax, [eax + ecx*8]
mov dword [ebp + 8], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
mov eax, esi
mov edi, esi
mov esi, dword [esi]
push 0x14
push eax
call fcn.004e5ccb
dec dword [ebx + 8]
add esp, 8
mov eax, dword [ebp + 0xc]
cmp edi, dword [ebp - 0x14]
je 0x45e97d
cmp esi, eax
jne 0x45e947
mov ecx, dword [ebp + 8]
mov dword [ecx], esi
mov ecx, dword [ebp - 4]
pop edi
mov dword [ecx], esi
mov dword [esi + 4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov dword [ecx], edx
mov dword [ecx + 4], edx
cmp esi, eax
jne 0x45e900
mov ecx, dword [ebp - 4]
pop edi
mov dword [ecx], esi
mov dword [esi + 4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x460ae0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x50c8db
push eax
mov dword fs:[0], esp
sub esp, 0x1e8
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
push edi
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [esi + 0x5c]
push eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.0045c130
mov edx, dword [eax + 4]
test edx, edx
jne 0x460b5c
mov edx, dword [esi + 0x60]
cmp edx, dword [esi + 0x60]
jne 0x460bcf
push 0xfffffffffffffffc
lea eax, [ebp - 0x104]
mov ecx, esi
push eax
call fcn.0045eab0
lea eax, [ebp - 0x104]
mov dword [ebp - 4], 0
push str.Type_Id
push eax
call fcn.00432f60
add esp, 8
lea ecx, [ebp - 0x104]
push ebx
call fcn.0045d520
lea eax, [ebp - 0x104]
push str._is_not_a_type
push eax
call fcn.00432f60
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x104]
add esp, 8
call fcn.00461eb0
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [edx + 0xc]
test eax, eax
jne 0x460c47
push 0xfffffffffffffffc
lea eax, [ebp - 0x1f4]
mov ecx, esi
push eax
call fcn.0045eab0
lea eax, [ebp - 0x1f4]
mov dword [ebp - 4], 1
push str.Type_Id
push eax
call fcn.00432f60
add esp, 8
lea ecx, [ebp - 0x1f4]
push ebx
call fcn.0045d520
lea eax, [ebp - 0x1f4]
push str._is_not_a_scalar_numeric_type
push eax
call fcn.00432f60
mov esi, dword [ebp - 0x10c]
lea ecx, [ebp - 0x1f4]
add esp, 8
call fcn.00461eb0
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov dword [ecx + 8], eax
mov eax, dword [edx + 0x10]
mov dword [ecx + 0xc], eax
mov eax, dword [edx + 0x10]
add eax, 0x1f
shr eax, 5
mov word [ecx + 2], ax
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8