Function at 0x1000a010
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10087918
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x8c
push ebx
push esi
push edi
mov edi, ecx
mov byte [ebp - 0x11], 0
lea esi, [edi + 8]
push esi
mov dword [ebp - 0x88], esi
call dword [sym.imp.MSVCP140.dll__Mtx_lock]
add esp, 4
test eax, eax
je 0x1000a055
push eax
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
mov ecx, edi
mov dword [ebp - 4], 0
call fcn.10003f20
mov ecx, dword [edi]
test ecx, ecx
je 0x1000a992
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x80], vtable.pfc::string8_t_class_pfc::alloc_standard_.0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
push 0
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 1
push eax
push 0
push 0x80
push 0xffffffffffffffff
mov edx, str.SELECT_meta_FROM_tags_WHERE_path__
call fcn.1006137f
mov edi, dword [ebp + 0xc]
add esp, 0x14
test edi, edi
je 0x1000a22b
cmp edi, 0xffffffff
je 0x1000a22b
mov edx, dword [ebp + 8]
mov ecx, edx
lea ebx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000a0d0
sub ecx, ebx
push ecx
push edx
lea ecx, [ebp - 0x80]
call fcn.1001fec0
push edi
lea eax, [ebp - 0x30]
push 0x10092410
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x80]
push 0xffffffffffffffff
push eax
call fcn.10020690
cmp dword [ebp - 0x74], 0
mov eax, dword [ebp - 0x7c]
ja 0x1000a112
mov eax, 0x10091798
mov ebx, dword [ebp - 0x20]
mov dword [ebp + 8], eax
test ebx, ebx
jne 0x1000a13a
push str.API_called_with_NULL_prepared_statement
push 0x15
call fcn.10025979
add esp, 8
push 0x100995b4
push 0x14368
jmp 0x1000a3e6
cmp dword [ebx], 0
jne 0x1000a155
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.10025979
add esp, 8
mov eax, 1
jmp 0x1000a157
xor eax, eax
test eax, eax
je 0x1000a16a
push 0x100995b4
push 0x14368
jmp 0x1000a3e6
cmp dword [ebx + 0x14], 0x2df20da3
jne 0x1000a3b4
cmp dword [ebx + 0x24], 0
jge 0x1000a3b4
mov eax, 1
cmp ax, word [ebx + 0x10]
jg 0x1000a39f
mov edi, dword [ebx + 0x64]
mov ecx, edi
call fcn.1003a188
mov eax, 1
mov word [edi + 8], ax
mov eax, dword [ebx]
mov dword [eax + 0x40], 0
mov eax, dword [ebx + 0xd4]
test eax, eax
je 0x1000a1cc
test al, 1
je 0x1000a1cc
mov eax, dword [ebx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ebx + 0x98], eax
mov eax, dword [ebp + 8]
test eax, eax
je 0x1000a3fa
mov ecx, dword [ebx + 0x64]
mov dword [ebp - 0x18], ecx
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x1000a1ec
mov edx, dword [edx + 0x6c]
mov dword [ebp + 0xc], edx
jmp 0x1000a1f3
mov dword [ebp + 0xc], 0x3b9aca00
mov edi, eax
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x1000a1f8
sub edi, edx
mov eax, 0x2400
and edi, 0x7fffffff
test word [ecx + 8], ax
jne 0x1000a218
cmp dword [ecx + 0x18], 0
je 0x1000a220
call fcn.1003a15a
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp + 8]
mov dword [ecx + 0x10], eax
jmp 0x1000a340
mov ebx, dword [ebp - 0x20]
test ebx, ebx
jne 0x1000a250
push str.API_called_with_NULL_prepared_statement
push 0x15
call fcn.10025979
add esp, 8
push 0x100995b4
push 0x14368
jmp 0x1000a3e6
cmp dword [ebx], 0
jne 0x1000a26b
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.10025979
add esp, 8
mov eax, 1
jmp 0x1000a26d
xor eax, eax
test eax, eax
je 0x1000a280
push 0x100995b4
push 0x14368
jmp 0x1000a3e6
cmp dword [ebx + 0x14], 0x2df20da3
jne 0x1000a3b4
cmp dword [ebx + 0x24], 0
jge 0x1000a3b4
mov eax, 1
cmp ax, word [ebx + 0x10]
jg 0x1000a39f
mov edi, dword [ebx + 0x64]
mov ecx, edi
call fcn.1003a188
mov eax, 1
mov word [edi + 8], ax
mov eax, dword [ebx]
mov dword [eax + 0x40], 0
mov eax, dword [ebx + 0xd4]
test eax, eax
je 0x1000a2e2
test al, 1
je 0x1000a2e2
mov eax, dword [ebx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ebx + 0x98], eax
mov edx, dword [ebp + 8]
test edx, edx
je 0x1000a3fa
mov ecx, dword [ebx + 0x64]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x1000a302
mov eax, dword [eax + 0x6c]
mov dword [ebp + 0xc], eax
jmp 0x1000a309
mov dword [ebp + 0xc], 0x3b9aca00
mov edi, edx
lea eax, [edi + 1]
mov dword [ebp - 0x18], eax
mov al, byte [edi]
inc edi
test al, al
jne 0x1000a311
sub edi, dword [ebp - 0x18]
mov eax, 0x2400
and edi, 0x7fffffff
test word [ecx + 8], ax
jne 0x1000a332
cmp dword [ecx + 0x18], 0
je 0x1000a33d
call fcn.1003a15a
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x10], edx
mov eax, 0xa02
mov byte [ecx + 0xa], 1
mov word [ecx + 8], ax
mov dword [ecx + 0xc], edi
mov dword [ecx + 0x24], 0
cmp edi, dword [ebp + 0xc]
jle 0x1000a363
mov edi, 0x12
jmp 0x1000a37c
mov eax, dword [ebx]
mov dl, byte [eax + 0x4e]
cmp dl, 1
je 0x1000a3fa
call fcn.10025b34
mov edi, eax
test edi, edi
je 0x1000a3fa
mov ecx, dword [ebx]
mov edx, edi
mov dword [ecx + 0x40], edi
call fcn.1002610d
mov ecx, dword [ebx]
cmp byte [ecx + 0x51], 0
jne 0x1000a398
cmp edi, 0xc0a
jne 0x1000a3fa
call fcn.1002425e
jmp 0x1000a3fa
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002610d
jmp 0x1000a3fa
mov ecx, dword [ebx]
mov edx, 0x15
mov dword [ecx + 0x40], 0x15
call fcn.1002610d
push dword [ebx + 0xc0]
push str.bind_on_a_busy_prepared_statement:___s_
push 0x15
call fcn.10025979
add esp, 0xc
push 0x100995b4
push 0x14370
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.10025979
add esp, 0x14
push ebx
call fcn.1003ec17
add esp, 4
cmp eax, 0x64
jne 0x1000a96c
test ebx, ebx
je 0x1000a435
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x1000a422
xor eax, eax
cmp ax, word [ebx + 0x90]
jb 0x1000a43a
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002610d
mov ecx, 0x1008d030
movzx eax, word [ecx + 8]
test al, 2
je 0x1000a44d
cmp byte [ecx + 0xa], 1
jne 0x1000a44d
mov eax, dword [ecx + 0xc]
jmp 0x1000a47a
test al, 0x10
je 0x1000a466
mov edx, dword [ecx + 0xc]
test eax, 0x4000
je 0x1000a461
mov eax, dword [ecx]
add eax, edx
jmp 0x1000a47a
mov dword [ebp + 8], edx
jmp 0x1000a47d
test al, 1
je 0x1000a473
mov dword [ebp + 8], 0
jmp 0x1000a47d
mov dl, 1
call fcn.1003ae57
mov dword [ebp + 8], eax
test ebx, ebx
je 0x1000a4cc
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x28]
cmp byte [ecx + 0x51], 0
jne 0x1000a49b
cmp edx, 0xc0a
je 0x1000a49b
mov eax, dword [ecx + 0x44]
and eax, edx
jmp 0x1000a4a0
call fcn.1002425e
mov dword [ebx + 0x28], eax
test ebx, ebx
je 0x1000a4cc
mov edi, dword [ebx + 0x78]
test edi, edi
je 0x1000a4b9
xor eax, eax
cmp ax, word [ebx + 0x90]
jb 0x1000a4d1
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002610d
mov edi, 0x1008d030
movzx ecx, word [edi + 8]
test cl, 0x12
je 0x1000a501
test ecx, 0x4000
je 0x1000a4f1
mov ecx, edi
call fcn.10039fa8
test eax, eax
je 0x1000a4f1
xor edi, edi
jmp 0x1000a52e
or word [edi + 8], 0x10
cmp dword [edi + 0xc], 0
je 0x1000a51f
mov edi, dword [edi + 0x10]
jmp 0x1000a52e
mov eax, ecx
and eax, 0x202
cmp eax, 0x202
jne 0x1000a51a
cmp byte [edi + 0xa], 1
jne 0x1000a51a
mov edi, dword [edi + 0x10]
jmp 0x1000a52e
test cl, 1
je 0x1000a523
xor edi, edi
jmp 0x1000a52e
mov dl, 1
mov ecx, edi
call fcn.1003aa17
mov edi, eax
test ebx, ebx
je 0x1000a554
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x28]
cmp byte [ecx + 0x51], 0
jne 0x1000a54c
cmp edx, 0xc0a
je 0x1000a54c
mov eax, dword [ecx + 0x44]
and eax, edx
jmp 0x1000a551
call fcn.1002425e
mov dword [ebx + 0x28], eax
test edi, edi
je 0x1000a96c
mov eax, dword [ebp + 8]
test eax, eax
je 0x1000a96c
lea ecx, [eax + edi]
lea eax, [edi + 0xc]
mov dword [ebp + 8], ecx
mov dword [ebp + 0xc], eax
cmp eax, ecx
ja 0x1000a96c
mov ebx, dword [ebp + 0x10]
mov ecx, ebx
push 0xffffffffffffffff
push str.___SQLite_
push 0xffffffffffffffff
mov eax, dword [ebx]
push str.tagtype
call dword [eax + 0x48]
fld dword [0x10099c00]
mov eax, dword [edi]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x18], 0
fst dword [ebp - 0x40]
fstp dword [ebp - 0x3c]
fld dword [0x10099bd0]
fst dword [ebp - 0x38]
fstp dword [ebp - 0x34]
test eax, eax
je 0x1000a95d
xor edi, edi
mov dword [ebp - 0x30], vtable.pfc::string8_t_class_pfc::alloc_standard_.0
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
xor ebx, ebx
mov dword [ebp - 0x50], vtable.pfc::string8_t_class_pfc::alloc_standard_.0
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov ecx, dword [ebp + 0xc]
mov byte [ebp - 4], 3
lea eax, [ecx + 4]
cmp eax, dword [ebp + 8]
jae 0x1000a94b
mov ecx, dword [ecx]
mov dword [ebp - 0x1c], ecx
lea edx, [ecx + eax]
mov dword [ebp + 0xc], edx
cmp edx, dword [ebp + 8]
jae 0x1000a929
test ecx, ecx
je 0x1000a621
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.1001fec0
mov edi, dword [ebp - 0x2c]
mov edx, dword [ebp + 0xc]
lea ecx, [edx + 4]
cmp ecx, dword [ebp + 8]
jae 0x1000a929
mov eax, dword [edx]
lea edx, [eax + ecx]
mov dword [ebp + 0xc], edx
cmp edx, dword [ebp + 8]
ja 0x1000a929
test eax, eax
je 0x1000a64f
push eax
push ecx
lea ecx, [ebp - 0x50]
call fcn.1001fec0
mov ebx, dword [ebp - 0x4c]
cmp dword [ebp - 0x1c], 0
jbe 0x1000a6bb
cmp dword [ebp - 0x24], 0
mov eax, edi
ja 0x1000a662
mov eax, 0x10091798
push str.replaygain_album_gain
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
jne 0x1000a736
cmp dword [ebp - 0x44], 0
lea eax, [ebp - 0x58]
mov edi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__controlfp_s]
push 0x300
push 0
mov dword [ebp - 0x54], 0x300
push eax
jbe 0x1000a714
call edi
add esp, 0xc
test ebx, ebx
jne 0x1000a71e
fld dword [0x10099c00]
fstp dword [ebp - 0x40]
push dword [ebp - 0x54]
lea eax, [ebp - 0x8c]
push dword [ebp - 0x58]
push eax
call edi
add esp, 0xc
mov ebx, dword [ebp + 0x10]
mov byte [ebp - 4], 6
cmp dword [ebp - 0x48], 0
jbe 0x1000a6d9
push 0
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x48], 0
call fcn.100205d0
mov byte [ebp - 4], 7
cmp dword [ebp - 0x28], 0
jbe 0x1000a6f4
push 0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x28], 0
call fcn.100205d0
mov ecx, dword [ebp - 0x18]
inc ecx
mov byte [ebp - 4], 1
mov dword [ebp - 0x18], ecx
cmp ecx, dword [ebp - 0x84]
jb 0x1000a5c2
lea eax, [ebp - 0x40]
push eax
jmp 0x1000a961
mov ebx, 0x10091798
call edi
add esp, 0xc
cmp byte [ebx], 0
je 0x1000a6a0
mov ecx, ebx
call fcn.100838f0
fstp dword [ebp - 0x40]
jmp 0x1000a6a9
cmp dword [ebp - 0x24], 0
mov eax, edi
ja 0x1000a743
mov eax, 0x10091798
push str.replaygain_track_gain
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
jne 0x1000a7c1
cmp dword [ebp - 0x44], 0
lea eax, [ebp - 0x60]
mov edi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__controlfp_s]
push 0x300
push 0
mov dword [ebp - 0x5c], 0x300
push eax
jbe 0x1000a797
call edi
add esp, 0xc
test ebx, ebx
jne 0x1000a7a1
push dword [ebp - 0x5c]
fld dword [0x10099c00]
lea eax, [ebp - 0x90]
push dword [ebp - 0x60]
fstp dword [ebp - 0x3c]
jmp 0x1000a6b5
mov ebx, 0x10091798
call edi
add esp, 0xc
cmp byte [ebx], 0
je 0x1000a77d
mov ecx, ebx
call fcn.100838f0
push dword [ebp - 0x5c]
fstp dword [ebp - 0x3c]
push dword [ebp - 0x60]
lea eax, [ebp - 0x90]
jmp 0x1000a6b5
cmp dword [ebp - 0x24], 0
mov eax, edi
ja 0x1000a7ce
mov eax, 0x10091798
push str.replaygain_album_peak
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
jne 0x1000a84c
cmp dword [ebp - 0x44], 0
lea eax, [ebp - 0x68]
mov edi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__controlfp_s]
push 0x300
push 0
mov dword [ebp - 0x64], 0x300
push eax
jbe 0x1000a822
call edi
add esp, 0xc
test ebx, ebx
jne 0x1000a82c
push dword [ebp - 0x64]
fld dword [0x10099bd0]
lea eax, [ebp - 0x94]
push dword [ebp - 0x68]
fstp dword [ebp - 0x38]
jmp 0x1000a6b5
mov ebx, 0x10091798
call edi
add esp, 0xc
cmp byte [ebx], 0
je 0x1000a808
mov ecx, ebx
call fcn.100838f0
push dword [ebp - 0x64]
fstp dword [ebp - 0x38]
push dword [ebp - 0x68]
lea eax, [ebp - 0x94]
jmp 0x1000a6b5
cmp dword [ebp - 0x24], 0
mov eax, edi
ja 0x1000a859
mov eax, 0x10091798
push str.replaygain_track_peak
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
jne 0x1000a8d7
cmp dword [ebp - 0x44], 0
lea eax, [ebp - 0x70]
mov edi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__controlfp_s]
push 0x300
push 0
mov dword [ebp - 0x6c], 0x300
push eax
jbe 0x1000a8ad
call edi
add esp, 0xc
test ebx, ebx
jne 0x1000a8b7
push dword [ebp - 0x6c]
fld dword [0x10099bd0]
lea eax, [ebp - 0x98]
push dword [ebp - 0x70]
fstp dword [ebp - 0x34]
jmp 0x1000a6b5
mov ebx, 0x10091798
call edi
add esp, 0xc
cmp byte [ebx], 0
je 0x1000a893
mov ecx, ebx
call fcn.100838f0
push dword [ebp - 0x6c]
fstp dword [ebp - 0x34]
push dword [ebp - 0x70]
lea eax, [ebp - 0x98]
jmp 0x1000a6b5
cmp dword [ebp - 0x44], 0
ja 0x1000a8e2
mov ebx, 0x10091798
cmp dword [ebp - 0x24], 0
ja 0x1000a8ed
mov edi, 0x10091798
mov ecx, dword [ebp + 0x10]
push 0xffffffffffffffff
push edi
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x1c], eax
push 0xffffffffffffffff
push ebx
mov edx, dword [ecx]
cmp eax, 0xffffffff
jne 0x1000a912
push eax
push edi
call dword [edx + 0x60]
jmp 0x1000a6bb
push eax
mov edi, edx
call dword [edx + 0x18]
mov ebx, dword [ebp + 0x10]
mov ecx, ebx
push eax
push dword [ebp - 0x1c]
call dword [edi + 0x28]
jmp 0x1000a6be
lea ecx, [ebp - 0x50]
call fcn.10002b60
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.10002b60
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ecx]
call dword [eax + 8]
jmp 0x1000a96c
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 1
push eax
mov eax, dword [ecx]
call dword [eax + 8]
jmp 0x1000a96c
lea ecx, [ebp - 0x40]
push ecx
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 8]
mov byte [ebp - 0x11], 1
push dword [ebp - 0x20]
call fcn.1003e4c1
add esp, 4
mov byte [ebp - 4], 8
cmp dword [ebp - 0x78], 0
jbe 0x1000a992
push 0
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x78], 0
call fcn.100205d0
push esi
call dword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov ecx, dword [ebp - 0xc]
add esp, 4
mov al, byte [ebp - 0x11]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc