Function at 0x1400046d0
Capabilities:
Resume thread

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x40
mov rbp, rdx
mov r14, rcx
test rdx, rdx
je 0x140010290
lea rcx, [0x140044da0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp qword [0x140044be8], 0
jne 0x14000472a
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
xor r8d, r8d
lea rdx, [0x140016de0]
mov r9d, eax
lea ecx, [r8 + 4]
call qword [sym.imp.USER32.dll_SetWindowsHookExW]
mov qword [0x140044be8], rax
lea rcx, [0x140044da0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, 0x98
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x14001029a
mov rcx, rax
call fcn.1400096f0
mov rdi, rax
test rax, rax
je 0x1400102cc
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14000476e
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rax, qword [r14]
lea r8, [rsp + 0x80]
xor r15d, r15d
lea rdx, [0x14002e098]
mov rcx, r14
mov qword [rsp + 0x80], r15
mov qword [rsp + 0x78], r15
mov rax, qword [rax]
call qword [case.0x140007cca.0]
mov esi, eax
test eax, eax
js 0x1400102f0
mov rdx, qword [rsp + 0x80]
test rdx, rdx
je 0x140010336
mov al, 1
test al, al
je 0x14001033d
lea r8, [rsp + 0x78]
lea rcx, [0x14002e098]
call qword [sym.imp.ole32.dll_CoMarshalInterThreadInterfaceInStream]
mov esi, eax
test eax, eax
js 0x14001037f
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x140010395
mov esi, r15d
cmp qword [rdi + 0x40], rbx
je 0x140004823
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140007cca.0]
mov rcx, qword [rdi + 0x40]
mov qword [rdi + 0x40], rbx
test rcx, rcx
je 0x14000481e
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140007cca.0]
mov rbx, qword [rsp + 0x78]
test esi, esi
js 0x14001039f
test rbx, rbx
je 0x140004840
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [case.0x140007cca.0]
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14000485a
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140007cca.0]
mov rdx, rbp
mov rcx, rdi
call fcn.1400042dc
mov rbx, qword [r14 + 0x20]
movabs rax, 0xaaaaaaaaaaaaaaa
cmp qword [r14 + 0x28], rax
je 0x1400103ad
mov ecx, SafeArrayPutElement
call fcn.140006d30
mov qword [rax + 0x10], rdi
inc qword [r14 + 0x28]
mov rcx, qword [rbx + 8]
mov qword [rax], rbx
mov qword [rax + 8], rcx
mov qword [rbx + 8], rax
mov qword [rcx], rax
test esi, esi
js 0x1400102d1
mov rbx, qword [rsp + 0x70]
mov eax, esi
add rsp, 0x40
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov esi, 0x80070057
jmp 0x1400048a9
xorps xmm0, xmm0
lea rax, str.bad_allocation
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x28], rax
lea rdx, [0x140039b30]
lea rax, vtable.std::bad_alloc.0
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
call sub.VCRUNTIME140.dll__CxxThrowException
int3
mov esi, 0x8007000e
test rdi, rdi
je 0x1400048a9
mov rcx, rdi
call fcn.140016d18
jmp 0x1400048a9
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140010313
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x10]
jmp 0x14001030d
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [case.0x140007cca.0]
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x1400048a1
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140007cca.0]
jmp 0x1400048a1
xor al, al
jmp 0x1400047b9
mov rcx, qword [rsp + 0x78]
mov esi, 0x8000ffff
test rcx, rcx
je 0x140010361
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140007cca.0]
mov rdx, qword [rsp + 0x80]
test rdx, rdx
je 0x1400102d1
mov rax, qword [rdx]
mov rcx, rdx
mov rax, qword [rax + 0x10]
call qword [case.0x140007cca.0]
jmp 0x1400102d1
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140010313
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
jmp 0x14001030d
mov esi, 0x80070057
jmp 0x140004823
test rbx, rbx
je 0x140010313
jmp 0x140010303
lea rcx, str.list_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3