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

Disassembly:
sub esp, 0x18
push ebx
mov ebx, dword [esp + 0x20]
push ebp
mov ebp, dword [esp + 0x28]
push edi
mov edi, ecx
cmp ebx, ebp
je 0x100dc6c6
cmp dword [ebx + 0x1c], 0xf
lea edx, [ebx + 8]
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x10]
jbe 0x100dc54b
mov edx, dword [edx]
xor ecx, ecx
push esi
mov esi, 0x811c9dc5
test eax, eax
je 0x100dc575
mov ebp, eax
nop dword [eax]
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, ebp
jb 0x100dc560
mov ebp, dword [esp + 0x30]
mov eax, dword [edi + 0x18]
mov edx, ebx
mov ecx, dword [esp + 0x18]
and eax, esi
mov esi, dword [ebx]
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
call fcn.100dcd40
dec dword [edi + 8]
cmp ebx, dword [esp + 0x10]
je 0x100dc5c2
mov dword [esp + 0x24], esi
cmp esi, ebp
je 0x100dc5d4
mov edx, esi
mov esi, dword [esi]
call fcn.100dcd40
dec dword [edi + 8]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x24], eax
jne 0x100dc5a4
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x14], ebx
jne 0x100dc5f9
mov eax, dword [esp + 0x1c]
mov dword [ecx], eax
jmp 0x100dc5fd
cmp dword [esp + 0x14], ebx
jne 0x100dc6bc
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov dword [ecx], esi
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, ebp
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x18
ret 8
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], eax
cmp esi, ebp
je 0x100dc6bc
nop dword [eax + eax]
cmp dword [esi + 0x1c], 0xf
lea edx, [esi + 8]
mov eax, dword [edx + 0x10]
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], eax
jbe 0x100dc626
mov edx, dword [edx]
xor ecx, ecx
mov ebx, 0x811c9dc5
test eax, eax
je 0x100dc64a
mov ebp, dword [esp + 0x2c]
movzx eax, byte [ecx + edx]
inc ecx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp ecx, ebp
jb 0x100dc635
mov ebp, dword [esp + 0x30]
mov eax, dword [edi + 0x18]
mov edx, esi
mov ecx, dword [esp + 0x18]
and eax, ebx
mov ebx, dword [ecx + eax*8 + 4]
mov esi, dword [esi]
mov dword [esp + 0x14], ebx
lea eax, [ecx + eax*8]
mov dword [esp + 0x2c], eax
call fcn.100dcd40
dec dword [edi + 8]
cmp dword [esp + 0x24], ebx
je 0x100dc68c
mov ebx, esi
cmp esi, ebp
je 0x100dc6b6
mov edx, esi
mov esi, dword [esi]
call fcn.100dcd40
dec dword [edi + 8]
cmp ebx, dword [esp + 0x14]
jne 0x100dc674
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x1c]
mov dword [eax], ebx
mov dword [eax + 4], ebx
cmp esi, ebp
jne 0x100dc610
mov eax, dword [esp + 0x20]
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, ebp
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x18
ret 8
mov eax, dword [esp + 0x2c]
mov dword [eax], esi
mov eax, dword [esp + 0x20]
mov dword [eax], esi
mov dword [esi + 4], eax
pop esi
pop edi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x18
ret 8
Function at 0x100dc7d0
Capabilities:
Hash data using fnv

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x24]
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, [esp + 0x10]
imul ebx, ecx, 0x1000193
push ebx
push edi
push eax
call fcn.100dd3e0
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100dc835
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
mov byte [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [0x1027c2ac], 0x5555555
je 0x100dc99c
push 0x30
call fcn.10127068
mov ecx, dword [edi]
mov esi, eax
lea ebp, [esi + 8]
xorps xmm0, xmm0
mov dword [ebp], ecx
add esp, 4
movups xmmword [ebp + 4], xmm0
lea ecx, [ebp + 8]
movups xmmword [ebp + 0x14], xmm0
mov dword [ebp + 0x24], 0
call fcn.100dc250
mov ecx, dword [0x1027c2ac]
mov edi, dword [0x1027c2c0]
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10180890]
mov eax, edi
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, edi
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x10180890]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [0x1027c2a4]
comiss xmm1, xmm0
jbe 0x100dc92e
divss xmm2, xmm0
sub esp, 8
movss dword [esp + 0x2c], xmm2
fld dword [esp + 0x2c]
fstp qword [esp]
call fcn.1014b1c0
add esp, 8
fstp dword [esp + 0x24]
movss xmm0, dword [esp + 0x24]
call fcn.1014d440
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp edi, ecx
jae 0x100dc912
cmp edi, 0x200
jae 0x100dc910
shl edi, 3
cmp edi, ecx
jae 0x100dc912
mov edi, ecx
push edi
call fcn.100dcda0
push ebx
push ebp
lea eax, [esp + 0x18]
push eax
call fcn.100dd3e0
mov ecx, dword [0x1027c2ac]
mov edx, dword [eax]
jmp 0x100dc932
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 4]
inc ecx
mov dword [0x1027c2ac], ecx
mov dword [esi], edx
mov dword [esi + 4], edi
mov dword [edi], esi
mov dword [edx + 4], esi
mov eax, dword [0x1027c2bc]
mov ecx, dword [0x1027c2b0]
and eax, ebx
mov ebx, dword [ecx + eax*8]
cmp ebx, dword [0x1027c2a8]
jne 0x100dc963
mov dword [ecx + eax*8], esi
jmp 0x100dc984
cmp ebx, edx
jne 0x100dc97e
mov dword [ecx + eax*8], esi
mov eax, dword [esp + 0x20]
mov dword [eax], esi
mov byte [eax + 4], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ecx + eax*8 + 4], edi
jne 0x100dc988
mov dword [ecx + eax*8 + 4], esi
mov eax, dword [esp + 0x20]
pop edi
mov dword [eax], esi
pop esi
pop ebp
mov byte [eax + 4], 1
pop ebx
add esp, 0xc
ret 8
push str.unordered_map_set_too_long
call fcn.10125c60
int3
Function at 0x100dc9b0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0xc
push ebx
push ebp
mov ebp, dword [esp + 0x1c]
mov ebx, ecx
push esi
push edi
mov edx, ebp
cmp dword [ebp + 0x14], 0xf
mov edi, dword [ebp + 0x10]
jbe 0x100dc9cb
mov edx, dword [ebp]
xor ecx, ecx
mov esi, 0x811c9dc5
test edi, edi
je 0x100dc9e7
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edi
jb 0x100dc9d6
push esi
push ebp
lea eax, [esp + 0x18]
mov ecx, ebx
push eax
call fcn.10028980
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100dca11
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
mov byte [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ebx + 8], 0x71c71c7
je 0x100dcb4d
push 0x24
call fcn.10127068
add esp, 4
mov edi, eax
lea ecx, [edi + 8]
push ebp
call fcn.1001b250
mov dword [edi + 0x20], 0
mov eax, dword [ebx + 8]
mov ebp, dword [ebx + 0x1c]
inc eax
movss xmm3, dword [ebx]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10180890]
mov eax, ebp
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, ebp
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x10180890]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x100dcaea
divss xmm2, xmm3
sub esp, 8
movss dword [esp + 0x2c], xmm2
fld dword [esp + 0x2c]
fstp qword [esp]
call fcn.1014b1c0
add esp, 8
fstp dword [esp + 0x24]
movss xmm0, dword [esp + 0x24]
call fcn.1014d440
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebp, ecx
jae 0x100dcacd
cmp ebp, 0x200
jae 0x100dcacb
shl ebp, 3
cmp ebp, ecx
jae 0x100dcacd
mov ebp, ecx
push ebp
mov ecx, ebx
call fcn.10026330
push esi
lea eax, [edi + 8]
mov ecx, ebx
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10028980
mov edx, dword [eax]
jmp 0x100dcaee
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 4]
inc dword [ebx + 8]
mov dword [edi], edx
mov dword [edi + 4], ebp
mov dword [ebp], edi
mov dword [edx + 4], edi
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0xc]
and eax, esi
mov esi, dword [ecx + eax*8]
cmp esi, dword [ebx + 4]
jne 0x100dcb14
mov dword [ecx + eax*8], edi
jmp 0x100dcb35
cmp esi, edx
jne 0x100dcb2f
mov dword [ecx + eax*8], edi
mov eax, dword [esp + 0x20]
mov dword [eax], edi
mov byte [eax + 4], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ecx + eax*8 + 4], ebp
jne 0x100dcb39
mov dword [ecx + eax*8 + 4], edi
mov eax, dword [esp + 0x20]
mov dword [eax], edi
pop edi
pop esi
pop ebp
mov byte [eax + 4], 1
pop ebx
add esp, 0xc
ret 8
push str.unordered_map_set_too_long
call fcn.10125c60
int3
Function at 0x100dcda0
Capabilities:
Hash data using fnv

Disassembly:
mov eax, 0x1fffffff
bsr ecx, eax
push ebx
push ebp
push esi
push edi
mov edi, 1
mov eax, edi
shl eax, cl
mov ecx, dword [esp + 0x14]
cmp ecx, eax
ja 0x100dceef
lea eax, [ecx - 1]
mov esi, dword [0x1027c2a8]
or eax, edi
bsr ecx, eax
push esi
lea ecx, [ecx + 1]
shl edi, cl
mov ecx, 0x1027c2b0
lea eax, [edi + edi]
push eax
call fcn.100dc6f0
mov ecx, dword [0x1027c2a8]
lea ebx, [edi - 1]
mov dword [0x1027c2bc], ebx
mov dword [0x1027c2c0], edi
mov ecx, dword [ecx]
mov edx, ecx
cmp ecx, esi
je 0x100dcee8
movzx eax, byte [ecx + 8]
xor eax, 0x811c9dc5
mov edx, dword [edx]
imul edi, eax, 0x1000193
movzx eax, byte [ecx + 9]
xor edi, eax
movzx eax, byte [ecx + 0xa]
imul edi, edi, 0x1000193
xor edi, eax
movzx eax, byte [ecx + 0xb]
imul edi, edi, 0x1000193
xor edi, eax
mov eax, dword [0x1027c2b0]
imul edi, edi, 0x1000193
and edi, ebx
mov ebx, dword [eax + edi*8]
lea eax, [eax + edi*8]
mov dword [esp + 0x14], eax
cmp ebx, esi
jne 0x100dce55
mov dword [eax], ecx
mov dword [eax + 4], ecx
jmp 0x100dcebb
mov eax, dword [eax + 4]
mov edi, dword [ecx + 8]
cmp edi, dword [eax + 8]
jne 0x100dce88
mov eax, dword [eax]
cmp eax, ecx
je 0x100dce7f
mov ebp, dword [ecx + 4]
mov dword [ebp], edx
mov ebx, dword [edx + 4]
mov dword [ebx], eax
mov edi, dword [eax + 4]
mov dword [edi], ecx
mov dword [eax + 4], ebx
mov dword [edx + 4], ebp
mov dword [ecx + 4], edi
mov eax, dword [esp + 0x14]
mov dword [eax + 4], ecx
jmp 0x100dcebb
cmp ebx, eax
je 0x100dce9c
nop dword [eax]
mov eax, dword [eax + 4]
cmp edi, dword [eax + 8]
je 0x100dcecc
cmp ebx, eax
jne 0x100dce90
mov ebp, dword [ecx + 4]
mov dword [ebp], edx
mov ebx, dword [edx + 4]
mov dword [ebx], eax
mov edi, dword [eax + 4]
mov dword [edi], ecx
mov dword [eax + 4], ebx
mov eax, dword [esp + 0x14]
mov dword [edx + 4], ebp
mov dword [ecx + 4], edi
mov dword [eax], ecx
mov ecx, edx
cmp edx, esi
je 0x100dcee8
mov ebx, dword [0x1027c2bc]
jmp 0x100dce04
mov ebx, dword [ecx + 4]
mov ebp, dword [eax]
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], ebp
mov eax, dword [ebp + 4]
mov dword [eax], ecx
mov dword [ebp + 4], edi
mov dword [edx + 4], ebx
mov dword [ecx + 4], eax
jmp 0x100dcebb
pop edi
pop esi
pop ebp
pop ebx
ret 4
push str.invalid_hash_bucket_count
call fcn.10125c60
int3

