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

Disassembly:
sub esp, 0x64
push ebx
push ebp
mov ebp, dword [esp + 0x70]
movzx ebx, byte [ebp + 0x29]
xor eax, eax
cmp ebx, 1
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov eax, dword [ebp]
push esi
mov esi, dword [eax]
push edi
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], ebx
jg 0x1005ade6
mov edi, 1
jmp 0x1005adf5
mov edi, ebx
sub edi, 2
neg edi
sbb edi, edi
and edi, 5
add edi, 5
lea ecx, [ebx + 8]
imul ecx, edi
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov dword [esp + 0x28], edi
call fcn.10027660
mov edx, eax
test edx, edx
mov dword [esp + 0x38], edx
jne 0x1005ae1f
lea eax, [edx + 7]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
xor eax, eax
mov ecx, edi
shl ecx, 5
lea esi, [ecx + edx]
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
lea eax, [edi + edi]
add ecx, esi
test eax, eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x34], esi
jle 0x1005ae6e
lea edi, [ebx*4]
add edx, 0x18
jmp 0x1005ae60
mov dword [edx], ecx
sub eax, 1
add edx, 0x20
add ecx, edi
test eax, eax
jg 0x1005ae60
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x1a8]
cmp eax, 0x2e
jb 0x1005ae82
mov eax, 0x2e
mov word [esi + 0x10], ax
xor edi, edi
cmp dword [ebp + 8], edi
mov eax, 1
je 0x1005aeb0
cmp word [esp + 0x7c], di
je 0x1005aeb0
cmp ebx, edi
setle cl
lea ecx, [ecx + ecx - 1]
mov byte [esi + 0x14], cl
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
mov dword [esp + 0x44], ecx
jmp 0x1005aeb8
mov byte [esi + 0x14], 0
mov dword [esp + 0x44], edi
cmp ebx, edi
mov dword [esp + 0x2c], edi
jle 0x1005b378
jmp 0x1005aed0
test eax, eax
mov dword [esp + 0x30], 0
jle 0x1005b320
mov edx, dword [esp + 0x34]
add edx, 0x10
mov dword [esp + 0x20], edx
mov dword [esp + 0x4c], eax
nop
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 0x10]
test eax, eax
mov dword [esp + 0x1c], eax
je 0x1005b310
mov edx, dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x20]
mov cl, byte [eax + 4]
mov ebx, dword [eax - 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x17], cl
mov ecx, dword [eax + 4]
mov dword [esp + 0x70], ecx
mov eax, ebx
not eax
and eax, dword [edx]
not ecx
and ecx, dword [edx + 4]
or eax, ecx
jne 0x1005b2fd
mov eax, edx
mov ebp, dword [eax + 0xc]
mov esi, dword [eax + 8]
mov ecx, ebp
and ecx, dword [esp + 0x70]
mov eax, esi
and eax, ebx
or eax, ecx
jne 0x1005b2fd
mov edx, dword [esp + 0x20]
movzx eax, word [edx]
mov ecx, dword [esp + 0x1c]
mov dx, word [ecx + 0x14]
movzx ecx, word [ecx + 0x12]
add dx, ax
movzx eax, dx
cmp cx, ax
jl 0x1005afb3
movsx edx, ax
movsx eax, cx
lea edi, [edx + 0x31]
cmp eax, edi
jle 0x1005af8a
movzx eax, cx
mov dword [esp + 0x18], eax
jmp 0x1005afec
lea edi, [edx + 0x1f]
cmp eax, edi
jle 0x1005af9d
add ecx, 1
movzx ecx, cx
mov dword [esp + 0x18], ecx
jmp 0x1005afec
sub eax, edx
movzx dx, byte [eax + str._n_n_t_t_b_b_a_a_a]
add dx, cx
movzx eax, dx
mov dword [esp + 0x18], eax
jmp 0x1005afec
movsx edx, cx
movsx ecx, ax
lea edi, [edx + 0x31]
cmp ecx, edi
jle 0x1005afc9
movzx ecx, ax
mov dword [esp + 0x18], ecx
jmp 0x1005afec
lea edi, [edx + 0x1f]
cmp ecx, edi
jle 0x1005afd8
add eax, 1
movzx edx, ax
jmp 0x1005afe8
sub ecx, edx
movzx cx, byte [ecx + str._n_n_t_t_b_b_a_a_a]
add cx, ax
movzx edx, cx
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x20]
movzx ecx, word [eax + 2]
mov di, word [esp + 0x18]
cmp di, cx
jl 0x1005b02d
movsx ecx, cx
movsx eax, di
lea edx, [ecx + 0x31]
cmp eax, edx
jg 0x1005b06b
lea edx, [ecx + 0x1f]
cmp eax, edx
jle 0x1005b019
add dword [esp + 0x18], 1
jmp 0x1005b066
sub eax, ecx
movzx ax, byte [eax + str._n_n_t_t_b_b_a_a_a]
add di, ax
mov word [esp + 0x18], di
jmp 0x1005b06b
movsx edx, di
movsx eax, cx
lea edi, [edx + 0x31]
cmp eax, edi
jle 0x1005b03f
movzx ecx, cx
jmp 0x1005b062
lea edi, [edx + 0x1f]
cmp eax, edi
jle 0x1005b052
add ecx, 1
movzx edx, cx
mov dword [esp + 0x18], edx
jmp 0x1005b066
sub eax, edx
movzx ax, byte [eax + str._n_n_t_t_b_b_a_a_a]
add ax, cx
movzx ecx, ax
mov dword [esp + 0x18], ecx
mov di, word [esp + 0x18]
mov eax, dword [esp + 0x20]
movzx ecx, word [eax]
mov edx, dword [esp + 0x1c]
mov dx, word [edx + 0x16]
or ebp, dword [esp + 0x70]
add dx, cx
movzx ecx, dx
or esi, ebx
cmp byte [esp + 0x17], 0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], ebp
jge 0x1005b19b
mov ebp, dword [esp + 0x78]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x5c]
push edx
movzx edx, word [ebp + 0x22]
push eax
mov eax, dword [esp + 0x28]
push ecx
push edx
add eax, 0xfffffff0
push eax
mov eax, dword [ebp + 8]
push eax
push ebp
call fcn.10059d00
add esp, 0x1c
test al, al
mov byte [esp + 0x17], al
jl 0x1005b1a9
mov ebx, dword [esp + 0x44]
movsx ecx, al
cmp ecx, ebx
jge 0x1005b1a9
mov eax, ebx
sub eax, ecx
imul eax, eax, 0x64
cdq
idiv ebx
cdq
push edx
push eax
call fcn.10015450
mov ebx, dword [esp + 0x84]
mov si, ax
add esp, 8
mov eax, ebx
call fcn.10019820
add si, ax
add ebx, 0xffffffce
add si, bx
test word [ebp + 0x22], 0x400
movzx eax, si
je 0x1005b122
add eax, 0x10
cmp di, ax
movsx ecx, ax
jl 0x1005b156
movsx eax, di
lea edx, [ecx + 0x31]
cmp eax, edx
jg 0x1005b1a9
lea edx, [ecx + 0x1f]
cmp eax, edx
jle 0x1005b147
add dword [esp + 0x18], 1
mov di, word [esp + 0x18]
jmp 0x1005b1a9
sub eax, ecx
movzx ax, byte [eax + str._n_n_t_t_b_b_a_a_a]
add di, ax
jmp 0x1005b1a9
movsx edx, di
lea esi, [edx + 0x31]
cmp ecx, esi
jle 0x1005b16c
movzx ecx, ax
mov dword [esp + 0x18], ecx
mov di, cx
jmp 0x1005b1a9
lea esi, [edx + 0x1f]
cmp ecx, esi
jle 0x1005b182
add eax, 1
movzx edx, ax
mov dword [esp + 0x18], edx
mov di, dx
jmp 0x1005b1a9
sub ecx, edx
movzx cx, byte [ecx + str._n_n_t_t_b_b_a_a_a]
add cx, ax
movzx edx, cx
mov dword [esp + 0x18], edx
mov di, dx
jmp 0x1005b1a9
mov ecx, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], edx
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x24]
xor ecx, ecx
test ebx, ebx
jle 0x1005b207
mov esi, dword [esp + 0x48]
jmp 0x1005b1c0
mov eax, dword [ebp]
cmp eax, dword [esp + 0x64]
jne 0x1005b1f7
mov edx, dword [ebp + 4]
cmp edx, dword [esp + 0x68]
jne 0x1005b1f7
mov al, byte [ebp + 0x14]
xor al, byte [esp + 0x17]
test al, 0x50
jne 0x1005b1f7
movzx eax, word [ebp + 0x12]
cmp ax, di
jg 0x1005b1f1
cmp word [ebp + 0x10], si
jle 0x1005b203
cmp ax, di
jl 0x1005b1f7
cmp word [ebp + 0x10], si
jge 0x1005b203
add ecx, 1
add ebp, 0x20
cmp ecx, ebx
jl 0x1005b1c0
jmp 0x1005b207
cmp ecx, ebx
jl 0x1005b237
cmp ebx, dword [esp + 0x28]
jl 0x1005b225
cmp di, word [esp + 0x40]
jge 0x1005b2fd
mov ebp, dword [esp + 0x3c]
shl ebp, 5
add ebp, dword [esp + 0x24]
jmp 0x1005b247
mov ebp, ebx
add ebx, 1
shl ebp, 5
add ebp, dword [esp + 0x24]
mov dword [esp + 0x30], ebx
jmp 0x1005b247
cmp word [ebp + 0x12], di
jg 0x1005b247
cmp word [ebp + 0x10], si
jle 0x1005b2fd
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov eax, dword [esp + 0x20]
or edx, dword [eax - 0x10]
or ecx, dword [eax - 0xc]
mov esi, dword [esp + 0x2c]
mov dword [ebp], edx
mov edx, dword [esp + 0x5c]
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 0x60]
mov dword [ebp + 8], edx
mov dx, word [esp + 0x48]
mov dword [ebp + 0xc], ecx
mov cl, byte [esp + 0x17]
add esi, esi
mov word [ebp + 0x10], dx
mov word [ebp + 0x12], di
mov byte [ebp + 0x14], cl
mov edx, dword [eax + 8]
mov eax, dword [ebp + 0x18]
add esi, esi
push esi
push edx
push eax
call fcn.10008750
mov ecx, dword [ebp + 0x18]
mov edx, dword [esp + 0x28]
add esp, 0xc
cmp ebx, dword [esp + 0x28]
mov dword [esi + ecx], edx
jl 0x1005b2fd
mov ecx, dword [esp + 0x24]
movzx edi, word [ecx + 0x12]
mov ebx, dword [esp + 0x28]
movzx esi, word [ecx + 0x10]
mov eax, 1
cmp ebx, eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], edi
jle 0x1005b2fd
add ecx, 0x32
movzx edx, word [ecx]
cmp dx, di
jg 0x1005b2e4
jne 0x1005b2ef
cmp word [ecx - 2], si
jle 0x1005b2ef
movzx esi, word [ecx - 2]
movzx edi, dx
mov dword [esp + 0x3c], eax
add eax, 1
add ecx, 0x20
cmp eax, ebx
jl 0x1005b2d4
mov dword [esp + 0x40], edi
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x30]
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x1005af03
add dword [esp + 0x20], 0x20
sub dword [esp + 0x4c], 1
jne 0x1005aef0
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x2c]
add ecx, 1
cmp ecx, dword [esp + 0x54]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], ecx
jl 0x1005aed0
test eax, eax
jne 0x1005b378
mov edi, dword [esp + 0x50]
push str.no_query_solution
call fcn.10030a70
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x5c]
add esp, 4
call fcn.10021de0
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
cmp eax, 1
mov edi, dword [esp + 0x34]
jle 0x1005b3a4
lea ecx, [edi + 0x20]
add eax, 0xffffffff
jmp 0x1005b390
mov dx, word [edi + 0x12]
cmp dx, word [ecx + 0x12]
jle 0x1005b39c
mov edi, ecx
add ecx, 0x20
sub eax, 1
jne 0x1005b390
mov ebp, dword [esp + 0x54]
mov ebx, dword [esp + 0x78]
xor ecx, ecx
test ebp, ebp
jle 0x1005b3eb
lea eax, [ebx + 0x304]
jmp 0x1005b3c0
mov edx, dword [edi + 0x18]
mov esi, dword [edx + ecx*4]
mov dword [eax + 0x14], esi
mov dl, byte [esi + 0x10]
mov byte [eax], dl
mov esi, dword [ebx + 4]
movzx edx, dl
lea edx, [edx + edx*4]
shl edx, 4
mov edx, dword [edx + esi + 0x38]
mov dword [eax - 0x20], edx
add ecx, 1
add eax, 0x48
cmp ecx, ebp
jl 0x1005b3c0
movzx eax, word [ebx + 0x22]
test eax, 0x400
je 0x1005b43d
test eax, 0x200
jne 0x1005b43d
cmp byte [ebx + 0x28], 0
jne 0x1005b43d
cmp word [esp + 0x7c], 0
je 0x1005b43d
mov ecx, dword [edi + 0x18]
mov edx, dword [ecx + ebp*4 - 4]
mov ecx, dword [ebx + 0xc]
lea eax, [esp + 0x6c]
push eax
push edx
lea eax, [ebp - 1]
push eax
push 0x200
push edi
push ecx
push ebx
call fcn.10059d00
mov edx, dword [ebx + 0xc]
movsx eax, al
add esp, 0x1c
cmp eax, dword [edx]
jne 0x1005b43d
mov byte [ebx + 0x28], 2
mov ecx, dword [ebx + 8]
xor esi, esi
cmp ecx, esi
je 0x1005b4c7
movzx edx, word [ebx + 0x22]
test edx, 0x200
je 0x1005b464
movsx eax, byte [edi + 0x14]
cmp eax, dword [ecx]
jne 0x1005b47e
mov byte [ebx + 0x28], 2
jmp 0x1005b47e
mov al, byte [edi + 0x14]
test al, al
mov byte [ebx + 0x24], al
jge 0x1005b472
mov byte [ebx + 0x24], 0
mov eax, dword [edi + 8]
mov dword [ebx + 0x18], eax
mov eax, dword [edi + 0xc]
mov dword [ebx + 0x1c], eax
test edx, 0x800
je 0x1005b4c7
movsx edx, byte [ebx + 0x24]
cmp edx, dword [ecx]
jne 0x1005b4c7
mov edx, dword [edi + 0x18]
lea eax, [esp + 0x6c]
push eax
mov eax, dword [edx + ebp*4 - 4]
push eax
add ebp, 0xffffffff
push ebp
push esi
push edi
push ecx
push ebx
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], esi
call fcn.10059d00
mov ecx, dword [ebx + 8]
movsx eax, al
add esp, 0x1c
cmp eax, dword [ecx]
sete dl
mov byte [ebx + 0x25], dl
mov ax, word [edi + 0x10]
mov esi, dword [esp + 0x58]
test esi, esi
mov word [ebx + 0x20], ax
mov eax, dword [esp + 0x38]
je 0x1005b55c
cmp dword [esi + 0x200], 0
je 0x1005b52d
cmp eax, dword [esi + 0x10c]
jb 0x1005b511
cmp eax, dword [esi + 0x110]
jae 0x1005b511
movzx eax, word [esi + 0xf0]
mov esi, dword [esi + 0x200]
add dword [esi], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
push eax
call dword [0x100c6480]
mov esi, dword [esi + 0x200]
add dword [esi], eax
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
cmp eax, dword [esi + 0x10c]
jb 0x1005b55c
cmp eax, dword [esi + 0x110]
jae 0x1005b55c
mov ecx, dword [esi + 0x108]
mov dword [eax], ecx
add dword [esi + 0xf4], 0xffffffff
mov dword [esi + 0x108], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
push eax
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x64
ret