joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1013ce90
Capabilities:
Hash data using murmur3

Disassembly:
mov eax, dword [esp + 4]
test eax, eax
je 0x1013c4f7
push ebx
push esi
mov esi, dword [eax - 4]
lea ebx, [eax - 4]
push edi
lea edi, [esi + esi*2]
shl edi, 4
add edi, eax
test esi, esi
je 0x1013c4e1
nop dword [eax]
sub edi, 0x30
mov ecx, edi
call fcn.10091bf0
sub esi, 1
jne 0x1013c4d0
mov esi, dword [ebx]
lea eax, [esi + esi*2]
shl eax, 4
add eax, 4
push eax
push ebx
call fcn.1037dff7
add esp, 8
pop edi
pop esi
pop ebx
ret 4
sub esp, 0x14
push ebx
mov ebx, ecx
push ebp
push esi
push edi
mov ebp, dword [ebx + 4]
xor esi, esi
mov edi, dword [esp + 0x28]
mov dword [ebx], 0
mov dword [ebx + 4], edi
mov eax, dword [ebx + 8]
mov dword [esp + 0x18], ebx
add ebx, 8
mov dword [esp + 0x1c], eax
xor eax, eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0x28], ebx
mov dword [ebx], 0
test edi, edi
je 0x1013cf1c
xor ecx, ecx
mov eax, edi
mov edx, 0x30
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1037e0f1
add esp, 4
test eax, eax
je 0x1013cf18
mov dword [eax], edi
lea esi, [eax + 4]
mov ebx, esi
test edi, edi
je 0x1013cf12
mov ecx, ebx
call fcn.1013c570
add ebx, 0x30
sub edi, 1
jne 0x1013cf03
mov ebx, dword [esp + 0x28]
jmp 0x1013cf1a
xor esi, esi
mov eax, esi
lea ecx, [esp + 0x20]
cmp ebx, ecx
je 0x1013cf31
mov ecx, dword [ebx]
mov dword [ebx], eax
test ecx, ecx
je 0x1013cf3f
push ecx
mov ecx, ebx
jmp 0x1013cf3a
test eax, eax
je 0x1013cf3f
push esi
lea ecx, [esp + 0x24]
call 0x1013c4b0
test ebp, ebp
jle 0x1013d006
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
nop
cmp dword [ebp + 0x28], 0
je 0x1013cff6
mov eax, dword [ebp]
mov ebx, 1
shr eax, 0x10
xor eax, dword [ebp]
imul ecx, eax, 0x85ebca6b
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul edx, eax, 0xc2b2ae35
mov ecx, edx
shr ecx, 0x10
mov eax, ecx
xor eax, edx
cmp ecx, edx
cmovne ebx, eax
mov eax, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x14], ebx
mov edi, dword [eax + 4]
lea eax, [edi - 1]
and eax, ebx
test edi, edi
jle 0x1013cff2
nop
mov ecx, dword [esp + 0x28]
lea esi, [eax + eax*2]
shl esi, 4
mov ebx, eax
add esi, dword [ecx]
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1013cfdd
cmp dword [esp + 0x14], ecx
jne 0x1013cfc2
mov ecx, dword [ebp]
cmp ecx, dword [esi]
je 0x1013cfd3
add eax, 0xffffffff
jns 0x1013cfcc
lea eax, [edi - 1]
add eax, ebx
inc edx
cmp edx, edi
jl 0x1013cfa0
jmp 0x1013cff2
push ebp
mov ecx, esi
call fcn.1013c5b0
jmp 0x1013cff2
push ebp
mov ecx, esi
call fcn.1013c5b0
mov eax, dword [esp + 0x14]
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x18]
inc dword [eax]
mov eax, dword [esp + 0x10]
add ebp, 0x30
sub eax, 1
mov dword [esp + 0x10], eax
jne 0x1013cf50
mov eax, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
pop ebx
test eax, eax
je 0x1013d022
add esp, 0x14
mov dword [esp + 4], eax
lea ecx, [esp + 4]
jmp 0x1013c4b0
add esp, 0x14
ret 4
Function at 0x10168e80
Capabilities:
Hash data using murmur3

Disassembly:
sub esp, 8
mov eax, dword [esp + 0xc]
mov dword [esp], ecx
push ebx
push ebp
mov ecx, dword [eax]
mov ebp, 1
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul edx, eax, 0x85ebca6b
push esi
push edi
mov eax, edx
shr eax, 0xd
xor eax, edx
imul edx, eax, 0xc2b2ae35
mov ecx, edx
shr ecx, 0x10
mov eax, ecx
xor eax, edx
cmp ecx, edx
mov edx, dword [esp + 0x10]
cmovne ebp, eax
xor ecx, ecx
mov edi, dword [edx + 4]
mov dword [esp + 0x14], edi
lea eax, [edi - 1]
and eax, ebp
test edi, edi
jle 0x10168f43
lea esi, [eax + eax*2]
mov ebx, eax
shl esi, 4
add esi, dword [edx + 8]
mov edx, dword [esi + 0x28]
test edx, edx
je 0x10168f23
cmp ebp, edx
jne 0x10168ef7
mov edi, dword [esp + 0x1c]
mov edx, dword [edi]
mov edi, dword [esp + 0x14]
cmp edx, dword [esi]
je 0x10168f0c
add eax, 0xffffffff
jns 0x10168f01
lea eax, [ebx - 1]
add eax, edi
inc ecx
cmp ecx, edi
jge 0x10168f43
mov edx, dword [esp + 0x10]
jmp 0x10168ed3
push dword [esp + 0x1c]
mov ecx, esi
call fcn.1013c5b0
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push dword [esp + 0x1c]
mov ecx, esi
call fcn.1013c5b0
mov ecx, dword [esp + 0x10]
mov eax, esi
pop edi
mov dword [esi + 0x28], ebp
pop esi
inc dword [ecx]
pop ebp
pop ebx
add esp, 8
ret 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret 4
Function at 0x10174ca0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x28
mov eax, dword [esp + 0x3c]
mov edx, ecx
push ebx
push ebp
mov ebp, dword [esp + 0x38]
xor ebx, ebx
push esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x18], eax
push edi
xor edi, edi
mov dword [esp + 0x18], edx
lea eax, [esi*2]
mov dword [esp + 0x20], ebx
add eax, ebp
mov ecx, eax
sub ecx, ebp
inc ecx
shr ecx, 1
cmp ebp, eax
cmova ecx, edi
mov dword [esp + 0x28], ecx
test ecx, ecx
je 0x10174dab
lea ecx, [edx + 0xe0]
mov dword [esp + 0x2c], ecx
movzx esi, word [ebp]
lea eax, [esp + 0x24]
shl esi, 2
push eax
mov dword [esp + 0x28], esi
call fcn.10174c10
mov edi, eax
xor eax, eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
test edi, edi
jne 0x10174d44
push esi
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x34]
push eax
mov ecx, esi
call fcn.10174dd0
mov ecx, dword [eax + 4]
mov dword [esp + 0x10], ecx
mov eax, dword [eax]
push ecx
mov ecx, dword [esi + 0x78]
mov dword [esp + 0x18], eax
call fcn.10170ae0
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add ebx, eax
cmp dword [esp + 0x48], 1
jne 0x10174d80
mov eax, dword [esp + 0x18]
mov ecx, edi
xor esi, esi
push dword [eax + 0x78]
add eax, 0xec
push eax
call fcn.100ca290
test al, al
je 0x10174d77
mov ecx, edi
call fcn.100ca1e0
mov ecx, eax
call fcn.10049950
mov esi, eax
mov ecx, edi
call fcn.100ca1e0
add ebx, esi
mov eax, dword [esp + 0x1c]
add ebp, 2
mov ecx, dword [esp + 0x2c]
mov dword [eax], edi
add eax, 4
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x28]
jne 0x10174cf0
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
pop edi
mov dword [eax], ebx
mov dword [eax + 8], esi
pop esi
pop ebp
mov dword [eax + 4], ecx
pop ebx
add esp, 0x28
ret 0x14
Function at 0x10180390
Capabilities:
Hash data using murmur3

