Function at 0x140022380
Capabilities:
Resume thread

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x50
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov rsi, rcx
call fcn.14003da88
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x2a3], 0
je 0x1400223bf
call fcn.14001fbd0
mov rcx, qword [rsi + 0xf30]
call fcn.140023090
jmp 0x1400226c1
call fcn.14002d140
mov rdx, rax
xor ebp, ebp
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x1400223e0
mov ecx, 0x80004005
call fcn.140001910
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x88], rax
lea rcx, [rsi + 0x790]
lea rdx, [rsp + 0x88]
call fcn.140032554
lea rcx, [rsp + 0x88]
call fcn.14000b880
mov rcx, rax
call fcn.14000b940
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rax, qword [rsp + 0x88]
lea rbx, [rax - 0x18]
cmp rcx, rbx
je 0x140022487
cmp dword [rbx + 0x10], 0
jl 0x14002246e
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14002246e
call fcn.140001860
mov rdi, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x140022460
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 0x140022487
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x88]
call fcn.1400016b0
mov rax, qword [rsp + 0x88]
cmp dword [rax - 0x10], 0
jle 0x1400225c2
lea rcx, [rax - 0x18]
call fcn.140001860
add rax, 0x18
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x30]
call fcn.1400252c0
test eax, eax
jne 0x1400225c2
call fcn.14002d140
mov rdx, rax
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x1400224d4
mov ecx, 0x80004005
call fcn.140001910
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x90], rdi
mov ecx, 0x82
call fcn.14003e9c8
test rax, rax
je 0x140022516
mov r8d, 0x82
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.140005050
mov rdi, qword [rsp + 0x90]
call fcn.14002d140
mov rcx, rax
test rax, rax
setne bpl
test ebp, ebp
jne 0x140022534
mov ecx, 0x80004005
call fcn.140001910
int3
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x98], rbx
mov ecx, 0x81
call fcn.14003e9c8
test rax, rax
je 0x140022573
mov r8d, 0x81
mov rdx, rax
lea rcx, [rsp + 0x98]
call fcn.140005050
mov rbx, qword [rsp + 0x98]
mov r9d, 0x40
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call fcn.140032a14
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14002259d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400226a5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400226a5
mov edx, 1
mov rcx, rsi
call fcn.140035748
mov dl, 1
mov rcx, rsi
call fcn.1400226d0
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], 4
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsi + 0xf30]
lea rcx, [fcn.140023090]
call fcn.140043484
mov qword [rsi + 0xf28], rax
test rax, rax
jne 0x14002262c
xor r9d, r9d
xor r8d, r8d
lea rdx, str.Error:_Unable_to_create_worker_thread._n
mov rcx, rsi
call fcn.140032a14
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x2f8]
mov rax, qword [rsi + 0xf28]
mov dword [rax + 0x50], ebp
mov rcx, qword [rsi + 0xf28]
mov rcx, qword [rcx + 0x58]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov ecx, 0x2b0
call fcn.14002a398
mov rbx, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x14002268e
mov r8, rsi
mov edx, 0xae
mov rcx, rax
call fcn.14002e1c8
nop
lea rax, vtable.CProgressDlg.0
mov qword [rbx], rax
lea rcx, [rbx + 0x118]
call fcn.140001e90
mov qword [rbx + 0x2a8], rbp
jmp 0x140022691
mov rbx, rbp
mov qword [rsi + 0xf38], rbx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x2e0]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400226c1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret