Function at 0x447eea
Capabilities:
Encrypt data using speck
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x284
mov eax, dword [0x51a448]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov byte [ebp - 0x85], cl
mov dword [ebp - 0xa8], ecx
mov eax, dword [edi + 0x58]
mov ebx, eax
mov esi, dword [edi + 0x5c]
mov dword [ebp - 0x6c], eax
mov eax, dword [edi]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xa4], ecx
mov ecx, edi
mov al, byte [eax + 0x42]
mov dword [ebp - 0x58], edi
mov byte [ebp - 0x5c], al
mov dword [ebp - 0x1c], esi
call fcn.00443d75
push 7
pop eax
cmp dword [edi + 0x28], eax
je 0x449770
mov ecx, dword [ebp - 0x14]
xor eax, eax
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0x68], eax
mov dword [ecx + 0x184], eax
cmp dword [ecx + 0xf8], eax
jne 0x44c509
cmp dword [ecx + 0x130], eax
je 0x447f8b
mov ebx, dword [ecx + 0x138]
xor edx, edx
mov eax, dword [edi + 0xac]
div ebx
sub ebx, edx
mov dword [ebp - 0xa4], ebx
imul ebx, dword [edi + 0x24], 0x14
xorps xmm0, xmm0
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x114], 4
mov dword [ebp - 0xfc], 0x3e00
movsd qword [ebp - 0x148], xmm0
add ebx, dword [ebp - 0x6c]
inc edx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x18], edx
mov dl, byte [ebx]
movzx eax, dl
mov byte [ebp - 0x35], dl
mov dword [ebp - 0x3c], eax
cmp eax, 0xa2
ja case.0x447fd1.96
jmp dword [eax*4 + 0x44c52a]
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
push 0x14
add ecx, esi
pop esi
mov word [ecx + 8], ax
mov eax, ebx
sub eax, dword [ebp - 0x6c]
cdq
idiv esi
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x44c191
imul eax, dword [ebx + 4], 0x28
mov edx, 0x80
imul ebx, dword [eax + esi], 0x14
mov word [eax + esi + 8], dx
add ebx, dword [ebp - 0x6c]
jmp case.0x447fd1.96
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
dec eax
cdq
push 4
mov dword [ecx + esi], eax
pop eax
mov word [ecx + esi + 8], ax
xor eax, eax
mov dword [ecx + esi + 4], edx
cmp dword [ebx + 8], eax
jne 0x44c191
mov ecx, dword [ebp - 0x14]
jmp case.0x447fd1.96
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebp - 0x6c]
lea ebx, [edx - 0x14]
imul eax, dword [ecx + esi], 0x14
imul eax, dword [eax + edx + 8], 0x14
add ebx, eax
mov eax, 0x80
mov word [ecx + esi + 8], ax
jmp 0x448035
imul esi, dword [ebx + 4], 0x28
sub ebx, dword [ebp - 0x6c]
push 4
pop eax
push 0x14
add esi, dword [ebp - 0x1c]
mov word [esi + 8], ax
mov eax, ebx
cdq
pop ebx
idiv ebx
mov ecx, dword [esi]
imul ebx, ecx, 0x14
cdq
add ebx, dword [ebp - 0x6c]
mov dword [esi + 4], edx
mov dword [esi], eax
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
push 0x14
pop eax
add ebx, eax
jmp 0x447fb4
imul eax, dword [ebx + 0xc], 0x28
test byte [eax + esi + 8], 1
je case.0x447fd1.96
mov eax, ebx
sub eax, dword [ebp - 0x6c]
push 0x14
pop esi
cdq
idiv esi
mov edx, dword [ebx + 4]
mov esi, eax
test edx, edx
jne 0x44c1a2
mov eax, dword [edi + 0xb8]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x44c1a2
mov eax, dword [eax + 4]
mov edx, dword [edi + 0x2c]
dec dword [edi + 0xc0]
mov dword [edi + 0xb8], eax
call fcn.00446433
mov ecx, dword [ebp - 0x2c]
call fcn.004444cb
mov edx, dword [edi + 0x58]
push 4
pop ecx
mov dword [ebp - 0x6c], edx
cmp dword [ebx + 8], ecx
jne 0x4480fe
imul eax, eax, 0x14
mov eax, dword [eax + edx + 8]
dec eax
mov esi, dword [edi + 0x5c]
imul ebx, eax, 0x14
mov dword [ebp - 0x1c], esi
add ebx, edx
jmp 0x448035
mov edx, ebx
mov ecx, edi
call fcn.00447ec5
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x448035
mov edx, ebx
mov ecx, edi
call fcn.00447ec5
mov edx, dword [ebx + 0x10]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
jmp 0x448035
mov edx, ebx
mov ecx, edi
call fcn.00447ec5
push 8
pop ecx
mov word [eax + 8], cx
mov ecx, dword [ebx + 0x10]
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
jmp 0x448035
mov edx, ebx
mov ecx, edi
call fcn.00447ec5
mov ecx, dword [ebx + 0x10]
mov esi, eax
mov dword [ebp - 0x2c], esi
mov byte [ebx], 0x3a
call fcn.0042e306
mov dword [ebx + 4], eax
xor eax, eax
inc eax
cmp byte [ebp - 0x5c], al
je 0x4481e3
mov edx, dword [ebx + 0x10]
xor ecx, ecx
push ecx
push eax
push 0xffffffffffffffff
mov ecx, esi
call fcn.00442a6b
movzx edx, byte [ebp - 0x5c]
add esp, 0xc
mov ecx, esi
mov dword [ebp - 0x20], eax
call fcn.00442162
test eax, eax
jne 0x449770
mov dword [esi + 0x18], eax
mov eax, 0x800
or word [esi + 8], ax
cmp byte [ebx + 1], 0xff
mov esi, dword [ebp - 0x14]
jne 0x4481ce
mov edx, dword [ebx + 0x10]
mov ecx, esi
call fcn.0042c1c6
mov ecx, dword [ebp - 0x2c]
mov byte [ebx + 1], 0xff
mov eax, dword [ecx + 0x10]
mov dword [ebx + 0x10], eax
mov eax, dword [ecx + 0xc]
mov dword [ebx + 4], eax
jmp 0x4481e6
mov esi, dword [ebp - 0x14]
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x60]
jg 0x448942
mov edx, ebx
mov ecx, edi
call fcn.00447ec5
mov esi, eax
mov eax, 0xa02
mov word [esi + 8], ax
mov ecx, dword [ebx + 0x10]
mov al, byte [ebp - 0x5c]
mov dword [esi + 0x10], ecx
mov ecx, dword [ebx + 4]
mov dword [esi + 0xc], ecx
mov byte [esi + 0xa], al
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x448082
mov edi, dword [ebp - 0x1c]
imul ecx, eax, 0x28
movzx eax, word [ebx + 2]
cdq
cmp dword [ecx + edi], eax
mov edi, dword [ebp - 0x58]
jne 0x448082
mov eax, dword [ebp - 0x1c]
cmp dword [ecx + eax + 4], edx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
jne 0x448252
mov eax, 0xa10
mov word [esi + 8], ax
mov esi, dword [ebp - 0x1c]
jmp 0x44808b
mov edx, ebx
mov ecx, edi
call fcn.00447ec5
mov ecx, dword [ebx + 0xc]
mov esi, 0x101
mov edx, dword [ebx + 8]
mov dword [ebp - 0x24], ecx
xor ecx, ecx
inc ecx
cmp dword [ebx + 4], 0
cmovne ecx, esi
lea esi, [eax + 0xc]
movzx ecx, cx
mov word [eax + 8], cx
xor eax, eax
mov dword [esi], eax
mov eax, dword [ebp - 0x24]
sub eax, edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x24], eax
test eax, eax
jle 0x448082
mov edi, eax
mov ebx, ecx
lea esi, [esi + 0x28]
lea ecx, [esi - 0xc]
call fcn.00442820
xor eax, eax
mov word [esi - 4], bx
dec edi
mov dword [esi], eax
test edi, edi
jg 0x4482a0
mov ebx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x58]
jmp 0x448082
imul ecx, dword [ebx + 4], 0x28
mov edx, 0xff61
mov ax, word [ecx + esi + 8]
and ax, dx
xor edx, edx
inc edx
or ax, dx
jmp 0x448054
mov edx, ebx
mov ecx, edi
call fcn.00447ec5
mov edx, dword [ebx + 0x10]
mov esi, eax
xor eax, eax
mov ecx, esi
push eax
push eax
push dword [ebx + 4]
call fcn.00442a6b
add esp, 0xc
mov al, byte [ebp - 0x5c]
mov byte [esi + 0xa], al
jmp 0x448082
imul esi, dword [ebx + 4], 0x28
add esi, dword [edi + 0x74]
lea ecx, [esi - 0x28]
call fcn.0044294a
test eax, eax
jne 0x44893f
imul ecx, dword [ebx + 8], 0x28
lea edx, [esi - 0x28]
add ecx, dword [ebp - 0x1c]
mov eax, 0x800
push eax
call fcn.0044298e
pop ecx
jmp 0x448082
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x74], eax
imul eax, dword [ebx + 4], 0x28
add eax, esi
imul esi, dword [ebx + 8], 0x28
mov dword [ebp - 0x24], eax
add esi, dword [ebp - 0x1c]
mov edx, eax
mov ecx, esi
call fcn.00442a44
mov eax, 0x1000
test word [esi + 8], ax
je 0x448374
mov ecx, esi
call fcn.0044226e
test eax, eax
jne 0x449770
mov eax, dword [ebp - 0x24]
add esi, 0x28
add eax, 0x28
sub dword [ebp - 0x74], 1
mov dword [ebp - 0x24], eax
jne 0x448351
jmp 0x448082
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x24], eax
imul eax, dword [ebx + 4], 0x28
add eax, esi
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x1c]
push 0x1000
mov edx, eax
mov dword [ebp - 0x74], eax
mov ecx, esi
call fcn.0044298e
mov eax, 0x1000
pop ecx
test word [esi + 8], ax
je 0x4483ca
mov ecx, esi
call fcn.0044226e
test eax, eax
jne 0x449770
mov ecx, dword [ebp - 0x24]
mov eax, ecx
dec ecx
mov dword [ebp - 0x24], ecx
test eax, eax
je 0x448082
mov eax, dword [ebp - 0x74]
add esi, 0x28
add eax, 0x28
jmp 0x44839e
imul edx, dword [ebx + 4], 0x28
mov eax, 0x1000
imul ecx, dword [ebx + 8], 0x28
push eax
add edx, esi
add ecx, esi
call fcn.0044298e
pop ecx
jmp 0x448035
imul eax, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 8], 0x28
push dword [eax + esi + 4]
push dword [eax + esi]
add ecx, esi
call fcn.00442894
pop ecx
jmp 0x4483fd
imul edx, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 8], 0x28
add edx, esi
add ecx, esi
mov dword [ebp - 0x24], edx
imul esi, dword [ebx + 0xc], 0x28
mov dword [ebp - 0x34], ecx
movzx eax, word [edx + 8]
mov dword [ebp - 0x2c], eax
mov al, byte [ecx + 8]
or al, byte [ebp - 0x2c]
add esi, dword [ebp - 0x1c]
test al, 1
je 0x448452
mov ecx, esi
call fcn.00442820
jmp 0x448082
movzx eax, word [edx + 8]
test eax, 0x4000
je 0x44846b
mov ecx, edx
call fcn.004422de
mov ecx, dword [ebp - 0x34]
xor edx, edx
jmp 0x44846f
xor edx, edx
mov eax, edx
test eax, eax
jne 0x449770
mov eax, 0x4000
test word [ecx + 8], ax
je 0x44848b
call fcn.004422de
xor edx, edx
jmp 0x44848d
mov eax, edx
test eax, eax
jne 0x449770
mov eax, dword [ebp - 0x24]
test byte [eax + 8], 0x12
jne 0x4484b2
push edx
mov dl, byte [ebp - 0x5c]
mov ecx, eax
call fcn.0044237d
pop ecx
test eax, eax
jne 0x449770
mov eax, dword [ebp - 0x34]
test byte [eax + 8], 0x12
jne 0x4484d4
mov dl, byte [ebp - 0x5c]
xor ecx, ecx
push ecx
mov ecx, eax
call fcn.0044237d
pop ecx
test eax, eax
jne 0x449770
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x24]
mov eax, dword [eax + 0xc]
mov ecx, dword [ecx + 0xc]
add ecx, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], ecx
cmp ecx, dword [eax + 0x60]
jg 0x44c357
xor eax, eax
lea edx, [ecx + 2]
cmp esi, dword [ebp - 0x34]
mov ecx, esi
sete al
push eax
call fcn.00442177
pop ecx
test eax, eax
jne 0x449770
mov ax, word [esi + 8]
mov ecx, 0x3e00
and ax, cx
push 2
pop ecx
or ax, cx
mov word [esi + 8], ax
mov eax, dword [ebp - 0x34]
cmp esi, eax
je 0x44853b
push dword [eax + 0xc]
push dword [eax + 0x10]
push dword [esi + 0x10]
call fcn.0049f810
mov eax, dword [ebp - 0x34]
add esp, 0xc
mov ecx, dword [ebp - 0x24]
mov eax, dword [eax + 0xc]
add eax, dword [esi + 0x10]
push dword [ecx + 0xc]
push dword [ecx + 0x10]
push eax
call fcn.0049f810
mov eax, dword [esi + 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x2c]
add esp, 0xc
mov byte [ecx + eax], dl
mov eax, dword [esi + 0x10]
mov byte [ecx + eax + 1], dl
mov eax, 0x200
or word [esi + 8], ax
mov dword [esi + 0xc], ecx
jmp 0x4482fe
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.00447e96
movzx eax, ax
mov dword [ebp - 0x4c], eax
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0x1c]
mov ecx, eax
mov dword [ebp - 0x74], eax
call fcn.00447e96
movzx edx, ax
imul eax, dword [ebx + 0xc], 0x28
push 4
mov dword [ebp - 0x7c], edx
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x74]
mov ax, word [eax + 8]
or ax, word [esi + 8]
movzx ecx, ax
mov al, dl
and al, byte [ebp - 0x4c]
pop edx
test dl, al
je 0x4486d0
mov eax, dword [ebp - 0x74]
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov byte [ebp - 0x35], 1
mov edi, dword [eax]
mov dword [ebp - 0x34], edi
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xb0], eax
movzx eax, byte [ebx]
mov dword [ebp - 0x24], edi
mov dword [ebp - 0xac], edi
mov edi, dword [ebp - 0x58]
sub eax, 0x58
je 0x44868e
sub eax, 1
je 0x44867f
sub eax, 1
je 0x448670
sub eax, 1
mov eax, ecx
je 0x448642
or eax, edx
je 0x4487f4
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x448627
xor ecx, ecx
inc ecx
xor eax, eax
mov edx, eax
push edx
push ecx
push dword [ebp - 0x24]
push dword [ebp - 0x34]
call fcn.004f3e60
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], edx
jmp 0x4486a1
or eax, edx
je 0x4487f4
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x34]
jne 0x448663
test eax, eax
jne 0x448663
cmp dword [ebp - 0x24], 0x80000000
je 0x4486de
push edx
push ecx
push dword [ebp - 0x24]
push eax
call fcn.004f3cd0
jmp 0x448634
push edx
push ecx
lea ecx, [ebp - 0xb0]
call fcn.0042f324
jmp 0x44869b
push edx
push ecx
lea ecx, [ebp - 0xb0]
call fcn.0042f2d6
jmp 0x44869b
push edx
push ecx
lea ecx, [ebp - 0xb0]
call fcn.0042f24c
pop ecx
pop ecx
test eax, eax
jne 0x4486de
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xb0]
mov dword [ecx], eax
mov eax, dword [ebp - 0xac]
mov dword [ecx + 4], eax
mov edx, 0x3e00
mov ax, word [ecx + 8]
and ax, dx
push 4
pop edx
or ax, dx
mov word [ecx + 8], ax
jmp 0x448082
test cl, 1
jne 0x4487f4
xor eax, eax
mov byte [ebp - 0x35], al
mov ecx, esi
call fcn.0044262b
mov ecx, dword [ebp - 0x74]
movsd qword [ebp - 0x30], xmm0
call fcn.0044262b
movzx eax, byte [ebx]
movsd qword [ebp - 0x48], xmm0
sub eax, 0x58
je 0x44879d
sub eax, 1
je 0x448796
sub eax, 1
je 0x44878f
sub eax, 1
je 0x448776
movsd xmm0, qword [ebp - 0x30]
call fcn.004f438f
movsd xmm0, qword [ebp - 0x48]
mov esi, eax
mov dword [ebp - 0x2c], edx
call fcn.004f438f
mov ecx, edx
mov dword [ebp - 0x64], eax
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0xac], ecx
mov ecx, esi
or ecx, edx
mov dword [ebp - 0xb0], eax
je 0x4487f4
mov eax, esi
and eax, edx
cmp eax, 0xffffffff
jne 0x448760
xor esi, esi
inc esi
xor eax, eax
mov edx, eax
push edx
push esi
push dword [ebp - 0x44]
push dword [ebp - 0x64]
call fcn.004f3e60
mov ecx, eax
call fcn.004f44e0
jmp 0x4487a2
movsd xmm1, qword [ebp - 0x30]
ucomisd xmm1, qword [ebp - 0x148]
lahf
test ah, 0x44
jnp 0x4487f4
divsd xmm0, xmm1
jmp 0x4487a2
mulsd xmm0, qword [ebp - 0x30]
jmp 0x4487a2
subsd xmm0, qword [ebp - 0x30]
jmp 0x4487a2
addsd xmm0, qword [ebp - 0x30]
movsd qword [ebp - 0x48], xmm0
call fcn.0042e2d8
test eax, eax
jne 0x4487f4
mov ecx, dword [ebp - 0x3c]
mov edx, 0x3e00
movsd xmm0, qword [ebp - 0x48]
push 8
mov ax, word [ecx + 8]
and ax, dx
movsd qword [ecx], xmm0
pop edx
or ax, dx
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x7c]
or al, byte [ebp - 0x4c]
test dl, al
jne 0x448082
cmp byte [ebp - 0x35], 0
jne 0x448082
call fcn.00442652
jmp 0x448082
mov ecx, dword [ebp - 0x3c]
jmp 0x448448
mov eax, dword [ebx + 4]
test eax, eax
je case.0x447fd1.96
xor ecx, ecx
push ecx
push ecx
imul ecx, eax, 0x28
jmp 0x448412
movzx eax, word [ebx + 2]
xor edx, edx
mov dword [ebp - 0x2c], eax
push edx
lea eax, [eax*4 + 0x1c]
push eax
call fcn.0042c3e6
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x449770
xor eax, eax
mov dword [esi], eax
mov eax, ebx
mov ecx, dword [ebx + 0x10]
sub eax, dword [ebp - 0x6c]
mov dword [esi + 4], ecx
push 0x14
cdq
pop ecx
idiv ecx
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x2c]
mov byte [esi + 0x1a], al
mov word [ebx], 0xf048
mov dword [ebx + 0x10], esi
imul ecx, dword [ebx + 0xc], 0x28
mov esi, dword [ebx + 0x10]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], ecx
cmp dword [esi], ecx
je 0x44889e
movzx edx, byte [esi + 0x1a]
sub edx, 1
mov dword [esi], ecx
js 0x44889e
lea edi, [edx + 7]
push 4
lea edi, [esi + edi*4]
pop ecx
mov eax, dword [ebx + 8]
add eax, edx
imul eax, eax, 0x28
add eax, dword [ebp - 0x1c]
mov dword [edi], eax
sub edi, ecx
sub edx, 1
jns 0x448884
mov edi, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x24]
mov ax, word [ecx + 8]
mov edx, 0x3e00
and ax, dx
xor edx, edx
inc edx
or ax, dx
mov word [ecx + 8], ax
xor eax, eax
mov ecx, dword [esi + 4]
mov byte [esi + 0x19], al
lea eax, [esi + 0x1c]
push eax
movzx eax, byte [esi + 0x1a]
push eax
push esi
call dword [ecx + 0xc]
add esp, 0xc
cmp byte [esi + 0x19], 0
je 0x448918
xor eax, eax
cmp dword [esi + 0x14], eax
je 0x4488f7
push dword [ebp - 0x24]
call fcn.004467b8
pop ecx
push eax
push 0x50811c
push edi
call fcn.00443160
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x20], eax
push dword [ebx + 4]
mov ecx, dword [ebp - 0x14]
lea edx, [edi + 0xcc]
push dword [esi + 0x10]
call fcn.00444fd1
mov eax, dword [ebp - 0x20]
pop ecx
pop ecx
test eax, eax
jne 0x448b67
mov esi, dword [ebp - 0x24]
test byte [esi + 8], 0x12
je 0x448082
movzx edx, byte [ebp - 0x5c]
mov ecx, esi
call fcn.00442162
mov ecx, esi
call fcn.0044294a
test eax, eax
je 0x448082
mov esi, dword [ebp - 0x14]
push str.string_or_blob_too_big
push edi
call fcn.00443160
pop ecx
pop ecx
push 0x12
pop eax
jmp 0x448b6a
imul ecx, dword [ebx + 8], 0x28
imul esi, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0x1c]
imul edx, dword [ebx + 0xc], 0x28
add ecx, eax
add esi, eax
add edx, eax
mov al, byte [ecx + 8]
or al, byte [esi + 8]
mov dword [ebp - 0x64], edx
test al, 1
je 0x448980
mov ecx, edx
jmp 0x448448
call fcn.004425c4
mov ecx, esi
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
call fcn.004425c4
mov cl, byte [ebx]
mov esi, eax
mov byte [ebp - 0x35], cl
cmp cl, 0x54
jne 0x4489b5
and dword [ebp - 0x98], esi
and dword [ebp - 0x94], edx
jmp 0x448af4
cmp cl, 0x55
jne 0x4489cb
or dword [ebp - 0x98], esi
or dword [ebp - 0x94], edx
jmp 0x448af4
mov eax, esi
or eax, edx
je 0x448af4
xor eax, eax
cmp edx, eax
jg 0x448a17
jl 0x4489e1
cmp esi, eax
jae 0x448a0a
mov al, 0xad
sub al, cl
mov cl, al
mov byte [ebp - 0x35], cl
cmp edx, 0xffffffff
jl 0x448a01
jg 0x4489f6
cmp esi, 0xffffffc0
jbe 0x448a01
neg esi
push 0
pop eax
adc edx, eax
neg edx
jmp 0x448a0a
push 0x40
pop eax
mov esi, eax
xor eax, eax
mov edx, eax
cmp edx, eax
jl 0x448a54
jg 0x448a17
push 0x40
pop edx
cmp esi, edx
jb 0x448a54
cmp dword [ebp - 0x94], eax
jg 0x448a35
jl 0x448a29
cmp dword [ebp - 0x98], eax
jae 0x448a35
cmp cl, 0x56
je 0x448a35
or eax, 0xffffffff
or ecx, eax
jmp 0x448a43
xorps xmm0, xmm0
movlpd qword [ebp - 0x30], xmm0
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], ecx
jmp 0x448af4
push 8
pop eax
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.0049f810
mov eax, dword [ebp - 0xb8]
add esp, 0xc
cmp byte [ebp - 0x35], 0x56
mov ecx, esi
mov edx, dword [ebp - 0xb4]
jne 0x448a89
call fcn.004f3c90
jmp 0x448ace
call fcn.004f3cb0
mov dword [ebp - 0x2c], eax
mov ecx, edx
mov dword [ebp - 0xb8], eax
xor eax, eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0xb4], ecx
cmp dword [ebp - 0x94], eax
jg 0x448ada
jl 0x448ab6
cmp dword [ebp - 0x98], eax
jae 0x448ada
push 0x40
pop eax
mov ecx, eax
or edx, 0xffffffff
sub ecx, esi
or eax, 0xffffffff
call fcn.004f3c90
or eax, dword [ebp - 0x2c]
or edx, dword [ebp - 0x44]
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xb8], eax
push 8
pop eax
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.0049f810
add esp, 0xc
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x98]
mov dword [ecx], eax
mov eax, dword [ebp - 0x94]
jmp 0x4486b2
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.004426ae
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp 0x448082
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x1c]
movzx eax, word [esi + 8]
mov edx, eax
test al, 4
jne 0x448c29
push dword [ebp - 0x5c]
mov dl, 0x43
mov ecx, esi
call fcn.00447dc7
movzx eax, word [esi + 8]
pop ecx
push 4
pop ecx
mov edx, eax
test cl, al
jne 0x448c26
xor eax, eax
cmp dword [ebx + 8], eax
jne 0x44c191
push 0x14
pop eax
mov esi, dword [ebp - 0x14]
xor ecx, ecx
cmp byte [esi + 0x45], 0
mov esi, 0xc0a
push 7
pop edx
cmovne eax, edx
mov dword [ebp - 0x20], eax
cmp dword [edi + 0x6c], ecx
jne 0x448ba0
cmp eax, esi
je 0x448ba0
mov ecx, eax
call fcn.0047b585
push eax
push 0x50811c
push edi
call fcn.00443160
mov eax, dword [ebp - 0x20]
add esp, 0xc
mov ecx, dword [ebp - 0x14]
mov edx, eax
mov dword [edi + 0x28], eax
call fcn.0042e370
push dword [edi + 0x6c]
sub ebx, dword [ebp - 0x6c]
push dword [edi + 0xb0]
mov eax, ebx
mov ebx, dword [ebp - 0x20]
push 0x14
pop ecx
cdq
idiv ecx
push eax
push str.statement_aborts_at__d:___s___s
push ebx
call fcn.0042d9ca
add esp, 0x14
mov ecx, edi
call fcn.00444c1a
cmp ebx, esi
mov ebx, dword [ebp - 0x14]
jne 0x448be8
mov ecx, ebx
call fcn.0042c5f1
mov al, byte [ebp - 0x85]
mov dword [ebp - 0x20], 1
test al, al
je 0x448c04
movzx edx, al
mov ecx, ebx
dec edx
call fcn.004580d0
mov eax, dword [ebp - 0x18]
mov ecx, edi
add dword [edi + 0xac], eax
call fcn.00443e15
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x20]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.0049d307
leave
ret
mov ecx, dword [ebp - 0x14]
mov eax, 0x3e00
and edx, eax
push 4
pop eax
or edx, eax
mov word [esi + 8], dx
jmp 0x448085
imul eax, dword [ebx + 4], 0x28
push 4
pop edx
add eax, esi
test byte [eax + 8], dl
je case.0x447fd1.96
mov ecx, eax
call fcn.004426d3
jmp 0x448035
imul esi, dword [ebx + 4], 0x28
mov eax, 0x4000
add esi, dword [ebp - 0x1c]
test word [esi + 8], ax
je 0x448c77
mov ecx, esi
call fcn.004422de
jmp 0x448c79
xor eax, eax
push dword [ebp - 0x5c]
mov dl, byte [ebx + 8]
mov ecx, esi
mov dword [ebp - 0x20], eax
call fcn.00442769
pop ecx
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x448b67
jmp 0x448082
imul edx, dword [ebx + 4], 0x28
imul eax, dword [ebx + 0xc], 0x28
add edx, esi
add esi, eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], esi
movzx eax, word [edx + 8]
movzx esi, word [esi + 8]
mov edx, esi
mov dword [ebp - 0x34], eax
or edx, eax
mov dword [ebp - 0x3c], esi
test dl, 1
je 0x448d2b
movzx eax, word [ebx + 2]
mov edx, 0x80
test dl, al
je 0x448cf9
mov al, byte [ebp - 0x3c]
xor ecx, ecx
and al, byte [ebp - 0x34]
inc ecx
test cl, al
je 0x448cef
test esi, 0x100
jne 0x448cef
mov esi, dword [ebp - 0x50]
xor eax, eax
jmp 0x448e3f
mov esi, dword [ebp - 0x50]
mov edx, ecx
jmp 0x448e41
test al, 0x20
je 0x448d1e
imul ecx, dword [ebx + 8], 0x28
xor edx, edx
mov esi, dword [ebp - 0x1c]
inc edx
mov dword [ebp - 0xa8], edx
mov ax, word [ecx + esi + 8]
and ax, word [ebp - 0xfc]
jmp 0x4482d7
test al, 0x10
jne 0x44c191
jmp 0x448085
mov al, byte [ebx + 2]
and al, 0x47
cmp al, 0x43
jb 0x448dc8
mov esi, dword [ebp - 0x4c]
push 2
pop eax
movzx ecx, word [esi + 8]
mov esi, dword [ebp - 0x50]
test al, dl
je 0x448d8b
mov al, byte [ebp - 0x34]
push 2
and al, 0xe
pop ecx
cmp al, cl
jne 0x448d68
xor edx, edx
mov ecx, esi
call fcn.00447d43
mov ecx, dword [ebp - 0x4c]
movzx eax, word [ecx + 8]
mov dword [ebp - 0x3c], eax
mov al, byte [ebp - 0x3c]
movzx ecx, word [ebp - 0x3c]
and al, 0xe
push 2
pop edx
cmp al, dl
jne 0x448d8b
mov ecx, dword [ebp - 0x4c]
xor edx, edx
call fcn.00447d43
mov eax, dword [ebp - 0x4c]
movzx ecx, word [eax + 8]
jmp 0x448d8e
mov eax, dword [ebp - 0x4c]
and cl, byte [esi + 8]
push 4
pop edx
test dl, cl
je 0x448e31
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, dword [esi + 4]
jl 0x448dbf
jg 0x448dac
cmp ecx, dword [esi]
jbe 0x448db4
xor edx, edx
inc edx
jmp 0x448e41
cmp eax, dword [esi + 4]
jg 0x448dc4
jl 0x448dbf
cmp ecx, dword [esi]
jae 0x448dc4
or edx, 0xffffffff
jmp 0x448e41
xor eax, eax
jmp 0x448e3f
mov esi, dword [ebp - 0x50]
cmp al, 0x42
jne 0x448e31
mov al, byte [ebp - 0x34]
push 2
pop ecx
test cl, al
jne 0x448e01
test al, 0xc
je 0x448e01
mov dl, byte [ebp - 0x5c]
mov ecx, esi
push 1
call fcn.0044237d
mov ax, word [esi + 8]
xor ax, word [ebp - 0x34]
pop ecx
mov ecx, 0x7e00
and ax, cx
xor word [ebp - 0x34], ax
push 2
pop ecx
mov al, byte [ebp - 0x3c]
test cl, al
jne 0x448e31
test al, 0xc
je 0x448e31
mov dl, byte [ebp - 0x5c]
mov ecx, dword [ebp - 0x4c]
push 1
call fcn.0044237d
mov eax, dword [ebp - 0x4c]
pop ecx
mov ecx, 0x7e00
mov ax, word [eax + 8]
xor ax, word [ebp - 0x3c]
and ax, cx
xor word [ebp - 0x3c], ax
push dword [ebx + 0x10]
mov ecx, dword [ebp - 0x4c]
mov edx, esi
call fcn.00445907
pop ecx
mov edx, eax
movzx eax, byte [ebx]
sub eax, 0x4d
je 0x448e81
sub eax, 1
je 0x448e78
sub eax, 1
je 0x448e6f
sub eax, 1
je 0x448e66
mov ecx, edx
sub eax, 1
je 0x448e61
not ecx
shr ecx, 0x1f
jmp 0x448e83
xor ecx, ecx
test edx, edx
setle cl
jmp 0x448e83
xor ecx, ecx
test edx, edx
setg cl
jmp 0x448e83
xor ecx, ecx
test edx, edx
sete cl
jmp 0x448e83
mov ecx, edx
mov ax, word [ebp - 0x34]
mov word [esi + 8], ax
mov esi, dword [ebp - 0x4c]
mov ax, word [ebp - 0x3c]
mov word [esi + 8], ax
movzx eax, word [ebx + 2]
test al, 0x20
je 0x448eea
mov dword [ebp - 0xa8], edx
xor edx, edx
test ecx, ecx
setne dl
test al, 8
je 0x448ebf
xor eax, eax
cmp byte [ebx], 0x4e
sete al
cmp eax, edx
je 0x448082
imul ecx, dword [ebx + 8], 0x28
mov esi, dword [ebp - 0x1c]
add ecx, esi
mov ax, word [ecx + 8]
and ax, word [ebp - 0xfc]
or ax, word [ebp - 0x114]
mov word [ecx + 8], ax
xor eax, eax
mov dword [ecx], edx
mov dword [ecx + 4], eax
jmp 0x448035
test ecx, ecx
jne 0x44c191
jmp 0x448082
cmp dword [ebp - 0xa8], 0
jne 0x44c191
jmp case.0x447fd1.96
test byte [ebx + 2], 1
jne 0x448f13
xor eax, eax
jmp 0x448f1b
mov eax, dword [ebx - 4]
push 4
pop edx
add eax, edx
mov esi, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x24], esi
mov esi, dword [ebx + 4]
mov dword [ebp - 0x44], esi
mov esi, dword [ebx + 8]
mov dword [ebp - 0x2c], esi
xor esi, esi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x64], edx
test edx, edx
jle 0x448085
mov edx, dword [ebp - 0x24]
add edx, 0x14
mov dword [ebp - 0x74], edx
test eax, eax
je 0x448f52
mov ecx, dword [eax + esi*4]
jmp 0x448f54
mov ecx, esi
mov eax, dword [ebp - 0x24]
push dword [edx]
mov eax, dword [eax + 0x10]
mov al, byte [esi + eax]
mov byte [ebp - 0x35], al
mov eax, dword [ebp - 0x2c]
add eax, ecx
imul edx, eax, 0x28
mov eax, dword [ebp - 0x44]
add eax, ecx
imul ecx, eax, 0x28
add edx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x1c]
call fcn.00445907
mov dword [ebp - 0xa8], eax
pop ecx
test eax, eax
jne 0x448fa1
mov edx, dword [ebp - 0x74]
inc esi
push 4
pop eax
add edx, eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x74], edx
cmp esi, dword [ebp - 0x64]
jl 0x448f49
jmp 0x448082
cmp byte [ebp - 0x35], 0
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
je 0x44808b
neg eax
mov dword [ebp - 0xa8], eax
jmp 0x44808b
mov eax, dword [ebp - 0xa8]
test eax, eax
jns 0x448fd0
mov eax, dword [ebx + 4]
jmp 0x448fda
jne 0x448fd7
mov eax, dword [ebx + 8]
jmp 0x448fda
mov eax, dword [ebx + 0xc]
mov ebx, dword [ebp - 0x6c]
imul eax, eax, 0x14
add ebx, 0xffffffec
add ebx, eax
jmp case.0x447fd1.96
imul ecx, dword [ebx + 4], 0x28
add ecx, esi
test byte [ecx + 8], 1
je 0x448ffa
push 6
jmp 0x449005
call fcn.004425c4
or eax, edx
je 0x449008
push 3
pop esi
jmp 0x44900c
xor eax, eax
mov esi, eax
imul ecx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0x1c]
test byte [ecx + 8], 1
je 0x449025
mov eax, 0x502096
mov ecx, 0x502916
jmp 0x449044
call fcn.004425c4
or eax, edx
je 0x44903a
mov eax, 0x502095
mov ecx, 0x502915
jmp 0x449044
mov eax, 0x502094
mov ecx, 0x502914
cmp byte [ebx], 0x47
push 2
cmove eax, ecx
imul ecx, dword [ebx + 0xc], 0x28
mov dl, byte [esi + eax]
mov esi, 0x3e00
add ecx, dword [ebp - 0x1c]
mov ax, word [ecx + 8]
and ax, si
movzx esi, ax
pop eax
cmp dl, al
jne 0x44906f
xor eax, eax
inc eax
jmp 0x44907b
movzx eax, dl
cdq
push 4
mov dword [ecx], eax
mov dword [ecx + 4], edx
pop eax
or esi, eax
mov word [ecx + 8], si
jmp 0x448082
imul eax, dword [ebx + 4], 0x28
add eax, esi
imul esi, dword [ebx + 8], 0x28
mov dword [ebp - 0x2c], eax
add esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.00442820
mov ecx, dword [ebp - 0x2c]
test byte [ecx + 8], 1
jne 0x448082
push 4
pop eax
mov word [esi + 8], ax
call fcn.004425c4
or eax, edx
jne 0x4490bf
inc eax
xor ecx, ecx
jmp 0x4490cd
xorps xmm0, xmm0
movlpd qword [ebp - 0x30], xmm0
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov dword [esi + 4], ecx
jmp 0x448080
imul eax, dword [ebx + 4], 0x28
add eax, esi
imul esi, dword [ebx + 8], 0x28
mov dword [ebp - 0x2c], eax
add esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.00442820
mov ecx, dword [ebp - 0x2c]
test byte [ecx + 8], 1
jne 0x448082
push 4
pop eax
mov word [esi + 8], ax
call fcn.004425c4
not eax
not edx
jmp 0x44807d
cmp dword [edi + 0xb8], 0
je 0x44915d
mov eax, ebx
sub eax, dword [edi + 0x58]
cdq
push 0x14
pop ecx
idiv ecx
xor edx, edx
mov ecx, eax
inc edx
mov eax, dword [edi + 0xb8]
mov esi, ecx
shr esi, 3
and ecx, 7
shl edx, cl
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x2c], eax
movzx eax, byte [esi + eax]
test eax, edx
jne 0x44c191
bts eax, ecx
mov ecx, dword [ebp - 0x2c]
mov byte [esi + ecx], al
mov edx, dword [edi + 0x58]
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
jmp 0x44916c
mov edx, dword [edi + 0x58]
mov eax, dword [edx + 4]
cmp eax, dword [ebx + 4]
je 0x44c191
mov eax, dword [edx + 4]
mov dword [ebx + 4], eax
jmp case.0x447fd1.96
imul eax, dword [ebx + 4], 0x28
add eax, esi
test byte [eax + 8], 1
je 0x449188
mov eax, dword [ebx + 0xc]
jmp 0x4491b1
mov ecx, eax
call fcn.0044262b
ucomisd xmm0, qword [ebp - 0x148]
lahf
xor edx, edx
test ah, 0x44
jnp 0x4491a4
inc edx
mov eax, edx
jmp 0x4491a7
xor eax, eax
inc edx
cmp byte [ebx], 0x16
mov ecx, dword [ebp - 0x14]
jne 0x4491b1
xor eax, edx
test eax, eax
jmp 0x448efe
imul eax, dword [ebx + 4], 0x28
test byte [eax + esi + 8], 1
jmp 0x448efe
imul eax, dword [ebx + 4], 0x28
test byte [eax + esi + 8], 1
je 0x44c191
jmp case.0x447fd1.96
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je 0x448035
imul ecx, dword [ebx + 0xc], 0x28
add ecx, esi
call fcn.00442820
jmp 0x44c191
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xa0]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0xa0], eax
call fcn.004451a3
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x448b67
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x54]
add esi, eax
mov eax, dword [ecx + 0x48]
mov dword [ebp - 0x3c], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0x34], esi
cmp eax, dword [edi + 0x20]
je 0x44935b
cmp byte [ecx + 2], 0
je 0x449282
cmp byte [ecx], 3
jne 0x448446
imul edx, dword [ecx + 0x28], 0x28
add edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcc], eax
mov dword [ecx + 0x54], eax
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x4c], ecx
jmp 0x4492cc
mov esi, dword [ecx + 0x28]
mov ecx, esi
call fcn.0043c532
mov ecx, dword [ebp - 0x54]
lea edx, [ebp - 0xcc]
mov dword [ecx + 0x50], eax
mov ecx, esi
call fcn.0043c990
mov ecx, dword [ebp - 0x54]
mov dword [ecx + 0x4c], eax
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0xcc]
mov ecx, dword [edx + 0x50]
cmp ecx, esi
ja 0x4492ba
mov dword [edx + 0x54], ecx
jmp 0x4492c9
mov eax, dword [ebp - 0x14]
cmp ecx, dword [eax + 0x60]
ja 0x44c357
mov dword [edx + 0x54], esi
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x54]
mov edx, 0x80
mov ecx, dword [edi + 0x20]
mov dword [eax + 0x1c], ecx
mov ecx, dword [ebp - 0x54]
mov eax, dword [ecx + 0x4c]
mov al, byte [eax]
cmp al, dl
jae 0x4492f3
movzx eax, al
mov dword [ebp - 0xd0], eax
mov al, 1
jmp 0x449304
mov ecx, dword [ecx + 0x4c]
lea edx, [ebp - 0xd0]
call fcn.0042f087
mov ecx, dword [ebp - 0x54]
movzx eax, al
mov dword [ecx + 0x30], eax
xor ecx, ecx
mov eax, dword [ebp - 0x54]
mov word [eax + 0x3a], cx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xd0]
mov dword [ecx], eax
mov eax, dword [ebp - 0xd0]
cmp dword [ebp - 0xcc], eax
jae 0x44941d
mov eax, dword [ebp - 0x54]
xor ecx, ecx
mov dword [eax + 0x4c], ecx
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x54], ecx
mov eax, dword [ebp - 0xd0]
cmp eax, 0x18003
ja 0x44c246
mov ecx, dword [ebp - 0x54]
cmp eax, dword [ecx + 0x50]
ja 0x44c246
movzx eax, word [ecx + 0x3a]
mov edx, dword [ebp - 0xa0]
cmp eax, edx
jg 0x449537
mov edx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x30]
cmp eax, dword [edx]
jae 0x44950d
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x4493c9
push 0x28
push eax
lea eax, [ebp - 0x258]
push eax
call fcn.0049ef70
mov ecx, dword [ebp - 0x54]
lea eax, [ebp - 0x258]
add esp, 0xc
xor edx, edx
mov ecx, dword [ecx + 0x28]
push eax
mov eax, dword [ebp - 0x3c]
push dword [eax]
call fcn.00442c29
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test eax, eax
jne 0x448b67
mov eax, dword [ebp - 0x248]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x50], eax
movzx edx, word [ecx + 0x3a]
mov ebx, dword [ebp - 0x3c]
mov dword [ebp - 0x74], edx
push 0x58
lea ebx, [ebx + edx*4]
xor edx, edx
mov edi, dword [ebx]
mov esi, edx
mov edx, dword [ecx + 0x30]
mov ecx, dword [ebp - 0x3c]
add edx, eax
mov dword [ebp - 0x24], edx
mov ecx, dword [ecx]
add ecx, eax
pop eax
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x2c], eax
movzx eax, byte [edx]
mov ecx, 0x80
mov dword [ebp - 0x80], eax
cmp eax, ecx
jae 0x44942d
mov cl, al
mov dword [ebp - 0x84], 1
call fcn.00445313
movzx eax, al
cdq
jmp 0x44944d
mov ecx, dword [ebp - 0x54]
test eax, eax
je 0x44935b
mov eax, dword [ecx + 0x4c]
jmp 0x4493c6
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x80]
call fcn.0042f087
mov ecx, dword [ebp - 0x80]
movzx eax, al
mov dword [ebp - 0x84], eax
call fcn.004452fd
xor ecx, ecx
mov edx, ecx
mov ecx, dword [ebp - 0x2c]
add edi, eax
mov eax, dword [ebp - 0x80]
adc esi, edx
mov dword [ebp - 0x44], edi
add ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x24]
add edx, dword [ebp - 0x84]
push 4
mov dword [ecx + ebx], eax
mov eax, dword [ebp - 0x74]
pop ecx
add ebx, ecx
mov dword [ebp - 0x64], esi
mov ecx, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x74], eax
mov dword [ebx], edi
cmp eax, dword [ebp - 0xa0]
jg 0x449490
cmp edx, ecx
jb 0x4493f7
mov eax, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x58]
cmp edx, ecx
jb 0x4494ca
ja 0x4494ae
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [eax + 0x50]
jne 0x4494ae
mov ecx, dword [ebp - 0x64]
test ecx, ecx
je 0x4494cd
xor ecx, ecx
cmp dword [eax + 0x4c], ecx
jne 0x4494c0
lea ecx, [ebp - 0x258]
call fcn.00442531
mov ecx, 0x13c13
jmp 0x44c24b
mov ecx, dword [ebp - 0x64]
xor esi, esi
cmp ecx, esi
mov esi, dword [ebp - 0x34]
ja 0x4494ae
jb 0x4494e0
mov ecx, dword [eax + 0x50]
cmp dword [ebp - 0x44], ecx
ja 0x4494ae
mov ecx, dword [ebp - 0x74]
sub edx, dword [ebp - 0x50]
mov word [eax + 0x3a], cx
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x30], edx
xor eax, eax
mov ecx, dword [ebp - 0x54]
cmp dword [ecx + 0x4c], eax
jne 0x449508
lea ecx, [ebp - 0x258]
call fcn.00442531
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x80]
jmp 0x449514
xor eax, eax
mov edx, eax
mov dword [ebp - 0x80], edx
movzx eax, word [ecx + 0x3a]
mov edi, dword [ebp - 0x58]
cmp eax, dword [ebp - 0xa0]
jg 0x44953e
cmp byte [ebx + 1], 0xf9
mov ecx, esi
jne 0x448448
mov edx, dword [ebx + 0x10]
jmp 0x44832a
mov edx, dword [ecx + edx*4 + 0x58]
mov dword [ebp - 0x80], edx
mov eax, 0x2460
test word [esi + 8], ax
je 0x449556
mov ecx, esi
call fcn.00442820
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x80]
mov edi, dword [ebp - 0xa0]
mov esi, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x54]
cmp eax, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0x58]
mov esi, dword [ebp - 0x34]
jb 0x44960e
mov edi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ecx + 0x4c]
add ecx, dword [edi + eax*4]
mov edi, dword [ebp - 0x58]
mov dword [ebp - 0x2c], ecx
cmp edx, 0xc
jae 0x449597
push esi
call fcn.00445460
jmp 0x448335
mov cl, byte [ebp - 0x5c]
lea eax, [edx - 0xc]
shr eax, 1
mov dword [ebp - 0x44], eax
mov dword [esi + 0xc], eax
mov byte [esi + 0xa], cl
lea edx, [eax + 2]
cmp dword [esi + 0x18], edx
jge 0x4495d2
xor eax, eax
mov ecx, esi
inc eax
mov word [esi + 8], ax
xor eax, eax
push eax
call fcn.00442177
pop ecx
test eax, eax
jne 0x449770
mov ecx, dword [esi + 0x10]
mov eax, dword [ebp - 0x44]
jmp 0x4495d8
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x10], ecx
push eax
push dword [ebp - 0x2c]
push ecx
call fcn.0049f810
mov eax, dword [esi + 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x44]
add esp, 0xc
mov byte [ecx + eax], dl
mov eax, dword [esi + 0x10]
mov byte [ecx + eax + 1], dl
mov eax, dword [ebp - 0x80]
and eax, 1
mov ax, word [eax*2 + 0x501334]
mov word [esi + 8], ax
jmp 0x448082
mov al, byte [ebp - 0x5c]
mov byte [esi + 0xa], al
movzx eax, word [ebx + 2]
mov edx, dword [ebp - 0x80]
test al, 0xc0
je 0x449632
cmp edx, 0xc
jb 0x449629
test dl, 1
je 0x449640
mov ecx, 0x80
test cl, al
jne 0x449640
mov ecx, edx
call fcn.004452fd
test eax, eax
jne 0x44964a
mov edx, dword [ebp - 0x80]
mov ecx, 0x52e958
jmp 0x44958c
mov edx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x54]
push esi
push eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ecx + 0x28]
mov edx, dword [eax + edx*4]
call fcn.00442c29
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test eax, eax
jne 0x448b67
mov edx, dword [ebp - 0x80]
mov ecx, dword [esi + 0x10]
push esi
call fcn.00445460
mov eax, 0xefff
and word [esi + 8], ax
pop ecx
jmp 0x448082
imul esi, dword [ebx + 4], 0x28
mov edi, dword [ebx + 0x10]
mov ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x1c]
mov al, byte [edi]
push ebx
mov dl, al
mov ecx, esi
call fcn.00447dc7
inc edi
add esi, 0x28
pop ecx
mov al, byte [edi]
test al, al
jne 0x44969a
jmp 0x4482b8
imul ecx, dword [ebx + 4], 0x28
xor eax, eax
mov esi, dword [ebx + 0x10]
xorps xmm0, xmm0
movzx edx, byte [edi + 0x8f]
mov dword [ebp - 0x50], eax
imul eax, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0x1c]
movlpd qword [ebp - 0x48], xmm0
movlpd qword [ebp - 0x78], xmm0
mov dword [ebp - 0x7c], ecx
add eax, 0xffffffd8
mov dword [ebp - 0x64], edx
add eax, ecx
mov dword [ebp - 0x84], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
test esi, esi
je 0x44971f
mov al, byte [esi]
mov edi, ecx
mov ebx, dword [ebp - 0x5c]
push ebx
mov dl, al
mov ecx, edi
call fcn.00447dc7
add edi, 0x28
inc esi
pop ecx
mov al, byte [esi]
test al, al
jne 0x449701
mov ebx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x58]
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0x84]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0xe0]
mov ecx, esi
push eax
call fcn.004451f4
pop ecx
mov ecx, 0x4000
mov dword [ebp - 0x44], eax
mov dword [esi + 0x1c], eax
test word [esi + 8], cx
je 0x4497a2
mov ecx, dword [ebp - 0x34]
or ecx, dword [ebp - 0x3c]
je 0x44978e
mov ecx, esi
call fcn.004422de
test eax, eax
je 0x44979f
mov esi, dword [ebp - 0x14]
mov ecx, esi
call fcn.0042c5f1
push str.out_of_memory
push edi
call fcn.00443160
pop ecx
pop ecx
push 7
jmp 0x448951
mov ecx, dword [esi]
mov eax, ecx
cdq
add dword [ebp - 0x74], eax
adc dword [ebp - 0x24], edx
sub dword [ebp - 0xe0], ecx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x34]
add ecx, dword [ebp - 0xe0]
push 0
mov dword [ebp - 0x34], ecx
pop ecx
adc dword [ebp - 0x3c], ecx
cmp eax, 0x7f
ja 0x4497bc
inc ecx
jmp 0x4497c7
push ecx
push eax
call fcn.0042f0eb
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0x50]
add eax, ecx
mov dword [ebp - 0x50], eax
cmp esi, dword [ebp - 0x7c]
je 0x4497df
mov edx, dword [ebp - 0x64]
sub esi, 0x28
jmp 0x44973d
cmp eax, 0x7e
jle 0x449808
cdq
push edx
push eax
call fcn.0042f0eb
mov esi, eax
mov eax, dword [ebp - 0x50]
add eax, esi
mov dword [ebp - 0x50], eax
cdq
push edx
push eax
call fcn.0042f0eb
add esp, 0x10
cmp esi, eax
mov eax, dword [ebp - 0x50]
jge 0x44980c
inc eax
mov dword [ebp - 0x50], eax
mov esi, dword [ebp - 0x3c]
cdq
mov ecx, edx
mov dword [ebp - 0x64], eax
mov edx, dword [ebp - 0x34]
add edx, eax
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x14]
adc esi, ecx
mov dword [ebp - 0x34], edx
mov ecx, edx
add ecx, dword [ebp - 0x74]
mov eax, dword [eax + 0x60]
adc esi, dword [ebp - 0x24]
cdq
cmp esi, edx
jg 0x44893f
jl 0x449843
cmp ecx, eax
ja 0x44893f
mov esi, dword [ebp - 0x2c]
mov ecx, esi
mov edx, dword [ebp - 0x34]
call fcn.00442252
test eax, eax
jne 0x449770
mov ecx, dword [ebp - 0x50]
mov edx, 0x80
mov esi, dword [esi + 0x10]
cmp ecx, edx
jae 0x44986c
mov byte [esi], cl
inc eax
jmp 0x449880
push dword [ebp - 0x44]
mov ecx, esi
push dword [ebp - 0x64]
call fcn.0042eecb
pop ecx
pop ecx
mov edx, 0x80
mov ebx, dword [ebp - 0x7c]
movzx edi, al
mov eax, dword [ebx + 0x1c]
lea ecx, [edi + esi]
mov dword [ebp - 0x44], eax
cmp eax, edx
jae 0x44989a
mov byte [ecx], al
xor eax, eax
inc eax
jmp 0x4498a5
xor edx, edx
push edx
push eax
call fcn.0042eecb
pop ecx
pop ecx
mov ecx, dword [ebp - 0x50]
mov edx, ebx
push dword [ebp - 0x44]
movzx eax, al
add edi, eax
lea ecx, [ecx + esi]
call fcn.0044531d
add dword [ebp - 0x50], eax
add ebx, 0x28
mov edx, 0x80
pop ecx
cmp ebx, dword [ebp - 0x84]
jbe 0x449886
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x74]
mov ebx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x58]
mov esi, dword [ebp - 0x1c]
mov dword [ecx + 0xc], eax
push 0x10
pop eax
mov word [ecx + 8], ax
mov eax, edx
or eax, dword [ebp - 0x24]
je 0x448035
mov eax, 0x4010
mov dword [ecx], edx
mov word [ecx + 8], ax
jmp 0x448035
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x130]
mov eax, dword [edi + 0x70]
xorps xmm0, xmm0
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x28]
movlpd qword [ebp - 0x130], xmm0
call fcn.00440892
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x448b67
mov edx, ebx
mov ecx, edi
call fcn.00447ec5
mov ecx, dword [ebp - 0x130]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x12c]
jmp 0x44813a
mov edx, dword [ebx + 4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x24], eax
test edx, edx
jne 0x449a22
cmp dword [ecx + 0xa4], edx
jg 0x44c255
mov ecx, eax
call fcn.0042e306
mov esi, eax
xor edx, edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], esi
mov ecx, dword [eax + 0x1b4]
add ecx, dword [eax + 0x1b0]
push ecx
mov ecx, eax
call fcn.0046f6f9
pop ecx
xor ecx, ecx
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x44ae1d
push ecx
mov ecx, dword [ebp - 0x14]
lea eax, [esi + 0x21]
push eax
call fcn.0042c3e6
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x448082
mov ecx, dword [ebp - 0x2c]
lea edx, [esi + 0x20]
inc ecx
mov dword [esi], edx
push ecx
push dword [ebp - 0x24]
push edx
call fcn.0049f810
mov ecx, dword [ebp - 0x14]
add esp, 0xc
cmp byte [ecx + 0x43], 0
je 0x4499e4
xor eax, eax
mov byte [ecx + 0x4b], 1
mov byte [ecx + 0x43], al
jmp 0x4499ea
inc dword [ecx + 0x1b0]
mov eax, dword [ecx + 0x1a8]
mov dword [esi + 0x18], eax
mov eax, dword [ecx + 0x1b8]
mov dword [ecx + 0x1a8], esi
mov dword [esi + 8], eax
mov eax, dword [ecx + 0x1bc]
mov dword [esi + 0xc], eax
mov eax, dword [ecx + 0x1c0]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0x1c4]
mov dword [esi + 0x14], eax
jmp 0x448085
mov esi, dword [ecx + 0x1a8]
xor edx, edx
test esi, esi
je 0x44c28a
mov edi, dword [ebp - 0x24]
mov ebx, edx
mov ecx, dword [esi]
mov edx, edi
call fcn.0042e4c7
test eax, eax
je 0x449a4c
mov esi, dword [esi + 0x18]
inc ebx
test esi, esi
jne 0x449a37
mov edi, dword [ebp - 0x58]
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], esi
test esi, esi
je 0x44c287
mov ecx, dword [ebp - 0x14]
xor eax, eax
mov edx, dword [ebp - 0x3c]
cmp dword [ecx + 0xa4], eax
jle 0x449a7f
inc eax
cmp edx, eax
jne 0x449a82
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x44c25a
xor eax, eax
inc eax
cmp dword [esi + 0x18], 0
jne 0x449ad7
cmp byte [ecx + 0x4b], 0
je 0x449ad7
mov dword [ebp - 0x4c], eax
cmp edx, eax
jne 0x449adc
mov edx, eax
mov ecx, edi
call fcn.00444bbf
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x448c04
mov esi, dword [ebp - 0x14]
mov ecx, edi
mov byte [esi + 0x43], 1
call fcn.00444c1a
push 5
pop ecx
cmp eax, ecx
je 0x44c269
mov ecx, esi
xor eax, eax
mov esi, dword [ebp - 0x2c]
mov byte [ecx + 0x4b], al
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x20], eax
jmp 0x449bd7
xor eax, eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ecx + 0x1b0]
sub eax, dword [ebp - 0x34]
dec eax
mov dword [ebp - 0x34], eax
mov eax, dword [ecx + 0x14]
cmp edx, 2
jne 0x449b51
mov edx, dword [ecx + 0x18]
and dword [ebp - 0x2c], 0
shr edx, 1
and edx, 1
mov dword [ebp - 0x74], edx
test eax, eax
jle 0x449b56
xor edx, 1
xor eax, eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x24], eax
jmp 0x449b14
mov eax, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x10]
push edx
mov edx, 0x204
mov ecx, dword [eax + ecx + 4]
call fcn.0043c14d
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x448b67
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x2c]
push 0x10
pop eax
add dword [ebp - 0x24], eax
inc edx
mov eax, dword [ecx + 0x14]
cmp edx, eax
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x44]
jl 0x449b11
mov edx, dword [ebp - 0x74]
jmp 0x449b56
xor edx, edx
mov dword [ebp - 0x74], edx
and dword [ebp - 0x2c], 0
test eax, eax
jle 0x449b9e
xor eax, eax
mov dword [ebp - 0x44], eax
mov ecx, dword [ecx + 0x10]
push dword [ebp - 0x34]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [eax + ecx + 4]
call fcn.0043c2f2
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x448b67
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x2c]
push 0x10
pop ecx
add eax, ecx
inc edx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x44], eax
cmp edx, dword [ecx + 0x14]
jl 0x449b63
mov edx, dword [ebp - 0x74]
test edx, edx
je 0x449bd7
call fcn.00446442
mov ecx, dword [ebp - 0x14]
call fcn.004580fd
mov ecx, dword [ebp - 0x14]
push 2
pop eax
or dword [ecx + 0x18], eax
jmp 0x449bd7
mov edx, dword [ecx + 0x1a8]
mov eax, dword [edx + 0x18]
mov dword [ecx + 0x1a8], eax
call fcn.0042c1c6
mov ecx, dword [ebp - 0x14]
dec dword [ecx + 0x1b0]
cmp dword [ecx + 0x1a8], esi
jne 0x449bba
mov edx, dword [ebp - 0x3c]
cmp edx, 1
jne 0x449c0f
mov eax, dword [esi + 0x18]
mov edx, esi
mov dword [ecx + 0x1a8], eax
call fcn.0042c1c6
cmp dword [ebp - 0x4c], 0
mov ecx, dword [ebp - 0x14]
jne 0x44c02e
dec dword [ecx + 0x1b0]
mov edx, dword [ebp - 0x3c]
jmp 0x449c44
cmp dword [ebp - 0x4c], 0
mov eax, dword [esi + 8]
mov dword [ecx + 0x1b8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0x1bc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x1c0], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x1c4], eax
je 0x449c44
push 2
pop eax
cmp edx, eax
jne 0x44c02e
push dword [ebp - 0x34]
call fcn.0046f6f9
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x448b67
mov ecx, dword [ebp - 0x14]
test eax, eax
jne 0x448b67
jmp 0x448085
mov edx, dword [ebx + 8]
test edx, edx
je 0x449c7c
test dword [ecx + 0x18], 0x4000000
jne 0x44c2a1
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 4]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x449d5f
mov ecx, esi
call fcn.0043b78f
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x44c2a8
cmp dword [ebx + 8], eax
je 0x449d33
test byte [edi + 0x90], 0x40
je 0x449d33
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0x43], 0
je 0x449cc9
cmp dword [eax + 0xa0], 1
jle 0x449d33
mov ecx, dword [edi + 0x30]
test ecx, ecx
jne 0x449ce7
inc dword [eax + 0x1b4]
mov ecx, dword [eax + 0x1b4]
mov eax, dword [eax + 0x1b0]
add ecx, eax
mov dword [edi + 0x30], ecx
lea eax, [ecx - 1]
xor edx, edx
mov ecx, dword [ebp - 0x14]
push eax
call fcn.0046f6f9
pop ecx
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x449d0c
mov edx, dword [edi + 0x30]
mov ecx, esi
call fcn.0043c2cb
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x1b8]
mov dword [edi + 0x48], eax
mov eax, dword [ecx + 0x1bc]
mov dword [edi + 0x4c], eax
mov eax, dword [ecx + 0x1c0]
mov dword [edi + 0x50], eax
mov eax, dword [ecx + 0x1c4]
mov dword [edi + 0x54], eax
lea eax, [ebp - 0xd8]
xor edx, edx
push eax
inc edx
mov ecx, esi
call fcn.004407f3
mov eax, dword [ebp - 0x14]
pop ecx
mov ecx, dword [ebx + 4]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0xd8]
jmp 0x449d69
xor ecx, ecx
mov eax, ecx
mov dword [ebp - 0xd8], eax
xor edx, edx
cmp word [ebx + 2], dx
je 0x448c8a
cmp eax, dword [ebx + 0xc]
jne 0x449d83
cmp ecx, dword [ebx + 0x10]
je 0x448c8a
mov edx, dword [edi + 0x6c]
mov ecx, dword [ebp - 0x14]
call fcn.0042c1c6
mov ecx, dword [ebp - 0x14]
mov edx, str.database_schema_has_changed
call fcn.0042c548
mov dword [edi + 0x6c], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebx + 4]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xd8]
je 0x449dc1
mov ecx, dword [ebp - 0x14]
call fcn.004580d0
or dword [edi + 0x90], 1
push 0x11
pop eax
mov dword [ebp - 0x20], eax
jmp 0x448c8d
mov ecx, dword [ecx + 0x10]
lea eax, [ebp - 0x118]
mov edx, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004407f3
pop ecx
mov edx, ebx
mov ecx, edi
call fcn.00447ec5
mov ecx, eax
mov eax, dword [ebp - 0x118]
jmp 0x44811c
mov esi, dword [ebx + 4]
push dword [ebx + 0xc]
mov edx, dword [ebx + 8]
shl esi, 4
add esi, dword [ecx + 0x10]
mov ecx, dword [esi + 4]
call fcn.00440837
xor edx, edx
mov dword [ebp - 0x20], eax
inc edx
pop ecx
push 2
cmp dword [ebx + 8], edx
jne 0x449e3b
mov ecx, dword [esi + 0xc]
mov eax, dword [ebx + 0xc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x14]
pop ecx
or dword [eax + 0x18], ecx
jmp 0x449e4d
pop eax
cmp dword [ebx + 8], eax
jne 0x449e4a
mov ecx, dword [esi + 0xc]
mov al, byte [ebx + 0xc]
mov byte [ecx + 0x4c], al
mov eax, dword [ebp - 0x14]
cmp dword [ebx + 4], edx
jne 0x448c8a
mov ecx, eax
call fcn.00446442
and dword [edi + 0x90], 0xfffffffe
jmp 0x448c8a
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x449e82
mov eax, dword [esi + 0x34]
cmp eax, dword [ebx + 8]
je 0x449f7d
mov ecx, dword [ebp - 0x14]
test byte [edi + 0x90], 1
jne 0x44c2c9
mov esi, dword [ebx + 8]
xor eax, eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x7c], eax
shl eax, 4
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x2c], esi
mov ecx, dword [eax + 4]
mov dword [ebp - 0x84], ecx
cmp dl, 0x6b
jne 0x449ee1
mov eax, dword [eax + 0xc]
movzx ecx, word [ebx + 2]
push 8
pop edx
mov al, byte [eax + 0x4c]
and ecx, edx
push 4
pop edx
or ecx, edx
mov dword [ebp - 0x44], ecx
cmp al, byte [edi + 0x8f]
jae 0x449ee6
mov byte [edi + 0x8f], al
jmp 0x449ee6
xor eax, eax
mov dword [ebp - 0x44], eax
test byte [ebx + 2], 0x10
je 0x449efe
imul esi, esi, 0x28
add esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.004426ae
mov eax, dword [esi]
mov dword [ebp - 0x2c], eax
mov al, byte [ebx + 1]
cmp al, 0xfb
jne 0x449f17
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x24], eax
movzx ecx, word [eax + 8]
movzx eax, word [eax + 6]
add ecx, eax
jmp 0x449f23
cmp al, 0xf5
jne 0x449f20
mov ecx, dword [ebx + 0x10]
jmp 0x449f23
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebx + 4]
xor eax, eax
push eax
push dword [ebp - 0x7c]
push ecx
mov ecx, edi
call fcn.00447c8b
mov esi, eax
add esp, 0xc
test esi, esi
je 0x449770
mov ecx, dword [ebp - 0x84]
push 4
pop eax
push dword [esi + 0x28]
or dword [esi + 8], eax
push dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov edx, eax
push dword [ebp - 0x44]
mov byte [esi + 2], 1
mov dword [esi + 0x34], eax
call fcn.0043c40f
mov dword [ebp - 0x20], eax
add esp, 0xc
mov eax, dword [ebp - 0x24]
mov dword [esi + 0x2c], eax
cmp byte [ebx + 1], 0xfb
setne al
mov byte [esi + 4], al
movzx edx, word [ebx + 2]
mov ecx, dword [esi + 0x28]
and edx, 3
call fcn.00439a3c
jmp 0x448c8a
mov ecx, dword [ebx + 8]
mov eax, dword [edi + 0x70]
mov edx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
xor eax, eax
push eax
push 0xffffffffffffffff
mov ecx, edi
movsx eax, word [esi + 0x38]
push eax
call fcn.00447c8b
add esp, 0xc
test eax, eax
je 0x449770
push dword [eax + 0x28]
xor ecx, ecx
inc ecx
or dword [eax + 8], ecx
mov byte [eax + 2], cl
mov edx, dword [esi + 0x2c]
mov dword [eax + 0x2c], edx
mov cl, byte [esi + 4]
push edx
mov byte [eax + 4], cl
xor edx, edx
mov ecx, dword [esi + 0xc]
inc edx
push 4
pop eax
push eax
call fcn.0043c40f
add esp, 0xc
mov dword [ebp - 0x20], eax
jmp 0x448082
mov edx, dword [ebx + 4]
xor eax, eax
push eax
push 0xffffffffffffffff
push dword [ebx + 8]
mov ecx, edi
call fcn.00447c8b
mov esi, eax
add esp, 0xc
test esi, esi
je 0x449770
xor ecx, ecx
lea eax, [esi + 8]
push 0x41e
inc ecx
mov dword [ebp - 0x44], eax
or dword [eax], ecx
push 5
mov byte [esi + 2], cl
lea ecx, [esi + 0xc]
movzx eax, word [ebx + 2]
pop edx
or eax, edx
xor edx, edx
push eax
mov eax, dword [ebp - 0x14]
push ecx
push eax
mov ecx, dword [eax]
call fcn.0043abf8
add esp, 0x10
test eax, eax
jne 0x448b67
mov ecx, dword [esi + 0xc]
xor edx, edx
inc edx
call fcn.0043b78f
test eax, eax
jne 0x448b67
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x2c], eax
mov dword [esi + 0x2c], eax
test eax, eax
je 0x44a0a6
movzx eax, word [ebx + 2]
lea edx, [ebp - 0x11c]
push 2
pop ecx
or eax, ecx
mov ecx, dword [esi + 0xc]
push eax
call fcn.00440458
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x44a0a2
push dword [esi + 0x28]
mov edx, dword [ebp - 0x11c]
push dword [ebp - 0x2c]
mov ecx, dword [esi + 0xc]
push 4
pop eax
push eax
call fcn.0043c40f
add esp, 0xc
mov dword [ebp - 0x20], eax
xor ecx, ecx
jmp 0x44a0c3
push dword [esi + 0x28]
mov ecx, dword [esi + 0xc]
xor eax, eax
push eax
push 4
pop eax
xor edx, edx
push eax
inc edx
call fcn.0043c40f
add esp, 0xc
mov dword [ebp - 0x20], eax
mov cl, 1
mov byte [esi + 4], cl
xor ecx, ecx
test eax, eax
jne 0x44ae1d
mov edx, dword [ebp - 0x44]
push 8
pop eax
cmp word [ebx + 2], ax
push 4
pop eax
cmovne ecx, eax
mov eax, dword [edx]
and eax, 0xfffffffb
or ecx, eax
mov dword [edx], ecx
jmp 0x448082
mov edx, dword [ebx + 4]
mov ecx, edi
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.00447c8b
add esp, 0xc
test eax, eax
je 0x449770
mov ecx, dword [ebx + 0x10]
mov dword [eax + 0x2c], ecx
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x14]
push eax
call fcn.0044d5e2
pop ecx
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x448b67
jmp 0x448035
mov eax, dword [edi + 0x70]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x10]
mov ecx, edi
mov esi, dword [edx + 0x14]
add ecx, 1
mov eax, esi
mov dword [edx + 0x10], ecx
adc eax, 0
or edi, esi
mov dword [edx + 0x14], eax
je 0x44c191
jmp 0x4482bb
mov edx, dword [ebx + 4]
mov ecx, edi
push 3
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.00447c8b
add esp, 0xc
test eax, eax
je 0x449770
xor edx, edx
inc edx
mov byte [eax + 2], dl
mov ecx, dword [ebx + 8]
mov dword [eax + 0x28], ecx
mov byte [eax + 4], dl
jmp 0x448035
mov eax, dword [ebx + 4]
mov ecx, edi
mov edx, dword [edi + 0x70]
mov edx, dword [edx + eax*4]
call fcn.00444448
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], edx
jmp 0x448035
mov eax, dword [edi + 0x70]
mov ecx, dword [ebx + 4]
push 2
mov esi, dword [eax + ecx*4]
xor eax, eax
mov dword [ebp - 0x34], eax
mov byte [esi + 2], al
cmp byte [esi + 4], al
je 0x44a27a
imul ecx, dword [ebx + 0xc], 0x28
pop edx
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], ecx
mov al, byte [ecx + 8]
and al, 0xe
cmp al, dl
jne 0x44a1e3
xor edx, edx
call fcn.00447d43
mov ecx, dword [ebp - 0x24]
call fcn.004425c4
mov ecx, dword [ebp - 0x24]
push 4
mov dword [ebp - 0x74], eax
pop eax
movzx ecx, word [ecx + 8]
mov dword [ebp - 0x4c], edx
test al, cl
jne 0x44a23e
test cl, 8
je 0x44c191
mov ecx, dword [ebp - 0x74]
call fcn.004f44e0
mov eax, dword [ebp - 0x24]
movsd xmm1, qword [eax]
comisd xmm0, xmm1
jbe 0x44a22d
mov ecx, dword [ebp - 0x3c]
test cl, 1
lea eax, [ecx - 1]
cmove eax, ecx
mov ecx, eax
mov dword [ebp - 0x3c], ecx
jmp 0x44a23e
comisd xmm1, xmm0
jbe 0x44a23e
mov eax, dword [ebp - 0x3c]
test al, 1
jne 0x44a23e
inc eax
mov dword [ebp - 0x3c], eax
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x8c]
push eax
xor eax, eax
xor edx, edx
push eax
push dword [ebp - 0x4c]
push dword [ebp - 0x74]
call fcn.0043cc27
mov ecx, dword [ebp - 0x74]
add esp, 0x10
mov dword [esi + 0x40], ecx
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x20], eax
mov dword [esi + 0x44], ecx
test eax, eax
jne 0x448b67
mov edx, dword [ebp - 0x34]
jmp 0x44a308
mov ecx, dword [esi + 0x28]
pop eax
mov edx, eax
call fcn.00441695
mov ecx, dword [ebp - 0x34]
test eax, eax
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x140], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x138], ax
mov eax, dword [ebp - 0x3c]
push 1
pop edx
cmovne ecx, edx
and al, dl
neg al
mov dword [ebp - 0x34], ecx
lea edx, [ebp - 0x140]
sbb al, al
xor ecx, ecx
and al, 0xfe
mov byte [ebp - 0x132], cl
inc al
mov byte [ebp - 0x136], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x13c], eax
lea eax, [ebp - 0x8c]
push eax
push ecx
push ecx
push ecx
mov ecx, dword [esi + 0x28]
call fcn.0043cc27
add esp, 0x10
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x448b67
mov edx, dword [ebp - 0x34]
test edx, edx
je 0x44a308
cmp byte [ebp - 0x132], al
je 0x44a38e
xor eax, eax
mov byte [esi + 3], al
mov dword [esi + 0x1c], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x8c]
cmp eax, 0x1a
jl 0x44a34c
test ecx, ecx
js 0x44a333
jne 0x44a329
cmp eax, 0x1b
je 0x44a333
xor eax, eax
mov dword [ebp - 0x8c], eax
jmp 0x44a39b
xor eax, eax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x8c]
push eax
push dword [esi + 0x28]
call fcn.0043d14d
jmp 0x44a37e
test ecx, ecx
jg 0x44a367
jne 0x44a357
cmp eax, 0x18
je 0x44a367
mov ecx, dword [esi + 0x28]
call fcn.0043d006
mov dword [ebp - 0x8c], eax
jmp 0x44a38b
xor eax, eax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x8c]
push eax
push dword [esi + 0x28]
call fcn.0043d286
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test eax, eax
jne 0x448b67
mov edx, dword [ebp - 0x34]
cmp dword [ebp - 0x8c], 0
jne 0x44c191
lea eax, [ebx + 0x14]
test edx, edx
cmove eax, ebx
mov ebx, eax
jmp 0x448082
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
imul ecx, dword [ebx + 0xc], 0x28
mov dword [ebp - 0x24], eax
add ecx, esi
mov dword [ebp - 0x44], ecx
cmp dword [ebx + 0x10], edx
jle 0x44a3eb
mov eax, dword [eax + 0x2c]
lea esi, [ebp - 0x1c0]
mov dword [ebp - 0x1c0], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x1b8], ax
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x2c], edx
jmp 0x44a43a
mov esi, 0x4000
test word [ecx + 8], si
je 0x44a402
call fcn.004422de
mov ecx, eax
mov eax, dword [ebp - 0x24]
jmp 0x44a404
mov ecx, edx
test ecx, ecx
jne 0x449770
mov ecx, dword [eax + 0x2c]
call fcn.004455d4
mov esi, eax
mov dword [ebp - 0x2c], esi
test esi, esi
je 0x449770
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x24]
push esi
push dword [edx + 0x10]
mov edx, dword [edx + 0xc]
mov ecx, dword [ecx + 0x2c]
call fcn.0044561f
pop ecx
pop ecx
xor edx, edx
mov byte [esi + 0xa], dl
cmp byte [ebx], 0x1c
mov dword [ebp - 0x44], edx
jne 0x44a46d
mov ecx, edx
movzx edx, word [esi + 8]
test edx, edx
je 0x44a46b
mov eax, dword [esi + 4]
add eax, 8
test byte [eax], 1
jne 0x44a464
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x44a455
jmp 0x44a46b
mov dword [ebp - 0x44], 1
xor edx, edx
lea eax, [ebp - 0xf4]
push eax
push edx
push edx
push edx
mov edx, esi
mov esi, dword [ebp - 0x24]
mov ecx, dword [esi + 0x28]
call fcn.0043cc27
mov edx, dword [ebp - 0x2c]
add esp, 0x10
mov dword [ebp - 0x20], eax
test edx, edx
je 0x44a49c
mov ecx, dword [ebp - 0x14]
call fcn.0042c18f
mov eax, dword [ebp - 0x20]
xor ecx, ecx
test eax, eax
jne 0x44ae1d
mov eax, dword [ebp - 0xf4]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0xf4]
test eax, eax
sete cl
test eax, eax
setne al
mov byte [esi + 2], al
xor eax, eax
mov byte [esi + 3], al
mov dword [esi + 0x1c], eax
cmp byte [ebx], 0x1e
je 0x448eea
cmp dword [ebp - 0x44], eax
jne 0x44c191
test ecx, ecx
je 0x44c191
jmp 0x448082
imul esi, dword [ebx + 0xc], 0x28
push 4
pop eax
add esi, dword [ebp - 0x1c]
test byte [esi + 8], al
jne 0x44a511
push dword [ebp - 0x5c]
mov dl, 0x43
mov ecx, esi
call fcn.00447dc7
pop ecx
push 4
pop eax
test byte [esi + 8], al
je 0x44c191
mov esi, dword [ebp - 0x1c]
mov eax, dword [edi + 0x70]
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0x1c]
mov ebx, dword [eax + ecx*4]
xor eax, eax
mov ecx, dword [ebx + 0x28]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x4c]
imul eax, dword [eax + 0xc], 0x28
mov edi, dword [eax + edx + 4]
xor edx, edx
mov esi, dword [eax + esi]
lea eax, [ebp - 0xe8]
push eax
xor eax, eax
push eax
push edi
push esi
call fcn.0043cc27
mov dword [ebp - 0x20], eax
add esp, 0x10
xor eax, eax
mov dword [ebx + 0x40], esi
mov dword [ebx + 0x44], edi
mov word [ebx + 2], ax
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp - 0xe8]
mov dword [ebx + 0x20], eax
cmp dword [ebp - 0xe8], 0
mov ebx, dword [ebp - 0x4c]
je 0x44a590
xor eax, eax
cmp dword [ebx + 8], eax
jne 0x44c191
mov ecx, 0x1425e
call fcn.0047caa3
mov dword [ebp - 0x20], eax
jmp 0x44a593
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x58]
jmp 0x448c8d
mov edx, ebx
mov ecx, edi
call fcn.00447ec5
mov ecx, dword [edi + 0x70]
mov edx, dword [ebx + 4]
push 0
mov edx, dword [ecx + edx*4]
mov ecx, dword [edx + 0x10]
mov dword [eax], ecx
mov ecx, dword [edx + 0x14]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
pop ecx
add dword [eax + 0x10], 1
adc dword [eax + 0x14], ecx
jmp 0x448035
xorps xmm0, xmm0
xor eax, eax
mov edx, ebx
movlpd qword [ebp - 0x68], xmm0
mov ecx, edi
mov dword [ebp - 0x24], eax
call fcn.00447ec5
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x70]
push 2
mov dword [ebp - 0x44], eax
pop eax
mov esi, dword [ecx + edx*4]
mov dword [ebp - 0x2c], esi
test byte [esi + 8], al
jne 0x44a657
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0x24]
call fcn.0043cbd6
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x448b67
cmp dword [ebp - 0x24], eax
je 0x44a624
mov dword [ebp - 0x68], 1
mov dword [ebp - 0x64], eax
jmp 0x44a657
mov ecx, dword [esi + 0x28]
call fcn.0043c522
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
cmp edx, 0x7fffffff
jl 0x44a649
jg 0x44a641
cmp eax, 0xffffffff
jb 0x44a649
push 2
pop eax
or dword [esi + 8], eax
jmp 0x44a657
add eax, 1
push 0
mov dword [ebp - 0x68], eax
pop eax
adc edx, eax
mov dword [ebp - 0x64], edx
mov edx, dword [ebx + 0xc]
test edx, edx
je 0x44a6d7
mov eax, dword [edi + 0xb8]
test eax, eax
jne 0x44a6ba
imul esi, edx, 0x28
add esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.004426ae
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x44a68b
cmp edx, 0x7fffffff
je 0x44a73a
mov eax, dword [ebp - 0x2c]
test byte [eax + 8], 2
jne 0x44a73a
add ecx, 1
push 0
pop eax
adc edx, eax
cmp dword [ebp - 0x64], edx
jg 0x44a6c9
jl 0x44a6ae
mov eax, dword [ebp - 0x68]
cmp eax, ecx
jae 0x44a6cc
mov eax, ecx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x68], eax
jmp 0x44a6cc
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x44a6b8
imul esi, edx, 0x28
add esi, dword [eax + 0x10]
jmp 0x44a66e
mov eax, dword [ebp - 0x68]
mov dword [esi], eax
mov eax, dword [ebp - 0x64]
mov dword [esi + 4], eax
mov esi, dword [ebp - 0x2c]
push 2
pop eax
test byte [esi + 8], al
je 0x44a741
xor eax, eax
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x68]
push eax
push 8
pop eax
push eax
call fcn.0042d9fd
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x68]
and eax, 0x3fffffff
push 0
add ecx, 1
pop edx
adc eax, edx
mov dword [ebp - 0x68], ecx
lea edx, [ebp - 0x24]
mov dword [ebp - 0x64], eax
push edx
xor edx, edx
push edx
push eax
push ecx
mov ecx, dword [esi + 0x28]
call fcn.0043cc27
add esp, 0x18
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x448b67
cmp dword [ebp - 0x24], eax
jne 0x44a741
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x64
jl 0x44a6e4
push 0xd
jmp 0x448b66
mov ecx, dword [ebp - 0x44]
xor eax, eax
mov byte [esi + 3], al
mov dword [esi + 0x1c], eax
mov eax, dword [ebp - 0x68]
mov dword [ecx], eax
mov eax, dword [ebp - 0x64]
mov dword [ecx + 4], eax
jmp 0x448082
imul esi, dword [ebx + 8], 0x28
xor eax, eax
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x64], eax
mov eax, dword [edi + 0x70]
add esi, dword [ebp - 0x1c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x24], ecx
cmp dl, 0x76
jne 0x44a795
imul eax, dword [ebx + 0xc], 0x28
mov edx, dword [ebp - 0x1c]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x188], ecx
mov eax, dword [eax + edx + 4]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x24]
jmp 0x44a7a4
mov eax, dword [ebx + 0xc]
cdq
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x188], eax
mov eax, edx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x44], eax
xor eax, eax
cmp byte [ebx + 1], 0xf1
jne 0x44a7f6
cmp dword [edx + 0xdc], eax
je 0x44a7f6
movsx ecx, byte [ecx + 1]
mov eax, dword [edx + 0x10]
add ecx, ecx
push 4
mov dword [ebp - 0x64], 0x17
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x84], eax
mov eax, dword [ebx + 0x10]
pop ecx
mov dword [ebp - 0x7c], eax
movzx eax, word [ebx + 2]
test cl, al
push 0x12
pop ecx
cmovne ecx, dword [ebp - 0x64]
mov dword [ebp - 0x64], ecx
mov ecx, eax
jmp 0x44a803
movzx ecx, word [ebx + 2]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x84], eax
movzx eax, cx
test cl, 1
je 0x44a812
inc dword [edi + 0x2c]
movzx eax, word [ebx + 2]
movzx ecx, ax
test al, 0x20
je 0x44a829
mov eax, dword [ebp - 0x2c]
mov dword [edx + 0x20], eax
mov eax, dword [ebp - 0x44]
mov dword [edx + 0x24], eax
movzx ecx, word [ebx + 2]
test byte [esi + 8], 1
je 0x44a83f
xor eax, eax
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x174], eax
jmp 0x44a853
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x180], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x174], eax
xor eax, eax
test cl, 0x10
je 0x44a860
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x20]
jmp 0x44a862
mov edx, eax
mov eax, 0x4000
test word [esi + 8], ax
push 0
pop eax
je 0x44a87c
mov eax, dword [esi]
mov dword [ebp - 0x170], eax
xor eax, eax
jmp 0x44a882
mov dword [ebp - 0x170], eax
mov esi, dword [ebp - 0x24]
and ecx, 0xa
push edx
mov dword [ebp - 0x190], eax
lea edx, [ebp - 0x190]
push ecx
mov ecx, dword [esi + 0x28]
call fcn.0043fd02
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov byte [esi + 3], cl
mov dword [esi + 0x1c], ecx
test eax, eax
jne 0x44ae1d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0xdc]
test eax, eax
je 0x448085
mov edx, dword [ebp - 0x64]
test edx, edx
je 0x448085
push dword [ebp - 0x184]
mov esi, dword [ebp - 0x7c]
push dword [ebp - 0x188]
push dword [esi]
push dword [ebp - 0x84]
push edx
push dword [ecx + 0xd8]
call eax
add esp, 0x18
jmp 0x448082
cmp byte [ebx + 1], 0xf1
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x64], eax
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
jne 0x44a94c
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp dword [eax + 0xdc], ecx
je 0x44a94c
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
push 2
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x2c], eax
pop eax
test byte [ebx + 2], al
je 0x44a954
cmp byte [esi + 4], 0
je 0x44a954
mov ecx, dword [esi + 0x28]
call fcn.0043c522
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], edx
jmp 0x44a954
xor eax, eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x2c], eax
mov dl, byte [ebx + 2]
mov ecx, dword [esi + 0x28]
call fcn.0043fffb
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], ecx
test eax, eax
jne 0x44ae1d
test byte [ebp - 0x64], 1
mov ecx, dword [ebp - 0x14]
je 0x448085
inc dword [edi + 0x2c]
mov edx, dword [ecx + 0xdc]
test edx, edx
je 0x448085
mov eax, dword [ebp - 0x2c]
test byte [eax + 0x24], 0x20
jne 0x448085
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [eax]
push dword [ebp - 0x44]
push 9
push dword [ecx + 0xd8]
call edx
jmp 0x44a8ef
mov edx, dword [edi + 0x2c]
call fcn.00446433
xor eax, eax
mov dword [edi + 0x2c], eax
jmp 0x448035
mov eax, dword [edi + 0x70]
mov ecx, dword [ebx + 4]
imul edx, dword [ebx + 0xc], 0x28
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0xf8]
push eax
push dword [ebx + 0x10]
add edx, esi
call fcn.0044ed5b
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test eax, eax
jne 0x448b67
cmp dword [ebp - 0xf8], eax
jmp 0x44802f
imul edx, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
add edx, esi
mov ecx, dword [eax + ecx*4]
call fcn.0044ed05
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x448b67
mov ecx, dword [ebx + 0xc]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [eax + 0x1c], ecx
jmp 0x448035
mov edx, ebx
mov ecx, edi
call fcn.00447ec5
mov edx, dword [ebx + 4]
mov esi, eax
mov ecx, dword [edi + 0x70]
mov ecx, dword [ecx + edx*4]
mov eax, dword [ecx + 0x28]
mov ecx, eax
mov dword [ebp - 0x2c], eax
call fcn.0043c532
mov ecx, eax
mov eax, dword [ebp - 0x14]
cmp ecx, dword [eax + 0x60]
ja 0x44c357
push esi
push ecx
mov ecx, dword [ebp - 0x2c]
xor edx, edx
call fcn.00442c29
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test eax, eax
jne 0x448b67
cmp dword [ebx + 0xc], eax
jne 0x448082
mov eax, 0x1000
test word [esi + 8], ax
je 0x448082
mov ecx, esi
call fcn.0044226e
test eax, eax
jne 0x449770
jmp 0x448082
mov edx, ebx
mov ecx, edi
call fcn.00447ec5
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x70]
mov dword [ebp - 0x2c], eax
mov esi, dword [ecx + edx*4]
cmp byte [esi + 2], 0
je 0x44aad4
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
jmp 0x448082
cmp byte [esi + 3], 0
je 0x44aaee
mov ecx, dword [esi + 0x40]
mov dword [ebp - 0xf0], ecx
mov eax, dword [esi + 0x44]
mov dword [ebp - 0xec], eax
jmp 0x44ab62
push 2
pop eax
cmp byte [esi], al
jne 0x44ab28
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0xf0]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
call dword [eax + 0x30]
pop ecx
pop ecx
mov edx, esi
mov dword [ebp - 0x20], eax
mov ecx, edi
call fcn.004464bb
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x448b67
mov ecx, dword [ebp - 0xf0]
jmp 0x44ab62
mov ecx, esi
call fcn.00445187
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x448b67
cmp byte [esi + 2], al
je 0x44ab4c
mov edx, dword [ebp - 0x2c]
inc eax
mov word [edx + 8], ax
jmp 0x448082
mov ecx, dword [esi + 0x28]
call fcn.0043c522
mov ecx, eax
mov dword [ebp - 0xec], edx
mov dword [ebp - 0xf0], ecx
mov edx, dword [ebp - 0x2c]
mov dword [edx], ecx
mov eax, dword [ebp - 0xec]
mov dword [edx + 4], eax
jmp 0x448082
mov eax, dword [edi + 0x70]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov byte [ecx + 2], 1
mov dword [ecx + 0x1c], eax
cmp byte [ecx], al
jne 0x448035
mov ecx, dword [ecx + 0x28]
call fcn.00439912
jmp 0x448035
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0xe4], edx
mov dword [esi + 0x20], eax
mov dword [ebp - 0x2c], ecx
cmp dword [ebx + 0xc], edx
je 0x44abce
call fcn.0043c518
test eax, eax
jne 0x448082
mov ecx, dword [ebp - 0x2c]
lea edx, [ebp - 0xe4]
call fcn.0043cbd6
mov dword [ebp - 0x20], eax
mov al, byte [ebp - 0xe4]
mov byte [esi + 2], al
xor eax, eax
mov byte [esi + 3], al
mov dword [esi + 0x1c], eax
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x448b67
cmp dword [ebx + 8], eax
jle 0x448082
cmp dword [ebp - 0xe4], eax
jmp 0x448eec
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xd4]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.0043cbab
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x448b67
cmp dword [ebp - 0xd4], eax
jne 0x44c191
mov ecx, esi
call fcn.0043d010
xor ecx, ecx
cmp edx, ecx
jl 0x44ac73
jg 0x44ac4f
cmp eax, ecx
jb 0x44ac73
push edx
push eax
call fcn.0042f48c
pop ecx
pop ecx
mov ecx, dword [ebp - 0xd4]
cwde
cmp eax, dword [ebx + 0xc]
push 1
pop eax
cmovl ecx, eax
mov dword [ebp - 0xd4], ecx
jmp 0x448eea
mov ecx, dword [ebp - 0xd4]
jmp 0x448eea
inc dword [edi + 0xa4]
mov eax, dword [edi + 0x70]
lea edx, [ebp - 0xbc]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
xor eax, eax
inc eax
mov dword [ebp - 0xbc], eax
cmp byte [esi], al
jne 0x44acab
mov ecx, esi
call fcn.0044ec14
xor ecx, ecx
jmp 0x44acbb
mov ecx, dword [esi + 0x28]
call fcn.0043cbab
xor ecx, ecx
mov byte [esi + 3], cl
mov dword [esi + 0x1c], ecx
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x44ae1d
mov al, byte [ebp - 0xbc]
mov byte [esi + 2], al
cmp dword [ebp - 0xbc], 0
jmp 0x448eec
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
xor eax, eax
mov ecx, dword [ebp - 0x14]
mov edx, esi
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0xc0]
push eax
call fcn.0044ec64
jmp 0x44ad30
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x70]
cmp dword [eax + ecx*4], edx
je 0x448035
mov eax, dword [edi + 0x70]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0xc0]
push eax
push dword [esi + 0x28]
call dword [ebx + 0x10]
pop ecx
mov dword [ebp - 0x20], eax
pop ecx
xor ecx, ecx
mov dword [esi + 0x1c], ecx
test eax, eax
jne 0x44ae1d
cmp dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0x14]
jne 0x44ad5f
mov byte [esi + 2], al
movzx eax, word [ebx + 2]
inc dword [edi + eax*4 + 0x9c]
jmp case.0x447fd1.13
mov byte [esi + 2], 1
jmp 0x44b373
imul esi, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
add esi, dword [ebp - 0x1c]
test byte [ebx + 2], 1
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x2c], ecx
je 0x44ad84
inc dword [edi + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x44ad9b
mov ecx, esi
call fcn.004422de
mov ecx, dword [ebp - 0x2c]
jmp 0x44ad9d
xor eax, eax
test eax, eax
jne 0x448b67
cmp byte [ebx], 0x7f
jne 0x44adb5
mov edx, esi
call fcn.0044e15d
xor ecx, ecx
jmp 0x44ae12
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1fc], edx
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x208], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1f4], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x1f0], ax
movzx eax, word [ebx + 2]
test al, 0x10
je 0x44adf3
mov ecx, dword [ecx + 0x20]
jmp 0x44adf5
xor ecx, ecx
mov esi, dword [ebp - 0x2c]
lea edx, [ebp - 0x208]
push ecx
and eax, 0xa
push eax
mov ecx, dword [esi + 0x28]
call fcn.0043fd02
pop ecx
pop ecx
xor ecx, ecx
mov dword [esi + 0x1c], ecx
mov dword [ebp - 0x20], eax
test eax, eax
je 0x448082
mov esi, dword [ebp - 0x14]
jmp 0x448b6c
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x1a0], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0x198], ax
imul eax, dword [ebx + 8], 0x28
mov byte [ebp - 0x196], dl
mov dword [ebp - 0x2c], ecx
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x19c], eax
lea eax, [ebp - 0x120]
push eax
push edx
push edx
push edx
lea edx, [ebp - 0x1a0]
call fcn.0043cc27
add esp, 0x10
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x448b67
cmp dword [ebp - 0x120], eax
jne 0x44aea0
mov ecx, dword [ebp - 0x2c]
push 4
pop eax
mov dl, al
call fcn.0043fffb
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x448b67
xor eax, eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
jmp 0x448082
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.00445187
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x448b67
cmp byte [esi + 2], al
jne 0x44af4c
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x108]
xorps xmm0, xmm0
movlpd qword [ebp - 0x108], xmm0
mov edx, dword [esi + 0x28]
push eax
call fcn.004462cd
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x448b67
cmp byte [ebx], 0x82
jne 0x44af2d
mov eax, dword [edi + 0x70]
mov ecx, dword [ebx + 0xc]
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x108]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x104]
mov dword [ecx + 0x44], eax
mov byte [ecx + 3], 1
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x24], esi
jmp 0x448082
mov edx, ebx
mov ecx, edi
call fcn.00447ec5
mov ecx, dword [ebp - 0x108]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x104]
mov dword [eax + 4], ecx
jmp 0x448082
imul ecx, dword [ebx + 8], 0x28
mov esi, dword [ebp - 0x1c]
add ecx, esi
call fcn.00442820
jmp 0x448035
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
cmp byte [ebp - 0x35], 0x28
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x14]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x1b0], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x1a8], ax
sbb al, al
mov byte [ebp - 0x1a6], al
imul eax, dword [ebx + 0xc], 0x28
add eax, esi
mov dword [ebp - 0x1ac], eax
xor eax, eax
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.004463aa
test byte [ebx], 1
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0x20], eax
jne 0x44afc6
neg ecx
jmp 0x44afca
mov eax, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0xc8], ecx
test eax, eax
jne 0x448b67
test ecx, ecx
jg 0x44c191
jmp 0x448035
mov edx, ebx
mov ecx, edi
call fcn.00447ec5
xor ecx, ecx
mov dword [ebp - 0x44], eax
inc ecx
mov word [eax + 8], cx
mov eax, dword [ebp - 0x14]
mov esi, eax
mov ecx, dword [eax + 0xac]
inc ecx
cmp dword [eax + 0xa0], ecx
jg 0x44c2d3
mov eax, dword [ebx + 0xc]
xor ecx, ecx
mov edx, dword [ebx + 4]
mov dword [ebp - 0xc4], ecx
lea ecx, [ebp - 0xc4]
push ecx
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x2c], eax
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004407c7
pop ecx
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x20], eax
push 4
pop eax
mov word [ecx + 8], ax
mov eax, dword [ebp - 0xc4]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
mov dword [ecx + 4], edx
test eax, eax
jne 0x448b6a
mov ecx, esi
cmp dword [ebp - 0xc4], eax
je 0x448085
push dword [ebx + 4]
mov edx, dword [ebp - 0x2c]
push dword [ebp - 0xc4]
call fcn.00459ba6
mov al, byte [ebp - 0x2c]
pop ecx
pop ecx
inc al
mov ecx, esi
mov byte [ebp - 0x85], al
jmp 0x448085
mov ecx, dword [ecx + 0x10]
xor eax, eax
mov dword [ebp - 0x2c], eax
xor edx, edx
cmp dword [ebx + 0xc], edx
lea eax, [ebp - 0x2c]
cmove eax, edx
mov edx, dword [ebx + 4]
push eax
mov eax, dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004405ec
pop ecx
xor ecx, ecx
mov dword [ebp - 0x20], eax
cmp dword [ebx + 0xc], ecx
je 0x44b0dd
mov edx, dword [ebp - 0x2c]
add dword [edi + 0x2c], edx
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x44b0db
imul ecx, ecx, 0x28
mov eax, edx
cdq
add dword [ecx + esi], eax
mov eax, dword [ebp - 0x20]
adc dword [ecx + esi + 4], edx
xor ecx, ecx
test eax, eax
jne 0x44ae1d
jmp 0x448035
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x44b108
mov edx, dword [ecx + 0x28]
mov ecx, dword [ebp - 0x14]
call fcn.0044d913
jmp 0x448035
mov ecx, dword [ecx + 0x28]
call fcn.00440643
jmp 0x44a11d
mov edx, ebx
mov ecx, edi
call fcn.00447ec5
mov esi, dword [ebx + 4]
lea edx, [ebp - 0x9c]
mov dword [ebp - 0x2c], eax
xor ecx, ecx
xor eax, eax
shl esi, 4
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x14]
add esi, dword [eax + 0x10]
cmp byte [ebx], 0x89
setne cl
inc ecx
push ecx
mov ecx, dword [esi + 4]
call fcn.00440458
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x448b67
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x2c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x448082
inc byte [ecx + 0x4e]
xor eax, eax
push eax
push eax
push eax
push dword [ebx + 0x10]
push ecx
call fcn.00462862
mov ecx, dword [ebp - 0x14]
add esp, 0x14
dec byte [ecx + 0x4e]
mov dword [ebp - 0x20], eax
test eax, eax
je case.0x447fd1.96
mov esi, ecx
jmp 0x448b6a
mov esi, dword [ebp - 0x14]
lea eax, [edi + 0x6c]
mov ecx, dword [ebx + 4]
push dword [ebx + 0x10]
mov dword [ebp - 0x160], ecx
add ecx, ecx
mov dword [ebp - 0x164], eax
mov eax, dword [esi + 0x10]
push str.sqlite_master
mov dword [ebp - 0x168], esi
push dword [eax + ecx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.0042d86a
add esp, 0x14
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x44c2e4
xor ecx, ecx
mov byte [esi + 0x99], 1
push ecx
mov dword [ebp - 0x15c], ecx
lea ecx, [ebp - 0x168]
push ecx
push fcn.00465990
push eax
push esi
call fcn.00462862
mov edx, dword [ebp - 0x2c]
add esp, 0x14
test eax, eax
mov ecx, esi
cmove eax, dword [ebp - 0x15c]
mov dword [ebp - 0x20], eax
call fcn.0042c18f
mov ecx, esi
xor eax, eax
mov byte [ecx + 0x99], al
cmp dword [ebp - 0x20], eax
jne 0x44c2ec
jmp 0x448085
mov edx, dword [ebx + 4]
call fcn.00456e2d
jmp 0x44a11d
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.00458276
jmp 0x4483fd
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.00457fbb
jmp 0x4483fd
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.0046ce22
jmp 0x4483fd
imul eax, dword [ebx + 4], 0x28
imul esi, dword [ebx + 0xc], 0x28
mov ecx, dword [ecx + 0x10]
mov edx, dword [ebx + 0x10]
add eax, dword [ebp - 0x1c]
add esi, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x124]
push eax
mov eax, dword [esi]
inc eax
push eax
movzx eax, word [ebx + 2]
push dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004411b8
mov ecx, dword [ebp - 0x24]
add esp, 0xc
mov dword [ebp - 0x2c], eax
call fcn.00442820
mov eax, dword [ebp - 0x124]
test eax, eax
je 0x44b2e2
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x449770
dec eax
cdq
sub dword [esi], eax
push fcn.0042c124
sbb dword [esi + 4], edx
mov edx, ecx
mov ecx, dword [ebp - 0x24]
push 1
push 0xffffffffffffffff
call fcn.00442a6b
add esp, 0xc
movzx edx, byte [ebp - 0x5c]
mov ecx, dword [ebp - 0x24]
call fcn.00442162
jmp 0x448082
imul esi, dword [ebx + 4], 0x28
imul eax, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
test byte [esi + 8], 0x20
jne 0x44b31e
mov ecx, esi
call fcn.004428f7
test byte [esi + 8], 0x20
je 0x449770
mov eax, dword [ebp - 0x2c]
push dword [eax + 4]
mov ecx, dword [esi]
push dword [eax]
call fcn.00433345
pop ecx
jmp 0x448335
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x1c]
test byte [esi + 8], 0x20
je 0x44b3dd
mov ecx, dword [esi]
lea edx, [ebp - 0x150]
call fcn.00433562
test eax, eax
je 0x44b3dd
imul ecx, dword [ebx + 0xc], 0x28
push dword [ebp - 0x14c]
push dword [ebp - 0x150]
add ecx, dword [ebp - 0x1c]
call fcn.00442894
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor eax, eax
cmp dword [ecx + 0xf8], eax
jne 0x44c509
mov esi, dword [ecx + 0x130]
mov edx, dword [ebp - 0x18]
test esi, esi
je 0x448252
cmp edx, dword [ebp - 0xa4]
jb 0x448252
mov eax, dword [ecx + 0x138]
mov dword [ebp - 0xa4], eax
mov eax, edx
xor edx, edx
div dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa4]
push dword [ecx + 0x134]
sub eax, edx
add eax, dword [ebp - 0x18]
mov dword [ebp - 0xa4], eax
call esi
pop ecx
test eax, eax
je 0x448082
push 9
jmp 0x448b66
mov ecx, esi
call fcn.00442820
jmp 0x44beeb
imul esi, dword [ebx + 4], 0x28
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x2c], ecx
add esi, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x44], eax
test byte [esi + 8], 0x20
jne 0x44b41d
mov ecx, esi
call fcn.004428f7
test byte [esi + 8], 0x20
je 0x449770
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x44b43e
push dword [eax + 4]
mov edx, ecx
mov ecx, dword [esi]
push dword [eax]
call fcn.004335ba
pop ecx
pop ecx
test eax, eax
jne 0x44c191
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
js 0x448082
mov eax, dword [ebp - 0x44]
jmp 0x44b31e
imul eax, dword [ebx + 0xc], 0x28
xor edx, edx
mov esi, dword [ebx + 0x10]
mov dword [ebp - 0x74], esi
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
cmp word [ebx + 2], dx
je 0x44b488
mov eax, dword [edi + 0xb8]
mov edx, dword [esi + 0x14]
test eax, eax
je 0x44b485
cmp dword [eax + 0x1c], edx
je 0x44b47d
mov eax, dword [eax + 4]
test eax, eax
jne 0x44b471
test eax, eax
jne 0x448085
mov eax, dword [ebp - 0x24]
mov edx, dword [edi + 0xc0]
cmp edx, dword [ecx + 0x88]
jge 0x44c304
test byte [eax + 8], 0x40
jne 0x44b581
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 8]
add eax, edx
test edx, edx
lea ecx, [eax + 1]
cmovne ecx, eax
mov dword [ebp - 0x2c], ecx
lea eax, [ecx + 2]
imul ecx, eax, 0xa
mov eax, dword [esi + 4]
add eax, 7
add ecx, edx
mov eax, eax
test eax, eax
jns 0x44b4ce
add eax, 7
sar eax, 3
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x14]
cdq
push edx
push eax
call fcn.0042c37a
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x449770
mov ecx, dword [ebp - 0x24]
call fcn.00442531
mov eax, dword [ebp - 0x24]
sub ebx, dword [ebp - 0x6c]
push 0x40
pop ecx
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x2c]
mov dword [eax], esi
mov eax, dword [ebp - 0x74]
mov dword [esi + 0x3c], ecx
mov dword [esi], edi
push 0x14
mov eax, dword [eax + 0xc]
mov dword [esi + 0x40], eax
mov eax, ebx
cdq
pop ebx
idiv ebx
mov ebx, dword [ebp - 0x74]
mov dword [esi + 0x30], eax
mov eax, dword [edi + 0x5c]
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x18]
mov dword [esi + 0x38], eax
mov eax, dword [edi + 0x70]
mov dword [esi + 0x14], eax
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x2c], eax
mov eax, dword [edi + 0x58]
mov dword [esi + 8], eax
mov eax, dword [edi + 0x88]
mov dword [esi + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [esi + 0x1c], eax
lea eax, [ecx + 2]
mov ecx, dword [ebp - 0x14]
imul edx, eax, 0x28
lea eax, [esi + 0x50]
add edx, esi
cmp eax, edx
je 0x44b579
mov ebx, 0x80
mov word [eax + 8], bx
mov dword [eax + 0x20], ecx
add eax, 0x28
cmp eax, edx
jne 0x44b565
mov edi, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x74]
mov edx, dword [edi + 0xc0]
jmp 0x44b586
mov esi, dword [eax]
mov ebx, dword [ebp - 0x74]
lea eax, [edx + 1]
mov dword [edi + 0xc0], eax
lea edx, [esi + 0x50]
mov eax, dword [edi + 0xb8]
mov dword [esi + 4], eax
mov eax, dword [ecx + 0x20]
mov dword [esi + 0x20], eax
mov eax, dword [ecx + 0x24]
mov dword [esi + 0x24], eax
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x44], eax
mov eax, dword [edi]
push 7
mov dword [ebp - 0x1c], edx
mov eax, dword [eax + 0x58]
mov dword [esi + 0x48], eax
mov eax, dword [edi + 0xcc]
mov dword [esi + 0x28], eax
xor eax, eax
mov dword [edi + 0xcc], eax
mov dword [edi + 0x2c], eax
mov dword [edi + 0x5c], edx
mov dword [edi + 0xb8], esi
mov ecx, dword [esi + 0x3c]
mov dword [edi + 0x18], ecx
movzx eax, word [esi + 0x40]
imul ecx, ecx, 0x28
mov dword [edi + 0x1c], eax
add ecx, edx
mov dword [edi + 0x70], ecx
mov eax, dword [ebx + 0xc]
lea ecx, [ecx + eax*4]
mov dword [esi + 0x18], ecx
mov eax, dword [ebx + 4]
pop esi
add eax, esi
cdq
and edx, esi
add eax, edx
sar eax, 3
push eax
xor eax, eax
push eax
push ecx
call fcn.0049ef70
mov edx, dword [ebx]
add esp, 0xc
mov dword [edi + 0x58], edx
mov eax, dword [ebx + 4]
mov dword [ebp - 0x6c], edx
mov dword [edi + 0x88], eax
lea ebx, [edx - 0x14]
jmp 0x448082
mov edx, ebx
mov ecx, edi
call fcn.00447ec5
mov esi, dword [edi + 0xb8]
mov ecx, 0x1000
push ecx
imul edx, dword [esi + 0x30], 0x14
mov ecx, dword [esi + 8]
mov ecx, dword [edx + ecx + 4]
add ecx, dword [ebx + 4]
imul edx, ecx, 0x28
mov ecx, eax
add edx, dword [esi + 0x10]
jmp 0x448330
test dword [ecx + 0x18], 0x2000000
je 0x44b677
mov eax, dword [ebx + 8]
cdq
add dword [ecx + 0x1c0], eax
adc dword [ecx + 0x1c4], edx
jmp case.0x447fd1.96
xor eax, eax
cmp dword [ebx + 4], eax
mov eax, dword [ebx + 8]
cdq
je 0x44b693
add dword [ecx + 0x1b8], eax
adc dword [ecx + 0x1bc], edx
jmp case.0x447fd1.96
add dword [edi + 0x40], eax
adc dword [edi + 0x44], edx
jmp case.0x447fd1.96
xor eax, eax
cmp dword [ebx + 4], eax
je 0x44b6c8
mov eax, dword [ecx + 0x1b8]
or eax, dword [ecx + 0x1bc]
jne case.0x447fd1.96
mov eax, dword [ecx + 0x1c0]
or eax, dword [ecx + 0x1c4]
jmp 0x4491cf
mov eax, dword [edi + 0x40]
or eax, dword [edi + 0x44]
jmp 0x44b6b1
mov ecx, dword [edi + 0xb8]
test ecx, ecx
jne 0x44b71f
imul eax, dword [ebx + 4], 0x28
add eax, esi
mov ecx, eax
mov dword [ebp - 0x2c], eax
call fcn.004426ae
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.004426ae
mov eax, dword [ebp - 0x2c]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
cmp dword [eax + 4], edx
jg 0x448082
jl 0x44b713
cmp dword [eax], ecx
jae 0x448082
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x448082
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x44b71d
imul eax, dword [ebx + 4], 0x28
add eax, dword [ecx + 0x10]
jmp 0x44b6e0
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x1c]
mov edx, dword [esi + 4]
mov eax, dword [esi]
test edx, edx
jl 0x448085
jg 0x44b74f
xor edx, edx
cmp eax, edx
jbe 0x448085
mov eax, dword [ebx + 0xc]
cdq
sub dword [esi], eax
mov eax, dword [esi + 4]
sbb eax, edx
mov dword [esi + 4], eax
jmp 0x44c191
imul eax, dword [ebx + 0xc], 0x28
mov edx, ebx
imul esi, dword [ebx + 4], 0x28
mov ecx, edi
add eax, dword [ebp - 0x1c]
add esi, dword [ebp - 0x1c]
mov dword [ebp - 0x44], eax
call fcn.00447ec5
mov ecx, dword [esi + 4]
mov edx, dword [esi]
xor esi, esi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x10c], ecx
cmp ecx, esi
jl 0x44b7ec
jg 0x44b79e
xor ecx, ecx
cmp edx, ecx
jbe 0x44b7ec
mov eax, dword [ebp - 0x44]
xor edx, edx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, edx
jl 0x44b7b2
jg 0x44b7c0
cmp ecx, edx
ja 0x44b7c0
xorps xmm0, xmm0
movlpd qword [ebp - 0x48], xmm0
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x48]
push eax
push ecx
lea ecx, [ebp - 0x110]
call fcn.0042f24c
pop ecx
pop ecx
test eax, eax
jne 0x44b7e9
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x110]
mov dword [ecx], eax
mov eax, dword [ebp - 0x10c]
jmp 0x44a754
mov eax, dword [ebp - 0x2c]
or dword [eax], 0xffffffff
or dword [eax + 4], 0xffffffff
jmp 0x448082
imul edx, dword [ebx + 4], 0x28
add edx, esi
mov eax, dword [edx + 4]
mov esi, dword [edx]
mov dword [ebp - 0x2c], eax
mov eax, esi
or eax, dword [ebp - 0x2c]
je 0x448085
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, ecx
jl 0x44c191
jg 0x44b828
cmp esi, ecx
jbe 0x44c191
sub esi, 1
mov dword [edx], esi
sbb eax, ecx
mov dword [edx + 4], eax
jmp 0x44c191
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x1c]
mov edx, dword [esi + 4]
mov eax, dword [esi]
cmp edx, 0x80000000
jl 0x44b85c
jg 0x44b851
test eax, eax
je 0x44b85c
sub eax, 1
mov dword [esi], eax
sbb edx, 0
mov dword [esi + 4], edx
or eax, edx
je 0x44c191
jmp 0x448085
movzx eax, word [ebx + 2]
xor edx, edx
mov dword [ebp - 0x2c], eax
push edx
lea eax, [eax*4 + 0x1c]
push eax
call fcn.0042c3e6
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x449770
xor eax, eax
mov dword [esi + 8], eax
mov eax, ebx
mov ecx, dword [ebx + 0x10]
sub eax, dword [ebp - 0x6c]
mov dword [esi + 4], ecx
push 0x14
cdq
pop ecx
idiv ecx
mov ecx, dword [ebp - 0x14]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0xc], edi
mov byte [esi + 0x1a], al
mov word [ebx], 0xf097
mov dword [ebx + 0x10], esi
imul eax, dword [ebx + 0xc], 0x28
mov esi, dword [ebx + 0x10]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
cmp dword [esi + 8], eax
je 0x44b8fd
movzx edx, byte [esi + 0x1a]
sub edx, 1
mov dword [esi + 8], eax
js 0x44b8fd
lea edi, [edx + 7]
push 4
lea edi, [esi + edi*4]
pop ecx
mov eax, dword [ebx + 8]
add eax, edx
imul eax, eax, 0x28
add eax, dword [ebp - 0x1c]
mov dword [edi], eax
sub edi, ecx
sub edx, 1
jns 0x44b8e0
mov edi, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
inc dword [eax + 0xc]
mov edx, ecx
push 1
lea ecx, [ebp - 0x280]
call fcn.0044280c
lea eax, [ebp - 0x280]
mov dword [esi], eax
xor eax, eax
pop ecx
mov ecx, dword [esi + 4]
mov word [esi + 0x18], ax
lea eax, [esi + 0x1c]
push eax
movzx eax, byte [esi + 0x1a]
push eax
push esi
call dword [ecx + 0xc]
add esp, 0xc
cmp byte [esi + 0x19], 0
je 0x44b976
xor eax, eax
cmp dword [esi + 0x14], eax
je 0x44b960
lea eax, [ebp - 0x280]
push eax
call fcn.004467b8
pop ecx
push eax
push 0x50811c
push edi
call fcn.00443160
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x280]
call fcn.00442531
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x448b67
cmp byte [esi + 0x18], 0
je 0x448082
mov eax, dword [ebx - 0x10]
mov esi, dword [ebp - 0x1c]
test eax, eax
je 0x448035
xor ecx, ecx
push ecx
push 1
jmp 0x44880b
imul esi, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0x10]
add esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.0044241a
mov dword [ebp - 0x20], eax
test eax, eax
je 0x448925
push esi
call fcn.004467b8
pop ecx
push eax
push 0x50811c
push edi
call fcn.00443160
add esp, 0xc
jmp 0x44c318
mov edx, dword [ebx + 4]
xor eax, eax
or dword [ebp - 8], 0xffffffff
or dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x10], eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push dword [ebx + 8]
call fcn.0047bd05
add esp, 0xc
mov dword [ebp - 0x20], eax
test eax, eax
je 0x44ba10
push 5
pop ecx
cmp eax, ecx
jne 0x448b67
xor eax, eax
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x20], eax
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [ebp - 0x1c]
xor eax, eax
mov edi, eax
mov eax, dword [ebp + edi*4 - 0x10]
mov ecx, esi
cdq
push edx
push eax
call fcn.00442894
inc edi
add esi, 0x28
pop ecx
pop ecx
cmp edi, 3
jl 0x44ba1b
jmp 0x4482bb
mov edx, ebx
mov ecx, edi
call fcn.00447ec5
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
add edx, edx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov ecx, eax
mov dword [ebp - 0x2c], eax
call fcn.00440979
mov ecx, eax
mov dword [ebp - 0x34], eax
call fcn.004370b1
mov ecx, dword [ebp - 0x34]
cmp esi, 0xffffffff
mov dword [ebp - 0x3c], eax
cmove esi, eax
call fcn.004370b6
mov ecx, dword [ebp - 0x34]
test eax, eax
cmove esi, dword [ebp - 0x3c]
xor edx, edx
inc edx
call fcn.00436e56
push 5
pop edx
cmp esi, edx
jne 0x44bab8
mov ecx, eax
call fcn.0042e306
test eax, eax
je 0x44baab
mov ecx, dword [ebp - 0x34]
call fcn.00437184
test eax, eax
jne 0x44bab5
mov ecx, dword [ebp - 0x3c]
mov esi, ecx
push 5
pop edx
jmp 0x44babb
push 5
pop edx
mov ecx, dword [ebp - 0x3c]
cmp esi, ecx
je 0x44bb34
cmp ecx, edx
je 0x44bac7
cmp esi, edx
jne 0x44bb34
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0x43], 0
je 0x44c320
cmp dword [eax + 0xa0], 1
jg 0x44c320
cmp ecx, edx
jne 0x44bb02
mov ecx, dword [ebp - 0x34]
mov edx, eax
call fcn.0043725d
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x44bb3b
mov ecx, dword [ebp - 0x34]
mov edx, esi
call fcn.00436fe8
jmp 0x44bb1c
push 4
pop eax
cmp ecx, eax
jne 0x44bb16
mov ecx, dword [ebp - 0x34]
push 2
pop eax
mov edx, eax
call fcn.00436fe8
cmp dword [ebp - 0x20], 0
jne 0x44bb3b
mov ecx, dword [ebp - 0x2c]
xor edx, edx
push 5
pop eax
cmp esi, eax
sete dl
inc edx
call fcn.0044161a
mov dword [ebp - 0x20], eax
jmp 0x44bb37
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x44bb3e
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
mov edx, esi
call fcn.00436fe8
mov esi, dword [ebp - 0x44]
mov ecx, 0xa02
mov word [esi + 8], cx
mov ecx, eax
call fcn.004633e4
mov ecx, eax
mov dword [esi + 0x10], eax
call fcn.0042e306
movzx edx, byte [ebp - 0x5c]
mov ecx, esi
mov dword [esi + 0xc], eax
mov byte [esi + 0xa], 1
call fcn.00442162
jmp 0x448c8a
push dword [ebx + 4]
mov edx, dword [ebp - 0x14]
lea ecx, [edi + 0x6c]
call fcn.0046e69c
jmp 0x44a11c
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 4]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + ecx*8 + 4]
call fcn.0043be39
mov dword [ebp - 0x20], eax
test eax, eax
je 0x448035
cmp eax, 0x65
jne 0x448b67
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x44c191
xor eax, eax
cmp dword [ebx + 4], eax
jne 0x44bbd2
call fcn.00446442
jmp 0x448035
or dword [edi + 0x90], 1
jmp case.0x447fd1.96
mov al, byte [ebx + 0xc]
mov byte [ebp - 0xdc], al
test al, al
jne 0x44bbf9
mov eax, 0x4000
test dword [ecx + 0x18], eax
jne case.0x447fd1.96
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x10]
add eax, eax
push dword [ebp - 0xdc]
mov edx, dword [ebx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00441562
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
je 0x448035
cmp al, 6
jne 0x448b67
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
jmp 0x44b9c1
mov esi, dword [ebx + 0x10]
mov edx, esi
call fcn.0046f649
mov dword [ebp - 0x20], eax
test esi, esi
je 0x448c8d
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.004464bb
jmp 0x448c8a
xor eax, eax
push 0x28
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.0049ef70
imul edx, dword [ebx + 8], 0x28
lea ecx, [ebp - 0x230]
mov eax, dword [ebp - 0x14]
add esp, 0xc
mov dword [ebp - 0x210], eax
add edx, esi
call fcn.004429e1
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x230]
push eax
call fcn.004467b8
pop ecx
test eax, eax
je 0x44bcaf
mov edx, dword [ebx + 4]
lea ecx, [edi + 0x6c]
push ecx
mov ecx, dword [ebp - 0x14]
push eax
call fcn.0046f2ab
pop ecx
pop ecx
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x230]
call fcn.00442531
mov eax, dword [ebp - 0x20]
jmp 0x44a120
inc dword [ecx + 0xac]
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.0046f4ed
pop ecx
mov ecx, dword [ebp - 0x14]
dec dword [ecx + 0xac]
jmp 0x44b187
xor eax, eax
mov dword [ebp - 0x74], eax
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x44c350
mov eax, dword [esi]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x44c350
lea ecx, [ebp - 0x74]
push ecx
push esi
call dword [eax + 0x18]
pop ecx
pop ecx
mov edx, esi
mov dword [ebp - 0x20], eax
mov ecx, edi
call fcn.004464bb
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x448b67
mov eax, dword [ebp - 0x74]
mov ecx, edi
push 2
mov dword [eax], esi
mov edx, dword [ebx + 4]
pop eax
push eax
xor eax, eax
push 0xffffffffffffffff
push eax
call fcn.00447c8b
add esp, 0xc
test eax, eax
je 0x44c341
mov ecx, dword [ebp - 0x74]
mov dword [eax + 0x28], ecx
inc dword [esi + 4]
jmp 0x448082
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
imul edx, dword [ebx + 0xc], 0x28
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x84], eax
add edx, esi
mov esi, dword [eax + 0x28]
mov ecx, dword [edx + 0x28]
mov eax, dword [esi]
mov dword [ebp - 0x7c], eax
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [edx]
mov dword [ebp - 0x64], eax
mov eax, dword [edi + 0x60]
mov dword [ebp - 0x2c], eax
xor eax, eax
test ecx, ecx
jle 0x44bd9e
mov edi, dword [ebp - 0x2c]
add edx, 0x50
mov dword [edi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x44bd90
mov edi, dword [ebp - 0x58]
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
push ecx
push dword [ebx + 0x10]
push dword [ebp - 0x64]
push esi
call dword [eax + 0x20]
mov edx, dword [ebp - 0x7c]
add esp, 0x14
mov ecx, edi
mov dword [ebp - 0x20], eax
call fcn.004464bb
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x448b67
mov eax, dword [ebp - 0x44]
push esi
call dword [eax + 0x28]
pop ecx
mov ecx, dword [ebp - 0x84]
xor edx, edx
test eax, eax
mov byte [ecx + 2], dl
jmp 0x448eec
mov eax, dword [edi + 0x70]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
mov dword [ebp - 0x44], ecx
add eax, esi
cmp byte [ecx + 2], 0
mov dword [ebp - 0x2c], eax
je 0x44be06
mov ecx, eax
jmp 0x44af55
mov eax, dword [ecx + 0x28]
push 0x20
mov edi, dword [eax]
xor eax, eax
push eax
lea eax, [ebp - 0x1e0]
push eax
mov esi, dword [edi]
call fcn.0049ef70
mov ecx, dword [ebp - 0x2c]
mov edx, 0x3e00
mov dword [ebp - 0x1e0], ecx
add esp, 0xc
mov ax, word [ecx + 8]
and ax, dx
xor edx, edx
inc edx
or ax, dx
mov word [ecx + 8], ax
lea eax, [ebp - 0x1e0]
push dword [ebx + 8]
push eax
mov eax, dword [ebp - 0x44]
push dword [eax + 0x28]
call dword [esi + 0x2c]
add esp, 0xc
mov dword [ebp - 0x20], eax
mov edx, edi
mov edi, dword [ebp - 0x58]
mov ecx, edi
call fcn.004464bb
cmp dword [ebp - 0x1cc], 0
mov eax, dword [ebp - 0x20]
cmovne eax, dword [ebp - 0x1cc]
movzx edx, byte [ebp - 0x5c]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
call fcn.00442162
mov ecx, dword [ebp - 0x2c]
call fcn.0044294a
test eax, eax
jne 0x44893f
jmp 0x448c8a
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x2c], eax
cmp byte [eax + 2], 0
jne 0x448035
mov eax, dword [eax + 0x28]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0x44], ecx
call dword [ecx + 0x24]
pop ecx
mov edx, esi
mov dword [ebp - 0x20], eax
mov ecx, edi
call fcn.004464bb
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x448b67
mov eax, dword [ebp - 0x2c]
push dword [eax + 0x28]
mov eax, dword [ebp - 0x44]
call dword [eax + 0x28]
pop ecx
test eax, eax
jne 0x44b370
mov ecx, dword [ebp - 0x14]
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x6c]
add ebx, 0xffffffec
add ebx, eax
jmp 0x44b373
imul esi, dword [ebx + 4], 0x28
xor edx, edx
mov eax, dword [ebx + 0x10]
inc edx
add esi, dword [ebp - 0x1c]
mov eax, dword [eax + 8]
mov ecx, esi
mov dword [ebp - 0x2c], eax
call fcn.00442162
test eax, eax
jne 0x448b67
mov ecx, dword [ebp - 0x2c]
push dword [esi + 0x10]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x4c]
mov edx, dword [ebp - 0x2c]
pop ecx
pop ecx
mov ecx, edi
mov dword [ebp - 0x20], eax
call fcn.004464bb
jmp 0x449e5d
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x44c350
mov edx, dword [esi]
mov dword [ebp - 0x44], edx
test edx, edx
je 0x44c350
mov eax, dword [ebx + 8]
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [edx + 0x34], eax
je 0x448085
mov al, byte [ecx + 0x4a]
xor edx, edx
mov byte [ebp - 0x35], al
mov eax, dword [edi + 0x60]
mov dword [ebp - 0x2c], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x24], edx
jle 0x44bf99
mov edi, dword [ebp - 0x2c]
mov dword [edi + edx*4], eax
add eax, 0x28
inc edx
cmp edx, dword [ebp - 0x24]
jl 0x44bf8a
mov edi, dword [ebp - 0x58]
mov al, byte [ebx + 2]
mov byte [ecx + 0x4a], al
lea eax, [ebp - 0x158]
push eax
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
push dword [ebp - 0x24]
push esi
call dword [eax + 0x34]
mov cl, byte [ebp - 0x35]
add esp, 0x10
mov dword [ebp - 0x20], eax
mov edx, esi
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x4a], cl
mov ecx, edi
call fcn.004464bb
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x44bff3
xor ecx, ecx
cmp dword [ebx + 4], ecx
mov ecx, dword [ebp - 0x14]
je 0x44bff6
mov eax, dword [ebp - 0x158]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x154]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x20]
jmp 0x44bff6
mov ecx, dword [ebp - 0x14]
cmp al, 0x13
jne 0x44c036
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x44c036
movzx edx, word [ebx + 2]
push 4
pop eax
cmp dx, ax
jne 0x44c019
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x448085
push 5
pop esi
movzx eax, dl
cmp dx, si
push 2
pop edx
cmove eax, edx
mov byte [edi + 0x8e], al
mov eax, dword [ebp - 0x20]
jmp 0x449c5b
inc dword [edi + 0x2c]
jmp 0x44c02e
mov edx, ebx
mov ecx, edi
call fcn.00447ec5
mov edx, dword [ebx + 4]
mov esi, eax
mov eax, dword [ebp - 0x14]
add edx, edx
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
call fcn.0043aaac
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], eax
jmp 0x448082
mov edx, ebx
mov ecx, edi
call fcn.00447ec5
mov edx, dword [ebx + 4]
mov dword [ebp - 0x2c], eax
add edx, edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
mov esi, dword [ecx + edx*8 + 4]
xor ecx, ecx
mov eax, ecx
cmp dword [ebx + 0xc], ecx
je 0x44c098
mov ecx, esi
call fcn.0043aaac
cmp eax, dword [ebx + 0xc]
cmovb eax, dword [ebx + 0xc]
mov edx, eax
mov ecx, esi
call fcn.0043b38b
jmp 0x44b15f
mov dl, byte [ecx + 0x4c]
test dl, 0x81
je 0x44c151
push 2
pop eax
test byte [edi + 0x90], al
jne 0x44c151
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x44c0d2
mov eax, dword [edi + 0xb0]
test eax, eax
je 0x44c151
test dl, dl
jns 0x44c102
mov edi, dword [ecx + 0xb8]
mov edx, eax
mov ecx, dword [ebp - 0x58]
call fcn.004479ca
mov esi, eax
mov eax, dword [ebp - 0x14]
push esi
push dword [eax + 0xbc]
call edi
push esi
call fcn.0042c124
mov edi, dword [ebp - 0x58]
add esp, 0xc
jmp 0x44c151
xor edx, edx
inc edx
push eax
cmp dword [ecx + 0xa8], edx
jle 0x44c140
push str.____s
push ecx
call fcn.0042d86a
add esp, 0xc
mov esi, eax
mov eax, dword [ebp - 0x14]
push esi
push edi
push dword [eax + 0xbc]
push 1
call dword [eax + 0xb8]
mov ecx, dword [ebp - 0x14]
add esp, 0x10
mov edx, esi
call fcn.0042c1c6
jmp 0x44c151
push edi
push dword [ecx + 0xbc]
push edx
call dword [ecx + 0xb8]
add esp, 0x10
mov eax, dword [ebx + 4]
cmp eax, dword [0x51cb00]
jl 0x44c18d
xor eax, eax
inc eax
mov ecx, eax
cmp dword [edi + 0x88], eax
jle 0x44c18b
push 0x14
pop esi
mov eax, esi
xor ebx, ebx
mov edx, dword [edi + 0x58]
cmp byte [eax + edx], 0x14
jne 0x44c17d
mov dword [eax + edx + 4], ebx
inc ecx
add eax, esi
cmp ecx, dword [edi + 0x88]
jl 0x44c170
mov ebx, dword [ebp - 0x4c]
xor eax, eax
inc eax
mov dword [ebx + 4], eax
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x6c]
add ebx, 0xffffffec
add ebx, eax
jmp 0x4482bb
mov dword [edi + 0x28], edx
mov al, byte [ebx + 8]
mov byte [edi + 0x8e], al
mov dword [edi + 0x24], esi
test edx, edx
je 0x44c21f
movzx eax, word [ebx + 2]
test ax, ax
je 0x44c1f4
push dword [eax*4 + 0x5047bc]
push str._s_constraint_failed
push edi
call fcn.00443160
add esp, 0xc
cmp dword [ebx + 0x10], 0
je 0x44c205
push dword [ebx + 0x10]
push dword [edi + 0x6c]
push str._z:__s
push dword [ebp - 0x14]
call fcn.0042d86a
add esp, 0x10
mov dword [edi + 0x6c], eax
jmp 0x44c205
push dword [ebx + 0x10]
push 0x50811c
push edi
call fcn.00443160
add esp, 0xc
push dword [edi + 0x6c]
push dword [edi + 0xb0]
push esi
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.0042d9ca
add esp, 0x14
mov ecx, edi
call fcn.00444c1a
push 5
pop ecx
mov dword [ebp - 0x20], eax
cmp eax, ecx
je 0x44c27f
push 0x65
pop eax
xor ecx, ecx
cmp dword [edi + 0x28], ecx
push 1
pop ecx
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x448c04
mov ecx, 0x13bd8
call fcn.0047caa3
jmp 0x448b67
push str.cannot_open_savepoint___SQL_statements_in_progress
push edi
call fcn.00443160
pop ecx
pop ecx
push 5
jmp 0x448b66
sub ebx, dword [ebp - 0x6c]
mov eax, ebx
push 0x14
cdq
pop ebx
idiv ebx
mov dword [edi + 0x24], eax
xor eax, eax
mov byte [esi + 0x43], al
mov dword [ebp - 0x20], ecx
mov dword [edi + 0x28], ecx
jmp 0x448c04
mov eax, dword [ebp - 0x24]
push eax
push str.no_such_savepoint:__s
push edi
call fcn.00443160
add esp, 0xc
xor eax, eax
inc eax
jmp 0x448b67
push 8
jmp 0x448b66
cmp al, 5
jne 0x448b67
sub ebx, dword [ebp - 0x6c]
mov eax, ebx
push 0x14
cdq
pop ecx
idiv ecx
mov dword [edi + 0x24], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 0x28], eax
jmp 0x448c04
mov eax, 0x204
jmp 0x448b67
push 6
pop eax
push 2
pop ecx
mov byte [edi + 0x8e], cl
jmp 0x448b6a
push 7
pop eax
mov dword [ebp - 0x20], eax
mov ecx, esi
call fcn.004580fd
mov eax, dword [ebp - 0x20]
push 7
pop ecx
cmp eax, ecx
je 0x449773
jmp 0x448b6a
push str.too_many_levels_of_trigger_recursion
push edi
mov dword [ebp - 0x20], 1
call fcn.00443160
pop ecx
pop ecx
mov eax, dword [ebp - 0x20]
jmp 0x448b67
cmp esi, edx
mov dword [ebp - 0x20], 1
mov eax, str.into
mov ecx, str.out_of
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
jmp 0x44b9c1
mov eax, dword [ebp - 0x2c]
push dword [ebp - 0x74]
call dword [eax + 0x1c]
pop ecx
jmp 0x449770
push 6
jmp 0x448b66
mov esi, eax
jmp 0x448942
mov eax, dword [ecx + 0x130]
test eax, eax
je 0x44c384
mov edx, dword [ebp - 0x18]
cmp edx, dword [ebp - 0xa4]
jb 0x44c384
push dword [ecx + 0x134]
call eax
pop ecx
test eax, eax
jne 0x44b3d6
xor edx, edx
mov ecx, edi
call fcn.00444bbf
test eax, eax
jne 0x448b67
xor edx, edx
mov ecx, edi
inc edx
call fcn.00444ba7
mov eax, dword [edi + 0x20]
push 2
pop ecx
add eax, ecx
or eax, 1
mov dword [edi + 0x20], eax
imul eax, dword [ebx + 4], 0x28
add esi, eax
xor eax, eax
mov dword [edi + 0x68], esi
mov dword [ebp - 0x9c], eax
cmp dword [ebx + 8], eax
jle 0x44c3fb
mov eax, 0x1000
test word [esi + 8], ax
je 0x44c3dd
mov ecx, esi
call fcn.0044226e
test eax, eax
jne 0x449770
mov ecx, esi
call fcn.0044235f
mov eax, dword [ebp - 0x9c]
add esi, 0x28
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebx + 8]
jl 0x44c3c3
xor eax, eax
mov esi, dword [ebp - 0x14]
cmp byte [esi + 0x45], 0
jne 0x449773
push 4
pop ecx
test byte [esi + 0x4c], cl
je 0x44c422
push eax
push edi
push dword [esi + 0xbc]
push ecx
call dword [esi + 0xb8]
add esp, 0x10
sub ebx, dword [ebp - 0x6c]
mov eax, ebx
mov dword [ebp - 0x20], 0x64
push 0x14
cdq
pop ecx
idiv ecx
inc eax
mov dword [edi + 0x24], eax
jmp 0x448c04
mov edx, dword [ebx + 4]
movzx eax, byte [ecx + 0x43]
mov esi, dword [ebx + 8]
mov dword [ebp - 0x9c], edx
cmp edx, eax
je 0x44c4e2
test esi, esi
je 0x44c467
mov edx, 0x204
call fcn.0047b491
mov al, 1
jmp 0x44c4a6
test edx, edx
je 0x44c47f
xor eax, eax
cmp dword [ecx + 0xa4], eax
jle 0x44c47f
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x44c25a
mov dword [ebp - 0xdc], edx
mov ecx, edi
xor edx, edx
inc edx
call fcn.00444bbf
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x448c04
mov eax, dword [ebp - 0xdc]
mov byte [ebp - 0x9c], al
mov esi, dword [ebp - 0x14]
mov ecx, edi
mov byte [esi + 0x43], al
call fcn.00444c1a
push 5
pop ecx
cmp eax, ecx
jne 0x44c4d6
sub ebx, dword [ebp - 0x6c]
mov eax, ebx
cdq
push 0x14
pop ebx
idiv ebx
mov dword [edi + 0x24], eax
xor eax, eax
inc eax
sub al, byte [ebp - 0x9c]
jmp 0x44c279
mov ecx, esi
call fcn.0047b0fa
jmp 0x44c230
test esi, esi
mov eax, str.cannot_commit___no_transaction_is_active
mov ecx, str.cannot_rollback___no_transaction_is_active
cmove ecx, eax
test edx, edx
mov eax, str.cannot_start_a_transaction_within_a_transaction
cmovne eax, ecx
push eax
push edi
call fcn.00443160
pop ecx
pop ecx
jmp 0x44c299
cmp byte [ecx + 0x45], 0
push 9
pop eax
push 7
pop ecx
cmovne eax, ecx
mov ecx, eax
mov dword [ebp - 0x20], eax
mov dword [edi + 0x28], eax
call fcn.0047b585
jmp 0x44b9bb