Function at 0x101b48b0
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2d4
mov eax, dword [0x10291210]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov ebx, dword [esi + 0x68]
mov edx, dword [esi + 0x58]
push edi
mov edi, dword [esi]
mov cl, byte [edi + 0x4e]
xor eax, eax
push esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x20], edi
mov byte [ebp - 0x65], al
mov byte [ebp - 0x54], cl
mov dword [ebp - 0x84], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x24], edx
call fcn.1013b790
xor eax, eax
add esp, 4
cmp dword [edi + 0x168], eax
je 0x101b4928
mov ecx, dword [edi + 0x170]
mov eax, dword [esi + 0xb4]
xor edx, edx
div ecx
sub ecx, edx
mov dword [ebp - 0x8c], ecx
xor eax, eax
jmp 0x101b4932
mov dword [ebp - 0x8c], 0xffffffff
cmp dword [esi + 0x28], 7
je 0x101b5fdb
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x78], eax
mov dword [edi + 0x1bc], eax
mov eax, dword [edi + 0x120]
test eax, eax
jne 0x101b9bf2
mov esi, dword [esi + 0x24]
lea ecx, [esi + esi*2]
lea ebx, [ebx + ecx*8]
mov cl, byte [ebx]
inc dword [ebp - 0xb0]
movzx eax, cl
mov dword [ebp - 0x18], ebx
cmp eax, 0xaa
ja case.0x101b497b.85
jmp dword [eax*4 + 0x101b9dac]
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
lea ecx, [eax + edx*8]
mov edx, 4
mov word [ecx + 8], dx
mov edx, ebx
sub edx, dword [ebp - 0x50]
mov eax, 0x2aaaaaab
imul edx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x101b709f
mov ebx, dword [ebx + 4]
mov ecx, dword [ebp - 0x24]
lea eax, [ebx + ebx*4]
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
lea edx, [ecx + ecx*2]
mov ecx, dword [ebp - 0x50]
lea edx, [ecx + edx*8]
mov ecx, 0x80
mov ebx, edx
mov dword [ebp - 0x18], edx
mov word [eax + 8], cx
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
lea ecx, [eax + edx*8]
mov eax, dword [ebx + 0xc]
dec eax
cdq
mov dword [ecx + 4], edx
mov edx, 4
mov dword [ecx], eax
mov word [ecx + 8], dx
cmp dword [ebx + 8], 0
jne 0x101b709f
add ebx, 0x18
jmp 0x101b4962
mov ebx, dword [ebx + 4]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x50]
lea eax, [ebx + ebx*4]
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
lea ecx, [ecx + ecx*2]
mov ecx, dword [edx + ecx*8 + 8]
lea ecx, [ecx + ecx*2]
lea edx, [edx + ecx*8 - 0x18]
mov ecx, 0x80
mov ebx, edx
mov dword [ebp - 0x18], edx
mov word [eax + 8], cx
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0x50]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
lea ecx, [eax + edx*8]
mov esi, dword [ecx]
sub ebx, edi
mov edx, 4
mov word [ecx + 8], dx
mov eax, 0x2aaaaaab
imul ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ecx], eax
lea eax, [esi + esi*2]
mov dword [ecx + 4], edx
lea ecx, [edi + eax*8]
mov ebx, ecx
mov dword [ebp - 0x18], ecx
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
test byte [eax + edx*8 + 8], 1
je case.0x101b497b.85
mov edi, dword [ebp - 0x1c]
mov ecx, ebx
sub ecx, dword [ebp - 0x50]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebx + 4], 0
mov dword [ebp - 0x44], eax
jne 0x101b9838
mov esi, dword [edi + 0xc8]
test esi, esi
je 0x101b9838
mov ecx, dword [esi + 4]
mov eax, dword [edi + 0x2c]
dec dword [edi + 0xd0]
mov dword [edi + 0xc8], ecx
mov ecx, dword [ebp - 0x20]
add dword [ecx + 0x68], eax
mov dword [ecx + 0x64], eax
call fcn.1019c7d0
cmp dword [ebx + 8], 4
jne 0x101b4b07
lea edx, [eax + eax*2]
mov eax, dword [edi + 0x68]
mov eax, dword [eax + edx*8 + 8]
dec eax
mov ecx, dword [edi + 0x68]
mov edx, dword [edi + 0x58]
lea eax, [eax + eax*2]
mov dword [ebp - 0x50], ecx
lea ecx, [ecx + eax*8]
mov ebx, ecx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x18], ecx
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebp - 0x1c]
mov eax, ebx
call fcn.10143c80
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebp - 0x1c]
mov eax, ebx
call fcn.10143c80
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebp - 0x1c]
mov eax, ebx
call fcn.10143c80
mov edx, 8
mov word [eax + 8], dx
mov ecx, dword [ebx + 0x10]
fld qword [ecx]
add ebx, 0x18
fstp qword [eax]
jmp 0x101b4962
mov edx, dword [ebp - 0x1c]
mov eax, ebx
call fcn.10143c80
mov edi, dword [ebx + 0x10]
mov esi, eax
mov eax, edi
call fcn.101205f0
cmp byte [ebp - 0x54], 1
mov dword [ebx + 4], eax
je 0x101b4c0a
push 1
push edi
xor eax, eax
or ecx, 0xffffffff
mov edx, esi
call fcn.1016d440
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b72
movzx ecx, byte [ebp - 0x54]
mov eax, esi
call fcn.1016d720
test eax, eax
jne 0x101b5fd8
mov edi, dword [ebp - 0x18]
mov edx, 0x800
or word [esi + 8], dx
mov bl, 0xf9
mov dword [esi + 0x18], eax
cmp byte [edi + 1], bl
jne 0x101b4bf8
mov eax, dword [edi + 0x10]
test eax, eax
je 0x101b4bf8
mov ecx, dword [ebp - 0x20]
call fcn.101364b0
mov byte [edi + 1], bl
mov eax, dword [esi + 0x10]
mov ebx, dword [ebp - 0x18]
mov dword [edi + 0x10], eax
mov ecx, dword [esi + 0xc]
mov dword [edi + 4], ecx
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0x20]
cmp edx, dword [eax + 0x6c]
jg 0x101b8b72
mov byte [ebx], 0x47
mov edx, dword [ebp - 0x1c]
mov eax, ebx
call fcn.10143c80
mov ecx, eax
mov edx, 0xa02
mov word [ecx + 8], dx
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x10], eax
mov edx, dword [ebx + 4]
mov al, byte [ebp - 0x54]
mov dword [ecx + 0xc], edx
mov byte [ecx + 0xa], al
mov eax, dword [ebx + 0xc]
test eax, eax
jle case.0x101b497b.85
mov edi, dword [ebp - 0x24]
lea esi, [eax + eax*4]
movzx eax, word [ebx + 2]
mov edi, dword [edi + esi*8]
cdq
cmp edi, eax
jne case.0x101b497b.85
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + esi*8 + 4]
cmp eax, edx
jne case.0x101b497b.85
mov edx, 0xa10
mov word [ecx + 8], dx
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebp - 0x1c]
mov eax, ebx
call fcn.10143c80
mov esi, dword [ebx + 0xc]
sub esi, dword [ebx + 8]
mov ecx, dword [ebx + 4]
neg ecx
sbb ecx, ecx
and ecx, 0x100
inc ecx
movzx ecx, cx
lea edi, [eax + 0xc]
mov dword [ebp - 0x30], ecx
mov word [eax + 8], cx
mov dword [edi], 0
test esi, esi
jle case.0x101b497b.85
lea ecx, [ecx]
add edi, 0x28
lea eax, [edi - 0xc]
call fcn.10141d20
mov dx, word [ebp - 0x30]
dec esi
mov word [edi - 4], dx
mov dword [edi], 0
test esi, esi
jg 0x101b4cc0
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x24]
lea eax, [eax + eax*4]
mov dx, word [ecx + eax*8 + 8]
lea eax, [ecx + eax*8]
mov ecx, 0xff41
and dx, cx
or dx, 1
mov word [eax + 8], dx
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebp - 0x1c]
mov eax, ebx
call fcn.10143c80
mov edx, dword [ebx + 0x10]
mov ecx, dword [ebx + 4]
mov esi, eax
push 0
push edx
xor eax, eax
mov edx, esi
call fcn.1016d440
mov al, byte [ebp - 0x54]
add esp, 8
mov byte [esi + 0xa], al
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x64]
lea edi, [eax + ecx*8 - 0x28]
mov ecx, edi
call fcn.1011d780
test eax, eax
jne 0x101b8b72
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x24]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x101b4d7b
mov eax, esi
call fcn.10141d20
mov ecx, dword [edi]
mov dword [esi], ecx
mov edx, dword [edi + 4]
mov dword [esi + 4], edx
mov eax, dword [edi + 8]
mov dword [esi + 8], eax
mov ecx, dword [edi + 0xc]
mov dword [esi + 0xc], ecx
mov edx, dword [edi + 0x10]
mov dword [esi + 0x10], edx
mov ax, word [esi + 8]
mov ecx, 0xebff
and ax, cx
mov edx, 0x840
or ax, dx
mov word [esi + 8], ax
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x38], eax
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
lea edx, [ebx + ebx*4]
lea edi, [eax + ecx*8]
lea esi, [eax + edx*8]
mov ebx, edi
mov eax, esi
call fcn.10144010
mov eax, 0x1000
test word [esi + 8], ax
je 0x101b4df5
mov eax, esi
call fcn.10167020
test eax, eax
jne 0x101b5fd8
add edi, 0x28
add esi, 0x28
dec dword [ebp - 0x38]
jne 0x101b4dd2
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x24]
lea eax, [eax + eax*4]
lea edi, [ecx + edx*8]
lea esi, [ecx + eax*8]
push 0x1000
push edi
push esi
call fcn.10143080
mov ecx, 0x1000
add esp, 0xc
test word [esi + 8], cx
je 0x101b4e52
mov eax, esi
call fcn.10167020
test eax, eax
jne 0x101b5fd8
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38]
mov edx, eax
dec eax
mov dword [ebp - 0x38], eax
test edx, edx
je case.0x101b497b.85
add esi, 0x28
add edi, 0x28
jmp 0x101b4e26
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x24]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebx + 8]
push 0x1000
lea eax, [eax + eax*4]
push edx
lea ecx, [ecx + eax*8]
push ecx
call fcn.10143080
add esp, 0xc
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + ecx*8 + 4]
mov ecx, dword [eax + ecx*8]
push edx
push ecx
mov ecx, dword [ebx + 8]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
call fcn.10144050
add esp, 8
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0x24]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0xc]
lea esi, [edi + edx*8]
mov dl, byte [esi + 8]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
movzx eax, word [ecx + 8]
or dl, al
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], eax
test dl, 1
je 0x101b4f09
mov eax, edi
call fcn.10141d20
add ebx, 0x18
jmp 0x101b4962
test al, 0x12
jne 0x101b4f3f
mov eax, dword [ebp - 0x54]
mov edi, dword [ebp - 0x2c]
push 0
push eax
call fcn.10173a10
add esp, 8
test eax, eax
jne 0x101b5fd8
mov ecx, edi
mov dx, word [ecx + 8]
mov edi, dword [ebp - 0x34]
mov eax, 0xfffd
and dx, ax
movzx ecx, dx
mov dword [ebp - 0x38], ecx
jmp 0x101b4f6a
test eax, 0x4000
je 0x101b4f6d
mov esi, ecx
call fcn.1015e190
test eax, eax
jne 0x101b5fd8
mov edx, dword [ebp - 0x2c]
mov ax, word [edx + 8]
mov ecx, 0xfffd
and ax, cx
movzx edx, ax
mov dword [ebp - 0x38], edx
mov esi, dword [ebp - 0x28]
movzx eax, word [esi + 8]
mov dword [ebp - 0x3c], eax
test al, 0x12
jne 0x101b4faa
mov eax, dword [ebp - 0x54]
mov edi, dword [ebp - 0x28]
push 0
push eax
call fcn.10173a10
add esp, 8
test eax, eax
jne 0x101b5fd8
mov ecx, edi
mov dx, word [ecx + 8]
mov edi, dword [ebp - 0x34]
mov eax, 0xfffd
and dx, ax
movzx ecx, dx
mov dword [ebp - 0x3c], ecx
jmp 0x101b4fd3
test eax, 0x4000
je 0x101b4fd6
call fcn.1015e190
test eax, eax
jne 0x101b5fd8
mov edx, dword [ebp - 0x28]
mov ax, word [edx + 8]
mov ecx, 0xfffd
and ax, cx
movzx edx, ax
mov dword [ebp - 0x3c], edx
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [esi + 0xc]
add eax, dword [ecx + 0xc]
cdq
mov ecx, edx
mov edx, dword [ebp - 0x20]
mov ebx, eax
mov eax, dword [edx + 0x6c]
cdq
cmp ecx, edx
jg 0x101b8b72
jl 0x101b4ffd
cmp ebx, eax
ja 0x101b8b72
xor eax, eax
cmp edi, esi
sete al
mov ecx, edi
push eax
lea eax, [ebx + 3]
call fcn.1015b920
add esp, 4
test eax, eax
jne 0x101b5fd8
mov cx, word [edi + 8]
mov edx, 0x3e40
and cx, dx
or cx, 2
mov word [edi + 8], cx
cmp edi, esi
je 0x101b504e
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov edx, dword [edi + 0x10]
push eax
push ecx
push edx
call fcn.100ffb30
mov ax, word [ebp - 0x3c]
add esp, 0xc
mov word [esi + 8], ax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [esi + 0xc]
add eax, dword [edi + 0x10]
push ecx
push edx
push eax
call fcn.100ffb30
mov cx, word [ebp - 0x38]
mov edx, dword [ebp - 0x2c]
mov word [edx + 8], cx
mov eax, dword [edi + 0x10]
mov byte [ebx + eax], 0
mov ecx, dword [edi + 0x10]
mov byte [ebx + ecx + 1], 0
mov edx, dword [edi + 0x10]
mov cl, byte [ebp - 0x54]
mov byte [ebx + edx + 2], 0
mov dword [edi + 0xc], ebx
mov ebx, dword [ebp - 0x18]
add esp, 0xc
mov eax, 0x200
or word [edi + 8], ax
mov byte [edi + 0xa], cl
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0x24]
lea edx, [eax + eax*4]
lea esi, [edi + edx*8]
mov ecx, esi
call fcn.1016cdb0
movzx eax, ax
mov dword [ebp - 0x30], eax
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
lea edi, [edi + ecx*8]
mov ecx, edi
call fcn.1016cdb0
movzx ecx, ax
mov eax, dword [ebx + 0xc]
and cl, byte [ebp - 0x30]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
lea edx, [eax + edx*8]
mov ax, word [edi + 8]
or ax, word [esi + 8]
mov dword [ebp - 0x34], edx
movzx eax, ax
test cl, 4
je 0x101b51f5
mov edx, dword [edi]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x80], edx
mov edx, dword [edi + 4]
mov dword [ebp - 0x7c], edx
movzx edx, byte [ebx]
add edx, 0xffffff97
cmp edx, 3
ja case.default.0x101b5118
jmp dword [edx*4 + 0x101ba058]
push ecx
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.1011fec0
add esp, 0xc
test eax, eax
jne 0x101b51fd
jmp 0x101b51cb
push ecx
push eax
lea edx, [ebp - 0x80]
call fcn.1012cfd0
add esp, 8
test eax, eax
jne 0x101b51fd
jmp 0x101b51cb
push ecx
push eax
lea ecx, [ebp - 0x80]
push ecx
call fcn.1011fda0
add esp, 0xc
test eax, eax
jne 0x101b51fd
jmp 0x101b51cb
mov edx, eax
or edx, ecx
je 0x101b52e7
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x101b518b
cmp dword [ebp - 0x80], 0
jne 0x101b518b
cmp dword [ebp - 0x7c], 0x80000000
je 0x101b51fd
push ecx
mov ecx, dword [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x7c]
push eax
push ecx
call fcn.10104240
jmp 0x101b51c5
mov edx, eax
or edx, ecx
je 0x101b52e7
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x101b51b6
mov eax, 1
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x7c]
push eax
push ecx
call fcn.101042f0
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x7c]
mov dword [eax], edx
mov dx, word [eax + 8]
mov dword [eax + 4], ecx
mov ecx, 0x3e40
and dx, cx
or dx, 4
mov word [eax + 8], dx
add ebx, 0x18
jmp 0x101b4962
test al, 1
jne 0x101b52e7
mov ecx, esi
call fcn.1013bb50
fstp qword [ebp - 0x48]
mov ecx, edi
call fcn.1013bb50
movzx eax, byte [ebx]
add eax, 0xffffff97
cmp eax, 3
ja case.default.0x101b5219
jmp dword [eax*4 + 0x101ba068]
fadd qword [ebp - 0x48]
jmp 0x101b52b0
fsub qword [ebp - 0x48]
jmp 0x101b52b0
fmul qword [ebp - 0x48]
jmp 0x101b52b0
fld qword [ebp - 0x48]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x101b52e3
fdivp st(1)
jmp 0x101b52b0
mov edx, esi
fstp st(0)
call fcn.1013bb70
mov dword [ebp - 0x14c], edx
mov edx, edi
mov esi, eax
call fcn.1013bb70
mov ecx, dword [ebp - 0x14c]
mov edi, esi
or edi, ecx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
je 0x101b52e7
mov edi, esi
and edi, ecx
cmp edi, 0xffffffff
jne 0x101b5295
mov dword [ebp - 0x14c], 0
mov ecx, dword [ebp - 0x14c]
mov esi, 1
push ecx
push esi
push edx
push eax
call fcn.101042f0
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], edx
fild qword [ebp - 0x1b0]
sub esp, 8
fst qword [esp]
call fcn.10120610
add esp, 8
test eax, eax
jne 0x101b52e5
mov eax, dword [ebp - 0x34]
mov dx, word [eax + 8]
fstp qword [eax]
mov ecx, 0x3e40
and dx, cx
or dx, 8
mov word [eax + 8], dx
add ebx, 0x18
jmp 0x101b4962
fstp st(1)
fstp st(0)
mov eax, dword [ebp - 0x34]
call fcn.10141d20
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
test eax, eax
je case.0x101b497b.85
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
push 0
push 0
lea eax, [eax + edx*8]
call fcn.10144050
add esp, 8
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x24]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 8]
lea esi, [ecx + edx*8]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov cl, byte [edx + 8]
or cl, byte [esi + 8]
mov dword [ebp - 0x34], edi
test cl, 1
je 0x101b535a
mov eax, edi
call fcn.10141d20
add ebx, 0x18
jmp 0x101b4962
call fcn.1013bb70
mov edi, edx
mov edx, esi
mov dword [ebp - 0xa8], eax
call fcn.1013bb70
mov esi, eax
mov al, byte [ebx]
cmp al, 0x65
jne 0x101b5383
and dword [ebp - 0xa8], esi
and edi, edx
jmp 0x101b546e
cmp al, 0x66
jne 0x101b5394
or dword [ebp - 0xa8], esi
or edi, edx
jmp 0x101b546e
mov ecx, esi
or ecx, edx
je 0x101b546e
test edx, edx
jg 0x101b53cc
jl 0x101b53a8
test esi, esi
jae 0x101b53c1
mov cl, 0xcf
sub cl, al
mov al, cl
cmp edx, 0xffffffff
jl 0x101b53cc
jg 0x101b53ba
cmp esi, 0xffffffc0
jbe 0x101b53cc
neg esi
adc edx, 0
neg edx
test edx, edx
jl 0x101b53fd
jg 0x101b53cc
cmp esi, 0x40
jb 0x101b53fd
test edi, edi
jg 0x101b53f0
jl 0x101b53db
cmp dword [ebp - 0xa8], 0
jae 0x101b53f0
cmp al, 0x67
je 0x101b53f0
or eax, 0xffffffff
cdq
mov dword [ebp - 0xa8], eax
mov edi, edx
jmp 0x101b546e
xor eax, eax
cdq
mov dword [ebp - 0xa8], eax
mov edi, edx
jmp 0x101b546e
cmp al, 0x67
mov eax, dword [ebp - 0xa8]
mov edx, edi
mov ecx, esi
jne 0x101b541e
call fcn.101020d0
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
jmp 0x101b545c
call fcn.10100a80
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
test edi, edi
jg 0x101b545c
jl 0x101b543e
cmp dword [ebp - 0xa8], 0
jae 0x101b545c
mov ecx, 0x40
sub ecx, esi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.101020d0
or dword [ebp - 0xc8], eax
or dword [ebp - 0xc4], edx
mov edx, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xa8]
mov dx, word [eax + 8]
mov dword [eax], ecx
mov ecx, 0x3e40
and dx, cx
or dx, 4
mov dword [eax + 4], edi
mov word [eax + 8], dx
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
lea esi, [eax + edx*8]
call fcn.1013fa70
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x24]
lea ecx, [eax + eax*4]
movzx eax, word [edx + ecx*8 + 8]
lea esi, [edx + ecx*8]
test al, 4
jne 0x101b5508
test al, 8
jne 0x101b54e5
test al, 2
je 0x101b54ea
push 1
mov eax, esi
call fcn.1013b5e0
add esp, 4
jmp 0x101b54ea
call fcn.10129eb0
movzx eax, word [esi + 8]
test al, 4
jne 0x101b5508
cmp dword [ebx + 8], 0
jne 0x101b709f
mov dword [ebp - 0x14], 0x14
jmp 0x101b8b89
and eax, 0x3e40
or eax, 4
mov word [esi + 8], ax
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x24]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x24
lea esi, [ecx + eax*8]
je case.0x101b497b.85
call fcn.1013fa30
add ebx, 0x18
jmp 0x101b4962
mov ebx, dword [ebx + 4]
mov eax, dword [ebp - 0x24]
lea edx, [ebx + ebx*4]
lea esi, [eax + edx*8]
mov ecx, 0x4000
test word [esi + 8], cx
je 0x101b5567
call fcn.1015e190
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov edx, dword [ebp - 0x18]
mov bl, byte [ebp - 0x54]
mov cl, byte [edx + 8]
mov eax, esi
call fcn.1017ebd0
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0x24]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [ebx + 0xc]
lea ecx, [eax + eax*4]
movzx edx, word [esi + ecx*8 + 8]
lea esi, [esi + ecx*8]
movzx ecx, word [edi + 8]
mov eax, edx
or eax, ecx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x34], edx
test al, 1
je 0x101b5647
movzx eax, word [ebx + 2]
test al, al
jns 0x101b5600
mov al, dl
mov cl, al
and cl, byte [ebp - 0x28]
test cl, 1
je 0x101b55ed
test edx, 0x100
jne 0x101b55ed
movzx ecx, byte [ebx]
movzx edx, byte [ecx + 0x1026de9c]
xor eax, eax
jmp 0x101b56c0
test al, 1
mov eax, 0
sete al
lea eax, [eax + eax - 1]
jmp 0x101b57e8
test al, 0x20
je 0x101b5637
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
mov cx, word [eax + edx*8 + 8]
lea eax, [eax + edx*8]
mov edx, 0x3e40
and cx, dx
or cx, 1
mov dword [ebp - 0x84], 1
mov word [eax + 8], cx
add ebx, 0x18
jmp 0x101b4962
test al, 0x10
jne 0x101b709f
add ebx, 0x18
jmp 0x101b4962
mov cl, byte [ebx + 2]
and cl, 0x47
cmp cl, 0x43
jl 0x101b5752
test al, 2
je 0x101b568d
mov al, byte [ebp - 0x28]
and al, 0x2e
cmp al, 2
jne 0x101b5676
push 0
mov eax, edi
call fcn.1013b5e0
movzx ecx, word [esi + 8]
add esp, 4
mov dword [ebp - 0x34], ecx
mov dl, byte [ebp - 0x34]
and dl, 0x2e
cmp dl, 2
jne 0x101b568d
push 0
mov eax, esi
call fcn.1013b5e0
add esp, 4
mov al, byte [edi + 8]
and al, byte [esi + 8]
test al, 4
je 0x101b57d8
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov edx, dword [edi]
cmp eax, dword [edi + 4]
jl 0x101b5740
jg 0x101b56b1
cmp ecx, edx
jbe 0x101b572d
mov eax, 1
movzx ecx, byte [ebx]
movzx edx, byte [ecx + 0x1026dea4]
mov cx, word [ebp - 0x34]
mov dword [ebp - 0x2c], edx
mov dx, word [ebp - 0x28]
mov word [esi + 8], cx
mov word [edi + 8], dx
movzx edx, word [ebx + 2]
test dl, 0x20
je 0x101b5810
mov ecx, dword [ebx + 8]
mov esi, dword [ebp - 0x24]
lea ecx, [ecx + ecx*4]
lea ecx, [esi + ecx*8]
mov dword [ebp - 0x84], eax
test dl, 8
je 0x101b5708
xor edx, edx
cmp byte [ebx], 0x35
sete dl
cmp edx, dword [ebp - 0x2c]
je case.0x101b497b.85
mov ax, word [ecx + 8]
mov edx, 0x3e40
and ax, dx
or ax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x2c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
add ebx, 0x18
jmp 0x101b4962
cmp eax, dword [edi + 4]
jg 0x101b55dc
jl 0x101b5740
cmp ecx, edx
jae 0x101b55dc
movzx ecx, byte [ebx]
movzx edx, byte [ecx + 0x1026de94]
or eax, 0xffffffff
jmp 0x101b56c0
cmp cl, 0x42
jne 0x101b57d8
mov al, byte [ebp - 0x28]
test al, 2
jne 0x101b57a3
test al, 0x2c
je 0x101b57a3
mov ecx, dword [ebp - 0x54]
mov edi, dword [ebp - 0x2c]
push 1
push ecx
call fcn.10173a10
mov ax, word [ebp - 0x28]
mov ecx, edi
mov dx, word [ecx + 8]
xor dx, ax
mov edi, 0x3e40
and dx, di
xor ax, dx
add esp, 8
mov word [ebp - 0x28], ax
cmp ecx, esi
jne 0x101b57a3
mov eax, dword [ebp - 0x28]
or eax, 2
movzx ecx, ax
mov dword [ebp - 0x34], ecx
mov al, byte [ebp - 0x34]
test al, 2
jne 0x101b57d8
test al, 0x2c
je 0x101b57d8
mov edx, dword [ebp - 0x54]
push 1
push edx
mov edi, esi
call fcn.10173a10
mov ax, word [ebp - 0x34]
mov cx, word [esi + 8]
xor cx, ax
mov edx, 0x3e40
and cx, dx
add esp, 8
xor ax, cx
mov word [ebp - 0x34], ax
mov edi, dword [ebx + 0x10]
mov edx, dword [ebp - 0x2c]
mov eax, esi
call fcn.10184e40
mov edi, dword [ebp - 0x2c]
test eax, eax
jns 0x101b57fb
movzx ecx, byte [ebx]
movzx edx, byte [ecx + 0x1026de94]
jmp 0x101b56c0
jne 0x101b56b6
movzx ecx, byte [ebx]
movzx edx, byte [ecx + 0x1026de9c]
jmp 0x101b56c0
cmp dword [ebp - 0x2c], 0
jne 0x101b709f
add ebx, 0x18
jmp 0x101b4962
cmp dword [ebp - 0x84], 0
jne 0x101b709f
add ebx, 0x18
jmp 0x101b4962
test byte [ebx + 2], 1
jne 0x101b5844
xor esi, esi
mov dword [ebp - 0x38], esi
jmp 0x101b584f
mov eax, dword [ebx - 8]
add eax, 4
mov dword [ebp - 0x38], eax
mov esi, eax
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x4c], eax
xor eax, eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x28], eax
test ecx, ecx
jle case.0x101b497b.85
add edx, 0x14
mov dword [ebp - 0x3c], edx
jmp 0x101b5883
mov esi, dword [ebp - 0x38]
test esi, esi
je 0x101b588f
mov ecx, dword [esi + eax*4]
mov dword [ebp - 0x2c], ecx
jmp 0x101b5892
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x3c]
mov edi, dword [edx]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x28]
movzx esi, byte [edx + ecx]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x4c]
add eax, ecx
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
lea edx, [eax + edx*8]
mov eax, dword [ebp - 0x18]
add eax, ecx
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
lea eax, [eax + ecx*8]
and esi, 1
call fcn.10184e40
mov dword [ebp - 0x84], eax
test eax, eax
jne 0x101b58ed
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x3c], 4
inc eax
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x30]
jl 0x101b5880
add ebx, 0x18
jmp 0x101b4962
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x28]
test byte [ecx + edx], 2
je 0x101b5929
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x2c]
lea ecx, [edi + edx]
mov edx, dword [ebp - 0x24]
lea ecx, [ecx + ecx*4]
test byte [edx + ecx*8 + 8], 1
jne 0x101b5921
mov ecx, dword [ebp - 0x4c]
add ecx, edi
lea ecx, [ecx + ecx*4]
test byte [edx + ecx*8 + 8], 1
je 0x101b5929
neg eax
mov dword [ebp - 0x84], eax
test esi, esi
je case.0x101b497b.85
mov edx, dword [ebp - 0x84]
neg edx
mov dword [ebp - 0x84], edx
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x50]
test eax, eax
jns 0x101b596b
mov ebx, dword [ebx + 4]
lea eax, [ebx + ebx*2]
lea edx, [ecx + eax*8 - 0x18]
mov ebx, edx
mov dword [ebp - 0x18], edx
add ebx, 0x18
jmp 0x101b4962
jne 0x101b5984
mov ebx, dword [ebx + 8]
lea eax, [ebx + ebx*2]
lea edx, [ecx + eax*8 - 0x18]
mov ebx, edx
mov dword [ebp - 0x18], edx
add ebx, 0x18
jmp 0x101b4962
mov ebx, dword [ebx + 0xc]
lea eax, [ebx + ebx*2]
lea edx, [ecx + eax*8 - 0x18]
mov ebx, edx
mov dword [ebp - 0x18], edx
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0x24]
lea eax, [eax + eax*4]
push 2
lea ecx, [edi + eax*8]
call fcn.1013fae0
mov esi, eax
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
add esp, 4
push 2
lea ecx, [edi + ecx*8]
call fcn.1013fae0
add esp, 4
cmp byte [ebx], 0x2c
jne 0x101b59d8
lea edx, [eax + esi*2]
movzx eax, byte [esi + edx + 0x1026dee0]
jmp 0x101b59e3
lea eax, [eax + esi*2]
movzx eax, byte [esi + eax + 0x1026deec]
mov ecx, dword [ebx + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edi + ecx*8]
cmp eax, 2
jne 0x101b5a0d
mov dx, word [ecx + 8]
mov eax, 0x3e40
and dx, ax
or dx, 1
mov word [ecx + 8], dx
add ebx, 0x18
jmp 0x101b4962
cdq
mov dword [ecx + 4], edx
mov dx, word [ecx + 8]
mov dword [ecx], eax
mov eax, 0x3e40
and dx, ax
or dx, 4
mov word [ecx + 8], dx
add ebx, 0x18
jmp 0x101b4962
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0x24]
lea edx, [eax + eax*4]
push ecx
lea ecx, [esi + edx*8]
call fcn.1013fae0
xor eax, dword [ebx + 0x10]
add esp, 4
cdq
push edx
push eax
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
call fcn.10144050
add esp, 8
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x24]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 8], 1
mov eax, dword [ebx + 8]
lea ecx, [edx + ecx*8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
jne 0x101b9173
push 0
call fcn.1013fae0
add esp, 4
neg eax
sbb eax, eax
inc eax
cdq
push edx
push eax
mov eax, esi
call fcn.10144050
add esp, 8
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x24]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, esi
lea edi, [ecx + edx*8]
call fcn.10141d20
test byte [edi + 8], 1
jne case.0x101b497b.85
mov ecx, 4
mov edx, edi
mov word [esi + 8], cx
call fcn.1013bb70
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xc8], 0
je 0x101b5b61
mov ecx, ebx
sub ecx, dword [eax + 0x68]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1c]
mov edi, eax
mov esi, eax
mov eax, dword [edx + 0xc8]
mov eax, dword [eax + 0x18]
and edi, 7
mov edx, 1
mov ecx, edi
shl edx, cl
shr esi, 3
test byte [esi + eax], dl
jne 0x101b709f
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xc8]
add esi, dword [eax + 0x18]
mov eax, dword [ebp - 0x1c]
mov dl, 1
shl dl, cl
or byte [esi], dl
mov eax, dword [eax + 0x68]
mov ecx, dword [eax + 4]
mov dword [ebx + 4], ecx
add ebx, 0x18
jmp 0x101b4962
mov ecx, dword [eax + 0x68]
mov edx, dword [ecx + 4]
cmp edx, dword [ebx + 4]
je 0x101b709f
mov eax, ecx
mov ecx, dword [eax + 4]
mov dword [ebx + 4], ecx
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x24]
lea eax, [eax + eax*4]
push edx
lea ecx, [ecx + eax*8]
call fcn.1013fae0
add esp, 4
test eax, eax
jne 0x101b709f
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x24]
xor edx, edx
cmp dword [ebx + 0xc], edx
lea eax, [eax + eax*4]
sete dl
lea ecx, [ecx + eax*8]
push edx
call fcn.1013fae0
add esp, 4
test eax, eax
je 0x101b709f
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
test byte [eax + edx*8 + 8], 1
jne 0x101b709f
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x24]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 8], 1
je 0x101b709f
add ebx, 0x18
jmp 0x101b4962
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + eax*4]
cmp byte [eax + 2], 0
je case.0x101b497b.85
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x24]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
call fcn.10141d20
jmp 0x101b709f
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x60]
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x9c], ecx
lea ecx, [ebp - 0x9c]
lea edx, [ebp - 0x100]
mov dword [ebp - 0x100], eax
call fcn.1019f820
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [ebp - 0x100]
mov edx, dword [edi + 0x48]
mov ecx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
mov dword [ebp - 0x28], edx
mov edx, dword [edi + 0x1c]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x38], eax
cmp edx, dword [esi + 0x20]
je 0x101b5d55
cmp byte [edi + 2], 0
je 0x101b5cc8
cmp byte [edi], 3
jne 0x101b7efb
mov eax, dword [edi + 0x20]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [eax + 0xc]
lea ebx, [edi + 0x54]
mov dword [ebx], ecx
mov dword [edi + 0x50], ecx
mov ecx, dword [eax + 0x10]
mov dword [edi + 0x4c], ecx
jmp 0x101b5cfa
mov esi, dword [edi + 0x28]
mov ecx, esi
mov dword [ebp - 0x30], esi
call fcn.1012aa40
mov edx, dword [esi + 0x2c]
mov ecx, dword [ebp - 0x30]
lea ebx, [edi + 0x54]
mov esi, ebx
mov dword [edi + 0x50], edx
call fcn.1012aa10
mov ecx, dword [ebp - 0x20]
mov dword [edi + 0x4c], eax
mov eax, dword [edi + 0x50]
cmp eax, dword [ecx + 0x6c]
ja 0x101b8b72
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x20]
mov esi, dword [ebp - 0x28]
mov dword [edi + 0x1c], eax
mov ecx, dword [edi + 0x4c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x101b5d1b
movzx ecx, al
mov dword [esi], ecx
mov eax, 1
jmp 0x101b5d23
call fcn.1012d0d0
movzx eax, al
movzx edx, al
mov dword [edi + 0x30], edx
xor eax, eax
mov word [edi + 0x3a], ax
mov ecx, dword [ebx]
cmp ecx, dword [esi]
jae 0x101b5de0
mov dword [edi + 0x4c], eax
mov dword [ebx], eax
mov esi, dword [esi]
cmp esi, 0x18003
ja 0x101b5ef3
cmp esi, dword [edi + 0x50]
ja 0x101b5ef3
movzx ecx, word [edi + 0x3a]
mov eax, dword [ebp - 0x9c]
mov esi, dword [ebp - 0x28]
cmp ecx, eax
jg 0x101b5f58
mov edx, dword [edi + 0x30]
cmp edx, dword [esi]
jae 0x101b5f15
cmp dword [edi + 0x4c], 0
jne 0x101b5de3
xor eax, eax
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], eax
mov edx, dword [edi + 0x28]
push eax
mov eax, dword [esi]
lea ecx, [ebp - 0x240]
call fcn.1018c860
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov edx, dword [ebp - 0x230]
jmp 0x101b5de6
mov esi, dword [ebp - 0x28]
mov edx, dword [edi + 0x4c]
movzx ecx, word [edi + 0x3a]
mov eax, dword [esi + ecx*4]
mov ebx, dword [edi + 0x30]
mov dword [ebp - 0x98], eax
mov eax, dword [esi]
add ebx, edx
add eax, edx
mov dword [ebp - 0x3c], edx
lea edx, [edi + ecx*4 + 0x58]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], edx
movzx eax, byte [ebx]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x74], eax
mov dword [edx], eax
cmp eax, 0x80
jae 0x101b5e42
movzx eax, al
movzx eax, byte [eax + 0x1026ddd0]
cdq
inc ebx
add dword [ebp - 0x98], eax
adc dword [ebp - 0x94], edx
jmp 0x101b5e6e
lea esi, [ebp - 0x74]
mov ecx, ebx
call fcn.1012d0d0
mov edx, dword [ebp - 0x2c]
movzx ecx, al
mov eax, dword [ebp - 0x74]
add ebx, ecx
mov dword [edx], eax
call fcn.1011d410
add dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x4c]
adc dword [ebp - 0x94], 0
mov esi, dword [ebp - 0x28]
add dword [ebp - 0x2c], 4
mov edx, dword [ebp - 0x98]
inc ecx
mov dword [ebp - 0x4c], ecx
mov dword [esi + ecx*4], edx
cmp ecx, dword [ebp - 0x9c]
jg 0x101b5e91
cmp ebx, dword [ebp - 0x34]
jb 0x101b5e16
jmp 0x101b5e96
cmp ebx, dword [ebp - 0x34]
jb 0x101b5eaa
cmp ebx, dword [ebp - 0x34]
ja 0x101b5ebb
cmp edx, dword [edi + 0x50]
jne 0x101b5ebb
xor eax, eax
cmp dword [ebp - 0x94], eax
jne 0x101b5ebb
xor eax, eax
cmp dword [ebp - 0x94], eax
jb 0x101b5ec5
ja 0x101b5ebb
cmp edx, dword [edi + 0x50]
jbe 0x101b5ec5
cmp dword [esi], 0
jne 0x101b5ee2
mov ebx, dword [ebp - 0x34]
xor ecx, ecx
sub ebx, dword [ebp - 0x3c]
mov word [edi + 0x3a], cx
mov dword [edi + 0x30], ebx
cmp dword [edi + 0x4c], 0
jne 0x101b5f1c
lea eax, [ebp - 0x240]
call fcn.101431b0
jmp 0x101b5f1c
cmp dword [edi + 0x4c], 0
jne 0x101b5ef3
lea eax, [ebp - 0x240]
call fcn.101431b0
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x101b99cf
lea eax, [eax + eax*2]
lea ecx, [ecx + eax*8 - 0x18]
mov ebx, ecx
mov dword [ebp - 0x18], ecx
add ebx, 0x18
jmp 0x101b4962
mov dword [ebp - 0x74], 0
movzx edx, word [edi + 0x3a]
cmp edx, dword [ebp - 0x9c]
jg 0x101b5f5f
mov eax, dword [ebp - 0x18]
cmp byte [eax + 1], 0xf5
mov eax, dword [ebp - 0x38]
jne 0x101b7efb
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x10]
push 0x800
push edx
push eax
call fcn.10143080
mov ebx, dword [ebp - 0x18]
add esp, 0xc
add ebx, 0x18
jmp 0x101b4962
mov ecx, dword [edi + eax*4 + 0x58]
mov dword [ebp - 0x74], ecx
mov ebx, dword [ebp - 0x38]
mov edx, 0x2400
test word [ebx + 8], dx
je 0x101b5f74
mov eax, ebx
call fcn.10141d20
mov ecx, dword [edi + 0x54]
mov eax, dword [ebp - 0x9c]
cmp ecx, dword [esi + eax*4 + 4]
jb 0x101b603b
mov edi, dword [edi + 0x4c]
mov edx, dword [ebp - 0x74]
add edi, dword [esi + eax*4]
cmp edx, 0xc
jae 0x101b5fa9
mov eax, ebx
mov ecx, edi
call fcn.10129c20
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
lea esi, [edx - 0xc]
mov dl, byte [ebp - 0x54]
shr esi, 1
lea eax, [esi + 2]
mov dword [ebx + 0xc], esi
mov byte [ebx + 0xa], dl
cmp dword [ebx + 0x18], eax
jge 0x101b5ffb
mov ecx, 1
mov word [ebx + 8], cx
push 0
mov ecx, ebx
call fcn.1015b920
add esp, 4
test eax, eax
je 0x101b6001
mov edi, dword [ebp - 0x20]
mov eax, edi
call fcn.10120900
mov esi, dword [ebp - 0x1c]
push str.out_of_memory
call fcn.1015e160
mov dword [ebp - 0x14], 7
jmp 0x101b8b86
mov edx, dword [ebx + 0x14]
mov dword [ebx + 0x10], edx
mov eax, dword [ebx + 0x10]
push esi
push edi
push eax
call fcn.100ffb30
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebp - 0x74]
mov byte [esi + ecx], 0
mov edx, dword [ebx + 0x10]
add esp, 0xc
and eax, 1
mov byte [esi + edx + 1], 0
mov ax, word [eax*2 + 0x1026def8]
mov word [ebx + 8], ax
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov cl, byte [ebp - 0x54]
mov edx, dword [ebp - 0x18]
mov byte [ebx + 0xa], cl
movzx eax, word [edx + 2]
mov edx, dword [ebp - 0x74]
test al, 0xc0
je 0x101b605d
cmp edx, 0xc
jb 0x101b6059
test dl, 1
je 0x101b6068
test al, al
js 0x101b6068
mov eax, edx
call fcn.1011d410
test eax, eax
jne 0x101b607f
mov eax, ebx
mov ecx, 0x1026d528
call fcn.10129c20
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov ecx, dword [ebp - 0x9c]
mov edx, dword [esi + ecx*4]
push edx
mov edx, dword [edi + 0x28]
mov ecx, ebx
call fcn.1018c860
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebx + 0x10]
mov eax, ebx
call fcn.10129c20
mov eax, 0xefff
and word [ebx + 8], ax
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x24]
mov edi, dword [ebx + 0x10]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
mov eax, dword [ebp - 0x54]
push eax
mov al, byte [edi]
mov ecx, esi
call fcn.10179390
add esp, 4
cmp byte [edi], 0x45
jne 0x101b613b
movzx ecx, word [esi + 8]
test cl, 4
je 0x101b613b
mov eax, dword [esi + 4]
mov edx, dword [esi]
mov dword [ebp - 0x180], edx
mov dword [ebp - 0x17c], eax
cmp eax, 0x7fff
jg 0x101b6126
jl 0x101b610e
cmp edx, 0xffffffff
ja 0x101b6126
cmp eax, 0xffff8000
jl 0x101b6126
jg 0x101b611b
test edx, edx
jb 0x101b6126
and ecx, 0xfffb
or ecx, 0x20
jmp 0x101b6137
fild qword [ebp - 0x180]
and ecx, 0xfffb
or ecx, 8
fstp qword [esi]
mov word [esi + 8], cx
inc edi
cmp byte [edi], 0
je case.0x101b497b.85
add esi, 0x28
jmp 0x101b60d1
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x24]
mov edi, dword [ebx + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea edx, [ecx + edx*8]
lea eax, [edx + eax*8 - 0x28]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [eax + 0x93]
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 0xc]
xor esi, esi
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x34], ecx
test edi, edi
je 0x101b61db
add edx, 8
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x3c]
mov al, byte [edi]
push edx
add ecx, 0xfffffff8
call fcn.10179390
add esp, 4
cmp byte [edi], 0x45
jne 0x101b61d1
mov ecx, dword [ebp - 0x3c]
movzx eax, word [ecx]
test al, 4
je 0x101b61d1
and eax, 0xfffb
or eax, 0x20
mov word [ecx], ax
add dword [ebp - 0x3c], 0x28
inc edi
cmp byte [edi], 0
jne 0x101b61a3
mov edi, dword [ebp - 0x30]
add edi, 0x1c
movzx eax, word [edi - 0x14]
test al, 1
je 0x101b61ff
and eax, 0x4000
neg eax
sbb eax, eax
and eax, 0xa
inc dword [ebp - 0x2c]
mov dword [edi], eax
jmp 0x101b63e4
test al, 0x24
je 0x101b6356
mov ecx, dword [edi - 0x18]
mov edx, dword [edi - 0x1c]
mov dword [ebp - 0x178], edx
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x12c], ecx
test ecx, ecx
jg 0x101b6233
jl 0x101b622f
test edx, edx
jae 0x101b6233
not edx
not ecx
inc dword [ebp - 0x2c]
mov dword [ebp - 0x108], edx
test ecx, ecx
ja 0x101b628a
jb 0x101b6247
cmp edx, 0x7f
ja 0x101b6290
mov ecx, dword [ebp - 0x130]
mov eax, ecx
and eax, 1
xor edx, edx
cmp eax, ecx
jne 0x101b6276
cmp edx, dword [ebp - 0x12c]
jne 0x101b6276
cmp dword [ebp - 0x44], 4
jl 0x101b6276
mov eax, dword [ebp - 0x108]
add eax, 8
mov dword [edi], eax
jmp 0x101b63e4
add esi, 1
adc dword [ebp - 0x5c], edx
mov dword [ebp - 0x60], esi
mov dword [edi], 1
jmp 0x101b63e4
mov edx, dword [ebp - 0x108]
test ecx, ecx
ja 0x101b62f9
jb 0x101b629e
cmp edx, 0x7fff
ja 0x101b62b3
add esi, 2
adc dword [ebp - 0x5c], 0
mov dword [ebp - 0x60], esi
mov dword [edi], 2
jmp 0x101b63e4
test ecx, ecx
ja 0x101b62f9
jb 0x101b62c1
cmp edx, 0x7fffff
ja 0x101b62d6
add esi, 3
adc dword [ebp - 0x5c], 0
mov dword [ebp - 0x60], esi
mov dword [edi], 3
jmp 0x101b63e4
test ecx, ecx
ja 0x101b62f9
jb 0x101b62e4
cmp edx, 0x7fffffff
ja 0x101b62f9
add esi, 4
adc dword [ebp - 0x5c], 0
mov dword [ebp - 0x60], esi
mov dword [edi], 4
jmp 0x101b63e4
cmp ecx, 0x7fff
ja 0x101b631d
jb 0x101b6308
cmp edx, 0xffffffff
ja 0x101b631d
add esi, 6
adc dword [ebp - 0x5c], 0
mov dword [ebp - 0x60], esi
mov dword [edi], 5
jmp 0x101b63e4
add esi, 8
adc dword [ebp - 0x5c], 0
mov dword [ebp - 0x60], esi
test al, 0x20
je 0x101b634b
fild qword [ebp - 0x178]
and eax, 0xffdf
or eax, 8
mov word [edi - 0x14], ax
fstp qword [edi - 0x1c]
mov dword [edi], 7
jmp 0x101b63e4
mov dword [edi], 6
jmp 0x101b63e4
test al, 8
je 0x101b636f
inc dword [ebp - 0x2c]
add esi, 8
adc dword [ebp - 0x5c], 0
mov dword [ebp - 0x60], esi
mov dword [edi], 7
jmp 0x101b63e4
mov ecx, dword [edi - 0x10]
mov edx, eax
shr edx, 1
and edx, 1
mov dword [ebp - 0x38], ecx
lea ecx, [edx + ecx*2 + 0xc]
mov dword [ebp - 0x28], ecx
test eax, 0x4000
je 0x101b63c4
mov eax, dword [edi - 0x1c]
lea esi, [edi - 0x1c]
mov edx, ecx
lea ecx, [edx + eax*2]
mov edx, dword [ebp - 0x60]
or edx, dword [ebp - 0x5c]
mov dword [ebp - 0x28], ecx
je 0x101b63b7
call fcn.1015e190
test eax, eax
jne 0x101b5fd8
mov eax, dword [esi]
add dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x18]
jmp 0x101b63c4
cdq
add dword [ebp - 0xc0], eax
adc dword [ebp - 0xbc], edx
mov ecx, dword [ebp - 0x38]
add dword [ebp - 0x60], ecx
mov esi, dword [ebp - 0x28]
push 0
adc dword [ebp - 0x5c], 0
push esi
call fcn.1011ffc0
add esp, 8
add dword [ebp - 0x2c], eax
mov dword [edi], esi
mov esi, dword [ebp - 0x60]
lea edx, [edi - 0x1c]
cmp edx, dword [ebp - 0x4c]
je 0x101b63f4
sub edi, 0x28
jmp 0x101b61e1
cmp dword [ebp - 0x2c], 0x7e
jle 0x101b641e
mov eax, dword [ebp - 0x2c]
cdq
push edx
push eax
call fcn.1011ffc0
mov edi, eax
mov eax, dword [ebp - 0x2c]
add eax, edi
mov dword [ebp - 0x2c], eax
cdq
push edx
push eax
call fcn.1011ffc0
add esp, 0x10
cmp edi, eax
jge 0x101b6421
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x5c]
cdq
add esi, eax
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x18]
adc edi, edx
mov ecx, esi
add ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x134], edx
adc edi, dword [ebp - 0xbc]
mov dword [ebp - 0x44], eax
cdq
mov dword [ebp - 0x26c], edi
cmp edi, edx
jg 0x101b646b
jl 0x101b6460
cmp ecx, eax
ja 0x101b646b
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x14]
mov dword [eax + 0x10], ecx
jmp 0x101b64ad
mov edi, dword [ebp - 0x20]
mov eax, dword [edi + 0x6c]
cdq
mov dword [ebp - 0x268], eax
cmp dword [ebp - 0x26c], edx
jg 0x101b8b72
jl 0x101b648e
cmp ecx, eax
ja 0x101b8b72
cmp dword [ebp - 0x44], esi
jge 0x101b64f0
mov ecx, dword [ebp - 0x34]
push 0
mov eax, esi
call fcn.1015b920
add esp, 4
test eax, eax
jne 0x101b5fdb
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov ecx, 0x10
mov word [eax + 8], cx
mov ecx, dword [ebp - 0xc0]
mov edx, ecx
or edx, dword [ebp - 0xbc]
mov dword [eax + 0xc], esi
je 0x101b64d7
mov dword [eax], ecx
mov ecx, 0x4010
mov word [eax + 8], cx
mov esi, dword [eax + 0x10]
mov eax, dword [ebp - 0x2c]
lea edi, [esi + eax]
cmp eax, 0x80
jae 0x101b6500
mov byte [esi], al
mov eax, 1
jmp 0x101b6516
mov eax, dword [ebp - 0x34]
mov edx, dword [eax + 0x14]
and word [eax + 8], 0x2d
mov dword [eax + 0x10], edx
jmp 0x101b64ad
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x138]
push edx
push eax
call fcn.1012d140
add esp, 8
mov edx, dword [ebp - 0x4c]
movzx ecx, al
add esi, ecx
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x28], eax
cmp eax, 0x80
jae 0x101b653a
mov byte [esi], al
mov eax, 1
jmp 0x101b6548
mov ecx, dword [ebp - 0x28]
push 0
push ecx
call fcn.1012d140
add esp, 8
mov ecx, dword [ebp - 0x28]
movzx edx, al
mov eax, dword [ebp - 0x3c]
add esi, edx
call fcn.1011d3b0
add edi, eax
mov eax, dword [ebp - 0x3c]
add eax, 0x28
mov dword [ebp - 0x3c], eax
cmp eax, dword [ebp - 0x30]
jbe 0x101b6521
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0x1c]
mov ecx, dword [esi + 0x60]
mov edx, dword [ecx + eax*4]
mov eax, dword [edx + 0x28]
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x118]
push ecx
xor edi, edi
push edx
mov dword [ebp - 0x118], edi
mov dword [ebp - 0x114], edi
call fcn.10144640
add esp, 8
mov dword [ebp - 0x14], eax
cmp eax, edi
jne 0x101b8b89
mov eax, dword [ebp - 0x18]
mov edx, esi
call fcn.10143c80
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x114]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x101b92e2
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x44], ebx
test eax, eax
jne 0x101b669b
mov esi, dword [ebp - 0x20]
cmp dword [esi + 0xb8], eax
jg 0x101b9793
mov eax, ebx
call fcn.101205f0
mov ebx, eax
mov eax, dword [esi + 0x1f0]
add eax, dword [esi + 0x1ec]
push eax
push 0
push esi
call fcn.10142760
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
lea ecx, [ebx + 0x21]
push eax
push ecx
mov ecx, esi
call fcn.1014f870
mov edi, eax
add esp, 8
test edi, edi
je 0x101b70af
mov edx, dword [ebp - 0x44]
inc ebx
push ebx
lea eax, [edi + 0x20]
push edx
push eax
mov dword [edi], eax
call fcn.100ffb30
add esp, 0xc
cmp byte [esi + 0x4f], 0
je 0x101b6657
mov byte [esi + 0x4f], 0
mov byte [esi + 0x57], 1
jmp 0x101b665d
inc dword [esi + 0x1ec]
mov eax, dword [esi + 0x1e4]
mov ebx, dword [ebp - 0x18]
mov dword [edi + 0x18], eax
mov ecx, dword [esi + 0x1f8]
mov dword [esi + 0x1e4], edi
mov dword [edi + 8], ecx
mov edx, dword [esi + 0x1fc]
mov dword [edi + 0xc], edx
mov eax, dword [esi + 0x200]
mov dword [edi + 0x10], eax
mov ecx, dword [esi + 0x204]
mov dword [edi + 0x14], ecx
add ebx, 0x18
jmp 0x101b4962
mov edi, dword [ebp - 0x20]
mov esi, dword [edi + 0x1e4]
mov dword [ebp - 0x2c], 0
test esi, esi
je 0x101b66c7
nop
mov edx, dword [esi]
mov eax, ebx
call fcn.101204d0
test eax, eax
je 0x101b66e4
mov esi, dword [esi + 0x18]
inc dword [ebp - 0x2c]
test esi, esi
jne 0x101b66b0
mov esi, dword [ebp - 0x1c]
push ebx
push str.no_such_savepoint:__s
call fcn.1015e160
add esp, 8
mov dword [ebp - 0x14], 1
jmp 0x101b8b89
xor ecx, ecx
cmp dword [edi + 0xb8], ecx
jle 0x101b66f8
cmp dword [ebp - 0x28], 1
je 0x101b97ac
cmp dword [esi + 0x18], ecx
jne 0x101b674f
cmp byte [edi + 0x57], cl
je 0x101b674f
mov eax, 1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x28], eax
jne 0x101b6752
mov ebx, dword [ebp - 0x1c]
push eax
mov eax, ebx
call fcn.10166cb0
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b9d2d
mov eax, ebx
mov byte [edi + 0x4f], 1
call fcn.1019f890
cmp eax, 5
je 0x101b99e1
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x101b67ba
mov byte [edi + 0x4f], 0
jmp 0x101b681b
mov dword [ebp - 0x3c], ecx
mov edx, dword [edi + 0x1ec]
sub edx, dword [ebp - 0x2c]
dec edx
cmp dword [ebp - 0x28], 2
mov dword [ebp - 0x2c], edx
jne 0x101b67c0
mov eax, dword [edi + 0x18]
and eax, 1
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
cmp dword [edi + 0x14], ecx
jle 0x101b67c3
xor eax, eax
cmp dword [ebp - 0x38], eax
sete al
xor ebx, ebx
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [edi + 0x10]
mov eax, dword [ebx + edx + 4]
push ecx
push 0x204
push eax
call fcn.1018ddd0
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov eax, dword [ebp - 0x34]
inc eax
add ebx, 0x10
mov dword [ebp - 0x34], eax
cmp eax, dword [edi + 0x14]
jl 0x101b6783
xor ecx, ecx
jmp 0x101b67c3
mov byte [edi + 0x57], 0
jmp 0x101b6825
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], ecx
cmp dword [edi + 0x14], ecx
jle 0x101b6801
xor ebx, ebx
lea ecx, [ecx]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
mov eax, dword [edi + 0x10]
mov eax, dword [ebx + eax + 4]
push ecx
push edx
call fcn.101938b0
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov eax, dword [ebp - 0x34]
inc eax
add ebx, 0x10
mov dword [ebp - 0x34], eax
cmp eax, dword [edi + 0x14]
jl 0x101b67d0
cmp dword [ebp - 0x38], 0
je 0x101b681b
xor ecx, ecx
mov eax, edi
call fcn.1011d110
mov eax, edi
call fcn.1015d950
or dword [edi + 0x18], 1
cmp dword [ebp - 0x14], 0
jne 0x101b8b89
or ebx, 0xffffffff
cmp dword [edi + 0x1e4], esi
je 0x101b6854
mov eax, dword [edi + 0x1e4]
mov ecx, dword [eax + 0x18]
mov dword [edi + 0x1e4], ecx
mov ecx, edi
call fcn.101364b0
add dword [edi + 0x1ec], ebx
cmp dword [edi + 0x1e4], esi
jne 0x101b6830
cmp dword [ebp - 0x28], 1
jne 0x101b687e
mov edx, dword [esi + 0x18]
mov eax, esi
mov ecx, edi
mov dword [edi + 0x1e4], edx
call fcn.101364b0
cmp dword [ebp - 0x3c], 0
jne 0x101b69f0
add dword [edi + 0x1ec], ebx
jmp 0x101b68b2
cmp dword [ebp - 0x3c], 0
mov eax, dword [esi + 8]
mov dword [edi + 0x1f8], eax
mov ecx, dword [esi + 0xc]
mov dword [edi + 0x1fc], ecx
mov edx, dword [esi + 0x10]
mov dword [edi + 0x200], edx
mov eax, dword [esi + 0x14]
mov dword [edi + 0x204], eax
je 0x101b68b2
cmp dword [ebp - 0x28], 2
jne 0x101b69f0
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
push ecx
push edx
push edi
call fcn.10142760
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebx + 8]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0xcc], 0
test edx, edx
je 0x101b68ff
mov eax, dword [edi + 0x20]
and eax, 0x100000
xor ecx, ecx
or eax, ecx
jne 0x101b9b11
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x101b69bf
lea ecx, [ebp - 0xcc]
push ecx
push edx
push eax
call fcn.10197c50
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b9b1d
mov esi, dword [ebp - 0x1c]
test byte [esi + 0x98], 0x80
je 0x101b69c2
cmp dword [ebx + 8], eax
je 0x101b69c2
cmp byte [edi + 0x4f], al
je 0x101b6959
cmp dword [edi + 0xb4], 1
jle 0x101b69c2
cmp dword [esi + 0x30], 0
jne 0x101b6974
mov edx, dword [edi + 0x1ec]
inc dword [edi + 0x1f0]
add edx, dword [edi + 0x1f0]
mov dword [esi + 0x30], edx
mov eax, dword [esi + 0x30]
dec eax
push eax
push 0
push edi
call fcn.10142760
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b6999
mov eax, dword [esi + 0x30]
mov ecx, dword [ebp - 0x44]
call fcn.1015c0e0
mov dword [ebp - 0x14], eax
mov ecx, dword [edi + 0x1f8]
mov dword [esi + 0x48], ecx
mov edx, dword [edi + 0x1fc]
mov dword [esi + 0x4c], edx
mov eax, dword [edi + 0x200]
mov dword [esi + 0x50], eax
mov ecx, dword [edi + 0x204]
mov dword [esi + 0x54], ecx
jmp 0x101b69c2
mov esi, dword [ebp - 0x1c]
cmp word [ebx + 2], 0
je 0x101b69f0
mov edx, dword [ebp - 0xcc]
cmp edx, dword [ebx + 0xc]
jne 0x101b97c5
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x10]
add eax, eax
mov edx, dword [ecx + eax*8 + 0xc]
mov eax, dword [edx + 4]
cmp eax, dword [ebx + 0x10]
jne 0x101b97c5
cmp dword [ebp - 0x14], 0
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0x13c]
push ecx
mov ecx, dword [ebp - 0x20]
push edx
mov edx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
call fcn.1013bd10
mov edx, dword [ebp - 0x1c]
add esp, 8
mov eax, ebx
call fcn.10143c80
mov ecx, eax
mov eax, dword [ebp - 0x13c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
add ebx, 0x18
jmp 0x101b4962
mov esi, dword [ebx + 4]
mov eax, dword [ebx + 0xc]
mov edi, dword [ebp - 0x20]
mov ecx, dword [ebx + 8]
shl esi, 4
add esi, dword [edi + 0x10]
push eax
mov eax, dword [esi + 4]
push ecx
call fcn.10179b90
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 8]
mov ecx, 1
add esp, 8
cmp eax, ecx
jne 0x101b6a82
mov edx, dword [esi + 0xc]
mov eax, dword [ebx + 0xc]
mov dword [edx], eax
or dword [edi + 0x18], ecx
jmp 0x101b6a90
cmp eax, 2
jne 0x101b6a90
mov edx, dword [esi + 0xc]
mov al, byte [ebx + 0xc]
mov byte [edx + 0x4c], al
cmp dword [ebx + 4], ecx
jne 0x101b6aa8
xor ecx, ecx
mov eax, edi
call fcn.1011d110
mov eax, dword [ebp - 0x1c]
and dword [eax + 0x98], 0xfffffffc
cmp dword [ebp - 0x14], 0
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebx + 4]
mov esi, dword [edx + 0x60]
mov esi, dword [esi + eax*4]
test esi, esi
je 0x101b6ade
mov eax, dword [esi + 0x34]
cmp eax, dword [ebx + 8]
je 0x101b6bd5
jmp 0x101b6ade
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x98]
and al, 3
cmp al, 1
je 0x101b9b4d
mov edi, dword [ebx + 0xc]
mov esi, dword [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x3c], eax
mov eax, edi
shl eax, 4
add eax, dword [esi + 0x10]
mov esi, dword [eax + 4]
mov dword [ebp - 0x44], esi
cmp cl, 0x61
jne 0x101b6b38
movzx ecx, word [ebx + 2]
and ecx, 8
or ecx, 4
mov dword [ebp - 0x30], ecx
mov ecx, dword [eax + 0xc]
mov al, byte [ecx + 0x4c]
cmp al, byte [edx + 0x93]
jae 0x101b6b3f
mov byte [edx + 0x93], al
jmp 0x101b6b3f
mov dword [ebp - 0x30], 0
test byte [ebx + 2], 0x10
je 0x101b6b5b
mov eax, dword [ebp - 0x3c]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
lea esi, [eax + edx*8]
call fcn.1013fa70
mov ecx, dword [esi]
mov dword [ebp - 0x3c], ecx
mov al, byte [ebx + 1]
cmp al, 0xf7
jne 0x101b6b71
mov eax, dword [ebx + 0x10]
movzx edx, word [eax + 8]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x38], edx
jmp 0x101b6b7b
cmp al, 0xfd
jne 0x101b6b7b
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x1c]
push 0
push edi
mov edi, dword [ebx + 4]
push ecx
call fcn.10199480
mov esi, eax
add esp, 0xc
test esi, esi
je 0x101b5fd8
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x4c]
or dword [esi + 8], 4
push edx
mov edx, dword [ebp - 0x44]
mov dword [esi + 0x34], eax
push eax
mov eax, dword [esi + 0x28]
mov ecx, edi
mov byte [esi + 2], 1
call fcn.1015e240
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
add esp, 8
mov dword [esi + 0x2c], edi
cmp byte [eax + 1], 0xf7
mov ebx, eax
setne cl
mov byte [esi + 4], cl
mov dl, byte [ebx + 2]
mov eax, dword [esi + 0x28]
and dl, 3
cmp dword [ebp - 0x14], 0
mov byte [eax + 3], dl
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebx + 8]
mov edx, dword [esi + 0x60]
mov eax, dword [edx + ecx*4]
mov edi, dword [ebx + 4]
mov dword [ebp - 0x44], eax
movsx eax, word [eax + 0x38]
push 0
push 0xffffffffffffffff
push eax
call fcn.10199480
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x101b5fd8
or dword [ecx + 8], 1
mov edx, dword [ebp - 0x44]
mov esi, dword [ecx + 8]
mov byte [ecx + 2], 1
mov eax, dword [edx + 0x2c]
mov dword [ecx + 0x2c], eax
mov al, byte [edx + 4]
mov byte [ecx + 4], al
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x34], eax
mov eax, dword [edx + 8]
xor eax, esi
and eax, 4
xor eax, esi
mov dword [ecx + 8], eax
mov eax, dword [ecx + 0x34]
mov edx, dword [edx + 0xc]
push 4
push eax
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
call fcn.1015e240
mov ebx, dword [ebp - 0x18]
add esp, 8
mov dword [ebp - 0x14], eax
add ebx, 0x18
jmp 0x101b4962
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x60]
mov edi, dword [ebx + 4]
mov esi, dword [edx + edi*4]
xor ecx, ecx
cmp esi, ecx
je 0x101b6cab
mov eax, dword [esi + 0xc]
cmp eax, ecx
je 0x101b6cab
mov ebx, dword [esi + 0x34]
push ecx
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], ecx
mov dword [esi + 0x1c], ecx
call fcn.10193270
add esp, 4
mov dword [ebp - 0x14], eax
jmp 0x101b6d9d
mov eax, dword [ebx + 8]
mov esi, dword [ebp - 0x1c]
push 0
push 0xffffffffffffffff
push eax
call fcn.10199480
mov esi, eax
add esp, 0xc
test esi, esi
je 0x101b5fd8
or dword [esi + 8], 1
mov ebx, dword [ebp - 0x18]
movzx ecx, word [ebx + 2]
push 0x41e
or ecx, 5
push ecx
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
push 0
push edx
lea edx, [esi + 0xc]
call fcn.101940f0
add esp, 0x10
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b6d86
push eax
mov eax, dword [esi + 0xc]
push 1
push eax
call fcn.10197c50
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b6d86
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x44], eax
mov dword [esi + 0x2c], eax
test eax, eax
je 0x101b6d64
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 2]
mov eax, dword [esi + 0xc]
or edx, 2
push edx
lea ebx, [esi + 0x34]
push ebx
call fcn.10197600
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b6d5b
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x44]
mov edx, dword [esi + 0xc]
push 4
push eax
mov eax, dword [esi + 0x28]
call fcn.1015e240
add esp, 8
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x18]
mov byte [esi + 4], 0
jmp 0x101b6d86
mov eax, dword [esi + 0x28]
mov edx, dword [esi + 0xc]
push 4
push 1
xor ecx, ecx
mov dword [esi + 0x34], 1
call fcn.1015e240
add esp, 8
mov dword [ebp - 0x14], eax
mov byte [esi + 4], 1
xor ecx, ecx
cmp word [ebx + 2], 8
setne cl
add ecx, ecx
add ecx, ecx
xor ecx, dword [esi + 8]
and ecx, 4
xor dword [esi + 8], ecx
cmp dword [ebp - 0x14], 0
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
mov byte [esi + 2], 1
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebx + 8]
mov edi, dword [ebx + 4]
mov esi, dword [ebp - 0x1c]
push 1
push 0xffffffffffffffff
push edx
call fcn.10199480
add esp, 0xc
test eax, eax
je 0x101b5fd8
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x10]
push eax
mov dword [eax + 0x2c], edx
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x20]
push eax
push ecx
call fcn.10154bc0
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov eax, dword [ecx + edx*4]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov esi, ecx
add esi, 1
mov edi, edx
adc edi, 0
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], edi
mov eax, ecx
or eax, edx
je 0x101b709f
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebx + 0xc]
mov edi, dword [ebx + 4]
mov esi, dword [ebp - 0x1c]
push 3
push 0xffffffffffffffff
push edx
call fcn.10199480
add esp, 0xc
test eax, eax
je 0x101b5fd8
mov ecx, dword [ebp - 0x18]
mov byte [eax + 2], 1
mov edx, dword [ecx + 8]
mov ebx, ecx
mov dword [eax + 0x20], edx
mov byte [eax + 4], 1
mov dword [eax + 0x28], 0x102997bc
add ebx, 0x18
jmp 0x101b4962
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x60]
mov eax, dword [ecx + eax*4]
push esi
call fcn.10196b50
mov edx, dword [ebx + 4]
mov eax, dword [esi + 0x60]
add esp, 4
mov dword [eax + edx*4], 0
add ebx, 0x18
jmp 0x101b4962
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x60]
mov esi, dword [edx + ecx*4]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x38], eax
mov word [esi + 2], ax
mov dword [esi + 0x1c], eax
cmp byte [esi + 4], al
je 0x101b6fc9
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x24]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
movzx eax, word [edi + 8]
mov dword [ebp - 0x44], eax
and al, 0x2e
cmp al, 2
jne 0x101b6eeb
push 0
mov eax, edi
call fcn.1013b5e0
add esp, 4
mov edx, edi
call fcn.1013bb70
mov dword [ebp - 0x110], eax
movzx eax, word [edi + 8]
mov dword [ebp - 0x10c], edx
mov dx, word [ebp - 0x44]
mov word [edi + 8], dx
test al, 0x24
jne 0x101b6f8f
test al, 8
jne 0x101b6f61
test al, 1
jne 0x101b709f
cmp dword [ebp - 0x2c], 0x18
jge 0x101b709f
mov eax, dword [esi + 0x28]
lea edi, [ebp - 0x64]
call fcn.101447d0
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
xor edi, edi
cmp dword [ebp - 0x64], edi
jne 0x101b709c
cmp dword [ebp - 0x38], edi
je 0x101b70af
add dword [ebp - 0x18], 0x18
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
fild qword [ebp - 0x110]
fcom qword [edi]
fnstsw ax
test ah, 0x41
jne 0x101b6f7d
test byte [ebp - 0x2c], 1
fstp st(0)
je 0x101b6f8f
dec dword [ebp - 0x2c]
jmp 0x101b6f8f
fcomp qword [edi]
fnstsw ax
test ah, 5
jp 0x101b6f8f
test byte [ebp - 0x2c], 1
jne 0x101b6f8f
inc dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x10c]
mov edi, dword [ebp - 0x110]
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x64]
push eax
push 0
push ebx
push edi
push 0
push ecx
call fcn.10197650
add esp, 0x18
mov dword [ebp - 0x14], eax
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], ebx
test eax, eax
jne 0x101b8b89
xor edi, edi
jmp 0x101b7050
mov edx, dword [esi + 0x28]
test byte [edx + 3], 2
je 0x101b6fd9
mov dword [ebp - 0x38], 1
test byte [ebp - 0x2c], 1
mov eax, dword [esi + 0x2c]
mov cx, word [ebx + 0x10]
mov ebx, dword [ebx + 0xc]
sete dl
mov dword [ebp - 0x168], eax
mov word [ebp - 0x160], cx
mov ecx, dword [ebp - 0x24]
lea eax, [ebx + ebx*4]
xor edi, edi
mov byte [ebp - 0x15a], 0
lea edx, [edx + edx - 1]
mov byte [ebp - 0x15e], dl
lea edx, [ecx + eax*8]
lea eax, [ebp - 0x64]
push eax
push edi
push edi
push edi
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x164], edx
mov edx, dword [esi + 0x28]
push ecx
push edx
call fcn.10197650
add esp, 0x18
mov dword [ebp - 0x14], eax
cmp eax, edi
jne 0x101b8b89
cmp dword [ebp - 0x38], edi
je 0x101b7050
cmp byte [ebp - 0x15a], 0
je 0x101b6f40
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x64]
cmp ecx, 0x18
jl 0x101b70ba
cmp eax, edi
jl 0x101b706e
jne 0x101b7066
cmp ecx, 0x19
je 0x101b706e
mov dword [ebp - 0x64], edi
jmp 0x101b6f49
mov eax, dword [esi + 0x28]
push edi
push eax
mov dword [ebp - 0x64], edi
call fcn.1019e5f0
add esp, 8
mov dword [ebp - 0x14], eax
cmp eax, edi
je 0x101b6f49
cmp eax, 0x65
jne 0x101b8b89
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x64], 1
mov ebx, dword [ebp - 0x18]
mov ebx, dword [ebx + 8]
mov edx, dword [ebp - 0x50]
lea ecx, [ebx + ebx*2]
lea eax, [edx + ecx*8 - 0x18]
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
cmp eax, edi
jg 0x101b70d7
jne 0x101b70c5
cmp ecx, 0x16
je 0x101b70d7
mov ecx, dword [esi + 0x28]
xor edx, edx
cmp byte [ecx], dl
setne dl
mov dword [ebp - 0x64], edx
jmp 0x101b6f40
mov eax, dword [esi + 0x28]
push edi
push eax
mov dword [ebp - 0x64], edi
call fcn.1019e5b0
add esp, 8
mov dword [ebp - 0x14], eax
cmp eax, edi
je 0x101b6f49
cmp eax, 0x65
jmp 0x101b708c
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebx + 8]
add ecx, ecx
add ecx, ecx
add ecx, ecx
xor ecx, dword [eax + 8]
and ecx, 8
xor dword [eax + 8], ecx
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + 0x60]
cmp dword [ecx + edx*4], 0
je case.0x101b497b.11
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + edx*4]
test byte [edx + 8], 8
jne case.0x101b497b.85
cmp dword [ebx + 0x10], 0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + 0x60]
mov edi, dword [edx + eax*4]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x24]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x30], eax
jle 0x101b7198
mov edx, dword [edi + 0x2c]
mov cx, word [ebx + 0x10]
mov dword [ebp - 0x280], edx
mov word [ebp - 0x278], cx
mov dword [ebp - 0x27c], eax
lea esi, [ebp - 0x280]
mov dword [ebp - 0x4c], 0
jmp 0x101b71e3
mov edx, 0x4000
test word [eax + 8], dx
je 0x101b71b3
mov esi, dword [ebp - 0x30]
call fcn.1015e190
test eax, eax
jne 0x101b5fd8
mov esi, dword [edi + 0x2c]
call fcn.10154eb0
mov esi, eax
mov dword [ebp - 0x4c], esi
test esi, esi
je 0x101b5fd8
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [edi + 0x2c]
push esi
push ecx
push edx
push eax
call fcn.10142ee0
mov ebx, dword [ebp - 0x18]
add esp, 0x10
xor ecx, ecx
mov byte [esi + 0xa], 0
cmp byte [ebx], 0x1c
mov dword [ebp - 0x30], ecx
jne 0x101b721a
xor edx, edx
cmp dx, word [esi + 8]
jae 0x101b721a
mov eax, dword [esi + 4]
add eax, 8
nop
test byte [eax], 1
jne 0x101b7213
movzx edx, word [esi + 8]
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x101b7200
jmp 0x101b721a
mov dword [ebp - 0x30], 1
mov ecx, dword [edi + 0x28]
lea eax, [ebp - 0x124]
push eax
push 0
push 0
push 0
push esi
push ecx
call fcn.10197650
mov esi, eax
mov eax, dword [ebp - 0x4c]
add esp, 0x18
mov dword [ebp - 0x14], esi
test eax, eax
je 0x101b7248
mov ecx, dword [ebp - 0x20]
call fcn.101364b0
test esi, esi
jne 0x101b8b89
mov ecx, dword [ebp - 0x124]
xor eax, eax
test ecx, ecx
sete al
mov dl, 1
mov dword [edi + 0x20], ecx
mov ecx, dword [ebp - 0x18]
sub dl, al
mov byte [edi + 2], dl
mov byte [edi + 3], 0
mov dword [edi + 0x1c], esi
cmp byte [ecx], 0x1e
jne 0x101b7288
test eax, eax
jne 0x101b709c
mov ebx, ecx
add ebx, 0x18
jmp 0x101b4962
cmp dword [ebp - 0x30], 0
jne 0x101b709c
test eax, eax
je 0x101b709c
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x24]
lea edx, [eax + eax*4]
test byte [ecx + edx*8 + 8], 0x24
lea esi, [ecx + edx*8]
jne 0x101b7319
mov ecx, 0xa
lea edi, [ebp - 0x2a8]
rep movsd dword es:[edi], dword [esi]
mov al, byte [ebp - 0x2a0]
test al, 4
jne 0x101b7302
test al, 8
jne 0x101b72e9
test al, 2
je 0x101b72fa
push 1
lea eax, [ebp - 0x2a8]
call fcn.1013b5e0
add esp, 4
jmp 0x101b72f4
lea esi, [ebp - 0x2a8]
call fcn.10129eb0
mov al, byte [ebp - 0x2a0]
test al, 4
je 0x101b709f
mov eax, dword [ebp - 0x2a4]
mov edi, dword [ebp - 0x2a8]
mov dword [ebp - 0x144], eax
jmp 0x101b732c
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
mov edi, dword [ecx + eax*8]
mov ecx, dword [ecx + eax*8 + 4]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, dword [ebx + 4]
mov esi, dword [ecx + edx*4]
mov ecx, dword [ebp - 0x144]
mov eax, dword [esi + 0x28]
lea edx, [ebp - 0xe8]
push edx
push 0
push ecx
push edi
push 0
push eax
mov dword [ebp - 0xe8], 0
call fcn.10197650
mov edx, dword [ebp - 0x144]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xe8]
add esp, 0x18
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], edx
mov dword [esi + 0x1c], 0
mov word [esi + 2], 0
mov dword [esi + 0x20], eax
test eax, eax
je 0x101b73a1
cmp dword [ebx + 8], 0
jne 0x101b709f
mov eax, 0x1788c
call fcn.1011a6c0
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov esi, dword [ebp - 0x1c]
mov eax, ebx
mov edx, esi
call fcn.10143c80
mov ecx, dword [ebx + 4]
mov edx, dword [esi + 0x60]
mov ecx, dword [edx + ecx*4]
mov edx, dword [ecx + 0x10]
mov dword [eax], edx
mov ecx, dword [ecx + 0x14]
mov dword [eax + 4], ecx
mov edx, dword [ebx + 4]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + edx*4]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebp - 0x1c]
xor edi, edi
xor esi, esi
mov eax, ebx
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0xb4], edi
call fcn.10143c80
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x34], eax
mov eax, dword [edx + 0x60]
mov eax, dword [eax + ecx*4]
test byte [eax + 8], 2
mov dword [ebp - 0x28], eax
jne 0x101b748f
mov ecx, eax
mov eax, dword [ecx + 0x28]
lea edi, [ebp - 0xb4]
call fcn.101447d0
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
cmp dword [ebp - 0xb4], esi
je 0x101b744f
mov dword [ebp - 0x70], 1
xor edi, edi
jmp 0x101b7486
mov ebx, dword [ebp - 0x28]
mov esi, dword [ebx + 0x28]
mov ecx, esi
call fcn.1012aa40
mov edi, dword [esi + 0x24]
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edi
cmp edi, 0x7fffffff
jl 0x101b747d
jg 0x101b7477
cmp eax, 0xffffffff
jb 0x101b747d
or dword [ebx + 8], 2
jmp 0x101b7489
add eax, 1
mov dword [ebp - 0x70], eax
adc edi, 0
mov dword [ebp - 0x6c], edi
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x70]
mov edx, dword [ebx + 0xc]
test edx, edx
je 0x101b7518
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0xc8]
test ecx, ecx
je 0x101b74c4
mov eax, dword [ecx + 4]
test eax, eax
je 0x101b74b9
mov edi, edi
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x101b74b0
mov eax, dword [ecx + 0x10]
lea edx, [edx + edx*4]
lea esi, [eax + edx*8]
jmp 0x101b74cd
lea ecx, [edx + edx*4]
mov edx, dword [ebp - 0x24]
lea esi, [edx + ecx*8]
call fcn.1013fa70
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, 0xffffffff
jne 0x101b74e8
cmp ecx, 0x7fffffff
je 0x101b757b
mov edx, dword [ebp - 0x28]
test byte [edx + 8], 2
jne 0x101b757b
add eax, 1
adc ecx, 0
cmp edi, ecx
jg 0x101b750e
jl 0x101b7506
cmp dword [ebp - 0x70], eax
jae 0x101b750e
mov edi, ecx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edi
mov eax, dword [ebp - 0x70]
mov dword [esi], eax
mov dword [esi + 4], edi
mov esi, eax
mov ecx, dword [ebp - 0x28]
test byte [ecx + 8], 2
je 0x101b758a
xor ebx, ebx
lea edx, [ebp - 0x70]
push edx
push 8
call sym.SQLite.Interop.dll_sqlite3_randomness
mov edi, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x28]
lea eax, [ebp - 0xb4]
push eax
and edi, 0x3fffffff
add esi, 1
push 0
adc edi, 0
push edi
push esi
push 0
push edx
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x6c], edi
call fcn.10197650
add esp, 0x20
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
cmp dword [ebp - 0xb4], eax
jne 0x101b7587
inc ebx
cmp ebx, 0x64
jl 0x101b7523
mov dword [ebp - 0x14], 0xd
jmp 0x101b8b89
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov byte [eax + 3], 0
mov dword [eax + 0x1c], 0
mov eax, dword [ebp - 0x34]
mov dword [eax], esi
mov dword [eax + 4], edi
add ebx, 0x18
jmp 0x101b4962
cmp byte [ebx + 1], 0xfa
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x1c]
mov esi, dword [esi + 0x60]
lea ecx, [eax + eax*4]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebx + 4]
mov esi, dword [esi + ecx*4]
mov ecx, dword [ebx + 0xc]
lea ecx, [ecx + ecx*4]
mov edi, dword [edx + ecx*8]
mov dword [ebp - 0x1e8], edi
mov edx, dword [edx + ecx*8 + 4]
mov dword [ebp - 0x1e4], edx
jne 0x101b76b2
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0xfc]
test edx, edx
jne 0x101b75ff
cmp dword [ecx + 0xf0], edx
je 0x101b76b2
movsx ecx, byte [esi + 1]
mov edi, dword [ebp - 0x20]
mov edi, dword [edi + 0x10]
add ecx, ecx
mov ecx, dword [edi + ecx*8]
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x38], edi
test edi, edi
je 0x101b765f
test edx, edx
je 0x101b7646
test byte [ebx + 2], 4
jne 0x101b7646
mov edx, dword [ebp - 0x1e4]
push eax
mov eax, dword [ebp - 0x1e8]
push edx
push eax
push ecx
mov ecx, dword [ebp - 0x1c]
push 0x12
push esi
push ecx
mov eax, edi
call fcn.10145160
add esp, 0x1c
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0xf0], 0
je 0x101b7658
cmp dword [edi + 4], 0
jne 0x101b765f
mov dword [ebp - 0x38], 0
movzx eax, word [ebx + 2]
test al, 0x40
jne case.0x101b497b.85
test al, 1
je 0x101b7675
mov eax, dword [ebp - 0x1c]
inc dword [eax + 0x2c]
test byte [ebx + 2], 0x20
je 0x101b7690
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1e8]
mov edx, dword [ebp - 0x1e4]
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x1e0], eax
movzx eax, word [ebx + 2]
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x1d4], ecx
test al, 0x10
je 0x101b76bc
mov ecx, dword [esi + 0x20]
jmp 0x101b76be
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], eax
jmp 0x101b765f
xor ecx, ecx
mov edi, 0x4000
test word [edx + 8], di
je 0x101b76d3
mov edx, dword [edx]
mov dword [ebp - 0x1d0], edx
jmp 0x101b76dd
mov dword [ebp - 0x1d0], 0
push ecx
and eax, 0xa
push eax
xor ebx, ebx
lea eax, [ebp - 0x1f0]
mov dword [ebp - 0x1f0], ebx
mov edi, dword [esi + 0x28]
push eax
call fcn.1019a160
add esp, 0xc
mov dword [ebp - 0x14], eax
mov byte [esi + 3], bl
mov dword [esi + 0x1c], ebx
cmp eax, ebx
jne 0x101b8b89
mov eax, dword [ebp - 0x38]
cmp eax, ebx
je 0x101b70af
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1e8]
push ecx
mov ecx, dword [ebp - 0x30]
push edx
mov edx, dword [ebp - 0x18]
push eax
mov al, byte [edx + 2]
push ecx
and al, 4
movzx ecx, al
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0xec]
mov eax, dword [eax + 0xf0]
neg ecx
sbb ecx, ecx
and ecx, 5
add ecx, 0x12
push ecx
push edx
call eax
mov ebx, dword [ebp - 0x18]
add esp, 0x18
add ebx, 0x18
jmp 0x101b4962
cmp byte [ebx + 1], 0xfa
mov ecx, dword [ebx + 8]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebx + 4]
mov dword [ebp - 0x38], ecx
mov ecx, dword [eax + 0x60]
mov esi, dword [ecx + edx*4]
mov eax, dword [ebp - 0x20]
jne 0x101b77cc
cmp dword [eax + 0xfc], 0
jne 0x101b7790
cmp dword [eax + 0xf0], 0
je 0x101b77cc
movsx edx, byte [esi + 1]
mov ecx, dword [eax + 0x10]
add edx, edx
test byte [ebx + 2], 2
mov edx, dword [ecx + edx*8]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x3c], ecx
je 0x101b77d4
cmp byte [esi + 4], 0
je 0x101b77d4
mov edi, dword [esi + 0x28]
mov ecx, edi
call fcn.1012aa40
mov edx, dword [edi + 0x20]
mov dword [esi + 0x40], edx
mov eax, dword [edi + 0x24]
mov dword [esi + 0x44], eax
mov eax, dword [ebp - 0x20]
jmp 0x101b77d4
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x3c], ecx
cmp dword [eax + 0xfc], 0
je 0x101b7817
cmp dword [ebx + 0x10], 0
je 0x101b7817
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi + 0x44]
mov eax, dword [esi + 0x40]
push ecx
mov ecx, dword [ebp - 0x28]
push edx
mov edx, dword [ebp - 0x38]
push eax
and dl, 4
movsx eax, dl
neg eax
sbb eax, eax
push ecx
mov ecx, dword [ebp - 0x1c]
and eax, 0xe
add eax, 9
push eax
mov eax, dword [ebp - 0x3c]
push esi
push ecx
call fcn.10145160
add esp, 0x1c
test byte [ebp - 0x38], 0x40
jne case.0x101b497b.85
mov al, byte [ebx + 2]
mov edi, dword [esi + 0x28]
call fcn.1019fd30
xor ecx, ecx
mov dword [ebp - 0x14], eax
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], ecx
cmp eax, ecx
jne 0x101b8b89
test byte [ebp - 0x38], 1
je 0x101b70af
mov eax, dword [ebp - 0x1c]
inc dword [eax + 0x2c]
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0xf0]
test eax, eax
je 0x101b70af
mov ecx, dword [ebp - 0x3c]
test byte [ecx + 0x24], 0x80
jne 0x101b70af
mov edx, dword [esi + 0x44]
mov ecx, dword [ecx]
push edx
mov edx, dword [esi + 0x40]
push edx
mov edx, dword [ebp - 0x28]
push ecx
mov ecx, dword [ebp - 0x20]
push edx
mov edx, dword [ecx + 0xec]
push 9
push edx
call eax
mov ebx, dword [ebp - 0x18]
add esp, 0x18
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x2c]
mov ecx, dword [ebp - 0x20]
add dword [ecx + 0x68], eax
mov dword [ecx + 0x64], eax
mov dword [edx + 0x2c], 0
add ebx, 0x18
jmp 0x101b4962
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x60]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 0x24]
mov ebx, dword [ebx + 0x10]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
lea edx, [ebp - 0xf0]
push edx
push ebx
push ecx
mov dword [ebp - 0xf0], 0
call fcn.10192780
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
cmp dword [ebp - 0xf0], eax
jne 0x101b709c
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov eax, dword [ecx + edx*4]
call fcn.101669b0
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + eax*4]
mov ebx, dword [ebp - 0x18]
mov dword [eax + 0x1c], 0
add ebx, 0x18
jmp 0x101b4962
mov esi, dword [ebp - 0x1c]
mov eax, ebx
mov edx, esi
call fcn.10143c80
mov ecx, dword [ebx + 4]
mov edx, dword [esi + 0x60]
mov edi, eax
mov eax, dword [edx + ecx*4]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.1012aa40
mov eax, dword [esi + 0x2c]
mov ecx, dword [ebp - 0x20]
cmp eax, dword [ecx + 0x6c]
ja 0x101b8b72
push 0
mov ecx, edi
mov edx, esi
call fcn.1018c860
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov edx, dword [ebp - 0x18]
cmp dword [edx + 0xc], eax
jne 0x101b70af
mov eax, 0x1000
test word [edi + 8], ax
je 0x101b70af
mov eax, edi
call fcn.10167020
test eax, eax
jne 0x101b5fd8
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov esi, dword [ebp - 0x1c]
mov eax, ebx
mov edx, esi
call fcn.10143c80
mov ecx, dword [ebx + 4]
mov edx, dword [esi + 0x60]
mov esi, dword [edx + ecx*4]
cmp byte [esi + 2], 0
mov edi, eax
mov dword [ebp - 0x34], edi
je 0x101b7a06
mov eax, 1
mov word [edi + 8], ax
add ebx, 0x18
jmp 0x101b4962
cmp byte [esi + 3], 0
je 0x101b7a34
mov ecx, dword [esi + 0x40]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xe0], ecx
mov edx, dword [esi + 0x44]
mov dword [ebp - 0xdc], edx
mov dword [eax], ecx
mov edx, dword [ebp - 0xdc]
mov dword [eax + 4], edx
add ebx, 0x18
jmp 0x101b4962
cmp byte [esi], 2
jne 0x101b7a67
mov eax, dword [esi + 0x28]
mov esi, dword [eax]
mov ecx, dword [esi]
lea edx, [ebp - 0xe0]
push edx
push eax
mov eax, dword [ecx + 0x30]
call eax
mov edi, dword [ebp - 0x1c]
mov ebx, eax
add esp, 8
mov dword [ebp - 0x14], ebx
call fcn.10158de0
test ebx, ebx
jne 0x101b8b89
jmp 0x101b7aae
mov eax, esi
call fcn.1019f870
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
cmp byte [esi + 2], al
je 0x101b7a92
mov ebx, dword [ebp - 0x18]
mov ecx, 1
mov word [edi + 8], cx
add ebx, 0x18
jmp 0x101b4962
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.1012aa40
mov edx, dword [esi + 0x20]
mov dword [ebp - 0xe0], edx
mov eax, dword [esi + 0x24]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0x18]
mov dword [eax], ecx
mov edx, dword [ebp - 0xdc]
mov dword [eax + 4], edx
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + eax*4]
cmp byte [eax], 0
mov byte [eax + 2], 1
mov dword [eax + 0x1c], 0
jne case.0x101b497b.85
mov esi, dword [eax + 0x28]
call fcn.10134960
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebx + 4]
mov edx, dword [edx + 0x60]
mov esi, dword [edx + eax*4]
mov eax, dword [esi + 0x28]
mov dword [ebp - 0xec], 0
cmp cl, 0x81
jne 0x101b7b2b
mov dword [esi + 0x20], 0xffffffff
cmp byte [eax], 0
je case.0x101b497b.85
lea edi, [ebp - 0xec]
call fcn.101447d0
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0x14], eax
mov byte [esi + 2], cl
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
test eax, eax
jne 0x101b8b89
mov eax, dword [ebp - 0x18]
cmp dword [eax + 8], 0
jle 0x101b70af
test ecx, ecx
jne 0x101b709c
mov ebx, eax
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
mov esi, dword [ecx + 0x28]
lea edi, [ebp - 0xf8]
mov eax, esi
call fcn.10144820
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
cmp dword [ebp - 0xf8], eax
jne 0x101b709c
push esi
call fcn.1011db40
add esp, 4
test edx, edx
jl 0x101b70af
jg 0x101b7bc2
test eax, eax
jb 0x101b70af
push edx
push eax
call fcn.1011fc80
movsx edx, ax
mov eax, dword [ebp - 0x18]
add esp, 8
cmp edx, dword [eax + 0xc]
jge 0x101b70af
mov dword [ebp - 0xf8], 1
jmp 0x101b709c
mov eax, dword [ebp - 0x1c]
inc dword [eax + 0xac]
jmp 0x101b7bf8
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + 0x60]
mov ebx, dword [edx + ecx*4]
cmp byte [ebx], 1
mov dword [ebp - 0xd0], 1
jne 0x101b7c1f
lea esi, [ebp - 0xd0]
mov ecx, ebx
call fcn.1019f5c0
jmp 0x101b7c38
mov eax, dword [ebx + 0x28]
lea edi, [ebp - 0xd0]
call fcn.10144820
mov byte [ebx + 3], 0
mov dword [ebx + 0x1c], 0
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov eax, dword [ebp - 0xd0]
mov byte [ebx + 2], al
test eax, eax
jne 0x101b709c
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + 0x60]
mov edi, dword [edx + eax*4]
mov esi, dword [ebp - 0x20]
mov eax, edi
call fcn.1015dea0
mov dword [ebp - 0x14], eax
jmp 0x101b7c99
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x60]
mov eax, dword [ebx + 4]
mov edi, dword [edx + eax*4]
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi + 0x28]
mov edx, dword [ebx + 0x10]
push eax
push ecx
call edx
add esp, 8
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov dword [edi + 0x1c], ecx
cmp eax, ecx
jne 0x101b7cbf
mov byte [edi + 2], cl
movzx eax, word [ebx + 2]
mov ecx, dword [ebp - 0x1c]
inc dword [ecx + eax*4 + 0xa4]
lea eax, [ecx + eax*4 + 0xa4]
jmp case.0x101b497b.11
cmp eax, 0x65
jne 0x101b8b89
mov dword [ebp - 0x14], ecx
mov byte [edi + 2], 1
jmp 0x101b92e2
test byte [ebx + 2], 1
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ecx + 0x60]
mov edx, dword [ebx + 4]
mov edx, dword [eax + edx*4]
mov eax, dword [ebx + 8]
mov edi, dword [ebp - 0x24]
lea eax, [eax + eax*4]
mov dword [ebp - 0x38], edx
lea esi, [edi + eax*8]
je 0x101b7cf8
inc dword [ecx + 0x2c]
mov ecx, 0x4000
test word [esi + 8], cx
je 0x101b7d16
call fcn.1015e190
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
cmp byte [ebx], 0x82
jne 0x101b7d29
mov eax, dword [ebp - 0x38]
push esi
call fcn.1019f610
add esp, 4
jmp 0x101b7d8f
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
mov dword [ebp - 0x2c4], edx
mov edx, dword [esi + 0x10]
lea ecx, [edi + eax*8]
movzx eax, word [ebx + 2]
mov dword [ebp - 0x2d0], edx
mov dx, word [ebx + 0x10]
mov dword [ebp - 0x2bc], ecx
mov word [ebp - 0x2b8], dx
test al, 0x10
je 0x101b7d6c
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx + 0x20]
jmp 0x101b7d6e
xor ecx, ecx
mov esi, dword [ebp - 0x38]
mov edi, dword [esi + 0x28]
push ecx
and eax, 0xa
push eax
lea edx, [ebp - 0x2d0]
push edx
call fcn.1019a160
add esp, 0xc
mov dword [esi + 0x1c], 0
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x60]
mov eax, dword [ebx + 4]
mov esi, dword [edx + eax*4]
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x28]
mov cx, word [ebx + 0xc]
mov ebx, dword [ebx + 8]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x24]
lea edx, [ebx + ebx*4]
mov word [ebp - 0x248], cx
lea ecx, [eax + edx*8]
lea edx, [ebp - 0x154]
push edx
push 0
push 0
push 0
lea eax, [ebp - 0x250]
push eax
push edi
mov byte [ebp - 0x246], 0
mov dword [ebp - 0x24c], ecx
call fcn.10197650
add esp, 0x18
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
cmp dword [ebp - 0x154], eax
jne 0x101b7e23
mov al, 4
call fcn.1019fd30
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
xor eax, eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
add ebx, 0x18
jmp 0x101b4962
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x60]
mov esi, dword [edx + ecx*4]
mov eax, esi
call fcn.1019f870
xor ebx, ebx
mov dword [ebp - 0x14], eax
cmp eax, ebx
jne 0x101b8b89
cmp byte [esi + 2], bl
jne 0x101b7eec
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0xd8]
push eax
mov eax, dword [esi + 0x28]
push ecx
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xd4], ebx
call fcn.10192bd0
add esp, 8
mov dword [ebp - 0x14], eax
cmp eax, ebx
jne 0x101b8b89
mov eax, dword [ebp - 0x18]
cmp byte [eax], 0x85
jne 0x101b7ec9
mov edx, dword [eax + 0xc]
mov ecx, dword [edi + 0x60]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0x18]
mov dword [ecx + 0x40], edx
mov edx, dword [ebp - 0xd4]
mov dword [ecx + 0x44], edx
mov word [ecx + 2], 0x100
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x24], esi
add ebx, 0x18
jmp 0x101b4962
mov edx, edi
call fcn.10143c80
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd4]
mov ebx, dword [ebp - 0x18]
mov dword [eax], ecx
mov dword [eax + 4], edx
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x24]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
call fcn.10141d20
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + 0x60]
mov esi, dword [edx + eax*4]
cmp byte [esi + 3], 0
je case.0x101b497b.85
call fcn.10199580
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x60]
mov eax, dword [ebx + 4]
mov eax, dword [edx + eax*4]
mov edx, dword [eax + 0x2c]
cmp cl, 0x28
sbb cl, cl
mov dword [ebp - 0x260], edx
mov dx, word [ebx + 0x10]
mov byte [ebp - 0x256], cl
mov ecx, dword [ebx + 0xc]
mov word [ebp - 0x258], dx
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp - 0x24]
lea edx, [ecx + edx*8]
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x25c], edx
mov edx, dword [ebp - 0x20]
push ecx
push edx
lea edi, [ebp - 0xa0]
mov dword [ebp - 0xa0], 0
call fcn.10192b10
mov ecx, dword [ebp - 0xa0]
add esp, 8
test byte [ebx], 1
mov dword [ebp - 0x14], eax
jne 0x101b7fae
neg ecx
jmp 0x101b7faf
inc ecx
mov dword [ebp - 0xa0], ecx
test eax, eax
jne 0x101b8b89
test ecx, ecx
jg 0x101b709c
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov esi, dword [ebp - 0x1c]
mov eax, ebx
mov edx, esi
call fcn.10143c80
mov edi, eax
mov eax, 1
mov word [edi + 8], ax
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0xc0]
inc ecx
cmp dword [eax + 0xb4], ecx
jg 0x101b9b59
mov ecx, dword [ebx + 0xc]
mov eax, dword [eax + 0x10]
lea edx, [ebp - 0xf4]
push edx
mov edx, dword [ebx + 4]
mov dword [ebp - 0x44], ecx
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
push edx
mov dword [ebp - 0xf4], 0
call fcn.1019a110
mov esi, dword [ebp - 0xf4]
mov ecx, eax
mov edx, 4
mov eax, esi
mov word [edi + 8], dx
cdq
add esp, 8
mov dword [ebp - 0x14], ecx
mov dword [edi], eax
mov dword [edi + 4], edx
test ecx, ecx
jne 0x101b8b89
test esi, esi
je 0x101b70af
mov eax, dword [ebp - 0x18]
mov edi, dword [eax + 4]
mov ebx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x20]
mov eax, ebx
call fcn.1011bb60
inc bl
mov byte [ebp - 0x65], bl
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
mov ebx, dword [ebx + 4]
neg ecx
sbb ecx, ecx
lea edx, [ebp - 0xe4]
and ecx, edx
push ecx
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0x10]
add eax, eax
mov dword [ebp - 0xe4], 0
mov eax, dword [edx + eax*8 + 4]
call fcn.10193270
mov ecx, dword [ebp - 0x18]
add esp, 4
cmp dword [ecx + 0xc], 0
mov esi, eax
mov dword [ebp - 0x14], esi
je 0x101b80dc
mov eax, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x1c]
add dword [edx + 0x2c], eax
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jle 0x101b80dc
mov edx, dword [ebp - 0x24]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
test esi, esi
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + eax*4]
cmp byte [eax], 1
jne 0x101b8117
mov ecx, dword [ebp - 0x20]
mov esi, dword [eax + 0x28]
push ecx
call fcn.10142cb0
add esp, 4
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [eax + 0x28]
mov ebx, dword [eax + 0x40]
mov eax, dword [eax + 8]
push 0
call fcn.10193270
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebp - 0x1c]
mov eax, ebx
call fcn.10143c80
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebx + 0xc]
mov esi, eax
mov eax, dword [ebx + 4]
shl eax, 4
add eax, dword [edx + 0x10]
push ecx
mov eax, dword [eax + 4]
lea edx, [ebp - 0xfc]
push edx
mov dword [ebp - 0xfc], 0
call fcn.10197600
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov eax, dword [ebp - 0xfc]
mov ebx, dword [ebp - 0x18]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
add ebx, 0x18
jmp 0x101b4962
mov esi, dword [ebp - 0x20]
inc byte [esi + 0x5a]
mov eax, dword [ebx + 0x10]
push 0
push 0
push 0
push eax
push esi
call sym.SQLite.Interop.dll_sqlite3_exec
dec byte [esi + 0x5a]
add esp, 0x14
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 0x10]
mov esi, dword [ebx + 4]
mov edi, dword [ebp - 0x20]
test eax, eax
jne 0x101b821a
mov edx, dword [edi + 0x10]
mov ecx, esi
add ecx, ecx
mov eax, dword [edx + ecx*8 + 0xc]
push eax
call fcn.1015d710
mov ecx, dword [ebp - 0x1c]
and dword [edi + 0x18], 0xffffffef
add esp, 4
push 1
add ecx, 0x7c
push ecx
push esi
push edi
call fcn.101fe050
or dword [edi + 0x18], 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x1c]
add esp, 0x10
and dword [eax + 0x98], 0xfffffffc
jmp 0x101b82c8
mov edx, dword [ebp - 0x1c]
push eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x1c0], esi
add edx, 0x7c
mov dword [ebp - 0x1c8], edi
mov dword [ebp - 0x1c4], edx
mov dword [ebp - 0x1b8], 0
push str.sqlite_master
add esi, esi
mov ecx, dword [eax + esi*8]
push ecx
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
push edi
call fcn.1015fca0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x101b982c
xor eax, eax
push eax
lea edx, [ebp - 0x1c8]
push edx
push fcn.101a74e0
push esi
push edi
mov byte [edi + 0xa5], 1
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b4], eax
call sym.SQLite.Interop.dll_sqlite3_exec
add esp, 0x14
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b82b8
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b82b8
cmp dword [ebp - 0x1b4], eax
jne 0x101b82b8
mov eax, 0x17e25
call fcn.1011a6c0
mov dword [ebp - 0x14], eax
mov eax, esi
mov ecx, edi
call fcn.101364b0
mov byte [edi + 0xa5], 0
cmp dword [ebp - 0x14], 0
je case.0x101b497b.85
mov eax, edi
call fcn.1015d950
cmp dword [ebp - 0x14], 7
je 0x101b5fdb
jmp 0x101b8b89
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x20]
call fcn.101b4100
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 0x10]
push eax
mov eax, dword [ebx + 4]
mov ebx, dword [ebp - 0x20]
call fcn.1015d8f0
mov ebx, dword [ebp - 0x18]
add esp, 4
add ebx, 0x18
jmp 0x101b4962
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov ebx, dword [ebp - 0x20]
push ecx
call fcn.10158370
mov ebx, dword [ebp - 0x18]
add esp, 4
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebx + 0x10]
mov eax, dword [ebp - 0x20]
push edx
push eax
mov eax, dword [ebx + 4]
call fcn.1015a660
add esp, 8
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebx + 8]
mov edi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [esi]
inc eax
push eax
push edx
movzx edx, word [ebx + 2]
add edi, 4
push edi
mov edi, dword [ebp - 0x20]
mov eax, dword [edi + 0x10]
add edx, edx
mov edx, dword [eax + edx*8 + 4]
mov dword [ebp - 0x2c], ecx
push edi
lea ecx, [ebp - 0x158]
call fcn.1015baa0
mov ebx, eax
mov eax, dword [ebp - 0x2c]
add esp, 0x10
call fcn.10141d20
mov eax, dword [ebp - 0x158]
test eax, eax
je 0x101b83dd
test ebx, ebx
je 0x101b5fdb
dec eax
cdq
sub dword [esi], eax
push 1
push ebx
sbb dword [esi + 4], edx
mov edx, dword [ebp - 0x2c]
mov eax, sym.SQLite.Interop.dll_sqlite3_free
or ecx, 0xffffffff
call fcn.1016d440
add esp, 8
movzx ecx, byte [ebp - 0x54]
mov eax, dword [ebp - 0x2c]
call fcn.1016d720
jmp 0x101b92e2
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x24]
lea edx, [eax + eax*4]
test byte [ecx + edx*8 + 8], 0x10
mov eax, dword [ebx + 8]
lea esi, [ecx + edx*8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
jne 0x101b841a
call fcn.10159200
test eax, eax
jne 0x101b5fd8
mov ebx, dword [ebp - 0x18]
mov ecx, dword [edi + 4]
mov edx, dword [edi]
mov esi, dword [esi + 0x10]
push ecx
push edx
call fcn.101597d0
add esp, 8
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x24]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x10
lea edi, [ecx + eax*8]
je 0x101b8480
mov eax, dword [edi + 0x10]
lea esi, [ebp - 0x170]
call fcn.101422a0
test eax, eax
je 0x101b8480
mov edx, dword [ebp - 0x16c]
mov ebx, dword [ebx + 0xc]
mov eax, dword [ebp - 0x170]
push edx
mov edx, dword [ebp - 0x24]
lea ecx, [ebx + ebx*4]
push eax
lea eax, [edx + ecx*8]
call fcn.10144050
add esp, 8
jmp 0x101b92e2
mov eax, edi
call fcn.10141d20
jmp case.0x101b497b.11
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0x24]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 0x10
lea esi, [edi + eax*8]
mov eax, dword [ebx + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x10]
lea edi, [edi + ecx*8]
mov dword [ebp - 0x30], eax
jne 0x101b84c1
call fcn.10159200
test eax, eax
jne 0x101b5fd8
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x101b84e5
mov edx, dword [edi + 4]
mov ecx, dword [edi]
push edx
push ecx
push eax
mov eax, dword [esi + 0x10]
call fcn.10159680
add esp, 0xc
test eax, eax
jne 0x101b709f
mov eax, dword [ebp - 0x30]
test eax, eax
js case.0x101b497b.85
mov edx, dword [edi + 4]
mov eax, dword [edi]
mov esi, dword [esi + 0x10]
push edx
push eax
call fcn.101597d0
add esp, 8
add ebx, 0x18
jmp 0x101b4962
cmp word [ebx + 2], 0
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
lea esi, [eax + ecx*8]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x44], esi
je 0x101b8541
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xc8]
mov ecx, dword [edx + 0x14]
test eax, eax
je 0x101b8541
cmp dword [eax + 0x1c], ecx
je case.0x101b497b.85
mov eax, dword [eax + 4]
test eax, eax
jne 0x101b8531
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ecx + 0xd0]
mov edi, dword [ebp - 0x20]
cmp eax, dword [edi + 0x94]
jge 0x101b9b6c
test byte [esi + 8], 0x10
jne 0x101b8655
mov ecx, dword [edx + 0xc]
mov eax, dword [edx + 8]
add eax, ecx
mov dword [ebp - 0x30], eax
test ecx, ecx
jne 0x101b8576
inc eax
mov dword [ebp - 0x30], eax
lea ecx, [eax + eax*4 + 0xa]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 4]
add eax, 7
lea ecx, [edx + ecx*2]
cdq
and edx, 7
add eax, edx
sar eax, 3
lea eax, [eax + ecx*4]
mov dword [ebp - 0x4c], eax
cdq
push edx
push eax
mov ecx, edi
call fcn.1014f990
mov esi, eax
add esp, 8
test esi, esi
je 0x101b5fdb
mov ebx, dword [ebp - 0x44]
mov eax, ebx
call fcn.101431b0
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x30]
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], esi
mov dword [ebx + 0x24], 0x1011d4c0
mov edx, 0x410
mov word [ebx + 8], dx
mov ebx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov dword [esi + 0x3c], ecx
mov dword [esi], ebx
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x50]
mov dword [esi + 0x40], eax
mov eax, 0x2aaaaaab
imul edx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x30], eax
mov edx, dword [ebx + 0x58]
mov dword [esi + 0x10], edx
mov eax, dword [ebx + 0x18]
mov dword [esi + 0x38], eax
mov edx, dword [ebx + 0x60]
mov dword [esi + 0x14], edx
mov eax, dword [ebx + 0x1c]
mov dword [esi + 0x2c], eax
mov edx, dword [ebx + 0x68]
mov dword [esi + 8], edx
mov eax, dword [ebx + 0x6c]
mov edx, dword [ebp - 0x28]
mov dword [esi + 0x34], eax
mov eax, dword [edx + 0x14]
lea ecx, [ecx + ecx*4 + 0xa]
mov dword [esi + 0x1c], eax
lea ecx, [esi + ecx*8]
lea eax, [esi + 0x50]
cmp eax, ecx
je 0x101b865a
jmp 0x101b8640
mov edx, 0x80
mov word [eax + 8], dx
mov dword [eax + 0x20], edi
add eax, 0x28
cmp eax, ecx
jne 0x101b8640
jmp 0x101b865a
mov esi, dword [esi + 0x10]
mov ebx, ecx
inc dword [ebx + 0xd0]
mov eax, dword [ebx + 0xc8]
mov dword [esi + 4], eax
mov ecx, dword [edi + 0x28]
mov dword [esi + 0x20], ecx
mov edx, dword [edi + 0x2c]
mov dword [esi + 0x24], edx
mov eax, dword [ebx + 0x2c]
mov dword [esi + 0x44], eax
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x64]
mov dword [esi + 0x48], edx
mov eax, dword [ebx + 0xdc]
mov dword [esi + 0x28], eax
mov dword [ebx + 0xc8], esi
xor edi, edi
mov dword [ebx + 0xdc], edi
mov dword [ebx + 0x2c], edi
lea eax, [esi + 0x50]
mov dword [ebx + 0x58], eax
mov ecx, dword [esi + 0x3c]
mov dword [ebx + 0x18], ecx
movzx edx, word [esi + 0x40]
mov dword [ebp - 0x24], eax
mov dword [ebx + 0x1c], edx
mov edx, dword [ebp - 0x28]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*8]
mov dword [ebx + 0x60], eax
mov ecx, dword [edx + 0xc]
lea ecx, [eax + ecx*4]
mov dword [esi + 0x18], ecx
mov eax, dword [edx + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push edi
push ecx
call fcn.100ffab0
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
mov dword [ebx + 0x68], eax
mov edx, dword [ecx + 4]
add esp, 0xc
mov dword [ebp - 0x50], eax
add eax, 0xffffffe8
mov dword [ebx + 0x6c], edx
mov dword [ebp - 0x18], eax
jmp 0x101b92e2
mov esi, dword [ebp - 0x1c]
mov eax, ebx
mov edx, esi
call fcn.10143c80
mov edx, dword [esi + 0xc8]
mov ecx, dword [edx + 0x30]
mov esi, dword [edx + 8]
mov edx, dword [edx + 0x10]
lea ecx, [ecx + ecx*2]
mov ecx, dword [esi + ecx*8 + 4]
add ecx, dword [ebx + 4]
push 0x1000
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
push ecx
push eax
call fcn.10143080
add esp, 0xc
add ebx, 0x18
jmp 0x101b4962
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 0x20]
and eax, 0x80000
xor edx, edx
or eax, edx
mov eax, dword [ebx + 8]
je 0x101b8769
cdq
add dword [ecx + 0x200], eax
adc dword [ecx + 0x204], edx
add ebx, 0x18
jmp 0x101b4962
cmp dword [ebx + 4], edx
cdq
je 0x101b8783
add dword [ecx + 0x1f8], eax
adc dword [ecx + 0x1fc], edx
add ebx, 0x18
jmp 0x101b4962
mov ecx, dword [ebp - 0x1c]
add dword [ecx + 0x40], eax
adc dword [ecx + 0x44], edx
add ebx, 0x18
jmp 0x101b4962
cmp dword [ebx + 4], 0
je 0x101b87b1
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x1f8]
or edx, dword [eax + 0x1fc]
jne case.0x101b497b.85
jmp 0x101b87c3
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x40]
or edx, dword [eax + 0x44]
jne case.0x101b497b.85
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x200]
or ecx, dword [eax + 0x204]
je 0x101b709f
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebp - 0x1c]
mov ecx, dword [edx + 0xc8]
test ecx, ecx
je 0x101b8808
mov eax, dword [ecx + 4]
test eax, eax
je 0x101b87fa
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x101b87f1
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
jmp 0x101b8814
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
lea edi, [eax + edx*8]
mov esi, edi
call fcn.1013fa70
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x24]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
call fcn.1013fa70
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov ecx, dword [edi + 4]
cmp ecx, esi
jg case.0x101b497b.85
jl 0x101b8846
cmp dword [edi], eax
jae case.0x101b497b.85
mov dword [edi], eax
mov dword [edi + 4], esi
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x24]
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*8 + 4]
mov edi, dword [ecx + eax*8]
lea ecx, [ecx + eax*8]
test esi, esi
jl case.0x101b497b.85
jg 0x101b8878
test edi, edi
je case.0x101b497b.85
mov eax, dword [ebx + 0xc]
cdq
sub edi, eax
sbb esi, edx
mov dword [ecx], edi
mov dword [ecx + 4], esi
jmp 0x101b709f
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x24]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + edx*8]
mov edx, dword [ebp - 0x1c]
lea edi, [ecx + eax*8]
mov eax, ebx
call fcn.10143c80
mov ecx, dword [esi]
mov esi, dword [esi + 4]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x11c], esi
test esi, esi
jl 0x101b890b
jg 0x101b88c7
test ecx, ecx
je 0x101b890b
mov eax, dword [edi]
mov edi, dword [edi + 4]
test edi, edi
jl 0x101b88d6
jg 0x101b88da
test eax, eax
jne 0x101b88da
xor eax, eax
xor edi, edi
push edi
push eax
lea ecx, [ebp - 0x120]
push ecx
call fcn.1011fec0
add esp, 0xc
test eax, eax
mov eax, dword [ebp - 0x34]
jne 0x101b890b
mov edx, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x11c]
mov dword [eax], edx
mov dword [eax + 4], ecx
add ebx, 0x18
jmp 0x101b4962
mov dword [eax], 0xffffffff
mov dword [eax + 4], 0xffffffff
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + edx*8 + 4]
lea edx, [eax + edx*8]
mov eax, dword [edx]
mov esi, eax
or esi, ecx
je case.0x101b497b.85
test ecx, ecx
jl 0x101b709f
jg 0x101b894e
test eax, eax
je 0x101b709f
sub eax, 1
sbb ecx, 0
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x101b709f
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x24]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
cmp ecx, 0x80000000
jl 0x101b8988
jg 0x101b897d
test edx, edx
je 0x101b8988
sub edx, 1
sbb ecx, 0
mov dword [eax], edx
mov dword [eax + 4], ecx
mov ecx, dword [eax]
or ecx, dword [eax + 4]
je 0x101b709f
add ebx, 0x18
jmp 0x101b4962
movzx ebx, word [ebx + 2]
mov edi, dword [ebp - 0x20]
xor esi, esi
lea edx, [ebx*4 + 0x44]
push esi
push edx
mov ecx, edi
call fcn.1014f870
mov ecx, eax
add esp, 8
cmp ecx, esi
je 0x101b5fdb
lea eax, [ecx + ebx*4 + 0x1c]
mov dword [ecx], eax
mov dword [ecx + 8], esi
mov dword [eax + 0x18], esi
mov esi, dword [ebp - 0x18]
mov dword [eax + 0x20], edi
mov edx, 1
mov word [eax + 8], dx
mov eax, dword [esi + 0x10]
mov dword [ecx + 4], eax
mov edx, esi
sub edx, dword [ebp - 0x50]
mov eax, 0x2aaaaaab
imul edx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1c]
mov byte [ecx + 0x19], bl
mov dword [ecx + 0x10], eax
mov dword [ecx + 0xc], edx
mov byte [ecx + 0x18], 0
mov dword [ecx + 0x14], 0
mov dword [esi + 0x10], ecx
mov word [esi], 0xf09b
mov ebx, esi
mov eax, dword [ebx + 0xc]
mov esi, dword [ebp - 0x24]
mov edi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0x44], eax
cmp dword [edi + 8], eax
je 0x101b8a56
movzx ecx, byte [edi + 0x19]
dec ecx
mov dword [edi + 8], eax
js 0x101b8a56
lea edx, [edi + ecx*4 + 0x1c]
mov edi, edi
mov eax, dword [ebx + 8]
add eax, ecx
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx], eax
sub edx, 4
dec ecx
jns 0x101b8a40
mov eax, dword [ebp - 0x44]
inc dword [eax + 0xc]
cmp dword [ebx + 4], 0
je 0x101b8a73
movzx eax, byte [edi + 0x19]
mov ecx, dword [edi + 4]
mov ecx, dword [ecx + 0x1c]
lea edx, [edi + 0x1c]
push edx
push eax
push edi
call ecx
jmp 0x101b8a85
movzx ecx, byte [edi + 0x19]
mov edx, dword [edi + 4]
mov edx, dword [edx + 0x10]
lea eax, [edi + 0x1c]
push eax
push ecx
push edi
call edx
mov eax, dword [edi + 0x14]
add esp, 0xc
test eax, eax
je case.0x101b497b.85
jle 0x101b8aba
mov eax, dword [edi]
push eax
call sym.SQLite.Interop.dll_sqlite3_value_text
mov esi, dword [ebp - 0x1c]
add esp, 4
push eax
push 0x102759c0
call fcn.1015e160
mov ecx, dword [edi + 0x14]
mov esi, dword [ebp - 0x24]
add esp, 8
mov dword [ebp - 0x14], ecx
cmp byte [edi + 0x18], 0
je 0x101b8add
mov ebx, dword [ebx - 0x14]
test ebx, ebx
je 0x101b8ad9
lea edx, [ebx + ebx*4]
push 0
push 1
lea eax, [esi + edx*8]
call fcn.10144050
add esp, 8
mov byte [edi + 0x18], 0
mov eax, dword [edi]
call fcn.101431b0
cmp dword [ebp - 0x14], 0
mov eax, dword [edi]
mov ecx, 1
mov word [eax + 8], cx
mov dword [edi + 0x14], 0
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
lea edi, [eax + edx*8]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x101b8b41
mov esi, dword [ebp - 0x24]
lea ecx, [eax + eax*4]
push edi
mov edi, dword [ebx + 0x10]
lea eax, [esi + ecx*8]
call fcn.10141d80
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
add esp, 4
lea edi, [esi + edx*8]
jmp 0x101b8b4e
mov ecx, dword [ebx + 0x10]
mov eax, edi
call fcn.1013bbc0
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x101b9b84
movzx ecx, byte [ebp - 0x54]
mov eax, edi
call fcn.1016d720
mov ecx, edi
call fcn.1011d780
test eax, eax
je case.0x101b497b.85
mov esi, dword [ebp - 0x1c]
push str.string_or_blob_too_big
call fcn.1015e160
mov dword [ebp - 0x14], 0x12
add esp, 4
mov edx, dword [ebp - 0x20]
cmp byte [edx + 0x51], 0
je 0x101b8b99
mov dword [ebp - 0x14], 7
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x7c], 0
jne 0x101b9c45
mov edx, dword [ebp - 0x14]
cmp edx, 0xc0a
je 0x101b9c45
mov eax, edx
sub eax, 0x64
mov ecx, str.unknown_error
je 0x101b9c2f
dec eax
je 0x101b9c28
sub eax, 0x19f
je 0x101b9c21
mov eax, edx
and eax, 0xff
cmp eax, 0x1c
ja 0x101b9c34
mov eax, dword [eax*4 + 0x102727e0]
test eax, eax
je 0x101b9c34
mov ecx, eax
jmp 0x101b9c34
mov edx, dword [ebx + 8]
or eax, 0xffffffff
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 8]
push eax
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0xc]
push ecx
mov ecx, dword [ebp - 0x20]
push edx
push eax
xor esi, esi
push ecx
mov dword [ebp - 0x10], esi
call fcn.1017d4d0
add esp, 0x14
mov dword [ebp - 0x14], eax
cmp eax, esi
je 0x101b8c44
cmp eax, 5
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], 1
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
lea edi, [eax + edx*8]
mov eax, dword [ebp + esi*4 - 0x10]
cdq
push edx
push eax
mov eax, edi
call fcn.10144050
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x101b8c50
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebp - 0x1c]
mov eax, ebx
call fcn.10143c80
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0x20]
mov edi, dword [ebx + 0xc]
mov esi, eax
mov eax, dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [eax + 4]
mov ebx, dword [ecx]
movzx edx, byte [ebx + 5]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x28], edx
cmp edi, 0xffffffff
jne 0x101b8ca6
mov edi, edx
mov eax, ebx
call fcn.1011e9b0
test eax, eax
jne 0x101b8cb4
mov edi, dword [ebp - 0x28]
cmp byte [ebx + 0xf], 0
mov eax, 0x1026dd73
jne 0x101b8cc5
mov eax, dword [ebx + 0xa8]
cmp edi, 5
jne 0x101b8ce6
call fcn.101205f0
test eax, eax
je 0x101b8cde
mov eax, ebx
call fcn.1011e900
test eax, eax
jne 0x101b8ce6
mov edi, dword [ebp - 0x28]
jmp 0x101b8d6c
mov eax, dword [ebp - 0x28]
cmp edi, eax
je 0x101b8d6c
cmp eax, 5
je 0x101b8cff
cmp edi, 5
jne 0x101b8d6c
mov ecx, dword [ebp - 0x20]
cmp byte [ecx + 0x4f], 0
je 0x101b9ba3
cmp dword [ecx + 0xb4], 1
jg 0x101b9ba3
cmp eax, 5
jne 0x101b8d3d
mov eax, ecx
push eax
mov eax, ebx
call fcn.1017abe0
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8d72
mov eax, edi
mov ecx, ebx
call fcn.101948a0
jmp 0x101b8d54
cmp eax, 4
jne 0x101b8d4e
mov eax, 2
mov ecx, ebx
call fcn.101948a0
cmp dword [ebp - 0x14], 0
jne 0x101b8d72
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp edi, 5
sete cl
inc ecx
push ecx
call fcn.10199f30
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x101b8d75
mov edi, dword [ebp - 0x28]
mov eax, edi
mov ecx, ebx
call fcn.101948a0
mov edx, 0xa02
mov word [esi + 8], dx
cmp eax, 6
jne 0x101b8d90
xor eax, eax
jmp 0x101b8d97
mov eax, dword [eax*4 + 0x1026eae8]
mov dword [esi + 0x10], eax
call fcn.101205f0
movzx ecx, byte [ebp - 0x54]
mov dword [esi + 0xc], eax
mov eax, esi
mov byte [esi + 0xa], 1
call fcn.1016d720
cmp dword [ebp - 0x14], 0
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 8]
test eax, eax
je 0x101b8dd8
mov ecx, dword [ebp - 0x24]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
jmp 0x101b8dda
xor eax, eax
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
push eax
mov eax, dword [ebx + 4]
add edx, 0x7c
push edx
call fcn.101b3550
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
push eax
call fcn.10193c20
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
je case.0x101b497b.85
cmp eax, 0x65
jne 0x101b8b89
mov dword [ebp - 0x14], 0
jmp 0x101b709c
cmp dword [ebx + 4], 0
mov ecx, dword [ebx + 8]
jne 0x101b8e57
mov eax, dword [ebp - 0x20]
call fcn.1011d110
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebp - 0x1c]
inc ecx
xor ecx, dword [eax + 0x98]
and ecx, 3
xor dword [eax + 0x98], ecx
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + edx*4]
mov eax, dword [edx + 0x28]
or byte [eax + 1], 0x40
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + eax*4]
mov eax, dword [eax + 0x28]
and byte [eax + 1], 0xbf
add ebx, 0x18
jmp 0x101b4962
mov cl, byte [ebx + 0xc]
test cl, cl
jne 0x101b8ed0
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x20]
and eax, 0x400
mov dword [ebp - 0x48], eax
mov eax, 0
jne case.0x101b497b.85
test eax, eax
jne case.0x101b497b.85
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0x20]
mov esi, dword [eax + 0x10]
mov eax, dword [ebx + 8]
add edx, edx
mov edx, dword [esi + edx*8 + 4]
call fcn.101550d0
mov dword [ebp - 0x14], eax
test eax, eax
je case.0x101b497b.85
cmp al, 6
jne 0x101b8b89
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov esi, dword [ebp - 0x1c]
push ecx
push str.database_table_is_locked:__s
call fcn.1015e160
add esp, 8
jmp 0x101b8b89
mov edi, dword [ebx + 0x10]
mov eax, dword [ebp - 0x20]
call fcn.1015a4e0
mov ebx, eax
mov dword [ebp - 0x14], ebx
test edi, edi
je 0x101b8f35
mov esi, dword [edi + 8]
mov edi, dword [ebp - 0x1c]
call fcn.10158de0
test ebx, ebx
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
lea edi, [edx + ecx*8]
lea eax, [ebp - 0x218]
mov dword [ebp - 0x1f8], esi
call fcn.1016d6a0
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x218]
push eax
call sym.SQLite.Interop.dll_sqlite3_value_text
add esp, 4
test eax, eax
je 0x101b8fd4
mov ecx, dword [ebp - 0x1c]
add ecx, 0x7c
push ecx
push eax
mov eax, dword [ebx + 4]
mov ecx, esi
call fcn.1016aee0
add esp, 8
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x218]
call fcn.101431b0
cmp dword [ebp - 0x14], 0
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov esi, dword [ebp - 0x20]
inc dword [esi + 0xc0]
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
push edx
push esi
call fcn.1015d310
dec dword [esi + 0xc0]
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xac], 0
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x101b9be6
mov eax, dword [ebx]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x101b9be6
lea ecx, [ebp - 0xac]
push ecx
mov edx, eax
mov eax, dword [edx + 0x18]
push ebx
call eax
mov edi, dword [ebp - 0x1c]
add esp, 8
mov esi, ebx
mov dword [ebp - 0x14], eax
call fcn.10158de0
cmp dword [ebp - 0x14], 0
jne 0x101b8b89
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
push 2
mov dword [ecx], ebx
mov edi, dword [edx + 4]
push 0xffffffffffffffff
push 0
call fcn.10199480
add esp, 0xc
test eax, eax
je 0x101b9bcf
mov ecx, dword [ebp - 0xac]
mov dword [eax + 0x28], ecx
inc dword [ebx + 4]
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 0xc]
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
lea edx, [eax + edx*8]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov edi, dword [edi + 0x5c]
mov dword [ebp - 0x38], eax
mov eax, dword [eax + 0x28]
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0x30], eax
mov eax, dword [edx]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [edx + 0x28]
mov dword [ebp - 0x44], eax
xor eax, eax
test ecx, ecx
jle 0x101b90fc
add edx, 0x50
mov dword [edi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x101b90f1
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x30]
push edi
push ecx
mov ecx, dword [ebx + 0x10]
push ecx
mov ecx, dword [ebp - 0x4c]
push edx
mov edx, dword [ecx + 0x20]
push eax
call edx
mov edi, dword [ebp - 0x1c]
mov ebx, eax
add esp, 0x14
mov dword [ebp - 0x14], ebx
call fcn.10158de0
test ebx, ebx
jne 0x101b8b89
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx + 0x28]
push eax
call edx
mov ecx, dword [ebp - 0x38]
add esp, 4
mov byte [ecx + 2], bl
test eax, eax
jne 0x101b709c
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, dword [ebx + 4]
mov eax, dword [ebx + 0xc]
mov edi, dword [ecx + edx*4]
cmp byte [edi + 2], 0
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
lea esi, [eax + edx*8]
mov dword [ebp - 0x30], esi
je 0x101b9182
mov eax, esi
call fcn.10141d20
add ebx, 0x18
jmp 0x101b4962
mov ecx, dword [edi + 0x28]
mov eax, dword [ecx]
mov edx, dword [eax]
mov dword [ebp - 0x4c], eax
xor eax, eax
test byte [ebx + 2], 1
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x1a0], esi
je 0x101b91e5
mov eax, esi
call fcn.10141d20
mov eax, 0x4001
mov word [esi + 8], ax
mov dword [esi], 0
jmp 0x101b91f9
mov cx, word [esi + 8]
mov edx, 0x3e40
and cx, dx
or cx, 1
mov word [esi + 8], cx
mov eax, dword [ebx + 8]
mov edx, dword [edi + 0x28]
push eax
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x1a0]
push ecx
mov ecx, dword [eax + 0x2c]
push edx
call ecx
mov esi, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x1c]
add esp, 0xc
mov dword [ebp - 0x14], eax
call fcn.10158de0
cmp dword [ebp - 0x18c], 0
mov edi, dword [ebp - 0x30]
jle 0x101b9250
push edi
call sym.SQLite.Interop.dll_sqlite3_value_text
mov esi, dword [ebp - 0x1c]
add esp, 4
push eax
push 0x102759c0
call fcn.1015e160
mov edx, dword [ebp - 0x18c]
add esp, 8
mov dword [ebp - 0x14], edx
movzx ecx, byte [ebp - 0x54]
mov eax, edi
call fcn.1016d720
mov ecx, edi
call fcn.1011d780
test eax, eax
jne 0x101b8b72
cmp dword [ebp - 0x14], eax
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + eax*4]
cmp byte [eax + 2], 0
mov dword [ebp - 0x30], eax
jne case.0x101b497b.85
mov eax, dword [eax + 0x28]
mov esi, dword [eax]
mov ebx, dword [esi]
mov ecx, dword [ebx + 0x24]
push eax
call ecx
mov edi, dword [ebp - 0x1c]
add esp, 4
mov dword [ebp - 0x14], eax
call fcn.10158de0
cmp dword [ebp - 0x14], 0
jne 0x101b8b89
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 0x28]
mov ecx, dword [ebx + 0x28]
push eax
call ecx
add esp, 4
test eax, eax
jne 0x101b92e2
mov ebx, dword [ebp - 0x18]
mov ebx, dword [ebx + 8]
mov eax, dword [ebp - 0x50]
lea edx, [ebx + ebx*2]
lea ecx, [eax + edx*8 - 0x18]
mov dword [ebp - 0x18], ecx
mov esi, dword [ebp - 0x20]
mov edx, dword [esi + 0x120]
test edx, edx
jne 0x101b9bf4
mov ebx, dword [ebp - 0xb0]
mov edi, dword [ebp - 0x8c]
cmp ebx, edi
jb 0x101b70af
jmp 0x101b9310
mov eax, dword [esi + 0x168]
test eax, eax
je 0x101b70af
add edi, dword [esi + 0x170]
mov ecx, dword [esi + 0x16c]
push ecx
mov dword [ebp - 0x8c], edi
call eax
add esp, 4
test eax, eax
jne 0x101b9d64
cmp ebx, edi
jae 0x101b9310
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebp - 0x20]
mov edi, dword [eax + 0x20]
mov edx, dword [eax + 0x24]
or dword [eax + 0x20], 0x4000000
mov dword [eax + 0x24], edx
mov eax, dword [ebx + 0x10]
mov ebx, dword [ebx + 4]
mov edx, dword [ebp - 0x24]
mov esi, dword [eax + 8]
lea ecx, [ebx + ebx*4]
lea ebx, [edx + ecx*8]
mov ecx, 1
mov eax, ebx
and edi, 0x4000000
call fcn.1016d720
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
mov ecx, dword [ebx + 0x10]
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
push ecx
push esi
call edx
add esp, 8
mov ebx, eax
mov dword [ebp - 0x14], ebx
test edi, edi
jne 0x101b93b7
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x24]
and dword [eax + 0x20], 0xfbffffff
mov dword [eax + 0x24], ecx
mov edi, dword [ebp - 0x1c]
call fcn.10158de0
and dword [edi + 0x98], 0xfffffffc
test ebx, ebx
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov edi, dword [ebp - 0x20]
cmp byte [edi + 0x51], 0
jne 0x101b5fdb
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 8]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x101b9be6
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x101b9be6
cmp dword [eax + 0x34], 0
mov ecx, dword [ecx + 8]
je 0x101b70af
mov al, byte [edi + 0x56]
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
mov edi, dword [edx + 0x5c]
mov edx, dword [ebp - 0x24]
mov byte [ebp - 0x85], al
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
xor eax, eax
test ecx, ecx
jle 0x101b9443
mov dword [edi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x101b9438
mov al, byte [ebx + 2]
mov esi, dword [ebp - 0x20]
lea edx, [ebp - 0x1a8]
push edx
push edi
mov edi, dword [ebp - 0x44]
mov byte [esi + 0x56], al
mov eax, dword [ebp - 0x30]
push ecx
mov ecx, dword [eax + 0x34]
push edi
call ecx
mov dl, byte [ebp - 0x85]
mov byte [esi + 0x56], dl
mov esi, edi
mov edi, dword [ebp - 0x1c]
add esp, 0x10
mov dword [ebp - 0x14], eax
call fcn.10158de0
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x101b949b
cmp dword [ebx + 4], ecx
je 0x101b949b
mov edx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x28], edx
mov edx, dword [ebp - 0x1a4]
mov dword [eax + 0x2c], edx
cmp cl, 0x13
jne 0x101b94d6
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x101b94d6
movzx eax, word [ebx + 2]
cmp eax, 4
jne 0x101b94c4
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x14], 0
add ebx, 0x18
jmp 0x101b4962
cmp eax, 5
jne 0x101b94ce
mov eax, 2
mov byte [edi + 0x92], al
jmp 0x101b94d9
inc dword [edi + 0x2c]
test ecx, ecx
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebp - 0x1c]
mov eax, ebx
call fcn.10143c80
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + 0x10]
add ecx, ecx
mov ecx, dword [edx + ecx*8 + 4]
mov edx, dword [ecx + 4]
mov ecx, dword [edx + 0x30]
and ecx, 0x7fffffff
mov dword [eax], ecx
mov dword [eax + 4], 0
add ebx, 0x18
jmp 0x101b4962
mov edx, dword [ebp - 0x1c]
mov eax, ebx
call fcn.10143c80
mov edx, dword [ebx + 4]
mov ebx, dword [ebx + 0xc]
mov esi, eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x10]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
xor ecx, ecx
test ebx, ebx
je 0x101b9558
mov edx, dword [eax + 4]
mov ecx, dword [edx + 0x30]
and ecx, 0x7fffffff
cmp ecx, ebx
jae 0x101b9558
mov ecx, ebx
mov ebx, ecx
call fcn.1013bea0
mov ebx, dword [ebp - 0x18]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
add ebx, 0x18
jmp 0x101b4962
mov eax, dword [ebx + 0xc]
mov edi, dword [ebp - 0x24]
mov esi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], eax
cmp dword [esi], eax
je 0x101b95b6
mov ecx, dword [ebp - 0x1c]
mov dword [esi + 0xc], ecx
movzx ecx, byte [esi + 0x19]
dec ecx
mov dword [esi], eax
js 0x101b95b6
lea edx, [esi + ecx*4 + 0x1c]
lea esp, [esp]
mov eax, dword [ebx + 8]
add eax, ecx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx], eax
sub edx, 4
dec ecx
jns 0x101b95a0
mov eax, dword [ebp - 0x34]
mov cx, word [eax + 8]
mov edx, 0x3e40
and cx, dx
or cx, 1
mov word [eax + 8], cx
movzx edx, byte [esi + 0x19]
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x10]
lea ecx, [esi + 0x1c]
push ecx
push edx
push esi
call eax
mov esi, dword [esi + 0x14]
add esp, 0xc
test esi, esi
je 0x101b9640
jle 0x101b960e
mov ecx, dword [ebp - 0x34]
push ecx
call sym.SQLite.Interop.dll_sqlite3_value_text
mov esi, dword [ebp - 0x1c]
add esp, 4
push eax
push 0x102759c0
call fcn.1015e160
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 0x14]
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebx + 4]
mov esi, dword [ebp - 0x30]
mov edx, dword [esi + 0x10]
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
push ecx
push edx
add eax, 0xdc
call fcn.1013f870
add esp, 8
cmp dword [ebp - 0x14], 0
mov dword [esi + 0x14], 0
jne 0x101b8b89
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x34]
test byte [esi + 8], 0x12
je case.0x101b497b.85
movzx ecx, byte [ebp - 0x54]
mov eax, esi
call fcn.1016d720
mov ecx, esi
call fcn.1011d780
test eax, eax
jne 0x101b8b72
add ebx, 0x18
jmp 0x101b4962
mov esi, dword [ebp - 0x20]
mov al, byte [esi + 0x58]
mov edi, dword [ebp - 0x1c]
test al, 0x41
je 0x101b972a
test byte [edi + 0x98], 0x10
jne 0x101b972a
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x101b96a2
mov edx, dword [edi + 0xc0]
test edx, edx
je 0x101b972a
test al, 0x40
je 0x101b96d2
mov eax, dword [esi + 0xcc]
mov ecx, edi
mov dword [ebp - 0x44], eax
call fcn.10172bb0
mov ecx, dword [esi + 0xd0]
push eax
push ecx
mov dword [ebp - 0x30], eax
call dword [ebp - 0x44]
mov edx, dword [ebp - 0x30]
push edx
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 0xc
jmp 0x101b972a
cmp dword [esi + 0xbc], 1
push edx
jle 0x101b9715
push str.____s
push esi
call fcn.1015fca0
mov ecx, dword [esi + 0xcc]
add esp, 0xc
push eax
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0xd0]
push edi
push eax
push 1
call ecx
add esp, 0x10
cmp dword [ebp - 0x30], 0
je 0x101b972a
mov eax, dword [ebp - 0x30]
mov ecx, esi
call fcn.101364b0
jmp 0x101b972a
mov edx, dword [esi + 0xd0]
mov eax, dword [esi + 0xcc]
push edi
push edx
push 1
call eax
add esp, 0x10
mov ecx, dword [ebx + 4]
cmp ecx, dword [0x10292524]
jl 0x101b9780
cmp byte [ebx], 0xaa
je case.0x101b497b.85
mov esi, 1
mov edx, esi
cmp dword [edi + 0x6c], esi
jle 0x101b976b
mov ecx, 0x18
nop
mov eax, dword [edi + 0x68]
cmp byte [eax + ecx], 0x11
jne 0x101b9761
mov dword [eax + ecx + 4], 0
add edx, esi
add ecx, 0x18
cmp edx, dword [edi + 0x6c]
jl 0x101b9750
mov dword [ebx + 4], 0
add dword [ebx + 4], esi
add dword [edi + 0xbc], esi
jmp 0x101b709f
mov esi, 1
add dword [ebx + 4], esi
add dword [edi + 0xbc], esi
jmp 0x101b709f
mov esi, dword [ebp - 0x1c]
push str.cannot_open_savepoint___SQL_statements_in_progress
call fcn.1015e160
mov dword [ebp - 0x14], 5
jmp 0x101b8b86
mov esi, dword [ebp - 0x1c]
push str.cannot_release_savepoint___SQL_statements_in_progress
call fcn.1015e160
mov dword [ebp - 0x14], 5
jmp 0x101b8b86
mov esi, dword [esi + 0x7c]
test esi, esi
je 0x101b97d5
mov eax, esi
mov ecx, edi
call fcn.101364b0
mov edi, dword [ebp - 0x20]
mov ebx, str.database_schema_has_changed
mov ecx, edi
call fcn.10155e10
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov dword [esi + 0x7c], eax
mov eax, dword [ecx + 4]
mov ecx, dword [edi + 0x10]
mov edx, eax
add edx, edx
mov edx, dword [ecx + edx*8 + 0xc]
mov ecx, dword [ebp - 0xcc]
cmp dword [edx], ecx
je 0x101b980e
push edi
call fcn.1015d9d0
add esp, 4
mov edx, dword [esi + 0x98]
and edx, 0xfffffffd
or edx, 1
mov dword [esi + 0x98], edx
mov dword [ebp - 0x14], 0x11
jmp 0x101b8b89
mov dword [ebp - 0x14], 7
jmp 0x101b82d2
mov ecx, dword [ebx + 4]
mov dword [edi + 0x28], ecx
mov dl, byte [ebx + 8]
mov byte [edi + 0x92], dl
mov dword [edi + 0x24], eax
test ecx, ecx
je 0x101b98d3
movzx eax, word [ebx + 2]
test ax, ax
je 0x101b9897
mov ecx, dword [eax*4 + 0x1026deb4]
push ecx
push str._s_constraint_failed
mov esi, edi
call fcn.1015e160
mov eax, dword [ebx + 0x10]
mov edi, dword [ebp - 0x20]
add esp, 8
test eax, eax
je 0x101b98ae
mov esi, dword [ebp - 0x1c]
mov edx, dword [esi + 0x7c]
push eax
push edx
push str._z:__s
push edi
call fcn.1015fca0
add esp, 0x10
mov dword [esi + 0x7c], eax
jmp 0x101b98ae
mov eax, dword [ebx + 0x10]
mov esi, dword [ebp - 0x1c]
push eax
push 0x102759c0
call fcn.1015e160
mov edi, dword [ebp - 0x20]
add esp, 8
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x7c]
mov edx, dword [eax + 0xc0]
mov eax, dword [ebp - 0x44]
push ecx
mov ecx, dword [ebx + 4]
push edx
push eax
push str.abort_at__d_in___s_:__s
push ecx
call sym.SQLite.Interop.dll_sqlite3_log
add esp, 0x14
jmp 0x101b98d6
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
mov eax, esi
call fcn.1019f890
mov dword [ebp - 0x14], eax
cmp eax, 5
jne 0x101b98f0
mov dword [esi + 0x28], eax
jmp 0x101b9d2d
mov eax, dword [esi + 0x28]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov dword [ebp - 0x14], eax
jmp 0x101b9d2d
mov esi, dword [ebp - 0x1c]
push 0
mov eax, esi
call fcn.10166cb0
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b8b89
lea edx, [eax + 1]
mov eax, esi
call fcn.101995f0
mov edx, dword [esi + 0x20]
mov ecx, dword [ebp - 0x18]
add edx, 2
or edx, 1
mov dword [esi + 0x20], edx
mov eax, dword [ecx + 4]
mov edx, dword [ebp - 0x24]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
xor ebx, ebx
mov dword [esi + 0x78], edi
cmp dword [ecx + 8], ebx
jle 0x101b997d
mov edi, edi
mov eax, 0x1000
test word [edi + 8], ax
je 0x101b996a
mov eax, edi
call fcn.10167020
test eax, eax
jne 0x101b5fd8
mov eax, edi
call fcn.10167000
mov ecx, dword [ebp - 0x18]
inc ebx
add edi, 0x28
cmp ebx, dword [ecx + 8]
jl 0x101b9950
mov edi, dword [ebp - 0x20]
cmp byte [edi + 0x51], 0
jne 0x101b5fdb
test byte [edi + 0x58], 4
je 0x101b99a7
mov edx, dword [edi + 0xd0]
mov eax, dword [edi + 0xcc]
push 0
push esi
push edx
push 4
call eax
add esp, 0x10
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x50]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
lea edx, [edx + ecx + 1]
mov dword [esi + 0x24], edx
mov dword [ebp - 0x14], 0x64
jmp 0x101b9d2d
mov eax, 0x17180
call fcn.1011a6c0
mov dword [ebp - 0x14], eax
jmp 0x101b8b89
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x50]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebx + 0x24], eax
mov eax, 5
mov byte [edi + 0x4f], 0
mov dword [ebp - 0x14], eax
mov dword [ebx + 0x28], eax
jmp 0x101b9d2d
mov edi, dword [ebp - 0x20]
movzx edx, byte [edi + 0x4f]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x30], eax
cmp eax, edx
je 0x101b9ae3
test ecx, ecx
je 0x101b9a43
push 0x204
mov eax, edi
call fcn.10194a90
mov esi, dword [ebp - 0x1c]
add esp, 4
mov byte [edi + 0x4f], 1
jmp 0x101b9a8c
test eax, eax
je 0x101b9a69
cmp dword [edi + 0xb8], 0
jle 0x101b9a69
mov esi, dword [ebp - 0x1c]
push str.cannot_commit_transaction___SQL_statements_in_progress
call fcn.1015e160
mov dword [ebp - 0x14], 5
jmp 0x101b8b86
mov esi, dword [ebp - 0x1c]
push 1
mov eax, esi
call fcn.10166cb0
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101b9d2d
mov al, byte [ebp - 0x30]
mov ebx, dword [ebp - 0x18]
mov byte [edi + 0x4f], al
mov eax, esi
call fcn.1019f890
mov ecx, 5
cmp eax, ecx
jne 0x101b9ac6
sub ebx, dword [ebp - 0x50]
mov eax, 0x2aaaaaab
imul ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dl, 1
sub dl, byte [ebp - 0x30]
mov dword [esi + 0x24], eax
mov byte [edi + 0x4f], dl
mov dword [ebp - 0x14], ecx
mov dword [esi + 0x28], ecx
jmp 0x101b9d2d
call fcn.1013e5d0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x28]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov dword [ebp - 0x14], eax
jmp 0x101b9d2d
test eax, eax
jne 0x101b9aee
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x101b9afc
mov eax, str.cannot_rollback___no_transaction_is_active
test ecx, ecx
jne 0x101b9afc
mov eax, str.cannot_commit___no_transaction_is_active
mov esi, dword [ebp - 0x1c]
push eax
call fcn.1015e160
mov dword [ebp - 0x14], 1
jmp 0x101b8b86
mov dword [ebp - 0x14], 8
jmp 0x101b8b89
cmp al, 5
jne 0x101b8b89
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x50]
mov eax, 0x2aaaaaab
imul ecx
mov eax, dword [ebp - 0x1c]
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [ebp - 0x14]
mov dword [eax + 0x24], ecx
mov dword [eax + 0x28], edx
jmp 0x101b9d2d
mov dword [ebp - 0x14], 0x204
jmp 0x101b8b89
mov dword [ebp - 0x14], 6
mov byte [esi + 0x92], 2
jmp 0x101b8b89
push str.too_many_levels_of_trigger_recursion
mov esi, ecx
mov dword [ebp - 0x14], 1
call fcn.1015e160
jmp 0x101b8b86
push edi
call sym.SQLite.Interop.dll_sqlite3_value_text
mov esi, dword [ebp - 0x1c]
add esp, 4
push eax
push 0x102759c0
call fcn.1015e160
add esp, 8
jmp 0x101b8b89
mov dword [ebp - 0x14], 1
mov eax, str.into
cmp edi, 5
je 0x101b9bb9
mov eax, str.out_of
mov esi, dword [ebp - 0x1c]
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
call fcn.1015e160
add esp, 8
jmp 0x101b8b89
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x1c]
push edx
call ecx
add esp, 4
jmp 0x101b5fd8
mov dword [ebp - 0x14], 6
jmp 0x101b8b89
mov esi, edi
xor edx, edx
cmp byte [esi + 0x51], dl
mov esi, dword [ebp - 0x1c]
sete dl
lea edx, [edx + edx + 7]
mov dword [ebp - 0x14], edx
mov dword [esi + 0x28], edx
call fcn.1011a7f0
push eax
push 0x102759c0
call fcn.1015e160
add esp, 8
jmp 0x101b8b89
mov ecx, str.abort_due_to_ROLLBACK
jmp 0x101b9c34
mov ecx, str.no_more_rows_available
jmp 0x101b9c34
mov ecx, str.another_row_available
mov esi, dword [ebp - 0x1c]
push ecx
push 0x102759c0
call fcn.1015e160
add esp, 8
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x1c]
mov dword [ebx + 0x28], edi
cmp edi, 0xc0a
je 0x101b9c89
mov eax, edi
and eax, 0xff
cmp eax, 0xe
je 0x101b9c67
cmp eax, 0xa
jne 0x101b9c89
mov esi, dword [ebp - 0x20]
mov eax, dword [esi]
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x101b9c82
push 0
push 0
push eax
call ecx
add esp, 0xc
mov dword [esi + 0x48], eax
jmp 0x101b9c8c
xor eax, eax
mov dword [esi + 0x48], eax
jmp 0x101b9c8c
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebx + 0x7c]
mov edx, dword [ebx + 0xc0]
push ecx
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x50]
push edx
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push edi
call sym.SQLite.Interop.dll_sqlite3_log
add esp, 0x14
mov eax, ebx
call fcn.1019f890
cmp edi, 0xc0a
jne 0x101b9d0f
cmp byte [esi + 0x51], 0
jne 0x101b9d0f
cmp byte [esi + 0x52], 0
jne 0x101b9d0f
cmp dword [esi + 0xbc], 0
mov byte [esi + 0x51], 1
jle 0x101b9cef
mov dword [esi + 0x120], 1
mov eax, dword [esi + 0xf4]
inc dword [esi + 0x128]
xor ecx, ecx
mov word [esi + 0x12c], cx
test eax, eax
je 0x101b9d0f
mov dword [eax + 0xc], 7
mov al, byte [ebp - 0x65]
mov dword [ebp - 0x14], 1
test al, al
je 0x101b9d2a
movzx eax, al
dec eax
push esi
call fcn.1015d9d0
add esp, 4
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0xb0]
mov esi, dword [ebp - 0x8c]
lea esp, [esp]
cmp ebx, esi
jb 0x101b9d7a
mov eax, dword [edi + 0x168]
test eax, eax
je 0x101b9d7a
mov edx, dword [edi + 0x16c]
add esi, dword [edi + 0x170]
push edx
call eax
add esp, 4
test eax, eax
je 0x101b9d40
mov dword [ebp - 0x8c], 0xffffffff
mov dword [ebp - 0x14], 9
jmp 0x101b8b89
mov eax, dword [ebp - 0x1c]
add dword [eax + 0xb4], ebx
cmp dword [eax + 0xa0], 0
je 0x101b9d95
push eax
call fcn.1013b720
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100fd740
mov esp, ebp
pop ebp
ret