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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c5cbd
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x5091d4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
sub esp, 0x18
mov ebx, dword [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x2c], ebx
push eax
call fcn.004027c0
lea eax, [ebp - 0x28]
push eax
call fcn.00402cd0
add esp, 0x1c
mov esi, eax
cmp dword [esi + 0x14], 0x10
mov edi, dword [esi + 0x10]
mov dword [ebp - 4], 0
jb 0x40b75f
mov esi, dword [esi]
xor ecx, ecx
mov edx, 0x811c9dc5
test edi, edi
je 0x40b781
nop word [eax + eax]
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x40b770
push edx
push ebx
call fcn.0040b7e0
mov edx, dword [ebp - 0x14]
add esp, 8
cmp edx, 0x10
jb 0x40b7bb
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40b7b1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b7d9
push edx
push ecx
call fcn.0049f81a
add esp, 8
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0049f836
mov esp, ebp
pop ebp
ret
call fcn.004a48ef
int3
Function at 0x40e5b0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c7a15
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x5091d4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ebx, dword [ebp + 0xc]
movzx eax, byte [ebx]
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
movzx eax, byte [ebx + 1]
xor edx, eax
movzx eax, byte [ebx + 2]
imul edx, edx, 0x1000193
xor edx, eax
movzx eax, byte [ebx + 3]
imul ecx, edx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edi
push eax
mov dword [ebp + 0xc], eax
lea eax, [ebp - 0x1c]
push ebx
push eax
call fcn.0040e540
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x40e643
mov eax, dword [ebp + 8]
mov dword [eax], ecx
mov byte [eax + 4], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp dword [edi + 8], 0x15555555
je 0x40e799
lea eax, [edi + 4]
mov dword [ebp - 0x14], eax
push 0xc
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 0
call fcn.0049f7ea
mov ecx, dword [ebx]
mov esi, eax
add esp, 4
mov dword [ebp - 0x10], esi
mov dword [esi + 8], ecx
mov ecx, dword [edi + 8]
mov ebx, dword [edi + 0x1c]
movss xmm3, dword [edi]
mov dword [ebp - 4], 1
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4d60a0]
mov eax, ebx
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x4d60a0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x40e738
divss xmm2, xmm3
sub esp, 8
cvtps2pd xmm0, xmm2
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fstp qword [esp]
call fcn.004a5470
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
add esp, 8
cvtpd2ps xmm0, xmm0
call fcn.0049fde0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebx, ecx
jae 0x40e717
cmp ebx, 0x200
jae 0x40e715
shl ebx, 3
cmp ebx, ecx
jae 0x40e717
mov ebx, ecx
push ebx
mov ecx, edi
call fcn.0040ef60
push dword [ebp + 0xc]
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.0040e540
mov ecx, dword [edi + 8]
mov edx, dword [eax]
jmp 0x40e73b
mov edx, dword [ebp - 0x1c]
mov ebx, dword [edx + 4]
lea eax, [ecx + 1]
mov dword [edi + 8], eax
mov dword [esi], edx
mov dword [esi + 4], ebx
mov dword [ebx], esi
mov dword [edx + 4], esi
mov eax, dword [edi + 0x18]
and eax, dword [ebp + 0xc]
mov ecx, dword [edi + 0xc]
mov esi, dword [ebp - 0x14]
mov edi, dword [ecx + eax*8]
cmp edi, dword [esi]
mov esi, dword [ebp - 0x10]
jne 0x40e769
mov dword [ecx + eax*8], esi
jmp 0x40e778
cmp edi, edx
jne 0x40e772
mov dword [ecx + eax*8], esi
jmp 0x40e77c
cmp dword [ecx + eax*8 + 4], ebx
jne 0x40e77c
mov dword [ecx + eax*8 + 4], esi
mov eax, dword [ebp + 8]
mov dword [eax], esi
mov byte [eax + 4], 1
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.0049c592
int3
Function at 0x40ef60
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov edx, dword [ebp + 8]
mov eax, 0x1fffffff
push ebx
push esi
push edi
mov edi, ecx
mov esi, 1
bsr ecx, eax
mov eax, esi
mov dword [ebp - 4], edi
shl eax, cl
cmp edx, eax
ja 0x40f0b5
mov ebx, dword [edi + 4]
lea eax, [edx - 1]
or eax, esi
mov dword [ebp - 8], ebx
bsr ecx, eax
push ebx
lea ecx, [ecx + 1]
shl esi, cl
lea ecx, [edi + 0xc]
lea eax, [esi + esi]
push eax
call fcn.0040ee60
lea eax, [esi - 1]
mov dword [edi + 0x1c], esi
mov dword [edi + 0x18], eax
mov edx, dword [edi + 4]
mov edx, dword [edx]
cmp edx, ebx
je 0x40f090
mov ecx, edx
movzx eax, byte [ecx + 8]
xor eax, 0x811c9dc5
mov edx, dword [edx]
imul esi, eax, 0x1000193
movzx eax, byte [ecx + 9]
xor esi, eax
movzx eax, byte [ecx + 0xa]
imul esi, esi, 0x1000193
xor esi, eax
movzx eax, byte [ecx + 0xb]
imul esi, esi, 0x1000193
xor esi, eax
imul eax, esi, 0x1000193
mov esi, dword [edi + 0x18]
and esi, eax
mov eax, dword [edi + 0xc]
lea ebx, [eax + esi*8]
mov eax, dword [ebp - 8]
mov dword [ebp + 8], ebx
cmp dword [ebx], eax
jne 0x40f013
mov dword [ebx], ecx
mov dword [ebx + 4], ecx
jmp 0x40f080
mov eax, dword [ebx + 4]
mov edi, dword [ecx + 8]
cmp edi, dword [eax + 8]
jne 0x40f04a
mov eax, dword [eax]
mov dword [ebp - 0xc], eax
cmp eax, ecx
je 0x40f045
mov edi, dword [ecx + 4]
mov ebx, dword [ebp - 0xc]
mov dword [edi], edx
mov esi, dword [edx + 4]
mov dword [esi], eax
mov eax, dword [eax + 4]
mov dword [eax], ecx
mov dword [ebx + 4], esi
mov ebx, dword [ebp + 8]
mov dword [edx + 4], edi
mov dword [ecx + 4], eax
mov dword [ebx + 4], ecx
jmp 0x40f07d
mov ebx, dword [ebx]
mov esi, eax
cmp ebx, eax
je 0x40f060
mov eax, dword [eax + 4]
mov esi, eax
cmp edi, dword [eax + 8]
je 0x40f099
cmp ebx, eax
jne 0x40f052
mov ebx, dword [ecx + 4]
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], esi
mov eax, dword [esi + 4]
mov dword [eax], ecx
mov dword [esi + 4], edi
mov dword [edx + 4], ebx
mov dword [ecx + 4], eax
mov eax, dword [ebp + 8]
mov dword [eax], ecx
mov edi, dword [ebp - 4]
mov ecx, edx
cmp edx, dword [ebp - 8]
jne 0x40efc2
nop dword [eax + eax]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edi, dword [ecx + 4]
mov ebx, dword [eax]
mov dword [edi], edx
mov esi, dword [edx + 4]
mov dword [esi], ebx
mov eax, dword [ebx + 4]
mov dword [eax], ecx
mov dword [ebx + 4], esi
mov dword [edx + 4], edi
mov dword [ecx + 4], eax
jmp 0x40f07d
push str.invalid_hash_bucket_count
call fcn.0049c592
int3
Function at 0x4102b0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
mov ebx, dword [ebp + 8]
movzx eax, bl
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
mov eax, ebx
shr eax, 8
movzx eax, al
push esi
push edi
xor edx, eax
mov edi, ecx
imul ecx, edx, 0x1000193
mov eax, ebx
shr eax, 0x10
movzx eax, al
shr ebx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [edi + 4]
xor eax, ebx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 8]
push eax
call fcn.0040e540
mov eax, dword [eax + 4]
test eax, eax
jne 0x410312
mov eax, dword [edi + 8]
cmp eax, dword [edi + 8]
pop edi
pop esi
setne al
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x414980
Capabilities:
Open clipboard

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c7fc5
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x5091d4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi + 4]
cmp byte [eax], 0
jne 0x4149c6
push dword [eax + 4]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x4149e0
mov eax, dword [esi + 4]
mov byte [eax], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0049f836
mov esp, ebp
pop ebp
ret
push str.An_runtime_exception_occurred:
lea ecx, [ebp - 0x28]
call fcn.00402850
push str.failed_opening_clipboard
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 0
push eax
call fcn.004020f0
add esp, 0xc
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00402b30
push 0x4f9f28
lea eax, [ebp - 0x4c]
push eax
call fcn.004a0dc4
int3

Function at 0x414a30
Capabilities:
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c80d5
mov eax, dword fs:[0]
push eax
sub esp, 0x7c
mov eax, dword [0x5091d4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi + 4]
cmp byte [eax], 0
je 0x414b5c
cmp dword [eax + 8], 0
jne 0x414a9c
push str.An_logic_exception_occurred:
lea ecx, [ebp - 0x40]
call fcn.00402850
push str.cache_does_not_have_backup
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 2
push eax
call fcn.004020f0
add esp, 0xc
mov byte [ebp - 4], 3
jmp 0x414b86
call dword [sym.imp.USER32.dll_EmptyClipboard]
test eax, eax
jne 0x414ae3
push str.An_runtime_exception_occurred:
lea ecx, [ebp - 0x40]
call fcn.00402850
push str.Failed_initalization_of_clipboard
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 4
push eax
call fcn.004020f0
add esp, 0xc
push eax
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 5
call fcn.00402b30
push 0x4f9f28
jmp 0x414b94
mov eax, dword [esi + 4]
push dword [eax + 8]
push 0xd
call dword [sym.imp.USER32.dll_SetClipboardData]
test eax, eax
jne 0x414b38
push str.An_runtime_exception_occurred:
lea ecx, [ebp - 0x58]
call fcn.00402850
push str.cannot_set_data_into_clipboard
push eax
lea eax, [ebp - 0x70]
mov dword [ebp - 4], 6
push eax
call fcn.004020f0
add esp, 0xc
push eax
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 7
call fcn.00402b30
push 0x4f9f28
lea eax, [ebp - 0x88]
jmp 0x414b97
mov eax, dword [esi + 4]
mov dword [eax + 8], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0049f836
mov esp, ebp
pop ebp
ret
push str.An_logic_exception_occurred:
lea ecx, [ebp - 0x28]
call fcn.00402850
push str.Thread_does_not_have_a_clipboard_open.
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 0
push eax
call fcn.004020f0
add esp, 0xc
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x7c]
call fcn.00413ee0
push 0x4fbf84
lea eax, [ebp - 0x7c]
push eax
call fcn.004a0dc4
int3
Function at 0x414ba0
Capabilities:
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c816b
mov eax, dword fs:[0]
push eax
sub esp, 0x98
mov eax, dword [0x5091d4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ecx + 4]
mov edx, dword [ebp + 8]
cmp byte [eax], 0
je 0x414d2e
push edx
lea eax, [ebp - 0x28]
push eax
call fcn.0048b280
add esp, 8
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 2
lea ebx, [eax*2 + 2]
push ebx
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edi, eax
test edi, edi
je 0x414d75
push edi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov esi, eax
mov dword [ebp - 0x98], esi
mov byte [ebp - 4], 5
test esi, esi
jne 0x414c58
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push str.An_runtime_exception_occurred:
lea ecx, [ebp - 0x58]
call fcn.00402850
push str.cannot_lock_global_memory_for_backup.
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 6
push eax
call fcn.004020f0
add esp, 0xc
mov byte [ebp - 4], 7
jmp 0x414d9c
call dword [sym.imp.USER32.dll_EmptyClipboard]
test eax, eax
jne 0x414c8e
push str.An_runtime_exception_occurred:
lea ecx, [ebp - 0x58]
call fcn.00402850
push str.Failed_initalization_of_clipboard
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 8
push eax
call fcn.004020f0
add esp, 0xc
mov byte [ebp - 4], 9
jmp 0x414d9c
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push ebx
cmovae eax, dword [ebp - 0x28]
push eax
push esi
call fcn.004a11f0
add esp, 0xc
mov dword [ebp - 0x98], 0
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push edi
push 0xd
call dword [sym.imp.USER32.dll_SetClipboardData]
test eax, eax
jne 0x414d08
push str.An_runtime_exception_occurred:
lea ecx, [ebp - 0x70]
call fcn.00402850
push str.cannot_set_data_into_clipboard
push eax
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0xa
push eax
call fcn.004020f0
add esp, 0xc
push eax
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0xb
call fcn.00402b30
push 0x4f9f28
lea eax, [ebp - 0xa4]
jmp 0x414db3
lea ecx, [ebp - 0x28]
call fcn.00413f30
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0049f836
mov esp, ebp
pop ebp
ret 4
push str.An_logic_exception_occurred:
lea ecx, [ebp - 0x40]
call fcn.00402850
push str.Thread_does_not_have_a_clipboard_open.
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0
push eax
call fcn.004020f0
add esp, 0xc
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 1
call fcn.00413ee0
push 0x4fbf84
lea eax, [ebp - 0x94]
push eax
call fcn.004a0dc4
push str.An_runtime_exception_occurred:
lea ecx, [ebp - 0x58]
call fcn.00402850
push str.cannot_alloc_memories_in_global_area.
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 3
push eax
call fcn.004020f0
add esp, 0xc
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x94]
call fcn.00402b30
push 0x4f9f28
lea eax, [ebp - 0x94]
push eax
call fcn.004a0dc4
int3
Function at 0x41cca0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c8835
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
push ebx
push esi
push edi
mov eax, dword [0x5091d4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x18], edi
mov ebx, dword [ebp + 8]
cmp ebx, dword [ebp + 0xc]
je 0x41ce74
nop dword [eax]
movzx eax, byte [ebx]
mov ecx, edi
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
push eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x20]
push ebx
push eax
call fcn.0041cc30
cmp dword [ebp - 0x1c], 0
jne 0x41ce65
cmp dword [edi + 8], 0x15555555
je 0x41ce88
lea eax, [edi + 4]
mov dword [ebp - 0x28], eax
push 0xc
mov dword [ebp - 4], 0
mov dword [ebp - 0x24], 0
call fcn.0049f7ea
mov cx, word [ebx]
mov esi, eax
add esp, 4
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], esi
mov word [esi + 8], cx
mov ecx, dword [edi + 8]
mov ebx, dword [edi + 0x1c]
inc ecx
mov eax, ebx
movss xmm3, dword [edi]
shr eax, 0x1f
mov dword [ebp - 4], 1
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x4d60a0]
cvtpd2ps xmm2, xmm0
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x4d60a0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
seta al
test al, al
je 0x41ce0b
divss xmm2, xmm3
sub esp, 8
cvtps2pd xmm0, xmm2
movsd qword [ebp - 0x30], xmm0
fld qword [ebp - 0x30]
fstp qword [esp]
call fcn.004a5470
fstp qword [ebp - 0x30]
movsd xmm0, qword [ebp - 0x30]
add esp, 8
cvtpd2ps xmm0, xmm0
call fcn.0049fde0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebx, ecx
jae 0x41cde4
cmp ebx, 0x200
jae 0x41cde2
shl ebx, 3
cmp ebx, ecx
jae 0x41cde4
mov ebx, ecx
push ebx
mov ecx, edi
call fcn.0041d520
push dword [ebp - 0x10]
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.0041cc30
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], eax
jmp 0x41ce0e
mov edx, dword [ebp - 0x20]
mov eax, dword [edi + 8]
mov ebx, dword [edx + 4]
inc eax
mov dword [edi + 8], eax
mov dword [esi], edx
mov dword [esi + 4], ebx
mov dword [ebx], esi
mov dword [edx + 4], esi
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0xc]
and eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x24], 0
mov edi, dword [ecx + eax*8]
cmp edi, dword [esi]
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
jne 0x41ce47
mov dword [ecx + eax*8], esi
jmp 0x41ce57
cmp dword [ecx + eax*8], edx
jne 0x41ce51
mov dword [ecx + eax*8], esi
jmp 0x41ce5b
cmp dword [ecx + eax*8 + 4], ebx
jne 0x41ce5b
mov dword [ecx + eax*8 + 4], esi
mov ebx, dword [ebp + 8]
mov dword [ebp - 4], 0xffffffff
add ebx, 2
mov dword [ebp + 8], ebx
cmp ebx, dword [ebp + 0xc]
jne 0x41cce0
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.0049c592
int3
Function at 0x41d520
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov edx, dword [ebp + 8]
mov eax, 0x1fffffff
push ebx
mov ebx, ecx
bsr ecx, eax
push esi
push edi
mov edi, 1
mov dword [ebp - 0x10], ebx
mov eax, edi
shl eax, cl
cmp edx, eax
ja 0x41d669
mov esi, dword [ebx + 4]
lea eax, [edx - 1]
or eax, edi
mov dword [ebp - 8], esi
bsr ecx, eax
push esi
lea ecx, [ecx + 1]
shl edi, cl
lea ecx, [ebx + 0xc]
lea eax, [edi + edi]
push eax
call fcn.0040ee60
lea eax, [edi - 1]
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], eax
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx]
mov edx, ecx
cmp ecx, esi
je 0x41d63c
movzx eax, byte [ecx + 8]
mov edi, dword [ebx + 0x18]
xor eax, 0x811c9dc5
mov edx, dword [edx]
imul eax, eax, 0x1000193
and edi, eax
mov eax, dword [ebx + 0xc]
mov ebx, dword [eax + edi*8]
mov dword [ebp - 4], ebx
lea eax, [eax + edi*8]
mov dword [ebp - 0xc], eax
cmp ebx, esi
jne 0x41d5b5
mov dword [eax], ecx
mov dword [eax + 4], ecx
jmp 0x41d62f
mov eax, dword [eax + 4]
mov bl, byte [ecx + 8]
cmp bl, byte [eax + 8]
mov ebx, dword [ebp - 4]
jne 0x41d5f2
mov eax, dword [eax]
mov dword [ebp + 8], eax
cmp eax, ecx
je 0x41d5ea
mov ebx, dword [ecx + 4]
mov esi, dword [ebp + 8]
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], eax
mov eax, dword [eax + 4]
mov dword [eax], ecx
mov dword [esi + 4], edi
mov esi, dword [ebp - 8]
mov dword [edx + 4], ebx
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [eax + 4], ecx
jmp 0x41d62f
mov edi, eax
cmp ebx, eax
je 0x41d60c
mov eax, dword [eax + 4]
mov edi, eax
mov bl, byte [ecx + 8]
cmp bl, byte [eax + 8]
mov ebx, dword [ebp - 4]
je 0x41d645
cmp ebx, eax
jne 0x41d5f8
mov eax, dword [ecx + 4]
mov dword [ebp + 8], eax
mov dword [eax], edx
mov ebx, dword [edx + 4]
mov dword [ebx], edi
mov eax, dword [edi + 4]
mov dword [eax], ecx
mov dword [edi + 4], ebx
mov edi, dword [ebp + 8]
mov dword [edx + 4], edi
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [eax], ecx
mov ebx, dword [ebp - 0x10]
mov ecx, edx
cmp edx, esi
jne 0x41d582
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ebx, dword [ecx + 4]
mov eax, dword [eax]
mov dword [ebp + 8], eax
mov esi, eax
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], eax
mov eax, dword [eax + 4]
mov dword [eax], ecx
mov dword [esi + 4], edi
mov esi, dword [ebp - 8]
mov dword [edx + 4], ebx
mov dword [ecx + 4], eax
jmp 0x41d62f
push str.invalid_hash_bucket_count
call fcn.0049c592
int3
Function at 0x41de10
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c89d1
mov eax, dword fs:[0]
push eax
sub esp, 0x18
mov eax, dword [0x5091d4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword fs:[0x2c]
mov ecx, dword [0x6d9fe0]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x517e20]
cmp eax, dword [ecx + 4]
jg 0x41deb7
movzx eax, byte [ebp + 8]
mov ecx, 0x517e00
xor eax, 0x811c9dc5
mov dword [ebp - 4], 1
imul eax, eax, 0x1000193
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.0041cc30
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x41df1d
mov al, byte [eax + 9]
jmp 0x41de9b
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0049f836
mov esp, ebp
pop ebp
ret
push 0x517e20
call fcn.0049fd00
add esp, 4
cmp dword [0x517e20], 0xffffffff
jne 0x41de5a
lea eax, [ebp - 0x16]
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], 0x4020201
push eax
push ecx
mov ecx, 0x517e00
mov dword [ebp - 0x20], 0x8040603
mov dword [ebp - 0x1c], 0xc050a00
mov word [ebp - 0x18], 0xe06
call fcn.0041cea0
push 0x4d44f0
call fcn.0049fbb8
push 0x517e20
call fcn.0049fcb6
add esp, 8
jmp 0x41de5a
push str.invalid_unordered_map_K__T__key
call fcn.0049c5b2
int3

