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

Disassembly:
lea r12, [rsp - 0x48]
cmp r12, qword [r14 + 0x10]
jbe 0x628965
push rbp
mov rbp, rsp
sub rsp, 0xc0
mov rdx, rbx
cmp dword [rdx + 0x30], 0
jne 0x6280a6
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rbx
mov dword [rsp + 0xe0], ecx
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xf0], esi
mov r11, rdi
mov rdx, qword [rdx + 0x10]
mov qword [rsp + 0x78], rdx
mov byte [rdi], 1
mov r12, r11
mov r11, qword [r11 + 0x28]
xor edi, edi
xor r8d, r8d
jmp 0x6280f2
add rsp, 0xc0
pop rbp
ret
mov edi, dword [rsp + 0x58]
inc edi
mov r11, qword [rsp + 0xa0]
add r11, 0x20
mov r13, qword [rsp + 0xd0]
mov ecx, dword [rsp + 0xe0]
mov rbx, qword [rsp + 0xd8]
mov r12, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0x78]
mov esi, dword [rsp + 0xf0]
mov r8d, eax
mov rax, r13
mov r13, r12
nop word [rax + rax]
nop
cmp dword [r12 + 0x30], edi
jle 0x628647
mov qword [rsp + 0xa0], r11
mov dword [rsp + 0x58], edi
mov r15, r11
mov r9, qword [r11]
mov qword [rsp + 0xb0], r9
lea r10, [r9 + 0x20]
mov r9d, dword [r9 + 4]
mov r10, qword [r10]
mov qword [rsp + 0x88], r10
bt r9d, 0x18
nop dword [rax]
jae 0x628238
mov r9, qword [rsp + 0xb0]
add r9, 0x40
mov r9, qword [r9]
mov r9, qword [r9 + 0x48]
cmp dword [r12 + 0x24], 0
nop
je 0x6281ca
mov r11, qword [r11 + 8]
mov r11d, dword [r11 + 4]
bt r11d, 5
jae 0x6281ca
test ecx, ecx
je 0x6281ca
mov qword [rsp + 0x98], r9
nop dword [rax]
test r8d, r8d
jne 0x628193
lea r11, [rbx + 0x38]
mov r12, r11
inc dword [r11]
mov r8d, dword [r12]
mov dword [rsp + 0x34], r8d
mov rbx, rdx
mov edi, ecx
mov esi, r8d
xor r8d, r8d
mov ecx, 0x50
call sym.modernc.org_sqlite_lib._sqlite3VdbeAddOp3
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
mov r9, qword [rsp + 0x98]
mov r8d, dword [rsp + 0x34]
mov dword [rsp + 0x34], r8d
lea rdx, [rbx + 0x44]
mov r10, rdx
nop
dec dword [rdx]
mov edi, dword [r10]
mov dword [rsp + 0x5c], edi
mov rcx, r9
mov esi, 0x10
call sym.modernc.org_sqlite_lib._sqlite3ExprIfFalse
mov rax, qword [rsp + 0xd0]
mov ecx, dword [rsp + 0xe0]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xd8]
mov esi, dword [rsp + 0xf0]
mov edi, dword [rsp + 0x58]
mov r10, qword [rsp + 0x88]
mov r13, qword [rsp + 0xe8]
mov r15, qword [rsp + 0xa0]
mov r8d, dword [rsp + 0x34]
mov r9d, dword [rsp + 0x5c]
jmp 0x62823b
xor r9d, r9d
mov dword [rsp + 0x34], r8d
mov dword [rsp + 0x5c], r9d
mov r11, r15
cmp dword [r15 + 0x18], 0
jge 0x62830f
test r10, r10
jne 0x628265
xor r12d, r12d
xor r15d, r15d
nop
jmp 0x6282ef
mov ecx, dword [r10]
mov dword [rsp + 0x48], ecx
call sym.modernc.org_sqlite_lib._sqlite3GetTempRange
mov dword [rsp + 0x44], eax
mov rbx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x88]
mov edi, eax
xor esi, esi
mov r8d, 1
mov rax, qword [rsp + 0xd0]
call sym.modernc.org_sqlite_lib._sqlite3ExprCodeExprList
mov rax, qword [rsp + 0xd0]
mov ecx, dword [rsp + 0xe0]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xd8]
mov esi, dword [rsp + 0xf0]
mov edi, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x34]
mov r9d, dword [rsp + 0x5c]
mov r10, qword [rsp + 0x88]
mov r11, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xe8]
mov r12d, dword [rsp + 0x48]
mov r15d, dword [rsp + 0x44]
mov qword [rsp + 0xb8], rax
xor eax, eax
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], r15d
mov rax, qword [rsp + 0xb8]
jmp 0x6284b7
mov esi, dword [r10]
mov dword [rsp + 0x48], esi
mov rdi, qword [r15]
mov rdi, qword [rdi + 0x10]
add rdi, 0x20
mov rdi, qword [rdi]
mov qword [rsp + 0x80], rdi
mov ecx, dword [rdi]
lea edi, [rcx + 1]
cmp byte [r15 + 0x1d], 0
cmovne edi, ecx
lea r9d, [rdi + rsi]
cmp byte [r15 + 0x1c], 0
cmovne edi, r9d
lea r9d, [rdi + rsi]
cmp byte [r15 + 0x1e], 0
cmovne edi, r9d
lea ecx, [rdi + 1]
mov dword [rsp + 0x40], ecx
call sym.modernc.org_sqlite_lib._sqlite3GetTempRange
mov dword [rsp + 0x44], eax
mov rbx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x80]
mov edi, eax
xor esi, esi
mov r8d, 1
mov rax, qword [rsp + 0xd0]
call sym.modernc.org_sqlite_lib._sqlite3ExprCodeExprList
mov rdx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0xa0]
mov rdi, rsi
mov edx, dword [rdx]
cmp byte [rsi + 0x1d], 0
jne 0x6283dd
mov dword [rsp + 0x50], edx
mov edi, dword [rsi + 0x18]
mov r9d, dword [rsp + 0x44]
lea esi, [rdx + r9]
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0x78]
mov ecx, 0x7e
xor r8d, r8d
call sym.modernc.org_sqlite_lib._sqlite3VdbeAddOp3
mov edx, dword [rsp + 0x50]
inc edx
mov rdi, qword [rsp + 0xa0]
mov r11, rdi
cmp byte [rdi + 0x1c], 0
jne 0x6283ec
mov eax, dword [rsp + 0x44]
jmp 0x628440
mov dword [rsp + 0x74], edx
mov r9d, dword [rsp + 0x44]
lea edi, [rdx + r9]
mov dword [rsp + 0x38], edi
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x88]
xor esi, esi
mov r8d, 1
nop dword [rax]
call sym.modernc.org_sqlite_lib._sqlite3ExprCodeExprList
mov edx, dword [rsp + 0x48]
mov r9d, dword [rsp + 0x74]
add r9d, edx
mov r11, qword [rsp + 0xa0]
mov edx, r9d
mov eax, dword [rsp + 0x38]
mov r12, r11
cmp byte [r11 + 0x1e], 0
je 0x62846b
mov dword [rsp + 0x70], eax
cmp byte [r11 + 0x1c], 0
mov r11d, dword [rsp + 0x44]
mov r13d, r11d
cmovne r11d, eax
mov dword [rsp + 0x3c], r11d
xor ecx, ecx
jmp 0x628954
mov ecx, dword [rsp + 0xe0]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xd8]
mov esi, dword [rsp + 0xf0]
mov edi, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x34]
mov r9d, dword [rsp + 0x5c]
mov r10, qword [rsp + 0x88]
mov r11, r12
mov r13, qword [rsp + 0xe8]
mov r15d, eax
mov r12d, dword [rsp + 0x48]
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0x48], r12d
cmp dword [r11 + 0x10], 0
jl 0x628556
test r10, r10
je 0x628556
test r9d, r9d
jne 0x6284e3
lea r11, [rbx + 0x44]
mov r9, r11
nop
dec dword [r11]
mov r9d, dword [r9]
mov dword [rsp + 0x5c], r9d
mov rdx, qword [rsp + 0xa0]
mov edi, dword [rdx + 0x10]
mov ecx, esi
mov esi, r9d
mov r8, r10
mov r9d, r15d
nop
call sym.modernc.org_sqlite_lib._codeDistinct
mov rdx, qword [rsp + 0xa0]
mov dword [rdx + 0x10], eax
mov rax, qword [rsp + 0xd0]
mov ecx, dword [rsp + 0xe0]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xd8]
mov esi, dword [rsp + 0xf0]
mov edi, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x34]
mov r10, qword [rsp + 0x88]
mov r12d, dword [rsp + 0x48]
mov r13, qword [rsp + 0xe8]
mov r9d, dword [rsp + 0x5c]
mov dword [rsp + 0x5c], r9d
mov r11, qword [rsp + 0xa0]
mov r15, r11
cmp dword [r11 + 0x18], 0
jge 0x62859d
mov r11, qword [r11 + 8]
mov r11d, dword [r11 + 4]
bt r11d, 5
nop word [rax + rax]
jae 0x628744
lea r11, [r10 + 8]
xor r10d, r10d
xor r10d, r10d
mov dword [rsp + 0x54], r10d
xor r10d, r10d
jmp 0x628869
mov esi, dword [rsp + 0x40]
lea r9d, [rsi - 1]
mov dword [rsp + 0x6c], r9d
mov edi, dword [rsp + 0x44]
lea r8d, [rsi + rdi]
lea r8d, [r8 - 1]
mov dword [rsp + 0x68], r8d
mov rbx, rdx
mov ecx, 0x61
mov esi, r9d
call sym.modernc.org_sqlite_lib._sqlite3VdbeAddOp3
mov rdx, qword [rsp + 0xa0]
mov edi, dword [rdx + 0x18]
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0x78]
mov ecx, 0x8a
mov esi, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x44]
mov r9d, dword [rsp + 0x6c]
call sym.modernc.org_sqlite_lib._sqlite3VdbeAddOp4Int
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
mov ecx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x40]
call sym.modernc.org_sqlite_lib._sqlite3ReleaseTempRange
mov eax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x5c]
test ecx, ecx
je 0x6280af
mov dword [rsp + 0x64], eax
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0x78]
call sym.modernc.org_sqlite_lib._sqlite3VdbeResolveLabel
mov eax, dword [rsp + 0x64]
jmp 0x6280af
test r8d, r8d
jne 0x628654
cmp dword [r12 + 0x24], 0
jne 0x628657
mov ecx, r8d
test ecx, ecx
jne 0x62865f
xor ecx, ecx
jmp 0x628693
nop
mov rbx, rdx
mov edi, ecx
xor esi, esi
mov r8d, esi
mov ecx, 0x10
call sym.modernc.org_sqlite_lib._sqlite3VdbeAddOp3
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xd8]
mov r13, qword [rsp + 0xe8]
mov ecx, eax
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0x60], ecx
mov rsi, r13
mov r8, qword [r13 + 0x18]
xor edi, edi
jmp 0x6286f1
mov qword [rsp + 0xa8], r8
mov dword [rsp + 0x58], edi
mov rcx, qword [r8 + 8]
mov esi, dword [rsi + 0xc]
add esi, edi
mov edi, esi
call sym.modernc.org_sqlite_lib._sqlite3ExprCode
mov edi, dword [rsp + 0x58]
inc edi
mov r8, qword [rsp + 0xa8]
add r8, 0x18
mov rax, qword [rsp + 0xd0]
mov ecx, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0xe8]
cmp dword [rsi + 0x24], edi
jg 0x6286a2
mov byte [rsi], 0
test ecx, ecx
je 0x62873b
mov eax, dword [rdx + 0x90]
lea ebx, [rax - 1]
nop
cmp ecx, ebx
jne 0x628713
mov dword [rdx + 0x90], ebx
jmp 0x62873b
mov rbx, qword [rdx]
nop
cmp byte [rbx + 0x67], 0
je 0x628726
lea rcx, [0x00a30f90]
jmp 0x628738
movsxd rbx, ecx
lea rcx, [rbx + rbx*2]
shl rcx, 3
add rcx, qword [rdx + 0x88]
mov dword [rcx + 8], eax
add rsp, 0xc0
pop rbp
ret
mov dword [rsp + 0x34], r8d
mov r10d, dword [r13 + 0xc]
add r10d, dword [r13 + 0x20]
add r10d, edi
mov rbx, rdx
mov ecx, 0xa2
mov esi, dword [rsp + 0x44]
xor edi, edi
mov r8d, r10d
call sym.modernc.org_sqlite_lib._sqlite3VdbeAddOp3
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rdx + 8]
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0x78]
mov edi, 0xfffffff9
call sym.modernc.org_sqlite_lib._sqlite3VdbeAppendP4
mov rdx, qword [rsp + 0x78]
mov r10d, dword [rdx + 0x90]
test r10d, r10d
jle 0x6287c3
mov edi, dword [rsp + 0x48]
movzx esi, dil
lea r8d, [r10 - 1]
movsxd r8, r8d
lea r8, [r8 + r8*2]
shl r8, 3
add r8, qword [rdx + 0x88]
mov word [r8 + 2], si
jmp 0x6287c7
mov edi, dword [rsp + 0x48]
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
mov ecx, dword [rsp + 0x44]
nop dword [rax + rax]
call sym.modernc.org_sqlite_lib._sqlite3ReleaseTempRange
mov eax, dword [rsp + 0x34]
jmp 0x62861c
mov qword [rsp + 0x90], r11
mov rcx, qword [r11]
call sym.modernc.org_sqlite_lib._sqlite3ExprCollSeq
mov edx, dword [rsp + 0x54]
inc edx
mov r11, qword [rsp + 0x90]
add r11, 0x20
mov rsi, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
mov edi, dword [rsp + 0x48]
mov ecx, dword [rsp + 0xe0]
mov esi, dword [rsp + 0xf0]
mov edi, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x34]
mov r9d, dword [rsp + 0x5c]
mov r12d, dword [rsp + 0x48]
mov r13, qword [rsp + 0xe8]
mov r15, qword [rsp + 0xa0]
mov r10, rax
mov dword [rsp + 0x54], edx
mov rax, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x78]
test r10, r10
jne 0x6288a4
mov r15d, dword [rsp + 0x54]
cmp r15d, r12d
jl 0x6287ee
nop dword [rax]
test r10, r10
je 0x62888f
mov r15, qword [rsp + 0xa0]
jmp 0x6288a4
mov r11, rbx
mov r15, qword [rbx]
mov r10, qword [r15 + 0x10]
mov rbx, r11
mov r15, qword [rsp + 0xa0]
test r8d, r8d
jne 0x6288be
cmp dword [r13 + 0x24], 0
je 0x6288be
lea r13, [rbx + 0x38]
mov r8, r13
inc dword [r13]
mov r8d, dword [r8]
mov dword [rsp + 0x34], r8d
mov rbx, rdx
mov ecx, 0x55
mov edi, r8d
xor esi, esi
mov r8d, esi
mov r9, r10
mov r10d, 0xfffffffe
nop dword [rax]
call sym.modernc.org_sqlite_lib._sqlite3VdbeAddOp4
mov rax, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x78]
mov edi, dword [rsp + 0x58]
mov r13, qword [rsp + 0xe8]
mov r8d, dword [rsp + 0x34]
jmp 0x628744
mov dword [rsp + 0x6c], edx
mov dword [rsp + 0x4c], ecx
lea edi, [r11 + rcx]
lea esi, [rdx + r13]
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0x78]
xor r8d, r8d
mov ecx, 0xb5
call sym.modernc.org_sqlite_lib._sqlite3VdbeAddOp3
mov ecx, dword [rsp + 0x4c]
inc ecx
mov edx, dword [rsp + 0x6c]
inc edx
mov eax, dword [rsp + 0x70]
mov r11d, dword [rsp + 0x3c]
mov r12, qword [rsp + 0xa0]
mov r13d, dword [rsp + 0x44]
mov r15d, dword [rsp + 0x48]
cmp ecx, r15d
jl 0x628908
nop
jmp 0x62846b
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x18], ecx
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x28], esi
nop dword [rax]
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov ecx, dword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov esi, dword [rsp + 0x28]
nop dword [rax]
jmp sym.modernc.org_sqlite_lib._updateAccumulator