Function at 0x140022fb0
Capabilities:
Resume thread

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x50
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov rbp, rcx
call fcn.14003f3fc
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x27f], 0
je 0x140022fef
call fcn.140020610
mov rcx, qword [rbp + 0xf30]
call fcn.140023d60
jmp 0x14002330e
call fcn.14002dca4
mov r11, rax
xor r12d, r12d
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x140023012
mov ecx, 0x80004005
call fcn.140001900
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x88], rax
lea rcx, [rbp + 0x790]
lea rdx, [rsp + 0x88]
call fcn.140035b88
lea rcx, [rsp + 0x88]
call fcn.14000c000
mov rcx, rax
call fcn.14000c0c0
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rax, qword [rsp + 0x88]
lea rbx, [rax - 0x18]
or esi, 0xffffffff
cmp rcx, rbx
je 0x1400230c2
cmp dword [rbx + 0x10], 0
jl 0x1400230a9
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400230a9
call fcn.140001840
mov rdi, rax
mov ecx, esi
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14002309b
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x88], rax
jmp 0x1400230c2
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x88]
call fcn.1400016b0
mov rax, qword [rsp + 0x88]
cmp dword [rax - 0x10], 0
jle 0x140023208
lea rcx, [rax - 0x18]
call fcn.140001840
add rax, 0x18
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x30]
call fcn.140025fa0
test eax, eax
jne 0x140023208
call fcn.14002dca4
mov r11, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x140023110
mov ecx, 0x80004005
call fcn.140001900
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x90], rdi
mov ecx, 0x82
call fcn.1400402fc
test rax, rax
je 0x140023152
mov r8d, 0x82
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1400054e0
mov rdi, qword [rsp + 0x90]
call fcn.14002dca4
mov rcx, rax
test rax, rax
setne r12b
test r12d, r12d
jne 0x140023171
mov ecx, 0x80004005
call fcn.140001900
int3
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x98], rbx
mov ecx, 0x81
call fcn.1400402fc
test rax, rax
je 0x1400231b0
mov r8d, 0x81
mov rdx, rax
lea rcx, [rsp + 0x98]
call fcn.1400054e0
mov rbx, qword [rsp + 0x98]
mov r9d, 0x40
mov r8, rdi
mov rdx, rbx
mov rcx, rbp
call fcn.140032d1c
nop
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400231e0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140023203
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x1400232ee
mov edx, 1
mov rcx, rbp
call fcn.140033138
mov dl, 1
mov rcx, rbp
call fcn.140023320
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], 4
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbp + 0xf30]
lea rcx, [fcn.140023d60]
call fcn.140045a0c
mov qword [rbp + 0xf28], rax
test rax, rax
jne 0x140023274
xor r9d, r9d
xor r8d, r8d
lea rdx, str.Error:_Unable_to_create_worker_thread._n
mov rcx, rbp
call fcn.140032d1c
mov r11, qword [rbp]
mov rcx, rbp
call qword [r11 + 0x2f8]
mov rax, qword [rbp + 0xf28]
mov dword [rax + 0x50], r12d
mov rcx, qword [rbp + 0xf28]
mov rcx, qword [rcx + 0x58]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov ecx, 0x2b8
call fcn.14002b218
mov rbx, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1400232d7
mov r8, rbp
mov edx, 0xae
mov rcx, rax
call fcn.14002f21c
nop
lea rax, vtable.CProgressDlg.0
mov qword [rbx], rax
lea rcx, [rbx + 0x118]
call fcn.140001f00
mov qword [rbx + 0x2b0], r12
jmp 0x1400232da
mov rbx, r12
mov qword [rbp + 0xf38], rbx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x2e0]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x14002330e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rsp, 0x50
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret