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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov edx, dword [ebp + 8]
mov dword [ebp - 0x10], ecx
mov edi, dword [ecx + 0x1368]
cmp dword [edi + 0x54], edx
jbe 0x1002af88
mov eax, dword [edi + 0x58]
mov edi, dword [eax + edx*4]
mov edx, dword [ebp - 0x10]
jmp 0x1002b021
mov ebx, edx
shr ebx, 0x10
mov eax, edx
shr eax, 8
mov ecx, 0xff
mov esi, edx
and esi, ecx
and eax, ecx
and ebx, ecx
mov ecx, edx
shr ecx, 0x18
mov dword [ebp - 0x18], esi
xor esi, 0x811c9dc5
imul esi, esi, 0x1000193
xor esi, eax
imul esi, esi, 0x1000193
xor esi, ebx
imul esi, esi, 0x1000193
xor esi, ecx
imul ecx, esi, 0x1000193
and ecx, dword [edi + 0x74]
mov esi, dword [edi + 0x60]
mov edi, dword [edi + 0x68]
mov dword [ebp - 0x14], edi
mov edi, dword [edi + ecx*8 + 4]
cmp edi, esi
je 0x1002b010
and edx, 0xff000000
shl ebx, 0x10
or ebx, edx
shl eax, 8
or eax, ebx
add eax, dword [ebp - 0x18]
cmp eax, dword [edi + 8]
je 0x1002b012
add ecx, ecx
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + ecx*4]
mov edx, dword [ebp - 0x10]
cmp edi, ecx
je 0x1002b017
mov edi, dword [edi + 4]
cmp eax, dword [edi + 8]
jne 0x1002b002
jmp 0x1002b019
xor edi, edi
mov edx, dword [ebp - 0x10]
jmp 0x1002b019
xor edi, edi
test edi, edi
cmovne esi, edi
mov edi, dword [esi + 0xc]
mov ebx, dword [ebp + 0x14]
mov esi, dword [ebp + 0xc]
cmp dword [edi + 0x158], 0
je 0x1002b03b
mov ecx, edi
push edx
call fcn.100599c0
mov edx, dword [ebp - 0x10]
mov ecx, edi
push ebx
push esi
push edx
call fcn.1005e710
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret 0x10