Function at 0x100ddaa0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebx
mov ebx, ecx
or eax, 0xffffffff
push esi
push edi
mov edi, 4
lea esi, [ebx + 4]
jmp dword [edi*4 + 0x100defc0]
Function at 0x100e9b80
Capabilities:
Hash data with crc32

Disassembly:
push ebx
mov ebx, dword [esp + 8]
push esi
push edi
mov edi, edx
not ebx
mov esi, ecx
mov eax, ebx
test edi, edi
je 0x100e9be0
mov cl, byte [esi]
lea esi, [esi + 1]
dec edi
cmp cl, 0x23
jne 0x100e9bc2
cmp edi, 2
jb 0x100e9bc2
cmp byte [esi], cl
jne 0x100e9bc2
cmp byte [esi + 1], cl
jne 0x100e9bc2
mov eax, ebx
movzx ecx, cl
movzx edx, al
xor edx, ecx
shr eax, 8
xor eax, dword [edx*4 + 0x10179b80]
jmp 0x100e9b93
movzx edx, al
movzx ecx, cl
xor edx, ecx
shr eax, 8
xor eax, dword [edx*4 + 0x10179b80]
test edi, edi
jne 0x100e9b93
pop edi
pop esi
not eax
pop ebx
ret 4
mov cl, byte [esi]
inc esi
test cl, cl
je 0x100e9c0f
cmp cl, 0x23
jne 0x100e9bf6
cmp byte [esi], cl
jne 0x100e9bf6
cmp byte [esi + 1], cl
cmove eax, ebx
movzx edx, al
movzx ecx, cl
xor edx, ecx
shr eax, 8
mov cl, byte [esi]
inc esi
xor eax, dword [edx*4 + 0x10179b80]
test cl, cl
jne 0x100e9be7
pop edi
pop esi
not eax
pop ebx
ret 4

Function at 0x100e9cf0
Capabilities:
Read file on windows

Disassembly:
push ebx
push ebp
mov ebp, dword [esp + 0xc]
push esi
push edi
test ebp, ebp
je 0x100e9d03
mov dword [ebp], 0
call fcn.100e9c20
mov esi, eax
test esi, esi
je 0x100e9dfb
push esi
call fcn.101387b5
mov ebx, eax
add esp, 4
cmp ebx, 0xffffffff
je 0x100e9df2
push 2
push 0
push esi
call fcn.10134266
add esp, 0xc
test eax, eax
jne 0x100e9df2
push esi
call fcn.101387b5
mov edi, eax
add esp, 4
cmp edi, 0xffffffff
je 0x100e9df2
push 0
push ebx
push esi
call fcn.10134266
add esp, 0xc
test eax, eax
jne 0x100e9df2
mov eax, dword [0x1019c5c0]
test eax, eax
je 0x100e9d72
inc dword [eax + 0x370]
mov eax, dword [esp + 0x18]
add eax, edi
push eax
call fcn.10134935
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x100e9df2
push esi
push edi
push 1
push ebx
call fcn.10133e89
add esp, 0x10
cmp eax, edi
je 0x100e9dc2
push esi
call fcn.101301e3
mov eax, dword [0x1019c5c0]
add esp, 4
test eax, eax
je 0x100e9db0
dec dword [eax + 0x370]
push ebx
call fcn.101339f9
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x100e9dd9
push eax
lea eax, [edi + ebx]
push 0
push eax
call fcn.10128f30
add esp, 0xc
push esi
call fcn.101301e3
add esp, 4
test ebp, ebp
je 0x100e9de9
mov dword [ebp], edi
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
ret 8
push esi
call fcn.101301e3
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret 8

