joyce8/EMBER2024-capa huggingface dataset:
Function at 0x482210
Capabilities:
Print debug messages
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
xor bh, bh
push edi
cmp byte [esi + 0x64], bh
jne 0x48223c
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x32
call edi
mov eax, dword [esi + 8]
test eax, eax
je 0x48223c
cmp eax, 0xffffffff
je 0x48223c
push 0x64
call edi
mov bh, 1
mov ecx, esi
call fcn.004822d0
mov bl, al
test bl, bl
je 0x482293
mov eax, dword [esi + 8]
lea edi, [esi + 8]
test eax, eax
je 0x48228b
cmp eax, 0xffffffff
je 0x48228b
lea eax, [ebp - 4]
mov dword [ebp - 4], 0xffffffff
push eax
push edi
push 1
push 0x1388
push 0
call dword [sym.imp.ole32.dll_CoWaitForMultipleHandles]
test eax, eax
mov eax, dword [edi]
sete bl
test eax, eax
je 0x48228b
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi], 0
test bl, bl
je 0x482293
test bh, bh
je 0x4822ad
push 0x4e0d24
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 1
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov eax, dword [esi + 8]
test eax, eax
je 0x4822c2
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 8], 0
xor eax, eax
test bl, bl
pop edi
pop esi
sete al
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x487400
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x5061ec]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
xor bl, bl
mov byte [ebp - 0x15], bl
push edi
mov edi, ecx
test eax, eax
je 0x487507
cmp dword [edi + 8], 0
je 0x487507
push esi
push 0
push 0x80
push 2
push 0
push 1
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x4874f2
mov ebx, dword [sym.imp.KERNEL32.dll_WriteFile]
lea ecx, [ebp - 0x14]
mov eax, 0x4d42
mov dword [ebp - 0xa], 0x36
mov word [ebp - 0x14], ax
mov eax, dword [edi + 0x10]
add eax, 0x28
mov dword [ebp - 0x12], eax
xor eax, eax
push eax
mov dword [ebp - 0xe], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push 0xe
push ecx
push esi
call ebx
cmp dword [ebp - 0x1c], 0xe
jne 0x4874a2
push 0
lea eax, [ebp - 0x1c]
push eax
push 0x28
push dword [edi + 0x20]
push esi
call ebx
cmp dword [ebp - 0x1c], 0x28
je 0x4874bf
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [ebp - 0x15]
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0048e386
mov esp, ebp
pop ebp
ret 4
push 0
lea eax, [ebp - 0x1c]
push eax
push dword [edi + 0x10]
push dword [edi + 8]
push esi
call ebx
mov eax, dword [ebp - 0x1c]
push esi
cmp eax, dword [edi + 0x10]
jne 0x4874a3
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop esi
pop edi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0048e386
mov esp, ebp
pop ebp
ret 4
pop esi
pop edi
mov al, bl
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0048e386
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 4]
mov al, bl
pop edi
xor ecx, ebp
pop ebx
call fcn.0048e386
mov esp, ebp
pop ebp
ret 4
Function at 0x48b510
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x48b51c
pop ebp
ret
mov dword [ebp + 0xc], eax
pop ebp
jmp fcn.0048b530
Function at 0x4917ab
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateThread]
pop ebp
ret

Function at 0x4bdc14
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.004bda93

