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

Disassembly:
sub esp, 8
push ebx
push ebp
push esi
mov esi, dword [esp + 0x18]
mov ebx, ecx
push edi
mov edx, esi
cmp dword [esi + 0x14], 0xf
mov ebp, dword [esi + 0x10]
jbe 0x1009174a
mov edx, dword [esi]
xor ecx, ecx
mov edi, 0x811c9dc5
test ebp, ebp
je 0x10091766
movzx eax, byte [edx + ecx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, ebp
jb 0x10091755
push edi
push esi
lea eax, [esp + 0x18]
mov ecx, ebx
push eax
call fcn.10019e60
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x10091872
cmp dword [ebx + 8], 0x43029
je 0x10091884
push 0x3d43
call fcn.1017d6f1
add esp, 4
test eax, eax
je 0x1009187f
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
lea ebp, [ecx + 8]
mov dword [esp + 0x1c], ecx
vpxor xmm0, xmm0, xmm0
push 0x3d00
mov dword [ecx - 4], eax
vmovdqu xmmword [ebp], xmm0
mov dword [ebp + 0x10], 0
mov dword [ebp + 0x14], 0
vmovdqu xmm0, xmmword [esi]
vmovdqu xmmword [ebp], xmm0
vmovq xmm0, qword [esi + 0x10]
vmovq qword [ebp + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
lea esi, [ebp + 0x18]
push 0
push esi
call fcn.1017ea60
add esp, 0xc
mov ecx, esi
call fcn.10020750
mov eax, dword [ebx + 8]
vxorps xmm0, xmm0, xmm0
inc eax
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x10229440]
mov eax, dword [ebx + 0x1c]
vcvtsd2ss xmm1, xmm0, xmm0
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x10229440]
vcvtsd2ss xmm0, xmm0, xmm0
vdivss xmm0, xmm1, xmm0
vcomiss xmm0, dword [ebx]
jbe 0x10091861
mov ecx, ebx
call fcn.1001cc00
push edi
push ebp
lea eax, [esp + 0x18]
mov ecx, ebx
push eax
call fcn.10019e60
mov ecx, dword [eax]
jmp 0x10091865
mov ecx, dword [esp + 0x10]
push dword [esp + 0x1c]
push ecx
push edi
mov ecx, ebx
call fcn.1001cc90
pop edi
pop esi
pop ebp
add eax, 0x20
pop ebx
add esp, 8
ret 4
call fcn.101829ea
push str.unordered_map_set_too_long
call fcn.1017aed4
int3
Function at 0x10099ce0
Capabilities:
Hash data using fnv

Disassembly:
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
mov ecx, 0x10759f40
xor edi, edi
call fcn.10099f00
mov ecx, 0x10759f20
call fcn.10099f60
vpxor xmm0, xmm0, xmm0
vmovq qword [esp + 0x1c], xmm0
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], 1
vmovq xmm0, qword [esp + 0x1c]
mov byte [esp + 0x24], 0x42
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], edi
vmovq qword [0x10636738], xmm0
pop edi
vpxor xmm0, xmm0, xmm0
vmovq qword [esp + 0x18], xmm0
pop esi
mov dword [esp + 0x18], 1
vmovq xmm0, qword [esp + 0x14]
mov dword [0x10636740], eax
mov byte [esp + 0x1c], 0x42
mov eax, dword [esp + 0x1c]
pop ebp
vmovq qword [0x1063672c], xmm0
mov dword [0x10636734], eax
pop ebx
add esp, 0x1c
ret

Function at 0x10099d70
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 8
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x1c]
mov edx, edi
cmp dword [edi + 0x14], 0xf
mov ebx, dword [edi + 0x10]
jbe 0x10099d88
mov edx, dword [edi]
xor ecx, ecx
mov esi, 0x811c9dc5
test ebx, ebx
je 0x10099da4
movzx eax, byte [edx + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, ebx
jb 0x10099d93
push esi
push edi
lea eax, [esp + 0x18]
mov ecx, 0x10759f40
push eax
call fcn.10019e60
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x10099ee8
cmp dword [0x10759f48], 0x4444444
je 0x10099ef5
push 0x3c
call fcn.1017d6f1
vpxor xmm0, xmm0, xmm0
mov ebp, eax
add esp, 4
vmovdqu xmmword [ebp + 8], xmm0
mov dword [ebp + 0x18], 0
lea ebx, [ebp + 8]
mov dword [ebx + 0x14], 0
vmovdqu xmm0, xmmword [edi]
vmovdqu xmmword [ebx], xmm0
vmovq xmm0, qword [edi + 0x10]
vmovq qword [ebx + 0x10], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x30], 0
vmovaps xmm0, xmmword [0x102293e0]
vmovups xmmword [ebx + 0x18], xmm0
vmovss xmm0, dword [0x102285e0]
vmovss dword [ebx + 0x28], xmm0
vxorps xmm0, xmm0, xmm0
mov word [ebx + 0x2c], 0
mov byte [ebx + 0x2e], 0
mov dword [ebx + 0x30], 0
mov eax, dword [0x10759f48]
inc eax
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x10229440]
mov eax, dword [0x10759f5c]
vcvtsd2ss xmm1, xmm0, xmm0
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x10229440]
vcvtsd2ss xmm0, xmm0, xmm0
vdivss xmm0, xmm1, xmm0
vcomiss xmm0, dword [0x10759f40]
jbe 0x10099ed7
mov ecx, 0x10759f40
call fcn.1009ae70
push esi
push ebx
lea eax, [esp + 0x18]
mov ecx, 0x10759f40
push eax
call fcn.10019e60
mov ecx, dword [eax]
jmp 0x10099edb
mov ecx, dword [esp + 0x10]
push ebp
push ecx
push esi
mov ecx, 0x10759f40
call fcn.1001cc90
pop edi
pop esi
pop ebp
add eax, 0x20
pop ebx
add esp, 8
ret 4
push str.unordered_map_set_too_long
call fcn.1017aed4
int3
Function at 0x10099fc0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0x18
push ebx
mov ebx, dword [esp + 0x20]
push ebp
mov ebp, dword [esp + 0x28]
push edi
mov edi, ecx
cmp ebx, ebp
je 0x1009a176
cmp dword [ebx + 0x1c], 0xf
lea edx, [ebx + 8]
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x10]
jbe 0x10099ffb
mov edx, dword [edx]
xor ecx, ecx
push esi
mov esi, 0x811c9dc5
test eax, eax
je 0x1009a025
mov ebp, eax
nop dword [eax]
movzx eax, byte [edx + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, ebp
jb 0x1009a010
mov ebp, dword [esp + 0x30]
mov eax, dword [edi + 0x18]
mov edx, ebx
mov ecx, dword [esp + 0x18]
and eax, esi
mov esi, dword [ebx]
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
call fcn.1009ae10
dec dword [edi + 8]
cmp ebx, dword [esp + 0x10]
je 0x1009a072
mov dword [esp + 0x24], esi
cmp esi, ebp
je 0x1009a084
mov edx, esi
mov esi, dword [esi]
call fcn.1009ae10
dec dword [edi + 8]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x24], eax
jne 0x1009a054
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x14], ebx
jne 0x1009a0a9
mov eax, dword [esp + 0x1c]
mov dword [ecx], eax
jmp 0x1009a0ad
cmp dword [esp + 0x14], ebx
jne 0x1009a16c
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov dword [ecx], esi
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, ebp
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x18
ret 8
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], eax
cmp esi, ebp
je 0x1009a16c
nop dword [eax + eax]
cmp dword [esi + 0x1c], 0xf
lea edx, [esi + 8]
mov eax, dword [edx + 0x10]
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], eax
jbe 0x1009a0d6
mov edx, dword [edx]
xor ecx, ecx
mov ebx, 0x811c9dc5
test eax, eax
je 0x1009a0fa
mov ebp, dword [esp + 0x2c]
movzx eax, byte [edx + ecx]
inc ecx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp ecx, ebp
jb 0x1009a0e5
mov ebp, dword [esp + 0x30]
mov eax, dword [edi + 0x18]
mov edx, esi
mov ecx, dword [esp + 0x18]
and eax, ebx
mov ebx, dword [ecx + eax*8 + 4]
mov esi, dword [esi]
mov dword [esp + 0x14], ebx
lea eax, [ecx + eax*8]
mov dword [esp + 0x2c], eax
call fcn.1009ae10
dec dword [edi + 8]
cmp dword [esp + 0x24], ebx
je 0x1009a13c
mov ebx, esi
cmp esi, ebp
je 0x1009a166
mov edx, esi
mov esi, dword [esi]
call fcn.1009ae10
dec dword [edi + 8]
cmp ebx, dword [esp + 0x14]
jne 0x1009a124
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x1c]
mov dword [eax], ebx
mov dword [eax + 4], ebx
cmp esi, ebp
jne 0x1009a0c0
mov eax, dword [esp + 0x20]
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, ebp
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x18
ret 8
mov eax, dword [esp + 0x2c]
mov dword [eax], esi
mov eax, dword [esp + 0x20]
mov dword [eax], esi
mov dword [esi + 4], eax
pop esi
pop edi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x18
ret 8
Function at 0x1009a190
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0x18
push ebx
mov ebx, dword [esp + 0x20]
push ebp
mov ebp, dword [esp + 0x28]
push edi
mov edi, ecx
cmp ebx, ebp
je 0x1009a346
cmp dword [ebx + 0x1c], 0xf
lea edx, [ebx + 8]
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x10]
jbe 0x1009a1cb
mov edx, dword [edx]
xor ecx, ecx
push esi
mov esi, 0x811c9dc5
test eax, eax
je 0x1009a1f5
mov ebp, eax
nop dword [eax]
movzx eax, byte [edx + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, ebp
jb 0x1009a1e0
mov ebp, dword [esp + 0x30]
mov eax, dword [edi + 0x18]
mov edx, ebx
mov ecx, dword [esp + 0x18]
and eax, esi
mov esi, dword [ebx]
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
call fcn.1009adb0
dec dword [edi + 8]
cmp ebx, dword [esp + 0x10]
je 0x1009a242
mov dword [esp + 0x24], esi
cmp esi, ebp
je 0x1009a254
mov edx, esi
mov esi, dword [esi]
call fcn.1009adb0
dec dword [edi + 8]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x24], eax
jne 0x1009a224
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x14], ebx
jne 0x1009a279
mov eax, dword [esp + 0x1c]
mov dword [ecx], eax
jmp 0x1009a27d
cmp dword [esp + 0x14], ebx
jne 0x1009a33c
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov dword [ecx], esi
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, ebp
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x18
ret 8
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], eax
cmp esi, ebp
je 0x1009a33c
nop dword [eax + eax]
cmp dword [esi + 0x1c], 0xf
lea edx, [esi + 8]
mov eax, dword [edx + 0x10]
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], eax
jbe 0x1009a2a6
mov edx, dword [edx]
xor ecx, ecx
mov ebx, 0x811c9dc5
test eax, eax
je 0x1009a2ca
mov ebp, dword [esp + 0x2c]
movzx eax, byte [edx + ecx]
inc ecx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp ecx, ebp
jb 0x1009a2b5
mov ebp, dword [esp + 0x30]
mov eax, dword [edi + 0x18]
mov edx, esi
mov ecx, dword [esp + 0x18]
and eax, ebx
mov ebx, dword [ecx + eax*8 + 4]
mov esi, dword [esi]
mov dword [esp + 0x14], ebx
lea eax, [ecx + eax*8]
mov dword [esp + 0x2c], eax
call fcn.1009adb0
dec dword [edi + 8]
cmp dword [esp + 0x24], ebx
je 0x1009a30c
mov ebx, esi
cmp esi, ebp
je 0x1009a336
mov edx, esi
mov esi, dword [esi]
call fcn.1009adb0
dec dword [edi + 8]
cmp ebx, dword [esp + 0x14]
jne 0x1009a2f4
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x1c]
mov dword [eax], ebx
mov dword [eax + 4], ebx
cmp esi, ebp
jne 0x1009a290
mov eax, dword [esp + 0x20]
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, ebp
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x18
ret 8
mov eax, dword [esp + 0x2c]
mov dword [eax], esi
mov eax, dword [esp + 0x20]
mov dword [eax], esi
mov dword [esi + 4], eax
pop esi
pop edi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x18
ret 8
Function at 0x1009a970
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x24]
mov ebx, ecx
mov edx, edi
cmp dword [edi + 0x14], 0xf
mov ebp, dword [edi + 0x10]
jbe 0x1009a98a
mov edx, dword [edi]
xor ecx, ecx
mov esi, 0x811c9dc5
test ebp, ebp
je 0x1009a9a6
movzx eax, byte [edx + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, ebp
jb 0x1009a995
push esi
push edi
lea eax, [esp + 0x18]
mov ecx, ebx
push eax
call fcn.10019e60
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1009a9d0
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
mov byte [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ebx + 8], 0x234f72c
je 0x1009aae8
push 0x74
call fcn.1017d6f1
add esp, 4
mov dword [esp + 0x24], eax
lea ebp, [eax + 8]
push edi
mov ecx, ebp
call fcn.10024a90
push 0x50
lea ecx, [ebp + 0x1c]
push 0
push ecx
call fcn.1017ea60
vmovaps xmm1, xmmword [0x102293e0]
vmovss xmm0, dword [0x102285e0]
vmovss dword [ebp + 0x28], xmm0
vmovss dword [ebp + 0x44], xmm0
vmovss dword [ebp + 0x60], xmm0
vmovups xmmword [ebp + 0x18], xmm1
vmovups xmmword [ebp + 0x34], xmm1
vmovups xmmword [ebp + 0x50], xmm1
vxorps xmm0, xmm0, xmm0
mov word [ebp + 0x2c], 0
add esp, 0xc
mov byte [ebp + 0x2e], 0
mov dword [ebp + 0x30], 0
mov word [ebp + 0x48], 0
mov byte [ebp + 0x4a], 0
mov dword [ebp + 0x4c], 0
mov word [ebp + 0x64], 0
mov byte [ebp + 0x66], 0
mov dword [ebp + 0x68], 0
mov eax, dword [ebx + 8]
inc eax
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x10229440]
mov eax, dword [ebx + 0x1c]
vcvtsd2ss xmm1, xmm0, xmm0
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x10229440]
vcvtsd2ss xmm0, xmm0, xmm0
vdivss xmm0, xmm1, xmm0
vcomiss xmm0, dword [ebx]
jbe 0x1009aac1
mov ecx, ebx
call fcn.1009ae70
push esi
push ebp
lea eax, [esp + 0x18]
mov ecx, ebx
push eax
call fcn.10019e60
mov ecx, dword [eax]
jmp 0x1009aac5
mov ecx, dword [esp + 0x10]
push dword [esp + 0x24]
push ecx
push esi
mov ecx, ebx
call fcn.1001cc90
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx], eax
mov eax, ecx
mov byte [ecx + 4], 1
pop ebx
add esp, 0xc
ret 8
push str.unordered_map_set_too_long
call fcn.1017aed4
int3
Function at 0x100a2570
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
vpxor xmm0, xmm0, xmm0
push ebx
push esi
push edi
sub esp, 0x18
mov edi, edx
mov esi, esp
mov ebx, ecx
vmovdqu xmmword [esi], xmm0
mov dword [esi + 0x10], 7
mov dword [esi + 0x14], 0xf
mov eax, dword [str.Enabled]
mov dword [esi], eax
mov ax, word [0x101b4b18]
mov word [esi + 4], ax
movzx eax, byte [0x101b4b1a]
mov byte [esi + 6], al
mov byte [esi + 7], 0
call fcn.100156b0
mov esi, dword [ebp + 8]
lea edx, [edi + 2]
lea ecx, [esi + 2]
push ecx
mov ecx, eax
call fcn.10026b70
sub esp, 0x18
mov ecx, esp
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0xc
mov dword [ecx + 0x14], 0xf
vmovq xmm0, qword [str.No_Title_Bar]
vmovq qword [ecx], xmm0
mov eax, dword [0x10203b04]
mov dword [ecx + 8], eax
mov byte [ecx + 0xc], 0
mov ecx, ebx
call fcn.100156b0
lea ecx, [esi + 1]
push ecx
lea edx, [edi + 1]
mov ecx, eax
call fcn.10012f20
sub esp, 0x18
mov ecx, esp
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0xd
mov dword [ecx + 0x14], 0xf
vmovq xmm0, qword [str.No_Background]
vmovq qword [ecx], xmm0
mov eax, dword [0x10203b14]
mov dword [ecx + 8], eax
movzx eax, byte [0x10203b18]
mov byte [ecx + 0xc], al
mov byte [ecx + 0xd], 0
mov ecx, ebx
call fcn.100156b0
push esi
mov edx, edi
mov ecx, eax
call fcn.10012f20
or ecx, 0xffffffff
mov esi, 0x10203749
mov al, 0x4d
or edi, 0xffffffff
cmp al, 0x23
jne 0x100a2681
cmp byte [esi], al
jne 0x100a2681
cmp byte [esi + 1], al
cmove ecx, edi
movzx edx, cl
movzx eax, al
xor edx, eax
shr ecx, 8
mov al, byte [esi]
inc esi
xor ecx, dword [edx*4 + 0x10221b00]
test al, al
jne 0x100a2673
not ecx
call fcn.10143c10
mov esi, eax
test esi, esi
je 0x100a2726
sub esp, 0x18
mov ecx, esp
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ecx], xmm0
mov dword [ecx + 0x10], 3
mov dword [ecx + 0x14], 0xf
mov ax, word [0x10203b34]
mov word [ecx], ax
mov al, byte [0x10203b36]
mov byte [ecx + 2], al
mov byte [ecx + 3], 0
mov ecx, ebx
call fcn.100156b0
lea ecx, [esi + 0xc]
mov edi, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.100a3ab0
mov dl, byte [edi]
mov cl, byte [esp + 0x10]
mov eax, dword [esp + 0x18]
mov byte [edi], cl
mov esi, dword [edi + 0xc]
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0xc], dl
push dword [esp + 0xc]
mov byte [esp + 0x14], dl
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [esp + 0x1c]
mov dword [edi + 8], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], esi
call fcn.1000f550
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x100a4000
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
cmp byte [0x10636780], 0
push ebx
push esi
push edi
mov edi, ecx
je 0x100a41f8
cmp byte [0x10636784], 0
je 0x100a41f8
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
test ecx, ecx
je 0x100a41f8
mov eax, dword [ecx]
xor edx, edx
push dword [0x1063c5b8]
push dword [eax + 0x270]
lea eax, [esp + 0x18]
push eax
call fcn.1002a9f0
test al, al
je 0x100a41f8
cmp dword [0x106473d0], 0
jne 0x100a4157
lea ecx, [esp + 0x48]
call fcn.100a4200
mov ebx, dword [0x10759fe8]
mov esi, dword [0x10759fe4]
inc ebx
movzx eax, bl
xor eax, 0x811c9dc5
mov dword [0x106473d0], ebx
imul ecx, eax, 0x1000193
mov eax, ebx
sar eax, 8
movzx eax, al
xor ecx, eax
mov eax, ebx
sar eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
sar eax, 0x18
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
push eax
push 0x106473d0
lea eax, [esp + 0x18]
push eax
call fcn.100a8540
mov ecx, esi
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
cmp ecx, esi
jne 0x100a407e
mov edx, ebx
lea ecx, [esp + 0x28]
call fcn.10023340
push eax
mov edx, str.New_record
lea ecx, [esp + 0x14]
call fcn.100780e0
push eax
lea ecx, [esp + 0x58]
call fcn.1000e460
lea ecx, [esp + 0x10]
call fcn.10023d90
lea ecx, [esp + 0x28]
call fcn.10023d90
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
call fcn.1006be60
vmovq xmm0, qword [eax]
vmovq qword [esp + 0x48], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x48]
push eax
push ecx
push 0x106473d0
call fcn.100a7a00
add esp, 4
mov ecx, eax
call fcn.100a4300
lea ecx, [esp + 0x48]
call fcn.100a4280
vmovss xmm0, dword [edi + 0xc]
mov eax, dword [edi + 0x30]
vmovss dword [esp + 0x28], xmm0
vmovss xmm0, dword [edi + 0x10]
vmovss dword [esp + 0x2c], xmm0
vmovss xmm0, dword [edi + 0x24]
mov dword [esp + 0x3c], eax
mov al, byte [edi + 0x34]
vmovss dword [esp + 0x30], xmm0
vmovss xmm0, dword [edi + 0x28]
mov byte [esp + 0x40], al
movzx eax, word [edi + 0x44]
vmovss dword [esp + 0x34], xmm0
vmovss xmm0, dword [edi + 0x2c]
mov word [esp + 0x42], ax
movzx eax, word [edi + 0x46]
push 0x106473d0
vmovss dword [esp + 0x3c], xmm0
mov word [esp + 0x48], ax
call fcn.100a7a00
lea ecx, [esp + 0x28]
push ecx
lea ecx, [eax + 0x24]
call fcn.100a7c80
push 0x106473d0
call fcn.100a7a00
push dword [0x1063c5b8]
mov esi, eax
xor edx, edx
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
mov eax, dword [ecx]
push dword [eax + 0x28]
lea eax, [esp + 0x18]
push eax
call fcn.1002a9f0
push eax
lea ecx, [esi + 0x30]
call fcn.100a7c00
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x100a7a00
Capabilities:
Hash data using fnv

