joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100b2ea0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
push 0x101bb84c
push dword [ebp + 8]
mov edi, ecx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov ebx, eax
add esp, 8
mov dword [ebp - 4], ebx
test ebx, ebx
je 0x100b2fa6
push 2
push 0
push ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
push ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
je 0x100b2fa6
mov esi, dword [ebp + 0xc]
xor ebx, ebx
cmp esi, 2
je 0x100b2ef8
cmp esi, 1
jne 0x100b2efd
mov ebx, 2
test esi, esi
jne 0x100b2f06
lea ebx, [esi + 1]
jmp 0x100b2f15
cmp esi, 4
je 0x100b2f10
cmp esi, 3
jne 0x100b2f15
mov ebx, 4
add eax, ebx
push eax
call fcn.10155df5
push 0
push 0
push dword [ebp - 4]
mov dword [ebp + 8], eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
push dword [ebp - 4]
push dword [ebp - 8]
push 1
push dword [ebp + 8]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov ecx, dword [ebp - 8]
add esp, 0x20
cmp eax, ecx
jne 0x100b2fa6
test ebx, ebx
je 0x100b2f60
push ebx
mov ebx, dword [ebp + 8]
push 0
lea eax, [ebx + ecx]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
jmp 0x100b2f63
mov ebx, dword [ebp + 8]
push dword [ebp - 4]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
mov ecx, edi
push esi
push ebx
call fcn.100b7b40
push ebx
call fcn.10155dfe
mov eax, dword [edi + 0x28]
add esp, 4
mov ecx, dword [eax]
test ecx, ecx
je 0x100b2f9f
nop word [eax + eax]
cmp ecx, 0x20
jne 0x100b2fb1
mov ecx, dword [eax + 4]
add eax, 4
test ecx, ecx
jne 0x100b2f90
mov dword [edi + 0x2c], 0
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [edi + 0x2c], eax
test eax, eax
je 0x100b2fa6
push 0x20
call fcn.1015536a
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x100b2ffd
mov dword [ecx + 4], 1
mov dword [ecx + 8], 1
mov dword [ecx], 0x101e59f0
mov dword [ecx + 0xc], 0x101e52d0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x10], edi
jmp 0x100b2fff
xor ecx, ecx
mov esi, dword [edi + 0x34]
lea eax, [ecx + 0xc]
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], ecx
test esi, esi
je 0x100b3030
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x100b3030
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x100b3030
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [edi + 0x30]
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x100b70a0
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 - 0xc], ebx
mov eax, edi
shl eax, cl
cmp edx, eax
ja 0x100b71fa
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.1005f970
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 0x100b71cc
movzx eax, byte [ecx + 8]
xor eax, 0x811c9dc5
mov edx, dword [edx]
imul edi, eax, 0x1000193
movzx eax, byte [ecx + 9]
xor edi, eax
movzx eax, byte [ecx + 0xa]
imul edi, edi, 0x1000193
xor edi, eax
movzx eax, byte [ecx + 0xb]
imul edi, edi, 0x1000193
xor edi, eax
imul eax, edi, 0x1000193
mov edi, dword [ebx + 0x18]
and edi, eax
mov eax, dword [ebx + 0xc]
mov ebx, dword [eax + edi*8]
lea eax, [eax + edi*8]
mov dword [ebp + 8], eax
cmp ebx, esi
jne 0x100b7153
mov dword [eax], ecx
mov dword [eax + 4], ecx
jmp 0x100b71bf
mov eax, dword [eax + 4]
mov edi, dword [ecx + 8]
cmp edi, dword [eax + 8]
jne 0x100b718a
mov eax, dword [eax]
cmp eax, ecx
je 0x100b7182
mov ebx, dword [ecx + 4]
mov dword [ebp - 4], ebx
mov dword [ebx], edx
mov ebx, dword [edx + 4]
mov dword [ebx], eax
mov edi, dword [eax + 4]
mov dword [edi], ecx
mov dword [eax + 4], ebx
mov eax, dword [ebp - 4]
mov dword [edx + 4], eax
mov dword [ecx + 4], edi
mov eax, dword [ebp + 8]
mov dword [eax + 4], ecx
jmp 0x100b71bf
cmp ebx, eax
je 0x100b719c
nop
mov eax, dword [eax + 4]
cmp edi, dword [eax + 8]
je 0x100b71d5
cmp ebx, eax
jne 0x100b7190
mov ebx, dword [ecx + 4]
mov dword [ebp - 4], ebx
mov dword [ebx], edx
mov ebx, dword [edx + 4]
mov dword [ebx], eax
mov edi, dword [eax + 4]
mov dword [edi], ecx
mov dword [eax + 4], ebx
mov eax, dword [ebp - 4]
mov dword [edx + 4], eax
mov eax, dword [ebp + 8]
mov dword [ecx + 4], edi
mov dword [eax], ecx
mov ebx, dword [ebp - 0xc]
mov ecx, edx
cmp edx, esi
jne 0x100b7102
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, 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
jmp 0x100b71bf
push str.invalid_hash_bucket_count
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__
int3
Function at 0x100bafc0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
push 0x101bb84c
push dword [ebp + 8]
mov edi, ecx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov ebx, eax
add esp, 8
mov dword [ebp - 4], ebx
test ebx, ebx
je 0x100bb0d6
push 2
push 0
push ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
push ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
je 0x100bb0d6
mov esi, dword [ebp + 0xc]
xor ebx, ebx
cmp esi, 2
je 0x100bb018
cmp esi, 1
jne 0x100bb01d
mov ebx, 2
test esi, esi
jne 0x100bb026
lea ebx, [esi + 1]
jmp 0x100bb035
cmp esi, 4
je 0x100bb030
cmp esi, 3
jne 0x100bb035
mov ebx, 4
add eax, ebx
push eax
call fcn.10155df5
push 0
push 0
push dword [ebp - 4]
mov dword [ebp + 8], eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
push dword [ebp - 4]
push dword [ebp - 8]
push 1
push dword [ebp + 8]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov ecx, dword [ebp - 8]
add esp, 0x20
cmp eax, ecx
je 0x100bb07e
push dword [ebp + 8]
call fcn.10155dfe
add esp, 4
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
test ebx, ebx
je 0x100bb096
push ebx
mov ebx, dword [ebp + 8]
push 0
lea eax, [ebx + ecx]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
jmp 0x100bb099
mov ebx, dword [ebp + 8]
push dword [ebp - 4]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
mov ecx, edi
push esi
push ebx
call fcn.100b7b40
push ebx
call fcn.10155dfe
mov eax, dword [edi + 0x28]
add esp, 4
mov ecx, dword [eax]
test ecx, ecx
je 0x100bb0cf
cmp ecx, 0x20
jne 0x100bb0e1
mov ecx, dword [eax + 4]
add eax, 4
test ecx, ecx
jne 0x100bb0c0
mov dword [edi + 0x2c], 0
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [edi + 0x2c], eax
test eax, eax
je 0x100bb0d6
push 0x20
call fcn.1015536a
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x100bb12d
mov dword [ecx + 4], 1
mov dword [ecx + 8], 1
mov dword [ecx], 0x101e59f0
mov dword [ecx + 0xc], 0x101e7640
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x10], edi
jmp 0x100bb12f
xor ecx, ecx
mov esi, dword [edi + 0x34]
lea eax, [ecx + 0xc]
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], ecx
test esi, esi
je 0x100bb160
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x100bb160
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x100bb160
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [edi + 0x30]
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x100bf6b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
cmp byte [0x10329bf0], 0
push ebx
push esi
je 0x100bf721
cmp byte [0x10329bf1], 0
jne 0x100bf762
mov byte [0x10329bf1], 1
xor esi, esi
nop word [eax + eax]
xor edx, edx
mov ebx, esi
xor edx, dword [0x10329c1c]
xor ebx, dword [0x10329c18]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, bl
xor byte [esi + 0x10329bf2], al
inc esi
cmp esi, 0x24
jb 0x100bf6e0
jmp 0x100bf762
xor esi, esi
xor edx, edx
mov ebx, esi
xor edx, dword [0x10329c1c]
xor ebx, dword [0x10329c18]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, bl
xor byte [esi + 0x10329bf2], al
inc esi
cmp esi, 0x24
jb 0x100bf723
mov ecx, dword [ebp + 8]
lea eax, [ebp - 1]
push eax
push 0x10329c15
push 0x10329bf2
call fcn.10054040
mov eax, dword [ebp + 8]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x100c1e00
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
movzx eax, byte [esi]
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
movzx eax, byte [esi + 1]
xor edx, eax
movzx eax, byte [esi + 2]
imul edx, edx, 0x1000193
xor edx, eax
movzx eax, byte [esi + 3]
imul ecx, edx, 0x1000193
lea edx, [ebx + 4]
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [ebx + 0x18]
and ecx, eax
mov eax, dword [ebx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
lea ecx, [eax + ecx*8]
cmp esi, dword [edx]
jne 0x100c1e56
xor esi, esi
jmp 0x100c1e77
mov eax, dword [ebp + 8]
push edi
mov edi, dword [ecx]
mov eax, dword [eax]
cmp eax, dword [esi + 8]
je 0x100c1e76
cmp esi, edi
je 0x100c1e71
mov esi, dword [esi + 4]
cmp eax, dword [esi + 8]
jne 0x100c1e63
jmp 0x100c1e73
xor esi, esi
lea edx, [ebx + 4]
pop edi
test esi, esi
je 0x100c1fab
mov eax, dword [ecx]
cmp dword [ecx + 4], esi
jne 0x100c1e9b
cmp eax, esi
jne 0x100c1e93
mov eax, dword [edx]
mov dword [ecx], eax
mov dword [ecx + 4], eax
jmp 0x100c1ea3
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
jmp 0x100c1ea3
cmp eax, esi
jne 0x100c1ea3
mov eax, dword [esi]
mov dword [ecx], eax
mov ecx, dword [esi]
dec dword [ebx + 8]
mov eax, dword [esi + 4]
mov dword [eax], ecx
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov ecx, dword [esi + 0x88]
cmp ecx, 0xf
jbe 0x100c1eea
mov eax, dword [esi + 0x74]
inc ecx
cmp ecx, 0x1000
jb 0x100c1ee0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c1fa5
mov eax, edx
push ecx
push eax
call fcn.1015539a
add esp, 8
mov dword [esi + 0x84], 0
mov dword [esi + 0x88], 0xf
mov byte [esi + 0x74], 0
mov ecx, dword [esi + 0x70]
cmp ecx, 0xf
jbe 0x100c1f32
mov eax, dword [esi + 0x5c]
inc ecx
cmp ecx, 0x1000
jb 0x100c1f28
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c1fa5
mov eax, edx
push ecx
push eax
call fcn.1015539a
add esp, 8
mov dword [esi + 0x6c], 0
mov dword [esi + 0x70], 0xf
mov byte [esi + 0x5c], 0
mov eax, dword [esi + 0x50]
test eax, eax
je 0x100c1f8c
mov ecx, dword [esi + 0x58]
sub ecx, eax
and ecx, 0xfffffff0
cmp ecx, 0x1000
jb 0x100c1f6d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c1fa5
mov eax, edx
push ecx
push eax
call fcn.1015539a
mov dword [esi + 0x50], 0
add esp, 8
mov dword [esi + 0x54], 0
mov dword [esi + 0x58], 0
push 0x98
push esi
call fcn.1015539a
add esp, 8
mov eax, 1
pop esi
pop ebx
pop ebp
ret 4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
pop esi
xor eax, eax
pop ebx
pop ebp
ret 4
Function at 0x100c3ba0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 0xc]
sub esp, 8
cmp dword [edx + 0x14], 0xf
push ebx
push esi
push edi
mov ebx, ecx
mov edi, edx
jbe 0x100c3bb8
mov edi, dword [edx]
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x100c3bd6
movzx eax, byte [ecx + edi]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edx + 0x10]
jb 0x100c3bc4
push esi
push edx
lea eax, [ebp - 8]
mov ecx, ebx
push eax
call fcn.100af530
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x100c3bfc
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 [ebx + 8], 0x5555555
je 0x100c3d4c
push 0x30
call fcn.1015536a
add esp, 4
mov edi, eax
push dword [ebp + 0xc]
lea ecx, [edi + 8]
call fcn.100492f0
xorps xmm0, xmm0
movups xmmword [edi + 0x20], xmm0
mov dword [edi + 0x24], 0xfffffffe
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0xfffffffe
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0x1c]
inc eax
movss xmm3, dword [ebx]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101bba20]
mov eax, ecx
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x101bba20]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x100c3ce9
divss xmm2, xmm3
sub esp, 8
movss dword [ebp + 0xc], xmm2
fld dword [ebp + 0xc]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_ceil
add esp, 8
fstp dword [ebp + 0xc]
movss xmm0, dword [ebp + 0xc]
call fcn.10155750
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
mov eax, dword [ebx + 0x1c]
cmp eax, ecx
jae 0x100c3ccd
cmp eax, 0x200
jae 0x100c3ccb
shl eax, 3
cmp eax, ecx
jae 0x100c3ccd
mov eax, ecx
push eax
mov ecx, ebx
call fcn.100b7210
push esi
lea eax, [edi + 8]
mov ecx, ebx
push eax
lea eax, [ebp - 8]
push eax
call fcn.100af530
mov edx, dword [eax]
jmp 0x100c3cec
mov edx, dword [ebp - 8]
mov eax, dword [edx + 4]
inc dword [ebx + 8]
mov dword [edi + 4], eax
mov dword [edi], edx
mov dword [eax], edi
mov dword [edx + 4], edi
mov ecx, dword [ebx + 0xc]
mov dword [ebp + 0xc], eax
mov eax, dword [ebx + 0x18]
and eax, esi
mov esi, dword [ecx + eax*8]
cmp esi, dword [ebx + 4]
jne 0x100c3d14
mov dword [ecx + eax*8], edi
jmp 0x100c3d36
cmp esi, edx
jne 0x100c3d2d
mov dword [ecx + eax*8], edi
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov byte [eax + 4], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edx, dword [ebp + 0xc]
cmp dword [ecx + eax*8 + 4], edx
jne 0x100c3d3a
mov dword [ecx + eax*8 + 4], edi
mov eax, dword [ebp + 8]
mov dword [eax], edi
pop edi
pop esi
mov byte [eax + 4], 1
pop ebx
mov esp, ebp
pop ebp
ret 8
push str.unordered_map_set_too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__
int3
Function at 0x100c3d60
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, ecx
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 - 8]
push ebx
push eax
call fcn.1005f250
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x100c3dc9
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 [edi + 8], 0x5d1745d
je 0x100c3f53
push 0x2c
call fcn.1015536a
mov ecx, dword [ebx]
mov esi, eax
push 0x30
mov dword [ebp - 0xc], esi
mov dword [esi + 8], ecx
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
call fcn.1015536a
add esp, 8
lea ecx, [esi + 0x18]
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [esi + 0x10], eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [esi + 0x24], 7
mov dword [esi + 0x28], 8
mov dword [esi + 0xc], 0x3f800000
push dword [esi + 0x10]
push 0x10
call fcn.1005f880
mov eax, dword [edi + 8]
mov ebx, dword [edi + 0x1c]
inc eax
movss xmm3, dword [edi]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101bba20]
mov eax, ebx
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x101bba20]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x100c3ef1
divss xmm2, xmm3
sub esp, 8
movss dword [ebp - 4], xmm2
fld dword [ebp - 4]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_ceil
add esp, 8
fstp dword [ebp - 4]
movss xmm0, dword [ebp - 4]
call fcn.10155750
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebx, ecx
jae 0x100c3ed3
cmp ebx, 0x200
jae 0x100c3ed1
shl ebx, 3
cmp ebx, ecx
jae 0x100c3ed3
mov ebx, ecx
push ebx
mov ecx, edi
call fcn.100b70a0
push dword [ebp + 0xc]
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [ebp - 8]
push eax
call fcn.1005f250
mov edx, dword [eax]
jmp 0x100c3ef4
mov edx, dword [ebp - 8]
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 [ecx + eax*8]
cmp esi, dword [edi + 4]
mov esi, dword [ebp - 0xc]
jne 0x100c3f1d
mov dword [ecx + eax*8], esi
jmp 0x100c3f3d
cmp dword [ecx + eax*8], edx
jne 0x100c3f37
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], ebx
jne 0x100c3f41
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 sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__
int3
Function at 0x100cecf0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov dword [ebp - 4], ecx
cmp edx, eax
je 0x100cee62
cmp dword [edx + 0x1c], 0xf
mov eax, dword [ecx + 4]
push ebx
push esi
mov dword [ebp - 0x14], eax
mov esi, edx
mov eax, dword [ecx + 0xc]
push edi
mov dword [ebp - 0x10], eax
lea edi, [edx + 8]
mov eax, dword [edx + 4]
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 0x10]
jbe 0x100ced2c
mov edi, dword [edi]
xor edx, edx
mov ebx, 0x811c9dc5
test eax, eax
je 0x100ced54
mov ecx, eax
nop dword [eax]
movzx eax, byte [edx + edi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x100ced40
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x10]
and eax, ebx
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
mov dword [ebp - 8], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x1c], eax
nop dword [eax]
mov edi, esi
mov ebx, esi
mov esi, dword [esi]
lea ecx, [edi + 8]
call fcn.100cccd0
push 0x30
push edi
call fcn.1015539a
mov eax, dword [ebp - 4]
add esp, 8
dec dword [eax + 8]
cmp ebx, dword [ebp - 0x1c]
je 0x100cedbe
cmp esi, dword [ebp + 0xc]
jne 0x100ced70
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp + 8]
jne 0x100cee54
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 8]
pop edi
mov dword [edx], esi
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, dword [ebp + 0xc]
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 0x100cedd0
mov ecx, dword [ebp - 0x14]
mov dword [edx], ecx
jmp 0x100cedd3
mov ecx, dword [ebp - 0x18]
mov dword [edx + 4], ecx
cmp esi, dword [ebp + 0xc]
je 0x100cee54
nop dword [eax + eax]
cmp dword [esi + 0x1c], 0xf
lea edi, [esi + 8]
mov ebx, dword [edi + 0x10]
jbe 0x100cedee
mov edi, dword [edi]
xor ecx, ecx
mov edx, 0x811c9dc5
test ebx, ebx
je 0x100cee14
nop dword [eax]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, ebx
jb 0x100cee00
mov eax, dword [ebp - 4]
and edx, dword [eax + 0x18]
mov eax, dword [ebp - 0x10]
lea eax, [eax + edx*8]
mov dword [ebp + 8], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], eax
mov edi, esi
mov ebx, esi
mov esi, dword [esi]
lea ecx, [edi + 8]
call fcn.100cccd0
push 0x30
push edi
call fcn.1015539a
mov eax, dword [ebp - 4]
add esp, 8
dec dword [eax + 8]
cmp ebx, dword [ebp - 0x1c]
je 0x100cee68
cmp esi, dword [ebp + 0xc]
jne 0x100cee26
mov ecx, dword [ebp + 8]
mov dword [ecx], esi
mov eax, dword [ebp - 0x18]
pop edi
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, dword [ebp + 0xc]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x14]
mov dword [ecx], edx
mov dword [ecx + 4], edx
cmp esi, dword [ebp + 0xc]
jne 0x100cede0
mov eax, dword [ebp - 0x18]
pop edi
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, dword [ebp + 0xc]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x100d4b20
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
mov ebx, dword [ebp + 8]
push edi
mov edi, ecx
cmp ebx, 0xffffffff
je 0x100d4caa
cmp dword [edi + 0xc], ebx
jbe 0x100d4cb2
mov edx, dword [edi]
mov ecx, ebx
push esi
mov esi, ebx
and ecx, 0x1f
shr esi, 5
mov eax, 1
shl esi, 2
shl eax, cl
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], ecx
test dword [edx + esi], eax
je 0x100d4ca9
mov ecx, dword [edi + 0x20]
mov eax, ebx
sub ecx, dword [edi + 0x1c]
shr eax, 0x18
mov dword [ebp - 0x10], eax
mov eax, ebx
shr eax, 0x10
mov dword [ebp - 0xc], eax
mov eax, ebx
shr eax, 8
mov dword [ebp - 8], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ebx
jbe 0x100d4cb7
mov ecx, dword [edi + 0x1c]
lea eax, [ebx + ebx*2]
mov edx, dword [ecx + eax*4 + 4]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
mov dword [ebp - 4], eax
cmp ecx, edx
je 0x100d4bc4
push eax
push edx
push ecx
call fcn.100c31e0
mov ecx, dword [ebp - 4]
add esp, 0xc
mov eax, dword [ecx]
mov dword [ecx + 4], eax
call fcn.100d00a0
lea edx, [eax + 0x28]
movzx eax, bl
xor eax, 0x811c9dc5
mov dword [ebp - 0x18], edx
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 8]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp - 0xc]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edx
xor eax, dword [ebp - 0x10]
imul eax, eax, 0x1000193
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.1005f250
mov eax, dword [eax + 4]
mov dword [ebp - 4], eax
test eax, eax
jne 0x100d4c25
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov dword [ebp - 4], eax
call fcn.100d00a0
mov ecx, dword [ebp - 4]
cmp ecx, dword [eax + 0x2c]
je 0x100d4c8d
call fcn.100d00a0
lea esi, [eax + 0x28]
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, bh
xor ecx, eax
movzx eax, byte [ebp + 0xa]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebp + 0xb]
imul edx, ecx, 0x1000193
mov ecx, esi
xor edx, eax
imul eax, edx, 0x1000193
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.1005f250
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x100d4cbc
add ecx, 0xc
call fcn.100cf7e0
mov esi, dword [ebp - 0x20]
push ebx
lea ecx, [edi + 0x48]
call fcn.100d5410
cmp dword [edi + 0xc], ebx
jbe 0x100d4cb2
mov ecx, dword [edi]
mov edx, dword [ebp - 0x24]
mov eax, dword [ecx + esi]
btr eax, edx
mov dword [ecx + esi], eax
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 4
call fcn.100ceea0
call fcn.100ceeb0
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
int3
Function at 0x100d5590
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push dword [ebp + 0x10]
lea eax, [ebp - 8]
mov dword [ebp - 8], 0x43800000
push 0
push 0
push eax
push dword [ebp + 8]
mov dword [ebp - 4], 0x42000000
call fcn.100d5630
test al, al
je 0x100d560d
test byte [ebp + 0x10], 1
jne 0x100d560d
push 4
call fcn.1015536a
add esp, 4
test eax, eax
je 0x100d55d6
mov ecx, dword [ebp + 0xc]
mov dword [eax], ecx
jmp 0x100d55d8
xor eax, eax
lea ecx, [ebp - 4]
push ecx
push 0
push eax
push 0x100d5560
push 0
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
add esp, 0x18
mov dword [ebp - 8], eax
test eax, eax
je 0x100d561a
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x100d5613
push ecx
push eax
call sub.MSVCP140.dll__Thrd_detach
add esp, 8
test eax, eax
jne 0x100d5613
mov esp, ebp
pop ebp
ret 0xc
push 1
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
push 6
mov dword [ebp - 4], 0
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3