Function at 0x100ec260
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov edx, dword [ecx + 0xc0]
mov eax, dword [ecx + 0xc8]
push esi
push edi
lea esi, [esp + 0xc]
mov edi, 4
mov eax, dword [eax + edx*4 - 4]
not eax
nop dword [eax]
movzx ecx, byte [esi]
lea esi, [esi + 1]
movzx edx, al
xor edx, ecx
shr eax, 8
xor eax, dword [edx*4 + 0x10179b80]
sub edi, 1
jne 0x100ec280
mov ecx, dword [0x1019c5c0]
not eax
pop edi
pop esi
cmp dword [ecx + 0x1bc8], eax
jne 0x100ec2b2
mov dword [ecx + 0x1bcc], eax
cmp dword [ecx + 0x1c04], eax
jne 0x100ec2c1
mov byte [ecx + 0x1c08], 1
ret 4
Function at 0x100ec2d0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
sub esp, 0x10
mov edx, dword [esp + 0x14]
push esi
mov esi, ecx
push edi
movss xmm0, dword [edx]
mov edi, 0x10
subss xmm0, dword [esi + 0xc]
mov ecx, dword [esi + 0xc0]
cvttss2si eax, xmm0
movss xmm0, dword [edx + 4]
subss xmm0, dword [esi + 0x10]
mov dword [esp + 8], eax
cvttss2si eax, xmm0
movss xmm0, dword [edx + 8]
subss xmm0, dword [esi + 0xc]
mov dword [esp + 0xc], eax
cvttss2si eax, xmm0
movss xmm0, dword [edx + 0xc]
subss xmm0, dword [esi + 0x10]
mov dword [esp + 0x10], eax
cvttss2si eax, xmm0
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0xc8]
lea esi, [esp + 8]
mov edx, dword [eax + ecx*4 - 4]
not edx
nop dword [eax]
movzx eax, byte [esi]
lea esi, [esi + 1]
movzx ecx, dl
xor ecx, eax
shr edx, 8
xor edx, dword [ecx*4 + 0x10179b80]
sub edi, 1
jne 0x100ec340
mov eax, dword [0x1019c5c0]
not edx
pop edi
pop esi
cmp dword [eax + 0x1bc8], edx
jne 0x100ec371
mov dword [eax + 0x1bcc], edx
cmp dword [eax + 0x1c04], edx
jne 0x100ec380
mov byte [eax + 0x1c08], 1
mov eax, edx
add esp, 0x10
ret 4
Function at 0x100f55b0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ecx
mov eax, dword [0x1019c5c0]
lea edx, [esp]
push ebx
push ebp
push esi
push edi
mov edi, dword [eax + 0x1b94]
mov esi, 4
add edi, 0xc0
mov dword [esp + 0x10], ecx
mov ebp, dword [edi]
mov ebx, dword [edi + 8]
mov ebx, dword [ebx + ebp*4 - 4]
not ebx
nop dword [eax]
movzx eax, byte [edx]
lea edx, [edx + 1]
movzx ecx, bl
xor ecx, eax
shr ebx, 8
xor ebx, dword [ecx*4 + 0x10179b80]
sub esi, 1
jne 0x100f55e0
mov esi, dword [edi + 4]
not ebx
cmp ebp, esi
jne 0x100f5627
lea ecx, [ebp + 1]
test esi, esi
je 0x100f5615
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, esi
jmp 0x100f561a
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, edi
call fcn.100aa5d0
mov ecx, dword [edi]
mov eax, dword [edi + 8]
mov dword [eax + ecx*4], ebx
inc dword [edi]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
Function at 0x100fa100
Capabilities:
Hash data with crc32

