Function at 0x1800249f0
Capabilities:
Reference sql statements

Disassembly:
mov qword [rsp + 0x20], r9
push rbx
push rdi
push r13
sub rsp, 0x70
cmp qword [rdx + 0x90], 0
mov rbx, r8
mov r13, rdx
mov rdi, rcx
jne 0x180024a1e
mov eax, 0xd0
add rsp, 0x70
pop r13
pop rdi
pop rbx
ret
cmp byte [rcx + 0x10], 0
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x68], rsi
jne 0x180024a3a
lea r8, str.SELECT_MsgRowid__AVData__ASData__LastUsedTimestamp__RecordFlags_FROM_MsgCache_WHERE_MsgID____AND_MsgPrefixID____
jmp 0x180024a52
cmp qword [rcx + 0x18], 0
jne 0x180024a4b
mov eax, 0xd3
jmp 0x180024f20
lea r8, str.SELECT_MsgRowid__AVData__ASData__LastUsedTimestamp__RecordFlags__AdditionalSemiUniqueID_FROM_MsgCache_WHERE_MsgID____AND_MsgPrefixID____
mov rcx, qword [0x18014fe80]
xor ebp, ebp
mov rdx, qword [rdi + 8]
mov r9d, 0xffffffff
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rbx
mov rax, qword [rcx]
mov rax, qword [rax + 0x40]
call qword [case.0x18001b453.0]
mov qword [rsp + 0x60], r12
mov esi, eax
test eax, eax
jne 0x1800251b6
mov rcx, qword [0x18014fe80]
mov r8d, dword [r13 + 0x20]
sub r8d, dword [r13 + 0x18]
mov r9, qword [r13 + 0x18]
mov rax, qword [rcx]
mov rdx, qword [rbx]
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], r8d
mov r8d, 1
mov rax, qword [rax + 0x58]
call qword [case.0x18001b453.0]
mov esi, eax
test eax, eax
jne 0x1800251b6
mov rcx, qword [0x18014fe80]
mov r8d, 2
mov r9, qword [r13 + 0x90]
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x198]
call qword [case.0x18001b453.0]
mov esi, eax
test eax, eax
jne 0x1800251b6
mov rcx, qword [0x18014fe80]
mov rdx, qword [rbx]
mov qword [rsp + 0x58], r14
mov r14d, ebp
mov qword [rsp + 0x50], r15
mov r15d, ebp
mov rax, qword [rcx]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rbp
mov dword [rsp + 0x98], ebp
mov rax, qword [rax + 0x78]
call qword [case.0x18001b453.0]
mov esi, eax
cmp eax, 0x64
jne 0x180024de3
nop dword [rax]
mov rcx, qword [0x18014fe80]
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x88]
call qword [case.0x18001b453.0]
cmp byte [rdi + 0x10], 0
mov ecx, ebp
setne cl
add ecx, 5
cmp ecx, eax
jne 0x180025180
mov rcx, qword [0x18014fe80]
xor r8d, r8d
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x98]
call qword [case.0x18001b453.0]
cmp eax, 1
jne 0x180025180
mov rcx, qword [0x18014fe80]
mov r8d, 1
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x98]
call qword [case.0x18001b453.0]
cmp eax, 4
je 0x180024be2
mov rcx, qword [0x18014fe80]
mov r8d, 1
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x98]
call qword [case.0x18001b453.0]
cmp eax, 5
jne 0x180025180
mov rcx, qword [0x18014fe80]
mov r8d, 2
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x98]
call qword [case.0x18001b453.0]
cmp eax, 4
je 0x180024c30
mov rcx, qword [0x18014fe80]
mov r8d, 2
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x98]
call qword [case.0x18001b453.0]
cmp eax, 5
jne 0x180025180
mov rcx, qword [0x18014fe80]
mov r8d, 3
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x98]
call qword [case.0x18001b453.0]
cmp eax, 1
jne 0x180025180
mov rcx, qword [0x18014fe80]
mov r8d, 4
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x98]
call qword [case.0x18001b453.0]
cmp eax, 1
jne 0x180025180
cmp byte [rdi + 0x10], 0
je 0x180025179
mov rcx, qword [0x18014fe80]
mov r8d, 5
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x98]
call qword [case.0x18001b453.0]
cmp eax, 4
je 0x180024cda
mov rcx, qword [0x18014fe80]
mov r8d, 5
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x98]
call qword [case.0x18001b453.0]
cmp eax, 5
jne 0x180025180
cmp byte [rdi + 0x10], 0
je 0x180025179
mov rcx, qword [0x18014fe80]
mov r8d, 5
mov rdx, qword [rbx]
inc dword [rsp + 0x98]
mov rax, qword [rcx]
mov rax, qword [rax + 0xa8]
call qword [case.0x18001b453.0]
mov rcx, qword [0x18014fe80]
mov r8d, 5
mov r15, rax
mov rdx, qword [rcx]
mov rax, qword [rdx + 0xb0]
mov rdx, qword [rbx]
call qword [case.0x18001b453.0]
mov rcx, qword [r13 + 0x30]
movsxd rsi, eax
mov rax, qword [r13 + 0x38]
sub rax, rcx
cmp rsi, rax
jne 0x180024d7a
mov r8, rsi
mov rdx, r15
call fcn.180100d20
test eax, eax
jne 0x180024d7a
mov rcx, qword [0x18014fe80]
xor r8d, r8d
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x1a8]
call qword [case.0x18001b453.0]
mov r15, rax
mov qword [rsp + 0x40], rax
inc r14d
jmp 0x180024dc1
mov rax, qword [rdi + 0x18]
lea rdx, [r13 + 0x18]
mov r9, rsi
mov r8, r15
mov rcx, r13
call qword [case.0x18001b453.0]
test al, al
je 0x180024d9a
inc r14d
jmp 0x180024dbc
mov rcx, qword [0x18014fe80]
xor r8d, r8d
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x1a8]
call qword [case.0x18001b453.0]
mov qword [rsp + 0x48], rax
mov r15, qword [rsp + 0x40]
mov rcx, qword [0x18014fe80]
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x78]
mov rdx, qword [rbx]
call qword [case.0x18001b453.0]
mov esi, eax
cmp eax, 0x64
je 0x180024b40
mov rcx, qword [0x18014fe80]
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x80]
call qword [case.0x18001b453.0]
mov qword [rbx], rbp
cmp esi, 0x65
jne 0x1800251a7
cmp byte [rdi + 0x10], 0
je 0x180024f0c
mov eax, dword [rsp + 0x98]
cmp eax, 1
jle 0x180024f36
cmp eax, r14d
je 0x180024f36
cmp byte [rsp + 0xb0], 0
je 0x180024f0c
mov rcx, qword [0x18014fe80]
lea rdx, [rsp + 0x98]
mov qword [rsp + 0x98], rbp
lea r8, str.DELETE_FROM_MsgCache_WHERE_MsgID____AND_MsgPrefixID____
mov qword [rsp + 0x28], rbp
mov r9d, 0xffffffff
mov qword [rsp + 0x20], rdx
mov rax, qword [rcx]
mov rdx, qword [rdi + 8]
mov rax, qword [rax + 0x40]
call qword [case.0x18001b453.0]
mov r8d, eax
test eax, eax
jne 0x180024eed
mov edx, dword [r13 + 0x20]
mov r8d, 1
sub edx, dword [r13 + 0x18]
mov rcx, qword [0x18014fe80]
mov r9, qword [r13 + 0x18]
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], edx
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x98]
mov rax, qword [rax + 0x58]
call qword [case.0x18001b453.0]
mov r8d, eax
test eax, eax
jne 0x180024eed
mov rcx, qword [0x18014fe80]
mov r8d, 2
mov r9, qword [r13 + 0x90]
mov rdx, qword [rsp + 0x98]
mov rax, qword [rcx]
mov rax, qword [rax + 0x198]
call qword [case.0x18001b453.0]
mov r8d, eax
mov rcx, qword [0x18014fe80]
mov rdx, qword [rsp + 0x98]
mov rax, qword [rcx]
mov rax, qword [rax + 0x1b8]
call qword [case.0x18001b453.0]
mov eax, 0xfd
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
mov r12, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x68]
add rsp, 0x70
pop r13
pop rdi
pop rbx
ret
mov rsi, qword [rsp + 0x48]
test r15, r15
jne 0x180024f45
test rsi, rsi
je 0x180024f0c
mov rcx, qword [0x18014fe80]
lea r8, str.SELECT_MsgRowid__AVData__ASData__LastUsedTimestamp__RecordFlags__AdditionalSemiUniqueID_FROM_MsgCache_WHERE_MsgRowid____
mov rdx, qword [rdi + 8]
mov r9d, 0xffffffff
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rbx
mov rax, qword [rcx]
mov rax, qword [rax + 0x40]
call qword [case.0x18001b453.0]
mov edi, eax
test eax, eax
jne 0x180024fc3
mov rcx, qword [0x18014fe80]
test r15, r15
mov rdx, qword [rbx]
mov r9, rsi
cmovne r9, r15
mov r8d, 1
mov rax, qword [rcx]
mov rax, qword [rax + 0x198]
call qword [case.0x18001b453.0]
mov edi, eax
test eax, eax
jne 0x180024fc3
mov rcx, qword [0x18014fe80]
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x78]
call qword [case.0x18001b453.0]
mov edi, eax
mov rcx, qword [0x18014fe80]
mov rdx, qword [rbx]
mov rax, qword [rcx]
cmp edi, 0x64
je 0x180024ff4
mov rax, qword [rax + 0x80]
call qword [case.0x18001b453.0]
test edi, edi
mov qword [rbx], rbp
mov eax, 0xc9
cmovne eax, edi
jmp 0x180024f11
mov rax, qword [rax + 0x88]
call qword [case.0x18001b453.0]
cmp eax, 6
jne 0x180025180
mov rcx, qword [0x18014fe80]
xor r8d, r8d
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x98]
call qword [case.0x18001b453.0]
cmp eax, 1
jne 0x180025180
mov rcx, qword [0x18014fe80]
mov r8d, 1
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x98]
call qword [case.0x18001b453.0]
cmp eax, 4
je 0x18002507e
mov rcx, qword [0x18014fe80]
mov r8d, 1
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x98]
call qword [case.0x18001b453.0]
cmp eax, 5
jne 0x180025180
mov rcx, qword [0x18014fe80]
mov r8d, 2
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x98]
call qword [case.0x18001b453.0]
cmp eax, 4
je 0x1800250cc
mov rcx, qword [0x18014fe80]
mov r8d, 2
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x98]
call qword [case.0x18001b453.0]
cmp eax, 5
jne 0x180025180
mov rcx, qword [0x18014fe80]
mov r8d, 3
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x98]
call qword [case.0x18001b453.0]
cmp eax, 1
jne 0x180025180
mov rcx, qword [0x18014fe80]
mov r8d, 4
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x98]
call qword [case.0x18001b453.0]
cmp eax, 1
jne 0x180025180
mov rcx, qword [0x18014fe80]
mov r8d, 5
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x98]
call qword [case.0x18001b453.0]
cmp eax, 4
je 0x180025164
mov rcx, qword [0x18014fe80]
mov r8d, 5
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x98]
call qword [case.0x18001b453.0]
cmp eax, 5
jne 0x180025180
test r15, r15
jne 0x180025179
test rsi, rsi
je 0x180025179
mov rax, qword [rsp + 0xa8]
mov byte [rax], 1
xor eax, eax
jmp 0x180024f11
mov rcx, qword [0x18014fe80]
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x80]
call qword [case.0x18001b453.0]
mov eax, 0xc9
mov qword [rbx], rbp
jmp 0x180024f11
test esi, esi
mov eax, 0xc9
cmovne eax, esi
jmp 0x180024f11
mov rcx, qword [0x18014fe80]
mov rdx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x80]
call qword [case.0x18001b453.0]
mov eax, esi
mov qword [rbx], rbp
jmp 0x180024f1b