joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1012a260
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]
mov edx, edi
push esi
mov ecx, eax
call fcn.10012f20
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
lea ecx, [esi + 2]
push ecx
lea edx, [edi + 2]
mov ecx, eax
call fcn.10012f20
or ecx, 0xffffffff
mov esi, 0x102015c1
mov al, 0x4b
or edi, 0xffffffff
cmp al, 0x23
jne 0x1012a371
cmp byte [esi], al
jne 0x1012a371
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 0x1012a363
not ecx
call fcn.10143c10
mov esi, eax
test esi, esi
je 0x1012a416
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 0x1012ac70
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]
mov edx, edi
push esi
mov ecx, eax
call fcn.10012f20
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
lea ecx, [esi + 2]
push ecx
lea edx, [edi + 2]
mov ecx, eax
call fcn.10012f20
or ecx, 0xffffffff
mov esi, 0x1021bdf5
mov al, 0x53
or edi, 0xffffffff
cmp al, 0x23
jne 0x1012ad81
cmp byte [esi], al
jne 0x1012ad81
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 0x1012ad73
not ecx
call fcn.10143c10
mov esi, eax
test esi, esi
je 0x1012ae26
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 0x1012ae30
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]
mov edx, edi
push esi
mov ecx, eax
call fcn.10012f20
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
lea ecx, [esi + 2]
push ecx
lea edx, [edi + 2]
mov ecx, eax
call fcn.10012f20
sub esp, 0x18
mov ecx, esp
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ecx], xmm0
mov dword [ecx + 0x10], 5
mov dword [ecx + 0x14], 0xf
mov eax, dword [str.Color]
mov dword [ecx], eax
movzx eax, byte [0x101b50c4]
mov byte [ecx + 4], al
mov byte [ecx + 5], 0
mov ecx, ebx
call fcn.100156b0
lea ecx, [esi + 8]
push ecx
lea edx, [edi + 8]
mov ecx, eax
call fcn.100265b0
or ecx, 0xffffffff
mov esi, 0x102122c9
mov al, 0x41
or edi, 0xffffffff
cmp al, 0x23
jne 0x1012af86
cmp byte [esi], al
jne 0x1012af86
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 0x1012af78
not ecx
call fcn.10143c10
mov esi, eax
test esi, esi
je 0x1012b02b
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 0x1012b400
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], 5
mov dword [esi + 0x14], 0xf
mov eax, dword [str.Color]
mov dword [esi], eax
movzx eax, byte [0x101b50c4]
mov byte [esi + 4], al
mov byte [esi + 5], 0
call fcn.100156b0
mov esi, dword [ebp + 8]
mov edx, edi
push esi
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 + 0x12]
push ecx
lea edx, [edi + 0x12]
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
lea ecx, [esi + 0x13]
push ecx
lea edx, [edi + 0x13]
mov ecx, eax
call fcn.10012f20
or ecx, 0xffffffff
mov esi, 0x1021c121
mov al, 0x48
or edi, 0xffffffff
nop dword [eax]
cmp al, 0x23
jne 0x1012b50e
cmp byte [esi], al
jne 0x1012b50e
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 0x1012b500
not ecx
call fcn.10143c10
mov esi, eax
test esi, esi
je 0x1012b5b3
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 0x1012e420
Capabilities:
Hash data using fnv

