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

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov edx, 0x811c9dc5
cmp dword [ebp + 0x20], 0x10
push esi
push edi
mov edi, dword [ebp + 0xc]
lea esi, [ebp + 0xc]
cmovae esi, edi
xor ecx, ecx
cmp dword [ebp + 0x1c], ecx
jbe 0x436ac3
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [ebp + 0x1c]
jb 0x436ab1
push edx
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 8]
push eax
call fcn.0043cfb0
mov edx, dword [0x5d0c64]
mov esi, dword [ebp + 8]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x5d0c64]
je 0x436b2f
lea eax, [edx + 0x20]
mov ecx, esi
push eax
call fcn.004395e0
mov ecx, dword [ebp + 0x20]
cmp ecx, 0x10
jb 0x436b75
mov edx, dword [ebp + 0xc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x436b1b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x436b7f
push ecx
push edx
call fcn.00455d82
add esp, 8
mov eax, esi
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x1c
mov eax, dword [ebp + 0x20]
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
cmp eax, 0x10
jb 0x436b75
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x436b6b
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x436b7f
push ecx
push edi
call fcn.00455d82
add esp, 8
pop edi
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret 0x1c
call fcn.00508ab6
int3

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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov edx, 0x811c9dc5
cmp dword [ebp + 0x1c], 0x10
push esi
push edi
mov edi, dword [ebp + 8]
lea esi, [ebp + 8]
cmovae esi, edi
xor ecx, ecx
cmp dword [ebp + 0x18], ecx
jbe 0x436bc3
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [ebp + 0x18]
jb 0x436bb1
push edx
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.0043cfb0
mov ecx, dword [0x5d0c64]
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [0x5d0c64]
setne byte [ebp - 1]
cmp eax, 0x10
jb 0x436c18
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x436c0e
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x436c23
push ecx
push edi
call fcn.00455d82
add esp, 8
mov al, byte [ebp - 1]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x18
call fcn.00508ab6
int3
Function at 0x439ae0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push edi
mov edi, ecx
mov dword [ebp - 0x20], edi
cmp eax, ebx
je 0x439c82
cmp dword [eax + 0x1c], 8
lea edx, [eax + 8]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x14], ecx
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax + 4]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x18], ecx
jb 0x439b1b
mov edx, dword [edx]
xor ecx, ecx
push esi
mov esi, 0x811c9dc5
add eax, eax
je 0x439b44
mov ebx, eax
nop dword [eax]
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, ebx
jb 0x439b30
mov ebx, dword [ebp + 0xc]
mov eax, dword [edi + 0x18]
mov ecx, dword [ebp - 0x10]
and eax, esi
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
mov dword [ebp - 4], eax
mov eax, dword [eax + 4]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov edx, eax
mov dword [ebp - 0xc], ecx
mov esi, dword [eax]
call fcn.0043be30
dec dword [edi + 8]
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 8]
je 0x439b92
mov dword [ebp - 0x1c], esi
cmp esi, ebx
je 0x439ba1
mov edx, esi
mov esi, dword [esi]
call fcn.0043be30
dec dword [edi + 8]
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x1c], eax
jne 0x439b74
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
cmp dword [ebp - 0xc], eax
jne 0x439bc5
mov eax, dword [ebp - 0x14]
mov dword [ecx], eax
jmp 0x439bc8
mov eax, dword [ebp + 8]
cmp dword [ebp - 0xc], eax
jne 0x439c79
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 4]
mov dword [ecx], esi
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, ebx
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp - 0x18]
mov dword [ecx + 4], eax
cmp esi, ebx
je 0x439c79
cmp dword [esi + 0x1c], 8
lea edx, [esi + 8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x1c], esi
jb 0x439be4
mov edx, dword [edx]
xor ecx, ecx
mov ebx, 0x811c9dc5
add eax, eax
mov dword [ebp + 8], eax
je 0x439c08
mov edi, eax
movzx eax, byte [ecx + edx]
inc ecx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp ecx, edi
jb 0x439bf4
mov edi, dword [ebp - 0x20]
mov eax, dword [edi + 0x18]
mov edx, esi
mov ecx, dword [ebp - 0x10]
and eax, ebx
mov ebx, dword [ecx + eax*8 + 4]
mov esi, dword [esi]
mov dword [ebp - 0xc], ebx
lea eax, [ecx + eax*8]
mov dword [ebp + 8], eax
call fcn.0043be30
dec dword [edi + 8]
cmp dword [ebp - 0x1c], ebx
je 0x439c48
nop
mov ebx, esi
cmp esi, dword [ebp + 0xc]
je 0x439c71
mov edx, esi
mov esi, dword [esi]
call fcn.0043be30
dec dword [edi + 8]
cmp ebx, dword [ebp - 0xc]
jne 0x439c30
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp + 0xc]
mov dword [eax], ecx
mov dword [eax + 4], ecx
cmp esi, ebx
jne 0x439bd3
mov eax, dword [ebp - 0x18]
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, ebx
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [eax], esi
mov eax, dword [ebp - 0x18]
mov dword [eax], esi
mov dword [esi + 4], eax
pop esi
pop edi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x43afa0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov edx, dword [ebp + 0xc]
mov eax, ecx
push ebx
push esi
push edi
cmp dword [edx + 0x14], 8
mov edi, edx
mov ebx, dword [edx + 0x10]
mov dword [ebp - 4], eax
jb 0x43afbe
mov edi, dword [edx]
xor ecx, ecx
mov esi, 0x811c9dc5
add ebx, ebx
je 0x43afe4
nop dword [eax]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, ebx
jb 0x43afd0
mov eax, dword [ebp - 4]
push esi
push edx
lea ecx, [ebp - 0xc]
push ecx
mov ecx, eax
call fcn.0043ce30
pop edi
pop esi
pop ebx
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 8]
test ecx, ecx
jne 0x43b004
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
mov dword [eax], ecx
mov esp, ebp
pop ebp
ret 8
Function at 0x43b330
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], 8
mov eax, dword [edx + 0x10]
push ebx
push esi
push edi
mov ebx, ecx
mov edi, edx
jb 0x43b34b
mov edi, dword [edx]
xor ecx, ecx
mov esi, 0x811c9dc5
add eax, eax
je 0x43b36c
mov edx, eax
movzx eax, byte [ecx + edi]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edx
jb 0x43b358
mov edx, dword [ebp + 0xc]
push esi
push edx
lea eax, [ebp - 8]
mov ecx, ebx
push eax
call fcn.0043ce30
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x43b392
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 0x43b4cb
push 0x20
call fcn.00455aa7
add esp, 4
mov edi, eax
push dword [ebp + 0xc]
lea ecx, [edi + 8]
call fcn.00438e30
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 + 0x59f900]
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x59f900]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x43b468
divss xmm2, xmm3
sub esp, 8
cvtps2pd xmm0, xmm2
movsd qword [ebp - 8], xmm0
fld qword [ebp - 8]
fstp qword [esp]
call int.005183f0
fstp qword [ebp - 8]
movsd xmm0, qword [ebp - 8]
add esp, 8
cvtpd2ps xmm0, xmm0
call fcn.00542f70
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
mov eax, dword [ebx + 0x1c]
cmp eax, ecx
jae 0x43b44c
cmp eax, 0x200
jae 0x43b44a
shl eax, 3
cmp eax, ecx
jae 0x43b44c
mov eax, ecx
push eax
mov ecx, ebx
call fcn.0043c930
push esi
lea eax, [edi + 8]
mov ecx, ebx
push eax
lea eax, [ebp - 8]
push eax
call fcn.0043ce30
mov edx, dword [eax]
jmp 0x43b46b
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 0x43b493
mov dword [ecx + eax*8], edi
jmp 0x43b4b5
cmp esi, edx
jne 0x43b4ac
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 0x43b4b9
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 0x594fe0
call fcn.00502543
int3
Function at 0x43b9c0
Capabilities:
Encode data using xor
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
mov edx, dword [ebx + 0xc]
sub esp, 8
cmp dword [edx + 0x14], 0x10
push esi
push edi
mov edi, edx
jb 0x43b9e8
mov edi, dword [edx]
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x43ba06
movzx eax, byte [ecx + edi]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edx + 0x10]
jb 0x43b9f4
push esi
push edx
lea eax, [ebp - 8]
push eax
call fcn.0043cfb0
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x43ba2c
mov eax, dword [ebx + 8]
mov dword [eax], ecx
mov byte [eax + 4], 0
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
cmp dword [0x5d0c68], 0x4924924
je 0x43bba6
push 0x38
call fcn.00455aa7
add esp, 4
mov edi, eax
push dword [ebx + 0xc]
lea ecx, [edi + 8]
call fcn.004395e0
xorps xmm0, xmm0
movups xmmword [edi + 0x20], xmm0
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0xf
mov byte [edi + 0x20], 0
mov ecx, dword [0x5d0c68]
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x59f900]
mov eax, dword [0x5d0c7c]
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x59f900]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [0x5d0c60]
comiss xmm1, xmm0
jbe 0x43bb33
divss xmm2, xmm0
sub esp, 8
cvtps2pd xmm0, xmm2
movsd qword [ebp - 8], xmm0
fld qword [ebp - 8]
fstp qword [esp]
call int.005183f0
fstp qword [ebp - 8]
movsd xmm0, qword [ebp - 8]
add esp, 8
cvtpd2ps xmm0, xmm0
call fcn.00542f70
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
mov eax, dword [0x5d0c7c]
cmp eax, ecx
jae 0x43bb0f
cmp eax, 0x200
jae 0x43bb0d
shl eax, 3
cmp eax, ecx
jae 0x43bb0f
mov eax, ecx
push eax
call fcn.0043cb80
push esi
lea eax, [edi + 8]
push eax
lea eax, [ebp - 8]
push eax
call fcn.0043cfb0
mov ecx, dword [0x5d0c68]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 4], eax
jmp 0x43bb36
mov edx, dword [ebp - 8]
mov eax, dword [edx + 4]
inc ecx
mov dword [0x5d0c68], ecx
mov dword [edi + 4], eax
mov dword [edi], edx
mov dword [eax], edi
mov dword [edx + 4], edi
mov ecx, dword [0x5d0c6c]
mov dword [ebp - 4], eax
mov eax, dword [0x5d0c78]
and eax, esi
mov esi, dword [ecx + eax*8]
cmp esi, dword [0x5d0c64]
jne 0x43bb6a
mov dword [ecx + eax*8], edi
jmp 0x43bb8e
cmp esi, edx
jne 0x43bb85
mov dword [ecx + eax*8], edi
mov eax, dword [ebx + 8]
mov dword [eax], edi
mov byte [eax + 4], 1
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
mov edx, dword [ebp - 4]
cmp dword [ecx + eax*8 + 4], edx
jne 0x43bb92
mov dword [ecx + eax*8 + 4], edi
mov eax, dword [ebx + 8]
mov dword [eax], edi
pop edi
mov byte [eax + 4], 1
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
push 0x594fe0
call fcn.00502543
int3
Function at 0x452620
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
push edi
push esi
lea ecx, [esp + 0x10]
lea eax, [ebx + 8]
push ecx
mov ecx, eax
mov dword [esp + 0x1c], eax
call fcn.00454a80
mov eax, dword [esp + 0xc]
cmp eax, dword [ebx + 0xc]
je 0x45265d
mov eax, dword [eax + 0x20]
mov dword [esi + 0x30], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xc
mov dword [esp + 0x2c], 0
call fcn.00455aa7
add esp, 4
lea ecx, [esp + 0x2c]
mov dword [eax], eax
mov dword [eax + 4], eax
push eax
push 0x10
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 7
mov dword [esp + 0x44], 8
mov dword [esp + 0x28], 0x3f800000
call fcn.0043a630
mov edi, dword [ebx + 0xc]
mov esi, dword [edi]
cmp esi, edi
je 0x4526d8
nop dword [eax]
lea eax, [esi + 0x20]
push eax
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x28]
call fcn.00454af0
mov esi, dword [esi]
cmp esi, edi
jne 0x4526c0
mov edi, dword [ebx + 0x30]
mov esi, dword [ebx + 0x2c]
cmp esi, edi
je 0x452701
cmp dword [esi + 0x30], 0
lea eax, [esi + 0x30]
jl 0x4526fa
push eax
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x28]
call fcn.00454af0
add esi, 0x34
cmp esi, edi
jne 0x4526e2
mov esi, dword [esp + 0x24]
xor ebx, ebx
movzx eax, bl
xor eax, 0x811c9dc5
mov dword [esp + 0xc], ebx
imul ecx, eax, 0x1000193
mov eax, ebx
sar eax, 8
movzx eax, al
xor ecx, eax
mov eax, ebx
sar eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
sar eax, 0x18
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [esp + 0x20]
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.004555e0
mov ecx, esi
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
cmp ecx, esi
je 0x45276e
inc ebx
jmp 0x452707
lea ecx, [esp + 0x20]
call fcn.0044f010
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
push eax
mov dword [eax + 0x30], ebx
call fcn.00452d70
pop edi
pop esi
mov dword [eax], ebx
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x452d70
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
sub esp, 0x18
cmp dword [edx + 0x14], 0x10
push ebx
push esi
push edi
mov ebx, ecx
mov esi, edx
jb 0x452d88
mov esi, dword [edx]
xor ecx, ecx
mov edi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x452da6
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, dword [edx + 0x10]
jb 0x452d94
push edi
push edx
lea eax, [ebp - 0xc]
mov ecx, ebx
push eax
call fcn.004556b0
mov esi, dword [ebp - 8]
test esi, esi
jne 0x452e9d
cmp dword [ebx + 8], 0x71c71c7
je 0x452ea9
push 0x24
call fcn.00455aa7
add esp, 4
mov esi, eax
push dword [ebp + 8]
lea ecx, [esi + 8]
call fcn.004395e0
mov dword [esi + 0x20], 0
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0x1c]
inc ecx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x59f900]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x59f900]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebx]
jbe 0x452e44
mov ecx, ebx
call fcn.00455060
push edi
lea eax, [esi + 8]
mov ecx, ebx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004556b0
mov edx, dword [eax]
jmp 0x452e47
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 4]
inc dword [ebx + 8]
mov dword [esi + 4], eax
mov dword [esi], edx
mov dword [eax], esi
mov dword [edx + 4], esi
mov ecx, dword [ebx + 0xc]
mov dword [ebp + 8], eax
mov eax, dword [ebx + 0x18]
and eax, edi
mov edi, dword [ecx + eax*8]
cmp edi, dword [ebx + 4]
jne 0x452e7d
mov dword [ecx + eax*8], esi
mov dword [ecx + eax*8 + 4], esi
lea eax, [esi + 0x20]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp edi, edx
jne 0x452e90
mov dword [ecx + eax*8], esi
lea eax, [esi + 0x20]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [ebp + 8]
cmp dword [ecx + eax*8 + 4], edx
jne 0x452e9d
mov dword [ecx + eax*8 + 4], esi
pop edi
lea eax, [esi + 0x20]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x594fe0
call fcn.00502543
int3
Function at 0x454a80
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov edx, dword [ebp + 0xc]
mov eax, ecx
push ebx
push esi
push edi
cmp dword [edx + 0x14], 0x10
mov edi, edx
mov ebx, dword [edx + 0x10]
mov dword [ebp - 4], eax
jb 0x454a9e
mov edi, dword [edx]
xor ecx, ecx
mov esi, 0x811c9dc5
test ebx, ebx
je 0x454ac4
nop dword [eax]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, ebx
jb 0x454ab0
mov eax, dword [ebp - 4]
push esi
push edx
lea ecx, [ebp - 0xc]
push ecx
mov ecx, eax
call fcn.004556b0
pop edi
pop esi
pop ebx
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 8]
test ecx, ecx
jne 0x454ae4
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
mov dword [eax], ecx
mov esp, ebp
pop ebp
ret 8
Function at 0x454af0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, ecx
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 - 0x10]
push ebx
push eax
call fcn.004555e0
mov ecx, dword [ebp - 0xc]
test ecx, ecx
je 0x454b59
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 [edi + 8], 0x15555555
je 0x454c90
push 0xc
call fcn.00455aa7
mov ecx, dword [ebx]
mov esi, eax
add esp, 4
mov dword [ebp - 4], esi
mov dword [esi + 8], ecx
mov ecx, dword [edi + 8]
mov ebx, dword [edi + 0x1c]
inc ecx
mov eax, ebx
movss xmm3, dword [edi]
shr eax, 0x1f
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x59f900]
cvtpd2ps xmm2, xmm0
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x59f900]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x454c2e
divss xmm2, xmm3
sub esp, 8
cvtps2pd xmm0, xmm2
movsd qword [ebp - 0x10], xmm0
fld qword [ebp - 0x10]
fstp qword [esp]
call int.005183f0
fstp qword [ebp - 0x10]
movsd xmm0, qword [ebp - 0x10]
add esp, 8
cvtpd2ps xmm0, xmm0
call fcn.00542f70
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebx, ecx
jae 0x454c10
cmp ebx, 0x200
jae 0x454c0e
shl ebx, 3
cmp ebx, ecx
jae 0x454c10
mov ebx, ecx
push ebx
mov ecx, edi
call fcn.004550f0
push dword [ebp + 0xc]
lea eax, [esi + 8]
mov ecx, edi
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004555e0
mov edx, dword [eax]
jmp 0x454c31
mov edx, dword [ebp - 0x10]
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 [ecx + eax*8]
cmp esi, dword [edi + 4]
mov esi, dword [ebp - 4]
jne 0x454c5a
mov dword [ecx + eax*8], esi
jmp 0x454c7a
cmp dword [ecx + eax*8], edx
jne 0x454c74
mov dword [ecx + eax*8], esi
mov eax, dword [ebp + 8]
mov dword [eax], esi
mov byte [eax + 4], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp dword [ecx + eax*8 + 4], ebx
jne 0x454c7e
mov dword [ecx + eax*8 + 4], esi
mov eax, dword [ebp + 8]
pop edi
mov dword [eax], esi
pop esi
mov byte [eax + 4], 1
pop ebx
mov esp, ebp
pop ebp
ret 8
push 0x594fe0
call fcn.00502543
int3
Function at 0x454ee0
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], 0x10
push ebx
push esi
push edi
mov ebx, ecx
mov edi, edx
jb 0x454ef8
mov edi, dword [edx]
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x454f16
movzx eax, byte [ecx + edi]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edx + 0x10]
jb 0x454f04
push esi
push edx
lea eax, [ebp - 8]
mov ecx, ebx
push eax
call fcn.004556b0
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x454f3c
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 0x455054
push 0x24
call fcn.00455aa7
mov edi, eax
xorps xmm0, xmm0
mov eax, dword [ebp + 0xc]
add esp, 4
movups xmmword [edi + 8], xmm0
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0
movups xmm0, xmmword [eax]
movups xmmword [edi + 8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [edi + 0x18], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [edi + 0x20], 0
mov eax, dword [ebx + 8]
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x59f900]
mov eax, dword [ebx + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x59f900]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebx]
jbe 0x454ff1
mov ecx, ebx
call fcn.00455060
push esi
lea eax, [edi + 8]
mov ecx, ebx
push eax
lea eax, [ebp - 8]
push eax
call fcn.004556b0
mov edx, dword [eax]
jmp 0x454ff4
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 0x45501c
mov dword [ecx + eax*8], edi
jmp 0x45503e
cmp esi, edx
jne 0x455035
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 0x455042
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 0x594fe0
call fcn.00502543
int3