Disassembly:
sub esp, 8
push ebx
push ebp
push esi
mov esi, dword [esp + 0x18]
push edi
movzx eax, byte [esi]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [esi + 1]
xor ecx, eax
movzx eax, byte [esi + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esi + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
lea eax, [esp + 0x10]
imul edi, ecx, 0x1000193
push edi
push esi
push eax
call fcn.100a8540
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x100a7af9
cmp dword [0x10759fe8], 0x3333333
je 0x100a7b06
push 0x50
call fcn.1017d6f1
add esp, 4
mov ebp, eax
mov eax, dword [esi]
lea ebx, [ebp + 8]
lea esi, [ebx + 4]
mov dword [ebx], eax
push 0x44
push 0
push esi
call fcn.1017ea60
add esp, 0xc
mov ecx, esi
call fcn.100a4200
mov eax, dword [0x10759fe8]
vxorps xmm0, xmm0, xmm0
inc eax
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x10229440]
mov eax, dword [0x10759ffc]
vcvtsd2ss xmm1, xmm0, xmm0
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x10229440]
vcvtsd2ss xmm0, xmm0, xmm0
vdivss xmm0, xmm1, xmm0
vcomiss xmm0, dword [0x10759fe0]
jbe 0x100a7aed
call fcn.100a82b0
push edi
push ebx
lea eax, [esp + 0x18]
push eax
call fcn.100a8540
mov ecx, dword [eax]
jmp 0x100a7af1
mov ecx, dword [esp + 0x10]
push ebp
push ecx
push edi
call fcn.100a8340
pop edi
pop esi
pop ebp
add eax, 0xc
pop ebx
add esp, 8
ret 4
push str.unordered_map_set_too_long
call fcn.1017aed4
int3
Function at 0x100ad540
Capabilities:
Hash data using fnv

