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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c9193
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push esi
push edi
mov eax, dword [0x67c3c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x2c], edi
mov dword [edi], 0
push 0x14
mov dword [ebp - 0x20], ebx
mov dword [edi + 4], 0
mov dword [edi + 8], 0
call fcn.0059ae0f
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [edi + 4], eax
lea ecx, [edi + 0xc]
mov dword [ebp - 4], 0
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [edi + 0x18], 7
mov dword [edi + 0x1c], 8
mov dword [edi], 0x3f800000
push dword [edi + 4]
mov byte [ebp - 4], 1
push 0x10
call fcn.00477300
mov dword [ebp - 4], 2
cmp esi, ebx
je 0x4fac99
nop
movzx eax, byte [esi]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [esi + 1]
xor ecx, eax
movzx eax, byte [esi + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esi + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
lea eax, [ebp - 0x18]
imul ebx, ecx, 0x1000193
mov ecx, edi
push ebx
push esi
push eax
call fcn.004fa990
cmp dword [ebp - 0x14], 0
jne 0x4fac8d
cmp dword [edi + 8], 0xccccccc
je 0x4facaf
lea eax, [edi + 4]
mov dword [ebp - 0x28], eax
push 0x14
mov byte [ebp - 4], 3
mov dword [ebp - 0x24], 0
call fcn.0059ae0f
movq xmm0, qword [esi]
add esp, 4
movq qword [eax + 8], xmm0
mov dword [ebp - 0x10], eax
lea ecx, [eax + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x1c], ecx
mov dword [ecx + 8], eax
mov eax, dword [edi + 8]
inc eax
mov byte [ebp - 4], 4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5cc090]
mov eax, dword [edi + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5cc090]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [edi]
jbe 0x4fac73
mov ecx, edi
call fcn.00506f20
push ebx
push dword [ebp - 0x1c]
lea eax, [ebp - 0x34]
mov ecx, edi
push eax
call fcn.004fa990
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
jmp 0x4fac76
mov ecx, dword [ebp - 0x18]
push dword [ebp - 0x10]
mov dword [ebp - 0x24], 0
push ecx
push ebx
mov ecx, edi
call fcn.00506ec0
mov byte [ebp - 4], 2
add esi, 0xc
cmp esi, dword [ebp - 0x20]
jne 0x4fab80
mov eax, edi
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.0059bdd7
int3
Function at 0x4fd860
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c93e5
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x67c3c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov edi, dword [ebp + 8]
movzx eax, byte [edi]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [edi + 1]
xor ecx, eax
movzx eax, byte [edi + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edi + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
lea eax, [ebp - 0x1c]
imul ebx, ecx, 0x1000193
mov ecx, esi
push ebx
push edi
push eax
call fcn.004fa990
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x4fd98c
cmp dword [esi + 8], 0xccccccc
je 0x4fd9a3
lea eax, [esi + 4]
mov dword [ebp - 0x14], eax
push 0x14
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 0
call fcn.0059ae0f
mov dword [ebp - 0x10], eax
add esp, 4
lea ecx, [eax + 8]
mov eax, dword [edi]
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov byte [ecx + 8], 0
mov eax, dword [esi + 8]
inc eax
mov dword [ebp - 4], 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5cc090]
mov eax, dword [esi + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5cc090]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [esi]
jbe 0x4fd97c
mov ecx, esi
call fcn.00506f20
mov edi, dword [ebp - 0x10]
mov ecx, esi
push ebx
lea eax, [edi + 8]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.004fa990
mov ecx, dword [eax]
jmp 0x4fd982
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x10]
push edi
push ecx
push ebx
mov ecx, esi
call fcn.00506ec0
add eax, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.unordered_map_set_too_long
call fcn.0059bdd7
int3
Function at 0x4fffd0
Capabilities:
Execute shellcode via indirect call