Function at 0x41df30
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c8a11
mov eax, dword fs:[0]
push eax
sub esp, 0x18
mov eax, dword [0x5091d4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword fs:[0x2c]
mov ecx, dword [0x6d9fe0]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x517e44]
cmp eax, dword [ecx + 4]
jg 0x41dfd7
movzx eax, byte [ebp + 8]
mov ecx, 0x517e24
xor eax, 0x811c9dc5
mov dword [ebp - 4], 1
imul eax, eax, 0x1000193
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.0041cc30
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x41e03d
mov al, byte [eax + 9]
jmp 0x41dfbb
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0049f836
mov esp, ebp
pop ebp
ret
push 0x517e44
call fcn.0049fd00
add esp, 4
cmp dword [0x517e44], 0xffffffff
jne 0x41df7a
lea eax, [ebp - 0x16]
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], 0x5020301
push eax
push ecx
mov ecx, 0x517e24
mov dword [ebp - 0x20], 0x9040703
mov dword [ebp - 0x1c], 0xd050b00
mov word [ebp - 0x18], 0xf06
call fcn.0041cea0
push 0x4d4500
call fcn.0049fbb8
push 0x517e44
call fcn.0049fcb6
add esp, 8
jmp 0x41df7a
push str.invalid_unordered_map_K__T__key
call fcn.0049c5b2
int3
Function at 0x427aa0
Capabilities:
Enumerate gui resources

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c9370
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
mov eax, dword [0x5091d4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x98]
push ecx
push eax
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x88], edi
call fcn.00491f80
add esp, 8
mov dword [ebp - 4], 0
call fcn.0046ff40
mov ecx, dword [0x4d75e8]
movq xmm0, qword [str.uiacachebuild]
mov dword [ebp - 0x30], ecx
mov cl, byte [0x4d75ec]
mov dword [ebp - 0x24], 0xf
mov dword [ebp - 0x28], 0xd
movq qword [ebp - 0x38], xmm0
mov byte [ebp - 0x2c], cl
mov byte [ebp - 0x2b], 0
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 1
push ecx
mov ecx, eax
call fcn.0046fe80
lea ecx, [eax + 0x18]
movsx eax, byte [ecx + 0x18]
inc eax
jmp dword [eax*4 + 0x427e84]