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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x491fa5
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x4b4180]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ebx, dword [ebp + 0xc]
movzx eax, byte [ebx]
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
movzx eax, byte [ebx + 1]
xor edx, eax
movzx eax, byte [ebx + 2]
imul edx, edx, 0x1000193
xor edx, eax
movzx eax, byte [ebx + 3]
imul ecx, edx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edi
push eax
mov dword [ebp + 0xc], eax
lea eax, [ebp - 0x1c]
push ebx
push eax
call fcn.00417820
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x429ac3
mov eax, dword [ebp + 8]
mov dword [eax], ecx
mov byte [eax + 4], 0
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
cmp dword [edi + 8], 0xaaaaaaa
je 0x429bff
lea eax, [edi + 4]
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0
push 0x18
mov dword [ebp - 0x10], 0
call fcn.0046baaa
mov ecx, dword [ebx]
mov esi, eax
add esp, 4
mov dword [ebp - 0x10], esi
mov dword [esi + 8], ecx
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [ebp - 4], 1
mov eax, dword [edi + 8]
mov ebx, dword [edi + 0x1c]
inc eax
movss xmm3, dword [edi]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movd xmm1, ebx
addsd xmm0, qword [eax*8 + 0x4a5470]
cvtdq2pd xmm1, xmm1
mov eax, ebx
shr eax, 0x1f
cvtpd2ps xmm0, xmm0
addsd xmm1, qword [eax*8 + 0x4a5470]
movaps xmm2, xmm0
cvtpd2ps xmm1, xmm1
divss xmm2, xmm1
comiss xmm2, xmm3
jbe 0x429ba1
divss xmm0, xmm3
call fcn.0041b320
call fcn.0048ebf0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebx, ecx
jae 0x429b83
cmp ebx, 0x200
jae 0x429b81
shl ebx, 3
cmp ebx, ecx
jae 0x429b83
mov ebx, ecx
push ebx
mov ecx, edi
call fcn.00417c30
push dword [ebp + 0xc]
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00417820
mov edx, dword [eax]
jmp 0x429ba4
mov edx, dword [ebp - 0x1c]
mov ebx, dword [edx + 4]
inc dword [edi + 8]
mov dword [esi], edx
mov dword [esi + 4], ebx
mov dword [ebx], esi
mov dword [edx + 4], esi
mov eax, dword [edi + 0x18]
and eax, dword [ebp + 0xc]
mov ecx, dword [edi + 0xc]
mov esi, dword [ebp - 0x14]
mov edi, dword [ecx + eax*8]
cmp edi, dword [esi]
mov esi, dword [ebp - 0x10]
jne 0x429bcf
mov dword [ecx + eax*8], esi
jmp 0x429bde
cmp edi, edx
jne 0x429bd8
mov dword [ecx + eax*8], esi
jmp 0x429be2
cmp dword [ecx + eax*8 + 4], ebx
jne 0x429be2
mov dword [ecx + eax*8 + 4], esi
mov eax, dword [ebp + 8]
mov dword [eax], esi
mov byte [eax + 4], 1
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.00453d9b
int3
Function at 0x429c10
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x491fa5
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x4b4180]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ebx, dword [ebp + 0xc]
movzx eax, byte [ebx]
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
movzx eax, byte [ebx + 1]
xor edx, eax
movzx eax, byte [ebx + 2]
imul edx, edx, 0x1000193
xor edx, eax
movzx eax, byte [ebx + 3]
imul ecx, edx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edi
push eax
mov dword [ebp + 0xc], eax
lea eax, [ebp - 0x1c]
push ebx
push eax
call fcn.00417820
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x429ca3
mov eax, dword [ebp + 8]
mov dword [eax], ecx
mov byte [eax + 4], 0
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
cmp dword [edi + 8], 0xaaaaaaa
je 0x429ddd
lea eax, [edi + 4]
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0
push 0x18
mov dword [ebp - 0x10], 0
call fcn.0046baaa
mov ecx, dword [ebx]
mov esi, eax
add esp, 4
mov dword [ebp - 0x10], esi
mov dword [esi + 8], ecx
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edx
mov dword [ebp - 4], 1
mov eax, dword [edi + 8]
mov ebx, dword [edi + 0x1c]
inc eax
movss xmm3, dword [edi]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movd xmm1, ebx
addsd xmm0, qword [eax*8 + 0x4a5470]
cvtdq2pd xmm1, xmm1
mov eax, ebx
shr eax, 0x1f
cvtpd2ps xmm0, xmm0
addsd xmm1, qword [eax*8 + 0x4a5470]
movaps xmm2, xmm0
cvtpd2ps xmm1, xmm1
divss xmm2, xmm1
comiss xmm2, xmm3
jbe 0x429d7f
divss xmm0, xmm3
call fcn.0041b320
call fcn.0048ebf0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebx, ecx
jae 0x429d61
cmp ebx, 0x200
jae 0x429d5f
shl ebx, 3
cmp ebx, ecx
jae 0x429d61
mov ebx, ecx
push ebx
mov ecx, edi
call fcn.00417c30
push dword [ebp + 0xc]
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00417820
mov edx, dword [eax]
jmp 0x429d82
mov edx, dword [ebp - 0x1c]
mov ebx, dword [edx + 4]
inc dword [edi + 8]
mov dword [esi], edx
mov dword [esi + 4], ebx
mov dword [ebx], esi
mov dword [edx + 4], esi
mov eax, dword [edi + 0x18]
and eax, dword [ebp + 0xc]
mov ecx, dword [edi + 0xc]
mov esi, dword [ebp - 0x14]
mov edi, dword [ecx + eax*8]
cmp edi, dword [esi]
mov esi, dword [ebp - 0x10]
jne 0x429dad
mov dword [ecx + eax*8], esi
jmp 0x429dbc
cmp edi, edx
jne 0x429db6
mov dword [ecx + eax*8], esi
jmp 0x429dc0
cmp dword [ecx + eax*8 + 4], ebx
jne 0x429dc0
mov dword [ecx + eax*8 + 4], esi
mov eax, dword [ebp + 8]
mov dword [eax], esi
mov byte [eax + 4], 1
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.00453d9b
int3
Function at 0x42cb80
Capabilities:
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x492435
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x18
push esi
push edi
mov eax, dword [0x4b4180]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, dword [ebx + 0xc]
movzx eax, byte [esi]
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
movzx eax, byte [esi + 1]
xor edx, eax
movzx eax, byte [esi + 2]
imul edx, edx, 0x1000193
xor edx, eax
movzx eax, byte [esi + 3]
imul ecx, edx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edi
push eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1c]
push esi
push eax
call fcn.00417820
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x42cc17
mov eax, dword [ebx + 8]
mov dword [eax], ecx
mov byte [eax + 4], 0
jmp 0x42cd50
cmp dword [edi + 8], 0x5d1745d
je 0x42cd66
lea eax, [edi + 4]
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 0
push 0x2c
mov dword [ebp - 0x20], 0
call fcn.0046baaa
mov ecx, dword [ebx + 0xc]
mov esi, eax
add esp, 4
mov dword [ebp - 0x20], esi
movups xmm0, xmmword [ecx]
movups xmmword [esi + 8], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [esi + 0x18], xmm0
mov ecx, dword [ecx + 0x20]
mov dword [esi + 0x28], ecx
mov dword [ebp - 4], 1
mov eax, dword [edi + 8]
inc eax
movss xmm3, dword [edi]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4a5470]
mov eax, dword [edi + 0x1c]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
cvtpd2ps xmm0, xmm0
addsd xmm1, qword [eax*8 + 0x4a5470]
movaps xmm2, xmm0
cvtpd2ps xmm1, xmm1
divss xmm2, xmm1
comiss xmm2, xmm3
jbe 0x42cd00
divss xmm0, xmm3
call fcn.0041b320
call fcn.0048ebf0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
mov eax, dword [edi + 0x1c]
cmp eax, ecx
jae 0x42ccdc
cmp eax, 0x200
jae 0x42ccda
shl eax, 3
cmp eax, ecx
jae 0x42ccdc
mov eax, ecx
push eax
mov ecx, edi
call fcn.0042b690
push dword [ebp - 0x14]
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00417820
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], eax
jmp 0x42cd03
mov edx, dword [ebp - 0x1c]
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 esi, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 0x18]
and eax, dword [ebp - 0x14]
mov edi, dword [ecx + eax*8]
cmp edi, dword [esi]
mov esi, dword [ebp - 0x20]
jne 0x42cd31
mov dword [ecx + eax*8], esi
jmp 0x42cd43
cmp edi, edx
jne 0x42cd3a
mov dword [ecx + eax*8], esi
jmp 0x42cd47
mov edx, dword [ebp - 0x18]
cmp dword [ecx + eax*8 + 4], edx
jne 0x42cd47
mov dword [ecx + eax*8 + 4], esi
mov eax, dword [ebx + 8]
mov dword [eax], esi
mov byte [eax + 4], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
push str.unordered_map_set_too_long
call fcn.00453d9b
int3
Function at 0x434b60
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
cmp byte [edi + 0x90], 0
je 0x434d10
cmp byte [esi + 0x58], 0
je 0x434c6a
movzx eax, byte [edi + 0x14]
lea ebx, [edi + 0x14]
xor eax, 0x811c9dc5
movsd xmm0, qword [0x4a53e8]
imul ecx, eax, 0x1000193
lea edx, [esi + 0x5c]
mov ah, byte [ebx + 2]
mov al, byte [ebx + 1]
mov byte [esp + 0xe], ah
mov ah, byte [ebx + 3]
mov byte [esp + 0xf], ah
movzx eax, al
xor eax, ecx
mov dword [esp + 0x10], edx
imul ecx, eax, 0x1000193
movzx eax, byte [esp + 0xe]
xor ecx, eax
movzx eax, byte [esp + 0xf]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edx
comisd xmm0, xmmword [edi + 0x58]
push eax
push ebx
jb 0x434c30
lea eax, [esp + 0x18]
push eax
call fcn.00417820
lea ecx, [esi + 0x5c]
mov eax, dword [eax + 4]
test eax, eax
jne 0x434c01
mov eax, dword [ecx + 4]
cmp eax, dword [esi + 0x60]
je 0x434d10
push ebx
call fcn.00434f10
cmp dword [esi + 0x64], 0
jne 0x434d10
lea eax, [esi + 8]
mov byte [esi + 0x58], 0
push eax
call fcn.00430270
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [esp + 0x20]
push eax
call fcn.00417820
mov eax, dword [eax + 4]
test eax, eax
je 0x434c47
mov ecx, dword [esp + 0x10]
jmp 0x434c4d
mov eax, dword [esi + 0x60]
lea ecx, [esi + 0x5c]
cmp eax, dword [esi + 0x60]
jne 0x434d10
push ebx
lea eax, [esp + 0x1c]
push eax
call fcn.00435170
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push edi
call fcn.004168c0
cmp eax, 0xff
je 0x434d10
push eax
lea eax, [esp + 0x24]
push eax
call fcn.004470f0
mov ecx, eax
call fcn.00447370
cmp byte [eax + 0x1c], 0
je 0x434d10
movsd xmm0, qword [edi + 0x58]
comisd xmm0, xmmword [0x4a53e8]
jbe 0x434d10
lea ebx, [edi + 0x14]
mov byte [esi + 0x58], 1
movzx eax, byte [ebx]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [ebx + 1]
xor ecx, eax
movzx eax, byte [ebx + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebx + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [esi + 0x5c]
push eax
push ebx
lea eax, [esp + 0x20]
push eax
call fcn.00417820
mov eax, dword [eax + 4]
test eax, eax
jne 0x434cf4
mov eax, dword [esi + 0x60]
cmp eax, dword [esi + 0x60]
jne 0x434d07
push ebx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esi + 0x5c]
call fcn.00435170
lea eax, [esi + 0x20]
push eax
call fcn.00430270
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x44c300
Capabilities:
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x492435
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x18
push esi
push edi
mov eax, dword [0x4b4180]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, dword [ebx + 0xc]
movzx eax, byte [esi]
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
movzx eax, byte [esi + 1]
xor edx, eax
movzx eax, byte [esi + 2]
imul edx, edx, 0x1000193
xor edx, eax
movzx eax, byte [esi + 3]
imul ecx, edx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edi
push eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1c]
push esi
push eax
call fcn.00417820
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x44c397
mov eax, dword [ebx + 8]
mov dword [eax], ecx
mov byte [eax + 4], 0
jmp 0x44c4f0
cmp dword [edi + 8], 0x5d1745d
je 0x44c506
lea eax, [edi + 4]
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 0
push 0x2c
mov dword [ebp - 0x20], 0
call fcn.0046baaa
mov ecx, dword [ebx + 0xc]
mov esi, eax
xorps xmm0, xmm0
mov dword [ebp - 0x20], esi
add esp, 4
mov ecx, dword [ecx]
mov dword [esi + 8], ecx
movups xmmword [esi + 0xc], xmm0
movups xmmword [esi + 0x1c], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
movq qword [esi + 0x1c], xmm0
mov dword [esi + 0x24], 0
mov byte [esi + 0x28], 0
mov dword [ebp - 4], 1
mov eax, dword [edi + 8]
inc eax
movss xmm3, dword [edi]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4a5470]
mov eax, dword [edi + 0x1c]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
cvtpd2ps xmm0, xmm0
addsd xmm1, qword [eax*8 + 0x4a5470]
movaps xmm2, xmm0
cvtpd2ps xmm1, xmm1
divss xmm2, xmm1
comiss xmm2, xmm3
jbe 0x44c4a0
divss xmm0, xmm3
call fcn.0041b320
call fcn.0048ebf0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
mov eax, dword [edi + 0x1c]
cmp eax, ecx
jae 0x44c47c
cmp eax, 0x200
jae 0x44c47a
shl eax, 3
cmp eax, ecx
jae 0x44c47c
mov eax, ecx
push eax
mov ecx, edi
call fcn.0042b690
push dword [ebp - 0x14]
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00417820
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], eax
jmp 0x44c4a3
mov edx, dword [ebp - 0x1c]
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 esi, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 0x18]
and eax, dword [ebp - 0x14]
mov edi, dword [ecx + eax*8]
cmp edi, dword [esi]
mov esi, dword [ebp - 0x20]
jne 0x44c4d1
mov dword [ecx + eax*8], esi
jmp 0x44c4e3
cmp edi, edx
jne 0x44c4da
mov dword [ecx + eax*8], esi
jmp 0x44c4e7
mov edx, dword [ebp - 0x18]
cmp dword [ecx + eax*8 + 4], edx
jne 0x44c4e7
mov dword [ecx + eax*8 + 4], esi
mov eax, dword [ebx + 8]
mov dword [eax], esi
mov byte [eax + 4], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
push str.unordered_map_set_too_long
call fcn.00453d9b
int3
Function at 0x44d810
Capabilities:
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x492435
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x18
push esi
push edi
mov eax, dword [0x4b4180]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, dword [ebx + 0xc]
movzx eax, byte [esi]
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
movzx eax, byte [esi + 1]
xor edx, eax
movzx eax, byte [esi + 2]
imul edx, edx, 0x1000193
xor edx, eax
movzx eax, byte [esi + 3]
imul ecx, edx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edi
push eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1c]
push esi
push eax
call fcn.00417820
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x44d8a7
mov eax, dword [ebx + 8]
mov dword [eax], ecx
mov byte [eax + 4], 0
jmp 0x44d9e0
cmp dword [edi + 8], 0x5d1745d
je 0x44d9f6
lea eax, [edi + 4]
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 0
push 0x2c
mov dword [ebp - 0x20], 0
call fcn.0046baaa
mov esi, eax
add esp, 4
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x20], esi
mov ecx, dword [eax]
mov dword [esi + 8], ecx
movups xmm0, xmmword [eax + 4]
movups xmmword [esi + 0xc], xmm0
movups xmm0, xmmword [eax + 0x14]
movups xmmword [esi + 0x1c], xmm0
mov dword [ebp - 4], 1
mov eax, dword [edi + 8]
inc eax
movss xmm3, dword [edi]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4a5470]
mov eax, dword [edi + 0x1c]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
cvtpd2ps xmm0, xmm0
addsd xmm1, qword [eax*8 + 0x4a5470]
movaps xmm2, xmm0
cvtpd2ps xmm1, xmm1
divss xmm2, xmm1
comiss xmm2, xmm3
jbe 0x44d990
divss xmm0, xmm3
call fcn.0041b320
call fcn.0048ebf0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
mov eax, dword [edi + 0x1c]
cmp eax, ecx
jae 0x44d96c
cmp eax, 0x200
jae 0x44d96a
shl eax, 3
cmp eax, ecx
jae 0x44d96c
mov eax, ecx
push eax
mov ecx, edi
call fcn.0042b690
push dword [ebp - 0x14]
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00417820
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], eax
jmp 0x44d993
mov edx, dword [ebp - 0x1c]
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 esi, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 0x18]
and eax, dword [ebp - 0x14]
mov edi, dword [ecx + eax*8]
cmp edi, dword [esi]
mov esi, dword [ebp - 0x20]
jne 0x44d9c1
mov dword [ecx + eax*8], esi
jmp 0x44d9d3
cmp edi, edx
jne 0x44d9ca
mov dword [ecx + eax*8], esi
jmp 0x44d9d7
mov edx, dword [ebp - 0x18]
cmp dword [ecx + eax*8 + 4], edx
jne 0x44d9d7
mov dword [ecx + eax*8 + 4], esi
mov eax, dword [ebx + 8]
mov dword [eax], esi
mov byte [eax + 4], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
push str.unordered_map_set_too_long
call fcn.00453d9b
int3
Function at 0x453120
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x418
mov eax, dword [0x4b4180]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
mov dword [ebp - 0x414], 0x400
push edi
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x410], eax
call fcn.00453290
mov ecx, dword [eax]
sub ecx, 0x10
call fcn.00402bd0
mov edi, eax
lea eax, [ebp - 0x408]
lea ecx, [edi + 0x10]
push ecx
push 0x4a5198
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
or eax, 0xffffffff
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x453189
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x40c]
push eax
lea eax, [ebp - 0x408]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
mov eax, dword [ebp + 8]
cmp eax, 0xff
jne 0x4531ff
cmp byte [ebp + 0xc], 0
jne 0x4531ff
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x408]
push eax
push 0x4a2ebc
push dword [ebp - 0x40c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueW]
mov ax, word [ebp - 0x408]
cmp ax, 0x31
jne 0x4531e7
mov dword [esi + 0xc], 1
jmp 0x45324b
cmp ax, 0x32
jne 0x4531f6
mov dword [esi + 0xc], 2
jmp 0x45324b
mov dword [esi + 0xc], 0
jmp 0x45324b
push eax
mov dword [esi + 0xc], eax
lea eax, [ebp - 0x408]
push 0x4a442c
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea ecx, [ebp - 0x408]
add esp, 0xc
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x453221
sub ecx, edx
lea eax, [ebp - 0x408]
sar ecx, 1
push ecx
push eax
push 1
push 0x4a2ebc
push dword [ebp - 0x40c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueW]
mov eax, dword [ebp - 0x410]
cmp eax, dword [esi + 0xc]
je 0x45325d
mov cl, 1
lea eax, [esi + 8]
xchg byte [eax], cl
push dword [ebp - 0x40c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0046b73a
mov esp, ebp
pop ebp
ret 8
Function at 0x4012ce
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 1
mov eax, 0x4d1b8b
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 1
push dword [ebp + 8]
call fcn.00401310
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x401302
push ebx
call fcn.0042df92
add esp, 4
mov eax, dword [ebp - 8]
jmp 0x40130a
mov esp, ebp
pop ebp
ret 8
Function at 0x4062fe
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x40631c
mov eax, 0x4d1e6b
push eax
push 1
mov ebx, 0x42e630
call fcn.0042df98
add esp, 0x10
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x406346
mov eax, 0
jmp 0x4063ba
push esi
push ebx
push edi
push edx
push ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
jle 0x4063a7
add eax, 8
mov edi, eax
mov ebx, edi
push edi
xor al, al
pop esi
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edi, eax
push edx
cld
xor ecx, ecx
dec ecx
mov edx, ecx
xor eax, eax
xor ebx, ebx
lodsb al, byte [esi]
xor al, cl
mov cl, ch
mov ch, dl
mov dl, dh
mov dh, 8
shr bx, 1
rcr ax, 1
jae 0x406390
xor ax, 0x8320
xor bx, 0xedb8
dec dh
jne 0x40637f
xor ecx, eax
xor edx, ebx
dec edi
jne 0x406370
not edx
not ecx
mov eax, edx
rol eax, 0x10
mov ax, cx
pop ecx
pop edx
pop edi
pop ebx
pop esi
leave
ret 4
mov esp, ebp
pop ebp
ret 4

Function at 0x40d446
Capabilities:
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
sub esp, 4
mov dword [ebp - 4], 0
jmp 0x40d468
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pushal
mov eax, 1
mov eax, 2
mov eax, 4
mov eax, 2
mov eax, 5
mov eax, 4
mov eax, 2
mov eax, 5
mov eax, 6
popal
push edx
mov edx, 1
mov edx, 2
mov edx, 4
mov edx, 2
mov edx, 5
mov edx, 4
mov edx, 2
mov edx, 5
mov edx, 5
pop edx
mov dword [ebp - 4], 0
push eax
push ecx
push edx
push ebx
push esi
push edi
nop
nop
nop
push ebx
push ecx
push edx
mov eax, ioctlsocket
cpuid
shr ecx, 0x10
mov esi, ecx
nop
pop edx
pop ecx
pop ebx
nop
push ebx
push ecx
push edx
mov eax, reloc.WS2_32.dll_getpeername
cpuid
shr edx, 0x18
shr ecx, 0x18
add edx, ecx
add esi, edx
nop
pop edx
pop ecx
pop ebx
nop
nop
nop
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x64]
add esi, eax
nop
mov eax, 1
cpuid
xor ebx, ebx
mov bl, al
add esi, ebx
nop
mov eax, 1
cpuid
xor ebx, ebx
mov bl, cl
add esi, ebx
nop
mov eax, 1
cpuid
xor ebx, ebx
mov bl, dl
add esi, ebx
nop
imul esi, esi, 0x666
mov dword [ebp - 4], esi
nop
pop edi
pop esi
pop ebx
pop edx
pop ecx
pop eax
mov eax, dword [ebp - 4]
jmp 0x40d58e
mov esp, ebp
pop ebp
ret