Function at 0x210063900
Capabilities:
Resume thread
Suspend thread

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x528
lea r13, [0x210273880]
lea r15, str.couldnt_interrupt.__trying_again.
mov eax, dword [r9 + 0x1640]
mov qword [rsp + 0x578], rdx
mov rbp, rcx
mov r12, r9
lea rdi, [rsp + 0x50]
mov qword [rsp + 0x580], r8
mov dword [rsp + 0x4c], 0xa
test eax, eax
jne 0x210063bc8
mov ebx, 0xa
lea rsi, str.int_sigpacket::setup_handler_void__sigaction___cygtls_
jmp 0x2100639e0
test byte [r13], 1
jne 0x210063a90
mov rcx, r14
call sym.SuspendThread
test eax, eax
jne 0x210063ac8
mov rdx, rdi
mov rcx, r14
mov dword [rsp + 0x80], 0x100003
call sym.GetThreadContext
test eax, eax
jne 0x210063af0
test byte [r13], 1
je 0x2100639bf
lea r9, str.couldnt_get_context_of_thread___E
mov r8, rsi
mov edx, 0x800
mov rcx, r13
call method.strace.prntf_unsigned_int__char_const__char_const__..._
mov rcx, r12
call method._cygtls.unlock__
mov rcx, r14
call sym.ResumeThread
test byte [r13], 1
jne 0x210063a40
call sym.yield
sub ebx, 1
je 0x210063a5d
mov rcx, r12
call method._cygtls.lock__
mov eax, dword [r12 + 0x1644]
test eax, eax
jne 0x210063b40
mov rax, qword [r12 + 0x15f8]
test rax, rax
je 0x210063a12
mov r14, qword [rax + 0x10]
test r14, r14
jne 0x210063968
mov rcx, r12
call method._cygtls.unlock__
test byte [r13], 1
je 0x2100639d6
lea r9, str.thread_handle_NULL__not_set_up_yet_
mov r8, rsi
mov edx, 0x800
mov rcx, r13
call method.strace.prntf_unsigned_int__char_const__char_const__..._
test byte [r13], 1
je 0x2100639d6
nop
mov r9, r15
mov r8, rsi
mov edx, 0x800
mov rcx, r13
call method.strace.prntf_unsigned_int__char_const__char_const__..._
call sym.yield
sub ebx, 1
jne 0x2100639e0
mov ecx, 1
call sym.Sleep
sub dword [rsp + 0x4c], 1
jne 0x210063953
test byte [0x210273880], 1
je 0x210063bd1
nop
xor r12d, r12d
lea rax, str.not
jmp 0x210063b86
mov qword [rsp + 0x20], r12
mov rcx, r13
mov r8, rsi
mov edx, 0x800
mov rax, qword [0x21024fae8]
lea r9, str.suspending_thread__tls__p___main_tls__p
mov qword [rsp + 0x28], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
mov rcx, r14
call sym.SuspendThread
test eax, eax
je 0x210063983
mov rcx, r12
call method._cygtls.unlock__
mov rcx, r14
call sym.ResumeThread
test byte [0x210273880], 1
jne 0x210063a80
jmp 0x210063bd1
mov rax, qword [rsp + 0x580]
mov rdx, rdi
mov r8, rbp
mov rcx, r12
mov r9, qword [rsp + 0x578]
mov qword [rsp + 0x20], rax
call method._cygtls.interrupt_now__CONTEXT__siginfo_t__void__sigaction_
mov rcx, r12
mov byte [rsp + 0x4b], al
call method._cygtls.unlock__
mov rcx, r14
call sym.ResumeThread
movzx edx, byte [rsp + 0x4b]
test dl, dl
jne 0x210063b70
test byte [r13], 1
je 0x2100639d6
jmp 0x210063a40
test byte [0x210273880], 1
jne 0x210063bd6
mov r9, qword [rsp + 0x580]
mov r8, qword [rsp + 0x578]
mov rcx, r12
mov rdx, rbp
call method._cygtls.interrupt_setup_siginfo_t__void__sigaction_
mov rcx, r12
call method._cygtls.unlock__
mov r12d, 1
lea rax, [0x210288213]
test byte [0x210273880], 1
je 0x210063bad
mov qword [rsp + 0x28], rax
mov eax, dword [rbp]
mov edx, 0x800
mov rcx, r13
lea r9, str.signal__d__sdelivered
lea r8, str.int_sigpacket::setup_handler_void__sigaction___cygtls_
mov dword [rsp + 0x20], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
mov eax, r12d
add rsp, 0x528
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test byte [0x210273880], 1
jne 0x210063c20
xor r12d, r12d
jmp 0x210063bad
mov rax, qword [r12 + 0x1650]
lea r9, str.controlled_interrupt._stackptr__p__stack__p__stackptr__1___p
lea r8, str.int_sigpacket::setup_handler_void__sigaction___cygtls_
mov rcx, r13
mov rdx, qword [rax - 8]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], rdx
lea rdx, [r12 + 0x1658]
mov qword [rsp + 0x28], rdx
mov edx, 0x800
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x210063b4d
mov dword [rsp + 0x28], eax
mov eax, dword [rcx]
mov edx, 0x800
mov rcx, r13
lea r9, str.trying_to_send_signal__d_but_signal__d_already_armed
lea r8, str.int_sigpacket::setup_handler_void__sigaction___cygtls_
mov dword [rsp + 0x20], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
test byte [0x210273880], 1
jne 0x210063a80
jmp 0x210063bd1