Function at 0x140152f50
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov rax, qword [rcx + 0x18]
mov dil, dl
mov rbx, rcx
mov ebp, dword [0x1403fdaa0]
mov r14, qword gs:[0x58]
mov qword [rsp + 0x60], rax
mov r10, rax
mov r9d, 0x40
shr r10, 0x3d
mov edx, r10d
test r10d, r10d
je 0x140153052
sub edx, 1
je 0x140153011
sub edx, 2
je 0x140152fe2
sub edx, 1
je 0x140152fc4
cmp edx, 1
je 0x140153084
mov r9d, 0x16055d9
lea r8, str.Cannot_move_to_Succeeded_state.
mov ecx, r10d
jmp 0x1401531ad
mov rcx, qword [rbx + 0x10]
cmp dword [rcx + 4], 0
je 0x140153084
mov r9d, 0x16055d8
mov ecx, 4
jmp 0x1401531a6
mov rcx, qword [r14 + rbp*8]
mov edx, r9d
cmp qword [rdx + rcx], rbx
jne 0x1401530cb
mov rcx, qword [rbx + 0x10]
cmp dword [rcx + 4], 0
je 0x140153084
mov r9d, 0x16055d7
mov ecx, 3
jmp 0x1401531a6
mov r8, qword [rbx + 0x10]
cmp qword [r8 + 0x20], 0
jne 0x1401530f4
mov rcx, qword [r14 + rbp*8]
mov edx, r9d
cmp qword [rdx + rcx], rbx
jne 0x1401530e2
mov ecx, dword [r8]
shr ecx, 1
test cl, 1
jne 0x140153084
mov r9d, 0x16055d5
lea r8, str.We_can_only_move_to_Succeeded_state_from_Posting_state_if_future_uses_parent_value.
mov ecx, 1
jmp 0x1401531ad
mov r8, qword [rbx + 0x10]
mov edx, dword [r8]
mov ecx, edx
shr ecx, 2
test cl, 1
jne 0x140153079
cmp qword [r8 + 0x20], 0
jne 0x14015311a
shr edx, 1
test dl, 1
jne 0x140153106
cmp dword [r8 + 4], 0
jne 0x14015319e
mov rsi, rax
lea rdx, [rsp + 0x60]
shl rsi, 3
lea rcx, [rbx + 0x18]
mov rax, rsi
mov r9d, 5
neg rax
movabs rax, 0xc000000000000000
sbb r8, r8
and r8, 0xfffffffffffffff8
shr r8, 3
or r8, rax
call fcn.140153594
test al, al
jne 0x140153129
mov rax, qword [rsp + 0x60]
jmp 0x140152f7e
mov r9d, 0x16055d6
lea r8, str.From_Invoking_state_we_can_move_to_Succeeded_state_only_synchronously.
mov ecx, 3
jmp 0x1401531ad
mov r9d, 0x16055d4
lea r8, str.From_Posting_state_we_can_move_to_Succeeded_state_only_synchronously.
jmp 0x140153048
mov r9d, 0x16055d3
lea r8, str.Task_must_be_invoked_before_moving_to_Succeeded_state.
jmp 0x140153048
mov r9d, 0x16055d1
lea r8, str.Futures_that_use_parent_value_must_move_to_Posting_state_before_moving_to_Succeeded_state.
xor ecx, ecx
jmp 0x1401531ad
mov r9d, 0x16055d0
lea r8, str.Task_must_be_invoked_before_moving_to_Succeeded_state.
jmp 0x140153113
cmp qword [rbx + 0x20], 0
je 0x140153150
mov rax, qword [rbx + 0x10]
mov ecx, dword [rax]
shr ecx, 1
test cl, 1
jne 0x140153150
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x140153150
and qword [rbx + 0x20], 0
call fcn.1401528b0
mov rcx, qword [rbx + 0x28]
and qword [rbx + 0x28], 0
test rcx, rcx
je 0x140153163
call fcn.14002ceb0
mov dl, 1
mov rcx, rbx
call fcn.140152270
cmp rsi, 0xfffffffffffffff8
je 0x1401531c6
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x50], rsi
mov rcx, rbx
call fcn.140152770
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14015319a
and qword [rsp + 0x50], 0
call fcn.1401528b0
mov al, 1
jmp 0x1401531b5
mov r9d, 0x16055d2
xor ecx, ecx
lea r8, str.Non_void_value_must_be_set_before_moving_to_Succeeded_state.
mov dl, dil
call fcn.1401534a8
mov rbx, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
xor edx, edx
mov ecx, 0x12ca3c6
call fcn.1400235f8
int3