Function at 0x4c2082
Capabilities:
Set environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.004c1d42
Function at 0x10004f90
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [edx + 1]
xor ecx, eax
movzx eax, byte [edx + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edx + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edx + 4]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edx + 5]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edx + 6]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edx + 7]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
pop ebp
ret 4
Function at 0x10005400
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100f4735
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x1012a100]
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.10005220
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x10005493
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], 0x7ffffff
je 0x100055f6
lea eax, [edi + 4]
mov dword [ebp - 0x14], eax
push 0x20
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 0
call fcn.100c9f39
mov ecx, dword [ebx]
mov esi, eax
add esp, 4
mov dword [ebp - 0x10], esi
mov dword [esi + 8], ecx
mov dword [esi + 0x10], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov eax, dword [edi + 8]
mov ebx, dword [edi + 0x1c]
inc eax
movss xmm3, dword [edi]
mov dword [ebp - 4], 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101007e0]
mov eax, ebx
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x101007e0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x10005598
divss xmm2, xmm3
sub esp, 8
cvtps2pd xmm0, xmm2
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fstp qword [esp]
call fcn.100dae80
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
add esp, 8
cvtpd2ps xmm0, xmm0
call fcn.100ca2f0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebx, ecx
jae 0x1000557a
cmp ebx, 0x200
jae 0x10005578
shl ebx, 3
cmp ebx, ecx
jae 0x1000557a
mov ebx, ecx
push ebx
mov ecx, edi
call fcn.10008890
push dword [ebp + 0xc]
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10005220
mov edx, dword [eax]
jmp 0x1000559b
mov edx, dword [ebp - 0x1c]
mov ebx, dword [edx + 4]
inc dword [edi + 8]
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 0x100055c6
mov dword [ecx + eax*8], esi
jmp 0x100055d5
cmp edi, edx
jne 0x100055cf
mov dword [ecx + eax*8], esi
jmp 0x100055d9
cmp dword [ecx + eax*8 + 4], ebx
jne 0x100055d9
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.100b2be9
int3
Function at 0x10006820
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x218
mov eax, dword [0x1012a100]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x1f4
xorps xmm0, xmm0
mov dword [ebp - 0x208], 0
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0x204], 0xf
push 0
movups xmmword [ebp - 0x218], xmm0
push eax
mov byte [ebp - 0x218], 0
mov dword [ebp - 0x200], 0
call fcn.100cb2d0
push 0x1f3
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x1f8]
push 0x1f4
push eax
call fcn.100d6326
mov ecx, dword [ebp - 0x204]
add esp, 0x1c
cmp ecx, 0xf
jbe 0x100068cb
mov edx, dword [ebp - 0x218]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100068c1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000692c
push ecx
push edx
call fcn.100c9f69
add esp, 8
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1fc], eax
lea eax, [ebp + 0x10]
push eax
push 0
push dword [ebp + 0xc]
lea eax, [ebp - 0x1f8]
push 0x1f4
push eax
call fcn.1000a3f0
mov ecx, dword [eax]
push dword [eax + 4]
or ecx, 2
push ecx
call fcn.100dadb1
add esp, 0x1c
lea eax, [ebp - 0x200]
push 0
push 0x1012fe60
push 0x1fc
push eax
push dword [0x10129278]
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100ca2ac
mov esp, ebp
pop ebp
ret
call fcn.100d5d5f
int3
Function at 0x10006940
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x1012a100]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [0x1012fd7c]
push edi
push eax
push ecx
push esi
mov dword [ebp - 0x24], ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov edi, eax
test edi, edi
jne 0x100069ac
xorps xmm0, xmm0
mov eax, ebx
movups xmmword [ebx], xmm0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], 0
pop edi
mov dword [ebx + 0x14], 0xf
pop esi
mov byte [ebx], 0
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100ca2ac
mov esp, ebp
pop ebp
ret
push edi
push esi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push edi
push esi
mov dword [ebp - 0x20], eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x10006974
push dword [ebp - 0x20]
push 0
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edi, eax
push edi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push dword [ebp - 0x20]
mov esi, eax
push dword [ebp - 0x24]
push esi
call fcn.100cbb30
add esp, 0xc
mov dword [ebp - 0xc], 0
xorps xmm0, xmm0
mov dword [ebp - 8], 0
lea ecx, [ebp - 0x1c]
movups xmmword [ebp - 0x1c], xmm0
push dword [ebp - 0x20]
push esi
call fcn.100050f0
push edi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov ecx, dword [ebp - 4]
xorps xmm0, xmm0
movups xmmword [ebx], xmm0
mov dword [ebx + 0x10], 0
mov eax, ebx
movups xmm0, xmmword [ebp - 0x1c]
mov dword [ebx + 0x14], 0
xor ecx, ebp
pop edi
movups xmmword [ebx], xmm0
pop esi
movq xmm0, qword [ebp - 0xc]
movq qword [ebx + 0x10], xmm0
pop ebx
call fcn.100ca2ac
mov esp, ebp
pop ebp
ret
Function at 0x10006fd0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100f495d
mov eax, dword fs:[0]
push eax
sub esp, 0x418
mov eax, dword [0x1012a100]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x424], esi
mov edx, dword [esi + 0x5f0]
mov eax, edx
mov ecx, dword [esi + 0x5f4]
or eax, ecx
je 0x10007033
push 0xffffffffffffffff
push dword [esi + 4]
push dword [esi]
push ecx
push edx
push str._p____p
push 0
call fcn.10006820
add esp, 0x1c
mov eax, dword [0x1012fe00]
inc eax
mov dword [0x1012fe00], eax
cmp eax, 0x9c4
jl 0x1000705d
push 0xffffffffffffffff
push str.too_many_hooks:_cant_insert
push 0
call fcn.10006820
add esp, 0xc
xor al, al
jmp 0x100071c1
test edi, edi
je 0x1000707a
cmp byte [edi], 0
je 0x1000707a
push 0x3b
push edi
lea eax, [esi + 0x1c8]
push 0x3c
push eax
call fcn.100d6326
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
sub esp, 0xa00
lea eax, [ebp - 0x28]
mov edi, esp
mov ecx, 0x280
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.10086c10
mov ecx, eax
add esp, 0xa08
cmp dword [ecx + 0x14], 7
jbe 0x100070a9
mov ecx, dword [ecx]
mov esi, dword [ebp - 0x424]
push ecx
push 0x1f4
lea eax, [esi + 0x204]
push eax
call fcn.100d5e60
add esp, 0xc
lea ecx, [ebp - 0x28]
call fcn.100062b0
imul eax, dword [0x1012fe00], 0xac0
sub esp, 0xa00
mov edi, esp
mov ecx, 0x280
rep movsd dword es:[edi], dword [esi]
add eax, dword [0x1012fdfc]
mov ecx, eax
call fcn.1000a9a0
test al, al
jne 0x1000715c
mov eax, dword [ebp - 0x424]
add eax, 0x204
push 0xfde9
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.10085210
add esp, 0xc
cmp dword [eax + 0x14], 0xf
mov dword [ebp - 4], 0
jbe 0x10007122
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
push str.failed_to_insert_hook__s
push 0
call fcn.10006820
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.10006260
imul ecx, dword [0x1012fe00], 0xac0
add ecx, dword [0x1012fdfc]
call fcn.1000a730
xor al, al
jmp 0x100071c1
mov edx, dword [ebp - 0x424]
lea esi, [ebp - 0x410]
mov dword [ebp - 0x420], 4
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [ebp - 0x414], ecx
lea ecx, [edx + 0x204]
mov dword [ebp - 0x418], eax
sub esi, ecx
nop dword [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + esi - 2], ax
test ax, ax
jne 0x10007190
push 0
push 0x1012fe60
push 0x3f8
lea eax, [ebp - 0x420]
push eax
push dword [0x10129278]
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100ca2ac
mov esp, ebp
pop ebp
ret
Function at 0x10007490
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x10]
sub esp, 0x10
test eax, eax
je 0x100074af
push 0xffffffffffffffff
push eax
push str.removing_hook:__s
push 0
call fcn.10006820
add esp, 0x10
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
push 0
push 0x1012fe60
mov dword [ebp - 8], eax
lea eax, [ebp - 0x10]
push 0x10
push eax
push dword [0x10129278]
mov dword [ebp - 0x10], 3
mov dword [ebp - 4], ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov esp, ebp
pop ebp
ret
Function at 0x10008430
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov ecx, 0x280
mov edx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 0xc]
movups xmm0, xmmword [eax]
push edi
push 0
movups xmmword [edx], xmm0
push 0x1012fe60
movups xmm0, xmmword [eax + 0x10]
mov eax, dword [ebp + 0x14]
lea edi, [edx + 0x20]
add eax, 0xa28
push eax
movups xmmword [edx + 0x10], xmm0
push edx
rep movsd dword es:[edi], dword [esi]
push dword [0x10129278]
call dword [sym.imp.KERNEL32.dll_WriteFile]
pop edi
pop esi
pop ebp
ret

