Function at 0x1400ca190
Capabilities:
Reference sql statements

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov rbx, rcx
mov dword [rcx + 8], 0xffffffff
xor ebp, ebp
lea rax, vtable.Component.0
mov qword [rcx], rax
test r9, r9
mov dword [rcx + 0xc], ebp
lea rax, vtable.ThreadedComponent.0
mov qword [rcx], rax
mov rsi, r8
mov dword [rcx + 0x10], ebp
lea rax, vtable.DependenceKeeper_class_Database__class_MigrationCandidatesProvider__class_OptimizedVolume__class_MetricTrimmer_.0
mov qword [rcx + 0x18], rbp
mov dword [rcx + 0x20], ebp
mov qword [rcx + 0x28], rbp
mov qword [rcx + 0x30], rax
lea rax, [r9 + 0x98]
mov qword [rcx + 0x38], rdx
cmove rax, rbp
mov qword [rcx + 0x48], rax
mov rax, qword [rsp + 0x60]
mov qword [rcx + 0x50], rax
mov qword [rcx + 0x40], r8
lea rcx, vtable.MetricCalculator.0
mov qword [rbx + 0x78], rax
lea rax, str.dweight
mov qword [rbx + 0x80], rax
lea rax, str.read_bias
mov qword [rbx + 0x90], rax
lea rax, str.write_bias
mov qword [rbx], rcx
lea rcx, vtable.MetricCalculator.1.0
mov qword [rbx + 0xa0], rax
lea rax, str.default_ext_bias
mov qword [rbx + 0x30], rcx
lea rcx, [rbx + 0xc0]
mov qword [rbx + 0x68], rdx
mov edx, 0x80000400
mov qword [rbx + 0xb0], rax
mov qword [rbx + 0x58], rbp
mov qword [rbx + 0x60], rbp
mov qword [rbx + 0x70], r9
mov qword [rbx + 0x88], rbp
mov qword [rbx + 0x98], rbp
mov qword [rbx + 0xa8], rbp
mov qword [rbx + 0xb8], rbp
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
mov qword [rbx + 0xf0], rbp
lea rax, str.metric_a_period_offset
mov qword [rbx + 0xe8], rax
lea rdx, [0x140265f60]
mov qword [rbx + 0xf8], rbp
lea rax, str.metric_b_period_offset
mov qword [rbx + 0x100], rax
lea r15, vtable.SqliteStatement.0
mov qword [rbx + 0x108], rbp
lea rax, str.selected_metric
mov qword [rbx + 0x118], rax
lea r8d, [rbp + 6]
mov rax, qword [rbx + 0x68]
lea rcx, [0x14028bee0]
mov qword [rbx + 0x110], rbp
add rax, 0x10
mov qword [rbx + 0x120], rbp
mov qword [rbx + 0x128], rbp
mov qword [rbx + 0x130], rbp
mov byte [rbx + 0x138], bpl
mov byte [rbx + 0x139], bpl
mov qword [rbx + 0x140], rbp
mov qword [rbx + 0x158], rax
mov qword [rbx + 0x148], r15
mov dword [rbx + 0x150], ebp
mov qword [rbx + 0x160], rdx
mov qword [rbx + 0x168], rbp
mov qword [rbx + 0x170], rbp
mov byte [rbx + 0x178], bpl
call fcn.1400e3d60
test eax, eax
jne 0x1400ca36a
mov byte [rbx + 0x178], 1
lea rdx, str.UPDATE_FILES________SET_FILE_STATE__FILE_STATE___pinningStateMask____WHERE_FILE_ID_IN__________SELECT_FILE_ID_FROM_FILES________WHERE__FILE_STATE__0x8000000000000000___0_AND_FILE_ID_IN_____________SELECT_CHID_FROM_FILES__HIERARCHY__WHERE_FILE_ID__PID_AND_FILE_ID_IN_________________SELECT_FILE_ID_FROM_SELECTED_FILES_WHERE_CHANNEL_ID___channel___
mov r8d, 6
lea r14, vtable.TransactionSafeStatement.0
mov qword [rbx + 0x148], r14
lea rcx, [0x14028bee0]
mov rax, qword [rbx + 0x68]
add rax, 0x10
mov qword [rbx + 0x180], r15
mov qword [rbx + 0x190], rax
mov dword [rbx + 0x188], ebp
mov qword [rbx + 0x198], rdx
mov qword [rbx + 0x1a0], rbp
mov qword [rbx + 0x1a8], rbp
mov byte [rbx + 0x1b0], bpl
call fcn.1400e3d60
test eax, eax
jne 0x1400ca3d4
mov byte [rbx + 0x1b0], 1
mov qword [rbx + 0x180], r14
lea rdx, str.UPDATE_FILES________SET_FILE_STATE__FILE_STATE___pinningStateMask____WHERE_FILE_ID_IN__________SELECT_FILE_ID_FROM_FILES________WHERE__FILE_STATE__0x8000000000000000___0_AND_FILE_ID_IN_____________SELECT_CHID_FROM_FILES__HIERARCHY________________WHERE_FILE_ID__PID_AND_FILE_ID_IN_________________SELECT_FILE_ID_FROM_SELECTED_FILES_WHERE_CHANNEL_ID___channel___
mov rax, qword [rbx + 0x68]
lea rcx, [0x14028bee0]
add rax, 0x10
mov qword [rbx + 0x1b8], r15
mov r8d, 6
mov qword [rbx + 0x1c8], rax
mov dword [rbx + 0x1c0], ebp
mov qword [rbx + 0x1d0], rdx
mov qword [rbx + 0x1d8], rbp
mov qword [rbx + 0x1e0], rbp
mov byte [rbx + 0x1e8], bpl
call fcn.1400e3d60
test eax, eax
jne 0x1400ca437
mov byte [rbx + 0x1e8], 1
mov qword [rbx + 0x1b8], r14
lea rdx, str.UPDATE_SEGMENTS____SET________CLUSTERS__1____WHERE________SEGMENT_ID__1_AND_CLUSTERS__0_AND________FILE_ID_IN__SELECT_FILE_ID_FROM_SELECTED_FILES_WHERE_CHANNEL_ID___channel_
mov rax, qword [rbx + 0x68]
lea rcx, [0x14028bee0]
add rax, 0x10
mov qword [rbx + 0x1f0], r15
mov r8d, 6
mov qword [rbx + 0x200], rax
mov dword [rbx + 0x1f8], ebp
mov qword [rbx + 0x208], rdx
mov qword [rbx + 0x210], rbp
mov qword [rbx + 0x218], rbp
mov byte [rbx + 0x220], bpl
call fcn.1400e3d60
test eax, eax
jne 0x1400ca49a
mov byte [rbx + 0x220], 1
mov qword [rbx + 0x1f0], r14
lea rdx, str.UPDATE_FILES____SET________FILE_STATE__FILE_STATE___pinningStateMask____WHERE__FILE_ID__IN__SELECT_FILE_ID_FROM_SELECTED_FILES_WHERE_CHANNEL_ID___channel_
mov rax, qword [rbx + 0x68]
lea rcx, [0x14028bee0]
add rax, 0x10
mov qword [rbx + 0x228], r15
mov r8d, 6
mov qword [rbx + 0x238], rax
mov dword [rbx + 0x230], ebp
mov qword [rbx + 0x240], rdx
mov qword [rbx + 0x248], rbp
mov qword [rbx + 0x250], rbp
mov byte [rbx + 0x258], bpl
call fcn.1400e3d60
test eax, eax
jne 0x1400ca4fd
mov byte [rbx + 0x258], 1
mov qword [rbx + 0x228], r14
lea rdx, str.UPDATE_FILES____SET________FILE_STATE__FILE_STATE___pinningStateMask_________FMA___fmaValue_________FMB___fmbValue____WHERE__FILE_ID__IN__SELECT_FILE_ID_FROM_SELECTED_FILES_WHERE_CHANNEL_ID___channel_
mov rax, qword [rbx + 0x68]
lea rcx, [0x14028bee0]
add rax, 0x10
mov qword [rbx + 0x260], r15
mov r8d, 6
mov qword [rbx + 0x270], rax
mov dword [rbx + 0x268], ebp
mov qword [rbx + 0x278], rdx
mov qword [rbx + 0x280], rbp
mov qword [rbx + 0x288], rbp
mov byte [rbx + 0x290], bpl
call fcn.1400e3d60
test eax, eax
jne 0x1400ca560
mov byte [rbx + 0x290], 1
mov qword [rbx + 0x260], r14
lea rdx, str.INSERT_OR_IGNORE_INTO_FILES_____FILE_ID__FMA__FMB__FILE_STATE__DIRTY__FILE_EXT_ID__FILE_SIZE_LOG2__SELECT_SELECTED_FILES.FILE_ID__0__0__0__0__0__0_FROM_SELECTED_FILES_WHERE_CHANNEL_ID___channel
mov rax, qword [rbx + 0x68]
lea rcx, [0x14028bee0]
add rax, 0x10
mov qword [rbx + 0x298], r15
mov r8d, 6
mov qword [rbx + 0x2a8], rax
mov dword [rbx + 0x2a0], ebp
mov qword [rbx + 0x2b0], rdx
mov qword [rbx + 0x2b8], rbp
mov qword [rbx + 0x2c0], rbp
mov byte [rbx + 0x2c8], bpl
call fcn.1400e3d60
test eax, eax
jne 0x1400ca5c3
mov byte [rbx + 0x2c8], 1
mov qword [rbx + 0x298], r14
lea rdx, str.UPDATE_FILES_SET_FMA___select_min_FMA__CAST___SELECT_RCWC_FROM_ACCESS_COUNT_WHERE_ACCESS_COUNT.FILE_ID__FILES.FILE_ID_____SELECT_coalesce__SELECT_BIAS_FROM_FILES_EXT_WHERE_FILES_EXT.FILE_EXT_ID__FILES.FILE_EXT_ID____default_file_ext_bias_____256_____file_cache_size___FILES.FILE_SIZE_LOG2_____file_cache_size___age_coeff_a__AS_INTEGER_____metric_saturation____FMB___invalid_value_WHERE_FILES.FILE_ID_IN__SELECT_FILE_ID_FROM_ACCESS_COUNT_WHERE_ACCESS_COUNT.NONEXISTING__0_
mov rax, qword [rbx + 0x68]
lea rcx, [0x14028bee0]
add rax, 0x10
mov qword [rbx + 0x2d0], r15
mov r8d, 6
mov qword [rbx + 0x2e0], rax
mov dword [rbx + 0x2d8], ebp
mov qword [rbx + 0x2e8], rdx
mov qword [rbx + 0x2f0], rbp
mov qword [rbx + 0x2f8], rbp
mov byte [rbx + 0x300], bpl
call fcn.1400e3d60
test eax, eax
jne 0x1400ca626
mov byte [rbx + 0x300], 1
mov qword [rbx + 0x2d0], r14
lea rdx, str.UPDATE_FILES_SET_FMB___select_min_FMB__CAST___SELECT_RCWC_FROM_ACCESS_COUNT_WHERE_ACCESS_COUNT.FILE_ID__FILES.FILE_ID_____SELECT_coalesce__SELECT_BIAS_FROM_FILES_EXT_WHERE_FILES_EXT.FILE_EXT_ID__FILES.FILE_EXT_ID____default_file_ext_bias_____256_____file_cache_size___FILES.FILE_SIZE_LOG2_____file_cache_size___age_coeff_b__AS_INTEGER_____metric_saturation____FMA___invalid_value_WHERE_FILES.FILE_ID_IN__SELECT_FILE_ID_FROM_ACCESS_COUNT_WHERE_ACCESS_COUNT.NONEXISTING__0_
mov rax, qword [rbx + 0x68]
lea rcx, [0x14028bee0]
add rax, 0x10
mov qword [rbx + 0x308], r15
mov r8d, 6
mov qword [rbx + 0x318], rax
mov dword [rbx + 0x310], ebp
mov qword [rbx + 0x320], rdx
mov qword [rbx + 0x328], rbp
mov qword [rbx + 0x330], rbp
mov byte [rbx + 0x338], bpl
call fcn.1400e3d60
test eax, eax
jne 0x1400ca689
mov byte [rbx + 0x338], 1
mov qword [rbx + 0x308], r14
lea rdx, str.UPDATE_FILES_SET_FMA___SELECT_MIN_FMA__CAST___SELECT_RCWC_FROM_ACCESS_COUNT_WHERE_ACCESS_COUNT.FILE_ID__FILES.FILE_ID_____SELECT_coalesce__SELECT_BIAS_FROM_FILES_EXT_WHERE_FILES_EXT.FILE_EXT_ID__FILES.FILE_EXT_ID____default_file_ext_bias_____256_____file_cache_size___FILES.FILE_SIZE_LOG2_____file_cache_size___age_coeff_a__AS_INTEGER_____metric_saturation____FMB___SELECT_MIN_CAST__FMA___old_bias__AS_INTEGER___CAST___SELECT_RCWC_FROM_ACCESS_COUNT_WHERE_ACCESS_COUNT.FILE_ID__FILES.FILE_ID_____SELECT_coalesce__SELECT_BIAS_FROM_FILES_EXT_WHERE_FILES_EXT.FILE_EXT_ID__FILES.FILE_EXT_ID____default_file_ext_bias_____256_____file_cache_size___FILES.FILE_SIZE_LOG2_____file_cache_size___age_coeff_b__AS_INTEGER_____metric_saturation___WHERE_FILES.FILE_ID_IN__SELECT_FILE_ID_FROM_ACCESS_COUNT_WHERE_ACCESS_COUNT.NONEXISTING__0_
mov rax, qword [rbx + 0x68]
lea rcx, [0x14028bee0]
add rax, 0x10
mov qword [rbx + 0x340], r15
mov r8d, 6
mov qword [rbx + 0x350], rax
mov dword [rbx + 0x348], ebp
mov qword [rbx + 0x358], rdx
mov qword [rbx + 0x360], rbp
mov qword [rbx + 0x368], rbp
mov byte [rbx + 0x370], bpl
call fcn.1400e3d60
test eax, eax
jne 0x1400ca6ec
mov byte [rbx + 0x370], 1
mov qword [rbx + 0x340], r14
lea rdx, str.UPDATE_FILES_SET_FMB___SELECT_MIN_FMB__CAST___SELECT_RCWC_FROM_ACCESS_COUNT_WHERE_ACCESS_COUNT.FILE_ID__FILES.FILE_ID_____SELECT_coalesce__SELECT_BIAS_FROM_FILES_EXT_WHERE_FILES_EXT.FILE_EXT_ID__FILES.FILE_EXT_ID____default_file_ext_bias_____256_____file_cache_size___FILES.FILE_SIZE_LOG2_____file_cache_size___age_coeff_b__AS_INTEGER_____metric_saturation___FMA___SELECT_MIN_CAST__FMB___old_bias__AS_INTEGER___CAST___SELECT_RCWC_FROM_ACCESS_COUNT_WHERE_ACCESS_COUNT.FILE_ID__FILES.FILE_ID_____SELECT_coalesce__SELECT_BIAS_FROM_FILES_EXT_WHERE_FILES_EXT.FILE_EXT_ID__FILES.FILE_EXT_ID____default_file_ext_bias_____256_____file_cache_size___FILES.FILE_SIZE_LOG2_____file_cache_size___age_coeff_a__AS_INTEGER_____metric_saturation____WHERE_FILES.FILE_ID_IN__SELECT_FILE_ID_FROM_ACCESS_COUNT_WHERE_ACCESS_COUNT.NONEXISTING__0_
mov rax, qword [rbx + 0x68]
lea rcx, [0x14028bee0]
add rax, 0x10
mov qword [rbx + 0x378], r15
mov r8d, 6
mov qword [rbx + 0x388], rax
mov dword [rbx + 0x380], ebp
mov qword [rbx + 0x390], rdx
mov qword [rbx + 0x398], rbp
mov qword [rbx + 0x3a0], rbp
mov byte [rbx + 0x3a8], bpl
call fcn.1400e3d60
test eax, eax
jne 0x1400ca74f
mov byte [rbx + 0x3a8], 1
mov qword [rbx + 0x378], r14
lea rdx, str.UPDATE_FILES_SET_FMA___fmaValue__FMB___fmbValue_WHERE_FILE_ID_IN__SELECT_FILES.FILE_ID_FROM_FILES__SEGMENTS_WHERE_FILES.FILE_STATE__2_AND_FILES.FILE_ID__SEGMENTS.FILE_ID_AND_SEGMENTS.SEGMENT_ID__0_AND_SEGMENTS.CLUSTERS__0__
mov rax, qword [rbx + 0x68]
lea rcx, [0x14028bee0]
add rax, 0x10
mov qword [rbx + 0x3b0], r15
mov r8d, 6
mov qword [rbx + 0x3c0], rax
mov dword [rbx + 0x3b8], ebp
mov qword [rbx + 0x3c8], rdx
mov qword [rbx + 0x3d0], rbp
mov qword [rbx + 0x3d8], rbp
mov byte [rbx + 0x3e0], bpl
call fcn.1400e3d60
test eax, eax
jne 0x1400ca7b2
mov byte [rbx + 0x3e0], 1
mov qword [rbx + 0x3b0], r14
lea rdx, str.DELETE_FROM_ACCESS_COUNT_WHERE_ACCESS_COUNT.NONEXISTING__0
mov rax, qword [rbx + 0x68]
lea rcx, [0x14028bee0]
add rax, 0x10
mov qword [rbx + 0x3e8], r15
mov r8d, 6
mov qword [rbx + 0x3f8], rax
mov dword [rbx + 0x3f0], ebp
mov qword [rbx + 0x400], rdx
mov qword [rbx + 0x408], rbp
mov qword [rbx + 0x410], rbp
mov byte [rbx + 0x418], bpl
call fcn.1400e3d60
test eax, eax
jne 0x1400ca815
mov byte [rbx + 0x418], 1
mov qword [rbx + 0x3e8], r14
lea rdi, [rbx + 0x420]
mov rax, qword [rbx + 0x68]
lea rdx, str.SELECT_FILE_ID_FROM_ACCESS_COUNT____WHERE_ACCESS_COUNT.NONEXISTING__1_AND_FILE_ID____start_file_id____ORDER_BY_FILE_ID_DESC
add rax, 0x10
mov qword [rdi], r15
mov r8d, 6
mov qword [rdi + 0x10], rax
lea rcx, [0x14028bee0]
mov dword [rdi + 8], ebp
mov qword [rdi + 0x18], rdx
mov qword [rdi + 0x20], rbp
mov qword [rdi + 0x28], rbp
mov byte [rdi + 0x30], bpl
call fcn.1400e3d60
test eax, eax
jne 0x1400ca866
mov byte [rdi + 0x30], 1
lea rax, vtable.MetricCalculator::SelectNonExistingQuery.0
mov r8d, 6
mov qword [rdi], rax
lea rdx, str.INSERT_OR_IGNORE_INTO_ACCESS_COUNT__FILE_ID__RCWC__NONEXISTING__VALUES___fileId__0__1_
mov qword [rbx + 0x8460], 1
lea rax, [0x140263bb0]
mov qword [rbx + 0x458], rax
lea rcx, [0x14028bee0]
mov qword [rbx + 0x8468], rdi
mov rax, qword [0x140263bb0]
mov qword [rbx + 0x460], rax
mov rax, qword [rbx + 0x68]
add rax, 0x10
mov qword [rbx + 0x8470], r15
mov qword [rbx + 0x8480], rax
mov dword [rbx + 0x8478], ebp
mov qword [rbx + 0x8488], rdx
mov qword [rbx + 0x8490], rbp
mov qword [rbx + 0x8498], rbp
mov byte [rbx + 0x84a0], bpl
call fcn.1400e3d60
test eax, eax
jne 0x1400ca8fa
mov byte [rbx + 0x84a0], 1
mov qword [rbx + 0x8470], r14
lea rdx, str.UPDATE_ACCESS_COUNT_SET_RCWC__RCWC___rcwc_WHERE_FILE_ID___file_id
mov rax, qword [rbx + 0x68]
lea rcx, [0x14028bee0]
add rax, 0x10
mov qword [rbx + 0x84a8], r15
mov r8d, 6
mov qword [rbx + 0x84b8], rax
mov dword [rbx + 0x84b0], ebp
mov qword [rbx + 0x84c0], rdx
mov qword [rbx + 0x84c8], rbp
mov qword [rbx + 0x84d0], rbp
mov byte [rbx + 0x84d8], bpl
call fcn.1400e3d60
test eax, eax
jne 0x1400ca95d
mov byte [rbx + 0x84d8], 1
mov qword [rbx + 0x84a8], r14
lea rdx, str.SELECT_max_FMA__FROM_FILES
mov rax, qword [rbx + 0x68]
lea rcx, [0x14028bee0]
add rax, 0x10
mov qword [rbx + 0x84e0], r15
mov r8d, 6
mov qword [rbx + 0x84f0], rax
mov dword [rbx + 0x84e8], ebp
mov qword [rbx + 0x84f8], rdx
mov qword [rbx + 0x8500], rbp
mov qword [rbx + 0x8508], rbp
mov byte [rbx + 0x8510], bpl
call fcn.1400e3d60
test eax, eax
jne 0x1400ca9c0
mov byte [rbx + 0x8510], 1
mov qword [rbx + 0x84e0], r14
lea rdx, str.SELECT_max_FMB__FROM_FILES
mov rax, qword [rbx + 0x68]
lea rcx, [0x14028bee0]
add rax, 0x10
mov qword [rbx + 0x8518], r15
mov r8d, 6
mov qword [rbx + 0x8528], rax
mov dword [rbx + 0x8520], ebp
mov qword [rbx + 0x8530], rdx
mov qword [rbx + 0x8538], rbp
mov qword [rbx + 0x8540], rbp
mov byte [rbx + 0x8548], bpl
call fcn.1400e3d60
test eax, eax
jne 0x1400caa23
mov byte [rbx + 0x8548], 1
mov qword [rbx + 0x8518], r14
lea rdx, str.UPDATE_ACCESS_COUNT_SET_NONEXISTING__0_WHERE_NONEXISTING__1_AND_ACCESS_COUNT.FILE_ID_IN__SELECT_FILE_ID_FROM_FILES_
mov rax, qword [rbx + 0x68]
lea rcx, [0x14028bee0]
add rax, 0x10
mov qword [rbx + 0x8550], r15
mov r8d, 6
mov qword [rbx + 0x8560], rax
mov dword [rbx + 0x8558], ebp
mov qword [rbx + 0x8568], rdx
mov qword [rbx + 0x8570], rbp
mov qword [rbx + 0x8578], rbp
mov byte [rbx + 0x8580], bpl
call fcn.1400e3d60
test eax, eax
jne 0x1400caa86
mov byte [rbx + 0x8580], 1
mov qword [rbx + 0x8550], r14
mov rcx, qword [rbx + 0x130]
mov qword [rbx + 0x8588], rsi
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rbp, qword [rsp + 0x48]
mov rax, rbx
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret