Function at 0x434ac0
Capabilities:
Terminate thread

Disassembly:
push edi
lea edi, [esp + 8]
and esp, 0xfffffff0
push dword [edi - 4]
push ebp
mov ebp, esp
push edi
push esi
mov esi, ecx
push ebx
sub esp, 0x4c
mov dword [ebp - 0x2c], ecx
call fcn.0042e3b0
lea eax, [esi + 4]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
test eax, eax
jle 0x434cc0
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0xffffffff
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x20]
mov dword [esp + 8], eax
lea eax, [ebp - 0x1c]
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetQueuedCompletionStatus]
sub esp, 0x14
mov ebx, eax
test eax, eax
je 0x434d70
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4350a0
mov edx, dword [ebp - 0x20]
test edx, edx
je 0x435080
mov edi, dword [edx]
mov ecx, dword [edi]
mov ebx, dword [ecx]
mov ecx, dword [ebp - 0x1c]
cmp ebx, 0x4025d0
jne 0x435158
sub eax, 0x20
lea ecx, [edi + 0x18]
lea esi, [edi + 0x1a8]
mov dword [esp], eax
call fcn.004861f0
lea ecx, [edi + 0x68]
sub esp, 4
call fcn.00440f50
mov eax, dword [edi + 0x16c]
mov ebx, dword [edi + 0x168]
mov dword [ebp - 0x34], eax
cmp ebx, eax
je 0x435176
mov dword [ebp - 0x34], edi
mov edi, ebx
mov ebx, eax
mov dword [esp], edi
mov ecx, esi
add edi, 0x18
call fcn.0043ab70
sub esp, 4
cmp ebx, edi
jne 0x434ba9
mov edi, dword [ebp - 0x34]
mov esi, dword [edi + 0x168]
test esi, esi
je 0x434c8f
mov eax, dword [edi + 0x16c]
mov dword [ebp - 0x34], eax
cmp esi, eax
je 0x435192
mov dword [ebp - 0x38], edi
lea esi, [esi]
mov ebx, dword [esi]
mov edi, dword [esi + 4]
cmp ebx, edi
je 0x434c0f
lea esi, [esi]
mov eax, dword [ebx]
test eax, eax
je 0x434c06
mov dword [esp], eax
call fcn.0054fb20
add ebx, 8
cmp edi, ebx
jne 0x434bf8
mov edi, dword [esi]
test edi, edi
je 0x435108
mov ecx, dword [esi + 0xc]
add esi, 0x18
mov ebx, dword [ecx]
mov dword [esp + 8], 4
mov eax, dword [esi - 0x14]
mov dword [esp], edi
sub eax, edi
mov dword [esp + 4], eax
call dword [ebx + 0xc]
sub esp, 0xc
cmp dword [ebp - 0x34], esi
jne 0x434be8
mov edi, dword [ebp - 0x38]
mov eax, dword [edi + 0x16c]
mov ebx, dword [edi + 0x168]
mov dword [ebp - 0x34], eax
mov edx, eax
mov ecx, dword [edi + 0x174]
sub edx, ebx
mov eax, dword [ecx]
mov dword [esp + 8], 4
mov dword [esp + 4], edx
mov dword [esp], ebx
call dword [eax + 0xc]
mov dword [edi + 0x168], 0
mov dword [edi + 0x16c], 0
sub esp, 0xc
mov dword [edi + 0x170], 0
movzx eax, byte [0x5ec0a0]
test al, al
je 0x434f2a
mov dword [esp], 0x5ec090
call dword [sym.imp.KERNEL32.dll_WakeConditionVariable]
sub esp, 4
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
test eax, eax
jg 0x434af1
lea esi, cs:[esi]
mov eax, dword [ebp - 0x2c]
mov ebx, dword [eax + 8]
lea eax, [ebx + 4]
mov dword [ebp - 0x2c], eax
mov dword [esp], eax
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov edi, dword [ebx + 0x24]
mov esi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
test edi, edi
jne 0x434d47
jmp 0x435060
mov dword [esp + 4], 0xffffffff
mov eax, dword [edi + 0x14]
mov dword [esp], eax
call esi
sub esp, 8
cmp eax, 0xffffffff
je 0x435008
mov eax, dword [edi + 0x14]
mov dword [esp], eax
call ebx
sub esp, 4
test eax, eax
je 0x434fe0
mov eax, dword [edi + 0x18]
mov dword [edi + 0x14], 0
mov dword [esp], eax
call dword [edi + 0x1c]
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0
mov edi, dword [edi]
test edi, edi
je 0x435060
movzx eax, byte [edi + 0x20]
test al, al
je 0x434cf0
mov dword [esp + 4], 0
mov eax, dword [edi + 0x14]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_TerminateThread]
sub esp, 8
jmp 0x434cf0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4350a2
mov edx, dword [ebp - 0x20]
test edx, edx
je 0x435080
mov ecx, dword [edx]
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ecx]
mov ebx, dword [ecx + 4]
cmp ebx, 0x406920
jne 0x435130
mov ecx, dword [ebp - 0x34]
sub eax, 0x20
add ecx, 0x18
test esi, esi
je 0x435120
cmp esi, 0x3e3
je 0x4350d8
mov dword [esp], 2
call dword [0x55efb0]
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
mov dword [esp + 4], str.error:_Change_Detecting_Filesystem_Win32_received_unexpected_error:__lu__number_of_bytes_transferred_lu__n
mov dword [esp], eax
call fcn.004038b0
mov ecx, str.handle_event
mov edx, 0xb1
mov dword [esp], 0x586621
mov eax, str.D:_a_quick_lint_js_quick_lint_js_src_quick_lint_js_configuration_change_detecting_filesystem_win32.cpp
call fcn.00467dc0
int3
mov esi, dword [ebp - 0x34]
lea ecx, [esi + 0x68]
call fcn.00440f50
mov edx, esi
lea esi, [esi + 0x1a8]
mov edi, dword [edx + 0x16c]
mov eax, dword [edx + 0x168]
mov dword [ebp - 0x38], edi
cmp eax, edi
je 0x435185
mov ebx, eax
lea esi, [esi]
mov dword [esp], ebx
mov ecx, esi
add ebx, 0x18
call fcn.0043ab70
sub esp, 4
cmp edi, ebx
jne 0x434e38
mov eax, dword [ebp - 0x34]
mov esi, dword [eax + 0x168]
test esi, esi
je 0x434c8f
mov eax, dword [eax + 0x16c]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x43519c
nop
mov ebx, dword [esi]
mov edi, dword [esi + 4]
cmp ebx, edi
je 0x434e97
lea esi, [esi]
mov eax, dword [ebx]
test eax, eax
je 0x434e8e
mov dword [esp], eax
call fcn.0054fb20
add ebx, 8
cmp edi, ebx
jne 0x434e80
mov edi, dword [esi]
test edi, edi
je 0x4350f0
mov ecx, dword [esi + 0xc]
add esi, 0x18
mov edx, dword [ecx]
mov dword [esp + 8], 4
mov eax, dword [esi - 0x14]
mov dword [esp], edi
sub eax, edi
mov dword [esp + 4], eax
call dword [edx + 0xc]
sub esp, 0xc
cmp dword [ebp - 0x38], esi
jne 0x434e70
mov eax, dword [ebp - 0x34]
mov edx, dword [eax + 0x16c]
mov eax, dword [eax + 0x168]
mov dword [ebp - 0x38], edx
mov esi, dword [ebp - 0x34]
mov ecx, dword [esi + 0x174]
mov edx, dword [ecx]
mov dword [esp + 8], 4
mov ebx, dword [ebp - 0x38]
mov dword [esp], eax
sub ebx, eax
mov dword [esp + 4], ebx
call dword [edx + 0xc]
mov dword [esi + 0x168], 0
mov dword [esi + 0x16c], 0
sub esp, 0xc
mov dword [esi + 0x170], 0
movzx eax, byte [0x5ec0a0]
test al, al
jne 0x434c9e
mov dword [esp], 0x5ec0a0
call fcn.0054ffc0
test eax, eax
je 0x434c9e
mov dword [0x5ec060], 0
pxor xmm0, xmm0
movups xmmword [0x5ec068], xmm0
mov dword [0x5ec088], 0
mov dword [0x5ec08c], 0
mov dword [0x5ec078], 0
mov dword [0x5ec07c], 0
mov dword [0x5ec080], 1
mov dword [0x5ec084], 0
mov dword [esp], 0x5ec090
call dword [sym.imp.KERNEL32.dll_InitializeConditionVariable]
mov dword [0x5ec094], 0
mov dword [0x5ec098], 0
sub esp, 4
mov dword [0x5ec09c], 0
mov dword [esp], 0x439a70
call fcn.004013f0
mov dword [esp], 0x5ec0a0
call fcn.00550090
jmp 0x434c9e
mov dword [esp], 2
call dword [0x55efb0]
mov dword [esp + 4], 0x586b83
mov dword [esp], eax
call fcn.004038b0
jmp 0x434d1f
mov dword [esp], 2
call dword [0x55efb0]
mov dword [esp + 0x14], 0x586b1f
mov dword [esp + 0x10], 0x586b39
mov dword [esp + 0xc], 0x59
mov dword [esp + 8], 0x586b40
mov dword [esp + 4], 0x58695c
mov dword [esp], eax
call fcn.004038b0
mov dword [esp], 2
call dword [0x55efb0]
mov dword [esp], eax
call fcn.004a0a60
int3
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.004863d0
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
test eax, eax
jle 0x434cc0
mov ecx, dword [ebp - 0x2c]
call fcn.0042e3b0
jmp 0x434ae4
xor esi, esi
mov ecx, 0x586a39
mov edx, 0xd6
mov eax, str.D:_a_quick_lint_js_quick_lint_js_src_quick_lint_js_io_event_loop_windows.cpp
mov dword [esp], 0x586621
call fcn.00467dc0
int3
mov dword [esp], eax
call fcn.004067e0
sub esp, 4
jmp 0x434ae4
add esi, 0x18
cmp dword [ebp - 0x38], esi
jne 0x434e70
jmp 0x434ec6
add esi, 0x18
cmp dword [ebp - 0x34], esi
jne 0x434be8
jmp 0x434c3e
mov dword [esp], eax
call fcn.004861f0
sub esp, 4
jmp 0x434e05
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
mov ecx, dword [ebp - 0x34]
call ebx
sub esp, 0x14
jmp 0x434ae4
mov dword [esp + 8], ecx
mov ecx, edi
mov dword [esp + 0xc], eax
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call ebx
sub esp, 0x10
jmp 0x434ae4
mov edx, eax
test ebx, ebx
je 0x434c8f
jmp 0x434c52
test eax, eax
jne 0x434ed8
jmp 0x434c8f
mov ebx, dword [ebp - 0x34]
mov edx, ebx
jmp 0x434c52
mov eax, dword [ebp - 0x38]
jmp 0x434ed8