Disassembly:
sub esp, 0x28
push esi
mov esi, ecx
cmp dword [esi + 0x94], 0
lea eax, [esi + 0x94]
mov dword [esp + 8], esi
mov dword [esp + 0x18], eax
je 0x1018052a
mov al, byte [esp + 0x28]
lea ecx, [esi + 0x74]
and al, 0xfd
mov dword [esp + 0x20], 0
or al, 1
mov dword [esp + 0x24], 0
mov byte [esp + 0x28], al
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x20], 0
call fcn.1012ff90
xor eax, eax
mov dword [esp + 4], eax
cmp dword [esp + 0x20], eax
jle 0x10180517
push ebx
push ebp
push edi
nop word [eax + eax]
mov ecx, dword [esp + 0x28]
mov ebp, 1
mov ecx, dword [ecx + eax*8]
mov eax, dword [ecx + 4]
mov eax, dword [eax + 4]
mov ebx, dword [eax + ecx + 0x78]
mov eax, ebx
shr eax, 0x10
xor eax, ebx
mov dword [esp + 0x20], ebx
imul ecx, eax, 0x85ebca6b
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul edx, eax, 0xc2b2ae35
mov ecx, edx
shr ecx, 0x10
mov eax, ecx
xor eax, edx
cmp ecx, edx
cmovne ebp, eax
mov eax, dword [esi + 0x98]
xor edx, edx
mov dword [esp + 0x18], ebp
lea ecx, [eax - 1]
mov dword [esp + 0x1c], ecx
and ecx, ebp
test eax, eax
jle 0x1018049b
mov ebp, dword [esi + 0x9c]
mov esi, ecx
mov edi, ecx
shl esi, 4
add esi, ebp
mov eax, dword [esi + 0xc]
test eax, eax
je 0x1018049b
cmp dword [esp + 0x18], eax
jne 0x1018047b
cmp ebx, dword [esi]
je 0x1018049d
lea eax, [ecx - 1]
mov ecx, dword [esp + 0x1c]
test eax, eax
mov eax, 0xffffffff
cmovns ecx, eax
mov eax, dword [esp + 0x14]
inc edx
add ecx, edi
cmp edx, dword [eax + 0x98]
jl 0x10180461
xor esi, esi
lea eax, [esi + 4]
neg esi
sbb esi, esi
or ebp, 0xffffffff
and esi, eax
mov ecx, dword [esi]
mov eax, dword [ecx + 4]
mov ebx, dword [eax + 4]
mov eax, ebp
add ebx, 0xc
add ebx, ecx
lock xadd dword [ebx], eax
cmp eax, 1
jne 0x101804e9
lock xadd dword [ebx], eax
mov edi, ebx
lea eax, [ebx - 8]
neg edi
sbb edi, edi
and edi, eax
mov ecx, edi
call fcn.100c67e0
mov eax, ebp
lock xadd dword [ebx], eax
cmp eax, 1
jne 0x101804e9
mov ecx, edi
call fcn.100e5600
add dword [esi + 4], 0xffffffff
jne 0x101804fd
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x20]
push eax
call fcn.101807e0
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x2c]
jl 0x10180400
pop edi
pop ebp
pop ebx
test byte [esp + 0x28], 1
je 0x1018052a
push dword [esp + 0x1c]
call sym.skottie.dll_void___cdecl_sk_free_void__
add esp, 4
pop esi
add esp, 0x28
ret
Function at 0x101807e0
Capabilities:
Hash data using murmur3