Function at 0x1002b050
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov edx, dword [ebp + 8]
cmp dword [ecx + 0x1e58], edx
jbe 0x1002b07b
mov eax, dword [ecx + 0x1e5c]
mov eax, dword [eax + edx*4]
cmp eax, 0xffffffff
jne 0x1002b10e
jmp 0x1002b117
mov edi, edx
shr edi, 0x10
mov eax, edx
shr eax, 8
mov esi, 0xff
mov ebx, edx
and ebx, esi
and eax, esi
and edi, esi
mov esi, edx
shr esi, 0x18
mov dword [ebp - 0x14], ebx
xor ebx, 0x811c9dc5
imul ebx, ebx, 0x1000193
xor ebx, eax
imul ebx, ebx, 0x1000193
xor ebx, edi
imul ebx, ebx, 0x1000193
xor ebx, esi
imul esi, ebx, 0x1000193
and esi, dword [ecx + 0x1e78]
mov ebx, dword [ecx + 0x1e64]
mov ecx, dword [ecx + 0x1e6c]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ecx + esi*8 + 4]
cmp ecx, ebx
je 0x1002b117
and edx, 0xff000000
shl edi, 0x10
or edi, edx
shl eax, 8
or eax, edi
add eax, dword [ebp - 0x14]
cmp eax, dword [ecx + 8]
je 0x1002b107
add esi, esi
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + esi*4]
cmp ecx, edx
je 0x1002b117
mov ecx, dword [ecx + 4]
cmp eax, dword [ecx + 8]
jne 0x1002b0fb
cmp ecx, ebx
je 0x1002b117
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x1002b117
mov al, byte [eax + 8]
jmp 0x1002b119
xor eax, eax
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret 4
Function at 0x1002b290
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov eax, ecx
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
cmp dword [ecx + 0x1e58], esi
jbe 0x1002b2bc
mov ecx, dword [eax + 0x1e5c]
mov edx, dword [ecx + esi*4]
xor ecx, ecx
cmp edx, 0xffffffff
cmovne ecx, edx
jmp 0x1002b33b
mov edi, esi
shr edi, 0x10
mov ecx, esi
shr ecx, 8
mov edx, 0xff
mov ebx, esi
and ebx, edx
mov dword [ebp - 0x10], ebx
and ecx, edx
and edi, edx
mov edx, esi
shr edx, 0x18
mov ebx, dword [ebp - 0x10]
xor ebx, 0x811c9dc5
imul ebx, ebx, 0x1000193
xor ebx, ecx
imul ebx, ebx, 0x1000193
xor ebx, edi
imul ebx, ebx, 0x1000193
xor ebx, edx
imul edx, ebx, 0x1000193
and edx, dword [eax + 0x1e78]
mov dword [ebp - 0x14], eax
mov ebx, dword [eax + 0x1e6c]
mov edx, dword [ebx + edx*8 + 4]
and esi, 0xff000000
shl edi, 0x10
or edi, esi
shl ecx, 8
or ecx, edi
add ecx, dword [ebp - 0x10]
cmp ecx, dword [edx + 8]
je 0x1002b332
mov edx, dword [edx + 4]
jmp 0x1002b328
mov ecx, dword [edx + 0xc]
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp + 0xc]
push edi
push eax
call fcn.1003c180
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret 8

Function at 0x1002b350
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov eax, ecx
mov edx, dword [ebp + 8]
mov ecx, dword [0x1038000c]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
cmp dword [eax + 0x1e58], edx
jbe 0x1002b384
mov ecx, dword [eax + 0x1e5c]
mov edx, dword [ecx + edx*4]
xor ecx, ecx
cmp edx, 0xffffffff
cmovne ecx, edx
jmp 0x1002b400
mov esi, edx
shr esi, 0x10
mov ecx, edx
shr ecx, 8
mov ebx, 0xff
mov edi, edx
and edi, ebx
mov dword [ebp - 0x18], edi
and ecx, ebx
and esi, ebx
mov ebx, edx
shr ebx, 0x18
mov edi, dword [ebp - 0x18]
xor edi, 0x811c9dc5
imul edi, edi, 0x1000193
xor edi, ecx
imul edi, edi, 0x1000193
xor edi, esi
imul edi, edi, 0x1000193
xor edi, ebx
imul edi, edi, 0x1000193
and edi, dword [eax + 0x1e78]
mov dword [ebp - 0x1c], eax
mov ebx, dword [eax + 0x1e6c]
mov ebx, dword [ebx + edi*8 + 4]
and edx, 0xff000000
shl esi, 0x10
or esi, edx
shl ecx, 8
or ecx, esi
add ecx, dword [ebp - 0x18]
cmp ecx, dword [ebx + 8]
je 0x1002b3fa
mov ebx, dword [ebx + 4]
jmp 0x1002b3f0
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebp - 0x1c]
lea esi, [ebp - 0x11]
mov byte [esi], 1
push esi
push eax
call fcn.1003c1c0
mov ebx, eax
cmp eax, 1
movzx eax, byte [esi]
cmovne ebx, eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10212780
mov eax, ebx
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret 4
Function at 0x1002c1f0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
mov esi, ecx
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov ecx, dword [ecx + 0x14e8]
push esi
call fcn.10041490
test ebx, ebx
je 0x1002c232
mov edx, dword [esi + 0x136c]
cmp dword [edx + 0x2c], ebx
jbe 0x1002c246
mov ecx, dword [edx + 0x30]
mov ecx, dword [ecx + ebx*4]
xor edx, edx
cmp ecx, 0xffffffff
cmovne edx, ecx
mov dword [ebp - 0x10], edx
jmp 0x1002c2d9
shl edi, 5
lea ecx, [eax + edi]
add ecx, 4
push esi
call fcn.1004f520
jmp 0x1002c2f2
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], esi
mov eax, ebx
shr eax, 0x10
mov ecx, ebx
shr ecx, 8
mov edi, 0xff
mov esi, ebx
and esi, edi
and ecx, edi
and eax, edi
mov edi, ebx
shr edi, 0x18
mov dword [ebp - 0x10], esi
xor esi, 0x811c9dc5
imul esi, esi, 0x1000193
xor esi, ecx
imul esi, esi, 0x1000193
xor esi, eax
imul esi, esi, 0x1000193
xor esi, edi
imul edi, esi, 0x1000193
and edi, dword [edx + 0x4c]
mov esi, dword [edx + 0x38]
mov edx, dword [edx + 0x40]
mov dword [ebp - 0x20], edx
mov edx, dword [edx + edi*8 + 4]
cmp edx, esi
je 0x1002c2c9
and ebx, 0xff000000
shl eax, 0x10
or eax, ebx
shl ecx, 8
or ecx, eax
add ecx, dword [ebp - 0x10]
cmp ecx, dword [edx + 8]
mov dword [ebp - 0x1c], esi
jne 0x1002c2fc
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
jmp 0x1002c319
mov dword [ebp - 0x10], 0
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x14]
mov ebx, dword [ebp + 0x10]
shl edi, 5
lea ecx, [eax + edi]
add ecx, 4
push dword [ebp + 0x14]
push ebx
push dword [ebp - 0x10]
push esi
call fcn.1004f650
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
add edi, edi
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + edi*4]
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
cmp edx, eax
je 0x1002c330
mov edx, dword [edx + 4]
cmp ecx, dword [edx + 8]
jne 0x1002c30d
cmp edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], 0
je 0x1002c2dc
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x10], ecx
jmp 0x1002c2dc
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], 0
jmp 0x1002c2dc
Function at 0x1002c340
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov edx, dword [ebp + 8]
test edx, edx
je 0x1002c36a
mov esi, dword [ecx + 0x1370]
cmp dword [esi + 0x2c], edx
jbe 0x1002c371
mov eax, dword [esi + 0x30]
cmp dword [eax + edx*4], 0xffffffff
setne al
jmp 0x1002c404
mov al, 1
jmp 0x1002c404
mov edi, edx
shr edi, 0x10
mov eax, edx
shr eax, 8
mov ecx, 0xff
mov ebx, edx
and ebx, ecx
and eax, ecx
and edi, ecx
mov ecx, edx
shr ecx, 0x18
mov dword [ebp - 0x14], ebx
xor ebx, 0x811c9dc5
imul ebx, ebx, 0x1000193
xor ebx, eax
imul ebx, ebx, 0x1000193
xor ebx, edi
imul ebx, ebx, 0x1000193
xor ebx, ecx
imul ecx, ebx, 0x1000193
and ecx, dword [esi + 0x4c]
mov ebx, dword [esi + 0x38]
mov esi, dword [esi + 0x40]
mov dword [ebp - 0x10], esi
mov esi, dword [esi + ecx*8 + 4]
cmp esi, ebx
je 0x1002c3f6
and edx, 0xff000000
shl edi, 0x10
or edi, edx
shl eax, 8
or eax, edi
add eax, dword [ebp - 0x14]
cmp eax, dword [esi + 8]
je 0x1002c3f8
add ecx, ecx
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + ecx*4]
cmp esi, ecx
je 0x1002c3f6
mov esi, dword [esi + 4]
cmp eax, dword [esi + 8]
jne 0x1002c3e8
jmp 0x1002c3f8
xor esi, esi
test esi, esi
setne cl
cmp esi, ebx
setne al
and al, cl
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret 4