Disassembly:
sub esp, 0x14
mov dword [0x10754de4], 0
vxorps xmm0, xmm0, xmm0
vmovss dword [0x10754de0], xmm0
mov dword [0x10754de8], 0
push ebx
push ebp
push esi
push edi
push 0x18
call fcn.1017d6f1
vmovss xmm0, dword [0x10228684]
mov edi, eax
add esp, 4
mov dword [edi], edi
mov dword [edi + 4], edi
push 0x40
mov dword [0x10754de4], edi
mov dword [0x10754dec], 0
mov dword [0x10754df0], 0
mov dword [0x10754df4], 0
mov dword [0x10754df8], 7
mov dword [0x10754dfc], 8
vmovss dword [0x10754de0], xmm0
call fcn.1017d6f1
mov ecx, dword [0x10754df4]
mov esi, eax
mov eax, dword [0x10754dec]
add esp, 4
sub ecx, eax
sar ecx, 2
test ecx, ecx
je 0x100ad60b
shl ecx, 2
cmp ecx, 0x1000
jb 0x100ad601
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ad727
mov eax, edx
push ecx
push eax
call fcn.1017d3f8
add esp, 8
lea eax, [esi + 0x40]
mov dword [0x10754dec], esi
mov dword [0x10754df0], eax
mov dword [0x10754df4], eax
cmp esi, eax
je 0x100ad62b
mov dword [esi], edi
add esi, 4
cmp esi, eax
jne 0x100ad622
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
cmp esi, ebx
je 0x100ad70e
nop dword [eax + eax]
movzx eax, byte [esi]
xor eax, 0x811c9dc5
imul edi, eax, 0x1000193
lea eax, [esp + 0x10]
push edi
push esi
push eax
call fcn.100ae610
cmp dword [esp + 0x14], 0
jne 0x100ad703
cmp dword [0x10754de8], 0xaaaaaaa
je 0x100ad71d
push 0x18
call fcn.1017d6f1
vmovdqu xmm0, xmmword [esi]
mov ebp, eax
add esp, 4
vmovdqu xmmword [ebp + 8], xmm0
mov ecx, dword [0x10754de8]
mov eax, dword [0x10754dfc]
inc ecx
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, ecx
shr ecx, 0x1f
vaddsd xmm0, xmm0, qword [ecx*8 + 0x10229440]
vcvtsd2ss xmm1, xmm0, xmm0
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x10229440]
vcvtsd2ss xmm0, xmm0, xmm0
vdivss xmm0, xmm1, xmm0
vcomiss xmm0, dword [0x10754de0]
jbe 0x100ad6f7
call fcn.100adde0
push edi
lea eax, [ebp + 8]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.100ae610
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
jmp 0x100ad6fb
mov ecx, dword [esp + 0x10]
push ebp
push ecx
push edi
call fcn.100ade70
add esi, 0x10
cmp esi, ebx
jne 0x100ad640
pop edi
pop esi
pop ebp
mov eax, 0x10754de0
pop ebx
add esp, 0x14
ret 8
push str.unordered_map_set_too_long
call fcn.1017aed4
call fcn.101829ea
int3

