Function at 0x443ea0
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x324
mov eax, dword [0x4c3790]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor eax, eax
push edi
mov edi, ecx
mov ebx, dword [edi]
mov ecx, dword [edi + 4]
mov edx, dword [ebx + 0x10]
mov esi, dword [edi + 8]
mov dword [ebp - 0x16c], ecx
mov ecx, dword [edx + 0xc]
mov dl, byte [ecx + 0x4d]
mov ecx, dword [ebx + 0x24]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xd8], eax
mov byte [ebp - 0x125], al
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0x17c], eax
mov eax, dword [ebx + 0x20]
push edi
mov dword [ebp - 0x114], edi
mov dword [ebp - 0xdc], ebx
mov byte [ebp - 0x119], dl
mov dword [ebp - 0x120], esi
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], ecx
call fcn.0043db70
add esp, 4
cmp dword [edi + 0x50], 7
je 0x4478ed
xor ecx, ecx
mov dword [edi + 0x50], ecx
mov dword [edi + 0x88], ecx
mov dword [edi + 0x8c], ecx
mov dword [edi + 0x14], ecx
mov edx, dword [ebx + 0xf0]
mov dword [ebx + 0x1c4], ecx
test edx, edx
jne 0x448dc1
cmp dword [ebx + 0x124], ecx
je 0x443f91
mov eax, dword [edi + 0x7c]
cmp eax, ecx
jne 0x443f83
mov eax, dword [ebx + 0x12c]
mov dword [ebp - 0x158], eax
jmp 0x443f91
xor edx, edx
div dword [ebx + 0x12c]
mov dword [ebp - 0x158], edx
mov ecx, dword [edi + 0x4c]
mov dword [ebp - 0xe4], ecx
lea ebx, [ebx]
cmp byte [ebx + 0x40], 0
jne 0x4478ed
mov eax, dword [ebp - 0xe4]
inc dword [ebp - 0x154]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x16c]
test byte [eax + edx*4 + 2], 2
lea ebx, [eax + edx*4]
mov dword [ebp - 0x108], ebx
je 0x444005
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
lea eax, [esi + ecx*8]
mov edx, 0x2460
mov dword [ebp - 0xe8], eax
test word [eax + 8], dx
je 0x443ffc
mov esi, eax
call fcn.0043bcb0
mov esi, dword [ebp - 0x120]
mov eax, dword [ebp - 0xe8]
mov ecx, 4
mov word [eax + 8], cx
mov dl, byte [ebx]
mov ecx, dword [ebp - 0xe8]
movzx eax, dl
dec eax
cmp eax, 0x98
ja case.default.0x44401c
jmp dword [eax*4 + 0x448dfc]
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
lea esi, [esi + edx*8]
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0xe4]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
mov ecx, dword [ebx + 8]
dec ecx
mov dword [ebp - 0xe4], ecx
jmp case.default.0x44401c
mov ebx, dword [ebx + 4]
lea edx, [ebx + ebx*4]
mov ecx, dword [esi + edx*8]
lea eax, [esi + edx*8]
mov edx, 0x80
mov dword [ebp - 0xe4], ecx
mov word [eax + 8], dx
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, dword [ebx + 0xc]
dec eax
cdq
mov ecx, 4
mov dword [esi], eax
mov dword [esi + 4], edx
mov word [esi + 8], cx
mov ebx, dword [ebx + 8]
mov dword [ebp - 0xe8], esi
test ebx, ebx
je case.default.0x44401c
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
mov ebx, dword [ebx + 4]
mov ecx, dword [ebp - 0x16c]
lea edx, [ebx + ebx*4]
mov eax, dword [esi + edx*8]
lea esi, [esi + edx*8]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 8]
dec eax
mov edx, 0x80
mov dword [ebp - 0xe4], eax
mov word [esi + 8], dx
jmp case.default.0x44401c
mov ebx, dword [ebx + 4]
lea eax, [ebx + ebx*4]
lea esi, [esi + eax*8]
mov eax, dword [ebp - 0xe4]
mov ecx, 4
cdq
mov word [esi + 8], cx
mov ecx, dword [esi]
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [ebp - 0xe4], ecx
jmp case.default.0x44401c
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
test byte [esi + edx*8 + 8], 1
je case.default.0x44401c
cmp dword [ebx + 4], 0
jne 0x448ba6
mov ecx, dword [edi + 0xb0]
test ecx, ecx
je 0x448ba6
mov eax, dword [ecx + 4]
dec dword [edi + 0xb8]
mov edx, dword [ebp - 0xdc]
mov dword [edi + 0xb0], eax
mov eax, dword [edi + 0x5c]
add dword [edx + 0x54], eax
mov dword [edx + 0x50], eax
mov eax, dword [ecx]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0xc8], edx
mov edx, dword [ecx + 0x38]
mov dword [eax + 0xc4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x30]
mov dword [eax + 0x20], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x1c], edx
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x38], edx
mov edx, dword [ecx + 0x28]
mov dword [eax + 0x24], edx
mov edx, dword [eax]
mov esi, dword [ecx + 0x20]
mov dword [edx + 0x20], esi
mov esi, dword [ecx + 0x24]
mov dword [edx + 0x24], esi
mov edx, dword [ecx + 0x44]
mov dword [eax + 0x5c], edx
cmp dword [ebx + 8], 4
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0x20]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x144], eax
jne 0x4441cd
mov edx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
mov eax, dword [edx + ecx*4 + 8]
dec eax
mov dword [ebp - 0xe4], eax
mov ecx, dword [edi + 4]
mov edx, dword [edi + 8]
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0x120], edx
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x44401c
mov ebx, dword [ebx + 0x10]
mov eax, dword [ebx]
mov dword [ecx], eax
mov edx, dword [ebx + 4]
mov dword [ecx + 4], edx
jmp case.default.0x44401c
mov eax, 8
mov word [ecx + 8], ax
mov edx, dword [ebx + 0x10]
fld qword [edx]
fstp qword [ecx]
jmp case.default.0x44401c
mov ecx, dword [ebx + 0x10]
mov byte [ebx], 0x1b
call fcn.00421730
cmp byte [ebp - 0x119], 1
mov dword [ebx + 4], eax
je 0x44429d
mov esi, dword [ebp - 0xe8]
push 0
push 1
push ecx
or eax, 0xffffffff
mov ecx, esi
call fcn.0043c450
add esp, 0xc
mov dword [ebp - 0xd8], eax
cmp eax, 0x12
je 0x444b6e
movzx ecx, byte [ebp - 0x119]
mov eax, esi
call fcn.0043b890
test eax, eax
jne 0x4478ed
mov dword [esi + 0x18], eax
mov eax, 0x800
or word [esi + 8], ax
cmp byte [ebx + 1], 0xff
jne 0x44428d
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0xdc]
call fcn.0041ec40
mov byte [ebx + 1], 0xff
mov ecx, dword [esi + 0x10]
mov dword [ebx + 0x10], ecx
mov edx, dword [esi + 0xc]
mov dword [ebx + 4], edx
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xdc]
cmp eax, dword [ecx + 0x58]
jg 0x444b6e
mov ecx, dword [ebp - 0xe8]
mov edx, 0xa02
mov word [ecx + 8], dx
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x10], eax
mov edx, dword [ebx + 4]
mov al, byte [ebp - 0x119]
mov dword [ecx + 0xc], edx
mov byte [ecx + 0xa], al
jmp case.default.0x44401c
mov esi, dword [ebx + 0xc]
sub esi, dword [ebx + 8]
mov edx, dword [ebx + 4]
neg edx
sbb edx, edx
and edx, 0x100
inc edx
movzx ebx, dx
mov word [ecx + 8], bx
test esi, esi
jle case.default.0x44401c
mov edi, dword [ebp - 0xe8]
add edi, 0x28
mov eax, edi
call fcn.0043c1b0
dec esi
mov word [edi + 8], bx
test esi, esi
jg 0x444301
mov dword [ebp - 0xe8], edi
jmp case.default.0x44401c
mov ebx, dword [ebx + 4]
lea eax, [ebx + ebx*4]
mov cx, word [esi + eax*8 + 8]
lea esi, [esi + eax*8]
mov edx, 0xff7f
and cx, dx
or cx, 1
mov dword [ebp - 0xe8], esi
mov word [esi + 8], cx
jmp case.default.0x44401c
mov eax, dword [ebx + 0x10]
mov esi, dword [ebp - 0xe8]
push 0
push 0
push eax
mov eax, dword [ebx + 4]
mov ecx, esi
call fcn.0043c450
mov cl, byte [ebp - 0x119]
add esp, 0xc
mov byte [esi + 0xa], cl
jmp case.default.0x44401c
mov ebx, dword [ebx + 4]
mov eax, dword [edi + 0x3c]
lea edx, [ebx + ebx*4]
lea edi, [eax + edx*8 - 0x28]
mov ecx, edi
call fcn.0043c300
test eax, eax
jne 0x444b6e
mov eax, dword [ebp - 0xe8]
push 0x800
call fcn.0043c330
add esp, 4
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
mov ebx, dword [ebx + 8]
lea edx, [eax + eax*4]
lea eax, [ebx + ebx*4]
lea edi, [esi + edx*8]
mov dword [ebp - 0xe0], ecx
lea esi, [esi + eax*8]
mov ebx, edi
mov eax, esi
call fcn.0043c410
add edi, 0x28
add esi, 0x28
dec dword [ebp - 0xe0]
jne 0x4443c0
mov dword [ebp - 0xe8], esi
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
mov ebx, dword [ebx + 8]
lea edx, [eax + eax*4]
lea eax, [ebx + ebx*4]
lea edi, [esi + edx*8]
lea esi, [esi + eax*8]
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0xe8], esi
mov ebx, ecx
jmp 0x444410
push 0x1000
mov eax, esi
call fcn.0043c330
mov ecx, 0x1000
add esp, 4
test word [esi + 8], cx
je 0x444439
mov eax, esi
call fcn.0043b9e0
test eax, eax
jne 0x4478ed
mov edx, ebx
dec ebx
test edx, edx
je case.default.0x44401c
add dword [ebp - 0xe8], 0x28
mov esi, dword [ebp - 0xe8]
add edi, 0x28
jmp 0x444410
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x120]
mov ebx, dword [ebx + 4]
lea eax, [eax + eax*4]
lea edx, [ebx + ebx*4]
lea eax, [ecx + eax*8]
push 0x1000
lea edi, [ecx + edx*8]
mov dword [ebp - 0xe8], eax
call fcn.0043c330
add esp, 4
jmp case.default.0x44401c
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x124]
test eax, eax
je 0x4444be
mov ecx, dword [ebp - 0x154]
cmp ecx, dword [ebp - 0x158]
jb 0x4444be
mov edx, dword [ebp - 0xdc]
mov ecx, dword [edx + 0x128]
push ecx
call eax
add esp, 4
test eax, eax
jne 0x448881
push 0
mov eax, edi
call fcn.0043f290
add esp, 4
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.default.0x44401c
push 1
push edi
call fcn.0043f170
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.default.0x44401c
mov ecx, dword [edi + 0x48]
add ecx, 2
or ecx, 1
mov dword [edi + 0x48], ecx
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
lea esi, [esi + edx*8]
mov dword [edi + 0x14], esi
cmp dword [ebx + 8], 0
mov dword [ebp - 0xfc], 0
jle 0x444556
lea esp, [esp]
mov eax, 0x1000
test word [esi + 8], ax
je 0x44453a
mov eax, esi
call fcn.0043b9e0
test eax, eax
jne 0x4478ed
mov eax, esi
call fcn.0043baf0
mov eax, dword [ebp - 0xfc]
inc eax
add esi, 0x28
mov dword [ebp - 0xfc], eax
cmp eax, dword [ebx + 8]
jl 0x444520
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x40], 0
jne 0x4478ed
mov edx, dword [ebp - 0xe4]
inc edx
mov dword [edi + 0x4c], edx
mov esi, 0x64
jmp 0x448913
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
lea ecx, [esi + edx*8]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
lea eax, [ebx + ebx*4]
lea esi, [esi + eax*8]
movzx eax, word [ecx + 8]
mov dword [ebp - 0xf0], ecx
mov cl, byte [edx + 8]
or cl, al
mov dword [ebp - 0xec], edx
mov dword [ebp - 0xe8], esi
test cl, 1
je 0x4445c1
mov eax, esi
call fcn.0043c1b0
jmp case.default.0x44401c
test eax, 0x4000
je 0x4445db
mov eax, dword [ebp - 0xf0]
call fcn.0043ba50
test eax, eax
jne 0x4478ed
mov eax, dword [ebp - 0xec]
mov edx, 0x4000
test word [eax + 8], dx
je 0x4445f9
call fcn.0043ba50
test eax, eax
jne 0x4478ed
mov ecx, dword [ebp - 0xf0]
mov bl, 0x12
test byte [ecx + 8], bl
jne 0x444621
mov edx, dword [ebp - 0x119]
push 0
push edx
mov eax, ecx
call fcn.0043bb10
add esp, 8
test eax, eax
jne 0x4478ed
mov eax, dword [ebp - 0xec]
test byte [eax + 8], bl
jne 0x444645
mov ecx, dword [ebp - 0x119]
push 0
push ecx
call fcn.0043bb10
add esp, 8
test eax, eax
jne 0x4478ed
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xec]
add eax, dword [ecx + 0xc]
cdq
mov ecx, edx
mov edx, dword [ebp - 0xdc]
mov ebx, eax
mov eax, dword [edx + 0x58]
cdq
cmp ecx, edx
jg 0x444b6e
jl 0x444678
cmp ebx, eax
ja 0x444b6e
xor eax, eax
cmp esi, dword [ebp - 0xec]
lea ecx, [ebx + 2]
sete al
mov edi, esi
call fcn.0043b8b0
test eax, eax
jne 0x4478ed
mov ax, word [esi + 8]
mov edi, dword [ebp - 0xec]
mov ecx, 0xbe02
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, edi
je 0x4446c7
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
mov ecx, dword [esi + 0x10]
push edx
push eax
push ecx
call fcn.00499190
add esp, 0xc
mov eax, dword [ebp - 0xf0]
mov edx, dword [eax + 0xc]
mov ecx, dword [edi + 0xc]
mov eax, dword [eax + 0x10]
add ecx, dword [esi + 0x10]
push edx
push eax
push ecx
call fcn.00499190
mov edx, dword [esi + 0x10]
mov byte [ebx + edx], 0
mov eax, dword [esi + 0x10]
mov dl, byte [ebp - 0x119]
mov byte [ebx + eax + 1], 0
mov ecx, 0x200
add esp, 0xc
or word [esi + 8], cx
mov dword [esi + 0xc], ebx
mov byte [esi + 0xa], dl
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, edi
call fcn.00443e80
movzx ecx, ax
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
lea eax, [esi + edx*8]
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0xec], eax
call fcn.00443e80
movzx eax, ax
mov dword [ebp - 0xe0], eax
mov eax, dword [ebx + 0xc]
lea ecx, [eax + eax*4]
lea edx, [esi + ecx*8]
mov esi, dword [ebp - 0xec]
mov al, byte [esi + 8]
or al, byte [edi + 8]
mov dword [ebp - 0xe8], edx
test al, 1
jne 0x4449c7
mov cl, byte [ebp - 0xe0]
and cl, byte [ebp - 0x104]
test cl, 4
je 0x4448b2
mov edx, dword [esi]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x140], edx
mov edx, dword [esi + 4]
mov dword [ebp - 0x13c], edx
movzx edx, byte [ebx]
add edx, 0xffffffa7
mov byte [ebp - 0x115], 1
cmp edx, 3
ja case.default.0x4447a7
jmp dword [edx*4 + 0x449060]
push ecx
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.004229e0
add esp, 0xc
test eax, eax
jne 0x4448b9
jmp 0x444882
push ecx
push eax
lea edx, [ebp - 0x140]
call fcn.00422a80
add esp, 8
test eax, eax
jne 0x4448b9
jmp 0x444882
push ecx
push eax
lea ecx, [ebp - 0x140]
push ecx
call fcn.00422ad0
add esp, 0xc
test eax, eax
jne 0x4448b9
jmp 0x444882
mov edx, eax
or edx, ecx
je 0x4449c7
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x444830
cmp dword [ebp - 0x140], 0
jne 0x444830
cmp dword [ebp - 0x13c], 0x80000000
je 0x4448b9
push ecx
mov ecx, dword [ebp - 0x140]
push eax
mov eax, dword [ebp - 0x13c]
push eax
push ecx
call fcn.004a5890
jmp 0x444876
mov edx, eax
or edx, ecx
je 0x4449c7
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x444861
mov eax, 1
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x140]
push eax
mov eax, dword [ebp - 0x13c]
push eax
push ecx
call fcn.004a5940
mov dword [ebp - 0x13c], edx
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x13c]
mov dword [eax], edx
mov dx, word [eax + 8]
mov dword [eax + 4], ecx
mov ecx, 0xbe04
and dx, cx
or dx, 4
mov word [eax + 8], dx
jmp case.default.0x44401c
mov byte [ebp - 0x115], 0
mov eax, edi
call fcn.0043beb0
fstp qword [ebp - 0x100]
mov eax, esi
call fcn.0043beb0
movzx eax, byte [ebx]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x4448d8
jmp dword [eax*4 + 0x449070]
fadd qword [ebp - 0x100]
jmp 0x44495b
fsub qword [ebp - 0x100]
jmp 0x44495b
fmul qword [ebp - 0x100]
jmp 0x44495b
fld qword [ebp - 0x100]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4449c3
fdivp st(1)
jmp 0x44495b
fld qword [ebp - 0x100]
call fcn.004aa376
mov esi, eax
mov edi, edx
call fcn.004aa376
mov ecx, esi
or ecx, edi
je 0x4449c7
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x444940
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.004a5940
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], edx
fild qword [ebp - 0x240]
sub esp, 8
fst qword [ebp - 0x100]
fstp qword [esp]
call fcn.00421700
add esp, 8
test eax, eax
jne 0x4449c7
mov eax, dword [ebp - 0xe8]
fld qword [ebp - 0x100]
mov dx, word [eax + 8]
fstp qword [eax]
mov ecx, 0xbe08
and dx, cx
or dx, 8
mov word [eax + 8], dx
mov dl, byte [ebp - 0xe0]
or dl, byte [ebp - 0x104]
test dl, 8
jne case.default.0x44401c
cmp byte [ebp - 0x115], 0
jne case.default.0x44401c
mov edi, eax
call fcn.0043bf00
jmp case.default.0x44401c
fstp st(0)
fstp st(0)
mov eax, dword [ebp - 0xe8]
call fcn.0043c1b0
jmp case.default.0x44401c
mov ebx, dword [ebx + 4]
test ebx, ebx
je case.default.0x44401c
push 0
lea eax, [ebx + ebx*4]
push 0
lea eax, [esi + eax*8]
call fcn.0043c210
add esp, 8
jmp case.default.0x44401c
mov ecx, dword [edi + 0xc]
mov eax, dword [ebx + 0xc]
movzx edx, byte [ebx + 3]
mov dword [ebp - 0x104], ecx
mov ecx, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [esi + eax*8]
lea esi, [esi + ecx*8]
xor ecx, ecx
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0xe0], ecx
test edx, edx
jle 0x444a71
mov edx, dword [ebp - 0x104]
mov eax, 0x1000
mov dword [edx + ecx*4], esi
test word [esi + 8], ax
je 0x444a59
mov eax, esi
call fcn.0043b9e0
test eax, eax
jne 0x4478ed
mov ecx, dword [ebp - 0xe0]
inc ecx
add esi, 0x28
mov dword [ebp - 0xe0], ecx
cmp ecx, dword [ebp - 0xf4]
jl 0x444a30
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0x1e8], ecx
mov dword [ebp - 0x1dc], edx
mov dword [ebp - 0x1e0], edi
mov cx, word [eax + 8]
mov edx, 0xbe01
and cx, dx
mov edx, dword [ebp - 0x104]
or cx, 1
mov word [eax + 8], cx
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x144]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0xf4]
push edx
mov edx, dword [ebp - 0x1e8]
mov dword [esi + 0x24], ecx
push eax
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 0x1d3], 0
mov eax, dword [edx + 0xc]
push ecx
call eax
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
add esp, 0xc
cmp byte [ebp - 0x1d3], 0
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x144], edx
je 0x444b49
cmp dword [ebp - 0x1d8], 0
je 0x444b34
mov eax, dword [ebp - 0x1ec]
push eax
call fcn.00441650
add esp, 4
push eax
push 0x4b97a4
lea ecx, [edi + 0x2c]
push esi
push ecx
call fcn.0041f150
mov edx, dword [ebp - 0x1d8]
add esp, 0x10
mov dword [ebp - 0xd8], edx
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe4]
push eax
push ecx
mov ebx, edi
call fcn.0043f800
add esp, 8
movzx ecx, byte [ebp - 0x119]
mov eax, dword [ebp - 0x1ec]
call fcn.0043b890
mov ecx, dword [ebp - 0x1ec]
call fcn.0043c300
test eax, eax
je case.default.0x44401c
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x114]
push str.string_or_blob_too_big
push eax
add ecx, 0x2c
push ecx
call fcn.0041f150
mov edi, dword [ebp - 0x114]
add esp, 0xc
mov dword [ebp - 0xd8], 0x12
jmp 0x44888b
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [ebx + 0xc]
lea edi, [esi + edx*8]
lea edx, [eax + eax*4]
mov al, byte [ecx + 8]
or al, byte [edi + 8]
lea esi, [esi + edx*8]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], esi
test al, 1
je 0x444bde
mov eax, esi
call fcn.0043c1b0
jmp case.default.0x44401c
call fcn.0043be40
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x178], eax
mov edi, edx
call fcn.0043be40
mov bl, byte [ebx]
mov esi, eax
cmp bl, 0x55
jne 0x444c31
and dword [ebp - 0x178], esi
and edi, edx
mov ebx, dword [ebp - 0x178]
mov eax, dword [ebp - 0xe8]
mov cx, word [eax + 8]
mov edx, 0xbe04
and cx, dx
or cx, 4
mov dword [eax], ebx
mov dword [eax + 4], edi
mov word [eax + 8], cx
jmp case.default.0x44401c
cmp bl, 0x56
jne 0x444c42
mov ebx, dword [ebp - 0x178]
or ebx, esi
or edi, edx
jmp 0x444c0d
mov ecx, esi
or ecx, edx
je 0x444c07
test edx, edx
jg 0x444c76
jl 0x444c52
test esi, esi
jae 0x444c6b
mov al, 0xaf
sub al, bl
mov bl, al
cmp edx, 0xffffffff
jl 0x444c76
jg 0x444c64
cmp esi, 0xffffffc0
jbe 0x444c76
neg esi
adc edx, 0
neg edx
test edx, edx
jl 0x444ca3
jg 0x444c76
cmp esi, 0x40
jb 0x444ca3
test edi, edi
jg 0x444c97
jl 0x444c85
cmp dword [ebp - 0x178], 0
jae 0x444c97
cmp bl, 0x57
je 0x444c97
or eax, 0xffffffff
cdq
mov ebx, eax
mov edi, edx
jmp 0x444c0d
xor eax, eax
cdq
mov ebx, eax
mov edi, edx
jmp 0x444c0d
mov eax, dword [ebp - 0x178]
mov edx, edi
mov ecx, esi
cmp bl, 0x57
jne 0x444cc6
call fcn.004aa2a0
mov ebx, eax
mov dword [ebp - 0x19c], edx
mov edi, edx
jmp 0x444c0d
call fcn.004aa3f0
mov ebx, eax
mov dword [ebp - 0x19c], edx
test edi, edi
jg 0x444cfc
jl 0x444ce2
cmp dword [ebp - 0x178], 0
jae 0x444cfc
mov ecx, 0x40
sub ecx, esi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.004aa2a0
or ebx, eax
or dword [ebp - 0x19c], edx
mov edi, dword [ebp - 0x19c]
jmp 0x444c0d
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x120]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.0043bfa0
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
movzx eax, word [esi + edx*8 + 8]
lea esi, [esi + edx*8]
test al, 4
jne 0x444d7d
test al, 8
jne 0x444d51
test al, 2
je 0x444d5e
push 1
mov eax, esi
call fcn.00443cc0
add esp, 4
jmp 0x444d5e
mov edi, esi
call fcn.0043bf00
mov edi, dword [ebp - 0x114]
movzx eax, word [esi + 8]
test al, 4
jne 0x444d7d
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x448c66
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
and eax, 0xbe04
or eax, 4
mov word [esi + 8], ax
jmp case.default.0x44401c
mov ebx, dword [ebx + 4]
lea eax, [ebx + ebx*4]
test byte [esi + eax*8 + 8], 4
lea esi, [esi + eax*8]
je case.default.0x44401c
call fcn.0043bfd0
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
lea esi, [esi + ecx*8]
mov edx, 0x4000
test word [esi + 8], dx
je 0x444de2
mov eax, esi
call fcn.0043ba50
mov dl, byte [ebp - 0x119]
mov cl, byte [ebx + 8]
mov dword [ebp - 0xd8], eax
mov eax, esi
call fcn.0043c0f0
jmp case.default.0x44401c
mov dl, byte [ebp - 0x119]
mov cl, byte [ebx + 8]
mov eax, esi
mov dword [ebp - 0xd8], 0
call fcn.0043c0f0
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
movzx eax, word [ecx + 8]
lea edi, [esi + edx*8]
movzx edx, word [edi + 8]
mov dword [ebp - 0xf0], ecx
mov ecx, eax
mov dword [ebp - 0x10c], edx
or dl, cl
mov dword [ebp - 0x108], ecx
test dl, 1
je 0x444ea8
mov al, byte [ebx + 3]
test al, al
jns 0x444e64
test cl, 1
je 0x444e5a
mov eax, dword [ebp - 0x10c]
test al, 1
je 0x444e5a
test eax, 0x100
jne 0x444e5a
xor eax, eax
jmp 0x444f87
mov eax, 1
jmp 0x444f87
test al, 0x20
je 0x444e91
mov ebx, dword [ebx + 8]
lea edx, [ebx + ebx*4]
mov ax, word [esi + edx*8 + 8]
lea esi, [esi + edx*8]
mov ecx, 0xbe01
and ax, cx
or ax, 1
mov dword [ebp - 0xe8], esi
mov word [esi + 8], ax
jmp case.default.0x44401c
test al, 0x10
je case.default.0x44401c
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
mov cl, byte [ebx + 3]
and cl, 0x47
cmp cl, 0x43
jl 0x444ee2
and al, 0xe
cmp al, 2
jne 0x444ec9
mov eax, dword [ebp - 0xf0]
push 0
call fcn.00443cc0
add esp, 4
mov dl, byte [edi + 8]
and dl, 0xe
cmp dl, 2
jne 0x444f25
push 0
mov eax, edi
call fcn.00443cc0
add esp, 4
jmp 0x444f25
cmp cl, 0x42
jne 0x444f25
test al, 2
jne 0x444f06
test al, 0xc
je 0x444f06
mov eax, dword [ebp - 0x119]
push 1
push eax
mov eax, dword [ebp - 0xf0]
call fcn.0043bb10
add esp, 8
movzx eax, word [edi + 8]
test al, 2
jne 0x444f25
test al, 0xc
je 0x444f25
mov ecx, dword [ebp - 0x119]
push 1
push ecx
mov eax, edi
call fcn.0043bb10
add esp, 8
mov eax, dword [ebp - 0xf0]
mov edx, 0x4000
test word [eax + 8], dx
je 0x444f45
call fcn.0043ba50
and dword [ebp - 0x108], 0xbfff
mov ecx, 0x4000
test word [edi + 8], cx
je 0x444f61
mov eax, edi
call fcn.0043ba50
and dword [ebp - 0x10c], 0xbfff
mov edx, dword [ebp - 0xdc]
cmp byte [edx + 0x40], 0
jne 0x4478ed
mov edx, dword [ebx + 0x10]
mov eax, dword [ebp - 0xf0]
mov ecx, edi
call fcn.00440390
mov ecx, dword [ebp - 0x108]
movzx edx, byte [ebx]
add edx, 0xffffffb2
cmp edx, 4
ja case.default.0x444f92
jmp dword [edx*4 + 0x449080]
xor edx, edx
test eax, eax
sete dl
jmp 0x444fcd
xor edx, edx
test eax, eax
setne dl
jmp 0x444fcd
xor edx, edx
test eax, eax
sets dl
jmp 0x444fcd
xor edx, edx
test eax, eax
setle dl
jmp 0x444fcd
xor edx, edx
test eax, eax
setg dl
jmp 0x444fcd
xor edx, edx
test eax, eax
setns dl
test byte [ebx + 3], 0x20
mov eax, edx
je 0x445018
mov ebx, dword [ebx + 8]
lea edx, [ebx + ebx*4]
lea esi, [esi + edx*8]
mov dx, word [esi + 8]
mov ebx, 0xbe04
and dx, bx
or dx, 4
mov word [esi + 8], dx
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0xf0]
mov dword [esi + 4], edx
mov word [eax + 8], cx
mov cx, word [ebp - 0x10c]
mov dword [ebp - 0xe8], esi
mov word [edi + 8], cx
jmp case.default.0x44401c
test eax, eax
je 0x445026
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
mov eax, dword [ebp - 0xf0]
mov word [eax + 8], cx
mov cx, word [ebp - 0x10c]
mov word [edi + 8], cx
jmp case.default.0x44401c
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x17c], edx
jmp case.default.0x44401c
test byte [ebx + 3], 1
jne 0x44505e
mov dword [ebp - 0x17c], 0
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 8]
mov edi, dword [ebx + 4]
xor ebx, ebx
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x110], edx
test ecx, ecx
jle 0x445114
lea ecx, [eax + 0x14]
mov dword [ebp - 0xf4], ecx
jmp 0x445097
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x17c]
test ecx, ecx
je 0x4450a6
mov ecx, dword [ecx + ebx*4]
jmp 0x4450a8
mov ecx, ebx
mov eax, dword [eax + 0x10]
movzx eax, byte [ebx + eax]
mov edx, dword [ebp - 0xf4]
mov edx, dword [edx]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x110]
add eax, ecx
add ecx, edi
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [esi + eax*8]
lea ecx, [esi + ecx*8]
call fcn.00440390
mov dword [ebp - 0x15c], eax
test eax, eax
jne 0x4450fd
add dword [ebp - 0xf4], 4
inc ebx
cmp ebx, dword [ebp - 0xe0]
jl 0x445091
mov dword [ebp - 0x17c], eax
jmp case.default.0x44401c
cmp dword [ebp - 0x104], 0
je 0x445114
mov edx, dword [ebp - 0x15c]
neg edx
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x17c], 0
jmp case.default.0x44401c
mov eax, dword [ebp - 0x15c]
test eax, eax
jns 0x44513c
mov ebx, dword [ebx + 4]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
jne 0x44514d
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
mov ebx, dword [ebx + 0xc]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 1
lea ecx, [esi + eax*8]
je 0x445173
mov edi, 2
jmp 0x445185
call fcn.0043be40
or eax, edx
je 0x445183
mov edi, 1
jmp 0x445185
xor edi, edi
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
test byte [esi + ecx*8 + 8], 1
lea ecx, [esi + ecx*8]
je 0x44519c
mov eax, 2
jmp 0x4451ae
call fcn.0043be40
or eax, edx
je 0x4451ac
mov eax, 1
jmp 0x4451ae
xor eax, eax
cmp byte [ebx], 0x48
jne 0x4451c0
lea edx, [eax + edi*2]
movzx eax, byte [edi + edx + 0x4b3cac]
jmp 0x4451cb
lea eax, [eax + edi*2]
movzx eax, byte [edi + eax + 0x4b3cf0]
mov ebx, dword [ebx + 0xc]
lea ecx, [ebx + ebx*4]
lea esi, [esi + ecx*8]
mov dword [ebp - 0xe8], esi
cmp eax, 2
jne 0x4451f8
mov dx, word [esi + 8]
mov eax, 0xbe01
and dx, ax
or dx, 1
mov word [esi + 8], dx
jmp case.default.0x44401c
mov cx, word [esi + 8]
cdq
mov dword [esi + 4], edx
mov edx, 0xbe04
and cx, dx
or cx, 4
mov dword [esi], eax
mov word [esi + 8], cx
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + ebx*4]
lea edi, [esi + eax*8]
lea eax, [esi + ecx*8]
mov dword [ebp - 0xe8], eax
call fcn.0043c1b0
test byte [edi + 8], 1
jne case.default.0x44401c
mov esi, dword [ebp - 0xe8]
mov edx, 4
mov ecx, edi
mov word [esi + 8], dx
call fcn.0043be40
or eax, edx
jne 0x445268
mov eax, 1
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.default.0x44401c
xor eax, eax
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + ebx*4]
lea edi, [esi + eax*8]
lea eax, [esi + ecx*8]
mov dword [ebp - 0xe8], eax
call fcn.0043c1b0
test byte [edi + 8], 1
jne case.default.0x44401c
mov esi, dword [ebp - 0xe8]
mov edx, 4
mov ecx, edi
mov word [esi + 8], dx
call fcn.0043be40
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.default.0x44401c
mov eax, dword [edi + 0xc8]
mov ecx, dword [ebx + 4]
cmp byte [eax + ecx], 0
je 0x4452de
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
mov byte [eax + ecx], 1
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
test byte [esi + edx*8 + 8], 1
lea eax, [esi + edx*8]
je 0x4452fc
mov eax, dword [ebx + 0xc]
jmp 0x445323
call fcn.0043beb0
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x445313
mov eax, 1
jmp 0x445315
xor eax, eax
cmp byte [ebx], 0x2e
jne 0x445323
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
test eax, eax
je case.default.0x44401c
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
test byte [esi + edx*8 + 8], 1
je case.default.0x44401c
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 1
jne case.default.0x44401c
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
lea edx, [eax + eax*4]
mov dword [ebp - 0x108], ecx
mov ecx, dword [ebx + 4]
lea eax, [esi + edx*8]
mov edx, dword [edi + 0x38]
mov dword [ebp - 0xec], eax
mov eax, dword [edx + ecx*4]
cmp byte [eax + 0x1a], 0
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0x124], ecx
mov ecx, dword [eax]
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xf8], ecx
je 0x445429
mov esi, eax
call fcn.0043fb40
mov esi, dword [ebp - 0x120]
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xf0]
cmp dword [ebp - 0xd8], 0
jne 0x448d4e
mov edx, dword [eax + 0x3c]
cmp edx, dword [edi + 0x48]
je 0x4455b2
cmp byte [eax + 0x19], 0
je 0x445480
test ecx, ecx
jne 0x445470
mov ecx, dword [eax + 0x10]
lea ecx, [ecx + ecx*4]
lea esi, [esi + ecx*8]
mov ecx, dword [esi + 0xc]
lea edx, [eax + 0x40]
mov dword [eax + 0x44], ecx
mov dword [ebp - 0x10c], edx
mov dword [edx], ecx
mov edx, dword [esi + 0x10]
mov dword [ebp - 0xf4], ecx
mov dword [eax + 0x4c], edx
jmp 0x445521
test ecx, ecx
je 0x445461
cmp byte [ecx + 0x49], 1
je 0x445461
mov edi, dword [ebp - 0xf0]
call fcn.0043fba0
mov esi, dword [ebp - 0x120]
mov edi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xf0]
jmp 0x4453d7
mov dword [ebp - 0xd8], 0
jmp 0x4453e4
mov eax, dword [ebp - 0xec]
call fcn.0043c1b0
jmp 0x4458ea
test byte [eax + 0x1c], 4
mov esi, dword [ebp - 0xf8]
jne 0x4454d0
lea edi, [ebp - 0x248]
call fcn.004345e0
mov eax, esi
movzx ecx, word [eax + 0x28]
mov edx, dword [eax + 0x20]
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xf4], ecx
mov dword [eax + 0x4c], edx
mov ecx, dword [ebp - 0x248]
add eax, 0x40
mov dword [eax], ecx
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x10c], eax
mov edi, eax
mov eax, dword [ebp - 0xf4]
jmp 0x4454fe
mov edi, dword [ebp - 0xf0]
add edi, 0x40
push edi
mov dword [ebp - 0x10c], edi
call fcn.00434630
movzx eax, word [esi + 0x28]
mov edx, dword [esi + 0x20]
mov ecx, dword [ebp - 0xf0]
add esp, 4
mov dword [ebp - 0xf4], eax
mov dword [ecx + 0x4c], edx
mov edi, dword [edi]
cmp edi, eax
ja 0x445509
mov dword [ecx + 0x44], edi
jmp 0x44550c
mov dword [ecx + 0x44], eax
mov eax, dword [ebp - 0xdc]
cmp edi, dword [eax + 0x58]
ja 0x444b6e
mov edi, dword [ebp - 0x114]
mov esi, dword [ebp - 0xf0]
mov ecx, dword [edi + 0x48]
mov dword [esi + 0x3c], ecx
mov ecx, dword [esi + 0x4c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x445546
movzx eax, al
mov dword [ebp - 0x14c], eax
mov ecx, 1
jmp 0x445560
lea esi, [ebp - 0x14c]
call fcn.00422810
mov esi, dword [ebp - 0xf0]
movzx ecx, al
mov eax, dword [ebp - 0x14c]
movzx edx, cl
mov dword [esi + 0x48], edx
mov edx, dword [ebp - 0x124]
xor ecx, ecx
mov word [esi + 0x16], cx
mov dword [edx], eax
cmp eax, 0x18003
ja 0x44559d
mov ecx, dword [ebp - 0x10c]
cmp eax, dword [ecx]
ja 0x44559d
cmp dword [ebp - 0xf4], eax
jae 0x4455c2
mov eax, dword [ebp - 0xf0]
xor ecx, ecx
mov dword [eax + 0x4c], ecx
mov dword [eax + 0x44], ecx
jmp 0x4455c2
mov eax, 0x116df
call fcn.00493030
mov dword [ebp - 0xd8], eax
jmp case.default.0x44401c
movzx edx, word [eax + 0x16]
cmp edx, dword [ebp - 0x108]
jg 0x4457d8
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x48]
mov edx, dword [ebp - 0x124]
cmp ecx, dword [edx]
jae 0x4457a1
mov eax, dword [eax + 0x4c]
test eax, eax
jne 0x44566b
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x27c], eax
mov edx, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x124]
mov esi, dword [ecx]
mov ecx, dword [ebp - 0xf8]
shr edx, 2
not edx
and edx, 1
push edx
push eax
lea eax, [ebp - 0x2a0]
call fcn.0043c690
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.default.0x44401c
mov edx, dword [ebp - 0x290]
mov dword [ebp - 0xf4], edx
jmp 0x445671
mov dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0xf0]
movzx edi, word [edx + 0x16]
mov eax, dword [ebp - 0x124]
mov ecx, dword [eax + edi*4]
mov esi, dword [edx + 0x48]
mov eax, dword [eax]
add esi, dword [ebp - 0xf4]
add eax, dword [ebp - 0xf4]
mov dword [ebp - 0x14c], ecx
mov dword [ebp - 0xe0], eax
lea eax, [edx + edi*4 + 0x54]
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0x104], eax
mov al, byte [esi]
cmp al, 0x80
jae 0x4456c9
movzx eax, al
inc esi
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x10c], esi
jmp 0x4456f5
mov ecx, dword [ebp - 0x10c]
lea esi, [ebp - 0x150]
call fcn.00422810
movzx ecx, al
add dword [ebp - 0x10c], ecx
mov eax, dword [ebp - 0x150]
mov esi, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x104]
mov dword [edx], eax
call fcn.0043fd00
add ecx, eax
mov dword [ebp - 0x14c], ecx
cmp ecx, eax
jb 0x445731
add dword [ebp - 0x104], 4
mov eax, dword [ebp - 0x124]
inc edi
mov dword [eax + edi*4], ecx
cmp edi, dword [ebp - 0x108]
jg 0x445738
cmp esi, dword [ebp - 0xe0]
jb 0x4456b1
jmp 0x445738
mov esi, dword [ebp - 0xe0]
inc esi
mov eax, dword [ebp - 0xf0]
mov edx, esi
sub edx, dword [ebp - 0xf4]
cmp dword [eax + 0x4c], 0
mov word [eax + 0x16], di
mov dword [eax + 0x48], edx
jne 0x445776
lea eax, [ebp - 0x2a0]
call fcn.0043bdc0
mov ecx, dword [ebp - 0x14c]
mov eax, 1
mov word [ebp - 0x298], ax
mov eax, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xe0]
cmp esi, edx
jb 0x445787
ja 0x44578c
cmp ecx, dword [eax + 0x40]
jne 0x44578c
cmp ecx, dword [eax + 0x40]
jbe 0x4457a1
mov eax, 0x11733
call fcn.00493030
mov dword [ebp - 0xd8], eax
jmp case.default.0x44401c
mov ecx, dword [ebp - 0xf0]
movzx edx, word [ecx + 0x16]
cmp edx, dword [ebp - 0x108]
jg 0x4457d8
cmp byte [ebx + 1], 0xf8
mov eax, dword [ebp - 0xec]
jne 0x445476
mov edi, dword [ebx + 0x10]
push 0x800
call fcn.0043c330
add esp, 4
jmp 0x4458ea
mov eax, dword [ebp - 0xec]
mov ecx, 0x2460
test word [eax + 8], cx
je 0x4457ee
call fcn.0043c1b0
mov esi, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x108]
mov edi, dword [esi + 0x44]
mov eax, dword [ebp - 0x124]
mov ecx, dword [esi + edx*4 + 0x54]
mov dword [ebp - 0x150], ecx
cmp edi, dword [eax + edx*4 + 4]
jb 0x44582f
mov ecx, dword [esi + 0x4c]
add ecx, dword [eax + edx*4]
mov eax, dword [ebp - 0xec]
mov edx, dword [ebp - 0x150]
call fcn.0043fe30
jmp 0x4458db
mov bl, byte [ebx + 3]
test bl, 0xc0
je 0x445845
cmp ecx, 0xc
jb 0x445841
test cl, 1
je 0x445852
test bl, bl
js 0x445852
mov eax, ecx
call fcn.0043fd00
mov esi, eax
test esi, esi
jne 0x445878
mov edx, dword [ebp - 0x150]
mov eax, 0xd
cmp eax, edx
sbb ecx, ecx
not ecx
lea eax, [ebp - 0x248]
and ecx, eax
mov eax, dword [ebp - 0xec]
call fcn.0043fe30
jmp 0x4458db
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x108]
shr edx, 2
not edx
and edx, 1
push edx
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xf8]
push edx
call fcn.0043c690
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.default.0x44401c
mov esi, dword [ebp - 0xec]
mov edx, dword [ebp - 0x150]
mov ecx, dword [esi + 0x10]
mov eax, esi
call fcn.0043fe30
mov eax, 0xefff
and word [esi + 8], ax
mov cl, byte [ebp - 0x119]
mov edx, dword [ebp - 0xec]
mov byte [edx + 0xa], cl
mov eax, dword [ebp - 0xec]
movzx edx, word [eax + 8]
test edx, 0x1000
je case.default.0x44401c
mov ecx, eax
mov edi, dword [ecx + 0x10]
mov dword [ebp - 0xfc], edi
test edi, edi
je case.default.0x44401c
mov esi, dword [eax + 0xc]
mov ebx, edx
lea ecx, [esi + 2]
and ebx, 0x12
cmp dword [eax + 0x18], ecx
jge 0x445970
mov edi, dword [ebp - 0xec]
xor eax, eax
call fcn.0043b8b0
test eax, eax
jne 0x4478ed
mov edi, dword [ebp - 0xfc]
push esi
push edi
mov edi, dword [ebp - 0xec]
mov edx, dword [edi + 0x10]
push edx
call fcn.00499190
mov eax, dword [edi + 0x10]
mov byte [esi + eax], 0
mov ecx, dword [edi + 0x10]
add esp, 0xc
or ebx, 0x200
mov byte [esi + ecx + 1], 0
mov word [edi + 8], bx
jmp case.default.0x44401c
mov ecx, dword [eax + 0x14]
and edx, 0xd
mov dword [eax + 0x10], ecx
mov word [eax + 8], dx
jmp 0x44593e
mov edi, dword [ebx + 0x10]
mov ebx, dword [ebx + 4]
mov cl, byte [edi]
lea edx, [ebx + ebx*4]
lea esi, [esi + edx*8]
test cl, cl
je case.default.0x44401c
mov eax, dword [ebp - 0x119]
push eax
mov eax, esi
inc edi
call fcn.00443d40
mov cl, byte [edi]
add esp, 4
add esi, 0x28
test cl, cl
jne 0x445995
jmp case.default.0x44401c
mov ecx, dword [ebx + 0x10]
xor eax, eax
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], eax
mov dword [ebp - 0xec], eax
mov dword [ebp - 0x108], eax
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
lea edx, [esi + edx*8]
lea eax, [eax + eax*4]
mov dword [ebp - 0xe0], edx
lea edx, [edx + eax*8 - 0x28]
movzx eax, byte [edi + 0x57]
mov dword [ebp - 0xf8], edx
lea edx, [ebx + ebx*4]
mov dword [ebp - 0xfc], eax
lea eax, [esi + edx*8]
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0xe8], eax
test ecx, ecx
je 0x445a3e
mov esi, dword [ebp - 0xe0]
mov cl, byte [ecx]
mov edi, dword [ebp - 0x104]
mov edx, dword [ebp - 0x119]
push edx
mov eax, esi
call fcn.00443d40
mov cl, byte [edi + 1]
inc edi
add esp, 4
add esi, 0x28
test cl, cl
jne 0x445a22
mov esi, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xfc]
push eax
mov edx, esi
call fcn.0043fbf0
mov ebx, eax
add esp, 4
mov dword [esi + 0x1c], ebx
call fcn.0043fd00
mov ecx, 0x4000
mov edi, eax
test word [esi + 8], cx
je 0x445a8d
mov edx, dword [ebp - 0x168]
or edx, dword [ebp - 0x164]
je 0x445a83
mov eax, esi
call fcn.0043ba50
jmp 0x445a8d
mov eax, dword [esi]
add dword [ebp - 0x108], eax
sub edi, eax
mov eax, edi
cdq
add dword [ebp - 0x168], eax
adc dword [ebp - 0x164], edx
cmp ebx, 0x7f
ja 0x445aa8
mov eax, 1
jmp 0x445ab3
push 0
push ebx
call fcn.00422880
add esp, 8
add dword [ebp - 0xec], eax
sub esi, 0x28
cmp esi, dword [ebp - 0xe0]
jae 0x445a44
cmp dword [ebp - 0xec], 0x7e
jg 0x445adb
inc dword [ebp - 0xec]
mov esi, dword [ebp - 0xec]
jmp 0x445b0d
mov esi, dword [ebp - 0xec]
mov eax, esi
cdq
push edx
push eax
call fcn.00422880
mov edi, eax
add esi, edi
mov eax, esi
cdq
push edx
push eax
mov dword [ebp - 0xec], esi
call fcn.00422880
add esp, 0x10
cmp edi, eax
jge 0x445b0d
inc esi
mov dword [ebp - 0xec], esi
mov edi, dword [ebp - 0x168]
mov eax, esi
mov esi, dword [ebp - 0x164]
cdq
mov ebx, eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x58]
mov ecx, edx
add edi, ebx
cdq
adc esi, ecx
mov dword [ebp - 0x2ec], ecx
mov dword [ebp - 0x2c0], edi
cmp esi, edx
jg 0x444b6e
jl 0x445b4c
cmp edi, eax
ja 0x444b6e
mov esi, dword [ebp - 0xe8]
cmp dword [esi + 0x18], edi
jge 0x445b90
mov ecx, edi
xor eax, eax
mov edi, esi
call fcn.0043b8b0
test eax, eax
jne 0x4478ed
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ebp - 0xec]
mov esi, dword [esi + 0x10]
mov dword [ebp - 0x104], esi
cmp edx, 0x80
jae 0x445b9d
mov byte [esi], dl
mov eax, 1
jmp 0x445bad
mov edx, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], edx
jmp 0x445b70
push ecx
push ebx
call fcn.00422630
mov edx, dword [ebp - 0xec]
add esp, 8
mov ebx, dword [ebp - 0xe0]
movzx eax, al
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x10c], edx
jmp 0x445bd0
mov ecx, dword [ebx + 0x1c]
mov dword [ebp - 0xfc], ecx
cmp ecx, 0x80
jae 0x445bf7
mov eax, dword [ebp - 0x104]
mov edx, dword [ebp - 0xf4]
mov byte [edx + eax], cl
mov eax, 1
jmp 0x445c17
mov edx, dword [ebp - 0x104]
mov esi, dword [ebp - 0xf4]
push 0
push ecx
lea esi, [esi + edx]
call fcn.00422630
mov ecx, dword [ebp - 0xfc]
add esp, 8
mov edx, dword [ebp - 0x104]
mov esi, dword [ebp - 0x10c]
movzx eax, al
add dword [ebp - 0xf4], eax
lea edi, [esi + edx]
mov eax, ebx
call fcn.0043fd20
add esi, eax
add ebx, 0x28
mov dword [ebp - 0x10c], esi
cmp ebx, dword [ebp - 0xf8]
jbe 0x445bd0
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x108]
mov edx, 0x10
mov word [eax + 8], dx
test ecx, ecx
je 0x445c76
mov dword [eax], ecx
mov ecx, 0x4010
mov word [eax + 8], cx
mov byte [eax + 0xa], 1
jmp case.default.0x44401c
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov ecx, dword [eax + edx*4]
mov eax, dword [ecx]
xor ecx, ecx
lea edx, [ebp - 0x1b0]
push edx
mov dword [ebp - 0x1b0], ecx
mov dword [ebp - 0x1ac], ecx
call fcn.00439050
mov ecx, dword [ebp - 0x1b0]
mov edx, dword [ebp - 0x1ac]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xe8]
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 0x10c], eax
test eax, eax
jne 0x445dbb
mov eax, dword [ebp - 0xdc]
cmp dword [eax + 0x9c], 0
jle 0x445cf9
push str.cannot_open_savepoint___SQL_statements_in_progress
mov ecx, eax
push ecx
jmp 0x445e41
mov ecx, ebx
call fcn.00421730
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0x1f4]
add edx, dword [eax + 0x1f0]
push edx
push 0
push eax
call fcn.00481cf0
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x448d4e
mov eax, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xdc]
add eax, 0x21
push 0
push eax
call fcn.0041eec0
mov edi, eax
add esp, 8
test edi, edi
je case.default.0x44401c
mov ecx, dword [ebp - 0xe0]
inc ecx
push ecx
lea eax, [edi + 0x20]
push ebx
push eax
mov dword [edi], eax
call fcn.00499190
add esp, 0xc
cmp byte [esi + 0x3e], 0
je 0x445d7d
mov byte [esi + 0x3e], 0
mov byte [esi + 0x45], 1
jmp 0x445d83
inc dword [esi + 0x1f0]
mov edx, dword [esi + 0x1e8]
mov dword [edi + 0x18], edx
mov eax, dword [esi + 0x1f8]
mov dword [esi + 0x1e8], edi
mov dword [edi + 8], eax
mov ecx, dword [esi + 0x1fc]
mov dword [edi + 0xc], ecx
mov edx, dword [esi + 0x200]
mov dword [edi + 0x10], edx
mov eax, dword [esi + 0x204]
mov dword [edi + 0x14], eax
jmp case.default.0x44401c
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ecx + 0x1e8]
mov dword [ebp - 0xf8], 0
test esi, esi
je 0x445df2
mov edx, dword [esi]
push ebx
push edx
call fcn.00421a70
add esp, 8
test eax, eax
je 0x445e1a
mov esi, dword [esi + 0x18]
inc dword [ebp - 0xf8]
test esi, esi
jne 0x445dd5
mov eax, dword [ebp - 0xdc]
push ebx
push str.no_such_savepoint:__s
push eax
add edi, 0x2c
push edi
call fcn.0041f150
add esp, 0x10
mov dword [ebp - 0xd8], 1
jmp case.default.0x44401c
mov ebx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x10c]
xor ecx, ecx
mov dword [ebp - 0xf4], esi
cmp dword [ebx + 0x9c], ecx
jle 0x445e5c
cmp eax, 1
jne 0x445e5c
push str.cannot_release_savepoint___SQL_statements_in_progress
push ebx
add edi, 0x2c
push edi
call fcn.0041f150
add esp, 0xc
mov dword [ebp - 0xd8], 5
jmp case.default.0x44401c
cmp dword [esi + 0x18], ecx
jne 0x445eb6
cmp byte [ebx + 0x45], cl
je 0x445eb6
mov dword [ebp - 0x124], 1
cmp eax, 1
jne 0x445ebc
push eax
mov eax, edi
call fcn.0043f290
mov esi, eax
add esp, 4
test esi, esi
jne 0x448913
mov eax, edi
mov byte [ebx + 0x3e], 1
call fcn.0043f300
cmp eax, 5
je 0x448c75
mov esi, dword [ebp - 0xf4]
mov byte [ebx + 0x45], 0
mov ecx, dword [edi + 0x50]
mov dword [ebp - 0xd8], ecx
jmp 0x445fd5
mov dword [ebp - 0x124], ecx
mov edx, dword [ebx + 0x1f0]
sub edx, dword [ebp - 0xf8]
dec edx
mov dword [ebp - 0xf8], edx
cmp eax, 2
jne 0x445f49
mov eax, dword [ebx + 0x18]
shr eax, 1
and eax, 1
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x108], ecx
cmp dword [ebx + 0x14], ecx
jle 0x445f4f
xor eax, eax
cmp dword [ebp - 0x104], eax
sete al
xor esi, esi
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ebx + 0x10]
mov eax, dword [esi + edx + 4]
push ecx
push 0x204
push eax
call fcn.00434000
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x448d4e
mov eax, dword [ebp - 0x108]
inc eax
add esi, 0x10
mov dword [ebp - 0x108], eax
cmp eax, dword [ebx + 0x14]
jl 0x445f00
mov esi, dword [ebp - 0xf4]
xor ecx, ecx
jmp 0x445f4f
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0x108], ecx
cmp dword [ebx + 0x14], ecx
jle 0x445fba
mov dword [ebp - 0xe0], 0
jmp 0x445f70
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebx + 0x10]
push ecx
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + eax + 4]
push edx
call fcn.00434320
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x448d4e
mov eax, dword [ebp - 0x108]
add dword [ebp - 0xe0], 0x10
inc eax
mov dword [ebp - 0x108], eax
cmp eax, dword [ebx + 0x14]
jl 0x445f70
cmp dword [ebp - 0x104], 0
je 0x445fd5
mov eax, ebx
call fcn.00441110
mov eax, ebx
call fcn.00459940
or dword [ebx + 0x18], 2
cmp dword [ebx + 0x1e8], esi
je 0x44603e
lea ecx, [ecx]
cmp dword [ebx + 0x208], 0
mov eax, dword [ebx + 0x1e8]
mov edx, dword [eax + 0x18]
mov dword [ebx + 0x1e8], edx
je 0x446001
mov ecx, ebx
call fcn.0041ec00
jmp 0x446030
cmp eax, dword [ebx + 0x114]
jb 0x446027
cmp eax, dword [ebx + 0x118]
jae 0x446027
mov ecx, dword [ebx + 0x110]
mov dword [eax], ecx
dec dword [ebx + 0xfc]
mov dword [ebx + 0x110], eax
jmp 0x446030
push eax
call fcn.0041eb60
add esp, 4
dec dword [ebx + 0x1f0]
cmp dword [ebx + 0x1e8], esi
jne 0x445fe0
cmp dword [ebp - 0x10c], 1
jne 0x446070
mov edx, dword [esi + 0x18]
mov eax, esi
mov ecx, ebx
mov dword [ebx + 0x1e8], edx
call fcn.0041ec40
cmp dword [ebp - 0x124], 0
jne case.default.0x44401c
mov eax, ebx
dec dword [eax + 0x1f0]
jmp 0x4460a3
cmp dword [ebp - 0x124], 0
mov eax, dword [esi + 8]
mov dword [ebx + 0x1f8], eax
mov ecx, dword [esi + 0xc]
mov dword [ebx + 0x1fc], ecx
mov edx, dword [esi + 0x10]
mov dword [ebx + 0x200], edx
mov eax, dword [esi + 0x14]
mov dword [ebx + 0x204], eax
jne case.default.0x44401c
mov eax, ebx
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0x10c]
push ecx
push edx
push eax
call fcn.00481cf0
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x448d4e
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 8]
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xfc], eax
test eax, eax
je 0x446102
cmp byte [ecx + 0x3e], 0
jne 0x446102
test ebx, ebx
jne 0x446102
cmp dword [ecx + 0x9c], ebx
jle 0x446102
push str.cannot_commit_transaction___SQL_statements_in_progress
mov eax, ecx
push eax
jmp 0x445e41
movzx ecx, byte [ecx + 0x3e]
cmp eax, ecx
jne 0x448c8f
test eax, eax
jne 0x446119
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x446127
mov eax, str.cannot_rollback___no_transaction_is_active
test ebx, ebx
jne 0x446127
mov eax, str.cannot_commit___no_transaction_is_active
mov edx, dword [ebp - 0xdc]
push eax
push edx
add edi, 0x2c
push edi
call fcn.0041f150
add esp, 0xc
mov dword [ebp - 0xd8], 1
jmp case.default.0x44401c
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x446164
mov eax, dword [ebp - 0xdc]
test dword [eax + 0x18], 0x2000000
jne 0x448d14
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x10]
add edx, edx
mov eax, dword [eax + edx*8 + 4]
mov dword [ebp - 0xe0], eax
test eax, eax
je 0x446281
push ecx
push eax
call fcn.004330b0
add esp, 8
mov dword [ebp - 0xd8], eax
cmp eax, 5
je 0x448d20
test eax, eax
jne 0x448d4e
cmp dword [ebx + 8], eax
je 0x44624d
test byte [edi + 0x58], 0x80
je 0x44624d
mov esi, dword [ebp - 0xdc]
cmp byte [esi + 0x3e], al
je 0x4461d0
cmp dword [esi + 0x98], 1
jle 0x44624d
cmp dword [edi + 0x68], 0
jne 0x4461eb
mov ecx, dword [esi + 0x1f0]
inc dword [esi + 0x1f4]
add ecx, dword [esi + 0x1f4]
mov dword [edi + 0x68], ecx
mov edx, dword [edi + 0x68]
dec edx
push edx
push 0
push esi
call fcn.00481cf0
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x44621d
mov eax, dword [edi + 0x68]
push eax
mov eax, dword [ebp - 0xe0]
call fcn.004342d0
add esp, 4
mov dword [ebp - 0xd8], eax
mov ecx, dword [esi + 0x1f8]
mov dword [edi + 0x98], ecx
mov edx, dword [esi + 0x1fc]
mov dword [edi + 0x9c], edx
mov eax, dword [esi + 0x200]
mov dword [edi + 0xa0], eax
mov ecx, dword [esi + 0x204]
mov dword [edi + 0xa4], ecx
mov eax, dword [ebp - 0xe0]
lea edx, [ebp - 0x198]
push edx
push 1
call fcn.00438f40
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x10]
mov esi, dword [ebp - 0x198]
add esp, 8
add eax, eax
mov eax, dword [edx + eax*8 + 0xc]
mov eax, dword [eax + 4]
jmp 0x44628b
xor esi, esi
mov dword [ebp - 0x198], esi
xor eax, eax
cmp byte [ebx + 3], 0
je case.default.0x44401c
cmp esi, dword [ebx + 0xc]
jne 0x4462a3
cmp eax, dword [ebx + 0x10]
je case.default.0x44401c
mov eax, dword [edi + 0x2c]
mov edi, dword [ebp - 0xdc]
mov ecx, edi
call fcn.0041ec40
push edi
mov ebx, str.database_schema_has_changed
call fcn.0041f0b0
mov ebx, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x108]
mov dword [ebx + 0x2c], eax
mov eax, dword [ecx + 4]
mov ecx, dword [edi + 0x10]
mov edx, eax
add edx, edx
mov edx, dword [ecx + edx*8 + 0xc]
add esp, 4
cmp dword [edx], esi
je 0x4462e9
mov esi, eax
call fcn.00459910
or dword [ebx + 0x58], 0x20
mov dword [ebp - 0xd8], 0x11
jmp case.default.0x44401c
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 4]
lea eax, [ebp - 0x1d0]
push eax
mov eax, dword [ebp - 0xdc]
push ecx
mov ecx, dword [eax + 0x10]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
call fcn.00438f40
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0xe8]
cdq
add esp, 8
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x44401c
mov eax, dword [ebx + 0xc]
mov edi, dword [ebx + 4]
mov ecx, dword [ebp - 0x120]
mov edx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
shl edi, 4
add edi, dword [edx + 0x10]
lea esi, [ecx + eax*8]
call fcn.0043bfa0
mov edx, dword [esi]
mov ebx, dword [ebx + 8]
mov eax, dword [edi + 4]
push edx
call fcn.00438fb0
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0xd8], eax
mov eax, dword [ecx + 8]
add esp, 4
cmp eax, 1
jne 0x446393
mov eax, dword [edi + 0xc]
mov edx, dword [esi]
mov dword [eax], edx
mov eax, dword [ebp - 0xdc]
or dword [eax + 0x18], 2
jmp 0x4463a0
cmp eax, 2
jne 0x4463a0
mov eax, dword [edi + 0xc]
mov dl, byte [esi]
mov byte [eax + 0x4c], dl
cmp dword [ecx + 4], 1
jne case.default.0x44401c
mov eax, dword [ebp - 0xdc]
call fcn.00441110
mov eax, dword [ebp - 0x114]
and dword [eax + 0x58], 0xffffffdf
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + eax*4]
test eax, eax
je case.0x44401c.54
mov eax, dword [eax + 0x20]
cmp eax, dword [ebx + 8]
je case.default.0x44401c
test byte [edi + 0x58], 0x20
je 0x4463f2
mov dword [ebp - 0xd8], 0x204
jmp case.default.0x44401c
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebx + 8]
xor eax, eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xe0], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xfc], eax
shl eax, 4
add eax, dword [ecx + 0x10]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x110], ecx
cmp dl, 0x37
jne 0x446440
mov edx, dword [eax + 0xc]
mov al, byte [edx + 0x4c]
mov dword [ebp - 0xf4], 1
cmp al, byte [edi + 0x57]
jae 0x44644a
mov byte [edi + 0x57], al
jmp 0x44644a
mov dword [ebp - 0xf4], 0
test byte [ebx + 3], 2
je 0x44646c
mov ecx, dword [ebp - 0x120]
lea eax, [esi + esi*4]
lea esi, [ecx + eax*8]
call fcn.0043bfa0
mov esi, dword [esi]
cmp esi, 2
jl 0x448d36
mov cl, byte [ebx + 1]
mov eax, dword [ebp - 0x104]
cmp cl, 0xfa
jne 0x44648f
mov ecx, dword [ebx + 0x10]
movzx eax, word [ecx + 8]
movzx edx, word [ecx + 6]
mov dword [ebp - 0xe0], ecx
add eax, edx
jmp 0x446497
cmp cl, 0xf2
jne 0x446497
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ebx + 4]
push 1
push ecx
push eax
push edx
push edi
call fcn.00443b80
mov edi, eax
add esp, 0x14
test edi, edi
je 0x4478ed
mov eax, dword [edi]
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xf4]
or dword [edi + 0x1c], 8
push eax
mov eax, dword [ebp - 0x110]
push ecx
push edx
push esi
mov byte [edi + 0x19], 1
mov dword [edi + 0x20], esi
call fcn.00434460
mov edx, dword [edi]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xe0]
mov dword [edi + 8], eax
mov cl, byte [ebx + 3]
xor eax, eax
and cl, 1
mov byte [edx + 0x4a], cl
add esp, 0x10
cmp byte [ebx + 1], 0xfa
setne al
add eax, eax
add eax, eax
xor eax, dword [edi + 0x1c]
and eax, 4
xor dword [edi + 0x1c], eax
jmp case.default.0x44401c
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 4]
push 1
push 0xffffffffffffffff
push ecx
push edx
push edi
call fcn.00443b80
mov esi, eax
add esp, 0x14
test esi, esi
je 0x4478ed
or dword [esi + 0x1c], 1
mov edx, dword [ebp - 0xdc]
mov byte [esi + 0x19], 1
movzx eax, byte [ebx + 3]
mov ecx, dword [edx]
push 0x41e
or eax, 5
push eax
push 0
push ecx
lea ecx, [esi + 4]
call fcn.00432000
add esp, 0x10
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x446608
mov edx, dword [esi + 4]
push 1
push edx
call fcn.004330b0
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x446608
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xfc], eax
test eax, eax
je 0x4465ea
movzx eax, byte [ebx + 3]
or eax, 2
push eax
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1bc]
push ecx
call fcn.004389e0
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x4465e4
mov edx, dword [esi]
mov eax, dword [ebp - 0xfc]
push edx
push eax
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x1bc]
push 1
push eax
mov eax, dword [esi + 4]
call fcn.00434460
add esp, 0x10
mov dword [ebp - 0xd8], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x446608
mov ecx, dword [esi]
mov eax, dword [esi + 4]
push ecx
push 0
push 1
push 1
call fcn.00434460
add esp, 0x10
or dword [esi + 0x1c], 4
mov dword [ebp - 0xd8], eax
xor edx, edx
cmp byte [ebx + 3], 8
setne dl
add edx, edx
add edx, edx
add edx, edx
xor edx, dword [esi + 0x1c]
and edx, 8
xor dword [esi + 0x1c], edx
jmp case.default.0x44401c
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
push 1
push 0xffffffffffffffff
push eax
push ecx
push edi
call fcn.00443b80
add esp, 0x14
test eax, eax
je 0x4478ed
mov edx, dword [ebx + 0x10]
push eax
mov dword [eax + 8], edx
mov eax, dword [ebx + 0xc]
push eax
mov eax, dword [ebp - 0xdc]
call fcn.0044a290
add esp, 8
mov dword [ebp - 0xd8], eax
jmp case.default.0x44401c
mov edx, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + ecx*4]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
mov esi, ecx
add esi, 1
mov edi, edx
adc edi, 0
mov dword [eax + 0x28], esi
mov dword [eax + 0x2c], edi
mov eax, ecx
or eax, edx
jne case.default.0x44401c
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
push 0
push 0xffffffffffffffff
push eax
push ecx
push edi
call fcn.00443b80
add esp, 0x14
test eax, eax
je 0x4478ed
mov byte [eax + 0x19], 1
mov edx, dword [ebx + 8]
or dword [eax + 0x1c], 4
mov dword [eax + 0x10], edx
jmp case.default.0x44401c
mov edi, dword [ebp - 0x114]
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + eax*4]
call fcn.0043e570
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov dword [eax + edx*4], 0
jmp case.default.0x44401c
mov edx, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + ecx*4]
test byte [eax + 0x1c], 4
movzx edx, byte [ebx]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xf8], edx
mov byte [eax + 0x19], 0
je 0x4467ef
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
mov cl, byte [esi + eax*8 + 8]
lea esi, [esi + eax*8]
and cl, 0xe
cmp cl, 2
jne 0x44673b
push 0
mov eax, esi
call fcn.00443cc0
add esp, 4
mov ecx, esi
call fcn.0043be40
mov dword [ebp - 0x188], eax
movzx eax, word [esi + 8]
mov dword [ebp - 0x184], edx
test al, 4
jne 0x4467a3
test al, 8
jne 0x446769
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
fild qword [ebp - 0x188]
fcom qword [esi]
fnstsw ax
test ah, 0x41
jne 0x44678b
test byte [ebp - 0xf8], 1
fstp st(0)
je 0x4467a3
dec dword [ebp - 0xf8]
jmp 0x4467a3
fcomp qword [esi]
fnstsw ax
test ah, 5
jp 0x4467a3
test byte [ebp - 0xf8], 1
jne 0x4467a3
inc dword [ebp - 0xf8]
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x188]
mov esi, dword [ebp - 0xe0]
lea edx, [ebp - 0x134]
push edx
mov edx, dword [esi]
push 0
push eax
push ecx
push 0
push edx
call fcn.00435000
mov ecx, dword [ebp - 0x188]
mov edx, dword [ebp - 0x184]
add esp, 0x18
mov dword [ebp - 0xd8], eax
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], edx
test eax, eax
jne 0x448d4e
jmp 0x44686a
mov ecx, dword [ebx + 0x10]
mov eax, dword [eax + 8]
mov word [ebp - 0x2e4], cx
test dl, 1
sete cl
mov dword [ebp - 0x2e8], eax
lea ecx, [ecx + ecx - 1]
mov byte [ebp - 0x2e2], cl
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
lea eax, [esi + edx*8]
mov ecx, 0x4000
mov dword [ebp - 0x2e0], eax
test word [eax + 8], cx
je 0x446831
call fcn.0043ba50
mov ecx, dword [ebp - 0xe0]
lea edx, [ebp - 0x134]
push edx
mov edx, dword [ecx]
push 0
push 0
push 0
lea eax, [ebp - 0x2e8]
push eax
push edx
call fcn.00435000
add esp, 0x18
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x448d4e
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xf8]
xor ecx, ecx
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], ecx
mov eax, dword [ebp - 0x134]
cmp edx, 0x40
jl 0x4468b1
cmp eax, ecx
jl 0x44689a
jne 0x44688f
cmp edx, 0x41
je 0x44689a
mov dword [ebp - 0x134], ecx
jmp case.default.0x44401c
lea eax, [ebp - 0x134]
mov dword [ebp - 0x134], ecx
mov ecx, dword [esi]
push eax
push ecx
call fcn.004355b0
jmp 0x4468e4
cmp eax, ecx
jg 0x4468cf
jne 0x4468bc
cmp edx, 0x3e
je 0x4468cf
mov edx, dword [esi]
xor eax, eax
cmp byte [edx + 0x49], 1
setne al
mov dword [ebp - 0x134], eax
jmp 0x4468f5
mov dword [ebp - 0x134], ecx
mov edx, dword [esi]
lea ecx, [ebp - 0x134]
push ecx
push edx
call fcn.004357e0
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x448d4e
cmp dword [ebp - 0x134], 0
je case.default.0x44401c
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x38]
mov edi, dword [ecx + eax*4]
mov byte [edi + 0x19], 0
mov ebx, dword [ebx + 8]
lea edx, [ebx + ebx*4]
lea ecx, [esi + edx*8]
call fcn.0043be40
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], edx
mov byte [edi + 0x1a], 1
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x38]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ebx + 0xc]
xor edi, edi
lea edx, [eax + eax*4]
mov dword [ebp - 0xe0], ecx
lea esi, [esi + edx*8]
mov dword [ebp - 0x104], edi
cmp dword [ebx + 0x10], edi
jle 0x4469b5
mov eax, dword [ecx + 8]
mov dword [ebp - 0x21c], eax
mov cx, word [ebx + 0x10]
mov dword [ebp - 0x214], esi
xor edx, edx
xor esi, esi
mov word [ebp - 0x218], cx
cmp dx, cx
jae 0x4469ad
mov eax, dword [ebp - 0x214]
add eax, edi
mov edx, 0x4000
test word [eax + 8], dx
je 0x4469a2
call fcn.0043ba50
mov cx, word [ebp - 0x218]
movzx eax, cx
inc esi
add edi, 0x28
cmp esi, eax
jl 0x446983
lea edi, [ebp - 0x21c]
jmp 0x446a02
mov ecx, dword [ebp - 0xe0]
mov edi, dword [ecx + 8]
push 0xbf
lea ebx, [ebp - 0x104]
lea edx, [ebp - 0xc8]
call fcn.0043ffb0
mov edi, eax
add esp, 4
test edi, edi
je 0x4478ed
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0xe0]
push edi
push edx
mov edx, dword [ecx + 8]
push eax
push edx
call fcn.00440010
mov ebx, dword [ebp - 0x108]
add esp, 0x10
mov byte [edi + 6], 0
cmp byte [ebx], 0x43
jne 0x446a3a
movzx edx, word [ebp - 0x218]
xor eax, eax
test edx, edx
jle 0x446a3a
mov ecx, dword [ebp - 0x214]
add ecx, 8
test byte [ecx], 1
jne 0x446a30
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x446a21
jmp 0x446a3a
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xe4], eax
mov esi, dword [ebp - 0xe0]
mov ecx, dword [esi]
lea eax, [ebp - 0x1b4]
push eax
push 0
push 0
push 0
push edi
push ecx
call fcn.00435000
add esp, 0x18
cmp dword [ebx + 0x10], 0
mov edi, eax
mov dword [ebp - 0xd8], edi
jne 0x446a78
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xdc]
call fcn.0041ec40
test edi, edi
jne case.default.0x44401c
mov ecx, dword [ebp - 0x1b4]
xor eax, eax
test ecx, ecx
sete al
mov dl, 1
sub dl, al
mov dword [esi + 0xc], ecx
mov byte [esi + 0x19], dl
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], edi
cmp byte [ebx], 0x45
jne 0x446aba
test eax, eax
je case.default.0x44401c
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
test eax, eax
jne case.default.0x44401c
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x38]
mov edi, dword [ecx + eax*4]
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
mov edx, dword [esi + eax*8]
mov esi, dword [esi + eax*8 + 4]
lea eax, [ebp - 0xf8]
push eax
push 0
push esi
push edx
push 0
push ecx
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0x2f8], edx
call fcn.00435000
mov ecx, dword [ebp - 0x2f8]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xf8]
add esp, 0x18
mov dword [edi + 0x30], ecx
mov dword [edi + 0x34], esi
mov dword [edi + 0x3c], 0
mov word [edi + 0x19], 0
test eax, eax
je 0x446b42
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
mov dword [edi + 0xc], eax
jmp case.default.0x44401c
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + edx*4]
mov edx, dword [eax + 0x28]
mov dword [ecx], edx
mov eax, dword [eax + 0x2c]
mov dword [ecx + 4], eax
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov eax, dword [edx + ecx*4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp case.default.0x44401c
mov edx, dword [edi + 0x38]
xor eax, eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0xf4], eax
mov eax, dword [ebx + 4]
mov edx, dword [edx + eax*4]
mov eax, dword [edx]
mov dword [ebp - 0xf8], edx
test eax, eax
je 0x446d67
test byte [edx + 0x1c], 2
jne 0x446c36
lea edi, [ebp - 0xf4]
mov esi, eax
call fcn.00434fb0
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x448d48
cmp dword [ebp - 0xf4], eax
je 0x446be0
mov dword [ebp - 0x130], 1
mov dword [ebp - 0x12c], eax
jmp 0x446c2a
mov eax, dword [ebp - 0xf8]
mov esi, dword [eax]
lea edi, [ebp - 0x130]
call fcn.004345e0
cmp dword [ebp - 0x12c], 0x7fffffff
mov dword [ebp - 0xd8], eax
jl 0x446c1c
jg 0x446c10
cmp dword [ebp - 0x130], 0xffffffff
jb 0x446c1c
mov eax, dword [ebp - 0xf8]
or dword [eax + 0x1c], 2
jmp 0x446c2a
add dword [ebp - 0x130], 1
adc dword [ebp - 0x12c], 0
mov edi, dword [ebp - 0x114]
mov esi, dword [ebp - 0x120]
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x446cca
mov ecx, dword [edi + 0xb0]
test ecx, ecx
je 0x446c66
mov eax, dword [ecx + 4]
test eax, eax
je 0x446c5b
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x446c52
mov eax, dword [ecx + 0xc]
lea edx, [ebx + ebx*4]
lea esi, [eax + edx*8]
jmp 0x446c6c
lea ecx, [ebx + ebx*4]
lea esi, [esi + ecx*8]
call fcn.0043bfa0
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, 0xffffffff
jne 0x446c87
cmp ecx, 0x7fffffff
je 0x446d41
mov edx, dword [ebp - 0xf8]
test byte [edx + 0x1c], 2
jne 0x446d41
mov edx, dword [ebp - 0x12c]
add eax, 1
adc ecx, 0
cmp edx, ecx
jg 0x446cbf
jl 0x446cb1
cmp dword [ebp - 0x130], eax
jae 0x446cbf
mov edx, ecx
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x130]
mov dword [esi], eax
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0xf8]
test byte [ecx + 0x1c], 2
je 0x446d50
xor ebx, ebx
mov esi, ecx
mov edi, edi
lea edx, [ebp - 0x130]
push edx
push 8
call fcn.00420cb0
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
and eax, 0x3fffffff
add ecx, 1
lea edx, [ebp - 0xf4]
push edx
adc eax, 0
push 0
push eax
push ecx
mov dword [ebp - 0x12c], eax
mov eax, dword [esi]
push 0
push eax
mov dword [ebp - 0x130], ecx
call fcn.00435000
add esp, 0x20
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x446d50
cmp dword [ebp - 0xf4], eax
jne 0x446d50
inc ebx
cmp ebx, 0x64
jl 0x446ce0
mov dword [ebp - 0xd8], 0xd
jmp 0x448d4e
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xe8]
mov byte [eax + 0x1a], 0
mov dword [eax + 0x3c], 0
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x12c]
mov dword [ecx], edx
mov dword [ecx + 4], eax
jmp case.default.0x44401c
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
lea eax, [esi + ecx*8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0xfc], eax
mov eax, dword [edi + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x110], ecx
cmp dl, 0x4b
jne 0x446daf
lea edx, [eax + eax*4]
mov eax, dword [esi + edx*8]
mov esi, dword [esi + edx*8 + 4]
jmp 0x446db2
cdq
mov esi, edx
test byte [ebx + 3], 1
mov dword [ebp - 0x1c8], eax
je 0x446dc1
inc dword [edi + 0x5c]
test byte [ebx + 3], 2
je 0x446ddf
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], esi
mov dword [edx + 0x20], eax
mov dword [edx + 0x24], esi
mov eax, dword [ebp - 0xfc]
movzx edx, word [eax + 8]
test dl, 1
je 0x446df6
xor edi, edi
mov dword [eax + 0x10], edi
mov dword [eax + 0xc], edi
test byte [ebx + 3], 0x10
je 0x446e01
mov ecx, dword [ecx + 0xc]
jmp 0x446e03
xor ecx, ecx
test edx, 0x4000
je 0x446e0f
mov edi, dword [eax]
jmp 0x446e11
xor edi, edi
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
push ecx
movzx ecx, byte [ebx + 3]
shr ecx, 3
and ecx, 1
push ecx
mov ecx, dword [ebp - 0x1c8]
push edi
mov edi, dword [ebp - 0x110]
push edx
push eax
mov eax, dword [edi]
push esi
push ecx
push 0
call fcn.00438260
add esp, 0x20
mov dword [ebp - 0xd8], eax
mov byte [edi + 0x1a], 0
mov dword [edi + 0x3c], 0
test eax, eax
jne case.default.0x44401c
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0xd0]
test edx, edx
je case.default.0x44401c
mov eax, dword [ebx + 0x10]
test eax, eax
je case.default.0x44401c
push esi
mov esi, dword [ebp - 0x1c8]
push esi
mov esi, dword [ecx + 0x10]
push eax
movsx eax, byte [edi + 0x18]
mov ecx, dword [ecx + 0xcc]
add eax, eax
mov eax, dword [esi + eax*8]
push eax
mov al, byte [ebx + 3]
and al, 4
movzx eax, al
neg eax
sbb eax, eax
and eax, 5
add eax, 0x12
push eax
push ecx
call edx
add esp, 0x18
jmp case.default.0x44401c
mov eax, dword [edi + 0x38]
mov edx, dword [ebx + 4]
mov esi, dword [eax + edx*4]
mov eax, dword [esi]
call fcn.00438470
mov dword [ebp - 0xd8], eax
mov dword [esi + 0x3c], 0
test eax, eax
jne 0x446f1e
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + 0xd0]
mov dword [ebp - 0xfc], eax
test eax, eax
je 0x446f1e
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x446f1e
test byte [esi + 0x1c], 4
je 0x446f1e
mov edx, dword [esi + 0x34]
push edx
mov edx, dword [esi + 0x30]
push edx
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0xcc]
push eax
movsx eax, byte [esi + 0x18]
add eax, eax
mov eax, dword [edx + eax*8]
push eax
push 9
push ecx
call dword [ebp - 0xfc]
add esp, 0x18
test byte [ebx + 8], 1
je case.default.0x44401c
inc dword [edi + 0x5c]
jmp case.default.0x44401c
mov eax, dword [edi + 0x5c]
mov ecx, dword [ebp - 0xdc]
add dword [ecx + 0x54], eax
mov dword [ecx + 0x50], eax
mov dword [edi + 0x5c], 0
jmp case.default.0x44401c
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + edx*4]
mov edx, dword [ebx + 0x10]
lea ecx, [ecx + ecx*4]
lea ecx, [esi + ecx*8]
lea esi, [ebp - 0x124]
push esi
push edx
push ecx
mov dword [ebp - 0x124], 0
call fcn.0044c710
add esp, 0xc
cmp dword [ebp - 0x124], 0
mov dword [ebp - 0xd8], eax
je case.default.0x44401c
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 4]
lea ecx, [esi + edx*8]
mov edx, dword [edi + 0x38]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xe8], ecx
call fcn.0044c670
mov ecx, dword [edi + 0x38]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebx + 0xc]
mov edx, dword [ecx + eax*4]
mov dword [edx + 0x3c], 0
jmp case.default.0x44401c
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [edi + 0x38]
mov ebx, dword [eax + edx*4]
test byte [ebx + 0x1c], 4
mov esi, dword [ebx]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xe0], esi
jne 0x447034
lea edi, [ebp - 0x238]
call fcn.004345e0
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + 0x58]
cdq
cmp dword [ebp - 0x234], edx
jg 0x444b6e
mov esi, dword [ebp - 0x238]
jl 0x44702c
cmp esi, eax
ja 0x444b6e
mov dword [ebp - 0x194], esi
jmp 0x447058
lea edx, [ebp - 0x194]
push edx
call fcn.00434630
mov esi, dword [ebp - 0x194]
mov eax, dword [ebp - 0xdc]
add esp, 4
cmp esi, dword [eax + 0x58]
ja 0x444b6e
mov ecx, esi
cmp esi, 0x20
ja 0x447064
mov ecx, 0x20
mov edi, dword [ebp - 0xe8]
cmp dword [edi + 0x18], ecx
jge 0x4470c2
xor eax, eax
call fcn.0043b8b0
test eax, eax
jne 0x4478ed
mov dx, word [edi + 8]
mov eax, 0xbe10
and dx, ax
or dx, 0x10
mov dword [edi + 0xc], esi
mov word [edi + 8], dx
test byte [ebx + 0x1c], 4
jne 0x4470cf
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0xe0]
push 0
push eax
push esi
push 0
push ecx
call fcn.00434870
add esp, 0x14
mov dword [ebp - 0xd8], eax
mov byte [edi + 0xa], 1
jmp case.default.0x44401c
mov ecx, dword [edi + 0x14]
and word [edi + 8], 0xd
mov dword [edi + 0x10], ecx
jmp 0x44707e
mov edx, dword [edi + 0x10]
mov eax, dword [ebp - 0xe0]
push edx
push esi
push 0
push eax
call fcn.00434bf0
add esp, 0x10
mov dword [ebp - 0xd8], eax
mov byte [edi + 0xa], 1
jmp case.default.0x44401c
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
cmp byte [esi + 0x19], 0
je 0x447111
mov edx, 1
mov word [ecx + 8], dx
jmp case.default.0x44401c
cmp byte [esi + 0x1a], 0
je 0x447145
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x190], eax
mov ecx, dword [esi + 0x34]
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x18c], ecx
mov ecx, dword [ebp - 0x190]
mov edx, dword [ebp - 0x18c]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.default.0x44401c
cmp dword [esi + 0x24], 0
je 0x44718b
mov esi, dword [esi + 0x24]
mov ebx, dword [esi]
mov eax, dword [ebx]
mov eax, dword [eax + 0x30]
lea edx, [ebp - 0x190]
push edx
push esi
call eax
push ebx
push edi
mov dword [ebp - 0xd8], eax
call fcn.004411e0
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x190]
mov edx, dword [ebp - 0x18c]
add esp, 0x10
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.default.0x44401c
mov ecx, dword [esi]
cmp byte [ecx + 0x49], 1
je 0x4471c2
mov edi, esi
call fcn.0043fba0
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x448d48
cmp byte [esi + 0x19], 0
je 0x4471ce
mov eax, dword [ebp - 0xe8]
mov edx, 1
mov word [eax + 8], dx
jmp case.default.0x44401c
mov dword [ebp - 0xd8], 0
jmp 0x4471a8
mov esi, dword [esi]
lea edi, [ebp - 0x190]
call fcn.004345e0
mov ecx, dword [ebp - 0x190]
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xe8]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x19], 1
mov dword [eax + 0x3c], 0
mov eax, dword [eax]
test eax, eax
je case.default.0x44401c
mov esi, eax
call fcn.00430ce0
jmp case.default.0x44401c
mov eax, dword [ebp - 0x114]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ecx + edx*4]
mov esi, dword [eax]
lea edi, [ebp - 0xec]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xec], 0
call fcn.00434fb0
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xfc]
mov byte [eax + 0x19], cl
mov byte [eax + 0x1a], 0
mov dword [eax + 0x3c], 0
mov ebx, dword [ebx + 8]
test ebx, ebx
jle case.default.0x44401c
test ecx, ecx
je case.default.0x44401c
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
inc dword [edi + 0x74]
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
cmp dword [esi + 0x38], 0
mov dword [ebp - 0x108], 1
je 0x4472bd
lea edi, [ebp - 0x108]
mov eax, esi
call fcn.0044c5a0
jmp 0x4472f7
mov edi, dword [esi]
mov eax, edi
call fcn.00434ce0
test eax, eax
jne 0x4472ec
cmp byte [edi + 0x49], al
jne 0x4472db
mov dword [ebp - 0x108], 1
jmp 0x4472ec
mov eax, edi
mov dword [ebp - 0x108], 0
call fcn.00434ec0
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x108]
mov byte [esi + 0x19], al
test eax, eax
je case.default.0x44401c
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov esi, dword [edx + ecx*4]
mov eax, dword [ebp - 0xdc]
push eax
lea ebx, [ebp - 0x180]
mov eax, esi
mov dword [ebp - 0x180], 0
call fcn.0044c5f0
mov edi, dword [ebp - 0x114]
mov ebx, dword [ebp - 0x108]
add esp, 4
jmp 0x447389
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x38]
cmp dword [edx + ecx*4], 0
je case.default.0x44401c
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x38]
mov esi, dword [ecx + eax*4]
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x180], edx
mov ecx, dword [esi]
mov edx, dword [ebx + 0x10]
lea eax, [ebp - 0x180]
push eax
push ecx
call edx
add esp, 8
mov dword [esi + 0x3c], 0
cmp dword [ebp - 0x180], 0
mov dword [ebp - 0xd8], eax
jne 0x4473be
mov byte [esi + 0x19], 0
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xe4], eax
movzx eax, byte [ebx + 3]
inc dword [edi + eax*4 + 0x6c]
lea eax, [edi + eax*4 + 0x6c]
jmp 0x448821
mov byte [esi + 0x19], 1
jmp 0x448821
test byte [ebx + 3], 1
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov ecx, dword [edx + ecx*4]
mov eax, dword [ebx + 8]
mov dword [ebp - 0xfc], ecx
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [ebp - 0x110], ecx
je 0x4473f0
inc dword [edi + 0x5c]
mov edx, 0x4000
test word [esi + 8], dx
je 0x447410
mov eax, esi
call fcn.0043ba50
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.default.0x44401c
mov edi, dword [ebp - 0xfc]
cmp dword [edi + 0x38], 0
je 0x447432
push esi
mov eax, edi
call fcn.0044b460
add esp, 4
mov dword [ebp - 0xd8], eax
jmp case.default.0x44401c
test byte [ebx + 3], 0x10
mov eax, dword [esi + 0xc]
mov esi, dword [esi + 0x10]
je 0x447443
mov ecx, dword [edi + 0xc]
jmp 0x447445
xor ecx, ecx
push ecx
mov ecx, dword [ebx + 0xc]
push ecx
push 0
push 0
cdq
push 0x4b71bc
push edx
push eax
mov eax, dword [ebp - 0x110]
push esi
call fcn.00438260
add esp, 0x20
mov dword [ebp - 0xd8], eax
mov dword [edi + 0x3c], 0
jmp case.default.0x44401c
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov edi, dword [eax + edx*4]
mov eax, dword [edi]
mov ecx, dword [edi + 8]
mov dx, word [ebx + 0xc]
mov ebx, dword [ebx + 8]
mov dword [ebp - 0x2b4], ecx
mov word [ebp - 0x2b0], dx
lea ecx, [ebx + ebx*4]
lea edx, [esi + ecx*8]
lea ecx, [ebp - 0x1b8]
push ecx
push 0
push 0
mov dword [ebp - 0x2ac], edx
push 0
lea edx, [ebp - 0x2b4]
push edx
push eax
mov dword [ebp - 0xfc], eax
mov byte [ebp - 0x2ae], 0
call fcn.00435000
add esp, 0x18
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x4474f2
cmp dword [ebp - 0x1b8], eax
jne 0x4474f2
mov eax, dword [ebp - 0xfc]
call fcn.00438470
mov dword [ebp - 0xd8], eax
mov dword [edi + 0x3c], 0
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov edi, dword [edx + eax*4]
mov esi, dword [edi]
mov eax, 1
mov word [ecx + 8], ax
mov ecx, dword [edi]
cmp byte [ecx + 0x49], al
je 0x44758f
call fcn.0043fba0
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x448d48
cmp byte [edi + 0x19], 0
mov ebx, dword [ebp - 0xe8]
jne case.default.0x44401c
mov eax, dword [ebp - 0xdc]
lea edx, [ebp - 0x1a8]
push edx
xor edi, edi
push eax
mov eax, esi
mov dword [ebp - 0x1a8], edi
mov dword [ebp - 0x1a4], edi
call fcn.00440ed0
add esp, 8
mov dword [ebp - 0xd8], eax
cmp eax, edi
jne 0x448d48
mov ecx, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1a4]
mov eax, 4
mov dword [ebx], ecx
mov dword [ebx + 4], edx
mov word [ebx + 8], ax
jmp case.default.0x44401c
mov dword [ebp - 0xd8], 0
jmp 0x44752c
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x2d4], ecx
mov cx, word [ebx + 0x10]
mov ebx, dword [ebx + 0xc]
cmp dl, 0x73
mov word [ebp - 0x2d0], cx
sbb dl, dl
lea ecx, [ebx + ebx*4]
mov byte [ebp - 0x2ce], dl
lea edx, [esi + ecx*8]
lea ecx, [ebp - 0xe0]
push ecx
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x2cc], edx
lea edx, [ebp - 0x2d4]
push edx
push ecx
mov ebx, eax
mov dword [ebp - 0xe0], 0
call fcn.00441020
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x108]
add esp, 0xc
test byte [eax], 1
je 0x447616
neg ecx
jmp 0x447617
inc ecx
test ecx, ecx
jle case.default.0x44401c
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0xe4], eax
jmp case.default.0x44401c
mov edx, dword [ebp - 0xdc]
mov esi, dword [edx + 4]
mov dword [ebp - 0xe0], 0
test esi, esi
je 0x447671
cmp dword [esi + 0x28], 0xbdf20da3
jne 0x44766a
mov eax, dword [esi + 0x58]
test eax, 0x200
je 0x44766a
and al, 0xc
cmp al, 8
jae 0x44766a
cmp dword [esi + 0x4c], 0
jl 0x44766a
inc dword [ebp - 0xe0]
mov esi, dword [esi + 0x34]
test esi, esi
jne 0x447645
mov eax, 1
mov word [ecx + 8], ax
cmp dword [ebp - 0xe0], eax
jle 0x447695
mov dword [ebp - 0xd8], 6
mov byte [edi + 0x56], 2
jmp case.default.0x44401c
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 4]
lea ecx, [ebp - 0xf0]
push ecx
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], eax
push edx
mov edx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
mov dword [ebp - 0xf0], 0
call fcn.00438ef0
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xf0]
mov edi, eax
mov eax, 4
mov word [ecx + 8], ax
mov eax, esi
cdq
add esp, 8
mov dword [ebp - 0xd8], edi
mov dword [ecx], eax
mov dword [ecx + 4], edx
test edi, edi
jne case.default.0x44401c
test esi, esi
je case.default.0x44401c
mov edi, dword [ebx + 4]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
call fcn.0045c320
mov al, byte [ebp - 0xe0]
inc al
mov byte [ebp - 0x125], al
jmp case.default.0x44401c
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
neg ecx
sbb ecx, ecx
lea edx, [ebp - 0x110]
and ecx, edx
mov edx, dword [ebp - 0xdc]
push ecx
mov ecx, dword [ebx + 8]
push eax
mov eax, dword [edx + 0x10]
add ecx, ecx
mov dword [ebp - 0x110], 0
mov eax, dword [eax + ecx*8 + 4]
call fcn.00438c00
add esp, 8
cmp dword [ebx + 0xc], 0
mov dword [ebp - 0xd8], eax
je case.default.0x44401c
mov eax, dword [ebp - 0x110]
add dword [edi + 0x5c], eax
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jle case.default.0x44401c
lea ecx, [ebx + ebx*4]
cdq
add dword [esi + ecx*8], eax
lea ecx, [esi + ecx*8]
adc dword [ecx + 4], edx
jmp case.default.0x44401c
mov eax, dword [edi + 0x38]
mov edx, dword [ebx + 4]
mov eax, dword [eax + edx*4]
mov edi, dword [eax + 0x38]
test edi, edi
je 0x4477b8
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.0044a720
add esp, 4
jmp case.default.0x44401c
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
mov eax, dword [eax]
push 0
push edx
call fcn.00438c00
add esp, 8
mov dword [ebp - 0xd8], eax
jmp case.default.0x44401c
mov ebx, dword [ebx + 4]
mov eax, dword [ebp - 0xdc]
shl ebx, 4
add ebx, dword [eax + 0x10]
xor eax, eax
cmp dl, 0x79
setne al
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0xfc], 0
inc eax
push eax
mov eax, dword [ebx + 4]
push ecx
call fcn.004389e0
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xfc]
cdq
add esp, 8
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x447839
mov ecx, str.sqlite_master
mov edx, dword [ebx + 0x10]
mov esi, dword [ebp - 0xdc]
push edx
push ecx
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x224], eax
add edi, 0x2c
add eax, eax
mov dword [ebp - 0x22c], esi
mov dword [ebp - 0x228], edi
mov edx, dword [ecx + eax*8]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.004208d0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x447882
mov dword [ebp - 0xd8], 7
jmp 0x4478d9
push 0
lea eax, [ebp - 0x22c]
push eax
push fcn.0046f7f0
push edi
push esi
mov byte [esi + 0x91], 1
mov dword [ebp - 0x220], 0
call fcn.0046bd80
mov ebx, eax
add esp, 0x14
mov dword [ebp - 0xd8], ebx
test ebx, ebx
jne 0x4478c5
mov ecx, dword [ebp - 0x220]
mov dword [ebp - 0xd8], ecx
mov ebx, ecx
mov eax, edi
mov ecx, esi
call fcn.0041ec40
mov byte [esi + 0x91], 0
test ebx, ebx
je 0x4478e0
mov eax, esi
call fcn.00459940
cmp dword [ebp - 0xd8], 7
jne case.default.0x44401c
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x114]
push str.out_of_memory
push eax
add edx, 0x2c
push edx
mov byte [eax + 0x40], 1
call fcn.0041f150
mov edi, dword [ebp - 0x114]
add esp, 0xc
mov dword [ebp - 0xd8], 7
jmp 0x44888b
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xdc]
call fcn.00457b50
mov dword [ebp - 0xd8], eax
jmp case.default.0x44401c
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0xdc]
push edx
call fcn.00459da0
add esp, 4
jmp case.default.0x44401c
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0xdc]
push eax
mov eax, dword [ebx + 4]
call fcn.004596e0
add esp, 4
jmp case.default.0x44401c
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0xdc]
push ecx
call fcn.0047c8c0
add esp, 4
jmp case.default.0x44401c
mov eax, dword [ebx + 8]
mov esi, dword [ebp - 0xdc]
lea edx, [eax*4 + 4]
push 0
push edx
mov dword [ebp - 0x104], eax
call fcn.0041eec0
add esp, 8
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x4478ed
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x120]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
xor esi, esi
lea eax, [ecx + edx*8]
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0x104], esi
jle 0x447a14
mov dword [ebp - 0xe0], eax
jmp 0x4479f0
mov ecx, dword [ebp - 0xe0]
call fcn.0043be40
mov ecx, dword [ebp - 0xf4]
add dword [ebp - 0xe0], 0x28
mov dword [ecx + esi*4], eax
inc esi
cmp esi, dword [ebp - 0x104]
jl 0x4479f0
mov eax, dword [ebp - 0xf4]
mov dword [eax + esi*4], 0
mov ecx, dword [edi]
lea edx, [ebp - 0x1cc]
push edx
mov edx, dword [ebp - 0x104]
push ecx
mov ecx, dword [ebp - 0xdc]
push edx
mov edx, dword [ecx + 0x10]
push eax
movzx eax, byte [ebx + 3]
add eax, eax
mov ecx, dword [edx + eax*8 + 4]
call fcn.00439d80
mov ecx, dword [ebp - 0xdc]
mov ebx, eax
mov eax, dword [ebp - 0xf4]
add esp, 0x10
call fcn.0041ec40
mov esi, dword [ebp - 0x1cc]
mov eax, esi
cdq
sub dword [edi], eax
mov eax, dword [ebp - 0xf0]
sbb dword [edi + 4], edx
call fcn.0043c1b0
test esi, esi
je 0x447a9f
test ebx, ebx
je 0x4478ed
mov ecx, dword [ebp - 0xf0]
push fcn.0041eb60
push 1
push ebx
or eax, 0xffffffff
call fcn.0043c450
add esp, 0xc
movzx ecx, byte [ebp - 0x119]
mov eax, dword [ebp - 0xf0]
call fcn.0043b890
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + ebx*4]
lea edi, [esi + eax*8]
mov bl, 0x20
lea esi, [esi + ecx*8]
test byte [edi + 8], bl
jne 0x447add
call fcn.0043c250
test byte [edi + 8], bl
je 0x4478ed
mov edx, dword [esi + 4]
mov eax, dword [esi]
mov edi, dword [edi]
push edx
push eax
call fcn.00428670
add esp, 8
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
test byte [esi + ecx*8 + 8], 0x20
lea eax, [esi + ecx*8]
mov dword [ebp - 0xf0], eax
je 0x447b4c
mov edx, eax
mov eax, dword [edx]
lea esi, [ebp - 0x258]
call fcn.00428a10
test eax, eax
je 0x447b46
mov eax, dword [ebp - 0x254]
mov ebx, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x258]
push eax
mov eax, dword [ebp - 0x120]
lea edx, [ebx + ebx*4]
push ecx
lea eax, [eax + edx*8]
call fcn.0043c210
add esp, 8
jmp 0x448821
mov eax, dword [ebp - 0xf0]
call fcn.0043c1b0
jmp case.0x44401c.16
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
test byte [esi + ecx*8 + 8], 0x20
mov eax, dword [ebx + 0xc]
lea edi, [esi + ecx*8]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x10]
lea esi, [esi + edx*8]
mov dword [ebp - 0xfc], eax
jne 0x447b8d
call fcn.0043c250
test byte [edi + 8], 0x20
je 0x4478ed
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x447bbe
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push ecx
push edx
push eax
mov eax, dword [edi]
call fcn.00428a60
add esp, 0xc
test eax, eax
je 0x447bb6
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
mov eax, dword [ebp - 0xfc]
test eax, eax
js case.default.0x44401c
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov edi, dword [edi]
push eax
push ecx
call fcn.00428670
add esp, 8
jmp case.default.0x44401c
cmp byte [ebx + 3], 0
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
lea edx, [eax + eax*4]
lea esi, [esi + edx*8]
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0xfc], esi
je 0x447c15
mov eax, dword [edi + 0xb0]
mov ecx, dword [ecx + 0x14]
test eax, eax
je 0x447c15
cmp dword [eax + 0x18], ecx
je case.default.0x44401c
mov eax, dword [eax + 4]
test eax, eax
jne 0x447c05
mov eax, dword [edi + 0xb8]
mov ecx, dword [ebp - 0xdc]
cmp eax, dword [ecx + 0x80]
jl 0x447c4c
push str.too_many_levels_of_trigger_recursion
mov edx, ecx
push edx
add edi, 0x2c
push edi
mov dword [ebp - 0xd8], 1
call fcn.0041f150
add esp, 0xc
jmp case.default.0x44401c
test byte [esi + 8], 0x40
jne 0x447d3b
mov esi, dword [ebp - 0x110]
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0x10]
add eax, ecx
mov dword [ebp - 0x110], eax
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2]
lea eax, [edx + ecx*4 + 0x48]
mov ecx, dword [ebp - 0xdc]
cdq
push edx
push eax
call fcn.0041ee90
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4478ed
mov eax, dword [ebp - 0xfc]
call fcn.0043bdc0
mov eax, dword [ebp - 0xfc]
mov dword [eax], ebx
mov ecx, 0x40
mov word [eax + 8], cx
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0xe4]
mov dword [ebx + 0x3c], eax
mov dword [ebx], edi
mov edx, dword [esi + 0xc]
mov dword [ebx + 0x2c], ecx
mov dword [ebx + 0x40], edx
mov edx, dword [edi + 8]
mov dword [ebx + 0xc], edx
mov ecx, dword [edi + 0x1c]
mov dword [ebx + 0x34], ecx
mov edx, dword [edi + 0x38]
mov dword [ebx + 0x14], edx
mov ecx, dword [edi + 0x24]
mov dword [ebx + 0x28], ecx
mov edx, dword [edi + 4]
mov dword [ebx + 8], edx
mov ecx, dword [edi + 0x20]
mov dword [ebx + 0x30], ecx
mov edx, dword [esi + 0x14]
mov dword [ebx + 0x18], edx
mov ecx, dword [edi + 0xc8]
lea eax, [eax + eax*4]
mov dword [ebx + 0x10], ecx
mov edx, dword [edi + 0xc4]
lea ecx, [ebx + eax*8 + 0x48]
lea eax, [ebx + 0x48]
mov dword [ebx + 0x38], edx
cmp eax, ecx
je 0x447d43
jmp 0x447d20
mov edx, 0x80
mov word [eax + 8], dx
mov edx, dword [ebp - 0xdc]
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x447d20
jmp 0x447d43
mov ebx, dword [esi]
mov esi, dword [ebp - 0x110]
inc dword [edi + 0xb8]
mov eax, dword [edi + 0xb0]
mov ecx, dword [ebp - 0x148]
mov edx, dword [ebp - 0x144]
mov dword [ebx + 4], eax
mov dword [ebx + 0x24], edx
mov dword [ebx + 0x20], ecx
mov ecx, dword [edi + 0x5c]
mov dword [ebx + 0x44], ecx
mov dword [edi + 0x5c], 0
mov dword [edi + 0xb0], ebx
lea ecx, [ebx + 0x20]
mov dword [edi + 8], ecx
mov edx, dword [ebx + 0x3c]
mov dword [edi + 0x1c], edx
movzx eax, word [ebx + 0x40]
mov dword [edi + 0x24], eax
mov eax, edx
lea edx, [eax + eax*4 + 5]
lea eax, [ecx + edx*8]
mov edx, dword [edi + 0x24]
mov dword [edi + 0x38], eax
mov dword [ebp - 0x120], ecx
mov ecx, dword [esi]
mov dword [edi + 4], ecx
mov dword [ebp - 0x16c], ecx
mov ecx, dword [esi + 4]
lea eax, [eax + edx*4]
mov dword [edi + 0x20], ecx
mov dword [edi + 0xc8], eax
mov esi, dword [esi + 0x10]
push esi
push 0
push eax
mov dword [edi + 0xc4], esi
mov dword [ebp - 0xe4], 0xffffffff
call fcn.00499a80
add esp, 0xc
jmp case.default.0x44401c
mov eax, dword [ebp - 0x114]
mov ecx, dword [eax + 0xb0]
mov eax, dword [ecx + 0x2c]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 8]
mov eax, dword [eax + edx*4 + 4]
add eax, dword [ebx + 4]
push 0x1000
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0xc]
lea edi, [eax + edx*8]
mov eax, dword [ebp - 0xe8]
call fcn.0043c330
add esp, 4
jmp case.default.0x44401c
mov ecx, dword [ebp - 0xdc]
test dword [ecx + 0x18], 0x1000000
mov eax, dword [ebx + 8]
cdq
je 0x447e3e
add dword [ecx + 0x200], eax
adc dword [ecx + 0x204], edx
jmp case.default.0x44401c
cmp dword [ebx + 4], 0
je 0x447e55
add dword [ecx + 0x1f8], eax
adc dword [ecx + 0x1fc], edx
jmp case.default.0x44401c
add dword [edi + 0x90], eax
adc dword [edi + 0x94], edx
jmp case.default.0x44401c
cmp dword [ebx + 4], 0
je 0x447ea5
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x1f8]
or ecx, dword [eax + 0x1fc]
jne case.default.0x44401c
mov edx, dword [eax + 0x200]
or edx, dword [eax + 0x204]
jne case.default.0x44401c
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
mov eax, dword [edi + 0x90]
or eax, dword [edi + 0x94]
jne case.default.0x44401c
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x200]
or ecx, dword [eax + 0x204]
jne case.default.0x44401c
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
mov edi, dword [edi + 0xb0]
test edi, edi
je 0x447f08
mov ecx, edi
mov eax, dword [ecx + 4]
test eax, eax
je 0x447efa
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x447ef1
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0xc]
lea edi, [eax + edx*8]
jmp 0x447f11
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
lea edi, [esi + ecx*8]
mov esi, edi
call fcn.0043bfa0
mov ebx, dword [ebx + 8]
mov eax, dword [ebp - 0x120]
lea edx, [ebx + ebx*4]
lea esi, [eax + edx*8]
call fcn.0043bfa0
mov eax, dword [esi]
mov esi, dword [esi + 4]
cmp dword [edi + 4], esi
jg case.default.0x44401c
jl 0x447f44
cmp dword [edi], eax
jae case.default.0x44401c
mov dword [edi], eax
mov dword [edi + 4], esi
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
cmp dword [esi + eax*8 + 4], 0
jl case.default.0x44401c
jg 0x447f6b
cmp dword [esi + eax*8], 0
jbe case.default.0x44401c
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, dword [ebx + 0xc]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
cmp dword [esi + 4], 0
jg case.default.0x44401c
jl 0x447fa1
cmp dword [esi], 0
jae case.default.0x44401c
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0xc]
lea esi, [esi + ecx*8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
mov edx, dword [esi]
or edx, dword [esi + 4]
jne case.default.0x44401c
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x44401c
mov eax, dword [ebx + 8]
movzx ecx, byte [ebx + 3]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xfc], eax
xor eax, eax
mov dword [ebp - 0x110], ecx
test ecx, ecx
jle 0x448017
mov edi, edi
mov ecx, dword [ebp - 0xfc]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebp - 0x110]
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x448000
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0x204], edx
mov dword [ebp - 0x200], eax
inc dword [eax + 0xc]
mov eax, dword [ebp - 0xdc]
mov edx, 1
mov word [ebp - 0x318], dx
mov dword [ebp - 0x300], eax
xor eax, eax
lea edx, [ebp - 0x320]
mov dword [ebp - 0x208], edx
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0xe4]
push edx
mov dword [ebp - 0x1f8], eax
push ecx
mov ecx, dword [ebp - 0x204]
lea eax, [ebp - 0x208]
mov dword [ebp - 0x1fc], edi
mov byte [ebp - 0x1f0], 0
mov edx, dword [ecx + 0x10]
push eax
call edx
add esp, 0xc
cmp dword [ebp - 0x1f4], 0
je 0x4480d7
lea eax, [ebp - 0x320]
push eax
call fcn.00441650
mov ecx, dword [ebp - 0xdc]
add esp, 4
push eax
push 0x4b97a4
push ecx
add edi, 0x2c
push edi
call fcn.0041f150
mov edx, dword [ebp - 0x1f4]
add esp, 0x10
mov dword [ebp - 0xd8], edx
cmp byte [ebp - 0x1f0], 0
je 0x4480f9
mov ebx, dword [ebx - 0x10]
test ebx, ebx
je 0x4480f9
push 0
lea eax, [ebx + ebx*4]
push 1
lea eax, [esi + eax*8]
call fcn.0043c210
add esp, 8
lea eax, [ebp - 0x320]
call fcn.0043bdc0
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
lea esi, [esi + ecx*8]
mov ecx, dword [ebx + 0x10]
mov eax, esi
call fcn.0043bbf0
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x448148
push esi
call fcn.00441650
mov edx, dword [ebp - 0xdc]
add esp, 4
push eax
push 0x4b97a4
push edx
add edi, 0x2c
push edi
call fcn.0041f150
add esp, 0x10
movzx ecx, byte [ebp - 0x119]
mov eax, esi
call fcn.0043b890
mov ecx, esi
call fcn.0043c300
test eax, eax
jne 0x444b6e
jmp case.default.0x44401c
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 4]
or eax, 0xffffffff
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xd0], eax
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xdc]
push ecx
push edx
push eax
xor edi, edi
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xd4], edi
call fcn.00491ac0
add esp, 0x10
mov dword [ebp - 0xd8], eax
cmp eax, 5
jne 0x4481c0
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0xd4], 1
mov ebx, dword [ebx + 0xc]
lea ecx, [ebx + ebx*4]
lea esi, [esi + ecx*8]
lea esp, [esp]
mov eax, dword [ebp + edi*4 - 0xd4]
cdq
push edx
push eax
mov eax, esi
call fcn.0043c210
inc edi
add esp, 8
add esi, 0x28
cmp edi, 3
jl 0x4481d0
jmp case.default.0x44401c
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xdc]
mov ecx, dword [ecx + 0x10]
mov edx, dword [ebx + 0xc]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0xfc], eax
mov eax, dword [eax + 4]
mov eax, dword [eax]
movzx ecx, byte [eax + 5]
mov dword [ebp - 0xec], edx
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf8], ecx
cmp edx, 0xffffffff
jne 0x448235
mov edx, ecx
mov dword [ebp - 0xec], ecx
cmp byte [eax + 0x10], 3
jae 0x448257
mov ecx, dword [eax + 0x40]
cmp dword [ecx], 0
je 0x44825f
cmp dword [eax + 0x4c], 0
jl 0x44825f
jg 0x448251
cmp dword [eax + 0x48], 0
jbe 0x44825f
mov ecx, dword [ebp - 0xf8]
mov edx, ecx
mov dword [ebp - 0xec], edx
cmp byte [eax + 0xf], 0
je 0x44826c
mov eax, 0x4b71bc
jmp 0x448272
mov eax, dword [eax + 0xa8]
cmp edx, 5
jne 0x4482a2
mov ecx, eax
call fcn.00421730
test eax, eax
je 0x448291
mov eax, dword [ebp - 0xf4]
call fcn.0042daf0
test eax, eax
jne 0x4482a2
mov edx, dword [ebp - 0xf8]
mov dword [ebp - 0xec], edx
jmp 0x44834e
mov eax, dword [ebp - 0xf8]
cmp dword [ebp - 0xec], eax
je 0x44834e
cmp eax, 5
je 0x4482c6
cmp dword [ebp - 0xec], 5
jne 0x44834e
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x3e], 0
je 0x448380
cmp dword [ecx + 0x98], 1
jg 0x448380
cmp eax, 5
jne 0x448309
mov edi, dword [ebp - 0xf4]
mov eax, edi
call fcn.0042dc90
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x448342
mov ecx, dword [ebp - 0xec]
mov eax, edi
jmp 0x448317
cmp eax, 4
jne 0x44831c
lea ecx, [eax - 2]
mov eax, dword [ebp - 0xf4]
call fcn.0042d9b0
mov eax, dword [ebp - 0xfc]
xor ecx, ecx
cmp dword [ebp - 0xec], 5
sete cl
inc ecx
push ecx
call fcn.0043a4a0
add esp, 4
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x44834e
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xf4]
call fcn.0042d9b0
mov ebx, dword [ebx + 8]
lea ecx, [ebx + ebx*4]
lea edx, [esi + ecx*8]
mov ecx, 0xa02
mov dword [ebp - 0xe8], edx
mov word [edx + 8], cx
cmp eax, 6
jne 0x4483b7
xor eax, eax
jmp 0x4483be
cmp dword [ebp - 0xec], 5
mov dword [ebp - 0xd8], 1
mov eax, str.into
je 0x44839d
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov edx, ecx
push edx
add edi, 0x2c
push edi
call fcn.0041f150
add esp, 0x10
jmp case.default.0x44401c
mov eax, dword [eax*4 + 0x4b4490]
mov ecx, eax
mov dword [edx + 0x10], eax
call fcn.00421730
movzx ecx, byte [ebp - 0x119]
mov dword [edx + 0xc], eax
mov eax, edx
mov byte [edx + 0xa], 1
call fcn.0043b890
jmp case.default.0x44401c
mov esi, dword [ebp - 0xdc]
lea eax, [edi + 0x2c]
call fcn.00480510
mov dword [ebp - 0xd8], eax
jmp case.default.0x44401c
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x10]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
push eax
call fcn.00433b20
add esp, 4
mov dword [ebp - 0xd8], eax
cmp eax, 0x65
jne case.default.0x44401c
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xd8], 0
jmp case.default.0x44401c
cmp dword [ebx + 4], 0
jne 0x448454
mov eax, dword [ebp - 0xdc]
call fcn.00441110
jmp case.default.0x44401c
or dword [edi + 0x58], 0x20
jmp case.default.0x44401c
mov cl, byte [ebx + 0xc]
test cl, cl
jne 0x448477
mov edx, dword [ebp - 0xdc]
test dword [edx + 0x18], 0x4000
jne case.default.0x44401c
mov edx, dword [ebx + 8]
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xdc]
push edx
mov edx, dword [esi + 0x10]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
call fcn.0043a3a0
add esp, 4
mov dword [ebp - 0xd8], eax
cmp al, 6
jne case.default.0x44401c
mov eax, dword [ebx + 0x10]
push eax
push str.database_table_is_locked:__s
push esi
add edi, 0x2c
push edi
call fcn.0041f150
add esp, 0x10
jmp case.default.0x44401c
mov edi, dword [ebx + 0x10]
mov esi, dword [ebp - 0xdc]
call fcn.00481c00
mov dword [ebp - 0xd8], eax
test edi, edi
je case.default.0x44401c
mov ecx, dword [edi + 8]
mov edx, dword [ebp - 0x114]
push ecx
push edx
call fcn.004411e0
add esp, 8
jmp case.default.0x44401c
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0xdc]
add edi, 0x2c
push edi
push eax
mov eax, dword [ebx + 4]
call fcn.00481700
add esp, 8
mov dword [ebp - 0xd8], eax
jmp case.default.0x44401c
mov ecx, dword [edi + 0x58]
and ecx, 0xfffffffb
or ecx, 8
mov dword [edi + 0x58], ecx
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xdc]
push edx
call fcn.004819e0
add esp, 4
and dword [edi + 0x58], 0xfffffff3
mov dword [ebp - 0xd8], eax
jmp case.default.0x44401c
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x10c], 0
mov esi, dword [eax + 8]
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
lea ecx, [ebp - 0x10c]
push ecx
push esi
mov dword [ebp - 0xfc], eax
call edx
push esi
push edi
mov dword [ebp - 0xd8], eax
call fcn.004411e0
add esp, 0x10
cmp dword [ebp - 0xd8], 0
jne case.default.0x44401c
mov eax, dword [ebp - 0x10c]
push 0
push 0xffffffffffffffff
mov dword [eax], esi
mov ecx, dword [ebx + 4]
push 0
push ecx
push edi
call fcn.00443b80
add esp, 0x14
test eax, eax
je 0x4485b5
mov edx, dword [ebp - 0x10c]
mov dword [eax + 0x24], edx
jmp case.default.0x44401c
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ebp - 0xfc]
mov byte [eax + 0x40], 1
mov eax, dword [edx + 0x1c]
push ecx
call eax
add esp, 4
jmp case.default.0x44401c
mov eax, dword [ebx + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
lea edx, [esi + ecx*8]
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + eax*4]
mov esi, dword [eax + 0x24]
mov ecx, dword [edx]
mov dword [ebp - 0x108], eax
mov eax, dword [esi]
mov dword [ebp - 0xf4], eax
mov eax, dword [eax]
mov dword [ebp - 0x104], ecx
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0x110], eax
mov eax, dword [edx + 0x28]
mov dword [ebp - 0xfc], ecx
xor ecx, ecx
mov dword [ebp - 0xe0], esi
test eax, eax
jle 0x448641
mov esi, dword [ebp - 0xfc]
add edx, 0x50
lea ecx, [ecx]
mov dword [esi + ecx*4], edx
inc ecx
add edx, 0x28
cmp ecx, eax
jl 0x448630
mov esi, dword [ebp - 0xe0]
mov edx, dword [edi + 0x58]
mov ecx, dword [ebp - 0xfc]
and edx, 0xfffffff7
push ecx
mov ecx, dword [ebp - 0x110]
or edx, 4
push eax
mov eax, dword [ebp - 0x104]
mov dword [edi + 0x58], edx
mov edx, dword [ebx + 0x10]
push edx
mov edx, dword [ecx + 0x20]
push eax
push esi
call edx
and dword [edi + 0x58], 0xfffffff3
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xf4]
add esp, 0x14
push eax
push edi
call fcn.004411e0
add esp, 8
cmp dword [ebp - 0xd8], 0
jne 0x4486af
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx + 0x28]
push esi
call edx
add esp, 4
test eax, eax
je 0x4486af
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
mov eax, dword [ebp - 0x108]
mov byte [eax + 0x19], 0
jmp case.default.0x44401c
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov eax, dword [ebx + 0xc]
mov ecx, dword [edx + ecx*4]
cmp byte [ecx + 0x19], 0
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
je 0x4486e2
mov eax, esi
call fcn.0043c1b0
jmp case.default.0x44401c
mov edx, dword [ecx + 0x24]
mov eax, dword [edx]
mov dword [ebp - 0x110], eax
mov eax, dword [eax]
mov dword [ebp - 0xfc], eax
xor eax, eax
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x274], esi
mov dx, word [esi + 8]
mov eax, 0xbe01
and dx, ax
or dx, 1
mov word [esi + 8], dx
mov edx, dword [ebx + 8]
mov ecx, dword [ecx + 0x24]
push edx
mov edx, dword [ebp - 0xfc]
lea eax, [ebp - 0x274]
push eax
mov eax, dword [edx + 0x2c]
push ecx
call eax
mov ecx, dword [ebp - 0x110]
add esp, 0xc
push ecx
push edi
mov dword [ebp - 0xd8], eax
call fcn.004411e0
mov eax, dword [ebp - 0x260]
add esp, 8
test eax, eax
je 0x44877e
mov dword [ebp - 0xd8], eax
movzx ecx, byte [ebp - 0x119]
mov eax, esi
call fcn.0043b890
mov ecx, esi
call fcn.0043c300
test eax, eax
jne 0x444b6e
jmp case.default.0x44401c
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
cmp byte [esi + 0x19], 0
jne case.default.0x44401c
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx]
mov edx, dword [edi + 0x58]
and edx, 0xfffffff7
or edx, 4
mov dword [ebp - 0xfc], eax
mov eax, dword [eax]
mov dword [edi + 0x58], edx
mov ecx, dword [esi + 0x24]
mov edx, dword [eax + 0x24]
push ecx
mov dword [ebp - 0x110], eax
call edx
and dword [edi + 0x58], 0xfffffff3
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xfc]
add esp, 4
push eax
push edi
call fcn.004411e0
add esp, 8
cmp dword [ebp - 0xd8], 0
jne case.0x44401c.16
mov ecx, dword [esi + 0x24]
mov edx, dword [ebp - 0x110]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
test eax, eax
jne 0x448821
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
mov esi, dword [ebp - 0xdc]
mov ecx, dword [esi + 0xf0]
test ecx, ecx
jne 0x448dc3
mov ebx, dword [esi + 0x124]
test ebx, ebx
je case.default.0x44401c
mov eax, dword [ebp - 0x154]
cmp eax, dword [ebp - 0x158]
jb case.default.0x44401c
mov ecx, dword [esi + 0x12c]
xor edx, edx
div ecx
sub ecx, edx
add ecx, dword [ebp - 0x154]
mov edx, dword [esi + 0x128]
push edx
mov dword [ebp - 0x158], ecx
call ebx
add esp, 4
test eax, eax
je case.default.0x44401c
mov dword [ebp - 0xd8], 9
mov eax, dword [edi + 0x2c]
mov ecx, dword [edi + 0xa8]
mov edx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd8]
push eax
push ecx
push edx
push str.statement_aborts_at__d:___s___s
push esi
mov dword [edi + 0x50], esi
call fcn.00420c70
add esp, 0x14
mov eax, edi
call fcn.0043f300
cmp esi, 0xc0a
jne 0x4488cd
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x40], 1
mov al, byte [ebp - 0x125]
mov esi, 1
test al, al
je 0x448913
mov edx, dword [ebp - 0xdc]
movzx ebx, al
mov eax, dword [edx + 0x10]
dec ebx
mov ecx, ebx
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 0xc]
push ecx
call fcn.00460170
add esp, 4
cmp ebx, esi
je 0x448913
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 0x1c]
push ecx
call fcn.00460170
add esp, 4
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x144]
mov dword [eax + 0x20], edx
mov edx, dword [ebp - 0x154]
mov dword [eax + 0x24], ecx
add dword [edi + 0x7c], edx
push edi
call fcn.0043dbf0
mov ecx, dword [ebp - 4]
add esp, 4
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.00495b13
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x10]
mov ebx, dword [ebx + 4]
mov ecx, dword [eax + 8]
lea edx, [ebx + ebx*4]
lea esi, [esi + edx*8]
mov dword [ebp - 0xfc], ecx
mov ecx, 1
mov eax, esi
call fcn.0043b890
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.default.0x44401c
mov ebx, dword [ebp - 0xfc]
mov ecx, dword [esi + 0x10]
mov eax, dword [ebx]
mov edx, dword [eax + 0x4c]
push ecx
push ebx
call edx
push ebx
push edi
mov dword [ebp - 0xd8], eax
call fcn.004411e0
add esp, 0x10
and dword [edi + 0x58], 0xffffffdf
jmp case.default.0x44401c
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0xfc], eax
mov eax, dword [eax]
cmp dword [eax + 0x34], 0
mov dword [ebp - 0x110], eax
je case.default.0x44401c
mov edx, dword [ebp - 0xdc]
mov al, byte [edx + 0x44]
mov edx, dword [edi + 0xc]
mov byte [ebp - 0x115], al
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
xor eax, eax
test ecx, ecx
jle 0x4489fb
lea esp, [esp]
mov dword [edx + eax*4], esi
inc eax
add esi, 0x28
cmp eax, ecx
jl 0x4489f0
mov al, byte [ebx + 3]
mov esi, dword [ebp - 0xdc]
mov byte [esi + 0x44], al
lea eax, [ebp - 0x250]
push eax
push edx
mov edx, dword [ebp - 0x110]
mov eax, dword [edx + 0x34]
push ecx
mov ecx, dword [ebp - 0xfc]
push ecx
call eax
mov edx, dword [ebp - 0xfc]
mov cl, byte [ebp - 0x115]
push edx
push edi
mov dword [ebp - 0xd8], eax
mov byte [esi + 0x44], cl
call fcn.004411e0
add esp, 0x18
cmp dword [ebp - 0xd8], 0
jne 0x448a6e
cmp dword [ebx + 4], 0
je 0x448a6e
mov eax, dword [ebp - 0x250]
mov ecx, dword [ebp - 0x24c]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], ecx
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
cmp byte [ebp - 0xd8], 0x13
jne 0x446f28
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x446f28
mov bl, byte [ebx + 3]
cmp bl, 4
jne 0x448a9f
mov dword [ebp - 0xd8], 0
jmp case.default.0x44401c
mov eax, 2
cmp bl, 5
je 0x448aac
movzx eax, bl
mov byte [edi + 0x56], al
jmp case.default.0x44401c
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x10]
add edx, edx
mov edx, dword [eax + edx*8 + 4]
mov eax, dword [edx + 4]
mov edx, dword [eax + 0x2c]
mov dword [ecx], edx
mov dword [ecx + 4], 0
jmp case.default.0x44401c
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + 0x10]
mov ebx, dword [ebx + 0xc]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
xor ecx, ecx
test ebx, ebx
je 0x448b01
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 0x2c]
cmp ecx, ebx
jae 0x448b01
mov ecx, ebx
mov ebx, ecx
call fcn.00432b70
mov ecx, dword [ebp - 0xe8]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x44401c
mov eax, dword [ebx + 8]
test eax, eax
je 0x448b24
dec eax
mov dword [ebp - 0xe4], eax
mov edx, dword [ebp - 0xdc]
cmp dword [edx + 0xac], 0
je case.default.0x44401c
test dword [edi + 0x58], 0x800
jne case.default.0x44401c
mov ebx, dword [ebx + 0x10]
mov ecx, ebx
test ebx, ebx
jne 0x448b4b
mov ecx, dword [edi + 0xa8]
test ecx, ecx
je case.default.0x44401c
push edi
call fcn.004436d0
mov edi, dword [ebp - 0xdc]
mov ecx, dword [edi + 0xac]
mov esi, eax
mov eax, dword [edi + 0xb0]
add esp, 4
push esi
push eax
call ecx
add esp, 8
mov eax, esi
mov ecx, edi
call fcn.0041ec40
inc dword [ebp - 0xe4]
cmp dword [ebp - 0xd8], 0
mov edi, dword [ebp - 0x114]
jne 0x44888b
mov esi, dword [ebp - 0x120]
mov ebx, dword [ebp - 0xdc]
jmp 0x443fa0
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0xe4]
mov dword [edi + 0x50], edx
mov al, byte [ebx + 8]
mov byte [edi + 0x56], al
mov dword [edi + 0x4c], ecx
test edx, edx
je 0x448c4e
mov al, byte [ebx + 3]
test al, al
je 0x448bfb
movzx edx, al
mov eax, dword [edx*4 + 0x4b3cdc]
test eax, eax
je 0x448bfd
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x448bfd
push ecx
push eax
mov eax, dword [ebp - 0xdc]
push str._s_constraint_failed:__s
push eax
lea esi, [edi + 0x2c]
push esi
call fcn.0041f150
add esp, 0x14
jmp 0x448c2c
xor eax, eax
mov ecx, dword [ebx + 0x10]
lea esi, [edi + 0x2c]
test ecx, ecx
je 0x448c16
push ecx
mov ecx, dword [ebp - 0xdc]
push 0x4b97a4
push ecx
jmp 0x448c23
mov edx, dword [ebp - 0xdc]
push eax
push str._s_constraint_failed
push edx
push esi
call fcn.0041f150
add esp, 0x10
mov eax, dword [esi]
mov ecx, dword [edi + 0xa8]
mov edx, dword [ebp - 0xe4]
push eax
mov eax, dword [ebx + 4]
push ecx
push edx
push str.abort_at__d_in___s_:__s
push eax
call fcn.00420c70
add esp, 0x14
mov eax, edi
call fcn.0043f300
mov esi, 5
cmp eax, esi
jne 0x448cb7
mov dword [edi + 0x50], esi
jmp 0x448913
mov dword [ebp - 0xd8], 0x14
jmp 0x448d4e
mov eax, dword [ebp - 0xe4]
mov dword [edi + 0x4c], eax
mov esi, 5
mov byte [ebx + 0x3e], 0
mov dword [edi + 0x50], esi
jmp 0x448913
test ebx, ebx
je 0x448cc9
mov esi, dword [ebp - 0xdc]
push 0x204
mov eax, esi
call fcn.00490ef0
add esp, 4
mov byte [esi + 0x3e], 1
mov esi, dword [ebp - 0xdc]
call fcn.00490800
mov esi, dword [edi + 0x50]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x448913
push 1
mov eax, edi
call fcn.0043f290
mov esi, eax
add esp, 4
test esi, esi
jne 0x448913
mov bl, byte [ebp - 0xfc]
mov esi, dword [ebp - 0xdc]
mov eax, edi
mov byte [esi + 0x3e], bl
call fcn.0043f300
cmp eax, 5
jne 0x448cac
mov ecx, dword [ebp - 0xe4]
mov dl, 1
sub dl, bl
mov dword [edi + 0x4c], ecx
mov byte [esi + 0x3e], dl
mov esi, eax
mov dword [edi + 0x50], esi
jmp 0x448913
mov dword [ebp - 0xd8], 8
jmp 0x448d4e
mov eax, dword [ebp - 0xe4]
mov esi, 5
mov dword [edi + 0x4c], eax
mov dword [edi + 0x50], esi
jmp 0x448913
mov eax, 0x11a80
call fcn.00493030
mov dword [ebp - 0xd8], eax
jmp 0x448d4e
mov edi, dword [ebp - 0x114]
mov edx, dword [ebp - 0xdc]
cmp byte [edx + 0x40], 0
je 0x448d76
mov dword [ebp - 0xd8], 7
mov ecx, dword [ebp - 0xd8]
mov eax, str.unknown_error
call fcn.00491040
jmp 0x448da9
cmp dword [ebp - 0xd8], 0xc0a
je 0x44888b
cmp dword [ebp - 0xd8], 0x204
je 0x448da4
mov ecx, dword [ebp - 0xd8]
mov eax, str.unknown_error
call fcn.00491040
jmp 0x448da9
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x4b97a4
push edx
lea ecx, [edi + 0x2c]
push ecx
call fcn.0041f150
add esp, 0x10
jmp 0x44888b
mov esi, ebx
mov eax, 9
mov dword [edi + 0x50], eax
mov ecx, dword [str.interrupted]
mov dword [ebp - 0xd8], eax
mov eax, str.unknown_error
test ecx, ecx
je 0x448de2
mov eax, ecx
push eax
push 0x4b97a4
lea edx, [edi + 0x2c]
push esi
push edx
call fcn.0041f150
add esp, 0x10
jmp 0x44888b