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

Disassembly:
sub esp, 0x21c
push ebx
push ebp
mov ebp, dword [esp + 0x228]
push esi
mov esi, dword [ebp]
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x14]
mov bl, byte [ecx + 0x59]
lea eax, [ebp + 0x114]
push edi
xor edi, edi
push eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], esi
mov byte [esp + 0x44], bl
mov dword [esp + 0xa8], edi
mov dword [esp + 0x108], eax
call fcn.0053bcb0
add esp, 4
cmp dword [ebp + 0x74], 7
je 0x52774b
mov dword [ebp + 0x74], edi
mov dword [ebp + 0xf8], edi
cmp dword [esi + 0xd8], edi
mov dword [esi + 0x144], edi
jne 0x52acab
mov edx, dword [ebp + 0x70]
mov dword [esp + 0x20], edx
jmp 0x527384
mov bl, byte [esp + 0x40]
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x1e], 0
jne 0x52774b
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x230]
mov edx, dword [ebp + 0x14]
lea eax, [eax + eax*4]
lea edi, [edx + eax*4]
mov eax, dword [ecx + 0xe8]
test eax, eax
je 0x5273df
mov edx, dword [esp + 0xa4]
cmp dword [ecx + 0xf0], edx
jne 0x5273d5
mov ecx, dword [ecx + 0xec]
push ecx
call eax
add esp, 4
test eax, eax
jne 0x52aad6
xor edx, edx
add edx, 1
mov dword [esp + 0xa4], edx
movzx edx, byte [edi]
mov al, byte [edx + 0x653440]
test al, 2
je 0x52740d
mov eax, dword [edi + 8]
mov ecx, dword [ebp + 0x4c]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
mov dword [esp + 0x20], esi
call fcn.00524ff0
add esp, 4
mov word [esi + 0x1c], 1
jmp 0x527482
test al, 4
je 0x527458
test al, 8
mov ecx, dword [edi + 4]
mov ebp, dword [ebp + 0x4c]
lea edx, [ecx + ecx*4]
lea ecx, [ebp + edx*8]
mov dword [esp + 0x18], ecx
je 0x527448
test al, 0x20
mov ecx, dword [edi + 8]
lea edx, [ecx + ecx*4]
lea ecx, [ebp + edx*8]
mov dword [esp + 0x54], ecx
je 0x527482
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea eax, [ebp + edx*8]
mov dword [esp + 0x1c], eax
jmp 0x527482
test al, 0x10
je 0x527482
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea edx, [ebp + ecx*8]
jmp 0x52747e
test al, 8
je 0x52746e
mov eax, dword [edi + 8]
mov ecx, dword [ebp + 0x4c]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov dword [esp + 0x54], edx
jmp 0x527482
test al, 0x10
je 0x527482
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp + 0x4c]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov dword [esp + 0x5c], edx
mov al, byte [edi]
movzx edx, al
lea ecx, [edx - 1]
cmp ecx, 0x8d
mov dword [esp + 0x24], edx
ja case.0x5274a1.12
movzx ecx, byte [ecx + 0x52ae68]
jmp dword [ecx*4 + 0x52acd0]
mov edx, dword [esp + 0x14]
cmp dword [edx + 0xd8], 0
jne 0x52aca2
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x5274a1.12
mov eax, dword [esp + 0x20]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x230]
mov edx, dword [eax + 0xe8]
mov dword [eax + edx*4 + 0x84], ecx
add dword [eax + 0xe8], 1
mov eax, dword [edi + 8]
sub eax, 1
mov dword [esp + 0x20], eax
jmp case.0x5274a1.12
mov eax, dword [esp + 0x230]
add dword [eax + 0xe8], 0xffffffff
mov ecx, dword [eax + 0xe8]
mov eax, dword [eax + ecx*4 + 0x84]
sub eax, 1
mov dword [esp + 0x20], eax
jmp case.0x5274a1.12
mov ecx, dword [esp + 0x1c]
mov word [ecx + 0x1c], 4
mov eax, dword [edi + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x5274a1.12
mov eax, dword [esp + 0x1c]
mov word [eax + 0x1c], 4
mov edi, dword [edi + 0x10]
mov ecx, dword [edi]
mov dword [eax], ecx
mov edx, dword [edi + 4]
mov dword [eax + 4], edx
jmp case.0x5274a1.12
mov eax, dword [esp + 0x1c]
mov word [eax + 0x1c], 8
mov ecx, dword [edi + 0x10]
fld qword [ecx]
fstp qword [eax + 8]
jmp case.0x5274a1.12
mov edx, dword [edi + 0x10]
mov eax, edx
mov byte [edi], 0x1b
lea esi, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x527576
sub eax, esi
cmp bl, 1
mov dword [edi + 4], eax
je 0x52762a
mov esi, dword [esp + 0x1c]
push 0
push 1
push 0xffffffffffffffff
push edx
push esi
call fcn.00525500
movzx edx, bl
push edx
push esi
call fcn.00524cf0
add esp, 0x1c
test eax, eax
jne 0x52774b
push esi
call fcn.00525860
add esp, 4
test eax, eax
jne 0x52774b
mov dword [esi + 0x24], eax
mov ax, word [esi + 0x1c]
and ax, 0xffbf
or ax, 0x80
mov word [esi + 0x1c], ax
cmp byte [edi + 1], 0xff
jne 0x5275e9
mov ecx, dword [edi + 0x10]
push ecx
call fcn.005223e0
add esp, 4
mov eax, dword [esp + 0x14]
mov byte [edi + 1], 0xff
mov edx, dword [esi + 0x14]
mov dword [edi + 0x10], edx
mov esi, dword [esi + 0x18]
mov dword [edi + 4], esi
cmp esi, dword [eax + 0x50]
jle case.0x5274a1.12
mov ebp, dword [esp + 0x230]
push 0
lea ecx, [ebp + 0xf4]
push str.string_or_blob_too_big
push ecx
call fcn.00526020
mov esi, 0x12
jmp 0x527772
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0x50]
jg 0x527606
mov eax, dword [esp + 0x1c]
mov word [eax + 0x1c], 0xa2
mov edx, dword [edi + 0x10]
mov dword [eax + 0x14], edx
mov ecx, dword [edi + 4]
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1f], bl
jmp case.0x5274a1.12
mov edx, dword [edi + 4]
mov eax, dword [edi + 0x10]
mov esi, dword [esp + 0x1c]
push 0
push 0
push edx
push eax
push esi
call fcn.00525500
add esp, 0x14
mov byte [esi + 0x1f], bl
jmp case.0x5274a1.12
mov edi, dword [edi + 4]
mov esi, dword [esp + 0x230]
mov eax, dword [esi + 0x38]
sub edi, 1
lea edi, [edi + edi*4]
add edi, edi
add edi, edi
add edi, edi
add eax, edi
push eax
call fcn.00525420
add esp, 4
test eax, eax
jne 0x527606
mov ecx, dword [esi + 0x38]
mov edx, dword [esp + 0x1c]
push 0x80
add ecx, edi
push ecx
push edx
call fcn.00525450
add esp, 0xc
jmp case.0x5274a1.12
mov ecx, dword [edi + 4]
mov edi, dword [edi + 8]
mov eax, dword [esp + 0x230]
mov eax, dword [eax + 0x4c]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
lea edx, [edi + edi*4]
mov edi, dword [eax + edx*8 + 0x24]
lea eax, [eax + edx*8]
push esi
push eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], eax
mov dword [eax + 0x24], 0
call fcn.005254d0
mov dword [esi + 0x24], edi
jmp 0x52aab3
mov ecx, dword [edi + 4]
mov eax, dword [esp + 0x230]
mov eax, dword [eax + 0x4c]
mov edi, dword [edi + 8]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
lea edx, [edi + edi*4]
push 0x100
lea esi, [eax + edx*8]
push ecx
push esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], esi
call fcn.00525450
add esp, 0xc
test word [esi + 0x1c], 0x100
je case.0x5274a1.12
mov eax, esi
push eax
call fcn.005258c0
add esp, 4
test eax, eax
je case.0x5274a1.12
mov ebp, dword [esp + 0x230]
mov edx, dword [esp + 0x14]
push 0
lea eax, [ebp + 0xf4]
push str.out_of_memory
push eax
mov byte [edx + 0x1e], 1
call fcn.00526020
mov esi, 7
add esp, 0xc
mov dword [ebp + 0x74], esi
push ebp
mov esi, 1
call fcn.00524740
add esp, 4
mov ecx, dword [esp + 0x104]
push ecx
call fcn.0053bd00
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x21c
ret
mov ecx, dword [esp + 0x230]
mov eax, dword [ecx + 0x4c]
mov ecx, dword [edi + 4]
mov edi, dword [edi + 8]
lea edx, [ecx + ecx*4]
lea ecx, [eax + edx*8]
lea edx, [edi + edi*4]
push 0x100
lea eax, [eax + edx*8]
push ecx
push eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
call fcn.00525450
add esp, 0xc
jmp case.0x5274a1.12
mov ebx, dword [esp + 0x18]
movzx eax, word [ebx + 0x1c]
mov ebp, dword [esp + 0x54]
mov cl, byte [ebp + 0x1c]
or cl, al
test cl, 1
je 0x527803
mov edx, dword [esp + 0x1c]
push edx
call fcn.00525330
add esp, 4
jmp case.0x5274a1.12
test eax, 0x800
je 0x527813
push ebx
call fcn.00524df0
add esp, 4
test byte [ebx + 0x1c], 0x12
jne 0x527830
movzx eax, byte [esp + 0x40]
push eax
push ebx
call fcn.00524ea0
add esp, 8
test eax, eax
jne 0x52774b
test word [ebp + 0x1c], 0x800
je 0x527841
push ebp
call fcn.00524df0
add esp, 4
test byte [ebp + 0x1c], 0x12
jne 0x52785e
movzx ecx, byte [esp + 0x40]
push ecx
push ebp
call fcn.00524ea0
add esp, 8
test eax, eax
jne 0x52774b
mov eax, dword [ebx + 0x18]
add eax, dword [ebp + 0x18]
cdq
mov ecx, edx
mov edx, dword [esp + 0x14]
mov esi, eax
mov eax, dword [edx + 0x50]
cdq
cmp ecx, edx
jg 0x527606
jl 0x527883
cmp esi, eax
ja 0x527606
mov edi, dword [esp + 0x1c]
mov ax, word [edi + 0x1c]
and ax, 0xffe2
xor ecx, ecx
or ax, 2
cmp edi, ebp
sete cl
lea edx, [esi + 2]
mov word [edi + 0x1c], ax
push ecx
push edx
push edi
call fcn.00524d20
add esp, 0xc
test eax, eax
jne 0x52774b
cmp edi, ebp
je 0x5278cc
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov edx, dword [edi + 0x14]
push eax
push ecx
push edx
call fcn.004b07c0
add esp, 0xc
mov eax, dword [ebx + 0x18]
mov edx, dword [edi + 0x14]
mov ecx, dword [ebx + 0x14]
add edx, dword [ebp + 0x18]
push eax
push ecx
push edx
call fcn.004b07c0
mov eax, dword [edi + 0x14]
mov dl, byte [esp + 0x4c]
mov byte [esi + eax], 0
mov ecx, dword [edi + 0x14]
mov byte [esi + ecx + 1], 0
add esp, 0xc
or word [edi + 0x1c], 0x20
mov dword [edi + 0x18], esi
mov byte [edi + 0x1f], dl
jmp case.0x5274a1.12
mov ebp, dword [esp + 0x54]
mov eax, dword [esp + 0x18]
movzx edx, word [ebp + 0x1c]
movzx ecx, word [eax + 0x1c]
movzx ebx, cx
movzx edx, dx
or ebx, edx
test bl, 1
jne 0x527ab5
movzx edx, word [ebp + 0x1c]
and cl, dl
test cl, 4
je 0x5279d0
mov edi, dword [esp + 0x24]
mov ecx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
add edi, 0xffffffb2
cmp edi, 3
ja case.default.0x52794d
jmp dword [edi*4 + 0x52aef8]
add eax, ecx
adc edx, esi
jmp 0x528b61
sub eax, ecx
sbb edx, esi
jmp 0x528b61
push esi
push ecx
push edx
push eax
call fcn.004aede0
jmp 0x528b61
mov edi, ecx
or edi, esi
je 0x527ab5
mov edi, ecx
and edi, esi
cmp edi, 0xffffffff
jne 0x52799a
test eax, eax
jne 0x52799a
cmp edx, 0x80000000
jne 0x52799a
mov ecx, 1
xor esi, esi
push esi
push ecx
push edx
push eax
call fcn.004aee20
jmp 0x528b61
mov edi, ecx
or edi, esi
je 0x527ab5
mov edi, ecx
and edi, esi
cmp edi, 0xffffffff
jne 0x5279c2
mov ecx, 1
xor esi, esi
push esi
push ecx
push edx
push eax
call fcn.004ba380
jmp 0x528b61
push eax
call fcn.005251a0
fstp qword [esp + 0x50]
push ebp
call fcn.005251a0
movzx eax, byte [edi]
add eax, 0xffffffb2
add esp, 8
cmp eax, 3
ja case.default.0x5279ee
jmp dword [eax*4 + 0x52af08]
fadd qword [esp + 0x4c]
jmp 0x527a66
fsub qword [esp + 0x4c]
jmp 0x527a66
fmul qword [esp + 0x4c]
jmp 0x527a66
fldz
fld qword [esp + 0x4c]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x527ab1
fdivp st(1)
jmp 0x527a66
fld qword [esp + 0x4c]
call fcn.004aed66
mov esi, eax
mov edi, edx
call fcn.004aed66
mov ecx, esi
or ecx, edi
je 0x527ab5
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x527a48
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.004ba380
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], edx
fild qword [esp + 0x164]
sub esp, 8
fst qword [esp + 0x54]
fstp qword [esp]
call fcn.00526190
add esp, 8
test eax, eax
jne 0x527ab5
mov eax, dword [esp + 0x1c]
fld qword [esp + 0x4c]
mov cx, word [eax + 0x1c]
fstp qword [eax + 8]
and cx, 0xffe8
or cx, 8
test bl, 8
mov word [eax + 0x1c], cx
jne case.0x5274a1.12
mov edx, eax
push edx
call fcn.00525220
add esp, 4
jmp case.0x5274a1.12
fstp st(0)
fstp st(0)
mov edx, dword [esp + 0x1c]
push edx
call fcn.00525330
add esp, 4
jmp case.0x5274a1.12
mov ecx, dword [esp + 0x230]
movzx esi, byte [edi + 3]
mov ebx, dword [ecx + 0x24]
mov eax, dword [edi + 8]
mov ecx, dword [ecx + 0x4c]
lea eax, [eax + eax*4]
xor edx, edx
test esi, esi
lea ecx, [ecx + eax*8]
jle 0x527af9
mov dword [ebx + edx*4], ecx
call fcn.00527040
add edx, 1
add ecx, 0x28
cmp edx, esi
jl 0x527ae7
cmp byte [edi + 1], 0xfb
jne 0x527b16
mov edx, dword [edi + 0x10]
mov dword [esp + 0x184], edx
mov dword [esp + 0x188], 0
jmp 0x527b29
mov eax, dword [edi + 0x10]
mov dword [esp + 0x188], eax
mov eax, dword [eax]
mov dword [esp + 0x184], eax
mov eax, dword [edi + 0xc]
mov edx, dword [esp + 0x230]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x4c]
lea ebp, [eax + ecx*8]
mov ecx, dword [esp + 0x14]
xor eax, eax
lea edx, [esp + 0x18c]
push ebp
push edx
mov dword [esp + 0x24], ebp
mov word [esp + 0x1b0], 1
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], eax
call fcn.005254d0
mov eax, dword [esp + 0x1b0]
and eax, 0xffe1
or eax, 1
mov word [esp + 0x1b0], ax
mov eax, dword [esp + 0x18c]
add esp, 8
mov dword [esp + 0x1b8], 0
cmp byte [eax + 3], 0
je 0x527baf
mov ecx, dword [edi - 4]
mov dword [esp + 0x1bc], ecx
mov eax, dword [eax + 0x10]
push ebx
lea edx, [esp + 0x188]
push esi
push edx
call eax
mov ecx, dword [esp + 0x20]
add esp, 0xc
cmp byte [ecx + 0x1e], 0
jne 0x52aba8
mov eax, dword [esp + 0x188]
test eax, eax
je 0x527bf5
mov edx, dword [edi + 4]
push edx
push eax
call fcn.00523a30
mov eax, dword [esp + 0x190]
add esp, 8
mov dword [edi + 0x10], eax
mov byte [edi + 1], 0xf9
cmp dword [esp + 0x1b8], 0
je 0x527c33
lea ecx, [esp + 0x18c]
push 0
push ecx
call fcn.0051d750
mov edx, dword [esp + 0x238]
add esp, 4
push eax
add edx, 0xf4
push edx
call fcn.00526020
mov eax, dword [esp + 0x1c4]
add esp, 0xc
mov dword [esp + 0x10], eax
movzx ecx, byte [esp + 0x40]
push ecx
lea edx, [esp + 0x190]
push edx
call fcn.00524cf0
lea eax, [esp + 0x194]
push eax
push ebp
call fcn.005254d0
push ebp
call fcn.00525420
add esp, 0x14
test eax, eax
jne 0x527606
jmp case.0x5274a1.12
mov eax, dword [esp + 0x54]
mov cl, byte [eax + 0x1c]
mov ebx, dword [esp + 0x18]
or cl, byte [ebx + 0x1c]
test cl, 1
je 0x527c8f
mov edx, dword [esp + 0x1c]
push edx
call fcn.00525330
add esp, 4
jmp case.0x5274a1.12
push eax
call fcn.00525100
push ebx
mov esi, eax
mov ebp, edx
call fcn.00525100
mov ecx, eax
movzx eax, byte [edi]
add esp, 8
sub eax, 0x4a
je 0x527cd6
sub eax, 1
je 0x527cd0
sub eax, 1
mov edx, ebp
mov eax, esi
je 0x527cc5
call fcn.00504fe0
mov esi, eax
mov ebp, edx
jmp 0x527cda
call fcn.004b4f10
mov esi, eax
mov ebp, edx
jmp 0x527cda
or esi, ecx
or ebp, edx
jmp 0x527cda
and esi, ecx
and ebp, edx
mov eax, dword [esp + 0x1c]
mov cx, word [eax + 0x1c]
and cx, 0xffe4
or cx, 4
mov dword [eax], esi
mov dword [eax + 4], ebp
mov word [eax + 0x1c], cx
jmp case.0x5274a1.12
mov esi, dword [esp + 0x18]
push esi
call fcn.00525250
mov eax, dword [edi + 8]
cdq
add esp, 4
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.0x5274a1.12
mov esi, dword [esp + 0x18]
call fcn.00527180
test byte [esi + 0x1c], 8
je 0x527d2c
push esi
call fcn.00525220
add esp, 4
movzx ebx, word [esi + 0x1c]
test bl, 0xc
jne 0x527d44
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x5274a1.12
test bl, 4
je 0x527d70
cmp dword [edi + 0xc], 0
je 0x527d61
mov eax, 1
xor ecx, ecx
add eax, dword [esi]
adc ecx, dword [esi + 4]
mov ebp, eax
mov edx, ecx
jmp 0x527dca
xor eax, eax
xor ecx, ecx
add eax, dword [esi]
adc ecx, dword [esi + 4]
mov ebp, eax
mov edx, ecx
jmp 0x527dca
fld qword [esi + 8]
call fcn.004aed66
mov ebp, eax
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], edx
fild qword [esp + 0x9c]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x527dad
add ebp, 1
adc edx, 0
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], edx
cmp dword [edi + 0xc], 0
je 0x527dca
fild qword [esp + 0x9c]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x44
jp 0x527dca
add ebp, 1
adc edx, 0
and ebx, 0xffe4
or ebx, 4
mov dword [esi], ebp
mov dword [esi + 4], edx
mov word [esi + 0x1c], bx
jmp case.0x5274a1.12
mov esi, dword [esp + 0x18]
call fcn.00527180
test byte [esi + 0x1c], 8
je 0x527df9
push esi
call fcn.00525220
add esp, 4
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x527e18
mov edi, dword [edi + 8]
test edi, edi
je 0x52abbd
add edi, 0xffffffff
mov dword [esp + 0x20], edi
jmp case.0x5274a1.12
and eax, 0xffe4
or eax, 4
mov word [esi + 0x1c], ax
jmp case.0x5274a1.12
mov edx, dword [esp + 0x18]
test byte [edx + 0x1c], 4
je case.0x5274a1.12
mov eax, edx
push eax
call fcn.00525280
add esp, 4
jmp case.0x5274a1.12
mov ecx, dword [esp + 0x18]
movzx ecx, word [ecx + 0x1c]
test cl, 1
jne case.0x5274a1.12
mov esi, dword [esp + 0x18]
movzx eax, cl
shr al, 3
and eax, 2
or eax, ecx
test al, 2
mov word [esi + 0x1c], ax
jne 0x527e80
test al, 0xc
je 0x527e80
movzx edx, bl
push edx
push esi
call fcn.00524ea0
add esp, 8
and word [esi + 0x1c], 0xfff3
movzx eax, word [esi + 0x1c]
test eax, 0x800
je 0x527ea9
push esi
call fcn.00524df0
add esp, 4
and word [esi + 0x1c], 0xffe3
mov dword [esp + 0x10], eax
jmp case.0x5274a1.12
and word [esi + 0x1c], 0xffe3
mov dword [esp + 0x10], 0
jmp case.0x5274a1.12
mov eax, dword [esp + 0x18]
movzx eax, word [eax + 0x1c]
test al, 1
jne case.0x5274a1.12
test al, 0x10
jne 0x527efd
test al, 2
jne 0x527ef1
test al, 0xc
je 0x527ef1
mov esi, dword [esp + 0x18]
movzx ecx, bl
push ecx
push esi
call fcn.00524ea0
add esp, 8
and word [esi + 0x1c], 0xfff3
jmp 0x527f01
mov esi, dword [esp + 0x18]
and word [esi + 0x1c], 0xfff3
jmp 0x527f01
mov esi, dword [esp + 0x18]
mov dx, word [esi + 0x1c]
and dx, 0xfff0
or dx, 0x10
mov word [esi + 0x1c], dx
jmp case.0x5274a1.12
mov eax, dword [esp + 0x18]
test byte [eax + 0x1c], 0xd
jne case.0x5274a1.12
mov ecx, eax
push ecx
call fcn.005252b0
add esp, 4
jmp case.0x5274a1.12
mov edx, dword [esp + 0x18]
test byte [edx + 0x1c], 1
jne case.0x5274a1.12
mov eax, edx
push eax
call fcn.00525250
add esp, 4
jmp case.0x5274a1.12
mov ecx, dword [esp + 0x18]
test byte [ecx + 0x1c], 1
jne case.0x5274a1.12
mov edx, ecx
push edx
call fcn.00525280
add esp, 4
jmp case.0x5274a1.12
mov esi, dword [esp + 0x18]
mov al, byte [esi + 0x1c]
mov ebp, dword [esp + 0x5c]
or al, byte [ebp + 0x1c]
test al, 1
je 0x527fe9
mov al, byte [edi + 3]
test al, 0x10
je 0x528057
mov ecx, 4
mov word [esp + 0x220], cx
movzx eax, word [esi + 0x1c]
not eax
and eax, 1
cdq
mov dword [esp + 0x204], eax
mov word [esp + 0x1f8], cx
movzx eax, word [ebp + 0x1c]
not eax
and eax, 1
mov dword [esp + 0x208], edx
cdq
lea esi, [esp + 0x204]
lea ebp, [esp + 0x1dc]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1e0], edx
mov dword [esp + 0x5c], ebp
mov bl, byte [edi + 3]
and bl, 0x67
je 0x528010
mov edx, dword [esp + 0x40]
push edx
mov al, bl
mov ecx, esi
call fcn.00527210
mov eax, dword [esp + 0x44]
push eax
mov al, bl
mov ecx, ebp
call fcn.00527210
add esp, 8
mov ebx, 0x800
test word [esi + 0x1c], bx
je 0x528024
push esi
call fcn.00524df0
add esp, 4
test word [ebp + 0x1c], bx
je 0x528033
push ebp
call fcn.00524df0
add esp, 4
mov ecx, dword [edi + 0x10]
push ecx
push esi
push ebp
call fcn.00525c10
movzx ecx, byte [edi]
add ecx, 0xffffffbd
add esp, 0xc
cmp ecx, 4
ja case.default.0x528050
jmp dword [ecx*4 + 0x52af18]
test al, al
jns 0x528088
mov edi, dword [edi + 8]
mov edx, dword [esp + 0x230]
mov eax, dword [edx + 0x4c]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*8]
mov cx, word [eax + 0x1c]
and cx, 0xffe1
or cx, 1
mov dword [esp + 0x1c], eax
mov word [eax + 0x1c], cx
jmp case.0x5274a1.12
test al, 8
je case.0x5274a1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x5274a1.12
xor edx, edx
test eax, eax
sete dl
mov eax, edx
jmp 0x5280db
xor ecx, ecx
test eax, eax
setne cl
jmp 0x5280d9
xor edx, edx
test eax, eax
setl dl
mov eax, edx
jmp 0x5280db
xor ecx, ecx
test eax, eax
setle cl
jmp 0x5280d9
xor edx, edx
test eax, eax
setg dl
mov eax, edx
jmp 0x5280db
xor ecx, ecx
test eax, eax
setge cl
mov eax, ecx
test byte [edi + 3], 0x80
je 0x52824b
mov edi, dword [edi + 8]
mov ecx, dword [esp + 0x230]
mov ecx, dword [ecx + 0x4c]
lea edx, [edi + edi*4]
lea ecx, [ecx + edx*8]
mov dx, word [ecx + 0x1c]
and dx, 0xffe4
or dx, 4
mov word [ecx + 0x1c], dx
cdq
mov dword [esp + 0x1c], ecx
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x5274a1.12
mov eax, dword [esp + 0x18]
test byte [eax + 0x1c], 1
je 0x528129
mov esi, 2
jmp 0x52813f
push eax
call fcn.00525100
add esp, 4
or eax, edx
je 0x52813d
mov esi, 1
jmp 0x52813f
xor esi, esi
mov eax, dword [esp + 0x54]
test byte [eax + 0x1c], 1
je 0x528150
mov eax, 2
jmp 0x528166
push eax
call fcn.00525100
add esp, 4
or eax, edx
je 0x528164
mov eax, 1
jmp 0x528166
xor eax, eax
cmp byte [edi], 0x3d
jne 0x528178
lea eax, [eax + esi*2]
movzx eax, byte [esi + eax + 0x5a050c]
jmp 0x528183
lea ecx, [eax + esi*2]
movzx eax, byte [esi + ecx + 0x5a0518]
cmp eax, 2
jne 0x528b60
mov eax, dword [esp + 0x1c]
mov dx, word [eax + 0x1c]
and dx, 0xffe1
or dx, 1
mov word [eax + 0x1c], dx
jmp case.0x5274a1.12
mov ecx, dword [esp + 0x18]
test byte [ecx + 0x1c], 1
jne case.0x5274a1.12
mov esi, ecx
push esi
call fcn.00525250
mov edx, dword [esi]
add esp, 4
or edx, dword [esi + 4]
jne 0x5281d6
mov eax, 1
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x5274a1.12
xor eax, eax
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x5274a1.12
mov eax, dword [esp + 0x18]
test byte [eax + 0x1c], 1
jne case.0x5274a1.12
mov esi, eax
push esi
call fcn.00525250
mov ecx, dword [esi]
mov edx, dword [esi + 4]
not ecx
not edx
add esp, 4
mov dword [esi], ecx
mov dword [esi + 4], edx
jmp case.0x5274a1.12
mov eax, dword [esp + 0x18]
test byte [eax + 0x1c], 1
je 0x52821e
mov eax, dword [edi + 0xc]
jmp 0x52824b
push eax
call fcn.005251a0
fcomp qword [0x5a6720]
add esp, 4
fnstsw ax
test ah, 0x44
jnp 0x52823b
mov eax, 1
jmp 0x52823d
xor eax, eax
cmp byte [edi], 0x49
jne 0x52824b
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
test eax, eax
je case.0x5274a1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x5274a1.12
mov eax, dword [edi + 0xc]
jmp 0x528270
mov edx, dword [esp + 0x18]
test byte [edx + 0x1c], 1
jne 0x5274b9
add dword [esp + 0x18], 0x28
sub eax, 1
test eax, eax
jg 0x528270
jmp case.0x5274a1.12
mov eax, dword [esp + 0x18]
test byte [eax + 0x1c], 1
jne case.0x5274a1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x5274a1.12
mov edx, dword [edi + 8]
mov eax, dword [edi + 0xc]
mov esi, dword [esp + 0x230]
mov ecx, dword [edi + 4]
mov dword [esp + 0x24], edx
mov edx, dword [esi + 0x4c]
xor ebx, ebx
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov word [esp + 0xc8], bx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xd0], ebx
mov dx, word [eax + 0x1c]
and dx, 0xffe1
or dx, 1
mov word [eax + 0x1c], dx
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x30]
mov ebp, dword [eax + ecx*4]
cmp dword [ebp], ebx
je 0x528378
push ebp
call fcn.00523a90
add esp, 4
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x52ac5d
cmp byte [ebp + 0x1c], bl
mov eax, dword [ebp]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x30], eax
je 0x52832c
mov dword [esp + 0x60], ebx
jmp 0x52838d
mov ecx, dword [ebp + 0x68]
cmp ecx, dword [esi + 0x54]
jne 0x528344
mov edx, dword [ebp + 0x6c]
mov dword [esp + 0x60], edx
mov eax, dword [ebp + 0x78]
mov dword [esp + 0x48], eax
jmp 0x52838d
cmp byte [ebp + 0x22], 0
je 0x528368
lea ecx, [esp + 0x1d4]
push ecx
push eax
call fcn.00532720
mov edx, dword [esp + 0x1dc]
mov dword [esp + 0x68], edx
add esp, 8
jmp 0x52838d
lea ecx, [esp + 0x60]
push ecx
push eax
call fcn.005327b0
add esp, 8
jmp 0x52838d
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x60], eax
mov ecx, dword [ebp + 0x38]
mov dword [esp + 0x48], ecx
mov dword [ebp + 0x68], ebx
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0x60]
cmp eax, ebx
mov edx, dword [ebp + 0x50]
mov dword [esp + 0x34], edx
je case.0x5274a1.12
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0x50]
ja 0x527606
mov edx, dword [ebp + 0x68]
mov eax, dword [ebp + 0x70]
mov ecx, esi
cmp edx, dword [ecx + 0x54]
mov dword [esp + 0x44], eax
jne 0x5283ca
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x38], eax
jmp 0x528566
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x48]
test esi, esi
lea eax, [eax + edx*4]
mov dword [ebp + 0x74], eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x60]
mov dword [ebp + 0x6c], eax
mov ecx, dword [ecx + 0x54]
mov dword [ebp + 0x68], ecx
jne 0x528435
cmp byte [ebp + 0x22], 0
je 0x528404
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x7c]
push edx
push eax
call fcn.0052e160
jmp 0x528413
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x7c]
push ecx
push edx
call fcn.0052e1d0
mov esi, eax
mov eax, dword [esp + 0x84]
add esp, 8
cmp eax, dword [esp + 0x60]
jb 0x52842e
mov dword [esp + 0x48], esi
mov dword [ebp + 0x78], esi
jmp 0x528435
mov dword [ebp + 0x78], 0
mov al, byte [esi]
cmp al, 0x80
jae 0x528449
movzx ecx, al
mov dword [esp + 0x64], ecx
mov ebx, 1
jmp 0x52845d
lea ecx, [esp + 0x64]
push ecx
push esi
call fcn.00526df0
mov ecx, dword [esp + 0x6c]
add esp, 8
mov ebx, eax
cmp dword [esp + 0x48], 0
jne 0x5284ae
cmp dword [esp + 0x7c], ecx
jae 0x5284ae
xor esi, esi
mov word [esp + 0xc8], si
mov dword [esp + 0xbc], esi
movzx eax, byte [ebp + 0x22]
lea edx, [esp + 0xac]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x3c]
push esi
push ecx
call fcn.00525690
add esp, 0x14
cmp eax, esi
mov dword [esp + 0x10], eax
jne case.0x5274a1.12
mov esi, dword [esp + 0xc0]
mov ecx, dword [esp + 0x64]
lea edx, [ecx + esi]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x34]
add ebx, esi
test edx, edx
jbe 0x528524
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x38]
sub eax, esi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x34], edx
cmp ebx, dword [esp + 0x10]
jae 0x528513
mov dword [eax + esi], ecx
mov al, byte [ebx]
cmp al, 0x80
jae 0x5284ec
movzx eax, al
mov dword [esi], eax
mov eax, 1
jmp 0x5284f6
push esi
push ebx
call fcn.00526df0
add esp, 8
mov ecx, dword [esi]
push ecx
add ebx, eax
call fcn.00523bf0
mov ecx, dword [esp + 0x68]
add esp, 4
add ecx, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x64], ecx
jmp 0x52851a
mov dword [eax + esi], 0
add esi, 4
sub dword [esp + 0x34], 1
jne 0x5284d1
lea edx, [esp + 0xac]
push edx
call fcn.00525040
mov edx, dword [esp + 0x14]
add esp, 4
cmp ebx, edx
mov word [esp + 0xc8], 1
ja 0x5286ce
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
cmp eax, ecx
ja 0x5286ce
cmp ebx, edx
jne 0x528566
cmp eax, ecx
jne 0x5286ce
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x24]
mov eax, dword [ebx + esi*4]
test eax, eax
je 0x52866b
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x5285f5
mov edi, dword [esp + 0x3c]
add eax, ecx
test byte [edi + 0x1c], 0x40
je 0x5285d7
lea edx, [esp + 0xac]
push edx
mov edx, dword [esp + 0x48]
mov edx, dword [edx + esi*4]
push edx
push eax
call fcn.00523cd0
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0xb8]
push ecx
push edi
mov dword [esp + 0xd0], eax
call fcn.005258d0
add esp, 0x14
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x5274a1.12
mov al, byte [esp + 0x40]
mov byte [edi + 0x1f], al
jmp 0x52868d
mov edx, dword [esp + 0x44]
mov edx, dword [edx + esi*4]
push edi
push edx
push eax
call fcn.00523cd0
mov al, byte [esp + 0x4c]
add esp, 0xc
mov byte [edi + 0x1f], al
jmp 0x52868d
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + esi*4]
push ecx
call fcn.00523bf0
mov edx, dword [esp + 0x40]
mov edi, eax
push edx
lea eax, [esp + 0xb4]
push eax
call fcn.005254d0
movzx edx, byte [ebp + 0x22]
mov eax, dword [ebx + esi*4]
lea ecx, [esp + 0xb8]
push ecx
mov ecx, dword [esp + 0x40]
push edx
push edi
push eax
push ecx
call fcn.00525690
add esp, 0x20
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x5274a1.12
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x3c]
mov ecx, dword [edx + eax*4]
mov edx, dword [esp + 0xc0]
push edi
push ecx
push edx
call fcn.00523cd0
mov al, byte [esp + 0x4c]
add esp, 0xc
mov byte [edi + 0x1f], al
jmp 0x52868d
cmp byte [edi + 1], 0xf8
jne 0x528689
mov ecx, dword [edi + 0x10]
mov edi, dword [esp + 0x3c]
push 0x80
push ecx
push edi
call fcn.00525450
add esp, 0xc
jmp 0x52868d
mov edi, dword [esp + 0x3c]
cmp dword [esp + 0xd0], 0
je 0x5286bc
mov dx, word [edi + 0x1c]
and dx, 0xfe7f
or dx, 0x20
mov word [edi + 0x1c], dx
mov eax, dword [esp + 0xc0]
mov dword [edi + 0x14], eax
mov ecx, dword [esp + 0xd0]
mov dword [edi + 0x24], ecx
push edi
call fcn.005258c0
add esp, 4
mov dword [esp + 0x10], eax
jmp case.0x5274a1.12
mov dword [esp + 0x10], 0xb
jmp case.0x5274a1.12
mov eax, dword [edi + 4]
mov ebx, dword [edi + 0x10]
mov edi, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x230]
mov ecx, dword [eax + 0x4c]
lea eax, [ecx + edx*8]
lea edx, [edi + edi*4]
lea ebp, [eax + edx*8 - 0x28]
cmp eax, ebp
mov edi, eax
ja case.0x5274a1.12
xor esi, esi
test word [edi + 0x1c], 0x800
je 0x528718
push edi
call fcn.00524df0
add esp, 4
mov eax, dword [esp + 0x40]
push eax
mov eax, 0x66666667
imul esi
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, byte [ecx + ebx]
mov ecx, edi
call fcn.00527210
add edi, 0x28
add esp, 4
add esi, 0x28
cmp edi, ebp
jbe 0x528707
jmp case.0x5274a1.12
mov edx, dword [edi + 0x10]
mov ecx, dword [esp + 0x230]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
mov dword [esp + 0x4c], edx
mov edx, dword [ecx + 0x4c]
movzx ecx, byte [ecx + 0x100]
lea ebp, [edx + eax*8]
mov eax, dword [edi + 8]
xor esi, esi
lea eax, [eax + eax*4]
lea eax, [ebp + eax*8 - 0x28]
cmp ebp, eax
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x38], ebp
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
ja 0x52885b
mov eax, 0xffffffe8
sub eax, ebp
mov dword [esp + 0x24], eax
lea esp, [esp]
mov esi, dword [esp + 0x4c]
test esi, esi
je 0x5287e3
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x40]
lea ecx, [eax + ebp + 0x18]
push edx
mov eax, 0x66666667
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, byte [ecx + esi]
mov ecx, ebp
call fcn.00527210
add esp, 4
test word [ebp + 0x1c], 0x800
je 0x5287fa
cmp dword [ebp + 0x18], 0
jle 0x5287fa
push ebp
call fcn.00524df0
add esp, 4
mov edx, dword [esp + 0x34]
push edx
push ebp
call fcn.00523b10
mov esi, eax
push esi
call fcn.00523bf0
mov ebx, eax
cdq
add dword [esp + 0x94], eax
push 0
push esi
adc dword [esp + 0xa0], edx
call fcn.00526ed0
add dword [esp + 0x50], eax
add esp, 0x14
test word [ebp + 0x1c], 0x800
je 0x52883e
mov eax, dword [ebp]
add dword [esp + 0x44], eax
jmp 0x52884a
test ebx, ebx
je 0x52884a
mov dword [esp + 0x44], 0
add ebp, 0x28
cmp ebp, dword [esp + 0x30]
jbe 0x5287b0
mov esi, dword [esp + 0x3c]
mov eax, esi
cdq
push edx
push eax
call fcn.00526ed0
mov ebx, eax
add esi, ebx
mov eax, esi
cdq
push edx
push eax
mov dword [esp + 0x4c], esi
call fcn.00526ed0
add esp, 0x10
cmp ebx, eax
jge 0x528885
add esi, 1
mov dword [esp + 0x3c], esi
mov eax, dword [esp + 0x44]
cdq
mov ebx, eax
mov dword [esp + 0xf0], edx
mov eax, esi
cdq
mov ebp, eax
mov ecx, edx
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x50]
sub ebp, ebx
sbb ecx, dword [esp + 0xf0]
add ebp, dword [esp + 0x88]
cdq
adc ecx, dword [esp + 0x8c]
mov dword [esp + 0xec], ebx
cmp ecx, edx
ja 0x527606
jb 0x5288d2
cmp ebp, eax
ja 0x527606
mov edi, dword [edi + 0xc]
mov ecx, dword [esp + 0x230]
mov edx, dword [ecx + 0x4c]
push 0
lea eax, [edi + edi*4]
lea eax, [edx + eax*8]
push ebp
push eax
mov dword [esp + 0x28], eax
call fcn.00524d20
add esp, 0xc
test eax, eax
jne 0x52774b
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
cmp eax, 0x80
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x48], ecx
jae 0x52891c
mov byte [ecx], al
mov edi, 1
jmp 0x528928
push eax
push ecx
call fcn.00526bd0
add esp, 8
mov edi, eax
mov esi, dword [esp + 0x38]
cmp esi, dword [esp + 0x30]
ja 0x528971
mov eax, dword [esp + 0x34]
push eax
push esi
call fcn.00523b10
add esp, 8
cmp eax, 0x80
jae 0x528955
mov ecx, dword [esp + 0x48]
mov byte [edi + ecx], al
mov eax, 1
jmp 0x528966
mov edx, dword [esp + 0x48]
push eax
lea eax, [edi + edx]
push eax
call fcn.00526bd0
add esp, 8
add esi, 0x28
add edi, eax
cmp esi, dword [esp + 0x30]
jbe 0x528932
mov esi, dword [esp + 0x38]
cmp esi, dword [esp + 0x30]
ja 0x5289a6
jmp 0x528980
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x48]
push ecx
mov edx, ebp
push esi
sub edx, edi
push edx
lea ecx, [edi + eax]
push ecx
call fcn.00523c10
add esi, 0x28
add esp, 0x10
add edi, eax
cmp esi, dword [esp + 0x30]
jbe 0x528980
cmp dword [esp + 0x44], 0
mov dword [ebx + 0x18], ebp
mov word [ebx + 0x1c], 0x50
mov dword [ebx + 0x20], 0
je 0x5289d6
mov edx, dword [esp + 0xec]
mov eax, dword [esp + 0xf0]
mov dword [ebx], edx
mov dword [ebx + 4], eax
mov word [ebx + 0x1c], 0x850
mov byte [ebx + 0x1f], 1
jmp case.0x5274a1.12
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x1c], 0
je 0x5289f6
cmp dword [eax + 0x90], 1
jle case.0x5274a1.12
mov edi, dword [edi + 4]
mov edx, dword [eax + 8]
lea ecx, [edi + edi*2]
mov esi, dword [edx + ecx*8 + 4]
push esi
call fcn.00530010
add esp, 4
test eax, eax
jne case.0x5274a1.12
push esi
call fcn.0052da50
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x234]
add esp, 4
mov dword [eax + 0x14c], 1
jmp case.0x5274a1.12
mov esi, dword [esp + 0x14]
mov bl, byte [edi + 4]
mov al, byte [edi + 8]
mov ebp, 1
cmp dword [esi + 0x90], ebp
jle 0x528a92
test bl, bl
je 0x528a92
cmp byte [esi + 0x1c], 0
jne 0x528a92
test al, al
mov eax, str.rollback
jne 0x528a66
mov eax, str.commit
mov ecx, dword [esp + 0x230]
push 0
push str._transaction___SQL_statements_in_progress
push eax
add ecx, 0xf4
push str.cannot
push ecx
call fcn.00526020
add esp, 0x14
mov dword [esp + 0x10], ebp
jmp case.0x5274a1.12
cmp bl, byte [esi + 0x1c]
jne 0x52abca
test bl, bl
jne 0x528aa6
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x528ab4
test al, al
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x528ab4
mov eax, str.cannot_commit___no_transaction_is_active
mov edx, dword [esp + 0x230]
push 0
push eax
add edx, 0xf4
push edx
call fcn.00526020
add esp, 0xc
mov dword [esp + 0x10], ebp
jmp case.0x5274a1.12
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 8]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8 + 4]
test eax, eax
je case.0x5274a1.12
mov ecx, dword [edi + 8]
push ecx
push eax
call fcn.0052d460
add esp, 8
cmp eax, 5
mov dword [esp + 0x10], eax
je 0x52ac26
test eax, eax
je case.0x5274a1.12
cmp eax, 8
jne 0x52ac5d
jmp case.0x5274a1.12
mov eax, dword [edi + 4]
test eax, eax
mov edi, dword [edi + 0xc]
jge 0x528b32
or edx, 0xffffffff
sub edx, eax
mov eax, edx
neg edi
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xf4]
push ecx
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx*8 + 4]
add edi, 1
push edi
push edx
call fcn.0052f580
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x100]
add esp, 0xc
cdq
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ax, word [ecx + 0x1c]
and ax, 0xffe4
or ax, 4
mov word [ecx + 0x1c], ax
jmp case.0x5274a1.12
mov eax, dword [edi + 4]
mov ebp, dword [esp + 0x14]
mov edx, dword [ebp + 8]
mov ebx, dword [esp + 0x5c]
lea ecx, [eax + eax*2]
push ebx
lea esi, [edx + ecx*8]
call fcn.00525250
mov eax, dword [ebx]
mov ecx, dword [edi + 8]
mov edx, dword [esi + 4]
push eax
add ecx, 1
push ecx
push edx
call fcn.0052f6a0
mov dword [esp + 0x20], eax
mov eax, dword [edi + 8]
add esp, 0x10
test eax, eax
jne 0x528bc7
mov eax, dword [esi + 0x14]
mov ecx, dword [ebx]
mov dword [eax], ecx
or dword [ebp + 0xc], 0x10
jmp 0x528bd4
cmp eax, 1
jne 0x528bd4
mov edx, dword [esi + 0x14]
mov al, byte [ebx]
mov byte [edx + 0x58], al
cmp dword [edi + 4], 1
jne case.0x5274a1.12
mov ecx, ebp
push ecx
call fcn.00524510
add esp, 4
jmp case.0x5274a1.12
mov eax, dword [edi + 4]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + edx*8 + 4]
xor esi, esi
cmp eax, esi
je 0x528c9b
lea edx, [esp + 0x80]
push edx
push 1
push eax
call fcn.0052f580
add esp, 0xc
cmp eax, esi
mov dword [esp + 0x10], eax
jne case.0x5274a1.12
mov eax, dword [esp + 0x80]
cmp eax, dword [edi + 8]
je case.0x5274a1.12
mov ebx, dword [esp + 0x230]
mov ecx, dword [ebx + 0xf4]
push ecx
call fcn.005223e0
mov esi, dword [esp + 0x18]
push str.database_schema_has_changed
push esi
call fcn.00525f80
mov dword [ebx + 0xf4], eax
mov edi, dword [edi + 4]
mov eax, dword [esi + 8]
lea edx, [edi + edi*2]
mov ecx, dword [eax + edx*8 + 0x14]
mov edx, dword [ecx]
add esp, 0xc
cmp edx, dword [esp + 0x80]
je 0x528c85
push edi
push esi
call fcn.00534f80
add esp, 8
push esi
call fcn.00524510
add esp, 4
mov dword [esp + 0x10], 0x11
jmp case.0x5274a1.12
mov dword [esp + 0x10], esi
mov dword [esp + 0x80], esi
jmp 0x528c28
cmp al, 9
mov ecx, dword [edi + 4]
mov esi, dword [edi + 0xc]
mov ebx, dword [esp + 0x14]
mov ebx, dword [ebx + 8]
mov edx, dword [edi + 8]
mov dword [esp + 0x4c], ecx
lea ecx, [esi + esi*2]
lea ecx, [ebx + ecx*8]
mov ebx, dword [ecx + 4]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x230]
mov dword [esp + 0x38], edx
jne 0x528cf6
mov eax, dword [ecx + 0x14]
mov al, byte [eax + 0x58]
cmp al, byte [ebx + 0x100]
mov dword [esp + 0x24], 1
jae 0x528cfe
mov byte [ebx + 0x100], al
jmp 0x528cfe
mov dword [esp + 0x24], 0
cmp byte [edi + 3], 0
je 0x528d21
lea ecx, [edx + edx*4]
mov edx, dword [ebx + 0x4c]
lea ebp, [edx + ecx*8]
push ebp
mov dword [esp + 0x58], ebp
call fcn.00525250
mov eax, dword [ebp]
add esp, 4
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x4c]
push 1
push esi
lea ecx, [edi - 0x14]
push edx
mov eax, ebx
call fcn.00527090
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x52774b
mov eax, dword [ebp]
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x3c]
mov byte [ebp + 0x1c], 1
mov ecx, dword [edi + 0x10]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
push eax
push ecx
call fcn.005326e0
add esp, 0x14
cmp byte [edi + 1], 0xfa
mov dword [esp + 0x10], eax
jne 0x528d8c
mov ecx, dword [edi + 0x10]
mov dword [ebp + 0x4c], ecx
add ecx, 5
mov dword [ebp + 0x48], ecx
mov edx, dword [ebx]
mov ecx, dword [edx + 8]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ebp + 0x4c]
mov dl, byte [edx + 0x59]
mov byte [ecx + 4], dl
jmp 0x528d99
lea ecx, [ebp + 0x23]
mov dword [ebp + 0x4c], 0
mov dword [ebp + 0x48], ecx
test eax, eax
je 0x528dd5
cmp eax, 5
je 0x52ac41
cmp eax, 0x10
jne 0x52ac5d
cmp byte [edi + 1], 0xfa
mov dword [ebp], 0
setne al
test al, al
sete dl
mov byte [ebp + 0x21], al
mov byte [ebp + 0x22], dl
mov dword [esp + 0x10], 0
jmp case.0x5274a1.12
mov eax, dword [ebp]
push eax
call fcn.00532ae0
add esp, 4
test al, 0xf0
jne 0x528e1f
mov ecx, eax
and ecx, 7
cmp ecx, 5
je 0x528df4
cmp ecx, 2
jne 0x528e1f
mov cl, al
shr eax, 1
and cl, 1
and al, 1
test cl, cl
mov byte [ebp + 0x21], cl
mov byte [ebp + 0x22], al
je 0x528e0d
cmp byte [edi + 1], 0xfa
je 0x528e1f
test al, al
je case.0x5274a1.12
cmp byte [edi + 1], 0xfa
je case.0x5274a1.12
mov dword [esp + 0x10], 0xb
jmp 0x52ac5d
mov eax, dword [edi + 4]
mov ebx, dword [esp + 0x230]
push 1
push 0xffffffffffffffff
push eax
mov ecx, edi
mov eax, ebx
call fcn.00527090
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x52774b
mov edx, dword [esp + 0x14]
lea esi, [ebp + 0x30]
push esi
push 0x41e
push 0x1f4
push 1
push 0
push edx
mov byte [ebp + 0x1c], 1
call fcn.0051f430
add esp, 0x18
test eax, eax
mov dword [esp + 0x10], eax
jne 0x528f2f
mov eax, dword [esi]
push 1
push eax
call fcn.0052d460
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x528f2f
cmp dword [edi + 0x10], eax
je 0x528f0c
mov edx, dword [esi]
push 2
lea ecx, [esp + 0x128]
push ecx
push edx
call fcn.00531fe0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x528ef9
mov eax, dword [ebp]
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x124]
push eax
mov eax, dword [esi]
push ecx
push 1
push edx
push eax
call fcn.005326e0
mov edi, dword [edi + 0x10]
mov dword [ebp + 0x4c], edi
mov ecx, dword [ebx]
mov edx, dword [ecx + 8]
mov dword [esp + 0x24], eax
mov eax, dword [edx + 0x14]
mov cl, byte [eax + 0x59]
mov byte [edi + 4], cl
mov edx, dword [ebp + 0x4c]
add esp, 0x14
add edx, 5
mov dword [ebp + 0x48], edx
mov byte [ebp + 0x21], 0
cmp byte [ebp + 0x21], 0
sete al
mov byte [ebp + 0x22], al
jmp case.0x5274a1.12
mov eax, dword [ebp]
mov ecx, dword [esi]
push eax
push 0
push 1
push 1
push ecx
call fcn.005326e0
lea edx, [ebp + 0x23]
add esp, 0x14
mov dword [esp + 0x10], eax
mov byte [ebp + 0x21], 1
mov dword [ebp + 0x48], edx
cmp byte [ebp + 0x21], 0
sete al
mov byte [ebp + 0x22], al
jmp case.0x5274a1.12
mov eax, dword [edi + 4]
push 0
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0x23c]
lea ecx, [edi - 0x14]
call fcn.00527090
add esp, 0xc
test eax, eax
je 0x52774b
mov byte [eax + 0x1c], 1
mov byte [eax + 0x1e], 1
mov cl, byte [edi + 8]
lea edx, [eax + 0x23]
mov byte [eax + 0x1f], cl
mov dword [eax + 0x48], edx
mov byte [eax + 0x21], 1
mov byte [eax + 0x22], 0
jmp case.0x5274a1.12
mov esi, dword [esp + 0x230]
mov edi, dword [edi + 4]
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + edi*4]
push ecx
push esi
call fcn.00523300
mov edx, dword [esi + 0x30]
mov dword [edx + edi*4], 0
jmp 0x52aab3
mov ecx, dword [esp + 0x230]
mov eax, dword [edi + 4]
mov ecx, dword [ecx + 0x30]
mov ebp, dword [ecx + eax*4]
cmp dword [ebp], 0
je case.0x5274a1.12
cmp edx, 6
mov byte [ebp + 0x1c], 0
je 0x528fd3
cmp edx, 0x40
je 0x528fd3
xor eax, eax
jmp 0x528fd8
mov eax, 1
mov edx, dword [ebp + 0x48]
mov byte [edx], al
cmp byte [ebp + 0x21], 0
je 0x529044
mov eax, dword [esp + 0x5c]
push eax
call fcn.00525100
add esp, 4
cmp dword [edi + 8], 0
mov esi, eax
mov ebx, edx
jne 0x52900d
mov dword [ebp + 0x28], esi
mov dword [ebp + 0x2c], ebx
mov byte [ebp + 0x19], 0
mov byte [ebp + 0x20], 1
jmp case.0x5274a1.12
mov edx, dword [ebp]
lea ecx, [esp + 0x58]
push ecx
push 0
push ebx
push esi
push 0
push 0
push edx
call fcn.00530b10
add esp, 0x1c
test eax, eax
mov dword [esp + 0x10], eax
jne 0x52ac5d
cmp dword [esp + 0x58], eax
mov dword [ebp + 8], esi
sete al
mov dword [ebp + 0xc], ebx
mov byte [ebp + 0x19], al
jmp 0x5290b4
mov ecx, dword [ebp + 0x4c]
mov dx, word [edi + 0x10]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x128], ecx
mov ecx, dword [esp + 0x230]
mov word [esp + 0x12c], dx
mov edx, dword [ecx + 0x4c]
lea ecx, [esp + 0x58]
push ecx
push 0
lea eax, [eax + eax*4]
push 0
lea eax, [edx + eax*8]
push 0
lea edx, [esp + 0x138]
push edx
mov dword [esp + 0x144], eax
mov eax, dword [ebp]
push 0
push eax
mov byte [esp + 0x14a], 0
mov byte [esp + 0x14b], 0
call fcn.00530b10
add esp, 0x1c
test eax, eax
mov dword [esp + 0x10], eax
jne 0x52ac5d
mov byte [ebp + 0x19], al
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 0x48]
xor ecx, ecx
cmp eax, 0x75
mov byte [ebp + 0x20], 0
mov dword [ebp + 0x68], ecx
mov byte [edx], cl
je 0x529110
cmp eax, 6
je 0x529110
cmp dword [esp + 0x58], ecx
jl 0x5290e6
mov ecx, dword [ebp]
lea eax, [esp + 0x58]
push eax
push ecx
call fcn.00532990
jmp 0x529124
mov edx, dword [ebp]
push edx
call fcn.0052e290
add esp, 4
mov dword [esp + 0x58], eax
cmp dword [esp + 0x58], 0
je case.0x5274a1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x5274a1.12
cmp dword [esp + 0x58], ecx
jge 0x529138
mov ecx, dword [ebp]
lea eax, [esp + 0x58]
push eax
push ecx
call fcn.00532870
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x52ac5d
mov byte [ebp + 0x19], al
jmp 0x5290f6
mov dword [esp + 0x58], ecx
jmp case.0x5274a1.12
mov esi, dword [esp + 0x230]
mov edx, dword [edi + 4]
mov esi, dword [esi + 0x30]
mov esi, dword [esi + edx*4]
xor ecx, ecx
cmp dword [esi], ecx
je 0x5291ac
cmp al, 0x7a
jne 0x529162
mov eax, dword [esi + 0x4c]
mov byte [eax + 6], 1
lea ecx, [esp + 0x110]
push ecx
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + 0x18]
cdq
push 0
push edx
mov edx, dword [ecx + 0x14]
push eax
mov eax, dword [esi]
push 0
push edx
push eax
call fcn.00530b10
mov ecx, dword [esi + 0x4c]
add esp, 0x1c
test eax, eax
mov dword [esp + 0x10], eax
mov byte [ecx + 6], 0
jne case.0x5274a1.12
xor ecx, ecx
cmp dword [esp + 0x110], ecx
mov byte [esi + 0x20], al
sete cl
mov dword [esi + 0x68], eax
cmp byte [edi], 0x7a
jne 0x5291b8
test ecx, ecx
jmp 0x52824d
test ecx, ecx
jne case.0x5274a1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x5274a1.12
mov eax, dword [edi + 0x10]
mov esi, dword [esp + 0x5c]
mov ebp, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x230]
mov ecx, dword [eax + 0x4c]
push esi
lea ebx, [ecx + edx*8]
call fcn.00525250
mov edx, dword [esi]
mov ecx, dword [esp + 0x234]
mov eax, dword [esi + 4]
mov dword [esp + 0x100], edx
mov edx, dword [ecx + 0x30]
mov esi, dword [edx + ebp*4]
mov ebp, dword [esi]
add esp, 4
test ebp, ebp
mov dword [esp + 0x100], eax
je case.0x5274a1.12
mov eax, dword [ebx + 0x14]
mov ebx, dword [ebx + 0x18]
push eax
mov dword [esp + 0x28], eax
call fcn.00524250
mov ecx, dword [esp + 0x28]
sub ebx, eax
lea eax, [esp + 0x70]
push eax
push 0
mov eax, ebx
cdq
push edx
push eax
push 0
push ecx
push ebp
mov dword [esi + 0x68], 0
call fcn.00530b10
add esp, 0x20
test eax, eax
mov dword [esp + 0x10], eax
jne 0x52ac5d
cmp dword [esp + 0x6c], eax
jge 0x52928b
lea edx, [esp + 0x6c]
push edx
push ebp
call fcn.00532870
add esp, 8
cmp dword [esp + 0x6c], 0
mov dword [esp + 0x10], eax
je 0x52928b
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x5274a1.12
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x6c]
push eax
push ecx
push ebx
push 0
push esi
call fcn.005243c0
add esp, 0x14
test eax, eax
mov dword [esp + 0x10], eax
jne 0x52ac5d
cmp dword [esp + 0x6c], eax
jle 0x5292c2
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x5274a1.12
lea edx, [esp + 0x16c]
push edx
push ebp
call fcn.005242b0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x52ac5d
mov ecx, dword [esp + 0x16c]
cmp ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x170]
jne 0x52930e
cmp edx, dword [esp + 0x100]
jne 0x52930e
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x5274a1.12
mov eax, dword [esp + 0x5c]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.0x5274a1.12
mov ecx, dword [esp + 0x230]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x30]
mov esi, dword [edx + eax*4]
mov eax, dword [esi]
test eax, eax
je case.0x5274a1.12
mov ebp, dword [esp + 0x5c]
mov edx, dword [ebp + 4]
mov ecx, dword [ebp]
lea ebx, [esp + 0x144]
push ebx
push 0
push edx
push ecx
push 0
push 0
push eax
call fcn.00530b10
mov dword [esp + 0x2c], eax
mov eax, dword [ebp]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x160]
mov ecx, dword [ebp + 4]
add esp, 0x1c
test eax, eax
sete dl
mov dword [esi + 0xc], ecx
mov byte [esi + 0x19], dl
mov byte [esi + 0x1c], 0
mov dword [esi + 0x68], 0
jmp 0x52824b
mov edi, dword [edi + 4]
mov edx, dword [esp + 0x230]
mov eax, dword [edx + 0x30]
mov eax, dword [eax + edi*4]
mov esi, dword [eax + 0x58]
mov ecx, dword [esp + 0x1c]
mov dword [ecx], esi
mov eax, dword [eax + 0x5c]
mov dword [ecx + 4], eax
mov edx, dword [edx + 0x30]
mov eax, dword [edx + edi*4]
add dword [eax + 0x58], 1
adc dword [eax + 0x5c], 0
jmp 0x528b6a
mov esi, dword [esp + 0x230]
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x30]
xor ebp, ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov ebx, dword [edx + ecx*4]
mov eax, dword [ebx]
cmp eax, ebp
je 0x5295e3
push eax
mov dword [esp + 0x28], ebp
call fcn.00532ae0
and al, 3
add esp, 4
cmp al, 1
jne 0x528e1f
cmp byte [ebx + 0x1b], 0
jne 0x529512
cmp byte [ebx + 0x1d], 0
je 0x529415
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x28], eax
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x2c], ecx
jmp 0x529475
mov eax, dword [ebx]
lea edx, [esp + 0x70]
push edx
push eax
call fcn.00530a90
add esp, 8
cmp eax, ebp
mov dword [esp + 0x10], eax
jne 0x52ac5d
cmp dword [esp + 0x70], ebp
je 0x529445
mov dword [esp + 0x28], 1
mov dword [esp + 0x2c], ebp
jmp 0x529475
mov edx, dword [ebx]
lea ecx, [esp + 0x28]
push ecx
push edx
call fcn.00532720
add esp, 8
cmp dword [esp + 0x28], 0xffffffff
jne 0x52946c
cmp dword [esp + 0x2c], 0x7fffffff
jne 0x52946c
mov byte [ebx + 0x1b], 1
jmp 0x529475
add dword [esp + 0x28], 1
adc dword [esp + 0x2c], ebp
mov edi, dword [edi + 0xc]
cmp edi, ebp
je 0x5294d8
mov ecx, dword [esi + 0x4c]
lea eax, [edi + edi*4]
lea esi, [ecx + eax*8]
push esi
call fcn.00525250
mov eax, dword [esi]
mov ecx, dword [esi + 4]
add esp, 4
cmp eax, 0xffffffff
jne 0x5294a4
cmp ecx, 0x7fffffff
je 0x52ac55
cmp byte [ebx + 0x1b], 0
jne 0x52ac55
mov edx, dword [esp + 0x2c]
add eax, 1
adc ecx, ebp
cmp edx, ecx
jg 0x5294cb
jl 0x5294c3
cmp dword [esp + 0x28], eax
jae 0x5294cb
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x28]
mov dword [esi], eax
mov ecx, dword [esp + 0x2c]
mov dword [esi + 4], ecx
cmp dword [esp + 0x2c], 0x7fffffff
ja 0x529504
jb 0x5294eb
cmp dword [esp + 0x28], 0xffffffff
jae 0x529504
mov byte [ebx + 0x1d], 1
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
add edx, 1
adc eax, ebp
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], eax
jmp 0x529508
mov byte [ebx + 0x1d], 0
cmp byte [ebx + 0x1b], 0
je 0x5295d4
mov ebp, dword [esp + 0x14]
mov eax, dword [ebp + 0x38]
mov edx, dword [ebp + 0x3c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
xor edi, edi
test edi, edi
jne 0x52954b
mov ecx, eax
and ecx, 0xffffff
xor esi, esi
cmp ecx, eax
jne 0x52954b
cmp esi, edx
jne 0x52954b
add eax, 1
adc edx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x529578
lea ecx, [esp + 0x28]
push ecx
push 8
call fcn.0053ffa0
mov eax, dword [esp + 0x30]
add esp, 8
cmp edi, 5
jge 0x529574
and eax, 0xffffff
xor edx, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x529578
mov edx, dword [esp + 0x2c]
mov ecx, eax
or ecx, edx
je 0x5295a9
lea ecx, [esp + 0x70]
push ecx
push 0
push edx
mov edx, dword [ebx]
push eax
push 0
push 0
push edx
call fcn.00530b10
mov edx, dword [esp + 0x48]
mov ecx, eax
mov eax, dword [esp + 0x44]
add esp, 0x1c
mov dword [esp + 0x24], ecx
add edi, 1
jmp 0x5295ad
mov ecx, dword [esp + 0x24]
cmp edi, 0x64
jge 0x5295c0
test ecx, ecx
jne 0x5295c0
cmp dword [esp + 0x70], ecx
je 0x529526
test ecx, ecx
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x3c], edx
jne 0x5295d4
cmp dword [esp + 0x70], ecx
je 0x52ac55
mov byte [ebx + 0x19], 0
mov byte [ebx + 0x20], 0
mov dword [ebx + 0x68], 0
mov eax, dword [esp + 0x1c]
mov cx, word [eax + 0x1c]
mov edx, dword [esp + 0x28]
and cx, 0xffe4
or cx, 4
mov word [eax + 0x1c], cx
mov ecx, dword [esp + 0x2c]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp case.0x5274a1.12
test byte [edi + 3], 1
mov edx, dword [esp + 0x230]
mov ecx, dword [edi + 8]
mov eax, dword [edx + 0x4c]
mov ebx, dword [edx + 0x30]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*8]
mov ecx, dword [edi + 4]
mov ebp, dword [ebx + ecx*4]
mov ecx, dword [eax + 4]
mov ebx, dword [eax]
mov dword [esp + 0x10c], ecx
je 0x529648
add dword [edx + 0x104], 1
test byte [edi + 3], 2
je 0x52965d
mov edx, dword [eax]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x30], edx
mov edx, dword [eax + 4]
mov dword [ecx + 0x34], edx
cmp byte [ebp + 0x1d], 0
je 0x529678
mov ecx, dword [eax + 4]
cmp ecx, dword [ebp + 0x14]
jl 0x529678
jg 0x529674
mov edx, dword [eax]
cmp edx, dword [ebp + 0x10]
jb 0x529678
mov byte [ebp + 0x1d], 0
movzx eax, word [esi + 0x1c]
test al, 1
je 0x529688
xor ecx, ecx
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], ecx
cmp byte [ebp + 0x1e], 0
je 0x52972e
cmp byte [ebp + 0x1f], 0
jne 0x5296a4
mov eax, dword [ebp + 0x38]
push eax
call fcn.005223e0
add esp, 4
mov ecx, dword [esp + 0x10c]
mov dword [ebp + 0x40], ebx
mov dword [ebp + 0x44], ecx
mov eax, dword [esi + 0x18]
mov dword [ebp + 0x34], eax
mov ecx, dword [esi + 0x14]
cmp ecx, dword [esi + 0x24]
je 0x529708
cmp byte [ebp + 0x1f], 0
jne 0x529708
add eax, 2
push eax
call fcn.005222d0
add esp, 4
test eax, eax
mov dword [ebp + 0x38], eax
je 0x52774b
mov edx, dword [ebp + 0x34]
mov ecx, dword [esi + 0x14]
push edx
push ecx
push eax
call fcn.004b07c0
mov edx, dword [ebp + 0x38]
mov eax, dword [ebp + 0x34]
mov byte [edx + eax], 0
mov ecx, dword [ebp + 0x38]
mov edx, dword [ebp + 0x34]
mov byte [ecx + edx + 1], 0
add esp, 0xc
mov byte [ebp + 0x1c], 0
jmp 0x529767
cmp byte [ebp + 0x1f], 0
mov dword [ebp + 0x38], ecx
jne 0x529728
mov ax, word [esi + 0x1c]
and ax, 0xffbf
or ax, 0x100
mov word [esi + 0x1c], ax
mov dword [esi + 0x24], 0
mov byte [ebp + 0x1c], 0
jmp 0x529767
test eax, 0x800
je 0x529739
mov eax, dword [esi]
jmp 0x52973b
xor eax, eax
movzx ecx, byte [edi + 3]
mov edx, dword [esi + 0x18]
and ecx, 8
push ecx
mov ecx, dword [esp + 0x110]
push eax
mov eax, dword [esi + 0x14]
push edx
mov edx, dword [ebp]
push eax
push ecx
push ebx
push 0
push edx
call fcn.00532d20
add esp, 0x20
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0
mov byte [ebp + 0x19], 0
mov byte [ebp + 0x20], 0
mov dword [ebp + 0x68], 0
jne case.0x5274a1.12
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xb8]
test ecx, ecx
je case.0x5274a1.12
mov eax, dword [edi + 0x10]
test eax, eax
je case.0x5274a1.12
mov edx, dword [esp + 0x10c]
mov ebp, dword [ebp + 4]
push edx
push ebx
push eax
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xb4]
lea edx, [ebp + ebp*2]
mov edx, dword [esi + edx*8]
push edx
mov dl, byte [edi + 3]
and dl, 4
neg dl
sbb edx, edx
and edx, 5
add edx, 0x12
push edx
push eax
call ecx
add esp, 0x18
jmp case.0x5274a1.12
mov edx, dword [esp + 0x230]
mov ebx, dword [esp + 0x14]
cmp dword [ebx + 0xb8], 0
mov ecx, dword [edi + 4]
mov eax, dword [edx + 0x30]
mov esi, dword [eax + ecx*4]
je 0x529813
cmp dword [edi + 0x10], 0
je 0x529813
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], edx
push esi
call fcn.00523a90
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x52ac5d
mov eax, dword [esi]
push eax
call fcn.00532f10
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
mov byte [esi + 0x1d], 0
mov dword [esi + 0x68], 0
jne 0x529883
mov ecx, dword [ebx + 0xb8]
test ecx, ecx
je 0x529883
mov eax, dword [edi + 0x10]
test eax, eax
je 0x529883
mov edx, dword [esp + 0x118]
mov esi, dword [esi + 4]
push edx
mov edx, dword [esp + 0x118]
push edx
mov edx, dword [ebx + 8]
push eax
lea eax, [esi + esi*2]
mov eax, dword [edx + eax*8]
mov edx, dword [ebx + 0xb4]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [edi + 8], 1
je case.0x5274a1.12
mov eax, dword [esp + 0x230]
add dword [eax + 0x104], 1
jmp case.0x5274a1.12
cmp dword [edi + 4], 0
je 0x5298c1
mov eax, dword [esp + 0x230]
mov ecx, dword [eax + 0x104]
mov edx, dword [esp + 0x14]
push ecx
push edx
call fcn.005244f0
add esp, 8
mov eax, dword [esp + 0x230]
mov dword [eax + 0x104], 0
jmp case.0x5274a1.12
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x230]
mov edx, dword [eax + 0x4c]
lea ebp, [edx + ecx*8]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 0x30]
mov esi, dword [edx + ecx*4]
mov edi, dword [esi]
push esi
mov dword [esp + 0x20], ebp
call fcn.00523a90
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x52ac5d
cmp byte [esi + 0x22], al
je 0x529954
lea eax, [esp + 0x154]
push eax
push edi
call fcn.00532720
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x50]
mov ecx, dword [esp + 0x160]
cdq
add esp, 8
cmp ecx, edx
jg 0x527606
mov ecx, dword [esp + 0x154]
jl 0x52994c
cmp ecx, eax
ja 0x527606
mov eax, ecx
mov dword [esp + 0x68], eax
jmp 0x529973
lea edx, [esp + 0x68]
push edx
push edi
call fcn.005327b0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, dword [ecx + 0x50]
ja 0x527606
push 0
push eax
push ebp
call fcn.00524d20
add esp, 0xc
test eax, eax
jne 0x52774b
mov ax, word [ebp + 0x1c]
mov edx, dword [esp + 0x68]
and ax, 0xfff0
or ax, 0x10
mov dword [ebp + 0x18], edx
mov word [ebp + 0x1c], ax
cmp byte [esi + 0x22], 0
je 0x5299c5
mov ecx, dword [ebp + 0x14]
mov edx, dword [esp + 0x68]
push ecx
push edx
push 0
push edi
call fcn.0052e110
mov dword [esp + 0x20], eax
add esp, 0x10
mov byte [ebp + 0x1f], 1
jmp case.0x5274a1.12
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x68]
push eax
push ecx
push 0
push edi
call fcn.00532830
mov dword [esp + 0x20], eax
add esp, 0x10
mov byte [ebp + 0x1f], 1
jmp case.0x5274a1.12
mov eax, dword [esp + 0x230]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x30]
mov esi, dword [ecx + edx*4]
push esi
call fcn.00523a90
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x52ac5d
cmp byte [esi + 0x19], al
je 0x529a26
mov edx, dword [esi + 8]
mov dword [esp + 0x90], edx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x94], eax
jmp 0x529a5f
cmp byte [esi + 0x1e], 0
je 0x529a42
mov ecx, dword [esi + 0x40]
mov dword [esp + 0x90], ecx
mov edx, dword [esi + 0x44]
mov dword [esp + 0x94], edx
jmp 0x529a5f
cmp byte [esi + 0x1c], 0
jne case.0x5274a1.12
mov ecx, dword [esi]
lea eax, [esp + 0x90]
push eax
push ecx
call fcn.00532720
add esp, 8
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov dword [eax], edx
mov dx, word [eax + 0x1c]
and dx, 0xffe4
or dx, 4
mov dword [eax + 4], ecx
mov word [eax + 0x1c], dx
jmp case.0x5274a1.12
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x230]
mov edx, dword [ecx + 0x30]
mov eax, dword [edx + eax*4]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
jmp case.0x5274a1.12
mov ecx, dword [esp + 0x230]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x30]
mov esi, dword [edx + eax*4]
mov eax, dword [esi]
lea ecx, [esp + 0x98]
push ecx
push eax
call fcn.00530a90
mov dl, byte [esp + 0xa0]
add esp, 8
mov byte [esi + 0x1c], dl
mov byte [esi + 0x20], 0
mov dword [esi + 0x68], 0
cmp dword [esp + 0x98], 0
mov dword [esp + 0x10], eax
je case.0x5274a1.12
mov edi, dword [edi + 8]
test edi, edi
jle case.0x5274a1.12
add edi, 0xffffffff
mov dword [esp + 0x20], edi
jmp case.0x5274a1.12
mov ecx, dword [esp + 0x230]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x30]
mov esi, dword [edx + eax*4]
mov eax, dword [esi]
test eax, eax
je 0x529b59
lea ecx, [esp + 0x74]
push ecx
push eax
call fcn.00530a50
add esp, 8
cmp dword [esp + 0x74], 0
mov byte [esi + 0x20], 0
sete dl
mov byte [esi + 0x1a], dl
mov dword [esi + 0x68], 0
mov dword [esp + 0x10], eax
mov al, byte [esp + 0x74]
mov byte [esi + 0x1c], al
cmp dword [esp + 0x74], 0
jmp 0x52824d
mov dword [esp + 0x74], 1
mov al, byte [esp + 0x74]
mov byte [esi + 0x1c], al
cmp dword [esp + 0x74], 0
jmp 0x52824d
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0xd8], 0
jne 0x52aca2
mov eax, dword [esp + 0x230]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x30]
mov esi, dword [ecx + edx*4]
test esi, esi
je case.0x5274a1.12
cmp byte [esi + 0x1c], 0
mov eax, dword [esi]
jne 0x529bf7
mov dword [esp + 0x84], 1
cmp byte [edi], 0x67
jne 0x529bc3
lea edx, [esp + 0x84]
push edx
push eax
call fcn.00532870
jmp 0x529bd1
lea ecx, [esp + 0x84]
push ecx
push eax
call fcn.00532990
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x8c]
add esp, 8
test eax, eax
mov byte [esi + 0x1c], al
mov dword [esi + 0x68], 0
jne 0x529bf7
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
mov byte [esi + 0x19], 0
jmp case.0x5274a1.12
mov eax, dword [esp + 0x230]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x30]
mov esi, dword [ecx + edx*4]
mov ebx, dword [esi]
test ebx, ebx
je case.0x5274a1.12
mov ecx, dword [esp + 0x54]
test word [ecx + 0x1c], 0x800
je 0x529c3f
push ecx
call fcn.00524df0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x5274a1.12
mov ecx, dword [esp + 0x54]
mov edx, dword [edi + 0xc]
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x14]
push edx
push 0
push 0
push 0x5a6600
cdq
push edx
push eax
push ecx
push ebx
call fcn.00532d20
add esp, 0x20
mov dword [esp + 0x10], eax
mov dword [esi + 0x68], 0
jmp case.0x5274a1.12
mov ecx, dword [esp + 0x230]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x30]
mov ebx, dword [edx + eax*4]
mov esi, dword [ebx]
test esi, esi
je case.0x5274a1.12
mov eax, dword [ebx + 0x4c]
mov cx, word [edi + 0xc]
mov edi, dword [edi + 8]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x230]
mov word [esp + 0x13c], cx
mov ecx, dword [eax + 0x4c]
lea eax, [esp + 0x11c]
push eax
push 0
push 0
lea edx, [edi + edi*4]
lea edx, [ecx + edx*8]
push 0
lea ecx, [esp + 0x148]
push ecx
push 0
push esi
mov byte [esp + 0x15a], 0
mov byte [esp + 0x15b], 0
mov dword [esp + 0x15c], edx
call fcn.00530b10
add esp, 0x1c
test eax, eax
mov dword [esp + 0x10], eax
jne 0x529d08
cmp dword [esp + 0x11c], eax
jne 0x529d08
push esi
call fcn.00532f10
add esp, 4
mov dword [esp + 0x10], eax
mov dword [ebx + 0x68], 0
jmp case.0x5274a1.12
mov eax, dword [esp + 0x230]
mov ecx, dword [eax + 0x30]
mov edx, dword [edi + 4]
mov eax, dword [ecx + edx*4]
mov ecx, dword [eax]
test ecx, ecx
je case.0x5274a1.12
cmp byte [eax + 0x1c], 0
jne case.0x5274a1.12
lea edx, [esp + 0x15c]
push edx
push ecx
call fcn.005242b0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x52ac5d
mov eax, dword [esp + 0x1c]
mov cx, word [eax + 0x1c]
mov edx, dword [esp + 0x15c]
and cx, 0xffe4
or cx, 4
mov word [eax + 0x1c], cx
mov ecx, dword [esp + 0x160]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp case.0x5274a1.12
mov eax, dword [esp + 0x230]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x30]
mov esi, dword [ecx + edx*4]
cmp dword [esi], 0
je case.0x5274a1.12
mov edx, dword [esi + 0x4c]
mov dword [esp + 0x148], edx
mov ax, word [edi + 0x10]
mov edx, dword [esp + 0x230]
mov word [esp + 0x14c], ax
mov byte [esp + 0x14e], 0
mov byte [esp + 0x14f], 0
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x4c]
mov edx, dword [esi + 0x48]
lea ecx, [eax + ecx*8]
mov dword [esp + 0x150], ecx
mov al, byte [edi + 3]
lea ecx, [esp + 0x78]
push ecx
push 0
mov byte [edx], al
push 0
lea edx, [esp + 0x154]
push edx
push esi
call fcn.005243c0
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x48]
mov byte [eax], 0
mov eax, dword [esp + 0x8c]
add esp, 0x14
cmp byte [edi], 0x28
jne 0x529e17
neg eax
jmp 0x529e1a
add eax, 1
test eax, eax
mov dword [esp + 0x78], eax
jle case.0x5274a1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x5274a1.12
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x8c]
xor edx, edx
test eax, eax
je 0x529e87
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x529e60
cmp byte [eax + 0x101], 2
jae 0x529e60
cmp dword [eax + 0x70], 0
jl 0x529e60
add edx, 1
mov eax, dword [eax + 8]
test eax, eax
jne 0x529e45
cmp edx, 1
jle 0x529e87
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x10], 6
mov dword [ecx + 0x7c], 2
jmp case.0x5274a1.12
mov esi, dword [edi + 0xc]
mov eax, dword [edi + 4]
mov ecx, dword [ecx + 8]
lea esi, [esi + esi*2]
add esi, esi
lea edx, [esp + 0xf8]
push edx
add esi, esi
add esi, esi
mov edx, dword [ecx + esi + 4]
push eax
push edx
call fcn.00533460
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x104]
mov ebx, eax
mov ax, word [ecx + 0x1c]
and ax, 0xffe4
or ax, 4
mov word [ecx + 0x1c], ax
mov eax, ebp
cdq
add esp, 0xc
test ebx, ebx
mov dword [esp + 0x10], ebx
mov dword [ecx], eax
mov dword [ecx + 4], edx
jne case.0x5274a1.12
test ebp, ebp
je case.0x5274a1.12
mov ecx, dword [edi + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 8]
push ecx
add eax, esi
push ebp
push eax
call fcn.005360d0
add esp, 0xc
jmp case.0x5274a1.12
mov ecx, dword [edi + 4]
mov edi, dword [edi + 8]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [eax + 8]
lea edx, [edi + edi*2]
mov edx, dword [ecx + edx*8 + 4]
push edx
call fcn.00533190
mov dword [esp + 0x18], eax
jmp 0x52aab3
mov edi, dword [edi + 4]
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 8]
sub al, 0x32
neg al
lea ecx, [edi + edi*2]
lea ecx, [edx + ecx*8]
mov ecx, dword [ecx + 4]
sbb eax, eax
and eax, 0xfffffffd
add eax, 5
push eax
lea eax, [esp + 0x138]
push eax
push ecx
call fcn.00531fe0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x5274a1.12
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x1c]
cdq
mov dword [ecx + 4], edx
mov dx, word [ecx + 0x1c]
and dx, 0xffe4
or dx, 4
mov dword [ecx], eax
mov word [ecx + 0x1c], dx
jmp case.0x5274a1.12
cmp dword [edi + 8], 0
mov eax, dword [edi + 4]
jne 0x529fad
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 8]
lea ecx, [eax + eax*2]
mov ecx, dword [edx + ecx*8 + 0x14]
test byte [ecx + 0x5a], 1
je case.0x5274a1.12
cmp eax, 1
mov ecx, str.sqlite_temp_master
je 0x529fbc
mov ecx, str.sqlite_master
mov edx, dword [esp + 0x230]
mov ebp, dword [esp + 0x14]
add edx, 0xf4
mov dword [esp + 0x1cc], edx
mov edx, dword [edi + 0x10]
push edx
push ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x1d0], eax
lea eax, [eax + eax*2]
mov dword [esp + 0x1cc], ebp
mov edx, dword [ecx + eax*8]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
push ebp
call fcn.00522020
mov esi, eax
add esp, 0x14
test esi, esi
je 0x52774b
push 0
lea eax, [esp + 0x1c8]
push eax
push fcn.005201e0
push esi
push ebp
mov byte [ebp + 0x80], 1
call fcn.0051fe90
mov edi, eax
add esp, 0x14
cmp edi, 4
mov dword [esp + 0x10], eax
jne 0x52a03f
mov edi, dword [esp + 0x1d0]
mov dword [esp + 0x10], edi
push esi
call fcn.005223e0
add esp, 4
cmp edi, 7
mov byte [ebp + 0x80], 0
je 0x52774b
jmp case.0x5274a1.12
mov edi, dword [edi + 4]
mov ecx, dword [esp + 0x14]
push edi
push ecx
call fcn.00540760
mov dword [esp + 0x18], eax
jmp 0x52aab3
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
call fcn.00535240
add esp, 0xc
jmp case.0x5274a1.12
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
call fcn.00534ef0
add esp, 0xc
jmp case.0x5274a1.12
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
call fcn.00541d00
add esp, 0xc
jmp case.0x5274a1.12
mov ebx, dword [edi + 8]
lea edx, [ebx*4 + 4]
push edx
call fcn.005222d0
add esp, 4
test eax, eax
mov dword [esp + 0x34], eax
je 0x52774b
mov eax, dword [esp + 0x230]
mov ecx, dword [edi + 0xc]
mov eax, dword [eax + 0x4c]
lea ecx, [ecx + ecx*4]
lea ebp, [eax + ecx*8]
mov ecx, dword [edi + 4]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
xor esi, esi
test ebx, ebx
mov dword [esp + 0x18], eax
jle 0x52a130
mov dword [esp + 0x38], eax
jmp 0x52a110
mov eax, dword [esp + 0x38]
push eax
call fcn.00525100
mov ecx, dword [esp + 0x38]
add dword [esp + 0x3c], 0x28
mov dword [ecx + esi*4], eax
add esi, 1
add esp, 4
cmp esi, ebx
jl 0x52a110
mov eax, dword [esp + 0x34]
mov dword [eax + esi*4], 0
mov ecx, dword [ebp]
lea edx, [esp + 0xa8]
push edx
push ecx
push ebx
push eax
movzx eax, byte [edi + 3]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx*8 + 4]
push edx
call fcn.00532150
mov esi, eax
mov eax, dword [esp + 0xbc]
cdq
sub dword [ebp], eax
mov eax, dword [esp + 0x2c]
push eax
sbb dword [ebp + 4], edx
call fcn.00525330
add esp, 0x18
cmp dword [esp + 0xa8], 0
je 0x52a19f
mov ecx, dword [esp + 0x18]
push fcn.005223e0
push 1
push 0xffffffffffffffff
push esi
push ecx
call fcn.00525500
add esp, 0x14
movzx edx, byte [esp + 0x40]
mov eax, dword [esp + 0x18]
push edx
push eax
call fcn.00524cf0
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.005223e0
add esp, 0xc
jmp case.0x5274a1.12
mov edx, dword [esp + 0x18]
push edx
call fcn.00525100
push edx
push eax
mov eax, dword [esp + 0x23c]
add eax, 0x58
push eax
call fcn.005413a0
add esp, 0x10
cmp eax, 7
je 0x52774b
jmp case.0x5274a1.12
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0xd8], 0
jne 0x52aca2
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x230]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x4c]
lea eax, [eax + edx*8]
mov dx, word [eax + 0x1c]
and dx, 0xffe4
push eax
add ecx, 0x58
or dx, 4
push ecx
mov dword [esp + 0x24], eax
mov word [eax + 0x1c], dx
call fcn.00541450
add esp, 8
cmp eax, 0x65
jne case.0x5274a1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x5274a1.12
mov edi, dword [esp + 0x230]
mov esi, dword [edi + 0x64]
cmp esi, dword [edi + 0x68]
mov ebx, dword [esp + 0x14]
lea eax, [esi + 1]
mov dword [edi + 0x64], eax
jl 0x52a28b
mov ecx, dword [edi + 0x6c]
mov dword [edi + 0x68], eax
lea eax, [esi + esi*2 + 3]
add eax, eax
add eax, eax
add eax, eax
push eax
push ecx
push ebx
call fcn.00525eb0
add esp, 0xc
test eax, eax
mov dword [edi + 0x6c], eax
je 0x52774b
mov eax, dword [edi + 0x6c]
mov ecx, dword [ebx + 0x30]
lea edx, [esi + esi*2]
lea eax, [eax + edx*8]
mov dword [eax], ecx
mov edx, dword [ebx + 0x34]
mov dword [eax + 4], edx
mov ecx, dword [edi + 0x104]
mov dword [eax + 8], ecx
mov edx, dword [edi + 0x58]
lea ecx, [edi + 0x58]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 4]
mov dword [eax + 0x10], edx
mov edx, dword [ecx + 8]
push ecx
mov dword [eax + 0x14], edx
call fcn.00541390
add esp, 4
jmp case.0x5274a1.12
mov edi, dword [esp + 0x230]
add dword [edi + 0x64], 0xffffffff
mov eax, dword [edi + 0x64]
mov ecx, dword [edi + 0x6c]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*8]
lea esi, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov dword [eax + 0x30], edx
mov ecx, dword [esi + 4]
mov dword [eax + 0x34], ecx
mov edx, dword [esi + 8]
mov dword [edi + 0x104], edx
add edi, 0x58
push edi
call fcn.005414b0
mov eax, dword [esi + 0xc]
mov dword [edi], eax
mov ecx, dword [esi + 0x10]
mov dword [edi + 4], ecx
mov edx, dword [esi + 0x14]
add esp, 4
mov dword [edi + 8], edx
jmp case.0x5274a1.12
mov edi, dword [esp + 0x18]
push edi
call fcn.00525250
mov esi, dword [esp + 0x58]
push esi
call fcn.00525250
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov ecx, dword [edi + 4]
add esp, 8
cmp ecx, esi
jg case.0x5274a1.12
jl 0x52a352
mov edx, edi
mov ecx, dword [edx]
cmp ecx, eax
jae case.0x5274a1.12
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], esi
jmp case.0x5274a1.12
mov edx, dword [esp + 0x18]
cmp dword [edx + 4], 0
jl case.0x5274a1.12
jg 0x528253
mov eax, edx
cmp dword [eax], 0
jbe case.0x5274a1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x5274a1.12
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 4], 0
jg case.0x5274a1.12
jl 0x528253
mov edx, ecx
cmp dword [edx], 0
jae case.0x5274a1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x5274a1.12
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
or ecx, dword [eax + 4]
jne case.0x5274a1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x5274a1.12
mov eax, dword [edi + 8]
mov ebp, dword [esp + 0x230]
movzx esi, byte [edi + 3]
mov ebx, dword [ebp + 0x24]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x4c]
lea ecx, [eax + edx*8]
xor edx, edx
test esi, esi
jle 0x52a412
lea ebx, [ebx]
mov dword [ebx + edx*4], ecx
call fcn.00527040
add edx, 1
add ecx, 0x28
cmp edx, esi
jl 0x52a400
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x4c]
mov dword [esp + 0xac], ecx
lea eax, [eax + edx*8]
mov dword [esp + 0xdc], eax
mov ecx, 1
add dword [eax + 0x18], ecx
xor eax, eax
mov word [esp + 0xd0], cx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xc4], ecx
cmp byte [eax + 3], 0
je 0x52a486
mov edx, dword [edi - 4]
mov dword [esp + 0xe4], edx
mov edx, dword [eax + 0x14]
push ebx
lea ecx, [esp + 0xb0]
push esi
push ecx
call edx
add esp, 0xc
cmp dword [esp + 0xe0], 0
je 0x52a4cf
lea eax, [esp + 0xb4]
push 0
push eax
call fcn.0051d750
add esp, 4
push eax
add ebp, 0xf4
push ebp
call fcn.00526020
mov ecx, dword [esp + 0xec]
add esp, 0xc
mov dword [esp + 0x10], ecx
lea edx, [esp + 0xb4]
push edx
call fcn.00525040
add esp, 4
jmp case.0x5274a1.12
mov eax, dword [edi + 4]
mov ebx, dword [esp + 0x230]
mov ecx, dword [ebx + 0x4c]
mov edx, dword [edi + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push edx
push esi
call fcn.00524f80
add esp, 8
cmp eax, 1
mov dword [esp + 0x10], eax
jne 0x52a528
push 0
push esi
call fcn.0051d750
add esp, 4
push eax
add ebx, 0xf4
push ebx
call fcn.00526020
add esp, 0xc
movzx eax, byte [esp + 0x40]
push eax
push esi
call fcn.00524cf0
push esi
call fcn.00525420
add esp, 0xc
test eax, eax
jne 0x527606
jmp case.0x5274a1.12
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x230]
push ecx
add edx, 0xf4
push edx
call fcn.00541630
mov dword [esp + 0x18], eax
jmp 0x52aab3
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 8]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8 + 4]
push eax
call fcn.00530400
add esp, 4
cmp eax, 0x65
mov dword [esp + 0x10], eax
jne case.0x5274a1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x10], 0
jmp case.0x5274a1.12
cmp dword [edi + 4], 0
jne 0x52a5c1
mov eax, dword [esp + 0x14]
push eax
call fcn.00524510
add esp, 4
jmp case.0x5274a1.12
mov ecx, dword [esp + 0x230]
mov byte [ecx + 0xff], 1
jmp case.0x5274a1.12
mov dl, byte [edi + 0xc]
mov eax, dword [edi + 4]
mov byte [esp + 0x120], dl
mov ecx, dword [esp + 0x120]
mov edx, dword [edi + 8]
push ecx
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [ecx + 8]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8 + 4]
push eax
call fcn.00530110
add esp, 0xc
cmp eax, 6
mov dword [esp + 0x10], eax
jne case.0x5274a1.12
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x230]
push 0
push ecx
add edx, 0xf4
push str.database_table_is_locked:
push edx
call fcn.00526020
add esp, 0x10
jmp case.0x5274a1.12
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call fcn.00534760
mov dword [esp + 0x18], eax
jmp 0x52aab3
mov edx, dword [esp + 0x230]
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 4]
add edx, 0xf4
push edx
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
call fcn.005343c0
add esp, 0x10
mov dword [esp + 0x10], eax
jmp case.0x5274a1.12
mov esi, dword [esp + 0x230]
mov edx, dword [esp + 0x14]
mov byte [esi + 0x101], 2
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 4]
push eax
push ecx
push edx
call fcn.00534580
add esp, 0xc
mov dword [esp + 0x10], eax
mov byte [esi + 0x101], 0
jmp case.0x5274a1.12
mov esi, dword [edi + 0x10]
mov dword [esp + 0x30], 0
mov ebx, dword [esi]
mov ecx, dword [ebx + 0x18]
lea eax, [esp + 0x30]
push eax
push esi
call ecx
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x5274a1.12
mov edx, dword [esp + 0x30]
push eax
mov dword [edx], esi
mov eax, dword [edi + 4]
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0x23c]
lea ecx, [edi - 0x14]
call fcn.00527090
mov ecx, dword [esp + 0x3c]
add esp, 0xc
test eax, eax
je 0x52a70e
mov dword [eax + 0x60], ecx
mov edx, dword [esp + 0x30]
mov ecx, dword [edx]
mov edx, dword [ecx]
mov dword [eax + 0x64], edx
jmp case.0x5274a1.12
mov eax, dword [esp + 0x14]
mov byte [eax + 0x1e], 1
mov edx, dword [ebx + 0x1c]
push ecx
call edx
add esp, 4
jmp case.0x5274a1.12
mov ecx, dword [esp + 0x230]
mov eax, dword [edi + 0xc]
mov edx, dword [ecx + 0x4c]
mov esi, dword [ecx + 0x30]
mov ebp, dword [ecx + 0x24]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, dword [edi + 4]
mov ebx, dword [esi + edx*4]
mov edx, dword [ebx + 0x60]
mov edx, dword [edx]
mov edx, dword [edx]
mov esi, dword [eax + 0x28]
mov dword [esp + 0x24], edx
mov edx, dword [eax]
mov dword [esp + 0x4c], edx
xor edx, edx
test esi, esi
jle 0x52a773
lea ecx, [eax + 0x50]
mov dword [ebp + edx*4], ecx
call fcn.00527040
add edx, 1
add ecx, 0x28
cmp edx, esi
jl 0x52a760
mov eax, dword [esp + 0x230]
mov edx, dword [esp + 0x4c]
push ebp
mov byte [eax + 0x101], 1
mov ecx, dword [edi + 0x10]
mov eax, dword [ebx + 0x60]
push esi
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [ecx + 0x20]
push eax
call edx
mov ecx, dword [esp + 0x244]
add esp, 0x14
test eax, eax
mov dword [esp + 0x10], eax
mov byte [ecx + 0x101], 0
jne 0x52a7d0
mov edx, dword [ebx + 0x60]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x28]
push edx
call ecx
add esp, 4
test eax, eax
je 0x52a7d0
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
mov byte [ebx + 0x1c], 0
jmp case.0x5274a1.12
mov eax, dword [esp + 0x230]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x30]
mov eax, dword [ecx + edx*4]
cmp byte [eax + 0x1c], 0
jne case.0x5274a1.12
mov eax, dword [eax + 0x60]
mov edx, dword [eax]
mov ecx, dword [edx]
lea edx, [esp + 0x174]
push edx
push eax
mov eax, dword [ecx + 0x30]
call eax
mov edx, dword [esp + 0x17c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
mov cx, word [eax + 0x1c]
and cx, 0xffe4
add esp, 8
or cx, 4
mov word [eax + 0x1c], cx
mov ecx, dword [esp + 0x178]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp case.0x5274a1.12
mov ecx, dword [esp + 0x230]
mov edx, dword [edi + 4]
mov eax, dword [ecx + 0x30]
mov ebp, dword [eax + edx*4]
cmp byte [ebp + 0x1c], 0
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x4c]
lea esi, [eax + edx*8]
je 0x52a86c
push esi
call fcn.00525330
add esp, 4
jmp case.0x5274a1.12
mov ecx, dword [ebp + 0x60]
mov edx, dword [ecx]
mov ebx, dword [edx]
push 0x40
lea eax, [esp + 0xb0]
push 0
push eax
call fcn.004afb50
lea ecx, [esp + 0xc0]
push esi
push ecx
call fcn.005254d0
mov edx, dword [esp + 0xe4]
mov eax, dword [edi + 8]
and edx, 0xffe1
or edx, 1
push eax
mov word [esp + 0xe8], dx
mov edx, dword [ebp + 0x60]
mov eax, dword [ebx + 0x2c]
lea ecx, [esp + 0xc4]
push ecx
push edx
call eax
movzx ecx, byte [esp + 0x60]
push ecx
lea edx, [esp + 0xd8]
push edx
mov dword [esp + 0x38], eax
call fcn.00524cf0
lea eax, [esp + 0xdc]
push eax
push esi
call fcn.005254d0
push esi
call fcn.00525420
add esp, 0x34
test eax, eax
jne 0x527606
jmp case.0x5274a1.12
mov edx, dword [esp + 0x230]
mov ecx, dword [edi + 4]
mov eax, dword [edx + 0x30]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 0x1c], 0
jne case.0x5274a1.12
mov ecx, dword [esi + 0x60]
mov edx, dword [ecx]
mov ebx, dword [edx]
mov ebp, dword [esp + 0x230]
mov byte [ebp + 0x101], 1
mov eax, dword [esi + 0x60]
mov ecx, dword [ebx + 0x24]
push eax
call ecx
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
mov byte [ebp + 0x101], 0
jne 0x528253
mov edx, dword [esi + 0x60]
mov eax, dword [ebx + 0x28]
push edx
call eax
add esp, 4
test eax, eax
jne case.0x5274a1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x5274a1.12
mov esi, dword [edi + 0x10]
mov edi, dword [edi + 4]
mov edx, dword [esp + 0x230]
mov eax, dword [edx + 0x4c]
lea ecx, [edi + edi*4]
test byte [eax + ecx*8 + 0x1c], 0x12
lea edi, [eax + ecx*8]
jne 0x52a99d
movzx ecx, bl
push ecx
push edi
call fcn.00524ea0
add esp, 8
test eax, eax
jne 0x52774b
push esi
call fcn.00533b80
mov eax, dword [edi + 0x14]
mov edx, dword [esi]
mov ecx, dword [edx + 0x4c]
push eax
push esi
call ecx
mov edx, dword [esp + 0x20]
push esi
push edx
mov dword [esp + 0x24], eax
call fcn.00533b90
add esp, 0x14
jmp case.0x5274a1.12
mov ebx, dword [edi + 0x10]
mov eax, dword [ebx]
cmp dword [eax + 0x34], 0
mov esi, dword [edi + 8]
mov dword [esp + 0x4c], eax
jne 0x52aa01
mov eax, dword [esp + 0x230]
push 0
add eax, 0xf4
push str.read_only_table
push eax
call fcn.00526020
add esp, 0xc
mov dword [esp + 0x10], 1
jmp case.0x5274a1.12
mov ecx, dword [esp + 0x230]
mov eax, dword [edi + 0xc]
mov ebp, dword [ecx + 0x24]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x4c]
lea ecx, [eax + edx*8]
xor edx, edx
test esi, esi
jle 0x52aa33
lea ecx, [ecx]
call fcn.00527040
mov dword [ebp + edx*4], ecx
add edx, 1
add ecx, 0x28
cmp edx, esi
jl 0x52aa20
push ebx
call fcn.00533b80
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x34]
lea ecx, [esp + 0x180]
push ecx
push ebp
push esi
push ebx
call eax
mov esi, dword [esp + 0x28]
push ebx
push esi
mov dword [esp + 0x2c], eax
call fcn.00533b90
add esp, 0x1c
cmp dword [edi + 4], 0
je 0x52aa80
cmp dword [esp + 0x10], 0
jne 0x52aa80
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x180]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], edx
mov eax, dword [esp + 0x230]
add dword [eax + 0x104], 1
jmp case.0x5274a1.12
mov edi, dword [edi + 0x10]
test edi, edi
je case.0x5274a1.12
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x94]
test eax, eax
je case.0x5274a1.12
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x98]
push edi
push edx
call eax
add esp, 8
add dword [esp + 0x20], 1
cmp dword [esp + 0x10], 0
je 0x527380
mov ebp, dword [esp + 0x230]
mov esi, dword [esp + 0x10]
jmp 0x527775
mov esi, 9
jmp 0x527775
mov eax, dword [edi + 4]
mov ebx, dword [esp + 0x230]
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0x74], eax
mov dword [ebx + 0x70], ecx
mov edx, dword [edi + 8]
mov dword [ebx + 0x7c], edx
mov edi, dword [edi + 0x10]
test edi, edi
je 0x52ab13
push 0
lea eax, [ebx + 0xf4]
push edi
push eax
call fcn.00526020
add esp, 0xc
push ebx
call fcn.00524740
mov esi, 5
add esp, 4
cmp eax, esi
je 0x52ac4d
mov esi, dword [ebx + 0x74]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x527786
mov esi, dword [esp + 0x230]
mov ecx, dword [esi + 0x54]
add ecx, 2
or ecx, 1
mov dword [esi + 0x54], ecx
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
lea ebx, [eax + edx*8]
xor ebp, ebp
mov dword [esi + 0xf8], ebx
cmp dword [edi + 8], ebp
jle 0x52ab82
push ebx
call fcn.00524e50
add esp, 4
mov ecx, ebx
call fcn.00527040
add ebp, 1
add ebx, 0x28
cmp ebp, dword [edi + 8]
jl 0x52ab67
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x1e], 0
jne 0x52774b
add dword [esi + 0x50], 1
mov edx, dword [esp + 0x20]
add edx, 1
mov dword [esi + 0x70], edx
mov esi, 0x64
jmp 0x527786
lea eax, [esp + 0x18c]
push eax
call fcn.00525040
add esp, 4
jmp 0x52774b
mov dword [esp + 0x10], 0x14
jmp 0x52ac5d
cmp dword [edi + 8], 0
je 0x52abf6
push esi
call fcn.0051ebe0
mov edi, dword [esp + 0x234]
add esp, 4
mov byte [esi + 0x1c], 1
mov esi, dword [edi + 0x74]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x527786
mov edi, dword [esp + 0x230]
push edi
mov byte [esi + 0x1c], bl
call fcn.00524740
add esp, 4
cmp eax, 5
jne 0x52abe4
mov ecx, dword [esp + 0x20]
mov dl, 1
sub dl, bl
mov dword [edi + 0x70], ecx
mov byte [esi + 0x1c], dl
mov esi, eax
mov dword [edi + 0x74], esi
jmp 0x527786
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x20]
mov esi, 5
mov dword [eax + 0x70], ecx
mov dword [eax + 0x74], esi
jmp 0x527786
mov edx, dword [esp + 0x20]
mov dword [ebx + 0x70], edx
mov esi, 5
mov dword [ebx + 0x74], esi
jmp 0x527786
mov dword [esp + 0x10], 0xd
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x1e], 0
je 0x52ac6f
mov dword [esp + 0x10], 7
mov ecx, dword [esp + 0x10]
push 0
push ecx
call fcn.0051eca0
mov edx, dword [esp + 0x238]
add esp, 4
push eax
add edx, 0xf4
push edx
call fcn.00526020
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x1c]
jmp 0x527772
mov ebp, dword [esp + 0x230]
xor edi, edi
mov esi, 9
push edi
push esi
mov dword [ebp + 0x74], esi
call fcn.0051eca0
add esp, 4
push eax
lea eax, [ebp + 0xf4]
push eax
call fcn.00526020
jmp 0x527772