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

Disassembly:
sub esp, 0x124
mov eax, dword [0x53a1a4]
xor eax, esp
mov dword [esp + 0x11c], eax
push ebx
push ebp
push esi
mov esi, ecx
mov ebp, dword [esi]
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 4]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebp + 0x30]
xor ebx, ebx
mov dword [esp + 0x40], eax
mov al, byte [edx + 0x4d]
mov edx, dword [ebp + 0x34]
push edi
mov edi, dword [esi + 8]
push esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebp
mov byte [esp + 0x3b], bl
mov byte [esp + 0x2c], al
mov dword [esp + 0x44], ebx
mov dword [esp + 0x34], edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
call fcn.00464f50
add esp, 4
cmp dword [esi + 0x5c], 7
je 0x4699a0
xor eax, eax
mov dword [esi + 0x5c], eax
mov dword [esi + 0x14], eax
mov ecx, dword [ebp + 0xe0]
mov dword [ebp + 0x1b4], eax
test ecx, ecx
jne 0x46e3e6
xor edx, edx
cmp dword [ebp + 0x114], eax
mov eax, dword [esi + 0x58]
setne dl
mov dword [esp + 0x1c], eax
mov dword [esp + 0x54], edx
cmp byte [ebp + 0x1e], 0
jne 0x4699a0
cmp dword [esp + 0x54], 0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x44]
lea ecx, [eax + eax*4]
lea ebp, [edx + ecx*4]
je 0x469551
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x11c]
cmp ecx, dword [esp + 0x40]
jne 0x46954d
mov edx, dword [eax + 0x118]
mov eax, dword [eax + 0x114]
push edx
call eax
add esp, 4
test eax, eax
jne 0x46e21c
mov dword [esp + 0x40], eax
inc dword [esp + 0x40]
test byte [ebp + 2], 2
je 0x469574
mov eax, dword [ebp + 8]
lea ecx, [eax + eax*4]
lea ebx, [edi + ecx*8]
mov eax, ebx
mov dword [esp + 0x24], ebx
call fcn.004632c0
mov edx, 4
mov word [ebx + 0x1c], dx
movzx eax, byte [ebp]
dec eax
cmp eax, 0x90
ja case.0x469584.17
jmp dword [eax*4 + 0x46e420]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0xe0]
test ecx, ecx
jne 0x46e3e6
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea ecx, [edi + edx*8]
mov eax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [esp + 0x1c]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov ecx, dword [ebp + 8]
dec ecx
mov dword [esp + 0x1c], ecx
jmp case.0x469584.17
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
mov eax, dword [edi + edx*8 + 0x10]
mov dword [esp + 0x1c], eax
jmp case.0x469584.17
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
mov eax, dword [edi + ecx*8 + 0x10]
lea ecx, [edi + ecx*8]
mov edx, 4
mov word [ecx + 0x1c], dx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x1c]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x1c], ecx
jmp case.0x469584.17
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
test byte [edi + edx*8 + 0x1c], 1
je case.0x469584.17
cmp dword [ebp + 4], 0
jne 0x46e229
mov eax, dword [esi + 0xa8]
test eax, eax
je 0x46e229
mov ecx, dword [eax + 0x3c]
dec dword [esi + 0xb0]
mov edi, dword [esp + 0x18]
mov dword [esi + 0xa8], ecx
mov ecx, dword [esi + 0x6c]
add dword [edi + 0x40], ecx
mov dword [edi + 0x3c], ecx
call fcn.00465850
cmp dword [ebp + 8], 4
mov edx, dword [edi + 0x30]
mov ecx, dword [edi + 0x34]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ecx
jne 0x46968c
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
mov ecx, dword [eax + edx*4 + 8]
dec ecx
mov dword [esp + 0x1c], ecx
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
mov dword [esp + 0x44], edx
mov dword [esp + 0x30], eax
jmp case.0x469584.17
mov eax, dword [ebp + 4]
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp case.0x469584.17
mov ebp, dword [ebp + 0x10]
mov ecx, dword [ebp]
mov dword [ebx + 0x10], ecx
mov edx, dword [ebp + 4]
mov dword [ebx + 0x14], edx
jmp case.0x469584.17
mov eax, 8
mov word [ebx + 0x1c], ax
mov ecx, dword [ebp + 0x10]
fld qword [ecx]
fstp qword [ebx + 8]
jmp case.0x469584.17
mov edi, dword [ebp + 0x10]
mov ecx, edi
mov byte [ebp], 9
call fcn.0044c290
cmp byte [esp + 0x28], 1
mov dword [ebp + 4], eax
je 0x4697e2
test edi, edi
jne 0x469701
mov esi, ebx
call fcn.004635d0
jmp 0x469780
mov eax, dword [ebx]
test eax, eax
je 0x46970c
mov eax, dword [eax + 0x48]
jmp 0x469711
mov eax, 0x3b9aca00
xor esi, esi
mov dword [esp + 0x14], eax
test eax, eax
jl 0x46972b
jmp 0x469720
cmp byte [edi + esi], 0
je 0x46972b
inc esi
cmp esi, eax
jle 0x469720
xor edx, edx
mov dword [esp + 0x2c], 0x202
push ebx
cmp edx, fcn.0044a370
jne 0x469748
call fcn.00463330
mov dword [ebx + 0x24], edi
jmp 0x469755
call fcn.00463330
mov dword [esp + 0x30], 0xa02
mov ax, word [esp + 0x30]
add esp, 4
cmp esi, dword [esp + 0x14]
mov dword [ebx + 0x20], 0
mov dword [ebx + 4], edi
mov dword [ebx + 0x18], esi
mov word [ebx + 0x1c], ax
mov byte [ebx + 0x1f], 1
mov byte [ebx + 0x1e], 3
jg 0x46a0a7
movzx ecx, byte [esp + 0x28]
mov eax, ebx
mov dword [esp + 0x14], 0
call fcn.00462f60
test eax, eax
jne 0x4699a0
mov ebx, dword [esp + 0x24]
mov cx, word [ebx + 0x1c]
mov dword [ebx + 0x24], eax
mov edx, 0xfbff
and cx, dx
mov eax, 0x800
or cx, ax
mov word [ebx + 0x1c], cx
cmp byte [ebp + 1], 0xff
jne 0x4697d2
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x18]
push ecx
push edx
call fcn.0044a370
add esp, 8
mov byte [ebp + 1], 0xff
mov eax, dword [ebx + 4]
mov dword [ebp + 0x10], eax
mov ecx, dword [ebx + 0x18]
mov dword [ebp + 4], ecx
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x18]
cmp edx, dword [eax + 0x48]
jg 0x46a0a7
mov ecx, 0xa02
mov word [ebx + 0x1c], cx
mov edx, dword [ebp + 0x10]
mov cl, byte [esp + 0x28]
mov dword [ebx + 4], edx
mov eax, dword [ebp + 4]
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x1f], cl
jmp case.0x469584.17
mov edx, 1
mov word [ebx + 0x1c], dx
jmp case.0x469584.17
mov esi, dword [ebp + 0x10]
mov ebp, dword [ebp + 4]
test esi, esi
jne 0x46983e
mov esi, ebx
call fcn.004635d0
mov al, byte [esp + 0x28]
mov byte [ebx + 0x1f], al
jmp case.0x469584.17
mov eax, dword [ebx]
test eax, eax
je 0x469849
mov eax, dword [eax + 0x48]
jmp 0x46984e
mov eax, 0x3b9aca00
mov edi, 0x10
test ebp, ebp
jge 0x469875
xor ebp, ebp
test eax, eax
jl 0x469870
lea ecx, [ecx]
mov cl, byte [esi + ebp + 1]
or cl, byte [esi + ebp]
je 0x469870
add ebp, 2
cmp ebp, eax
jle 0x469860
mov edi, 0x210
xor edx, edx
push ebx
cmp edx, fcn.0044a370
jne 0x46988d
call fcn.00463330
add esp, 4
mov dword [ebx + 0x24], esi
jmp 0x46989b
call fcn.00463330
add esp, 4
or edi, 0x800
mov al, byte [esp + 0x28]
mov byte [ebx + 0x1f], 1
mov dword [ebx + 0x20], 0
mov dword [ebx + 4], esi
mov dword [ebx + 0x18], ebp
mov word [ebx + 0x1c], di
mov byte [ebx + 0x1e], 4
mov byte [ebx + 0x1f], al
jmp case.0x469584.17
mov ebp, dword [ebp + 4]
mov edx, dword [esi + 0x48]
lea ecx, [ebp + ebp*4]
lea esi, [edx + ecx*8 - 0x28]
mov ecx, esi
mov dword [esp + 0x68], esi
call fcn.004637e0
test eax, eax
jne 0x46a0a7
push 0x800
push esi
call fcn.00463810
add esp, 8
jmp case.0x469584.17
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x6c], eax
mov ecx, dword [ebp + 4]
mov dword [esp + 0x70], ecx
mov ebp, dword [ebp + 8]
lea ecx, [ecx + ecx*4]
lea edx, [ebp + ebp*4]
lea ebx, [edi + ecx*8]
lea ecx, [edi + edx*8]
mov dword [esp + 0x74], ebp
mov dword [esp + 0x24], ecx
test eax, eax
je 0x469953
mov esi, ecx
dec eax
mov dword [esp + 0x6c], eax
mov edx, dword [esi + 0x24]
mov dword [esp + 0x68], edx
mov eax, esi
mov dword [esi + 0x24], 0
call fcn.004638c0
mov eax, dword [esp + 0x68]
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x6c]
add ebx, 0x28
add esi, 0x28
test eax, eax
jne 0x469920
mov dword [esp + 0x24], esi
dec eax
mov dword [esp + 0x6c], eax
jmp case.0x469584.17
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea edx, [ebp + ebp*4]
lea eax, [edi + edx*8]
lea ebx, [edi + ecx*8]
push 0x1000
push eax
mov dword [esp + 0x2c], ebx
call fcn.00463810
mov ecx, 0x1000
add esp, 8
test word [ebx + 0x1c], cx
je case.0x469584.17
mov eax, ebx
call fcn.00463090
test eax, eax
je case.0x469584.17
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
push 0x53dc24
add edi, 0x38
mov byte [eax + 0x1e], 1
call fcn.0044a760
mov dword [esp + 0x18], 7
jmp 0x46a0c4
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 4]
lea edx, [eax + eax*4]
lea eax, [ebp + ebp*4]
lea ecx, [edi + eax*8]
lea ebx, [edi + edx*8]
push 0x1000
push ecx
mov dword [esp + 0x2c], ebx
call fcn.00463810
add esp, 8
jmp case.0x469584.17
push 0
mov ecx, esi
call fcn.00466290
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne case.0x469584.17
push 1
push esi
call fcn.00466170
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne case.0x469584.17
mov edx, dword [esi + 0x54]
add edx, 2
or edx, 1
mov dword [esi + 0x54], edx
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
xor ecx, ecx
mov dword [esi + 0x14], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], ecx
cmp dword [ebp + 8], ecx
jle 0x469a9c
mov eax, dword [esp + 0x68]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x469a6c
call fcn.00463090
test eax, eax
jne 0x4699a0
mov ecx, dword [esp + 0x6c]
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x68]
lea eax, [ecx + eax*8]
call fcn.00463150
mov eax, dword [esp + 0x6c]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x68]
lea ecx, [eax + edx*8]
call fcn.00469170
mov ecx, dword [esp + 0x6c]
inc ecx
mov dword [esp + 0x6c], ecx
cmp ecx, dword [ebp + 8]
jl 0x469a46
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0x1e], 0
jne 0x4699a0
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
inc edx
mov dword [eax + 0x58], edx
mov edi, 0x64
jmp 0x46a123
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 0xc]
lea esi, [edi + edx*8]
lea eax, [eax + eax*4]
mov dl, byte [edi + eax*8 + 0x1c]
lea ebx, [edi + eax*8]
movzx eax, word [esi + 0x1c]
lea ecx, [ebp + ebp*4]
or dl, al
lea edi, [edi + ecx*8]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], edi
test dl, 1
je 0x469aff
mov esi, edi
call fcn.004635d0
jmp case.0x469584.17
test eax, 0x4000
je 0x469b15
mov eax, esi
call fcn.004630f0
test eax, eax
jne 0x4699a0
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x469b2f
mov eax, ebx
call fcn.004630f0
test eax, eax
jne 0x4699a0
test byte [esi + 0x1c], 0x12
jne 0x469b4f
movzx esi, byte [esp + 0x28]
mov eax, dword [esp + 0x2c]
call fcn.004631a0
test eax, eax
jne 0x4699a0
mov esi, dword [esp + 0x2c]
test byte [ebx + 0x1c], 0x12
jne 0x469b6d
movzx esi, byte [esp + 0x28]
mov eax, ebx
call fcn.004631a0
test eax, eax
jne 0x4699a0
mov esi, dword [esp + 0x2c]
mov eax, dword [esi + 0x18]
add eax, dword [ebx + 0x18]
cdq
mov ecx, edx
mov edx, dword [esp + 0x18]
mov edi, eax
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], ecx
mov eax, dword [edx + 0x48]
cdq
cmp ecx, edx
jg 0x46a0a7
jl 0x469b9a
cmp edi, eax
ja 0x46a0a7
mov edi, dword [esp + 0x24]
mov ax, word [edi + 0x1c]
mov ecx, 0xbf02
and ax, cx
or ax, 2
xor edx, edx
cmp edi, ebx
sete dl
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x68]
add eax, 2
push edx
call fcn.00462f80
add esp, 4
test eax, eax
jne 0x4699a0
cmp edi, ebx
je 0x469be9
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 4]
push eax
push ecx
push edx
call fcn.004f1f90
add esp, 0xc
mov eax, dword [esi + 0x18]
mov edx, dword [ebx + 0x18]
mov ecx, dword [esi + 4]
add edx, dword [edi + 4]
push eax
push ecx
push edx
call fcn.004f1f90
mov ecx, dword [esp + 0x74]
mov eax, dword [edi + 4]
mov byte [ecx + eax], 0
mov eax, dword [esp + 0x74]
mov edx, dword [edi + 4]
mov byte [eax + edx + 1], 0
mov al, byte [esp + 0x34]
mov ecx, 0x200
add esp, 0xc
or word [edi + 0x1c], cx
mov edx, dword [esp + 0x68]
mov dword [edi + 0x18], edx
mov byte [edi + 0x1f], al
jmp case.0x469584.17
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea ebx, [edi + ecx*8]
mov esi, ebx
call fcn.004692b0
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
lea esi, [edi + edx*8]
call fcn.004692b0
mov eax, dword [ebp + 0xc]
movzx edx, word [ebx + 0x1c]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
movzx eax, word [esi + 0x1c]
or edx, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x68], edx
test dl, 1
jne 0x469ebb
mov cl, byte [ebx + 0x1c]
and cl, byte [esi + 0x1c]
test cl, 4
je 0x469ccd
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x70], eax
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x74], ecx
mov edi, dword [esi + 0x10]
mov dword [esp + 0x78], edi
mov edx, dword [esi + 0x14]
mov dword [esp + 0x7c], edx
movzx edx, byte [ebp]
add edx, 0xffffffaa
cmp edx, 3
ja case.default.0x469cac
jmp dword [edx*4 + 0x46e664]
push ecx
push eax
lea eax, [esp + 0x80]
push eax
call fcn.0044d0e0
add esp, 0xc
test eax, eax
je 0x469da3
mov eax, ebx
call fcn.00463440
fstp qword [esp + 0x80]
mov eax, esi
call fcn.00463440
fst qword [esp + 0x88]
movzx eax, byte [ebp]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x469cf9
jmp dword [eax*4 + 0x46e674]
push ecx
push eax
lea edx, [esp + 0x80]
call fcn.0044d170
add esp, 8
test eax, eax
jne 0x469ccd
jmp 0x469da3
push ecx
push eax
lea ecx, [esp + 0x80]
push ecx
call fcn.0044d1c0
add esp, 0xc
test eax, eax
jne 0x469ccd
jmp 0x469da3
mov edx, eax
or edx, ecx
je 0x469ebb
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x469d57
test edi, edi
jne 0x469d57
cmp dword [esp + 0x7c], 0x80000000
je 0x469ccd
push ecx
push eax
mov eax, dword [esp + 0x84]
push eax
push edi
call fcn.004fe8a0
jmp 0x469d9b
mov edx, eax
or edx, ecx
je 0x469ebb
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x469d8b
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
push ecx
push eax
mov eax, dword [esp + 0x84]
push eax
push edi
call fcn.004fe950
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x78]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x7c]
mov cx, word [eax + 0x1c]
mov dword [eax + 0x14], edx
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp case.0x469584.17
fadd qword [esp + 0x80]
jmp 0x469e67
fsub qword [esp + 0x80]
jmp 0x469e67
fmul qword [esp + 0x80]
jmp 0x469e67
fldz
fld qword [esp + 0x80]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x469eb7
fdivp st(1)
jmp 0x469e67
fld qword [esp + 0x80]
call fcn.00506ec6
mov esi, eax
mov ebx, edx
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ebx
call fcn.00506ec6
mov ecx, esi
or ecx, ebx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
je 0x469ebb
mov ecx, esi
and ecx, ebx
cmp ecx, 0xffffffff
jne 0x469e52
mov esi, 1
xor ebx, ebx
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ebx
push ebx
push esi
push edx
push eax
call fcn.004fe950
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
fild qword [esp + 0x58]
sub esp, 8
fst qword [esp + 0x90]
fstp qword [esp]
call fcn.0044c250
add esp, 8
test eax, eax
jne 0x469ebb
mov esi, dword [esp + 0x24]
fld qword [esp + 0x88]
mov dx, word [esi + 0x1c]
fstp qword [esi + 8]
mov eax, 0xbf08
and dx, ax
or dx, 8
mov word [esi + 0x1c], dx
test byte [esp + 0x68], 8
jne case.0x469584.17
call fcn.00463490
jmp case.0x469584.17
fstp st(0)
fstp st(0)
mov esi, dword [esp + 0x24]
call fcn.004635d0
jmp case.0x469584.17
movzx ecx, byte [ebp + 3]
mov edx, dword [esi + 0xc]
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], ecx
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
xor eax, eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], eax
test ecx, ecx
jle 0x469f50
mov ecx, dword [esp + 0xb0]
mov dword [ecx + eax*4], edi
mov eax, dword [esp + 0x6c]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x469f2c
call fcn.00463090
test eax, eax
jne 0x4699a0
mov eax, dword [esp + 0x6c]
mov ecx, eax
call fcn.00469170
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
inc eax
add edi, 0x28
cmp eax, dword [esp + 0xb4]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edi
jl 0x469f02
cmp byte [ebp + 1], 0xfb
mov eax, dword [ebp + 0x10]
jne 0x469f67
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0
jmp 0x469f71
mov dword [esp + 0x74], eax
mov ecx, dword [eax]
mov dword [esp + 0x70], ecx
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
xor eax, eax
mov edx, 1
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov ebx, edi
lea eax, [esp + 0x78]
mov word [esp + 0x94], dx
mov dword [esp + 0x78], esi
call fcn.004638c0
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x70]
and eax, 0xbf01
or eax, 1
mov word [esp + 0x94], ax
mov dword [esp + 0xa4], 0
test byte [ecx + 3], 8
je 0x469fdb
mov edx, dword [ebp - 4]
mov dword [esp + 0xa8], edx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0xb4]
push edx
mov edx, dword [esp + 0x74]
push eax
mov eax, dword [edx + 0xc]
lea ecx, [esp + 0x78]
push ecx
call eax
mov ebx, dword [esp + 0x80]
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
add esp, 0xc
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
test ebx, ebx
je 0x46a03a
mov eax, dword [ebp + 4]
push eax
call fcn.004667f0
mov ecx, dword [esp + 0x78]
add esp, 4
mov dword [ebp + 0x10], ecx
mov byte [ebp + 1], 0xf9
cmp byte [esi + 0x1e], 0
jne 0x46e2c1
cmp dword [esp + 0xa4], 0
je 0x46a07f
mov bl, 1
lea edi, [esp + 0x78]
call fcn.00463e50
mov edi, dword [esp + 0x20]
push eax
push 0x53d944
add edi, 0x38
mov eax, esi
call fcn.0044a760
mov edx, dword [esp + 0xac]
mov edi, dword [esp + 0x2c]
add esp, 8
mov dword [esp + 0x14], edx
movzx ecx, byte [esp + 0x28]
lea eax, [esp + 0x78]
call fcn.00462f60
lea ebx, [esp + 0x78]
mov eax, edi
call fcn.004638c0
mov ecx, edi
call fcn.004637e0
test eax, eax
je case.0x469584.17
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
push 0x53dc0c
add edi, 0x38
call fcn.0044a760
mov dword [esp + 0x18], 0x12
add esp, 4
mov esi, dword [esp + 0x20]
mov edx, dword [esi + 0x38]
mov eax, dword [esi + 0xa0]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
push edx
push eax
push ecx
push str.statement_aborts_at__d:___s___s
push edi
mov dword [esi + 0x5c], edi
call sym.ShuamePacket.exe_sqlite3_log
add esp, 0x14
push esi
call fcn.004662f0
add esp, 4
cmp edi, 0xc0a
jne 0x46a109
mov edx, dword [esp + 0x18]
mov byte [edx + 0x1e], 1
mov al, byte [esp + 0x37]
mov edi, 1
test al, al
jbe 0x46a123
mov ecx, dword [esp + 0x18]
movzx eax, al
dec eax
call fcn.00479b90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [eax + 0x30], ecx
mov dword [eax + 0x34], edx
mov eax, dword [esp + 0x20]
push eax
call fcn.00464fb0
mov ecx, dword [esp + 0x130]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004ea10a
add esp, 0x124
ret
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov eax, dword [ebp + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov al, byte [edi + ecx*8 + 0x1c]
or al, byte [ebx + 0x1c]
lea ecx, [edi + ecx*8]
lea esi, [edi + edx*8]
mov dword [esp + 0x24], esi
test al, 1
je 0x46a191
call fcn.004635d0
jmp case.0x469584.17
call fcn.004633d0
mov ecx, ebx
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
call fcn.004633d0
mov edi, eax
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edx
mov al, byte [ebp]
mov byte [esp + 0x80], al
cmp al, 0x52
jne 0x46a1ca
and dword [esp + 0x68], edi
and dword [esp + 0x6c], edx
jmp 0x46a2cd
cmp al, 0x53
jne 0x46a1db
or dword [esp + 0x68], edi
or dword [esp + 0x6c], edx
jmp 0x46a2cd
mov ecx, edi
or ecx, edx
je 0x46a2cd
test edx, edx
jg 0x46a222
jl 0x46a1ef
test edi, edi
jae 0x46a217
mov cl, 0xa9
sub cl, al
cmp edx, 0xffffffff
mov al, cl
mov byte [esp + 0x80], al
jl 0x46a247
jg 0x46a208
cmp edi, 0xffffffc0
jbe 0x46a247
neg edi
adc edx, 0
neg edx
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edx
test edx, edx
jl 0x46a266
jg 0x46a222
cmp edi, 0x40
jb 0x46a266
cmp dword [esp + 0x6c], 0
jg 0x46a259
jl 0x46a232
cmp dword [esp + 0x68], 0
jae 0x46a259
cmp al, 0x54
je 0x46a259
or eax, 0xffffffff
cdq
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
jmp 0x46a2cd
mov dword [esp + 0x78], 0x40
mov dword [esp + 0x7c], 0
jmp 0x46a222
xor eax, eax
cdq
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
jmp 0x46a2cd
cmp al, 0x54
mov eax, dword [esp + 0x68]
mov ecx, edi
jne 0x46a27f
mov edx, dword [esp + 0x6c]
call fcn.00506e70
mov ebx, eax
mov ebp, edx
jmp 0x46a2b9
mov esi, dword [esp + 0x6c]
mov edx, esi
call fcn.005053c0
mov ebx, eax
mov ebp, edx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebp
test esi, esi
jg 0x46a2c1
jl 0x46a2a3
cmp dword [esp + 0x68], 0
jae 0x46a2c1
mov ecx, 0x40
sub ecx, edi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.00506e70
or ebx, eax
or ebp, edx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x70], ebx
mov esi, dword [esp + 0x24]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebp
mov edx, dword [esp + 0x68]
mov cx, word [esi + 0x1c]
mov dword [esi + 0x10], edx
mov eax, dword [esp + 0x6c]
mov edx, 0xbf04
and cx, dx
or cx, 4
mov dword [esi + 0x14], eax
mov word [esi + 0x1c], cx
jmp case.0x469584.17
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
call fcn.004634f0
mov eax, dword [ebp + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp case.0x469584.17
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea esi, [edi + ecx*8]
call fcn.004692b0
test byte [esi + 0x1c], 8
je 0x46a32a
call fcn.00463490
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x46a347
mov ebp, dword [ebp + 8]
test ebp, ebp
je 0x46e2d3
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
and eax, 0xbf04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.0x469584.17
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
test byte [edi + edx*8 + 0x1c], 4
lea esi, [edi + edx*8]
je case.0x469584.17
call fcn.00463520
jmp case.0x469584.17
mov ebp, dword [ebp + 4]
lea eax, [ebp + ebp*4]
movzx ecx, word [edi + eax*8 + 0x1c]
lea edi, [edi + eax*8]
test cl, 1
jne case.0x469584.17
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
mov word [edi + 0x1c], ax
test al, 2
jne 0x46a3b1
test al, 0xc
je 0x46a3b1
movzx esi, byte [esp + 0x28]
mov eax, edi
call fcn.004631a0
mov ecx, 0xfff3
and word [edi + 0x1c], cx
movzx eax, word [edi + 0x1c]
test eax, 0x4000
je 0x46a3de
mov eax, edi
call fcn.004630f0
mov edx, 0xbfe3
and word [edi + 0x1c], dx
mov dword [esp + 0x14], eax
jmp case.0x469584.17
mov edx, 0xbfe3
and word [edi + 0x1c], dx
mov dword [esp + 0x14], 0
jmp case.0x469584.17
mov ebp, dword [ebp + 4]
lea eax, [ebp + ebp*4]
lea edi, [edi + eax*8]
movzx eax, word [edi + 0x1c]
test al, 1
jne case.0x469584.17
test al, 0x10
jne 0x46a43b
test al, 2
jne 0x46a422
test al, 0xc
je 0x46a422
movzx esi, byte [esp + 0x28]
mov eax, edi
call fcn.004631a0
mov cx, word [edi + 0x1c]
mov edx, 0xbf10
and cx, dx
or cx, 0x10
mov word [edi + 0x1c], cx
jmp case.0x469584.17
and eax, 0xff10
mov word [edi + 0x1c], ax
jmp case.0x469584.17
mov ebp, dword [ebp + 4]
lea eax, [ebp + ebp*4]
lea eax, [edi + eax*8]
call fcn.00463550
jmp case.0x469584.17
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
test byte [edi + ecx*8 + 0x1c], 1
lea esi, [edi + ecx*8]
jne case.0x469584.17
call fcn.004634f0
jmp case.0x469584.17
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
test byte [edi + edx*8 + 0x1c], 1
lea esi, [edi + edx*8]
jne case.0x469584.17
call fcn.00463520
jmp case.0x469584.17
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
mov dx, word [edi + eax*8 + 0x1c]
lea esi, [edi + eax*8]
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea ebx, [edi + ecx*8]
mov word [esp + 0x6e], dx
mov ax, word [ebx + 0x1c]
mov cl, al
or cl, dl
mov word [esp + 0x70], ax
test cl, 1
je 0x46a524
mov cl, byte [ebp + 3]
test cl, cl
jns 0x46a4e1
and al, dl
test al, 1
mov eax, 0
sete al
jmp 0x46a597
test cl, 0x10
je 0x46a50e
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
mov ax, word [edi + edx*8 + 0x1c]
lea edi, [edi + edx*8]
mov ecx, 0xbf01
and ax, cx
or ax, 1
mov dword [esp + 0x24], edi
mov word [edi + 0x1c], ax
jmp case.0x469584.17
test cl, 8
je case.0x469584.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
mov al, byte [ebp + 3]
and al, 0x67
mov byte [esp + 0x6c], al
je 0x46a563
mov edx, dword [esp + 0x28]
push edx
mov edi, esi
call fcn.00469380
mov eax, dword [esp + 0x2c]
add esp, 4
push eax
mov al, byte [esp + 0x70]
mov edi, ebx
call fcn.00469380
mov ecx, dword [esp + 0x1c]
add esp, 4
cmp byte [ecx + 0x1e], 0
jne 0x4699a0
mov edi, dword [esp + 0x30]
mov edx, 0x4000
test word [esi + 0x1c], dx
je 0x46a575
mov eax, esi
call fcn.004630f0
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x46a587
mov eax, ebx
call fcn.004630f0
mov ecx, dword [ebp + 0x10]
push ecx
mov eax, esi
mov ecx, ebx
call fcn.00463aa0
add esp, 4
mov dword [esp + 0x68], eax
movzx ecx, byte [ebp]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x46a5a7
jmp dword [ecx*4 + 0x46e684]
xor edx, edx
test eax, eax
sete dl
mov eax, edx
jmp 0x46a5ea
xor ecx, ecx
test eax, eax
setne cl
jmp 0x46a5e8
xor edx, edx
test eax, eax
setl dl
mov eax, edx
jmp 0x46a5ea
xor ecx, ecx
test eax, eax
setle cl
jmp 0x46a5e8
xor edx, edx
test eax, eax
setg dl
mov eax, edx
jmp 0x46a5ea
xor ecx, ecx
test eax, eax
setge cl
mov eax, ecx
mov dword [esp + 0x68], eax
test byte [ebp + 3], 0x10
je 0x46a635
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
mov ax, word [edi + edx*8 + 0x1c]
lea edi, [edi + edx*8]
mov ecx, 0xbf04
and ax, cx
or ax, 4
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x68]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
mov dl, byte [esp + 0x6e]
mov byte [esi + 0x1c], dl
mov al, byte [esp + 0x70]
mov dword [esp + 0x24], edi
mov byte [ebx + 0x1c], al
jmp case.0x469584.17
test eax, eax
je 0x46a641
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
mov dl, byte [esp + 0x6e]
mov byte [esi + 0x1c], dl
mov al, byte [esp + 0x70]
mov byte [ebx + 0x1c], al
jmp case.0x469584.17
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x4c], ecx
jmp case.0x469584.17
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x68], ecx
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x78], esi
mov edx, dword [ebp + 4]
mov dword [esp + 0x70], edx
mov eax, dword [ebp + 8]
mov dword [esp + 0x74], eax
xor eax, eax
mov dword [esp + 0x6c], eax
test ecx, ecx
jle 0x46a716
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x30]
jmp 0x46a698
mov esi, dword [esp + 0x78]
test ebx, ebx
je 0x46a6a1
mov ecx, dword [ebx + eax*4]
jmp 0x46a6a3
mov ecx, eax
mov dword [esp + 0x7c], ecx
mov edx, dword [esi + eax*4 + 0xc]
mov dword [esp + 0x80], edx
mov esi, dword [esi + 8]
movzx eax, byte [esi + eax]
push edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x88], eax
lea eax, [ecx + edx]
mov edx, dword [esp + 0x74]
add ecx, edx
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [edi + eax*8]
lea ecx, [edi + ecx*8]
call fcn.00463aa0
add esp, 4
mov dword [esp + 0x48], eax
test eax, eax
jne 0x46a706
mov eax, dword [esp + 0x6c]
inc eax
cmp eax, dword [esp + 0x68]
mov dword [esp + 0x6c], eax
jl 0x46a694
mov dword [esp + 0x4c], 0
jmp case.0x469584.17
cmp dword [esp + 0x84], 0
je 0x46a716
neg eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 0
jmp case.0x469584.17
mov eax, dword [esp + 0x48]
test eax, eax
jge 0x46a738
mov ebp, dword [ebp + 4]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
jne 0x46a747
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
mov ebp, dword [ebp + 0xc]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [edi + edx*8 + 0x1c], 1
lea ecx, [edi + edx*8]
je 0x46a76b
mov edx, 2
jmp 0x46a77d
call fcn.004633d0
or eax, edx
je 0x46a77b
mov edx, 1
jmp 0x46a77d
xor edx, edx
mov dword [esp + 0x68], edx
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
je 0x46a798
mov eax, 2
jmp 0x46a7ae
call fcn.004633d0
or eax, edx
mov edx, dword [esp + 0x68]
je 0x46a7ac
mov eax, 1
jmp 0x46a7ae
xor eax, eax
mov dword [esp + 0x6c], eax
cmp byte [ebp], 0x45
jne 0x46a7c5
lea ecx, [eax + edx*2]
movzx eax, byte [edx + ecx + 0x517560]
jmp 0x46a7d0
lea eax, [eax + edx*2]
movzx eax, byte [edx + eax + 0x51756c]
mov dword [esp + 0x68], eax
mov ebp, dword [ebp + 0xc]
lea ecx, [ebp + ebp*4]
lea edi, [edi + ecx*8]
mov dword [esp + 0x24], edi
cmp eax, 2
jne 0x46a800
mov dx, word [edi + 0x1c]
mov eax, 0xbf01
and dx, ax
or dx, 1
mov word [edi + 0x1c], dx
jmp case.0x469584.17
mov cx, word [edi + 0x1c]
cdq
mov dword [edi + 0x14], edx
mov edx, 0xbf04
and cx, dx
or cx, 4
mov dword [edi + 0x10], eax
mov word [edi + 0x1c], cx
jmp case.0x469584.17
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea edx, [ebp + ebp*4]
lea ecx, [edi + eax*8]
lea esi, [edi + edx*8]
mov dword [esp + 0x24], esi
je 0x46a848
call fcn.004635d0
jmp case.0x469584.17
call fcn.004633d0
or eax, edx
jne 0x46a866
mov eax, 1
cdq
push edx
push eax
call fcn.00463670
add esp, 8
jmp case.0x469584.17
xor eax, eax
cdq
push edx
push eax
call fcn.00463670
add esp, 8
jmp case.0x469584.17
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea edx, [ebp + ebp*4]
lea ecx, [edi + eax*8]
lea esi, [edi + edx*8]
mov dword [esp + 0x24], esi
je 0x46a8a0
call fcn.004635d0
jmp case.0x469584.17
call fcn.004633d0
not edx
not eax
push edx
push eax
call fcn.00463670
add esp, 8
jmp case.0x469584.17
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea eax, [edi + eax*8]
je 0x46a8cd
mov eax, dword [ebp + 0xc]
jmp 0x46a8fb
call fcn.00463440
fcomp qword [0x522718]
fnstsw ax
test ah, 0x44
jnp 0x46a8e6
mov eax, 1
jmp 0x46a8e8
xor eax, eax
mov dword [esp + 0x68], eax
cmp byte [ebp], 0x1b
jne 0x46a8ff
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
mov dword [esp + 0x68], eax
test eax, eax
je case.0x469584.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [edi + edx*8 + 0x1c], 1
je case.0x469584.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
jne case.0x469584.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
mov ecx, dword [ebp + 4]
xor eax, eax
mov dword [esp + 0x78], ecx
mov edx, dword [ebp + 8]
mov dword [esp + 0x7c], edx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
xor edx, edx
mov dword [esp + 0x80], edx
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [esp + 0xa4], eax
mov cx, word [eax + 0x1c]
mov ebx, 0xbf01
and cx, bx
or cx, 1
mov word [eax + 0x1c], cx
mov ecx, dword [esp + 0x78]
mov eax, dword [esi + 0x44]
mov dword [esp + 0x84], edx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x80], eax
mov ecx, dword [eax]
mov dword [esp + 0x88], ecx
cmp ecx, edx
je 0x46aad8
mov edi, eax
call fcn.00466990
mov dword [esp + 0x14], eax
test eax, eax
jne 0x46e39f
mov eax, dword [esp + 0x80]
cmp byte [eax + 0x1c], 0
je 0x46aa29
mov dword [esp + 0x68], 0
jmp case.0x469584.17
mov edx, dword [eax + 0x4c]
mov ecx, dword [esp + 0x20]
cmp edx, dword [ecx + 0x54]
jne 0x46aa48
mov ecx, dword [eax + 0x50]
mov dword [esp + 0x68], ecx
mov edx, dword [eax + 0x5c]
mov dword [esp + 0x84], edx
jmp 0x46aa71
cmp byte [eax + 0x1f], 0
je 0x46aab9
mov eax, dword [esp + 0x88]
lea edi, [esp + 0x70]
call fcn.0045c060
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x14], eax
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x80]
test ecx, ecx
je case.0x469584.17
mov edx, dword [esp + 0x18]
cmp ecx, dword [edx + 0x48]
ja 0x46a0a7
mov edx, dword [eax + 0x14]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x94], edx
mov ecx, dword [eax + 0x54]
mov dword [esp + 0x8c], ecx
mov edi, dword [eax + 0x4c]
cmp edi, dword [esi + 0x54]
jne 0x46ab29
mov eax, dword [eax + 0x58]
mov dword [esp + 0x90], eax
jmp 0x46adfe
mov esi, dword [esp + 0x88]
mov edi, esi
call fcn.0045c010
mov ecx, dword [edi + 0x2c]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x14], 0
jmp 0x46aa6a
mov ecx, dword [eax + 0x10]
cmp ecx, edx
jle 0x46ab20
lea ecx, [ecx + ecx*4]
lea edi, [edi + ecx*8]
mov dword [esp + 0xe8], edi
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x68], ecx
mov ecx, dword [edi + 4]
mov dword [esp + 0x84], ecx
test byte [ebp + 3], 0x20
je 0x46ab11
xor esi, esi
mov dword [eax + 0x4c], esi
mov ecx, dword [esp + 0x68]
jmp 0x46aa6a
mov esi, dword [esi + 0x54]
mov dword [eax + 0x4c], esi
mov ecx, dword [esp + 0x68]
jmp 0x46aa6a
mov dword [esp + 0x68], edx
jmp case.0x469584.17
lea ecx, [ecx + edx*4]
mov dword [esp + 0x90], ecx
mov dword [esp + 0xe4], 0
mov dword [eax + 0x58], ecx
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x68]
mov dword [ecx + 0x50], edx
mov ecx, dword [esp + 0x80]
mov eax, dword [esi + 0x54]
mov dword [ecx + 0x4c], eax
mov ecx, dword [esp + 0x84]
test ecx, ecx
je 0x46ab70
mov dword [esp + 0xa0], ecx
jmp 0x46abe6
mov edx, dword [esp + 0x80]
cmp byte [edx + 0x1f], 0
je 0x46ab93
lea eax, [esp + 0xe4]
push eax
mov eax, dword [esp + 0x8c]
call fcn.0045c740
jmp 0x46aba7
mov eax, dword [esp + 0x88]
lea ecx, [esp + 0xe4]
push ecx
call fcn.0045c760
mov edx, dword [esp + 0x6c]
add esp, 4
mov dword [esp + 0xa0], eax
cmp edx, dword [esp + 0xe4]
ja 0x46abd1
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x84], eax
mov dword [ecx + 0x5c], eax
jmp 0x46abdf
mov edx, dword [esp + 0x80]
mov dword [edx + 0x5c], 0
mov ecx, dword [esp + 0xa0]
mov al, byte [ecx]
cmp al, 0x80
jae 0x46abfd
movzx edx, al
mov dword [esp + 0xd8], edx
mov eax, 1
jmp 0x46ac1a
lea esi, [esp + 0xd8]
call fcn.0044cf00
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0xa0]
movzx eax, al
movzx eax, al
mov dword [esp + 0xe0], eax
cmp edx, 0x18003
jbe 0x46ac3f
mov eax, 0xfdf7
call fcn.004a3e10
mov dword [esp + 0x14], eax
jmp case.0x469584.17
mov eax, dword [esp + 0x94]
lea ebx, [eax + eax*4 + 3]
cmp ebx, edx
mov dword [esp + 0x98], ebx
jle 0x46ac5e
mov ebx, edx
mov dword [esp + 0x98], ebx
cmp dword [esp + 0x84], 0
jne 0x46acd4
cmp dword [esp + 0xe4], ebx
jge 0x46acd4
mov edx, dword [esp + 0x80]
xor ecx, ecx
mov word [esp + 0xc4], cx
mov dword [esp + 0xa8], ecx
movzx eax, byte [edx + 0x1f]
push eax
push ecx
mov ecx, dword [esp + 0x90]
lea eax, [esp + 0xb0]
call fcn.00463d40
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne case.0x469584.17
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xd8]
mov ebx, dword [esp + 0x98]
mov eax, dword [esp + 0x94]
mov dword [esp + 0xa0], ecx
lea esi, [ecx + ebx]
mov dword [esp + 0xd4], esi
mov esi, dword [esp + 0xe0]
add esi, ecx
xor ecx, ecx
mov dword [esp + 0xd0], esi
mov dword [esp + 0x9c], ecx
test eax, eax
jle 0x46ada5
mov eax, dword [esp + 0xd0]
cmp eax, dword [esp + 0xd4]
mov eax, dword [esp + 0x90]
jae 0x46ae43
mov dword [eax + ecx*4], edx
mov ecx, dword [esp + 0xd0]
mov al, byte [ecx]
mov edx, dword [esp + 0x9c]
cmp al, 0x80
jae 0x46ad45
movzx ecx, al
mov eax, dword [esp + 0x8c]
mov dword [eax + edx*4], ecx
mov eax, 1
jmp 0x46ad57
mov eax, dword [esp + 0x8c]
lea esi, [eax + edx*4]
call fcn.0044cf00
movzx eax, al
mov edx, dword [esp + 0x8c]
movzx ecx, al
add dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x9c]
mov eax, dword [edx + ecx*4]
call fcn.00466b20
mov edx, dword [esp + 0xd8]
add edx, eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd8], edx
cmp edx, eax
jae 0x46ae58
mov ecx, dword [esp + 0xd4]
inc ecx
mov dword [esp + 0xd0], ecx
lea edx, [esp + 0xa8]
push edx
call fcn.00463330
mov ecx, dword [esp + 0xd8]
mov eax, 1
mov word [esp + 0xc8], ax
mov eax, dword [esp + 0xd4]
add esp, 4
cmp eax, ecx
ja 0x46af8f
mov edx, dword [esp + 0xd8]
mov esi, dword [esp + 0x68]
cmp edx, esi
ja 0x46af8f
cmp eax, ecx
jne 0x46adf7
cmp edx, esi
jne 0x46af8f
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x90]
cmp dword [edx + eax*4], 0
je 0x46af10
cmp dword [esp + 0x84], 0
je 0x46ae72
mov eax, dword [esp + 0xa4]
call fcn.004632c0
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x90]
mov ecx, dword [ecx + eax*4]
add ecx, dword [esp + 0x84]
jmp 0x46aeea
mov dword [eax + ecx*4], 0
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0x9c]
inc ecx
cmp ecx, dword [esp + 0x94]
mov dword [esp + 0x9c], ecx
jl 0x46acff
jmp 0x46ada5
mov eax, dword [ecx + eax*4]
call fcn.00466b20
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x98], eax
lea eax, [esp + 0xa8]
call fcn.004638c0
mov eax, dword [esp + 0x80]
movzx ecx, byte [eax + 0x1f]
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x98]
push ecx
mov ecx, dword [edx + eax*4]
push ecx
mov ecx, dword [esp + 0x90]
lea eax, [esp + 0xb0]
call fcn.00463d40
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne case.0x469584.17
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0xa4]
mov eax, dword [edx + eax*4]
call fcn.00466bf0
mov ecx, dword [esp + 0xa4]
mov dl, byte [esp + 0x28]
mov byte [ecx + 0x1f], dl
jmp 0x46af2e
cmp byte [ebp + 1], 0xf8
jne 0x46af2e
mov eax, dword [ebp + 0x10]
mov ebx, dword [esp + 0xa4]
push 0x800
push eax
call fcn.00463810
add esp, 8
cmp dword [esp + 0xcc], 0
je 0x46af7a
mov eax, dword [esp + 0xa4]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [esp + 0xa4]
mov edx, 0x200
or word [eax + 0x1c], dx
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xac]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0xcc]
mov eax, dword [esp + 0xa4]
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0xa4]
call fcn.00463090
mov dword [esp + 0x14], eax
jmp case.0x469584.17
mov eax, 0xfe41
call fcn.004a3e10
mov dword [esp + 0x14], eax
jmp case.0x469584.17
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x68], ecx
mov ebp, dword [ebp + 4]
mov al, byte [ecx]
lea edx, [ebp + ebp*4]
lea edi, [edi + edx*8]
mov byte [esp + 0x6c], al
test al, al
je 0x46aff9
lea ecx, [ecx]
inc ecx
mov dword [esp + 0x68], ecx
mov ecx, 0x4000
test word [edi + 0x1c], cx
je 0x46afdb
mov eax, edi
call fcn.004630f0
mov al, byte [esp + 0x6c]
mov edx, dword [esp + 0x28]
push edx
call fcn.00469380
mov ecx, dword [esp + 0x6c]
mov al, byte [ecx]
add esp, 4
add edi, 0x28
mov byte [esp + 0x6c], al
test al, al
jne 0x46afc0
inc ecx
mov dword [esp + 0x68], ecx
jmp case.0x469584.17
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x9c], eax
mov ecx, dword [ebp + 0x10]
lea edx, [eax + eax*4]
lea ebx, [edi + edx*8]
mov dword [esp + 0xa0], ecx
movzx ecx, byte [esi + 0x65]
mov dword [esp + 0x94], ebx
mov eax, dword [ebp + 8]
mov dword [esp + 0x9c], eax
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8 - 0x28]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x98], eax
mov ebp, dword [ebp + 0xc]
lea edx, [ebp + ebp*4]
lea ecx, [edi + edx*8]
mov edi, ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x6c], edi
cmp ebx, eax
ja 0x46b15a
cmp dword [esp + 0xa0], 0
je 0x46b0b9
mov edx, dword [esp + 0x28]
mov ecx, edi
sub ecx, ebx
push edx
mov eax, 0x66666667
imul ecx
mov ecx, dword [esp + 0xa4]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov al, byte [eax + ecx]
call fcn.00469380
mov ebx, dword [esp + 0x98]
mov edi, dword [esp + 0x70]
add esp, 4
mov edx, 0x4000
test word [edi + 0x1c], dx
je 0x46b0dc
cmp dword [edi + 0x18], 0
jle 0x46b0dc
mov eax, edi
call fcn.004630f0
mov ebx, dword [esp + 0x94]
mov edi, dword [esp + 0x6c]
mov eax, dword [esp + 0xa4]
push eax
mov ecx, edi
call fcn.00466a30
mov ecx, eax
add esp, 4
mov dword [esp + 0x90], ecx
call fcn.00466b20
mov esi, eax
cdq
add dword [esp + 0x70], eax
push 0
push ecx
adc dword [esp + 0x7c], edx
mov dword [esp + 0xb4], esi
call fcn.0044cf80
add dword [esp + 0x80], eax
mov ecx, 0x4000
add esp, 8
test word [edi + 0x1c], cx
je 0x46b137
mov edx, dword [edi + 0x10]
add dword [esp + 0x88], edx
jmp 0x46b146
test esi, esi
je 0x46b146
mov dword [esp + 0x88], 0
add edi, 0x28
mov dword [esp + 0x6c], edi
cmp edi, dword [esp + 0x98]
jbe 0x46b078
mov esi, dword [esp + 0x78]
mov eax, esi
cdq
push edx
push eax
call fcn.0044cf80
mov edi, eax
add esi, edi
mov eax, esi
cdq
push edx
push eax
mov dword [esp + 0x9c], edi
mov dword [esp + 0x88], esi
call fcn.0044cf80
add esp, 0x10
cmp edi, eax
jge 0x46b190
inc esi
mov dword [esp + 0x78], esi
mov eax, dword [esp + 0x88]
cdq
mov edi, eax
mov eax, esi
mov ebx, edx
cdq
mov esi, eax
mov eax, dword [esp + 0x18]
sub esi, edi
mov ecx, edx
sbb ecx, ebx
add esi, dword [esp + 0x70]
adc ecx, dword [esp + 0x74]
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], ecx
mov eax, dword [eax + 0x48]
cdq
cmp ecx, edx
jg 0x46a0a7
jl 0x46b1d7
cmp esi, eax
ja 0x46a0a7
mov edi, dword [esp + 0x24]
push 0
mov eax, esi
call fcn.00462f80
add esp, 4
test eax, eax
jne 0x4699a0
mov eax, dword [esp + 0x78]
mov ecx, dword [edi + 4]
mov dword [esp + 0x68], ecx
cmp eax, 0x80
jae 0x46b20c
mov dl, al
mov byte [ecx], dl
mov eax, 1
jmp 0x46b211
call fcn.0044cd50
mov ecx, dword [esp + 0x94]
movzx esi, al
mov eax, dword [esp + 0x98]
mov dword [esp + 0xa8], esi
mov dword [esp + 0x6c], ecx
cmp ecx, eax
ja 0x46b29a
mov eax, dword [esp + 0xa4]
push eax
call fcn.00466a30
add esp, 4
mov dword [esp + 0x90], eax
cmp eax, 0x80
jae 0x46b25f
mov edx, dword [esp + 0x68]
mov cl, al
mov byte [esi + edx], cl
mov eax, 1
jmp 0x46b26a
mov ecx, dword [esp + 0x68]
add ecx, esi
call fcn.0044cd50
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0xa8]
movzx edx, al
mov eax, dword [esp + 0x98]
add ecx, 0x28
add esi, edx
mov dword [esp + 0xa8], esi
mov dword [esp + 0x6c], ecx
cmp ecx, eax
jbe 0x46b231
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x6c], ecx
cmp ecx, eax
ja 0x46b2e6
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x68]
sub eax, esi
push eax
mov eax, dword [esp + 0xa8]
lea ebx, [esi + edx]
call fcn.00466b40
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0xac]
add ecx, 0x28
add esi, eax
add esp, 4
mov dword [esp + 0xa8], esi
mov dword [esp + 0x6c], ecx
cmp ecx, dword [esp + 0x98]
jbe 0x46b2a2
mov eax, dword [esp + 0x80]
mov ecx, 0x410
mov dword [edi + 0x18], eax
mov word [edi + 0x1c], cx
mov dword [edi + 0x20], 0
mov eax, dword [esp + 0x88]
test eax, eax
je 0x46b317
mov edx, 0x4410
mov dword [edi + 0x10], eax
mov word [edi + 0x1c], dx
mov byte [edi + 0x1f], 1
jmp case.0x469584.17
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x44]
mov edx, dword [ecx + eax*4]
mov eax, dword [edx]
xor ecx, ecx
mov dword [esp + 0x70], eax
cmp eax, ecx
je 0x46b359
lea ecx, [esp + 0x68]
push ecx
call fcn.00460600
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
mov dword [ebx + 0x10], edx
mov eax, dword [esp + 0x70]
add esp, 4
mov dword [ebx + 0x14], eax
jmp case.0x469584.17
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], ecx
mov edx, ecx
mov dword [ebx + 0x10], edx
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x14], eax
jmp case.0x469584.17
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x68], eax
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x6c], ebx
test eax, eax
jne 0x46b471
cmp dword [ecx + 0x90], eax
jle 0x46b3b7
push str.cannot_open_savepoint___SQL_statements_in_progress
mov edi, dword [esp + 0x24]
add edi, 0x38
mov eax, ecx
call fcn.0044a760
add esp, 4
mov dword [esp + 0x14], 5
jmp case.0x469584.17
mov ecx, ebx
call fcn.0044c290
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x70], eax
mov edx, dword [ebx + 0x1e4]
add edx, dword [ebx + 0x1e0]
push edx
push 0
call fcn.00498490
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x46e39f
mov ecx, dword [esp + 0x70]
add ecx, 0x19
mov esi, ebx
call fcn.0044a5b0
mov dword [esp + 0x74], eax
test eax, eax
je case.0x469584.17
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x74]
inc edx
push edx
mov edx, dword [ecx]
push eax
push edx
call fcn.004f1f90
add esp, 0xc
cmp byte [esi + 0x1c], 0
je 0x46b435
mov byte [esi + 0x1c], 0
mov byte [esi + 0x1e8], 1
jmp 0x46b43b
inc dword [esi + 0x1e0]
mov eax, dword [esi + 0x1dc]
mov ecx, dword [esp + 0x74]
mov dword [ecx + 0x10], eax
mov edx, dword [esp + 0x74]
mov eax, dword [esi + 0x1f0]
mov dword [esi + 0x1dc], edx
mov ecx, dword [esp + 0x74]
mov dword [ecx + 8], eax
mov edx, dword [esi + 0x1f4]
mov eax, dword [esp + 0x74]
mov dword [eax + 0xc], edx
jmp case.0x469584.17
xor ebp, ebp
mov dword [esp + 0x80], ebp
mov edi, dword [ecx + 0x1dc]
mov dword [esp + 0x78], edi
test edi, edi
je 0x46b4b0
jmp 0x46b490
mov ecx, dword [edi]
mov edx, ebx
call fcn.0044c420
test eax, eax
je 0x46b4d6
inc ebp
mov dword [esp + 0x80], ebp
mov edi, dword [edi + 0x10]
mov dword [esp + 0x78], edi
test edi, edi
jne 0x46b490
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
push ebx
push str.no_such_savepoint:__s
add edi, 0x38
call fcn.0044a760
add esp, 8
mov dword [esp + 0x14], 1
jmp case.0x469584.17
mov ebx, dword [esp + 0x18]
xor eax, eax
cmp dword [ebx + 0x90], eax
jg 0x46b6b2
mov ecx, dword [esp + 0x68]
cmp ecx, 2
jne 0x46b4fe
cmp dword [ebx + 0x8c], 1
jg 0x46b6b9
cmp dword [edi + 0x10], eax
jne 0x46b559
cmp byte [ebx + 0x1e8], 0
je 0x46b559
mov dword [esp + 0x2c], 1
cmp ecx, 1
jne 0x46b55d
push ecx
mov ecx, esi
call fcn.00466290
mov edi, eax
add esp, 4
test edi, edi
jne 0x46a123
push esi
mov byte [ebx + 0x1c], 1
call fcn.004662f0
add esp, 4
cmp eax, 5
je 0x46e2e0
mov byte [ebx + 0x1e8], 0
mov edx, dword [esi + 0x5c]
mov dword [esp + 0x14], edx
mov esi, ebx
jmp 0x46b5ed
mov dword [esp + 0x2c], eax
mov ecx, dword [ebx + 0x1e0]
sub ecx, ebp
dec ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
cmp dword [ebx + 4], eax
jle 0x46b5c4
mov esi, ebx
jmp 0x46b587
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x68]
push edx
mov edx, dword [esi + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
mov ebx, ecx
call fcn.0045bd80
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x46e39f
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 4]
jl 0x46b580
mov edi, dword [esp + 0x78]
cmp dword [esp + 0x68], 2
mov esi, dword [esp + 0x18]
jne 0x46b5f1
mov ebx, 0x200
test dword [esi + 0xc], ebx
je 0x46b5f1
mov eax, esi
call fcn.00467380
or eax, 0xffffffff
mov ecx, esi
call fcn.00479b90
or dword [esi + 0xc], ebx
mov edi, dword [esp + 0x78]
cmp dword [esi + 0x1dc], edi
je 0x46b636
or ebx, 0xffffffff
lea esp, [esp]
mov eax, dword [esi + 0x1dc]
mov dword [esp + 0x7c], eax
mov eax, dword [eax + 0x10]
mov dword [esi + 0x1dc], eax
mov ecx, dword [esp + 0x7c]
push ecx
push esi
call fcn.0044a370
add dword [esi + 0x1e0], ebx
mov edi, dword [esp + 0x80]
add esp, 8
cmp dword [esi + 0x1dc], edi
jne 0x46b600
cmp dword [esp + 0x68], 1
jne 0x46b66b
mov edx, dword [edi + 0x10]
mov dword [esi + 0x1dc], edx
mov eax, dword [esp + 0x78]
push eax
push esi
call fcn.0044a370
add esp, 8
cmp dword [esp + 0x2c], 0
jne case.0x469584.17
mov ebx, dword [esp + 0x18]
dec dword [ebx + 0x1e0]
jmp 0x46b68c
cmp dword [esp + 0x2c], 0
mov ecx, dword [edi + 8]
mov dword [esi + 0x1f0], ecx
mov edx, dword [edi + 0xc]
mov dword [esi + 0x1f4], edx
jne case.0x469584.17
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x68]
push eax
push ecx
call fcn.00498490
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x46e39f
jmp case.0x469584.17
cmp dword [esp + 0x68], 2
jne 0x46b6c0
mov eax, str.rollback
jmp 0x46b6c5
mov eax, str.release
mov edi, dword [esp + 0x20]
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
add edi, 0x38
mov eax, ebx
call fcn.0044a760
add esp, 8
mov dword [esp + 0x14], 5
jmp case.0x469584.17
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x68], eax
mov ebp, dword [ebp + 8]
mov dword [esp + 0x6c], ebp
test eax, eax
je 0x46b724
cmp byte [ecx + 0x1c], 0
jne 0x46b724
mov edx, 1
mov dword [esp + 0x70], edx
test ebp, ebp
je 0x46b743
cmp dword [ecx + 0x8c], edx
jle 0x46b72c
push str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x46b399
mov dword [esp + 0x70], 0
movzx edx, byte [ecx + 0x1c]
cmp eax, edx
jne 0x46e2f8
test eax, eax
jne 0x46b756
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x46b764
cmp dword [ecx + 0x90], 0
jle 0x46b72c
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x46b399
mov eax, str.cannot_rollback___no_transaction_is_active
test ebp, ebp
jne 0x46b764
mov eax, str.cannot_commit___no_transaction_is_active
mov edi, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
add edi, 0x38
call fcn.0044a760
add esp, 4
mov dword [esp + 0x14], 1
jmp case.0x469584.17
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
mov dword [esp + 0x68], eax
test eax, eax
je case.0x469584.17
mov ecx, dword [ebp + 8]
push ecx
push eax
call fcn.0045aa50
add esp, 8
mov dword [esp + 0x14], eax
cmp eax, 5
je 0x46e373
test eax, eax
jne 0x46e39f
cmp dword [ebp + 8], eax
je case.0x469584.17
mov esi, dword [esp + 0x20]
cmp byte [esi + 0x67], al
je case.0x469584.17
mov ebx, dword [esp + 0x18]
cmp byte [ebx + 0x1c], al
je 0x46b7f0
cmp dword [ebx + 0x8c], 1
jle case.0x469584.17
cmp dword [esi + 0x78], 0
jne 0x46b80d
inc dword [ebx + 0x1e4]
mov eax, dword [ebx + 0x1e4]
mov edx, dword [ebx + 0x1e0]
add edx, eax
mov dword [esi + 0x78], edx
mov eax, dword [esi + 0x78]
dec eax
push eax
push 0
call fcn.00498490
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x46b838
mov ecx, dword [esi + 0x78]
mov eax, dword [esp + 0x68]
push ecx
call fcn.0045bd30
add esp, 4
mov dword [esp + 0x14], eax
mov edx, dword [ebx + 0x1f0]
mov dword [esi + 0x98], edx
mov eax, dword [ebx + 0x1f4]
mov dword [esi + 0x9c], eax
jmp case.0x469584.17
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x6c], eax
mov ebp, dword [ebp + 0xc]
lea ecx, [esp + 0x68]
mov dword [esp + 0x70], ebp
push ecx
mov ecx, dword [edx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
push ebp
call fcn.00460510
mov eax, dword [esp + 0x70]
cdq
add esp, 8
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp case.0x469584.17
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x18]
shl edx, 4
add edx, dword [eax + 8]
mov dword [esp + 0x68], edx
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea esi, [edi + ecx*8]
call fcn.004634f0
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x68]
mov ebx, dword [ebp + 8]
mov eax, dword [eax + 4]
push edx
call fcn.00460580
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 8]
add esp, 4
cmp eax, 1
jne 0x46b8e9
mov ecx, dword [esp + 0x68]
mov eax, dword [esi + 0x10]
mov edx, dword [ecx + 0xc]
mov dword [edx], eax
mov eax, dword [esp + 0x18]
or dword [eax + 0xc], 0x200
jmp 0x46b8fb
cmp eax, 2
jne 0x46b8fb
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 0xc]
mov al, byte [esi + 0x10]
mov byte [edx + 0x4c], al
cmp dword [ebp + 4], 1
jne case.0x469584.17
mov eax, dword [esp + 0x18]
call fcn.00467380
mov ecx, dword [esp + 0x20]
mov byte [ecx + 0x63], 0
jmp case.0x469584.17
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 8]
shl edx, 4
mov eax, dword [edx + ecx + 4]
mov dword [esp + 0x70], eax
test eax, eax
je 0x46b959
lea edx, [esp + 0x68]
push edx
push 1
call fcn.00460510
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 8]
add esp, 8
shl eax, 4
mov eax, dword [eax + edx + 0xc]
mov eax, dword [eax + 4]
jmp 0x46b963
mov dword [esp + 0x68], 0
xor eax, eax
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x6c], eax
cmp ecx, dword [ebp + 8]
jne 0x46b979
cmp eax, dword [ebp + 0xc]
je case.0x469584.17
mov edx, dword [esi + 0x38]
mov edi, dword [esp + 0x18]
push edx
push edi
call fcn.0044a370
push edi
mov ebx, 0x53dad8
call fcn.0044a6e0
mov dword [esi + 0x38], eax
mov ebp, dword [ebp + 4]
mov ecx, dword [edi + 8]
mov eax, ebp
shl eax, 4
mov edx, dword [eax + ecx + 0xc]
mov eax, dword [edx]
add esp, 0xc
cmp eax, dword [esp + 0x68]
je 0x46b9b8
mov eax, ebp
mov ecx, edi
call fcn.00479b90
mov byte [esi + 0x63], 1
mov dword [esp + 0x14], 0x11
jmp case.0x469584.17
cmp byte [esi + 0x63], 0
je 0x46b9dc
mov dword [esp + 0x14], 4
jmp case.0x469584.17
mov ebx, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov edx, dword [ebp + 8]
mov dword [esp + 0x70], edx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x74], eax
shl eax, 4
add eax, dword [ebx + 8]
mov dword [esp + 0x84], eax
mov ebx, dword [eax + 4]
mov dword [esp + 0x7c], ebx
cmp byte [ebp], 0x27
jne 0x46ba2a
mov dword [esp + 0x78], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [esi + 0x65]
jae 0x46ba32
mov byte [esi + 0x65], al
jmp 0x46ba32
mov dword [esp + 0x78], 0
cmp byte [ebp + 3], 0
je 0x46ba5b
lea ecx, [edx + edx*4]
lea esi, [edi + ecx*8]
call fcn.004634f0
mov esi, dword [esi + 0x10]
cmp esi, 2
mov dword [esp + 0x70], esi
jl 0x46e387
mov ecx, dword [esp + 0x68]
mov esi, dword [esp + 0x20]
mov al, byte [ebp + 1]
cmp al, 0xfa
jne 0x46ba82
mov eax, dword [ebp + 0x10]
mov edx, dword [esi]
mov dword [esp + 0x6c], eax
mov ecx, dword [edx + 8]
mov edx, dword [ecx + 0xc]
mov cl, byte [edx + 0x4d]
mov byte [eax + 4], cl
mov edx, dword [esp + 0x6c]
movzx ecx, word [edx + 6]
inc ecx
jmp 0x46ba89
cmp al, 0xf2
jne 0x46ba8d
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x74]
push 1
push eax
push ecx
mov ecx, dword [ebp + 4]
push ecx
mov ebx, esi
call fcn.004691a0
add esp, 0x10
mov dword [esp + 0x80], eax
test eax, eax
je 0x4699a0
mov cl, 1
mov byte [eax + 0x1c], cl
mov edx, dword [esp + 0x80]
mov byte [edx + 0x20], cl
mov eax, dword [esp + 0x80]
mov ecx, dword [eax]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x74]
push edx
push eax
mov eax, dword [esp + 0x88]
push ecx
call fcn.0045bea0
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x7c]
add esp, 0x10
mov dword [esp + 0x14], eax
mov dword [edx + 8], ecx
cmp eax, 0x10
jne 0x46bb15
mov edx, dword [esp + 0x80]
mov dword [edx], 0
mov dword [esp + 0x14], 0
cmp byte [ebp + 1], 0xfa
mov ecx, dword [esp + 0x80]
setne al
mov byte [ecx + 0x1e], al
mov eax, dword [esp + 0x80]
cmp byte [eax + 0x1e], 0
sete dl
mov byte [eax + 0x1f], dl
jmp case.0x469584.17
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
push 1
push 0xffffffffffffffff
push eax
push ecx
mov ebx, esi
call fcn.004691a0
add esp, 0x10
mov dword [esp + 0x68], eax
test eax, eax
je 0x4699a0
mov ebx, 1
mov byte [eax + 0x1c], bl
movzx edx, byte [ebp + 3]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x68]
push 0x41e
or edx, 9
push edx
push eax
mov eax, dword [eax]
add ecx, 4
push eax
xor edx, edx
call fcn.00459ae0
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x46bc46
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 4]
push ebx
push edx
call fcn.0045aa50
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x46bc46
cmp dword [ebp + 0x10], eax
je 0x46bc25
mov ecx, dword [esp + 0x68]
lea eax, [esp + 0x50]
push 2
push eax
mov eax, dword [ecx + 4]
call fcn.0045feb0
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x46bc1b
mov eax, dword [esp + 0x68]
mov edx, dword [eax]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + 4]
push edx
mov edx, dword [esp + 0x54]
push ecx
push ebx
push edx
call fcn.0045bea0
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x10]
mov dword [ecx + 8], eax
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x78]
mov eax, dword [edx + 8]
mov cl, byte [ecx + 0x4d]
add esp, 0x10
mov byte [eax + 4], cl
mov edx, dword [esp + 0x68]
mov byte [edx + 0x1e], 0
jmp 0x46bc46
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push ecx
push 0
push ebx
push ebx
call fcn.0045bea0
mov edx, dword [esp + 0x78]
add esp, 0x10
mov dword [esp + 0x14], eax
mov byte [edx + 0x1e], bl
cmp byte [ebp + 3], 0x10
mov ecx, dword [esp + 0x68]
setne al
mov byte [ecx + 0x20], al
mov eax, dword [esp + 0x68]
cmp byte [eax + 0x1e], 0
sete dl
mov byte [eax + 0x1f], dl
jmp case.0x469584.17
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 4]
push 0
push 0xffffffffffffffff
push eax
push ecx
mov ebx, esi
call fcn.004691a0
add esp, 0x10
mov dword [esp + 0x68], eax
test eax, eax
je 0x4699a0
mov cl, 1
mov byte [eax + 0x1c], cl
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x68]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x68]
mov byte [edx + 0x1e], cl
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1f], 0
jmp case.0x469584.17
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x44]
mov eax, dword [edx + ecx*4]
mov ebx, esi
call fcn.00465800
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x44]
mov dword [ecx + eax*4], 0
jmp case.0x469584.17
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x44]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x70], eax
cmp dword [eax], 0
je 0x46959d
movzx ecx, byte [ebp]
mov dword [esp + 0x6c], ecx
mov byte [eax + 0x1c], 0
mov ecx, dword [esp + 0x70]
cmp byte [ecx + 0x1e], 0
je 0x46beaa
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea esi, [edi + edx*8]
call fcn.004692b0
mov ecx, esi
call fcn.004633d0
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x9c], edx
mov byte [eax + 0x19], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x46be43
test al, 8
jne 0x46bd46
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
xor ebx, ebx
cmp dword [esp + 0x98], ebx
jne 0x46bdef
mov eax, SysReAllocString
cmp dword [esp + 0x9c], eax
jne 0x46bdef
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x60]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x46bd89
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x46bdef
fldz
mov dword [esp + 0x68], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x46bdb5
cmp dword [esp + 0x6c], 0x2e
jl 0x46bde2
mov ecx, dword [esp + 0x70]
mov esi, dword [ecx]
lea edi, [esp + 0x68]
call fcn.0045cac0
jmp 0x46bdcb
cmp dword [esp + 0x6c], 0x2d
jg 0x46bde2
mov edx, dword [esp + 0x70]
mov esi, dword [edx]
lea edi, [esp + 0x68]
call fcn.0045caf0
mov dword [esp + 0x14], eax
cmp eax, ebx
jne 0x46e39f
cmp dword [esp + 0x68], 0
je case.0x469584.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
mov eax, dword [esp + 0x6c]
cmp eax, 0x2c
je 0x46be23
cmp eax, 0x2e
je 0x46be23
fild qword [esp + 0x98]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x46be43
mov eax, 0xffffffff
add dword [esp + 0x98], eax
adc dword [esp + 0x9c], eax
jmp 0x46be43
fild qword [esp + 0x98]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x46be43
add dword [esp + 0x98], 1
adc dword [esp + 0x9c], ebx
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x98]
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x74]
push 0
push ecx
mov ecx, dword [eax]
push edx
push 0
push ecx
call fcn.0045cb30
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
jne 0x46e39f
cmp dword [esp + 0x68], eax
jne 0x46bf27
mov edx, dword [esp + 0x70]
mov byte [edx + 0x19], 1
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x40], eax
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x70]
mov dword [eax + 0x44], edx
jmp 0x46bf27
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x90], edx
mov eax, dword [ecx + 8]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x6c]
and eax, 1
add eax, eax
add eax, eax
add eax, eax
mov word [esp + 0x7c], dx
mov word [esp + 0x7e], ax
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea eax, [edi + edx*8]
mov edx, 0x4000
mov dword [esp + 0x88], eax
test word [eax + 0x1c], dx
je 0x46bef6
call fcn.004630f0
mov ecx, dword [esp + 0x70]
lea eax, [esp + 0x68]
push eax
mov eax, dword [ecx]
push 0
push 0
push 0
lea edx, [esp + 0x88]
push edx
push eax
call fcn.0045cb30
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
jne 0x46e39f
mov ecx, dword [esp + 0x70]
mov byte [ecx + 0x19], al
mov edx, dword [esp + 0x70]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x70]
xor esi, esi
mov dword [eax + 0x4c], esi
mov ecx, dword [esp + 0x6c]
cmp ecx, 0x2e
mov eax, dword [esp + 0x68]
jl 0x46bf86
cmp eax, esi
jl 0x46bf59
jne 0x46bf50
cmp ecx, 0x2f
je 0x46bf59
mov dword [esp + 0x68], esi
jmp case.0x469584.17
mov edx, dword [esp + 0x70]
mov eax, dword [edx]
lea ecx, [esp + 0x68]
push ecx
push eax
call fcn.0045cf10
add esp, 8
mov dword [esp + 0x14], eax
cmp eax, esi
jne 0x46e39f
mov ecx, dword [esp + 0x70]
mov byte [ecx + 0x19], 0
jmp 0x46bdd7
cmp eax, esi
jg 0x46bfa9
jne 0x46bf91
cmp ecx, 0x2c
je 0x46bfa9
mov edx, dword [esp + 0x70]
mov eax, dword [edx]
xor ecx, ecx
cmp byte [eax + 0x53], 1
setne cl
mov dword [esp + 0x68], ecx
jmp 0x46bdd7
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
lea edx, [esp + 0x68]
push edx
push ecx
call fcn.0045d050
add esp, 8
mov dword [esp + 0x14], eax
cmp eax, esi
jne 0x46e39f
mov edx, dword [esp + 0x70]
mov byte [edx + 0x19], 0
jmp 0x46bdd7
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x68], eax
cmp dword [eax], 0
je case.0x469584.17
mov byte [eax + 0x1c], 0
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
lea ecx, [edi + edx*8]
call fcn.004633d0
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x68]
mov dword [eax + 0x3c], edx
mov ecx, dword [esp + 0x68]
mov byte [ecx + 0x19], 0
mov edx, dword [esp + 0x68]
mov byte [edx + 0x1d], 1
jmp case.0x469584.17
mov ecx, dword [esi + 0x44]
xor edx, edx
mov dword [esp + 0x68], edx
mov eax, dword [ebp + 4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x6c], eax
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + ecx*4]
lea edi, [edi + ecx*8]
cmp dword [eax], edx
je 0x46c103
cmp dword [ebp + 0x10], edx
jle 0x46c076
mov edx, dword [eax + 8]
mov dword [esp + 0x78], edx
mov cx, word [ebp + 0x10]
mov word [esp + 0x7c], cx
mov edx, 0x10
lea ecx, [esp + 0x78]
mov dword [esp + 0x88], edi
mov word [esp + 0x7e], dx
mov dword [esp + 0x74], ecx
jmp 0x46c0ab
mov edx, dword [edi + 4]
mov ecx, dword [edi + 0x18]
push edx
mov edx, dword [eax + 8]
push ecx
push edx
mov edx, 0x97
lea eax, [esp + 0x9c]
call fcn.00466e10
add esp, 0xc
mov dword [esp + 0x74], eax
test eax, eax
je 0x4699a0
or word [eax + 6], 0x10
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x74]
mov eax, dword [eax]
lea ecx, [esp + 0x70]
push ecx
push 0
push 0
push 0
push edx
push eax
call fcn.0045cb30
add esp, 0x18
cmp dword [ebp + 0x10], 0
mov esi, eax
mov dword [esp + 0x14], esi
jne 0x46c0db
mov eax, dword [esp + 0x74]
call fcn.00466f50
test esi, esi
jne case.0x469584.17
mov edx, dword [esp + 0x6c]
xor ecx, ecx
cmp dword [esp + 0x70], ecx
sete cl
mov dword [esp + 0x68], ecx
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x6c]
mov dword [eax + 0x4c], esi
mov edx, dword [esp + 0x68]
cmp byte [ebp], 0x32
jne 0x46c110
test edx, edx
jmp 0x46bddc
test edx, edx
jne case.0x469584.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0x10]
lea edx, [eax + eax*4]
lea eax, [edi + edx*8]
mov edx, dword [esi + 0x44]
mov dword [esp + 0x78], eax
lea ebx, [edi + ecx*8]
mov ecx, dword [ebp + 4]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x6c], eax
xor ecx, ecx
mov dword [eax + 0x48], ecx
mov eax, dword [esp + 0x6c]
mov dword [eax + 0x4c], ecx
mov edx, dword [esp + 0x6c]
mov ecx, dword [edx]
mov edi, dword [esp + 0x78]
mov dword [esp + 0x70], ecx
mov eax, dword [edx + 8]
mov cx, word [eax + 6]
xor eax, eax
xor esi, esi
mov word [esp + 0x74], cx
mov word [esp + 0x68], ax
cmp si, cx
jae 0x46c19d
lea esp, [esp]
movzx esi, ax
lea esi, [esi + esi*4]
test byte [edi + esi*8 + 0x1c], 1
jne 0x46c25c
inc ax
mov word [esp + 0x68], ax
cmp ax, cx
jb 0x46c180
cmp dword [esp + 0x70], 0
je case.0x469584.17
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x74]
inc edx
mov eax, 0x20
mov esi, ebx
mov dword [esp + 0x80], ecx
mov word [esp + 0x84], dx
mov word [esp + 0x86], ax
mov dword [esp + 0x90], edi
call fcn.004634f0
mov eax, dword [esp + 0x6c]
mov ecx, dword [ebx + 0x10]
add eax, 0x48
push eax
push 0
mov dword [esp + 0xa0], ecx
mov edx, dword [ebx + 0x14]
push 0
push 0
lea ecx, [esp + 0x90]
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x80]
push ecx
push edx
call fcn.0045cb30
add esp, 0x18
test byte [esp + 0x86], 0x20
mov dword [esp + 0x14], eax
jne 0x46959d
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x98]
jne 0x46c24a
mov ecx, dword [esp + 0x8c]
cmp ecx, dword [esp + 0x9c]
je 0x46959d
mov dword [ebx + 0x10], eax
mov edx, dword [esp + 0x8c]
mov dword [ebx + 0x14], edx
jmp case.0x469584.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x70], 0
jmp case.0x469584.17
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x44]
mov ecx, dword [edx + ecx*4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov dword [esp + 0x68], ecx
mov eax, dword [ecx]
mov dword [esp + 0x6c], eax
test eax, eax
je 0x46c323
xor esi, esi
mov dword [esp + 0x70], esi
mov ecx, dword [edi + 0x10]
lea ebx, [esp + 0x70]
push ebx
push esi
mov dword [esp + 0x80], ecx
mov edx, dword [edi + 0x14]
push edx
push ecx
push esi
push eax
mov dword [esp + 0x94], edx
call fcn.0045cb30
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x40], eax
mov edx, dword [edi + 0x14]
mov eax, dword [esp + 0x80]
mov dword [eax + 0x44], edx
mov edx, dword [esp + 0x80]
add esp, 0x18
cmp dword [esp + 0x70], esi
sete cl
mov byte [edx + 0x19], cl
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1c], 0
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x4c], esi
mov edx, dword [esp + 0x68]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x70]
cmp eax, esi
je 0x46c317
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x48], eax
jmp case.0x469584.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
mov dword [ecx + 0x48], 0
jmp case.0x469584.17
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x44]
mov eax, dword [eax + edx*4]
mov ecx, dword [eax + 0x30]
mov dword [ebx + 0x10], ecx
mov edx, dword [eax + 0x34]
mov dword [ebx + 0x14], edx
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.0x469584.17
mov ecx, dword [esi + 0x44]
xor eax, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], eax
mov edx, dword [ebp + 4]
mov edx, dword [ecx + edx*4]
mov dword [esp + 0x70], edx
mov ecx, dword [edx]
cmp ecx, eax
je 0x46c5f9
cmp byte [edx + 0x1b], al
jne 0x46c507
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x68], eax
mov ecx, dword [ecx + 0x1c]
mov ebx, eax
or ebx, ecx
mov dword [esp + 0x6c], ecx
jne 0x46c41c
mov esi, dword [edx]
lea edi, [esp + 0x74]
call fcn.0045caf0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x46e39f
cmp dword [esp + 0x74], eax
je 0x46c3cc
lea eax, [ebx + 1]
xor ecx, ecx
jmp 0x46c40c
mov edx, dword [esp + 0x70]
mov eax, dword [edx]
lea edi, [esp + 0x68]
call fcn.0045c060
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
cmp eax, 0xffffffff
jne 0x46c406
cmp ecx, 0x7fffffff
jne 0x46c406
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1b], 1
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
jmp 0x46c414
add eax, 1
adc ecx, 0
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], eax
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x20]
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x46c4ce
mov esi, dword [esi + 0xa8]
test esi, esi
je 0x46c460
mov ecx, esi
mov dword [esp + 0x80], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x46c451
mov ecx, eax
mov dword [esp + 0x80], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x46c441
mov ebp, dword [ebp + 0xc]
mov eax, dword [ecx + 0x10]
lea edx, [ebp + ebp*4]
lea esi, [eax + edx*8]
jmp 0x46c466
lea ecx, [edx + edx*4]
lea esi, [edi + ecx*8]
mov dword [esp + 0x7c], esi
call fcn.004634f0
mov edx, dword [esp + 0x7c]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
add edx, 0x10
cmp eax, 0xffffffff
jne 0x46c48d
cmp ecx, 0x7fffffff
je 0x46e397
mov esi, dword [esp + 0x70]
cmp byte [esi + 0x1b], 0
jne 0x46e397
mov esi, dword [esp + 0x6c]
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x46c4b9
jl 0x46c4b1
cmp dword [esp + 0x68], eax
jae 0x46c4b9
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + 0x68]
mov dword [edx], eax
mov ecx, dword [esp + 0x6c]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
cmp ecx, 0x7fffffff
jg 0x46c4e5
jl 0x46c4dd
cmp eax, 0xffffffff
jae 0x46c4e5
add eax, 1
adc ecx, 0
jmp 0x46c4e9
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x70]
mov esi, dword [edx]
push ecx
push eax
call fcn.0045bef0
mov edx, dword [esp + 0x78]
add esp, 8
cmp byte [edx + 0x1b], 0
je 0x46c5de
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
and eax, 0x3fffffff
add ecx, 1
lea esi, [esp + 0x74]
push esi
adc eax, 0
push 0
push eax
push ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x88], 0
mov eax, dword [edx]
push 0
push eax
call fcn.0045cb30
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
jne 0x46c5da
mov ecx, dword [esp + 0x74]
test ecx, ecx
jne 0x46c5cb
mov eax, dword [esp + 0x78]
inc eax
cmp eax, 0x64
mov dword [esp + 0x78], eax
jge 0x46c5cb
lea ecx, [esp + 0x68]
push ecx
push 8
call sym.ShuamePacket.exe_sqlite3_randomness
mov eax, dword [esp + 0x70]
add esp, 8
cmp dword [esp + 0x78], 5
jge 0x46c58c
and eax, 0xffffff
xor ecx, ecx
jmp 0x46c596
mov ecx, dword [esp + 0x6c]
and ecx, 0x3fffffff
add eax, 1
lea edx, [esp + 0x74]
push edx
adc ecx, 0
push 0
push ecx
push eax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x7c], ecx
mov ecx, dword [eax]
push 0
push ecx
call fcn.0045cb30
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
je 0x46c54f
jmp 0x46c5da
cmp dword [esp + 0x14], 0
jne 0x46c5da
test ecx, ecx
je 0x46e397
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x24]
mov byte [edx + 0x19], 0
mov edx, dword [esp + 0x70]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x70]
mov dword [eax + 0x4c], 0
mov ecx, dword [esp + 0x68]
mov dword [ebx + 0x10], ecx
mov edx, dword [esp + 0x6c]
mov dword [ebx + 0x14], edx
jmp case.0x469584.17
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [esi + 0x44]
mov dword [esp + 0x68], ecx
mov edx, dword [ebp + 4]
mov edx, dword [eax + edx*4]
mov dword [esp + 0x78], edx
cmp byte [ebp], 0x37
mov eax, dword [ebp + 0xc]
jne 0x46c645
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov dword [esp + 0x6c], edi
mov eax, dword [edi + 0x10]
mov dword [esp + 0x70], eax
mov edx, dword [edi + 0x14]
jmp 0x46c64a
cdq
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
test byte [ebp + 3], 1
je 0x46c657
inc dword [esi + 0x6c]
test byte [ebp + 3], 2
je 0x46c677
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x30], eax
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x74]
mov dword [ecx + 0x34], edx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x38], eax
xor eax, eax
test byte [ecx + 0x1c], 1
je 0x46c68d
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x18], eax
mov ecx, dword [esp + 0x68]
test byte [ebp + 3], 0x10
je 0x46c6a3
mov edx, dword [esp + 0x78]
mov edx, dword [edx + 0x48]
mov dword [esp + 0x80], edx
jmp 0x46c6aa
mov dword [esp + 0x80], eax
mov edx, 0x4000
test word [ecx + 0x1c], dx
je 0x46c6b8
mov eax, dword [ecx + 0x10]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x7c], eax
mov esi, dword [ecx]
push 0
push 0
call fcn.0045bef0
movzx edx, byte [ebp + 3]
mov eax, dword [esp + 0x84]
and edx, 8
push edx
push eax
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x84]
push edx
mov edx, dword [esp + 0x90]
push eax
mov eax, dword [edx]
push ecx
push 0
push eax
mov eax, dword [esp + 0xa8]
call fcn.0045f760
mov ecx, dword [esp + 0xa0]
mov byte [ecx + 0x19], 0
mov edx, dword [esp + 0xa0]
mov byte [edx + 0x1d], 0
mov ecx, dword [esp + 0xa0]
add esp, 0x28
mov dword [esp + 0x14], eax
mov dword [ecx + 0x4c], 0
test eax, eax
jne case.0x469584.17
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0xbc], eax
je case.0x469584.17
cmp dword [ebp + 0x10], eax
je case.0x469584.17
mov edx, dword [esp + 0x78]
mov eax, dword [edx + 0xc]
mov edx, dword [ecx + 8]
mov edi, dword [esp + 0x74]
shl eax, 4
mov edx, dword [eax + edx]
mov dword [esp + 0x84], edx
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x88], esi
mov al, byte [ebp + 3]
and al, 4
movzx eax, al
push edi
mov edi, dword [esp + 0x74]
neg eax
sbb eax, eax
push edi
and eax, 5
add eax, 0x12
push esi
push edx
mov dword [esp + 0x9c], eax
mov edx, dword [ecx + 0xb8]
push eax
mov eax, dword [ecx + 0xbc]
push edx
call eax
add esp, 0x18
jmp case.0x469584.17
mov edx, dword [esi + 0x44]
xor eax, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov ecx, dword [ebp + 4]
mov edi, dword [edx + ecx*4]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x70], edi
cmp dword [ecx + 0xbc], eax
je 0x46c7ef
cmp dword [ebp + 0x10], eax
je 0x46c7ef
mov edx, dword [edi + 0x40]
mov dword [esp + 0x68], edx
mov eax, dword [edi + 0x44]
mov dword [esp + 0x6c], eax
call fcn.00466990
mov dword [esp + 0x14], eax
test eax, eax
jne 0x46e39f
mov ecx, dword [esp + 0x70]
mov esi, dword [ecx]
push eax
push eax
call fcn.0045bef0
mov edx, dword [esp + 0x78]
mov esi, dword [edx]
add esp, 8
call fcn.0045f980
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x14], eax
mov dword [ecx + 0x4c], 0
test eax, eax
jne 0x46c86d
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xbc]
test ecx, ecx
je 0x46c86d
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x46c86d
mov esi, dword [esp + 0x6c]
push esi
mov esi, dword [esp + 0x6c]
push esi
mov esi, dword [edx + 8]
mov edx, dword [edx + 0xb8]
push eax
mov eax, dword [esp + 0x7c]
mov eax, dword [eax + 0xc]
shl eax, 4
mov eax, dword [eax + esi]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [ebp + 8], 1
je case.0x469584.17
mov eax, dword [esp + 0x20]
inc dword [eax + 0x6c]
jmp case.0x469584.17
mov eax, dword [esi + 0x6c]
mov ecx, dword [esp + 0x18]
add dword [ecx + 0x40], eax
mov dword [ecx + 0x3c], eax
mov dword [esi + 0x6c], 0
jmp case.0x469584.17
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x30]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], edx
mov edx, dword [ecx + 0x44]
mov edi, dword [edx + eax*4]
mov dword [esp + 0x68], edi
mov eax, dword [edi]
mov dword [esp + 0x6c], eax
call fcn.00466990
mov dword [esp + 0x14], eax
test eax, eax
jne 0x46e39f
mov ecx, dword [esp + 0x68]
cmp byte [ecx + 0x1f], al
je 0x46c915
mov eax, dword [esp + 0x6c]
lea edi, [esp + 0x78]
call fcn.0045c060
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x48]
mov ecx, dword [esp + 0x7c]
cdq
cmp ecx, edx
jg 0x46a0a7
mov ecx, dword [esp + 0x78]
jl 0x46c90d
cmp ecx, eax
ja 0x46a0a7
mov eax, ecx
mov dword [esp + 0x70], eax
jmp 0x46c934
mov esi, dword [esp + 0x6c]
mov edi, esi
call fcn.0045c010
mov eax, dword [edi + 0x2c]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x70], eax
cmp eax, dword [edx + 0x48]
ja 0x46a0a7
mov edi, dword [esp + 0x24]
push 0
call fcn.00462f80
add esp, 4
test eax, eax
jne 0x4699a0
mov eax, dword [esp + 0x70]
mov esi, edi
mov cx, word [esi + 0x1c]
mov edx, 0xbf10
and cx, dx
or cx, 0x10
mov dword [esi + 0x18], eax
mov word [esi + 0x1c], cx
mov eax, dword [esp + 0x68]
cmp byte [eax + 0x1f], 0
je 0x46c994
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x70]
push 0
push eax
mov eax, dword [esp + 0x74]
push ecx
push 0
call fcn.0045c370
mov dword [esp + 0x24], eax
mov byte [esi + 0x1f], 1
jmp 0x46e1f5
mov edx, dword [esi + 4]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
push edx
push eax
push 0
push ecx
call fcn.0045c680
mov dword [esp + 0x24], eax
mov byte [esi + 0x1f], 1
jmp 0x46e1f5
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x44]
mov edi, dword [eax + edx*4]
mov dword [esp + 0x68], edi
cmp byte [edi + 0x1c], 0
je 0x46c9d7
mov ecx, 1
mov word [ebx + 0x1c], cx
jmp case.0x469584.17
cmp byte [edi + 0x1d], 0
je 0x46c9f0
mov edx, dword [edi + 0x38]
mov dword [esp + 0x70], edx
mov eax, dword [edi + 0x3c]
mov dword [esp + 0x74], eax
jmp 0x46ca64
cmp dword [edi + 0x24], 0
je 0x46ca2a
mov ecx, dword [edi + 0x24]
mov eax, dword [ecx]
mov dword [esp + 0x78], eax
mov eax, dword [eax]
mov dword [esp + 0x7c], eax
mov ecx, dword [edi + 0x24]
lea edx, [esp + 0x70]
push edx
mov edx, dword [eax + 0x30]
push ecx
call edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x80]
push eax
push esi
call fcn.004693d0
add esp, 0x10
jmp 0x46ca64
call fcn.00466990
mov dword [esp + 0x14], eax
test eax, eax
jne 0x46e39f
mov eax, dword [esp + 0x68]
cmp byte [eax + 0x19], 0
je 0x46ca55
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x70], ecx
mov edx, dword [eax + 0x44]
mov dword [esp + 0x74], edx
jmp 0x46ca64
mov eax, dword [eax]
lea edi, [esp + 0x70]
call fcn.0045c060
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x74]
mov dword [eax + 0x14], edx
jmp case.0x469584.17
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x68], eax
mov byte [eax + 0x1c], 1
mov edx, dword [esp + 0x68]
mov byte [edx + 0x19], 0
mov eax, dword [esp + 0x68]
mov esi, dword [eax]
test esi, esi
je case.0x469584.17
call fcn.00458760
jmp case.0x469584.17
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x44]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x68], eax
mov esi, dword [eax]
mov dword [esp + 0x6c], esi
test esi, esi
jne 0x46cacd
mov dword [esp + 0x70], 1
jmp 0x46cade
lea edi, [esp + 0x70]
call fcn.0045caf0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov cl, byte [esp + 0x70]
mov byte [eax + 0x1c], cl
mov edx, dword [esp + 0x68]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x68]
mov byte [eax + 0x19], 0
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x4c], 0
mov ebp, dword [ebp + 8]
test ebp, ebp
jle case.0x469584.17
cmp dword [esp + 0x70], 0
je case.0x469584.17
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
inc dword [esi + 0x80]
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x44]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], 1
mov esi, dword [eax]
mov dword [esp + 0x6c], esi
test esi, esi
je 0x46cb80
lea edi, [esp + 0x70]
call fcn.0045cac0
cmp dword [esp + 0x70], 0
mov edx, dword [esp + 0x68]
sete cl
mov byte [edx + 0x1a], cl
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1d], 0
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x4c], 0
mov edx, dword [esp + 0x68]
mov byte [edx + 0x19], 0
mov eax, dword [esp + 0x68]
mov cl, byte [esp + 0x70]
mov byte [eax + 0x1c], cl
cmp dword [esp + 0x70], 0
je case.0x469584.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0xe0]
test eax, eax
jne 0x46e3e6
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x44]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x68], eax
test eax, eax
je case.0x469584.17
mov ecx, dword [eax]
mov dword [esp + 0x6c], ecx
test ecx, ecx
jne 0x46cbd9
mov byte [eax + 0x1c], 1
jmp case.0x469584.17
mov dword [esp + 0x70], 1
cmp byte [ebp], 0x43
jne 0x46cbf4
lea eax, [esp + 0x70]
push eax
push ecx
call fcn.0045cf10
jmp 0x46cbff
lea edx, [esp + 0x70]
push edx
push ecx
call fcn.0045d050
mov cl, byte [esp + 0x78]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1c], cl
mov edx, dword [esp + 0x70]
add esp, 8
mov dword [edx + 0x4c], 0
cmp dword [esp + 0x70], 0
jne 0x46cc3d
mov eax, dword [ebp + 8]
dec eax
mov dword [esp + 0x1c], eax
mov al, byte [ebp + 3]
test al, al
je 0x46cc3d
movzx eax, al
inc dword [esi + eax*4 + 0x78]
lea esi, [esi + eax*4 + 0x78]
mov ecx, dword [esp + 0x68]
mov byte [ecx + 0x19], 0
jmp case.0x469584.17
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x44]
mov edx, dword [eax + edx*4]
mov dword [esp + 0x68], edx
mov eax, dword [ebp + 8]
lea ecx, [eax + eax*4]
lea edi, [edi + ecx*8]
mov ecx, dword [edx]
mov dword [esp + 0x6c], ecx
test ecx, ecx
je case.0x469584.17
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x46cc94
mov eax, edi
call fcn.004630f0
mov dword [esp + 0x14], eax
test eax, eax
jne case.0x469584.17
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
mov eax, dword [edi + 0x18]
mov dword [esp + 0x70], eax
mov edi, dword [edi + 4]
mov dword [esp + 0x74], edi
test byte [ebp + 3], 0x10
je 0x46ccad
mov esi, dword [edx + 0x48]
jmp 0x46ccaf
xor esi, esi
mov edx, dword [ebp + 0xc]
push edx
push 0
push 0
cdq
push 0x5466e6
push edx
push eax
push edi
push ecx
mov eax, esi
call fcn.0045f760
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x88]
add esp, 0x20
mov dword [eax + 0x4c], 0
jmp case.0x469584.17
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x44]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x68], eax
mov ecx, dword [eax]
mov dword [esp + 0x6c], ecx
test ecx, ecx
je case.0x469584.17
mov eax, dword [eax + 8]
mov dword [esp + 0x78], eax
mov dx, word [ebp + 0xc]
xor eax, eax
mov word [esp + 0x7c], dx
mov word [esp + 0x7e], ax
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
lea eax, [edi + edx*8]
lea edx, [esp + 0x70]
push edx
push 0
push 0
mov dword [esp + 0x94], eax
push 0
lea eax, [esp + 0x88]
push eax
push ecx
call fcn.0045cb30
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
jne 0x46cd5c
cmp dword [esp + 0x70], eax
jne 0x46cd5c
mov esi, dword [esp + 0x6c]
call fcn.0045f980
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x4c], 0
jmp case.0x469584.17
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x44]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x6c], eax
mov ecx, dword [eax]
mov dword [esp + 0x68], ecx
mov edx, 1
mov word [ebx + 0x1c], dx
cmp dword [esp + 0x68], 0
je case.0x469584.17
mov edi, dword [esp + 0x6c]
call fcn.00466990
mov dword [esp + 0x14], eax
test eax, eax
jne 0x46e39f
mov eax, dword [esp + 0x6c]
cmp byte [eax + 0x1c], 0
jne case.0x469584.17
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x70]
push ecx
call fcn.00467140
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x46e39f
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x24]
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x74]
mov edx, 4
mov dword [eax + 0x14], ecx
mov word [eax + 0x1c], dx
jmp case.0x469584.17
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x44]
mov edi, dword [ecx + eax*4]
mov dword [esp + 0x68], edi
cmp dword [edi], 0
je case.0x469584.17
mov edx, dword [edi + 8]
mov dword [esp + 0x70], edx
mov ax, word [ebp + 0x10]
mov word [esp + 0x74], ax
cmp byte [ebp + 3], 0
je 0x46ce2b
mov ecx, 0xc
mov word [esp + 0x76], cx
jmp 0x46ce35
mov edx, 4
mov word [esp + 0x76], dx
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x30]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x74]
push ecx
mov dword [esp + 0x88], edx
call fcn.004672a0
add esp, 8
cmp byte [ebp], 0x51
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x6c]
jne 0x46ce6d
neg eax
jmp 0x46ce6e
inc eax
mov dword [esp + 0x6c], eax
test eax, eax
jle case.0x469584.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
mov edx, dword [esp + 0x18]
mov dword [esp + 0x6c], 0
mov eax, dword [edx + 0x88]
mov dword [esp + 0x70], eax
mov edx, 1
test eax, eax
je 0x46ced0
mov ecx, 0xbdf20da3
jmp 0x46ceb0
cmp dword [eax + 0x34], ecx
jne 0x46cec5
cmp byte [eax + 0x66], 2
jae 0x46cec5
cmp dword [eax + 0x58], 0
jl 0x46cec5
add dword [esp + 0x6c], edx
mov eax, dword [eax + 0x40]
mov dword [esp + 0x70], eax
test eax, eax
jne 0x46ceb0
mov eax, edx
mov word [ebx + 0x1c], ax
cmp dword [esp + 0x6c], edx
jle 0x46ceed
mov dword [esp + 0x14], 6
mov byte [esi + 0x60], 2
jmp case.0x469584.17
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x74], eax
mov edx, dword [ebp + 4]
lea ecx, [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
call fcn.004604c0
mov ecx, eax
mov eax, 4
mov word [ebx + 0x1c], ax
mov eax, dword [esp + 0x70]
cdq
add esp, 8
mov dword [esp + 0x14], ecx
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
test ecx, ecx
jne case.0x469584.17
mov esi, dword [esp + 0x68]
test esi, esi
je case.0x469584.17
mov edi, dword [ebp + 4]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x18]
call fcn.0047ba00
mov al, byte [esp + 0x74]
inc al
mov byte [esp + 0x37], al
jmp case.0x469584.17
mov dword [esp + 0x68], 0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 4]
neg ecx
sbb ecx, ecx
lea edx, [esp + 0x68]
and ecx, edx
push ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 8]
shl eax, 4
mov esi, dword [eax + edx + 4]
call fcn.004600b0
add esp, 4
cmp dword [ebp + 0xc], 0
mov dword [esp + 0x14], eax
je case.0x469584.17
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x20]
add dword [ecx + 0x6c], eax
mov ebp, dword [ebp + 0xc]
test ebp, ebp
jle case.0x469584.17
lea ecx, [ebp + ebp*4]
cdq
add dword [edi + ecx*8 + 0x10], eax
lea ecx, [edi + ecx*8 + 0x10]
adc dword [ecx + 4], edx
jmp case.0x469584.17
mov edx, dword [esp + 0x18]
mov dword [esp + 0x68], 0
mov eax, dword [ebp + 4]
shl eax, 4
add eax, dword [edx + 8]
xor ecx, ecx
mov dword [esp + 0x70], eax
cmp byte [ebp], 0x62
setne cl
inc ecx
mov dword [esp + 0x6c], ecx
mov eax, dword [eax + 4]
push ecx
lea ecx, [esp + 0x6c]
push ecx
call fcn.0045feb0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x70]
cdq
add esp, 8
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp case.0x469584.17
mov eax, dword [ebp + 4]
mov dword [esp + 0x68], eax
mov edx, 0x53daf4
cmp eax, 1
je 0x46d02d
mov edx, 0x53db08
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x74], ecx
mov edi, dword [ebp + 4]
add esi, 0x38
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], edi
mov esi, dword [ebp + 0x10]
push esi
push edx
mov edx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + edx]
push eax
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov esi, ecx
call fcn.0044b800
add esp, 0x10
mov dword [esp + 0x70], eax
test eax, eax
je 0x4699a0
push 0
lea ecx, [esp + 0x78]
push ecx
mov byte [esi + 0x7c], 1
mov edx, dword [esp + 0x78]
push fcn.0048b1b0
push edx
push esi
mov dword [esp + 0x94], 0
call sym.ShuamePacket.exe_sqlite3_exec
mov edi, eax
add esp, 0x14
mov dword [esp + 0x14], edi
test edi, edi
jne 0x46d0b1
mov eax, dword [esp + 0x80]
mov dword [esp + 0x14], eax
mov edi, eax
mov ecx, dword [esp + 0x70]
push ecx
push esi
call fcn.0044a370
add esp, 8
mov byte [esi + 0x7c], 0
cmp edi, 7
je 0x4699a0
jmp case.0x469584.17
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
call fcn.00478470
mov dword [esp + 0x14], eax
jmp case.0x469584.17
mov edx, dword [esp + 0x18]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push edx
call fcn.00479ee0
add esp, 4
jmp case.0x469584.17
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 4]
call fcn.00479ac0
add esp, 4
jmp case.0x469584.17
mov ecx, dword [esp + 0x18]
mov eax, dword [ebp + 4]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.00494b10
add esp, 4
jmp case.0x469584.17
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x18]
lea ecx, [eax*4 + 4]
mov dword [esp + 0x68], eax
call fcn.0044a5b0
mov dword [esp + 0x6c], eax
test eax, eax
je 0x4699a0
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x30]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x7c], ecx
mov ecx, dword [ebp + 4]
lea ecx, [ecx + ecx*4]
lea esi, [edx + ecx*8]
xor ecx, ecx
cmp dword [esp + 0x68], ecx
mov dword [esp + 0x70], ecx
jle 0x46d1a9
jmp 0x46d180
lea edx, [ecx + ecx*4]
lea ecx, [esi + edx*8]
call fcn.004633d0
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0x70]
inc ecx
cmp ecx, dword [esp + 0x68]
mov dword [esp + 0x70], ecx
jl 0x46d180
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x18]
mov dword [eax + ecx*4], 0
mov ecx, dword [esp + 0x7c]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x6c]
lea eax, [esp + 0x74]
push eax
mov eax, dword [esp + 0x6c]
push edx
movzx edx, byte [ebp + 3]
push eax
mov eax, dword [edi + 8]
shl edx, 4
mov edx, dword [edx + eax + 4]
call fcn.004612f0
mov ecx, dword [esp + 0x78]
add esp, 0xc
push ecx
push edi
mov dword [esp + 0x80], eax
call fcn.0044a370
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x84]
cdq
add ecx, 0x10
add esp, 8
sub dword [ecx], eax
sbb dword [ecx + 4], edx
call fcn.004635d0
cmp dword [esp + 0x74], 0
je 0x46d235
mov eax, dword [esp + 0x78]
test eax, eax
je 0x4699a0
push 1
push 0xffffffffffffffff
push eax
mov eax, sym.ShuamePacket.exe_sqlite3_free
mov ecx, esi
call fcn.00463910
add esp, 0xc
movzx ecx, byte [esp + 0x28]
mov eax, esi
call fcn.00462f60
jmp case.0x469584.17
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea edx, [eax + eax*4]
lea esi, [edi + edx*8]
mov bl, 0x20
lea eax, [ebp + ebp*4]
lea ebp, [edi + eax*8]
test byte [esi + 0x1c], bl
jne 0x46d270
mov edi, esi
call fcn.00463730
test byte [esi + 0x1c], bl
je 0x4699a0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov edi, dword [esi + 0x10]
push ecx
push edx
call fcn.00451280
add esp, 8
jmp case.0x469584.17
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0xe0]
test ecx, ecx
jne 0x46e3e6
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [edi + edx*8 + 0x1c], 0x20
lea ebx, [edi + edx*8]
je 0x46d2db
mov eax, dword [ebx + 0x10]
lea esi, [esp + 0x68]
call fcn.004515e0
test eax, eax
je 0x46d2db
mov eax, dword [esp + 0x6c]
mov ebp, dword [ebp + 0xc]
mov ecx, dword [esp + 0x68]
push eax
lea edx, [ebp + ebp*4]
push ecx
lea esi, [edi + edx*8]
call fcn.00463670
add esp, 8
jmp case.0x469584.17
mov esi, ebx
call fcn.004635d0
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0x10]
lea ebx, [edi + ecx*8]
mov dword [esp + 0x68], eax
test byte [esi + 0x1c], 0x20
mov dword [esp + 0x2c], ebx
jne 0x46d327
mov edi, esi
call fcn.00463730
test byte [esi + 0x1c], 0x20
je 0x4699a0
mov eax, dword [esp + 0x68]
test eax, eax
je 0x46d371
jl 0x46d332
and eax, 0xf
jmp 0x46d337
mov eax, 0xff
mov edx, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
push edx
mov bl, al
mov eax, dword [esi + 0x10]
push ecx
call fcn.00451660
add esp, 8
mov dword [esp + 0x6c], eax
test eax, eax
je 0x46d361
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x2c]
test eax, eax
jl case.0x469584.17
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x10]
mov edi, dword [esi + 0x10]
push edx
push eax
call fcn.00451280
add esp, 8
jmp case.0x469584.17
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x80], ecx
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea edi, [edi + edx*8]
mov dword [esp + 0x70], edi
cmp byte [ebp + 3], 0
je 0x46d3d4
mov eax, dword [esi + 0xa8]
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x84], edx
mov dword [esp + 0x7c], eax
test eax, eax
je 0x46d3d4
mov edi, edi
cmp dword [eax + 0x20], edx
je case.0x469584.17
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x7c], eax
test eax, eax
jne 0x46d3c0
mov eax, dword [esi + 0xb0]
mov edx, dword [esp + 0x18]
cmp eax, dword [edx + 0x70]
jl 0x46d406
mov edi, dword [esp + 0x20]
push str.too_many_levels_of_trigger_recursion
add edi, 0x38
mov eax, edx
mov dword [esp + 0x18], 1
call fcn.0044a760
add esp, 4
jmp case.0x469584.17
test byte [edi + 0x1c], 0x40
jne 0x46d556
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
mov ebx, edx
mov dword [esp + 0x68], eax
mov ecx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*2]
lea edi, [edi*4 + 0x40]
mov eax, ebx
mov dword [esp + 0x6c], edi
call fcn.0044a590
mov dword [esp + 0x7c], eax
test eax, eax
je 0x4699a0
mov edx, dword [esp + 0x70]
push edx
call fcn.00463330
mov ecx, dword [esp + 0x74]
mov eax, 0x40
mov word [ecx + 0x1c], ax
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x74]
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x24]
mov dword [ecx], eax
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x6c]
mov dword [edx + 0x24], ecx
mov edx, dword [esp + 0x84]
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x80]
mov dword [edx + 0x28], ecx
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x80]
mov dword [edx + 0x10], ecx
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x80]
mov dword [edx + 0x14], ecx
mov ecx, dword [eax + 0x44]
mov edx, dword [esp + 0x80]
mov dword [edx + 0x18], ecx
mov cx, word [eax + 0x32]
mov edx, dword [esp + 0x80]
mov word [edx + 0x1c], cx
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x80]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x80]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x84]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x80]
mov dword [ecx + 0x20], edx
mov edx, dword [esp + 0x80]
mov ecx, dword [edx + 0x24]
lea ecx, [ecx + ecx*4]
lea esi, [edx + ecx*8 + 0x40]
lea ecx, [edx + 0x40]
add esp, 4
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], ecx
cmp ecx, esi
je 0x46d561
lea esp, [esp]
mov edx, 1
mov word [ecx + 0x1c], dx
mov ecx, dword [esp + 0x74]
mov dword [ecx], ebx
mov ecx, dword [esp + 0x74]
add ecx, 0x28
mov dword [esp + 0x74], ecx
cmp ecx, dword [esp + 0x78]
jne 0x46d530
mov edx, dword [esp + 0x7c]
jmp 0x46d561
mov edx, dword [edi + 0x10]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], edx
inc dword [eax + 0xb0]
mov ecx, dword [eax + 0xa8]
mov dword [edx + 0x3c], ecx
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x38]
mov dword [edx + 0x30], ecx
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x3c]
mov dword [edx + 0x34], ecx
mov edx, dword [eax + 0x6c]
mov ecx, dword [esp + 0x7c]
mov dword [ecx + 0x38], edx
mov ecx, dword [esp + 0x7c]
lea edx, [ecx + 0x18]
mov dword [eax + 0xa8], ecx
mov dword [eax + 8], edx
mov dword [eax + 0x6c], 0
mov esi, dword [ecx + 0x24]
mov dword [eax + 0x18], esi
mov cx, word [ecx + 0x28]
mov word [eax + 0x32], cx
mov ecx, esi
inc ecx
lea ecx, [ecx + ecx*4]
mov dword [esp + 0x30], edx
lea edx, [edx + ecx*8]
mov ecx, dword [esp + 0x80]
mov dword [eax + 0x44], edx
mov edx, dword [ecx]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x44], edx
mov dword [eax + 0x1c], ecx
mov dword [esp + 0x1c], 0xffffffff
jmp case.0x469584.17
mov esi, dword [esi + 0xa8]
mov dword [esp + 0x68], esi
mov eax, dword [esi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esi + 8]
mov eax, dword [eax + edx*4 + 4]
add eax, dword [ebp + 4]
mov edx, dword [esi + 0x10]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
push 0x1000
push eax
mov dword [esp + 0x74], eax
call fcn.00463810
add esp, 8
jmp case.0x469584.17
cmp dword [ebp + 4], 0
mov eax, dword [ebp + 8]
cdq
je 0x46d641
mov ecx, dword [esp + 0x18]
add dword [ecx + 0x1f0], eax
adc dword [ecx + 0x1f4], edx
jmp case.0x469584.17
add dword [esi + 0x90], eax
adc dword [esi + 0x94], edx
jmp case.0x469584.17
cmp dword [ebp + 4], 0
je 0x46d67b
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x1f0]
or ecx, dword [eax + 0x1f4]
jne case.0x469584.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
mov edx, dword [esi + 0x90]
or edx, dword [esi + 0x94]
jne case.0x469584.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
mov esi, dword [esi + 0xa8]
test esi, esi
je 0x46d6cc
mov ecx, esi
mov dword [esp + 0x6c], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x46d6be
mov ecx, eax
mov dword [esp + 0x6c], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x46d6b1
mov eax, dword [ebp + 4]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
jmp 0x46d6d5
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea esi, [edi + edx*8]
mov dword [esp + 0x68], esi
call fcn.004634f0
mov ebp, dword [ebp + 8]
lea eax, [ebp + ebp*4]
lea esi, [edi + eax*8]
call fcn.004634f0
mov eax, dword [esp + 0x68]
mov ecx, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
mov edx, dword [eax + 0x14]
add eax, 0x10
cmp edx, esi
jg case.0x469584.17
jl 0x46d711
mov edx, dword [eax]
cmp edx, ecx
jae case.0x469584.17
mov dword [eax], ecx
mov dword [eax + 4], esi
jmp case.0x469584.17
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
cmp dword [edi + eax*8 + 0x14], 0
jl case.0x469584.17
jg 0x46d739
cmp dword [edi + eax*8 + 0x10], 0
jbe case.0x469584.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
cmp dword [edi + eax*8 + 0x14], 0
jg case.0x469584.17
jl 0x46d764
cmp dword [edi + eax*8 + 0x10], 0
jae case.0x469584.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [ebp + 0xc]
cdq
add dword [ecx + 0x10], eax
adc dword [ecx + 0x14], edx
mov edx, dword [ecx + 0x10]
or edx, dword [ecx + 0x14]
jne case.0x469584.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
movzx ecx, byte [ebp + 3]
mov edx, dword [esi + 0xc]
mov dword [esp + 0x68], ecx
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
xor eax, eax
mov dword [esp + 0x74], edi
mov dword [esp + 0xb8], edx
mov dword [esp + 0x6c], eax
test ecx, ecx
jle 0x46d7f3
mov ecx, dword [esp + 0xb8]
mov dword [ecx + eax*4], edi
mov ecx, dword [esp + 0x74]
call fcn.00469170
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x74]
inc eax
add edi, 0x28
cmp eax, dword [esp + 0x68]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], edi
jl 0x46d7c6
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x78], edx
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
xor edi, edi
mov dword [esp + 0x70], eax
mov dword [esp + 0xa8], eax
inc dword [eax + 0x18]
mov eax, dword [esp + 0x78]
mov edx, 1
mov word [esp + 0x9c], dx
mov dword [esp + 0x84], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa0], edi
mov dword [esp + 0x80], esi
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], edi
test byte [eax + 3], 8
je 0x46d866
mov ecx, dword [ebp - 4]
mov dword [esp + 0xb0], ecx
mov edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0x68]
mov eax, dword [eax + 0x10]
push edx
push ecx
lea edx, [esp + 0x80]
push edx
call eax
add esp, 0xc
cmp dword [esp + 0xac], edi
je 0x46d8bc
mov bl, 1
lea edi, [esp + 0x80]
call fcn.00463e50
mov edi, dword [esp + 0x20]
push eax
push 0x53db80
add edi, 0x38
mov eax, esi
call fcn.0044a760
mov ecx, dword [esp + 0xb4]
add esp, 8
mov dword [esp + 0x14], ecx
lea edx, [esp + 0x80]
push edx
call fcn.00463330
add esp, 4
jmp case.0x469584.17
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov dword [esp + 0x68], ecx
mov eax, dword [ebp + 0x10]
call fcn.00463250
mov dword [esp + 0x14], eax
test eax, eax
je 0x46d912
mov edi, dword [esp + 0x68]
mov bl, 1
call fcn.00463e50
mov edi, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push 0x53db84
add edi, 0x38
call fcn.0044a760
add esp, 8
movzx ecx, byte [esp + 0x28]
mov eax, dword [esp + 0x68]
call fcn.00462f60
mov ecx, dword [esp + 0x68]
call fcn.004637e0
test eax, eax
jne 0x46a0a7
jmp case.0x469584.17
mov esi, dword [esp + 0x18]
or eax, 0xffffffff
xor ebx, ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 4]
push ecx
push edx
lea edx, [esp + 0x7c]
lea ecx, [esp + 0x78]
call fcn.004a2b80
add esp, 8
mov dword [esp + 0x14], eax
cmp eax, 5
jne 0x46d978
mov dword [esp + 0x14], ebx
mov dword [esp + 0x6c], 1
xor eax, eax
mov dword [esp + 0x68], eax
mov ebp, dword [ebp + 0xc]
lea ecx, [ebp + ebp*4]
lea edi, [edi + ecx*8]
mov dword [esp + 0x78], edi
lea esp, [esp]
mov eax, dword [esp + eax*4 + 0x6c]
cdq
push edx
push eax
mov esi, edi
call fcn.00463670
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x80]
inc eax
add edi, 0x28
add esp, 8
cmp eax, 3
mov dword [esp + 0x68], eax
mov dword [esp + 0x78], edi
jl 0x46d990
jmp case.0x469584.17
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x70], edx
mov eax, dword [ebp + 4]
mov ecx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x68], eax
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov dword [esp + 0x6c], edi
movzx esi, byte [edi + 5]
mov dword [esp + 0x74], esi
cmp edx, 0xffffffff
jne 0x46d9fa
mov edx, esi
mov dword [esp + 0x70], edx
cmp byte [edi + 0xf], 3
jae 0x46da16
mov ecx, dword [edi + 0x40]
cmp dword [ecx], 0
je 0x46da1c
cmp dword [edi + 0x4c], 0
jl 0x46da1c
jg 0x46da16
cmp dword [edi + 0x48], 0
jbe 0x46da1c
mov edx, esi
mov dword [esp + 0x70], edx
mov eax, dword [edi + 0x90]
mov dword [esp + 0x78], eax
cmp edx, 5
jne 0x46da46
cmp byte [eax], 0
je 0x46da3b
mov eax, edi
call fcn.00455d40
test eax, eax
jne 0x46da46
mov edx, esi
mov dword [esp + 0x70], edx
jmp 0x46db04
cmp edx, esi
je 0x46db04
cmp esi, 5
je 0x46da5c
cmp edx, 5
jne 0x46db04
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x1c], 0
je 0x46dac7
cmp dword [eax + 0x8c], 1
jg 0x46dac7
cmp esi, 5
jne 0x46da8b
call fcn.00455e80
mov dword [esp + 0x14], eax
test eax, eax
jne 0x46dabd
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
jmp 0x46da95
cmp esi, 4
jne 0x46da9e
lea ecx, [esi - 2]
mov eax, edi
call fcn.00455b90
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x68]
xor eax, eax
cmp edx, 5
sete al
inc eax
push eax
push ecx
call fcn.004618f0
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
je 0x46dafc
mov edx, dword [esp + 0x74]
mov dword [esp + 0x70], edx
jmp 0x46db00
mov dword [esp + 0x14], 1
mov eax, str.into
cmp edx, 5
je 0x46dade
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
add edi, 0x38
call fcn.0044a760
add esp, 8
jmp case.0x469584.17
mov edx, dword [esp + 0x70]
mov edi, dword [esp + 0x6c]
mov ecx, edx
mov eax, edi
call fcn.00455b90
mov dword [esp + 0x70], eax
mov ebp, dword [ebp + 8]
mov eax, dword [esp + 0x30]
lea edx, [ebp + ebp*4]
lea edx, [eax + edx*8]
mov ecx, 0xa02
mov word [edx + 0x1c], cx
mov eax, dword [esp + 0x70]
mov dword [esp + 0x24], edx
cmp eax, 6
jne 0x46db39
xor ecx, ecx
jmp 0x46db40
mov ecx, dword [eax*4 + 0x5179f0]
mov dword [edx + 4], ecx
call fcn.0044c290
movzx ecx, byte [esp + 0x28]
mov dword [edx + 0x18], eax
mov eax, edx
mov byte [edx + 0x1f], 1
call fcn.00462f60
jmp case.0x469584.17
mov edx, dword [esp + 0x18]
push edx
lea eax, [esi + 0x38]
call fcn.004971b0
add esp, 4
mov dword [esp + 0x14], eax
jmp case.0x469584.17
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
mov dword [esp + 0x68], eax
call fcn.0045b5b0
mov dword [esp + 0x14], eax
cmp eax, 0x65
jne case.0x469584.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], 0
jmp case.0x469584.17
cmp dword [ebp + 4], 0
jne 0x46dbc9
mov eax, dword [esp + 0x18]
call fcn.00467380
jmp case.0x469584.17
mov byte [esi + 0x63], 1
jmp case.0x469584.17
mov cl, byte [ebp + 0xc]
test cl, cl
jne 0x46dbea
mov eax, dword [esp + 0x18]
test dword [eax + 0xc], 0x80000
jne case.0x469584.17
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 4]
push edx
mov edx, dword [esp + 0x1c]
mov edx, dword [edx + 8]
shl eax, 4
mov esi, dword [eax + edx + 4]
call fcn.00461830
add esp, 4
mov dword [esp + 0x14], eax
cmp al, 6
jne case.0x469584.17
mov eax, dword [ebp + 0x10]
push eax
push str.database_table_is_locked:__s
jmp 0x46dae4
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x68], edi
call fcn.00498400
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
test eax, eax
je case.0x469584.17
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x20]
push ecx
push edx
call fcn.004693d0
add esp, 8
jmp case.0x469584.17
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x18]
add esi, 0x38
push esi
push eax
mov eax, dword [ebp + 4]
call fcn.00497fc0
add esp, 8
mov dword [esp + 0x14], eax
jmp case.0x469584.17
mov byte [esi + 0x66], 2
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.00498270
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esi + 0x66], 0
jmp case.0x469584.17
xor ebx, ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0x70], eax
mov ecx, dword [eax]
lea edx, [esp + 0x6c]
push edx
mov dword [esp + 0x78], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov ecx, dword [esp + 0x78]
push ecx
mov edi, eax
push esi
mov dword [esp + 0x24], edi
call fcn.004693d0
add esp, 0x10
cmp edi, ebx
jne case.0x469584.17
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
push ebx
push 0xffffffffffffffff
mov dword [eax], edx
mov ecx, dword [ebp + 4]
push ebx
push ecx
mov ebx, esi
call fcn.004691a0
add esp, 0x10
mov dword [esp + 0x68], eax
test eax, eax
je 0x46dd1b
mov edx, dword [esp + 0x6c]
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [esp + 0x68]
mov dword [eax + 0x28], edx
jmp case.0x469584.17
mov ecx, dword [esp + 0x18]
mov byte [ecx + 0x1e], 1
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x1c]
push edx
call ecx
add esp, 4
jmp case.0x469584.17
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0x44]
lea edx, [eax + eax*4]
mov esi, dword [esi + 0xc]
lea edi, [edi + edx*8]
mov dword [esp + 0x74], edi
lea ebx, [edi + 0x28]
mov dword [esp + 0x78], ebx
mov eax, dword [ebp + 4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x84], eax
mov edx, dword [eax + 0x24]
mov dword [esp + 0x7c], edx
mov eax, dword [edx]
mov dword [esp + 0x80], eax
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x68], ecx
mov eax, dword [edi + 0x10]
mov dword [esp + 0x6c], eax
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], esi
mov dword [esp + 0x8c], eax
jle 0x46dde7
jmp 0x46dda5
mov ebx, dword [esp + 0x78]
lea ecx, [eax + eax*4 + 5]
lea edx, [ebx + ecx*8]
mov ecx, dword [esp + 0x90]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + edx*4]
call fcn.00469170
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x68]
inc eax
cmp eax, ecx
mov dword [esp + 0x8c], eax
jl 0x46dda1
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x70]
push ecx
mov byte [esi + 0x66], 1
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [esp + 0x7c]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
mov edi, eax
mov eax, dword [esp + 0x94]
add esp, 0x14
push eax
push esi
mov dword [esp + 0x1c], edi
mov byte [esi + 0x66], 0
call fcn.004693d0
add esp, 8
test edi, edi
jne 0x46de45
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x70]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
mov dword [esp + 0x88], eax
cmp dword [esp + 0x88], 0
je 0x46de57
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
mov ecx, dword [esp + 0x84]
mov byte [ecx + 0x1c], 0
jmp case.0x469584.17
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x44]
mov ecx, dword [eax + edx*4]
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea edi, [edi + edx*8]
mov dword [esp + 0x70], edi
cmp byte [ecx + 0x1c], 0
mov dword [esp + 0x2c], ecx
je 0x46de93
mov esi, edi
call fcn.004635d0
jmp case.0x469584.17
mov edi, dword [esp + 0x2c]
mov eax, dword [edi + 0x24]
mov eax, dword [eax]
push 0x40
mov dword [esp + 0x6c], eax
mov ecx, dword [eax]
lea edx, [esp + 0x7c]
push 0
push edx
mov dword [esp + 0x78], ecx
call fcn.004f0190
mov ebx, dword [esp + 0x7c]
add esp, 0xc
lea eax, [esp + 0x80]
call fcn.004638c0
mov eax, dword [esp + 0x9c]
and eax, 0xbf01
or eax, 1
mov word [esp + 0x9c], ax
mov ecx, dword [ebp + 8]
mov eax, dword [edi + 0x24]
push ecx
mov ecx, dword [esp + 0x70]
lea edx, [esp + 0x7c]
push edx
mov edx, dword [ecx + 0x2c]
push eax
call edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x74]
add esp, 0xc
push eax
push esi
call fcn.004693d0
mov eax, dword [esp + 0xb4]
add esp, 8
test eax, eax
je 0x46df18
mov dword [esp + 0x14], eax
movzx ecx, byte [esp + 0x28]
lea eax, [esp + 0x80]
call fcn.00462f60
mov eax, dword [esp + 0x70]
lea ebx, [esp + 0x80]
call fcn.004638c0
mov ecx, dword [esp + 0x70]
call fcn.004637e0
test eax, eax
jne 0x46a0a7
jmp case.0x469584.17
mov edx, dword [esi + 0x44]
mov dword [esp + 0x70], 0
mov ecx, dword [ebp + 4]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x74], eax
cmp byte [eax + 0x1c], 0
jne case.0x469584.17
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov dword [esp + 0x68], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x6c], ecx
mov byte [esi + 0x66], 1
mov edx, dword [eax + 0x24]
mov eax, dword [ecx + 0x24]
push edx
call eax
mov ecx, dword [esp + 0x6c]
add esp, 4
push ecx
mov edi, eax
push esi
mov dword [esp + 0x1c], edi
mov byte [esi + 0x66], 0
call fcn.004693d0
add esp, 8
test edi, edi
jne 0x46dfc1
mov edx, dword [esp + 0x74]
mov eax, dword [edx + 0x24]
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [esp + 0x70], eax
cmp dword [esp + 0x70], 0
jne case.0x469584.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x469584.17
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x68], eax
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
lea edi, [edi + ecx*8]
mov dword [esp + 0x6c], edi
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx + 0x4c]
push ecx
push eax
call edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x70]
push eax
push esi
call fcn.004693d0
mov byte [esi + 0x63], 0
jmp 0x46e1f5
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 8]
mov dword [esp + 0x68], eax
mov eax, dword [eax]
mov dword [esp + 0x6c], eax
mov ecx, dword [ebp + 8]
mov dword [esp + 0x70], ecx
cmp dword [eax + 0x34], 0
je case.0x469584.17
mov edx, dword [esp + 0x18]
mov bl, byte [edx + 0x22]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea edi, [edi + edx*8]
mov dword [esp + 0x84], edi
mov dword [esp + 0x74], 0
test ecx, ecx
jle 0x46e09f
mov ecx, edi
call fcn.00469170
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x80]
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x84]
inc eax
add edi, 0x28
cmp eax, dword [esp + 0x70]
mov dword [esp + 0x84], edi
mov dword [esp + 0x74], eax
jl 0x46e063
mov al, byte [ebp + 3]
mov edi, dword [esp + 0x18]
mov byte [edi + 0x22], al
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x6c]
push edx
mov edx, dword [esp + 0x74]
push eax
mov eax, dword [edx + 0x34]
push ecx
call eax
mov byte [edi + 0x22], bl
mov ecx, dword [esp + 0x78]
push ecx
push esi
mov dword [esp + 0x2c], eax
call fcn.004693d0
mov ecx, dword [esp + 0x2c]
add esp, 0x18
test ecx, ecx
jne 0x46e105
cmp dword [ebp + 4], ecx
je 0x46e105
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x38], eax
mov dword [edi + 0x30], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x3c], edx
mov dword [edi + 0x34], eax
cmp ecx, 0x13
jne 0x46e143
mov ecx, dword [ebp + 0x10]
cmp byte [ecx + 0x10], 0
je 0x46e143
mov al, byte [ebp + 3]
cmp al, 4
jne 0x46e127
mov dword [esp + 0x14], 0
jmp case.0x469584.17
cmp al, 5
jne 0x46e138
mov eax, 2
mov byte [esi + 0x60], al
jmp case.0x469584.17
movzx eax, al
mov byte [esi + 0x60], al
jmp case.0x469584.17
inc dword [esi + 0x6c]
jmp case.0x469584.17
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 8]
shl edx, 4
mov edx, dword [edx + ecx + 4]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 0x30]
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0x14], 0
jmp case.0x469584.17
mov eax, dword [esp + 0x18]
mov edx, dword [ebp + 4]
mov ecx, dword [eax + 8]
mov ebp, dword [ebp + 0xc]
shl edx, 4
mov ecx, dword [edx + ecx + 4]
xor eax, eax
test ebp, ebp
je 0x46e197
mov edx, dword [ecx + 4]
mov eax, dword [edx + 0x30]
cmp eax, ebp
jae 0x46e197
mov eax, ebp
call fcn.0045a460
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp case.0x469584.17
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x98], 0
je case.0x469584.17
mov ebp, dword [ebp + 0x10]
mov ecx, ebp
test ebp, ebp
jne 0x46e1c1
mov ecx, dword [esi + 0xa0]
mov dword [esp + 0x68], ecx
test ecx, ecx
je case.0x469584.17
push esi
call fcn.00468e30
mov esi, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x6c], eax
mov ecx, dword [esi + 0x9c]
mov edx, dword [esi + 0x98]
push eax
push ecx
call edx
mov eax, dword [esp + 0x74]
push eax
push esi
call fcn.0044a370
add esp, 0x10
inc dword [esp + 0x1c]
cmp dword [esp + 0x14], 0
jne 0x46a0c7
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
jmp 0x469500
mov dword [esp + 0x14], 9
jmp 0x46a0c7
mov ecx, dword [ebp + 4]
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x5c], ecx
mov dl, byte [ebp + 8]
mov byte [esi + 0x60], dl
mov dword [esi + 0x58], eax
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x46e27c
mov esi, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push 0x53d908
lea edi, [esi + 0x38]
call fcn.0044a760
mov ecx, dword [ebp + 0x10]
mov edx, dword [esi + 0xa0]
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [ebp + 4]
push edx
push eax
push str.abort_at__d_in___s_:__s
push ecx
call sym.ShuamePacket.exe_sqlite3_log
add esp, 0x1c
jmp 0x46e29d
test ecx, ecx
je 0x46e29d
mov edx, dword [esi + 0xa0]
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 4]
push edx
push eax
push str.constraint_failed_at__d_in___s_
push ecx
call sym.ShuamePacket.exe_sqlite3_log
add esp, 0x10
push esi
call fcn.004662f0
mov edi, 5
add esp, 4
cmp eax, edi
je 0x46e2f0
mov edi, dword [esi + 0x5c]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x46a123
lea ecx, [esp + 0x78]
push ecx
call fcn.00463330
add esp, 4
jmp 0x4699a0
mov dword [esp + 0x14], 0x14
jmp 0x46e39f
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x58], edx
mov byte [ebx + 0x1c], 0
mov edi, 5
mov dword [esi + 0x5c], edi
jmp 0x46a123
test ebp, ebp
je 0x46e32a
mov esi, dword [esp + 0x18]
mov eax, esi
call fcn.004a20e0
mov byte [esi + 0x1c], 1
mov edi, esi
mov esi, edi
call fcn.004a1cf0
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 0x5c]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x46a123
push 1
mov ecx, esi
call fcn.00466290
mov edi, eax
add esp, 4
test edi, edi
jne 0x46a123
mov al, byte [esp + 0x68]
mov edi, dword [esp + 0x18]
push esi
mov byte [edi + 0x1c], al
call fcn.004662f0
add esp, 4
cmp eax, 5
jne 0x46e30d
mov ecx, dword [esp + 0x1c]
mov dl, 1
sub dl, byte [esp + 0x68]
mov dword [esi + 0x58], ecx
mov byte [edi + 0x1c], dl
mov edi, eax
mov dword [esi + 0x5c], edi
jmp 0x46a123
mov ecx, dword [esp + 0x1c]
mov edi, 5
mov dword [esi + 0x58], ecx
mov dword [esi + 0x5c], edi
jmp 0x46a123
mov eax, 0x10157
call fcn.004a3e10
mov dword [esp + 0x14], eax
jmp 0x46e39f
mov dword [esp + 0x14], 0xd
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0x1e], 0
je 0x46e3b3
mov dword [esp + 0x14], 7
jmp 0x46e3c1
cmp dword [esp + 0x14], 0xc0a
je 0x46a0c7
mov eax, dword [esp + 0x14]
call fcn.004a21b0
mov edi, dword [esp + 0x20]
push eax
push 0x53dc34
add edi, 0x38
mov eax, ecx
call fcn.0044a760
add esp, 8
jmp 0x46a0c7
mov eax, 9
mov dword [esp + 0x14], eax
mov dword [esi + 0x5c], eax
mov eax, dword [str.interrupted]
test eax, eax
jne 0x46e400
mov eax, str.unknown_error
mov edi, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push 0x53dc38
add edi, 0x38
call fcn.0044a760
add esp, 8
jmp 0x46a0c7