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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x4612008]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
mov eax, dword [esi]
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x45a5639
push 0xd8
call fcn.045bc771
push 0xd8
push 0
push eax
mov dword [esi], eax
call fcn.045be2d0
mov eax, dword [esi]
add esp, 0x10
movzx edx, byte [ebp + 8]
mov dword [eax + 0x28], edx
mov ecx, dword [esi]
call fcn.045a4e10
mov al, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.045bc602
mov esp, ebp
pop ebp
ret
push ebx
mov ebx, dword [eax + 0x14]
mov ecx, ebx
shr ecx, 0x18
mov edx, ebx
mov dword [ebp - 0x1c], ecx
mov ecx, ebx
shr ecx, 0x10
mov dword [ebp - 0x18], ecx
mov ecx, ebx
shr ecx, 8
push edi
mov dword [ebp - 0x14], ecx
mov edi, ebx
mov ecx, dword [eax + 0x18]
mov eax, ebx
shr eax, 0x10
shr edx, 8
shr edi, 0x18
mov dword [ebp - 8], ebx
mov dword [ebp - 0xc], eax
test ecx, ecx
je 0x45a56e5
push ecx
push str.478011B2_E06D_4B4B_A323_5B4AD8F78DE6
push ebx
call dword [sym.imp.USER32.dll_SetPropW]
mov eax, dword [ebp - 0x10]
push 0
push 0
push 0x10
push dword [eax + 0x14]
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [esi]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
cmp dword [eax + 0x28], 0
mov dword [ebp - 0xc], ecx
je 0x45a56e5
push 5
push dword [eax + 0x14]
call dword [sym.imp.USER32.dll_GetWindow]
mov ecx, dword [esi]
mov ebx, eax
mov edi, ebx
push dword [ecx + 0x18]
push str.478011B2_E06D_4B4B_A323_5B4AD8F78DE6
push edi
call dword [sym.imp.USER32.dll_SetPropW]
push 0
push 0
push 0x10
push edi
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, edi
mov dword [ebp - 8], edi
mov edx, edi
shr eax, 0x10
shr edx, 8
mov dword [ebp - 0xc], eax
shr edi, 0x18
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dl
xor ecx, eax
mov eax, dword [ebp - 0xc]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
xor eax, edi
imul esi, eax, 0x1000193
lea eax, [ebp - 8]
push esi
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.045a6130
pop edi
pop ebx
mov edx, dword [eax + 4]
test edx, edx
je 0x45a5780
mov ecx, dword [0x461f65c]
mov eax, dword [0x461f650]
and ecx, esi
lea ecx, [eax + ecx*8]
mov eax, dword [ecx]
cmp dword [ecx + 4], edx
jne 0x45a575a
cmp eax, edx
jne 0x45a5752
mov eax, dword [0x461f648]
mov dword [ecx], eax
mov dword [ecx + 4], eax
jmp 0x45a5762
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
jmp 0x45a5762
cmp eax, edx
jne 0x45a5762
mov eax, dword [edx]
mov dword [ecx], eax
mov ecx, dword [edx]
dec dword [0x461f64c]
mov eax, dword [edx + 4]
push 0x10
push edx
mov dword [eax], ecx
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
call fcn.045bc737
add esp, 8
mov ecx, dword [ebp - 4]
xor al, al
xor ecx, ebp
pop esi
call fcn.045bc602
mov esp, ebp
pop ebp
ret
Function at 0x45a62b0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45df135
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x4612008]
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.045a6130
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x45a6333
mov dword [edi], eax
mov byte [edi + 4], 0
jmp 0x45a6470
cmp dword [0x461f64c], 0xfffffff
je 0x45a6486
mov dword [ebp - 0x24], 0x461f648
mov dword [ebp - 4], 0
push 0x10
mov dword [ebp - 0x20], 0
call fcn.045bc771
mov ecx, dword [ebx]
mov esi, eax
add esp, 4
mov dword [ebp - 0x20], esi
mov dword [esi + 8], ecx
mov dword [esi + 0xc], 0
mov dword [ebp - 4], 1
mov ecx, dword [0x461f64c]
mov ebx, dword [0x461f660]
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movd xmm1, ebx
addsd xmm0, qword [eax*8 + 0x4608910]
cvtdq2pd xmm1, xmm1
mov eax, ebx
shr eax, 0x1f
cvtpd2ps xmm0, xmm0
addsd xmm1, qword [eax*8 + 0x4608910]
movaps xmm2, xmm0
cvtpd2ps xmm1, xmm1
divss xmm2, xmm1
movss xmm1, dword [0x461f644]
comiss xmm2, xmm1
jbe 0x45a641d
divss xmm0, xmm1
call fcn.04578b60
call fcn.045dd480
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebx, ecx
jae 0x45a63fc
cmp ebx, 0x200
jae 0x45a63fa
shl ebx, 3
cmp ebx, ecx
jae 0x45a63fc
mov ebx, ecx
push ebx
call fcn.045a64a0
mov edi, dword [ebp - 0x10]
lea eax, [esi + 8]
push edi
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.045a6130
mov ecx, dword [0x461f64c]
mov edx, dword [eax]
jmp 0x45a6423
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x10]
mov ebx, dword [edx + 4]
inc ecx
mov dword [0x461f64c], ecx
mov dword [esi], edx
mov dword [esi + 4], ebx
mov dword [ebx], esi
mov dword [edx + 4], esi
mov eax, dword [0x461f65c]
mov ecx, dword [0x461f650]
and eax, edi
mov edi, dword [ecx + eax*8]
cmp edi, dword [0x461f648]
jne 0x45a6454
mov dword [ecx + eax*8], esi
jmp 0x45a6463
cmp edi, edx
jne 0x45a645d
mov dword [ecx + eax*8], esi
jmp 0x45a6467
cmp dword [ecx + eax*8 + 4], ebx
jne 0x45a6467
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
push str.unordered_map_set_too_long
call fcn.045bd607
int3
Function at 0x45a64a0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1fffffff
sub esp, 0x10
bsr ecx, eax
push ebx
push esi
push edi
mov edi, 1
mov eax, edi
shl eax, cl
mov ecx, dword [ebp + 8]
cmp ecx, eax
ja 0x45a660d
lea eax, [ecx - 1]
mov esi, dword [0x461f648]
or eax, edi
mov dword [ebp - 8], esi
bsr ecx, eax
push esi
lea ecx, [ecx + 1]
shl edi, cl
mov ecx, 0x461f650
lea eax, [edi + edi]
push eax
call fcn.0457a250
mov eax, dword [0x461f648]
lea ebx, [edi - 1]
mov dword [0x461f65c], ebx
mov dword [0x461f660], edi
mov eax, dword [eax]
mov ecx, eax
cmp eax, esi
je 0x45a6604
nop word [eax + eax]
movzx edx, byte [eax + 8]
xor edx, 0x811c9dc5
mov ecx, dword [ecx]
imul edi, edx, 0x1000193
movzx edx, byte [eax + 9]
xor edi, edx
movzx edx, byte [eax + 0xa]
imul edi, edi, 0x1000193
xor edi, edx
movzx edx, byte [eax + 0xb]
imul edi, edi, 0x1000193
xor edi, edx
mov edx, dword [0x461f650]
imul edi, edi, 0x1000193
and edi, ebx
mov ebx, dword [edx + edi*8]
lea edx, [edx + edi*8]
mov dword [ebp - 0xc], edx
cmp ebx, esi
jne 0x45a6562
mov dword [edx], eax
mov dword [edx + 4], eax
jmp 0x45a65cf
mov edx, dword [edx + 4]
mov edi, dword [eax + 8]
cmp edi, dword [edx + 8]
jne 0x45a659c
mov edx, dword [edx]
mov dword [ebp - 4], edx
cmp edx, eax
je 0x45a6594
mov ebx, dword [eax + 4]
mov esi, dword [ebp - 4]
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp - 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
mov edx, dword [ebp - 0xc]
mov dword [edx + 4], eax
jmp 0x45a65cf
cmp ebx, edx
je 0x45a65ac
mov edx, dword [edx + 4]
cmp edi, dword [edx + 8]
je 0x45a65e0
cmp ebx, edx
jne 0x45a65a0
mov ebx, dword [eax + 4]
mov dword [ebp - 4], ebx
mov dword [ebx], ecx
mov ebx, dword [ecx + 4]
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], eax
mov dword [edx + 4], ebx
mov edx, dword [ebp - 4]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xc]
mov dword [eax + 4], edi
mov dword [edx], eax
mov eax, ecx
cmp ecx, esi
je 0x45a6604
mov ebx, dword [0x461f65c]
jmp 0x45a6510
mov ebx, dword [eax + 4]
mov edx, dword [edx]
mov dword [ebp - 4], edx
mov esi, edx
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp - 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
jmp 0x45a65cf
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.invalid_hash_bucket_count
call fcn.045bd607
int3
Function at 0x45aac50
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x4612008]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
mov eax, dword [esi]
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x45aaca9
push 0xf8
call fcn.045bc771
push 0xf8
push 0
push eax
mov dword [esi], eax
call fcn.045be2d0
mov eax, dword [esi]
add esp, 0x10
movzx edx, byte [ebp + 8]
mov dword [eax + 0x28], edx
mov ecx, dword [esi]
call fcn.045aa1b0
mov al, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.045bc602
mov esp, ebp
pop ebp
ret
push ebx
mov ebx, dword [eax + 0x14]
mov ecx, ebx
shr ecx, 0x18
mov edx, ebx
mov dword [ebp - 0x1c], ecx
mov ecx, ebx
shr ecx, 0x10
mov dword [ebp - 0x18], ecx
mov ecx, ebx
shr ecx, 8
push edi
mov dword [ebp - 0x14], ecx
mov edi, ebx
mov ecx, dword [eax + 0x18]
mov eax, ebx
shr eax, 0x10
shr edx, 8
shr edi, 0x18
mov dword [ebp - 8], ebx
mov dword [ebp - 0xc], eax
test ecx, ecx
je 0x45aad55
push ecx
push str.478011B2_E06D_4B4B_A323_5B4AD8F78DE6
push ebx
call dword [sym.imp.USER32.dll_SetPropW]
mov eax, dword [ebp - 0x10]
push 0
push 0
push 0x10
push dword [eax + 0x14]
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [esi]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
cmp dword [eax + 0x28], 0
mov dword [ebp - 0xc], ecx
je 0x45aad55
push 5
push dword [eax + 0x14]
call dword [sym.imp.USER32.dll_GetWindow]
mov ecx, dword [esi]
mov ebx, eax
mov edi, ebx
push dword [ecx + 0x18]
push str.478011B2_E06D_4B4B_A323_5B4AD8F78DE6
push edi
call dword [sym.imp.USER32.dll_SetPropW]
push 0
push 0
push 0x10
push edi
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, edi
mov dword [ebp - 8], edi
mov edx, edi
shr eax, 0x10
shr edx, 8
mov dword [ebp - 0xc], eax
shr edi, 0x18
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dl
xor ecx, eax
mov eax, dword [ebp - 0xc]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
xor eax, edi
imul esi, eax, 0x1000193
lea eax, [ebp - 8]
push esi
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.045abbe0
pop edi
pop ebx
mov edx, dword [eax + 4]
test edx, edx
je 0x45aadf0
mov ecx, dword [0x461f6b0]
mov eax, dword [0x461f6a4]
and ecx, esi
lea ecx, [eax + ecx*8]
mov eax, dword [ecx]
cmp dword [ecx + 4], edx
jne 0x45aadca
cmp eax, edx
jne 0x45aadc2
mov eax, dword [0x461f69c]
mov dword [ecx], eax
mov dword [ecx + 4], eax
jmp 0x45aadd2
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
jmp 0x45aadd2
cmp eax, edx
jne 0x45aadd2
mov eax, dword [edx]
mov dword [ecx], eax
mov ecx, dword [edx]
dec dword [0x461f6a0]
mov eax, dword [edx + 4]
push 0x10
push edx
mov dword [eax], ecx
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
call fcn.045bc737
add esp, 8
mov ecx, dword [ebp - 4]
xor al, al
xor ecx, ebp
pop esi
call fcn.045bc602
mov esp, ebp
pop ebp
ret
Function at 0x45ab140
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
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
imul eax, ecx, 0x1000193
push eax
push esi
lea eax, [esp + 0x18]
push eax
call fcn.045abbe0
mov ecx, dword [0x461f69c]
mov edi, ecx
mov eax, dword [eax + 4]
test eax, eax
cmovne edi, eax
cmp edi, ecx
je 0x45ab1c6
mov eax, dword [esi + 8]
cmp eax, 0xfffffdf8
ja 0x45ab250
je 0x45ab1c6
cmp eax, 0xfffffd37
je 0x45ab1d1
cmp eax, 0xfffffdee
jne 0x45ab25e
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0xdc]
lea eax, [esi + 0x10]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.045ab770
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x45ab213
cmp word [eax], 0
je 0x45ab213
mov ecx, dword [edi + 0xc]
push eax
push dword [esi]
mov ecx, dword [ecx + 0xd4]
call fcn.045a9d40
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [edi + 0xc]
push 0
push dword [esi]
mov ecx, dword [ecx + 0xd4]
call fcn.045a9d40
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0xd4]
mov eax, dword [eax + 4]
test eax, eax
je 0x45ab1c6
push 0
push 0
push 0x41c
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp eax, 0xffffffed
je 0x45ab1c6
cmp eax, 0xfffffff4
je 0x45ab272
push ecx
push dword [edi + 0xc]
push esi
push ecx
call fcn.045ae810
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [esi + 0xc], 1
jne 0x45ab1c6
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x40]
cmp eax, 0xff000000
jne 0x45ab291
push 4
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push eax
lea eax, [esi + 0x14]
push eax
push dword [esi + 0x10]
call dword [sym.imp.USER32.dll_FillRect]
push 0xffff00
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SetTextColor]
pop edi
pop esi
mov dword [ebx], 0x20
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x10
Function at 0x45aba50
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 0x45abba6
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 0x44
push eax
call fcn.045bc737
dec dword [ebx + 8]
add esp, 8
cmp edi, dword [ebp - 0x10]
je 0x45abb09
mov eax, dword [ebp + 0xc]
cmp esi, eax
jne 0x45abac7
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp + 8]
jne 0x45abb9c
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 0x45abb1d
mov eax, dword [ebp - 0x14]
mov ecx, eax
mov dword [edx], eax
jmp 0x45abb20
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0xc]
mov dword [edx + 4], ecx
cmp esi, eax
je 0x45abb9c
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 0x44
push eax
call fcn.045bc737
dec dword [ebx + 8]
add esp, 8
mov eax, dword [ebp + 0xc]
cmp edi, dword [ebp - 0x10]
je 0x45abbad
cmp esi, eax
jne 0x45abb77
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 0x45abb30
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 0x45abc50
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45df135
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x4612008]
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.045abbe0
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x45abcd3
mov dword [edi], eax
mov byte [edi + 4], 0
jmp 0x45abe10
cmp dword [0x461f6a0], 0xfffffff
je 0x45abe26
mov dword [ebp - 0x24], 0x461f69c
mov dword [ebp - 4], 0
push 0x10
mov dword [ebp - 0x20], 0
call fcn.045bc771
mov ecx, dword [ebx]
mov esi, eax
add esp, 4
mov dword [ebp - 0x20], esi
mov dword [esi + 8], ecx
mov dword [esi + 0xc], 0
mov dword [ebp - 4], 1
mov ecx, dword [0x461f6a0]
mov ebx, dword [0x461f6b4]
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movd xmm1, ebx
addsd xmm0, qword [eax*8 + 0x4608910]
cvtdq2pd xmm1, xmm1
mov eax, ebx
shr eax, 0x1f
cvtpd2ps xmm0, xmm0
addsd xmm1, qword [eax*8 + 0x4608910]
movaps xmm2, xmm0
cvtpd2ps xmm1, xmm1
divss xmm2, xmm1
movss xmm1, dword [0x461f698]
comiss xmm2, xmm1
jbe 0x45abdbd
divss xmm0, xmm1
call fcn.04578b60
call fcn.045dd480
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebx, ecx
jae 0x45abd9c
cmp ebx, 0x200
jae 0x45abd9a
shl ebx, 3
cmp ebx, ecx
jae 0x45abd9c
mov ebx, ecx
push ebx
call fcn.045abe40
mov edi, dword [ebp - 0x10]
lea eax, [esi + 8]
push edi
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.045abbe0
mov ecx, dword [0x461f6a0]
mov edx, dword [eax]
jmp 0x45abdc3
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x10]
mov ebx, dword [edx + 4]
inc ecx
mov dword [0x461f6a0], ecx
mov dword [esi], edx
mov dword [esi + 4], ebx
mov dword [ebx], esi
mov dword [edx + 4], esi
mov eax, dword [0x461f6b0]
mov ecx, dword [0x461f6a4]
and eax, edi
mov edi, dword [ecx + eax*8]
cmp edi, dword [0x461f69c]
jne 0x45abdf4
mov dword [ecx + eax*8], esi
jmp 0x45abe03
cmp edi, edx
jne 0x45abdfd
mov dword [ecx + eax*8], esi
jmp 0x45abe07
cmp dword [ecx + eax*8 + 4], ebx
jne 0x45abe07
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
push str.unordered_map_set_too_long
call fcn.045bd607
int3
Function at 0x45abe40
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1fffffff
sub esp, 0x10
bsr ecx, eax
push ebx
push esi
push edi
mov edi, 1
mov eax, edi
shl eax, cl
mov ecx, dword [ebp + 8]
cmp ecx, eax
ja 0x45abfad
lea eax, [ecx - 1]
mov esi, dword [0x461f69c]
or eax, edi
mov dword [ebp - 8], esi
bsr ecx, eax
push esi
lea ecx, [ecx + 1]
shl edi, cl
mov ecx, 0x461f6a4
lea eax, [edi + edi]
push eax
call fcn.0457a250
mov eax, dword [0x461f69c]
lea ebx, [edi - 1]
mov dword [0x461f6b0], ebx
mov dword [0x461f6b4], edi
mov eax, dword [eax]
mov ecx, eax
cmp eax, esi
je 0x45abfa4
nop word [eax + eax]
movzx edx, byte [eax + 8]
xor edx, 0x811c9dc5
mov ecx, dword [ecx]
imul edi, edx, 0x1000193
movzx edx, byte [eax + 9]
xor edi, edx
movzx edx, byte [eax + 0xa]
imul edi, edi, 0x1000193
xor edi, edx
movzx edx, byte [eax + 0xb]
imul edi, edi, 0x1000193
xor edi, edx
mov edx, dword [0x461f6a4]
imul edi, edi, 0x1000193
and edi, ebx
mov ebx, dword [edx + edi*8]
lea edx, [edx + edi*8]
mov dword [ebp - 0xc], edx
cmp ebx, esi
jne 0x45abf02
mov dword [edx], eax
mov dword [edx + 4], eax
jmp 0x45abf6f
mov edx, dword [edx + 4]
mov edi, dword [eax + 8]
cmp edi, dword [edx + 8]
jne 0x45abf3c
mov edx, dword [edx]
mov dword [ebp - 4], edx
cmp edx, eax
je 0x45abf34
mov ebx, dword [eax + 4]
mov esi, dword [ebp - 4]
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp - 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
mov edx, dword [ebp - 0xc]
mov dword [edx + 4], eax
jmp 0x45abf6f
cmp ebx, edx
je 0x45abf4c
mov edx, dword [edx + 4]
cmp edi, dword [edx + 8]
je 0x45abf80
cmp ebx, edx
jne 0x45abf40
mov ebx, dword [eax + 4]
mov dword [ebp - 4], ebx
mov dword [ebx], ecx
mov ebx, dword [ecx + 4]
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], eax
mov dword [edx + 4], ebx
mov edx, dword [ebp - 4]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xc]
mov dword [eax + 4], edi
mov dword [edx], eax
mov eax, ecx
cmp ecx, esi
je 0x45abfa4
mov ebx, dword [0x461f6b0]
jmp 0x45abeb0
mov ebx, dword [eax + 4]
mov edx, dword [edx]
mov dword [ebp - 4], edx
mov esi, edx
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp - 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
jmp 0x45abf6f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.invalid_hash_bucket_count
call fcn.045bd607
int3
Function at 0x45acb00
Capabilities:
Capture webcam image

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x4612008]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov bl, byte [ebp + 0xc]
mov dword [ebp - 0x1c], ecx
mov edx, dword [eax + 0xc]
test bl, bl
je 0x45acb29
test edx, edx
js 0x45acbfc
mov ecx, dword [0x461f0d8]
push esi
mov esi, dword [eax + 4]
push edi
mov edi, dword [eax]
mov eax, dword [0x461f0d4]
cmp eax, ecx
je 0x45acbfa
cmp edi, dword [eax]
jne 0x45acb4c
cmp esi, dword [eax + 4]
je 0x45acb64
add eax, 0x14
cmp eax, ecx
jne 0x45acb43
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.045bc602
mov esp, ebp
pop ebp
ret
mov eax, dword [eax + 0x10]
test eax, eax
je 0x45acbfa
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
xorps xmm0, xmm0
mov dword [ebp - 8], 0
movups xmmword [ebp - 0x18], xmm0
mov esi, dword [eax + 0xd0]
test bl, bl
jne 0x45acba5
mov eax, dword [esi + 4]
test eax, eax
jne 0x45acb98
xor edx, edx
jmp 0x45acba5
push 0
push edx
push 0x419
push eax
call edi
mov edx, eax
mov eax, dword [esi + 4]
test eax, eax
je 0x45acbb9
lea ecx, [ebp - 0x18]
push ecx
push edx
push 0x417
push eax
call edi
mov dl, byte [ebp - 0xf]
xor ecx, ecx
test dl, 2
je 0x45acbcf
test dl, 4
jne 0x45acbcf
mov ecx, 1
jmp 0x45acbf5
mov al, dl
and al, 6
cmp al, 6
jne 0x45acbde
mov ecx, 2
jmp 0x45acbf5
test dl, 8
je 0x45acbea
mov ecx, 3
jmp 0x45acbf5
test dl, 1
mov eax, 4
cmovne ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.045bc602
mov esp, ebp
pop ebp
ret