Disassembly:
sub esp, 0x18
mov eax, dword [esp + 0x1c]
push ebp
push esi
push edi
mov edi, ecx
mov ebp, 1
mov ecx, dword [eax]
mov eax, ecx
shr eax, 0x10
xor eax, ecx
mov dword [esp + 0x28], ecx
mov esi, dword [edi + 4]
imul edx, eax, 0x85ebca6b
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
mov eax, edx
shr eax, 0xd
xor eax, edx
imul edx, eax, 0xc2b2ae35
mov ecx, edx
shr ecx, 0x10
mov eax, ecx
xor eax, edx
cmp ecx, edx
cmovne ebp, eax
lea eax, [esi - 1]
and eax, ebp
xor edx, edx
test esi, esi
jle 0x10180938
push ebx
mov ebx, dword [edi + 8]
nop dword [eax]
mov ecx, eax
mov edi, eax
add ecx, ecx
cmp ebp, dword [ebx + ecx*8 + 0xc]
jne 0x10180859
mov esi, dword [esp + 0x2c]
cmp esi, dword [ebx + ecx*8]
mov esi, dword [esp + 0x14]
je 0x10180872
add eax, 0xffffffff
jns 0x10180863
lea eax, [edi - 1]
add eax, esi
inc edx
cmp edx, esi
jl 0x10180840
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x18
ret 4
mov ecx, dword [esp + 0x10]
dec dword [ecx]
mov ebp, dword [ecx + 8]
mov ebx, eax
mov edi, dword [ecx + 4]
mov edx, eax
shl ebx, 4
add ebx, ebp
mov ecx, eax
add eax, 0xffffffff
jns 0x10180893
lea eax, [edi - 1]
add eax, ecx
mov ecx, eax
add ecx, ecx
mov esi, dword [ebp + ecx*8 + 0xc]
test esi, esi
je 0x101808ef
lea ecx, [edi - 1]
and ecx, esi
cmp eax, ecx
jg 0x101808e5
cmp ecx, edx
jl 0x10180887
cmp edx, eax
jge 0x101808b4
cmp eax, ecx
jle 0x10180887
mov edx, eax
shl edx, 4
add edx, ebp
mov ecx, dword [edx]
mov dword [ebx], ecx
mov ecx, dword [edx + 4]
mov dword [edx + 4], 0
mov dword [ebx + 4], ecx
mov ecx, dword [edx + 8]
mov dword [edx + 8], 0
mov dword [ebx + 8], ecx
mov ecx, dword [edx + 0xc]
mov dword [ebx + 0xc], ecx
mov ecx, dword [esp + 0x10]
jmp 0x10180878
cmp ecx, edx
jge 0x101808ac
cmp edx, eax
jl 0x10180887
jmp 0x101808b4
xor eax, eax
lea ecx, [esp + 0x1c]
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [ebx + 0xc], eax
call fcn.1017f3e0
mov edi, dword [esp + 0x10]
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shl ecx, 2
cmp ecx, eax
jg 0x10180937
cmp eax, 4
jle 0x10180937
cdq
mov ecx, edi
sub eax, edx
sar eax, 1
push eax
call fcn.10180ee0
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x18
ret 4
Function at 0x10180ee0
Capabilities:
Hash data using murmur3

