joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100b7780
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
cmp ecx, 0x3141
jg 0x100b77b1
add ecx, 0xffffcfe0
cmp ecx, 0x22
ja case.0x100b77a2.12336
xor edx, edx
jmp dword [ecx*4 + 0x102bf520]
add eax, 8
jmp 0x100b78d9
cmp ecx, 0x3338
jle 0x100b77e5
cmp ecx, 0x3339
je 0x100b78c6
cmp ecx, 0x33a7
je 0x100b78cd
cmp ecx, 0x348d
jne case.0x100b77a2.12336
add eax, 0x2c
jmp 0x100b78d9
cmp ecx, 0x3142
je 0x100b78d4
cmp ecx, 0x3147
jne case.0x100b77a2.12336
add eax, 0x9c
jmp 0x100b78d9
add eax, 0x1c
jmp 0x100b78d9
add eax, 0x14
jmp 0x100b78d9
add eax, 0x10
jmp 0x100b78d9
add eax, 0xc
jmp 0x100b78d9
add eax, 0x40
jmp 0x100b78d9
add eax, 0x78
jmp 0x100b78d9
add eax, 0x34
jmp 0x100b78d9
add eax, 0x38
jmp 0x100b78d9
add eax, 0x44
jmp 0x100b78d9
add eax, 0x50
jmp 0x100b78d9
add eax, 0x54
jmp 0x100b78d9
add eax, 0x4c
jmp 0x100b78d9
add eax, 0x60
jmp 0x100b78d9
add eax, 0x64
jmp 0x100b78d9
add eax, 0x68
jmp 0x100b78d9
add eax, 0x74
jmp 0x100b78d9
add eax, 0x70
jmp 0x100b78d9
add eax, 0x7c
jmp 0x100b78d9
sub eax, 0xffffff80
jmp 0x100b78d9
add eax, 0x8c
jmp 0x100b78d9
add eax, 0x88
jmp 0x100b78d9
add eax, 0x84
jmp 0x100b78d9
add eax, 0x24
jmp 0x100b78d9
add eax, 0x28
jmp 0x100b78d9
add eax, 0x5c
jmp 0x100b78d9
add eax, 0x58
jmp 0x100b78d9
add eax, 0x18
jmp 0x100b78d9
add eax, 0x20
jmp 0x100b78d9
add eax, 0x30
jmp 0x100b78d9
add eax, 0x6c
jmp 0x100b78d9
add eax, 0x3c
jmp 0x100b78d9
add eax, 0x94
jmp 0x100b78d9
add eax, 0x90
jmp 0x100b78d9
add eax, 0x98
mov edx, dword [eax]
mov eax, dword [ebp + 0x10]
mov dword [eax], edx
pop ebp
ret
Function at 0x10122c10
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x120
mov esi, ecx
mov eax, dword [0x1038100c]
xor eax, ebp
mov dword [ebp - 0x10], eax
cmp byte [ecx + 0x227c], 0
je 0x10122c3d
cmp byte [esi + 0x227d], 0
setne bl
jmp 0x10122c61
mov ecx, esi
call fcn.100ee960
cmp byte [eax + 7], 0
je 0x10122c56
cmp dword [esi + 0x1e60], 0x9300
jg 0x10122c78
mov word [esi + 0x227c], 1
xor ebx, ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1021e470
mov eax, ebx
add esp, 0x120
pop esi
pop edi
pop ebx
pop ebp
ret
cmp byte [esi + 0x14d9], 0
je 0x10122c9f
push dword [esi + 0x1e58]
call fcn.10150680
add esp, 4
cmp eax, 3
je 0x10122cb2
cmp eax, 2
jne 0x10122d25
jmp 0x10122c56
mov eax, dword [esi + 0x14d4]
lea ecx, [eax - 2]
cmp ecx, 3
jb 0x10122c56
cmp eax, 5
jne 0x10122d2d
lea edi, [ebp - 0x120]
push 0x110
push 0
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [edi - 0xc], 0x11c
sub esp, 0x10
movaps xmm0, xmmword [0x102b48d0]
movups xmmword [esp], xmm0
mov ebx, dword [sym.imp.kernel32.dll_VerSetConditionMask]
call ebx
mov ecx, 3
push ecx
push 1
push edx
push eax
call ebx
mov ecx, 3
push ecx
push 0x20
push edx
push eax
call ebx
mov dword [edi - 8], 6
mov dword [edi - 4], 2
mov word [edi + 0x108], 0
lea ecx, [ebp - 0x12c]
push edx
push eax
push 0x23
push ecx
call dword [sym.imp.kernel32.dll_VerifyVersionInfoW]
test eax, eax
je 0x10122c56
mov word [esi + 0x227c], 0x101
mov bl, 1
jmp 0x10122c61
Function at 0x1012c870
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x4c
mov ebx, ecx
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [0x1038100c]
xor eax, ebp
mov dword [ebp - 0x10], eax
xor edi, edi
cmp ecx, 1
mov dword [ebp - 0x50], ebx
je 0x1012c922
cmp ecx, 0xf
je 0x1012c942
mov esi, 0
cmp ecx, 0xe
jne 0x1012c9d5
mov eax, dword [edx]
mov ecx, dword [eax + 0x28]
mov esi, edx
call dword [section..00cfg]
lea edi, [ebp - 0x3c]
push edi
push esi
call ecx
push dword [edi + 0x10]
call fcn.1014cf10
add esp, 4
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x1012c9cb
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
xor esi, esi
xor edi, edi
mov dword [ebp - 0x40], ebx
xor ecx, ecx
mov ebx, 1
mov edx, dword [ebp - 0x48]
shr edx, cl
test edx, edx
cmove edx, ebx
mov eax, dword [ebp - 0x44]
shr eax, cl
test eax, eax
cmove eax, ebx
imul eax, edx
mul dword [ebp - 0x4c]
add esi, eax
adc edi, edx
inc ecx
cmp dword [ebp - 0x40], ecx
jne 0x1012c8f9
jmp 0x1012c9cf
mov eax, dword [edx]
mov ecx, dword [eax + 0x28]
mov esi, edx
call dword [section..00cfg]
lea edi, [ebp - 0x3c]
push edi
push esi
call ecx
mov ecx, dword [ebp + 8]
mov esi, dword [edi]
xor edi, edi
jmp 0x1012c9d5
mov eax, dword [edx]
mov ecx, dword [eax + 0x28]
mov esi, edx
call dword [section..00cfg]
lea edi, [ebp - 0x3c]
push edi
push esi
call ecx
push dword [edi + 0x10]
call fcn.1014cf10
add esp, 4
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x1012c9cb
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x58], eax
xor esi, esi
xor edi, edi
mov dword [ebp - 0x54], ecx
xor ecx, ecx
mov dword [ebp - 0x44], edi
mov edx, dword [ebp - 0x40]
shr edx, cl
test edx, edx
mov ebx, 1
cmove edx, ebx
mov eax, dword [ebp - 0x58]
shr eax, cl
test eax, eax
cmove eax, ebx
mov edi, dword [ebp - 0x48]
shr edi, cl
test edi, edi
mov ebx, 1
cmove edi, ebx
imul eax, edx
imul eax, edi
mov edi, dword [ebp - 0x44]
mul dword [ebp - 0x4c]
add esi, eax
adc edi, edx
inc ecx
cmp dword [ebp - 0x54], ecx
jne 0x1012c988
jmp 0x1012c9cf
xor esi, esi
xor edi, edi
mov ebx, dword [ebp - 0x50]
mov ecx, dword [ebp + 8]
lock dec dword [ebx + ecx*4 + 4]
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], esi
mov eax, dword [ebx + ecx*8 + 0x48]
mov dword [ebp - 0x4c], eax
mov edx, dword [ebx + ecx*8 + 0x4c]
mov dword [ebp - 0x48], edx
mov ebx, eax
sub ebx, esi
mov ecx, edx
sbb ecx, edi
mov edi, dword [ebp - 0x50]
mov esi, dword [ebp + 8]
lock cmpxchg8b qword [edi + esi*8 + 0x48]
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 0x50]
xor edx, dword [ebp - 0x48]
xor eax, dword [ebp - 0x4c]
or eax, edx
mov esi, dword [ebp - 0x40]
jne 0x1012c9e0
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1021e470
add esp, 0x4c
pop esi
pop edi
pop ebx
pop ebp
ret 8
Function at 0x1012ca30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov esi, ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [0x1038100c]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
mov ebx, dword [eax + 0x1e58]
lea edi, [ebp - 0x14]
mov dword [edi], 0
mov eax, dword [ebx]
mov ecx, dword [eax + 0x50]
call dword [section..00cfg]
push edi
push dword [ebp + 0x10]
push ebx
call ecx
test eax, eax
js 0x1012cb09
lock inc dword [esi + 4]
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, ebx
mov edx, ecx
lock cmpxchg8b qword [esi + 0x48]
xor edx, ecx
xor eax, ebx
or eax, edx
jne 0x1012ca76
mov edi, dword [ebp - 0x14]
push 8
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [eax], edi
mov dword [eax + 4], esi
mov ecx, dword [ebp + 0x18]
mov edi, dword [ecx + 4]
mov dword [ecx + 4], eax
xor esi, esi
test edi, edi
je 0x1012caf3
mov ebx, dword [edi]
test ebx, ebx
je 0x1012cae9
mov esi, dword [edi + 4]
test esi, esi
je 0x1012cad9
lock dec dword [esi + 4]
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, ebx
mov edx, ecx
lock cmpxchg8b qword [esi + 0x48]
xor edx, ecx
xor eax, ebx
or eax, edx
jne 0x1012cac0
mov ebx, dword [edi]
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
call dword [section..00cfg]
push ebx
call ecx
xor esi, esi
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1021e470
mov eax, esi
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
mov edi, eax
mov esi, dword [ebp + 8]
mov eax, dword [esi]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, esi
push 0x194
push str.allocate
push str._builds_worker_checkouts_gecko_gfx_angle_checkout_src_libANGLE_renderer_d3d_d3d11_ResourceManager11.cpp
push str.Error_allocating_BlendState
push edi
call ebx
xor esi, esi
inc esi
jmp 0x1012caf3
Function at 0x1012cb40
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1c
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov edx, dword [0x1038100c]
xor edx, ebp
mov dword [ebp - 0x10], edx
mov edi, dword [eax + 0x1e58]
mov dword [ebp - 0x14], 0
cmp dword [esi], 0
js 0x1012cc02
mov dword [ebp - 0x20], ecx
mov ebx, dword [ebp + 0x14]
mov eax, dword [edi]
mov ecx, dword [eax + 0xc]
call dword [section..00cfg]
lea eax, [ebp - 0x14]
push eax
push ebx
push esi
push edi
call ecx
test eax, eax
js 0x1012cc49
mov eax, dword [esi]
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x20]
lock inc dword [ebx + 8]
mov edi, dword [ebp - 0x20]
mov eax, dword [ebx + 0x50]
mov dword [ebp - 0x28], eax
mov esi, dword [ebx + 0x54]
mov ebx, eax
add ebx, dword [ebp - 0x24]
mov ecx, esi
adc ecx, 0
mov edx, esi
lock cmpxchg8b qword [edi + 0x50]
mov ebx, dword [ebp - 0x20]
xor edx, esi
xor eax, dword [ebp - 0x28]
or eax, edx
jne 0x1012cba1
mov edi, dword [ebp - 0x14]
lea esi, [ebp - 0x1c]
mov dword [esi], 0x102de860
push 8
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [esi], 0x102de860
mov dword [eax], edi
mov dword [eax + 4], ebx
mov ecx, dword [ebp + 0x18]
mov edx, ecx
mov ecx, dword [ecx + 4]
mov dword [edx + 4], eax
mov dword [esi + 4], ecx
mov ecx, esi
call fcn.101015d0
xor esi, esi
jmp 0x1012cc33
mov edi, 0x8007000e
mov esi, dword [ebp + 8]
mov eax, dword [esi]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, esi
push 0x194
push str.allocate
push str._builds_worker_checkouts_gecko_gfx_angle_checkout_src_libANGLE_renderer_d3d_d3d11_ResourceManager11.cpp
push str.Error_allocating_Buffer
push edi
call ebx
xor esi, esi
inc esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1021e470
mov eax, esi
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
mov edi, eax
jmp 0x1012cc07
Function at 0x1012cc50
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov esi, ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [0x1038100c]
xor edx, ebp
mov dword [ebp - 0x10], edx
mov edi, dword [ecx + 0x1e58]
xor ecx, ecx
lea edx, [ebp - 0x14]
mov dword [edx], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
mov ebx, dword [eax + 4]
mov eax, dword [edi]
mov ecx, dword [eax + 0x48]
call dword [section..00cfg]
lea eax, [ebp - 0x14]
push eax
xor eax, eax
push eax
push ebx
push dword [ebp - 0x18]
push edi
call ecx
test eax, eax
js 0x1012cd39
lock inc dword [esi + 0xc]
mov ebx, dword [esi + 0x58]
mov ecx, dword [esi + 0x5c]
mov eax, ebx
mov edx, ecx
lock cmpxchg8b qword [esi + 0x58]
xor edx, ecx
xor eax, ebx
or eax, edx
jne 0x1012cca6
mov edi, dword [ebp - 0x14]
push 8
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [eax], edi
mov dword [eax + 4], esi
mov ecx, dword [ebp + 0x18]
mov edi, dword [ecx + 4]
mov dword [ecx + 4], eax
xor esi, esi
test edi, edi
je 0x1012cd23
mov ebx, dword [edi]
test ebx, ebx
je 0x1012cd19
mov esi, dword [edi + 4]
test esi, esi
je 0x1012cd09
lock dec dword [esi + 0xc]
mov ebx, dword [esi + 0x58]
mov ecx, dword [esi + 0x5c]
mov eax, ebx
mov edx, ecx
lock cmpxchg8b qword [esi + 0x58]
xor edx, ecx
xor eax, ebx
or eax, edx
jne 0x1012ccf0
mov ebx, dword [edi]
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
call dword [section..00cfg]
push ebx
call ecx
xor esi, esi
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1021e470
mov eax, esi
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
mov edi, eax
mov esi, dword [ebp + 8]
mov eax, dword [esi]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, esi
push 0x194
push str.allocate
push str._builds_worker_checkouts_gecko_gfx_angle_checkout_src_libANGLE_renderer_d3d_d3d11_ResourceManager11.cpp
push str.Error_allocating_ComputeShader
push edi
call ebx
xor esi, esi
inc esi
jmp 0x1012cd23
Function at 0x1012cd70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov esi, ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [0x1038100c]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
mov ebx, dword [eax + 0x1e58]
lea edi, [ebp - 0x14]
mov dword [edi], 0
mov eax, dword [ebx]
mov ecx, dword [eax + 0x54]
call dword [section..00cfg]
push edi
push dword [ebp + 0x10]
push ebx
call ecx
test eax, eax
js 0x1012ce49
lock inc dword [esi + 0x10]
mov ebx, dword [esi + 0x60]
mov ecx, dword [esi + 0x64]
mov eax, ebx
mov edx, ecx
lock cmpxchg8b qword [esi + 0x60]
xor edx, ecx
xor eax, ebx
or eax, edx
jne 0x1012cdb6
mov edi, dword [ebp - 0x14]
push 8
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [eax], edi
mov dword [eax + 4], esi
mov ecx, dword [ebp + 0x18]
mov edi, dword [ecx + 4]
mov dword [ecx + 4], eax
xor esi, esi
test edi, edi
je 0x1012ce33
mov ebx, dword [edi]
test ebx, ebx
je 0x1012ce29
mov esi, dword [edi + 4]
test esi, esi
je 0x1012ce19
lock dec dword [esi + 0x10]
mov ebx, dword [esi + 0x60]
mov ecx, dword [esi + 0x64]
mov eax, ebx
mov edx, ecx
lock cmpxchg8b qword [esi + 0x60]
xor edx, ecx
xor eax, ebx
or eax, edx
jne 0x1012ce00
mov ebx, dword [edi]
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
call dword [section..00cfg]
push ebx
call ecx
xor esi, esi
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1021e470
mov eax, esi
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
mov edi, eax
mov esi, dword [ebp + 8]
mov eax, dword [esi]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, esi
push 0x194
push str.allocate
push str._builds_worker_checkouts_gecko_gfx_angle_checkout_src_libANGLE_renderer_d3d_d3d11_ResourceManager11.cpp
push str.Error_allocating_DepthStencilState
push edi
call ebx
xor esi, esi
inc esi
jmp 0x1012ce33
Function at 0x1012ce80
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov esi, ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [0x1038100c]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
mov ebx, dword [eax + 0x1e58]
lea edi, [ebp - 0x14]
mov dword [edi], 0
mov eax, dword [ebx]
mov ecx, dword [eax + 0x28]
call dword [section..00cfg]
push edi
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push ebx
call ecx
test eax, eax
js 0x1012cf5c
lock inc dword [esi + 0x14]
mov ebx, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
mov eax, ebx
mov edx, ecx
lock cmpxchg8b qword [esi + 0x68]
xor edx, ecx
xor eax, ebx
or eax, edx
jne 0x1012cec9
mov edi, dword [ebp - 0x14]
push 8
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [eax], edi
mov dword [eax + 4], esi
mov ecx, dword [ebp + 0x18]
mov edi, dword [ecx + 4]
mov dword [ecx + 4], eax
xor esi, esi
test edi, edi
je 0x1012cf46
mov ebx, dword [edi]
test ebx, ebx
je 0x1012cf3c
mov esi, dword [edi + 4]
test esi, esi
je 0x1012cf2c
lock dec dword [esi + 0x14]
mov ebx, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
mov eax, ebx
mov edx, ecx
lock cmpxchg8b qword [esi + 0x68]
xor edx, ecx
xor eax, ebx
or eax, edx
jne 0x1012cf13
mov ebx, dword [edi]
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
call dword [section..00cfg]
push ebx
call ecx
xor esi, esi
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1021e470
mov eax, esi
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
mov edi, eax
mov esi, dword [ebp + 8]
mov eax, dword [esi]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, esi
push 0x194
push str.allocate
push str._builds_worker_checkouts_gecko_gfx_angle_checkout_src_libANGLE_renderer_d3d_d3d11_ResourceManager11.cpp
push str.Error_allocating_DepthStencilView
push edi
call ebx
xor esi, esi
inc esi
jmp 0x1012cf46
Function at 0x1012cf90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
mov esi, ecx
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov edi, dword [0x1038100c]
xor edi, ebp
mov dword [ebp - 0x10], edi
mov edi, dword [edx + 0x1e58]
mov dword [ebp - 0x14], 0
test ecx, ecx
je 0x1012d013
mov edx, dword [ecx]
mov dword [ebp - 0x18], edx
mov ebx, dword [ecx + 4]
sub ebx, edx
sar ebx, 4
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], eax
mov eax, dword [edi]
mov ecx, dword [eax + 0x38]
call dword [section..00cfg]
sub esp, 0x28
lea eax, [ebp - 0x14]
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], ebx
mov eax, dword [ebp - 0x18]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], edi
xorps xmm0, xmm0
movups xmmword [esp + 0x14], xmm0
jmp 0x1012d031
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
mov ebx, dword [eax + 4]
mov eax, dword [edi]
mov ecx, dword [eax + 0x34]
call dword [section..00cfg]
lea eax, [ebp - 0x14]
push eax
push 0
push ebx
push dword [ebp - 0x18]
push edi
call ecx
mov edi, eax
test eax, eax
js 0x1012d0d4
lock inc dword [esi + 0x18]
mov ebx, dword [esi + 0x70]
mov ecx, dword [esi + 0x74]
mov eax, ebx
mov edx, ecx
lock cmpxchg8b qword [esi + 0x70]
xor edx, ecx
xor eax, ebx
or eax, edx
jne 0x1012d041
mov edi, dword [ebp - 0x14]
push 8
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [eax], edi
mov dword [eax + 4], esi
mov ecx, dword [ebp + 0x18]
mov edi, dword [ecx + 4]
mov dword [ecx + 4], eax
xor esi, esi
test edi, edi
je 0x1012d0be
mov ebx, dword [edi]
test ebx, ebx
je 0x1012d0b4
mov esi, dword [edi + 4]
test esi, esi
je 0x1012d0a4
lock dec dword [esi + 0x18]
mov ebx, dword [esi + 0x70]
mov ecx, dword [esi + 0x74]
mov eax, ebx
mov edx, ecx
lock cmpxchg8b qword [esi + 0x70]
xor edx, ecx
xor eax, ebx
or eax, edx
jne 0x1012d08b
mov ebx, dword [edi]
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
call dword [section..00cfg]
push ebx
call ecx
xor esi, esi
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1021e470
mov eax, esi
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
mov esi, dword [ebp + 8]
mov eax, dword [esi]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, esi
push 0x194
push str.allocate
push str._builds_worker_checkouts_gecko_gfx_angle_checkout_src_libANGLE_renderer_d3d_d3d11_ResourceManager11.cpp
push str.Error_allocating_GeometryShader
push edi
call ebx
xor esi, esi
inc esi
jmp 0x1012d0be
Function at 0x1012d110
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
mov esi, ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xc]
mov edx, dword [0x1038100c]
xor edx, ebp
mov dword [ebp - 0x10], edx
mov edi, dword [ecx + 0x1e58]
lea ecx, [ebp - 0x14]
mov dword [ecx], 0
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
mov ebx, dword [eax + 4]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], eax
mov eax, dword [edi]
mov ecx, dword [eax + 0x2c]
call dword [section..00cfg]
lea eax, [ebp - 0x14]
push eax
push ebx
push dword [ebp - 0x20]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push edi
call ecx
test eax, eax
js 0x1012d20c
lock inc dword [esi + 0x1c]
mov ebx, dword [esi + 0x78]
mov ecx, dword [esi + 0x7c]
mov eax, ebx
mov edx, ecx
lock cmpxchg8b qword [esi + 0x78]
xor edx, ecx
xor eax, ebx
or eax, edx
jne 0x1012d179
mov edi, dword [ebp - 0x14]
push 8
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [eax], edi
mov dword [eax + 4], esi
mov ecx, dword [ebp + 0x18]
mov edi, dword [ecx + 4]
mov dword [ecx + 4], eax
xor esi, esi
test edi, edi
je 0x1012d1f6
mov ebx, dword [edi]
test ebx, ebx
je 0x1012d1ec
mov esi, dword [edi + 4]
test esi, esi
je 0x1012d1dc
lock dec dword [esi + 0x1c]
mov ebx, dword [esi + 0x78]
mov ecx, dword [esi + 0x7c]
mov eax, ebx
mov edx, ecx
lock cmpxchg8b qword [esi + 0x78]
xor edx, ecx
xor eax, ebx
or eax, edx
jne 0x1012d1c3
mov ebx, dword [edi]
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
call dword [section..00cfg]
push ebx
call ecx
xor esi, esi
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1021e470
mov eax, esi
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
mov edi, eax
mov esi, dword [ebp + 8]
mov eax, dword [esi]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, esi
push 0x194
push str.allocate
push str._builds_worker_checkouts_gecko_gfx_angle_checkout_src_libANGLE_renderer_d3d_d3d11_ResourceManager11.cpp
push str.Error_allocating_InputLayout
push edi
call ebx
xor esi, esi
inc esi
jmp 0x1012d1f6
Function at 0x1012d240
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov esi, ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [0x1038100c]
xor edx, ebp
mov dword [ebp - 0x10], edx
mov edi, dword [ecx + 0x1e58]
xor ecx, ecx
lea edx, [ebp - 0x14]
mov dword [edx], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
mov ebx, dword [eax + 4]
mov eax, dword [edi]
mov ecx, dword [eax + 0x3c]
call dword [section..00cfg]
lea eax, [ebp - 0x14]
push eax
xor eax, eax
push eax
push ebx
push dword [ebp - 0x18]
push edi
call ecx
test eax, eax
js 0x1012d33b
lock inc dword [esi + 0x20]
mov ebx, dword [esi + 0x80]
mov ecx, dword [esi + 0x84]
mov eax, ebx
mov edx, ecx
lock cmpxchg8b qword [esi + 0x80]
xor edx, ecx
xor eax, ebx
or eax, edx
jne 0x1012d296
mov edi, dword [ebp - 0x14]
push 8
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [eax], edi
mov dword [eax + 4], esi
mov ecx, dword [ebp + 0x18]
mov edi, dword [ecx + 4]
mov dword [ecx + 4], eax
xor esi, esi
test edi, edi
je 0x1012d325
mov ebx, dword [edi]
test ebx, ebx
je 0x1012d31b
mov esi, dword [edi + 4]
test esi, esi
je 0x1012d30b
lock dec dword [esi + 0x20]
mov ebx, dword [esi + 0x80]
mov ecx, dword [esi + 0x84]
mov eax, ebx
mov edx, ecx
lock cmpxchg8b qword [esi + 0x80]
xor edx, ecx
xor eax, ebx
or eax, edx
jne 0x1012d2e9
mov ebx, dword [edi]
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
call dword [section..00cfg]
push ebx
call ecx
xor esi, esi
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1021e470
mov eax, esi
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
mov edi, eax
mov esi, dword [ebp + 8]
mov eax, dword [esi]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, esi
push 0x194
push str.allocate
push str._builds_worker_checkouts_gecko_gfx_angle_checkout_src_libANGLE_renderer_d3d_d3d11_ResourceManager11.cpp
push str.Error_allocating_PixelShader
push edi
call ebx
xor esi, esi
inc esi
jmp 0x1012d325