Disassembly:
movss xmm0, dword [0x101800d8]
sub esp, 0x14
push ebx
push ebp
push esi
push edi
mov edi, dword [0x1019c5c0]
comiss xmm0, dword [edi + 0x1e0c]
ja 0x100fa377
cmp dword [edi + 0x1e08], 0
jne 0x100fa16e
or edx, 0xffffffff
mov esi, 0x10179981
mov al, 0x23
or ebx, 0xffffffff
cmp al, 0x23
jne 0x100fa146
cmp byte [esi], al
jne 0x100fa146
cmp byte [esi + 1], al
cmove edx, ebx
movzx ecx, dl
movzx eax, al
xor ecx, eax
shr edx, 8
mov al, byte [esi]
inc esi
xor edx, dword [ecx*4 + 0x10179b80]
test al, al
jne 0x100fa138
not edx
mov ecx, edx
call fcn.100f0790
mov dword [edi + 0x1e08], eax
mov eax, dword [edi + 0x1cf4]
lea edx, [esp + 0x10]
mov dword [esp + 0x18], 0x7f7fffff
mov dword [esp + 0x1c], 0x7f7fffff
mov ecx, dword [eax]
mov eax, dword [edi + 0x1c18]
or eax, 0x10
movss xmm2, dword [ecx + 0xc]
movss xmm1, dword [ecx + 0x10]
mulss xmm1, dword [0x101800ec]
mov dword [edi + 0x1c18], eax
or eax, 1
mulss xmm2, dword [0x101800ec]
mov dword [edi + 0x1c64], 0
movss dword [esp + 0x14], xmm1
mov dword [edi + 0x1c68], 0
movss dword [esp + 0x10], xmm2
movups xmm0, xmmword [esp + 0x10]
movups xmmword [edi + 0x1c54], xmm0
movss xmm1, dword [ecx + 0x10]
movss xmm2, dword [ecx + 0xc]
mulss xmm1, dword [0x10180148]
mulss xmm2, dword [0x10180148]
addss xmm1, dword [ecx + 8]
addss xmm2, dword [ecx + 4]
mov dword [edi + 0x1c18], eax
mov ecx, 1
mov dword [edi + 0x1c30], 0x3f000000
movss dword [edi + 0x1c2c], xmm1
mov dword [edi + 0x1c34], 0x3f000000
movss dword [edi + 0x1c28], xmm2
mov dword [edi + 0x1c1c], 1
movss xmm1, dword [edi + 0x151c]
movss xmm0, dword [edi + 0x1520]
addss xmm1, xmm1
addss xmm0, xmm0
movss dword [esp + 0x10], xmm1
movss dword [esp + 0x14], xmm0
call fcn.100eab20
push 0xc1347
xor edx, edx
mov ecx, str.NavWindowingList
call fcn.100f2a30
mov ebp, dword [edi + 0x1b60]
sub ebp, 1
js 0x100fa361
nop dword [eax + eax]
mov eax, dword [edi + 0x1b68]
mov esi, dword [eax + ebp*4]
cmp byte [esi + 0x8b], 0
je 0x100fa358
cmp esi, dword [esi + 0x320]
jne 0x100fa358
test dword [esi + 8], 0x80000
jne 0x100fa358
mov ecx, dword [esi]
mov edx, ecx
cmp ecx, 0xffffffff
jae 0x100fa2e2
mov bl, byte [edx]
test bl, bl
je 0x100fa2de
cmp bl, 0x23
jne 0x100fa2d8
cmp byte [edx + 1], bl
je 0x100fa2de
inc edx
cmp edx, 0xffffffff
jb 0x100fa2c8
cmp ecx, edx
jne 0x100fa333
mov eax, dword [esi + 8]
test eax, 0x4000000
je 0x100fa2f3
mov ecx, str._Popup_
jmp 0x100fa333
test eax, 0x400
je 0x100fa32e
mov eax, str.MainMenuBar
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x100fa320
test dl, dl
je 0x100fa31c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x100fa320
add ecx, 2
add eax, 2
test dl, dl
jne 0x100fa300
xor eax, eax
jmp 0x100fa325
sbb eax, eax
or eax, 1
mov ecx, str._Main_menu_bar_
test eax, eax
je 0x100fa333
mov ecx, str._Untitled_
cmp dword [edi + 0x1e00], esi
lea eax, [esp + 0x10]
push eax
push 0
sete dl
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
call fcn.10115e50
sub ebp, 1
jns 0x100fa290
call fcn.100f4c80
mov ecx, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.100eaba0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
Function at 0x100fa460
Capabilities:
Hash data with crc32