Function at 0x45ae540
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
mov edi, dword [ebp + 0xc]
mov esi, ecx
movzx eax, byte [edi]
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
movzx eax, byte [edi + 1]
xor edx, eax
movzx eax, byte [edi + 2]
imul edx, edx, 0x1000193
xor edx, eax
movzx eax, byte [edi + 3]
imul ecx, edx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [esi + 0x18]
and ecx, eax
mov eax, dword [esi + 0xc]
mov esi, dword [esi + 4]
lea edx, [eax + ecx*8]
mov eax, dword [edx + 4]
cmp eax, esi
je 0x45ae5be
mov ecx, dword [edi]
mov edx, dword [edx]
cmp ecx, dword [eax + 8]
je 0x45ae5c0
nop word [eax + eax]
cmp eax, edx
je 0x45ae5be
mov eax, dword [eax + 4]
cmp ecx, dword [eax + 8]
jne 0x45ae5a0
mov ecx, dword [ebp + 8]
test eax, eax
pop edi
cmove eax, esi
pop esi
mov dword [ecx], eax
mov eax, ecx
pop ebp
ret 8
xor eax, eax
mov ecx, dword [ebp + 8]
test eax, eax
pop edi
cmove eax, esi
pop esi
mov dword [ecx], eax
mov eax, ecx
pop ebp
ret 8