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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x250
and dword [ebp - 8], 0
and dword [ebp - 0x84], 0
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, dword [esi]
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x59]
push edi
lea edi, [esi + 0x114]
mov dword [ebp - 0xc], ebx
mov byte [ebp - 0x40], al
mov dword [ebp - 0x11c], edi
call fcn.0049cb91
cmp dword [esi + 0x74], 7
je 0x4a6af9
xor eax, eax
mov dword [esi + 0x74], eax
mov dword [esi + 0xf8], eax
mov dword [ebx + 0x144], eax
cmp dword [ebx + 0xd8], eax
jne 0x4a988f
mov eax, dword [esi + 0x70]
mov dword [ebp - 0x18], eax
mov eax, ebx
jmp 0x4a67b9
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1e], 0
jne 0x4a6af9
mov ebx, dword [ebp - 0x18]
mov ecx, dword [eax + 0xe8]
imul ebx, ebx, 0x14
add ebx, dword [esi + 0x14]
mov dword [ebp - 0x24], ebx
test ecx, ecx
je 0x4a6804
mov edx, dword [ebp - 0x84]
cmp dword [eax + 0xf0], edx
jne 0x4a67fe
push dword [eax + 0xec]
call ecx
pop ecx
test eax, eax
jne 0x4a9717
and dword [ebp - 0x84], eax
inc dword [ebp - 0x84]
movzx eax, byte [ebx]
mov dl, byte [eax + 0x594d40]
test dl, 2
je 0x4a6834
mov edi, dword [ebx + 8]
mov eax, dword [ebp + 8]
imul edi, edi, 0x28
add edi, dword [eax + 0x4c]
mov esi, edi
mov dword [ebp - 0x28], edi
call fcn.004a2f60
mov esi, dword [ebp + 8]
xor eax, eax
inc eax
mov word [edi + 0x1c], ax
jmp 0x4a686a
test dl, 4
je 0x4a68a4
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x4c]
imul eax, eax, 0x28
add eax, ecx
mov dword [ebp - 0x10], eax
test dl, 8
je 0x4a688f
mov eax, dword [ebx + 8]
imul eax, eax, 0x28
add eax, ecx
mov dword [ebp - 0x48], eax
test dl, 0x20
je 0x4a6867
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, ecx
mov dword [ebp - 0x28], eax
mov edi, dword [ebp - 0x28]
mov cl, byte [ebx]
movzx eax, cl
lea edx, [eax - 1]
mov dword [ebp - 0x14], eax
cmp edx, 0x8d
ja case.0x4a6888.12
movzx edx, byte [edx + 0x4a9a49]
jmp dword [edx*4 + 0x4a98b1]
mov edi, dword [ebp - 0x28]
test dl, 0x10
je 0x4a686a
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x4a686a
test dl, 8
je 0x4a68b7
mov eax, dword [ebx + 8]
imul eax, eax, 0x28
add eax, dword [esi + 0x4c]
mov dword [ebp - 0x48], eax
jmp 0x4a6867
mov edi, dword [ebp - 0x28]
test dl, 0x10
je 0x4a686a
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [esi + 0x4c]
jmp 0x4a689f
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xd8], 0
jne 0x4a988f
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x18], ebx
jmp case.0x4a6888.12
mov ecx, dword [ebp - 0x18]
lea eax, [esi + 0xe8]
mov edx, dword [eax]
inc ecx
mov dword [esi + edx*4 + 0x84], ecx
inc dword [eax]
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x18], eax
jmp case.0x4a6888.12
lea eax, [esi + 0xe8]
dec dword [eax]
mov eax, dword [eax]
mov esi, dword [esi + eax*4 + 0x84]
dec esi
mov dword [ebp - 0x18], esi
jmp case.0x4a6888.12
push 4
pop eax
mov word [edi + 0x1c], ax
mov eax, dword [ebx + 4]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp case.0x4a6888.12
push 4
pop eax
mov word [edi + 0x1c], ax
mov ebx, dword [ebx + 0x10]
mov eax, dword [ebx]
mov dword [edi], eax
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
jmp case.0x4a6888.12
push 8
pop eax
mov word [edi + 0x1c], ax
mov eax, dword [ebx + 0x10]
fld qword [eax]
fstp qword [edi + 8]
jmp case.0x4a6888.12
push dword [ebx + 0x10]
mov byte [ebx], 0x1b
call fcn.004f2bf0
cmp byte [ebp - 0x40], 1
pop ecx
mov dword [ebx + 4], eax
je 0x4a6a1a
mov ecx, dword [ebx + 0x10]
push 0
push 1
or eax, 0xffffffff
mov edx, edi
call fcn.004a330d
movzx eax, byte [ebp - 0x40]
push eax
mov eax, edi
call fcn.004a2cdd
add esp, 0xc
test eax, eax
jne 0x4a6af9
mov eax, edi
call fcn.004a2dad
test eax, eax
jne 0x4a6af9
and dword [edi + 0x24], eax
mov ax, word [edi + 0x1c]
mov ecx, 0xffbf
and ax, cx
mov ecx, 0x80
or ax, cx
mov word [edi + 0x1c], ax
cmp byte [ebx + 1], 0xff
jne 0x4a69dd
push dword [ebx + 0x10]
call fcn.004960e2
pop ecx
mov byte [ebx + 1], 0xff
mov eax, dword [edi + 0x14]
mov dword [ebx + 0x10], eax
mov edi, dword [edi + 0x18]
mov eax, dword [ebp - 0xc]
mov dword [ebx + 4], edi
cmp edi, dword [eax + 0x50]
jle case.0x4a6888.12
mov eax, dword [ebp + 8]
push 0
add eax, 0xf4
push str.string_or_blob_too_big
push eax
call fcn.0049647a
mov dword [ebp - 8], 0x12
jmp 0x4a9887
mov ecx, dword [ebp - 0xc]
cmp eax, dword [ecx + 0x50]
jg 0x4a69f9
mov eax, 0xa2
mov word [edi + 0x1c], ax
mov eax, dword [ebx + 0x10]
mov dword [edi + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [edi + 0x18], eax
mov al, byte [ebp - 0x40]
mov byte [edi + 0x1f], al
jmp case.0x4a6888.12
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0x10]
push 0
push 0
mov edx, edi
call fcn.004a330d
mov al, byte [ebp - 0x40]
mov byte [edi + 0x1f], al
jmp 0x4a9700
mov ebx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
dec ebx
imul ebx, ebx, 0x28
lea edi, [ebx + eax]
mov ecx, edi
call fcn.004a323a
test eax, eax
jne 0x4a69f9
mov eax, dword [ebp - 0x28]
push 0x80
call fcn.004a3261
jmp 0x4a9701
mov esi, dword [ebx + 4]
mov ebx, dword [ebx + 8]
imul esi, esi, 0x28
mov eax, dword [ebp + 8]
imul ebx, ebx, 0x28
mov eax, dword [eax + 0x4c]
add ebx, eax
mov edi, dword [ebx + 0x24]
and dword [ebx + 0x24], 0
add esi, eax
push ebx
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x28], ebx
call fcn.004a32e5
mov dword [esi + 0x24], edi
jmp 0x4a9701
mov edi, dword [ebx + 4]
mov ebx, dword [ebx + 8]
imul edi, edi, 0x28
mov esi, dword [esi + 0x4c]
imul ebx, ebx, 0x28
add edi, esi
add ebx, esi
mov esi, 0x100
push esi
mov eax, ebx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x28], ebx
call fcn.004a3261
pop ecx
test word [ebx + 0x1c], si
je case.0x4a6888.12
mov eax, ebx
call fcn.004a2dad
test eax, eax
je case.0x4a6888.12
mov eax, dword [ebp - 0xc]
mov esi, dword [ebp + 8]
push 0
mov byte [eax + 0x1e], 1
lea eax, [esi + 0xf4]
push str.out_of_memory
push eax
call fcn.0049647a
mov dword [ebp - 8], 7
add esp, 0xc
mov eax, dword [ebp - 8]
xor ebx, ebx
push esi
mov dword [esi + 0x74], eax
inc ebx
call fcn.004a4a14
pop ecx
mov edi, dword [ebp - 0x11c]
call fcn.0049cbcb
pop edi
pop esi
mov eax, ebx
pop ebx
leave
ret
mov edi, dword [ebx + 4]
mov ebx, dword [ebx + 8]
imul edi, edi, 0x28
mov esi, dword [esi + 0x4c]
imul ebx, ebx, 0x28
add edi, esi
add ebx, esi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x28], ebx
push 0x100
mov eax, ebx
jmp 0x4a6a7e
mov eax, dword [ebp - 0x10]
movzx eax, word [eax + 0x1c]
mov ecx, dword [ebp - 0x48]
mov cl, byte [ecx + 0x1c]
or cl, al
test cl, 1
je 0x4a6b87
mov eax, edi
call fcn.004a3195
jmp case.0x4a6888.12
mov esi, 0x800
test esi, eax
je 0x4a6b98
mov eax, dword [ebp - 0x10]
call fcn.004a2e04
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 0x12
jne 0x4a6bb7
movzx eax, byte [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x10]
call fcn.004a2e97
pop ecx
test eax, eax
jne 0x4a6af9
mov eax, dword [ebp - 0x48]
test word [eax + 0x1c], si
je 0x4a6bc5
call fcn.004a2e04
mov eax, dword [ebp - 0x48]
test byte [eax + 0x1c], 0x12
jne 0x4a6be4
movzx eax, byte [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x48]
call fcn.004a2e97
pop ecx
test eax, eax
jne 0x4a6af9
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp - 0x48]
add eax, dword [ecx + 0x18]
cdq
mov ebx, eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x50]
mov ecx, edx
cdq
cmp ecx, edx
jg 0x4a69f9
jl 0x4a6c0e
cmp ebx, eax
ja 0x4a69f9
mov ax, word [edi + 0x1c]
mov ecx, 0xffe2
and ax, cx
or ax, 2
mov word [edi + 0x1c], ax
xor eax, eax
cmp edi, dword [ebp - 0x48]
sete al
push eax
lea eax, [ebx + 2]
call fcn.004a2cfd
pop ecx
test eax, eax
jne 0x4a6af9
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x48]
cmp esi, edi
je 0x4a6c57
push dword [edi + 0x18]
push dword [edi + 0x14]
push dword [esi + 0x14]
call fcn.004f4410
add esp, 0xc
mov eax, dword [ebp - 0x10]
push dword [eax + 0x18]
push dword [eax + 0x14]
mov eax, dword [esi + 0x14]
add eax, dword [edi + 0x18]
push eax
call fcn.004f4410
mov eax, dword [esi + 0x14]
mov byte [ebx + eax], 0
mov eax, dword [esi + 0x14]
mov byte [ebx + eax + 1], 0
mov al, byte [ebp - 0x40]
add esp, 0xc
or word [esi + 0x1c], 0x20
mov dword [esi + 0x18], ebx
mov byte [esi + 0x1f], al
jmp case.0x4a6888.12
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x48]
movzx eax, word [esi + 0x1c]
movzx edx, word [ecx + 0x1c]
mov dword [ebp - 0x20], eax
movzx eax, ax
movzx edx, dx
or eax, edx
mov dword [ebp - 0x1c], eax
test al, 1
jne 0x4a6b7b
movzx edx, word [ecx + 0x1c]
mov al, byte [ebp - 0x20]
and al, dl
test al, 4
je 0x4a6d57
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x14]
sub ecx, 0x4e
mov ebx, dword [esi]
mov esi, dword [esi + 4]
je 0x4a6d4e
dec ecx
je 0x4a6d45
dec ecx
je 0x4a6d37
dec ecx
mov ecx, ebx
je 0x4a6d07
or ecx, esi
je 0x4a6b7b
mov ecx, ebx
and ecx, esi
cmp ecx, 0xffffffff
jne 0x4a6cf9
xor ebx, ebx
inc ebx
xor esi, esi
push esi
push ebx
push edx
push eax
call fcn.00504e70
jmp 0x4a7403
or ecx, esi
je 0x4a6b7b
mov ecx, ebx
and ecx, esi
cmp ecx, 0xffffffff
jne 0x4a6d29
test eax, eax
jne 0x4a6d29
cmp edx, 0x80000000
jne 0x4a6d29
xor ebx, ebx
inc ebx
xor esi, esi
push esi
push ebx
push edx
push eax
call fcn.004fa8b0
jmp 0x4a7403
push esi
push ebx
push edx
push eax
call fcn.004fa870
jmp 0x4a7403
sub eax, ebx
sbb edx, esi
jmp 0x4a7403
add eax, ebx
adc edx, esi
jmp 0x4a7403
mov esi, dword [ebp - 0x10]
call fcn.004a306d
fstp qword [ebp - 0x34]
mov esi, dword [ebp - 0x48]
call fcn.004a306d
movzx eax, byte [ebx]
sub eax, 0x4e
je 0x4a6ddc
dec eax
je 0x4a6dd7
dec eax
je 0x4a6dd2
dec eax
je 0x4a6dc1
fld qword [ebp - 0x34]
call fcn.004fa7f6
mov esi, eax
mov ebx, edx
call fcn.004fa7f6
mov ecx, esi
or ecx, ebx
je 0x4a6b7b
mov ecx, esi
and ecx, ebx
cmp ecx, 0xffffffff
jne 0x4a6da4
xor esi, esi
inc esi
xor ebx, ebx
push ebx
push esi
push edx
push eax
call fcn.00504e70
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x178], edx
fild qword [ebp - 0x17c]
jmp 0x4a6ddf
fldz
fcomp qword [ebp - 0x34]
fnstsw ax
test ah, 0x44
jnp 0x4a6e2a
fdiv qword [ebp - 0x34]
jmp 0x4a6ddf
fmul qword [ebp - 0x34]
jmp 0x4a6ddf
fsub qword [ebp - 0x34]
jmp 0x4a6ddf
fadd qword [ebp - 0x34]
fstp qword [ebp - 0x34]
push ecx
fld qword [ebp - 0x34]
push ecx
fstp qword [esp]
call fcn.00497d0c
add esp, 8
test eax, eax
jne 0x4a6b7b
mov ax, word [edi + 0x1c]
fld qword [ebp - 0x34]
mov ecx, 0xffe8
fstp qword [edi + 8]
and ax, cx
or ax, 8
test byte [ebp - 0x1c], 8
mov word [edi + 0x1c], ax
jne case.0x4a6888.12
mov esi, edi
call fcn.004a30cc
jmp case.0x4a6888.12
fstp st(0)
jmp 0x4a6b7b
mov ecx, dword [ebx + 8]
movzx edi, byte [ebx + 3]
imul ecx, ecx, 0x28
mov edx, dword [esi + 0x24]
add ecx, dword [esi + 0x4c]
xor esi, esi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], edx
test edi, edi
jle 0x4a6e5d
mov dword [edx + esi*4], ecx
call fcn.004a6579
inc esi
add ecx, 0x28
cmp esi, edi
jl 0x4a6e4d
cmp byte [ebx + 1], 0xfb
mov eax, dword [ebx + 0x10]
jne 0x4a6e6f
and dword [ebp - 0x1d0], 0
jmp 0x4a6e77
mov dword [ebp - 0x1d0], eax
mov eax, dword [eax]
mov edi, dword [ebx + 0xc]
and dword [ebp - 0x1ac], 0
imul edi, edi, 0x28
and dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp + 8]
add edi, dword [eax + 0x4c]
xor eax, eax
inc eax
mov word [ebp - 0x1b0], ax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x1bc], eax
lea eax, [ebp - 0x1cc]
push eax
mov esi, edi
mov dword [ebp - 0x28], edi
call fcn.004a32e5
mov eax, dword [ebp - 0x1b0]
and dword [ebp - 0x1a0], 0
and eax, 0xffe1
or eax, 1
mov word [ebp - 0x1b0], ax
mov eax, dword [ebp - 0x1d4]
cmp byte [eax + 3], 0
pop ecx
je 0x4a6eed
mov ecx, dword [ebx - 4]
mov dword [ebp - 0x19c], ecx
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1d4]
push dword [ebp - 0x14]
push ecx
call dword [eax + 0x10]
mov eax, dword [ebp - 0xc]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x4a97d1
cmp dword [ebp - 0x1d0], 0
je 0x4a6f35
push dword [ebx + 4]
mov edi, dword [ebp - 0x1d0]
call fcn.004a4d79
mov eax, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x28]
pop ecx
mov dword [ebx + 0x10], eax
mov byte [ebx + 1], 0xf9
cmp dword [ebp - 0x1a0], 0
je 0x4a6f6a
push 0
push ecx
lea eax, [ebp - 0x1cc]
push eax
call fcn.004a584a
pop ecx
pop ecx
push eax
mov eax, dword [ebp + 8]
add eax, 0xf4
push eax
call fcn.0049647a
mov eax, dword [ebp - 0x1a0]
add esp, 0xc
mov dword [ebp - 8], eax
movzx eax, byte [ebp - 0x40]
push eax
lea eax, [ebp - 0x1cc]
call fcn.004a2cdd
lea esi, [ebp - 0x1cc]
pop ecx
push edi
call fcn.004a32e5
pop ecx
mov ecx, edi
call fcn.004a323a
test eax, eax
jne 0x4a69f9
jmp case.0x4a6888.12
mov eax, dword [ebp - 0x48]
mov al, byte [eax + 0x1c]
mov ecx, dword [ebp - 0x10]
or al, byte [ecx + 0x1c]
test al, 1
jne 0x4a6b7b
mov esi, dword [ebp - 0x48]
call fcn.004a2ff8
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
call fcn.004a2ff8
mov ecx, eax
movzx eax, byte [ebx]
sub eax, 0x4a
je 0x4a6ff8
dec eax
je 0x4a6ff0
mov edx, dword [ebp - 0x60]
dec eax
mov eax, dword [ebp - 0x64]
je 0x4a6fe3
call fcn.0050ed50
jmp 0x4a6fe8
call fcn.004faf20
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
jmp 0x4a6ffe
or dword [ebp - 0x64], ecx
or dword [ebp - 0x60], edx
jmp 0x4a6ffe
and dword [ebp - 0x64], ecx
and dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x64]
mov dword [edi], eax
mov eax, dword [ebp - 0x60]
mov dword [edi + 4], eax
mov ax, word [edi + 0x1c]
mov ecx, 0xffe4
and ax, cx
or ax, 4
mov word [edi + 0x1c], ax
jmp case.0x4a6888.12
mov esi, dword [ebp - 0x10]
mov eax, esi
call fcn.004a30f2
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.0x4a6888.12
push dword [ebp - 0x40]
mov esi, dword [ebp - 0x10]
push 0x63
mov eax, esi
call fcn.004a66e8
movzx eax, word [esi + 0x1c]
pop ecx
pop ecx
mov dword [ebp - 0x20], eax
test al, 0xc
je 0x4a68da
test al, 4
je 0x4a7073
xor ecx, ecx
xor eax, eax
cmp dword [ebx + 0xc], ecx
je 0x4a7068
inc eax
add eax, dword [esi]
adc ecx, dword [esi + 4]
mov edi, eax
mov edx, ecx
jmp 0x4a70c7
fld qword [esi + 8]
call fcn.004fa7f6
mov edi, eax
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0xd0], edx
fild qword [ebp - 0xd4]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x4a70ab
add edi, 1
adc edx, 0
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0xd0], edx
cmp dword [ebx + 0xc], 0
je 0x4a70c7
fild qword [ebp - 0xd4]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x44
jp 0x4a70c7
add edi, 1
adc edx, 0
mov eax, dword [ebp - 0x20]
mov dword [esi], edi
mov dword [esi + 4], edx
and eax, 0xffe4
or eax, 4
mov word [esi + 0x1c], ax
jmp case.0x4a6888.12
push dword [ebp - 0x40]
mov esi, dword [ebp - 0x10]
push 0x63
mov eax, esi
call fcn.004a66e8
movzx eax, word [esi + 0x1c]
pop ecx
pop ecx
test al, 4
jne 0x4a70cf
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x4a68dd
mov dword [ebp - 8], 0x14
jmp 0x4a984d
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 4
je case.0x4a6888.12
mov eax, dword [ebp - 0x10]
call fcn.004a3117
jmp case.0x4a6888.12
mov eax, dword [ebp - 0x10]
movzx eax, word [eax + 0x1c]
test al, 1
jne case.0x4a6888.12
mov esi, dword [ebp - 0x10]
push dword [ebp - 0x40]
mov ecx, eax
shr ecx, 3
and ecx, 2
or ecx, eax
push 0x61
mov eax, esi
mov word [esi + 0x1c], cx
call fcn.004a66e8
mov eax, 0x800
pop ecx
pop ecx
test word [esi + 0x1c], ax
je 0x4a716f
mov eax, esi
call fcn.004a2e04
mov dword [ebp - 8], eax
jmp 0x4a7173
and dword [ebp - 8], 0
mov eax, 0xffe3
and word [esi + 0x1c], ax
jmp case.0x4a6888.12
mov eax, dword [ebp - 0x10]
movzx ecx, word [eax + 0x1c]
test cl, 1
jne case.0x4a6888.12
test cl, 0x10
jne 0x4a71a5
push dword [ebp - 0x40]
push 0x61
call fcn.004a66e8
mov eax, dword [ebp - 0x10]
pop ecx
pop ecx
mov cx, word [eax + 0x1c]
mov edx, 0xfff0
and cx, dx
or cx, 0x10
mov word [eax + 0x1c], cx
jmp case.0x4a6888.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 0xd
jne case.0x4a6888.12
call fcn.004a313a
jmp case.0x4a6888.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
jne case.0x4a6888.12
call fcn.004a30f2
jmp case.0x4a6888.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
jne case.0x4a6888.12
jmp 0x4a711d
mov ecx, dword [ebp - 0x10]
mov al, byte [ecx + 0x1c]
mov edi, dword [ebp - 0x54]
or al, byte [edi + 0x1c]
test al, 1
je 0x4a726b
mov al, byte [ebx + 3]
test al, 0x10
je 0x4a72ee
push 4
pop eax
mov word [ebp - 0x208], ax
movzx eax, word [ecx + 0x1c]
not eax
and eax, 1
cdq
mov dword [ebp - 0x224], eax
lea eax, [ebp - 0x224]
mov dword [ebp - 0x10], eax
push 4
pop eax
mov word [ebp - 0x230], ax
movzx eax, word [edi + 0x1c]
not eax
and eax, 1
mov dword [ebp - 0x220], edx
cdq
mov dword [ebp - 0x24c], eax
lea eax, [ebp - 0x24c]
mov dword [ebp - 0x248], edx
mov dword [ebp - 0x54], eax
mov al, byte [ebx + 3]
and al, 0x67
mov byte [ebp - 0xc0], al
je 0x4a729d
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x10]
push dword [ebp - 0xc0]
call fcn.004a66e8
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x54]
push dword [ebp - 0xc0]
call fcn.004a66e8
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov edi, 0x800
mov eax, edi
test word [ecx + 0x1c], ax
je 0x4a72b4
mov eax, ecx
call fcn.004a2e04
mov eax, dword [ebp - 0x54]
test word [eax + 0x1c], di
je 0x4a72c2
call fcn.004a2e04
push dword [ebx + 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x54]
call fcn.004a3417
pop ecx
movzx ecx, byte [ebx]
sub ecx, 0x43
je 0x4a7348
dec ecx
je 0x4a733f
dec ecx
je 0x4a7336
dec ecx
je 0x4a732d
dec ecx
je 0x4a7324
xor ecx, ecx
test eax, eax
setge cl
jmp 0x4a734f
test al, al
jns 0x4a7317
mov ebx, dword [ebx + 8]
imul ebx, ebx, 0x28
add ebx, dword [esi + 0x4c]
mov ecx, 0xffe1
mov ax, word [ebx + 0x1c]
and ax, cx
or ax, 1
mov dword [ebp - 0x28], ebx
mov word [ebx + 0x1c], ax
jmp case.0x4a6888.12
test al, 8
je case.0x4a6888.12
jmp 0x4a68da
xor ecx, ecx
test eax, eax
setl cl
jmp 0x4a734f
xor ecx, ecx
test eax, eax
setle cl
jmp 0x4a734f
xor ecx, ecx
test eax, eax
setg cl
jmp 0x4a734f
xor ecx, ecx
test eax, eax
sete cl
jmp 0x4a734f
xor ecx, ecx
test eax, eax
setne cl
test byte [ebx + 3], 0x80
mov eax, ecx
je 0x4a746b
mov ebx, dword [ebx + 8]
imul ebx, ebx, 0x28
add ebx, dword [esi + 0x4c]
mov edx, 0xffe4
mov cx, word [ebx + 0x1c]
and cx, dx
cdq
or cx, 4
mov dword [ebp - 0x28], ebx
mov word [ebx + 0x1c], cx
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.0x4a6888.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
je 0x4a7398
mov dword [ebp - 0x20], 2
jmp 0x4a73b1
mov esi, dword [ebp - 0x10]
call fcn.004a2ff8
or eax, edx
je 0x4a73ad
mov dword [ebp - 0x20], 1
jmp 0x4a73b1
and dword [ebp - 0x20], 0
mov esi, dword [ebp - 0x48]
test byte [esi + 0x1c], 1
je 0x4a73bf
push 2
pop ecx
jmp 0x4a73cb
call fcn.004a2ff8
xor ecx, ecx
or eax, edx
je 0x4a73cb
inc ecx
mov eax, dword [ebp - 0x20]
imul eax, eax, 3
cmp byte [ebx], 0x3d
jne 0x4a73e0
movzx eax, byte [eax + ecx + 0x549d3c]
jmp 0x4a73e8
movzx eax, byte [eax + ecx + 0x549d70]
cmp eax, 2
jne 0x4a7402
mov ax, word [edi + 0x1c]
mov ecx, 0xffe1
and ax, cx
or ax, 1
jmp 0x4a7019
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x4a7009
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
jne case.0x4a6888.12
mov esi, eax
call fcn.004a30f2
mov eax, dword [esi]
or eax, dword [esi + 4]
jne 0x4a742b
inc eax
jmp 0x4a742d
xor eax, eax
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x4a6888.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
jne case.0x4a6888.12
mov esi, eax
call fcn.004a30f2
mov eax, dword [esi]
mov ecx, dword [esi + 4]
not eax
not ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp case.0x4a6888.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
je 0x4a7472
mov eax, dword [ebx + 0xc]
test eax, eax
jmp 0x4a7319
mov esi, dword [ebp - 0x10]
call fcn.004a306d
fcomp qword [0x561a60]
fnstsw ax
test ah, 0x44
jnp 0x4a748c
xor eax, eax
inc eax
jmp 0x4a748e
xor eax, eax
cmp byte [ebx], 0x49
jne 0x4a746b
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x4a746b
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x10]
test byte [ecx + 0x1c], 1
jne 0x4a68da
add dword [ebp - 0x10], 0x28
dec eax
test eax, eax
jg 0x4a74a1
jmp case.0x4a6888.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
jne case.0x4a6888.12
jmp 0x4a68da
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x30], eax
xor eax, eax
and dword [ebp - 0xec], eax
and dword [ebp - 0xd8], eax
mov word [ebp - 0xe0], ax
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [esi + 0x4c]
mov edi, 0xffe1
mov dx, word [eax + 0x1c]
and dx, di
or dx, 1
mov word [eax + 0x1c], dx
mov dword [ebp - 0x4c], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x20], eax
cmp dword [eax], ecx
je 0x4a7588
mov esi, eax
call fcn.004a4e7a
mov dword [ebp - 8], eax
test eax, eax
jne 0x4a984d
and dword [ebp - 0x50], eax
mov eax, esi
cmp byte [eax + 0x1c], 0
mov ecx, dword [eax]
mov dword [ebp - 0x44], ecx
je 0x4a7543
and dword [ebp - 0x70], 0
jmp 0x4a7583
mov ecx, dword [eax + 0x68]
mov edx, dword [ebp + 8]
cmp ecx, dword [edx + 0x54]
jne 0x4a755c
mov ecx, dword [eax + 0x6c]
mov eax, dword [eax + 0x78]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x50], eax
jmp 0x4a7583
cmp byte [eax + 0x22], 0
mov eax, dword [ebp - 0x44]
je 0x4a757b
lea edi, [ebp - 0x1fc]
call fcn.0049ec10
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x70], eax
jmp 0x4a7583
lea edi, [ebp - 0x70]
call fcn.0049ec57
mov eax, dword [ebp - 0x20]
jmp 0x4a759a
mov edx, dword [eax + 0x34]
mov dword [ebp - 0x70], edx
mov edx, dword [eax + 0x38]
mov dword [ebp - 0x50], edx
mov dword [eax + 0x68], ecx
mov dword [ebp - 0x44], ecx
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x70]
test eax, eax
je case.0x4a6888.12
mov ecx, dword [ebp - 0xc]
cmp eax, dword [ecx + 0x50]
ja 0x4a69f9
mov esi, dword [ebp - 0x20]
mov edx, dword [esi + 0x68]
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 0x70]
mov dword [ebp - 0x2c], eax
cmp edx, dword [ecx + 0x54]
jne 0x4a75d6
mov eax, dword [esi + 0x74]
mov dword [ebp - 0x14], eax
jmp 0x4a774e
mov edx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x70]
lea eax, [eax + edx*4]
mov dword [ebp - 0x14], eax
mov dword [esi + 0x74], eax
mov dword [esi + 0x6c], edi
mov eax, dword [ecx + 0x54]
mov dword [esi + 0x68], eax
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x4a75fa
mov dword [ebp - 8], eax
jmp 0x4a763e
cmp byte [esi + 0x22], 0
mov eax, dword [ebp - 0x44]
je 0x4a761b
cmp byte [eax + 0x43], 1
jne 0x4a7625
push 0
lea ecx, [ebp - 0x90]
push ecx
call fcn.0049f061
pop ecx
pop ecx
jmp 0x4a7627
cmp byte [eax + 0x43], 1
jne 0x4a7625
push 1
jmp 0x4a760b
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 0x90], edi
jb 0x4a763a
mov dword [ebp - 0x50], eax
mov dword [esi + 0x78], eax
jmp 0x4a763e
and dword [esi + 0x78], 0
mov cl, byte [eax]
cmp cl, 0x80
jae 0x4a7654
movzx edi, cl
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x1c], 1
jmp 0x4a7668
mov ecx, dword [ebp - 8]
lea edi, [ebp - 0x78]
call fcn.00498596
mov edi, dword [ebp - 0x78]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x50], 0
jne 0x4a76b3
cmp dword [ebp - 0x90], edi
jae 0x4a76b3
xor eax, eax
and dword [ebp - 0xec], eax
mov word [ebp - 0xe0], ax
movzx eax, byte [esi + 0x22]
push eax
push 0
push dword [ebp - 0x44]
lea eax, [ebp - 0xfc]
mov ebx, edi
call fcn.004a35b8
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jne case.0x4a6888.12
mov eax, dword [ebp - 0xe8]
mov ebx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
add edi, eax
cmp dword [ebp - 0x58], 0
mov dword [ebp - 0x24], edi
lea esi, [ecx + eax]
jbe 0x4a7714
mov edi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x58]
sub ecx, edi
mov dword [ebp - 8], ecx
mov dword [ebp - 0x1c], eax
cmp esi, dword [ebp - 0x24]
jae 0x4a7708
mov eax, dword [ebp - 0x78]
mov dword [ecx + edi], eax
mov al, byte [esi]
cmp al, 0x80
jae 0x4a76f0
movzx eax, al
mov dword [edi], eax
xor eax, eax
inc eax
jmp 0x4a76fa
mov ecx, esi
call fcn.00498596
mov ecx, dword [ebp - 8]
add esi, eax
mov eax, dword [edi]
call fcn.004a4fa4
add dword [ebp - 0x78], eax
jmp 0x4a770c
and dword [ecx + edi], 0
add edi, 4
dec dword [ebp - 0x1c]
jne 0x4a76d5
lea eax, [ebp - 0xfc]
push eax
call fcn.004a2f94
xor eax, eax
inc eax
pop ecx
mov word [ebp - 0xe0], ax
cmp esi, dword [ebp - 0x24]
ja 0x4a7867
mov eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0x70]
ja 0x4a7867
cmp esi, dword [ebp - 0x24]
jne 0x4a774e
cmp eax, dword [ebp - 0x70]
jne 0x4a7867
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x14]
shl eax, 2
add ecx, eax
mov dword [ebp - 0x30], ecx
mov ecx, dword [ecx]
test ecx, ecx
je 0x4a7814
cmp dword [ebp - 0x50], 0
je 0x4a77b0
mov edx, dword [ebp - 0x4c]
test byte [edx + 0x1c], 0x40
mov edx, dword [ebp - 0x2c]
push dword [eax + edx]
mov eax, dword [ebp - 0x50]
je 0x4a77ac
add ecx, eax
lea esi, [ebp - 0xfc]
call fcn.004a5060
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x4c]
pop ecx
mov ebx, esi
call fcn.004a329e
mov dword [ebp - 8], eax
test eax, eax
jne case.0x4a6888.12
jmp 0x4a7809
add ecx, eax
jmp 0x4a7800
mov ecx, dword [ebp - 0x2c]
lea edi, [eax + ecx]
mov eax, dword [edi]
call fcn.004a4fa4
mov esi, dword [ebp - 0x4c]
mov ebx, eax
lea eax, [ebp - 0xfc]
push eax
call fcn.004a32e5
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax + 0x22]
pop ecx
push eax
mov eax, dword [ebp - 0x30]
push dword [eax]
lea eax, [ebp - 0xfc]
push dword [ebp - 0x44]
call fcn.004a35b8
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jne case.0x4a6888.12
push dword [edi]
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0x4c]
call fcn.004a5060
pop ecx
mov al, byte [ebp - 0x40]
mov ecx, dword [ebp - 0x4c]
mov byte [ecx + 0x1f], al
jmp 0x4a782b
cmp byte [ebx + 1], 0xf8
jne 0x4a782b
mov edi, dword [ebx + 0x10]
mov eax, dword [ebp - 0x4c]
push 0x80
call fcn.004a3261
pop ecx
cmp dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0x4c]
je 0x4a785d
mov cx, word [eax + 0x1c]
mov edx, 0xfe7f
and cx, dx
or cx, 0x20
mov word [eax + 0x1c], cx
mov ecx, dword [ebp - 0xe8]
mov dword [eax + 0x14], ecx
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0x24], ecx
call fcn.004a2dad
jmp 0x4a8efe
mov dword [ebp - 8], 0xb
jmp case.0x4a6888.12
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
imul eax, eax, 0x28
add eax, dword [esi + 0x4c]
imul ecx, ecx, 0x28
mov edi, dword [ebx + 0x10]
lea ebx, [ecx + eax - 0x28]
mov esi, eax
cmp eax, ebx
ja case.0x4a6888.12
and dword [ebp - 0x14], 0
mov eax, 0x800
test word [esi + 0x1c], ax
je 0x4a78a9
mov eax, esi
call fcn.004a2e04
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
cdq
push 0x28
pop ecx
idiv ecx
movzx eax, byte [eax + edi]
push eax
mov eax, esi
call fcn.004a66e8
add dword [ebp - 0x14], 0x28
add esi, 0x28
pop ecx
pop ecx
cmp esi, ebx
jbe 0x4a7897
jmp case.0x4a6888.12
mov ecx, dword [ebx + 8]
movzx edx, byte [esi + 0x100]
imul ecx, ecx, 0x28
xor eax, eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x30], eax
mov eax, dword [ebx + 4]
imul eax, eax, 0x28
add eax, dword [esi + 0x4c]
mov dword [ebp - 0x2c], edx
lea ecx, [ecx + eax - 0x28]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], ecx
mov esi, eax
cmp eax, ecx
ja 0x4a79b8
mov dword [ebp - 0x14], 0xffffffe8
sub dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x4a7949
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
lea eax, [esi + eax + 0x18]
cdq
push 0x28
pop edi
idiv edi
movzx eax, byte [eax + ecx]
push eax
mov eax, esi
call fcn.004a66e8
pop ecx
pop ecx
mov edi, 0x800
mov eax, edi
test word [esi + 0x1c], ax
je 0x4a7963
cmp dword [esi + 0x18], 0
jle 0x4a7963
mov eax, esi
call fcn.004a2e04
push dword [ebp - 0x2c]
mov edx, esi
call fcn.004a4ede
pop ecx
mov dword [ebp - 0x58], eax
call fcn.004a4fa4
mov dword [ebp - 0x50], eax
cdq
add dword [ebp - 0x9c], eax
push 0
push dword [ebp - 0x58]
adc dword [ebp - 0x98], edx
call fcn.00498629
add dword [ebp - 0x24], eax
pop ecx
pop ecx
test word [esi + 0x1c], di
je 0x4a79a2
mov eax, dword [esi]
add dword [ebp - 0x44], eax
jmp 0x4a79ac
cmp dword [ebp - 0x50], 0
je 0x4a79ac
and dword [ebp - 0x44], 0
add esi, 0x28
cmp esi, dword [ebp - 0x20]
jbe 0x4a7924
mov eax, dword [ebp - 0x24]
cdq
push edx
push eax
call fcn.00498629
mov esi, eax
add dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x24]
cdq
push edx
push eax
call fcn.00498629
add esp, 0x10
cmp esi, eax
jge 0x4a79dd
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x44]
cdq
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xc8], edx
cdq
mov esi, eax
sub esi, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x50]
mov ecx, edx
sbb ecx, dword [ebp - 0xc8]
add esi, dword [ebp - 0x9c]
cdq
adc ecx, dword [ebp - 0x98]
cmp ecx, edx
ja 0x4a69f9
jb 0x4a7a26
cmp esi, eax
ja 0x4a69f9
mov edi, dword [ebx + 0xc]
mov eax, dword [ebp + 8]
imul edi, edi, 0x28
add edi, dword [eax + 0x4c]
push 0
mov eax, esi
mov dword [ebp - 0x28], edi
call fcn.004a2cfd
pop ecx
test eax, eax
jne 0x4a6af9
mov eax, dword [ebp - 0x24]
mov ebx, dword [edi + 0x14]
mov dword [ebp - 0x30], ebx
cmp eax, 0x80
jae 0x4a7a62
mov byte [ebx], al
mov dword [ebp - 0x50], 1
jmp 0x4a7a6c
mov ecx, ebx
call fcn.004983db
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x4c], eax
cmp eax, dword [ebp - 0x20]
ja 0x4a7aae
push dword [ebp - 0x2c]
mov edx, dword [ebp - 0x4c]
call fcn.004a4ede
pop ecx
mov ecx, dword [ebp - 0x50]
cmp eax, 0x80
jae 0x4a7a95
mov byte [ecx + ebx], al
xor eax, eax
inc eax
jmp 0x4a7a9c
add ecx, ebx
call fcn.004983db
add dword [ebp - 0x4c], 0x28
add dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x20]
jbe 0x4a7a77
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x4c], eax
jmp 0x4a7ad8
mov eax, dword [ebp - 0x50]
push dword [ebp - 0x2c]
mov ecx, esi
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0x30]
lea ebx, [eax + ecx]
mov eax, dword [ebp - 0x4c]
call fcn.004a4fb7
add dword [ebp - 0x50], eax
add dword [ebp - 0x4c], 0x28
mov eax, dword [ebp - 0x4c]
pop ecx
pop ecx
cmp eax, dword [ebp - 0x20]
jbe 0x4a7ab3
and dword [edi + 0x20], 0
cmp dword [ebp - 0x44], 0
push 0x50
pop eax
mov dword [edi + 0x18], esi
mov word [edi + 0x1c], ax
je 0x4a7b0b
mov eax, dword [ebp - 0xcc]
mov dword [edi], eax
mov eax, dword [ebp - 0xc8]
mov dword [edi + 4], eax
mov eax, 0x850
mov word [edi + 0x1c], ax
mov byte [edi + 0x1f], 1
jmp case.0x4a6888.12
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1c], 0
je 0x4a7b2a
cmp dword [eax + 0x90], 1
jle case.0x4a6888.12
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 8]
imul ecx, ecx, 0x18
mov ebx, dword [ecx + eax + 4]
mov eax, dword [ebx + 4]
test eax, eax
je 0x4a7b48
cmp byte [eax + 0x10], 0
jne case.0x4a6888.12
call fcn.0049e993
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x14c], 1
jmp case.0x4a6888.12
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x90], 1
mov cl, byte [ebx + 4]
mov dl, byte [ebx + 8]
mov byte [ebp - 0x71], cl
jle 0x4a7bad
test cl, cl
je 0x4a7bad
cmp byte [eax + 0x1c], 0
jne 0x4a7bad
mov eax, str.rollback
test dl, dl
jne 0x4a7b8f
mov eax, str.commit
push 0
push str._transaction___SQL_statements_in_progress
push eax
push str.cannot
add esi, 0xf4
push esi
call fcn.0049647a
add esp, 0x14
jmp 0x4a7be1
cmp cl, byte [eax + 0x1c]
jne 0x4a97e3
test cl, cl
jne 0x4a7bc1
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x4a7bcf
mov eax, str.cannot_rollback___no_transaction_is_active
test dl, dl
jne 0x4a7bcf
mov eax, str.cannot_commit___no_transaction_is_active
push 0
push eax
add esi, 0xf4
push esi
call fcn.0049647a
add esp, 0xc
mov dword [ebp - 8], 1
jmp case.0x4a6888.12
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xc]
imul eax, eax, 0x18
mov ecx, dword [ecx + 8]
mov edi, dword [eax + ecx + 4]
test edi, edi
je case.0x4a6888.12
push dword [ebx + 8]
call fcn.0049e130
pop ecx
push 5
pop ebx
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4a9828
test eax, eax
je case.0x4a6888.12
cmp eax, 8
jne 0x4a984d
jmp case.0x4a6888.12
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 0xc]
test eax, eax
jge 0x4a7c45
or ecx, 0xffffffff
sub ecx, eax
mov eax, ecx
neg ebx
imul eax, eax, 0x18
lea ecx, [ebp - 0x160]
push ecx
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 8]
mov edi, dword [eax + ecx + 4]
inc ebx
push ebx
call fcn.004a1c89
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x160]
cdq
pop ecx
pop ecx
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov ax, word [ecx + 0x1c]
mov dword [ecx + 4], edx
mov edx, 0xffe4
and ax, dx
or ax, 4
mov word [ecx + 0x1c], ax
jmp case.0x4a6888.12
mov esi, dword [ebx + 4]
mov eax, dword [ebp - 0xc]
imul esi, esi, 0x18
add esi, dword [eax + 8]
mov edi, dword [ebp - 0x54]
mov eax, edi
call fcn.004a30f2
mov eax, dword [ebx + 8]
push dword [edi]
inc eax
push eax
mov eax, dword [esi + 4]
call fcn.004a1d10
mov dword [ebp - 8], eax
mov eax, dword [ebx + 8]
pop ecx
pop ecx
test eax, eax
jne 0x4a7cce
mov eax, dword [esi + 0x14]
mov ecx, dword [edi]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc]
or dword [eax + 0xc], 0x10
jmp 0x4a7cdb
cmp eax, 1
jne 0x4a7cdb
mov eax, dword [esi + 0x14]
mov cl, byte [edi]
mov byte [eax + 0x58], cl
cmp dword [ebx + 4], 1
jne case.0x4a6888.12
mov eax, dword [ebp - 0xc]
call fcn.004a56fd
jmp case.0x4a6888.12
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xc]
imul eax, eax, 0x18
mov ecx, dword [ecx + 8]
mov edi, dword [eax + ecx + 4]
test edi, edi
je 0x4a7d21
lea eax, [ebp - 0xb0]
push eax
push 1
call fcn.004a1c89
mov edi, dword [ebp - 0xb0]
pop ecx
pop ecx
mov dword [ebp - 8], eax
jmp 0x4a7d2d
and dword [ebp - 8], 0
xor edi, edi
mov dword [ebp - 0xb0], edi
cmp dword [ebp - 8], 0
jne case.0x4a6888.12
cmp edi, dword [ebx + 8]
je case.0x4a6888.12
add esi, 0xf4
push dword [esi]
call fcn.004960e2
pop ecx
push dword [ebp - 0xc]
mov eax, str.database_schema_has_changed
call fcn.0049643e
mov dword [esi], eax
mov ebx, dword [ebx + 4]
mov eax, ebx
imul eax, eax, 0x18
pop ecx
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 8]
mov eax, dword [eax + edx + 0x14]
cmp dword [eax], edi
je 0x4a7d7d
mov eax, ebx
mov ebx, ecx
call fcn.004af26f
mov eax, dword [ebp - 0xc]
call fcn.004a56fd
mov dword [ebp - 8], 0x11
jmp case.0x4a6888.12
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebx + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x30], eax
imul eax, eax, 0x18
add eax, dword [edx + 8]
mov dword [ebp - 0x14], edi
mov edx, dword [eax + 4]
mov dword [ebp - 0x58], edx
cmp cl, 9
jne 0x4a7dd2
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x58]
lea ecx, [esi + 0x100]
mov dword [ebp - 0x1c], 1
cmp al, byte [ecx]
jae 0x4a7dd6
mov byte [ecx], al
jmp 0x4a7dd6
and dword [ebp - 0x1c], 0
cmp byte [ebx + 3], 0
je 0x4a7df1
imul edi, edi, 0x28
add edi, dword [esi + 0x4c]
mov eax, edi
mov dword [ebp - 0x48], edi
call fcn.004a30f2
mov eax, dword [edi]
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x2c]
push 1
push dword [ebp - 0x30]
lea ecx, [ebx - 0x14]
mov ebx, esi
call fcn.004a65a4
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x4a6af9
push dword [ebx]
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x58]
mov byte [ebx + 0x1c], 1
push dword [edi + 0x10]
push dword [ebp - 0x1c]
push dword [ebp - 0x14]
call fcn.0049eb31
add esp, 0x10
cmp byte [edi + 1], 0xfa
mov esi, eax
mov dword [ebp - 8], esi
jne 0x4a7e59
mov ecx, dword [edi + 0x10]
mov dword [ebx + 0x4c], ecx
mov edx, dword [ebx + 0x4c]
add ecx, 5
mov dword [ebx + 0x48], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x59]
mov byte [edx + 4], al
jmp 0x4a7e66
and dword [ebx + 0x4c], 0
mov ecx, dword [ebp + 8]
lea eax, [ebx + 0x23]
mov dword [ebx + 0x48], eax
test esi, esi
je 0x4a7e98
push 5
pop edx
cmp esi, edx
je 0x4a9836
cmp esi, 0x10
jne 0x4a984d
cmp byte [edi + 1], 0xfa
setne al
test al, al
mov byte [ebx + 0x21], al
sete al
and dword [ebx], 0
mov byte [ebx + 0x22], al
jmp 0x4a9317
mov esi, dword [ebx]
call fcn.004a1d79
test al, 0xf0
jne 0x4a7edd
mov ecx, eax
and ecx, 7
cmp ecx, 5
je 0x4a7eb2
cmp ecx, 2
jne 0x4a7edd
mov cl, al
shr eax, 1
and cl, 1
and al, 1
mov byte [ebx + 0x21], cl
mov byte [ebx + 0x22], al
test cl, cl
je 0x4a7ecb
cmp byte [edi + 1], 0xfa
je 0x4a7edd
test al, al
je case.0x4a6888.12
cmp byte [edi + 1], 0xfa
je case.0x4a6888.12
mov dword [ebp - 8], 0xb
jmp 0x4a984d
mov edx, dword [ebx + 4]
push 1
mov ecx, ebx
push 0xffffffffffffffff
mov ebx, esi
call fcn.004a65a4
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x4a6af9
mov edx, dword [ebp - 0xc]
push 0x41e
lea edi, [esi + 0x30]
push 1
mov ebx, 0x1f4
xor eax, eax
mov byte [esi + 0x1c], 1
call fcn.004c573a
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x4a7fc7
lea ebx, [esi + 0x30]
mov edi, dword [ebx]
push 1
call fcn.0049e130
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x4a7fc7
mov edi, dword [ebp - 0x24]
cmp dword [edi + 0x10], eax
je 0x4a7fa8
lea eax, [ebp - 0x140]
push 2
push eax
mov eax, dword [ebx]
call fcn.004a1947
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x4a7fa2
push dword [esi]
mov eax, dword [ebx]
push dword [edi + 0x10]
push 1
push dword [ebp - 0x140]
call fcn.0049eb31
mov ecx, dword [ebp + 8]
mov dword [ebp - 8], eax
mov eax, dword [edi + 0x10]
mov dword [esi + 0x4c], eax
mov ecx, dword [ecx]
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0x14]
mov cl, byte [ecx + 0x59]
mov byte [eax + 4], cl
mov eax, dword [esi + 0x4c]
add esp, 0x10
add eax, 5
mov dword [esi + 0x48], eax
mov byte [esi + 0x21], 0
jmp 0x4a7fc7
push dword [esi]
mov eax, dword [ebx]
push 0
push 1
push 1
call fcn.0049eb31
mov dword [ebp - 8], eax
lea eax, [esi + 0x23]
add esp, 0x10
mov byte [esi + 0x21], 1
mov dword [esi + 0x48], eax
cmp byte [esi + 0x21], 0
sete al
mov byte [esi + 0x22], al
jmp case.0x4a6888.12
mov edx, dword [ebx + 4]
push 0
lea ecx, [ebx - 0x14]
push 0xffffffffffffffff
mov ebx, esi
call fcn.004a65a4
pop ecx
pop ecx
test eax, eax
je 0x4a6af9
mov ecx, dword [ebp - 0x24]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x1e], 1
mov cl, byte [ecx + 8]
mov byte [eax + 0x1f], cl
lea ecx, [eax + 0x23]
mov dword [eax + 0x48], ecx
mov byte [eax + 0x21], 1
mov byte [eax + 0x22], 0
jmp case.0x4a6888.12
mov ebx, dword [ebx + 4]
mov edi, ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x30]
shl edi, 2
mov esi, dword [edi + eax]
push ebx
call fcn.004a43f0
mov eax, dword [ebx + 0x30]
and dword [edi + eax], 0
jmp 0x4a9701
mov ecx, dword [ebx + 4]
mov edx, dword [esi + 0x30]
mov edi, dword [edx + ecx*4]
cmp dword [edi], 0
je case.0x4a6888.12
mov byte [edi + 0x1c], 0
cmp eax, 6
je 0x4a805c
cmp eax, 0x40
je 0x4a805c
xor eax, eax
jmp 0x4a805f
xor eax, eax
inc eax
mov ecx, dword [edi + 0x48]
mov byte [ecx], al
cmp byte [edi + 0x21], 0
je 0x4a80c9
mov esi, dword [ebp - 0x54]
call fcn.004a2ff8
mov esi, eax
xor eax, eax
mov dword [ebp - 0x1f0], edx
cmp dword [ebx + 8], eax
jne 0x4a8093
mov dword [edi + 0x28], esi
mov dword [edi + 0x2c], edx
mov byte [edi + 0x19], al
mov byte [edi + 0x20], 1
jmp case.0x4a6888.12
mov ebx, dword [edi]
push eax
push edx
push esi
push eax
lea edx, [ebp - 0x68]
xor ecx, ecx
call fcn.0049f2c5
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
jne 0x4a984d
mov eax, dword [ebp - 0x1f0]
cmp dword [ebp - 0x68], 0
mov dword [edi + 0xc], eax
sete al
mov dword [edi + 8], esi
mov byte [edi + 0x19], al
jmp 0x4a8123
mov eax, dword [edi + 0x4c]
mov dword [ebp - 0x14c], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x148], ax
mov eax, dword [ebx + 0xc]
mov ebx, dword [edi]
imul eax, eax, 0x28
add eax, dword [esi + 0x4c]
lea edx, [ebp - 0x68]
mov dword [ebp - 0x144], eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0x14c]
push eax
xor ecx, ecx
mov byte [ebp - 0x146], 0
mov byte [ebp - 0x145], 0
call fcn.0049f2c5
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
jne 0x4a984d
mov byte [edi + 0x19], al
mov eax, dword [edi + 0x48]
xor ebx, ebx
cmp dword [ebp - 0x14], 0x75
mov byte [edi + 0x20], bl
mov dword [edi + 0x68], ebx
mov byte [eax], bl
je 0x4a815e
cmp dword [ebp - 0x14], 6
je 0x4a815e
cmp dword [ebp - 0x68], ebx
jl 0x4a814e
lea eax, [ebp - 0x68]
push eax
push dword [edi]
call fcn.0049f7b4
jmp 0x4a816e
mov eax, dword [edi]
xor ecx, ecx
cmp byte [eax + 0x43], 1
setne cl
mov dword [ebp - 0x68], ecx
jmp 0x4a8184
cmp dword [ebp - 0x68], ebx
jge 0x4a8181
lea eax, [ebp - 0x68]
push eax
push dword [edi]
call fcn.0049f6d4
pop ecx
pop ecx
mov dword [ebp - 8], eax
cmp eax, ebx
jne 0x4a984d
mov byte [edi + 0x19], 0
jmp 0x4a8184
mov dword [ebp - 0x68], ebx
cmp dword [ebp - 0x68], 0
je case.0x4a6888.12
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
jmp 0x4a68fe
mov eax, dword [ebx + 4]
mov esi, dword [esi + 0x30]
mov esi, dword [esi + eax*4]
xor edx, edx
cmp dword [esi], edx
je 0x4a81fa
cmp cl, 0x7a
jne 0x4a81b4
mov eax, dword [esi + 0x4c]
mov byte [eax + 6], 1
mov ecx, dword [ebp - 0x54]
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x14]
mov ebx, dword [esi]
cdq
push 0
push edx
push eax
push 0
lea edx, [ebp - 0x13c]
call fcn.0049f2c5
mov ecx, dword [esi + 0x4c]
add esp, 0x10
mov dword [ebp - 8], eax
mov byte [ecx + 6], 0
test eax, eax
jne case.0x4a6888.12
mov ebx, dword [ebp - 0x24]
xor edx, edx
cmp dword [ebp - 0x13c], eax
mov byte [esi + 0x20], al
sete dl
mov dword [esi + 0x68], eax
cmp byte [ebx], 0x7a
jne 0x4a8206
test edx, edx
jmp 0x4a7319
test edx, edx
jmp 0x4a74c3
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 0x10]
mov edi, dword [ebp - 0x54]
imul ebx, ebx, 0x28
add ebx, dword [esi + 0x4c]
mov dword [ebp - 0x30], eax
mov eax, edi
call fcn.004a30f2
mov eax, dword [edi]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x124], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x120], eax
mov eax, dword [esi + 0x30]
mov edi, dword [eax + ecx*4]
mov eax, dword [edi]
mov dword [ebp - 0x14], eax
test eax, eax
je case.0x4a6888.12
mov esi, dword [ebx + 0x14]
mov dword [ebp - 0x1c], esi
call fcn.004a54c3
mov esi, dword [ebx + 0x18]
mov ebx, dword [ebp - 0x14]
sub esi, eax
xor ecx, ecx
push ecx
mov eax, esi
cdq
push edx
push eax
mov dword [edi + 0x68], ecx
push ecx
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x80]
call fcn.0049f2c5
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
jne 0x4a984d
xor ebx, ebx
cmp dword [ebp - 0x80], ebx
jge 0x4a82a6
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x14]
call fcn.0049f6d4
pop ecx
pop ecx
mov dword [ebp - 8], eax
cmp dword [ebp - 0x80], ebx
jne 0x4a818e
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x1c]
mov ecx, edi
push esi
push ebx
call fcn.004a55bf
add esp, 0x10
mov dword [ebp - 8], eax
cmp eax, ebx
jne 0x4a984d
cmp dword [ebp - 0x80], 0
jg 0x4a818e
lea eax, [ebp - 0x18c]
push eax
push dword [ebp - 0x14]
call fcn.004a5502
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x4a984d
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x188]
cmp edx, dword [ebp - 0x124]
jne 0x4a830a
cmp ecx, dword [ebp - 0x120]
je 0x4a818e
mov eax, dword [ebp - 0x54]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp case.0x4a6888.12
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov esi, dword [ecx + eax*4]
mov ebx, dword [esi]
test ebx, ebx
je case.0x4a6888.12
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push 0
push eax
push ecx
push 0
lea edx, [ebp - 0xb8]
xor ecx, ecx
call fcn.0049f2c5
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
mov dword [esi + 8], ecx
mov eax, dword [eax + 4]
mov dword [esi + 0xc], eax
xor eax, eax
add esp, 0x10
cmp dword [ebp - 0xb8], eax
mov byte [esi + 0x1c], al
sete cl
cmp dword [ebp - 0xb8], eax
mov byte [esi + 0x19], cl
mov dword [esi + 0x68], eax
jmp 0x4a8188
mov ebx, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov eax, ebx
shl eax, 2
mov ecx, dword [eax + ecx]
mov edx, dword [ecx + 0x58]
mov dword [edi], edx
mov ecx, dword [ecx + 0x5c]
mov dword [edi + 4], ecx
mov ecx, dword [esi + 0x30]
mov eax, dword [eax + ecx]
add dword [eax + 0x58], 1
adc dword [eax + 0x5c], 0
jmp 0x4a7009
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + eax*4]
and dword [ebp - 0x3c], 0
and dword [ebp - 0x38], 0
mov dword [ebp - 0x2c], eax
mov eax, dword [eax]
test eax, eax
je 0x4a85ad
and dword [ebp - 0x14], 0
mov esi, eax
call fcn.004a1d79
and al, 3
cmp al, 1
jne 0x4a7edd
mov esi, dword [ebp - 0x2c]
cmp byte [esi + 0x1b], 0
jne 0x4a84e9
cmp byte [esi + 0x1d], 0
je 0x4a83f8
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x3c], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x38], eax
jmp 0x4a8458
mov eax, dword [esi]
lea ebx, [ebp - 0x88]
call fcn.0049f289
mov dword [ebp - 8], eax
test eax, eax
jne 0x4a984d
xor ebx, ebx
cmp dword [ebp - 0x88], ebx
je 0x4a8426
mov dword [ebp - 0x3c], 1
mov dword [ebp - 0x38], ebx
jmp 0x4a8455
mov esi, dword [ebp - 0x2c]
mov eax, dword [esi]
lea edi, [ebp - 0x3c]
call fcn.0049ec10
cmp dword [ebp - 0x3c], 0xffffffff
jne 0x4a8448
cmp dword [ebp - 0x38], 0x7fffffff
jne 0x4a8448
mov byte [esi + 0x1b], 1
jmp 0x4a844f
add dword [ebp - 0x3c], 1
adc dword [ebp - 0x38], ebx
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x24]
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x4a84b2
mov eax, dword [ebp + 8]
imul ebx, ebx, 0x28
add ebx, dword [eax + 0x4c]
mov eax, ebx
call fcn.004a30f2
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
cmp eax, 0xffffffff
jne 0x4a8485
cmp ecx, 0x7fffffff
je 0x4a9846
cmp byte [esi + 0x1b], 0
jne 0x4a9846
add eax, 1
adc ecx, 0
cmp dword [ebp - 0x38], ecx
jg 0x4a84a7
jl 0x4a84a1
cmp dword [ebp - 0x3c], eax
jae 0x4a84a7
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x3c]
mov dword [ebx], eax
mov eax, dword [ebp - 0x38]
mov dword [ebx + 4], eax
cmp dword [ebp - 0x38], 0x7fffffff
ja 0x4a84db
jb 0x4a84c3
cmp dword [ebp - 0x3c], 0xffffffff
jae 0x4a84db
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
add eax, 1
adc ecx, 0
mov byte [esi + 0x1d], 1
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
jmp 0x4a84df
mov byte [esi + 0x1d], 0
cmp byte [esi + 0x1b], 0
je 0x4a85a1
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx + 0x38]
and dword [ebp - 0x20], 0
mov dword [ebp - 0x3c], eax
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x38], eax
xor ecx, ecx
cmp dword [ebp - 0x20], ecx
jne 0x4a851e
mov eax, dword [ebp - 0x3c]
and eax, 0xffffff
cmp eax, dword [ebp - 0x3c]
jne 0x4a851e
cmp ecx, dword [ebp - 0x38]
jne 0x4a851e
add dword [ebp - 0x3c], 1
adc dword [ebp - 0x38], ecx
jmp 0x4a853c
lea eax, [ebp - 0x3c]
push eax
push 8
call fcn.0049778d
cmp dword [ebp - 0x20], 5
pop ecx
pop ecx
jge 0x4a853c
and dword [ebp - 0x3c], 0xffffff
and dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x3c]
or eax, dword [ebp - 0x38]
je 0x4a8569
mov ebx, dword [esi]
push 0
push dword [ebp - 0x38]
lea edx, [ebp - 0x88]
push dword [ebp - 0x3c]
xor ecx, ecx
push 0
call fcn.0049f2c5
mov ebx, dword [ebp - 0xc]
add esp, 0x10
inc dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x20], 0x64
jge 0x4a8582
cmp dword [ebp - 0x14], 0
jne 0x4a8582
cmp dword [ebp - 0x88], 0
je 0x4a84fc
cmp dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x3c]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebx + 0x3c], eax
jne 0x4a85a1
cmp dword [ebp - 0x88], 0
je 0x4a9846
and dword [esi + 0x68], 0
mov byte [esi + 0x19], 0
mov byte [esi + 0x20], 0
mov ax, word [edi + 0x1c]
mov ecx, 0xffe4
and ax, cx
or ax, 4
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0x3c]
mov dword [edi], eax
mov eax, dword [ebp - 0x38]
jmp 0x4a6947
mov edi, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
imul edi, edi, 0x28
mov ecx, dword [esi + 0x4c]
imul eax, eax, 0x28
mov edx, dword [esi + 0x30]
add eax, ecx
add edi, ecx
test byte [ebx + 3], 1
mov ecx, dword [ebx + 4]
mov ecx, dword [edx + ecx*4]
mov edx, dword [eax]
mov dword [ebp - 0xa4], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0xa0], edx
je 0x4a860a
inc dword [esi + 0x104]
test byte [ebx + 3], 2
je 0x4a861e
mov esi, dword [eax]
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x30], esi
mov esi, dword [eax + 4]
mov dword [edx + 0x34], esi
cmp byte [ecx + 0x1d], 0
je 0x4a8639
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 0x14]
jl 0x4a8639
jg 0x4a8635
mov eax, dword [eax]
cmp eax, dword [ecx + 0x10]
jb 0x4a8639
mov byte [ecx + 0x1d], 0
movzx eax, word [edi + 0x1c]
test al, 1
je 0x4a8649
and dword [edi + 0x14], 0
and dword [edi + 0x18], 0
cmp byte [ecx + 0x1e], 0
je 0x4a86f9
cmp byte [ecx + 0x1f], 0
jne 0x4a8668
mov eax, dword [ebp - 0x44]
push dword [eax + 0x38]
call fcn.004960e2
pop ecx
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0xa4]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0xa0]
mov dword [ecx + 0x44], eax
mov eax, dword [edi + 0x18]
mov dword [ecx + 0x34], eax
mov edx, dword [edi + 0x14]
cmp edx, dword [edi + 0x24]
je 0x4a86ce
cmp byte [ecx + 0x1f], 0
jne 0x4a86ce
add eax, 2
push eax
call fcn.00496012
mov esi, dword [ebp - 0x44]
pop ecx
mov dword [esi + 0x38], eax
test eax, eax
je 0x4a6af9
push dword [esi + 0x34]
push dword [edi + 0x14]
push eax
call fcn.004f4410
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x38]
mov byte [eax + ecx], 0
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x34]
mov byte [eax + ecx + 1], 0
add esp, 0xc
mov ecx, esi
jmp 0x4a86f3
cmp byte [ecx + 0x1f], 0
mov dword [ecx + 0x38], edx
jne 0x4a86f3
mov ax, word [edi + 0x1c]
mov edx, 0xffbf
and ax, dx
mov edx, 0x100
or ax, dx
and dword [edi + 0x24], 0
mov word [edi + 0x1c], ax
mov byte [ecx + 0x1c], 0
jmp 0x4a8736
test eax, 0x800
je 0x4a8704
mov eax, dword [edi]
jmp 0x4a8706
xor eax, eax
movzx ecx, byte [ebx + 3]
and ecx, 8
push ecx
push eax
push dword [edi + 0x18]
mov eax, dword [ebp - 0x44]
push dword [edi + 0x14]
mov eax, dword [eax]
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push 0
call fcn.004a1324
mov ecx, dword [ebp - 0x44]
add esp, 0x1c
mov dword [ebp - 8], eax
and dword [ecx + 0x68], 0
cmp dword [ebp - 8], 0
mov byte [ecx + 0x19], 0
mov byte [ecx + 0x20], 0
jne case.0x4a6888.12
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xb8]
test ecx, ecx
je case.0x4a6888.12
mov eax, dword [ebx + 0x10]
test eax, eax
je case.0x4a6888.12
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x44]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xc]
imul edx, edx, 0x18
mov esi, dword [eax + 8]
push dword [edx + esi]
mov dl, byte [ebx + 3]
and dl, 4
movzx edx, dl
neg edx
sbb edx, edx
and edx, 5
add edx, 0x12
push edx
push dword [eax + 0xb4]
call ecx
add esp, 0x18
jmp case.0x4a6888.12
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov esi, dword [ecx + eax*4]
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xb8], 0
je 0x4a87d8
cmp dword [ebx + 0x10], 0
je 0x4a87d8
mov eax, dword [esi + 8]
mov dword [ebp - 0x134], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x130], eax
call fcn.004a4e7a
mov dword [ebp - 8], eax
test eax, eax
jne 0x4a984d
mov ebx, dword [esi]
call fcn.004a14e5
and dword [esi + 0x68], 0
mov dword [ebp - 8], eax
mov byte [esi + 0x1d], 0
test eax, eax
jne 0x4a883b
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0xb8]
test edx, edx
je 0x4a883b
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x4a883b
push dword [ebp - 0x130]
push dword [ebp - 0x134]
push ecx
mov ecx, dword [esi + 4]
mov esi, dword [eax + 8]
imul ecx, ecx, 0x18
push dword [ecx + esi]
push 9
push dword [eax + 0xb4]
call edx
add esp, 0x18
mov eax, dword [ebp - 0x24]
test byte [eax + 8], 1
je case.0x4a6888.12
mov eax, dword [ebp + 8]
inc dword [eax + 0x104]
jmp case.0x4a6888.12
cmp dword [ebx + 4], 0
je 0x4a886b
mov eax, dword [esi + 0x104]
mov ecx, dword [ebp - 0xc]
add dword [ecx + 0x48], eax
mov dword [ecx + 0x44], eax
and dword [esi + 0x104], 0
jmp case.0x4a6888.12
mov eax, dword [ebx + 8]
mov ecx, dword [ebp + 8]
imul eax, eax, 0x28
add eax, dword [ecx + 0x4c]
mov ecx, dword [ecx + 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 4]
mov esi, dword [ecx + eax*4]
mov ebx, dword [esi]
mov dword [ebp - 0x1c], ebx
call fcn.004a4e7a
mov dword [ebp - 8], eax
test eax, eax
jne 0x4a984d
cmp byte [esi + 0x22], 0
mov eax, ebx
je 0x4a88e4
lea edi, [ebp - 0x194]
call fcn.0049ec10
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x50]
mov ecx, dword [ebp - 0x190]
cdq
cmp ecx, edx
jg 0x4a69f9
mov ebx, dword [ebp - 0x194]
jl 0x4a88dc
cmp ebx, eax
ja 0x4a69f9
mov dword [ebp - 0xbc], ebx
jmp 0x4a8901
lea edi, [ebp - 0xbc]
call fcn.0049ec57
mov ebx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc]
cmp ebx, dword [eax + 0x50]
ja 0x4a69f9
mov edi, dword [ebp - 0x28]
push 0
mov eax, ebx
call fcn.004a2cfd
pop ecx
test eax, eax
jne 0x4a6af9
mov ax, word [edi + 0x1c]
push dword [edi + 0x14]
mov ecx, 0xfff0
and ax, cx
or ax, 0x10
mov dword [edi + 0x18], ebx
mov word [edi + 0x1c], ax
cmp byte [esi + 0x22], 0
push ebx
push 0
je 0x4a8946
mov esi, dword [ebp - 0x1c]
call fcn.0049efef
add esp, 0xc
jmp 0x4a8951
push dword [ebp - 0x1c]
call fcn.0049f02c
add esp, 0x10
mov dword [ebp - 8], eax
jmp 0x4a7b0b
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x30]
mov esi, dword [ecx + eax*4]
call fcn.004a4e7a
mov dword [ebp - 8], eax
test eax, eax
jne 0x4a984d
cmp byte [esi + 0x19], al
je 0x4a8988
mov eax, dword [esi + 8]
mov dword [ebp - 0xac], eax
mov eax, dword [esi + 0xc]
jmp 0x4a899a
cmp byte [esi + 0x1e], 0
je 0x4a89a2
mov eax, dword [esi + 0x40]
mov dword [ebp - 0xac], eax
mov eax, dword [esi + 0x44]
mov dword [ebp - 0xa8], eax
jmp 0x4a89bc
cmp byte [esi + 0x1c], 0
jne case.0x4a6888.12
mov eax, dword [esi]
lea edi, [ebp - 0xac]
call fcn.0049ec10
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0xac]
mov dword [edi], eax
mov eax, dword [ebp - 0xa8]
jmp 0x4a7006
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
jmp case.0x4a6888.12
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov esi, dword [ecx + eax*4]
mov eax, dword [esi]
lea ebx, [ebp - 0x128]
call fcn.0049f289
and dword [esi + 0x68], 0
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x128]
mov byte [esi + 0x1c], al
mov byte [esi + 0x20], 0
test eax, eax
je case.0x4a6888.12
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
test eax, eax
jle case.0x4a6888.12
jmp 0x4a68fe
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov esi, dword [ecx + eax*4]
mov edi, dword [esi]
test edi, edi
je 0x4a8a74
mov eax, edi
call fcn.0049f14d
test eax, eax
jne 0x4a8a5d
cmp byte [edi + 0x43], al
jne 0x4a8a52
mov dword [ebp - 0x6c], 1
jmp 0x4a8a5d
and dword [ebp - 0x6c], 0
mov eax, edi
call fcn.0049f203
cmp dword [ebp - 0x6c], 0
mov dword [ebp - 8], eax
sete al
and dword [esi + 0x68], 0
mov byte [esi + 0x1a], al
mov byte [esi + 0x20], 0
jmp 0x4a8a7b
mov dword [ebp - 0x6c], 1
mov eax, dword [ebp - 0x6c]
mov byte [esi + 0x1c], al
jmp 0x4a746b
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xd8], 0
jne 0x4a988f
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov esi, dword [ecx + eax*4]
test esi, esi
je case.0x4a6888.12
cmp byte [esi + 0x1c], 0
mov eax, dword [esi]
jne 0x4a8aef
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x8c], 1
cmp byte [ebx], 0x67
push ecx
push eax
jne 0x4a8acd
call fcn.0049f6d4
jmp 0x4a8ad2
call fcn.0049f7b4
and dword [esi + 0x68], 0
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x8c]
pop ecx
pop ecx
mov byte [esi + 0x1c], al
test eax, eax
jne 0x4a8aef
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x18], ebx
mov byte [esi + 0x19], 0
jmp case.0x4a6888.12
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov esi, dword [ecx + eax*4]
mov eax, dword [esi]
mov dword [ebp - 0x30], eax
test eax, eax
je case.0x4a6888.12
mov ecx, dword [ebp - 0x48]
mov eax, 0x800
mov edi, ecx
test word [ecx + 0x1c], ax
je 0x4a8b2a
mov eax, edi
call fcn.004a2e04
mov dword [ebp - 8], eax
jmp 0x4a8b2e
and dword [ebp - 8], 0
xor ecx, ecx
cmp dword [ebp - 8], ecx
jne case.0x4a6888.12
push dword [ebx + 0xc]
mov eax, dword [edi + 0x18]
mov edi, dword [edi + 0x14]
push ecx
push ecx
cdq
push 0x53b9e7
push edx
push eax
mov eax, dword [ebp - 0x30]
push edi
call fcn.004a1324
add esp, 0x1c
and dword [esi + 0x68], 0
mov dword [ebp - 8], eax
jmp case.0x4a6888.12
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [ecx + eax*4]
mov eax, dword [edi]
mov dword [ebp - 0x30], eax
test eax, eax
je case.0x4a6888.12
mov ecx, dword [edi + 0x4c]
mov dword [ebp - 0x15c], ecx
mov cx, word [ebx + 0xc]
mov word [ebp - 0x158], cx
mov ecx, dword [ebx + 8]
imul ecx, ecx, 0x28
add ecx, dword [esi + 0x4c]
lea edx, [ebp - 0x118]
mov dword [ebp - 0x154], ecx
xor ecx, ecx
push ecx
push ecx
push ecx
lea ecx, [ebp - 0x15c]
push ecx
xor ecx, ecx
mov ebx, eax
mov byte [ebp - 0x156], 0
mov byte [ebp - 0x155], 0
call fcn.0049f2c5
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
jne 0x4a8be0
cmp dword [ebp - 0x118], eax
jne 0x4a8be0
call fcn.004a14e5
mov dword [ebp - 8], eax
and dword [edi + 0x68], 0
jmp case.0x4a6888.12
mov ecx, dword [esi + 0x30]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax]
test ecx, ecx
je case.0x4a6888.12
cmp byte [eax + 0x1c], 0
jne case.0x4a6888.12
lea eax, [ebp - 0x174]
push eax
push ecx
call fcn.004a5502
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x4a984d
mov ax, word [edi + 0x1c]
mov ecx, 0xffe4
and ax, cx
or ax, 4
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0x174]
mov dword [edi], eax
mov eax, dword [ebp - 0x170]
jmp 0x4a6947
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [ecx + eax*4]
cmp dword [edi], 0
je case.0x4a6888.12
mov eax, dword [edi + 0x4c]
mov cl, byte [ebx + 3]
mov dword [ebp - 0x16c], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x168], ax
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [esi + 0x4c]
xor esi, esi
mov dword [ebp - 0x164], eax
mov eax, dword [edi + 0x48]
mov byte [eax], cl
lea eax, [ebp - 0x7c]
push eax
push esi
lea eax, [ebp - 0x16c]
push esi
push eax
mov ecx, edi
mov byte [ebp - 0x166], 0
mov byte [ebp - 0x165], 0
call fcn.004a55bf
mov dword [ebp - 8], eax
mov eax, dword [edi + 0x48]
add esp, 0x10
mov byte [eax], 0
cmp byte [ebx], 0x28
jne 0x4a8cbe
neg dword [ebp - 0x7c]
jmp 0x4a8cc1
inc dword [ebp - 0x7c]
cmp dword [ebp - 0x7c], esi
jle case.0x4a6888.12
jmp 0x4a68da
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x8c]
xor ecx, ecx
test eax, eax
je 0x4a8d16
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x4a8cf7
cmp byte [eax + 0x101], 2
jae 0x4a8cf7
cmp dword [eax + 0x70], 0
jl 0x4a8cf7
inc ecx
mov eax, dword [eax + 8]
test eax, eax
jne 0x4a8cde
cmp ecx, 1
jle 0x4a8d16
mov dword [ebp - 8], 6
mov dword [esi + 0x7c], 2
jmp case.0x4a6888.12
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
imul eax, eax, 0x18
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 8]
mov esi, dword [ecx + eax + 4]
mov dword [ebp - 0x1c], eax
mov eax, esi
call fcn.0049c9db
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [eax + 4], ecx
lea eax, [ebp - 0x138]
push eax
push dword [ebp - 0x30]
push esi
call fcn.004a1af3
add esp, 0xc
mov dword [ebp - 0x30], eax
call fcn.0049ca3d
mov ax, word [edi + 0x1c]
mov esi, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x30]
mov edx, 0xffe4
and ax, dx
or ax, 4
mov word [edi + 0x1c], ax
mov eax, esi
cdq
mov dword [ebp - 8], ecx
mov dword [edi], eax
mov dword [edi + 4], edx
test ecx, ecx
jne case.0x4a6888.12
test esi, esi
je case.0x4a6888.12
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
add eax, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
mov ecx, dword [eax + 0x14]
mov ecx, dword [ecx + 0x10]
jmp 0x4a8db2
mov edx, dword [ecx + 8]
cmp dword [edx + 0x14], esi
jne 0x4a8db0
mov dword [edx + 0x14], ebx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4a8da5
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x24]
jmp 0x4a8dcb
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jne 0x4a8dc9
mov dword [ecx + 0x14], ebx
mov eax, dword [eax]
test eax, eax
jne 0x4a8dbe
jmp case.0x4a6888.12
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xc]
imul eax, eax, 0x18
mov ecx, dword [ecx + 8]
push dword [ebx + 4]
mov eax, dword [eax + ecx + 4]
call fcn.004a1a86
mov dword [ebp - 8], eax
jmp 0x4a9701
mov ebx, dword [ebx + 4]
mov eax, dword [ebp - 0xc]
imul ebx, ebx, 0x18
add ebx, dword [eax + 8]
xor eax, eax
cmp cl, 0x32
setne al
dec eax
and eax, 3
inc eax
inc eax
push eax
lea eax, [ebp - 0x150]
push eax
mov eax, dword [ebx + 4]
call fcn.004a1947
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne case.0x4a6888.12
mov eax, dword [ebp - 0x150]
jmp 0x4a7402
cmp dword [ebx + 8], 0
mov eax, dword [ebx + 4]
jne 0x4a8e58
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 8]
mov ecx, eax
imul ecx, ecx, 0x18
mov ecx, dword [ecx + edx + 0x14]
test byte [ecx + 0x5a], 1
je case.0x4a6888.12
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x4a8e67
mov ecx, str.sqlite_master
push dword [ebx + 0x10]
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0x1e8], eax
imul eax, eax, 0x18
push ecx
mov ecx, dword [edi + 8]
add esi, 0xf4
mov dword [ebp - 0x1ec], edi
mov dword [ebp - 0x1e4], esi
push dword [eax + ecx]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
call fcn.004975ad
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4a6af9
push 0
lea eax, [ebp - 0x1ec]
push eax
push fcn.004b85df
push esi
push edi
mov byte [edi + 0x80], 1
call fcn.004b681e
add esp, 0x14
mov dword [ebp - 8], eax
cmp eax, 4
jne 0x4a8ed6
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 8], eax
push esi
call fcn.004960e2
cmp dword [ebp - 8], 7
mov byte [edi + 0x80], 0
pop ecx
je 0x4a6af9
jmp case.0x4a6888.12
mov ecx, dword [ebx + 4]
mov eax, dword [ebp - 0xc]
call fcn.004ae315
mov dword [ebp - 8], eax
jmp case.0x4a6888.12
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
push dword [ebp - 0xc]
call fcn.004af4e3
jmp 0x4a9700
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0xc]
call fcn.004af1f7
jmp 0x4a9701
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov ebx, dword [ebp - 0xc]
call fcn.004bdac5
jmp 0x4a9701
mov eax, dword [ebx + 8]
mov dword [ebp - 0x2c], eax
lea eax, [eax*4 + 4]
push eax
call fcn.00496012
pop ecx
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x4a6af9
mov edi, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
imul edi, edi, 0x28
mov esi, dword [esi + 0x4c]
imul eax, eax, 0x28
and dword [ebp - 0x14], 0
add eax, esi
add edi, esi
cmp dword [ebp - 0x2c], 0
mov dword [ebp - 0x10], eax
jle 0x4a8f9a
mov esi, eax
call fcn.004a2ff8
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov dword [edx + ecx*4], eax
inc ecx
add esi, 0x28
cmp ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
jl 0x4a8f80
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
and dword [esi + eax*4], 0
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 8]
lea eax, [ebp - 0xb4]
push eax
movzx eax, byte [ebx + 3]
push dword [edi]
imul eax, eax, 0x18
push dword [ebp - 0x2c]
push esi
push dword [eax + ecx + 4]
call fcn.004a24cb
mov ebx, eax
mov eax, dword [ebp - 0xb4]
cdq
add esp, 0x14
sub dword [edi], eax
mov eax, dword [ebp - 0x10]
sbb dword [edi + 4], edx
call fcn.004a3195
cmp dword [ebp - 0xb4], 0
je 0x4a8fff
mov edx, dword [ebp - 0x10]
push fcn.004960e2
push 1
or eax, 0xffffffff
mov ecx, ebx
call fcn.004a330d
pop ecx
pop ecx
movzx eax, byte [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x10]
call fcn.004a2cdd
pop ecx
push esi
call fcn.004960e2
jmp 0x4a9701
mov esi, dword [ebp - 0x10]
call fcn.004a2ff8
mov edi, dword [ebp + 8]
push edx
push eax
add edi, 0x58
call fcn.004a2c1b
pop ecx
cmp eax, 7
jmp 0x4a8ee7
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xd8], 0
jne 0x4a988f
mov edx, dword [ebx + 4]
mov eax, dword [ebp + 8]
imul edx, edx, 0x28
add edx, dword [eax + 0x4c]
mov esi, 0xffe4
mov cx, word [edx + 0x1c]
and cx, si
or cx, 4
lea esi, [eax + 0x58]
mov dword [ebp - 0x28], edx
mov word [edx + 0x1c], cx
call fcn.004a2c72
cmp eax, 0x65
jmp 0x4a74c3
mov edi, dword [esi + 0x64]
cmp edi, dword [esi + 0x68]
lea eax, [edi + 1]
mov dword [esi + 0x64], eax
jl 0x4a90a9
mov dword [esi + 0x68], eax
lea eax, [edi + 1]
imul eax, eax, 0x18
push eax
push dword [esi + 0x6c]
mov eax, dword [ebp - 0xc]
call fcn.004963b5
pop ecx
pop ecx
mov dword [esi + 0x6c], eax
test eax, eax
je 0x4a6af9
mov eax, dword [ebp + 8]
imul edi, edi, 0x18
add edi, dword [eax + 0x6c]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x30]
mov dword [edi], edx
mov ecx, dword [ecx + 0x34]
mov dword [edi + 4], ecx
mov ecx, dword [eax + 0x104]
mov dword [edi + 8], ecx
add eax, 0x58
add edi, 0xc
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0xc
push 0
push eax
movsd dword es:[edi], dword [esi]
call fcn.004f3c10
add esp, 0xc
jmp case.0x4a6888.12
mov eax, dword [ebp + 8]
dec dword [eax + 0x64]
mov ecx, dword [eax + 0x64]
imul ecx, ecx, 0x18
add ecx, dword [eax + 0x6c]
lea edi, [eax + 0x58]
mov esi, ecx
mov edx, dword [esi]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x30], edx
mov edx, dword [esi + 4]
mov dword [ecx + 0x34], edx
mov ecx, dword [esi + 8]
mov dword [eax + 0x104], ecx
call fcn.004a2cb6
add esi, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp case.0x4a6888.12
mov edi, dword [ebp - 0x10]
mov eax, edi
call fcn.004a30f2
mov esi, dword [ebp - 0x48]
mov eax, esi
call fcn.004a30f2
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov ecx, dword [edi + 4]
cmp ecx, esi
jg case.0x4a6888.12
jl 0x4a9153
mov ecx, edi
mov ecx, dword [ecx]
cmp ecx, eax
jae case.0x4a6888.12
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov dword [ecx + 4], esi
jmp case.0x4a6888.12
mov eax, dword [ebp - 0x10]
cmp dword [eax + 4], 0
jl case.0x4a6888.12
jg 0x4a68da
cmp dword [eax], 0
jbe case.0x4a6888.12
jmp 0x4a68da
mov eax, dword [ebp - 0x10]
cmp dword [eax + 4], 0
jg case.0x4a6888.12
jl 0x4a68da
cmp dword [eax], 0
jae case.0x4a6888.12
jmp 0x4a68da
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
or ecx, dword [eax + 4]
jmp 0x4a74c3
mov ecx, dword [ebx + 8]
movzx eax, byte [ebx + 3]
imul ecx, ecx, 0x28
add ecx, dword [esi + 0x4c]
mov edi, dword [esi + 0x24]
xor edx, edx
mov dword [ebp - 0x1c], eax
test eax, eax
jle 0x4a91d9
mov dword [edi + edx*4], ecx
call fcn.004a6579
inc edx
add ecx, 0x28
cmp edx, dword [ebp - 0x1c]
jl 0x4a91c8
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x114], eax
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xc]
imul eax, eax, 0x28
add eax, dword [esi + 0x4c]
mov dword [ebp - 0xe4], eax
inc dword [eax + 0x18]
xor eax, eax
inc eax
mov word [ebp - 0xf0], ax
xor eax, eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0xfc], ecx
cmp byte [eax + 3], 0
je 0x4a923c
mov ecx, dword [ebx - 4]
mov dword [ebp - 0xdc], ecx
push edi
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x114]
push ecx
call dword [eax + 0x14]
add esp, 0xc
cmp dword [ebp - 0xe0], 0
je 0x4a9280
push 0
push ecx
lea eax, [ebp - 0x10c]
push eax
call fcn.004a584a
pop ecx
pop ecx
push eax
add esi, 0xf4
push esi
call fcn.0049647a
mov eax, dword [ebp - 0xe0]
add esp, 0xc
mov dword [ebp - 8], eax
lea eax, [ebp - 0x10c]
push eax
call fcn.004a2f94
jmp 0x4a9701
mov edi, dword [ebx + 4]
mov ecx, dword [ebx + 0x10]
imul edi, edi, 0x28
add edi, dword [esi + 0x4c]
mov eax, edi
call fcn.004a2f0c
mov dword [ebp - 8], eax
cmp eax, 1
jne 0x4a92c7
push 0
push ecx
push edi
call fcn.004a584a
pop ecx
pop ecx
push eax
add esi, 0xf4
push esi
call fcn.0049647a
add esp, 0xc
movzx eax, byte [ebp - 0x40]
push eax
mov eax, edi
call fcn.004a2cdd
jmp 0x4a6f87
push dword [ebp - 0xc]
add esi, 0xf4
push esi
call fcn.004bedcd
mov dword [ebp - 8], eax
jmp 0x4a9700
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xc]
imul eax, eax, 0x18
mov ecx, dword [ecx + 8]
mov eax, dword [eax + ecx + 4]
call fcn.0049e666
mov dword [ebp - 8], eax
cmp eax, 0x65
jne case.0x4a6888.12
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x18], ebx
and dword [ebp - 8], 0
jmp case.0x4a6888.12
cmp dword [ebx + 4], 0
je 0x4a7ce5
mov byte [esi + 0xff], 1
jmp case.0x4a6888.12
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0xc]
imul edx, edx, 0x18
mov edi, dword [ecx + 8]
mov al, byte [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov edi, dword [edx + edi + 4]
call fcn.004a2b3d
mov dword [ebp - 8], eax
cmp eax, 6
jne case.0x4a6888.12
push 0
push dword [ebx + 0x10]
add esi, 0xf4
push str.database_table_is_locked:
push esi
call fcn.0049647a
add esp, 0x10
jmp case.0x4a6888.12
mov eax, dword [ebx + 0x10]
mov esi, dword [ebp - 0xc]
call fcn.004bfa26
jmp 0x4a8efe
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xc]
lea ecx, [esi + 0xf4]
call fcn.004bf7b1
jmp 0x4a8dec
mov ecx, dword [ebp - 0xc]
add esi, 0x101
mov byte [esi], 2
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
call fcn.004bf938
mov dword [ebp - 8], eax
mov byte [esi], 0
jmp 0x4a9701
mov edi, dword [ebx + 0x10]
and dword [ebp - 0x20], 0
mov eax, dword [edi]
lea ecx, [ebp - 0x20]
push ecx
push edi
mov dword [ebp - 0x30], eax
call dword [eax + 0x18]
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne case.0x4a6888.12
mov eax, dword [ebp - 0x20]
mov dword [eax], edi
mov edx, dword [ebx + 4]
push 0
lea ecx, [ebx - 0x14]
push 0xffffffffffffffff
mov ebx, esi
call fcn.004a65a4
pop ecx
pop ecx
test eax, eax
je 0x4a9418
mov ecx, dword [ebp - 0x20]
mov dword [eax + 0x60], ecx
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov dword [eax + 0x64], ecx
jmp case.0x4a6888.12
mov eax, dword [ebp - 0xc]
push dword [ebp - 0x20]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0x30]
call dword [eax + 0x1c]
jmp 0x4a9701
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
imul eax, eax, 0x28
mov edx, dword [esi + 0x30]
mov edi, dword [edx + ecx*4]
mov ecx, dword [edi + 0x60]
mov ecx, dword [ecx]
add eax, dword [esi + 0x4c]
mov ecx, dword [ecx]
and dword [ebp - 0x2c], 0
mov edx, dword [esi + 0x24]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0
mov ecx, dword [eax]
mov dword [ebp - 0x58], ecx
jle 0x4a9485
lea ecx, [eax + 0x50]
jmp 0x4a9469
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [edx + eax*4], ecx
call fcn.004a6579
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
add ecx, 0x28
cmp eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], ecx
jl 0x4a9466
mov eax, dword [ebp - 0x1c]
push edx
push dword [ebp - 0x14]
add esi, 0x101
mov byte [esi], 1
push dword [ebx + 0x10]
push dword [ebp - 0x58]
push dword [edi + 0x60]
call dword [eax + 0x20]
add esp, 0x14
mov dword [ebp - 8], eax
mov byte [esi], 0
test eax, eax
jne 0x4a94c3
push dword [edi + 0x60]
mov eax, dword [ebp - 0x1c]
call dword [eax + 0x28]
pop ecx
test eax, eax
je 0x4a94c3
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x18], ebx
mov byte [edi + 0x1c], 0
jmp case.0x4a6888.12
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x1c], 0
jne case.0x4a6888.12
mov eax, dword [eax + 0x60]
mov ecx, dword [eax]
mov ecx, dword [ecx]
lea edx, [ebp - 0x1dc]
push edx
push eax
call dword [ecx + 0x30]
mov dword [ebp - 8], eax
mov ax, word [edi + 0x1c]
pop ecx
pop ecx
mov ecx, 0xffe4
and ax, cx
or ax, 4
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0x1dc]
mov dword [edi], eax
mov eax, dword [ebp - 0x1d8]
jmp 0x4a6947
mov edi, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
imul edi, edi, 0x28
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + eax*4]
add edi, dword [esi + 0x4c]
cmp byte [eax + 0x1c], 0
mov dword [ebp - 0x30], eax
jne 0x4a6b7b
mov eax, dword [eax + 0x60]
mov eax, dword [eax]
mov eax, dword [eax]
push 0x40
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x114]
push 0
push eax
call fcn.004f3c10
lea eax, [ebp - 0x10c]
add esp, 0xc
push eax
mov esi, edi
call fcn.004a32e5
mov eax, dword [ebp - 0xf0]
and eax, 0xffe1
or eax, 1
pop ecx
push dword [ebx + 8]
mov word [ebp - 0xf0], ax
lea eax, [ebp - 0x114]
push eax
mov eax, dword [ebp - 0x30]
push dword [eax + 0x60]
mov eax, dword [ebp - 0x1c]
call dword [eax + 0x2c]
mov dword [ebp - 8], eax
movzx eax, byte [ebp - 0x40]
add esp, 0xc
push eax
lea eax, [ebp - 0x10c]
call fcn.004a2cdd
lea esi, [ebp - 0x10c]
jmp 0x4a6f80
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [ecx + eax*4]
cmp byte [edi + 0x1c], 0
jne case.0x4a6888.12
mov eax, dword [edi + 0x60]
mov eax, dword [eax]
mov eax, dword [eax]
add esi, 0x101
mov byte [esi], 1
push dword [edi + 0x60]
mov dword [ebp - 0x30], eax
call dword [eax + 0x24]
pop ecx
mov dword [ebp - 8], eax
mov byte [esi], 0
test eax, eax
jne 0x4a68da
push dword [edi + 0x60]
mov eax, dword [ebp - 0x30]
call dword [eax + 0x28]
pop ecx
test eax, eax
jmp 0x4a74c3
mov edi, dword [ebx + 0x10]
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, dword [esi + 0x4c]
test byte [ebx + 0x1c], 0x12
jne 0x4a9627
movzx eax, byte [ebp - 0x40]
push eax
mov eax, ebx
call fcn.004a2e97
pop ecx
test eax, eax
jne 0x4a6af9
inc dword [edi + 4]
push dword [ebx + 0x14]
mov eax, dword [edi]
push edi
call dword [eax + 0x4c]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 8], eax
mov eax, edi
call fcn.004bf13f
jmp case.0x4a6888.12
mov edi, dword [ebx + 0x10]
mov eax, dword [edi]
cmp dword [eax + 0x34], 0
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x14], ecx
jne 0x4a9667
push 0
push str.read_only_table
jmp 0x4a7bd2
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebx + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [esi + 0x4c]
xor edx, edx
cmp dword [ebp - 0x14], edx
jle 0x4a9694
call fcn.004a6579
mov eax, dword [ebp - 0x1c]
mov dword [eax + edx*4], ecx
add ecx, 0x28
inc edx
cmp edx, dword [ebp - 0x14]
jl 0x4a967d
mov eax, dword [ebp - 0x30]
inc dword [edi + 4]
lea ecx, [ebp - 0x184]
push ecx
push dword [ebp - 0x1c]
push dword [ebp - 0x14]
push edi
call dword [eax + 0x34]
mov dword [ebp - 8], eax
mov eax, edi
mov edi, dword [ebp - 0xc]
add esp, 0x10
mov ecx, edi
call fcn.004bf13f
cmp dword [ebx + 4], 0
je 0x4a96d8
cmp dword [ebp - 8], 0
jne 0x4a96d8
mov eax, dword [ebp - 0x184]
mov dword [edi + 0x30], eax
mov eax, dword [ebp - 0x180]
mov dword [edi + 0x34], eax
inc dword [esi + 0x104]
jmp case.0x4a6888.12
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je case.0x4a6888.12
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x94]
test eax, eax
je case.0x4a6888.12
mov ecx, dword [ebp - 0xc]
push ebx
push dword [ecx + 0x98]
call eax
pop ecx
pop ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 8], 0
mov esi, dword [ebp + 8]
je 0x4a67b6
jmp 0x4a6b20
mov dword [ebp - 8], 9
jmp 0x4a6b20
mov eax, dword [ebx + 4]
mov dword [esi + 0x74], eax
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x70], eax
mov eax, dword [ebx + 8]
mov dword [esi + 0x7c], eax
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x4a974e
push 0
lea eax, [esi + 0xf4]
push ebx
push eax
call fcn.0049647a
add esp, 0xc
push esi
call fcn.004a4a14
pop ecx
push 5
pop ebx
cmp eax, ebx
je 0x4a982e
mov ebx, dword [esi + 0x74]
neg ebx
sbb ebx, ebx
and ebx, 0xffffff9c
add ebx, 0x65
jmp 0x4a6b30
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x4c]
inc eax
inc eax
or eax, 1
mov dword [esi + 0x54], eax
mov eax, dword [ebx + 4]
imul eax, eax, 0x28
add eax, ecx
xor edi, edi
mov dword [esi + 0xf8], eax
cmp dword [ebx + 8], edi
jle 0x4a97b2
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
call fcn.004a2e54
mov ecx, dword [ebp - 0x6c]
call fcn.004a6579
add dword [ebp - 0x6c], 0x28
inc edi
cmp edi, dword [ebx + 8]
jl 0x4a9798
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1e], 0
jne 0x4a6af9
mov eax, dword [ebp - 0x18]
inc dword [esi + 0x50]
inc eax
push 0x64
mov dword [esi + 0x70], eax
pop ebx
jmp 0x4a6b30
lea eax, [ebp - 0x1cc]
push eax
call fcn.004a2f94
pop ecx
jmp 0x4a6af9
cmp dword [ebx + 8], 0
mov edi, eax
je 0x4a97f9
call fcn.004c50d5
mov byte [edi + 0x1c], 1
jmp 0x4a9760
mov bl, byte [ebp - 0x71]
push esi
mov byte [edi + 0x1c], bl
call fcn.004a4a14
pop ecx
push 5
pop ecx
cmp eax, ecx
jne 0x4a9760
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x70], eax
mov al, 1
sub al, bl
mov byte [edi + 0x1c], al
mov ebx, ecx
mov dword [esi + 0x74], ecx
jmp 0x4a6b30
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], ebx
jmp 0x4a6b30
mov eax, dword [ebp - 0x18]
mov dword [ecx + 0x70], eax
mov ebx, edx
mov dword [ecx + 0x74], edx
jmp 0x4a6b30
mov dword [ebp - 8], 0xd
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1e], 0
je 0x4a985d
mov dword [ebp - 8], 7
mov eax, dword [ebp - 8]
and eax, 0xff
cmp eax, 0x65
jg 0x4a9871
call fcn.004c516f
jmp 0x4a9876
mov eax, str.unknown_error
push 0
push eax
mov eax, dword [ebp + 8]
add eax, 0xf4
push eax
call fcn.0049647a
mov esi, dword [ebp + 8]
jmp 0x4a6b1d
push 9
pop eax
mov dword [ebp - 8], eax
mov dword [esi + 0x74], eax
call fcn.004c516f
push 0
push eax
lea eax, [esi + 0xf4]
push eax
call fcn.0049647a
jmp 0x4a6b1d