Disassembly:
sub esp, 0x14
mov edx, dword [0x1019c5c0]
mov eax, ecx
push ebx
push ebp
push esi
push edi
mov edi, edx
mov dword [esp + 0x1c], eax
xor esi, esi
mov dword [esp + 0x18], esi
mov ebp, dword [edi + 0x1b94]
test al, 0x10
jne 0x100fa5c1
mov ebx, dword [ebp + 0x118]
test ebx, ebx
je 0x100fa4c1
cmp dword [edi + 0x1bc8], ebx
jne 0x100fa5b7
mov esi, dword [edi + 0x1c00]
xor eax, eax
cmp esi, 0xffffffff
cmove esi, eax
cmp byte [esi + edi + 0xec], al
je 0x100fa5b7
xor al, al
jmp 0x100fa54b
cmp byte [edi + 0xec], 0
je 0x100fa5b7
test al, 8
je 0x100fa5b7
test byte [ebp + 0x11c], 1
jne 0x100fa4f7
cmp dword [edi + 0x1bc8], esi
je 0x100fa5b7
cmp dword [edi + 0x1bf8], ebp
jne 0x100fa5b7
lea esi, [ebp + 0x120]
mov ecx, ebp
push esi
call fcn.100ec2d0
mov ebx, eax
mov ecx, esi
mov edx, ebx
mov dword [ebp + 0x118], ebx
call fcn.100ec5e0
mov byte [esp + 0x17], al
test al, al
je 0x100fa53b
cmp byte [edi + 0x3d8], 0
je 0x100fa53b
mov edx, ebp
mov ecx, ebx
call fcn.100ec390
mov ecx, ebp
call fcn.100f4d80
mov al, byte [esp + 0x17]
cmp dword [edi + 0x1bc8], ebx
jne 0x100fa5b7
mov edx, dword [0x1019c5c0]
xor esi, esi
mov byte [edi + 0x1bd5], al
cmp byte [edx + esi + 0xec], 0
mov ecx, dword [ebp + 0xc0]
mov eax, dword [ebp + 0xc8]
mov eax, dword [eax + ecx*4 - 4]
mov dword [esp + 0x18], eax
jne 0x100fa573
xor al, al
jmp 0x100fa58b
movss xmm1, dword [edx + 0x30]
movss xmm0, dword [edx + esi*4 + 0x444]
mulss xmm1, xmm1
comiss xmm0, xmm1
setae al
mov dword [edi + 0x1bdc], 0xffffffff
mov dword [edi + 0x1be0], 0xffffffff
mov dword [edi + 0x1be8], 0xffffffff
mov dword [edi + 0x1bec], 0xffffffff
test al, al
jne 0x100fa5fb
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
xor ebp, ebp
or ebx, 0xffffffff
mov edx, 0x10179971
mov al, 0x23
or esi, 0xffffffff
cmp al, 0x23
jne 0x100fa5de
cmp byte [edx], al
jne 0x100fa5de
cmp byte [edx + 1], al
cmove ebx, esi
movzx ecx, bl
movzx eax, al
xor ecx, eax
shr ebx, 8
mov al, byte [edx]
inc edx
xor ebx, dword [ecx*4 + 0x10179b80]
test al, al
jne 0x100fa5d0
not ebx
mov esi, ebp
cmp byte [edi + 0x1e3c], 0
jne 0x100fa63f
call fcn.100fa380
mov eax, dword [esp + 0x18]
mov dword [edi + 0x1e58], eax
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x1e54], ebx
mov byte [edi + 0x1e3c], 1
mov dword [edi + 0x1e40], eax
mov dword [edi + 0x1e48], esi
cmp ebx, dword [edi + 0x1bc8]
jne 0x100fa63f
mov byte [edi + 0x1bd6], 1
mov ebx, dword [esp + 0x1c]
mov eax, dword [edi + 0x1b38]
mov dword [edi + 0x1e44], eax
mov byte [edi + 0x1e3d], 1
test bl, 1
jne 0x100fa68d
xor edx, edx
xor ecx, ecx
call fcn.100f6680
cmp dword [edi + 0x1ea4], 0
je 0x100fa68d
test dword [edi + 0x1e98], 0x1000
je 0x100fa68d
mov eax, dword [edi + 0x1b94]
mov byte [eax + 0x8f], 1
mov byte [eax + 0xa8], 1
test bl, 0x12
jne 0x100fa699
and dword [ebp + 0x11c], 0xfffffffe
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x14
ret
Function at 0x100fcc80
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push esi
mov esi, ecx
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x100fccb6
mov eax, dword [0x1019c5c0]
mov dword [esi + 4], 0
mov dword [esi], 0
test eax, eax
je 0x100fcca6
dec dword [eax + 0x370]
push ecx
call fcn.101339f9
add esp, 4
mov dword [esi + 8], 0
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x100fccea
mov eax, dword [0x1019c5c0]
mov dword [esi + 0x10], 0
mov dword [esi + 0xc], 0
test eax, eax
je 0x100fccda
dec dword [eax + 0x370]
push ecx
call fcn.101339f9
add esp, 4
mov dword [esi + 0x14], 0
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x100fcd1e
mov eax, dword [0x1019c5c0]
mov dword [esi + 0x1c], 0
mov dword [esi + 0x18], 0
test eax, eax
je 0x100fcd0e
dec dword [eax + 0x370]
push ecx
call fcn.101339f9
add esp, 4
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x100fcd6e
mov eax, dword [0x1019c5c0]
mov dword [esi + 0x40], 0
mov dword [esi + 0x3c], 0
test eax, eax
je 0x100fcd5e
dec dword [eax + 0x370]
push ecx
call fcn.101339f9
add esp, 4
mov dword [esi + 0x44], 0
mov ecx, dword [esi + 0x50]
test ecx, ecx
je 0x100fcda2
mov eax, dword [0x1019c5c0]
mov dword [esi + 0x4c], 0
mov dword [esi + 0x48], 0
test eax, eax
je 0x100fcd92
dec dword [eax + 0x370]
push ecx
call fcn.101339f9
add esp, 4
mov dword [esi + 0x50], 0
mov ecx, dword [esi + 0x5c]
test ecx, ecx
je 0x100fcdd6
mov eax, dword [0x1019c5c0]
mov dword [esi + 0x58], 0
mov dword [esi + 0x54], 0
test eax, eax
je 0x100fcdc6
dec dword [eax + 0x370]
push ecx
call fcn.101339f9
add esp, 4
mov dword [esi + 0x5c], 0
lea ecx, [esi + 0x78]
pop esi
jmp fcn.100ff890