Function at 0x140001f10
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
sub rsp, 0x180
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov rax, qword [0x140009020]
xor rax, rsp
mov qword [rsp + 0x170], rax
mov rdi, rcx
mov rax, qword [rcx]
test rax, rax
je 0x1400022e2
cmp dword [rax], 0x4553534d
jne 0x1400022de
mov ebx, dword [rax + 8]
add rbx, rax
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
lea rcx, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc90.dll_Ordinal_316]
nop
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc90.dll_Ordinal_316]
nop
mov r8d, dword [rbx]
cmp r8d, 0x494e4954
je 0x1400021a8
cmp r8d, 0x53415645
je 0x140002010
cmp r8d, 0x53544154
je 0x140001ff4
cmp r8d, 0x554e494e
je 0x140001fd2
lea rdx, str.unknown_request_ignored__data_signature__08X
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc90.dll_Ordinal_2380]
jmp 0x140002223
mov rax, qword [rdi + 0x20]
test rax, rax
je 0x140001fdd
call rax
lea rdx, str.Uninit
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc90.dll_Ordinal_2380]
jmp 0x140002223
mov rax, qword [rdi + 0x30]
test rax, rax
je 0x140002006
mov ecx, dword [rbx + 8]
call rax
mov esi, eax
jmp 0x140002008
xor esi, esi
mov dword [rbx + 0xc], esi
jmp 0x140002223
mov eax, dword [rbx + 0x12c]
add rax, qword [rdi]
mov qword [rbx + 0x110], rax
mov rax, qword [rdi + 0x28]
xor esi, esi
test rax, rax
je 0x140002033
lea rcx, [rbx + 8]
call rax
jmp 0x140002035
mov eax, esi
mov dword [rbx + 0x8a4], eax
cmp dword [rbx + 8], 1
jne 0x1400020d2
lea rcx, [rdi + 0x40]
mov eax, dword [rbx + 0x8a0]
cmp dword [rcx], eax
je 0x1400020bf
mov dword [rcx], eax
call fcn.1400019b0
mov r12d, eax
lea rax, str.Enable
lea rdx, str.Disable
test r12d, r12d
cmovne rdx, rax
mov ecx, dword [rbx + 0x8a0]
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rdx
lea r9, str.ClientWatchdog
lea r8, str.__16s_:__s_watchdog_for_PID__08X
mov edx, 0x100
lea rcx, [rsp + 0x70]
call qword [sym.imp.MSVCR90.dll_sprintf_s]
cmp dword [0x140009334], esi
je 0x1400020bb
xor r8d, r8d
lea rdx, [rsp + 0x70]
lea rcx, vtable.CLog.0
call fcn.1400028c0
mov dword [rdi + 0x44], r12d
lea rcx, [rdi + 0x48]
lea rdx, [rbx + 8]
mov r8d, 0x89c
call sub.MSVCR90.dll_memcpy
cmp dword [rbx + 8], 2
jne 0x1400020db
mov dword [rdi + 0x44], esi
mov eax, dword [rbx + 8]
test eax, eax
je 0x140002107
sub eax, 1
je 0x1400020fe
cmp eax, 1
je 0x1400020f5
lea rdx, str.unknown_type
jmp 0x14000210e
lea rdx, str.final_frame
jmp 0x14000210e
lea rdx, str.frame
jmp 0x14000210e
lea rdx, str.screenshot
mov eax, dword [rbx + 0x11c]
cmp eax, 5
ja case.default.0x14000212b
lea r8, [0x140000000]
mov ecx, dword [r8 + rax*4 + 0x230c]
add rcx, r8
jmp rcx
lea r8, str.R5G6B5
jmp 0x14000216a
lea r8, str.A1R5G6B5
jmp 0x14000216a
lea r8, str.R8G8B8
jmp 0x14000216a
lea r8, str.B8G8R8
jmp 0x14000216a
lea r8, str.A8R8G8B8
jmp 0x14000216a
lea r8, str.A8B8G8R8
jmp 0x14000216a
lea r8, str.unknown_format
mov eax, dword [rbx + 0x8a0]
mov dword [rsp + 0x38], eax
mov eax, dword [rbx + 0x12c]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rdx
mov eax, dword [rbx + 0x124]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbx + 0x120]
lea rdx, str.Save__s__dx_d__s__shared_memory_offset__08X__PID__08X
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc90.dll_Ordinal_2380]
jmp 0x140002223
cmp qword [rdi + 0x10], 0
jne 0x140002223
mov rcx, rdi
call fcn.140001b80
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x1400021d7
lea r8, [0x140001ef0]
lea rdx, [0x140001ed0]
mov ecx, dword [rbx + 8]
call rax
mov esi, eax
jmp 0x1400021d9
xor esi, esi
mov dword [rbx + 0xc], esi
mov r8d, dword [rbx + 8]
cmp r8d, 0xffffffff
je 0x1400021fa
lea rdx, [0x140006328]
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc90.dll_Ordinal_2380]
jmp 0x14000220c
lea rdx, str.auto_select
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc90.dll_Ordinal_798]
mov r8, qword [rsp + 0x48]
lea rdx, str.Init___s_compression_thread_s_
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc90.dll_Ordinal_2380]
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r11, qword [rsp + 0x60]
test r11, r11
je 0x140002262
mov rax, qword [rsp + 0x50]
sub rax, qword [rsp + 0x58]
pxor xmm1, xmm1
cvtsi2ss xmm1, rax
mulss xmm1, dword [0x140006788]
pxor xmm0, xmm0
cvtsi2ss xmm0, r11
divss xmm1, xmm0
jmp 0x140002268
movss xmm1, dword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
cmp dword [rax - 0x10], 0
je 0x1400022bd
cvttss2si r8d, xmm1
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r8d
lea r9, str.ProcessData
lea r8, str.__16s_:___3d_ms___s
mov edx, 0x100
lea rcx, [rsp + 0x70]
call qword [sym.imp.MSVCR90.dll_sprintf_s]
cmp dword [0x140009334], 0
je 0x1400022bd
xor r8d, r8d
lea rdx, [rsp + 0x70]
lea rcx, vtable.CLog.0
call fcn.1400028c0
mov dword [rbx], 0x52504c59
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc90.dll_Ordinal_589]
nop
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc90.dll_Ordinal_589]
xor eax, eax
jmp 0x1400022e4
xor eax, eax
jmp 0x1400022e4
xor eax, eax
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.1400032b0
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret