Function at 0x10047f00
Capabilities:
Resume thread
Suspend thread

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x2328
call fcn.1002d8b0
mov edi, dword [ebp + 8]
mov eax, dword [0x1007a00c]
xor eax, ebp
mov dword [esp + 0x2320], eax
mov esi, dword [sym.imp.kernel32.dll_GetCurrentThreadId]
call esi
cmp eax, edi
sete bl
test edi, edi
sete byte [esp + 7]
cmove edi, eax
call esi
mov esi, eax
push 0x1007b4e0
call dword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov dword [0x1007b4f8], esi
mov ecx, dword [0x1007b500]
mov eax, dword [ecx + 0x9c]
test eax, eax
je 0x100481ee
mov esi, edi
or byte [esp + 7], bl
mov ecx, dword [ecx + 0x98]
lea eax, [eax*4 - 4]
mov dword [esp + 0x18], eax
xor edi, edi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], esi
mov edx, dword [ecx + edi]
mov ebx, dword [edx + 0x20]
test ebx, ebx
je 0x10047f96
lock inc dword [ebx + 0x38]
mov edx, dword [ecx + edi]
mov eax, dword [ebx + 0x30]
mov dword [esp + 0x1c], eax
cmp eax, esi
jne 0x10048053
mov dword [esp + 8], edx
cmp byte [ebx + 0x34], 0
je 0x10047fc4
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [section..00cfg]
mov ecx, dword [ebp + 0x10]
call esi
push 0x2004
push 0
lea eax, [esp + 0x54]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
cmp byte [esp + 7], 0
jne 0x10048089
push 1
lea eax, [esp + 0x24]
push eax
call sym.mozglue.dll_private:_static_class_mozilla::TimeStamp___cdecl_mozilla::TimeStamp::NowUnfuzzed_bool_
add esp, 8
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x18]
mov esi, dword [eax]
test esi, esi
je 0x1004804b
push 0x2cc
push 0
lea eax, [esp + 0x2058]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push esi
call dword [sym.imp.kernel32.dll_SuspendThread]
cmp eax, 0xffffffff
je 0x1004804b
mov dword [esp + 0x2050], 0x10001
lea eax, [esp + 0x2050]
push eax
push esi
call dword [sym.imp.kernel32.dll_GetThreadContext]
test eax, eax
jne 0x1004814a
push esi
call dword [sym.imp.kernel32.dll_ResumeThread]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
lock dec dword [ebx + 0x38]
jne 0x1004806d
mov ecx, ebx
call fcn.1002b790
push ebx
call sym.mozglue.dll__aligned_free
mov ecx, dword [esp + 0x10]
add esp, 4
cmp dword [esp + 0x18], edi
je 0x100481ee
add edi, 4
cmp dword [esp + 0x1c], esi
jne 0x10047f85
jmp 0x100481ee
lea eax, [esp + 0x2050]
push eax
call dword [sym.imp.ntdll.dll_RtlCaptureContext]
mov eax, dword [esp + 0x2104]
mov esi, dword [esp + 0x2108]
mov dword [esp + 0x20], esi
mov ecx, dword [esp + 0x2114]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
push 1
lea eax, [esp + 0x2054]
push eax
call sym.mozglue.dll_private:_static_class_mozilla::TimeStamp___cdecl_mozilla::TimeStamp::Now_bool_
add esp, 8
cmp byte [ebp + 0x14], 0
je 0x10048109
mov esi, dword [esp + 8]
mov ecx, esi
lea edx, [esp + 0x20]
lea eax, [esp + 0x4c]
push eax
call fcn.10042120
add esp, 4
xor ecx, ecx
inc ecx
mov edx, esi
push dword [ebp + 0x10]
lea eax, [esp + 0x50]
push eax
call fcn.10042180
add esp, 8
jmp 0x1004804b
xor ecx, ecx
inc ecx
mov edx, dword [esp + 8]
push dword [ebp + 0x10]
lea eax, [esp + 0x50]
push eax
call fcn.10042180
add esp, 8
mov eax, dword [ebp + 0xc]
test al, 4
je 0x1004804b
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov dword [esp + 8], ecx
call dword [section..00cfg]
mov ecx, dword [ebp + 0x10]
push esi
call dword [esp + 0xc]
jmp 0x1004804b
mov eax, dword [esp + 0x2104]
mov ecx, dword [esp + 0x2108]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x2114]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0
cmp byte [ebp + 0x14], 0
mov edx, dword [esp + 8]
je 0x100481af
mov ecx, edx
lea edx, [esp + 0x3c]
lea eax, [esp + 0x4c]
push eax
call fcn.10042120
add esp, 4
xor ecx, ecx
mov edx, dword [esp + 8]
push dword [ebp + 0x10]
lea eax, [esp + 0x50]
push eax
call fcn.10042180
add esp, 8
jmp 0x10048044
xor ecx, ecx
push dword [ebp + 0x10]
lea eax, [esp + 0x50]
push eax
call fcn.10042180
add esp, 8
mov eax, dword [ebp + 0xc]
test al, 4
je 0x10048044
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov dword [esp + 8], ecx
call dword [section..00cfg]
mov ecx, dword [ebp + 0x10]
push dword [esp + 0x10]
call dword [esp + 0xc]
jmp 0x10048044
mov dword [0x1007b4f8], 0
push 0x1007b4e0
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov ecx, dword [esp + 0x2320]
xor ecx, ebp
call fcn.1002cad0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret