Function at 0x4a8d26
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.0049f16e
cmp dword [esi + 0x74], 7
je 0x4a90d6
xor eax, eax
mov dword [esi + 0x74], eax
mov dword [esi + 0xf8], eax
mov dword [ebx + 0x144], eax
cmp dword [ebx + 0xd8], eax
jne 0x4abe6c
mov eax, dword [esi + 0x70]
mov dword [ebp - 0x18], eax
mov eax, ebx
jmp 0x4a8d96
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1e], 0
jne 0x4a90d6
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 0x4a8de1
mov edx, dword [ebp - 0x84]
cmp dword [eax + 0xf0], edx
jne 0x4a8ddb
push dword [eax + 0xec]
call ecx
pop ecx
test eax, eax
jne 0x4abcf4
and dword [ebp - 0x84], eax
inc dword [ebp - 0x84]
movzx eax, byte [ebx]
mov dl, byte [eax + 0x598d80]
test dl, 2
je 0x4a8e11
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.004a553d
mov esi, dword [ebp + 8]
xor eax, eax
inc eax
mov word [edi + 0x1c], ax
jmp 0x4a8e47
test dl, 4
je 0x4a8e81
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 0x4a8e6c
mov eax, dword [ebx + 8]
imul eax, eax, 0x28
add eax, ecx
mov dword [ebp - 0x48], eax
test dl, 0x20
je 0x4a8e44
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.0x4a8e65.12
movzx edx, byte [edx + 0x4ac026]
jmp dword [edx*4 + 0x4abe8e]
mov edi, dword [ebp - 0x28]
test dl, 0x10
je 0x4a8e47
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x4a8e47
test dl, 8
je 0x4a8e94
mov eax, dword [ebx + 8]
imul eax, eax, 0x28
add eax, dword [esi + 0x4c]
mov dword [ebp - 0x48], eax
jmp 0x4a8e44
mov edi, dword [ebp - 0x28]
test dl, 0x10
je 0x4a8e47
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [esi + 0x4c]
jmp 0x4a8e7c
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xd8], 0
jne 0x4abe6c
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x18], ebx
jmp case.0x4a8e65.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.0x4a8e65.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.0x4a8e65.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.0x4a8e65.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.0x4a8e65.12
push 8
pop eax
mov word [edi + 0x1c], ax
mov eax, dword [ebx + 0x10]
fld qword [eax]
fstp qword [edi + 8]
jmp case.0x4a8e65.12
push dword [ebx + 0x10]
mov byte [ebx], 0x1b
call fcn.004f4f30
cmp byte [ebp - 0x40], 1
pop ecx
mov dword [ebx + 4], eax
je 0x4a8ff7
mov ecx, dword [ebx + 0x10]
push 0
push 1
or eax, 0xffffffff
mov edx, edi
call fcn.004a58ea
movzx eax, byte [ebp - 0x40]
push eax
mov eax, edi
call fcn.004a52ba
add esp, 0xc
test eax, eax
jne 0x4a90d6
mov eax, edi
call fcn.004a538a
test eax, eax
jne 0x4a90d6
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 0x4a8fba
push dword [ebx + 0x10]
call fcn.004986bf
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.0x4a8e65.12
mov eax, dword [ebp + 8]
push 0
add eax, 0xf4
push str.string_or_blob_too_big
push eax
call fcn.00498a57
mov dword [ebp - 8], 0x12
jmp 0x4abe64
mov ecx, dword [ebp - 0xc]
cmp eax, dword [ecx + 0x50]
jg 0x4a8fd6
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.0x4a8e65.12
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0x10]
push 0
push 0
mov edx, edi
call fcn.004a58ea
mov al, byte [ebp - 0x40]
mov byte [edi + 0x1f], al
jmp 0x4abcdd
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.004a5817
test eax, eax
jne 0x4a8fd6
mov eax, dword [ebp - 0x28]
push 0x80
call fcn.004a583e
jmp 0x4abcde
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.004a58c2
mov dword [esi + 0x24], edi
jmp 0x4abcde
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.004a583e
pop ecx
test word [ebx + 0x1c], si
je case.0x4a8e65.12
mov eax, ebx
call fcn.004a538a
test eax, eax
je case.0x4a8e65.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.00498a57
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.004a6ff1
pop ecx
mov edi, dword [ebp - 0x11c]
call fcn.0049f1a8
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 0x4a905b
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 0x4a9164
mov eax, edi
call fcn.004a5772
jmp case.0x4a8e65.12
mov esi, 0x800
test esi, eax
je 0x4a9175
mov eax, dword [ebp - 0x10]
call fcn.004a53e1
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 0x12
jne 0x4a9194
movzx eax, byte [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x10]
call fcn.004a5474
pop ecx
test eax, eax
jne 0x4a90d6
mov eax, dword [ebp - 0x48]
test word [eax + 0x1c], si
je 0x4a91a2
call fcn.004a53e1
mov eax, dword [ebp - 0x48]
test byte [eax + 0x1c], 0x12
jne 0x4a91c1
movzx eax, byte [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x48]
call fcn.004a5474
pop ecx
test eax, eax
jne 0x4a90d6
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 0x4a8fd6
jl 0x4a91eb
cmp ebx, eax
ja 0x4a8fd6
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.004a52da
pop ecx
test eax, eax
jne 0x4a90d6
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x48]
cmp esi, edi
je 0x4a9234
push dword [edi + 0x18]
push dword [edi + 0x14]
push dword [esi + 0x14]
call fcn.004f6750
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.004f6750
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.0x4a8e65.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 0x4a9158
movzx edx, word [ecx + 0x1c]
mov al, byte [ebp - 0x20]
and al, dl
test al, 4
je 0x4a9334
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 0x4a932b
dec ecx
je 0x4a9322
dec ecx
je 0x4a9314
dec ecx
mov ecx, ebx
je 0x4a92e4
or ecx, esi
je 0x4a9158
mov ecx, ebx
and ecx, esi
cmp ecx, 0xffffffff
jne 0x4a92d6
xor ebx, ebx
inc ebx
xor esi, esi
push esi
push ebx
push edx
push eax
call fcn.00506940
jmp 0x4a99e0
or ecx, esi
je 0x4a9158
mov ecx, ebx
and ecx, esi
cmp ecx, 0xffffffff
jne 0x4a9306
test eax, eax
jne 0x4a9306
cmp edx, 0x80000000
jne 0x4a9306
xor ebx, ebx
inc ebx
xor esi, esi
push esi
push ebx
push edx
push eax
call fcn.004fcbf0
jmp 0x4a99e0
push esi
push ebx
push edx
push eax
call fcn.004fcbb0
jmp 0x4a99e0
sub eax, ebx
sbb edx, esi
jmp 0x4a99e0
add eax, ebx
adc edx, esi
jmp 0x4a99e0
mov esi, dword [ebp - 0x10]
call fcn.004a564a
fstp qword [ebp - 0x34]
mov esi, dword [ebp - 0x48]
call fcn.004a564a
movzx eax, byte [ebx]
sub eax, 0x4e
je 0x4a93b9
dec eax
je 0x4a93b4
dec eax
je 0x4a93af
dec eax
je 0x4a939e
fld qword [ebp - 0x34]
call fcn.004fcb36
mov esi, eax
mov ebx, edx
call fcn.004fcb36
mov ecx, esi
or ecx, ebx
je 0x4a9158
mov ecx, esi
and ecx, ebx
cmp ecx, 0xffffffff
jne 0x4a9381
xor esi, esi
inc esi
xor ebx, ebx
push ebx
push esi
push edx
push eax
call fcn.00506940
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x178], edx
fild qword [ebp - 0x17c]
jmp 0x4a93bc
fldz
fcomp qword [ebp - 0x34]
fnstsw ax
test ah, 0x44
jnp 0x4a9407
fdiv qword [ebp - 0x34]
jmp 0x4a93bc
fmul qword [ebp - 0x34]
jmp 0x4a93bc
fsub qword [ebp - 0x34]
jmp 0x4a93bc
fadd qword [ebp - 0x34]
fstp qword [ebp - 0x34]
push ecx
fld qword [ebp - 0x34]
push ecx
fstp qword [esp]
call fcn.0049a2e9
add esp, 8
test eax, eax
jne 0x4a9158
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.0x4a8e65.12
mov esi, edi
call fcn.004a56a9
jmp case.0x4a8e65.12
fstp st(0)
jmp 0x4a9158
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 0x4a943a
mov dword [edx + esi*4], ecx
call fcn.004a8b56
inc esi
add ecx, 0x28
cmp esi, edi
jl 0x4a942a
cmp byte [ebx + 1], 0xfb
mov eax, dword [ebx + 0x10]
jne 0x4a944c
and dword [ebp - 0x1d0], 0
jmp 0x4a9454
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.004a58c2
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 0x4a94ca
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 0x4abdae
cmp dword [ebp - 0x1d0], 0
je 0x4a9512
push dword [ebx + 4]
mov edi, dword [ebp - 0x1d0]
call fcn.004a7356
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 0x4a9547
push 0
push ecx
lea eax, [ebp - 0x1cc]
push eax
call fcn.004a7e27
pop ecx
pop ecx
push eax
mov eax, dword [ebp + 8]
add eax, 0xf4
push eax
call fcn.00498a57
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.004a52ba
lea esi, [ebp - 0x1cc]
pop ecx
push edi
call fcn.004a58c2
pop ecx
mov ecx, edi
call fcn.004a5817
test eax, eax
jne 0x4a8fd6
jmp case.0x4a8e65.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 0x4a9158
mov esi, dword [ebp - 0x48]
call fcn.004a55d5
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
call fcn.004a55d5
mov ecx, eax
movzx eax, byte [ebx]
sub eax, 0x4a
je 0x4a95d5
dec eax
je 0x4a95cd
mov edx, dword [ebp - 0x60]
dec eax
mov eax, dword [ebp - 0x64]
je 0x4a95c0
call fcn.00511450
jmp 0x4a95c5
call fcn.004fd260
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
jmp 0x4a95db
or dword [ebp - 0x64], ecx
or dword [ebp - 0x60], edx
jmp 0x4a95db
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.0x4a8e65.12
mov esi, dword [ebp - 0x10]
mov eax, esi
call fcn.004a56cf
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.0x4a8e65.12
push dword [ebp - 0x40]
mov esi, dword [ebp - 0x10]
push 0x63
mov eax, esi
call fcn.004a8cc5
movzx eax, word [esi + 0x1c]
pop ecx
pop ecx
mov dword [ebp - 0x20], eax
test al, 0xc
je 0x4a8eb7
test al, 4
je 0x4a9650
xor ecx, ecx
xor eax, eax
cmp dword [ebx + 0xc], ecx
je 0x4a9645
inc eax
add eax, dword [esi]
adc ecx, dword [esi + 4]
mov edi, eax
mov edx, ecx
jmp 0x4a96a4
fld qword [esi + 8]
call fcn.004fcb36
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 0x4a9688
add edi, 1
adc edx, 0
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0xd0], edx
cmp dword [ebx + 0xc], 0
je 0x4a96a4
fild qword [ebp - 0xd4]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x44
jp 0x4a96a4
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.0x4a8e65.12
push dword [ebp - 0x40]
mov esi, dword [ebp - 0x10]
push 0x63
mov eax, esi
call fcn.004a8cc5
movzx eax, word [esi + 0x1c]
pop ecx
pop ecx
test al, 4
jne 0x4a96ac
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x4a8eba
mov dword [ebp - 8], 0x14
jmp 0x4abe2a
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 4
je case.0x4a8e65.12
mov eax, dword [ebp - 0x10]
call fcn.004a56f4
jmp case.0x4a8e65.12
mov eax, dword [ebp - 0x10]
movzx eax, word [eax + 0x1c]
test al, 1
jne case.0x4a8e65.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.004a8cc5
mov eax, 0x800
pop ecx
pop ecx
test word [esi + 0x1c], ax
je 0x4a974c
mov eax, esi
call fcn.004a53e1
mov dword [ebp - 8], eax
jmp 0x4a9750
and dword [ebp - 8], 0
mov eax, 0xffe3
and word [esi + 0x1c], ax
jmp case.0x4a8e65.12
mov eax, dword [ebp - 0x10]
movzx ecx, word [eax + 0x1c]
test cl, 1
jne case.0x4a8e65.12
test cl, 0x10
jne 0x4a9782
push dword [ebp - 0x40]
push 0x61
call fcn.004a8cc5
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.0x4a8e65.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 0xd
jne case.0x4a8e65.12
call fcn.004a5717
jmp case.0x4a8e65.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
jne case.0x4a8e65.12
call fcn.004a56cf
jmp case.0x4a8e65.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
jne case.0x4a8e65.12
jmp 0x4a96fa
mov ecx, dword [ebp - 0x10]
mov al, byte [ecx + 0x1c]
mov edi, dword [ebp - 0x54]
or al, byte [edi + 0x1c]
test al, 1
je 0x4a9848
mov al, byte [ebx + 3]
test al, 0x10
je 0x4a98cb
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 0x4a987a
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x10]
push dword [ebp - 0xc0]
call fcn.004a8cc5
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x54]
push dword [ebp - 0xc0]
call fcn.004a8cc5
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov edi, 0x800
mov eax, edi
test word [ecx + 0x1c], ax
je 0x4a9891
mov eax, ecx
call fcn.004a53e1
mov eax, dword [ebp - 0x54]
test word [eax + 0x1c], di
je 0x4a989f
call fcn.004a53e1
push dword [ebx + 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x54]
call fcn.004a59f4
pop ecx
movzx ecx, byte [ebx]
sub ecx, 0x43
je 0x4a9925
dec ecx
je 0x4a991c
dec ecx
je 0x4a9913
dec ecx
je 0x4a990a
dec ecx
je 0x4a9901
xor ecx, ecx
test eax, eax
setge cl
jmp 0x4a992c
test al, al
jns 0x4a98f4
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.0x4a8e65.12
test al, 8
je case.0x4a8e65.12
jmp 0x4a8eb7
xor ecx, ecx
test eax, eax
setl cl
jmp 0x4a992c
xor ecx, ecx
test eax, eax
setle cl
jmp 0x4a992c
xor ecx, ecx
test eax, eax
setg cl
jmp 0x4a992c
xor ecx, ecx
test eax, eax
sete cl
jmp 0x4a992c
xor ecx, ecx
test eax, eax
setne cl
test byte [ebx + 3], 0x80
mov eax, ecx
je 0x4a9a48
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.0x4a8e65.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
je 0x4a9975
mov dword [ebp - 0x20], 2
jmp 0x4a998e
mov esi, dword [ebp - 0x10]
call fcn.004a55d5
or eax, edx
je 0x4a998a
mov dword [ebp - 0x20], 1
jmp 0x4a998e
and dword [ebp - 0x20], 0
mov esi, dword [ebp - 0x48]
test byte [esi + 0x1c], 1
je 0x4a999c
push 2
pop ecx
jmp 0x4a99a8
call fcn.004a55d5
xor ecx, ecx
or eax, edx
je 0x4a99a8
inc ecx
mov eax, dword [ebp - 0x20]
imul eax, eax, 3
cmp byte [ebx], 0x3d
jne 0x4a99bd
movzx eax, byte [eax + ecx + 0x54d79c]
jmp 0x4a99c5
movzx eax, byte [eax + ecx + 0x54d7d0]
cmp eax, 2
jne 0x4a99df
mov ax, word [edi + 0x1c]
mov ecx, 0xffe1
and ax, cx
or ax, 1
jmp 0x4a95f6
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x4a95e6
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
jne case.0x4a8e65.12
mov esi, eax
call fcn.004a56cf
mov eax, dword [esi]
or eax, dword [esi + 4]
jne 0x4a9a08
inc eax
jmp 0x4a9a0a
xor eax, eax
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x4a8e65.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
jne case.0x4a8e65.12
mov esi, eax
call fcn.004a56cf
mov eax, dword [esi]
mov ecx, dword [esi + 4]
not eax
not ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp case.0x4a8e65.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
je 0x4a9a4f
mov eax, dword [ebx + 0xc]
test eax, eax
jmp 0x4a98f6
mov esi, dword [ebp - 0x10]
call fcn.004a564a
fcomp qword [0x565950]
fnstsw ax
test ah, 0x44
jnp 0x4a9a69
xor eax, eax
inc eax
jmp 0x4a9a6b
xor eax, eax
cmp byte [ebx], 0x49
jne 0x4a9a48
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x4a9a48
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x10]
test byte [ecx + 0x1c], 1
jne 0x4a8eb7
add dword [ebp - 0x10], 0x28
dec eax
test eax, eax
jg 0x4a9a7e
jmp case.0x4a8e65.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
jne case.0x4a8e65.12
jmp 0x4a8eb7
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 0x4a9b65
mov esi, eax
call fcn.004a7457
mov dword [ebp - 8], eax
test eax, eax
jne 0x4abe2a
and dword [ebp - 0x50], eax
mov eax, esi
cmp byte [eax + 0x1c], 0
mov ecx, dword [eax]
mov dword [ebp - 0x44], ecx
je 0x4a9b20
and dword [ebp - 0x70], 0
jmp 0x4a9b60
mov ecx, dword [eax + 0x68]
mov edx, dword [ebp + 8]
cmp ecx, dword [edx + 0x54]
jne 0x4a9b39
mov ecx, dword [eax + 0x6c]
mov eax, dword [eax + 0x78]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x50], eax
jmp 0x4a9b60
cmp byte [eax + 0x22], 0
mov eax, dword [ebp - 0x44]
je 0x4a9b58
lea edi, [ebp - 0x1fc]
call fcn.004a11ed
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x70], eax
jmp 0x4a9b60
lea edi, [ebp - 0x70]
call fcn.004a1234
mov eax, dword [ebp - 0x20]
jmp 0x4a9b77
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.0x4a8e65.12
mov ecx, dword [ebp - 0xc]
cmp eax, dword [ecx + 0x50]
ja 0x4a8fd6
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 0x4a9bb3
mov eax, dword [esi + 0x74]
mov dword [ebp - 0x14], eax
jmp 0x4a9d2b
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 0x4a9bd7
mov dword [ebp - 8], eax
jmp 0x4a9c1b
cmp byte [esi + 0x22], 0
mov eax, dword [ebp - 0x44]
je 0x4a9bf8
cmp byte [eax + 0x43], 1
jne 0x4a9c02
push 0
lea ecx, [ebp - 0x90]
push ecx
call fcn.004a163e
pop ecx
pop ecx
jmp 0x4a9c04
cmp byte [eax + 0x43], 1
jne 0x4a9c02
push 1
jmp 0x4a9be8
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 0x90], edi
jb 0x4a9c17
mov dword [ebp - 0x50], eax
mov dword [esi + 0x78], eax
jmp 0x4a9c1b
and dword [esi + 0x78], 0
mov cl, byte [eax]
cmp cl, 0x80
jae 0x4a9c31
movzx edi, cl
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x1c], 1
jmp 0x4a9c45
mov ecx, dword [ebp - 8]
lea edi, [ebp - 0x78]
call fcn.0049ab73
mov edi, dword [ebp - 0x78]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x50], 0
jne 0x4a9c90
cmp dword [ebp - 0x90], edi
jae 0x4a9c90
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.004a5b95
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jne case.0x4a8e65.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 0x4a9cf1
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 0x4a9ce5
mov eax, dword [ebp - 0x78]
mov dword [ecx + edi], eax
mov al, byte [esi]
cmp al, 0x80
jae 0x4a9ccd
movzx eax, al
mov dword [edi], eax
xor eax, eax
inc eax
jmp 0x4a9cd7
mov ecx, esi
call fcn.0049ab73
mov ecx, dword [ebp - 8]
add esi, eax
mov eax, dword [edi]
call fcn.004a7581
add dword [ebp - 0x78], eax
jmp 0x4a9ce9
and dword [ecx + edi], 0
add edi, 4
dec dword [ebp - 0x1c]
jne 0x4a9cb2
lea eax, [ebp - 0xfc]
push eax
call fcn.004a5571
xor eax, eax
inc eax
pop ecx
mov word [ebp - 0xe0], ax
cmp esi, dword [ebp - 0x24]
ja 0x4a9e44
mov eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0x70]
ja 0x4a9e44
cmp esi, dword [ebp - 0x24]
jne 0x4a9d2b
cmp eax, dword [ebp - 0x70]
jne 0x4a9e44
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 0x4a9df1
cmp dword [ebp - 0x50], 0
je 0x4a9d8d
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 0x4a9d89
add ecx, eax
lea esi, [ebp - 0xfc]
call fcn.004a763d
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x4c]
pop ecx
mov ebx, esi
call fcn.004a587b
mov dword [ebp - 8], eax
test eax, eax
jne case.0x4a8e65.12
jmp 0x4a9de6
add ecx, eax
jmp 0x4a9ddd
mov ecx, dword [ebp - 0x2c]
lea edi, [eax + ecx]
mov eax, dword [edi]
call fcn.004a7581
mov esi, dword [ebp - 0x4c]
mov ebx, eax
lea eax, [ebp - 0xfc]
push eax
call fcn.004a58c2
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.004a5b95
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jne case.0x4a8e65.12
push dword [edi]
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0x4c]
call fcn.004a763d
pop ecx
mov al, byte [ebp - 0x40]
mov ecx, dword [ebp - 0x4c]
mov byte [ecx + 0x1f], al
jmp 0x4a9e08
cmp byte [ebx + 1], 0xf8
jne 0x4a9e08
mov edi, dword [ebx + 0x10]
mov eax, dword [ebp - 0x4c]
push 0x80
call fcn.004a583e
pop ecx
cmp dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0x4c]
je 0x4a9e3a
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.004a538a
jmp 0x4ab4db
mov dword [ebp - 8], 0xb
jmp case.0x4a8e65.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.0x4a8e65.12
and dword [ebp - 0x14], 0
mov eax, 0x800
test word [esi + 0x1c], ax
je 0x4a9e86
mov eax, esi
call fcn.004a53e1
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.004a8cc5
add dword [ebp - 0x14], 0x28
add esi, 0x28
pop ecx
pop ecx
cmp esi, ebx
jbe 0x4a9e74
jmp case.0x4a8e65.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 0x4a9f95
mov dword [ebp - 0x14], 0xffffffe8
sub dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x4a9f26
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.004a8cc5
pop ecx
pop ecx
mov edi, 0x800
mov eax, edi
test word [esi + 0x1c], ax
je 0x4a9f40
cmp dword [esi + 0x18], 0
jle 0x4a9f40
mov eax, esi
call fcn.004a53e1
push dword [ebp - 0x2c]
mov edx, esi
call fcn.004a74bb
pop ecx
mov dword [ebp - 0x58], eax
call fcn.004a7581
mov dword [ebp - 0x50], eax
cdq
add dword [ebp - 0x9c], eax
push 0
push dword [ebp - 0x58]
adc dword [ebp - 0x98], edx
call fcn.0049ac06
add dword [ebp - 0x24], eax
pop ecx
pop ecx
test word [esi + 0x1c], di
je 0x4a9f7f
mov eax, dword [esi]
add dword [ebp - 0x44], eax
jmp 0x4a9f89
cmp dword [ebp - 0x50], 0
je 0x4a9f89
and dword [ebp - 0x44], 0
add esi, 0x28
cmp esi, dword [ebp - 0x20]
jbe 0x4a9f01
mov eax, dword [ebp - 0x24]
cdq
push edx
push eax
call fcn.0049ac06
mov esi, eax
add dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x24]
cdq
push edx
push eax
call fcn.0049ac06
add esp, 0x10
cmp esi, eax
jge 0x4a9fba
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 0x4a8fd6
jb 0x4aa003
cmp esi, eax
ja 0x4a8fd6
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.004a52da
pop ecx
test eax, eax
jne 0x4a90d6
mov eax, dword [ebp - 0x24]
mov ebx, dword [edi + 0x14]
mov dword [ebp - 0x30], ebx
cmp eax, 0x80
jae 0x4aa03f
mov byte [ebx], al
mov dword [ebp - 0x50], 1
jmp 0x4aa049
mov ecx, ebx
call fcn.0049a9b8
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x4c], eax
cmp eax, dword [ebp - 0x20]
ja 0x4aa08b
push dword [ebp - 0x2c]
mov edx, dword [ebp - 0x4c]
call fcn.004a74bb
pop ecx
mov ecx, dword [ebp - 0x50]
cmp eax, 0x80
jae 0x4aa072
mov byte [ecx + ebx], al
xor eax, eax
inc eax
jmp 0x4aa079
add ecx, ebx
call fcn.0049a9b8
add dword [ebp - 0x4c], 0x28
add dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x20]
jbe 0x4aa054
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x4c], eax
jmp 0x4aa0b5
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.004a7594
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 0x4aa090
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 0x4aa0e8
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.0x4a8e65.12
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1c], 0
je 0x4aa107
cmp dword [eax + 0x90], 1
jle case.0x4a8e65.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 0x4aa125
cmp byte [eax + 0x10], 0
jne case.0x4a8e65.12
call fcn.004a0f70
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x14c], 1
jmp case.0x4a8e65.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 0x4aa18a
test cl, cl
je 0x4aa18a
cmp byte [eax + 0x1c], 0
jne 0x4aa18a
mov eax, str.rollback
test dl, dl
jne 0x4aa16c
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.00498a57
add esp, 0x14
jmp 0x4aa1be
cmp cl, byte [eax + 0x1c]
jne 0x4abdc0
test cl, cl
jne 0x4aa19e
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x4aa1ac
mov eax, str.cannot_rollback___no_transaction_is_active
test dl, dl
jne 0x4aa1ac
mov eax, str.cannot_commit___no_transaction_is_active
push 0
push eax
add esi, 0xf4
push esi
call fcn.00498a57
add esp, 0xc
mov dword [ebp - 8], 1
jmp case.0x4a8e65.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.0x4a8e65.12
push dword [ebx + 8]
call fcn.004a070d
pop ecx
push 5
pop ebx
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4abe05
test eax, eax
je case.0x4a8e65.12
cmp eax, 8
jne 0x4abe2a
jmp case.0x4a8e65.12
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 0xc]
test eax, eax
jge 0x4aa222
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.004a4266
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.0x4a8e65.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.004a56cf
mov eax, dword [ebx + 8]
push dword [edi]
inc eax
push eax
mov eax, dword [esi + 4]
call fcn.004a42ed
mov dword [ebp - 8], eax
mov eax, dword [ebx + 8]
pop ecx
pop ecx
test eax, eax
jne 0x4aa2ab
mov eax, dword [esi + 0x14]
mov ecx, dword [edi]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc]
or dword [eax + 0xc], 0x10
jmp 0x4aa2b8
cmp eax, 1
jne 0x4aa2b8
mov eax, dword [esi + 0x14]
mov cl, byte [edi]
mov byte [eax + 0x58], cl
cmp dword [ebx + 4], 1
jne case.0x4a8e65.12
mov eax, dword [ebp - 0xc]
call fcn.004a7cda
jmp case.0x4a8e65.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 0x4aa2fe
lea eax, [ebp - 0xb0]
push eax
push 1
call fcn.004a4266
mov edi, dword [ebp - 0xb0]
pop ecx
pop ecx
mov dword [ebp - 8], eax
jmp 0x4aa30a
and dword [ebp - 8], 0
xor edi, edi
mov dword [ebp - 0xb0], edi
cmp dword [ebp - 8], 0
jne case.0x4a8e65.12
cmp edi, dword [ebx + 8]
je case.0x4a8e65.12
add esi, 0xf4
push dword [esi]
call fcn.004986bf
pop ecx
push dword [ebp - 0xc]
mov eax, str.database_schema_has_changed
call fcn.00498a1b
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 0x4aa35a
mov eax, ebx
mov ebx, ecx
call fcn.004b184c
mov eax, dword [ebp - 0xc]
call fcn.004a7cda
mov dword [ebp - 8], 0x11
jmp case.0x4a8e65.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 0x4aa3af
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x58]
lea ecx, [esi + 0x100]
mov dword [ebp - 0x1c], 1
cmp al, byte [ecx]
jae 0x4aa3b3
mov byte [ecx], al
jmp 0x4aa3b3
and dword [ebp - 0x1c], 0
cmp byte [ebx + 3], 0
je 0x4aa3ce
imul edi, edi, 0x28
add edi, dword [esi + 0x4c]
mov eax, edi
mov dword [ebp - 0x48], edi
call fcn.004a56cf
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.004a8b81
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x4a90d6
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.004a110e
add esp, 0x10
cmp byte [edi + 1], 0xfa
mov esi, eax
mov dword [ebp - 8], esi
jne 0x4aa436
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 0x4aa443
and dword [ebx + 0x4c], 0
mov ecx, dword [ebp + 8]
lea eax, [ebx + 0x23]
mov dword [ebx + 0x48], eax
test esi, esi
je 0x4aa475
push 5
pop edx
cmp esi, edx
je 0x4abe13
cmp esi, 0x10
jne 0x4abe2a
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 0x4ab8f4
mov esi, dword [ebx]
call fcn.004a4356
test al, 0xf0
jne 0x4aa4ba
mov ecx, eax
and ecx, 7
cmp ecx, 5
je 0x4aa48f
cmp ecx, 2
jne 0x4aa4ba
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 0x4aa4a8
cmp byte [edi + 1], 0xfa
je 0x4aa4ba
test al, al
je case.0x4a8e65.12
cmp byte [edi + 1], 0xfa
je case.0x4a8e65.12
mov dword [ebp - 8], 0xb
jmp 0x4abe2a
mov edx, dword [ebx + 4]
push 1
mov ecx, ebx
push 0xffffffffffffffff
mov ebx, esi
call fcn.004a8b81
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x4a90d6
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.004c7d17
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x4aa5a4
lea ebx, [esi + 0x30]
mov edi, dword [ebx]
push 1
call fcn.004a070d
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x4aa5a4
mov edi, dword [ebp - 0x24]
cmp dword [edi + 0x10], eax
je 0x4aa585
lea eax, [ebp - 0x140]
push 2
push eax
mov eax, dword [ebx]
call fcn.004a3f24
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x4aa57f
push dword [esi]
mov eax, dword [ebx]
push dword [edi + 0x10]
push 1
push dword [ebp - 0x140]
call fcn.004a110e
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 0x4aa5a4
push dword [esi]
mov eax, dword [ebx]
push 0
push 1
push 1
call fcn.004a110e
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.0x4a8e65.12
mov edx, dword [ebx + 4]
push 0
lea ecx, [ebx - 0x14]
push 0xffffffffffffffff
mov ebx, esi
call fcn.004a8b81
pop ecx
pop ecx
test eax, eax
je 0x4a90d6
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.0x4a8e65.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.004a69cd
mov eax, dword [ebx + 0x30]
and dword [edi + eax], 0
jmp 0x4abcde
mov ecx, dword [ebx + 4]
mov edx, dword [esi + 0x30]
mov edi, dword [edx + ecx*4]
cmp dword [edi], 0
je case.0x4a8e65.12
mov byte [edi + 0x1c], 0
cmp eax, 6
je 0x4aa639
cmp eax, 0x40
je 0x4aa639
xor eax, eax
jmp 0x4aa63c
xor eax, eax
inc eax
mov ecx, dword [edi + 0x48]
mov byte [ecx], al
cmp byte [edi + 0x21], 0
je 0x4aa6a6
mov esi, dword [ebp - 0x54]
call fcn.004a55d5
mov esi, eax
xor eax, eax
mov dword [ebp - 0x1f0], edx
cmp dword [ebx + 8], eax
jne 0x4aa670
mov dword [edi + 0x28], esi
mov dword [edi + 0x2c], edx
mov byte [edi + 0x19], al
mov byte [edi + 0x20], 1
jmp case.0x4a8e65.12
mov ebx, dword [edi]
push eax
push edx
push esi
push eax
lea edx, [ebp - 0x68]
xor ecx, ecx
call fcn.004a18a2
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
jne 0x4abe2a
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 0x4aa700
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.004a18a2
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
jne 0x4abe2a
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 0x4aa73b
cmp dword [ebp - 0x14], 6
je 0x4aa73b
cmp dword [ebp - 0x68], ebx
jl 0x4aa72b
lea eax, [ebp - 0x68]
push eax
push dword [edi]
call fcn.004a1d91
jmp 0x4aa74b
mov eax, dword [edi]
xor ecx, ecx
cmp byte [eax + 0x43], 1
setne cl
mov dword [ebp - 0x68], ecx
jmp 0x4aa761
cmp dword [ebp - 0x68], ebx
jge 0x4aa75e
lea eax, [ebp - 0x68]
push eax
push dword [edi]
call fcn.004a1cb1
pop ecx
pop ecx
mov dword [ebp - 8], eax
cmp eax, ebx
jne 0x4abe2a
mov byte [edi + 0x19], 0
jmp 0x4aa761
mov dword [ebp - 0x68], ebx
cmp dword [ebp - 0x68], 0
je case.0x4a8e65.12
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
jmp 0x4a8edb
mov eax, dword [ebx + 4]
mov esi, dword [esi + 0x30]
mov esi, dword [esi + eax*4]
xor edx, edx
cmp dword [esi], edx
je 0x4aa7d7
cmp cl, 0x7a
jne 0x4aa791
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.004a18a2
mov ecx, dword [esi + 0x4c]
add esp, 0x10
mov dword [ebp - 8], eax
mov byte [ecx + 6], 0
test eax, eax
jne case.0x4a8e65.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 0x4aa7e3
test edx, edx
jmp 0x4a98f6
test edx, edx
jmp 0x4a9aa0
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.004a56cf
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.0x4a8e65.12
mov esi, dword [ebx + 0x14]
mov dword [ebp - 0x1c], esi
call fcn.004a7aa0
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.004a18a2
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
jne 0x4abe2a
xor ebx, ebx
cmp dword [ebp - 0x80], ebx
jge 0x4aa883
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x14]
call fcn.004a1cb1
pop ecx
pop ecx
mov dword [ebp - 8], eax
cmp dword [ebp - 0x80], ebx
jne 0x4aa76b
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x1c]
mov ecx, edi
push esi
push ebx
call fcn.004a7b9c
add esp, 0x10
mov dword [ebp - 8], eax
cmp eax, ebx
jne 0x4abe2a
cmp dword [ebp - 0x80], 0
jg 0x4aa76b
lea eax, [ebp - 0x18c]
push eax
push dword [ebp - 0x14]
call fcn.004a7adf
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x4abe2a
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x188]
cmp edx, dword [ebp - 0x124]
jne 0x4aa8e7
cmp ecx, dword [ebp - 0x120]
je 0x4aa76b
mov eax, dword [ebp - 0x54]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp case.0x4a8e65.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.0x4a8e65.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.004a18a2
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 0x4aa765
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 0x4a95e6
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 0x4aab8a
and dword [ebp - 0x14], 0
mov esi, eax
call fcn.004a4356
and al, 3
cmp al, 1
jne 0x4aa4ba
mov esi, dword [ebp - 0x2c]
cmp byte [esi + 0x1b], 0
jne 0x4aaac6
cmp byte [esi + 0x1d], 0
je 0x4aa9d5
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x3c], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x38], eax
jmp 0x4aaa35
mov eax, dword [esi]
lea ebx, [ebp - 0x88]
call fcn.004a1866
mov dword [ebp - 8], eax
test eax, eax
jne 0x4abe2a
xor ebx, ebx
cmp dword [ebp - 0x88], ebx
je 0x4aaa03
mov dword [ebp - 0x3c], 1
mov dword [ebp - 0x38], ebx
jmp 0x4aaa32
mov esi, dword [ebp - 0x2c]
mov eax, dword [esi]
lea edi, [ebp - 0x3c]
call fcn.004a11ed
cmp dword [ebp - 0x3c], 0xffffffff
jne 0x4aaa25
cmp dword [ebp - 0x38], 0x7fffffff
jne 0x4aaa25
mov byte [esi + 0x1b], 1
jmp 0x4aaa2c
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 0x4aaa8f
mov eax, dword [ebp + 8]
imul ebx, ebx, 0x28
add ebx, dword [eax + 0x4c]
mov eax, ebx
call fcn.004a56cf
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
cmp eax, 0xffffffff
jne 0x4aaa62
cmp ecx, 0x7fffffff
je 0x4abe23
cmp byte [esi + 0x1b], 0
jne 0x4abe23
add eax, 1
adc ecx, 0
cmp dword [ebp - 0x38], ecx
jg 0x4aaa84
jl 0x4aaa7e
cmp dword [ebp - 0x3c], eax
jae 0x4aaa84
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 0x4aaab8
jb 0x4aaaa0
cmp dword [ebp - 0x3c], 0xffffffff
jae 0x4aaab8
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 0x4aaabc
mov byte [esi + 0x1d], 0
cmp byte [esi + 0x1b], 0
je 0x4aab7e
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 0x4aaafb
mov eax, dword [ebp - 0x3c]
and eax, 0xffffff
cmp eax, dword [ebp - 0x3c]
jne 0x4aaafb
cmp ecx, dword [ebp - 0x38]
jne 0x4aaafb
add dword [ebp - 0x3c], 1
adc dword [ebp - 0x38], ecx
jmp 0x4aab19
lea eax, [ebp - 0x3c]
push eax
push 8
call fcn.00499d6a
cmp dword [ebp - 0x20], 5
pop ecx
pop ecx
jge 0x4aab19
and dword [ebp - 0x3c], 0xffffff
and dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x3c]
or eax, dword [ebp - 0x38]
je 0x4aab46
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.004a18a2
mov ebx, dword [ebp - 0xc]
add esp, 0x10
inc dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x20], 0x64
jge 0x4aab5f
cmp dword [ebp - 0x14], 0
jne 0x4aab5f
cmp dword [ebp - 0x88], 0
je 0x4aaad9
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 0x4aab7e
cmp dword [ebp - 0x88], 0
je 0x4abe23
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 0x4a8f24
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 0x4aabe7
inc dword [esi + 0x104]
test byte [ebx + 3], 2
je 0x4aabfb
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 0x4aac16
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 0x14]
jl 0x4aac16
jg 0x4aac12
mov eax, dword [eax]
cmp eax, dword [ecx + 0x10]
jb 0x4aac16
mov byte [ecx + 0x1d], 0
movzx eax, word [edi + 0x1c]
test al, 1
je 0x4aac26
and dword [edi + 0x14], 0
and dword [edi + 0x18], 0
cmp byte [ecx + 0x1e], 0
je 0x4aacd6
cmp byte [ecx + 0x1f], 0
jne 0x4aac45
mov eax, dword [ebp - 0x44]
push dword [eax + 0x38]
call fcn.004986bf
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 0x4aacab
cmp byte [ecx + 0x1f], 0
jne 0x4aacab
add eax, 2
push eax
call fcn.004985ef
mov esi, dword [ebp - 0x44]
pop ecx
mov dword [esi + 0x38], eax
test eax, eax
je 0x4a90d6
push dword [esi + 0x34]
push dword [edi + 0x14]
push eax
call fcn.004f6750
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 0x4aacd0
cmp byte [ecx + 0x1f], 0
mov dword [ecx + 0x38], edx
jne 0x4aacd0
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 0x4aad13
test eax, 0x800
je 0x4aace1
mov eax, dword [edi]
jmp 0x4aace3
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.004a3901
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.0x4a8e65.12
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xb8]
test ecx, ecx
je case.0x4a8e65.12
mov eax, dword [ebx + 0x10]
test eax, eax
je case.0x4a8e65.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.0x4a8e65.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 0x4aadb5
cmp dword [ebx + 0x10], 0
je 0x4aadb5
mov eax, dword [esi + 8]
mov dword [ebp - 0x134], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x130], eax
call fcn.004a7457
mov dword [ebp - 8], eax
test eax, eax
jne 0x4abe2a
mov ebx, dword [esi]
call fcn.004a3ac2
and dword [esi + 0x68], 0
mov dword [ebp - 8], eax
mov byte [esi + 0x1d], 0
test eax, eax
jne 0x4aae18
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0xb8]
test edx, edx
je 0x4aae18
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x4aae18
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.0x4a8e65.12
mov eax, dword [ebp + 8]
inc dword [eax + 0x104]
jmp case.0x4a8e65.12
cmp dword [ebx + 4], 0
je 0x4aae48
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.0x4a8e65.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.004a7457
mov dword [ebp - 8], eax
test eax, eax
jne 0x4abe2a
cmp byte [esi + 0x22], 0
mov eax, ebx
je 0x4aaec1
lea edi, [ebp - 0x194]
call fcn.004a11ed
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x50]
mov ecx, dword [ebp - 0x190]
cdq
cmp ecx, edx
jg 0x4a8fd6
mov ebx, dword [ebp - 0x194]
jl 0x4aaeb9
cmp ebx, eax
ja 0x4a8fd6
mov dword [ebp - 0xbc], ebx
jmp 0x4aaede
lea edi, [ebp - 0xbc]
call fcn.004a1234
mov ebx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc]
cmp ebx, dword [eax + 0x50]
ja 0x4a8fd6
mov edi, dword [ebp - 0x28]
push 0
mov eax, ebx
call fcn.004a52da
pop ecx
test eax, eax
jne 0x4a90d6
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 0x4aaf23
mov esi, dword [ebp - 0x1c]
call fcn.004a15cc
add esp, 0xc
jmp 0x4aaf2e
push dword [ebp - 0x1c]
call fcn.004a1609
add esp, 0x10
mov dword [ebp - 8], eax
jmp 0x4aa0e8
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x30]
mov esi, dword [ecx + eax*4]
call fcn.004a7457
mov dword [ebp - 8], eax
test eax, eax
jne 0x4abe2a
cmp byte [esi + 0x19], al
je 0x4aaf65
mov eax, dword [esi + 8]
mov dword [ebp - 0xac], eax
mov eax, dword [esi + 0xc]
jmp 0x4aaf77
cmp byte [esi + 0x1e], 0
je 0x4aaf7f
mov eax, dword [esi + 0x40]
mov dword [ebp - 0xac], eax
mov eax, dword [esi + 0x44]
mov dword [ebp - 0xa8], eax
jmp 0x4aaf99
cmp byte [esi + 0x1c], 0
jne case.0x4a8e65.12
mov eax, dword [esi]
lea edi, [ebp - 0xac]
call fcn.004a11ed
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0xac]
mov dword [edi], eax
mov eax, dword [ebp - 0xa8]
jmp 0x4a95e3
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.0x4a8e65.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.004a1866
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.0x4a8e65.12
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
test eax, eax
jle case.0x4a8e65.12
jmp 0x4a8edb
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov esi, dword [ecx + eax*4]
mov edi, dword [esi]
test edi, edi
je 0x4ab051
mov eax, edi
call fcn.004a172a
test eax, eax
jne 0x4ab03a
cmp byte [edi + 0x43], al
jne 0x4ab02f
mov dword [ebp - 0x6c], 1
jmp 0x4ab03a
and dword [ebp - 0x6c], 0
mov eax, edi
call fcn.004a17e0
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 0x4ab058
mov dword [ebp - 0x6c], 1
mov eax, dword [ebp - 0x6c]
mov byte [esi + 0x1c], al
jmp 0x4a9a48
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xd8], 0
jne 0x4abe6c
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov esi, dword [ecx + eax*4]
test esi, esi
je case.0x4a8e65.12
cmp byte [esi + 0x1c], 0
mov eax, dword [esi]
jne 0x4ab0cc
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x8c], 1
cmp byte [ebx], 0x67
push ecx
push eax
jne 0x4ab0aa
call fcn.004a1cb1
jmp 0x4ab0af
call fcn.004a1d91
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 0x4ab0cc
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x18], ebx
mov byte [esi + 0x19], 0
jmp case.0x4a8e65.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.0x4a8e65.12
mov ecx, dword [ebp - 0x48]
mov eax, 0x800
mov edi, ecx
test word [ecx + 0x1c], ax
je 0x4ab107
mov eax, edi
call fcn.004a53e1
mov dword [ebp - 8], eax
jmp 0x4ab10b
and dword [ebp - 8], 0
xor ecx, ecx
cmp dword [ebp - 8], ecx
jne case.0x4a8e65.12
push dword [ebx + 0xc]
mov eax, dword [edi + 0x18]
mov edi, dword [edi + 0x14]
push ecx
push ecx
cdq
push 0x53e9ff
push edx
push eax
mov eax, dword [ebp - 0x30]
push edi
call fcn.004a3901
add esp, 0x1c
and dword [esi + 0x68], 0
mov dword [ebp - 8], eax
jmp case.0x4a8e65.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.0x4a8e65.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.004a18a2
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
jne 0x4ab1bd
cmp dword [ebp - 0x118], eax
jne 0x4ab1bd
call fcn.004a3ac2
mov dword [ebp - 8], eax
and dword [edi + 0x68], 0
jmp case.0x4a8e65.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.0x4a8e65.12
cmp byte [eax + 0x1c], 0
jne case.0x4a8e65.12
lea eax, [ebp - 0x174]
push eax
push ecx
call fcn.004a7adf
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x4abe2a
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 0x4a8f24
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [ecx + eax*4]
cmp dword [edi], 0
je case.0x4a8e65.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.004a7b9c
mov dword [ebp - 8], eax
mov eax, dword [edi + 0x48]
add esp, 0x10
mov byte [eax], 0
cmp byte [ebx], 0x28
jne 0x4ab29b
neg dword [ebp - 0x7c]
jmp 0x4ab29e
inc dword [ebp - 0x7c]
cmp dword [ebp - 0x7c], esi
jle case.0x4a8e65.12
jmp 0x4a8eb7
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x8c]
xor ecx, ecx
test eax, eax
je 0x4ab2f3
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x4ab2d4
cmp byte [eax + 0x101], 2
jae 0x4ab2d4
cmp dword [eax + 0x70], 0
jl 0x4ab2d4
inc ecx
mov eax, dword [eax + 8]
test eax, eax
jne 0x4ab2bb
cmp ecx, 1
jle 0x4ab2f3
mov dword [ebp - 8], 6
mov dword [esi + 0x7c], 2
jmp case.0x4a8e65.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.0049efb8
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.004a40d0
add esp, 0xc
mov dword [ebp - 0x30], eax
call fcn.0049f01a
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.0x4a8e65.12
test esi, esi
je case.0x4a8e65.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 0x4ab38f
mov edx, dword [ecx + 8]
cmp dword [edx + 0x14], esi
jne 0x4ab38d
mov dword [edx + 0x14], ebx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4ab382
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x24]
jmp 0x4ab3a8
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jne 0x4ab3a6
mov dword [ecx + 0x14], ebx
mov eax, dword [eax]
test eax, eax
jne 0x4ab39b
jmp case.0x4a8e65.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.004a4063
mov dword [ebp - 8], eax
jmp 0x4abcde
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.004a3f24
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne case.0x4a8e65.12
mov eax, dword [ebp - 0x150]
jmp 0x4a99df
cmp dword [ebx + 8], 0
mov eax, dword [ebx + 4]
jne 0x4ab435
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.0x4a8e65.12
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x4ab444
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.00499b8a
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4a90d6
push 0
lea eax, [ebp - 0x1ec]
push eax
push fcn.004babbc
push esi
push edi
mov byte [edi + 0x80], 1
call fcn.004b8dfb
add esp, 0x14
mov dword [ebp - 8], eax
cmp eax, 4
jne 0x4ab4b3
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 8], eax
push esi
call fcn.004986bf
cmp dword [ebp - 8], 7
mov byte [edi + 0x80], 0
pop ecx
je 0x4a90d6
jmp case.0x4a8e65.12
mov ecx, dword [ebx + 4]
mov eax, dword [ebp - 0xc]
call fcn.004b08f2
mov dword [ebp - 8], eax
jmp case.0x4a8e65.12
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
push dword [ebp - 0xc]
call fcn.004b1ac0
jmp 0x4abcdd
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0xc]
call fcn.004b17d4
jmp 0x4abcde
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov ebx, dword [ebp - 0xc]
call fcn.004c00a2
jmp 0x4abcde
mov eax, dword [ebx + 8]
mov dword [ebp - 0x2c], eax
lea eax, [eax*4 + 4]
push eax
call fcn.004985ef
pop ecx
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x4a90d6
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 0x4ab577
mov esi, eax
call fcn.004a55d5
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 0x4ab55d
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.004a4aa8
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.004a5772
cmp dword [ebp - 0xb4], 0
je 0x4ab5dc
mov edx, dword [ebp - 0x10]
push fcn.004986bf
push 1
or eax, 0xffffffff
mov ecx, ebx
call fcn.004a58ea
pop ecx
pop ecx
movzx eax, byte [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x10]
call fcn.004a52ba
pop ecx
push esi
call fcn.004986bf
jmp 0x4abcde
mov esi, dword [ebp - 0x10]
call fcn.004a55d5
mov edi, dword [ebp + 8]
push edx
push eax
add edi, 0x58
call fcn.004a51f8
pop ecx
cmp eax, 7
jmp 0x4ab4c4
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xd8], 0
jne 0x4abe6c
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.004a524f
cmp eax, 0x65
jmp 0x4a9aa0
mov edi, dword [esi + 0x64]
cmp edi, dword [esi + 0x68]
lea eax, [edi + 1]
mov dword [esi + 0x64], eax
jl 0x4ab686
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.00498992
pop ecx
pop ecx
mov dword [esi + 0x6c], eax
test eax, eax
je 0x4a90d6
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.004f5f50
add esp, 0xc
jmp case.0x4a8e65.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.004a5293
add esi, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp case.0x4a8e65.12
mov edi, dword [ebp - 0x10]
mov eax, edi
call fcn.004a56cf
mov esi, dword [ebp - 0x48]
mov eax, esi
call fcn.004a56cf
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov ecx, dword [edi + 4]
cmp ecx, esi
jg case.0x4a8e65.12
jl 0x4ab730
mov ecx, edi
mov ecx, dword [ecx]
cmp ecx, eax
jae case.0x4a8e65.12
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov dword [ecx + 4], esi
jmp case.0x4a8e65.12
mov eax, dword [ebp - 0x10]
cmp dword [eax + 4], 0
jl case.0x4a8e65.12
jg 0x4a8eb7
cmp dword [eax], 0
jbe case.0x4a8e65.12
jmp 0x4a8eb7
mov eax, dword [ebp - 0x10]
cmp dword [eax + 4], 0
jg case.0x4a8e65.12
jl 0x4a8eb7
cmp dword [eax], 0
jae case.0x4a8e65.12
jmp 0x4a8eb7
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
or ecx, dword [eax + 4]
jmp 0x4a9aa0
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 0x4ab7b6
mov dword [edi + edx*4], ecx
call fcn.004a8b56
inc edx
add ecx, 0x28
cmp edx, dword [ebp - 0x1c]
jl 0x4ab7a5
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 0x4ab819
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 0x4ab85d
push 0
push ecx
lea eax, [ebp - 0x10c]
push eax
call fcn.004a7e27
pop ecx
pop ecx
push eax
add esi, 0xf4
push esi
call fcn.00498a57
mov eax, dword [ebp - 0xe0]
add esp, 0xc
mov dword [ebp - 8], eax
lea eax, [ebp - 0x10c]
push eax
call fcn.004a5571
jmp 0x4abcde
mov edi, dword [ebx + 4]
mov ecx, dword [ebx + 0x10]
imul edi, edi, 0x28
add edi, dword [esi + 0x4c]
mov eax, edi
call fcn.004a54e9
mov dword [ebp - 8], eax
cmp eax, 1
jne 0x4ab8a4
push 0
push ecx
push edi
call fcn.004a7e27
pop ecx
pop ecx
push eax
add esi, 0xf4
push esi
call fcn.00498a57
add esp, 0xc
movzx eax, byte [ebp - 0x40]
push eax
mov eax, edi
call fcn.004a52ba
jmp 0x4a9564
push dword [ebp - 0xc]
add esi, 0xf4
push esi
call fcn.004c13aa
mov dword [ebp - 8], eax
jmp 0x4abcdd
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.004a0c43
mov dword [ebp - 8], eax
cmp eax, 0x65
jne case.0x4a8e65.12
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x18], ebx
and dword [ebp - 8], 0
jmp case.0x4a8e65.12
cmp dword [ebx + 4], 0
je 0x4aa2c2
mov byte [esi + 0xff], 1
jmp case.0x4a8e65.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.004a511a
mov dword [ebp - 8], eax
cmp eax, 6
jne case.0x4a8e65.12
push 0
push dword [ebx + 0x10]
add esi, 0xf4
push str.database_table_is_locked:
push esi
call fcn.00498a57
add esp, 0x10
jmp case.0x4a8e65.12
mov eax, dword [ebx + 0x10]
mov esi, dword [ebp - 0xc]
call fcn.004c2003
jmp 0x4ab4db
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xc]
lea ecx, [esi + 0xf4]
call fcn.004c1d8e
jmp 0x4ab3c9
mov ecx, dword [ebp - 0xc]
add esi, 0x101
mov byte [esi], 2
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
call fcn.004c1f15
mov dword [ebp - 8], eax
mov byte [esi], 0
jmp 0x4abcde
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.0x4a8e65.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.004a8b81
pop ecx
pop ecx
test eax, eax
je 0x4ab9f5
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.0x4a8e65.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 0x4abcde
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 0x4aba62
lea ecx, [eax + 0x50]
jmp 0x4aba46
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [edx + eax*4], ecx
call fcn.004a8b56
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
add ecx, 0x28
cmp eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], ecx
jl 0x4aba43
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 0x4abaa0
push dword [edi + 0x60]
mov eax, dword [ebp - 0x1c]
call dword [eax + 0x28]
pop ecx
test eax, eax
je 0x4abaa0
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x18], ebx
mov byte [edi + 0x1c], 0
jmp case.0x4a8e65.12
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x1c], 0
jne case.0x4a8e65.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 0x4a8f24
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 0x4a9158
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.004f5f50
lea eax, [ebp - 0x10c]
add esp, 0xc
push eax
mov esi, edi
call fcn.004a58c2
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.004a52ba
lea esi, [ebp - 0x10c]
jmp 0x4a955d
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [ecx + eax*4]
cmp byte [edi + 0x1c], 0
jne case.0x4a8e65.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 0x4a8eb7
push dword [edi + 0x60]
mov eax, dword [ebp - 0x30]
call dword [eax + 0x28]
pop ecx
test eax, eax
jmp 0x4a9aa0
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 0x4abc04
movzx eax, byte [ebp - 0x40]
push eax
mov eax, ebx
call fcn.004a5474
pop ecx
test eax, eax
jne 0x4a90d6
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.004c171c
jmp case.0x4a8e65.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 0x4abc44
push 0
push str.read_only_table
jmp 0x4aa1af
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 0x4abc71
call fcn.004a8b56
mov eax, dword [ebp - 0x1c]
mov dword [eax + edx*4], ecx
add ecx, 0x28
inc edx
cmp edx, dword [ebp - 0x14]
jl 0x4abc5a
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.004c171c
cmp dword [ebx + 4], 0
je 0x4abcb5
cmp dword [ebp - 8], 0
jne 0x4abcb5
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.0x4a8e65.12
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je case.0x4a8e65.12
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x94]
test eax, eax
je case.0x4a8e65.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 0x4a8d93
jmp 0x4a90fd
mov dword [ebp - 8], 9
jmp 0x4a90fd
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 0x4abd2b
push 0
lea eax, [esi + 0xf4]
push ebx
push eax
call fcn.00498a57
add esp, 0xc
push esi
call fcn.004a6ff1
pop ecx
push 5
pop ebx
cmp eax, ebx
je 0x4abe0b
mov ebx, dword [esi + 0x74]
neg ebx
sbb ebx, ebx
and ebx, 0xffffff9c
add ebx, 0x65
jmp 0x4a910d
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 0x4abd8f
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
call fcn.004a5431
mov ecx, dword [ebp - 0x6c]
call fcn.004a8b56
add dword [ebp - 0x6c], 0x28
inc edi
cmp edi, dword [ebx + 8]
jl 0x4abd75
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1e], 0
jne 0x4a90d6
mov eax, dword [ebp - 0x18]
inc dword [esi + 0x50]
inc eax
push 0x64
mov dword [esi + 0x70], eax
pop ebx
jmp 0x4a910d
lea eax, [ebp - 0x1cc]
push eax
call fcn.004a5571
pop ecx
jmp 0x4a90d6
cmp dword [ebx + 8], 0
mov edi, eax
je 0x4abdd6
call fcn.004c76b2
mov byte [edi + 0x1c], 1
jmp 0x4abd3d
mov bl, byte [ebp - 0x71]
push esi
mov byte [edi + 0x1c], bl
call fcn.004a6ff1
pop ecx
push 5
pop ecx
cmp eax, ecx
jne 0x4abd3d
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 0x4a910d
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], ebx
jmp 0x4a910d
mov eax, dword [ebp - 0x18]
mov dword [ecx + 0x70], eax
mov ebx, edx
mov dword [ecx + 0x74], edx
jmp 0x4a910d
mov dword [ebp - 8], 0xd
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1e], 0
je 0x4abe3a
mov dword [ebp - 8], 7
mov eax, dword [ebp - 8]
and eax, 0xff
cmp eax, 0x65
jg 0x4abe4e
call fcn.004c774c
jmp 0x4abe53
mov eax, str.unknown_error
push 0
push eax
mov eax, dword [ebp + 8]
add eax, 0xf4
push eax
call fcn.00498a57
mov esi, dword [ebp + 8]
jmp 0x4a90fa
push 9
pop eax
mov dword [ebp - 8], eax
mov dword [esi + 0x74], eax
call fcn.004c774c
push 0
push eax
lea eax, [esi + 0xf4]
push eax
call fcn.00498a57
jmp 0x4a90fa