Disassembly:
sub esp, 0x18
push ebx
mov ebx, dword [esp + 0x20]
mov edx, ecx
push ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0xc], edx
cmp ebx, ebp
je 0x1012e5c5
mov eax, dword [edx + 4]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], 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 [esp + 0x24], 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 [esp + 0x10], ecx
lea eax, [edi + eax*8]
mov dword [esp + 0x30], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x20], eax
mov edi, esi
mov ebx, esi
mov esi, dword [esi]
lea ecx, [edi + 0x1c]
call fcn.1000d8c0
mov edx, dword [edi + 0x14]
call fcn.100b48e0
push 0x24
push dword [edi + 0x14]
call fcn.1017d3f8
push 0x30
push edi
call fcn.1017d3f8
mov edx, dword [esp + 0x24]
add esp, 0x10
dec dword [edx + 8]
cmp ebx, dword [esp + 0x20]
je 0x1012e506
cmp esi, ebp
jne 0x1012e4a1
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x2c]
jne 0x1012e5ba
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
pop edi
mov dword [ecx], esi
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 8
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
cmp eax, dword [esp + 0x2c]
jne 0x1012e51c
mov eax, dword [esp + 0x18]
mov dword [ecx], eax
jmp 0x1012e520
mov eax, dword [esp + 0x1c]
mov dword [ecx + 4], eax
cmp esi, ebp
je 0x1012e5ba
nop dword [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 [esp + 0x24]
and eax, dword [edx + 0x18]
lea eax, [ecx + eax*8]
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x30], eax
mov edi, esi
mov ebx, esi
mov esi, dword [esi]
lea ecx, [edi + 0x1c]
call fcn.1000d8c0
mov edx, dword [edi + 0x14]
call fcn.100b48e0
push 0x24
push dword [edi + 0x14]
call fcn.1017d3f8
push 0x30
push edi
call fcn.1017d3f8
mov edx, dword [esp + 0x24]
add esp, 0x10
dec dword [edx + 8]
cmp ebx, dword [esp + 0x30]
je 0x1012e5cf
cmp esi, ebp
jne 0x1012e578
mov eax, dword [esp + 0x2c]
mov dword [eax], esi
mov eax, dword [esp + 0x1c]
pop edi
mov dword [eax], esi
mov dword [esi + 4], eax
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x18
ret 8
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x18]
mov dword [eax], ebx
mov dword [eax + 4], ebx
cmp esi, ebp
jne 0x1012e530
mov eax, dword [esp + 0x1c]
pop edi
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 8
Function at 0x1012e600
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 0x1012e7b6
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 0x1012e63b
mov edx, dword [edx]
xor ecx, ecx
push esi
mov esi, 0x811c9dc5
test eax, eax
je 0x1012e665
mov ebp, eax
nop dword [eax]
movzx eax, byte [edx + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, ebp
jb 0x1012e650
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.1012ec80
dec dword [edi + 8]
cmp ebx, dword [esp + 0x10]
je 0x1012e6b2
mov dword [esp + 0x24], esi
cmp esi, ebp
je 0x1012e6c4
mov edx, esi
mov esi, dword [esi]
call fcn.1012ec80
dec dword [edi + 8]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x24], eax
jne 0x1012e694
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x14], ebx
jne 0x1012e6e9
mov eax, dword [esp + 0x1c]
mov dword [ecx], eax
jmp 0x1012e6ed
cmp dword [esp + 0x14], ebx
jne 0x1012e7ac
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 0x1012e7ac
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 0x1012e716
mov edx, dword [edx]
xor ecx, ecx
mov ebx, 0x811c9dc5
test eax, eax
je 0x1012e73a
mov ebp, dword [esp + 0x2c]
movzx eax, byte [edx + ecx]
inc ecx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp ecx, ebp
jb 0x1012e725
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.1012ec80
dec dword [edi + 8]
cmp dword [esp + 0x24], ebx
je 0x1012e77c
mov ebx, esi
cmp esi, ebp
je 0x1012e7a6
mov edx, esi
mov esi, dword [esi]
call fcn.1012ec80
dec dword [edi + 8]
cmp ebx, dword [esp + 0x14]
jne 0x1012e764
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x1c]
mov dword [eax], ebx
mov dword [eax + 4], ebx
cmp esi, ebp
jne 0x1012e700
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 0x1012e890
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [edi + 1]
xor ecx, eax
movzx eax, byte [edi + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edi + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
lea eax, [esp + 0x10]
imul ebx, ecx, 0x1000193
push ebx
push edi
push eax
call fcn.1012f260
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1012e8f7
mov eax, dword [ebp + 8]
mov dword [eax], ecx
mov byte [eax + 4], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp dword [0x1075a988], 0x5555555
je 0x1012ea65
push 0x30
call fcn.1017d6f1
mov ecx, dword [edi]
mov esi, eax
vpxor xmm0, xmm0, xmm0
add esp, 4
mov dword [esi + 8], ecx
lea ecx, [esi + 0x10]
vmovdqu ymmword [esi + 0xc], ymm0
mov dword [esi + 0x2c], 0
vzeroupper
call fcn.1012e2f0
mov ecx, dword [0x1075a988]
mov edi, dword [0x1075a99c]
vmovss xmm1, dword [0x1075a980]
vxorps xmm0, xmm0, xmm0
lea eax, [ecx + 1]
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x10229440]
vcvtsd2ss xmm2, xmm0, xmm0
vxorps xmm0, xmm0, xmm0
mov eax, edi
shr eax, 0x1f
vcvtsi2sd xmm0, xmm0, edi
vaddsd xmm0, xmm0, qword [eax*8 + 0x10229440]
vcvtsd2ss xmm0, xmm0, xmm0
vdivss xmm0, xmm2, xmm0
vcomiss xmm0, xmm1
jbe 0x1012e9fb
vdivss xmm0, xmm2, xmm1
vmovss dword [esp + 0x10], xmm0
fld dword [esp + 0x10]
fstp qword [esp + 0x10]
vxorpd xmm0, xmm0, xmm0
vroundsd xmm0, xmm0, qword [esp + 0x10], 2
vmovsd qword [esp + 0x10], xmm0
fld qword [esp + 0x10]
fstp dword [esp + 0x10]
vmovss xmm0, dword [esp + 0x10]
call fcn.101a4a40
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp edi, ecx
jae 0x1012e9dc
cmp edi, 0x200
jae 0x1012e9da
shl edi, 3
cmp edi, ecx
jae 0x1012e9dc
mov edi, ecx
push edi
call fcn.1012ece0
push ebx
lea eax, [esi + 8]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1012f260
mov ecx, dword [0x1075a988]
mov edx, dword [eax]
jmp 0x1012e9ff
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 4]
inc ecx
mov dword [0x1075a988], ecx
mov dword [esi], edx
mov dword [esi + 4], edi
mov dword [edi], esi
mov dword [edx + 4], esi
mov eax, dword [0x1075a998]
mov ecx, dword [0x1075a98c]
and eax, ebx
mov ebx, dword [ecx + eax*8]
cmp ebx, dword [0x1075a984]
jne 0x1012ea30
mov dword [ecx + eax*8], esi
jmp 0x1012ea4f
cmp ebx, edx
jne 0x1012ea49
mov dword [ecx + eax*8], esi
mov eax, dword [ebp + 8]
mov dword [eax], esi
mov byte [eax + 4], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp dword [ecx + eax*8 + 4], edi
jne 0x1012ea53
mov dword [ecx + eax*8 + 4], esi
mov eax, dword [ebp + 8]
pop edi
mov dword [eax], esi
pop esi
mov byte [eax + 4], 1
pop ebx
mov esp, ebp
pop ebp
ret 8
push str.unordered_map_set_too_long
call fcn.1017aed4
int3
Function at 0x1012ea70
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0xc
push ebx
push ebp
mov ebp, dword [esp + 0x1c]
mov ebx, ecx
push esi
push edi
mov edx, ebp
cmp dword [ebp + 0x14], 0xf
mov edi, dword [ebp + 0x10]
jbe 0x1012ea8b
mov edx, dword [ebp]
xor ecx, ecx
mov esi, 0x811c9dc5
test edi, edi
je 0x1012eaa7
movzx eax, byte [edx + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edi
jb 0x1012ea96
push esi
push ebp
lea eax, [esp + 0x18]
mov ecx, ebx
push eax
call fcn.10019e60
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1012ead1
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], 0x71c71c7
je 0x1012ec17
push 0x24
call fcn.1017d6f1
add esp, 4
mov edi, eax
lea ecx, [edi + 8]
push ebp
call fcn.10024a90
vxorps xmm0, xmm0, xmm0
mov dword [edi + 0x20], 0
mov eax, dword [ebx + 8]
mov ebp, dword [ebx + 0x1c]
inc eax
vmovss xmm1, dword [ebx]
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x10229440]
vcvtsd2ss xmm2, xmm0, xmm0
vxorps xmm0, xmm0, xmm0
mov eax, ebp
shr eax, 0x1f
vcvtsi2sd xmm0, xmm0, ebp
vaddsd xmm0, xmm0, qword [eax*8 + 0x10229440]
vcvtsd2ss xmm0, xmm0, xmm0
vdivss xmm0, xmm2, xmm0
vcomiss xmm0, xmm1
jbe 0x1012ebb4
vdivss xmm0, xmm2, xmm1
vmovss dword [esp + 0x24], xmm0
fld dword [esp + 0x24]
fstp qword [esp + 0x10]
vxorpd xmm0, xmm0, xmm0
vroundsd xmm0, xmm0, qword [esp + 0x10], 2
vmovsd qword [esp + 0x10], xmm0
fld qword [esp + 0x10]
fstp dword [esp + 0x24]
vmovss xmm0, dword [esp + 0x24]
call fcn.101a4a40
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebp, ecx
jae 0x1012eb97
cmp ebp, 0x200
jae 0x1012eb95
shl ebp, 3
cmp ebp, ecx
jae 0x1012eb97
mov ebp, ecx
push ebp
mov ecx, ebx
call fcn.1009af00
push esi
lea eax, [edi + 8]
mov ecx, ebx
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10019e60
mov edx, dword [eax]
jmp 0x1012ebb8
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 4]
inc dword [ebx + 8]
mov dword [edi], edx
mov dword [edi + 4], ebp
mov dword [ebp], edi
mov dword [edx + 4], edi
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0xc]
and eax, esi
mov esi, dword [ecx + eax*8]
cmp esi, dword [ebx + 4]
jne 0x1012ebde
mov dword [ecx + eax*8], edi
jmp 0x1012ebff
cmp esi, edx
jne 0x1012ebf9
mov dword [ecx + eax*8], edi
mov eax, dword [esp + 0x20]
mov dword [eax], edi
mov byte [eax + 4], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ecx + eax*8 + 4], ebp
jne 0x1012ec03
mov dword [ecx + eax*8 + 4], edi
mov eax, dword [esp + 0x20]
mov dword [eax], edi
pop edi
pop esi
pop ebp
mov byte [eax + 4], 1
pop ebx
add esp, 0xc
ret 8
push str.unordered_map_set_too_long
call fcn.1017aed4
int3