Disassembly:
sub esp, 0x18
push ebx
push esi
push edi
push dword [0x4cf2a4]
mov ebx, ecx
mov dword [esp + 0x14], ebx
call fcn.004ff4f0
mov cl, byte [ebx + 0x264]
xor al, 1
add esp, 4
mov byte [esp + 0xf], al
cmp cl, al
je 0x500027
lea ecx, [ebx + 0x8c]
call fcn.0045adb0
lea ecx, [ebx + 0xa4]
call fcn.0045adb0
lea ecx, [ebx + 0xbc]
call fcn.0045adb0
mov al, byte [esp + 0xf]
mov byte [ebx + 0x264], al
mov cl, al
test cl, cl
jne 0x50006c
mov byte [ebx + 0x265], cl
push 0
lea ecx, [ebx + 0xd4]
call fcn.00456630
test al, al
je 0x5001f8
call fcn.0040f8f0
test al, al
jne 0x5001f8
cmp byte [ebx + 0xe4], al
mov ecx, ebx
pop edi
pop esi
pop ebx
je 0x50023c
add esp, 0x18
jmp fcn.004574d0
cmp byte [ebx + 0x265], 0
je 0x500031
mov ecx, ebx
call fcn.004574d0
movaps xmm0, xmmword [0x5d6c70]
lea eax, [esp + 0x14]
push eax
push 5
movups xmmword [esp + 0x1c], xmm0
call fcn.00415800
push 8
mov byte [ebx + 0x266], 1
call fcn.0045d6a0
add esp, 0xc
test al, al
je 0x5000c5
lea ecx, [ebx + 0xa4]
call fcn.0045ae60
pop edi
pop esi
lea ecx, [ebx + 0xbc]
pop ebx
add esp, 0x18
jmp fcn.0045ae60
push ebp
mov ebp, 0x30
lea eax, [esp + 0x18]
xor edi, edi
sub ebp, eax
lea esi, [esp + 0x18]
add esi, edi
lea eax, [esi + ebp]
push eax
call fcn.0045d6d0
add esp, 4
cmp eax, 1
sete al
inc edi
mov byte [esi], al
cmp edi, 8
jle 0x5000d3
mov ecx, 1
cmp byte [esp + ecx + 0x18], 0
jne 0x50010a
inc ecx
cmp ecx, 8
jle 0x5000f8
jmp 0x500193
mov eax, dword [0x4cf2a4]
lea edx, [ecx - 1]
mov edi, dword [eax + 0xa2c]
lea ebp, [eax + 0xa30]
imul edx, edi
inc edx
imul esi, edx, 0x34
add esi, 0x4c53c0
test edi, edi
je 0x500157
mov ebx, 0x4c5f20
cmp edx, 0x37
lea eax, [esi + 0x34]
mov ecx, esi
lea ebp, [ebp + 4]
cmovb esi, eax
cmovae ecx, ebx
lea eax, [edx + 1]
mov dword [ebp - 4], ecx
cmovb edx, eax
sub edi, 1
jne 0x500134
mov ebx, dword [esp + 0x14]
lea ecx, [ebx + 0x5c]
call fcn.0045ae60
lea ecx, [ebx + 0x74]
call fcn.0045ae60
mov ecx, dword [0x4cf40c]
mov eax, 0x458680
call eax
mov eax, dword [0x4cf2a4]
lea ecx, [ebx + 0x5c]
mov dword [eax + 0xe38], 0
call fcn.0045adb0
lea ecx, [ebx + 0x74]
call fcn.0045adb0
cmp byte [esp + 0x18], 0
je 0x5001f7
push 0x11
call fcn.0045d6a0
add esp, 4
test al, al
je 0x5001ff
mov eax, dword [0x4cf2a4]
mov ebx, dword [eax + 0xa2c]
test ebx, ebx
je 0x5001f7
mov ebp, 0x4cf2a4
mov edi, 0xa30
mov edx, 0x411460
mov eax, dword [ebp]
mov eax, dword [edi + eax]
mov esi, dword [eax + 4]
cmp esi, 0x37
jae 0x5001df
mov ecx, dword [case.0x4cf204.5]
push 2
push esi
call edx
xor edx, edx
mov ecx, esi
mov eax, 0x418de0
call eax
add edi, 4
mov edx, 0x411460
sub ebx, 1
jne 0x5001c6
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x18
ret
mov ecx, dword [0x4cf2a4]
mov eax, dword [ecx + 0xe4]
mov eax, dword [ecx + eax*4 + 0xa30]
mov esi, dword [eax + 4]
cmp esi, 0x37
jae 0x50022a
mov ecx, dword [case.0x4cf204.5]
mov eax, 0x411460
push 2
push esi
call eax
pop ebp
pop edi
mov ecx, esi
mov eax, 0x418de0
pop esi
xor edx, edx
pop ebx
add esp, 0x18
jmp eax
add esp, 0x18
jmp fcn.00456d90
Function at 0x506a60
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c9845
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push esi
push edi
mov eax, dword [0x67c3c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14], ecx
mov edx, dword [ecx + 0x3d0]
mov eax, dword [edx]
cmp eax, edx
je 0x506aa1
mov byte [eax + 0x10], 0
mov eax, dword [eax]
cmp eax, edx
jne 0x506a97
mov eax, dword [case.0x4cf204.5]
mov edi, dword [eax + 0x1c]
test edi, edi
je 0x506c2a
lea esi, [ecx + 0x3cc]
mov eax, dword [edi]
mov ebx, dword [eax + 4]
mov eax, ebx
shr eax, 8
movzx ecx, al
movzx eax, bl
xor eax, 0x811c9dc5
mov dword [ebp - 0x10], ebx
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, esi
push eax
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004fa990
mov eax, dword [eax + 4]
test eax, eax
jne 0x506b17
mov eax, dword [esi + 4]
mov edx, dword [ebp - 0x14]
cmp eax, dword [edx + 0x3d0]
je 0x506c1f
mov dword [ebp - 0x18], ebx
lea eax, [ebp - 0x18]
mov ebx, dword [ebp - 0x24]
mov ecx, esi
push ebx
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.004fa990
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x506c1b
cmp dword [esi + 8], 0xccccccc
je 0x506c3c
mov eax, dword [ebp - 0x14]
add eax, 0x3d0
mov dword [ebp - 0x2c], eax
push 0x14
mov dword [ebp - 4], 0
mov dword [ebp - 0x28], 0
call fcn.0059ae0f
mov dword [ebp - 0x10], eax
add esp, 4
mov dword [ebp - 0x28], eax
lea ecx, [eax + 8]
mov eax, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov byte [ecx + 8], 0
mov eax, dword [esi + 8]
inc eax
mov dword [ebp - 4], 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5cc090]
mov eax, dword [esi + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5cc090]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [esi]
jbe 0x506bfe
mov ecx, esi
call fcn.00506f20
mov eax, dword [ebp - 0x10]
mov ecx, esi
push ebx
add eax, 8
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.004fa990
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], eax
jmp 0x506c01
mov ecx, dword [ebp - 0x20]
push dword [ebp - 0x10]
mov dword [ebp - 0x28], 0
push ecx
push ebx
mov ecx, esi
call fcn.00506ec0
mov dword [ebp - 4], 0xffffffff
mov byte [eax + 0x10], 1
mov edi, dword [edi + 4]
test edi, edi
jne 0x506ab7
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.unordered_map_set_too_long
call fcn.0059bdd7
int3
Function at 0x506d60
Capabilities:
Hash data using fnv

