Function at 0x824310
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x238
cmp qword [rsp + 0x2b0], 0
mov qword [rsp + 0x288], rdx
mov r13, rcx
mov rsi, r9
mov qword [rsp + 0x290], r8
mov qword [rsp + 0x78], 0
je 0x824e37
mov rax, qword [rsp + 0x2b0]
mov qword [rax], 0
call fcn.007f17d0
test eax, eax
je 0x824d3c
cmp qword [rsp + 0x290], 0
sete dl
test rsi, rsi
sete al
or dl, al
mov byte [rsp + 0x57], dl
jne 0x824d3c
mov ebp, dword [rsp + 0x2a8]
xor eax, eax
mov rcx, qword [r13 + 0x18]
test ebp, ebp
setne al
mov dword [rsp + 0x50], eax
test rcx, rcx
je 0x8243ac
call qword [0x008693e0]
mov edx, 0x38
mov rcx, r13
lea r15, [rsp + 0x80]
call fcn.007ae150
mov dword [rsp + 0x38], 0
lea rbx, [0x00998440]
mov r14, rax
lea rax, [rsp + 0x88]
mov dword [rsp + 0x3c], 0
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0x60], rax
mov rdi, qword [rsp + 0x58]
xor eax, eax
mov ecx, 0x1c
cmp byte [r13 + 0x67], 0
mov qword [rsp + 0x80], r13
rep stosq qword [rdi], rax
mov rdi, qword [rsp + 0x60]
mov ecx, 0x11
rep stosq qword [rdi], rax
mov rax, qword [r13 + 0x160]
mov qword [r13 + 0x160], r15
mov qword [rsp + 0x188], rax
jne 0x824a98
test r14, r14
je 0x824e0f
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x824486
cmp qword [r13 + 0x1f0], rdx
jbe 0x824470
cmp qword [r13 + 0x1e0], rdx
jbe 0x824d12
cmp qword [r13 + 0x1e8], rdx
jbe 0x824ced
cmp qword [r13 + 0x308], 0
jne 0x824c8e
mov rcx, rdx
call fcn.0082d7e0
mov qword [rsp + 0x78], 0
cmp byte [r13 + 0x6f], 0
je 0x824aac
mov r9, qword [rsp + 0x288]
mov r8, qword [rsp + 0x290]
xor edx, edx
mov rcx, r15
call fcn.007dbc80
mov r11, rax
test rax, rax
je 0x824bdd
movzx eax, byte [rax + 0x3f]
cmp al, 1
je 0x824c2b
mov edi, dword [r11 + 0x30]
and edi, 0x80
mov dword [rsp + 0x40], edi
jne 0x824bc6
cmp al, 2
je 0x824df3
mov rcx, qword [r11 + 0x60]
mov rdx, qword [r13 + 0x20]
mov qword [r14 + 0x30], r11
test rcx, rcx
je 0x824ec8
cmp rcx, qword [rdx + 0x18]
je 0x82451d
lea rax, [rdx + 0x20]
nop word [rax + rax]
mov rdx, rax
add rax, 0x20
cmp rcx, qword [rax - 8]
jne 0x824510
mov rax, qword [rdx]
movsx edi, word [r11 + 0x36]
mov qword [r14 + 0x28], rax
test edi, edi
jle 0x8249ba
mov r9, qword [r11 + 8]
xor ebp, ebp
nop word [rax + rax]
mov r8, qword [r9]
xor ecx, ecx
jmp 0x824561
movzx edx, byte [rbx + rdx]
cmp byte [rbx + rax], dl
jne 0x8248c0
add rcx, 1
movzx eax, byte [r8 + rcx]
movzx edx, byte [rsi + rcx]
cmp eax, edx
jne 0x824550
test eax, eax
jne 0x82455d
mov edi, dword [rsp + 0x2a8]
test edi, edi
jne 0x8249d1
mov r8, qword [rsp + 0x80]
cmp word [r8 + 0x1a4], 0x12f
ja 0x824a70
mov r10d, dword [r8 + 0x1a0]
test r10d, r10d
je 0x824c1e
cmp byte [r8 + 0x67], 0
jne 0x824c81
mov rcx, r8
mov edx, 0x130
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x48], r8
call fcn.006eeab0
mov r8, qword [rsp + 0x48]
mov r11, qword [rsp + 0x68]
mov r12, rax
test r12, r12
je 0x824c81
lea rdi, [r12 + 0x90]
mov eax, r12d
mov qword [r12 + 0x88], 0
mov qword [r12 + 0x128], 0
and rdi, 0xfffffffffffffff8
sub eax, edi
lea ecx, [rax + 0x130]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
mov qword [r12], r8
mov rax, qword [r8 + 8]
test rax, rax
je 0x82462e
lea rdx, [r12 + 0x10]
mov qword [rax + 8], rdx
mov qword [r12 + 0x10], rax
lea rax, [r8 + 8]
mov edx, 8
mov rcx, r12
mov qword [r12 + 8], rax
mov r9d, 1
mov qword [r8 + 8], r12
xor r8d, r8d
mov qword [r12 + 0x18], r15
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x90], r12
call fcn.0074a520
mov r11, qword [rsp + 0x48]
mov qword [r14 + 0x18], r12
mov rdx, qword [r11 + 0x60]
test rdx, rdx
je 0x824ed4
mov rax, qword [r13 + 0x20]
cmp rdx, qword [rax + 0x18]
je 0x824d03
add rax, 0x38
xor edi, edi
nop word [rax + rax]
add rax, 0x20
add edi, 1
cmp rdx, qword [rax - 0x20]
jne 0x8246a0
mov eax, 1
mov ecx, edi
shl eax, cl
mov dword [rsp + 0x40], eax
movsxd r8, dword [r12 + 0x90]
mov ecx, dword [r12 + 0x94]
mov r10d, dword [rdx + 4]
mov eax, dword [rdx]
cmp r8d, ecx
jge 0x824c44
lea edx, [r8 + 1]
lea r9, [r8 + r8*2]
movd xmm4, dword [rsp + 0x50]
movd xmm1, edi
mov r8, qword [r12 + 0x88]
movd xmm0, eax
movd xmm3, r10d
mov dword [r12 + 0x90], edx
punpckldq xmm1, xmm4
punpckldq xmm0, xmm3
lea r8, [r8 + r9*8]
movdqu xmm2, xmm1
mov dword [r8], 0xfd02
punpcklqdq xmm2, xmm0
movups xmmword [r8 + 4], xmm2
test edx, edx
jle 0x824746
mov r8, qword [r12 + 0x88]
movsxd rax, edx
mov r9d, 1
lea rax, [rax + rax*2]
lea rax, [r8 + rax*8]
mov word [rax - 0x16], r9w
lea r8d, [rdx + 6]
cmp r8d, ecx
jg 0x824b73
movsxd rax, edx
add edx, 5
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rcx*8]
movabs rcx, 0x100000000
mov qword [rax + 0x50], rcx
add rcx, 0x54
mov dword [rax + 0x38], edx
mov qword [rax], 0xa9
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0x70
mov qword [rax + 0x20], 0
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0x1f
mov dword [rax + 0x3c], 1
mov qword [rax + 0x40], 0
mov qword [rax + 0x48], 0x5e
mov qword [rax + 0x58], 0
mov qword [rax + 0x60], rcx
mov qword [rax + 0x68], 0
mov qword [rax + 0x70], 0
mov qword [rax + 0x78], 0x46
mov qword [rax + 0x80], 0
mov qword [rax + 0x88], 0
mov dword [r12 + 0x90], r8d
mov r10d, dword [rsp + 0x40]
or dword [r12 + 0xcc], r10d
cmp edi, 1
je 0x824841
mov rcx, qword [r12]
movsxd rdx, edi
shl rdx, 5
add rdx, qword [rcx + 0x20]
mov rdx, qword [rdx + 8]
cmp byte [rdx + 0x11], 0
je 0x824841
or dword [r12 + 0xd0], r10d
cmp byte [r13 + 0x67], 0
je 0x824ab9
mov word [r14 + 8], bp
mov qword [r14 + 0x20], r13
cmp byte [r13 + 0x6f], 0
je 0x824b66
cmp byte [r13 + 0x67], 0
jne 0x824e25
mov rdx, qword [rsp + 0x2a0]
lea r8, [rsp + 0x78]
mov rcx, r14
call fcn.006e03b0
add dword [rsp + 0x3c], 1
mov edi, dword [rsp + 0x3c]
cmp eax, 0x11
mov dword [rsp + 0x38], eax
setne al
cmp edi, 0x32
sete dl
or al, dl
jne 0x824dbd
mov rcx, r15
call fcn.007dfa40
mov dword [rsp + 0x38], 0x11
jmp 0x8243f5
add ebp, 1
add r9, 0x18
cmp ebp, edi
jne 0x824540
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x8248e1
mov rcx, r13
call fcn.007adee0
mov r8, rsi
lea rdx, str.no_such_column:___s_
mov rcx, r13
call fcn.007dc3b0
mov qword [rsp + 0x78], rax
cmp byte [r13 + 0x6f], 0
je 0x824db0
mov byte [rsp + 0x57], 1
mov dword [rsp + 0x38], 1
mov r12, qword [r14 + 0x18]
test r12, r12
je 0x824932
movzx eax, byte [r12 + 0xc7]
test al, al
jne 0x824e4e
mov rcx, r12
call fcn.007fffd0
mov rdx, r14
mov rcx, r13
call fcn.007adee0
mov r9, qword [rsp + 0x78]
mov eax, 0
mov edx, dword [rsp + 0x38]
mov rcx, r13
lea r8, [0x00957916]
test r9, r9
cmove r8, rax
call fcn.007b2fb0
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x824973
mov rcx, r13
call fcn.007adee0
mov rcx, r15
call fcn.007dfa40
cmp byte [r13 + 0x67], 0
jne 0x824d28
xor r12d, r12d
cmp byte [rsp + 0x57], 0
jne 0x824d28
mov rcx, qword [r13 + 0x18]
test rcx, rcx
je 0x8249a3
call qword [0x008693f0]
mov eax, r12d
add rsp, 0x238
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
je 0x8248cf
mov edi, dword [rsp + 0x2a8]
xor ebp, ebp
test edi, edi
je 0x824581
mov r8, qword [r11 + 0x10]
test byte [r13 + 0x31], 0x40
jne 0x824c9b
xor edi, edi
test r8, r8
je 0x824581
nop dword [rax + rax]
movzx eax, word [r8 + 0x5e]
test ax, ax
je 0x824a38
mov rdx, qword [r8 + 8]
lea ecx, [rax - 1]
lea rax, [rdx + 2]
lea r9, [rax + rcx*2]
jmp 0x824a22
cmp cx, 0xfffe
je 0x824a29
mov rdx, rax
cmp rax, r9
je 0x824a38
add rax, 2
movsx ecx, word [rdx]
cmp ecx, ebp
jne 0x824a10
lea rdi, str.indexed
mov rdx, rax
cmp rax, r9
jne 0x824a1e
mov r8, qword [r8 + 0x28]
test r8, r8
jne 0x8249f0
test rdi, rdi
je 0x824581
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x824a5c
mov rcx, r13
call fcn.007adee0
mov r8, rdi
lea rdx, str.cannot_open__s_column_for_writing
jmp 0x8248eb
mov r12, qword [r8 + 0x1c8]
test r12, r12
je 0x824b9e
mov rax, qword [r12]
add dword [r8 + 0x1b0], 1
mov qword [r8 + 0x1c8], rax
jmp 0x8245e1
lea rdx, [0x009576c4]
mov rcx, r15
call fcn.007b2d40
jmp 0x82443a
mov rcx, r13
call fcn.006e1720
jmp 0x82449a
mov edx, dword [r11 + 0x28]
mov ecx, dword [rsp + 0x50]
mov dword [rax + 4], edi
xor r9d, r9d
mov r8, qword [r11]
mov qword [rsp + 0x48], rax
mov dword [rax + 8], edx
mov edx, 2
mov dword [rax + 0xc], ecx
mov rcx, r12
mov qword [rsp + 0x40], r11
call fcn.007ffe40
cmp byte [r13 + 0x67], 0
jne 0x82484c
mov r11d, dword [rsp + 0x2a8]
mov rax, qword [rsp + 0x48]
test r11d, r11d
mov r11, qword [rsp + 0x40]
je 0x824b0d
mov byte [rax + 0x18], 0x71
mov edx, dword [r11 + 0x28]
mov byte [rax + 0x19], 0xfd
xor r10d, r10d
mov dword [rax + 0x24], edi
mov dword [rax + 0x20], edx
movsx edx, word [r11 + 0x36]
lea ecx, [rdx + 1]
mov dword [rax + 0x50], edx
mov rdx, r15
mov dword [rax + 0x28], ecx
mov rcx, r12
movabs rax, 0x100000001
mov word [rsp + 0x1b0], r10w
mov qword [rsp + 0xb4], rax
call fcn.00812130
mov word [r14 + 8], bp
mov qword [r14 + 0x20], r13
cmp byte [r13 + 0x6f], 0
jne 0x824860
mov rcx, r13
call fcn.006e1fa0
jmp 0x824860
mov rcx, r12
mov qword [rsp + 0x48], r11
call fcn.0074a700
mov r11, qword [rsp + 0x48]
test eax, eax
jne 0x824dec
mov edx, dword [r12 + 0x90]
lea r8d, [rdx + 6]
jmp 0x824753
mov r12, qword [r8 + 0x1c0]
test r12, r12
je 0x824d71
mov rax, qword [r12]
add dword [r8 + 0x1b0], 1
mov qword [r8 + 0x1c0], rax
jmp 0x8245e1
mov r8, qword [rsp + 0x290]
lea rdx, str.cannot_open_table_without_rowid:__s
mov rcx, r15
call fcn.007b2d40
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x8248f8
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x824c08
mov rcx, r13
call fcn.007adee0
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x88], 0
jmp 0x8248f8
add dword [r8 + 0x1b4], 1
jmp 0x8245b4
mov r8, qword [rsp + 0x290]
lea rdx, str.cannot_open_virtual_table:__s
mov rcx, r15
call fcn.007b2d40
jmp 0x824bdd
mov dword [rsp + 0x28], r10d
mov r9d, dword [rsp + 0x50]
mov rcx, r12
mov r8d, edi
mov dword [rsp + 0x20], eax
mov edx, 2
mov qword [rsp + 0x48], r11
call fcn.006d7e40
mov edx, dword [r12 + 0x90]
mov r11, qword [rsp + 0x48]
mov ecx, dword [r12 + 0x94]
jmp 0x824724
mov qword [r14 + 0x18], 0
jmp 0x82484c
mov rcx, r13
call fcn.007595e0
jmp 0x824486
mov r9, qword [r11 + 0x48]
xor edi, edi
lea rcx, str.foreign_key
test r9, r9
je 0x824da2
mov edx, dword [r9 + 0x28]
test edx, edx
jle 0x824cdf
sub edx, 1
lea rax, [r9 + 0x40]
shl rdx, 4
lea rdx, [r9 + rdx + 0x50]
nop dword [rax]
cmp dword [rax], ebp
cmove rdi, rcx
add rax, 0x10
cmp rax, rdx
jne 0x824cd0
mov r9, qword [r9 + 8]
test r9, r9
jne 0x824cb1
jmp 0x824a3c
mov rax, qword [r13 + 0x1c8]
mov qword [rdx], rax
mov qword [r13 + 0x1c8], rdx
jmp 0x824486
mov dword [rsp + 0x40], 1
xor edi, edi
jmp 0x8246ba
mov rax, qword [r13 + 0x1d8]
mov qword [rdx], rax
mov qword [r13 + 0x1d8], rdx
jmp 0x824486
mov edx, dword [rsp + 0x38]
mov rcx, r13
call fcn.006dc060
mov r12d, eax
jmp 0x824994
lea rax, [0x009569cc]
mov r9d, 0x18c03
mov qword [rsp + 0x20], rax
lea r8, str.misuse
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, 0x15
mov r12d, 0x15
call fcn.0082f270
jmp 0x8249a3
add dword [r8 + 0x1b8], 1
mov rcx, r8
mov edx, 0x130
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x48], r8
call fcn.006eeab0
mov r11, qword [rsp + 0x68]
mov r8, qword [rsp + 0x48]
mov r12, rax
jmp 0x8245d8
test r8, r8
jne 0x8249f0
jmp 0x824581
mov rcx, r13
call fcn.006e1fa0
jmp 0x824903
mov edx, dword [rsp + 0x38]
test edx, edx
jne 0x824ea8
cmp byte [r13 + 0x67], 0
jne 0x824910
mov rax, qword [rsp + 0x2b0]
mov dword [rsp + 0x38], 0
mov qword [rax], r14
jmp 0x82493d
xor eax, eax
jmp 0x82480e
mov r8, qword [rsp + 0x290]
lea rdx, str.cannot_open_view:__s
mov rcx, r15
call fcn.007b2d40
jmp 0x824bdd
mov ecx, dword [rsp + 0x38]
test ecx, ecx
je 0x824eb1
mov byte [rsp + 0x57], 1
jmp 0x82493d
mov r9d, dword [rsp + 0x38]
test r9d, r9d
setne byte [rsp + 0x57]
jmp 0x824910
lea rax, [0x009569cc]
mov r9d, 0x18bfd
mov qword [rsp + 0x20], rax
jmp 0x824d4e
mov rbx, qword [r12]
cmp al, 2
je 0x824ede
mov r8d, dword [r12 + 0x30]
test r8d, r8d
js 0x824e76
cmp qword [rbx + 0x190], 0
je 0x824eeb
mov rcx, r12
call fcn.00815c70
mov rdx, qword [r12 + 0xa8]
test rdx, rdx
je 0x824e97
mov rcx, rbx
call fcn.007adee0
mov qword [r12 + 0xa8], 0
mov qword [r12 + 0xa0], 0
jmp 0x82492a
mov byte [rsp + 0x57], al
jmp 0x824910
cmp byte [r13 + 0x67], 0
jne 0x82493d
jmp 0x824dd4
sub rdx, 0x100000
jmp 0x82451d
mov edi, 0xffff8000
jmp 0x8246ba
mov rcx, r12
call fcn.00810c40
jmp 0x824e5a
cmp qword [r12 + 0xa8], 0
jne 0x824e6e
mov eax, dword [r12 + 0x34]
mov dword [rbx + 0x50], eax
jmp 0x824e97