Function at 0x7b1140
Capabilities:
Reference sql statements

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x168
mov rax, r8
or rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x1b8], rdx
mov qword [rsp + 0x1c0], r8
mov dword [rsp + 0x1c8], r9d
je 0x7b127e
mov r15, qword [rcx + 0x160]
test r15, r15
je 0x7b127e
cmp qword [rsp + 0x1d0], 0
mov rax, qword [rcx]
mov qword [rsp + 0x78], rax
je 0x7b1f90
cmp byte [rax + 0xc5], 0
jne 0x7b20f0
test dword [rsp + 0x1c8], 0x10000
je 0x7b1298
movsx r9d, word [r15 + 0x36]
or dword [r15 + 0x30], 0x10000
test r9d, r9d
jle 0x7b1298
mov rax, qword [r15 + 8]
xor edx, edx
jmp 0x7b1234
cmp r8b, 0x10
jne 0x7b11fa
mov byte [rax + 0xc], 0x41
test byte [rax + 0x12], 1
je 0x7b1228
movsx r8d, word [r15 + 0x34]
cmp r8d, edx
je 0x7b1228
and ecx, 0xf
jne 0x7b1228
movzx ecx, byte [rax + 8]
and ecx, 0xfffffff0
or ecx, 2
mov byte [rax + 8], cl
or dword [r15 + 0x30], 0x800
nop dword [rax]
add edx, 1
add rax, 0x18
cmp edx, r9d
je 0x7b1298
movzx ecx, byte [rax + 8]
mov r8d, ecx
and r8d, 0xf0
jne 0x7b11f0
mov rbx, qword [rax]
test byte [rax + 0x12], 4
je 0x7b23b0
mov rcx, rbx
call sub.msvcrt.dll_strlen
mov rcx, qword [rsp + 0x1b0]
mov r9, rbx
lea rdx, str.unknown_datatype_for__s._s:___s_
lea rax, [rbx + rax + 1]
mov qword [rsp + 0x20], rax
mov r8, qword [r15]
call fcn.007b2d40
nop
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test byte [rsp + 0x1c8], 0x80
jne 0x7b1d10
mov rdx, qword [r15 + 0x60]
test rdx, rdx
je 0x7b2bc3
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x20]
cmp rdx, qword [rcx + 0x18]
je 0x7b2a50
mov eax, 0x20
xor r12d, r12d
nop
mov rbx, rax
add rax, 0x20
add r12d, 1
cmp rdx, qword [rcx + rax - 8]
jne 0x7b12d0
mov rdx, qword [r15 + 0x20]
test rdx, rdx
je 0x7b13e5
lea rbp, [rsp + 0xf0]
xor eax, eax
mov ecx, 0xe
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xc0], 0
mov rdi, rbp
rep stosq qword [rdi], rax
mov qword [rsp + 0xc8], 0
mov ecx, 0x50004
mov rdi, qword [rsp + 0x1b0]
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xe0], 0
mov rax, qword [r15]
mov dword [rsp + 0xf0], 1
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x118], r15
mov dword [rsp + 0x13c], 0xffffffff
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x38]
cmp qword [r15 + 0x60], rax
mov eax, 0x10004
mov qword [rsp + 0xb0], rdi
cmovne eax, ecx
lea rcx, [rsp + 0xb0]
mov qword [rsp + 0xb8], rbp
mov dword [rsp + 0xd8], eax
call fcn.007e78c0
mov rax, qword [rsp + 0x1b0]
mov r9d, dword [rax + 0x30]
test r9d, r9d
je 0x7b13e5
mov rdx, qword [r15 + 0x20]
test rdx, rdx
je 0x7b13dd
mov rcx, qword [rsp + 0x78]
call fcn.006f5890
mov qword [r15 + 0x20], 0
movzx edx, word [r15 + 0x36]
movsx r8d, dx
test byte [r15 + 0x30], 0x60
je 0x7b1563
xor r14d, r14d
xor ebp, ebp
lea rsi, [rsp + 0xf0]
test dx, dx
jle 0x7b27a0
mov qword [rsp + 0x60], rbx
mov r13, qword [rsp + 0x1b0]
mov rbx, r15
jmp 0x7b152a
movzx eax, word [rax + 0x10]
test ax, ax
je 0x7b2008
cmp byte [rbx + 0x3f], 0
jne 0x7b2008
mov rdx, qword [rbx + 0x50]
test rdx, rdx
je 0x7b145e
cmp dword [rdx], eax
jl 0x7b2008
sub eax, 1
cdqe
shl rax, 5
mov rdx, qword [rdx + rax + 8]
xor eax, eax
mov rdi, rsi
mov ecx, 0xe
mov qword [rsp + 0xd8], 0
rep stosq qword [rdi], rax
mov qword [rsp + 0xc0], 0
mov edi, 0x10008
lea rcx, [rsp + 0xb0]
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xe0], 0
mov rax, qword [rbx]
mov dword [rsp + 0xf0], 1
mov qword [rsp + 0x108], rax
mov rax, qword [r13]
mov qword [rsp + 0x118], rbx
mov dword [rsp + 0x13c], 0xffffffff
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x38]
cmp qword [rbx + 0x60], rax
mov eax, 0x50008
mov qword [rsp + 0xb0], r13
cmove eax, edi
mov qword [rsp + 0xb8], rsi
mov dword [rsp + 0xd8], eax
call fcn.007e7a10
test eax, eax
jne 0x7b2010
movzx edx, word [rbx + 0x36]
movsx r8d, dx
add r14, 1
cmp r8d, r14d
jle 0x7b1553
mov rax, qword [rbx + 8]
lea r15, [r14 + r14*2]
shl r15, 3
add rax, r15
test byte [rax + 0x12], 0x60
jne 0x7b1428
movsx r8d, dx
add r14, 1
add ebp, 1
cmp r8d, r14d
jg 0x7b152a
mov r15, rbx
mov rbx, qword [rsp + 0x60]
test ebp, ebp
je 0x7b27a0
mov r9, qword [r15 + 8]
movzx edi, word [r15 + 0x34]
test r8d, r8d
jle 0x7b2760
mov ebp, r8d
cmp r8d, 0x18
jle 0x7b2a6d
lea rcx, [r9 + 0xd]
pxor xmm3, xmm3
pxor xmm4, xmm4
mov eax, r8d
shr eax, 4
pxor xmm2, xmm2
lea rsi, [rax + rax*2]
shl rsi, 7
add rsi, rcx
nop dword [rax + rax]
movzx edx, byte [rcx + 0xa8]
movzx r11d, byte [rcx]
add rcx, 0x180
movzx eax, byte [rcx - 0xf0]
movzx r10d, byte [rcx - 0x30]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx - 0x108]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx - 0x120]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx - 0x138]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx - 0x150]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx - 0x168]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx - 0x18]
shl rdx, 8
shl rax, 8
or rdx, r11
or rax, r10
movzx r10d, byte [rcx - 0x48]
mov qword [rsp + 0x60], rdx
shl rax, 8
or rax, r10
movzx r10d, byte [rcx - 0x60]
shl rax, 8
or rax, r10
movzx r10d, byte [rcx - 0x78]
shl rax, 8
or rax, r10
movzx r10d, byte [rcx - 0x90]
shl rax, 8
or rax, r10
movzx r10d, byte [rcx - 0xa8]
shl rax, 8
or rax, r10
movzx r10d, byte [rcx - 0xc0]
shl rax, 8
or rax, r10
mov qword [rsp + 0x68], rax
movdqu xmm0, xmmword [rsp + 0x60]
movdqu xmm1, xmmword [rsp + 0x60]
punpckhbw xmm0, xmm4
movdqu xmm5, xmm0
punpcklbw xmm1, xmm4
punpcklwd xmm0, xmm2
punpckhwd xmm5, xmm2
paddd xmm0, xmm5
movdqu xmm5, xmm1
punpcklwd xmm1, xmm2
punpckhwd xmm5, xmm2
paddd xmm1, xmm5
paddd xmm0, xmm1
paddd xmm3, xmm0
cmp rsi, rcx
jne 0x7b15a8
movdqu xmm0, xmm3
mov edx, r8d
psrldq xmm0, 8
and edx, 0xfffffff0
paddd xmm3, xmm0
mov ecx, edx
sub r8d, edx
movdqu xmm0, xmm3
lea rcx, [rcx + rcx*2]
psrldq xmm0, 4
lea r9, [r9 + rcx*8]
paddd xmm3, xmm0
movd eax, xmm3
cmp edx, ebp
je 0x7b1711
nop word [rax + rax]
movzx edx, byte [r9 + 0xd]
add r9, 0x18
add eax, edx
sub r8d, 1
jne 0x7b1700
test di, di
js 0x7b2398
lea edx, [rax*4]
mov rax, rdx
cmp eax, 7
jbe 0x7b2370
bsr rax, rdx
mov ecx, 0x3c
xor rax, 0x3f
sub ecx, eax
lea r8d, [rcx + rcx*4]
shr rdx, cl
lea r8d, [r8 + r8 + 0x28]
and edx, 7
lea rax, [0x00966700]
movzx eax, word [rax + rdx*2]
lea r8d, [r8 + rax - 0xa]
mov r11, qword [r15 + 0x10]
mov word [r15 + 0x3c], r8w
test r11, r11
je 0x7b1781
nop dword [rax]
mov rcx, r11
call fcn.006f10f0
mov r11, qword [r11 + 0x28]
test r11, r11
jne 0x7b1770
mov rax, qword [rsp + 0x78]
cmp byte [rax + 0xc5], 0
jne 0x7b22a0
mov rax, qword [rsp + 0x1b0]
mov r14, qword [rax + 0x10]
test r14, r14
je 0x7b2958
xor r8d, r8d
xor r9d, r9d
mov edx, 0x7a
mov rcx, r14
call fcn.007ff390
cmp byte [r15 + 0x3f], 0
lea rax, str.TABLE
lea r8, str.VIEW
cmove r8, rax
lea rdx, str.table
lea rax, str.view
cmove rax, rdx
cmp qword [rsp + 0x1d0], 0
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1b0]
je 0x7b2120
cmp byte [rax + 0x134], 0
jne 0x7b2a97
mov edi, dword [rax + 0x38]
mov r8d, 1
mov edx, 0x71
mov rcx, r14
lea r13d, [rdi + 3]
lea esi, [rdi + 1]
mov dword [rax + 0x38], r13d
mov rax, qword [rax + 0xb0]
test rax, rax
cmove rax, qword [rsp + 0x1b0]
mov byte [rax + 0x21], 1
mov rax, qword [rsp + 0x1b0]
mov dword [rsp + 0x20], r12d
mov r9d, dword [rax + 0x8c]
call fcn.007ff320
movsxd rax, dword [r14 + 0x90]
test eax, eax
jle 0x7b187c
mov rdx, qword [r14 + 0x88]
lea rax, [rax + rax*2]
mov ecx, 0x10
lea rax, [rdx + rax*8]
mov word [rax - 0x16], cx
mov rcx, r14
xor r9d, r9d
mov r8d, esi
mov edx, 0xb
mov rax, qword [rsp + 0x1b0]
mov dword [rax + 0x34], 2
mov eax, dword [r14 + 0x90]
mov dword [rsp + 0x60], eax
add eax, 1
mov dword [rsp + 0x20], eax
call fcn.007ff320
mov rcx, qword [rsp + 0x1b0]
mov eax, dword [rcx + 0x30]
test eax, eax
jne 0x7b127e
mov rdx, qword [rsp + 0x1d0]
mov r8d, 0x41
call fcn.007e8040
mov rdx, rax
test rax, rax
je 0x7b127e
movzx eax, word [rax + 0x36]
mov rcx, qword [rsp + 0x78]
lea rbp, [rsp + 0xf0]
mov word [r15 + 0x38], ax
mov word [r15 + 0x36], ax
mov rax, qword [rdx + 8]
mov qword [r15 + 8], rax
xor eax, eax
mov word [rdx + 0x36], ax
mov qword [rdx + 8], 0
call fcn.007afad0
mov rcx, qword [rsp + 0x1b0]
mov r8, rbp
mov rdx, qword [rsp + 0x1d0]
mov byte [rsp + 0xf0], 0xd
mov dword [rsp + 0xf4], esi
mov qword [rsp + 0x108], 0
mov qword [rsp + 0xf8], 0
mov dword [rsp + 0x100], 0
call fcn.007f20b0
mov rcx, qword [rsp + 0x1b0]
mov ecx, dword [rcx + 0x30]
mov dword [rsp + 0xa8], ecx
test ecx, ecx
jne 0x7b127e
xor r9d, r9d
mov edx, 0x44
mov rcx, r14
mov r8d, esi
call fcn.007ff390
mov rax, qword [r14 + 0x18]
mov byte [rax + 0x1f], 0
mov rcx, qword [r14]
mov dword [rax + 0x28], 0
mov edx, dword [r14 + 0x90]
lea rax, [0x00868dc0]
cmp byte [rcx + 0x67], 0
jne 0x7b19c9
movsxd rax, dword [rsp + 0x60]
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
add edi, 2
xor r9d, r9d
mov edx, 0xc
mov r8d, dword [rsp + 0xf4]
mov rcx, r14
call fcn.007ff390
mov dword [rsp + 0x20], edi
mov edx, 0x61
mov rcx, r14
mov r9d, dword [rsp + 0x100]
mov r8d, dword [rsp + 0xfc]
movsxd rsi, eax
call fcn.007ff320
xor r8d, r8d
mov rdx, r15
mov rcx, r14
call fcn.007fa050
mov r9d, r13d
mov edx, 0x7f
mov rcx, r14
mov r8d, 1
call fcn.007ff390
mov dword [rsp + 0x20], r13d
mov r9d, edi
mov rcx, r14
mov r8d, 1
mov edx, pe_nt_image_headers64
call fcn.007ff320
xor r8d, r8d
mov edx, 9
mov rcx, r14
mov r9d, esi
call fcn.007ff390
mov rcx, qword [r14]
mov edx, dword [r14 + 0x90]
lea rax, [0x00868dc0]
cmp byte [rcx + 0x67], 0
jne 0x7b1a83
mov rax, qword [r14 + 0x88]
lea rcx, [rsi + rsi*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
xor r9d, r9d
mov r8d, 1
mov rcx, r14
mov edx, 0x7a
call fcn.007ff390
movsx esi, word [r15 + 0x36]
mov r9, qword [r15 + 8]
test esi, esi
jle 0x7b2bfa
lea eax, [rsi - 1]
xor r10d, r10d
lea rax, [rax + rax*2 + 3]
lea r11, [r9 + rax*8]
nop dword [rax]
mov rcx, qword [r9]
movzx edx, byte [rcx]
test dl, dl
je 0x7b2aff
xor eax, eax
lea r8d, [rax + 1]
add eax, 2
cmp dl, 0x22
cmovne eax, r8d
movzx edx, byte [rcx + 1]
add rcx, 1
test dl, dl
jne 0x7b1ad0
add eax, 7
add r9, 0x18
add r10d, eax
cmp r11, r9
jne 0x7b1ac0
mov rcx, qword [r15]
movzx edx, byte [rcx]
test dl, dl
je 0x7b27b9
xor eax, eax
nop dword [rax]
lea r8d, [rax + 1]
add eax, 2
cmp dl, 0x22
cmovne eax, r8d
movzx edx, byte [rcx + 1]
add rcx, 1
test dl, dl
jne 0x7b1b10
add eax, 2
add r10d, eax
lea rdx, [0x00957f82]
lea rax, [0x0095e7e3]
cmp r10d, 0x32
cmovl rax, rdx
lea rdx, [0x00958b31]
mov qword [rsp + 0x88], rax
lea rax, str.__n
cmovl rax, rdx
lea rdx, [0x0095639e]
mov qword [rsp + 0x60], rax
lea rax, [0x0095e7eb]
cmovl rax, rdx
mov r9, rax
lea eax, [rsi + rsi*2]
mov qword [rsp + 0x90], r9
lea eax, [r10 + rax*2 + 0x23]
movsxd rcx, eax
mov dword [rsp + 0x84], eax
call fcn.007dc490
mov r9, qword [rsp + 0x90]
test rax, rax
mov r13, rax
je 0x7b2c38
mov ecx, dword [rsp + 0x84]
lea r8, str.CREATE_TABLE
mov rdx, rax
mov qword [rsp + 0xa0], r9
call fcn.00833590
mov rcx, r13
call sub.msvcrt.dll_strlen
mov r8, qword [r15]
mov rdx, rbp
mov rcx, r13
and eax, 0x3fffffff
mov dword [rsp + 0xf0], eax
call fcn.0074b590
movsxd rax, dword [rsp + 0xf0]
lea edx, [rax + 1]
mov dword [rsp + 0xf0], edx
mov byte [r13 + rax], 0x28
cmp word [r15 + 0x36], 0
mov rdi, qword [r15 + 8]
mov esi, dword [rsp + 0xf0]
jle 0x7b2ad7
mov r9, qword [rsp + 0xa0]
mov dword [rsp + 0x98], r12d
mov qword [rsp + 0xa0], rbx
mov r12d, dword [rsp + 0xa8]
mov qword [rsp + 0x90], r14
mov ebx, dword [rsp + 0x84]
mov r8, r9
jmp 0x7b1ca4
mov rcx, r14
call sub.msvcrt.dll_strlen
movsxd rcx, dword [rsp + 0xf0]
mov rdx, r14
mov esi, eax
and eax, 0x3fffffff
add rcx, r13
mov r8, rax
and esi, 0x3fffffff
call sub.msvcrt.dll_memcpy
add esi, dword [rsp + 0xf0]
mov dword [rsp + 0xf0], esi
movsx eax, word [r15 + 0x36]
add r12d, 1
add rdi, 0x18
cmp r12d, eax
jge 0x7b2abf
mov r8, qword [rsp + 0x60]
movsxd rdx, esi
mov ecx, ebx
add rdx, r13
sub ecx, esi
call fcn.00833590
movsxd rcx, dword [rsp + 0xf0]
mov rsi, rcx
add rcx, r13
call sub.msvcrt.dll_strlen
mov r8, qword [rdi]
mov rdx, rbp
mov rcx, r13
and eax, 0x3fffffff
add eax, esi
lea rsi, [0x0096aa40]
mov dword [rsp + 0xf0], eax
call fcn.0074b590
movsx eax, byte [rdi + 0xc]
sub eax, 0x41
cdqe
mov r14, qword [rsi + rax*8]
test r14, r14
jne 0x7b1c50
mov esi, dword [rsp + 0xf0]
jmp 0x7b1c89
mov r9d, dword [r15 + 0x30]
mov eax, r9d
and eax, 8
jne 0x7b2a30
test r9b, 4
je 0x7b2978
mov rdi, qword [rsp + 0x1b0]
mov rsi, qword [rsp + 0x1b0]
mov edx, r9d
or edx, 0x280
mov rdi, qword [rdi]
mov rsi, qword [rsi + 0x10]
mov dword [r15 + 0x30], edx
mov qword [rsp + 0x98], rdi
movzx edi, byte [rdi + 0xc8]
mov qword [rsp + 0x60], rsi
mov ecx, edi
mov byte [rsp + 0x70], dil
and ecx, 2
jne 0x7b1dc5
movsx edx, word [r15 + 0x36]
test dx, dx
jle 0x7b1dba
mov r8, qword [r15 + 8]
sub edx, 1
lea r10, [rdx + rdx*2]
lea rdx, [r8 + 0x18]
lea r11, [rdx + r10*8]
jmp 0x7b1d94
add rdx, 0x18
test byte [r8 + 0x12], 1
je 0x7b1db2
movzx r10d, byte [r8 + 8]
test r10b, 0xf
jne 0x7b1db2
and r10d, 0xfffffff0
or r10d, 2
mov byte [r8 + 8], r10b
mov r8, rdx
cmp r11, rdx
jne 0x7b1d90
or r9d, 0xa80
mov dword [r15 + 0x30], r9d
mov rdi, qword [rsp + 0x1b0]
movsxd rdx, dword [rdi + 0xd0]
test edx, edx
je 0x7b1e05
mov rdi, qword [rsp + 0x60]
lea r8, [0x00868dc0]
mov r9, qword [rdi]
cmp byte [r9 + 0x67], 0
jne 0x7b1dfd
lea r8, [rdx + rdx*2]
mov rdx, qword [rdi + 0x88]
lea r8, [rdx + r8*8]
mov dword [r8 + 0xc], 2
movsx rdx, word [r15 + 0x34]
test dx, dx
js 0x7b2418
mov r13, qword [r15 + 8]
lea rdx, [rdx + rdx*2]
lea rdx, [r13 + rdx*8]
mov rcx, qword [rdx]
mov qword [rsp + 0xf0], rcx
test rcx, rcx
je 0x7b1e3a
call sub.msvcrt.dll_strlen
and eax, 0x3fffffff
mov rcx, qword [rsp + 0x98]
xor r9d, r9d
mov edx, 0x3b
lea r8, [rsp + 0xf0]
mov dword [rsp + 0xf8], eax
call fcn.007b37f0
mov rdx, rax
mov rax, qword [rsp + 0x1b0]
mov rcx, qword [rax]
call fcn.007b9910
test rax, rax
je 0x7b2a60
mov rdi, qword [rsp + 0x1b0]
cmp byte [rdi + 0x134], 1
jbe 0x7b1eb5
mov rdx, qword [rdi + 0x1a0]
lea rcx, [r15 + 0x34]
test rdx, rdx
jne 0x7b1ea9
jmp 0x7b1eb5
mov rdx, qword [rdx + 0x18]
test rdx, rdx
je 0x7b1eb5
cmp rcx, qword [rdx]
jne 0x7b1ea0
mov rcx, qword [rax + 8]
mov qword [rdx], rcx
mov rdi, qword [rsp + 0x1b0]
mov ebp, 0xffffffff
xor r9d, r9d
xor r8d, r8d
movzx edx, byte [rdi + 0x132]
mov rcx, rdi
mov byte [rax + 0x18], dl
mov word [r15 + 0x34], bp
mov dword [rsp + 0x50], 2
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
movzx edx, byte [r15 + 0x3e]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], edx
xor edx, edx
call fcn.007ac780
mov rax, qword [rsp + 0x1b0]
mov r12d, dword [rax + 0x30]
test r12d, r12d
jne 0x7b2a60
mov rsi, qword [r15 + 0x10]
mov r14, rsi
test rsi, rsi
jne 0x7b1f49
jmp 0x7b1f55
mov r14, qword [r14 + 0x28]
test r14, r14
je 0x7b1f55
movzx eax, byte [r14 + 0x64]
and eax, 3
cmp al, 2
jne 0x7b1f40
mov rdi, qword [rsp + 0x98]
movzx eax, word [r14 + 0x5e]
movzx edi, byte [rdi + 0xc8]
mov word [rsp + 0xa0], ax
mov dword [rsp + 0x88], eax
mov ecx, edi
mov byte [rsp + 0x70], dil
and ecx, 2
jmp 0x7b2521
mov rsi, qword [r15]
mov edx, 0x5f
mov rcx, rsi
call sub.msvcrt.dll_strrchr
mov rbx, rax
test rax, rax
je 0x7b1fcd
mov byte [rax], 0
mov rcx, qword [rsp + 0x78]
xor r8d, r8d
mov rdx, rsi
call fcn.007bbff0
mov byte [rbx], 0x5f
test rax, rax
je 0x7b1fcd
cmp byte [rax + 0x3f], 1
je 0x7b2771
mov rax, qword [rsp + 0x78]
cmp byte [rax + 0xc5], 0
je 0x7b11b8
cmp byte [r15 + 0x3f], 0
mov eax, dword [rax + 0xc0]
je 0x7b2350
test eax, eax
jne 0x7b20f0
mov dword [r15 + 0x28], 0
jmp 0x7b11b8
xor edx, edx
jmp 0x7b145e
mov rcx, qword [rsp + 0x78]
mov edx, 0x48
call fcn.007ae070
mov rdi, rax
test rax, rax
je 0x7b2083
mov r8d, 0xffffffff
mov qword [rax], 0
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov qword [rax + 0x38], 0
mov qword [rax + 0x40], 0
mov byte [rax], 0x79
mov word [rax + 0x32], r8w
mov dword [rax + 0x28], 1
add r15, qword [rbx + 8]
mov r8, r15
mov r15, qword [rbx + 0x50]
movzx eax, word [r8 + 0x10]
test ax, ax
je 0x7b2110
test r15, r15
je 0x7b2a78
movsxd rdx, dword [r15]
cmp edx, eax
jge 0x7b23d0
lea eax, [rdx + 1]
mov word [r8 + 0x10], ax
cmp dword [r15 + 4], edx
jle 0x7b2a10
lea eax, [rdx + 1]
shl rdx, 5
add rdx, r15
mov dword [r15], eax
mov qword [rdx + 0x10], 0
mov qword [rdx + 0x18], 0
mov qword [rdx + 0x20], 0
mov qword [rdx + 8], rdi
mov qword [rbx + 0x50], r15
jmp 0x7b1519
mov rcx, qword [rsp + 0x1b0]
lea rdx, [0x0095639e]
call fcn.007b2d40
jmp 0x7b127e
test r15, r15
je 0x7b2a78
movsxd rdx, dword [r15]
jmp 0x7b20ac
mov ebp, dword [rsp + 0x1c8]
add rax, 0x120
mov rdi, qword [rsp + 0x1b0]
test ebp, ebp
mov rdx, qword [rdi + 0x110]
cmove rax, qword [rsp + 0x1c0]
mov rcx, qword [rax]
mov r9, rcx
sub r9, rdx
cmp byte [rcx], 0x3b
je 0x7b2159
add r9d, dword [rax + 8]
mov qword [rsp + 0x20], rdx
mov rcx, qword [rsp + 0x78]
lea rdx, str.CREATE__s__.s
call fcn.007dc3b0
mov r13, rax
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x1b0]
mov rax, qword [r15]
mov r9, qword [rsp + 0x70]
mov rdx, qword [rdi + 0x20]
mov rcx, rsi
mov r8, qword [rdx + rbx]
mov edx, dword [rsi + 0x88]
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x40], edx
mov edx, dword [rsi + 0x8c]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], edx
lea rdx, str.UPDATE__Q.sqlite_master_SET_type_s__name_Q__tbl_name_Q__rootpage_d__sql_Q_WHERE_rowid_d
mov qword [rsp + 0x20], rax
call fcn.007dcfc0
test r13, r13
je 0x7b21d1
mov rdx, r13
mov rcx, rdi
call fcn.007adee0
mov rax, qword [rsp + 0x1b0]
mov r8d, r12d
mov rdx, qword [rax + 0x10]
mov rcx, qword [rax]
call fcn.007a8160
test byte [r15 + 0x30], 8
je 0x7b221b
mov rax, qword [rsp + 0x1b0]
cmp byte [rax + 0x134], 0
jne 0x7b221b
mov rdi, qword [rsp + 0x78]
mov rax, qword [rdi + 0x20]
add rax, rbx
mov rdx, qword [rax + 0x18]
cmp qword [rdx + 0x68], 0
je 0x7b2c47
mov r8, qword [r15]
mov rcx, qword [rsp + 0x78]
lea rdx, str.tbl_name_q_AND_type_trigger
call fcn.007dc3b0
xor r9d, r9d
mov edx, r12d
mov rcx, r14
mov r8, rax
call fcn.007ffbf0
test byte [r15 + 0x30], 0x60
jne 0x7b2b26
mov rdi, qword [rsp + 0x78]
mov r9, qword [r15]
lea rdx, str.PRAGMA___w_.integrity_check__Q_
mov rax, qword [rdi + 0x20]
mov rcx, rdi
mov r8, qword [rax + rbx]
call fcn.007dc3b0
xor r9d, r9d
mov edx, 0x94
mov rcx, r14
mov r8d, 1
mov rbx, rax
call fcn.007ff390
mov r9d, 0xfffffffa
mov r8, rbx
mov rcx, r14
mov edx, eax
call fcn.007ffe40
cmp byte [rdi + 0xc5], 0
je 0x7b2300
nop
mov rax, qword [r15 + 0x60]
mov rdx, qword [r15]
mov r8, r15
lea rcx, [rax + 8]
call fcn.007d5530
test rax, rax
jne 0x7b2ab0
mov rax, qword [rsp + 0x1b0]
mov rsi, qword [r15]
mov ecx, 0x10
lea rdi, str.sqlite_sequence
mov qword [rax + 0x160], 0
mov rax, qword [rsp + 0x78]
or dword [rax + 0x2c], 1
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
jne 0x7b2300
mov rax, qword [r15 + 0x60]
mov qword [rax + 0x68], r15
nop word [rax + rax]
cmp qword [rsp + 0x1d0], 0
jne 0x7b127e
cmp byte [r15 + 0x3f], 0
jne 0x7b127e
mov rax, qword [rsp + 0x1b8]
mov rax, qword [rax]
test rax, rax
je 0x7b2b8e
mov rdi, qword [rsp + 0x1b0]
sub rax, qword [rdi + 0x110]
add eax, 0xd
mov dword [r15 + 0x40], eax
jmp 0x7b127e
mov dword [r15 + 0x28], eax
cmp eax, 1
jne 0x7b11b8
or dword [r15 + 0x30], 1
jmp 0x7b11b8
cmp rdx, 1
jbe 0x7b2769
mov eax, 0x1e
nop
add rdx, rdx
mov r8d, eax
sub eax, 0xa
cmp rdx, 7
jbe 0x7b2380
jmp 0x7b1748
lea edx, [rax*4 + 4]
mov rax, rdx
jmp 0x7b1724
mov r8, qword [r15]
mov rcx, qword [rsp + 0x1b0]
mov r9, rbx
lea rdx, str.missing_datatype_for__s._s
call fcn.007b2d40
jmp 0x7b127e
sub eax, 1
mov qword [rsp + 0x70], r8
cdqe
mov rdx, rax
shl rdx, 5
mov rdx, qword [r15 + rdx + 8]
test rdx, rdx
je 0x7b2403
mov rcx, qword [r13]
call fcn.007b85b0
mov r8, qword [rsp + 0x70]
movzx eax, word [r8 + 0x10]
sub eax, 1
cdqe
shl rax, 5
movzx edx, word [rbx + 0x36]
mov qword [r15 + rax + 8], rdi
jmp 0x7b151d
mov rsi, qword [r15 + 0x10]
test rsi, rsi
je 0x7b2c68
mov r14, rsi
jmp 0x7b243d
mov r14, qword [r14 + 0x28]
test r14, r14
je 0x7b2c63
movzx eax, byte [r14 + 0x64]
and eax, 3
cmp al, 2
jne 0x7b2430
cmp word [r14 + 0x5e], 1
jbe 0x7b2bd5
mov qword [rsp + 0x70], r15
mov r10, qword [r14 + 8]
mov ebp, 1
mov r13d, 1
lea r9, [0x00998440]
mov r12, qword [r14 + 0x40]
movzx edi, word [r10 + rbp*2]
lea r15, [rbp + rbp]
xor ecx, ecx
lea esi, [r13 - 1]
mov rbx, qword [r12 + rbp*8]
jmp 0x7b24a0
lea rax, [rcx + 1]
cmp rsi, rcx
je 0x7b2928
mov rcx, rax
cmp di, word [r10 + rcx*2]
jne 0x7b2490
mov r11, qword [r12 + rcx*8]
xor r8d, r8d
jmp 0x7b24bf
movzx edx, byte [r9 + rdx]
cmp byte [r9 + rax], dl
jne 0x7b2490
add r8, 1
movzx eax, byte [r11 + r8]
movzx edx, byte [rbx + r8]
cmp eax, edx
jne 0x7b24b0
test eax, eax
jne 0x7b24bb
sub word [r14 + 0x60], 1
movzx eax, word [r14 + 0x5e]
add rbp, 1
cmp eax, ebp
jg 0x7b2470
mov rax, qword [rsp + 0x98]
mov r15, qword [rsp + 0x70]
mov word [rsp + 0xa0], r13w
movzx eax, byte [rax + 0xc8]
mov rsi, qword [r15 + 0x10]
mov ecx, eax
mov byte [rsp + 0x70], al
movzx eax, r13w
mov dword [rsp + 0x88], eax
and ecx, 2
mov eax, r13d
mov word [r14 + 0x5e], ax
movzx eax, byte [r14 + 0x64]
mov edx, eax
or edx, 0x20
mov byte [r14 + 0x64], dl
test cl, cl
jne 0x7b253a
or eax, 0x28
mov byte [r14 + 0x64], al
movzx eax, word [rsp + 0xa0]
mov rdi, qword [rsp + 0x60]
mov word [r14 + 0x60], ax
test rdi, rdi
je 0x7b257b
movsxd rax, dword [r14 + 0x58]
test eax, eax
je 0x7b257b
mov rcx, qword [rdi]
lea rdx, [0x00868dc0]
cmp byte [rcx + 0x67], 0
jne 0x7b2578
lea rdx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rdx, [rax + rdx*8]
mov byte [rdx], 9
mov eax, dword [r15 + 0x28]
mov dword [r14 + 0x58], eax
test rsi, rsi
je 0x7b2baa
mov qword [rsp + 0xa8], r15
lea rdi, [0x00998440]
nop dword [rax + rax]
movzx eax, byte [rsi + 0x64]
and eax, 3
cmp al, 2
je 0x7b27d4
movzx eax, word [rsi + 0x5e]
mov ebx, dword [rsp + 0x88]
mov word [rsp + 0x90], ax
test ebx, ebx
je 0x7b27c8
mov r11, qword [r14 + 8]
movzx ecx, ax
lea eax, [rbx - 1]
xor r8d, r8d
mov qword [rsp + 0x60], rax
xor ebx, ebx
mov qword [rsp + 0x70], r11
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x84], ecx
movzx r12d, word [rax + r8*2]
test ecx, ecx
je 0x7b2680
nop dword [rax]
mov rbp, qword [rsi + 8]
lea r11, [r8*8]
xor eax, eax
jmp 0x7b2618
add rax, 1
cmp ecx, eax
jle 0x7b2680
cmp r12w, word [rbp + rax*2]
jne 0x7b2610
mov rdx, qword [r14 + 0x40]
xor r9d, r9d
mov r15, qword [rdx + r11]
mov rdx, qword [rsi + 0x40]
mov r13, qword [rdx + rax*8]
jmp 0x7b2647
movzx r10d, byte [rdi + r10]
cmp byte [rdi + rdx], r10b
jne 0x7b2610
add r9, 1
movzx edx, byte [r13 + r9]
movzx r10d, byte [r15 + r9]
cmp edx, r10d
jne 0x7b2638
test edx, edx
jne 0x7b2643
lea rax, [r8 + 1]
cmp qword [rsp + 0x60], r8
je 0x7b268e
mov r8, rax
mov rax, qword [rsp + 0x70]
movzx r12d, word [rax + r8*2]
test ecx, ecx
jne 0x7b2600
nop word [rax + rax]
add ebx, 1
lea rax, [r8 + 1]
cmp qword [rsp + 0x60], r8
jne 0x7b2666
mov r11, qword [rsp + 0x70]
mov r15d, dword [rsp + 0x84]
test ebx, ebx
je 0x7b27c8
movzx eax, word [rsi + 0x60]
lea r8d, [rcx + rbx]
cmp r8d, eax
jle 0x7b26d3
mov rcx, qword [rsp + 0x98]
mov rdx, rsi
call fcn.00774540
test eax, eax
jne 0x7b2b19
movzx ecx, word [rsi + 0x5e]
mov r11, qword [r14 + 8]
mov r15d, ecx
mov r12, qword [rsi + 8]
mov rbp, qword [rsi + 0x40]
xor r8d, r8d
nop
mov rax, qword [r14 + 0x40]
movzx ebx, word [r11 + r8*2]
mov r11, qword [rax + r8*8]
test ecx, ecx
je 0x7b2900
xor eax, eax
jmp 0x7b270c
add rax, 1
cmp ecx, eax
jle 0x7b2900
cmp bx, word [r12 + rax*2]
jne 0x7b2700
mov r13, qword [rbp + rax*8]
xor r9d, r9d
jmp 0x7b272f
movzx r10d, byte [rdi + r10]
cmp byte [rdi + rdx], r10b
jne 0x7b2700
add r9, 1
movzx edx, byte [r13 + r9]
movzx r10d, byte [r11 + r9]
cmp edx, r10d
jne 0x7b2720
test edx, edx
jne 0x7b272b
lea rax, [r8 + 1]
cmp qword [rsp + 0x60], r8
je 0x7b27d4
mov r11, qword [r14 + 8]
movzx ecx, word [rsi + 0x5e]
mov r8, rax
jmp 0x7b26e0
test di, di
js 0x7b2b09
xor r8d, r8d
jmp 0x7b175b
mov rcx, qword [rsp + 0x78]
mov r8, rsi
mov rdx, rax
call fcn.007da170
test eax, eax
je 0x7b1fcd
or dword [r15 + 0x30], 0x1000
jmp 0x7b1fcd
mov rcx, qword [rsp + 0x1b0]
lea rdx, str.must_have_at_least_one_non_generated_column
call fcn.007b2d40
jmp 0x7b127e
mov eax, 2
jmp 0x7b1b2d
movzx eax, word [rsp + 0x90]
mov word [rsi + 0x60], ax
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x7b25a0
mov r15, qword [rsp + 0xa8]
movzx esi, word [r14 + 0x60]
movsx ebx, word [r15 + 0x36]
test ebx, ebx
jle 0x7b2b73
mov r9, qword [r14 + 8]
movsxd r10, dword [rsp + 0x88]
xor ecx, ecx
xor r11d, r11d
lea r8, [r9 + r10*2]
mov rax, r9
jmp 0x7b2823
movsx edx, word [rax]
add rax, 2
cmp edx, ecx
je 0x7b2843
cmp rax, r8
jne 0x7b2818
mov rdi, qword [r15 + 8]
lea rax, [rcx + rcx*2]
lea rax, [rdi + rax*8]
movzx eax, word [rax + 0x12]
and eax, 0x20
cmp ax, 1
adc r11d, 0
add rcx, 1
cmp ebx, ecx
jg 0x7b2810
mov eax, dword [rsp + 0x88]
lea r8d, [r11 + rax]
cmp esi, r8d
jge 0x7b288b
mov rcx, qword [rsp + 0x98]
mov rdx, r14
call fcn.00774540
test eax, eax
jne 0x7b12a6
cmp word [r15 + 0x36], 0
jle 0x7b2998
mov r9, qword [r14 + 8]
movsxd r10, dword [rsp + 0x88]
mov ebx, dword [rsp + 0x88]
xor ecx, ecx
lea r11, str.BINARY
nop dword [rax + rax]
lea r8, [r9 + r10*2]
mov rax, r9
jmp 0x7b28bb
movsx edx, word [rax]
add rax, 2
cmp edx, ecx
je 0x7b28e2
cmp rax, r8
jne 0x7b28b0
mov rdx, qword [r15 + 8]
lea rax, [rcx + rcx*2]
lea rax, [rdx + rax*8]
test byte [rax + 0x12], 0x20
jne 0x7b28e2
mov rax, qword [r14 + 0x40]
mov word [r9 + r10*2], cx
add ebx, 1
mov qword [rax + r10*8], r11
movsx eax, word [r15 + 0x36]
add rcx, 1
cmp eax, ecx
jle 0x7b2998
movsxd r10, ebx
jmp 0x7b28a0
movsxd rax, r15d
mov word [r12 + rax*2], bx
mov qword [rbp + rax*8], r11
mov rax, qword [r14 + 0x38]
cmp byte [rax + r8], 0
je 0x7b291c
or byte [rsi + 0x65], 2
add r15d, 1
jmp 0x7b2743
mov rdx, qword [r14 + 0x38]
movsxd rax, r13d
add r13d, 1
mov qword [r12 + rax*8], rbx
movzx ecx, byte [rdx + rbp]
mov byte [rdx + rax], cl
mov r10, qword [r14 + 8]
movzx edx, word [r10 + r15]
mov word [r10 + rax*2], dx
jmp 0x7b24d7
mov rcx, rax
call fcn.007d50f0
mov r14, rax
test rax, rax
je 0x7b127e
jmp 0x7b17a8
mov r8, qword [r15]
mov rcx, qword [rsp + 0x1b0]
lea rdx, str.PRIMARY_KEY_missing_on_table__s
call fcn.007b2d40
jmp 0x7b127e
movzx esi, word [r14 + 0x60]
mov r10, qword [r14 + 0x18]
lea eax, [rsi - 1]
test esi, esi
je 0x7b2b9e
xor edx, edx
mov r8, qword [r14 + 8]
cdqe
mov r11d, 1
mov rbx, rdx
nop dword [rax]
movsx rcx, word [r8 + rax*2]
test ecx, ecx
js 0x7b29ec
mov rsi, qword [r10 + 8]
lea r9, [rcx + rcx*2]
lea r9, [rsi + r9*8]
test byte [r9 + 0x12], 0x20
jne 0x7b29ec
mov rdx, r11
shl rdx, cl
or rdx, rbx
cmp ecx, 0x3f
cmovl rbx, rdx
sub rax, 1
cmp eax, 0xffffffff
jne 0x7b29c0
mov rdx, rbx
not rdx
mov qword [r14 + 0x98], rdx
jmp 0x7b12a6
mov rcx, qword [r13]
mov rdx, r15
mov r8, rdi
call fcn.007b9830
mov r15, rax
jmp 0x7b20e7
mov rcx, qword [rsp + 0x1b0]
lea rdx, str.AUTOINCREMENT_not_allowed_on_WITHOUT_ROWID_tables
call fcn.007b2d40
jmp 0x7b127e
xor ebx, ebx
xor r12d, r12d
jmp 0x7b12e2
and dword [r15 + 0x30], 0xffffff7f
jmp 0x7b12a6
xor eax, eax
jmp 0x7b1700
mov r15d, 1
mov rcx, qword [r13]
mov rdx, rdi
mov word [r8 + 0x10], r15w
call fcn.007b9910
mov r15, rax
jmp 0x7b20e7
add dword [rax + 0x30], 1
mov dword [rax + 0x18], 1
jmp 0x7b127e
mov rcx, qword [rsp + 0x78]
call fcn.007dd410
jmp 0x7b127e
mov r14, qword [rsp + 0x90]
mov r12d, dword [rsp + 0x98]
mov rbx, qword [rsp + 0xa0]
mov ecx, dword [rsp + 0x84]
movsxd rdx, esi
mov r9, qword [rsp + 0x88]
lea r8, [0x00957916]
add rdx, r13
sub ecx, esi
call fcn.00833590
jmp 0x7b2172
mov eax, 7
jmp 0x7b1aed
mov edx, 8
mov r8d, 0x1e
jmp 0x7b1748
mov r15, qword [rsp + 0xa8]
jmp 0x7b12a6
mov rcx, qword [rsp + 0x78]
mov r9, qword [r15]
lea rdx, str.SELECTFROM__w_.__w_
mov rax, qword [rcx + 0x20]
mov r8, qword [rax + rbx]
call fcn.007dc3b0
xor r9d, r9d
mov rcx, r14
mov edx, 0x94
mov r8d, 1
mov rsi, rax
call fcn.007ff390
mov r9d, 0xfffffffa
mov r8, rsi
mov rcx, r14
mov edx, eax
call fcn.007ffe40
jmp 0x7b224b
cmp word [rsp + 0xa0], si
jbe 0x7b299d
mov r8d, dword [rsp + 0x88]
jmp 0x7b285b
mov rax, qword [rsp + 0x1c0]
mov rax, qword [rax]
jmp 0x7b232e
mov rdx, 0xffffffffffffffff
jmp 0x7b29fb
movsx ebx, word [r15 + 0x36]
mov esi, dword [rsp + 0x88]
test ebx, ebx
jg 0x7b27fb
jmp 0x7b299d
mov rbx, 0xfffffffffff00000
mov r12d, 0xffff8000
jmp 0x7b12e2
mov dword [rsp + 0x88], 1
mov edi, 1
mov word [rsp + 0xa0], di
movzx eax, word [rsp + 0xa0]
jmp 0x7b251c
mov rcx, qword [r15]
xor r10d, r10d
movzx edx, byte [rcx]
test dl, dl
jne 0x7b1b07
lea rax, [0x00957f82]
mov r10d, 2
lea r9, [0x0095639e]
mov qword [rsp + 0x88], rax
lea rax, [0x00958b31]
mov qword [rsp + 0x60], rax
jmp 0x7b1b7a
mov rcx, qword [rsp + 0x78]
call fcn.007dd410
jmp 0x7b2172
mov r8, qword [rax]
mov rcx, qword [rsp + 0x1b0]
lea rdx, str.CREATE_TABLE__Q.sqlite_sequence_name_seq_
call fcn.007dcfc0
jmp 0x7b221b
jmp 0x864410
jmp 0x864410
movzx eax, word [0x5e]
ud2