Disassembly:
sub esp, 0xc
push ebx
mov ebx, ecx
mov eax, 0x1fffffff
bsr ecx, eax
push edi
mov edi, 1
mov dword [esp + 8], ebx
mov eax, edi
shl eax, cl
mov ecx, dword [esp + 0x18]
cmp ecx, eax
ja 0x506eb5
lea eax, [ecx - 1]
or eax, edi
bsr ecx, eax
push ebp
push esi
mov esi, dword [ebx + 4]
lea ebp, [ebx + 0xc]
push esi
lea ecx, [ecx + 1]
shl edi, cl
mov ecx, ebp
lea eax, [edi + edi]
push eax
call fcn.00477300
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 0x506e8f
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 [ebp]
lea ebp, [edx + edi*8]
mov edi, dword [ebp]
mov dword [esp + 0x14], ebp
cmp edi, esi
jne 0x506e15
mov dword [ebp], eax
mov dword [ebp + 4], eax
jmp 0x506e82
mov edx, dword [ebp + 4]
mov ebx, dword [eax + 8]
cmp ebx, dword [edx + 8]
jne 0x506e4f
mov edx, dword [edx]
mov dword [esp + 0x18], edx
cmp edx, eax
je 0x506e4a
mov ebx, dword [eax + 4]
mov ebp, dword [esp + 0x18]
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [ebp + 4], edi
mov ebp, dword [esp + 0x14]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
mov dword [ebp + 4], eax
jmp 0x506e7e
cmp edi, edx
je 0x506e5f
mov edx, dword [edx + 4]
cmp ebx, dword [edx + 8]
je 0x506e99
cmp edi, edx
jne 0x506e53
mov ebp, dword [eax + 4]
mov dword [ebp], 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 [esp + 0x14]
mov dword [ecx + 4], ebp
mov dword [eax + 4], edi
mov dword [edx], eax
mov ebx, dword [esp + 0x10]
lea ebp, [ebx + 0xc]
mov eax, ecx
cmp ecx, esi
jne 0x506dc1
pop esi
pop ebp
pop edi
pop ebx
add esp, 0xc
ret 4
mov ebx, dword [eax + 4]
mov ebp, dword [edx]
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], ebp
mov edx, dword [ebp + 4]
mov dword [edx], eax
mov dword [ebp + 4], edi
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
jmp 0x506e7e
push str.invalid_hash_bucket_count
call fcn.0059bdd7
int3
Function at 0x507f60
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c88c0
mov eax, dword fs:[0]
push eax
sub esp, 0x20c
mov eax, dword [0x67c3c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x686508]
test eax, eax
jne 0x508098
push 0x128
call fcn.0059ae0f
mov esi, eax
add esp, 4
test esi, esi
je 0x50808c
push 0x128
push 0
push esi
call fcn.0059c4a0
add esp, 0xc
mov ecx, esi
mov dword [ebp - 4], 0
call fcn.00442ea0
mov dword [esi], vtable.THPrac::TH18::THGuiRep.0
xor eax, eax
xorps xmm0, xmm0
movups xmmword [esi + 0x5c], xmm0
mov dword [esi + 0x6c], 0
mov dword [esi + 0x70], 7
mov word [esi + 0x5c], ax
movups xmmword [esi + 0x74], xmm0
mov dword [esi + 0x84], eax
mov dword [esi + 0x88], 7
mov word [esi + 0x74], ax
mov word [esi + 0xa0], ax
movups xmmword [esi + 0xa4], xmm0
mov dword [esi + 0xb4], eax
mov dword [esi + 0xb8], 7
mov word [esi + 0xa4], ax
mov byte [esi + 0xbc], al
mov byte [esi + 0x125], al
lea eax, [ebp - 0x218]
push 0x104
push eax
push str.APPDATA
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea eax, [ebp - 0x218]
lea edx, [eax + 2]
nop dword [eax]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x508060
sub eax, edx
lea ecx, [esi + 0xa4]
sar eax, 1
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00469260
mov dword [0x686508], esi
mov eax, esi
jmp 0x508098
mov dword [0x686508], 0
xor eax, eax
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.0059a5ad
mov esp, ebp
pop ebp
ret
Function at 0x509570
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c9a5d
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [0x67c3c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edx, ecx
mov dword [ebp - 0x10], edx
mov edi, dword [ebp + 8]
cmp edi, dword [ebp + 0xc]
je 0x509734
nop dword [eax]
cmp dword [edi + 0x14], 0xf
mov ebx, edi
jbe 0x5095ba
mov ebx, dword [edi]
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edi + 0x10], ecx
jbe 0x5095d8
movzx eax, byte [ebx + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edi + 0x10]
jb 0x5095c6
push esi
push edi
lea eax, [ebp - 0x20]
mov ecx, edx
push eax
call fcn.00509430
cmp dword [ebp - 0x1c], 0
jne 0x509725
mov eax, dword [ebp - 0x10]
cmp dword [eax + 8], 0x5d1745d
je 0x509748
add eax, 4
mov dword [ebp - 0x28], eax
push 0x2c
mov dword [ebp - 4], 0
mov dword [ebp - 0x24], 0
call fcn.0059ae0f
mov ebx, eax
add esp, 4
mov dword [ebp - 0x24], ebx
lea eax, [ebx + 8]
push edi
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.00460620
lea eax, [edi + 0x18]
mov byte [ebp - 4], 1
lea ecx, [ebx + 0x20]
push eax
call fcn.0050a250
mov edx, dword [ebp - 0x10]
mov dword [ebp - 4], 2
mov ecx, dword [edx + 8]
inc ecx
mov eax, ecx
shr eax, 0x1f
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x5cc090]
mov eax, dword [edx + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5cc090]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [edx]
jbe 0x5096be
push ecx
mov ecx, edx
call fcn.0053f800
mov ecx, dword [ebp - 0x10]
push eax
call fcn.0053f890
mov ecx, dword [ebp - 0x10]
lea eax, [ebx + 8]
push esi
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00509430
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], eax
jmp 0x5096c1
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 4]
inc dword [edx + 8]
mov dword [ebx + 4], eax
mov dword [ebx], ecx
mov dword [eax], ebx
mov dword [ecx + 4], ebx
mov dword [ebp - 0x18], eax
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x14], ecx
and eax, esi
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x24], 0
mov esi, dword [ecx + eax*8]
cmp esi, dword [edx + 4]
jne 0x5096fe
mov dword [ecx + eax*8], ebx
mov dword [ecx + eax*8 + 4], ebx
mov dword [ebp - 4], 0xffffffff
jmp 0x509728
cmp esi, dword [ebp - 0x14]
jne 0x50970f
mov dword [ecx + eax*8], ebx
mov dword [ebp - 4], 0xffffffff
jmp 0x509728
mov esi, dword [ebp - 0x18]
cmp dword [ecx + eax*8 + 4], esi
jne 0x50971c
mov dword [ecx + eax*8 + 4], ebx
mov dword [ebp - 4], 0xffffffff
jmp 0x509728
mov edx, dword [ebp - 0x10]
add edi, 0x24
cmp edi, dword [ebp + 0xc]
jne 0x5095b0
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.0059bdd7
int3
Function at 0x509760
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c9a9d
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [0x67c3c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edx, ecx
mov dword [ebp - 0x10], edx
mov edi, dword [ebp + 8]
cmp edi, dword [ebp + 0xc]
je 0x509924
nop dword [eax]
cmp dword [edi + 0x14], 0xf
mov ebx, edi
jbe 0x5097aa
mov ebx, dword [edi]
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edi + 0x10], ecx
jbe 0x5097c8
movzx eax, byte [ebx + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edi + 0x10]
jb 0x5097b6
push esi
push edi
lea eax, [ebp - 0x20]
mov ecx, edx
push eax
call fcn.00509430
cmp dword [ebp - 0x1c], 0
jne 0x509915
mov eax, dword [ebp - 0x10]
cmp dword [eax + 8], 0x5d1745d
je 0x509938
add eax, 4
mov dword [ebp - 0x28], eax
push 0x2c
mov dword [ebp - 4], 0
mov dword [ebp - 0x24], 0
call fcn.0059ae0f
mov ebx, eax
add esp, 4
mov dword [ebp - 0x24], ebx
lea eax, [ebx + 8]
push edi
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.00460620
lea eax, [edi + 0x18]
mov byte [ebp - 4], 1
lea ecx, [ebx + 0x20]
push eax
call fcn.0050a330
mov edx, dword [ebp - 0x10]
mov dword [ebp - 4], 2
mov ecx, dword [edx + 8]
inc ecx
mov eax, ecx
shr eax, 0x1f
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x5cc090]
mov eax, dword [edx + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5cc090]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [edx]
jbe 0x5098ae
push ecx
mov ecx, edx
call fcn.0053f800
mov ecx, dword [ebp - 0x10]
push eax
call fcn.0053fb90
mov ecx, dword [ebp - 0x10]
lea eax, [ebx + 8]
push esi
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00509430
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], eax
jmp 0x5098b1
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 4]
inc dword [edx + 8]
mov dword [ebx + 4], eax
mov dword [ebx], ecx
mov dword [eax], ebx
mov dword [ecx + 4], ebx
mov dword [ebp - 0x18], eax
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x14], ecx
and eax, esi
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x24], 0
mov esi, dword [ecx + eax*8]
cmp esi, dword [edx + 4]
jne 0x5098ee
mov dword [ecx + eax*8], ebx
mov dword [ecx + eax*8 + 4], ebx
mov dword [ebp - 4], 0xffffffff
jmp 0x509918
cmp esi, dword [ebp - 0x14]
jne 0x5098ff
mov dword [ecx + eax*8], ebx
mov dword [ebp - 4], 0xffffffff
jmp 0x509918
mov esi, dword [ebp - 0x18]
cmp dword [ecx + eax*8 + 4], esi
jne 0x50990c
mov dword [ecx + eax*8 + 4], ebx
mov dword [ebp - 4], 0xffffffff
jmp 0x509918
mov edx, dword [ebp - 0x10]
add edi, 0x24
cmp edi, dword [ebp + 0xc]
jne 0x5097a0
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.0059bdd7
int3
Function at 0x509950
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c9add
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push esi
push edi
mov eax, dword [0x67c3c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edx, ecx
mov dword [ebp - 0x14], edx
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
cmp esi, edi
je 0x509b25
nop dword [eax + eax]
cmp dword [esi + 0x1c], 0xf
lea eax, [esi + 8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x18], eax
jbe 0x5099aa
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
xor ecx, ecx
mov ebx, 0x811c9dc5
cmp dword [eax + 0x10], ecx
jbe 0x5099da
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x10]
nop dword [eax]
movzx eax, byte [edx + ecx]
inc ecx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp ecx, edi
jb 0x5099c0
mov edi, dword [ebp + 0xc]
lea eax, [esi + 8]
mov edx, dword [ebp - 0x14]
push ebx
push eax
lea eax, [ebp - 0x24]
mov ecx, edx
push eax
call fcn.00509430
cmp dword [ebp - 0x20], 0
jne 0x509b14
mov edi, dword [ebp - 0x14]
cmp dword [edi + 8], 0x5d1745d
je 0x509b39
lea eax, [edi + 4]
mov dword [ebp - 0x2c], eax
push 0x2c
mov dword [ebp - 4], 0
mov dword [ebp - 0x28], 0
call fcn.0059ae0f
mov esi, eax
add esp, 4
mov dword [ebp - 0x28], esi
push dword [ebp - 0x1c]
lea eax, [esi + 8]
mov ecx, eax
mov dword [ebp - 0x10], eax
call fcn.00460620
mov eax, dword [ebp - 0x1c]
lea ecx, [esi + 0x20]
add eax, 0x18
mov byte [ebp - 4], 1
push eax
call fcn.0050a250
mov ecx, dword [edi + 8]
inc ecx
mov dword [ebp - 4], 2
mov eax, ecx
shr eax, 0x1f
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x5cc090]
mov eax, dword [edi + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5cc090]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [edi]
jbe 0x509abd
push ecx
mov ecx, edi
call fcn.0053f800
push eax
mov ecx, edi
call fcn.0053f890
push ebx
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.00509430
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], eax
jmp 0x509ac0
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
inc dword [edi + 8]
mov dword [esi + 4], eax
mov dword [esi], edx
mov dword [eax], esi
mov dword [edx + 4], esi
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [edi + 0x18]
and eax, ebx
mov dword [ebp - 0x28], 0
mov ebx, dword [ebp - 0x2c]
mov edi, dword [ecx + eax*8]
cmp edi, dword [ebx]
jne 0x509af1
mov dword [ecx + eax*8], esi
jmp 0x509b03
cmp edi, edx
jne 0x509afa
mov dword [ecx + eax*8], esi
jmp 0x509b07
mov edx, dword [ebp - 0x10]
cmp dword [ecx + eax*8 + 4], edx
jne 0x509b07
mov dword [ecx + eax*8 + 4], esi
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [esi]
mov dword [ebp + 8], esi
cmp esi, edi
je 0x509b25
mov edx, dword [ebp - 0x14]
jmp 0x509990
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.0059bdd7
int3