Disassembly:
mov eax, dword [esp + 4]
test eax, eax
je 0x1017efb4
push ebx
push esi
mov esi, dword [eax - 4]
lea ebx, [eax - 4]
push edi
mov edi, esi
shl edi, 4
add edi, eax
test esi, esi
je 0x1017efa1
nop dword [eax]
sub edi, 0x10
mov ecx, edi
call fcn.1017f3d0
sub esi, 1
jne 0x1017ef90
mov esi, dword [ebx]
shl esi, 4
add esi, 4
push esi
push ebx
call fcn.1037dff7
add esp, 8
pop edi
pop esi
pop ebx
ret 4
sub esp, 0x18
push ebx
mov ebx, ecx
push ebp
push esi
lea ebp, [ebx + 8]
mov dword [esp + 0x10], ebx
mov eax, dword [ebx + 4]
xor esi, esi
push edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov dword [ebx], 0
mov dword [ebx + 4], edi
mov eax, dword [ebp]
mov dword [esp + 0x1c], eax
xor eax, eax
mov dword [esp + 0x24], ebp
mov dword [ebp], 0
test edi, edi
je 0x10180f6d
xor ecx, ecx
mov eax, edi
mov edx, 0x10
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1037e0f1
add esp, 4
test eax, eax
je 0x10180f69
mov dword [eax], edi
lea esi, [eax + 4]
mov ebx, esi
test edi, edi
je 0x10180f63
mov ecx, ebx
call fcn.1017f330
add ebx, 0x10
sub edi, 1
jne 0x10180f54
mov ebx, dword [esp + 0x14]
jmp 0x10180f6b
xor esi, esi
mov eax, esi
lea ecx, [esp + 0x20]
cmp ebp, ecx
je 0x10180f84
mov ecx, dword [ebp]
mov dword [ebp], eax
test ecx, ecx
je 0x10180f92
push ecx
mov ecx, ebp
jmp 0x10180f8d
test eax, eax
je 0x10180f92
push esi
lea ecx, [esp + 0x24]
call 0x1017ef70
cmp dword [esp + 0x10], 0
jle 0x1018103d
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add esi, 4
cmp dword [esi + 8], 0
je 0x1018102d
mov ecx, dword [esi - 4]
mov ebp, 1
mov eax, ecx
mov ebx, dword [ebx + 4]
shr eax, 0x10
xor eax, ecx
mov dword [esp + 0x2c], ecx
imul ecx, eax, 0x85ebca6b
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul edx, eax, 0xc2b2ae35
mov ecx, edx
shr ecx, 0x10
mov eax, ecx
xor eax, edx
cmp ecx, edx
lea ecx, [ebx - 1]
cmovne ebp, eax
xor edi, edi
and ecx, ebp
mov dword [esp + 0x18], ebp
test ebx, ebx
jle 0x10181025
mov edx, dword [esp + 0x24]
mov eax, ecx
shl eax, 4
mov ebp, ecx
add eax, dword [edx]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x10181075
cmp dword [esp + 0x18], edx
jne 0x10181016
mov edx, dword [esp + 0x2c]
cmp edx, dword [eax]
je 0x10181059
add ecx, 0xffffffff
jns 0x10181020
lea ecx, [ebp - 1]
add ecx, ebx
inc edi
cmp edi, ebx
jl 0x10180ff4
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
add esi, 0x10
sub eax, 1
mov dword [esp + 0x10], eax
jne 0x10180fa8
mov eax, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
pop ebx
test eax, eax
je 0x101810a2
add esp, 0x18
mov dword [esp + 4], eax
lea ecx, [esp + 4]
jmp 0x1017ef70
mov dword [eax], edx
mov ecx, dword [esi]
mov dword [esi], 0
mov dword [eax + 4], ecx
mov ecx, dword [esi + 4]
mov dword [esi + 4], 0
mov dword [eax + 8], ecx
jmp 0x10181025
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
mov dword [eax], ecx
mov ecx, dword [esi]
mov dword [esi], 0
mov dword [eax + 4], ecx
mov ecx, dword [esi + 4]
mov dword [esi + 4], 0
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + 0xc], ecx
inc dword [ebx]
jmp 0x10181029
add esp, 0x18
ret 4
Function at 0x10190e80
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x14]
mov ebx, ecx
movzx edx, byte [edi + 0x1e]
movzx eax, byte [ebx + 0x1e]
xor edx, eax
test edx, 0xfffffffe
jne 0x10190f51
movzx eax, byte [ebx + 0x1d]
mov ebp, dword [ebx]
mov ecx, dword [edi]
sub ebp, eax
movzx eax, byte [edi + 0x1d]
sub ecx, eax
cmp ebp, ecx
jne 0x10190f51
mov al, byte [ebx + 0x1c]
cmp al, byte [edi + 0x1c]
jne 0x10190f51
xor esi, esi
test ebp, ebp
jle 0x10190ef6
nop word [eax + eax]
movzx ecx, byte [ebx + 0x1d]
mov eax, dword [ebx + 4]
add ecx, esi
movzx edx, byte [edi + 0x1d]
add edx, esi
mov ecx, dword [eax + ecx*4]
mov eax, dword [edi + 4]
push dword [eax + edx*4]
call fcn.100b13c0
test al, al
je 0x10190f51
inc esi
cmp esi, ebp
jl 0x10190ed0
mov esi, dword [ebx + 0x18]
test esi, esi
jne 0x10190f12
cmp dword [edi + 0x18], esi
jne 0x10190f0b
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
ret 4
call fcn.1018cb00
mov esi, eax
mov edx, dword [edi + 0x18]
test edx, edx
jne 0x10190f20
call fcn.1018cb00
mov edx, eax
mov ecx, dword [esi + 4]
cmp ecx, dword [edx + 4]
jne 0x10190f51
mov al, byte [esi + 0x10]
cmp al, byte [edx + 0x10]
jne 0x10190f51
mov al, byte [esi + 0x11]
cmp al, byte [edx + 0x11]
jne 0x10190f51
mov al, byte [esi + 0x12]
cmp al, byte [edx + 0x12]
jne 0x10190f51
mov eax, dword [esi]
mov ecx, esi
push edx
mov eax, dword [eax + 0x1c]
call eax
pop edi
pop esi
pop ebp
pop ebx
ret 4
pop edi
pop esi
pop ebp
xor al, al
pop ebx
ret 4
Function at 0x101b9f40
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
sub esp, 0x20
mov eax, dword [0x10444724]
xor eax, esp
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
push ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
push ebp
mov ebp, ecx
mov dword [esp + 8], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1044ad38]
push esi
mov esi, dword [esp + 0x30]
push edi
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10449edc]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x18], ebx
cmp eax, dword [ecx + 0xc]
jg 0x101ba0b1
push dword [0x10449ed8]
mov ecx, ebp
call fcn.101a42b0
push 0
push dword [esp + 0x14]
lea ecx, [ebp + 0x24]
mov dword [ebp], 0x103a1380
push edi
push esi
call fcn.1024c960
movups xmm0, xmmword [ebx]
lea eax, [ebp + 0x70]
push 1
movups xmmword [ebp + 0x34], xmm0
movups xmm0, xmmword [ebx + 0x10]
movups xmmword [ebp + 0x44], xmm0
movq xmm0, qword [ebx + 0x20]
movq qword [ebp + 0x54], xmm0
mov cl, byte [ebp + 0x6c]
and cl, 0xfd
mov dword [ebp + 0x64], 0
and cl, 0xfe
mov dword [ebp + 0x68], 1
mov byte [ebp + 0x6c], cl
lea ecx, [ebp + 0x60]
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x9c], 0
mov dword [ebp + 0xa0], 0
call fcn.101ba380
mov eax, dword [ebp + 0x64]
mov edi, dword [ebp + 0x60]
lea ebx, [eax + eax*8]
inc eax
lea esi, [edi + ebx*4]
mov dword [ebp + 0x64], eax
lea ecx, [esi + 0x10]
call fcn.100ba1b0
mov eax, dword [esp + 0x38]
lea ecx, [esi + 0x10]
movups xmm0, xmmword [eax]
movups xmmword [edi + ebx*4], xmm0
mov ebx, dword [esp + 0x14]
push ebx
call fcn.100ba290
movd xmm0, dword [ebx]
lea eax, [esp + 0x1c]
cvtdq2ps xmm0, xmm0
mov ecx, dword [esp + 0x18]
lea edx, [ebp + 0x14]
push 1
push eax
push edx
movss dword [esp + 0x28], xmm0
movd xmm0, dword [ebx + 4]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x2c], xmm0
movd xmm0, dword [ebx + 8]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x30], xmm0
movd xmm0, dword [ebx + 0xc]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x34], xmm0
movups xmm0, xmmword [esp + 0x28]
movups xmmword [esp + 0x28], xmm0
call fcn.1003e1c0
mov ecx, dword [esp + 0x2c]
xor eax, eax
pop edi
mov word [ebp + 0xe], ax
mov eax, ebp
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1037e005
add esp, 0x20
ret 0x18
push 0x10449edc
call fcn.1037e834
add esp, 4
cmp dword [0x10449edc], 0xffffffff
jne 0x101b9f94
mov eax, 1
mov ecx, 0x10439910
lock xadd dword [ecx], eax
test eax, eax
jne 0x101ba0fe
push str.This_should_never_wrap_as_it_should_only_be_called_once_for_each_GrOp_subclass.
push 0x138
push str.c:usersuser_skottie_skia_srcgpuopsgrop.h
push str._s__d_:_fatal_error:___s__n
call sym.skottie.dll_void___cdecl_SkDebugf_char_const__const_
add esp, 0x10
call sym.skottie.dll_void___cdecl_sk_abort_no_print_void_
push 0x10449edc
mov dword [0x10449ed8], eax
call fcn.1037e7ea
add esp, 4
jmp 0x101b9f94
Function at 0x101c98d0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x14
movss xmm1, dword [0x10386834]
xorps xmm0, xmm0
movaps xmm2, xmm1
divss xmm2, dword [esp + 0x24]
push esi
mov esi, dword [esp + 0x20]
push edi
mov edi, dword [esp + 0x28]
movss dword [esp + 0x2c], xmm0
movss dword [esp + 8], xmm2
test esi, esi
jle 0x101c997a
mov eax, esi
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x20]
cdq
sub eax, edx
sar eax, 1
neg eax
mov dword [esp + 0x14], eax
lea eax, [edi*4]
mov edi, dword [esp + 0x14]
mov dword [esp + 0xc], eax
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm0
mulss xmm0, xmm2
xorps xmm0, xmmword [0x10386880]
cvtss2sd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_exp_precise
movss xmm2, dword [esp + 8]
inc edi
cvtsd2ss xmm0, xmm0
movss dword [esi], xmm0
addss xmm0, dword [esp + 0x2c]
add esi, dword [esp + 0xc]
sub dword [esp + 0x18], 1
movss dword [esp + 0x2c], xmm0
jne 0x101c9925
movss xmm1, dword [0x10386834]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
xor edx, edx
divss xmm1, xmm0
cmp esi, 4
jl 0x101c9a1a
mov esi, dword [esp + 0x28]
mov ecx, esi
shl ecx, 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x20]
mov edx, ecx
lea eax, [esi + esi*2]
lea edi, [ecx + esi*8]
lea esi, [ecx + esi*4]
lea eax, [ecx + eax*4]
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffffc
mov esi, ecx
mov ecx, dword [esp + 8]
shr esi, 2
inc esi
mov dword [esp + 0x2c], esi
shl esi, 2
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0xc]
nop dword [eax]
movaps xmm0, xmm1
mulss xmm0, dword [edx]
movss dword [edx], xmm0
add edx, ecx
movss xmm0, dword [esi]
mulss xmm0, xmm1
movss dword [esi], xmm0
add esi, ecx
movss xmm0, dword [edi]
mulss xmm0, xmm1
movss dword [edi], xmm0
add edi, ecx
movss xmm0, dword [eax]
mulss xmm0, xmm1
movss dword [eax], xmm0
add eax, ecx
sub dword [esp + 0x2c], 1
jne 0x101c99d0
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
cmp edx, esi
jge 0x101c9a46
mov eax, edx
lea ecx, [edi*4]
imul eax, edi
sub esi, edx
mov edi, dword [esp + 0x20]
lea eax, [edi + eax*4]
movss xmm0, dword [eax]
mulss xmm0, xmm1
movss dword [eax], xmm0
add eax, ecx
sub esi, 1
jne 0x101c9a33
pop edi
pop esi
add esp, 0x14
ret
Function at 0x101e4230
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x24]
mov ebp, ecx
mov esi, edi
cmp dword [edi + 0x14], 0x10
mov ebx, dword [edi + 0x10]
jb 0x101e424a
mov esi, dword [edi]
xor ecx, ecx
mov edx, 0x811c9dc5
test ebx, ebx
je 0x101e4266
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, ebx
jb 0x101e4255
mov ebx, dword [ebp + 0x18]
lea eax, [ebp + 4]
mov ecx, dword [ebp + 0xc]
and ebx, edx
mov esi, dword [eax]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + ebx*8]
cmp esi, eax
je 0x101e42a2
mov esi, dword [ecx + ebx*8 + 4]
mov esi, dword [esi]
cmp esi, eax
je 0x101e42a2
mov esi, dword [esi + 4]
mov ecx, edi
lea eax, [esi + 8]
push eax
call fcn.101177c0
test al, al
jne 0x101e42e8
mov ecx, dword [ebp + 0xc]
cmp esi, dword [ecx + ebx*8]
jne 0x101e4288
mov edi, dword [esp + 0x28]
mov dword [esp + 0x10], edi
mov eax, dword [edi]
cmp esi, eax
je 0x101e42d4
mov ecx, dword [edi + 4]
mov dword [ecx], eax
mov ecx, dword [eax + 4]
mov dword [ecx], esi
mov ecx, dword [esi + 4]
mov dword [ecx], edi
mov ecx, dword [eax + 4]
mov edx, dword [esi + 4]
mov dword [esi + 4], ecx
mov ecx, dword [edi + 4]
mov dword [eax + 4], ecx
mov dword [edi + 4], edx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + ebx*8]
cmp eax, dword [ebp + 4]
jne 0x101e431e
mov dword [ecx + ebx*8], edi
mov eax, dword [ebp + 0xc]
mov dword [eax + ebx*8 + 4], edi
jmp 0x101e4343
mov edi, dword [esp + 0x28]
push edi
mov edx, dword [edi + 4]
mov eax, dword [edi]
mov dword [edx], eax
mov edx, dword [edi]
mov eax, dword [edi + 4]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x28]
mov ecx, eax
dec dword [eax + 4]
call fcn.101e5490
mov eax, dword [esp + 0x20]
pop edi
mov dword [eax], esi
pop esi
pop ebp
mov byte [eax + 4], 0
pop ebx
add esp, 0xc
ret 0xc
cmp eax, esi
jne 0x101e4327
mov dword [ecx + ebx*8], edi
jmp 0x101e4343
mov eax, dword [ecx + ebx*8 + 4]
mov eax, dword [eax]
mov dword [ecx + ebx*8 + 4], eax
cmp eax, edi
je 0x101e4343
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + ebx*8 + 4]
mov eax, dword [eax + 4]
mov dword [ecx + ebx*8 + 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x1c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10386860]
mov eax, ecx
shr eax, 0x1f
cvtpd2ps xmm1, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x10386860]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebp]
jbe 0x101e43d3
cmp ecx, 0x200
jae 0x101e4392
shl ecx, 3
jmp 0x101e439c
cmp ecx, 0x1fffffff
jae 0x101e439c
add ecx, ecx
push ecx
mov ecx, ebp
call fcn.10120230
mov eax, dword [ebp + 4]
lea ecx, [ebp + 4]
cmp dword [eax], eax
je 0x101e43d3
mov eax, dword [eax + 4]
mov edi, eax
mov esi, dword [ecx]
mov ecx, ebp
mov esi, dword [esi]
push esi
lea eax, [esi + 8]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.101e4230
lea ecx, [ebp + 4]
cmp esi, edi
jne 0x101e43b3
mov edi, dword [esp + 0x10]
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 0xc