Function at 0x140043250
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rcx
push rsi
push rdi
push r12
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbp
mov rdi, rdx
mov rsi, rcx
lea rax, vtable.CapabilitiesManager.0
mov qword [rcx], rax
lea rax, vtable.Thread.0
mov qword [rcx + 8], rax
mov byte [rcx + 0x1c], 0
mov byte [rcx + 0x1d], 0
lea rax, [rcx + 0x18]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 4
lea r9, [rcx + 8]
lea r8, [0x140039100]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsi + 0x10], rax
lea rax, vtable.RemoteViewerCore.0
mov qword [rsi], rax
lea rax, vtable.RemoteViewerCore.1.0
mov qword [rsi + 8], rax
lea rax, vtable.LogWriter.0
mov qword [rsi + 0x20], rax
mov qword [rsi + 0x28], rdi
lea rcx, [rsi + 0x30]
lea rdx, [rsi + 0x20]
call fcn.14004dea0
nop
lea rcx, [rsi + 0xf8]
lea rdx, [rsi + 0x20]
call fcn.140054ac0
nop
lea rcx, [rsi + 0x148]
lea r9, [rsi + 0x20]
lea r8, [rsi + 0x910]
lea rdx, [rsi + 0x940]
call fcn.14004e8f0
nop
lea rcx, [rsi + 0x300]
call fcn.140057580
nop
lea rbx, [rsi + 0x428]
mov qword [rsp + 0x68], rbx
mov ecx, 8
call fcn.1400797fc
xor r12d, r12d
test rax, rax
je 0x14004334f
mov qword [rax], rbx
jmp 0x140043352
mov rax, r12
mov qword [rbx], rax
mov rcx, rbx
call fcn.14004c260
mov qword [rbx + 0x30], rax
mov byte [rax + 0x29], 1
mov rax, qword [rbx + 0x30]
mov qword [rax + 8], rax
mov rax, qword [rbx + 0x30]
mov qword [rax], rax
mov rax, qword [rbx + 0x30]
mov qword [rax + 0x10], rax
mov qword [rbx + 0x38], r12
lea rcx, [rsi + 0x468]
call fcn.140057580
nop
lea rcx, [rsi + 0x590]
call fcn.140057580
nop
lea rbx, [rsi + 0x6b8]
mov qword [rsp + 0x68], rbx
mov ecx, 8
call fcn.1400797fc
test rax, rax
je 0x1400433ba
mov qword [rax], rbx
jmp 0x1400433bd
mov rax, r12
mov qword [rbx], rax
mov rcx, rbx
call fcn.14004c260
mov qword [rbx + 0x30], rax
mov byte [rax + 0x29], 1
mov rax, qword [rbx + 0x30]
mov qword [rax + 8], rax
mov rax, qword [rbx + 0x30]
mov qword [rax], rax
mov rax, qword [rbx + 0x30]
mov qword [rax + 0x10], rax
mov qword [rbx + 0x38], r12
lea rcx, [rsi + 0x6f8]
call fcn.140057580
nop
lea rbx, [rsi + 0x820]
mov qword [rsp + 0x68], rbx
mov ecx, 8
call fcn.1400797fc
test rax, rax
je 0x140043418
mov qword [rax], rbx
jmp 0x14004341b
mov rax, r12
mov qword [rbx], rax
mov rcx, rbx
call fcn.14004c260
mov qword [rbx + 0x30], rax
mov byte [rax + 0x29], 1
mov rax, qword [rbx + 0x30]
mov qword [rax + 8], rax
mov rax, qword [rbx + 0x30]
mov qword [rax], rax
mov rax, qword [rbx + 0x30]
mov qword [rax + 0x10], rax
mov qword [rbx + 0x38], r12
lea rbx, [rsi + 0x860]
mov qword [rsp + 0x68], rbx
mov ecx, 8
call fcn.1400797fc
test rax, rax
je 0x140043469
mov qword [rax], rbx
jmp 0x14004346c
mov rax, r12
mov qword [rbx], rax
mov rcx, rbx
call fcn.14004c330
mov qword [rbx + 0x30], rax
mov byte [rax + 0x21], 1
mov rax, qword [rbx + 0x30]
mov qword [rax + 8], rax
mov rax, qword [rbx + 0x30]
mov qword [rax], rax
mov rax, qword [rbx + 0x30]
mov qword [rax + 0x10], rax
mov qword [rbx + 0x38], r12
lea rbx, vtable.LocalMutex.0
mov qword [rsi + 0x8a0], rbx
lea rcx, [rsi + 0x8a8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
mov qword [rsi + 0x8d8], rbx
lea rcx, [rsi + 0x8e0]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
mov qword [rsi + 0x910], rbx
lea rcx, [rsi + 0x918]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
lea rdx, vtable.FrameBuffer.0
mov qword [rsi + 0x940], rdx
lea rcx, vtable.Dimension.0
mov qword [rsi + 0x948], rcx
mov dword [rsi + 0x950], r12d
mov dword [rsi + 0x954], r12d
xor eax, eax
mov qword [rsi + 0x970], r12
mov qword [rsi + 0x958], rax
mov qword [rsi + 0x960], rax
mov word [rsi + 0x968], ax
mov qword [rsi + 0x978], rdx
mov qword [rsi + 0x980], rcx
mov dword [rsi + 0x988], r12d
mov dword [rsi + 0x98c], r12d
mov qword [rsi + 0x9a8], r12
mov qword [rsi + 0x990], rax
mov qword [rsi + 0x998], rax
mov word [rsi + 0x9a0], ax
mov qword [rsi + 0x9b0], rbx
lea rcx, [rsi + 0x9b8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
xor eax, eax
mov qword [rsi + 0x9e2], rax
mov qword [rsi + 0x9ea], rax
mov word [rsi + 0x9f2], ax
mov qword [rsi + 0x9f8], rbx
lea rcx, [rsi + 0xa00]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
mov qword [rsi + 0xa30], rbx
lea rcx, [rsi + 0xa38]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
mov qword [rsi + 0xa68], rbx
lea rcx, [rsi + 0xa70]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
lea rcx, [rsi + 0xaa8]
call fcn.14002e130
nop
mov rcx, rsi
call fcn.140043650
nop
mov rax, rsi
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
add rsp, 0x40
pop r12
pop rdi
pop rsi
ret