joyce8/EMBER2024-capa huggingface dataset:
Function at 0x45c050
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 0x45c1c5
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 0x45c08c
mov edi, dword [edi]
xor edx, edx
mov ebx, 0x811c9dc5
test eax, eax
je 0x45c0b4
mov ecx, eax
nop dword [eax]
movzx eax, byte [edi + edx]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x45c0a0
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.00427220
push 0x9c
push edi
call fcn.005ab85c
mov eax, dword [ebp - 4]
add esp, 8
dec dword [eax + 8]
cmp ebx, dword [ebp - 0x1c]
je 0x45c121
cmp esi, dword [ebp + 0xc]
jne 0x45c0d0
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp + 8]
jne 0x45c1b7
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 0x45c133
mov ecx, dword [ebp - 0x14]
mov dword [edx], ecx
jmp 0x45c136
mov ecx, dword [ebp - 0x18]
mov dword [edx + 4], ecx
cmp esi, dword [ebp + 0xc]
je 0x45c1b7
nop
cmp dword [esi + 0x1c], 0xf
lea edi, [esi + 8]
mov ebx, dword [edi + 0x10]
jbe 0x45c14e
mov edi, dword [edi]
xor ecx, ecx
mov edx, 0x811c9dc5
test ebx, ebx
je 0x45c174
nop dword [eax]
movzx eax, byte [edi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, ebx
jb 0x45c160
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.00427220
push 0x9c
push edi
call fcn.005ab85c
mov eax, dword [ebp - 4]
add esp, 8
dec dword [eax + 8]
cmp ebx, dword [ebp - 0x1c]
je 0x45c1cb
cmp esi, dword [ebp + 0xc]
jne 0x45c186
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 0x45c140
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 0x45c200
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 0x45c372
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 0x45c23c
mov edi, dword [edi]
xor edx, edx
mov ebx, 0x811c9dc5
test eax, eax
je 0x45c264
mov ecx, eax
nop dword [eax]
movzx eax, byte [edi + edx]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x45c250
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.0042cfe0
push 0x64
push edi
call fcn.005ab85c
mov eax, dword [ebp - 4]
add esp, 8
dec dword [eax + 8]
cmp ebx, dword [ebp - 0x1c]
je 0x45c2ce
cmp esi, dword [ebp + 0xc]
jne 0x45c280
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp + 8]
jne 0x45c364
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 0x45c2e0
mov ecx, dword [ebp - 0x14]
mov dword [edx], ecx
jmp 0x45c2e3
mov ecx, dword [ebp - 0x18]
mov dword [edx + 4], ecx
cmp esi, dword [ebp + 0xc]
je 0x45c364
nop dword [eax + eax]
cmp dword [esi + 0x1c], 0xf
lea edi, [esi + 8]
mov ebx, dword [edi + 0x10]
jbe 0x45c2fe
mov edi, dword [edi]
xor ecx, ecx
mov edx, 0x811c9dc5
test ebx, ebx
je 0x45c324
nop dword [eax]
movzx eax, byte [edi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, ebx
jb 0x45c310
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.0042cfe0
push 0x64
push edi
call fcn.005ab85c
mov eax, dword [ebp - 4]
add esp, 8
dec dword [eax + 8]
cmp ebx, dword [ebp - 0x1c]
je 0x45c378
cmp esi, dword [ebp + 0xc]
jne 0x45c336
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 0x45c2f0
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 0x45c470
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
push ebx
push esi
push edi
cmp dword [edx + 0x14], 0xf
mov ebx, ecx
mov edi, dword [edx + 0x10]
jbe 0x45c486
mov edx, dword [edx]
xor ecx, ecx
mov esi, 0x811c9dc5
test edi, edi
je 0x45c4a2
movzx eax, byte [edx + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edi
jb 0x45c491
mov eax, dword [ebx + 0x18]
pop edi
and eax, esi
pop esi
pop ebx
pop ebp
ret 4

Function at 0x45c4d0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x1c], 0xf
push ebx
mov ebx, dword [eax + 0x18]
mov dword [ebp - 4], ecx
lea ecx, [eax + 8]
push esi
push edi
mov dword [ebp - 8], ecx
mov edi, ecx
jbe 0x45c4f2
mov edi, dword [ecx]
xor edx, edx
mov esi, 0x811c9dc5
test ebx, ebx
je 0x45c511
nop dword [eax]
movzx ecx, byte [edi + edx]
inc edx
xor ecx, esi
imul esi, ecx, 0x1000193
cmp edx, ebx
jb 0x45c500
mov ebx, dword [ebp - 4]
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebx + 0xc]
and edx, esi
mov esi, dword [ecx + edx*8]
cmp dword [ecx + edx*8 + 4], eax
jne 0x45c53e
cmp esi, eax
jne 0x45c535
mov eax, dword [ebx + 4]
mov dword [ecx + edx*8], eax
mov dword [ecx + edx*8 + 4], eax
jmp 0x45c547
mov eax, dword [eax + 4]
mov dword [ecx + edx*8 + 4], eax
jmp 0x45c547
cmp esi, eax
jne 0x45c54a
mov eax, dword [eax]
mov dword [ecx + edx*8], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [eax]
dec dword [ebx + 8]
mov edx, dword [eax + 4]
mov ecx, dword [ebp - 8]
mov dword [edx], esi
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
call fcn.00427220
push 0x9c
push dword [ebp + 0xc]
call fcn.005ab85c
mov eax, dword [ebp + 8]
add esp, 8
pop edi
mov dword [eax], esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8

Function at 0x45cf20
Capabilities:
Hash data using fnv

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

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 0xc]
sub esp, 0xc
cmp dword [edx + 0x14], 0xf
push ebx
push esi
push edi
mov ebx, ecx
mov edi, edx
jbe 0x45cfa8
mov edi, dword [edx]
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x45cfc6
movzx eax, byte [edi + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edx + 0x10]
jb 0x45cfb4
push esi
push edx
lea eax, [ebp - 8]
mov ecx, ebx
push eax
call fcn.004100f0
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x45cfec
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], 0x71c71c7
je 0x45d12c
push 0x24
call fcn.005ab82c
add esp, 4
mov edi, eax
push dword [ebp + 0xc]
lea ecx, [edi + 8]
call fcn.004141c0
mov dword [edi + 0x20], 0
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0x1c]
inc ecx
movss xmm3, dword [ebx]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x739f30]
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x739f30]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x45d0c9
divss xmm2, xmm3
sub esp, 8
cvtps2pd xmm0, xmm2
movsd qword [ebp - 8], xmm0
fld qword [ebp - 8]
fstp qword [esp]
call fcn.005eb4a0
fstp qword [ebp - 8]
movsd xmm0, qword [ebp - 8]
add esp, 8
cvtpd2ps xmm0, xmm0
call fcn.006d4800
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
mov eax, dword [ebx + 0x1c]
cmp eax, ecx
jae 0x45d0ad
cmp eax, 0x200
jae 0x45d0ab
shl eax, 3
cmp eax, ecx
jae 0x45d0ad
mov eax, ecx
push eax
mov ecx, ebx
call fcn.0040faf0
push esi
lea eax, [edi + 8]
mov ecx, ebx
push eax
lea eax, [ebp - 8]
push eax
call fcn.004100f0
mov edx, dword [eax]
jmp 0x45d0cc
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 0x45d0f4
mov dword [ecx + eax*8], edi
jmp 0x45d116
cmp esi, edx
jne 0x45d10d
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 0x45d11a
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 fcn.005acb94
int3
Function at 0x45d140
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov ebx, ecx
mov edx, edi
cmp dword [edi + 0x14], 0xf
jbe 0x45d158
mov edx, dword [edi]
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edi + 0x10], ecx
jbe 0x45d176
movzx eax, byte [edx + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edi + 0x10]
jb 0x45d164
push esi
push edi
lea eax, [ebp - 8]
mov ecx, ebx
push eax
call fcn.004100f0
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x45d19c
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], 0x1999999
je 0x45d2af
push 0xa0
call fcn.005ab82c
add esp, 4
mov dword [ebp + 0xc], eax
push edi
lea edi, [eax + 8]
mov ecx, edi
call fcn.004141c0
push 0x70
lea ecx, [edi + 0x28]
push 0
push ecx
call fcn.005c3040
xorps xmm0, xmm0
add esp, 0xc
movups xmmword [edi + 0x18], xmm0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0xf
mov byte [edi + 0x18], 0
mov dword [edi + 0x30], 0
movups xmmword [edi + 0x38], xmm0
movups xmmword [edi + 0x48], xmm0
movups xmmword [edi + 0x58], xmm0
movups xmmword [edi + 0x68], xmm0
movups xmmword [edi + 0x78], xmm0
mov dword [edi + 0x88], 0
mov dword [edi + 0x8c], 0xf
mov byte [edi + 0x78], 0
mov dword [edi + 0x90], 0
mov dword [edi + 0x94], 0
mov eax, dword [ebx + 8]
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
mov eax, dword [ebx + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebx]
jbe 0x45d28c
mov ecx, ebx
call fcn.0040fa00
push esi
push edi
lea eax, [ebp - 8]
mov ecx, ebx
push eax
call fcn.004100f0
mov ecx, dword [eax]
jmp 0x45d28f
mov ecx, dword [ebp - 8]
push dword [ebp + 0xc]
push ecx
push esi
mov ecx, ebx
call fcn.0040fa90
mov ecx, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov dword [ecx], eax
mov eax, ecx
mov byte [ecx + 4], 1
mov esp, ebp
pop ebp
ret 8
push str.unordered_map_set_too_long
call fcn.005acb94
int3
Function at 0x45d2c0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov ebx, ecx
mov edx, edi
cmp dword [edi + 0x14], 0xf
jbe 0x45d2d8
mov edx, dword [edi]
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edi + 0x10], ecx
jbe 0x45d2f6
movzx eax, byte [edx + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edi + 0x10]
jb 0x45d2e4
push esi
push edi
lea eax, [ebp - 8]
mov ecx, ebx
push eax
call fcn.004100f0
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x45d31c
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], 0x1999999
je 0x45d45e
push 0xa0
call fcn.005ab82c
xorps xmm0, xmm0
mov dword [ebp + 0xc], eax
add esp, 4
movups xmmword [eax + 8], xmm0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
movups xmm0, xmmword [edi]
push 0x70
push 0
movups xmmword [eax + 8], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [eax + 0x18], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
lea edi, [eax + 8]
lea eax, [edi + 0x28]
push eax
call fcn.005c3040
xorps xmm0, xmm0
add esp, 0xc
movups xmmword [edi + 0x18], xmm0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0xf
mov byte [edi + 0x18], 0
mov dword [edi + 0x30], 0
movups xmmword [edi + 0x38], xmm0
movups xmmword [edi + 0x48], xmm0
movups xmmword [edi + 0x58], xmm0
movups xmmword [edi + 0x68], xmm0
movups xmmword [edi + 0x78], xmm0
mov dword [edi + 0x88], 0
mov dword [edi + 0x8c], 0xf
mov byte [edi + 0x78], 0
mov dword [edi + 0x90], 0
mov dword [edi + 0x94], 0
mov eax, dword [ebx + 8]
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
mov eax, dword [ebx + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebx]
jbe 0x45d43b
mov ecx, ebx
call fcn.0040fa00
push esi
push edi
lea eax, [ebp - 8]
mov ecx, ebx
push eax
call fcn.004100f0
mov ecx, dword [eax]
jmp 0x45d43e
mov ecx, dword [ebp - 8]
push dword [ebp + 0xc]
push ecx
push esi
mov ecx, ebx
call fcn.0040fa90
mov ecx, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov dword [ecx], eax
mov eax, ecx
mov byte [ecx + 4], 1
mov esp, ebp
pop ebp
ret 8
push str.unordered_map_set_too_long
call fcn.005acb94
int3
Function at 0x45d470
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 0xc]
sub esp, 0xc
cmp dword [edx + 0x14], 0xf
push ebx
push esi
push edi
mov ebx, ecx
mov edi, edx
jbe 0x45d488
mov edi, dword [edx]
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x45d4a6
movzx eax, byte [edi + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edx + 0x10]
jb 0x45d494
push esi
push edx
lea eax, [ebp - 8]
mov ecx, ebx
push eax
call fcn.004100f0
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x45d4cc
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], 0x1a41a41
je 0x45d662
push 0x9c
call fcn.005ab82c
add esp, 4
mov edi, eax
push dword [ebp + 0xc]
lea ecx, [edi + 8]
call fcn.004141c0
lea ecx, [edi + 0x24]
mov dword [edi + 0x20], 0
call fcn.0044a9d0
xorps xmm0, xmm0
movups xmmword [edi + 0x68], xmm0
mov dword [edi + 0x78], 0
mov dword [edi + 0x7c], 0xf
mov byte [edi + 0x68], 0
movups xmmword [edi + 0x80], xmm0
mov dword [edi + 0x90], 0
mov dword [edi + 0x94], 0xf
mov byte [edi + 0x80], 0
mov word [edi + 0x98], 0
mov byte [edi + 0x9a], 0
mov eax, dword [ebx + 8]
inc eax
movss xmm3, dword [ebx]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
mov eax, dword [ebx + 0x1c]
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x739f30]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x45d5ff
divss xmm2, xmm3
sub esp, 8
cvtps2pd xmm0, xmm2
movsd qword [ebp - 8], xmm0
fld qword [ebp - 8]
fstp qword [esp]
call fcn.005eb4a0
fstp qword [ebp - 8]
movsd xmm0, qword [ebp - 8]
add esp, 8
cvtpd2ps xmm0, xmm0
call fcn.006d4800
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
mov eax, dword [ebx + 0x1c]
cmp eax, ecx
jae 0x45d5e3
cmp eax, 0x200
jae 0x45d5e1
shl eax, 3
cmp eax, ecx
jae 0x45d5e3
mov eax, ecx
push eax
mov ecx, ebx
call fcn.0040faf0
push esi
lea eax, [edi + 8]
mov ecx, ebx
push eax
lea eax, [ebp - 8]
push eax
call fcn.004100f0
mov edx, dword [eax]
jmp 0x45d602
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 0x45d62a
mov dword [ecx + eax*8], edi
jmp 0x45d64c
cmp esi, edx
jne 0x45d643
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 0x45d650
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 fcn.005acb94
int3
Function at 0x45dd70
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov edx, ecx
mov dword [ebp - 4], edx
cmp edi, dword [ebp + 0xc]
je 0x45df20
nop word [eax + eax]
cmp dword [edi + 0x14], 7
mov ebx, edi
mov eax, dword [edi + 0x10]
jbe 0x45dd9d
mov ebx, dword [edi]
xor ecx, ecx
mov esi, 0x811c9dc5
add eax, eax
mov dword [ebp + 8], eax
je 0x45ddc4
mov edx, eax
nop dword [eax]
movzx eax, byte [ebx + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edx
jb 0x45ddb0
mov edx, dword [ebp - 4]
push esi
push edi
lea eax, [ebp - 0x18]
mov ecx, edx
push eax
call fcn.0045f7d0
cmp dword [ebp - 0x14], 0
jne 0x45df11
mov ecx, dword [ebp - 4]
cmp dword [ecx + 8], 0x7ffffff
je 0x45df29
push 0x20
call fcn.005ab82c
add esp, 4
mov ebx, eax
lea ecx, [ebx + 8]
push edi
call fcn.004137f0
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 8]
mov eax, dword [edx + 0x1c]
inc ecx
mov dword [ebp + 8], eax
movss xmm3, dword [edx]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x739f30]
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x739f30]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x45dec6
divss xmm2, xmm3
sub esp, 8
cvtps2pd xmm0, xmm2
movsd qword [ebp - 0x10], xmm0
fld qword [ebp - 0x10]
fstp qword [esp]
call fcn.005eb4a0
fstp qword [ebp - 0x10]
movsd xmm0, qword [ebp - 0x10]
add esp, 8
cvtpd2ps xmm0, xmm0
call fcn.006d4800
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
mov eax, dword [ebp + 8]
cmp eax, ecx
jae 0x45de9c
cmp eax, 0x200
jae 0x45de9a
shl eax, 3
cmp eax, ecx
jae 0x45de9c
mov eax, ecx
mov ecx, dword [ebp - 4]
push eax
call fcn.0045f360
mov ecx, dword [ebp - 4]
lea eax, [ebx + 8]
push esi
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.0045f7d0
mov edx, dword [ebp - 4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
jmp 0x45dec9
mov ecx, dword [ebp - 0x18]
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 - 0xc], eax
mov eax, dword [edx + 0x18]
mov dword [ebp + 8], ecx
and eax, esi
mov ecx, dword [edx + 0xc]
mov esi, dword [ecx + eax*8]
cmp esi, dword [edx + 4]
jne 0x45def8
mov dword [ecx + eax*8], ebx
mov dword [ecx + eax*8 + 4], ebx
jmp 0x45df14
cmp esi, dword [ebp + 8]
jne 0x45df02
mov dword [ecx + eax*8], ebx
jmp 0x45df14
mov esi, dword [ebp - 0xc]
cmp dword [ecx + eax*8 + 4], esi
jne 0x45df14
mov dword [ecx + eax*8 + 4], ebx
jmp 0x45df14
mov edx, dword [ebp - 4]
add edi, 0x18
cmp edi, dword [ebp + 0xc]
jne 0x45dd90
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push str.unordered_map_set_too_long
call fcn.005acb94
int3
Function at 0x45ef10
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 0xc]
sub esp, 0xc
cmp dword [edx + 0x14], 7
mov eax, dword [edx + 0x10]
push ebx
push esi
push edi
mov ebx, ecx
mov edi, edx
jbe 0x45ef2b
mov edi, dword [edx]
xor ecx, ecx
mov esi, 0x811c9dc5
add eax, eax
je 0x45ef4c
mov edx, eax
movzx eax, byte [edi + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edx
jb 0x45ef38
mov edx, dword [ebp + 0xc]
push esi
push edx
lea eax, [ebp - 8]
mov ecx, ebx
push eax
call fcn.0045f7d0
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x45ef72
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], 0x7ffffff
je 0x45f0ab
push 0x20
call fcn.005ab82c
add esp, 4
mov edi, eax
push dword [ebp + 0xc]
lea ecx, [edi + 8]
call fcn.004137f0
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0x1c]
inc ecx
movss xmm3, dword [ebx]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x739f30]
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x739f30]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x45f048
divss xmm2, xmm3
sub esp, 8
cvtps2pd xmm0, xmm2
movsd qword [ebp - 8], xmm0
fld qword [ebp - 8]
fstp qword [esp]
call fcn.005eb4a0
fstp qword [ebp - 8]
movsd xmm0, qword [ebp - 8]
add esp, 8
cvtpd2ps xmm0, xmm0
call fcn.006d4800
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
mov eax, dword [ebx + 0x1c]
cmp eax, ecx
jae 0x45f02c
cmp eax, 0x200
jae 0x45f02a
shl eax, 3
cmp eax, ecx
jae 0x45f02c
mov eax, ecx
push eax
mov ecx, ebx
call fcn.0045f360
push esi
lea eax, [edi + 8]
mov ecx, ebx
push eax
lea eax, [ebp - 8]
push eax
call fcn.0045f7d0
mov edx, dword [eax]
jmp 0x45f04b
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 0x45f073
mov dword [ecx + eax*8], edi
jmp 0x45f095
cmp esi, edx
jne 0x45f08c
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 0x45f099
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 fcn.005acb94
int3