joyce8/EMBER2024-capa huggingface dataset:
Function at 0x50ef30
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52edd6
mov eax, dword fs:[0]
push eax
mov eax, 0x1024
call fcn.0050fbd0
mov eax, dword [0x575054]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1030], 0
lea ecx, [ebp - 0x102c]
call fcn.00403340
mov dword [ebp - 4], 0
push 4
lea ecx, [ebp - 0x1014]
call fcn.00403fa0
lea ecx, [ebp - 0x1014]
call fcn.004c1ff0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1014]
call fcn.004c2720
push 0x1000
push 0
lea eax, [ebp - 0x1010]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push 0
push 0x1c
lea ecx, [ebp - 0x1010]
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x50efe1
lea edx, [ebp - 0x1010]
push edx
lea ecx, [ebp - 0x102c]
call fcn.00403270
lea ecx, [ebp - 0x1014]
call fcn.004c2a00
lea eax, [ebp - 0x102c]
push eax
mov ecx, dword [ebp + 8]
call fcn.00405950
mov ecx, dword [ebp - 0x1030]
or ecx, 1
mov dword [ebp - 0x1030], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1014]
call fcn.004c2070
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x102c]
call fcn.004032a0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0050f27d
mov esp, ebp
pop ebp
ret

Function at 0x430000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
mov eax, section..text
nop
mov ebx, 0x408ecc
nop
nop
mov ecx, 0x56c26805
nop
test eax, eax
nop
nop
nop
nop
nop
nop
nop
je 0x43004e
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
jne 0x430024
nop
nop
nop
mov eax, section..data
mov ebx, 0x42e1d0
nop
nop
mov ecx, 0x5ad50c0d
nop
nop
test eax, eax
nop
nop
nop
nop
nop
nop
je 0x430084
nop
nop
nop
nop
xor dword [eax], ecx
nop
add eax, 4
nop
nop
nop
cmp eax, ebx
nop
nop
nop
jne 0x43006c
nop
nop
nop
nop
nop
popal
nop
nop
nop
nop
jmp 0x401219
Function at 0x10013da0
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov eax, ecx
push edi
push ecx
push str.Enabled
mov ebx, edx
mov dword [esp + 0x1c], eax
call fcn.10024eb0
add esp, 4
mov edx, ebx
mov ecx, eax
call fcn.100250e0
lea eax, [edi + 1]
push eax
push ecx
mov ecx, dword [esp + 0x18]
push str.Only_During_Freeze_Time
call fcn.10024eb0
add esp, 4
lea edx, [ebx + 1]
mov ecx, eax
call fcn.100250e0
lea eax, [edi + 2]
push eax
push ecx
mov ecx, dword [esp + 0x18]
push str.Show_Prices
call fcn.10024eb0
add esp, 4
lea edx, [ebx + 2]
mov ecx, eax
call fcn.100250e0
lea eax, [edi + 3]
push eax
push ecx
mov ecx, dword [esp + 0x18]
push str.No_Title_Bar
call fcn.10024eb0
add esp, 4
lea edx, [ebx + 3]
mov ecx, eax
call fcn.100250e0
mov ecx, dword [esp + 0x10]
push str.Mode
call fcn.10024eb0
mov esi, dword [ebx + 0xc]
mov dword [esp + 0x14], eax
cmp esi, dword [edi + 0xc]
je 0x10013e99
mov byte [esp + 0x18], 0
lea ecx, [esp + 0x20]
push dword [esp + 0x18]
xorps xmm0, xmm0
movq qword [esp + 0x24], xmm0
call fcn.10022cc0
mov ebx, dword [esp + 0x14]
mov eax, esi
cdq
mov cl, byte [ebx]
mov byte [ebx], 5
mov esi, dword [ebx + 0xc]
mov byte [esp + 0x14], cl
push dword [esp + 0x14]
mov byte [esp + 0x1c], cl
mov ecx, dword [ebx + 8]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x24]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
mov dword [esp + 0x28], esi
call fcn.10022cc0
or ecx, 0xffffffff
mov esi, 0x101ede09
mov al, 0x50
or edi, 0xffffffff
cmp al, 0x23
jne 0x10013eb4
cmp byte [esi], al
jne 0x10013eb4
cmp byte [esi + 1], al
cmove ecx, edi
movzx edx, cl
movzx eax, al
xor edx, eax
shr ecx, 8
mov al, byte [esi]
inc esi
xor ecx, dword [edx*4 + 0x1020e468]
test al, al
jne 0x10013ea6
not ecx
call fcn.10173380
test eax, eax
je 0x10013f2e
add eax, 0x10
lea ecx, [esp + 0x18]
push eax
call fcn.10026700
mov ecx, dword [esp + 0x10]
push 0x101ed33c
call fcn.10024eb0
mov cl, byte [esp + 0x18]
mov edi, eax
mov eax, dword [esp + 0x20]
mov dl, byte [edi]
mov byte [edi], cl
mov esi, dword [edi + 0xc]
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x14], dl
push dword [esp + 0x14]
mov byte [esp + 0x1c], dl
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [esp + 0x24]
mov dword [edi + 8], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], esi
call fcn.10022cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x10013f40
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov eax, ecx
push edi
push ecx
push str.Enabled
mov ebx, edx
mov dword [esp + 0x18], eax
call fcn.10024eb0
add esp, 4
mov edx, ebx
mov ecx, eax
call fcn.100250e0
lea eax, [edi + 1]
push eax
push ecx
mov ecx, dword [esp + 0x14]
push str.Steam_ID
call fcn.10024eb0
add esp, 4
lea edx, [ebx + 1]
mov ecx, eax
call fcn.100250e0
lea eax, [edi + 2]
push eax
push ecx
mov ecx, dword [esp + 0x14]
push str.Rank
call fcn.10024eb0
add esp, 4
lea edx, [ebx + 2]
mov ecx, eax
call fcn.100250e0
lea eax, [edi + 3]
push eax
push ecx
mov ecx, dword [esp + 0x14]
push str.Wins
call fcn.10024eb0
add esp, 4
lea edx, [ebx + 3]
mov ecx, eax
call fcn.100250e0
lea eax, [edi + 4]
push eax
push ecx
mov ecx, dword [esp + 0x14]
push str.Money
call fcn.10024eb0
add esp, 4
lea edx, [ebx + 4]
mov ecx, eax
call fcn.100250e0
lea eax, [edi + 5]
push eax
push ecx
mov ecx, dword [esp + 0x14]
push str.Health
call fcn.10024eb0
add esp, 4
lea edx, [ebx + 5]
mov ecx, eax
call fcn.100250e0
lea eax, [edi + 6]
push eax
push ecx
lea esi, [ebx + 6]
mov ebx, dword [esp + 0x14]
push str.Armor
mov ecx, ebx
call fcn.10024eb0
add esp, 4
mov edx, esi
mov ecx, eax
call fcn.100250e0
or ecx, 0xffffffff
mov esi, 0x101ede25
mov al, 0x50
or edi, 0xffffffff
cmp al, 0x23
jne 0x1001404e
cmp byte [esi], al
jne 0x1001404e
cmp byte [esi + 1], al
cmove ecx, edi
movzx edx, cl
movzx eax, al
xor edx, eax
shr ecx, 8
mov al, byte [esi]
inc esi
xor ecx, dword [edx*4 + 0x1020e468]
test al, al
jne 0x10014040
not ecx
call fcn.10173380
test eax, eax
je 0x100140c6
add eax, 0x10
lea ecx, [esp + 0x10]
push eax
call fcn.10026700
push 0x101ed33c
mov ecx, ebx
call fcn.10024eb0
mov cl, byte [esp + 0x10]
mov edi, eax
mov eax, dword [esp + 0x18]
mov dl, byte [edi]
mov byte [edi], cl
mov esi, dword [edi + 0xc]
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0xc], dl
push dword [esp + 0xc]
mov byte [esp + 0x14], dl
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [esp + 0x1c]
mov dword [edi + 8], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], esi
call fcn.10022cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x10023f10
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0x18
push ebx
mov ebx, dword [esp + 0x20]
push ebp
mov ebp, dword [esp + 0x28]
push edi
mov edi, ecx
cmp ebx, ebp
je 0x100240c6
cmp dword [ebx + 0x1c], 0xf
lea edx, [ebx + 8]
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x10]
jbe 0x10023f4b
mov edx, dword [edx]
xor ecx, ecx
push esi
mov esi, 0x811c9dc5
test eax, eax
je 0x10023f75
mov ebp, eax
nop dword [eax]
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, ebp
jb 0x10023f60
mov ebp, dword [esp + 0x30]
mov eax, dword [edi + 0x18]
mov edx, ebx
mov ecx, dword [esp + 0x18]
and eax, esi
mov esi, dword [ebx]
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
call fcn.10003310
dec dword [edi + 8]
cmp ebx, dword [esp + 0x10]
je 0x10023fc2
mov dword [esp + 0x24], esi
cmp esi, ebp
je 0x10023fd4
mov edx, esi
mov esi, dword [esi]
call fcn.10003310
dec dword [edi + 8]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x24], eax
jne 0x10023fa4
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x14], ebx
jne 0x10023ff9
mov eax, dword [esp + 0x1c]
mov dword [ecx], eax
jmp 0x10023ffd
cmp dword [esp + 0x14], ebx
jne 0x100240bc
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov dword [ecx], esi
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, ebp
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x18
ret 8
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], eax
cmp esi, ebp
je 0x100240bc
nop dword [eax + eax]
cmp dword [esi + 0x1c], 0xf
lea edx, [esi + 8]
mov eax, dword [edx + 0x10]
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], eax
jbe 0x10024026
mov edx, dword [edx]
xor ecx, ecx
mov ebx, 0x811c9dc5
test eax, eax
je 0x1002404a
mov ebp, dword [esp + 0x2c]
movzx eax, byte [ecx + edx]
inc ecx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp ecx, ebp
jb 0x10024035
mov ebp, dword [esp + 0x30]
mov eax, dword [edi + 0x18]
mov edx, esi
mov ecx, dword [esp + 0x18]
and eax, ebx
mov ebx, dword [ecx + eax*8 + 4]
mov esi, dword [esi]
mov dword [esp + 0x14], ebx
lea eax, [ecx + eax*8]
mov dword [esp + 0x2c], eax
call fcn.10003310
dec dword [edi + 8]
cmp dword [esp + 0x24], ebx
je 0x1002408c
mov ebx, esi
cmp esi, ebp
je 0x100240b6
mov edx, esi
mov esi, dword [esi]
call fcn.10003310
dec dword [edi + 8]
cmp ebx, dword [esp + 0x14]
jne 0x10024074
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x1c]
mov dword [eax], ebx
mov dword [eax + 4], ebx
cmp esi, ebp
jne 0x10024010
mov eax, dword [esp + 0x20]
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, ebp
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x18
ret 8
mov eax, dword [esp + 0x2c]
mov dword [eax], esi
mov eax, dword [esp + 0x20]
mov dword [eax], esi
mov dword [esi + 4], eax
pop esi
pop edi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x18
ret 8
Function at 0x10027780
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], 0xf
mov edi, dword [ebp + 0x10]
jbe 0x1002779b
mov edx, dword [ebp]
xor ecx, ecx
mov esi, 0x811c9dc5
test edi, edi
je 0x100277b7
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edi
jb 0x100277a6
push esi
push ebp
lea eax, [esp + 0x18]
mov ecx, ebx
push eax
call fcn.1002d010
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100277e1
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 0x10027930
push 0x2c
call fcn.101b61b6
add esp, 4
mov edi, eax
lea ecx, [edi + 8]
push ebp
call fcn.10020fa0
mov eax, dword [esp + 0x24]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [edi + 0x20], xmm0
mov dword [edi + 0x28], eax
mov eax, dword [ebx + 8]
mov ebp, dword [ebx + 0x1c]
inc eax
movss xmm3, dword [ebx]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10215ec0]
mov eax, ebp
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, ebp
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x10215ec0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x100278cd
divss xmm2, xmm3
sub esp, 8
cvtps2pd xmm0, xmm2
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fstp qword [esp]
call fcn.101da030
fstp qword [esp + 0x18]
movsd xmm0, qword [esp + 0x18]
add esp, 8
cvtpd2ps xmm0, xmm0
call fcn.101dc230
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebp, ecx
jae 0x100278b0
cmp ebp, 0x200
jae 0x100278ae
shl ebp, 3
cmp ebp, ecx
jae 0x100278b0
mov ebp, ecx
push ebp
mov ecx, ebx
call fcn.1002aa50
push esi
lea eax, [edi + 8]
mov ecx, ebx
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1002d010
mov edx, dword [eax]
jmp 0x100278d1
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 4]
inc dword [ebx + 8]
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 0x100278f7
mov dword [ecx + eax*8], edi
jmp 0x10027918
cmp esi, edx
jne 0x10027912
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 0x1002791c
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.101b4c3a
int3
Function at 0x1002f5d0
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], 0xf
mov edi, dword [ebp + 0x10]
jbe 0x1002f5eb
mov edx, dword [ebp]
xor ecx, ecx
mov esi, 0x811c9dc5
test edi, edi
je 0x1002f607
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edi
jb 0x1002f5f6
push esi
push ebp
lea eax, [esp + 0x18]
mov ecx, ebx
push eax
call fcn.1002d010
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1002f631
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], 0x4444444
je 0x1002f7cb
push 0x3c
call fcn.101b61b6
add esp, 4
mov edi, eax
push ebp
lea ecx, [edi + 8]
call fcn.10020fa0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x20], 0x3f800000
mov dword [edi + 0x24], 0x3f800000
mov dword [edi + 0x28], 0x3f800000
mov dword [edi + 0x2c], 0x3f800000
mov dword [edi + 0x30], 0x3f19999a
mov word [edi + 0x34], 0
mov byte [edi + 0x36], 0
mov dword [edi + 0x38], 0
mov eax, dword [ebx + 8]
mov ebp, dword [ebx + 0x1c]
inc eax
movss xmm3, dword [ebx]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10215ec0]
mov eax, ebp
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, ebp
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x10215ec0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x1002f768
divss xmm2, xmm3
sub esp, 8
cvtps2pd xmm0, xmm2
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fstp qword [esp]
call fcn.101da030
fstp qword [esp + 0x18]
movsd xmm0, qword [esp + 0x18]
add esp, 8
cvtpd2ps xmm0, xmm0
call fcn.101dc230
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebp, ecx
jae 0x1002f74b
cmp ebp, 0x200
jae 0x1002f749
shl ebp, 3
cmp ebp, ecx
jae 0x1002f74b
mov ebp, ecx
push ebp
mov ecx, ebx
call fcn.1002aa50
push esi
lea eax, [edi + 8]
mov ecx, ebx
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1002d010
mov edx, dword [eax]
jmp 0x1002f76c
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 4]
inc dword [ebx + 8]
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 0x1002f792
mov dword [ecx + eax*8], edi
jmp 0x1002f7b3
cmp esi, edx
jne 0x1002f7ad
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 0x1002f7b7
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.101b4c3a
int3
Function at 0x1002f7e0
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], 0xf
mov ebx, dword [esi + 0x10]
jbe 0x1002f7fa
mov edx, dword [esi]
xor ecx, ecx
mov edi, 0x811c9dc5
test ebx, ebx
je 0x1002f816
movzx eax, byte [ecx + edx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, ebx
jb 0x1002f805
push edi
push esi
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
call fcn.1002d010
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1002f840
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], 0x234f72c
je 0x1002f993
push 0x74
call fcn.101b61b6
add esp, 4
mov ebx, eax
lea ecx, [ebx + 8]
push esi
call fcn.10020fa0
push 0x54
lea esi, [ebx + 0x20]
push 0
push esi
call fcn.101b7c50
add esp, 0xc
mov ecx, esi
call fcn.10034bf0
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x1c]
inc eax
movss xmm3, dword [ebp]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10215ec0]
mov eax, esi
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x10215ec0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x1002f931
divss xmm2, xmm3
sub esp, 8
cvtps2pd xmm0, xmm2
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fstp qword [esp]
call fcn.101da030
fstp qword [esp + 0x18]
movsd xmm0, qword [esp + 0x18]
add esp, 8
cvtpd2ps xmm0, xmm0
call fcn.101dc230
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp esi, ecx
jae 0x1002f914
cmp esi, 0x200
jae 0x1002f912
shl esi, 3
cmp esi, ecx
jae 0x1002f914
mov esi, ecx
push esi
mov ecx, ebp
call fcn.1002aa50
push edi
lea eax, [ebx + 8]
mov ecx, ebp
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1002d010
mov edx, dword [eax]
jmp 0x1002f935
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 4]
inc dword [ebp + 8]
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 0x1002f95a
mov dword [ecx + eax*8], ebx
jmp 0x1002f97b
cmp edi, edx
jne 0x1002f975
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 0x1002f97f
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.101b4c3a
int3
Function at 0x1002f9a0
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], 0xf
mov ebx, dword [esi + 0x10]
jbe 0x1002f9ba
mov edx, dword [esi]
xor ecx, ecx
mov edi, 0x811c9dc5
test ebx, ebx
je 0x1002f9d6
movzx eax, byte [ecx + edx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, ebx
jb 0x1002f9c5
push edi
push esi
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
call fcn.1002d010
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1002fa00
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], 0xffffff
je 0x1002fb59
push 0x100
call fcn.101b61b6
add esp, 4
mov ebx, eax
lea ecx, [ebx + 8]
push esi
call fcn.10020fa0
push 0xe0
lea esi, [ebx + 0x20]
push 0
push esi
call fcn.101b7c50
add esp, 0xc
mov ecx, esi
call fcn.10034c90
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x1c]
inc eax
movss xmm3, dword [ebp]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10215ec0]
mov eax, esi
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x10215ec0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x1002faf7
divss xmm2, xmm3
sub esp, 8
cvtps2pd xmm0, xmm2
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fstp qword [esp]
call fcn.101da030
fstp qword [esp + 0x18]
movsd xmm0, qword [esp + 0x18]
add esp, 8
cvtpd2ps xmm0, xmm0
call fcn.101dc230
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp esi, ecx
jae 0x1002fada
cmp esi, 0x200
jae 0x1002fad8
shl esi, 3
cmp esi, ecx
jae 0x1002fada
mov esi, ecx
push esi
mov ecx, ebp
call fcn.1002aa50
push edi
lea eax, [ebx + 8]
mov ecx, ebp
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1002d010
mov edx, dword [eax]
jmp 0x1002fafb
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 4]
inc dword [ebp + 8]
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 0x1002fb20
mov dword [ecx + eax*8], ebx
jmp 0x1002fb41
cmp edi, edx
jne 0x1002fb3b
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 0x1002fb45
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.101b4c3a
int3
Function at 0x100312a0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0x18
push ebx
mov ebx, dword [esp + 0x20]
push ebp
mov ebp, dword [esp + 0x28]
push edi
mov edi, ecx
cmp ebx, ebp
je 0x10031456
cmp dword [ebx + 0x1c], 0xf
lea edx, [ebx + 8]
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x10]
jbe 0x100312db
mov edx, dword [edx]
xor ecx, ecx
push esi
mov esi, 0x811c9dc5
test eax, eax
je 0x10031305
mov ebp, eax
nop dword [eax]
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, ebp
jb 0x100312f0
mov ebp, dword [esp + 0x30]
mov eax, dword [edi + 0x18]
mov edx, ebx
mov ecx, dword [esp + 0x18]
and eax, esi
mov esi, dword [ebx]
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
call fcn.10003250
dec dword [edi + 8]
cmp ebx, dword [esp + 0x10]
je 0x10031352
mov dword [esp + 0x24], esi
cmp esi, ebp
je 0x10031364
mov edx, esi
mov esi, dword [esi]
call fcn.10003250
dec dword [edi + 8]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x24], eax
jne 0x10031334
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x14], ebx
jne 0x10031389
mov eax, dword [esp + 0x1c]
mov dword [ecx], eax
jmp 0x1003138d
cmp dword [esp + 0x14], ebx
jne 0x1003144c
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov dword [ecx], esi
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, ebp
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x18
ret 8
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], eax
cmp esi, ebp
je 0x1003144c
nop dword [eax + eax]
cmp dword [esi + 0x1c], 0xf
lea edx, [esi + 8]
mov eax, dword [edx + 0x10]
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], eax
jbe 0x100313b6
mov edx, dword [edx]
xor ecx, ecx
mov ebx, 0x811c9dc5
test eax, eax
je 0x100313da
mov ebp, dword [esp + 0x2c]
movzx eax, byte [ecx + edx]
inc ecx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp ecx, ebp
jb 0x100313c5
mov ebp, dword [esp + 0x30]
mov eax, dword [edi + 0x18]
mov edx, esi
mov ecx, dword [esp + 0x18]
and eax, ebx
mov ebx, dword [ecx + eax*8 + 4]
mov esi, dword [esi]
mov dword [esp + 0x14], ebx
lea eax, [ecx + eax*8]
mov dword [esp + 0x2c], eax
call fcn.10003250
dec dword [edi + 8]
cmp dword [esp + 0x24], ebx
je 0x1003141c
mov ebx, esi
cmp esi, ebp
je 0x10031446
mov edx, esi
mov esi, dword [esi]
call fcn.10003250
dec dword [edi + 8]
cmp ebx, dword [esp + 0x14]
jne 0x10031404
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x1c]
mov dword [eax], ebx
mov dword [eax + 4], ebx
cmp esi, ebp
jne 0x100313a0
mov eax, dword [esp + 0x20]
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, ebp
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x18
ret 8
mov eax, dword [esp + 0x2c]
mov dword [eax], esi
mov eax, dword [esp + 0x20]
mov dword [eax], esi
mov dword [esi + 4], eax
pop esi
pop edi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x18
ret 8