Function at 0x1df0c50
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x38
mov eax, dword [0x1f07010]
xor eax, ebp
mov dword [esp + 0x30], eax
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [0x1f1c178]
mov ecx, dword [0x1f0c740]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x1df102d
push 0x1f1c174
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x1df0cab
mov ecx, 0x1f1c174
call fcn.01d85ec0
mov edi, dword [ebp + 8]
mov eax, dword [0x1f1c188]
mov ecx, dword [0x1f0c740]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x1df1063
cmp dword [0x1f1c184], 0
je 0x1df0f30
mov eax, dword [0x1f1c180]
mov ecx, dword [0x1f0c740]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x1df1099
mov edi, dword [0x1f1c17c]
mov edx, esi
mov eax, dword [esp + 0xc]
mov ebx, eax
test edi, edi
je 0x1df0d67
mov ecx, dword [edi + 0xfc]
mov edx, 0x3938700
add edx, dword [edi + 0xf8]
adc ecx, 0
mov ebx, SysReAllocString
cmovno ebx, ecx
mov ecx, 0xffffffff
cmovno ecx, edx
mov edx, ecx
cmp esi, ecx
mov ecx, eax
sbb ecx, ebx
jge 0x1df0d67
mov esi, dword [ebp + 8]
mov dword [esi], edi
mov ecx, 1
lock xadd dword [edi], ecx
cmp ecx, 0x7fffffff
je 0x1df10d5
push 0x1f1c174
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1df0fd4
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov ecx, esi
mov esi, edx
sub ecx, edx
mov edi, eax
sbb edi, ebx
seto al
mov edx, edi
sar edx, 0x1f
test al, al
cmovne ecx, edx
add edx, 0x80000000
test al, al
cmove edx, edi
cmp ecx, 0x989680
sbb edx, 0
jl 0x1df0daf
mov eax, dword [esp + 4]
mov byte [eax + 0x104], 1
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0xc]
push 0x108
call fcn.01e5f33c
add esp, 4
mov edi, eax
mov dword [eax], 0
lea ecx, [eax + 4]
call fcn.01d0fb80
xorps xmm0, xmm0
movups xmmword [edi + 8], xmm0
movups xmmword [edi + 0x18], xmm0
movups xmmword [edi + 0x28], xmm0
movups xmmword [edi + 0x38], xmm0
movups xmmword [edi + 0x48], xmm0
movups xmmword [edi + 0x58], xmm0
movups xmmword [edi + 0x68], xmm0
movups xmmword [edi + 0x78], xmm0
movups xmmword [edi + 0x88], xmm0
movups xmmword [edi + 0x98], xmm0
movups xmmword [edi + 0xa8], xmm0
movups xmmword [edi + 0xb8], xmm0
movups xmmword [edi + 0xc8], xmm0
movups xmmword [edi + 0xd8], xmm0
movups xmmword [edi + 0xe8], xmm0
mov dword [edi + 0xfc], ebx
mov dword [edi + 0xf8], esi
mov dword [edi + 0x100], 0
mov byte [edi + 0x104], 0
test edi, edi
je 0x1df0e55
mov eax, 1
lock xadd dword [edi], eax
cmp eax, 0x7fffffff
je 0x1df10cf
mov eax, dword [0x1f1c17c]
test eax, eax
mov esi, dword [esp + 8]
je 0x1df0e6f
cmp byte [eax + 0x104], 0
je 0x1df0fe9
test edi, edi
je 0x1df0e87
mov eax, 1
lock xadd dword [edi], eax
cmp eax, 0x7fffffff
je 0x1df10d2
mov eax, dword [0x1f1c17c]
mov dword [0x1f1c17c], edi
test eax, eax
je 0x1df0ea4
lock dec dword [eax]
jne 0x1df0ea4
push eax
call fcn.01df17b0
add esp, 4
push 0x1f1c174
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov eax, dword [edi + 0xf8]
mov ebx, dword [edi + 0xfc]
mov edx, esi
mov dword [esp + 0x10], eax
sub edx, eax
mov ecx, dword [esp + 0xc]
mov eax, ecx
mov dword [esp + 4], ebx
sbb eax, ebx
seto bl
mov esi, eax
sar esi, 0x1f
test bl, bl
cmovne edx, esi
add esi, 0x80000000
test bl, bl
cmove esi, eax
mov eax, edx
add eax, 0xffffffff
mov ebx, esi
adc ebx, 0x7fffffff
add eax, 2
adc ebx, 0
cmp eax, 2
sbb ebx, 0
jae 0x1df0f53
mov ebx, 0xffffffff
add ebx, 1
mov eax, SysReAllocString
adc eax, 0
mov edx, dword [esp + 8]
cmp edx, dword [esp + 0x10]
sbb ecx, dword [esp + 4]
mov ecx, SysReAllocString
cmovl eax, ecx
mov ecx, 0xffffffff
cmovl ebx, ecx
jmp 0x1df0f6e
mov dword [edi], 0
push 0x1f1c174
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov ecx, dword [esp + 0x30]
xor ecx, ebp
call fcn.01e60425
mov eax, edi
jmp 0x1df0fe1
xor eax, eax
mov ebx, 0x3938700
sub ebx, edx
sbb eax, esi
mov ecx, SysReAllocString
cmovo eax, ecx
mov ecx, 0xffffffff
cmovo ebx, ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], eax
push 0x14
call fcn.01e5f33c
add esp, 4
mov ebx, eax
mov ecx, eax
push 0x1cdd130
push 0x1df1750
call fcn.01da5d80
mov dword [esp + 0x24], ebx
lea esi, [esp + 0x14]
push 0xca
push 0x1ef9ae0
push str.MonitorNextJankWindowIfNecessary
push esi
call fcn.01da46e0
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 8], xmm0
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.01d93bf0
add esp, 0x10
mov esi, dword [ebp + 8]
mov dword [esi], edi
mov ecx, dword [esp + 0x30]
xor ecx, ebp
call fcn.01e60425
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test edi, edi
je 0x1df1002
mov ecx, 1
lock xadd dword [edi], ecx
cmp ecx, 0x7fffffff
je 0x1df10d8
mov ecx, dword [eax + 0x100]
mov dword [eax + 0x100], edi
test ecx, ecx
je 0x1df0e6f
lock dec dword [ecx]
jne 0x1df0e6f
push ecx
call fcn.01df17b0
add esp, 4
jmp 0x1df0e6f
push 0x1f1c178
call fcn.01e5f3e7
add esp, 4
cmp dword [0x1f1c178], 0xffffffff
jne 0x1df0c92
mov ecx, 0x1f1c174
call fcn.01d0fb80
push 0x1f1c178
call fcn.01e5f45d
add esp, 4
jmp 0x1df0c92
push 0x1f1c188
call fcn.01e5f3e7
add esp, 4
cmp dword [0x1f1c188], 0xffffffff
jne 0x1df0ccf
mov dword [0x1f1c184], 0
push 0x1f1c188
call fcn.01e5f45d
add esp, 4
jmp 0x1df0ccf
push 0x1f1c180
call fcn.01e5f3e7
add esp, 4
cmp dword [0x1f1c180], 0xffffffff
jne 0x1df0cfd
mov dword [0x1f1c17c], 0
push 0x1f1c180
call fcn.01e5f45d
add esp, 4
jmp 0x1df0cfd
int3
int3
int3
int3