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

Disassembly:
sub esp, 0x88
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov edi, edx
mov dword [esp + 0x48], ebp
mov eax, dword [ebp]
mov dword [esp + 0x18], eax
call fcn.101c9c80
mov esi, eax
mov dword [esp + 0x2c], esi
test esi, esi
je 0x101cf168
push 0
push 1
push 1
mov edx, 0xa6
mov ecx, esi
call fcn.10210cb0
mov ebx, dword [esp + 0xa8]
lea eax, [esp + 0x74]
add esp, 0xc
mov dword [ebp + 0x2c], 2
mov edx, edi
mov ecx, ebp
push eax
push ebx
call fcn.101e7e40
mov edx, eax
add esp, 8
mov dword [esp + 0x20], edx
test edx, edx
js 0x101cf168
mov ecx, dword [esp + 0x18]
shl eax, 4
mov dword [esp + 0x28], eax
mov edi, dword [ecx + 0x10]
add edi, eax
cmp edx, 1
jne 0x101ceff7
mov ecx, ebp
call fcn.101e1960
test eax, eax
jne 0x101cf168
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x68]
test edx, edx
je 0x101cf168
push 0
push dword [edx + 4]
mov edx, dword [edx]
call fcn.10236bd0
add esp, 8
mov dword [esp + 0x34], eax
mov ecx, eax
call fcn.10233940
cmp dword [esp + 0x34], 0
je 0x101cf168
cmp dword [esp + 0xa4], 0
je 0x101cf04c
push dword [esp + 0xa0]
push 0x1027fd44
push dword [esp + 0x20]
call fcn.10234930
add esp, 0xc
jmp 0x101cf07d
mov edx, dword [esp + 0xa0]
test edx, edx
je 0x101cf07b
mov ecx, dword [esp + 0x18]
push 0
push dword [edx + 4]
mov edx, dword [edx]
call fcn.10236bd0
add esp, 8
mov dword [esp + 0x1c], eax
mov ecx, eax
call fcn.10233940
mov eax, dword [esp + 0x1c]
jmp 0x101cf081
xor eax, eax
mov dword [esp + 0x1c], eax
cmp dword [ebx + 4], 0
jbe 0x101cf08b
mov ebx, dword [edi]
jmp 0x101cf08d
xor ebx, ebx
push ebx
push eax
push dword [esp + 0x3c]
mov edx, 0x13
mov dword [esp + 0x30], ebx
mov ecx, ebp
call fcn.101e9b80
add esp, 0xc
test eax, eax
jne 0x101cf146
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x34]
push ecx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x1c]
push 0xe
push ebx
mov dword [esp + 0xa0], 0
push eax
mov dword [eax + 0x1c4], 0
call sym.WMCommon.dll_sqlite3_file_control
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x101cf173
lea edx, [eax + 1]
mov ecx, esi
call fcn.1020e7d0
mov eax, dword [esi]
cmp byte [eax + 0x57], bl
jne 0x101cf129
mov edx, dword [esp + 0x88]
mov ecx, dword [esi + 0x74]
push 0xffffffffffffffff
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.10211940
add esp, 0x10
mov edx, dword [esp + 0x88]
mov ecx, esi
call fcn.101d21d0
push dword [esp + 0x88]
call sym.WMCommon.dll_sqlite3_free
add esp, 4
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
mov ecx, ebx
call fcn.102371f0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x101cf168
mov ecx, dword [esp + 0x18]
mov edx, eax
call fcn.102371f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret
cmp ebx, 0xc
je 0x101cf1a9
mov eax, dword [esp + 0x88]
test eax, eax
je 0x101cf1a1
push eax
push 0x10279434
push ebp
call fcn.102339b0
add esp, 0xc
push dword [esp + 0x88]
call sym.WMCommon.dll_sqlite3_free
add esp, 4
inc dword [ebp + 0x24]
mov dword [ebp + 0xc], ebx
jmp 0x101cf146
mov ecx, dword [esp + 0x34]
call fcn.101d1fb0
mov ebx, eax
mov dword [esp + 0x64], ebx
test ebx, ebx
je 0x101cf146
test byte [ebx + 5], 1
je 0x101cf1d1
mov ecx, ebp
call fcn.101cdf70
test eax, eax
jne 0x101cf146
mov al, byte [ebx + 5]
test al, 2
jne 0x101cf1ed
test al, 4
je 0x101cf1e4
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x101cf1f1
mov edx, ebx
mov ecx, esi
call fcn.101d22f0
mov ecx, dword [esp + 0x1c]
movzx eax, byte [ebx + 4]
dec eax
cmp eax, 0x2a
ja case.0x101cf1ff.5
jmp dword [eax*4 + 0x101d1d20]
mov eax, dword [esi + 0x9c]
mov ebx, dword [esp + 0x20]
bts eax, ebx
mov dword [esi + 0x9c], eax
cmp ebx, 1
je 0x101cf240
mov eax, dword [esi]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x101cf240
mov eax, dword [esi + 0xa0]
bts eax, ebx
mov dword [esi + 0xa0], eax
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x101cf271
add dword [ebp + 0x2c], 2
lea edx, [eax + 9]
push eax
push 0x1025b730
mov ecx, esi
call fcn.102101f0
add esp, 8
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x101cf146
lea edx, [esp + 0x5c]
mov dword [esp + 0x5c], 0
mov ecx, eax
call fcn.10232c50
mov ebx, dword [esp + 0x5c]
test ebx, ebx
jns 0x101cf29d
cmp ebx, 0x80000000
jne 0x101cf29b
mov ebx, accept
jmp 0x101cf29d
neg ebx
push dword [esp + 0x20]
xor edx, edx
mov ecx, ebp
call fcn.101e1820
add esp, 4
mov edx, 0x64
mov ecx, esi
push ebx
push 3
push dword [esp + 0x28]
call fcn.10210cb0
mov eax, dword [edi + 0xc]
add esp, 0xc
mov dword [eax + 0x50], ebx
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [edx + 0x50]
call fcn.1021db30
jmp 0x101cf146
mov edi, dword [edi + 4]
test ecx, ecx
jne 0x101cf313
test edi, edi
je 0x101cf2ff
mov eax, dword [edi + 4]
mov ecx, esi
mov eax, dword [eax + 0x24]
cdq
push edx
push eax
call fcn.101d2250
add esp, 8
jmp 0x101cf146
xor eax, eax
mov ecx, esi
cdq
push edx
push eax
call fcn.101d2250
add esp, 8
jmp 0x101cf146
lea edx, [esp + 0x5c]
mov dword [esp + 0x5c], 0
call fcn.10232c50
mov eax, dword [esp + 0x18]
mov ecx, edi
mov edx, dword [esp + 0x5c]
push 0
push 0
mov dword [eax + 0x64], edx
call fcn.1021d860
add esp, 8
cmp eax, 7
jne 0x101cf146
mov ecx, dword [esp + 0x18]
call fcn.10236ab0
jmp 0x101cf146
mov ebp, dword [edi + 4]
or edx, 0xffffffff
mov dword [esp + 0x4c], edx
test ecx, ecx
je 0x101cf393
mov edx, str.fast
call fcn.10233820
test eax, eax
jne 0x101cf375
lea edx, [eax + 2]
jmp 0x101cf38f
mov ecx, dword [esp + 0x1c]
mov edx, 1
push 0
call fcn.101d2590
xor edx, edx
add esp, 4
test al, al
setne dl
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x9c]
cmp dword [eax + 4], 0
jne 0x101cf3d0
test edx, edx
js 0x101cf3d0
mov eax, dword [esp + 0x18]
xor ebx, ebx
cmp dword [eax + 0x14], ebx
jle 0x101cf3d0
xor edi, edi
mov esi, eax
mov ecx, dword [esi + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.1021d730
mov edx, dword [esp + 0x4c]
lea edi, [edi + 0x10]
inc ebx
cmp ebx, dword [esi + 0x14]
jl 0x101cf3b3
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x4c]
mov ecx, ebp
call fcn.1021d730
cdq
mov ecx, esi
push edx
push eax
call fcn.101d2250
add esp, 8
jmp 0x101cf146
mov ebx, dword [esp + 0x20]
xorps xmm0, xmm0
mov edx, ebx
movlpd qword [esp + 0x78], xmm0
mov ecx, ebp
call fcn.101e18f0
mov eax, dword [esp + 0x34]
inc dword [ebp + 0x2c]
mov edi, dword [ebp + 0x2c]
movzx eax, byte [eax]
cmp byte [eax + 0x1025d320], 0x70
jne 0x101cf422
push 0
mov edx, 0xb1
jmp 0x101cf47c
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x101cf469
lea edx, [esp + 0x78]
mov ecx, eax
call fcn.10232de0
test eax, eax
jne 0x101cf469
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
test ecx, ecx
jg 0x101cf456
jl 0x101cf469
test eax, eax
jb 0x101cf469
test ecx, ecx
jl 0x101cf476
jg 0x101cf456
cmp eax, 0xfffffffe
jbe 0x101cf476
mov eax, 0xfffffffe
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], eax
jmp 0x101cf476
xorps xmm0, xmm0
movlpd qword [esp + 0x78], xmm0
mov eax, dword [esp + 0x78]
push eax
mov edx, 0xb2
push edi
push ebx
mov ecx, esi
call fcn.10210cb0
add esp, 0xc
mov edx, 0x54
mov ecx, esi
push 0
push 1
push edi
call fcn.10210cb0
add esp, 0xc
jmp 0x101cf146
mov ebx, str.normal
mov ebp, str.exclusive
test ecx, ecx
je 0x101cf4d2
mov edx, ebp
call fcn.10233820
test eax, eax
jne 0x101cf4bf
lea edx, [eax + 1]
jmp 0x101cf4d5
mov ecx, dword [esp + 0x1c]
mov edx, ebx
call fcn.10233820
test eax, eax
jne 0x101cf4d2
xor edx, edx
jmp 0x101cf4d5
or edx, 0xffffffff
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x4c], edx
cmp dword [eax + 4], 0
jne 0x101cf553
mov eax, dword [esp + 0x18]
cmp edx, 0xffffffff
jne 0x101cf507
movzx eax, byte [eax + 0x59]
mov ecx, esi
cmp eax, 1
cmove ebx, ebp
mov edx, ebx
call fcn.101d21d0
jmp 0x101cf146
mov ebp, 2
cmp dword [eax + 0x14], ebp
jle 0x101cf54b
mov ebx, 0x20
mov esi, eax
nop dword [eax + eax]
mov eax, dword [esi + 0x10]
mov eax, dword [ebx + eax + 4]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx]
call fcn.10224870
mov edx, dword [esp + 0x4c]
lea ebx, [ebx + 0x10]
inc ebp
cmp ebp, dword [esi + 0x14]
jl 0x101cf520
mov esi, dword [esp + 0x2c]
mov ebx, str.normal
mov eax, dword [esp + 0x18]
mov byte [eax + 0x59], dl
mov ebp, str.exclusive
mov eax, dword [edi + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
call fcn.10224870
cmp eax, 1
mov ecx, esi
cmove ebx, ebp
mov edx, ebx
call fcn.101d21d0
jmp 0x101cf146
test ecx, ecx
je 0x101cf5cc
mov edi, ecx
lea ecx, [edi + 1]
nop dword [eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x101cf580
sub edi, ecx
and edi, 0x3fffffff
xor ebx, ebx
cmp ebx, 6
je 0x101cf5cc
mov eax, dword [ebx*4 + 0x1025c524]
test eax, eax
je 0x101cf5cc
push edi
push eax
push dword [esp + 0x24]
call sym.WMCommon.dll_sqlite3_strnicmp
add esp, 0xc
test eax, eax
je 0x101cf5b6
inc ebx
jmp 0x101cf591
cmp ebx, 2
jne 0x101cf5eb
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x101cf5f0
or ebx, 0xffffffff
mov ecx, dword [esp + 0x9c]
cmp dword [ecx + 4], 0
jne 0x101cf5f7
xor edx, edx
mov dword [ecx + 4], 1
mov dword [esp + 0x20], edx
jmp 0x101cf5fb
cmp ebx, 0xffffffff
je 0x101cf5cf
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x101cf680
mov ebp, edi
shl ebp, 4
nop dword [eax]
mov eax, dword [eax + 0x10]
cmp dword [eax + ebp + 4], 0
je 0x101cf669
cmp edi, edx
je 0x101cf624
cmp dword [ecx + 4], 0
jne 0x101cf669
mov eax, dword [esi + 0x9c]
bts eax, edi
mov dword [esi + 0x9c], eax
cmp edi, 1
je 0x101cf656
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebp + 4]
cmp byte [eax + 9], 0
je 0x101cf656
mov eax, dword [esi + 0xa0]
bts eax, edi
mov dword [esi + 0xa0], eax
push ebx
push 1
push edi
mov edx, 4
mov ecx, esi
call fcn.10210cb0
add esp, 0xc
mov ecx, dword [esp + 0x9c]
sub ebp, 0x10
sub edi, 1
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
jns 0x101cf610
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.10210cb0
add esp, 0xc
jmp 0x101cf146
mov eax, dword [edi + 4]
or edx, 0xffffffff
mov ecx, 0xfffffffe
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
test eax, eax
je 0x101cf6ec
lea edx, [esp + 0x78]
mov ecx, eax
call fcn.10232de0
mov edx, dword [esp + 0x7c]
cmp edx, 0xffffffff
jg 0x101cf6e8
jl 0x101cf6d9
mov ecx, dword [esp + 0x78]
cmp ecx, 0xffffffff
jae 0x101cf6ec
or ecx, 0xffffffff
or edx, ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
jmp 0x101cf6ec
mov ecx, dword [esp + 0x78]
cmp edx, 0xffffffff
jl 0x101cf718
jg 0x101cf6f8
cmp ecx, 0xffffffff
jb 0x101cf718
mov dword [edi + 0xb0], ecx
mov eax, dword [esp + 0x7c]
mov dword [edi + 0xb4], eax
mov eax, dword [edi + 0xe8]
test eax, eax
je 0x101cf718
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov ecx, dword [edi + 0xb0]
mov dword [esp + 0x78], ecx
mov eax, dword [edi + 0xb4]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x84], eax
call fcn.101d2250
add esp, 8
jmp 0x101cf146
mov edi, dword [edi + 4]
test ecx, ecx
jne 0x101cf760
mov ecx, edi
call fcn.1021d670
cdq
mov ecx, esi
push edx
push eax
call fcn.101d2250
add esp, 8
jmp 0x101cf146
call fcn.101d24b0
mov ebx, eax
mov ecx, edi
mov eax, dword [esp + 0x18]
mov edx, ebx
mov byte [eax + 0x5a], bl
call fcn.1021d6c0
test eax, eax
jne 0x101cf146
cmp ebx, 1
je 0x101cf78d
cmp ebx, 2
jne 0x101cf146
mov edi, dword [esi + 0x6c]
mov edx, 5
push 0
push 0x1025cd30
mov ecx, esi
call fcn.102101f0
mov edx, dword [esp + 0x28]
lea ecx, [edi + 4]
add esp, 8
mov dword [eax + 0x30], ecx
lea ecx, [ebx - 1]
mov dword [eax + 4], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x54], edx
mov dword [eax + 0x5c], ecx
mov eax, dword [esi + 0x9c]
bts eax, edx
mov dword [esi + 0x9c], eax
cmp edx, 1
je 0x101cf146
mov eax, dword [esi]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x18]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x101cf14a
mov eax, dword [esi + 0xa0]
bts eax, edx
mov dword [esi + 0xa0], eax
jmp 0x101cf14a
mov dword [esp + 0x4c], 0
test ecx, ecx
je 0x101cf826
lea edx, [esp + 0x4c]
call fcn.10232c50
test eax, eax
je 0x101cf826
cmp dword [esp + 0x4c], 0
jg 0x101cf82e
mov dword [esp + 0x4c], accept
mov ebx, dword [esp + 0x20]
xor edx, edx
push ebx
mov ecx, ebp
call fcn.101e1820
add esp, 4
mov edx, 0x47
mov ecx, esi
push 0
push 1
push dword [esp + 0x54]
call fcn.10210cb0
add esp, 0xc
mov edx, 0x3d
mov ecx, esi
push 0
push 0
push ebx
call fcn.10210cb0
add esp, 0xc
mov edx, 0x54
mov ecx, esi
mov edi, eax
push 0
push 0
push 1
call fcn.10210cb0
add esp, 0xc
mov edx, 0x56
mov ecx, esi
push 0
push 0xffffffffffffffff
push 1
call fcn.10210cb0
add esp, 0xc
mov edx, 0x31
mov ecx, esi
push 0
push edi
push 1
call fcn.10210cb0
add esp, 0xc
mov edx, edi
mov ecx, esi
call fcn.102100d0
jmp 0x101cf146
test ecx, ecx
jne 0x101cf8d4
mov eax, dword [edi + 0xc]
mov ecx, esi
mov eax, dword [eax + 0x50]
cdq
push edx
push eax
call fcn.101d2250
add esp, 8
jmp 0x101cf146
lea edx, [esp + 0x5c]
mov dword [esp + 0x5c], 0
call fcn.10232c50
mov ecx, dword [edi + 0xc]
mov eax, dword [esp + 0x5c]
mov dword [ecx + 0x50], eax
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [edx + 0x50]
call fcn.1021db30
jmp 0x101cf146
test ecx, ecx
jne 0x101cf942
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x20]
and eax, 0x20
or eax, ecx
jne 0x101cf926
cdq
mov ecx, esi
push edx
push eax
call fcn.101d2250
add esp, 8
jmp 0x101cf146
mov ecx, dword [edi + 4]
xor edx, edx
call fcn.1021da70
cdq
mov ecx, esi
push edx
push eax
call fcn.101d2250
add esp, 8
jmp 0x101cf146
lea edx, [esp + 0x58]
mov dword [esp + 0x58], 1
call fcn.10232c50
test eax, eax
je 0x101cf963
mov edx, dword [esp + 0x58]
mov ecx, dword [edi + 4]
call fcn.1021da70
cmp dword [esp + 0x58], 0
mov edx, 1
mov ecx, dword [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.101d2590
mov edx, dword [esp + 0x1c]
add esp, 4
mov ecx, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
test al, al
je 0x101cf993
or ecx, 0x20
jmp 0x101cf996
and ecx, 0xffffffdf
mov eax, dword [esp + 0x18]
mov dword [eax + 0x20], ecx
mov ecx, eax
mov dword [eax + 0x24], edx
call fcn.101d20b0
jmp 0x101cf146
test ecx, ecx
je 0x101cfa50
lea edx, [esp + 0x78]
call fcn.10232de0
mov eax, dword [esp + 0x7c]
test eax, eax
jg 0x101cf9e4
jl 0x101cf9cf
mov edx, dword [esp + 0x78]
test edx, edx
jae 0x101cf9e8
mov edx, dword [0x1031be48]
mov eax, dword [0x1031be4c]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
jmp 0x101cf9e8
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x9c]
mov edi, dword [esp + 0x18]
cmp dword [ecx + 4], 0
jne 0x101cf9ff
mov dword [edi + 0x30], edx
mov dword [edi + 0x34], eax
mov edi, dword [edi + 0x14]
sub edi, 1
js 0x101cfa50
mov esi, dword [esp + 0x18]
mov ebx, edi
shl ebx, 4
mov eax, dword [esi + 0x10]
mov eax, dword [ebx + eax + 4]
test eax, eax
je 0x101cfa44
cmp edi, dword [esp + 0x20]
je 0x101cfa27
cmp dword [ecx + 4], 0
jne 0x101cfa44
push dword [esp + 0x7c]
mov ecx, eax
push edx
call fcn.1021da20
mov edx, dword [esp + 0x80]
add esp, 8
mov ecx, dword [esp + 0x9c]
sub ebx, 0x10
sub edi, 1
jns 0x101cfa10
mov esi, dword [esp + 0x2c]
lea eax, [esp + 0x78]
mov dword [esp + 0x78], 0xffffffff
push eax
push 0x12
push dword [esp + 0x2c]
mov dword [esp + 0x88], 0xffffffff
push dword [esp + 0x24]
call sym.WMCommon.dll_sqlite3_file_control
add esp, 0x10
test eax, eax
jne 0x101cfa95
push dword [esp + 0x7c]
mov ecx, esi
push dword [esp + 0x7c]
call fcn.101d2250
add esp, 8
jmp 0x101cf146
mov ebx, dword [esp + 0x18]
cmp eax, 0xc
je 0x101cf14a
inc dword [ebp + 0x24]
mov dword [ebp + 0xc], eax
jmp 0x101cf14a
test ecx, ecx
jne 0x101cfacb
mov eax, dword [esp + 0x18]
mov ecx, esi
movzx eax, byte [eax + 0x56]
cdq
push edx
push eax
call fcn.101d2250
add esp, 8
jmp 0x101cf146
call fcn.101d2460
mov esi, dword [ebp]
mov ebx, eax
movzx ecx, byte [esi + 0x56]
cmp ecx, ebx
je 0x101cf146
mov ecx, ebp
call fcn.101d2410
test eax, eax
jne 0x101cf146
mov byte [esi + 0x56], bl
jmp 0x101cf146
test ecx, ecx
jne 0x101cfb0e
mov edx, dword [sym.WMCommon.dll_sqlite3_temp_directory]
mov ecx, esi
call fcn.101d21d0
jmp 0x101cf146
cmp byte [ecx], 0
je 0x101cfb47
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x64]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x101cfb34
cmp dword [esp + 0x64], eax
jne 0x101cfb47
push str.not_a_writable_directory
push ebp
call fcn.102339b0
add esp, 8
jmp 0x101cf146
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x56], 1
ja 0x101cfb58
mov ecx, ebp
call fcn.101d2410
push dword [sym.WMCommon.dll_sqlite3_temp_directory]
call sym.WMCommon.dll_sqlite3_free
mov eax, dword [esp + 0x20]
add esp, 4
cmp byte [eax], 0
je 0x101cfb87
push eax
push 0x10279434
call sym.WMCommon.dll_sqlite3_mprintf
add esp, 8
mov dword [sym.WMCommon.dll_sqlite3_temp_directory], eax
jmp 0x101cf146
mov dword [sym.WMCommon.dll_sqlite3_temp_directory], 0
jmp 0x101cf146
test ecx, ecx
jne 0x101cfbac
mov edx, dword [sym.WMCommon.dll_sqlite3_data_directory]
mov ecx, esi
call fcn.101d21d0
jmp 0x101cf146
cmp byte [ecx], 0
je 0x101cfbe5
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x64]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x101cfbd2
cmp dword [esp + 0x64], eax
jne 0x101cfbe5
push str.not_a_writable_directory
push ebp
call fcn.102339b0
add esp, 8
jmp 0x101cf146
push dword [sym.WMCommon.dll_sqlite3_data_directory]
call sym.WMCommon.dll_sqlite3_free
mov eax, dword [esp + 0x20]
add esp, 4
cmp byte [eax], 0
je 0x101cfc14
push eax
push 0x10279434
call sym.WMCommon.dll_sqlite3_mprintf
add esp, 8
mov dword [sym.WMCommon.dll_sqlite3_data_directory], eax
jmp 0x101cf146
mov dword [sym.WMCommon.dll_sqlite3_data_directory], 0
jmp 0x101cf146
test ecx, ecx
jne 0x101cfc42
movzx eax, byte [edi + 8]
cdq
sub eax, 1
sbb edx, ecx
mov ecx, esi
push edx
push eax
call fcn.101d2250
add esp, 8
jmp 0x101cf146
mov ebx, dword [esp + 0x18]
cmp byte [ebx + 0x55], 0
jne 0x101cfc5f
push str.Safety_level_may_not_be_changed_inside_a_transaction
push ebp
call fcn.102339b0
add esp, 8
jmp 0x101cf14a
cmp dword [esp + 0x20], 1
je 0x101cf14a
push 1
xor edx, edx
call fcn.101d2590
inc eax
add esp, 4
and eax, 7
mov ecx, 1
mov byte [edi + 9], cl
cmove eax, ecx
mov ecx, ebx
mov byte [edi + 8], al
call fcn.101d20b0
jmp 0x101cf14a
test ecx, ecx
jne 0x101cfcef
mov edx, ebx
mov ecx, esi
call fcn.101d22f0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
and ecx, dword [ebx + 8]
and eax, dword [ebx + 0xc]
or ecx, eax
je 0x101cfccd
xor ecx, ecx
mov eax, 1
push ecx
push eax
mov ecx, esi
call fcn.101d2250
add esp, 8
jmp 0x101cf146
xorps xmm0, xmm0
movlpd qword [esp + 0x78], xmm0
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
push ecx
push eax
mov ecx, esi
call fcn.101d2250
add esp, 8
jmp 0x101cf146
mov eax, dword [esp + 0x18]
mov edi, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
cmp byte [eax + 0x55], 0
jne 0x101cfd05
and edi, 0xffffbfff
push 0
mov edx, 1
call fcn.101d2590
mov ecx, dword [esp + 0x1c]
add esp, 4
mov edx, dword [ecx + 0x20]
mov ebp, dword [ecx + 0x24]
test al, al
je 0x101cfd2e
or edx, edi
or ebp, ebx
mov dword [ecx + 0x20], edx
mov dword [ecx + 0x24], ebp
jmp 0x101cfd7f
mov ecx, edi
mov eax, ebx
not ecx
not eax
and ecx, edx
and eax, ebp
mov edx, dword [esp + 0x18]
mov dword [edx + 0x20], ecx
mov dword [edx + 0x24], eax
cmp edi, 0x80000
jne 0x101cfd5c
test ebx, ebx
jne 0x101cfd5c
mov dword [edx + 0x208], ebx
mov dword [edx + 0x20c], ebx
and edi, 1
or edi, 0
je 0x101cfd7f
mov ecx, dword [esp + 0x1c]
mov edx, str.reset
call fcn.10233820
test eax, eax
jne 0x101cfd7f
mov ecx, dword [esp + 0x18]
call fcn.101e8770
push 0
push 0
push 0
mov edx, 0xa6
mov ecx, esi
call fcn.10210cb0
mov ecx, dword [esp + 0x24]
add esp, 0xc
call fcn.101d20b0
jmp 0x101cf146
test ecx, ecx
je 0x101cf146
mov ebx, dword [esp + 0x24]
mov ecx, ebp
mov edx, ebx
call fcn.101e1870
push ebx
push dword [esp + 0x20]
mov edx, 2
mov ecx, ebp
call fcn.101e8dd0
mov ebx, eax
add esp, 8
mov dword [esp + 0x48], ebx
test ebx, ebx
je 0x101cf146
mov ecx, dword [ebx + 8]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], ecx
test ecx, ecx
je 0x101cfe04
nop dword [eax]
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x101cfe00
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x101cfdf0
mov dword [esp + 0x5c], ecx
mov edx, ebx
mov dword [ebp + 0x2c], 7
mov ecx, ebp
call fcn.101e4d00
movzx eax, word [ebx + 0x22]
xor edx, edx
mov edi, dword [ebx + 4]
xor ecx, ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], edi
cmp cx, ax
jge 0x101cf146
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x4c], eax
nop dword [eax + eax]
movzx ecx, word [edi + 0xe]
xor ebx, ebx
test cl, 0x62
je 0x101cfe7b
mov eax, dword [ebp + 8]
or eax, dword [ebp + 0xc]
jne 0x101cfe63
mov ecx, dword [esp + 0x4c]
inc dword [esp + 0x58]
movzx eax, cx
jmp 0x101cff36
test cl, 0x20
je 0x101cfe6f
mov ebx, 2
jmp 0x101cfe7b
movzx ebx, cl
and ebx, 0x40
or ebx, 0x20
shr ebx, 5
test cl, 1
jne 0x101cfe84
xor edi, edi
jmp 0x101cfeba
mov eax, dword [esp + 0x5c]
mov edi, 1
test eax, eax
je 0x101cfeba
mov ecx, dword [esp + 0x4c]
movsx ecx, cx
mov dword [esp + 0x64], ecx
cmp ecx, edi
jl 0x101cfeba
mov ecx, dword [eax + 4]
mov esi, dword [esp + 0x64]
movsx eax, word [ecx]
cmp eax, edx
je 0x101cfeb6
inc edi
add ecx, 2
cmp edi, esi
jle 0x101cfea7
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
call fcn.101e86a0
cmp ebx, 2
jae 0x101cfed5
test eax, eax
je 0x101cfed5
mov ecx, dword [eax + 8]
jmp 0x101cfed7
xor ecx, ecx
mov eax, dword [ebp + 8]
or eax, dword [ebp + 0xc]
mov dword [esp + 0x4c], str.issisii
jne 0x101cfeef
mov dword [esp + 0x4c], str.issisi
push ebx
push edi
mov edi, dword [esp + 0x58]
mov eax, 0
push ecx
mov edx, 0x10265063
mov ecx, edi
test byte [edi + 4], 0xf
setne al
push eax
call fcn.10233c40
push eax
push dword [edi]
mov eax, dword [esp + 0x6c]
sub eax, dword [esp + 0x70]
push eax
push dword [esp + 0x68]
push 1
push esi
call fcn.10210940
mov eax, dword [esp + 0x70]
add esp, 0x28
mov edx, dword [esp + 0x54]
movzx eax, word [eax + 0x22]
movzx ecx, ax
inc edx
add edi, 0x10
cwde
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ecx
cmp edx, eax
jl 0x101cfe40
jmp 0x101cf146
mov ebx, dword [esp + 0x24]
mov ecx, ebp
mov edx, ebx
mov dword [ebp + 0x2c], 6
call fcn.101e1870
mov edx, dword [esp + 0x18]
mov dword [esp + 0x58], 0
cmp dword [edx + 0x14], 0
jle 0x101d012b
xor ebp, ebp
test ebx, ebx
je 0x101cffa8
mov eax, dword [edx + 0x10]
mov edx, dword [eax + ebp]
test edx, edx
je 0x101d0112
mov ecx, ebx
call fcn.10233820
test eax, eax
jne 0x101d0112
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x10]
mov edx, dword [eax + ebp + 0xc]
add edx, 8
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x101d006d
mov esi, dword [esp + 0x18]
mov eax, dword [edx + 8]
dec ebx
test eax, eax
je 0x101d0069
nop dword [eax]
mov ecx, dword [eax + 8]
cmp word [ecx + 0x22], 0
je 0x101cffe5
mov eax, dword [eax]
test eax, eax
jne 0x101cffd0
jmp 0x101d0069
push dword [ecx]
push str.SELECTFROM__w_
push esi
call fcn.10234930
mov edi, eax
add esp, 0xc
test edi, edi
je 0x101d0031
push 0
lea eax, [esp + 0x60]
mov dword [esp + 0x60], 0
push eax
push 0
push 0
push 0xffffffffffffffff
mov edx, edi
mov ecx, esi
call fcn.101cd520
add esp, 0x14
push dword [esp + 0x5c]
call sym.WMCommon.dll_sqlite3_finalize
add esp, 4
mov edx, edi
mov ecx, esi
call fcn.102371f0
cmp byte [esi + 0x57], 0
je 0x101d0057
push str.out_of_memory
push dword [esi + 0x10c]
call fcn.102339b0
mov eax, dword [esi + 0x10c]
add esp, 8
mov dword [eax + 0xc], 7
mov eax, dword [esi + 0x10]
mov edx, dword [eax + ebp + 0xc]
add edx, 8
test ebx, ebx
jne 0x101cffc1
mov esi, dword [esp + 0x2c]
mov ebx, dword [edx + 8]
test ebx, ebx
je 0x101d010e
mov eax, dword [esp + 0x1c]
nop dword [eax]
mov edi, dword [ebx + 8]
test eax, eax
je 0x101d0098
mov edx, dword [edi]
test edx, edx
je 0x101d0104
mov ecx, eax
call fcn.10233820
test eax, eax
jne 0x101d0100
mov al, byte [edi + 0x2b]
cmp al, 2
jne 0x101d00a6
mov ecx, str.view
jmp 0x101d00c5
cmp al, 1
jne 0x101d00b1
mov ecx, str.virtual
jmp 0x101d00c5
test dword [edi + 0x1c], 0x1000
mov ecx, str.shadow
mov eax, str.table
cmove ecx, eax
mov edx, dword [edi + 0x1c]
mov eax, edx
shr eax, 0x10
and eax, 1
shr edx, 7
push eax
movsx eax, word [edi + 0x22]
and edx, 1
push edx
push eax
push ecx
mov ecx, dword [edi]
call fcn.101e8ce0
push eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
push dword [eax + ebp]
push str.sssiii
push 1
push esi
call fcn.10210940
add esp, 0x24
mov eax, dword [esp + 0x1c]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x101d0080
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x58]
add ebp, 0x10
mov edx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x58], eax
cmp eax, dword [edx + 0x14]
jl 0x101cff83
mov ebx, edx
jmp 0x101cf14a
test ecx, ecx
je 0x101cf146
push dword [esp + 0x24]
mov edx, ecx
mov ecx, dword [esp + 0x1c]
call fcn.101e8c10
mov edi, eax
add esp, 4
test edi, edi
jne 0x101d019c
push dword [esp + 0x24]
lea edx, [eax + 2]
mov ecx, ebp
push dword [esp + 0x20]
call fcn.101e8dd0
add esp, 8
test eax, eax
je 0x101cf146
test byte [eax + 0x1c], 0x80
je 0x101cf146
mov edi, dword [eax + 8]
test edi, edi
je 0x101cf146
mov eax, dword [edi + 0x38]
and al, 3
cmp al, 2
je 0x101d0194
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x101d0184
test edi, edi
je 0x101cf146
mov ecx, dword [edi + 0x18]
mov edx, 0xffff8000
test ecx, ecx
je 0x101d01c0
mov eax, dword [esp + 0x18]
xor edx, edx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x101d01c0
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x101d01b8
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
je 0x101d01d3
movzx eax, word [edi + 0x34]
mov ecx, 6
jmp 0x101d01dc
movzx eax, word [edi + 0x32]
mov ecx, 3
mov dword [ebp + 0x2c], ecx
mov ecx, ebp
mov dword [esp + 0x54], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x64], eax
call fcn.101e18f0
xor edx, edx
mov dword [esp + 0x58], edx
cmp word [esp + 0x54], dx
je 0x101cf146
mov eax, dword [edi + 4]
movzx eax, word [eax + edx*2]
movsx ecx, ax
mov dword [esp + 0x60], ecx
test ax, ax
jns 0x101d0219
xor eax, eax
jmp 0x101d0229
mov eax, dword [esp + 0x64]
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
mov ecx, dword [esp + 0x60]
push eax
push ecx
push edx
push str.iisX
push 1
push esi
call fcn.10210940
mov eax, dword [ebx + 8]
add esp, 0x18
or eax, dword [ebx + 0xc]
je 0x101d0272
movzx eax, word [edi + 0x32]
xor ecx, ecx
mov edx, dword [esp + 0x58]
cmp edx, eax
mov eax, dword [edi + 0x20]
setl cl
push ecx
push dword [eax + edx*4]
mov eax, dword [edi + 0x1c]
movzx eax, byte [eax + edx]
push eax
push str.isiX
push 4
push esi
call fcn.10210940
add esp, 0x18
push 0
push dword [ebp + 0x2c]
mov edx, 0x54
mov ecx, esi
push 1
call fcn.10210cb0
mov edx, dword [esp + 0x64]
add esp, 0xc
mov ecx, dword [esp + 0x54]
inc edx
movzx eax, cx
mov dword [esp + 0x58], edx
cmp edx, eax
jl 0x101d0202
jmp 0x101cf146
test ecx, ecx
je 0x101cf146
push dword [esp + 0x24]
mov edx, ecx
mov ecx, dword [esp + 0x1c]
call fcn.101e8f90
mov edi, eax
add esp, 4
test edi, edi
je 0x101cf146
mov ecx, dword [edi + 0x3c]
mov edx, 0xffff8000
test ecx, ecx
je 0x101d02ed
mov eax, dword [esp + 0x18]
xor edx, edx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x101d02ed
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x101d02e5
mov ecx, ebp
mov dword [ebp + 0x2c], 5
call fcn.101e18f0
mov edi, dword [edi + 8]
xor ebx, ebx
test edi, edi
je 0x101cf146
mov dword [esp + 0x78], 0x1027fda4
mov dword [esp + 0x7c], 0x1027fda8
mov dword [esp + 0x80], 0x1027f708
xor eax, eax
cmp dword [edi + 0x24], eax
setne al
push eax
mov eax, dword [edi + 0x38]
and eax, 3
push dword [esp + eax*4 + 0x7c]
xor eax, eax
cmp byte [edi + 0x36], al
setne al
push eax
push dword [edi]
push ebx
push str.isisi
push 1
push esi
call fcn.10210940
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x101d0323
jmp 0x101cf146
mov edx, dword [esp + 0x18]
xor edi, edi
mov dword [ebp + 0x2c], 3
cmp dword [edx + 0x14], edi
jle 0x101d012b
xor ebx, ebx
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x101d03b3
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
je 0x101d0394
mov eax, 0x1025baf0
jmp 0x101d039a
mov eax, dword [eax + 0xb8]
push eax
push dword [ecx + ebx]
push edi
push 0x1027fdb4
push 1
push esi
call fcn.10210940
mov edx, dword [esp + 0x30]
add esp, 0x18
inc edi
add ebx, 0x10
cmp edi, dword [edx + 0x14]
jl 0x101d0377
jmp 0x101cf146
mov edx, dword [esp + 0x18]
xor ebx, ebx
mov dword [ebp + 0x2c], 2
mov edi, dword [edx + 0x1b4]
test edi, edi
je 0x101d012b
nop dword [eax]
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x1027fe3c
push 1
push esi
call fcn.10210940
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x101d03e0
jmp 0x101cf146
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x18]
shr ebx, 5
mov dword [ebp + 0x2c], 6
and ebx, 1
mov ebp, 0x10321110
nop dword [eax + eax]
mov edi, dword [ebp]
test edi, edi
je 0x101d043d
push ebx
push 1
mov edx, edi
mov ecx, esi
call fcn.101d1f10
mov edi, dword [edi + 0x24]
add esp, 8
test edi, edi
jne 0x101d0427
add ebp, 4
cmp ebp, 0x1032116c
jl 0x101d0420
mov edx, dword [esp + 0x18]
mov edi, dword [edx + 0x1a4]
test edi, edi
je 0x101d012b
nop word [eax + eax]
mov edx, dword [edi + 8]
mov ecx, esi
push ebx
push 0
call fcn.101d1f10
mov edi, dword [edi]
add esp, 8
test edi, edi
jne 0x101d0460
jmp 0x101cf146
mov edx, dword [esp + 0x18]
mov dword [ebp + 0x2c], 1
mov edi, dword [edx + 0x188]
test edi, edi
je 0x101d012b
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x1027d580
push 1
push esi
call fcn.10210940
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x101d0494
jmp 0x101cf146
mov edi, 0x1025e8b0
nop word [eax + eax]
push dword [edi]
push 0x1027d580
push 1
push esi
call fcn.10210940
add edi, 0x10
add esp, 0x10
cmp edi, 0x1025ece0
jl 0x101d04c0
jmp 0x101cf146
test ecx, ecx
je 0x101cf146
push dword [esp + 0x24]
mov edx, ecx
mov ecx, dword [esp + 0x1c]
call fcn.101e8f90
add esp, 4
mov dword [esp + 0x64], eax
test eax, eax
je 0x101cf146
cmp byte [eax + 0x2b], 0
jne 0x101cf146
mov edi, dword [eax + 0x30]
test edi, edi
je 0x101cf146
mov ecx, dword [eax + 0x3c]
mov edx, 0xffff8000
test ecx, ecx
je 0x101d0548
mov eax, dword [esp + 0x18]
xor edx, edx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x101d0548
nop dword [eax]
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x101d0540
mov eax, dword [ebp + 0x74]
test eax, eax
mov dword [ebp + 0x2c], 8
cmovne ebp, eax
mov dword [esp + 0x58], 0
mov ecx, ebp
call fcn.101e1930
xor eax, eax
nop dword [eax + eax]
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x101d062a
lea ebp, [edi + 0x24]
nop
movzx eax, byte [edi + 0x19]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x101d058c
jmp dword [eax*4 + 0x101d1dcc]
mov ecx, str.SET_NULL
jmp 0x101d05b4
mov ecx, str.SET_DEFAULT
jmp 0x101d05b4
mov ecx, str.CASCADE
jmp 0x101d05b4
mov ecx, str.RESTRICT
jmp 0x101d05b4
mov ecx, str.NO_ACTION
movzx eax, byte [edi + 0x1a]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x101d05c0
jmp dword [eax*4 + 0x101d1ddc]
mov eax, str.SET_NULL
jmp 0x101d05e8
mov eax, str.SET_DEFAULT
jmp 0x101d05e8
mov eax, str.CASCADE
jmp 0x101d05e8
mov eax, str.RESTRICT
jmp 0x101d05e8
mov eax, str.NO_ACTION
push str.NONE
push ecx
mov ecx, dword [ebp]
push eax
push dword [ebp + 4]
mov eax, dword [esp + 0x74]
add ecx, ecx
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [edi + 8]
push ebx
push dword [esp + 0x74]
push str.iissssss
push 1
push esi
call fcn.10210940
inc ebx
add esp, 0x2c
add ebp, 8
cmp ebx, dword [edi + 0x14]
jl 0x101d0580
mov eax, dword [esp + 0x58]
mov edi, dword [edi + 4]
inc eax
mov dword [esp + 0x58], eax
test edi, edi
jne 0x101d0570
jmp 0x101cf146
mov eax, dword [ebp + 0x2c]
mov edx, dword [esp + 0x18]
lea ecx, [eax + 1]
add eax, 5
mov dword [esp + 0x30], eax
mov dword [ebp + 0x2c], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + ecx + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x101d012b
nop dword [eax]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x101d0693
push dword [esp + 0x24]
xor edx, edx
push ecx
mov ecx, ebp
call fcn.101e8dd0
mov edx, dword [esp + 0x20]
add esp, 8
mov edi, eax
xor eax, eax
jmp 0x101d0698
mov edi, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x50], eax
mov dword [esp + 0x40], edi
test edi, edi
je 0x101d0af2
cmp byte [edi + 0x2b], 0
jne 0x101d0af2
cmp dword [edi + 0x30], 0
je 0x101d0af2
mov ecx, dword [edi + 0x3c]
mov ebx, 0xffff8000
test ecx, ecx
je 0x101d06dc
mov eax, dword [edx + 0x10]
xor ebx, ebx
add eax, 0xc
cmp dword [eax], ecx
je 0x101d06dc
lea eax, [eax + 0x10]
inc ebx
cmp dword [eax], ecx
jne 0x101d06d4
mov eax, dword [edx + 0x10]
mov ecx, ebx
shl ecx, 4
mov edx, ebx
mov dword [esp + 0x5c], ecx
mov eax, dword [ecx + eax]
mov ecx, ebp
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x74]
test eax, eax
cmovne ecx, eax
call fcn.101e1930
cmp ebx, 1
je 0x101d072c
mov eax, dword [ebp]
mov ecx, dword [esp + 0x5c]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x101d072c
push dword [edi]
mov edx, ebx
mov ecx, ebp
push 0
push dword [edi + 0x14]
call fcn.101e99b0
add esp, 0xc
movsx eax, word [edi + 0x22]
add eax, dword [esp + 0x30]
cmp eax, dword [ebp + 0x2c]
jle 0x101d073c
mov dword [ebp + 0x2c], eax
push 0x70
push edi
push ebx
xor edx, edx
mov ecx, ebp
call fcn.101d8020
mov edi, dword [edi]
add esp, 0xc
mov edx, 0x75
mov ecx, esi
push 0
push dword [esp + 0x48]
push 0
call fcn.10210cb0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push edi
call fcn.1020fd40
mov edi, dword [esp + 0x48]
add esp, 8
mov ecx, 1
mov dword [esp + 0x4c], ecx
mov eax, dword [edi + 0x30]
mov dword [esp + 0x58], eax
test eax, eax
je 0x101d0873
push dword [esp + 0x24]
mov edx, dword [eax + 8]
mov ecx, dword [esp + 0x1c]
call fcn.101e8f90
mov edi, eax
add esp, 4
test edi, edi
je 0x101d0853
mov dword [esp + 0x28], 0
cmp ebx, 1
je 0x101d07e1
mov ecx, dword [ebp]
mov eax, dword [esp + 0x5c]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ecx + eax + 4]
cmp byte [eax + 9], 0
je 0x101d07e1
push dword [edi]
mov edx, ebx
mov ecx, ebp
push 0
push dword [edi + 0x14]
call fcn.101e99b0
add esp, 0xc
push 0
lea eax, [esp + 0x2c]
mov edx, edi
push eax
push dword [esp + 0x60]
mov ecx, ebp
call fcn.101da860
add esp, 0xc
test eax, eax
jne 0x101cf146
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x101d081c
mov edx, dword [esp + 0x4c]
mov ecx, ebp
push 0x70
push edi
push ebx
call fcn.101d8020
add esp, 0xc
jmp 0x101d0853
push ebx
push dword [eax + 0x2c]
mov edx, 0x70
mov ecx, esi
push dword [esp + 0x54]
call fcn.10210cb0
mov edx, dword [esp + 0x34]
add esp, 0xc
mov edi, dword [ebp + 8]
mov ecx, ebp
call fcn.101e0e90
test eax, eax
je 0x101d0853
push 0xfffffffffffffff8
mov edx, eax
mov ecx, edi
call fcn.1020fd00
add esp, 4
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x4c]
inc ecx
mov dword [esp + 0x4c], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x58], eax
test eax, eax
jne 0x101d0790
mov edi, dword [esp + 0x40]
cmp dword [ebp + 0x28], ecx
jge 0x101d087b
mov dword [ebp + 0x28], ecx
push 0
push 0
push 0
mov edx, 0x23
mov ecx, esi
call fcn.10210cb0
mov ebx, dword [edi + 0x30]
add esp, 0xc
mov dword [esp + 0x54], eax
mov dword [esp + 0x38], 1
mov dword [esp + 0x2c], ebx
test ebx, ebx
je 0x101d0ace
nop dword [eax + eax]
push dword [esp + 0x24]
mov edx, dword [ebx + 8]
mov ecx, dword [esp + 0x1c]
call fcn.101e8f90
xor edx, edx
mov dword [esp + 0x68], eax
xor ecx, ecx
mov dword [esp + 0x2c], edx
add esp, 4
mov dword [esp + 0x3c], ecx
test eax, eax
je 0x101d08f6
lea ecx, [esp + 0x3c]
mov edx, eax
push ecx
lea ecx, [esp + 0x2c]
push ecx
push ebx
mov ecx, ebp
call fcn.101da860
mov edx, dword [esp + 0x34]
add esp, 0xc
mov ecx, dword [esp + 0x3c]
dec dword [ebp + 0x38]
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x14]
add eax, dword [esp + 0x30]
cmp eax, dword [ebp + 0x2c]
jle 0x101d090f
mov dword [ebp + 0x2c], eax
mov eax, dword [ebx + 0x14]
xor edi, edi
mov dword [esp + 0x58], eax
test eax, eax
jle 0x101d0991
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
add edx, 0x24
mov dword [esp + 0x5c], edx
nop dword [eax + eax]
lea eax, [ecx + edi*4]
test ecx, ecx
jne 0x101d0939
mov eax, edx
mov eax, dword [eax]
mov ecx, esi
mov edx, dword [esp + 0x40]
push ebx
push eax
push 0
call fcn.101f3430
add esp, 0xc
mov edx, 0x32
mov ecx, esi
push 0
push dword [esp + 0x50]
push ebx
call fcn.10210cb0
mov eax, dword [esp + 0x38]
inc edi
mov edx, dword [esp + 0x68]
add esp, 0xc
add edx, 8
inc ebx
mov dword [esp + 0x5c], edx
mov ebp, dword [eax + 0x14]
mov dword [esp + 0x58], ebp
cmp edi, ebp
jge 0x101d0985
mov ecx, dword [esp + 0x3c]
jmp 0x101d0930
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x48]
mov ebx, dword [esp + 0x2c]
test edx, edx
je 0x101d09fd
mov ecx, dword [esp + 0x18]
call fcn.101d7f70
push 0
push dword [ebx + 0x14]
mov edx, 0x60
mov ecx, esi
push dword [esp + 0x38]
mov edi, eax
call fcn.10210cb0
add esp, 0xc
mov edx, eax
mov ecx, esi
push dword [esp + 0x58]
push edi
call fcn.1020fd40
push dword [esp + 0x38]
mov edi, dword [ebx + 0x14]
mov edx, 0x1c
push dword [esp + 0x58]
mov ecx, esi
push dword [esp + 0x48]
call fcn.10210cb0
mov ecx, dword [esi]
add esp, 0x14
cmp byte [ecx + 0x57], 0
jne 0x101d0a39
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edi
jmp 0x101d0a39
cmp dword [esp + 0x64], 0
je 0x101d0a39
mov eax, dword [esi + 0x6c]
mov edx, 0x1d
push dword [esp + 0x30]
add eax, 2
mov ecx, esi
push eax
push dword [esp + 0x40]
call fcn.10210cb0
add esp, 0xc
mov edx, 8
mov ecx, esi
push 0
push dword [esp + 0x50]
push 0
call fcn.10210cb0
add esp, 0xc
mov edi, dword [esp + 0x40]
mov edx, 0x87
mov eax, dword [esp + 0x44]
mov ecx, esi
inc eax
push 0
test byte [edi + 0x1c], 0x80
push eax
mov eax, 0x4b
push 0
cmovne edx, eax
call fcn.10210cb0
mov edi, dword [esp + 0x44]
add esp, 0xc
lea eax, [edi - 1]
push eax
push dword [ebx + 8]
mov eax, dword [esp + 0x4c]
push 0x1027fe54
add eax, 2
push eax
push esi
call fcn.10210940
add esp, 0x14
mov edx, 0x54
mov ecx, esi
push 0
push 4
push dword [esp + 0x4c]
call fcn.10210cb0
mov edx, dword [esp + 0x58]
add esp, 0xc
mov ecx, esi
call fcn.10210470
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x101d0ab6
mov ecx, dword [esp + 0x18]
call fcn.102371f0
mov ebx, dword [ebx + 4]
inc edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x2c], ebx
test ebx, ebx
jne 0x101d08b0
mov eax, dword [esp + 0x54]
push 0
inc eax
mov edx, 0x26
push eax
push 0
mov ecx, esi
call fcn.10210cb0
mov edx, dword [esp + 0x60]
add esp, 0xc
mov ecx, esi
call fcn.102100d0
mov eax, dword [esp + 0x50]
test eax, eax
je 0x101cf146
mov edx, dword [esp + 0x18]
jmp 0x101d0670
test ecx, ecx
je 0x101cf146
push 0
mov edx, 1
call fcn.101d2590
mov ecx, dword [esp + 0x1c]
xor edx, edx
add esp, 4
test al, al
setne dl
call fcn.101dace0
jmp 0x101cf146
mov ebx, dword [esp + 0x20]
xor eax, eax
mov edi, dword [esp + 0x1c]
or ecx, 0xffffffff
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x34]
movzx eax, byte [eax]
mov al, byte [eax + 0x1025d320]
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x9c]
cmp dword [eax], 0
mov dword [ebp + 0x2c], 6
cmove ebx, ecx
mov ecx, 0x64
mov dword [esp + 0x20], ebx
mov dword [esp + 0x4c], ecx
test edi, edi
je 0x101d0bc4
lea edx, [esp + 0x4c]
mov ecx, edi
call fcn.10232c50
test eax, eax
je 0x101d0b98
mov ecx, dword [esp + 0x4c]
test ecx, ecx
jg 0x101d0bc4
mov ecx, 0x64
mov dword [esp + 0x4c], ecx
jmp 0x101d0bc4
test ebx, ebx
js 0x101d0bac
mov eax, dword [esp + 0x18]
mov ecx, ebx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
jmp 0x101d0bae
xor eax, eax
push eax
push edi
xor edx, edx
mov ecx, ebp
call fcn.101e8dd0
mov ecx, dword [esp + 0x54]
add esp, 8
mov dword [esp + 0x38], eax
push 0
dec ecx
mov edx, 0x47
push 1
push ecx
mov ecx, esi
call fcn.10210cb0
mov edi, dword [esp + 0x24]
xor edx, edx
add esp, 0xc
mov dword [esp + 0x30], edx
cmp dword [edi + 0x14], edx
jle 0x101d1670
nop dword [eax]
xor eax, eax
test ebx, ebx
js 0x101d0bfe
cmp edx, ebx
jne 0x101d165c
mov eax, dword [ebp + 0x74]
mov ecx, ebp
test eax, eax
cmovne ecx, eax
call fcn.101e1930
mov edx, dword [esp + 0x30]
xor ecx, ecx
mov eax, dword [edi + 0x10]
shl edx, 4
mov dword [esp + 0x64], edx
mov eax, dword [eax + edx + 0xc]
mov dword [esp + 0x5c], eax
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x101d1654
mov edx, dword [esp + 0x38]
mov esi, ecx
mov edi, dword [ebx + 8]
test edx, edx
je 0x101d0c41
cmp edx, edi
jne 0x101d0c68
test byte [edi + 0x1c], 0x80
lea eax, [ecx + 1]
cmovne eax, ecx
xor edx, edx
mov ecx, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x101d0c5f
mov eax, dword [eax + 0x14]
inc ecx
inc edx
test eax, eax
jne 0x101d0c56
cmp edx, esi
cmovg esi, edx
mov edx, dword [esp + 0x38]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x101d0c36
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x2c]
test ecx, ecx
je 0x101d1654
lea eax, [ecx + 1]
test edx, edx
push ebx
cmove eax, ecx
mov ecx, dword [esp + 0x1c]
lea eax, [eax*4 + 4]
push eax
call fcn.10236dd0
mov edi, eax
add esp, 8
test edi, edi
je 0x101d1670
xor edx, edx
cmp dword [esp + 0x38], edx
je 0x101d0cb3
lea edx, [ebx + 1]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x5c]
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x101d0cf9
mov ebp, dword [esp + 0x38]
mov ecx, dword [ebx + 8]
test ebp, ebp
je 0x101d0ccd
cmp ebp, ecx
jne 0x101d0cef
test byte [ecx + 0x1c], 0x80
jne 0x101d0cda
mov eax, dword [ecx + 0x14]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x101d0cef
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x101d0ce1
mov ebx, dword [ebx]
test ebx, ebx
jne 0x101d0cc2
mov ebp, dword [esp + 0x48]
mov eax, dword [esp + 0x54]
mov dword [edi], edx
add eax, 8
mov ecx, dword [ebp + 0x2c]
cmp ecx, eax
push 1
cmovle ecx, eax
mov byte [ebp + 0x13], 0
push edx
mov dword [ebp + 0x2c], ecx
mov edx, 0x9b
push 2
mov ecx, esi
mov dword [ebp + 0x1c], 0
call fcn.10210cb0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0xfffffffffffffff2
push edi
call fcn.1020fd40
mov eax, dword [esi + 0x6c]
add esp, 8
test eax, eax
jle 0x101d0d54
mov ecx, dword [esp + 0x30]
movzx edx, cl
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
push 0
push 0
push 2
mov edx, 0x32
mov ecx, esi
call fcn.10210cb0
mov edx, dword [esp + 0x24]
add esp, 0xc
mov ebx, eax
mov eax, dword [esp + 0x64]
mov ecx, dword [edx + 0x10]
push dword [ecx + eax]
push str._in_database__s__n
push edx
call fcn.10234930
add esp, 0xc
mov edx, 0x75
mov ecx, esi
mov edi, eax
push 0
push 3
push 0
call fcn.10210cb0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0xfffffffffffffffa
push edi
call fcn.1020fd40
push 3
push 3
push 2
mov edx, 0x6f
mov ecx, esi
call fcn.10210cb0
add esp, 0x14
mov ecx, esi
call fcn.101d1df0
mov edx, ebx
mov ecx, esi
call fcn.102100d0
mov eax, dword [esp + 0x5c]
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x64], ebx
test ebx, ebx
je 0x101d1654
nop dword [eax]
nop word [eax + eax]
mov ebx, dword [ebx + 8]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x60], 0
mov dword [esp + 0x44], 0xffffffff
cmp byte [ebx + 0x2b], 0
jne 0x101d1642
mov eax, dword [esp + 0x38]
test eax, eax
je 0x101d0e21
cmp eax, ebx
jne 0x101d1642
test byte [ebx + 0x1c], 0x80
jne 0x101d0e31
mov dword [esp + 0x24], 0
jmp 0x101d0e54
mov ecx, dword [ebx + 8]
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x101d0e54
nop dword [eax]
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x101d0e50
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x101d0e40
mov dword [esp + 0x24], ecx
lea eax, [esp + 0x58]
mov edx, ebx
push eax
lea eax, [esp + 0x44]
mov ecx, ebp
push eax
push 0
push 1
push 0
push 0x70
call fcn.101d3930
push 0
push 7
push 0
mov edx, 0x47
mov ecx, esi
call fcn.10210cb0
mov edi, dword [ebx + 8]
add esp, 0x24
test edi, edi
je 0x101d0eac
mov ebx, 8
push 0
push ebx
push 0
mov edx, 0x47
mov ecx, esi
call fcn.10210cb0
mov edi, dword [edi + 0x14]
add esp, 0xc
inc ebx
test edi, edi
jne 0x101d0e90
push 0
push 0
push dword [esp + 0x48]
mov edx, 0x23
mov ecx, esi
call fcn.10210cb0
add esp, 0xc
mov edx, 0x56
mov ecx, esi
push 0
push 1
push 7
call fcn.10210cb0
mov edi, dword [esp + 0x34]
add esp, 0xc
cmp byte [esp + 0x17], 0x71
mov dword [esp + 0x78], eax
je 0x101d0f19
movsx ecx, word [edi + 0x24]
mov edx, 0x5e
dec ecx
push 3
push ecx
push dword [esp + 0x48]
mov ecx, esi
call fcn.10210cb0
mov eax, dword [esi + 0x6c]
add esp, 0xc
test eax, eax
jle 0x101d0f19
lea ecx, [eax + eax*4]
mov edx, 0x80
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
movzx edx, word [edi + 0x1e]
xor ecx, ecx
and edx, 1
mov dword [esp + 0x50], ecx
xor eax, eax
mov dword [esp + 0x3c], edx
cmp ax, word [edi + 0x22]
jge 0x101d1132
mov dword [esp + 0x54], eax
nop word [eax + eax]
mov ebx, dword [edi + 4]
add ebx, eax
movsx eax, word [edi + 0x20]
mov dword [esp + 0x70], ebx
cmp ecx, eax
je 0x101d1118
test byte [ebx + 4], 0xf
jne 0x101d0f63
test edx, edx
je 0x101d1118
test edx, edx
je 0x101d0f73
dec dword [ebp + 0x38]
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x5c], eax
jmp 0x101d0f7b
mov dword [esp + 0x5c], 0
push 3
push ecx
push dword [esp + 0x48]
mov edx, edi
mov ecx, esi
call fcn.101f3430
mov edx, dword [esi + 0x6c]
add esp, 0xc
mov eax, dword [esi]
lea ecx, [edx + edx*4]
shl ecx, 2
cmp byte [eax + 0x57], 0
je 0x101d0fa6
mov eax, 0x103210d8
jmp 0x101d0fae
mov eax, dword [esi + 0x68]
add eax, 0xffffffec
add eax, ecx
cmp byte [eax], 0x5e
jne 0x101d0fc4
test edx, edx
jle 0x101d0fc4
mov eax, dword [esi + 0x68]
mov edx, 0x80
mov word [eax + ecx - 0x12], dx
test byte [ebx + 4], 0xf
je 0x101d105e
push 0
push 0
push 3
mov edx, 0x33
mov ecx, esi
call fcn.10210cb0
add esp, 0xc
mov dword [esp + 0x6c], eax
push dword [ebx]
push dword [edi]
push str.NULL_value_in__s._s
push dword [esp + 0x24]
call fcn.10234930
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
mov edi, eax
call fcn.10210cb0
add esp, 0x1c
mov edx, eax
mov ecx, esi
push 0xfffffffffffffffa
push edi
call fcn.1020fd40
add esp, 8
cmp dword [esp + 0x3c], 0
je 0x101d1048
mov eax, dword [ebx + 4]
and al, 0xf0
cmp al, 0x10
je 0x101d1048
push 0
push dword [esp + 0x60]
mov edx, 8
mov ecx, esi
push 0
call fcn.10210cb0
add esp, 0xc
jmp 0x101d104f
mov ecx, esi
call fcn.101d1df0
mov edx, dword [esp + 0x6c]
mov ecx, esi
call fcn.102100d0
mov edi, dword [esp + 0x28]
test dword [edi + 0x1c], 0x10000
je 0x101d1110
mov eax, dword [ebx + 4]
shr eax, 4
and eax, 0xf
cmp eax, 1
je 0x101d1110
movsx eax, byte [eax + 0x10260977]
mov edx, 0x11
push eax
push 0
push 3
mov ecx, esi
call fcn.10210cb0
mov ecx, dword [edi + 4]
add esp, 0xc
mov ebx, eax
mov eax, dword [esp + 0x54]
push dword [ecx + eax]
mov ecx, dword [esp + 0x74]
push dword [edi]
mov ecx, dword [ecx + 4]
shr ecx, 4
and ecx, 0xf
push dword [ecx*4 + 0x1031cf0c]
push str.non__s_value_in__s._s
push dword [esp + 0x28]
call fcn.10234930
add esp, 0x14
mov edx, 0x75
mov ecx, esi
mov edi, eax
push 0
push 3
push 0
call fcn.10210cb0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0xfffffffffffffffa
push edi
call fcn.1020fd40
mov edx, dword [esp + 0x64]
add esp, 8
mov ecx, esi
call fcn.10210470
mov ecx, esi
call fcn.101d1df0
mov edx, ebx
mov ecx, esi
call fcn.102100d0
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x3c]
movsx eax, word [edi + 0x22]
inc ecx
add dword [esp + 0x54], 0x10
cmp ecx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x50], ecx
jl 0x101d0f40
mov edx, dword [edi + 0x10]
test edx, edx
je 0x101d1246
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0x20]
and eax, 0x200
or eax, 0
jne 0x101d1246
push eax
mov ecx, ebx
call fcn.101f7220
add esp, 4
mov edx, eax
cmp byte [ebx + 0x57], 0
mov dword [esp + 0x54], edx
jne 0x101d123b
mov ebx, dword [ebp + 0x38]
dec ebx
mov dword [esp + 0x5c], ebx
lea eax, [ebx - 1]
mov dword [ebp + 0x38], eax
mov eax, dword [esp + 0x40]
inc eax
mov dword [ebp + 0x34], eax
mov edi, dword [edx]
dec edi
test edi, edi
jle 0x101d11c2
mov esi, dword [esp + 0x5c]
lea ebx, [edi*4 + 2]
add ebx, edi
lea ebx, [edx + ebx*4]
nop word [eax + eax]
push 0
push esi
push dword [ebx]
push ebp
call fcn.101f1020
dec edi
lea ebx, [ebx - 0x14]
add esp, 0x10
test edi, edi
jg 0x101d11a0
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x54]
push 0x10
lea eax, [ebx - 1]
push eax
push dword [edx + 8]
push ebp
call fcn.101f1420
mov edx, ebx
mov ecx, esi
call fcn.10210470
mov eax, dword [esp + 0x38]
mov dword [ebp + 0x34], 0
push dword [eax]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0x30]
call fcn.10234930
add esp, 0x1c
mov edx, 0x75
mov ecx, esi
mov edi, eax
push 0
push 3
push 0
call fcn.10210cb0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0xfffffffffffffffa
push edi
call fcn.1020fd40
add esp, 8
mov ecx, esi
call fcn.101d1df0
lea edx, [ebx - 1]
mov ecx, esi
call fcn.10210470
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x18]
test edx, edx
je 0x101d1246
mov ecx, ebx
call fcn.101f6740
cmp byte [esp + 0x17], 0x71
je 0x101d151d
mov ebx, dword [edi + 8]
mov dword [esp + 0x3c], 0
test ebx, ebx
je 0x101d151d
mov eax, dword [esp + 0x24]
mov edi, dword [ebp + 0x38]
dec edi
mov dword [ebp + 0x38], edi
cmp eax, ebx
je 0x101d150e
push dword [esp + 0x44]
lea eax, [esp + 0x78]
mov edx, ebx
push dword [esp + 0x64]
mov ecx, ebp
push eax
push 0
push 0
push dword [esp + 0x54]
call fcn.101dea20
mov ecx, dword [esp + 0x54]
mov edx, 0x56
push 0
add ecx, 8
mov dword [esp + 0x60], eax
push 1
push ecx
mov ecx, esi
mov dword [esp + 0x84], ebx
call fcn.10210cb0
movzx eax, word [ebx + 0x34]
add esp, 0x24
mov dword [esp + 0x70], eax
mov edx, 0x1c
mov eax, dword [esp + 0x58]
mov ecx, esi
add eax, dword [esp + 0x3c]
push dword [esp + 0x44]
push edi
push eax
call fcn.10210cb0
mov ecx, dword [esi]
add esp, 0xc
mov dword [esp + 0x6c], eax
cmp byte [ecx + 0x57], 0
jne 0x101d12ff
mov ecx, dword [esi + 0x68]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x70]
mov byte [ecx + edx*4 + 1], 0xfd
mov dword [ecx + edx*4 + 0x10], eax
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.10210cb0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push str.row
call fcn.1020fd40
push 3
push 3
push 7
mov edx, 0x6f
mov ecx, esi
call fcn.10210cb0
add esp, 0x14
mov edx, 0x75
mov ecx, esi
push 0
push 4
push 0
call fcn.10210cb0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push str._missing_from_index
call fcn.1020fd40
push 3
push 3
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.10210cb0
mov edi, dword [ebx]
add esp, 0x14
mov edx, 0x75
mov ecx, esi
push 0
push 4
push 0
call fcn.10210cb0
add esp, 0xc
mov dword [esp + 0x54], eax
mov edx, eax
mov ecx, esi
push 0
push edi
call fcn.1020fd40
push 3
push 3
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.10210cb0
add esp, 0x14
mov ecx, esi
call fcn.101d1df0
mov edx, dword [esp + 0x6c]
mov ecx, esi
mov dword [esp + 0x50], eax
call fcn.102100d0
cmp byte [ebx + 0x36], 0
je 0x101d14ef
dec dword [ebp + 0x38]
xor edi, edi
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x5c], eax
xor eax, eax
cmp ax, word [ebx + 0x32]
jae 0x101d1428
mov ebp, dword [esp + 0x5c]
mov eax, dword [ebx + 4]
movsx ecx, word [eax + edi*2]
test ecx, ecx
js 0x101d1402
mov eax, dword [esp + 0x28]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
jne 0x101d141b
mov eax, dword [esp + 0x44]
mov edx, 0x32
push 0
add eax, edi
mov ecx, esi
push ebp
push eax
call fcn.10210cb0
add esp, 0xc
movzx eax, word [ebx + 0x32]
inc edi
cmp edi, eax
jl 0x101d13e7
mov ebp, dword [esp + 0x48]
mov eax, dword [esp + 0x58]
mov edx, 0x26
add eax, dword [esp + 0x3c]
mov ecx, esi
push 0
push 0
push eax
call fcn.10210cb0
add esp, 0xc
mov edx, 8
mov ecx, esi
mov edi, eax
push 0
push dword [esp + 0x60]
push 0
call fcn.10210cb0
add esp, 0xc
mov edx, edi
mov ecx, esi
call fcn.102100d0
movzx eax, word [ebx + 0x32]
mov edx, 0x28
push dword [esp + 0x44]
mov edi, dword [esp + 0x60]
mov ecx, esi
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x5c]
add eax, dword [esp + 0x40]
push edi
push eax
call fcn.10210cb0
mov ecx, dword [esi]
add esp, 0xc
cmp byte [ecx + 0x57], 0
jne 0x101d14aa
mov edx, dword [esp + 0x70]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.10210cb0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push str.non_unique_entry_in_index
call fcn.1020fd40
push 0
push dword [esp + 0x60]
mov edx, 8
mov ecx, esi
push 0
call fcn.10210cb0
add esp, 0x14
mov edx, edi
mov ecx, esi
call fcn.10210470
mov edx, dword [esp + 0x50]
mov ecx, esi
call fcn.102100d0
mov edx, dword [esp + 0x74]
test edx, edx
je 0x101d150a
mov ecx, dword [ebp + 8]
call fcn.10210470
mov eax, dword [esp + 0x24]
mov ebx, dword [ebx + 0x14]
inc dword [esp + 0x3c]
test ebx, ebx
jne 0x101d1268
mov edi, dword [esp + 0x78]
mov edx, 0x26
push 0
push edi
push dword [esp + 0x48]
mov ecx, esi
call fcn.10210cb0
add esp, 0xc
lea edx, [edi - 1]
mov ecx, esi
call fcn.102100d0
cmp byte [esp + 0x17], 0x71
je 0x101d1642
push 0
push 2
push 0
mov edx, 0x75
mov ecx, esi
call fcn.10210cb0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push str.wrong__of_entries_in_index
call fcn.1020fd40
mov eax, dword [esp + 0x30]
add esp, 8
xor ebp, ebp
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x101d163e
mov eax, dword [esp + 0x24]
nop dword [eax]
cmp eax, ebx
je 0x101d1632
mov eax, dword [esp + 0x58]
mov edx, 0x62
push 0
add eax, ebp
mov ecx, esi
push 3
push eax
call fcn.10210cb0
add esp, 0xc
lea eax, [ebp + 8]
mov edx, 0x35
mov ecx, esi
push 3
push 0
push eax
call fcn.10210cb0
mov ecx, dword [esi + 0x6c]
add esp, 0xc
mov dword [esp + 0x78], eax
test ecx, ecx
jle 0x101d15e4
lea edx, [ecx + ecx*4]
mov eax, 0x90
mov ecx, dword [esi + 0x68]
mov word [ecx + edx*4 - 0x12], ax
mov edi, dword [ebx]
mov edx, 0x75
push 0
push 4
push 0
mov ecx, esi
call fcn.10210cb0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push edi
call fcn.1020fd40
push 3
push 2
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.10210cb0
add esp, 0x14
mov ecx, esi
call fcn.101d1df0
mov edx, dword [esp + 0x78]
mov ecx, esi
call fcn.102100d0
mov eax, dword [esp + 0x24]
mov ebx, dword [ebx + 0x14]
inc ebp
test ebx, ebx
jne 0x101d1590
mov ebp, dword [esp + 0x48]
mov ebx, dword [esp + 0x64]
mov ebx, dword [ebx]
mov dword [esp + 0x64], ebx
test ebx, ebx
jne 0x101d0df0
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
inc edx
mov dword [esp + 0x30], edx
mov edi, eax
cmp edx, dword [eax + 0x14]
jl 0x101d0bf0
push 0
push 0x1025cd50
mov edx, 7
mov ecx, esi
call fcn.102101f0
mov edi, eax
add esp, 8
test edi, edi
je 0x101d16b4
mov ecx, 1
sub ecx, dword [esp + 0x4c]
mov dword [edi + 8], ecx
mov ecx, 0xb
mov byte [edi + 0x29], 0xff
mov dword [edi + 0x38], 0x1027fe58
mov byte [edi + 0x65], 0xff
call fcn.1019b950
mov dword [edi + 0x74], eax
mov eax, dword [esi]
mov ecx, 0x103210d8
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
jne 0x101d16c7
mov ecx, dword [esi + 0x68]
lea eax, [edx - 2]
mov dword [ecx + 0xc], eax
jmp 0x101cf146
test ecx, ecx
jne 0x101d16ff
mov ecx, ebp
call fcn.101cdf70
test eax, eax
jne 0x101cf146
mov eax, dword [ebp]
mov ecx, esi
movzx edx, byte [eax + 0x54]
mov edx, dword [edx*8 + 0x1025b6e0]
call fcn.101d21d0
jmp 0x101cf146
mov edx, dword [esp + 0x18]
test byte [edx + 0x18], 0x40
jne 0x101d012b
mov eax, dword [str.UTF8]
mov esi, 0x1025b6e0
test eax, eax
je 0x101d177e
nop dword [eax + eax]
mov edx, eax
call fcn.10233820
test eax, eax
je 0x101d173b
mov eax, dword [esi + 8]
add esi, 8
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x101d1720
jmp 0x101d177a
mov cl, byte [esi + 4]
mov edx, 2
movzx eax, cl
test cl, cl
mov ecx, dword [esp + 0x18]
cmovne edx, eax
push 0
push 0x1025cd44
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], dl
mov byte [ecx + 0x54], dl
call fcn.101e0750
mov edx, dword [esp + 0x20]
add esp, 8
mov dword [edx + 8], eax
cmp dword [esi], 0
jne 0x101d012b
mov ecx, dword [esp + 0x1c]
push ecx
push str.unsupported_encoding:__s
push ebp
call fcn.102339b0
add esp, 0xc
jmp 0x101cf146
mov eax, dword [esi + 0x9c]
mov ebp, dword [esp + 0x20]
bts eax, ebp
mov edi, dword [ebx + 8]
mov dword [esi + 0x9c], eax
cmp ebp, 1
je 0x101d17b6
mov edx, ebp
mov ecx, esi
call fcn.1020f8e0
cmp dword [esp + 0x1c], 0
je 0x101d180e
test byte [ebx + 5], 8
jne 0x101d180e
push 0
push 0x1025c920
mov edx, 2
mov ecx, esi
call fcn.102101f0
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x6c]
mov esi, eax
mov dword [esp + 0x6c], 0
add esp, 8
mov dword [esi + 4], ebp
mov dword [esi + 0x18], ebp
mov dword [esi + 0x1c], edi
call fcn.10232c50
mov ecx, dword [esp + 0x64]
mov eax, 1
mov dword [esi + 0x20], ecx
mov word [esi + 0x16], ax
jmp 0x101cf146
push 0
push 0x1025d444
mov edx, 3
mov ecx, esi
call fcn.102101f0
add esp, 8
mov ecx, esi
mov dword [eax + 4], ebp
mov dword [eax + 0x18], ebp
mov dword [eax + 0x20], edi
call fcn.102103d0
jmp 0x101cf146
xor edi, edi
mov dword [ebp + 0x2c], 1
cmp edi, 0x24
ja 0x101d1850
mov ebx, dword [edi*4 + 0x1025fef0]
jmp 0x101d1852
xor ebx, ebx
inc edi
mov ecx, esi
test ebx, ebx
je 0x101d182f
push 0
push 1
push 0
mov edx, 0x75
call fcn.10210cb0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push ebx
call fcn.1020fd40
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.10210cb0
add esp, 0x14
jmp 0x101d1842
mov eax, dword [esp + 0x9c]
mov ebx, 0xc
cmp dword [eax], 0
cmovne ebx, dword [esp + 0x20]
xor edi, edi
test ecx, ecx
je 0x101d18eb
mov edx, str.full
call fcn.10233820
test eax, eax
jne 0x101d18bc
lea edi, [eax + 1]
jmp 0x101d18eb
mov ecx, dword [esp + 0x1c]
mov edx, str.restart
call fcn.10233820
test eax, eax
jne 0x101d18d3
lea edi, [eax + 2]
jmp 0x101d18eb
mov ecx, dword [esp + 0x1c]
mov edx, str.truncate
call fcn.10233820
test eax, eax
mov eax, 3
cmove edi, eax
push 1
push edi
push ebx
mov edx, 3
mov dword [ebp + 0x2c], 3
mov ecx, esi
call fcn.10210cb0
add esp, 0xc
push 0
push 3
jmp 0x101cf684
test ecx, ecx
je 0x101d1943
lea edx, [esp + 0x64]
mov dword [esp + 0x64], 0
call fcn.10232c50
mov eax, dword [esp + 0x64]
test eax, eax
jle 0x101d1933
push eax
push 0x1019afa0
jmp 0x101d1937
push 0
push 0
push dword [esp + 0x20]
call sym.WMCommon.dll_sqlite3_wal_hook
add esp, 0xc
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x110], 0x1019afa0
jne 0x101cf2ff
mov eax, dword [eax + 0x114]
mov ecx, esi
cdq
push edx
push eax
call fcn.101d2250
add esp, 8
jmp 0x101cf146
push dword [esp + 0x18]
call sym.WMCommon.dll_sqlite3_db_release_memory
jmp 0x101cf143
test ecx, ecx
je 0x101d19a5
lea edx, [esp + 0x64]
mov dword [esp + 0x64], 0
call fcn.10232c50
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x5c], ecx
test cl, 2
je 0x101cf146
jmp 0x101d19ad
mov dword [esp + 0x5c], 0xfffe
mov eax, dword [ebp + 0x28]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x64], eax
inc eax
cmp dword [esp + 0x24], 0
mov dword [ebp + 0x28], eax
je 0x101d19c9
mov dword [esp + 0x58], edi
jmp 0x101d19dd
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x58], eax
cmp edi, eax
jg 0x101d1b58
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x58]
cmp edi, 1
je 0x101d1b44
mov eax, dword [ebp + 0x74]
mov ecx, ebp
test eax, eax
mov edx, edi
cmovne ecx, eax
call fcn.101e1930
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 0x10]
mov eax, dword [eax + ecx + 0xc]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x101d1b3c
nop dword [eax]
mov edi, dword [ebx + 8]
test dword [edi + 0x1c], 0x100
je 0x101d1b2e
mov ax, word [edi + 0x26]
add ax, 0x2e
movzx ecx, ax
mov eax, dword [edi + 8]
mov dword [esp + 0x78], ecx
test eax, eax
je 0x101d1a53
test byte [eax + 0x38], 0x80
je 0x101d1a9d
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x101d1a46
test cx, cx
je 0x101d1a9d
mov edx, dword [esp + 0x64]
mov ecx, ebp
push 0x70
push edi
push dword [esp + 0x28]
call fcn.101d8020
mov eax, dword [esp + 0x84]
add esp, 0xc
mov ecx, dword [esp + 0x5c]
mov edx, 0x20
cwde
and ecx, 1
add ecx, 2
push eax
mov eax, dword [esi + 0x6c]
add eax, ecx
mov ecx, esi
push eax
push dword [esp + 0x6c]
call fcn.10210cb0
mov edx, dword [esp + 0x24]
add esp, 0xc
push dword [edi]
mov eax, dword [edx + 0x10]
mov ecx, dword [esp + 0x2c]
push dword [eax + ecx]
push str.ANALYZE___w_.__w_
push edx
call fcn.10234930
add esp, 0x10
mov edi, eax
test byte [esp + 0x5c], 1
mov dword [esp + 0x78], edi
je 0x101d1b06
mov ecx, ebp
call fcn.101efe10
mov edi, eax
mov edx, 0x75
push 0
push edi
push 0
mov ecx, esi
call fcn.10210cb0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0xfffffffffffffffa
push dword [esp + 0x7c]
call fcn.1020fd40
push 0
push 1
push edi
mov edx, 0x54
mov ecx, esi
call fcn.10210cb0
add esp, 0x14
jmp 0x101d1b2a
push 0
push 0
push 0
mov edx, 0x94
mov ecx, esi
call fcn.10210cb0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0xfffffffffffffffa
push edi
call fcn.1020fd40
add esp, 8
mov edx, dword [esp + 0x18]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x101d1a20
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x28]
inc edi
add eax, 0x10
mov dword [esp + 0x20], edi
mov dword [esp + 0x28], eax
cmp edi, ecx
jle 0x101d19e5
push 0
push 0
push 0
mov edx, 0xa6
mov ecx, esi
call fcn.10210cb0
add esp, 0xc
jmp 0x101cf146
test ecx, ecx
je 0x101d1b93
lea edx, [esp + 0x78]
call fcn.10232de0
test eax, eax
jne 0x101d1b93
push dword [esp + 0x7c]
push dword [esp + 0x7c]
call sym.WMCommon.dll_sqlite3_soft_heap_limit64
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call sym.WMCommon.dll_sqlite3_soft_heap_limit64
push edx
push eax
mov ecx, esi
call fcn.101d2250
add esp, 0x10
jmp 0x101cf146
test ecx, ecx
je 0x101d1bfb
lea edx, [esp + 0x78]
call fcn.10232de0
test eax, eax
jne 0x101d1bfb
push 0xffffffffffffffff
push 0xffffffffffffffff
call sym.WMCommon.dll_sqlite3_hard_heap_limit64
mov edi, dword [esp + 0x84]
add esp, 8
mov ebx, eax
test edi, edi
jl 0x101d1bfb
mov ecx, dword [esp + 0x78]
jg 0x101d1be1
test ecx, ecx
je 0x101d1bfb
mov eax, ebx
or eax, edx
je 0x101d1bf1
cmp edx, edi
jl 0x101d1bfb
jg 0x101d1bf1
cmp ebx, ecx
jbe 0x101d1bfb
push edi
push ecx
call sym.WMCommon.dll_sqlite3_hard_heap_limit64
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call sym.WMCommon.dll_sqlite3_hard_heap_limit64
push edx
push eax
mov ecx, esi
call fcn.101d2250
add esp, 0x10
jmp 0x101cf146
test ecx, ecx
je 0x101d1c4a
lea edx, [esp + 0x78]
call fcn.10232de0
test eax, eax
jne 0x101d1c4a
cmp dword [esp + 0x7c], eax
jl 0x101d1c4a
mov eax, dword [esp + 0x78]
jg 0x101d1c36
test eax, eax
jb 0x101d1c4a
and eax, 0x7fffffff
push eax
push 0xb
push dword [esp + 0x20]
call sym.WMCommon.dll_sqlite3_limit
add esp, 0xc
push 0xffffffffffffffff
push 0xb
push dword [esp + 0x20]
call sym.WMCommon.dll_sqlite3_limit
add esp, 0xc
cdq
mov ecx, esi
push edx
push eax
call fcn.101d2250
add esp, 8
jmp 0x101cf146
test ecx, ecx
je 0x101d1c9c
lea edx, [esp + 0x78]
call fcn.10232de0
test eax, eax
jne 0x101d1c9c
cmp dword [esp + 0x7c], eax
jl 0x101d1c9c
mov eax, dword [esp + 0x78]
jg 0x101d1c8d
test eax, eax
jb 0x101d1c9c
mov ecx, dword [esp + 0x18]
and eax, 0x7fffffff
mov dword [ecx + 0x1ec], eax
mov eax, dword [esp + 0x18]
mov ecx, esi
mov eax, dword [eax + 0x1ec]
cdq
push edx
push eax
call fcn.101d2250
add esp, 8
jmp 0x101cf146
test ecx, ecx
je 0x101d1d04
lea edx, [esp + 0x64]
mov dword [esp + 0x64], 0
call fcn.10232c50
mov edi, dword [esp + 0x64]
test edi, edi
jle 0x101d1cf4
mov eax, dword [esp + 0x18]
push eax
push 0x1019b8f0
push eax
call sym.WMCommon.dll_sqlite3_busy_handler
mov ebx, dword [esp + 0x24]
add esp, 0xc
mov dword [ebx + 0x1f0], edi
jmp 0x101d1d08
push 0
push 0
push dword [esp + 0x20]
call sym.WMCommon.dll_sqlite3_busy_handler
add esp, 0xc
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0x1f0]
mov ecx, esi
cdq
push edx
push eax
call fcn.101d2250
add esp, 8
jmp 0x101cf14a