Function at 0x49aead
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.004912f5
cmp dword [esi + 0x74], 7
je 0x49b25d
xor eax, eax
mov dword [esi + 0x74], eax
mov dword [esi + 0xf8], eax
mov dword [ebx + 0x144], eax
cmp dword [ebx + 0xd8], eax
jne 0x49dff3
mov eax, dword [esi + 0x70]
mov dword [ebp - 0x18], eax
mov eax, ebx
jmp 0x49af1d
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1e], 0
jne 0x49b25d
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 0x49af68
mov edx, dword [ebp - 0x84]
cmp dword [eax + 0xf0], edx
jne 0x49af62
push dword [eax + 0xec]
call ecx
pop ecx
test eax, eax
jne 0x49de7b
and dword [ebp - 0x84], eax
inc dword [ebp - 0x84]
movzx eax, byte [ebx]
mov dl, byte [eax + 0x56ec90]
test dl, 2
je 0x49af98
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.004976c4
mov esi, dword [ebp + 8]
xor eax, eax
inc eax
mov word [edi + 0x1c], ax
jmp 0x49afce
test dl, 4
je 0x49b008
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 0x49aff3
mov eax, dword [ebx + 8]
imul eax, eax, 0x28
add eax, ecx
mov dword [ebp - 0x48], eax
test dl, 0x20
je 0x49afcb
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.0x49afec.12
movzx edx, byte [edx + 0x49e1ad]
jmp dword [edx*4 + 0x49e015]
mov edi, dword [ebp - 0x28]
test dl, 0x10
je 0x49afce
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x49afce
test dl, 8
je 0x49b01b
mov eax, dword [ebx + 8]
imul eax, eax, 0x28
add eax, dword [esi + 0x4c]
mov dword [ebp - 0x48], eax
jmp 0x49afcb
mov edi, dword [ebp - 0x28]
test dl, 0x10
je 0x49afce
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [esi + 0x4c]
jmp 0x49b003
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xd8], 0
jne 0x49dff3
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x18], ebx
jmp case.0x49afec.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.0x49afec.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.0x49afec.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.0x49afec.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.0x49afec.12
push 8
pop eax
mov word [edi + 0x1c], ax
mov eax, dword [ebx + 0x10]
fld qword [eax]
fstp qword [edi + 8]
jmp case.0x49afec.12
push dword [ebx + 0x10]
mov byte [ebx], 0x1b
call fcn.004dd2b0
cmp byte [ebp - 0x40], 1
pop ecx
mov dword [ebx + 4], eax
je 0x49b17e
mov ecx, dword [ebx + 0x10]
push 0
push 1
or eax, 0xffffffff
mov edx, edi
call fcn.00497a71
movzx eax, byte [ebp - 0x40]
push eax
mov eax, edi
call fcn.00497441
add esp, 0xc
test eax, eax
jne 0x49b25d
mov eax, edi
call fcn.00497511
test eax, eax
jne 0x49b25d
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 0x49b141
push dword [ebx + 0x10]
call fcn.0048a842
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.0x49afec.12
mov eax, dword [ebp + 8]
push 0
add eax, 0xf4
push str.string_or_blob_too_big
push eax
call fcn.0048abde
mov dword [ebp - 8], 0x12
jmp 0x49dfeb
mov ecx, dword [ebp - 0xc]
cmp eax, dword [ecx + 0x50]
jg 0x49b15d
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.0x49afec.12
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0x10]
push 0
push 0
mov edx, edi
call fcn.00497a71
mov al, byte [ebp - 0x40]
mov byte [edi + 0x1f], al
jmp 0x49de64
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.0049799e
test eax, eax
jne 0x49b15d
mov eax, dword [ebp - 0x28]
push 0x80
call fcn.004979c5
jmp 0x49de65
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.00497a49
mov dword [esi + 0x24], edi
jmp 0x49de65
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, pe_nt_image_headers32
push esi
mov eax, ebx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x28], ebx
call fcn.004979c5
pop ecx
test word [ebx + 0x1c], si
je case.0x49afec.12
mov eax, ebx
call fcn.00497511
test eax, eax
je case.0x49afec.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.0048abde
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.00499178
pop ecx
mov edi, dword [ebp - 0x11c]
call fcn.0049132f
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 pe_nt_image_headers32
mov eax, ebx
jmp 0x49b1e2
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 0x49b2eb
mov eax, edi
call fcn.004978f9
jmp case.0x49afec.12
mov esi, 0x800
test esi, eax
je 0x49b2fc
mov eax, dword [ebp - 0x10]
call fcn.00497568
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 0x12
jne 0x49b31b
movzx eax, byte [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x10]
call fcn.004975fb
pop ecx
test eax, eax
jne 0x49b25d
mov eax, dword [ebp - 0x48]
test word [eax + 0x1c], si
je 0x49b329
call fcn.00497568
mov eax, dword [ebp - 0x48]
test byte [eax + 0x1c], 0x12
jne 0x49b348
movzx eax, byte [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x48]
call fcn.004975fb
pop ecx
test eax, eax
jne 0x49b25d
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 0x49b15d
jl 0x49b372
cmp ebx, eax
ja 0x49b15d
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.00497461
pop ecx
test eax, eax
jne 0x49b25d
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x48]
cmp esi, edi
je 0x49b3bb
push dword [edi + 0x18]
push dword [edi + 0x14]
push dword [esi + 0x14]
call fcn.004de9d0
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.004de9d0
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.0x49afec.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 0x49b2df
movzx edx, word [ecx + 0x1c]
mov al, byte [ebp - 0x20]
and al, dl
test al, 4
je 0x49b4bb
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 0x49b4b2
dec ecx
je 0x49b4a9
dec ecx
je 0x49b49b
dec ecx
mov ecx, ebx
je 0x49b46b
or ecx, esi
je 0x49b2df
mov ecx, ebx
and ecx, esi
cmp ecx, 0xffffffff
jne 0x49b45d
xor ebx, ebx
inc ebx
xor esi, esi
push esi
push ebx
push edx
push eax
call fcn.004edbd0
jmp 0x49bb67
or ecx, esi
je 0x49b2df
mov ecx, ebx
and ecx, esi
cmp ecx, 0xffffffff
jne 0x49b48d
test eax, eax
jne 0x49b48d
cmp edx, 0x80000000
jne 0x49b48d
xor ebx, ebx
inc ebx
xor esi, esi
push esi
push ebx
push edx
push eax
call fcn.004e4d30
jmp 0x49bb67
push esi
push ebx
push edx
push eax
call fcn.004e4cf0
jmp 0x49bb67
sub eax, ebx
sbb edx, esi
jmp 0x49bb67
add eax, ebx
adc edx, esi
jmp 0x49bb67
mov esi, dword [ebp - 0x10]
call fcn.004977d1
fstp qword [ebp - 0x34]
mov esi, dword [ebp - 0x48]
call fcn.004977d1
movzx eax, byte [ebx]
sub eax, 0x4e
je 0x49b540
dec eax
je 0x49b53b
dec eax
je 0x49b536
dec eax
je 0x49b525
fld qword [ebp - 0x34]
call fcn.004e4c76
mov esi, eax
mov ebx, edx
call fcn.004e4c76
mov ecx, esi
or ecx, ebx
je 0x49b2df
mov ecx, esi
and ecx, ebx
cmp ecx, 0xffffffff
jne 0x49b508
xor esi, esi
inc esi
xor ebx, ebx
push ebx
push esi
push edx
push eax
call fcn.004edbd0
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x178], edx
fild qword [ebp - 0x17c]
jmp 0x49b543
fldz
fcomp qword [ebp - 0x34]
fnstsw ax
test ah, 0x44
jnp 0x49b58e
fdiv qword [ebp - 0x34]
jmp 0x49b543
fmul qword [ebp - 0x34]
jmp 0x49b543
fsub qword [ebp - 0x34]
jmp 0x49b543
fadd qword [ebp - 0x34]
fstp qword [ebp - 0x34]
push ecx
fld qword [ebp - 0x34]
push ecx
fstp qword [esp]
call fcn.0048c470
add esp, 8
test eax, eax
jne 0x49b2df
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.0x49afec.12
mov esi, edi
call fcn.00497830
jmp case.0x49afec.12
fstp st(0)
jmp 0x49b2df
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 0x49b5c1
mov dword [edx + esi*4], ecx
call fcn.0049acdd
inc esi
add ecx, 0x28
cmp esi, edi
jl 0x49b5b1
cmp byte [ebx + 1], 0xfb
mov eax, dword [ebx + 0x10]
jne 0x49b5d3
and dword [ebp - 0x1d0], 0
jmp 0x49b5db
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.00497a49
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 0x49b651
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 0x49df35
cmp dword [ebp - 0x1d0], 0
je 0x49b699
push dword [ebx + 4]
mov edi, dword [ebp - 0x1d0]
call fcn.004994dd
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 0x49b6ce
push 0
push ecx
lea eax, [ebp - 0x1cc]
push eax
call fcn.00499fae
pop ecx
pop ecx
push eax
mov eax, dword [ebp + 8]
add eax, 0xf4
push eax
call fcn.0048abde
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.00497441
lea esi, [ebp - 0x1cc]
pop ecx
push edi
call fcn.00497a49
pop ecx
mov ecx, edi
call fcn.0049799e
test eax, eax
jne 0x49b15d
jmp case.0x49afec.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 0x49b2df
mov esi, dword [ebp - 0x48]
call fcn.0049775c
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
call fcn.0049775c
mov ecx, eax
movzx eax, byte [ebx]
sub eax, 0x4a
je 0x49b75c
dec eax
je 0x49b754
mov edx, dword [ebp - 0x60]
dec eax
mov eax, dword [ebp - 0x64]
je 0x49b747
call fcn.004f6370
jmp 0x49b74c
call fcn.004e54c0
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
jmp 0x49b762
or dword [ebp - 0x64], ecx
or dword [ebp - 0x60], edx
jmp 0x49b762
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.0x49afec.12
mov esi, dword [ebp - 0x10]
mov eax, esi
call fcn.00497856
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.0x49afec.12
push dword [ebp - 0x40]
mov esi, dword [ebp - 0x10]
push 0x63
mov eax, esi
call fcn.0049ae4c
movzx eax, word [esi + 0x1c]
pop ecx
pop ecx
mov dword [ebp - 0x20], eax
test al, 0xc
je 0x49b03e
test al, 4
je 0x49b7d7
xor ecx, ecx
xor eax, eax
cmp dword [ebx + 0xc], ecx
je 0x49b7cc
inc eax
add eax, dword [esi]
adc ecx, dword [esi + 4]
mov edi, eax
mov edx, ecx
jmp 0x49b82b
fld qword [esi + 8]
call fcn.004e4c76
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 0x49b80f
add edi, 1
adc edx, 0
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0xd0], edx
cmp dword [ebx + 0xc], 0
je 0x49b82b
fild qword [ebp - 0xd4]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x44
jp 0x49b82b
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.0x49afec.12
push dword [ebp - 0x40]
mov esi, dword [ebp - 0x10]
push 0x63
mov eax, esi
call fcn.0049ae4c
movzx eax, word [esi + 0x1c]
pop ecx
pop ecx
test al, 4
jne 0x49b833
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x49b041
mov dword [ebp - 8], 0x14
jmp 0x49dfb1
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 4
je case.0x49afec.12
mov eax, dword [ebp - 0x10]
call fcn.0049787b
jmp case.0x49afec.12
mov eax, dword [ebp - 0x10]
movzx eax, word [eax + 0x1c]
test al, 1
jne case.0x49afec.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.0049ae4c
mov eax, 0x800
pop ecx
pop ecx
test word [esi + 0x1c], ax
je 0x49b8d3
mov eax, esi
call fcn.00497568
mov dword [ebp - 8], eax
jmp 0x49b8d7
and dword [ebp - 8], 0
mov eax, 0xffe3
and word [esi + 0x1c], ax
jmp case.0x49afec.12
mov eax, dword [ebp - 0x10]
movzx ecx, word [eax + 0x1c]
test cl, 1
jne case.0x49afec.12
test cl, 0x10
jne 0x49b909
push dword [ebp - 0x40]
push 0x61
call fcn.0049ae4c
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.0x49afec.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 0xd
jne case.0x49afec.12
call fcn.0049789e
jmp case.0x49afec.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
jne case.0x49afec.12
call fcn.00497856
jmp case.0x49afec.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
jne case.0x49afec.12
jmp 0x49b881
mov ecx, dword [ebp - 0x10]
mov al, byte [ecx + 0x1c]
mov edi, dword [ebp - 0x54]
or al, byte [edi + 0x1c]
test al, 1
je 0x49b9cf
mov al, byte [ebx + 3]
test al, 0x10
je 0x49ba52
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 0x49ba01
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x10]
push dword [ebp - 0xc0]
call fcn.0049ae4c
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x54]
push dword [ebp - 0xc0]
call fcn.0049ae4c
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov edi, 0x800
mov eax, edi
test word [ecx + 0x1c], ax
je 0x49ba18
mov eax, ecx
call fcn.00497568
mov eax, dword [ebp - 0x54]
test word [eax + 0x1c], di
je 0x49ba26
call fcn.00497568
push dword [ebx + 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x54]
call fcn.00497b7b
pop ecx
movzx ecx, byte [ebx]
sub ecx, 0x43
je 0x49baac
dec ecx
je 0x49baa3
dec ecx
je 0x49ba9a
dec ecx
je 0x49ba91
dec ecx
je 0x49ba88
xor ecx, ecx
test eax, eax
setge cl
jmp 0x49bab3
test al, al
jns 0x49ba7b
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.0x49afec.12
test al, 8
je case.0x49afec.12
jmp 0x49b03e
xor ecx, ecx
test eax, eax
setl cl
jmp 0x49bab3
xor ecx, ecx
test eax, eax
setle cl
jmp 0x49bab3
xor ecx, ecx
test eax, eax
setg cl
jmp 0x49bab3
xor ecx, ecx
test eax, eax
sete cl
jmp 0x49bab3
xor ecx, ecx
test eax, eax
setne cl
test byte [ebx + 3], 0x80
mov eax, ecx
je 0x49bbcf
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.0x49afec.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
je 0x49bafc
mov dword [ebp - 0x20], 2
jmp 0x49bb15
mov esi, dword [ebp - 0x10]
call fcn.0049775c
or eax, edx
je 0x49bb11
mov dword [ebp - 0x20], 1
jmp 0x49bb15
and dword [ebp - 0x20], 0
mov esi, dword [ebp - 0x48]
test byte [esi + 0x1c], 1
je 0x49bb23
push 2
pop ecx
jmp 0x49bb2f
call fcn.0049775c
xor ecx, ecx
or eax, edx
je 0x49bb2f
inc ecx
mov eax, dword [ebp - 0x20]
imul eax, eax, 3
cmp byte [ebx], 0x3d
jne 0x49bb44
movzx eax, byte [eax + ecx + 0x52a91c]
jmp 0x49bb4c
movzx eax, byte [eax + ecx + 0x52a950]
cmp eax, 2
jne 0x49bb66
mov ax, word [edi + 0x1c]
mov ecx, 0xffe1
and ax, cx
or ax, 1
jmp 0x49b77d
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x49b76d
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
jne case.0x49afec.12
mov esi, eax
call fcn.00497856
mov eax, dword [esi]
or eax, dword [esi + 4]
jne 0x49bb8f
inc eax
jmp 0x49bb91
xor eax, eax
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x49afec.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
jne case.0x49afec.12
mov esi, eax
call fcn.00497856
mov eax, dword [esi]
mov ecx, dword [esi + 4]
not eax
not ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp case.0x49afec.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
je 0x49bbd6
mov eax, dword [ebx + 0xc]
test eax, eax
jmp 0x49ba7d
mov esi, dword [ebp - 0x10]
call fcn.004977d1
fcomp qword [0x540a40]
fnstsw ax
test ah, 0x44
jnp 0x49bbf0
xor eax, eax
inc eax
jmp 0x49bbf2
xor eax, eax
cmp byte [ebx], 0x49
jne 0x49bbcf
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x49bbcf
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x10]
test byte [ecx + 0x1c], 1
jne 0x49b03e
add dword [ebp - 0x10], 0x28
dec eax
test eax, eax
jg 0x49bc05
jmp case.0x49afec.12
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 1
jne case.0x49afec.12
jmp 0x49b03e
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 0x49bcec
mov esi, eax
call fcn.004995de
mov dword [ebp - 8], eax
test eax, eax
jne 0x49dfb1
and dword [ebp - 0x50], eax
mov eax, esi
cmp byte [eax + 0x1c], 0
mov ecx, dword [eax]
mov dword [ebp - 0x44], ecx
je 0x49bca7
and dword [ebp - 0x70], 0
jmp 0x49bce7
mov ecx, dword [eax + 0x68]
mov edx, dword [ebp + 8]
cmp ecx, dword [edx + 0x54]
jne 0x49bcc0
mov ecx, dword [eax + 0x6c]
mov eax, dword [eax + 0x78]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x50], eax
jmp 0x49bce7
cmp byte [eax + 0x22], 0
mov eax, dword [ebp - 0x44]
je 0x49bcdf
lea edi, [ebp - 0x1fc]
call fcn.00493374
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x70], eax
jmp 0x49bce7
lea edi, [ebp - 0x70]
call fcn.004933bb
mov eax, dword [ebp - 0x20]
jmp 0x49bcfe
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.0x49afec.12
mov ecx, dword [ebp - 0xc]
cmp eax, dword [ecx + 0x50]
ja 0x49b15d
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 0x49bd3a
mov eax, dword [esi + 0x74]
mov dword [ebp - 0x14], eax
jmp 0x49beb2
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 0x49bd5e
mov dword [ebp - 8], eax
jmp 0x49bda2
cmp byte [esi + 0x22], 0
mov eax, dword [ebp - 0x44]
je 0x49bd7f
cmp byte [eax + 0x43], 1
jne 0x49bd89
push 0
lea ecx, [ebp - 0x90]
push ecx
call fcn.004937c5
pop ecx
pop ecx
jmp 0x49bd8b
cmp byte [eax + 0x43], 1
jne 0x49bd89
push 1
jmp 0x49bd6f
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 0x90], edi
jb 0x49bd9e
mov dword [ebp - 0x50], eax
mov dword [esi + 0x78], eax
jmp 0x49bda2
and dword [esi + 0x78], 0
mov cl, byte [eax]
cmp cl, 0x80
jae 0x49bdb8
movzx edi, cl
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x1c], 1
jmp 0x49bdcc
mov ecx, dword [ebp - 8]
lea edi, [ebp - 0x78]
call fcn.0048ccfa
mov edi, dword [ebp - 0x78]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x50], 0
jne 0x49be17
cmp dword [ebp - 0x90], edi
jae 0x49be17
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.00497d1c
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jne case.0x49afec.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 0x49be78
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 0x49be6c
mov eax, dword [ebp - 0x78]
mov dword [ecx + edi], eax
mov al, byte [esi]
cmp al, 0x80
jae 0x49be54
movzx eax, al
mov dword [edi], eax
xor eax, eax
inc eax
jmp 0x49be5e
mov ecx, esi
call fcn.0048ccfa
mov ecx, dword [ebp - 8]
add esi, eax
mov eax, dword [edi]
call fcn.00499708
add dword [ebp - 0x78], eax
jmp 0x49be70
and dword [ecx + edi], 0
add edi, 4
dec dword [ebp - 0x1c]
jne 0x49be39
lea eax, [ebp - 0xfc]
push eax
call fcn.004976f8
xor eax, eax
inc eax
pop ecx
mov word [ebp - 0xe0], ax
cmp esi, dword [ebp - 0x24]
ja 0x49bfcb
mov eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0x70]
ja 0x49bfcb
cmp esi, dword [ebp - 0x24]
jne 0x49beb2
cmp eax, dword [ebp - 0x70]
jne 0x49bfcb
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 0x49bf78
cmp dword [ebp - 0x50], 0
je 0x49bf14
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 0x49bf10
add ecx, eax
lea esi, [ebp - 0xfc]
call fcn.004997c4
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x4c]
pop ecx
mov ebx, esi
call fcn.00497a02
mov dword [ebp - 8], eax
test eax, eax
jne case.0x49afec.12
jmp 0x49bf6d
add ecx, eax
jmp 0x49bf64
mov ecx, dword [ebp - 0x2c]
lea edi, [eax + ecx]
mov eax, dword [edi]
call fcn.00499708
mov esi, dword [ebp - 0x4c]
mov ebx, eax
lea eax, [ebp - 0xfc]
push eax
call fcn.00497a49
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.00497d1c
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jne case.0x49afec.12
push dword [edi]
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0x4c]
call fcn.004997c4
pop ecx
mov al, byte [ebp - 0x40]
mov ecx, dword [ebp - 0x4c]
mov byte [ecx + 0x1f], al
jmp 0x49bf8f
cmp byte [ebx + 1], 0xf8
jne 0x49bf8f
mov edi, dword [ebx + 0x10]
mov eax, dword [ebp - 0x4c]
push 0x80
call fcn.004979c5
pop ecx
cmp dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0x4c]
je 0x49bfc1
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.00497511
jmp 0x49d662
mov dword [ebp - 8], 0xb
jmp case.0x49afec.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.0x49afec.12
and dword [ebp - 0x14], 0
mov eax, 0x800
test word [esi + 0x1c], ax
je 0x49c00d
mov eax, esi
call fcn.00497568
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.0049ae4c
add dword [ebp - 0x14], 0x28
add esi, 0x28
pop ecx
pop ecx
cmp esi, ebx
jbe 0x49bffb
jmp case.0x49afec.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 0x49c11c
mov dword [ebp - 0x14], 0xffffffe8
sub dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x49c0ad
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.0049ae4c
pop ecx
pop ecx
mov edi, 0x800
mov eax, edi
test word [esi + 0x1c], ax
je 0x49c0c7
cmp dword [esi + 0x18], 0
jle 0x49c0c7
mov eax, esi
call fcn.00497568
push dword [ebp - 0x2c]
mov edx, esi
call fcn.00499642
pop ecx
mov dword [ebp - 0x58], eax
call fcn.00499708
mov dword [ebp - 0x50], eax
cdq
add dword [ebp - 0x9c], eax
push 0
push dword [ebp - 0x58]
adc dword [ebp - 0x98], edx
call fcn.0048cd8d
add dword [ebp - 0x24], eax
pop ecx
pop ecx
test word [esi + 0x1c], di
je 0x49c106
mov eax, dword [esi]
add dword [ebp - 0x44], eax
jmp 0x49c110
cmp dword [ebp - 0x50], 0
je 0x49c110
and dword [ebp - 0x44], 0
add esi, 0x28
cmp esi, dword [ebp - 0x20]
jbe 0x49c088
mov eax, dword [ebp - 0x24]
cdq
push edx
push eax
call fcn.0048cd8d
mov esi, eax
add dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x24]
cdq
push edx
push eax
call fcn.0048cd8d
add esp, 0x10
cmp esi, eax
jge 0x49c141
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 0x49b15d
jb 0x49c18a
cmp esi, eax
ja 0x49b15d
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.00497461
pop ecx
test eax, eax
jne 0x49b25d
mov eax, dword [ebp - 0x24]
mov ebx, dword [edi + 0x14]
mov dword [ebp - 0x30], ebx
cmp eax, 0x80
jae 0x49c1c6
mov byte [ebx], al
mov dword [ebp - 0x50], 1
jmp 0x49c1d0
mov ecx, ebx
call fcn.0048cb3f
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x4c], eax
cmp eax, dword [ebp - 0x20]
ja 0x49c212
push dword [ebp - 0x2c]
mov edx, dword [ebp - 0x4c]
call fcn.00499642
pop ecx
mov ecx, dword [ebp - 0x50]
cmp eax, 0x80
jae 0x49c1f9
mov byte [ecx + ebx], al
xor eax, eax
inc eax
jmp 0x49c200
add ecx, ebx
call fcn.0048cb3f
add dword [ebp - 0x4c], 0x28
add dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x20]
jbe 0x49c1db
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x4c], eax
jmp 0x49c23c
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.0049971b
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 0x49c217
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 0x49c26f
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.0x49afec.12
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1c], 0
je 0x49c28e
cmp dword [eax + 0x90], 1
jle case.0x49afec.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 0x49c2ac
cmp byte [eax + 0x10], 0
jne case.0x49afec.12
call fcn.004930f7
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x14c], 1
jmp case.0x49afec.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 0x49c311
test cl, cl
je 0x49c311
cmp byte [eax + 0x1c], 0
jne 0x49c311
mov eax, str.rollback
test dl, dl
jne 0x49c2f3
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.0048abde
add esp, 0x14
jmp 0x49c345
cmp cl, byte [eax + 0x1c]
jne 0x49df47
test cl, cl
jne 0x49c325
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x49c333
mov eax, str.cannot_rollback___no_transaction_is_active
test dl, dl
jne 0x49c333
mov eax, str.cannot_commit___no_transaction_is_active
push 0
push eax
add esi, 0xf4
push esi
call fcn.0048abde
add esp, 0xc
mov dword [ebp - 8], 1
jmp case.0x49afec.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.0x49afec.12
push dword [ebx + 8]
call fcn.00492894
pop ecx
push 5
pop ebx
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x49df8c
test eax, eax
je case.0x49afec.12
cmp eax, 8
jne 0x49dfb1
jmp case.0x49afec.12
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 0xc]
test eax, eax
jge 0x49c3a9
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.004963ed
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.0x49afec.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.00497856
mov eax, dword [ebx + 8]
push dword [edi]
inc eax
push eax
mov eax, dword [esi + 4]
call fcn.00496474
mov dword [ebp - 8], eax
mov eax, dword [ebx + 8]
pop ecx
pop ecx
test eax, eax
jne 0x49c432
mov eax, dword [esi + 0x14]
mov ecx, dword [edi]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc]
or dword [eax + 0xc], 0x10
jmp 0x49c43f
cmp eax, 1
jne 0x49c43f
mov eax, dword [esi + 0x14]
mov cl, byte [edi]
mov byte [eax + 0x58], cl
cmp dword [ebx + 4], 1
jne case.0x49afec.12
mov eax, dword [ebp - 0xc]
call fcn.00499e61
jmp case.0x49afec.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 0x49c485
lea eax, [ebp - 0xb0]
push eax
push 1
call fcn.004963ed
mov edi, dword [ebp - 0xb0]
pop ecx
pop ecx
mov dword [ebp - 8], eax
jmp 0x49c491
and dword [ebp - 8], 0
xor edi, edi
mov dword [ebp - 0xb0], edi
cmp dword [ebp - 8], 0
jne case.0x49afec.12
cmp edi, dword [ebx + 8]
je case.0x49afec.12
add esi, 0xf4
push dword [esi]
call fcn.0048a842
pop ecx
push dword [ebp - 0xc]
mov eax, str.database_schema_has_changed
call fcn.0048aba2
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 0x49c4e1
mov eax, ebx
mov ebx, ecx
call fcn.004a39d3
mov eax, dword [ebp - 0xc]
call fcn.00499e61
mov dword [ebp - 8], 0x11
jmp case.0x49afec.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 0x49c536
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x58]
lea ecx, [esi + 0x100]
mov dword [ebp - 0x1c], 1
cmp al, byte [ecx]
jae 0x49c53a
mov byte [ecx], al
jmp 0x49c53a
and dword [ebp - 0x1c], 0
cmp byte [ebx + 3], 0
je 0x49c555
imul edi, edi, 0x28
add edi, dword [esi + 0x4c]
mov eax, edi
mov dword [ebp - 0x48], edi
call fcn.00497856
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.0049ad08
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x49b25d
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.00493295
add esp, 0x10
cmp byte [edi + 1], 0xfa
mov esi, eax
mov dword [ebp - 8], esi
jne 0x49c5bd
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 0x49c5ca
and dword [ebx + 0x4c], 0
mov ecx, dword [ebp + 8]
lea eax, [ebx + 0x23]
mov dword [ebx + 0x48], eax
test esi, esi
je 0x49c5fc
push 5
pop edx
cmp esi, edx
je 0x49df9a
cmp esi, 0x10
jne 0x49dfb1
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 0x49da7b
mov esi, dword [ebx]
call fcn.004964dd
test al, 0xf0
jne 0x49c641
mov ecx, eax
and ecx, 7
cmp ecx, 5
je 0x49c616
cmp ecx, 2
jne 0x49c641
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 0x49c62f
cmp byte [edi + 1], 0xfa
je 0x49c641
test al, al
je case.0x49afec.12
cmp byte [edi + 1], 0xfa
je case.0x49afec.12
mov dword [ebp - 8], 0xb
jmp 0x49dfb1
mov edx, dword [ebx + 4]
push 1
mov ecx, ebx
push 0xffffffffffffffff
mov ebx, esi
call fcn.0049ad08
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x49b25d
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.004b9ea2
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x49c72b
lea ebx, [esi + 0x30]
mov edi, dword [ebx]
push 1
call fcn.00492894
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x49c72b
mov edi, dword [ebp - 0x24]
cmp dword [edi + 0x10], eax
je 0x49c70c
lea eax, [ebp - 0x140]
push 2
push eax
mov eax, dword [ebx]
call fcn.004960ab
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x49c706
push dword [esi]
mov eax, dword [ebx]
push dword [edi + 0x10]
push 1
push dword [ebp - 0x140]
call fcn.00493295
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 0x49c72b
push dword [esi]
mov eax, dword [ebx]
push 0
push 1
push 1
call fcn.00493295
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.0x49afec.12
mov edx, dword [ebx + 4]
push 0
lea ecx, [ebx - 0x14]
push 0xffffffffffffffff
mov ebx, esi
call fcn.0049ad08
pop ecx
pop ecx
test eax, eax
je 0x49b25d
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.0x49afec.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.00498b54
mov eax, dword [ebx + 0x30]
and dword [edi + eax], 0
jmp 0x49de65
mov ecx, dword [ebx + 4]
mov edx, dword [esi + 0x30]
mov edi, dword [edx + ecx*4]
cmp dword [edi], 0
je case.0x49afec.12
mov byte [edi + 0x1c], 0
cmp eax, 6
je 0x49c7c0
cmp eax, 0x40
je 0x49c7c0
xor eax, eax
jmp 0x49c7c3
xor eax, eax
inc eax
mov ecx, dword [edi + 0x48]
mov byte [ecx], al
cmp byte [edi + 0x21], 0
je 0x49c82d
mov esi, dword [ebp - 0x54]
call fcn.0049775c
mov esi, eax
xor eax, eax
mov dword [ebp - 0x1f0], edx
cmp dword [ebx + 8], eax
jne 0x49c7f7
mov dword [edi + 0x28], esi
mov dword [edi + 0x2c], edx
mov byte [edi + 0x19], al
mov byte [edi + 0x20], 1
jmp case.0x49afec.12
mov ebx, dword [edi]
push eax
push edx
push esi
push eax
lea edx, [ebp - 0x68]
xor ecx, ecx
call fcn.00493a29
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
jne 0x49dfb1
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 0x49c887
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.00493a29
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
jne 0x49dfb1
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 0x49c8c2
cmp dword [ebp - 0x14], 6
je 0x49c8c2
cmp dword [ebp - 0x68], ebx
jl 0x49c8b2
lea eax, [ebp - 0x68]
push eax
push dword [edi]
call fcn.00493f18
jmp 0x49c8d2
mov eax, dword [edi]
xor ecx, ecx
cmp byte [eax + 0x43], 1
setne cl
mov dword [ebp - 0x68], ecx
jmp 0x49c8e8
cmp dword [ebp - 0x68], ebx
jge 0x49c8e5
lea eax, [ebp - 0x68]
push eax
push dword [edi]
call fcn.00493e38
pop ecx
pop ecx
mov dword [ebp - 8], eax
cmp eax, ebx
jne 0x49dfb1
mov byte [edi + 0x19], 0
jmp 0x49c8e8
mov dword [ebp - 0x68], ebx
cmp dword [ebp - 0x68], 0
je case.0x49afec.12
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
jmp 0x49b062
mov eax, dword [ebx + 4]
mov esi, dword [esi + 0x30]
mov esi, dword [esi + eax*4]
xor edx, edx
cmp dword [esi], edx
je 0x49c95e
cmp cl, 0x7a
jne 0x49c918
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.00493a29
mov ecx, dword [esi + 0x4c]
add esp, 0x10
mov dword [ebp - 8], eax
mov byte [ecx + 6], 0
test eax, eax
jne case.0x49afec.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 0x49c96a
test edx, edx
jmp 0x49ba7d
test edx, edx
jmp 0x49bc27
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.00497856
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.0x49afec.12
mov esi, dword [ebx + 0x14]
mov dword [ebp - 0x1c], esi
call fcn.00499c27
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.00493a29
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
jne 0x49dfb1
xor ebx, ebx
cmp dword [ebp - 0x80], ebx
jge 0x49ca0a
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x14]
call fcn.00493e38
pop ecx
pop ecx
mov dword [ebp - 8], eax
cmp dword [ebp - 0x80], ebx
jne 0x49c8f2
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x1c]
mov ecx, edi
push esi
push ebx
call fcn.00499d23
add esp, 0x10
mov dword [ebp - 8], eax
cmp eax, ebx
jne 0x49dfb1
cmp dword [ebp - 0x80], 0
jg 0x49c8f2
lea eax, [ebp - 0x18c]
push eax
push dword [ebp - 0x14]
call fcn.00499c66
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x49dfb1
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x188]
cmp edx, dword [ebp - 0x124]
jne 0x49ca6e
cmp ecx, dword [ebp - 0x120]
je 0x49c8f2
mov eax, dword [ebp - 0x54]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp case.0x49afec.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.0x49afec.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.00493a29
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 0x49c8ec
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 0x49b76d
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 0x49cd11
and dword [ebp - 0x14], 0
mov esi, eax
call fcn.004964dd
and al, 3
cmp al, 1
jne 0x49c641
mov esi, dword [ebp - 0x2c]
cmp byte [esi + 0x1b], 0
jne 0x49cc4d
cmp byte [esi + 0x1d], 0
je 0x49cb5c
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x3c], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x38], eax
jmp 0x49cbbc
mov eax, dword [esi]
lea ebx, [ebp - 0x88]
call fcn.004939ed
mov dword [ebp - 8], eax
test eax, eax
jne 0x49dfb1
xor ebx, ebx
cmp dword [ebp - 0x88], ebx
je 0x49cb8a
mov dword [ebp - 0x3c], 1
mov dword [ebp - 0x38], ebx
jmp 0x49cbb9
mov esi, dword [ebp - 0x2c]
mov eax, dword [esi]
lea edi, [ebp - 0x3c]
call fcn.00493374
cmp dword [ebp - 0x3c], 0xffffffff
jne 0x49cbac
cmp dword [ebp - 0x38], 0x7fffffff
jne 0x49cbac
mov byte [esi + 0x1b], 1
jmp 0x49cbb3
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 0x49cc16
mov eax, dword [ebp + 8]
imul ebx, ebx, 0x28
add ebx, dword [eax + 0x4c]
mov eax, ebx
call fcn.00497856
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
cmp eax, 0xffffffff
jne 0x49cbe9
cmp ecx, 0x7fffffff
je 0x49dfaa
cmp byte [esi + 0x1b], 0
jne 0x49dfaa
add eax, 1
adc ecx, 0
cmp dword [ebp - 0x38], ecx
jg 0x49cc0b
jl 0x49cc05
cmp dword [ebp - 0x3c], eax
jae 0x49cc0b
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 0x49cc3f
jb 0x49cc27
cmp dword [ebp - 0x3c], 0xffffffff
jae 0x49cc3f
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 0x49cc43
mov byte [esi + 0x1d], 0
cmp byte [esi + 0x1b], 0
je 0x49cd05
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 0x49cc82
mov eax, dword [ebp - 0x3c]
and eax, 0xffffff
cmp eax, dword [ebp - 0x3c]
jne 0x49cc82
cmp ecx, dword [ebp - 0x38]
jne 0x49cc82
add dword [ebp - 0x3c], 1
adc dword [ebp - 0x38], ecx
jmp 0x49cca0
lea eax, [ebp - 0x3c]
push eax
push 8
call fcn.0048bef1
cmp dword [ebp - 0x20], 5
pop ecx
pop ecx
jge 0x49cca0
and dword [ebp - 0x3c], 0xffffff
and dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x3c]
or eax, dword [ebp - 0x38]
je 0x49cccd
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.00493a29
mov ebx, dword [ebp - 0xc]
add esp, 0x10
inc dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x20], 0x64
jge 0x49cce6
cmp dword [ebp - 0x14], 0
jne 0x49cce6
cmp dword [ebp - 0x88], 0
je 0x49cc60
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 0x49cd05
cmp dword [ebp - 0x88], 0
je 0x49dfaa
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 0x49b0ab
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 0x49cd6e
inc dword [esi + 0x104]
test byte [ebx + 3], 2
je 0x49cd82
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 0x49cd9d
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 0x14]
jl 0x49cd9d
jg 0x49cd99
mov eax, dword [eax]
cmp eax, dword [ecx + 0x10]
jb 0x49cd9d
mov byte [ecx + 0x1d], 0
movzx eax, word [edi + 0x1c]
test al, 1
je 0x49cdad
and dword [edi + 0x14], 0
and dword [edi + 0x18], 0
cmp byte [ecx + 0x1e], 0
je 0x49ce5d
cmp byte [ecx + 0x1f], 0
jne 0x49cdcc
mov eax, dword [ebp - 0x44]
push dword [eax + 0x38]
call fcn.0048a842
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 0x49ce32
cmp byte [ecx + 0x1f], 0
jne 0x49ce32
add eax, 2
push eax
call fcn.0048a772
mov esi, dword [ebp - 0x44]
pop ecx
mov dword [esi + 0x38], eax
test eax, eax
je 0x49b25d
push dword [esi + 0x34]
push dword [edi + 0x14]
push eax
call fcn.004de9d0
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 0x49ce57
cmp byte [ecx + 0x1f], 0
mov dword [ecx + 0x38], edx
jne 0x49ce57
mov ax, word [edi + 0x1c]
mov edx, 0xffbf
and ax, dx
mov edx, pe_nt_image_headers32
or ax, dx
and dword [edi + 0x24], 0
mov word [edi + 0x1c], ax
mov byte [ecx + 0x1c], 0
jmp 0x49ce9a
test eax, 0x800
je 0x49ce68
mov eax, dword [edi]
jmp 0x49ce6a
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.00495a88
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.0x49afec.12
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xb8]
test ecx, ecx
je case.0x49afec.12
mov eax, dword [ebx + 0x10]
test eax, eax
je case.0x49afec.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.0x49afec.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 0x49cf3c
cmp dword [ebx + 0x10], 0
je 0x49cf3c
mov eax, dword [esi + 8]
mov dword [ebp - 0x134], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x130], eax
call fcn.004995de
mov dword [ebp - 8], eax
test eax, eax
jne 0x49dfb1
mov ebx, dword [esi]
call fcn.00495c49
and dword [esi + 0x68], 0
mov dword [ebp - 8], eax
mov byte [esi + 0x1d], 0
test eax, eax
jne 0x49cf9f
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0xb8]
test edx, edx
je 0x49cf9f
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x49cf9f
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.0x49afec.12
mov eax, dword [ebp + 8]
inc dword [eax + 0x104]
jmp case.0x49afec.12
cmp dword [ebx + 4], 0
je 0x49cfcf
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.0x49afec.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.004995de
mov dword [ebp - 8], eax
test eax, eax
jne 0x49dfb1
cmp byte [esi + 0x22], 0
mov eax, ebx
je 0x49d048
lea edi, [ebp - 0x194]
call fcn.00493374
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x50]
mov ecx, dword [ebp - 0x190]
cdq
cmp ecx, edx
jg 0x49b15d
mov ebx, dword [ebp - 0x194]
jl 0x49d040
cmp ebx, eax
ja 0x49b15d
mov dword [ebp - 0xbc], ebx
jmp 0x49d065
lea edi, [ebp - 0xbc]
call fcn.004933bb
mov ebx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc]
cmp ebx, dword [eax + 0x50]
ja 0x49b15d
mov edi, dword [ebp - 0x28]
push 0
mov eax, ebx
call fcn.00497461
pop ecx
test eax, eax
jne 0x49b25d
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 0x49d0aa
mov esi, dword [ebp - 0x1c]
call fcn.00493753
add esp, 0xc
jmp 0x49d0b5
push dword [ebp - 0x1c]
call fcn.00493790
add esp, 0x10
mov dword [ebp - 8], eax
jmp 0x49c26f
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x30]
mov esi, dword [ecx + eax*4]
call fcn.004995de
mov dword [ebp - 8], eax
test eax, eax
jne 0x49dfb1
cmp byte [esi + 0x19], al
je 0x49d0ec
mov eax, dword [esi + 8]
mov dword [ebp - 0xac], eax
mov eax, dword [esi + 0xc]
jmp 0x49d0fe
cmp byte [esi + 0x1e], 0
je 0x49d106
mov eax, dword [esi + 0x40]
mov dword [ebp - 0xac], eax
mov eax, dword [esi + 0x44]
mov dword [ebp - 0xa8], eax
jmp 0x49d120
cmp byte [esi + 0x1c], 0
jne case.0x49afec.12
mov eax, dword [esi]
lea edi, [ebp - 0xac]
call fcn.00493374
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0xac]
mov dword [edi], eax
mov eax, dword [ebp - 0xa8]
jmp 0x49b76a
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.0x49afec.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.004939ed
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.0x49afec.12
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
test eax, eax
jle case.0x49afec.12
jmp 0x49b062
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov esi, dword [ecx + eax*4]
mov edi, dword [esi]
test edi, edi
je 0x49d1d8
mov eax, edi
call fcn.004938b1
test eax, eax
jne 0x49d1c1
cmp byte [edi + 0x43], al
jne 0x49d1b6
mov dword [ebp - 0x6c], 1
jmp 0x49d1c1
and dword [ebp - 0x6c], 0
mov eax, edi
call fcn.00493967
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 0x49d1df
mov dword [ebp - 0x6c], 1
mov eax, dword [ebp - 0x6c]
mov byte [esi + 0x1c], al
jmp 0x49bbcf
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xd8], 0
jne 0x49dff3
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov esi, dword [ecx + eax*4]
test esi, esi
je case.0x49afec.12
cmp byte [esi + 0x1c], 0
mov eax, dword [esi]
jne 0x49d253
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x8c], 1
cmp byte [ebx], 0x67
push ecx
push eax
jne 0x49d231
call fcn.00493e38
jmp 0x49d236
call fcn.00493f18
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 0x49d253
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x18], ebx
mov byte [esi + 0x19], 0
jmp case.0x49afec.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.0x49afec.12
mov ecx, dword [ebp - 0x48]
mov eax, 0x800
mov edi, ecx
test word [ecx + 0x1c], ax
je 0x49d28e
mov eax, edi
call fcn.00497568
mov dword [ebp - 8], eax
jmp 0x49d292
and dword [ebp - 8], 0
xor ecx, ecx
cmp dword [ebp - 8], ecx
jne case.0x49afec.12
push dword [ebx + 0xc]
mov eax, dword [edi + 0x18]
mov edi, dword [edi + 0x14]
push ecx
push ecx
cdq
push 0x51d067
push edx
push eax
mov eax, dword [ebp - 0x30]
push edi
call fcn.00495a88
add esp, 0x1c
and dword [esi + 0x68], 0
mov dword [ebp - 8], eax
jmp case.0x49afec.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.0x49afec.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.00493a29
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
jne 0x49d344
cmp dword [ebp - 0x118], eax
jne 0x49d344
call fcn.00495c49
mov dword [ebp - 8], eax
and dword [edi + 0x68], 0
jmp case.0x49afec.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.0x49afec.12
cmp byte [eax + 0x1c], 0
jne case.0x49afec.12
lea eax, [ebp - 0x174]
push eax
push ecx
call fcn.00499c66
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x49dfb1
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 0x49b0ab
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [ecx + eax*4]
cmp dword [edi], 0
je case.0x49afec.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.00499d23
mov dword [ebp - 8], eax
mov eax, dword [edi + 0x48]
add esp, 0x10
mov byte [eax], 0
cmp byte [ebx], 0x28
jne 0x49d422
neg dword [ebp - 0x7c]
jmp 0x49d425
inc dword [ebp - 0x7c]
cmp dword [ebp - 0x7c], esi
jle case.0x49afec.12
jmp 0x49b03e
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x8c]
xor ecx, ecx
test eax, eax
je 0x49d47a
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x49d45b
cmp byte [eax + 0x101], 2
jae 0x49d45b
cmp dword [eax + 0x70], 0
jl 0x49d45b
inc ecx
mov eax, dword [eax + 8]
test eax, eax
jne 0x49d442
cmp ecx, 1
jle 0x49d47a
mov dword [ebp - 8], 6
mov dword [esi + 0x7c], 2
jmp case.0x49afec.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.0049113f
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.00496257
add esp, 0xc
mov dword [ebp - 0x30], eax
call fcn.004911a1
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.0x49afec.12
test esi, esi
je case.0x49afec.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 0x49d516
mov edx, dword [ecx + 8]
cmp dword [edx + 0x14], esi
jne 0x49d514
mov dword [edx + 0x14], ebx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x49d509
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x24]
jmp 0x49d52f
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jne 0x49d52d
mov dword [ecx + 0x14], ebx
mov eax, dword [eax]
test eax, eax
jne 0x49d522
jmp case.0x49afec.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.004961ea
mov dword [ebp - 8], eax
jmp 0x49de65
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.004960ab
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne case.0x49afec.12
mov eax, dword [ebp - 0x150]
jmp 0x49bb66
cmp dword [ebx + 8], 0
mov eax, dword [ebx + 4]
jne 0x49d5bc
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.0x49afec.12
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x49d5cb
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.0048bd11
mov esi, eax
add esp, 0x10
test esi, esi
je 0x49b25d
push 0
lea eax, [ebp - 0x1ec]
push eax
push fcn.004acd43
push esi
push edi
mov byte [edi + 0x80], 1
call fcn.004aaf82
add esp, 0x14
mov dword [ebp - 8], eax
cmp eax, 4
jne 0x49d63a
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 8], eax
push esi
call fcn.0048a842
cmp dword [ebp - 8], 7
mov byte [edi + 0x80], 0
pop ecx
je 0x49b25d
jmp case.0x49afec.12
mov ecx, dword [ebx + 4]
mov eax, dword [ebp - 0xc]
call fcn.004a2a79
mov dword [ebp - 8], eax
jmp case.0x49afec.12
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
push dword [ebp - 0xc]
call fcn.004a3c47
jmp 0x49de64
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0xc]
call fcn.004a395b
jmp 0x49de65
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov ebx, dword [ebp - 0xc]
call fcn.004b2229
jmp 0x49de65
mov eax, dword [ebx + 8]
mov dword [ebp - 0x2c], eax
lea eax, [eax*4 + 4]
push eax
call fcn.0048a772
pop ecx
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x49b25d
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 0x49d6fe
mov esi, eax
call fcn.0049775c
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 0x49d6e4
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.00496c2f
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.004978f9
cmp dword [ebp - 0xb4], 0
je 0x49d763
mov edx, dword [ebp - 0x10]
push fcn.0048a842
push 1
or eax, 0xffffffff
mov ecx, ebx
call fcn.00497a71
pop ecx
pop ecx
movzx eax, byte [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x10]
call fcn.00497441
pop ecx
push esi
call fcn.0048a842
jmp 0x49de65
mov esi, dword [ebp - 0x10]
call fcn.0049775c
mov edi, dword [ebp + 8]
push edx
push eax
add edi, 0x58
call fcn.0049737f
pop ecx
cmp eax, 7
jmp 0x49d64b
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xd8], 0
jne 0x49dff3
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.004973d6
cmp eax, 0x65
jmp 0x49bc27
mov edi, dword [esi + 0x64]
cmp edi, dword [esi + 0x68]
lea eax, [edi + 1]
mov dword [esi + 0x64], eax
jl 0x49d80d
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.0048ab19
pop ecx
pop ecx
mov dword [esi + 0x6c], eax
test eax, eax
je 0x49b25d
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.004de430
add esp, 0xc
jmp case.0x49afec.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.0049741a
add esi, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp case.0x49afec.12
mov edi, dword [ebp - 0x10]
mov eax, edi
call fcn.00497856
mov esi, dword [ebp - 0x48]
mov eax, esi
call fcn.00497856
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov ecx, dword [edi + 4]
cmp ecx, esi
jg case.0x49afec.12
jl 0x49d8b7
mov ecx, edi
mov ecx, dword [ecx]
cmp ecx, eax
jae case.0x49afec.12
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov dword [ecx + 4], esi
jmp case.0x49afec.12
mov eax, dword [ebp - 0x10]
cmp dword [eax + 4], 0
jl case.0x49afec.12
jg 0x49b03e
cmp dword [eax], 0
jbe case.0x49afec.12
jmp 0x49b03e
mov eax, dword [ebp - 0x10]
cmp dword [eax + 4], 0
jg case.0x49afec.12
jl 0x49b03e
cmp dword [eax], 0
jae case.0x49afec.12
jmp 0x49b03e
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
or ecx, dword [eax + 4]
jmp 0x49bc27
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 0x49d93d
mov dword [edi + edx*4], ecx
call fcn.0049acdd
inc edx
add ecx, 0x28
cmp edx, dword [ebp - 0x1c]
jl 0x49d92c
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 0x49d9a0
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 0x49d9e4
push 0
push ecx
lea eax, [ebp - 0x10c]
push eax
call fcn.00499fae
pop ecx
pop ecx
push eax
add esi, 0xf4
push esi
call fcn.0048abde
mov eax, dword [ebp - 0xe0]
add esp, 0xc
mov dword [ebp - 8], eax
lea eax, [ebp - 0x10c]
push eax
call fcn.004976f8
jmp 0x49de65
mov edi, dword [ebx + 4]
mov ecx, dword [ebx + 0x10]
imul edi, edi, 0x28
add edi, dword [esi + 0x4c]
mov eax, edi
call fcn.00497670
mov dword [ebp - 8], eax
cmp eax, 1
jne 0x49da2b
push 0
push ecx
push edi
call fcn.00499fae
pop ecx
pop ecx
push eax
add esi, 0xf4
push esi
call fcn.0048abde
add esp, 0xc
movzx eax, byte [ebp - 0x40]
push eax
mov eax, edi
call fcn.00497441
jmp 0x49b6eb
push dword [ebp - 0xc]
add esi, 0xf4
push esi
call fcn.004b3531
mov dword [ebp - 8], eax
jmp 0x49de64
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.00492dca
mov dword [ebp - 8], eax
cmp eax, 0x65
jne case.0x49afec.12
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x18], ebx
and dword [ebp - 8], 0
jmp case.0x49afec.12
cmp dword [ebx + 4], 0
je 0x49c449
mov byte [esi + 0xff], 1
jmp case.0x49afec.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.004972a1
mov dword [ebp - 8], eax
cmp eax, 6
jne case.0x49afec.12
push 0
push dword [ebx + 0x10]
add esi, 0xf4
push str.database_table_is_locked:
push esi
call fcn.0048abde
add esp, 0x10
jmp case.0x49afec.12
mov eax, dword [ebx + 0x10]
mov esi, dword [ebp - 0xc]
call fcn.004b418a
jmp 0x49d662
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xc]
lea ecx, [esi + 0xf4]
call fcn.004b3f15
jmp 0x49d550
mov ecx, dword [ebp - 0xc]
add esi, 0x101
mov byte [esi], 2
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
call fcn.004b409c
mov dword [ebp - 8], eax
mov byte [esi], 0
jmp 0x49de65
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.0x49afec.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.0049ad08
pop ecx
pop ecx
test eax, eax
je 0x49db7c
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.0x49afec.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 0x49de65
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 0x49dbe9
lea ecx, [eax + 0x50]
jmp 0x49dbcd
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [edx + eax*4], ecx
call fcn.0049acdd
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
add ecx, 0x28
cmp eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], ecx
jl 0x49dbca
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 0x49dc27
push dword [edi + 0x60]
mov eax, dword [ebp - 0x1c]
call dword [eax + 0x28]
pop ecx
test eax, eax
je 0x49dc27
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x18], ebx
mov byte [edi + 0x1c], 0
jmp case.0x49afec.12
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x1c], 0
jne case.0x49afec.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 0x49b0ab
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 0x49b2df
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.004de430
lea eax, [ebp - 0x10c]
add esp, 0xc
push eax
mov esi, edi
call fcn.00497a49
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.00497441
lea esi, [ebp - 0x10c]
jmp 0x49b6e4
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [ecx + eax*4]
cmp byte [edi + 0x1c], 0
jne case.0x49afec.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 0x49b03e
push dword [edi + 0x60]
mov eax, dword [ebp - 0x30]
call dword [eax + 0x28]
pop ecx
test eax, eax
jmp 0x49bc27
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 0x49dd8b
movzx eax, byte [ebp - 0x40]
push eax
mov eax, ebx
call fcn.004975fb
pop ecx
test eax, eax
jne 0x49b25d
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.004b38a3
jmp case.0x49afec.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 0x49ddcb
push 0
push str.read_only_table
jmp 0x49c336
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 0x49ddf8
call fcn.0049acdd
mov eax, dword [ebp - 0x1c]
mov dword [eax + edx*4], ecx
add ecx, 0x28
inc edx
cmp edx, dword [ebp - 0x14]
jl 0x49dde1
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.004b38a3
cmp dword [ebx + 4], 0
je 0x49de3c
cmp dword [ebp - 8], 0
jne 0x49de3c
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.0x49afec.12
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je case.0x49afec.12
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x94]
test eax, eax
je case.0x49afec.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 0x49af1a
jmp 0x49b284
mov dword [ebp - 8], 9
jmp 0x49b284
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 0x49deb2
push 0
lea eax, [esi + 0xf4]
push ebx
push eax
call fcn.0048abde
add esp, 0xc
push esi
call fcn.00499178
pop ecx
push 5
pop ebx
cmp eax, ebx
je 0x49df92
mov ebx, dword [esi + 0x74]
neg ebx
sbb ebx, ebx
and ebx, 0xffffff9c
add ebx, 0x65
jmp 0x49b294
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 0x49df16
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
call fcn.004975b8
mov ecx, dword [ebp - 0x6c]
call fcn.0049acdd
add dword [ebp - 0x6c], 0x28
inc edi
cmp edi, dword [ebx + 8]
jl 0x49defc
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1e], 0
jne 0x49b25d
mov eax, dword [ebp - 0x18]
inc dword [esi + 0x50]
inc eax
push 0x64
mov dword [esi + 0x70], eax
pop ebx
jmp 0x49b294
lea eax, [ebp - 0x1cc]
push eax
call fcn.004976f8
pop ecx
jmp 0x49b25d
cmp dword [ebx + 8], 0
mov edi, eax
je 0x49df5d
call fcn.004b983d
mov byte [edi + 0x1c], 1
jmp 0x49dec4
mov bl, byte [ebp - 0x71]
push esi
mov byte [edi + 0x1c], bl
call fcn.00499178
pop ecx
push 5
pop ecx
cmp eax, ecx
jne 0x49dec4
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 0x49b294
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], ebx
jmp 0x49b294
mov eax, dword [ebp - 0x18]
mov dword [ecx + 0x70], eax
mov ebx, edx
mov dword [ecx + 0x74], edx
jmp 0x49b294
mov dword [ebp - 8], 0xd
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1e], 0
je 0x49dfc1
mov dword [ebp - 8], 7
mov eax, dword [ebp - 8]
and eax, 0xff
cmp eax, 0x65
jg 0x49dfd5
call fcn.004b98d7
jmp 0x49dfda
mov eax, str.unknown_error
push 0
push eax
mov eax, dword [ebp + 8]
add eax, 0xf4
push eax
call fcn.0048abde
mov esi, dword [ebp + 8]
jmp 0x49b281
push 9
pop eax
mov dword [ebp - 8], eax
mov dword [esi + 0x74], eax
call fcn.004b98d7
push 0
push eax
lea eax, [esi + 0xf4]
push eax
call fcn.0048abde
jmp 0x49b281