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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
mov dword [ebp - 4], edx
mov edx, dword [ebp + 8]
mov dword [ebp - 8], ecx
push esi
push edi
test edx, edx
je 0x52d67c
mov ecx, edx
mov dword [ebp - 0x18], 0
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x52d584
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.00414570
cmp dword [ebp - 0x14], 0xf
lea esi, [ebp - 0x28]
mov ebx, dword [ebp - 0x28]
mov edx, 0x811c9dc5
mov edi, dword [ebp - 0x18]
cmova esi, ebx
xor ecx, ecx
test edi, edi
je 0x52d5c3
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x52d5b2
mov edi, dword [ebp - 4]
lea eax, [ebp - 0x28]
push edx
push eax
lea eax, [ebp - 0x10]
mov ecx, edi
push eax
call fcn.004100f0
mov esi, dword [eax + 4]
test esi, esi
jne 0x52d5e0
mov esi, dword [edi + 4]
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x52d613
lea ecx, [eax + 1]
mov eax, ebx
cmp ecx, 0x1000
jb 0x52d609
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52d6c0
push ecx
push ebx
call fcn.005ab85c
add esp, 8
cmp esi, dword [edi + 4]
je 0x52d62f
mov eax, dword [esi + 0x20]
inc dword [eax + 8]
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xc
call fcn.005ab82c
mov edi, dword [ebp + 8]
mov esi, eax
add esp, 4
mov dword [esi + 4], 0
lea ecx, [esi + 4]
mov edx, edi
mov dword [esi], 0
push 0
push ecx
mov ecx, dword [ebp - 8]
mov dword [esi + 8], 0
mov ecx, dword [ecx + 0x2a90]
call fcn.004a5da0
add esp, 8
mov dword [esi], eax
test eax, eax
jne 0x52d685
push 0xc
push esi
call fcn.005ab85c
add esp, 8
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x28]
push edi
mov dword [esi + 8], 1
mov dword [eax], esi
call fcn.004142a0
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.0052af50
lea ecx, [ebp - 0x28]
mov eax, dword [eax]
mov dword [eax + 0x20], esi
call fcn.004143d0
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.005c695f
int3
Function at 0x531df0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x531f30
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je 0x531e0f
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [ebx + 0x7c]
dec dword [eax + 0x20]
mov edx, dword [ebx + 0x60]
mov eax, dword [edx]
cmp eax, edx
je 0x531e2c
nop
mov ecx, dword [eax + 8]
dec dword [ecx + 0x2c]
mov eax, dword [eax]
cmp eax, edx
jne 0x531e20
movzx eax, bl
xor eax, 0x811c9dc5
mov dword [ebp + 8], ebx
imul ecx, eax, 0x1000193
mov eax, ebx
shr eax, 8
movzx eax, al
push esi
push edi
xor ecx, eax
mov edi, dword [ebx + 0x7c]
imul ecx, ecx, 0x1000193
mov eax, ebx
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
lea ecx, [edi + 0x58]
push eax
mov dword [ebp - 4], eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.004301e0
mov esi, dword [eax + 4]
test esi, esi
je 0x531ed6
mov ecx, dword [edi + 0x70]
and ecx, dword [ebp - 4]
mov eax, dword [edi + 0x64]
lea ecx, [eax + ecx*8]
mov eax, dword [ecx]
cmp dword [ecx + 4], esi
jne 0x531eb3
cmp eax, esi
jne 0x531eab
mov eax, dword [edi + 0x5c]
mov dword [ecx], eax
mov dword [ecx + 4], eax
jmp 0x531ebb
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
jmp 0x531ebb
cmp eax, esi
jne 0x531ebb
mov eax, dword [esi]
mov dword [ecx], eax
mov edx, dword [esi]
dec dword [edi + 0x60]
mov eax, dword [esi + 4]
push 0xc
push esi
mov dword [eax], edx
mov eax, dword [esi + 4]
mov dword [edx + 4], eax
call fcn.005ab85c
add esp, 8
lea ecx, [ebx + 0x5c]
call fcn.00435d60
mov ecx, dword [ebx + 0x30]
pop edi
pop esi
cmp ecx, 0xf
jbe 0x531f10
mov eax, dword [ebx + 0x1c]
inc ecx
cmp ecx, 0x1000
jb 0x531f06
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x531f37
mov eax, edx
push ecx
push eax
call fcn.005ab85c
add esp, 8
push 0x80
push ebx
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x30], 0xf
mov byte [ebx + 0x1c], 0
call fcn.005ab85c
add esp, 8
pop ebx
mov esp, ebp
pop ebp
ret 4
call fcn.005c695f
int3
Function at 0x533150
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 0x533168
mov edi, dword [edx]
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x533186
movzx eax, byte [edi + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edx + 0x10]
jb 0x533174
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 0x5331ac
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 0x5332ec
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 0x533289
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 0x53326d
cmp eax, 0x200
jae 0x53326b
shl eax, 3
cmp eax, ecx
jae 0x53326d
mov eax, ecx
push eax
mov ecx, ebx
call fcn.0042cb60
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 0x53328c
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 0x5332b4
mov dword [ecx + eax*8], edi
jmp 0x5332d6
cmp esi, edx
jne 0x5332cd
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 0x5332da
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 0x537dc0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x38
mov dword [esp + 0xc], ecx
xorps xmm0, xmm0
mov ecx, dword [ebp + 8]
mov edx, ecx
push esi
push edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x30], 0
lea esi, [edx + 1]
mov dword [esp + 0x34], 0
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x537df0
sub edx, esi
push edx
push ecx
lea ecx, [esp + 0x28]
call fcn.00414570
cmp dword [esp + 0x34], 0xf
lea esi, [esp + 0x20]
mov edi, dword [esp + 0x20]
mov edx, 0x811c9dc5
cmova esi, edi
xor ecx, ecx
cmp dword [esp + 0x30], ecx
jbe 0x537e34
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [esp + 0x30]
jb 0x537e21
push edx
lea eax, [esp + 0x24]
mov ecx, 0x74d130
push eax
lea eax, [esp + 0x20]
push eax
call fcn.004100f0
mov ecx, dword [0x74d134]
mov esi, ecx
mov eax, dword [eax + 4]
test eax, eax
cmovne esi, eax
mov eax, dword [esp + 0x34]
cmp eax, 0xf
jbe 0x537e93
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x537e83
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x537f72
push ecx
push edi
call fcn.005ab85c
mov ecx, dword [0x74d134]
add esp, 8
cmp esi, ecx
je 0x537ea2
lea eax, [esi + 0x20]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
mov edx, dword [ebp + 8]
xorps xmm0, xmm0
mov ecx, edx
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x537ec2
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x28]
call fcn.00414570
cmp dword [esp + 0x34], 0xf
lea esi, [esp + 0x20]
mov edi, dword [esp + 0x20]
mov edx, 0x811c9dc5
cmova esi, edi
xor ecx, ecx
cmp dword [esp + 0x30], ecx
jbe 0x537f06
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [esp + 0x30]
jb 0x537ef3
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x20]
push edx
push eax
lea eax, [esp + 0x20]
push eax
lea ecx, [ecx + 0x30]
call fcn.004100f0
mov esi, dword [eax + 4]
test esi, esi
jne 0x537f2b
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx + 0x34]
mov eax, dword [esp + 0x34]
cmp eax, 0xf
jbe 0x537f5b
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x537f51
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x537f72
push ecx
push edi
call fcn.005ab85c
add esp, 8
mov edx, dword [esp + 0x14]
lea ecx, [esi + 0x20]
xor eax, eax
pop edi
cmp esi, dword [edx + 0x34]
pop esi
cmovne eax, ecx
mov esp, ebp
pop ebp
ret 4
call fcn.005c695f
int3
Function at 0x538020
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x28
mov edx, dword [ebp + 8]
xorps xmm0, xmm0
mov ecx, edx
movaps xmmword [esp + 8], xmm0
push esi
push edi
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x538050
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x18]
call fcn.00414570
cmp dword [esp + 0x24], 0xf
lea edi, [esp + 0x10]
mov esi, dword [esp + 0x10]
mov edx, 0x811c9dc5
cmova edi, esi
xor ecx, ecx
cmp dword [esp + 0x20], ecx
jbe 0x538094
movzx eax, byte [edi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [esp + 0x20]
jb 0x538081
push edx
lea eax, [esp + 0x14]
mov ecx, 0x74d150
push eax
lea eax, [esp + 0x10]
push eax
call fcn.004100f0
mov edx, dword [0x74d154]
mov edi, edx
mov eax, dword [eax + 4]
test eax, eax
cmovne edi, eax
mov eax, dword [esp + 0x24]
cmp eax, 0xf
jbe 0x5380ef
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x5380df
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x538101
push ecx
push esi
call fcn.005ab85c
mov edx, dword [0x74d154]
add esp, 8
xor eax, eax
lea ecx, [edi + 0x20]
cmp edi, edx
pop edi
cmovne eax, ecx
pop esi
mov esp, ebp
pop ebp
ret 4
call fcn.005c695f
int3
Function at 0x539820
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [0x74d744]
push 0x7484b8
mov dword [ebp + 8], edi
call fcn.005adc82
add esp, 4
test eax, eax
jne 0x53993a
cmp dword [0x7484e4], 0x7fffffff
je 0x539941
add dword [ebx + 0x50], 0xffffffff
mov dword [ebp - 8], ebx
jne 0x539924
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, ebx
shr eax, 8
movzx eax, al
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
lea ecx, [edi + 0x14]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004301e0
mov eax, dword [eax + 4]
test eax, eax
jne 0x5398bd
mov eax, dword [edi + 0x18]
cmp eax, dword [edi + 0x18]
je 0x5398cb
mov ecx, edi
call fcn.00539f10
jmp 0x539924
mov esi, dword [edi + 0xc]
push ebx
push esi
push dword [edi + 8]
mov dword [ebp - 8], esi
call fcn.005aedc0
mov edi, eax
cmp edi, esi
je 0x53991d
lea ecx, [edi + 4]
cmp ecx, esi
je 0x5398fa
mov eax, dword [ecx]
cmp eax, ebx
je 0x5398f3
mov dword [edi], eax
add edi, 4
add ecx, 4
cmp ecx, esi
jne 0x5398e8
cmp edi, esi
je 0x53991d
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0xc]
mov eax, dword [ebp - 8]
sub esi, eax
push esi
push eax
push edi
call fcn.005c3580
mov ecx, dword [ebp + 8]
lea eax, [esi + edi]
add esp, 0xc
mov dword [ecx + 0xc], eax
mov ecx, ebx
call fcn.00539080
push 0x7484b8
call fcn.005adcb4
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 5
call fcn.005adc4d
push 6
mov dword [0x7484e4], 0x7ffffffe
call fcn.005adc4d
int3
Function at 0x539bc0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
push edi
push 0x7484b8
call fcn.005adc82
add esp, 4
test eax, eax
jne 0x539d09
mov eax, dword [0x7484e4]
cmp eax, 0x7fffffff
je 0x539d10
mov edx, dword [ebp + 0xc]
xorps xmm0, xmm0
mov ecx, edx
mov dword [ebp - 0x10], 0
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0xc], 0
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x539c10
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x20]
call fcn.00414570
mov edx, dword [ebp - 0x10]
cmp edx, 0x28
jbe 0x539c44
cmp dword [ebp - 0xc], 0xf
lea eax, [ebp - 0x20]
mov dword [ebp - 0x10], 0x28
cmova eax, dword [ebp - 0x20]
mov byte [eax + 0x28], 0
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
lea ebx, [ebp - 0x20]
mov edi, dword [ebp - 0x20]
add eax, 0x30
cmp dword [ebp - 0xc], 0xf
mov esi, 0x811c9dc5
mov dword [ebp + 0xc], eax
cmova ebx, edi
xor ecx, ecx
test edx, edx
je 0x539c79
movzx eax, byte [ebx + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edx
jb 0x539c65
mov eax, dword [ebp + 0xc]
push esi
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 8]
push ecx
mov ecx, eax
call fcn.004100f0
mov esi, dword [eax + 4]
test esi, esi
je 0x539cc0
mov eax, dword [ebp + 0xc]
cmp esi, dword [eax + 4]
je 0x539cc0
push dword [esi + 0x20]
call fcn.005ab960
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
push dword [esi + 0x20]
push dword [esi + 0x24]
push eax
call fcn.005c3580
mov eax, dword [ebp + 0x14]
add esp, 0x10
mov ecx, dword [esi + 0x20]
mov bl, 1
mov dword [eax], ecx
jmp 0x539cc2
xor bl, bl
mov eax, dword [ebp - 0xc]
cmp eax, 0xf
jbe 0x539cf1
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x539ce7
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x539d1d
push ecx
push edi
call fcn.005ab85c
add esp, 8
push 0x7484b8
call fcn.005adcb4
add esp, 4
mov al, bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 5
call fcn.005adc4d
dec eax
push 6
mov dword [0x7484e4], eax
call fcn.005adc4d
call fcn.005c695f
int3
Function at 0x539d30
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x74d744]
push ebx
push esi
push edi
push 0x7484b8
mov dword [ebp - 8], eax
call fcn.005adc82
add esp, 4
test eax, eax
jne 0x539ef0
cmp dword [0x7484e4], 0x7fffffff
je 0x539ef7
mov edx, dword [ebp + 0xc]
xorps xmm0, xmm0
mov ebx, dword [ebp + 8]
mov ecx, edx
mov dword [ebp - 4], ebx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x539d81
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x2c]
call fcn.00414570
mov edx, dword [ebp - 0x1c]
cmp edx, 0x28
jbe 0x539db5
cmp dword [ebp - 0x18], 0xf
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0x28
cmova eax, dword [ebp - 0x2c]
mov byte [eax + 0x28], 0
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
lea edi, [ebp - 0x2c]
cmp eax, 0xf
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x2c]
mov esi, 0x811c9dc5
cmova edi, eax
mov dword [ebp - 0xc], eax
xor ecx, ecx
test edx, edx
je 0x539de6
movzx eax, byte [edi + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edx
jb 0x539dd5
push esi
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebx + 0x30]
call fcn.004100f0
mov esi, dword [eax + 4]
test esi, esi
jne 0x539e01
mov esi, dword [ebx + 0x34]
cmp esi, dword [ebx + 0x34]
je 0x539ea6
push dword [esi + 0x24]
call fcn.005ab969
mov ebx, dword [esi + 0x18]
lea edx, [esi + 8]
add esp, 4
cmp dword [edx + 0x14], 0xf
jbe 0x539e23
mov edx, dword [edx]
xor ecx, ecx
mov edi, 0x811c9dc5
test ebx, ebx
je 0x539e41
nop
movzx eax, byte [edx + ecx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, ebx
jb 0x539e30
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x3c]
and ecx, edi
lea ecx, [eax + ecx*8]
mov eax, dword [ecx]
cmp dword [ecx + 4], esi
jne 0x539e6c
cmp eax, esi
jne 0x539e64
mov eax, dword [ebx + 0x34]
mov dword [ecx], eax
mov dword [ecx + 4], eax
jmp 0x539e74
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
jmp 0x539e74
cmp eax, esi
jne 0x539e74
mov eax, dword [esi]
mov dword [ecx], eax
mov ecx, dword [esi]
mov edx, esi
dec dword [ebx + 0x38]
mov eax, dword [esi + 4]
mov dword [eax], ecx
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
call fcn.004d1d40
mov ecx, dword [ebp - 8]
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x14]
mov byte [ebx + 0x54], 0
push eax
add ecx, 0x14
call fcn.004e7120
mov bl, 1
jmp 0x539ea8
xor bl, bl
mov ecx, dword [ebp + 0xc]
cmp ecx, 0xf
jbe 0x539ed8
mov edx, dword [ebp - 0xc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x539ece
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x539f08
push ecx
push edx
call fcn.005ab85c
add esp, 8
push 0x7484b8
call fcn.005adcb4
add esp, 4
mov al, bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 5
call fcn.005adc4d
push 6
mov dword [0x7484e4], 0x7ffffffe
call fcn.005adc4d
call fcn.005c695f
int3
Function at 0x539f10
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
push edi
mov esi, ecx
push 0x7484b8
mov dword [ebp - 0x10], esi
call fcn.005adc82
add esp, 4
test eax, eax
jne 0x53a0ec
mov eax, dword [0x7484e4]
cmp eax, 0x7fffffff
je 0x53a0f3
cmp dword [esi + 0x1c], 0
je 0x53a0ca
cmp dword [0x74d1b4], 0
jne 0x53a0ca
mov edi, dword [esi + 0x18]
xor ecx, ecx
xor ebx, ebx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], ecx
mov dword [ebp - 0x18], ecx
mov esi, dword [edi]
mov dword [ebp - 0x14], ebx
cmp esi, edi
je 0x539fa9
mov ecx, dword [esi + 8]
lea edx, [ebp - 8]
mov dword [ebp - 8], ebx
mov byte [ecx + 0x54], 1
call fcn.005391b0
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00443110
mov esi, dword [esi]
cmp esi, edi
jne 0x539f77
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 4], ecx
jmp 0x539fab
xor esi, esi
push 0x18
call fcn.005ab82c
mov edi, eax
add esp, 4
mov eax, dword [ebp - 4]
sub eax, esi
mov dword [ebp - 4], eax
sar eax, 2
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [ebp - 0xc], eax
test eax, eax
je 0x53a053
cmp eax, 0x3fffffff
ja 0x53a100
shl eax, 2
test eax, eax
je 0x53a028
cmp eax, 0x1000
jb 0x53a01f
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x53a105
push ecx
call fcn.005ab82c
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x53a10f
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x53a028
push eax
call fcn.005ab82c
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [ebp - 8], eax
lea ecx, [eax + ecx*4]
mov dword [edi + 8], ecx
mov ecx, dword [ebp - 4]
push ecx
push esi
push eax
call fcn.005c3580
mov eax, dword [ebp - 8]
add esp, 0xc
mov ecx, dword [ebp - 0xc]
lea eax, [eax + ecx*4]
mov dword [edi + 4], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov dword [edi + 0xc], eax
lea eax, [ebp - 0x14]
push eax
push 0
push edi
push 0x53a870
push 0
push 0
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], 0x5394f0
call fcn.005cf765
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x53a0de
cmp dword [0x74d1b4], 0
jne 0x53a10a
mov eax, dword [ebp - 0x14]
mov dword [0x74d1b0], ecx
mov dword [0x74d1b4], eax
test esi, esi
je 0x53a0ca
sub ebx, esi
mov eax, esi
and ebx, 0xfffffffc
cmp ebx, 0x1000
jb 0x53a0c0
mov esi, dword [eax - 4]
add ebx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x53a10f
push ebx
push esi
call fcn.005ab85c
add esp, 8
push 0x7484b8
call fcn.005adcb4
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 6
mov dword [ebp - 0x14], 0
call fcn.005adc4d
push 5
call fcn.005adc4d
dec eax
push 6
mov dword [0x7484e4], eax
call fcn.005adc4d
call fcn.00410570
call fcn.004144a0
call fcn.004122d0
call fcn.005c695f
int3
Function at 0x53a390
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, ecx
mov edx, edi
cmp dword [edi + 0x14], 0xf
jbe 0x53a3a8
mov edx, dword [edi]
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edi + 0x10], ecx
jbe 0x53a3c6
movzx eax, byte [edx + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edi + 0x10]
jb 0x53a3b4
push esi
push edi
lea eax, [ebp - 0xc]
mov ecx, ebx
push eax
call fcn.004100f0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x53a47b
cmp dword [ebx + 8], 0x6666666
je 0x53a487
push 0x28
call fcn.005ab82c
mov ecx, eax
add esp, 4
mov dword [ebp + 8], ecx
push edi
lea edi, [ecx + 8]
mov ecx, edi
call fcn.004141c0
xorps xmm0, xmm0
movq qword [edi + 0x18], xmm0
mov dword [edi + 0x1c], 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 0x53a46c
mov ecx, ebx
call fcn.004acb00
push esi
push edi
lea eax, [ebp - 0xc]
mov ecx, ebx
push eax
call fcn.004100f0
mov ecx, dword [eax]
jmp 0x53a46f
mov ecx, dword [ebp - 0xc]
push dword [ebp + 8]
push ecx
push esi
mov ecx, ebx
call fcn.0040fa90
pop edi
pop esi
add eax, 0x20
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.unordered_map_set_too_long
call fcn.005acb94
int3