Function at 0x10009670
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov edi, dword [ebp + 8]
mov eax, dword [0x1038000c]
xor eax, ebp
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [ebp - 0x2c], ecx
movzx esi, byte [ecx]
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
lea ebx, [ebp - 0x28]
mov dword [ebx + 0x10], 0x19
mov dword [ebx + 0x14], 0x1f
movups xmm0, xmmword [str.EGL_EXT_client_extensions]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x1032fa90]
movups xmmword [eax + 9], xmm0
mov byte [eax + 0x19], 0
mov dword [ebx], eax
mov ecx, ebx
mov edx, esi
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [ebx + 0x14]
cmp ecx, 0x10
jb 0x10009710
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x10009706
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx edi, byte [eax + 0x18]
lea esi, [ebp - 0x28]
xor ebx, ebx
mov dword [esi], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], 0xf
mov byte [esi], bl
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [esi + 0x10], 0x14
mov dword [esi + 0x14], 0x1f
movups xmm0, xmmword [str.EGL_EXT_device_query]
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0x79726575
mov byte [eax + 0x14], bl
mov dword [esi], eax
mov ecx, esi
mov edx, edi
mov edi, dword [ebp + 8]
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x1000979f
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x10009795
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx esi, byte [eax + 1]
xor eax, eax
lea ebx, [ebp - 0x28]
mov dword [ebx], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 0xf
mov byte [ebx], al
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [ebx + 0x10], 0x15
mov dword [ebx + 0x14], 0x1f
movups xmm0, xmmword [str.EGL_EXT_platform_base]
movups xmmword [eax], xmm0
movsd xmm0, qword [0x1033a843]
movsd qword [eax + 0xd], xmm0
xor ecx, ecx
mov byte [eax + 0x15], cl
mov dword [ebx], eax
mov ecx, ebx
mov edx, esi
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [ebx + 0x14]
cmp ecx, 0x10
jb 0x10009833
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x10009829
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx esi, byte [eax + 2]
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 0xf
mov byte [ebx], al
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [ebx + 0x10], 0x17
mov dword [ebx + 0x14], 0x1f
movups xmm0, xmmword [str.EGL_EXT_platform_device]
movups xmmword [eax], xmm0
movsd xmm0, qword [0x1033d1c4]
movsd qword [eax + 0xf], xmm0
xor ecx, ecx
mov byte [eax + 0x17], cl
mov dword [ebx], eax
mov ecx, ebx
mov edx, esi
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [ebx + 0x14]
cmp ecx, 0x10
jb 0x100098c4
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x100098ba
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx edi, byte [eax + 3]
xor ebx, ebx
lea esi, [ebp - 0x28]
mov dword [esi], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], 0xf
mov byte [esi], bl
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [esi + 0x10], 0x14
mov dword [esi + 0x14], 0x1f
movups xmm0, xmmword [str.EGL_KHR_platform_gbm]
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0x6d62675f
mov byte [eax + 0x14], bl
mov dword [esi], eax
mov ecx, esi
mov edx, edi
mov edi, dword [ebp + 8]
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x10009953
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x10009949
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx esi, byte [eax + 4]
lea ebx, [ebp - 0x28]
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 0xf
mov byte [ebx], al
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [ebx + 0x10], 0x18
mov dword [ebx + 0x14], 0x1f
movups xmm0, xmmword [str.EGL_EXT_platform_wayland]
movups xmmword [eax], xmm0
movsd xmm0, qword [0x1033d98d]
movsd qword [eax + 0x10], xmm0
xor ecx, ecx
mov byte [eax + 0x18], cl
mov dword [ebx], eax
mov ecx, ebx
mov edx, esi
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [ebx + 0x14]
cmp ecx, 0x10
jb 0x100099e7
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x100099dd
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx esi, byte [eax + 5]
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 0xf
mov byte [ebx], al
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [ebx + 0x10], 0x18
mov dword [ebx + 0x14], 0x1f
movups xmm0, xmmword [str.EGL_ANGLE_platform_angle]
movups xmmword [eax], xmm0
movsd xmm0, qword [0x1033bb01]
movsd qword [eax + 0x10], xmm0
xor ecx, ecx
mov byte [eax + 0x18], cl
mov dword [ebx], eax
mov ecx, ebx
mov edx, esi
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [ebx + 0x14]
cmp ecx, 0x10
jb 0x10009a78
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x10009a6e
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx esi, byte [eax + 6]
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 0xf
mov byte [ebx], al
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [ebx + 0x10], 0x1c
mov dword [ebx + 0x14], 0x1f
movups xmm0, xmmword [str.EGL_ANGLE_platform_angle_d3d]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x1033f020]
movups xmmword [eax + 0xc], xmm0
xor ecx, ecx
mov byte [eax + 0x1c], cl
mov dword [ebx], eax
mov ecx, ebx
mov edx, esi
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [ebx + 0x14]
cmp ecx, 0x10
jb 0x10009b07
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x10009afd
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx esi, byte [eax + 7]
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 0xf
mov byte [ebx], al
push 0x30
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [ebx + 0x10], 0x22
mov dword [ebx + 0x14], 0x2f
movups xmm0, xmmword [str.EGL_ANGLE_platform_angle_d3d11on12]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x1034f251]
movups xmmword [eax + 0x10], xmm0
mov word [eax + 0x20], 0x3231
xor ecx, ecx
mov byte [eax + 0x22], cl
mov dword [ebx], eax
mov ecx, ebx
mov edx, esi
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [ebx + 0x14]
cmp ecx, 0x10
jb 0x10009b9c
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x10009b92
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx esi, byte [eax + 0x17]
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 0xf
mov byte [ebx], al
push 0x30
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [ebx + 0x10], 0x2e
mov dword [ebx + 0x14], 0x2f
movups xmm0, xmmword [str.EGL_ANGLE_platform_angle_device_type_egl_angle]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x1033bb1a]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x1033bb28]
movups xmmword [eax + 0x1e], xmm0
xor ecx, ecx
mov byte [eax + 0x2e], cl
mov dword [ebx], eax
mov ecx, ebx
mov edx, esi
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [ebx + 0x14]
cmp ecx, 0x10
jb 0x10009c36
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x10009c2c
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx esi, byte [eax + 0x16]
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 0xf
mov byte [ebx], al
push 0x40
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [ebx + 0x10], 0x30
mov dword [ebx + 0x14], 0x3f
movups xmm0, xmmword [str.EGL_ANGLE_platform_angle_device_type_swiftshader]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x1033240c]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x1033241c]
movups xmmword [eax + 0x20], xmm0
xor ecx, ecx
mov byte [eax + 0x30], cl
mov dword [ebx], eax
mov ecx, ebx
mov edx, esi
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [ebx + 0x14]
cmp ecx, 0x10
jb 0x10009cd0
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x10009cc6
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx esi, byte [eax + 8]
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 0xf
mov byte [ebx], al
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov ecx, 0x1f
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0x14], ecx
movups xmm0, xmmword [str.EGL_ANGLE_platform_angle_opengl]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x1033793c]
movups xmmword [eax + 0xf], xmm0
xor ecx, ecx
mov byte [eax + 0x1f], cl
mov dword [ebx], eax
mov ecx, ebx
mov edx, esi
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [ebx + 0x14]
cmp ecx, 0x10
jb 0x10009d5c
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x10009d52
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx edi, byte [eax + 9]
xor ebx, ebx
lea esi, [ebp - 0x28]
mov dword [esi], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], 0xf
mov byte [esi], bl
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [esi + 0x10], 0x1d
mov dword [esi + 0x14], 0x1f
movups xmm0, xmmword [str.EGL_ANGLE_platform_angle_null]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x103376a8]
movups xmmword [eax + 0xd], xmm0
mov byte [eax + 0x1d], bl
mov dword [esi], eax
mov ecx, esi
mov edx, edi
mov edi, dword [ebp + 8]
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x10009def
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x10009de5
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx esi, byte [eax + 0xa]
lea ebx, [ebp - 0x28]
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 0xf
mov byte [ebx], al
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov ecx, 0x1f
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0x14], ecx
movups xmm0, xmmword [str.EGL_ANGLE_platform_angle_vulkan]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x10337179]
movups xmmword [eax + 0xf], xmm0
xor ecx, ecx
mov byte [eax + 0x1f], cl
mov dword [ebx], eax
mov ecx, ebx
mov edx, esi
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [ebx + 0x14]
cmp ecx, 0x10
jb 0x10009e7e
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x10009e74
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx edi, byte [eax + 0xb]
xor ebx, ebx
lea esi, [ebp - 0x28]
mov dword [esi], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], 0xf
mov byte [esi], bl
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [esi + 0x10], 0x1e
mov dword [esi + 0x14], 0x1f
movups xmm0, xmmword [str.EGL_ANGLE_platform_angle_metal]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x10337ca7]
movups xmmword [eax + 0xe], xmm0
mov byte [eax + 0x1e], bl
mov dword [esi], eax
mov ecx, esi
mov edx, edi
mov edi, dword [ebp + 8]
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x10009f11
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x10009f07
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx esi, byte [eax + 0xc]
lea ebx, [ebp - 0x28]
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 0xf
mov byte [ebx], al
push 0x30
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov ecx, 0x2f
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0x14], ecx
movups xmm0, xmmword [str.EGL_ANGLE_platform_device_context_volatile_eagl]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x103379a1]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x103379b0]
movups xmmword [eax + 0x1f], xmm0
xor ecx, ecx
mov byte [eax + 0x2f], cl
mov dword [ebx], eax
mov ecx, ebx
mov edx, esi
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [ebx + 0x14]
cmp ecx, 0x10
jb 0x10009fab
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x10009fa1
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx esi, byte [eax + 0xd]
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 0xf
mov byte [ebx], al
push 0x30
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [ebx + 0x10], 0x2e
mov dword [ebx + 0x14], 0x2f
movups xmm0, xmmword [str.EGL_ANGLE_platform_device_context_volatile_cgl]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x1033795d]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x1033796b]
movups xmmword [eax + 0x1e], xmm0
xor ecx, ecx
mov byte [eax + 0x2e], cl
mov dword [ebx], eax
mov ecx, ebx
mov edx, esi
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [ebx + 0x14]
cmp ecx, 0x10
jb 0x1000a045
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x1000a03b
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx esi, byte [eax + 0xe]
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 0xf
mov byte [ebx], al
push 0x30
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [ebx + 0x10], 0x22
mov dword [ebx + 0x14], 0x2f
movups xmm0, xmmword [str.EGL_ANGLE_platform_angle_device_id]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x1033dd72]
movups xmmword [eax + 0x10], xmm0
mov word [eax + 0x20], 0x6469
xor ecx, ecx
mov byte [eax + 0x22], cl
mov dword [ebx], eax
mov ecx, ebx
mov edx, esi
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [ebx + 0x14]
cmp ecx, 0x10
jb 0x1000a0da
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x1000a0d0
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx edi, byte [eax + 0xf]
xor ebx, ebx
lea esi, [ebp - 0x28]
mov dword [esi], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], 0xf
mov byte [esi], bl
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [esi + 0x10], 0x19
mov dword [esi + 0x14], 0x1f
movups xmm0, xmmword [str.EGL_ANGLE_device_creation]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x10336a0b]
movups xmmword [eax + 9], xmm0
mov byte [eax + 0x19], bl
mov dword [esi], eax
mov ecx, esi
mov edx, edi
mov edi, dword [ebp + 8]
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x1000a16d
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x1000a163
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx esi, byte [eax + 0x10]
lea ebx, [ebp - 0x28]
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 0xf
mov byte [ebx], al
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov ecx, 0x1f
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0x14], ecx
movups xmm0, xmmword [str.EGL_ANGLE_device_creation_d3d11]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x1034f36a]
movups xmmword [eax + 0xf], xmm0
xor ecx, ecx
mov byte [eax + 0x1f], cl
mov dword [ebx], eax
mov ecx, ebx
mov edx, esi
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [ebx + 0x14]
cmp ecx, 0x10
jb 0x1000a1fc
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x1000a1f2
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx edi, byte [eax + 0x11]
xor ebx, ebx
lea esi, [ebp - 0x28]
mov dword [esi], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], 0xf
mov byte [esi], bl
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [esi + 0x10], 0x14
mov dword [esi + 0x14], 0x1f
movups xmm0, xmmword [str.EGL_ANGLE_x11_visual]
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0x6c617573
mov byte [eax + 0x14], bl
mov dword [esi], eax
mov ecx, esi
mov edx, edi
mov edi, dword [ebp + 8]
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x1000a28b
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x1000a281
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx esi, byte [eax + 0x12]
push 0x30
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
lea ebx, [ebp - 0x28]
mov dword [ebx + 0x10], 0x23
mov dword [ebx + 0x14], 0x2f
movups xmm0, xmmword [str.EGL_ANGLE_experimental_present_path]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x103389ac]
movups xmmword [eax + 0x10], xmm0
mov dword [eax + 0x1f], 0x68746170
mov byte [eax + 0x23], 0
mov dword [ebx], eax
mov ecx, ebx
mov edx, esi
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [ebx + 0x14]
cmp ecx, 0x10
jb 0x1000a313
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x1000a309
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx esi, byte [eax + 0x13]
push 0x30
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [ebx + 0x10], 0x25
mov dword [ebx + 0x14], 0x2f
movups xmm0, xmmword [str.EGL_KHR_client_get_all_proc_addresses]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x103301fe]
movups xmmword [eax + 0x10], xmm0
movsd xmm0, qword [0x1033020b]
movsd qword [eax + 0x1d], xmm0
mov byte [eax + 0x25], 0
mov dword [ebx], eax
mov ecx, ebx
mov edx, esi
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [ebx + 0x14]
cmp ecx, 0x10
jb 0x1000a39e
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x1000a394
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx edx, byte [eax + 0x14]
lea esi, [ebp - 0x28]
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0xd
mov dword [esi], 0x5f4c4745
mov dword [esi + 4], 0x5f52484b
mov dword [esi + 8], 0x75626564
mov word [esi + 0xc], 0x67
mov ecx, esi
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x1000a411
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x1000a407
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx esi, byte [eax + 0x15]
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [ebx + 0x10], 0x19
mov dword [ebx + 0x14], 0x1f
movups xmm0, xmmword [str.EGL_ANGLE_feature_control]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x10337583]
movups xmmword [eax + 9], xmm0
mov byte [eax + 0x19], 0
mov dword [ebx], eax
mov ecx, ebx
mov edx, esi
push edi
call fcn.10009300
add esp, 4
mov ecx, dword [ebx + 0x14]
cmp ecx, 0x10
jb 0x1000a48f
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x1000a485
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x2c]
movzx esi, byte [eax + 0x19]
push 0x30
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
lea edi, [ebp - 0x28]
mov dword [edi + 0x10], 0x22
mov dword [edi + 0x14], 0x2f
movups xmm0, xmmword [str.EGL_ANGLE_display_power_preference]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x1033cf82]
movups xmmword [eax + 0x10], xmm0
mov word [eax + 0x20], 0x6563
mov byte [eax + 0x22], 0
mov dword [edi], eax
mov ecx, edi
mov edx, esi
push dword [ebp + 8]
call fcn.10009300
add esp, 4
mov ecx, dword [edi + 0x14]
cmp ecx, 0x10
jb 0x1000a514
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x1000a50a
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1000a52b
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10212780
mov eax, dword [ebp + 8]
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret 4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3