Function at 0x1001a4f0
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10088d20
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x84
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x14], 0
call fcn.10011e60
test al, al
je case.default.0x1001a534
mov eax, dword [ebp + 8]
cmp eax, 6
ja case.default.0x1001a534
jmp dword [eax*4 + 0x1001b790]
lea ecx, [ebp - 0x1c]
call fcn.10020a10
mov ebx, 1
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
call dword [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x44], vtable.metadb_handle_list_t_class_pfc::alloc_fast_.0
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x40]
xor esi, esi
push eax
mov dword [ebp - 0x24], esi
call fcn.100202e0
xor edi, edi
mov dword [ebp - 0x20], edi
cmp edi, dword [ebp - 0x30]
jae 0x1001a778
mov byte [ebp - 4], 2
lea edx, [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
or ebx, 2
push edi
push edx
mov dword [ebp + 0x10], 0
mov eax, dword [ecx]
mov dword [ebp - 0x14], ebx
call dword [eax + 4]
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x1001a763
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x1001a760
push 9
push str.exttag:__
push eax
mov byte [ebp - 4], 3
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
mov ecx, dword [ebp + 0x10]
add esp, 0xc
test eax, eax
jne 0x1001a629
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x2c], ecx
lea eax, [eax + esi*4]
mov dword [ebp - 0x24], eax
test ecx, ecx
je 0x1001a607
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
test ecx, ecx
je 0x1001a611
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x24]
inc esi
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], esi
mov dword [ebp - 4], 2
mov dword [ecx], eax
jmp 0x1001a760
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, eax
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x60], vtable.pfc::string8_t_class_pfc::alloc_standard_.0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x5c]
push 0x1b
mov dword [ebp - 0x54], 0
call fcn.100205d0
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x58], 0x1b
mov dword [eax], 0x74747865
mov dword [eax + 4], 0x2f3a6761
mov word [eax + 8], 0x282f
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x54], 0xa
mov byte [eax + 0xa], 0
push 0xffffffffffffffff
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x60]
push dword [ebp - 0x2c]
call fcn.10020690
push 0xffffffffffffffff
push 0x10092a38
lea ecx, [ebp - 0x60]
call fcn.10020690
mov dword [ebp + 8], 0
mov byte [ebp - 4], 6
cmp dword [ebp - 0x54], 0
mov eax, dword [ebp - 0x5c]
ja 0x1001a6c6
mov eax, 0x10091798
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x50]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x50], 0x100997a0
mov dword [ebp - 0x48], eax
mov eax, dword [ecx]
push edx
lea edx, [ebp + 8]
push edx
call dword [eax + 0x14]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x2c], ecx
lea eax, [eax + esi*4]
mov dword [ebp - 0x24], eax
test ecx, ecx
je 0x1001a701
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
test ecx, ecx
je 0x1001a70b
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 5
mov dword [ecx], eax
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x1001a722
mov eax, dword [ecx]
call dword [eax]
mov byte [ebp - 4], 7
cmp dword [ebp - 0x58], 0
jbe 0x1001a73d
push 0
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x58], 0
call fcn.100205d0
inc esi
mov dword [ebp - 4], 2
mov dword [ebp - 0x24], esi
jmp 0x1001a760
mov ecx, dword [ebp + 0x10]
and ebx, 0xfffffffd
mov byte [ebp - 4], 1
test ecx, ecx
je 0x1001a772
mov eax, dword [ecx]
call dword [eax]
inc edi
jmp 0x1001a588
test esi, esi
je 0x1001a797
push esi
lea ecx, [ebp - 0x40]
call fcn.100202e0
push ecx
lea eax, [ebp - 0x44]
mov ecx, 0x10090890
push eax
call fcn.1007eb18
add esp, 8
mov byte [ebp - 4], 9
mov edi, dword [ebp - 0x3c]
test edi, edi
je 0x1001a7b7
mov esi, dword [ebp - 0x40]
mov ecx, esi
call fcn.1001ec30
add esi, 4
sub edi, 1
jne 0x1001a7a5
mov dword [ebp - 0x3c], edi
push 0
lea ecx, [ebp - 0x40]
call fcn.100204b0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1c]
jmp 0x1001b774
push 0x30
call fcn.10085b10
mov edi, eax
add esp, 4
mov dword [ebp + 0x10], edi
lea esi, [edi + 0x10]
mov dword [edi], vtable.tag_writer_cb.0
lea eax, [esi + 0x10]
mov dword [edi + 4], 0
push eax
mov dword [edi + 8], 0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
push esi
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov dword [edi], vtable.service_impl_t_class_tag_writer_cb_.0
mov ecx, edi
mov dword [edi + 0x28], 0
mov eax, dword [edi]
mov dword [ebp + 8], edi
call dword [eax + 4]
push 0x28
mov dword [ebp - 4], 0xa
call fcn.10085b10
mov dword [ebp + 0x10], eax
xor edx, edx
add esp, 4
mov dword [eax + 4], 1
lea ecx, [eax + 0xc]
mov dword [eax + 8], 1
mov dword [eax], vtable.std::_Ref_count_obj2_struct_cb_data_.0
mov dword [ecx + 0x18], edx
mov dword [ecx + 4], edx
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], edx
mov dword [ecx], vtable.metadb_handle_list_t_class_pfc::alloc_fast_.0
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], edx
mov ebx, dword [edi + 8]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
test ebx, ebx
je 0x1001a891
or esi, 0xffffffff
mov eax, esi
lock xadd dword [ebx + 4], eax
jne 0x1001a891
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
lock xadd dword [ebx + 8], esi
dec esi
jne 0x1001a891
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov esi, dword [edi + 4]
lea eax, [ebp + 0x10]
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, esi
mov dword [ebp + 0x10], vtable.pfc::bit_array_true.0
mov eax, dword [esi]
mov dword [ebp - 0x3c], vtable.pfc::bit_array_not.0
call dword [eax + 8]
mov eax, dword [esi]
mov ecx, esi
push 0xffffffffffffffff
push dword [ebp + 0xc]
call dword [eax + 0xc]
mov ecx, dword [0x100aae24]
mov dword [edi + 0xc], 0
push 0xffffffffffffffff
push 0x100b47bd
mov eax, dword [ecx]
call dword [eax + 0xc]
push ecx
mov edx, esp
mov ecx, edi
mov esi, eax
mov dword [edx], edi
mov edx, dword [edi]
call dword [edx + 4]
mov edx, esi
mov ecx, 0x15
call fcn.1007dbea
mov dword [ebp - 4], 0xffffffff
add esp, 0xc
mov eax, dword [edi]
mov ecx, edi
jmp 0x1001b77a
mov ecx, dword [ebp + 0x10]
mov edx, 0x100908d0
mov dword [ebp + 8], 0xffffffff
call fcn.10002670
test al, al
jne 0x1001a92b
mov edx, 0x10090a90
call fcn.10002670
test al, al
je 0x1001a95e
lea ecx, [ebp + 0x10]
call fcn.10020aa0
mov dword [ebp - 0x14], 8
mov dword [ebp - 4], 0xb
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp + 0x10]
mov dword [ebp + 8], eax
test ecx, ecx
je 0x1001a95e
mov edx, dword [ecx]
call dword [edx]
push 0x30
call fcn.10085b10
mov edi, eax
add esp, 4
mov dword [ebp + 0x10], edi
lea esi, [edi + 0x10]
mov dword [edi], vtable.tag_remover_cb.0
lea eax, [esi + 0x10]
mov dword [edi + 4], 0
push eax
mov dword [edi + 8], 0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
push esi
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov dword [edi], vtable.service_impl_t_class_tag_remover_cb_.0
mov ecx, edi
mov dword [edi + 0x28], 0
mov eax, dword [edi]
mov dword [ebp - 0x34], edi
call dword [eax + 4]
push 0x28
mov dword [ebp - 4], 0xc
call fcn.10085b10
mov dword [ebp + 0x10], eax
xor edx, edx
add esp, 4
mov dword [eax + 4], 1
lea ecx, [eax + 0xc]
mov dword [eax + 8], 1
mov dword [eax], vtable.std::_Ref_count_obj2_struct_cb_data_.0
mov dword [ecx + 0x18], edx
mov dword [ecx + 4], edx
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], edx
mov dword [ecx], vtable.metadb_handle_list_t_class_pfc::alloc_fast_.0
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], edx
mov ebx, dword [edi + 8]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
test ebx, ebx
je 0x1001aa1f
or esi, 0xffffffff
mov eax, esi
lock xadd dword [ebx + 4], eax
jne 0x1001aa1f
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
lock xadd dword [ebx + 8], esi
dec esi
jne 0x1001aa1f
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov esi, dword [edi + 4]
lea eax, [ebp + 0x10]
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, esi
mov dword [ebp + 0x10], vtable.pfc::bit_array_true.0
mov eax, dword [esi]
mov dword [ebp - 0x3c], vtable.pfc::bit_array_not.0
call dword [eax + 8]
mov eax, dword [esi]
mov ecx, esi
push 0xffffffffffffffff
push dword [ebp + 0xc]
call dword [eax + 0xc]
mov eax, dword [edi + 4]
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
push 0x100b47f7
mov dword [eax + 0x18], ecx
mov ecx, dword [0x100aae24]
mov dword [edi + 0xc], 0
mov eax, dword [ecx]
call dword [eax + 0xc]
push ecx
mov edx, esp
mov ecx, edi
mov esi, eax
mov dword [edx], edi
mov edx, dword [edi]
call dword [edx + 4]
mov edx, esi
mov ecx, 0x15
call fcn.1007dbea
mov dword [ebp - 4], 0xffffffff
add esp, 0xc
mov eax, dword [edi]
mov ecx, edi
jmp 0x1001b77a
mov ecx, dword [ebp + 0x10]
mov edx, 0x100908d0
call fcn.10002670
test al, al
jne 0x1001aabb
mov edx, 0x10090a90
call fcn.10002670
test al, al
je 0x1001aaeb
lea ecx, [ebp + 0x10]
call fcn.10020aa0
mov dword [ebp - 0x14], 0x20
mov dword [ebp - 4], 0xd
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x1001aaeb
mov eax, dword [ecx]
call dword [eax]
push 0x48
call fcn.10085b10
mov ebx, eax
add esp, 4
mov dword [ebp + 0x10], ebx
mov dword [ebx], vtable.tag_committer_cb.0
lea esi, [ebx + 0x28]
lea eax, [esi + 0x10]
mov dword [ebx + 8], 0
push eax
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 4], vtable.metadb_handle_list_t_class_pfc::alloc_fast_.0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x18], 0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
push esi
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov dword [ebx], vtable.service_impl_t_class_tag_committer_cb_.0
mov ecx, ebx
mov dword [ebx + 0x40], 0
mov eax, dword [ebx]
mov dword [ebp + 8], ebx
call dword [eax + 4]
mov dword [ebp - 4], 0xe
lea eax, [ebp + 0x10]
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x3c]
mov eax, dword [ebx + 4]
push ecx
lea ecx, [ebx + 4]
mov dword [ebp + 0x10], vtable.pfc::bit_array_true.0
mov dword [ebp - 0x3c], vtable.pfc::bit_array_not.0
call dword [eax + 8]
mov eax, dword [ebx + 4]
lea ecx, [ebx + 4]
push 0xffffffffffffffff
push dword [ebp + 0xc]
call dword [eax + 0xc]
mov ecx, dword [0x100aae24]
mov dword [ebx + 0x20], 0
push 0xffffffffffffffff
push 0x100b4835
mov eax, dword [ecx]
call dword [eax + 0xc]
push ecx
mov edx, esp
mov ecx, ebx
mov esi, eax
mov dword [edx], ebx
mov edx, dword [ebx]
call dword [edx + 4]
mov edx, esi
mov ecx, 0x15
call fcn.1007dbea
mov dword [ebp - 4], 0xffffffff
add esp, 0xc
mov eax, dword [ebx]
mov ecx, ebx
jmp 0x1001b77a
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x70], vtable.metadb_handle_list_t_class_pfc::alloc_fast_.0
mov dword [ebp - 4], 0xf
xor edi, edi
mov ecx, dword [ebp + 0xc]
mov dword [ebp + 8], edi
mov eax, dword [ecx]
call dword [eax]
push eax
lea ecx, [ebp - 0x6c]
call fcn.100202e0
lea ecx, [ebp - 0x24]
call fcn.10020aa0
mov byte [ebp - 4], 0x10
mov edx, 0x100908d0
mov ecx, dword [ebp + 0x10]
call fcn.10002670
test al, al
jne 0x1001ac38
mov edx, 0x10090a90
call fcn.10002670
test al, al
je 0x1001afcd
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov dword [ebp - 0x28], eax
cmp eax, 0xffffffff
je 0x1001afcd
lea ecx, [ebp - 0x30]
call fcn.10020a10
mov esi, 0xc0
mov byte [ebp - 4], 0x11
xor ebx, ebx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x2c], ebx
mov eax, dword [ecx]
call dword [eax]
cmp ebx, eax
jae 0x1001af9f
mov byte [ebp - 4], 0x12
lea edx, [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
or esi, 0x100
push ebx
push edx
mov dword [ebp + 0x10], 0
mov eax, dword [ecx]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
call dword [eax + 4]
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x1001af87
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
push 9
mov edi, eax
push str.exttag:__
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x1001af81
mov dword [ebp - 0x1c], 0
mov byte [ebp - 4], 0x13
lea edx, [ebp - 0x1c]
mov ecx, dword [ebp + 0x10]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
test al, al
je 0x1001af6d
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x1001af70
mov eax, dword [ecx]
call dword [eax + 0xc]
mov esi, eax
push 0xffffffffffffffff
push str.tagtype
mov ecx, esi
mov edx, dword [esi]
call dword [edx + 0x50]
cmp eax, 0xffffffff
je 0x1001af6a
mov edx, dword [esi]
mov ecx, esi
push eax
call dword [edx + 0x44]
mov esi, eax
test esi, esi
je 0x1001af6a
push 0x100b4588
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
je 0x1001ad5f
push str.___SQLite_
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
je 0x1001ad5f
push str.___APEv2_
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
jne 0x1001af6a
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp + 0x10]
push ecx
mov ecx, esp
mov dword [ecx], eax
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x1001ad77
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
call fcn.1007ed49
test al, al
je 0x1001af6a
mov dword [ebp - 0x60], vtable.pfc::string8_t_class_pfc::alloc_standard_.0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x5c]
push 0x1a
mov dword [ebp - 0x54], 0
call fcn.100205d0
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x58], 0x1a
mov dword [eax], 0x74747865
mov dword [eax + 4], 0x2f3a6761
mov byte [eax + 8], 0x2f
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x54], 9
mov byte [eax + 9], 0
push edi
mov byte [ebp - 4], 0x16
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, eax
cmp ecx, 2
jle 0x1001ae3e
cmp ecx, 0x7fffffff
je 0x1001ae3e
mov edx, 0xff
dec ecx
lea ecx, [ecx]
mov eax, edx
dec edx
test eax, eax
jle 0x1001ae3e
mov al, byte [ecx + edi]
lea esi, [ecx + edi]
cmp al, 0x2e
je 0x1001af0d
cmp al, 0x3c
je 0x1001ae3e
cmp al, 0x3e
je 0x1001ae3e
cmp al, 0x3a
je 0x1001ae3e
cmp al, 0x22
je 0x1001ae3e
cmp al, 0x2f
je 0x1001ae3e
cmp al, 0x5c
je 0x1001ae3e
cmp al, 0x7c
je 0x1001ae3e
cmp al, 0x3f
je 0x1001ae3e
cmp al, 0x2a
je 0x1001ae3e
dec ecx
test ecx, ecx
jg 0x1001ae00
push 0xffffffffffffffff
push edi
lea ecx, [ebp - 0x60]
call fcn.10020690
mov dword [ebp - 0x20], 0
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp - 0x30]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, eax
mov eax, dword [ecx]
call dword [eax + 8]
cmp dword [ebp - 0x54], 0
mov ecx, dword [ebp - 0x5c]
ja 0x1001ae74
mov ecx, 0x10091798
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0x50]
push ecx
mov dword [ebp - 0x50], 0x100997a0
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x48], eax
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x14]
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x20]
push edx
push dword [ebp - 0x34]
mov eax, dword [ecx]
push dword [ebp - 0x28]
call dword [eax + 0x48]
mov edi, dword [ebp + 8]
mov ecx, edi
mov eax, dword [ebp - 0x6c]
inc edi
mov esi, dword [ebp - 0x20]
mov dword [ebp + 8], edi
lea eax, [eax + ecx*4]
mov dword [ebp - 0x2c], eax
test esi, esi
je 0x1001aec5
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
test ecx, ecx
je 0x1001aed2
mov eax, dword [ecx]
call dword [eax]
mov eax, dword [ebp - 0x2c]
mov dword [eax], esi
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x1001aee3
mov eax, dword [ecx]
call dword [eax]
mov byte [ebp - 4], 0x18
cmp dword [ebp - 0x58], 0
jbe 0x1001aefe
push 0
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x58], 0
call fcn.100205d0
mov dword [ebp - 4], 0x13
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
jmp 0x1001af73
cmp byte [esi + 1], 0
lea ecx, [esi + 1]
je 0x1001ae3e
test ecx, ecx
je 0x1001ae3e
call fcn.10012120
test al, al
je 0x1001ae3e
push 0xffffffffffffffff
push 0x10092cb4
lea ecx, [ebp - 0x60]
call fcn.10020690
push 0xffffffffffffffff
push edi
lea ecx, [ebp - 0x60]
call fcn.10020690
push 0xffffffffffffffff
push 0x10092a38
jmp 0x1001ae41
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp + 8]
mov byte [ebp - 4], 0x12
test ecx, ecx
je 0x1001af81
mov eax, dword [ecx]
call dword [eax]
jmp 0x1001af84
mov edi, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
and esi, 0xfffffeff
mov byte [ebp - 4], 0x11
test ecx, ecx
je 0x1001af99
mov eax, dword [ecx]
call dword [eax]
inc ebx
jmp 0x1001ac5f
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x1001afae
mov eax, dword [ecx]
call dword [eax]
test edi, edi
je 0x1001afcd
push edi
lea ecx, [ebp - 0x6c]
call fcn.100202e0
push ecx
lea eax, [ebp - 0x70]
mov ecx, 0x10090880
push eax
call fcn.1007eb18
add esp, 8
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x1001afdc
mov eax, dword [ecx]
call dword [eax]
mov dword [ebp - 4], 0x1a
mov edi, dword [ebp - 0x68]
test edi, edi
je 0x1001b002
mov esi, dword [ebp - 0x6c]
lea ecx, [ecx]
mov ecx, esi
call fcn.1001ec30
add esi, 4
sub edi, 1
jne 0x1001aff0
mov dword [ebp - 0x68], edi
push 0
lea ecx, [ebp - 0x6c]
call fcn.100204b0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea ecx, [ebp - 0x28]
call fcn.10020a10
mov esi, 0x200
mov dword [ebp - 4], 0x1b
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
call dword [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x70], vtable.metadb_handle_list_t_class_pfc::alloc_fast_.0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x6c]
xor edi, edi
push eax
mov dword [ebp + 8], edi
call fcn.100202e0
xor ebx, ebx
mov dword [ebp - 0x30], ebx
cmp ebx, dword [ebp - 0x34]
jae 0x1001b2d8
mov byte [ebp - 4], 0x1d
lea edx, [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
or esi, 0x400
push ebx
push edx
mov dword [ebp + 0x10], 0
mov eax, dword [ecx]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x14], esi
call dword [eax + 4]
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x1001b2c0
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
mov esi, eax
test esi, esi
je 0x1001b2ba
push 9
push str.exttag:__
push esi
mov edi, esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x1001b0de
cmp byte [esi + 9], 0x28
lea edi, [esi + 9]
jne 0x1001b0de
inc edi
push 7
push str.file:__
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x1001b10c
push 9
push str.unpack:__
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x1001b2b7
push 9
push str.exttag:__
push esi
mov edi, esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x1001b12d
cmp byte [esi + 9], 0x28
lea edi, [esi + 9]
jne 0x1001b12d
inc edi
push 9
push str.unpack:__
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x1001b2b7
mov edx, esi
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x44]
call fcn.10012620
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, eax
mov eax, dword [ecx]
call dword [eax + 8]
mov esi, eax
mov dword [ebp - 0x60], vtable.pfc::string8_t_class_pfc::alloc_standard_.0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x5c]
push 0x1f
mov dword [ebp - 0x54], 0
call fcn.100205d0
mov edx, dword [ebp - 0x5c]
xor ecx, ecx
mov dword [ebp - 0x58], 0x1f
nop
mov al, byte [ecx + str.exttag_off:___]
mov byte [ecx + edx], al
inc ecx
cmp ecx, 0xe
jb 0x1001b1a0
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x54], 0xe
mov byte [eax + 0xe], 0
mov byte [ebp - 4], 0x21
cmp dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x40]
ja 0x1001b1cf
mov eax, 0x10091798
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x60]
call fcn.10020690
push 0xffffffffffffffff
push 0x10092a38
lea ecx, [ebp - 0x60]
call fcn.10020690
mov dword [ebp - 0x24], 0
mov byte [ebp - 4], 0x22
cmp dword [ebp - 0x54], 0
mov eax, dword [ebp - 0x5c]
ja 0x1001b202
mov eax, 0x10091798
mov ecx, dword [ebp - 0x28]
lea edx, [ebp - 0x50]
mov dword [ebp - 0x50], 0x100997a0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], esi
mov eax, dword [ecx]
push edx
lea edx, [ebp - 0x24]
push edx
call dword [eax + 0x14]
mov edi, dword [ebp + 8]
mov ecx, edi
mov eax, dword [ebp - 0x6c]
inc edi
mov esi, dword [ebp - 0x24]
mov dword [ebp + 8], edi
lea eax, [eax + ecx*4]
mov dword [ebp - 0x30], eax
test esi, esi
je 0x1001b242
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
test ecx, ecx
je 0x1001b24f
mov eax, dword [ecx]
call dword [eax]
mov eax, dword [ebp - 0x30]
mov dword [eax], esi
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x1001b260
mov eax, dword [ecx]
call dword [eax]
mov byte [ebp - 4], 0x23
cmp dword [ebp - 0x58], 0
jbe 0x1001b27b
push 0
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x58], 0
call fcn.100205d0
mov byte [ebp - 4], 0x24
cmp dword [ebp - 0x3c], 0
jbe 0x1001b296
push 0
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x3c], 0
call fcn.100205d0
mov dword [ebp - 4], 0x1d
jmp 0x1001b2ba
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 0x2c]
mov ecx, dword [ebp + 0x10]
and esi, 0xfffffbff
mov byte [ebp - 4], 0x1c
test ecx, ecx
je 0x1001b2d2
mov eax, dword [ecx]
call dword [eax]
inc ebx
jmp 0x1001b06d
test edi, edi
je 0x1001b2f7
push edi
lea ecx, [ebp - 0x6c]
call fcn.100202e0
push ecx
lea eax, [ebp - 0x70]
mov ecx, 0x10090890
push eax
call fcn.1007eb18
add esp, 8
mov byte [ebp - 4], 0x26
mov edi, dword [ebp - 0x68]
test edi, edi
je 0x1001b317
mov esi, dword [ebp - 0x6c]
mov ecx, esi
call fcn.1001ec30
add esi, 4
sub edi, 1
jne 0x1001b305
mov dword [ebp - 0x68], edi
push 0
lea ecx, [ebp - 0x6c]
call fcn.100204b0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x28]
jmp 0x1001b774
push 0x40
call fcn.10085b10
mov ebx, eax
add esp, 4
mov dword [ebp + 0x10], ebx
mov dword [ebx], vtable.find_newer_edits_cb.0
lea esi, [ebx + 0x20]
lea eax, [esi + 0x10]
mov dword [ebx + 8], 0
push eax
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 4], vtable.metadb_handle_list_t_class_pfc::alloc_fast_.0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x18], 0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
push esi
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov dword [ebx], vtable.service_impl_t_class_find_newer_edits_cb_.0
mov ecx, ebx
mov dword [ebx + 0x38], 0
mov eax, dword [ebx]
mov dword [ebp + 0x10], ebx
call dword [eax + 4]
mov dword [ebp - 4], 0x27
lea ecx, [ebx + 4]
push dword [ebp + 0xc]
call fcn.1001f790
mov ecx, dword [0x100aae24]
push 0xffffffffffffffff
push str.___
mov eax, dword [ecx]
call dword [eax + 0xc]
push ecx
mov edx, esp
mov ecx, ebx
mov esi, eax
mov dword [edx], ebx
mov edx, dword [ebx]
call dword [edx + 4]
mov edx, esi
mov ecx, 0x15
call fcn.1007dbea
mov dword [ebp - 4], 0xffffffff
add esp, 0xc
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x30], vtable.foobar2000_io::abort_callback_dummy.0
call fcn.10020a10
mov edi, 0x800
mov dword [ebp - 4], 0x28
mov ebx, dword [ebp + 0xc]
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax]
mov edx, eax
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x34], edx
call fcn.1001f770
xor ecx, ecx
mov byte [ebp - 4], 0x29
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x5c]
push edx
call fcn.100202e0
xor esi, esi
mov dword [ebp - 0x2c], esi
cmp esi, dword [ebp - 0x34]
jae 0x1001b666
mov byte [ebp - 4], 0x2a
lea ecx, [ebp + 0x10]
mov eax, dword [ebx]
or edi, 0x1000
push esi
push ecx
mov ecx, ebx
mov dword [ebp + 0x10], 0
mov dword [ebp - 0x14], edi
call dword [eax + 4]
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x1001b64b
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
mov dword [ebp + 8], eax
test eax, eax
je 0x1001b648
mov ecx, eax
call fcn.100123f0
test al, al
jne 0x1001b648
mov dword [ebp - 0x24], 0
mov byte [ebp - 4], 0x2b
lea edx, [ebp - 0x24]
mov ecx, dword [ebp + 0x10]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
test al, al
je 0x1001b639
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x1001b63c
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ebx, eax
push 0xffffffffffffffff
push str.tagtype
mov ecx, ebx
mov edx, dword [ebx]
call dword [edx + 0x50]
cmp eax, 0xffffffff
je 0x1001b639
mov edx, dword [ebx]
mov ecx, ebx
push eax
call dword [edx + 0x44]
mov ebx, eax
test ebx, ebx
je 0x1001b639
push 0x100b4588
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
je 0x1001b522
push str.___SQLite_
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
je 0x1001b522
push str.___APEv2_
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
jne 0x1001b639
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x70]
call fcn.10012620
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 8]
mov dword [ebp + 8], 0
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x2e
push eax
push ecx
mov eax, esp
mov dword [eax], 0
cmp dword [ebp - 0x64], 0
mov edx, dword [ebp - 0x6c]
ja 0x1001b566
mov edx, 0x10091798
push ecx
mov eax, esp
lea ecx, [ebp + 8]
mov dword [eax], 0
call fcn.10012b10
mov ecx, dword [ebp + 8]
add esp, 0xc
test ecx, ecx
je 0x1001b5f6
mov eax, dword [ecx]
lea edx, [ebp - 0x30]
push edx
lea edx, [ebp - 0x80]
push edx
call dword [eax + 0x18]
mov ecx, dword [ebp + 0x10]
lea edx, [ebp - 0x90]
mov eax, dword [ebp - 0x74]
mov ebx, dword [ebp - 0x78]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x1c]
mov edx, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
cmp edx, eax
jb 0x1001b5f3
ja 0x1001b5b9
cmp ebx, ecx
jbe 0x1001b5f3
or ebx, edx
je 0x1001b5f3
or ecx, eax
je 0x1001b5f3
mov eax, dword [ebp - 0x20]
mov ecx, eax
mov ebx, dword [ebp + 0x10]
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x5c]
lea eax, [eax + ecx*4]
mov dword [ebp - 0x2c], eax
test ebx, ebx
je 0x1001b5e4
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
test ecx, ecx
je 0x1001b5f1
mov eax, dword [ecx]
call dword [eax]
mov eax, dword [ebp - 0x2c]
mov dword [eax], ebx
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x2d
test ecx, ecx
je 0x1001b602
mov eax, dword [ecx]
call dword [eax]
mov dword [ebp - 4], 0x2c
jmp 0x1001b61e
mov byte [ebp - 4], 0x30
cmp dword [ebp - 0x68], 0
jbe 0x1001b639
push 0
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x68], 0
call fcn.100205d0
mov ecx, dword [ebp - 0x24]
mov byte [ebp - 4], 0x2a
test ecx, ecx
je 0x1001b648
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp + 0x10]
and edi, 0xffffefff
mov byte [ebp - 4], 0x29
test ecx, ecx
je 0x1001b65d
mov eax, dword [ecx]
call dword [eax]
mov ebx, dword [ebp + 0xc]
inc esi
jmp 0x1001b42d
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x1001b752
push ecx
lea ecx, [ebp - 0x5c]
call fcn.100202e0
mov dword [ebp - 0x4c], 0x10093624
mov dword [ebp - 0x48], 0
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0x31
call fcn.10020aa0
sub esp, 8
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp + 0xc]
call fcn.1007ec7a
mov ecx, dword [ebp + 0xc]
mov esi, eax
cmp esi, 0xffffffff
je 0x1001b6b5
push esi
call fcn.1007ec3b
jmp 0x1001b6ca
mov eax, dword [ecx]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x100b45ec
call dword [eax + 0x24]
mov esi, eax
cmp esi, 0xffffffff
je 0x1001b6e4
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x60]
push eax
push esi
call fcn.1007ec5e
mov ecx, dword [ebp + 0xc]
push esi
mov eax, dword [ecx]
call dword [eax + 0x14]
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x1001b6f3
mov eax, dword [ecx]
call dword [eax]
mov byte [ebp - 4], 0x29
mov edx, dword [ebp - 0x48]
test edx, edx
je 0x1001b71c
lea ecx, [edx + 0xc]
call fcn.100203a0
mov ecx, dword [ebp - 0x48]
lea ecx, [ecx + 0x10]
call fcn.100203a0
mov ecx, dword [ebp - 0x48]
call fcn.10020430
mov edx, dword [ebp - 0x48]
xor ecx, ecx
or esi, 0xffffffff
mov dword [ebp - 0x48], ecx
test edx, edx
je 0x1001b73c
mov eax, esi
lock xadd dword [edx + 4], eax
jne 0x1001b739
mov eax, dword [edx]
mov ecx, edx
push 1
call dword [eax]
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x1001b752
lock xadd dword [ecx + 4], esi
dec esi
jne 0x1001b752
test ecx, ecx
je 0x1001b752
mov eax, dword [ecx]
push 1
call dword [eax]
push 0
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x33
call fcn.10020570
push 0
lea ecx, [ebp - 0x5c]
call fcn.100204b0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je case.default.0x1001a534
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc