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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
pushal
call 0x10004386
pop dword [ebp - 0x50]
mov eax, 0x359e81a1
add eax, 0xda61c1e5
sub dword [ebp - 0x50], eax
mov dword [ebp - 0x60], 0xafcdc56b
add dword [ebp - 0x60], 0x9e847fe0
mov dword [ebp - 0x5c], 0x5a0da640
add dword [ebp - 0x5c], 0xd825a605
mov dword [ebp - 0x58], 0x3787dfc0
sub dword [ebp - 0x58], 0xeb3b9b92
mov dword [ebp - 0x54], 0x85e807fe
sub dword [ebp - 0x54], 0x85e807fe
lea eax, [ebp - 0x60]
push eax
mov eax, 0xd40fb57d
add eax, 0x3bf09adb
add eax, dword [ebp - 0x50]
call dword [eax]
mov dword [ebp - 0x60], 0x62cb269a
add dword [ebp - 0x60], 0x11a742bc
mov dword [ebp - 0x5c], 0x5a37c737
sub dword [ebp - 0x5c], 0x18cb65c2
mov dword [ebp - 0x58], 0xd23ff6e5
add dword [ebp - 0x58], 0x912f7587
mov dword [ebp - 0x54], 0x9fdc7df8
sub dword [ebp - 0x54], 0x9fdc7df8
lea ebx, [ebp - 0x60]
push ebx
push eax
mov eax, 0x93852a2d
add eax, 0x7c7b264f
add eax, dword [ebp - 0x50]
call dword [eax]
push 0x40
push 0x1000
push 0x36c90
push 0
call eax
mov ecx, 0xd1a22b36
add ecx, 0x2e5e1dbc
mov edi, eax
mov ebx, 0x1000a800
add ebx, dword [ebp - 0x50]
mov edx, 0x4c29768f
add dword [ebp - 0x10], ecx
mov esi, dword [ebx]
mov dword [ebp - 0x40], 0xa398b4cc
xor esi, edx
mov dword [edi], esi
add edi, 4
add ebx, 0x1472dfcf
sub ebx, 0x1472dfcb
loop 0x1000449c
add eax, 0xe43d7ab2
sub eax, 0xe43c6417
mov ebx, eax
add eax, 0xfcf51dc6
add eax, 0x30ae23f
mov ecx, 0x62879aba
sub ecx, 0x52879aba
add ecx, dword [ebp - 0x50]
call ebx
leave
ret
Function at 0x100146d0
Capabilities:
Encode data using add xor sub operations

Disassembly:
ret

Function at 0x100146f0
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
cli
xor eax, ebx
fsubrp st(3)
hlt
or byte [ebx + ecx + 0x30], ah
dec ebp
pop ecx
arpl word [ecx + eax], di
mov byte ds:[ebp + 0x28], ah
mov edx, 0x64595a60
pop ecx
je 0x100146c1

Function at 0x10014730
Capabilities:
Encode data using xor

Disassembly:
mov ebp, 0x5d30d251
cdq
mov esp, 0x77c18157
mov ecx, 0xf0b14a34
sbb al, 0x93
xor dh, byte [0x2ad5ecc4]
in al, dx
aad 0x2a
das
inc ebx
enter 0x18f5, 0xffffffffffffff8d
aas
xor al, byte [eax - 0x69]
wait
test eax, 0x67770c9
jo 0x100147a9
push es
inc edx
test eax, 0x6c431f0f
pushfd
je 0x10014703
xchg edx, eax
sbb bl, byte [ecx - 0x78]
mov byte [edi + 0x76f5aa8d], al
enter 0xebc, 0x25
jno 0x1001477e
invalid
mov ah, 0x65
wait

Function at 0x1401648c
Capabilities:
Encode data using xor

Disassembly:
jmp 0x14016496
pushal
call 0x1401649c
pop ebp
sub ebp, 0x10
sub ebp, 0x401648c
mov al, byte [esp + 0x28]
cmp al, 1
je 0x140164c0
popal
xor eax, eax
inc eax
ret 0xc
jmp 0x140164c9
mov eax, 0x401648c
add eax, ebp
add eax, 0x63
mov ecx, 0x5b0
mov edx, 0xb4bc652b
xor byte [eax], dl
inc eax
dec ecx
jne 0x140164e0
jmp 0x140164f3
mov al, byte [0x17a2a0e6]
sub ebp, dword [ebx]
sub ebp, dword [edx + 0x2b2bd3ea]
sub ebp, dword [eax]
out 0x93, al
and ebp, dword [ebx]
sub ebp, dword [ebx]
xchg ecx, eax
add ebp, dword [ebx]
sub ebp, dword [ebx]
fmul st(1), st(0)
sub bl, ah
mov al, byte [0x2b2b27aa]
sub ebp, dword [eax]
out dx, al
jnp 0x14016596
inc ebx
scasd eax, dword es:[edi]
pop ecx
in eax, 0x2b
inc ebx
sub eax, 0x2a2819d9
pop es
cmovae esp, edi
call 0x42c47485
sub ebp, dword [ebx]
sub eax, edx
add eax, 0xa62b2b2b
dec edi
invalid
aam 0x5e
and eax, ebx
inc edi
sub ebp, dword [ebx]
sub esp, dword [eax + 0x2b2b2396]
sub ebx, dword [eax]
loop 0x140165bf
stc
test al, 0xc3
arpl word cs:[edi + ebp*4], sp
sub ebp, dword gs:[ebx]
sub esp, dword [ebx]
arpl word [ebx], bp
sub ebp, dword [ebx]
dec ebp
mov al, byte [0xd0ab1237]
ret
and al, 0xaf
xor dword [ebx], ebp
sub ebp, dword [ebx]
stosd dword es:[edi], eax
rol dl, 1
and al, 0xaf
cmp ch, byte [ebx]
sub ebp, dword [ebx]
dec ebp
stosb byte es:[edi], al
rcl ah, 1
push cs
and al, 0xaf
sub ebp, dword ds:[ebx]
sub ebp, dword [edx - 0x3e]
out 0xd4, eax
aam 0xd4
add ah, byte [edi + 0x12]
sub ch, byte [eax - 0x3c57d116]
das
ret 0xd496
Function at 0x10017ff0
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e1cc4
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x1011100c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push 0x10
call fcn.100e03af
push 8
mov byte [eax], 1
mov dword [eax + 4], 0
mov dword [eax + 8], 0x45
mov byte [eax + 0xc], 1
mov dword [edi], eax
call fcn.100e03af
push 0x48
mov dword [eax], 1
mov dword [eax + 4], 0x1000101
mov dword [edi + 4], eax
call fcn.100e03af
push 0x30
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov dword [eax + 0x10], 1
mov dword [eax + 0x14], 1
mov dword [eax + 0x18], 1
mov dword [eax + 0x1c], 1
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 1
mov dword [eax + 0x28], 1
mov dword [eax + 0x2c], 1
mov dword [eax + 0x30], 5
mov dword [eax + 0x34], 4
mov dword [eax + 0x38], 2
mov dword [eax + 0x3c], 2
mov dword [eax + 0x40], 1
mov dword [eax + 0x44], 1
mov dword [edi + 8], eax
call fcn.100e03af
mov esi, eax
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0
push 0x10
mov dword [esi], 0x1010000
mov dword [esi + 4], 0
mov word [esi + 8], 1
mov byte [esi + 0xa], 0
mov dword [esi + 0xc], 0xb4
mov dword [esi + 0x10], 0
mov byte [esi + 0x14], 0
mov dword [esi + 0x18], 0xa
mov dword [esi + 0x1c], 0x48
mov dword [esi + 0x20], 0x2a
mov dword [esi + 0x24], 0x1010101
mov byte [esi + 0x28], 1
call fcn.100e03af
vmovss xmm0, dword [0x100ffd2c]
push 3
vmovss dword [eax + 4], xmm0
vmovss xmm0, dword [0x100ffc68]
vmovss dword [eax + 8], xmm0
vmovss xmm0, dword [0x100ffdf4]
mov byte [eax], 0
vmovss dword [eax + 0xc], xmm0
mov dword [esi + 0x2c], eax
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0xc], esi
call fcn.100e03af
push 0x30
mov word [eax], 1
mov byte [eax + 2], 1
mov dword [edi + 0x10], eax
call fcn.100e03af
vmovss xmm0, dword [0x100ffd4c]
add esp, 0x1c
vmovss dword [eax], xmm0
vmovss xmm0, dword [0x100ffd3c]
vmovss dword [eax + 4], xmm0
vmovss xmm0, dword [0x100ffcfc]
mov dword [eax + 8], 0x1010001
vmovss dword [eax + 0xc], xmm0
mov dword [eax + 0x10], 0x19
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 0
mov byte [eax + 0x24], 0
mov dword [eax + 0x28], 0x78
mov dword [eax + 0x2c], 0x14
mov dword [edi + 0x14], eax
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x10018210
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e1d03
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0x1011100c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
vmovss xmm1, dword [0x100ffc68]
vxorps xmm0, xmm0, xmm0
vmovss dword [esi + 0x28], xmm0
vmovss xmm0, dword [0x100ffc90]
vmovss dword [esi + 0x2c], xmm0
vmovss xmm0, dword [0x100ffd0c]
vmovss dword [esi + 0x38], xmm0
vmovss dword [esi + 0x44], xmm0
vmovss xmm0, dword [0x100ffc38]
vmovss dword [esi + 0x4c], xmm0
vmovss xmm0, dword [0x100ffc04]
vmovss dword [esi + 0x54], xmm0
vmovss xmm0, dword [0x100ffc34]
vmovss dword [esi + 0x8c], xmm0
vmovss xmm0, dword [0x100ffc7c]
vmovss dword [esi + 0x98], xmm0
lea ecx, [esi + 0xb0]
mov dword [esi], 0x78
mov dword [esi + 4], 0x78
mov dword [esi + 8], 0x1010101
mov byte [esi + 0xc], 1
mov dword [esi + 0x10], 0
mov byte [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov word [esi + 0x30], 0
mov byte [esi + 0x32], 0
vmovss dword [esi + 0x34], xmm1
mov word [esi + 0x3c], 0
vmovss dword [esi + 0x40], xmm1
mov word [esi + 0x48], 0
mov word [esi + 0x50], 0x100
mov byte [esi + 0x52], 0
mov word [esi + 0x58], 0
mov dword [esi + 0x5c], 0x5a
mov dword [esi + 0x60], 0
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
mov dword [esi + 0x6c], 0
mov byte [esi + 0x70], 0
mov dword [esi + 0x74], 0
vmovss dword [esi + 0x78], xmm1
mov word [esi + 0x7c], 0
mov byte [esi + 0x7e], 0
mov dword [esi + 0x80], 0
vmovss dword [esi + 0x84], xmm1
mov word [esi + 0x88], 0x100
mov dword [esi + 0x90], 0
mov byte [esi + 0x94], 0
mov byte [esi + 0x9c], 0
mov dword [esi + 0xa0], 0x50
mov dword [esi + 0xa4], 0x12c
mov dword [esi + 0xa8], 0x12c
mov dword [esi + 0xac], 0
vpxor xmm0, xmm0, xmm0
push 0
vmovdqu xmmword [ecx], xmm0
push 0x100f5b73
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.1001b4d0
mov dword [ebp - 4], 0
push 1
mov dword [esi + 0xc8], 0
mov word [esi + 0xcc], 0
mov dword [esi + 0xd0], 0x96
mov dword [esi + 0xd4], 8
mov dword [esi + 0xd8], 0
mov byte [esi + 0xdc], 0
mov dword [esi + 0xe0], 1
mov word [esi + 0xe4], 0
mov byte [esi + 0xe6], 0
call fcn.100e03af
push 0x14
mov byte [eax], 1
mov dword [esi + 0xe8], eax
call fcn.100e03af
mov byte [eax], 0
vmovss xmm0, dword [0x100ffc38]
vmovss dword [eax + 0xc], xmm0
vmovss xmm0, dword [0x100ffc90]
mov dword [eax + 4], 0
mov word [eax + 8], 0x101
vmovss dword [eax + 0x10], xmm0
push 0xc
mov dword [esi + 0xec], eax
call fcn.100e03af
add esp, 0xc
mov byte [eax], 1
mov dword [eax + 4], 0
mov dword [eax + 8], 0x1010101
mov dword [esi + 0xf0], eax
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x100184b0
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e1d52
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x1011100c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push 0x14
mov word [edi], 0x101
mov byte [edi + 2], 1
mov dword [edi + 4], 0
mov word [edi + 8], 0x101
mov byte [edi + 0xa], 1
mov dword [edi + 0xc], 0
mov byte [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov word [edi + 0x18], 0x101
mov byte [edi + 0x1a], 1
mov dword [edi + 0x1c], 0
mov byte [edi + 0x20], 1
call fcn.100e03af
vmovss xmm0, dword [0x100ffc38]
push 8
mov dword [eax], 0
vmovss dword [eax + 4], xmm0
mov dword [eax + 8], 0x15
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0x1010101
mov dword [edi + 0x24], eax
call fcn.100e03af
push 0x5c
mov byte [eax], 1
mov dword [eax + 4], 0
mov dword [edi + 0x28], eax
call fcn.100e03af
vmovss xmm0, dword [0x100ffc38]
push 0x2c
mov dword [eax], 0
vmovss dword [eax + 4], xmm0
mov byte [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 3
mov dword [eax + 0x24], 0xa
mov dword [eax + 0x28], 3
mov dword [eax + 0x2c], 0x4a
mov dword [eax + 0x30], 0x68
mov dword [eax + 0x34], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x3c], 3
mov dword [eax + 0x40], 0xa
mov dword [eax + 0x44], 3
mov dword [eax + 0x48], 0x4a
mov dword [eax + 0x4c], 0x68
mov dword [eax + 0x50], 0
mov byte [eax + 0x54], 0
mov dword [eax + 0x58], 0
mov dword [edi + 0x2c], eax
call fcn.100e03af
mov esi, eax
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0
push 3
mov byte [esi], 1
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 2
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 2
mov dword [esi + 0x20], 0x10001
mov byte [esi + 0x24], 0
call fcn.100e03af
mov dword [ebp - 4], 0xffffffff
push 0x1c
mov word [eax], 0x101
mov byte [eax + 2], 0
mov dword [esi + 0x28], eax
mov dword [edi + 0x30], esi
call fcn.100e03af
mov esi, eax
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 1
push 2
mov byte [esi], 1
mov dword [esi + 4], 0
mov byte [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0x1000101
mov byte [esi + 0x14], 0
call fcn.100e03af
mov dword [ebp - 4], 0xffffffff
push 2
mov word [eax], 0x101
mov dword [esi + 0x18], eax
mov dword [edi + 0x34], esi
call fcn.100e03af
push 8
mov word [eax], 0x101
mov dword [edi + 0x38], eax
call fcn.100e03af
mov esi, eax
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 2
push 0x10
mov word [esi], 0
call fcn.100e03af
add esp, 0x28
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [esi + 4], eax
mov eax, edi
mov dword [edi + 0x3c], esi
mov dword [edi + 0x40], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x10025f50
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 0x100260a6
mov eax, dword [ebx + 4]
mov dword [ebp - 0x14], eax
mov eax, dword [edx + 4]
mov dword [ebp - 8], 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 - 4], ecx
lea eax, [edi + eax*8]
mov dword [ebp - 0xc], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], eax
mov eax, esi
mov edi, esi
mov esi, dword [esi]
push 0x10
push eax
call fcn.100e0813
dec dword [ebx + 8]
add esp, 8
cmp edi, dword [ebp - 0x10]
je 0x10026009
mov eax, dword [ebp + 0xc]
cmp esi, eax
jne 0x10025fc7
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp + 8]
jne 0x1002609c
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
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 - 4]
mov edx, dword [ebp - 0xc]
cmp ecx, dword [ebp + 8]
jne 0x1002601d
mov eax, dword [ebp - 0x14]
mov ecx, eax
mov dword [edx], eax
jmp 0x10026020
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0xc]
mov dword [edx + 4], ecx
cmp esi, eax
je 0x1002609c
nop word [eax + eax]
movzx eax, byte [esi + 8]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [esi + 9]
xor ecx, eax
movzx eax, byte [esi + 0xa]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esi + 0xb]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [ebx + 0x18]
and ecx, eax
mov eax, dword [ebp - 0x18]
lea eax, [eax + ecx*8]
mov dword [ebp - 4], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], eax
mov eax, esi
mov edi, esi
mov esi, dword [esi]
push 0x10
push eax
call fcn.100e0813
dec dword [ebx + 8]
add esp, 8
mov eax, dword [ebp + 0xc]
cmp edi, dword [ebp - 0x10]
je 0x100260ad
cmp esi, eax
jne 0x10026077
mov ecx, dword [ebp - 4]
mov dword [ecx], esi
mov ecx, dword [ebp - 8]
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 - 4]
mov edx, dword [ebp - 0x14]
mov dword [ecx], edx
mov dword [ecx + 4], edx
cmp esi, eax
jne 0x10026030
mov ecx, dword [ebp - 8]
pop edi
mov dword [ecx], esi
mov dword [esi + 4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x10035750
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [ebp + 0xc]
mov edx, ecx
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x14], edx
cmp ebx, eax
je 0x100358c1
mov eax, dword [edx + 4]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 8], 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 [ebp - 0x1c], 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 [ebp - 4], ecx
lea eax, [edi + eax*8]
mov dword [ebp - 0xc], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], eax
nop word [eax + eax]
mov edi, esi
mov ebx, esi
mov esi, dword [esi]
lea ecx, [edi + 0xc]
call fcn.10032bf0
push 0x18
push edi
call fcn.100e0813
mov edx, dword [ebp - 0x14]
add esp, 8
dec dword [edx + 8]
cmp ebx, dword [ebp - 0x10]
je 0x1003581d
mov eax, dword [ebp + 0xc]
cmp esi, eax
jne 0x100357d0
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp + 8]
jne 0x100358b7
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov dword [edi], esi
mov dword [ecx], esi
pop edi
mov dword [esi + 4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 4]
mov edi, dword [ebp - 0xc]
cmp ecx, dword [ebp + 8]
jne 0x10035831
mov eax, dword [ebp - 0x18]
mov ecx, eax
mov dword [edi], eax
jmp 0x10035834
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0xc]
mov dword [edi + 4], ecx
cmp esi, eax
je 0x100358b7
nop
movzx eax, byte [esi + 8]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [esi + 9]
xor ecx, eax
movzx eax, byte [esi + 0xa]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esi + 0xb]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [edx + 0x18]
and ecx, eax
mov eax, dword [ebp - 0x1c]
lea eax, [eax + ecx*8]
mov dword [ebp - 4], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], eax
mov edi, esi
mov ebx, esi
mov esi, dword [esi]
lea ecx, [edi + 0xc]
call fcn.10032bf0
push 0x18
push edi
call fcn.100e0813
mov edx, dword [ebp - 0x14]
add esp, 8
mov eax, dword [ebp + 0xc]
dec dword [edx + 8]
cmp ebx, dword [ebp - 0x10]
je 0x100358c8
cmp esi, eax
jne 0x10035887
mov ecx, dword [ebp - 4]
mov dword [ecx], esi
mov ecx, dword [ebp - 8]
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 - 4]
mov ebx, dword [ebp - 0x18]
mov dword [ecx], ebx
mov dword [ecx + 4], ebx
cmp esi, eax
jne 0x10035840
mov ecx, dword [ebp - 8]
pop edi
mov dword [ecx], esi
mov dword [esi + 4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x100454d0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e2d25
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [0x1011100c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x1c], edi
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]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, ebx
push eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x24]
push edx
push eax
call fcn.10045f80
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x1004555a
mov dword [edi], eax
mov byte [edi + 4], 0
jmp 0x10045686
cmp dword [ebx + 8], 0xfffffff
jne 0x1004556e
push str.unordered_map_set_too_long
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__]
lea eax, [ebx + 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], 0
push 0x10
mov dword [ebp - 0x28], 0
call fcn.100e03af
mov esi, eax
add esp, 4
mov dword [ebp - 0x28], esi
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 4], 1
vxorps xmm0, xmm0, xmm0
mov ecx, dword [ecx]
mov dword [esi + 8], ecx
mov byte [esi + 0xc], 0
mov eax, dword [ebx + 8]
vmovss xmm1, dword [ebx]
inc eax
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x100fffc0]
mov eax, dword [ebx + 0x1c]
vcvtsd2ss xmm2, xmm0, xmm0
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x100fffc0]
vcvtsd2ss xmm0, xmm0, xmm0
vdivss xmm0, xmm2, xmm0
vcomiss xmm0, xmm1
jbe 0x10045639
vdivss xmm0, xmm2, xmm1
call fcn.100250f0
call fcn.100e1830
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
mov eax, dword [ebx + 0x1c]
cmp eax, ecx
jae 0x1004561b
cmp eax, 0x200
jae 0x10045619
shl eax, 3
cmp eax, ecx
jae 0x1004561b
mov eax, ecx
push eax
mov ecx, ebx
call fcn.10035bc0
push dword [ebp - 0x14]
lea eax, [esi + 8]
mov ecx, ebx
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10045f80
mov edx, dword [eax]
jmp 0x1004563c
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
inc dword [ebx + 8]
mov edi, dword [ebp - 0x18]
mov dword [esi + 4], eax
mov dword [esi], edx
mov dword [eax], esi
mov dword [edx + 4], esi
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebx + 0x18]
and eax, dword [ebp - 0x14]
mov ebx, dword [ecx + eax*8]
cmp ebx, dword [edi]
jne 0x10045667
mov dword [ecx + eax*8], esi
jmp 0x10045679
cmp ebx, edx
jne 0x10045670
mov dword [ecx + eax*8], esi
jmp 0x1004567d
mov edx, dword [ebp - 0x10]
cmp dword [ecx + eax*8 + 4], edx
jne 0x1004567d
mov dword [ecx + eax*8 + 4], esi
mov edi, dword [ebp - 0x1c]
mov dword [edi], esi
mov byte [edi + 4], 1
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x10045930
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e3b05
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x1011100c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x14], edi
movzx eax, byte [ebx]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [ebx + 1]
xor ecx, eax
movzx eax, byte [ebx + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebx + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
push eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x1c]
push ebx
push eax
call fcn.10046000
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x100459b3
mov dword [edi], eax
mov byte [edi + 4], 0
jmp 0x10045af2
cmp dword [0x10113d3c], 0xfffffff
jne 0x100459ca
push str.unordered_map_set_too_long
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__]
mov dword [ebp - 0x24], 0x10113d38
mov dword [ebp - 4], 0
push 0x10
mov dword [ebp - 0x20], 0
call fcn.100e03af
mov esi, eax
add esp, 4
mov dword [ebp - 0x20], esi
mov dword [ebp - 4], 1
mov ecx, dword [ebx]
mov dword [esi + 8], ecx
mov dword [esi + 0xc], 0
mov ecx, dword [0x10113d3c]
mov ebx, dword [0x10113d50]
vmovss xmm1, dword [0x10113d34]
vxorps xmm0, xmm0, xmm0
lea eax, [ecx + 1]
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x100fffc0]
vcvtsd2ss xmm2, xmm0, xmm0
vxorps xmm0, xmm0, xmm0
mov eax, ebx
shr eax, 0x1f
vcvtsi2sd xmm0, xmm0, ebx
vaddsd xmm0, xmm0, qword [eax*8 + 0x100fffc0]
vcvtsd2ss xmm0, xmm0, xmm0
vdivss xmm0, xmm2, xmm0
vcomiss xmm0, xmm1
jbe 0x10045aa1
vdivss xmm0, xmm2, xmm1
call fcn.100250f0
call fcn.100e1830
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebx, ecx
jae 0x10045a81
cmp ebx, 0x200
jae 0x10045a7f
shl ebx, 3
cmp ebx, ecx
jae 0x10045a81
mov ebx, ecx
push ebx
call fcn.10045cf0
push dword [ebp - 0x10]
lea eax, [esi + 8]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.10046000
mov ecx, dword [0x10113d3c]
mov edx, dword [eax]
jmp 0x10045aa4
mov edx, dword [ebp - 0x1c]
mov ebx, dword [edx + 4]
inc ecx
mov dword [0x10113d3c], ecx
mov dword [esi], edx
mov dword [esi + 4], ebx
mov dword [ebx], esi
mov dword [edx + 4], esi
mov eax, dword [0x10113d4c]
and eax, dword [ebp - 0x10]
mov ecx, dword [0x10113d40]
mov edi, dword [ecx + eax*8]
cmp edi, dword [0x10113d38]
jne 0x10045ad6
mov dword [ecx + eax*8], esi
jmp 0x10045ae5
cmp edi, edx
jne 0x10045adf
mov dword [ecx + eax*8], esi
jmp 0x10045ae9
cmp dword [ecx + eax*8 + 4], ebx
jne 0x10045ae9
mov dword [ecx + eax*8 + 4], esi
mov edi, dword [ebp - 0x14]
mov dword [edi], esi
mov byte [edi + 4], 1
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8