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

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x18
push ebp
mov ebp, ecx
mov ecx, dword [esp + 0x20]
cmp ecx, eax
je 0x10014f49
cmp dword [ecx + 0x1c], 0x10
lea edx, [ecx + 8]
mov eax, dword [ebp + 4]
push ebx
mov ebx, dword [edx + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
push esi
mov dword [esp + 0x14], eax
mov esi, ecx
mov eax, dword [ecx + 4]
push edi
mov dword [esp + 0x20], eax
jb 0x10014e0e
mov edx, dword [edx]
xor ecx, ecx
mov edi, 0x811c9dc5
test ebx, ebx
je 0x10014e31
nop dword [eax]
movzx eax, byte [ecx + edx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, ebx
jb 0x10014e20
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x18]
and eax, edi
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], eax
nop
mov edi, esi
mov ebx, esi
mov esi, dword [esi]
lea ecx, [edi + 8]
call fcn.1001fb00
push 0xd8
push edi
call fcn.1009a99b
dec dword [ebp + 8]
add esp, 8
cmp ebx, dword [esp + 0x24]
je 0x10014e94
cmp esi, dword [esp + 0x30]
jne 0x10014e50
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x2c]
jne 0x10014f39
mov ecx, dword [esp + 0x10]
mov dword [ecx], esi
jmp 0x10014f39
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
cmp eax, dword [esp + 0x2c]
jne 0x10014eaa
mov eax, dword [esp + 0x1c]
mov dword [ecx], eax
jmp 0x10014eae
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], eax
cmp esi, dword [esp + 0x30]
je 0x10014f39
nop dword [eax + eax]
cmp dword [esi + 0x1c], 0x10
lea edx, [esi + 8]
mov ebx, dword [edx + 0x10]
jb 0x10014ece
mov edx, dword [edx]
xor ecx, ecx
mov edi, 0x811c9dc5
test ebx, ebx
je 0x10014ef1
nop dword [eax]
movzx eax, byte [ecx + edx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, ebx
jb 0x10014ee0
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x18]
and eax, edi
lea eax, [ecx + eax*8]
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x24], eax
mov edi, esi
mov ebx, esi
mov esi, dword [esi]
lea ecx, [edi + 8]
call fcn.1001fb00
push 0xd8
push edi
call fcn.1009a99b
dec dword [ebp + 8]
add esp, 8
cmp ebx, dword [esp + 0x24]
je 0x10014f50
cmp esi, dword [esp + 0x30]
jne 0x10014f08
mov eax, dword [esp + 0x2c]
mov dword [eax], esi
mov eax, dword [esp + 0x20]
pop edi
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, dword [esp + 0x2c]
pop esi
pop ebx
pop ebp
add esp, 0x18
ret 8
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
mov dword [eax], edi
mov dword [eax + 4], edi
cmp esi, dword [esp + 0x30]
jne 0x10014ec0
jmp 0x10014f39
Function at 0x10014f70
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x18
push ebp
mov ebp, ecx
mov ecx, dword [esp + 0x20]
cmp ecx, eax
je 0x100150e9
cmp dword [ecx + 0x1c], 0x10
lea edx, [ecx + 8]
mov eax, dword [ebp + 4]
push ebx
mov ebx, dword [edx + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
push esi
mov dword [esp + 0x14], eax
mov esi, ecx
mov eax, dword [ecx + 4]
push edi
mov dword [esp + 0x20], eax
jb 0x10014fae
mov edx, dword [edx]
xor ecx, ecx
mov edi, 0x811c9dc5
test ebx, ebx
je 0x10014fd1
nop dword [eax]
movzx eax, byte [ecx + edx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, ebx
jb 0x10014fc0
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x18]
and eax, edi
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], eax
nop
mov edi, esi
mov ebx, esi
mov esi, dword [esi]
lea ecx, [edi + 8]
call fcn.1001fb00
push 0x150
push edi
call fcn.1009a99b
dec dword [ebp + 8]
add esp, 8
cmp ebx, dword [esp + 0x24]
je 0x10015034
cmp esi, dword [esp + 0x30]
jne 0x10014ff0
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x2c]
jne 0x100150d9
mov ecx, dword [esp + 0x10]
mov dword [ecx], esi
jmp 0x100150d9
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
cmp eax, dword [esp + 0x2c]
jne 0x1001504a
mov eax, dword [esp + 0x1c]
mov dword [ecx], eax
jmp 0x1001504e
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], eax
cmp esi, dword [esp + 0x30]
je 0x100150d9
nop dword [eax + eax]
cmp dword [esi + 0x1c], 0x10
lea edx, [esi + 8]
mov ebx, dword [edx + 0x10]
jb 0x1001506e
mov edx, dword [edx]
xor ecx, ecx
mov edi, 0x811c9dc5
test ebx, ebx
je 0x10015091
nop dword [eax]
movzx eax, byte [ecx + edx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, ebx
jb 0x10015080
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x18]
and eax, edi
lea eax, [ecx + eax*8]
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x24], eax
mov edi, esi
mov ebx, esi
mov esi, dword [esi]
lea ecx, [edi + 8]
call fcn.1001fb00
push 0x150
push edi
call fcn.1009a99b
dec dword [ebp + 8]
add esp, 8
cmp ebx, dword [esp + 0x24]
je 0x100150f0
cmp esi, dword [esp + 0x30]
jne 0x100150a8
mov eax, dword [esp + 0x2c]
mov dword [eax], esi
mov eax, dword [esp + 0x20]
pop edi
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, dword [esp + 0x2c]
pop esi
pop ebx
pop ebp
add esp, 0x18
ret 8
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
mov dword [eax], edi
mov dword [eax + 4], edi
cmp esi, dword [esp + 0x30]
jne 0x10015060
jmp 0x100150d9
Function at 0x10017ed0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 8
push ebx
push ebp
mov ebp, dword [esp + 0x18]
mov ebx, ecx
push esi
push edi
mov edx, ebp
cmp dword [ebp + 0x14], 0x10
mov edi, dword [ebp + 0x10]
jb 0x10017eeb
mov edx, dword [ebp]
xor ecx, ecx
mov esi, 0x811c9dc5
test edi, edi
je 0x10017f07
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edi
jb 0x10017ef6
push esi
push ebp
lea eax, [esp + 0x18]
mov ecx, ebx
push eax
call fcn.1001c340
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x10017f31
mov eax, dword [esp + 0x1c]
mov dword [eax], ecx
mov byte [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 0xc
cmp dword [ebx + 8], 0x5d1745d
je 0x10018081
push 0x2c
call fcn.1009a685
add esp, 4
mov edi, eax
lea ecx, [edi + 8]
push ebp
call fcn.10011cd0
mov eax, dword [esp + 0x24]
movq xmm0, qword [eax]
movq qword [edi + 0x20], xmm0
mov eax, dword [eax + 8]
mov dword [edi + 0x28], eax
mov ecx, dword [ebx + 8]
mov ebp, dword [ebx + 0x1c]
movss xmm3, dword [ebx]
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100f6bc0]
mov eax, ebp
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, ebp
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x100f6bc0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x1001801b
divss xmm2, xmm3
sub esp, 8
movss dword [esp + 0x28], xmm2
fld dword [esp + 0x28]
fstp qword [esp]
call fcn.100d4110
add esp, 8
fstp dword [esp + 0x20]
movss xmm0, dword [esp + 0x20]
call fcn.100d6120
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebp, ecx
jae 0x10017ffb
cmp ebp, 0x200
jae 0x10017ff9
shl ebp, 3
cmp ebp, ecx
jae 0x10017ffb
mov ebp, ecx
push ebp
mov ecx, ebx
call fcn.1001a2f0
push esi
lea eax, [edi + 8]
mov ecx, ebx
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1001c340
mov ecx, dword [ebx + 8]
mov edx, dword [eax]
jmp 0x1001801f
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 4]
lea eax, [ecx + 1]
mov dword [ebx + 8], eax
mov dword [edi], edx
mov dword [edi + 4], ebp
mov dword [ebp], edi
mov dword [edx + 4], edi
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0xc]
and eax, esi
mov esi, dword [ecx + eax*8]
cmp esi, dword [ebx + 4]
jne 0x10018048
mov dword [ecx + eax*8], edi
jmp 0x10018069
cmp esi, edx
jne 0x10018063
mov dword [ecx + eax*8], edi
mov eax, dword [esp + 0x1c]
mov dword [eax], edi
mov byte [eax + 4], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 0xc
cmp dword [ecx + eax*8 + 4], ebp
jne 0x1001806d
mov dword [ecx + eax*8 + 4], edi
mov eax, dword [esp + 0x1c]
mov dword [eax], edi
pop edi
pop esi
pop ebp
mov byte [eax + 4], 1
pop ebx
add esp, 8
ret 0xc
push str.unordered_map_set_too_long
call fcn.10098ba1
int3
Function at 0x1001ed20
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
mov esi, dword [esp + 0x20]
mov ebp, ecx
push edi
mov edx, esi
cmp dword [esi + 0x14], 0x10
mov ebx, dword [esi + 0x10]
jb 0x1001ed3a
mov edx, dword [esi]
xor ecx, ecx
mov edi, 0x811c9dc5
test ebx, ebx
je 0x1001ed56
movzx eax, byte [ecx + edx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, ebx
jb 0x1001ed45
push edi
push esi
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
call fcn.1001c340
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1001ed80
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
mov byte [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ebp + 8], 0x1555555
je 0x1001eeda
push 0xc0
call fcn.1009a685
add esp, 4
mov ebx, eax
lea ecx, [ebx + 8]
push esi
call fcn.10011cd0
push 0xa0
lea esi, [ebx + 0x20]
push 0
push esi
call fcn.100b2720
add esp, 0xc
mov ecx, esi
call fcn.10023400
mov ecx, dword [ebp + 8]
mov esi, dword [ebp + 0x1c]
movss xmm3, dword [ebp]
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100f6bc0]
mov eax, esi
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x100f6bc0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x1001ee75
divss xmm2, xmm3
sub esp, 8
movss dword [esp + 0x2c], xmm2
fld dword [esp + 0x2c]
fstp qword [esp]
call fcn.100d4110
add esp, 8
fstp dword [esp + 0x24]
movss xmm0, dword [esp + 0x24]
call fcn.100d6120
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp esi, ecx
jae 0x1001ee55
cmp esi, 0x200
jae 0x1001ee53
shl esi, 3
cmp esi, ecx
jae 0x1001ee55
mov esi, ecx
push esi
mov ecx, ebp
call fcn.1001a2f0
push edi
lea eax, [ebx + 8]
mov ecx, ebp
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1001c340
mov ecx, dword [ebp + 8]
mov edx, dword [eax]
jmp 0x1001ee79
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 4]
lea eax, [ecx + 1]
mov dword [ebp + 8], eax
mov dword [ebx], edx
mov dword [ebx + 4], esi
mov dword [esi], ebx
mov dword [edx + 4], ebx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0xc]
and eax, edi
mov edi, dword [ecx + eax*8]
cmp edi, dword [ebp + 4]
jne 0x1001eea1
mov dword [ecx + eax*8], ebx
jmp 0x1001eec2
cmp edi, edx
jne 0x1001eebc
mov dword [ecx + eax*8], ebx
mov eax, dword [esp + 0x20]
mov dword [eax], ebx
mov byte [eax + 4], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ecx + eax*8 + 4], esi
jne 0x1001eec6
mov dword [ecx + eax*8 + 4], ebx
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [eax], ebx
mov byte [eax + 4], 1
pop ebx
add esp, 0xc
ret 8
push str.unordered_map_set_too_long
call fcn.10098ba1
int3
Function at 0x1001eef0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
mov esi, dword [esp + 0x20]
mov ebp, ecx
push edi
mov edx, esi
cmp dword [esi + 0x14], 0x10
mov ebx, dword [esi + 0x10]
jb 0x1001ef0a
mov edx, dword [esi]
xor ecx, ecx
mov edi, 0x811c9dc5
test ebx, ebx
je 0x1001ef26
movzx eax, byte [ecx + edx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, ebx
jb 0x1001ef15
push edi
push esi
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
call fcn.1001c340
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1001ef50
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
mov byte [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ebp + 8], 0xd79435
je 0x1001f0aa
push 0x130
call fcn.1009a685
add esp, 4
mov ebx, eax
lea ecx, [ebx + 8]
push esi
call fcn.10011cd0
push 0x110
lea esi, [ebx + 0x20]
push 0
push esi
call fcn.100b2720
add esp, 0xc
mov ecx, esi
call fcn.100234b0
mov ecx, dword [ebp + 8]
mov esi, dword [ebp + 0x1c]
movss xmm3, dword [ebp]
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100f6bc0]
mov eax, esi
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x100f6bc0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x1001f045
divss xmm2, xmm3
sub esp, 8
movss dword [esp + 0x2c], xmm2
fld dword [esp + 0x2c]
fstp qword [esp]
call fcn.100d4110
add esp, 8
fstp dword [esp + 0x24]
movss xmm0, dword [esp + 0x24]
call fcn.100d6120
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp esi, ecx
jae 0x1001f025
cmp esi, 0x200
jae 0x1001f023
shl esi, 3
cmp esi, ecx
jae 0x1001f025
mov esi, ecx
push esi
mov ecx, ebp
call fcn.1001a2f0
push edi
lea eax, [ebx + 8]
mov ecx, ebp
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1001c340
mov ecx, dword [ebp + 8]
mov edx, dword [eax]
jmp 0x1001f049
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 4]
lea eax, [ecx + 1]
mov dword [ebp + 8], eax
mov dword [ebx], edx
mov dword [ebx + 4], esi
mov dword [esi], ebx
mov dword [edx + 4], ebx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0xc]
and eax, edi
mov edi, dword [ecx + eax*8]
cmp edi, dword [ebp + 4]
jne 0x1001f071
mov dword [ecx + eax*8], ebx
jmp 0x1001f092
cmp edi, edx
jne 0x1001f08c
mov dword [ecx + eax*8], ebx
mov eax, dword [esp + 0x20]
mov dword [eax], ebx
mov byte [eax + 4], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ecx + eax*8 + 4], esi
jne 0x1001f096
mov dword [ecx + eax*8 + 4], ebx
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [eax], ebx
mov byte [eax + 4], 1
pop ebx
add esp, 0xc
ret 8
push str.unordered_map_set_too_long
call fcn.10098ba1
int3
Function at 0x1001f0c0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
mov esi, dword [esp + 0x20]
mov ebp, ecx
push edi
mov edx, esi
cmp dword [esi + 0x14], 0x10
mov ebx, dword [esi + 0x10]
jb 0x1001f0da
mov edx, dword [esi]
xor ecx, ecx
mov edi, 0x811c9dc5
test ebx, ebx
je 0x1001f0f6
movzx eax, byte [ecx + edx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, ebx
jb 0x1001f0e5
push edi
push esi
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
call fcn.1001c340
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1001f120
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
mov byte [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ebp + 8], 0x12f684b
je 0x1001f2b5
push 0xd8
call fcn.1009a685
add esp, 4
mov ebx, eax
lea ecx, [ebx + 8]
push esi
call fcn.10011cd0
push 0xb8
lea esi, [ebx + 0x20]
push 0
push esi
call fcn.100b2720
add esp, 0xc
mov ecx, esi
call fcn.10023400
mov dword [esi + 0xa0], 0x3f800000
mov dword [esi + 0xa4], 0x3f800000
mov dword [esi + 0xa8], 0x3f800000
mov dword [esi + 0xac], 0x3f800000
mov dword [esi + 0xb0], 0x3f19999a
mov word [esi + 0xb4], 0
mov ecx, dword [ebp + 8]
mov esi, dword [ebp + 0x1c]
movss xmm3, dword [ebp]
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100f6bc0]
mov eax, esi
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x100f6bc0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x1001f250
divss xmm2, xmm3
sub esp, 8
movss dword [esp + 0x2c], xmm2
fld dword [esp + 0x2c]
fstp qword [esp]
call fcn.100d4110
add esp, 8
fstp dword [esp + 0x24]
movss xmm0, dword [esp + 0x24]
call fcn.100d6120
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp esi, ecx
jae 0x1001f230
cmp esi, 0x200
jae 0x1001f22e
shl esi, 3
cmp esi, ecx
jae 0x1001f230
mov esi, ecx
push esi
mov ecx, ebp
call fcn.1001a2f0
push edi
lea eax, [ebx + 8]
mov ecx, ebp
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1001c340
mov ecx, dword [ebp + 8]
mov edx, dword [eax]
jmp 0x1001f254
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 4]
lea eax, [ecx + 1]
mov dword [ebp + 8], eax
mov dword [ebx], edx
mov dword [ebx + 4], esi
mov dword [esi], ebx
mov dword [edx + 4], ebx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0xc]
and eax, edi
mov edi, dword [ecx + eax*8]
cmp edi, dword [ebp + 4]
jne 0x1001f27c
mov dword [ecx + eax*8], ebx
jmp 0x1001f29d
cmp edi, edx
jne 0x1001f297
mov dword [ecx + eax*8], ebx
mov eax, dword [esp + 0x20]
mov dword [eax], ebx
mov byte [eax + 4], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ecx + eax*8 + 4], esi
jne 0x1001f2a1
mov dword [ecx + eax*8 + 4], ebx
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [eax], ebx
mov byte [eax + 4], 1
pop ebx
add esp, 0xc
ret 8
push str.unordered_map_set_too_long
call fcn.10098ba1
int3
Function at 0x1001f2c0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0xc
push ebx
push ebp
mov ebp, dword [esp + 0x1c]
mov ebx, ecx
push esi
push edi
mov edx, ebp
cmp dword [ebp + 0x14], 0x10
mov edi, dword [ebp + 0x10]
jb 0x1001f2db
mov edx, dword [ebp]
xor ecx, ecx
mov esi, 0x811c9dc5
test edi, edi
je 0x1001f2f7
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edi
jb 0x1001f2e6
push esi
push ebp
lea eax, [esp + 0x18]
mov ecx, ebx
push eax
call fcn.1001c340
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1001f321
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
mov byte [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ebx + 8], 0xc30c30
je 0x1001f469
push 0x150
call fcn.1009a685
add esp, 4
mov edi, eax
lea ecx, [edi + 8]
push ebp
call fcn.10011cd0
lea ecx, [edi + 0x20]
call fcn.10003700
mov ecx, dword [ebx + 8]
mov ebp, dword [ebx + 0x1c]
movss xmm3, dword [ebx]
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100f6bc0]
mov eax, ebp
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, ebp
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x100f6bc0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x1001f403
divss xmm2, xmm3
sub esp, 8
movss dword [esp + 0x2c], xmm2
fld dword [esp + 0x2c]
fstp qword [esp]
call fcn.100d4110
add esp, 8
fstp dword [esp + 0x24]
movss xmm0, dword [esp + 0x24]
call fcn.100d6120
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebp, ecx
jae 0x1001f3e3
cmp ebp, 0x200
jae 0x1001f3e1
shl ebp, 3
cmp ebp, ecx
jae 0x1001f3e3
mov ebp, ecx
push ebp
mov ecx, ebx
call fcn.1001a2f0
push esi
lea eax, [edi + 8]
mov ecx, ebx
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1001c340
mov ecx, dword [ebx + 8]
mov edx, dword [eax]
jmp 0x1001f407
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 4]
lea eax, [ecx + 1]
mov dword [ebx + 8], eax
mov dword [edi], edx
mov dword [edi + 4], ebp
mov dword [ebp], edi
mov dword [edx + 4], edi
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0xc]
and eax, esi
mov esi, dword [ecx + eax*8]
cmp esi, dword [ebx + 4]
jne 0x1001f430
mov dword [ecx + eax*8], edi
jmp 0x1001f451
cmp esi, edx
jne 0x1001f44b
mov dword [ecx + eax*8], edi
mov eax, dword [esp + 0x20]
mov dword [eax], edi
mov byte [eax + 4], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ecx + eax*8 + 4], ebp
jne 0x1001f455
mov dword [ecx + eax*8 + 4], edi
mov eax, dword [esp + 0x20]
mov dword [eax], edi
pop edi
pop esi
pop ebp
mov byte [eax + 4], 1
pop ebx
add esp, 0xc
ret 8
push str.unordered_map_set_too_long
call fcn.10098ba1
int3
Function at 0x1001f480
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
mov esi, dword [esp + 0x28]
mov edx, esi
push edi
mov edi, ecx
mov dword [esp + 0x14], edi
cmp dword [esi + 0x14], 0x10
mov ebp, dword [esi + 0x10]
jb 0x1001f49e
mov edx, dword [esi]
xor ecx, ecx
mov ebx, 0x811c9dc5
test ebp, ebp
je 0x1001f4c1
nop dword [eax]
movzx eax, byte [ecx + edx]
inc ecx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp ecx, ebp
jb 0x1001f4b0
push ebx
push esi
lea eax, [esp + 0x20]
mov ecx, edi
push eax
call fcn.1001c340
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x1001f4eb
mov eax, dword [esp + 0x28]
mov dword [eax], ecx
mov byte [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 8
cmp dword [edi + 8], 0xffffff
je 0x1001f656
push pe_nt_image_headers32
call fcn.1009a685
add esp, 4
mov ebp, eax
push esi
lea ecx, [ebp + 8]
call fcn.10011cd0
push 0xe0
lea esi, [ebp + 0x20]
push 0
push esi
call fcn.100b2720
add esp, 0xc
mov edi, 7
mov ecx, esi
call fcn.1000acb0
add esi, 0x20
sub edi, 1
jne 0x1001f528
mov esi, dword [esp + 0x14]
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0x1c]
movss xmm3, dword [esi]
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100f6bc0]
mov eax, edi
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, edi
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x100f6bc0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x1001f5f0
divss xmm2, xmm3
sub esp, 8
movss dword [esp + 0x34], xmm2
fld dword [esp + 0x34]
fstp qword [esp]
call fcn.100d4110
add esp, 8
fstp dword [esp + 0x2c]
movss xmm0, dword [esp + 0x2c]
call fcn.100d6120
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp edi, ecx
jae 0x1001f5d0
cmp edi, 0x200
jae 0x1001f5ce
shl edi, 3
cmp edi, ecx
jae 0x1001f5d0
mov edi, ecx
push edi
mov ecx, esi
call fcn.1001a2f0
push ebx
lea eax, [ebp + 8]
mov ecx, esi
push eax
lea eax, [esp + 0x20]
push eax
call fcn.1001c340
mov ecx, dword [esi + 8]
mov edx, dword [eax]
jmp 0x1001f5f4
mov edx, dword [esp + 0x18]
mov edi, dword [edx + 4]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov dword [ebp], edx
mov dword [ebp + 4], edi
mov dword [edi], ebp
mov dword [edx + 4], ebp
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0xc]
and eax, ebx
mov ebx, dword [ecx + eax*8]
cmp ebx, dword [esi + 4]
jne 0x1001f61d
mov dword [ecx + eax*8], ebp
jmp 0x1001f63e
cmp ebx, edx
jne 0x1001f638
mov dword [ecx + eax*8], ebp
mov eax, dword [esp + 0x28]
mov dword [eax], ebp
mov byte [eax + 4], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 8
cmp dword [ecx + eax*8 + 4], edi
jne 0x1001f642
mov dword [ecx + eax*8 + 4], ebp
mov eax, dword [esp + 0x28]
pop edi
pop esi
mov dword [eax], ebp
pop ebp
mov byte [eax + 4], 1
pop ebx
add esp, 0x14
ret 8
push str.unordered_map_set_too_long
call fcn.10098ba1
int3
Function at 0x10023ab0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
push ebx
mov eax, edx
mov dword [esp + 0x14], eax
push esi
push edi
mov edi, dword [ebp + 8]
cmp ecx, eax
je 0x10023c3c
lea ebx, [ecx + 0x16]
xorps xmm0, xmm0
mov byte [edi], 0
movq qword [edi + 8], xmm0
lea eax, [esp + 0x64]
movaps xmm0, xmmword [0x100f6bb0]
lea edx, [ebx - 0x16]
push eax
mov ecx, edi
mov dword [esp + 0x78], 0x3f19999a
movups xmmword [esp + 0x68], xmm0
mov word [esp + 0x7c], 0
mov byte [esp + 0x7e], 0
mov dword [esp + 0x80], 0
call fcn.10009410
push str.Enabled
mov ecx, edi
call fcn.10015630
mov esi, eax
mov al, byte [ebx - 1]
cmp al, byte [esp + 0x79]
je 0x10023b6f
mov byte [esp + 0x20], al
xorps xmm0, xmm0
mov al, byte [esi]
mov byte [esi], 4
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov byte [esp + 0x10], al
push dword [esp + 0x10]
mov byte [esp + 0x34], al
mov eax, dword [esp + 0x24]
movq qword [esp + 0x3c], xmm0
mov dword [esi + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x3c]
mov dword [esi + 0xc], eax
mov dword [esp + 0x40], edx
call fcn.10012ef0
push str.Health_based
mov ecx, edi
call fcn.10015630
mov esi, eax
mov al, byte [ebx]
cmp al, byte [esp + 0x7a]
je 0x10023bc8
mov byte [esp + 0x28], al
xorps xmm0, xmm0
mov al, byte [esi]
mov byte [esi], 4
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov byte [esp + 0x14], al
push dword [esp + 0x14]
mov byte [esp + 0x44], al
mov eax, dword [esp + 0x2c]
movq qword [esp + 0x4c], xmm0
mov dword [esi + 8], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0x4c]
mov dword [esi + 0xc], eax
mov dword [esp + 0x50], edx
call fcn.10012ef0
push str.Style
mov ecx, edi
call fcn.10015630
mov ecx, eax
mov eax, dword [ebx + 2]
mov dword [esp + 0xc], ecx
cmp eax, dword [esp + 0x7c]
je 0x10023c26
mov edi, dword [esp + 0xc]
xorps xmm0, xmm0
cdq
mov esi, eax
movq qword [esp + 0x58], xmm0
mov al, byte [ecx]
mov byte [ecx], 5
mov byte [esp + 0x18], al
push dword [esp + 0x18]
mov byte [esp + 0x54], al
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [edi + 8], esi
mov esi, edi
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], eax
mov dword [esi + 0xc], edx
call fcn.10012ef0
mov edi, dword [ebp + 8]
add ebx, 0x1c
add edi, 0x10
mov dword [ebp + 8], edi
lea ecx, [ebx - 0x16]
cmp ecx, dword [esp + 0x1c]
jne 0x10023ad0
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8