Function at 0x100adae0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push esi
mov esi, dword [esp + 0xc]
mov edx, 0x811c9dc5
push edi
mov edi, dword [esp + 0xc]
mov ecx, 0
sub esi, edi
je 0x100adb09
movzx eax, byte [edi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, esi
jb 0x100adaf8
pop edi
mov eax, edx
pop esi
ret 8
Function at 0x100bed30
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
vmovss dword [esp + 0x10], xmm2
mov dword [esp + 0x14], ecx
mov edi, esi
cmp dword [esi + 0x14], 0xf
mov ebx, dword [esi + 0x10]
jbe 0x100bed56
mov edi, dword [esi]
xor ecx, ecx
mov edx, 0x811c9dc5
test ebx, ebx
je 0x100bed72
movzx eax, byte [edi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, ebx
jb 0x100bed61
push edx
push esi
lea eax, [esp + 0x20]
mov ecx, 0x106383d0
push eax
call fcn.10019e60
mov edx, dword [0x106383d4]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x106383d4]
je 0x100bee0e
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, dword [0x10639804]
vmulss xmm0, xmm0, dword [0x10228484]
vmulss xmm1, xmm0, dword [esp + 0x10]
vmovss xmm0, dword [0x1022894c]
vcomiss xmm0, xmm1
jb 0x100bedd6
mov ecx, dword [edx + 0x28]
call fcn.10148660
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
vmovss xmm0, dword [0x1022899c]
vcomiss xmm0, xmm1
jb 0x100bedf9
mov ecx, dword [edx + 0x24]
call fcn.10148660
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [edx + 0x20]
call fcn.10148660
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
xor ecx, ecx
call fcn.10148660
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4