Function at 0x1002c410
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov edx, dword [ebp + 8]
test edx, edx
je 0x1002c43a
mov esi, dword [ecx + 0x137c]
cmp dword [esi + 0x2c], edx
jbe 0x1002c441
mov eax, dword [esi + 0x30]
cmp dword [eax + edx*4], 0xffffffff
setne al
jmp 0x1002c4d4
mov al, 1
jmp 0x1002c4d4
mov edi, edx
shr edi, 0x10
mov eax, edx
shr eax, 8
mov ecx, 0xff
mov ebx, edx
and ebx, ecx
and eax, ecx
and edi, ecx
mov ecx, edx
shr ecx, 0x18
mov dword [ebp - 0x14], ebx
xor ebx, 0x811c9dc5
imul ebx, ebx, 0x1000193
xor ebx, eax
imul ebx, ebx, 0x1000193
xor ebx, edi
imul ebx, ebx, 0x1000193
xor ebx, ecx
imul ecx, ebx, 0x1000193
and ecx, dword [esi + 0x4c]
mov ebx, dword [esi + 0x38]
mov esi, dword [esi + 0x40]
mov dword [ebp - 0x10], esi
mov esi, dword [esi + ecx*8 + 4]
cmp esi, ebx
je 0x1002c4c6
and edx, 0xff000000
shl edi, 0x10
or edi, edx
shl eax, 8
or eax, edi
add eax, dword [ebp - 0x14]
cmp eax, dword [esi + 8]
je 0x1002c4c8
add ecx, ecx
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + ecx*4]
cmp esi, ecx
je 0x1002c4c6
mov esi, dword [esi + 4]
cmp eax, dword [esi + 8]
jne 0x1002c4b8
jmp 0x1002c4c8
xor esi, esi
test esi, esi
setne cl
cmp esi, ebx
setne al
and al, cl
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret 4
Function at 0x1002c4e0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov edx, dword [ebp + 8]
test edx, edx
je 0x1002c50a
mov esi, dword [ecx + 0x1380]
cmp dword [esi + 0x2c], edx
jbe 0x1002c511
mov eax, dword [esi + 0x30]
cmp dword [eax + edx*4], 0xffffffff
setne al
jmp 0x1002c5a4
mov al, 1
jmp 0x1002c5a4
mov edi, edx
shr edi, 0x10
mov eax, edx
shr eax, 8
mov ecx, 0xff
mov ebx, edx
and ebx, ecx
and eax, ecx
and edi, ecx
mov ecx, edx
shr ecx, 0x18
mov dword [ebp - 0x14], ebx
xor ebx, 0x811c9dc5
imul ebx, ebx, 0x1000193
xor ebx, eax
imul ebx, ebx, 0x1000193
xor ebx, edi
imul ebx, ebx, 0x1000193
xor ebx, ecx
imul ecx, ebx, 0x1000193
and ecx, dword [esi + 0x4c]
mov ebx, dword [esi + 0x38]
mov esi, dword [esi + 0x40]
mov dword [ebp - 0x10], esi
mov esi, dword [esi + ecx*8 + 4]
cmp esi, ebx
je 0x1002c596
and edx, 0xff000000
shl edi, 0x10
or edi, edx
shl eax, 8
or eax, edi
add eax, dword [ebp - 0x14]
cmp eax, dword [esi + 8]
je 0x1002c598
add ecx, ecx
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + ecx*4]
cmp esi, ecx
je 0x1002c596
mov esi, dword [esi + 4]
cmp eax, dword [esi + 8]
jne 0x1002c588
jmp 0x1002c598
xor esi, esi
test esi, esi
setne cl
cmp esi, ebx
setne al
and al, cl
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret 4
Function at 0x1002d420
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov eax, dword [ebp + 8]
cmp eax, 0x10000001
jae 0x1002d574
mov edi, ecx
dec eax
or eax, 1
bsr ecx, eax
xor ecx, 0x1f
neg cl
xor esi, esi
inc esi
shl esi, cl
lea eax, [edi + 0xc]
mov ebx, dword [edi + 4]
mov edx, 2
shl edx, cl
mov ecx, eax
push ebx
push edx
call fcn.1002d580
lea eax, [esi - 1]
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], esi
mov eax, dword [edi + 4]
mov ecx, dword [eax]
cmp ecx, ebx
je 0x1002d56a
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x18], ebx
mov eax, ecx
movzx ecx, byte [ecx + 8]
xor ecx, 0x811c9dc5
imul ecx, ecx, 0x1000193
movzx edx, byte [eax + 9]
xor edx, ecx
imul ecx, edx, 0x1000193
movzx edx, byte [eax + 0xa]
xor edx, ecx
imul ecx, edx, 0x1000193
movzx edx, byte [eax + 0xb]
xor edx, ecx
imul ecx, edx, 0x1000193
and ecx, dword [edi + 0x18]
mov edx, dword [edi + 0xc]
lea esi, [ecx + ecx]
mov dword [ebp - 0x14], esi
lea edi, [ecx + ecx]
inc edi
mov esi, dword [edx + ecx*8]
mov ecx, dword [eax]
cmp esi, ebx
je 0x1002d52a
mov dword [ebp - 0x1c], edi
mov ebx, dword [edx + edi*4]
mov edi, dword [eax + 8]
cmp edi, dword [ebx + 8]
jne 0x1002d502
mov esi, dword [ebx]
cmp esi, eax
je 0x1002d4fd
mov edi, dword [eax + 4]
mov dword [ebp - 0x14], edi
mov dword [edi], ecx
mov ebx, dword [ecx + 4]
mov dword [ebx], esi
mov edi, dword [esi + 4]
mov dword [edi], eax
mov dword [esi + 4], ebx
mov esi, dword [ebp - 0x14]
mov dword [ecx + 4], esi
mov dword [eax + 4], edi
mov esi, dword [ebp - 0x1c]
jmp 0x1002d559
cmp esi, ebx
je 0x1002d538
mov ebx, dword [ebx + 4]
cmp edi, dword [ebx + 8]
jne 0x1002d502
mov edx, dword [ebx]
mov esi, dword [eax + 4]
mov dword [esi], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov ebx, dword [edx + 4]
mov dword [ebx], eax
mov dword [edx + 4], edi
mov dword [ecx + 4], esi
mov dword [eax + 4], ebx
jmp 0x1002d55c
mov esi, dword [ebp - 0x14]
mov dword [edx + esi*4], eax
mov dword [edx + edi*4], eax
mov edi, dword [ebp - 0x10]
jmp 0x1002d562
mov edi, dword [eax + 4]
mov dword [ebp - 0x1c], edi
mov dword [edi], ecx
mov ebx, dword [ecx + 4]
mov dword [ebx], esi
mov edi, dword [esi + 4]
mov dword [edi], eax
mov dword [esi + 4], ebx
mov esi, dword [ebp - 0x1c]
mov dword [ecx + 4], esi
mov dword [eax + 4], edi
mov esi, dword [ebp - 0x14]
mov dword [edx + esi*4], eax
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x18]
cmp ecx, ebx
jne 0x1002d47c
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret 4
push str.invalid_hash_bucket_count
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__
int3
Function at 0x1002d660
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x24
mov esi, ecx
mov ebx, dword [ebp + 0xc]
mov eax, dword [0x1038000c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push 0x118
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov edi, eax
mov ecx, eax
push ebx
push dword [ebp + 8]
call fcn.10003bc0
mov dword [ebp - 0x30], edi
inc dword [edi + 4]
cmp dword [esi + 0x2c], ebx
mov dword [ebp - 0x20], esi
jbe 0x1002d6b3
mov eax, dword [esi + 0x30]
cmp dword [eax + ebx*4], 0xffffffff
jne 0x1002d752
jmp 0x1002d746
mov ecx, esi
mov eax, ebx
shr eax, 0x18
mov dword [ebp - 0x24], eax
mov edx, ebx
shr edx, 0x10
mov eax, ebx
shr eax, 8
mov esi, ebx
mov edi, 0xff
and esi, edi
and eax, edi
and edx, edi
mov dword [ebp - 0x28], esi
xor esi, 0x811c9dc5
imul esi, esi, 0x1000193
xor esi, eax
imul esi, esi, 0x1000193
xor esi, edx
imul esi, esi, 0x1000193
xor esi, dword [ebp - 0x24]
imul edi, esi, 0x1000193
and edi, dword [ecx + 0x4c]
mov esi, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x40]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ecx + edi*8 + 4]
mov dword [ebp - 0x24], esi
cmp ecx, esi
je 0x1002d746
mov esi, ebx
and esi, 0xff000000
shl edx, 0x10
or edx, esi
shl eax, 8
or eax, edx
add eax, dword [ebp - 0x28]
cmp eax, dword [ecx + 8]
je 0x1002d741
add edi, edi
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + edi*4]
cmp ecx, edx
je 0x1002d746
mov ecx, dword [ecx + 4]
cmp eax, dword [ecx + 8]
jne 0x1002d735
cmp ecx, dword [ebp - 0x24]
jne 0x1002d752
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 4]
push ebx
call fcn.1004af80
mov dword [ebp - 0x1c], ebx
cmp ebx, 0x3fff
ja 0x1002d7f2
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 0x2c]
cmp eax, ebx
ja 0x1002d7ea
mov esi, eax
add eax, eax
cmp esi, ebx
jbe 0x1002d76b
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x28], eax
lea eax, [esi*4]
xor ecx, ecx
dec ecx
cmp esi, 0x40000000
cmovb ecx, eax
push ecx
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov ecx, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x30], ecx
mov eax, dword [ebp - 0x20]
mov edi, dword [eax + 0x2c]
lea eax, [ecx + edi*4]
mov ecx, esi
sub ecx, edi
shl ecx, 2
push ecx
push 0xff
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
shl edi, 2
push edi
mov edi, dword [ebp - 0x28]
push edi
push dword [ebp - 0x24]
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x20]
add esp, 0xc
mov dword [ecx + 0x2c], esi
test edi, edi
je 0x1002d7ea
push edi
call dword [sym.imp.mozglue.dll_free]
mov ecx, dword [ebp - 0x20]
add esp, 4
shl ebx, 2
add ebx, dword [ecx + 0x30]
jmp 0x1002d80a
mov ecx, dword [ebp - 0x20]
add ecx, 0x34
lea eax, [ebp - 0x1c]
lea esi, [ebp - 0x18]
push eax
push esi
call fcn.1002d210
mov ebx, dword [esi]
add ebx, 0xc
mov esi, dword [ebp - 0x30]
mov dword [ebx], esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10212780
mov eax, esi
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret 8
Function at 0x10032c90
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov esi, dword [ebp + 8]
movzx eax, byte [esi]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx edx, byte [esi + 1]
xor edx, eax
imul eax, edx, 0x1000193
movzx edx, byte [esi + 2]
xor edx, eax
imul eax, edx, 0x1000193
movzx edx, byte [esi + 3]
xor edx, eax
imul esi, edx, 0x1000193
and esi, dword [ecx + 0x18]
mov edi, dword [ecx + 4]
mov eax, dword [ecx + 0xc]
lea edx, [esi + esi]
mov ebx, dword [eax + edx*4 + 4]
mov dword [ebp - 0x18], edi
cmp ebx, edi
je 0x10032d1c
mov dword [ebp - 0x14], ecx
mov ecx, eax
mov dword [ebp - 0x10], edx
mov edx, dword [eax + edx*4]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, dword [ebx + 8]
je 0x10032d20
mov edi, ebx
cmp edi, edx
je 0x10032d1c
mov edi, dword [edi + 4]
cmp eax, dword [edi + 8]
jne 0x10032cfc
cmp ebx, edi
je 0x10032d20
cmp edx, edi
jne 0x10032d3e
mov eax, dword [edx]
mov esi, dword [ebp - 0x10]
mov dword [ecx + esi*4], eax
mov edi, edx
jmp 0x10032d3e
xor eax, eax
jmp 0x10032d5e
lea eax, [esi + esi]
inc eax
cmp edx, ebx
je 0x10032d30
mov edx, dword [ebx + 4]
mov dword [ecx + eax*4], edx
jmp 0x10032d3c
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18]
mov dword [ecx + edx*4], esi
mov dword [ecx + eax*4], esi
mov edi, ebx
mov eax, dword [edi]
mov ecx, dword [ebp - 0x14]
dec dword [ecx + 8]
mov ecx, dword [edi + 4]
mov dword [ecx], eax
mov ecx, dword [edi + 4]
mov dword [eax + 4], ecx
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
xor eax, eax
inc eax
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret 4
Function at 0x100366d0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 8]
mov ecx, 0xff
mov edx, eax
and edx, ecx
xor edx, 0x811c9dc5
imul edx, edx, 0x1000193
mov esi, eax
shr esi, 8
and esi, ecx
xor esi, edx
mov edx, eax
shr edx, 0x10
and edx, ecx
mov ebx, dword [ebp + 0xc]
imul ecx, esi, 0x1000193
xor edx, ecx
imul ecx, edx, 0x1000193
mov edx, eax
shr edx, 0x18
xor edx, ecx
imul edx, edx, 0x1000193
and edx, dword [ebx + 0x18]
mov esi, dword [ebx + 4]
mov edi, dword [ebx + 0xc]
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, esi
je 0x10036749
cmp dword [ecx + 8], eax
je 0x1003674b
add edx, edx
mov edx, dword [edi + edx*4]
cmp ecx, edx
je 0x10036749
mov ecx, dword [ecx + 4]
cmp dword [ecx + 8], eax
jne 0x1003673b
jmp 0x1003674b
xor ecx, ecx
test ecx, ecx
cmovne esi, ecx
mov edi, dword [esi + 8]
dec dword [edi + 4]
jne 0x10036781
mov eax, dword [edi]
mov ebx, dword [eax]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
push dword [ebp - 0x10]
call ebx
mov eax, dword [edi]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
push 1
call ebx
mov ebx, dword [ebp + 0xc]
movzx eax, byte [esi + 8]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx ecx, byte [esi + 9]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [esi + 0xa]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [esi + 0xb]
xor ecx, eax
imul edx, ecx, 0x1000193
and edx, dword [ebx + 0x18]
mov eax, dword [ebx + 0xc]
lea ecx, [edx + edx]
mov edi, dword [eax + edx*8]
cmp dword [eax + ecx*4 + 4], esi
je 0x100367d1
cmp edi, esi
jne 0x100367e9
mov edx, dword [esi]
mov dword [eax + ecx*4], edx
jmp 0x100367e9
add edx, edx
inc edx
cmp edi, esi
je 0x100367e0
mov ecx, dword [esi + 4]
mov dword [eax + edx*4], ecx
jmp 0x100367e9
mov edi, dword [ebx + 4]
mov dword [eax + ecx*4], edi
mov dword [eax + edx*4], edi
mov eax, dword [esi]
dec dword [ebx + 8]
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov ecx, dword [esi + 4]
mov dword [eax + 4], ecx
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret 8
Function at 0x10036810
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov dword [ebp - 0x14], ecx
mov edi, dword [ebp + 0xc]
cmp dword [edi + 0x84], 4
jne 0x10036885
mov eax, dword [0x1039f69c]
mov ecx, dword [0x1039f0a4]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x100369be
mov eax, dword [0x1039f694]
test eax, eax
je 0x10036885
mov ecx, dword [0x1039f690]
lea esi, [eax*8]
xor edx, edx
cmp dword [ecx + edx + 4], edi
je 0x10036870
add edx, 8
cmp esi, edx
jne 0x10036861
jmp 0x10036885
mov esi, dword [ecx + eax*8 - 8]
mov dword [ecx + edx], esi
mov eax, dword [ecx + eax*8 - 4]
mov dword [ecx + edx + 4], eax
dec dword [0x1039f694]
mov eax, 0xff
mov ecx, edi
and ecx, eax
xor ecx, 0x811c9dc5
imul ecx, ecx, 0x1000193
mov edx, edi
shr edx, 8
and edx, eax
xor edx, ecx
imul ecx, edx, 0x1000193
mov edx, edi
shr edx, 0x10
and edx, eax
xor edx, ecx
imul eax, edx, 0x1000193
mov ecx, edi
shr ecx, 0x18
xor ecx, eax
imul ebx, ecx, 0x1000193
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + 0x18]
and ebx, esi
mov edx, dword [eax + 4]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + ebx*8 + 4]
cmp eax, edx
je 0x100368f3
cmp dword [eax + 8], edi
je 0x100368f5
add ebx, ebx
mov ebx, dword [ecx + ebx*4]
cmp eax, ebx
je 0x100368f3
mov eax, dword [eax + 4]
cmp dword [eax + 8], edi
jne 0x100368e5
jmp 0x100368f5
xor eax, eax
test eax, eax
cmove eax, edx
mov dword [ebp - 0x10], edx
movzx edx, byte [eax + 8]
xor edx, 0x811c9dc5
imul edx, edx, 0x1000193
movzx ebx, byte [eax + 9]
xor ebx, edx
imul edx, ebx, 0x1000193
movzx ebx, byte [eax + 0xa]
xor ebx, edx
imul edx, ebx, 0x1000193
movzx ebx, byte [eax + 0xb]
xor ebx, edx
imul ebx, ebx, 0x1000193
and ebx, esi
lea esi, [ebx + ebx]
mov edx, dword [ecx + ebx*8]
cmp dword [ecx + esi*4 + 4], eax
je 0x1003694a
cmp edx, eax
jne 0x1003695f
mov edx, dword [eax]
mov dword [ecx + esi*4], edx
jmp 0x1003695f
add ebx, ebx
inc ebx
cmp edx, eax
je 0x10036956
mov edx, dword [eax + 4]
jmp 0x1003695c
mov edx, dword [ebp - 0x10]
mov dword [ecx + esi*4], edx
mov dword [ecx + ebx*4], edx
mov ecx, dword [eax]
mov edx, dword [ebp + 0x10]
dec dword [edx + 8]
mov edx, dword [eax + 4]
mov dword [edx], ecx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, edi
push dword [ebp - 0x14]
mov esi, dword [ebp + 8]
push esi
call fcn.1008b680
cmp dword [esi], 0x3000
jne 0x100369a7
mov eax, dword [esi + 8]
test eax, eax
jne 0x100369b3
mov dword [esi], 0x3000
xor eax, eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov eax, esi
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
lea ecx, [esi + 8]
push eax
call fcn.10213ea0
jmp 0x10036999
push 0x1039f69c
call fcn.1021278e
add esp, 4
cmp dword [0x1039f69c], 0xffffffff
jne 0x10036849
xor esi, esi
mov ebx, 0x1039f590
push 0x100
push esi
push ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [0x1039f690], ebx
mov dword [0x1039f694], esi
mov dword [0x1039f698], 0x20
push 0x1039f69c
call fcn.1021278e
add esp, 4
jmp 0x10036849