Function at 0x10008890
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
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 - 4], ebx
mov eax, edi
shl eax, cl
cmp edx, eax
ja 0x100089ea
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.10008480
lea eax, [edi - 1]
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov ecx, eax
cmp eax, esi
je 0x100089bd
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
imul edx, edi, 0x1000193
mov edi, dword [ebx + 0x18]
and edi, edx
mov edx, dword [ebx + 0xc]
lea edx, [edx + edi*8]
mov edi, dword [edx]
mov dword [ebp - 8], edx
cmp edi, esi
jne 0x10008943
mov dword [edx], eax
mov dword [edx + 4], eax
jmp 0x100089b3
mov edx, dword [edx + 4]
mov ebx, dword [eax + 8]
cmp ebx, dword [edx + 8]
jne 0x1000897d
mov edx, dword [edx]
mov dword [ebp - 0xc], edx
cmp edx, eax
je 0x10008975
mov ebx, dword [eax + 4]
mov esi, dword [ebp - 0xc]
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 - 8]
mov dword [edx + 4], eax
jmp 0x100089b0
cmp edi, edx
je 0x1000898d
mov edx, dword [edx + 4]
cmp ebx, dword [edx + 8]
je 0x100089c6
cmp edi, edx
jne 0x10008981
mov ebx, dword [eax + 4]
mov dword [ebp - 0xc], 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 - 0xc]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 8]
mov dword [eax + 4], edi
mov dword [edx], eax
mov ebx, dword [ebp - 4]
mov eax, ecx
cmp ecx, esi
jne 0x100088f2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ebx, dword [eax + 4]
mov edx, dword [edx]
mov dword [ebp - 0xc], 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 0x100089b0
push str.invalid_hash_bucket_count
call fcn.100b2be9
int3
Function at 0x10008e50
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 0x10008fa6
mov eax, dword [ebx + 4]
mov dword [ebp - 0x10], eax
mov eax, dword [edx + 4]
mov dword [ebp - 4], 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 - 0xc], ecx
lea eax, [edi + eax*8]
mov dword [ebp - 8], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
mov eax, esi
mov edi, esi
mov esi, dword [esi]
push 0x20
push eax
call fcn.100c9f69
dec dword [ebx + 8]
add esp, 8
cmp edi, dword [ebp - 0x14]
je 0x10008f09
mov eax, dword [ebp + 0xc]
cmp esi, eax
jne 0x10008ec7
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp + 8]
jne 0x10008f9c
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 4]
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 - 0xc]
mov edx, dword [ebp - 8]
cmp ecx, dword [ebp + 8]
jne 0x10008f1d
mov eax, dword [ebp - 0x10]
mov ecx, eax
mov dword [edx], eax
jmp 0x10008f20
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov dword [edx + 4], ecx
cmp esi, eax
je 0x10008f9c
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
mov eax, dword [ebx + 0x18]
imul ecx, ecx, 0x1000193
and eax, ecx
mov ecx, dword [ebp - 0x18]
lea eax, [ecx + eax*8]
mov dword [ebp + 8], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
mov eax, esi
mov edi, esi
mov esi, dword [esi]
push 0x20
push eax
call fcn.100c9f69
dec dword [ebx + 8]
add esp, 8
mov eax, dword [ebp + 0xc]
cmp edi, dword [ebp - 0x14]
je 0x10008fad
cmp esi, eax
jne 0x10008f77
mov ecx, dword [ebp + 8]
mov dword [ecx], esi
mov ecx, dword [ebp - 4]
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 + 8]
mov edx, dword [ebp - 0x10]
mov dword [ecx], edx
mov dword [ecx + 4], edx
cmp esi, eax
jne 0x10008f30
mov ecx, dword [ebp - 4]
pop edi
mov dword [ecx], esi
mov dword [esi + 4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x10009ea0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100f4b70
mov eax, dword fs:[0]
push eax
sub esp, 0x224
mov eax, dword [0x1012a100]
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 + 8]
push 0x1012fe28
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x230], 0x1012fe28
mov byte [ebp - 0x22c], 0
call fcn.100b2c6f
add esp, 4
test eax, eax
jne 0x1000a072
cmp dword [0x1012fe54], 0x7fffffff
je 0x1000a079
mov byte [ebp - 0x22c], 1
mov dword [ebp - 0x228], 0x1012fe08
mov ebx, dword [ebp - 0x21c]
mov dword [ebp - 4], eax
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [ebp - 0x21b]
xor ecx, eax
movzx eax, byte [ebp - 0x21a]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebp - 0x219]
imul ecx, ecx, 0x1000193
xor ecx, eax
lea eax, [ebp - 0x21c]
imul edi, ecx, 0x1000193
mov ecx, 0x1012fe08
push edi
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.10005220
mov edx, dword [0x1012fe0c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x1012fe0c]
je 0x10009fbd
push edi
lea eax, [ebp - 0x21c]
mov ecx, 0x1012fe08
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.10005220
mov esi, dword [ebp - 0x220]
test esi, esi
je 0x1000a08a
jmp 0x1000a044
push 0x104
lea eax, [ebp - 0x218]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1000a003
lea eax, [ebp - 0x218]
push 0x5c
push eax
call fcn.100cb5e8
add esp, 8
mov ecx, 0x1012fe08
lea esi, [eax + 2]
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.10005610
push esi
jmp 0x1000a020
lea eax, [ebp - 0x21c]
mov ecx, 0x1012fe08
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.10005610
push 0x10100520
mov ecx, dword [eax]
add ecx, 0xc
call fcn.10006560
lea eax, [ebp - 0x21c]
mov ecx, 0x1012fe08
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.10005610
mov esi, dword [eax]
push 0x1012fe28
add esi, 0xc
call fcn.100b2c80
add esp, 4
mov eax, esi
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.100ca2ac
mov esp, ebp
pop ebp
ret
push 5
call fcn.100b2fa5
push 6
mov dword [0x1012fe54], 0x7ffffffe
call fcn.100b2fa5
push str.invalid_unordered_map_K__T__key
call fcn.100b2c09
int3