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

Disassembly:
sub esp, 0x120
push ebx
push ebp
mov ebp, dword [esp + 0x12c]
push esi
push edi
xor ebx, ebx
mov esi, dword [ebp]
mov eax, dword [ebp + 4]
mov edi, dword [ebp + 8]
mov dword [esp + 0x10c], eax
mov ecx, dword [esi + 0x10]
push ebp
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ebx
mov edx, dword [ecx + 0xc]
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x20], esi
mov byte [esp + 0x10c], bl
mov al, byte [edx + 0x4d]
mov edx, dword [esi + 0x24]
mov byte [esp + 0xec], al
mov dword [esp + 0x108], ebx
mov dword [esp + 0xf0], edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x104], ebx
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], edx
call fcn.0044f0c0
mov eax, dword [ebp + 0x58]
add esp, 4
cmp eax, 7
je 0x458103
mov dword [ebp + 0x58], ebx
mov dword [ebp + 0x14], ebx
mov dword [esi + 0x1b4], ebx
mov eax, dword [esi + 0xe0]
cmp eax, ebx
jne 0x458247
mov ecx, dword [esi + 0x114]
xor eax, eax
cmp ecx, ebx
mov ecx, dword [ebp + 0x54]
setne al
mov dword [esp + 0x118], eax
mov dword [esp + 0x18], ecx
jmp 0x4531f4
mov edi, dword [esp + 0xec]
mov ebp, dword [esp + 0x134]
mov edx, dword [esp + 0x1c]
mov al, byte [edx + 0x38]
test al, al
jne 0x458103
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10c]
mov ebx, edx
lea eax, [eax + eax*4]
lea esi, [ecx + eax*4]
mov eax, dword [esp + 0x118]
test eax, eax
je 0x453258
mov edx, dword [ebx + 0x11c]
mov eax, dword [esp + 0x104]
cmp edx, eax
jne 0x453251
mov eax, dword [ebx + 0x118]
push eax
call dword [ebx + 0x114]
add esp, 4
test eax, eax
jne 0x457fb4
mov dword [esp + 0x104], eax
inc dword [esp + 0x104]
test byte [esi + 2], 2
je 0x453289
mov eax, dword [esi + 8]
lea ecx, [eax + eax*4]
test word [edi + ecx*8 + 0x1c], 0x2460
lea eax, [edi + ecx*8]
mov dword [esp + 0x14], eax
je 0x453283
mov edx, eax
push edx
call fcn.0044e710
mov eax, dword [esp + 0x18]
add esp, 4
mov word [eax + 0x1c], 4
xor eax, eax
mov al, byte [esi]
dec eax
cmp eax, 0x93
ja case.default.0x453299
jmp dword [eax*4 + 0x45833c]
mov eax, dword [ebx + 0xe0]
test eax, eax
jne 0x458247
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [esp + 0x18]
cdq
mov dword [ecx + 0x10], eax
mov word [ecx + 0x1c], 4
mov dword [ecx + 0x14], edx
mov ecx, dword [esi + 8]
dec ecx
mov dword [esp + 0x18], ecx
jmp case.default.0x453299
mov esi, dword [esi + 4]
lea edx, [esi + esi*4]
mov eax, dword [edi + edx*8 + 0x10]
mov dword [esp + 0x18], eax
jmp case.default.0x453299
mov esi, dword [esi + 4]
mov eax, dword [esp + 0x18]
lea ecx, [esi + esi*4]
mov edx, dword [edi + ecx*8 + 0x10]
lea ecx, [edi + ecx*8]
mov word [ecx + 0x1c], 4
mov dword [esp + 0x20], edx
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], eax
jmp case.default.0x453299
mov eax, dword [esi + 0xc]
lea ecx, [eax + eax*4]
test byte [edi + ecx*8 + 0x1c], 1
je case.default.0x453299
mov eax, dword [esi + 4]
test eax, eax
jne 0x457fc1
mov edi, dword [ebp + 0xa0]
test edi, edi
je 0x457fc1
mov edx, dword [edi + 4]
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0xa0], edx
mov edx, dword [ebp + 0xa8]
dec edx
push eax
push ebx
mov dword [ebp + 0xa8], edx
call fcn.00450aa0
push edi
call fcn.00450150
mov ecx, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esi + 8]
add esp, 0xc
cmp ecx, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0xf4], edx
jne 0x4533a6
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
dec edx
mov dword [esp + 0x18], edx
mov eax, dword [ebp + 4]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x10c], eax
mov dword [esp + 0xec], ecx
jmp case.default.0x453299
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x14]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x453299
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx]
mov dword [eax + 0x10], ecx
mov edx, dword [edx + 4]
mov dword [eax + 0x14], edx
jmp case.default.0x453299
mov eax, dword [esp + 0x14]
mov word [eax + 0x1c], 8
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 0xc], ecx
jmp case.default.0x453299
mov edx, dword [esi + 0x10]
mov byte [esi], 9
push edx
call fcn.00441770
mov dword [esi + 4], eax
mov al, byte [esp + 0xec]
add esp, 4
cmp al, 1
je 0x4534ad
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x14]
push 0
push 1
push 0xffffffffffffffff
push eax
push ecx
call fcn.0044e2c0
add esp, 0x14
cmp eax, 0x12
mov dword [esp + 0x10], eax
je 0x458276
mov edx, dword [esp + 0xe8]
mov edi, dword [esp + 0x14]
and edx, 0xff
push edx
push edi
call fcn.00450d30
add esp, 8
test eax, eax
jne 0x458103
mov dword [edi + 0x24], eax
mov ax, word [edi + 0x1c]
and eax, 0xfbff
or ah, 8
mov word [edi + 0x1c], ax
mov al, byte [esi + 1]
cmp al, 0xff
jne 0x453499
mov ecx, dword [esi + 0x10]
mov edx, dword [esp + 0x1c]
push ecx
push edx
call fcn.00440050
add esp, 8
mov ebx, dword [esp + 0x1c]
mov byte [esi + 1], 0xff
mov eax, dword [edi + 4]
mov dword [esi + 0x10], eax
mov ecx, dword [edi + 0x18]
mov dword [esi + 4], ecx
mov edx, dword [esi + 4]
mov eax, dword [ebx + 0x50]
cmp edx, eax
jg 0x458276
mov eax, dword [esp + 0x14]
mov word [eax + 0x1c], 0xa02
mov ecx, dword [esi + 0x10]
mov dword [eax + 4], ecx
mov edx, dword [esi + 4]
mov cl, byte [esp + 0xe8]
mov dword [eax + 0x18], edx
mov byte [eax + 0x1f], cl
jmp case.default.0x453299
mov edx, dword [esi + 0xc]
mov ebp, dword [esi + 8]
sub edx, ebp
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], edx
mov esi, dword [esi + 4]
neg esi
sbb esi, esi
and esi, 0x100
inc esi
mov word [esp + 0x24], si
mov word [eax + 0x1c], si
mov ecx, dword [esp + 0x20]
test ecx, ecx
jle case.default.0x453299
add eax, 0x28
mov dword [esp + 0x14], eax
test word [eax + 0x1c], 0x2460
je 0x45352f
push eax
call fcn.0044e710
mov eax, dword [esp + 0x18]
add esp, 4
mov cx, word [esp + 0x24]
mov word [eax + 0x1c], cx
mov ecx, dword [esp + 0x20]
dec ecx
test ecx, ecx
mov dword [esp + 0x20], ecx
jg 0x453513
jmp case.default.0x453299
mov edx, dword [esi + 4]
mov eax, dword [esi + 0x10]
mov esi, dword [esp + 0x14]
push 0
push 0
push edx
push eax
push esi
call fcn.0044e2c0
mov cl, byte [esp + 0xfc]
add esp, 0x14
mov byte [esi + 0x1f], cl
jmp case.default.0x453299
mov esi, dword [esi + 4]
mov eax, dword [ebp + 0x44]
lea edx, [esi + esi*4]
lea eax, [eax + edx*8 - 0x28]
push eax
mov dword [esp + 0x24], eax
call fcn.0045eac0
add esp, 4
test eax, eax
jne 0x458276
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
push 0x800
push ecx
push edx
call fcn.0045eaf0
add esp, 0xc
jmp case.default.0x453299
mov eax, dword [esi + 0xc]
inc eax
mov dword [esp + 0x24], eax
mov ecx, dword [esi + 4]
mov dword [esp + 0x28], ecx
mov esi, dword [esi + 8]
lea ecx, [ecx + ecx*4]
mov dword [esp + 0x2c], esi
lea edx, [esi + esi*4]
lea ebx, [edi + ecx*8]
mov ecx, eax
lea edi, [edi + edx*8]
dec eax
test ecx, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x24], eax
je case.default.0x453299
xor esi, esi
mov edx, dword [edi + 0x24]
push ebx
mov dword [esp + 0x24], edx
push edi
mov dword [edi + 0x24], esi
call fcn.00452f70
mov eax, dword [esp + 0x28]
add esp, 8
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x24]
add ebx, 0x28
add edi, 0x28
mov ecx, eax
dec eax
test ecx, ecx
mov dword [esp + 0x24], eax
jne 0x4535e7
mov dword [esp + 0x14], edi
jmp case.default.0x453299
mov edx, dword [esi + 0xc]
mov dword [esp + 0x20], edx
mov eax, dword [esi + 4]
mov esi, dword [esi + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + esi*4]
lea ebx, [edi + eax*8]
lea esi, [edi + ecx*8]
mov dword [esp + 0x14], esi
push 0x1000
push ebx
push esi
call fcn.0045eaf0
add esp, 0xc
test byte [esi + 0x1d], 0x10
je 0x453663
push esi
call fcn.0044e600
add esp, 4
test eax, eax
jne 0x458103
mov eax, dword [esp + 0x20]
mov edx, eax
dec eax
test edx, edx
mov dword [esp + 0x20], eax
je case.default.0x453299
add esi, 0x28
add ebx, 0x28
mov dword [esp + 0x14], esi
jmp 0x45363d
mov eax, dword [esi + 8]
mov esi, dword [esi + 4]
push 0x1000
lea ecx, [esi + esi*4]
lea eax, [eax + eax*4]
lea edx, [edi + ecx*8]
lea eax, [edi + eax*8]
push edx
push eax
mov dword [esp + 0x20], eax
call fcn.0045eaf0
add esp, 0xc
jmp case.default.0x453299
push 0
push ebp
call fcn.00450950
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x453299
push 1
push ebp
call fcn.004507d0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x458050
jmp case.default.0x453299
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov eax, dword [esi + 8]
mov esi, dword [esi + 0xc]
lea ecx, [eax + eax*4]
mov ax, word [ebx + 0x1c]
lea edx, [esi + esi*4]
lea ebp, [edi + ecx*8]
lea esi, [edi + edx*8]
mov cl, byte [ebp + 0x1c]
mov dword [esp + 0x14], esi
or cl, al
test cl, 1
je 0x45371a
push esi
call fcn.0044e830
add esp, 4
jmp case.default.0x453299
test ah, 0x40
je 0x453730
push ebx
call fcn.0044e660
add esp, 4
test eax, eax
jne 0x458103
test byte [ebp + 0x1d], 0x40
je 0x453747
push ebp
call fcn.0044e660
add esp, 4
test eax, eax
jne 0x458103
test byte [ebx + 0x1c], 0x12
jne 0x45376c
mov edx, dword [esp + 0xe8]
and edx, 0xff
push edx
push ebx
call fcn.00451200
add esp, 8
test eax, eax
jne 0x458103
test byte [ebp + 0x1c], 0x12
jne 0x453790
mov eax, dword [esp + 0xe8]
and eax, 0xff
push eax
push ebp
call fcn.00451200
add esp, 8
test eax, eax
jne 0x458103
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebp + 0x18]
add eax, ecx
cdq
mov ecx, edx
mov edx, dword [esp + 0x1c]
mov esi, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], esi
mov eax, dword [edx + 0x50]
cdq
cmp ecx, edx
jg 0x458276
jl 0x4537bf
cmp esi, eax
ja 0x458276
mov esi, dword [esp + 0x14]
xor ecx, ecx
mov ax, word [esi + 0x1c]
and eax, 0xbe02
or al, 2
cmp esi, ebp
mov word [esi + 0x1c], ax
mov edx, dword [esp + 0x20]
sete cl
add edx, 2
push ecx
push edx
push esi
call fcn.0044e4e0
add esp, 0xc
test eax, eax
jne 0x458103
cmp esi, ebp
je 0x453814
mov ecx, dword [ebp + 0x18]
mov eax, dword [esp + 0x14]
mov esi, dword [ebp + 4]
mov edx, ecx
mov edi, dword [eax + 4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x453818
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x18]
mov edi, dword [ebp + 0x18]
mov ebp, dword [eax + 4]
mov esi, dword [ebx + 4]
mov edx, ecx
add edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x20]
mov byte [edx + ecx], 0
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x20]
mov byte [edx + ecx + 1], 0
or byte [eax + 0x1d], 2
mov ecx, dword [esp + 0x20]
mov dl, byte [esp + 0xe8]
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1f], dl
jmp case.default.0x453299
mov eax, dword [esi + 4]
mov ebx, dword [esp + 0xec]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
push edi
call fcn.00453090
mov eax, dword [esi + 8]
lea ecx, [eax + eax*4]
lea ebp, [ebx + ecx*8]
push ebp
call fcn.00453090
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov cx, word [ebp + 0x1c]
add esp, 8
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
xor edx, edx
mov dx, word [edi + 0x1c]
mov dword [esp + 0x14], eax
or ecx, edx
mov al, cl
mov dword [esp + 0x24], ecx
test al, 1
jne 0x453ad1
mov al, byte [edi + 0x1c]
mov bl, byte [ebp + 0x1c]
and al, bl
and al, 4
cmp al, 4
jne 0x4539e0
mov eax, dword [edi + 0x10]
mov dword [esp + 0x28], eax
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x2c], ecx
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x30], ebx
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x34], edx
xor edx, edx
mov byte [esp + 0x20], 1
mov dl, byte [esi]
add edx, 0xffffffaa
cmp edx, 3
ja case.default.0x4538f9
jmp dword [edx*4 + 0x45858c]
push ecx
push eax
lea eax, [esp + 0x38]
push eax
call fcn.004586d0
add esp, 0xc
test eax, eax
jne 0x4539e5
jmp 0x4539b8
push ecx
lea ecx, [esp + 0x34]
push eax
push ecx
call fcn.00458770
add esp, 0xc
test eax, eax
jne 0x4539e5
jmp 0x4539b8
push ecx
lea edx, [esp + 0x34]
push eax
push edx
call fcn.004587d0
add esp, 0xc
test eax, eax
jne 0x4539e5
jmp 0x4539b8
mov edx, eax
or edx, ecx
je 0x453ad1
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x453972
test ebx, ebx
jne 0x453972
cmp dword [esp + 0x34], 0x80000000
je 0x4539e5
push ecx
push eax
mov eax, dword [esp + 0x3c]
push eax
push ebx
call fcn.004b15a0
jmp 0x4539b0
mov edx, eax
or edx, ecx
je 0x453ad1
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x4539a3
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
push ecx
push eax
mov eax, dword [esp + 0x3c]
push eax
push ebx
call fcn.004b14e0
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x10], ecx
mov cx, word [eax + 0x1c]
mov edx, dword [esp + 0x34]
and ecx, 0xbe04
or ecx, 4
mov dword [eax + 0x14], edx
mov word [eax + 0x1c], cx
jmp case.default.0x453299
mov byte [esp + 0x20], 0
push edi
call fcn.004512a0
fstp qword [esp + 0x3c]
push ebp
call fcn.004512a0
fstp qword [esp + 0x48]
xor eax, eax
add esp, 8
mov al, byte [esi]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x453a08
jmp dword [eax*4 + 0x45859c]
fld qword [esp + 0x40]
fadd qword [esp + 0x38]
jmp 0x453ab7
fld qword [esp + 0x40]
fsub qword [esp + 0x38]
jmp 0x453ab7
fld qword [esp + 0x40]
fmul qword [esp + 0x38]
jmp 0x453ab7
fld qword [esp + 0x38]
fcomp qword [0x4f21c8]
fnstsw ax
test ah, 0x40
jne 0x453ad1
fld qword [esp + 0x40]
fdiv qword [esp + 0x38]
jmp 0x453ab7
fld qword [esp + 0x38]
call fcn.004b0ca0
fld qword [esp + 0x40]
mov esi, eax
mov edi, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
call fcn.004b0ca0
mov ecx, esi
mov dword [esp + 0x30], eax
or ecx, edi
mov dword [esp + 0x34], edx
je 0x453ad1
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x453a99
mov esi, 1
xor edi, edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
push edi
push esi
push edx
push eax
call fcn.004b14e0
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
fild qword [esp + 0x120]
fstp qword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
push edx
push eax
call fcn.00441720
add esp, 8
test eax, eax
je 0x453ae3
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0044e830
add esp, 4
jmp case.default.0x453299
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov dword [eax + 8], edx
mov dx, word [eax + 0x1c]
and edx, 0xbe08
mov dword [eax + 0xc], ecx
or edx, 8
mov word [eax + 0x1c], dx
mov al, byte [esp + 0x24]
test al, 8
jne case.default.0x453299
mov al, byte [esp + 0x20]
test al, al
jne case.default.0x453299
mov eax, dword [esp + 0x14]
push eax
call fcn.0045e900
add esp, 4
jmp case.default.0x453299
mov esi, dword [esi + 4]
test esi, esi
je case.default.0x453299
lea ecx, [esi + esi*4]
push 0
push 0
lea edx, [edi + ecx*8]
push edx
call fcn.00451760
add esp, 0xc
jmp case.default.0x453299
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cl, byte [esi + 3]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
mov eax, dword [esi + 0xc]
lea edx, [eax + eax*4]
lea eax, [edi + edx*8]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 8]
lea edx, [eax + eax*4]
xor eax, eax
test ecx, ecx
lea edi, [edi + edx*8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edi
jle 0x453bd2
mov ecx, dword [esp + 0x68]
mov dword [ecx + eax*4], edi
mov eax, dword [esp + 0x24]
test byte [eax + 0x1d], 0x10
je 0x453bad
push eax
call fcn.0044e600
add esp, 4
test eax, eax
jne 0x458103
mov eax, dword [esp + 0x24]
push eax
call fcn.00453050
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x70]
add esp, 4
inc eax
add edi, 0x28
cmp eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edi
jl 0x453b87
cmp byte [esi + 1], 0xfb
jne 0x453be7
mov edx, dword [esi + 0x10]
xor ebx, ebx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ebx
jmp 0x453bf6
mov eax, dword [esi + 0x10]
xor ebx, ebx
mov dword [esp + 0x2c], eax
mov eax, dword [eax]
mov dword [esp + 0x28], eax
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
lea ecx, [esp + 0x30]
push ebp
push ecx
mov word [esp + 0x54], 1
mov dword [esp + 0x38], edi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
call fcn.00452f70
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x30]
and edx, 0xbe01
mov dword [esp + 0x68], ebx
or edx, 1
add esp, 8
mov word [esp + 0x4c], dx
mov cl, byte [eax + 3]
test cl, 8
je 0x453c48
mov ecx, dword [esi - 4]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0xf0]
mov eax, dword [esp + 0xf4]
mov dword [edi + 0x20], edx
mov dword [edi + 0x24], eax
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x2c]
push edx
push eax
call dword [ecx + 0xc]
mov eax, dword [edi + 0x24]
mov edx, dword [edi + 0x20]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x38]
add esp, 0xc
cmp eax, ebx
mov dword [esp + 0xf0], edx
je 0x453ca9
mov ecx, dword [esi + 4]
push ecx
push eax
call fcn.0044ebd0
mov edx, dword [esp + 0x34]
add esp, 8
mov dword [esi + 0x10], edx
mov byte [esi + 1], 0xf9
mov al, byte [edi + 0x38]
test al, al
jne 0x4580f6
cmp dword [esp + 0x60], ebx
je 0x453ce6
lea eax, [esp + 0x30]
push eax
call fcn.004515c0
mov ecx, dword [esp + 0x138]
push eax
push 0x509d48
add ecx, 0x34
push edi
push ecx
call fcn.004509b0
mov edx, dword [esp + 0x74]
add esp, 0x14
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0xe8]
lea ecx, [esp + 0x30]
and eax, 0xff
push eax
push ecx
call fcn.00450d30
lea edx, [esp + 0x38]
push edx
push ebp
call fcn.00452f70
push ebp
jmp 0x457caa
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov eax, dword [esi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0xc]
lea edx, [eax + eax*4]
mov al, byte [edi + ecx*8 + 0x1c]
lea ecx, [edi + ecx*8]
lea edi, [edi + edx*8]
mov dl, byte [ebx + 0x1c]
or al, dl
mov dword [esp + 0x14], edi
test al, 1
je 0x453d48
push edi
call fcn.0044e830
add esp, 4
jmp case.default.0x453299
push ecx
call fcn.00451320
push ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
call fcn.00451320
mov ebx, eax
mov ebp, edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebp
mov al, byte [esi]
add esp, 8
cmp al, 0x52
mov byte [esp + 0x38], al
jne 0x453d8e
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
and ecx, ebx
and eax, ebp
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
jmp 0x453e9d
cmp al, 0x53
jne 0x453dab
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
or ecx, ebx
or eax, ebp
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
jmp 0x453e9d
mov ecx, ebx
or ecx, ebp
je 0x453e9d
test ebp, ebp
jg 0x453def
jl 0x453dbf
test ebx, ebx
jae 0x453de4
mov dl, 0xa9
sub dl, al
cmp ebp, 0xffffffff
mov al, dl
mov byte [esp + 0x38], al
jl 0x453e16
jg 0x453dd5
cmp ebx, 0xffffffc0
jbe 0x453e16
neg ebx
adc ebp, 0
mov dword [esp + 0x30], ebx
neg ebp
mov dword [esp + 0x34], ebp
test ebp, ebp
jl 0x453e35
jg 0x453def
cmp ebx, 0x40
jb 0x453e35
mov ecx, dword [esp + 0x24]
test ecx, ecx
jg 0x453e28
jl 0x453e01
mov ecx, dword [esp + 0x20]
test ecx, ecx
jae 0x453e28
cmp al, 0x54
je 0x453e28
or eax, 0xffffffff
cdq
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jmp 0x453e9d
mov dword [esp + 0x30], 0x40
mov dword [esp + 0x34], 0
jmp 0x453def
xor eax, eax
cdq
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jmp 0x453e9d
cmp al, 0x54
mov eax, dword [esp + 0x20]
mov ecx, ebx
jne 0x453e52
mov edx, dword [esp + 0x24]
call fcn.004b1760
mov esi, eax
mov ebp, edx
mov dword [esp + 0x28], esi
jmp 0x453e91
mov edi, dword [esp + 0x24]
mov edx, edi
call fcn.004b1740
mov esi, eax
mov ebp, edx
test edi, edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebp
jg 0x453e95
jl 0x453e77
mov eax, dword [esp + 0x20]
test eax, eax
jae 0x453e95
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, ebx
or edx, 0xffffffff
call fcn.004b1760
or esi, eax
or ebp, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebp
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x10], ecx
mov cx, word [eax + 0x1c]
mov edx, dword [esp + 0x24]
and ecx, 0xbe04
or ecx, 4
mov dword [eax + 0x14], edx
mov word [eax + 0x1c], cx
jmp case.default.0x453299
mov eax, dword [esi + 4]
lea edx, [eax + eax*4]
lea edi, [edi + edx*8]
push edi
call fcn.0045e960
mov eax, dword [esi + 8]
mov ecx, dword [edi + 0x10]
cdq
add esp, 4
add ecx, eax
mov dword [edi + 0x10], ecx
mov eax, dword [edi + 0x14]
adc eax, edx
mov dword [edi + 0x14], eax
jmp case.default.0x453299
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0xe8]
push ecx
push 0x63
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
push edi
call fcn.0045fe10
mov ax, word [edi + 0x1c]
add esp, 0xc
test al, 4
jne 0x454442
mov esi, dword [esi + 8]
test esi, esi
je 0x458135
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
mov esi, dword [esi + 4]
lea edx, [esi + esi*4]
mov cl, byte [edi + edx*8 + 0x1c]
lea eax, [edi + edx*8]
test cl, 4
je case.default.0x453299
push eax
call fcn.0045e990
add esp, 4
jmp case.default.0x453299
mov esi, dword [esi + 4]
lea eax, [esi + esi*4]
lea edi, [edi + eax*8]
mov ax, word [edi + 0x1c]
test al, 1
jne case.default.0x453299
mov edx, dword [esp + 0xe8]
mov cl, al
shr cl, 3
and ecx, 2
push edx
or ecx, eax
push 0x61
push edi
mov word [edi + 0x1c], cx
call fcn.0045fe10
add esp, 0xc
test byte [edi + 0x1d], 0x40
je 0x453fa5
push edi
call fcn.0044e660
add esp, 4
and word [edi + 0x1c], 0xbfe3
mov dword [esp + 0x10], eax
jmp case.default.0x453299
and word [edi + 0x1c], 0xbfe3
mov dword [esp + 0x10], 0
jmp case.default.0x453299
mov esi, dword [esi + 4]
lea eax, [esi + esi*4]
lea esi, [edi + eax*8]
mov ax, word [edi + eax*8 + 0x1c]
test al, 1
jne case.default.0x453299
test al, 0x10
jne 0x453ffb
mov ecx, dword [esp + 0xe8]
push ecx
push 0x61
push esi
call fcn.0045fe10
mov dx, word [esi + 0x1c]
add esp, 0xc
and edx, 0xbe10
or edx, 0x10
mov word [esi + 0x1c], dx
jmp case.default.0x453299
and eax, 0xfe10
mov word [esi + 0x1c], ax
jmp case.default.0x453299
mov esi, dword [esi + 4]
lea eax, [esi + esi*4]
lea ecx, [edi + eax*8]
push ecx
call fcn.0045e9c0
add esp, 4
jmp case.default.0x453299
mov esi, dword [esi + 4]
lea edx, [esi + esi*4]
mov cl, byte [edi + edx*8 + 0x1c]
lea eax, [edi + edx*8]
test cl, 1
jne case.default.0x453299
push eax
call fcn.0045e960
add esp, 4
jmp case.default.0x453299
mov esi, dword [esi + 4]
lea eax, [esi + esi*4]
mov cl, byte [edi + eax*8 + 0x1c]
lea eax, [edi + eax*8]
test cl, 1
jne case.default.0x453299
push eax
call fcn.0045e990
add esp, 4
jmp case.default.0x453299
mov eax, dword [esi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0xc]
lea ebp, [edi + ecx*8]
lea edx, [eax + eax*4]
mov ax, word [ebp + 0x1c]
lea ecx, [edi + edx*8]
mov word [esp + 0x26], ax
mov dword [esp + 0xfc], ecx
mov dx, word [ecx + 0x1c]
mov word [esp + 0x28], dx
mov al, dl
mov dl, byte [esp + 0x26]
or al, dl
test al, 1
mov al, byte [esi + 3]
je 0x454103
test al, 0x80
je 0x4540d4
test dl, 1
je 0x4540c6
test byte [esp + 0x28], 1
je 0x4540c6
mov eax, dword [esp + 0x28]
test ah, 1
jne 0x4540c6
xor eax, eax
mov dword [esp + 0x20], eax
jmp 0x454197
mov eax, 1
mov dword [esp + 0x20], eax
jmp 0x454197
test al, 0x10
je 0x4540fc
mov esi, dword [esi + 8]
lea ecx, [esi + esi*4]
mov dx, word [edi + ecx*8 + 0x1c]
lea eax, [edi + ecx*8]
and edx, 0xbe01
mov dword [esp + 0x14], eax
or edx, 1
mov word [eax + 0x1c], dx
jmp case.default.0x453299
test al, 8
jmp 0x45684c
and al, 0x67
mov byte [esp + 0x24], al
je 0x45414d
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0x24]
push ecx
push edx
push ebp
call fcn.0045fe10
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x108]
push eax
push ecx
push edx
call fcn.0045fe10
mov al, byte [ebx + 0x38]
add esp, 0x18
test al, al
jne 0x458103
mov ecx, dword [esp + 0xfc]
mov ebx, 0x4000
test word [ebp + 0x1c], bx
je 0x454168
push ebp
call fcn.0044e660
mov ecx, dword [esp + 0x100]
add esp, 4
test word [ecx + 0x1c], bx
je 0x45417e
push ecx
call fcn.0044e660
mov ecx, dword [esp + 0x100]
add esp, 4
mov eax, dword [esi + 0x10]
push eax
push ebp
push ecx
call fcn.0045eb40
mov ecx, dword [esp + 0x108]
add esp, 0xc
mov dword [esp + 0x20], eax
xor edx, edx
mov dl, byte [esi]
add edx, 0xffffffb5
cmp edx, 4
ja case.default.0x4541a3
jmp dword [edx*4 + 0x4585ac]
xor edx, edx
test eax, eax
sete dl
jmp 0x4541de
xor edx, edx
test eax, eax
setne dl
jmp 0x4541de
xor edx, edx
test eax, eax
setl dl
jmp 0x4541de
xor edx, edx
test eax, eax
setle dl
jmp 0x4541de
xor edx, edx
test eax, eax
setg dl
jmp 0x4541de
xor edx, edx
test eax, eax
setge dl
mov eax, edx
mov dword [esp + 0x20], eax
mov dl, byte [esi + 3]
test dl, 0x10
je 0x454218
mov esi, dword [esi + 8]
lea eax, [esi + esi*4]
mov dx, word [edi + eax*8 + 0x1c]
lea edi, [edi + eax*8]
and edx, 0xbe04
mov dword [esp + 0x14], edi
or edx, 4
mov word [edi + 0x1c], dx
mov eax, dword [esp + 0x20]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
jmp 0x454224
test eax, eax
je 0x454224
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
mov ax, word [ebp + 0x1c]
mov edx, dword [esp + 0x26]
xor edx, eax
and edx, 0x1ff
xor edx, eax
mov word [ebp + 0x1c], dx
mov ax, word [ecx + 0x1c]
mov edx, dword [esp + 0x28]
xor edx, eax
and edx, 0x1ff
xor edx, eax
mov word [ecx + 0x1c], dx
jmp case.default.0x453299
mov eax, dword [esi + 0x10]
mov dword [esp + 0x100], eax
jmp case.default.0x453299
test byte [esi + 3], 1
jne 0x454275
mov dword [esp + 0x100], 0
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x20], ecx
mov edx, dword [esi + 0x10]
mov dword [esp + 0x30], edx
mov eax, dword [esi + 4]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x2c], eax
xor eax, eax
test ecx, ecx
mov dword [esp + 0x24], eax
jle 0x454338
mov ebp, dword [esp + 0x100]
mov edi, dword [esp + 0xec]
jmp 0x4542b3
mov edx, dword [esp + 0x30]
test ebp, ebp
je 0x4542bd
mov ecx, dword [ebp + eax*4]
jmp 0x4542bf
mov ecx, eax
mov dword [esp + 0x34], ecx
mov esi, dword [edx + eax*4 + 0xc]
mov dword [esp + 0x38], esi
mov edx, dword [edx + 8]
xor ebx, ebx
push esi
mov bl, byte [edx + eax]
mov eax, dword [esp + 0x30]
add eax, ecx
mov dword [esp + 0x40], ebx
lea edx, [eax + eax*4]
lea eax, [edi + edx*8]
mov edx, dword [esp + 0x2c]
push eax
lea eax, [ecx + edx]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
push ecx
call fcn.0045eb40
add esp, 0xc
mov dword [esp + 0x110], eax
test eax, eax
jne 0x454327
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
inc eax
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x4542af
mov dword [esp + 0x100], 0
jmp case.default.0x453299
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x454338
neg eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x100], 0
jmp case.default.0x453299
mov eax, dword [esp + 0x110]
test eax, eax
jge 0x454360
mov esi, dword [esi + 4]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
jne 0x45436f
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
mov esi, dword [esi + 0xc]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
mov eax, dword [esi + 4]
lea edx, [eax + eax*4]
mov cl, byte [edi + edx*8 + 0x1c]
lea eax, [edi + edx*8]
test cl, 1
je 0x454395
mov ecx, 2
jmp 0x4543ab
push eax
call fcn.00451320
add esp, 4
or eax, edx
je 0x4543a9
mov ecx, 1
jmp 0x4543ab
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
mov dl, byte [edi + eax*8 + 0x1c]
lea eax, [edi + eax*8]
test dl, 1
je 0x4543cc
mov eax, 2
mov dword [esp + 0x24], eax
jmp 0x4543ea
push eax
call fcn.00451320
add esp, 4
or eax, edx
je 0x4543e0
mov eax, 1
jmp 0x4543e2
xor eax, eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
cmp byte [esi], 0x45
jne 0x4543fd
lea edx, [eax + ecx*2]
xor eax, eax
mov al, byte [ecx + edx + 0x4ef3c8]
jmp 0x45440b
lea eax, [eax + ecx*2]
xor edx, edx
mov dl, byte [ecx + eax + 0x4ef3d4]
mov eax, edx
mov dword [esp + 0x20], eax
mov esi, dword [esi + 0xc]
cmp eax, 2
lea ecx, [esi + esi*4]
lea edi, [edi + ecx*8]
mov dword [esp + 0x14], edi
jne 0x454437
mov dx, word [edi + 0x1c]
and edx, 0xbe01
or edx, 1
mov word [edi + 0x1c], dx
jmp case.default.0x453299
cdq
mov dword [edi + 0x10], eax
mov ax, word [edi + 0x1c]
mov dword [edi + 0x14], edx
and eax, 0xbe04
or al, 4
mov word [edi + 0x1c], ax
jmp case.default.0x453299
mov eax, dword [esi + 4]
mov esi, dword [esi + 8]
lea ecx, [eax + eax*4]
lea edx, [esi + esi*4]
lea eax, [edi + ecx*8]
lea edi, [edi + edx*8]
mov dword [esp + 0x14], edi
test byte [eax + 0x1c], 1
je 0x45447c
push edi
call fcn.0044e830
add esp, 4
jmp case.default.0x453299
push eax
call fcn.00451320
add esp, 4
or eax, edx
jne 0x45449f
mov eax, 1
cdq
push edx
push eax
push edi
call fcn.00451760
add esp, 0xc
jmp case.default.0x453299
xor eax, eax
cdq
push edx
push eax
push edi
call fcn.00451760
add esp, 0xc
jmp case.default.0x453299
mov eax, dword [esi + 4]
mov esi, dword [esi + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + esi*4]
lea eax, [edi + eax*8]
lea esi, [edi + ecx*8]
mov dword [esp + 0x14], esi
test byte [eax + 0x1c], 1
je 0x4544dc
push esi
call fcn.0044e830
add esp, 4
jmp case.default.0x453299
push eax
call fcn.00451320
not edx
not eax
push edx
push eax
push esi
call fcn.00451760
add esp, 0x10
jmp case.default.0x453299
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0xb8]
add eax, edx
cmp byte [eax], 0
je 0x454513
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
mov byte [eax], 1
jmp case.default.0x453299
mov eax, dword [esi + 4]
lea ecx, [eax + eax*4]
mov al, byte [edi + ecx*8 + 0x1c]
test al, 1
lea edi, [edi + ecx*8]
je 0x454538
mov eax, dword [esi + 0xc]
mov dword [esp + 0x20], eax
jmp 0x45684a
push edi
call fcn.004512a0
fcomp qword [0x4f21c8]
add esp, 4
fnstsw ax
test ah, 0x40
jne 0x454555
mov eax, 1
jmp 0x454557
xor eax, eax
mov dword [esp + 0x20], eax
mov cl, byte [esi]
cmp cl, 0x1c
jne 0x45684a
xor edx, edx
test eax, eax
sete dl
mov eax, edx
mov dword [esp + 0x20], eax
jmp 0x45684a
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
jmp 0x45684c
mov eax, dword [esi + 4]
lea ecx, [eax + eax*4]
test byte [edi + ecx*8 + 0x1c], 1
jne case.default.0x453299
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
mov edx, dword [esi + 4]
xor ebp, ebp
mov dword [esp + 0x30], edx
mov eax, dword [esi + 8]
mov dword [esp + 0x34], eax
mov ebx, dword [esp + 0x134]
mov ecx, 0xa
xor eax, eax
lea edi, [esp + 0x60]
mov dword [esp + 0x38], ebp
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0xc]
mov edi, dword [esp + 0xec]
mov dword [esp + 0x3c], ebp
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x40]
lea edx, [edi + ecx*8]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x5c], edx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x38], eax
mov ecx, dword [eax]
cmp ecx, ebp
mov dword [esp + 0x40], ecx
je 0x4546a4
push eax
call fcn.0045ee60
add esp, 4
cmp eax, ebp
mov dword [esp + 0x10], eax
jne 0x458202
mov eax, dword [esp + 0x38]
mov cl, byte [eax + 0x1c]
test cl, cl
je 0x454628
mov dword [esp + 0x20], ebp
jmp 0x454678
mov ecx, dword [esp + 0x134]
mov edx, dword [eax + 0x50]
cmp edx, dword [ecx + 0x50]
jne 0x454647
mov edx, dword [eax + 0x54]
mov dword [esp + 0x20], edx
mov ecx, dword [eax + 0x60]
mov dword [esp + 0x3c], ecx
jmp 0x45466c
mov cl, byte [eax + 0x1f]
test cl, cl
je 0x454690
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x28]
push edx
push eax
call fcn.0044dca0
mov ecx, dword [esp + 0x30]
add esp, 8
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x45473e
mov edx, dword [esp + 0x5c]
mov ax, word [edx + 0x1c]
and eax, 0xbe01
or al, 1
mov word [edx + 0x1c], ax
jmp case.default.0x453299
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x20]
push edx
push eax
call fcn.00459e30
add esp, 8
jmp 0x454668
mov ecx, dword [eax + 0x10]
cmp ecx, ebp
jle 0x454726
lea ecx, [ecx + ecx*4]
lea ecx, [edi + ecx*8]
mov dword [esp + 0xa4], ecx
cmp byte [eax + 0x22], 0
je 0x4546fb
mov eax, dword [esp + 0x34]
push 0x1000
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
push ecx
push edx
call fcn.0045eaf0
mov eax, dword [esp + 0x68]
add esp, 0xc
test byte [eax + 0x1d], 0x10
je case.default.0x453299
push eax
call fcn.0044e600
add esp, 4
test eax, eax
jne 0x458103
jmp case.default.0x453299
mov edx, dword [ecx + 0x18]
mov dword [esp + 0x20], edx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x3c], ecx
mov cl, byte [esi + 3]
test cl, 0x20
je 0x45471b
xor ecx, ecx
mov dword [eax + 0x50], ecx
jmp 0x454668
mov ecx, dword [ebx + 0x50]
mov dword [eax + 0x50], ecx
jmp 0x454668
mov dword [esp + 0x20], ebp
mov ax, word [edx + 0x1c]
and eax, 0xbe01
or al, 1
mov word [edx + 0x1c], ax
jmp case.default.0x453299
mov edx, dword [esp + 0x1c]
cmp ecx, dword [edx + 0x50]
ja 0x458276
mov edx, dword [eax + 0x14]
mov edi, dword [esp + 0x134]
mov dword [esp + 0x4c], edx
mov ecx, dword [eax + 0x58]
mov ebp, dword [edi + 0x50]
mov dword [esp + 0x44], ecx
mov ebx, dword [eax + 0x50]
cmp ebx, ebp
jne 0x454776
mov eax, dword [eax + 0x5c]
mov dword [esp + 0x48], eax
jmp 0x454a29
xor ebx, ebx
lea ecx, [ecx + edx*4]
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x48], ecx
mov dword [eax + 0x5c], ecx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
mov dword [ecx + 0x54], edx
mov ecx, dword [esp + 0x38]
mov eax, dword [edi + 0x50]
mov dword [ecx + 0x50], eax
mov edx, dword [esp + 0x3c]
cmp edx, ebx
je 0x4547ac
mov dword [esp + 0x58], edx
jmp 0x45480b
mov edx, dword [esp + 0x38]
mov al, byte [edx + 0x1f]
test al, al
je 0x4547cb
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x9c]
push eax
push ecx
call fcn.00459fa0
jmp 0x4547dd
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x9c]
push edx
push eax
call fcn.0045a030
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xa4]
add esp, 8
cmp ecx, edx
mov dword [esp + 0x58], eax
ja 0x454800
mov edx, dword [esp + 0x38]
mov dword [esp + 0x3c], eax
mov dword [edx + 0x60], eax
jmp 0x454807
mov eax, dword [esp + 0x38]
mov dword [eax + 0x60], ebx
mov edx, dword [esp + 0x58]
mov cl, byte [edx]
cmp cl, 0x80
jae 0x454826
and ecx, 0xff
mov eax, 1
mov dword [esp + 0x90], ecx
jmp 0x454847
lea ecx, [esp + 0x90]
push ecx
push edx
call fcn.0044c8e0
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x60]
add esp, 8
and eax, 0xff
and eax, 0xff
cmp ecx, 0x18003
mov dword [esp + 0x98], eax
jbe 0x454871
push 0x102eb
call fcn.0048d4d0
add esp, 4
mov dword [esp + 0x10], eax
jmp case.default.0x453299
mov edi, dword [esp + 0x4c]
lea eax, [edi + edi*4 + 3]
cmp eax, ecx
mov dword [esp + 0x50], eax
jle 0x454887
mov eax, ecx
mov dword [esp + 0x50], eax
cmp dword [esp + 0x3c], ebx
jne 0x4548e3
cmp dword [esp + 0x9c], eax
jge 0x4548e3
lea edx, [esp + 0x60]
xor ecx, ecx
push edx
mov edx, dword [esp + 0x3c]
mov word [esp + 0x80], bx
mov dword [esp + 0x64], ebx
mov cl, byte [edx + 0x1f]
push ecx
push eax
mov eax, dword [esp + 0x4c]
push ebx
push eax
call fcn.0045ed60
add esp, 0x14
cmp eax, ebx
mov dword [esp + 0x10], eax
jne case.default.0x453299
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x90]
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x58], edx
add eax, edx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x98]
add eax, edx
mov dword [esp + 0x88], eax
xor eax, eax
test edi, edi
mov dword [esp + 0x54], eax
jle 0x4549dc
mov edx, dword [esp + 0x8c]
mov edi, dword [esp + 0x88]
cmp edi, edx
mov edx, dword [esp + 0x48]
jae 0x4549a8
mov dword [edx + eax*4], ecx
mov ecx, dword [esp + 0x88]
mov al, byte [ecx]
cmp al, 0x80
jae 0x454943
and eax, 0xff
inc ecx
mov dword [esp + 0xa0], eax
jmp 0x454962
lea eax, [esp + 0xa0]
push eax
push ecx
call fcn.0044c8e0
mov ecx, dword [esp + 0x90]
and eax, 0xff
add esp, 8
add ecx, eax
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x44]
mov dword [ecx + edx*4], eax
mov ecx, dword [esp + 0xa0]
push ecx
call fcn.0045f050
mov ecx, dword [esp + 0x94]
add esp, 4
add ecx, eax
mov dword [esp + 0x94], eax
cmp ecx, eax
mov dword [esp + 0x90], ecx
jb 0x4549cd
jmp 0x4549b6
mov dword [edx + eax*4], 0
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
inc eax
cmp eax, edx
mov dword [esp + 0x54], eax
jl 0x45490a
jmp 0x4549dc
mov eax, dword [esp + 0x8c]
inc eax
mov dword [esp + 0x88], eax
lea ecx, [esp + 0x60]
push ecx
call fcn.0044e6d0
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
add esp, 4
cmp eax, ecx
mov word [esp + 0x7c], 1
ja 0x454baf
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x20]
cmp edx, edi
ja 0x454baf
cmp eax, ecx
jne 0x454a25
cmp edx, edi
jne 0x454baf
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x48]
cmp dword [edx + eax*4], 0
je 0x454b30
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x454a7c
mov edx, dword [esp + 0x5c]
test word [edx + 0x1c], 0x2460
je 0x454a64
push edx
call fcn.0044e710
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x60]
add esp, 4
mov ecx, dword [ecx + eax*4]
push edx
mov edx, dword [esp + 0x4c]
push ecx
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x44]
add eax, edx
push eax
jmp 0x454b18
mov eax, dword [ecx + eax*4]
mov dword [esp + 0xa0], eax
mov cl, byte [esi + 3]
test cl, 0xc0
je 0x454ab0
cmp eax, 0xc
jb 0x454a9a
mov dl, al
test dl, 1
je 0x454a9f
test cl, 0x80
je 0x454ab0
cmp eax, 0xc
lea edx, [esp + 0x28]
sbb ecx, ecx
and ecx, edx
mov dword [esp + 0x58], ecx
jmp 0x454b11
push eax
call fcn.0045f050
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0x64]
push eax
push ecx
call fcn.00452f70
mov ecx, dword [esp + 0x44]
xor eax, eax
lea edx, [esp + 0x6c]
mov al, byte [ecx + 0x1f]
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x5c]
push edx
mov edx, dword [eax + ecx*4]
mov eax, dword [esp + 0x58]
push edx
push eax
call fcn.0045ed60
add esp, 0x20
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x453299
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x5c]
push edx
push eax
push ecx
call fcn.0045f140
mov eax, dword [esp + 0x68]
mov cl, byte [esp + 0xf4]
add esp, 0xc
mov byte [eax + 0x1f], cl
jmp 0x454b63
cmp byte [esi + 1], 0xf8
jne 0x454b4e
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x5c]
push 0x800
push edx
push eax
call fcn.0045eaf0
add esp, 0xc
jmp 0x454b63
mov eax, dword [esp + 0x5c]
mov cx, word [eax + 0x1c]
and ecx, 0xbe01
or ecx, 1
mov word [eax + 0x1c], cx
mov eax, dword [esp + 0x84]
test eax, eax
je 0x454b99
mov eax, dword [esp + 0x5c]
and word [eax + 0x1c], 0xe7ff
mov eax, dword [esp + 0x5c]
or byte [eax + 0x1d], 2
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x64]
mov dword [edx + 4], eax
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x84]
mov dword [edx + 0x24], ecx
mov eax, dword [esp + 0x5c]
push eax
call fcn.0044e600
add esp, 4
mov dword [esp + 0x10], eax
jmp case.default.0x453299
push 0x1033b
call fcn.0048d4d0
add esp, 4
mov dword [esp + 0x10], eax
jmp case.default.0x453299
mov eax, dword [esi + 0x10]
mov dword [esp + 0x20], eax
mov esi, dword [esi + 4]
inc eax
lea ecx, [esi + esi*4]
lea esi, [edi + ecx*8]
mov cl, byte [eax - 1]
test cl, cl
mov byte [esp + 0x24], cl
mov dword [esp + 0x20], eax
je case.default.0x453299
mov edi, dword [esp + 0xe8]
mov ebx, 0x4000
test word [esi + 0x1c], bx
je 0x454c04
push esi
call fcn.0044e660
add esp, 4
mov edx, dword [esp + 0x24]
push edi
push edx
push esi
call fcn.0045fe10
mov eax, dword [esp + 0x2c]
add esp, 0xc
add esi, 0x28
mov cl, byte [eax]
inc eax
test cl, cl
mov byte [esp + 0x24], cl
mov dword [esp + 0x20], eax
jne 0x454bf5
jmp case.default.0x453299
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x40], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x54], eax
mov ebx, dword [esi + 0x10]
lea eax, [eax + eax*4]
mov dword [esp + 0x58], ebx
lea eax, [edi + eax*8]
mov dword [esp + 0x4c], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x54], ecx
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8 - 0x28]
xor ecx, ecx
mov cl, byte [ebp + 0x5d]
mov dword [esp + 0x50], edx
mov dword [esp + 0x5c], ecx
mov esi, dword [esi + 0xc]
cmp eax, edx
lea ecx, [esi + esi*4]
lea ecx, [edi + ecx*8]
mov dword [esp + 0x14], ecx
mov ecx, eax
mov dword [esp + 0x24], ecx
ja 0x454d6c
jmp 0x454c98
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x4c]
test ebx, ebx
je 0x454cca
mov edx, dword [esp + 0xe8]
push edx
mov edx, ecx
sub edx, eax
mov eax, 0x66666667
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dl, byte [edx + ebx]
push edx
push ecx
call fcn.0045fe10
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov esi, 0x4000
test word [ecx + 0x1c], si
je 0x454ce9
mov eax, dword [ecx + 0x18]
test eax, eax
jle 0x454ce9
push ecx
call fcn.0044e660
mov ecx, dword [esp + 0x28]
add esp, 4
mov eax, dword [esp + 0x5c]
push eax
push ecx
call fcn.0045ef50
push eax
mov dword [esp + 0x54], eax
call fcn.0045f050
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x70], eax
push 0
cdq
add ecx, eax
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x58]
adc ebp, edx
push ecx
mov dword [esp + 0x40], ebp
call fcn.004586a0
mov ecx, dword [esp + 0x44]
add esp, 0x14
add ecx, eax
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x24]
test word [ecx + 0x1c], si
je 0x454d49
mov edx, dword [ecx + 0x10]
mov eax, dword [esp + 0x40]
add eax, edx
mov dword [esp + 0x40], eax
jmp 0x454d59
mov eax, dword [esp + 0x64]
test eax, eax
je 0x454d59
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x50]
add ecx, 0x28
cmp ecx, eax
mov dword [esp + 0x24], ecx
jbe 0x454c90
mov eax, dword [esp + 0x30]
cdq
push edx
push eax
call fcn.004586a0
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x4c], eax
add ecx, eax
mov eax, ecx
mov dword [esp + 0x38], ecx
cdq
push edx
push eax
call fcn.004586a0
mov ecx, dword [esp + 0x54]
add esp, 0x10
cmp ecx, eax
jge 0x454d9f
inc dword [esp + 0x30]
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x28]
cdq
mov edi, eax
mov eax, dword [esp + 0x30]
mov ebx, edx
cdq
mov esi, eax
mov eax, dword [esp + 0x1c]
mov ecx, edx
sub esi, edi
sbb ecx, ebx
mov ebx, dword [esp + 0x2c]
add esi, ebp
adc ecx, ebx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], ecx
mov eax, dword [eax + 0x50]
cdq
cmp ecx, edx
jg 0x458276
jl 0x454de3
cmp esi, eax
ja 0x458276
push 0
push esi
mov esi, dword [esp + 0x1c]
push esi
call fcn.0044e4e0
add esp, 0xc
test eax, eax
jne 0x458103
mov ecx, dword [esp + 0x30]
mov eax, dword [esi + 4]
cmp ecx, 0x80
mov dword [esp + 0x20], eax
jae 0x454e17
mov byte [eax], cl
mov eax, 1
jmp 0x454e21
push ecx
push eax
call fcn.004585c0
add esp, 8
mov ecx, dword [esp + 0x50]
and eax, 0xff
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x4c]
cmp eax, ecx
mov dword [esp + 0x24], eax
ja 0x454e9f
mov edx, dword [esp + 0x5c]
push edx
push eax
call fcn.0045ef50
add esp, 8
cmp eax, 0x80
mov dword [esp + 0x48], eax
jae 0x454e65
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x20]
mov byte [ecx + edx], al
mov eax, 1
jmp 0x454e79
mov ecx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x24]
add ecx, eax
push ecx
call fcn.004585c0
add esp, 8
mov ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0x50]
and eax, 0xff
add ebx, eax
mov eax, dword [esp + 0x24]
add eax, 0x28
mov dword [esp + 0x60], ebx
cmp eax, ecx
mov dword [esp + 0x24], eax
jbe 0x454e3a
mov eax, dword [esp + 0x4c]
cmp eax, ecx
mov dword [esp + 0x24], eax
ja 0x454ee4
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x68]
sub ecx, eax
add eax, edx
push ecx
push eax
call fcn.0045f070
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 0x60]
add edi, eax
mov eax, dword [esp + 0x34]
add eax, 0x28
add esp, 0x10
cmp eax, ecx
mov dword [esp + 0x60], edi
mov dword [esp + 0x24], eax
jbe 0x454ea7
mov eax, dword [esp + 0x38]
mov word [esi + 0x1c], 0x410
mov dword [esi + 0x18], eax
mov dword [esi + 0x20], 0
mov eax, dword [esp + 0x40]
test eax, eax
je 0x454f09
mov dword [esi + 0x10], eax
mov word [esi + 0x1c], 0x4410
mov byte [esi + 0x1f], 1
jmp case.default.0x453299
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x40]
mov eax, dword [edx + ecx*4]
xor ecx, ecx
mov eax, dword [eax]
cmp eax, ecx
mov dword [esp + 0x28], eax
je 0x454f3b
lea ecx, [esp + 0x20]
push ecx
push eax
call fcn.0045d950
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x454f43
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x14], ecx
jmp case.default.0x453299
mov eax, dword [esi + 4]
mov dword [esp + 0x20], eax
mov esi, dword [esi + 0x10]
test eax, eax
mov dword [esp + 0x24], esi
jne 0x455044
mov eax, dword [ebx + 0x88]
test eax, eax
jle 0x454f84
push str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x45530e
push esi
call fcn.00441770
mov dword [esp + 0x2c], eax
mov edx, dword [ebx + 0x1e4]
add edx, dword [ebx + 0x1e0]
push edx
push 0
push ebx
call fcn.00468840
add esp, 0x10
mov dword [esp + 0x10], eax
test eax, eax
jne 0x458202
mov eax, dword [esp + 0x28]
add eax, 0x19
push eax
push ebx
call fcn.004402d0
add esp, 8
mov dword [esp + 0x2c], eax
test eax, eax
je case.default.0x453299
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x24]
lea ecx, [edx + 1]
mov edi, dword [eax]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x1c]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov cl, byte [eax + 0x36]
test cl, cl
je 0x455008
mov byte [eax + 0x36], 0
mov byte [eax + 0x3d], 1
jmp 0x45500e
inc dword [eax + 0x1e0]
mov edx, dword [esp + 0x2c]
mov ecx, dword [eax + 0x1d8]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [eax + 0x1e8]
mov dword [eax + 0x1d8], ecx
mov ecx, dword [esp + 0x2c]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0x1ec]
mov eax, dword [esp + 0x2c]
mov dword [eax + 0xc], edx
jmp case.default.0x453299
mov dword [esp + 0x38], 0
mov ebx, dword [ebx + 0x1d8]
test ebx, ebx
mov dword [esp + 0x30], ebx
je 0x455090
mov ecx, dword [esp + 0x24]
mov edx, dword [ebx]
push ecx
push edx
call fcn.00441790
add esp, 8
test eax, eax
je 0x455088
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x38], ecx
mov ebx, dword [eax + 0x10]
test ebx, ebx
mov dword [esp + 0x30], ebx
jne 0x45505a
jmp 0x455090
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x4550bf
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x134]
mov edx, dword [esp + 0x1c]
push ecx
push str.no_such_savepoint:__s
add eax, 0x34
push edx
push eax
call fcn.004509b0
add esp, 0x10
mov dword [esp + 0x10], 1
jmp case.default.0x453299
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x88]
test eax, eax
mov eax, dword [esp + 0x20]
jle 0x4550ec
cmp eax, 1
jne 0x4550ec
mov ecx, dword [esp + 0x134]
push str.cannot_release_savepoint___SQL_statements_in_progress
add ecx, 0x34
push esi
push ecx
jmp 0x455313
mov edx, dword [ecx + 0x10]
test edx, edx
jne 0x45514e
mov cl, byte [esi + 0x3d]
test cl, cl
je 0x45514e
mov ebx, 1
cmp eax, ebx
jne 0x455150
mov edx, dword [esp + 0x134]
push ebx
push edx
call fcn.00450950
mov esi, eax
add esp, 8
test esi, esi
jne 0x458305
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x134]
push edi
mov byte [esi + 0x36], bl
call fcn.0044ee00
add esp, 4
cmp eax, 5
je 0x458142
mov byte [esi + 0x3d], 0
mov eax, dword [edi + 0x58]
mov dword [esp + 0x10], eax
jmp 0x45521c
xor ebx, ebx
mov ecx, dword [esi + 0x1e0]
mov ebp, dword [esp + 0x38]
sub ecx, ebp
dec ecx
cmp eax, 2
mov dword [esp + 0x38], ecx
jne 0x45519c
xor eax, eax
mov dword [esp + 0x3c], eax
mov edx, dword [esi + 0x14]
test edx, edx
jle 0x45519c
mov ecx, dword [esi + 0x10]
push 4
shl eax, 4
mov edx, dword [eax + ecx + 4]
push edx
call fcn.0044dc00
mov eax, dword [esp + 0x44]
add esp, 8
inc eax
mov dword [esp + 0x3c], eax
mov ecx, dword [esi + 0x14]
cmp eax, ecx
jl 0x455173
mov ecx, dword [esp + 0x38]
xor eax, eax
mov dword [esp + 0x3c], eax
mov edx, dword [esi + 0x14]
test edx, edx
jle 0x4551ec
mov edx, dword [esp + 0x1c]
jmp 0x4551b3
mov ecx, dword [esp + 0x38]
mov edx, dword [edx + 0x10]
push ecx
mov ecx, dword [esp + 0x24]
shl eax, 4
push ecx
mov eax, dword [eax + edx + 4]
push eax
call fcn.004508d0
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x458202
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x3c], eax
mov ecx, dword [edx + 0x14]
cmp eax, ecx
jl 0x4551af
mov eax, dword [esp + 0x20]
mov edi, 2
cmp eax, edi
jne 0x45521c
mov esi, dword [esp + 0x1c]
test byte [esi + 0x18], 2
je 0x455220
push esi
call fcn.0045f910
push esi
call fcn.004634b0
mov eax, dword [esi + 0x18]
add esp, 8
or eax, edi
mov dword [esi + 0x18], eax
jmp 0x455220
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x1d8]
mov ecx, dword [esp + 0x30]
cmp eax, ecx
je 0x455264
mov dword [esp + 0x34], eax
mov ecx, dword [eax + 0x10]
mov dword [esi + 0x1d8], ecx
mov edx, dword [esp + 0x34]
push edx
push esi
call fcn.00440050
mov edi, dword [esi + 0x1e0]
mov eax, dword [esi + 0x1d8]
add esp, 8
dec edi
mov dword [esi + 0x1e0], edi
mov ecx, dword [esp + 0x30]
cmp eax, ecx
jne 0x45522e
cmp dword [esp + 0x20], 1
jne 0x455296
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x1d8], eax
mov ecx, dword [esp + 0x30]
push ecx
push esi
call fcn.00440050
add esp, 8
test ebx, ebx
jne case.default.0x453299
mov eax, dword [esp + 0x1c]
dec dword [eax + 0x1e0]
jmp 0x4552b6
add ecx, 8
test ebx, ebx
mov edx, dword [ecx]
mov dword [esi + 0x1e8], edx
mov eax, dword [ecx + 4]
mov dword [esi + 0x1ec], eax
jne case.default.0x453299
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
push ecx
push edx
push eax
call fcn.00468840
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x458202
jmp case.default.0x453299
mov eax, dword [esi + 4]
mov dword [esp + 0x20], eax
mov esi, dword [esi + 8]
test eax, eax
mov dword [esp + 0x24], esi
je 0x455328
mov cl, byte [ebx + 0x36]
test cl, cl
jne 0x455328
test esi, esi
mov dword [esp + 0x28], 1
jne 0x455330
mov ecx, dword [ebx + 0x88]
test ecx, ecx
jle 0x455330
push str.cannot_commit_transaction___SQL_statements_in_progress
add ebp, 0x34
push ebx
push ebp
call fcn.004509b0
add esp, 0xc
mov dword [esp + 0x10], 5
jmp case.default.0x453299
mov dword [esp + 0x28], 0
xor ecx, ecx
mov cl, byte [ebx + 0x36]
cmp eax, ecx
jne 0x45815a
test eax, eax
jne 0x455348
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x455356
test esi, esi
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x455356
mov eax, str.cannot_commit___no_transaction_is_active
push eax
add ebp, 0x34
push ebx
push ebp
call fcn.004509b0
add esp, 0xc
mov dword [esp + 0x10], 1
jmp case.default.0x453299
mov edx, dword [esi + 4]
mov eax, dword [ebx + 0x10]
shl edx, 4
mov eax, dword [edx + eax + 4]
test eax, eax
mov dword [esp + 0x20], eax
je case.default.0x453299
mov ecx, dword [esi + 8]
push ecx
push eax
call fcn.0044a950
add esp, 8
cmp eax, 5
mov dword [esp + 0x10], eax
je 0x4581d3
test eax, eax
jne 0x458202
mov eax, dword [esi + 8]
test eax, eax
je case.default.0x453299
test byte [ebp + 0x60], 0x80
je case.default.0x453299
mov al, byte [ebx + 0x36]
test al, al
je 0x4553d5
cmp dword [ebx + 0x84], 1
jle case.default.0x453299
mov eax, dword [ebp + 0x70]
test eax, eax
jne 0x4553f6
mov edx, dword [ebx + 0x1e4]
inc edx
mov dword [ebx + 0x1e4], edx
mov eax, edx
mov edx, dword [ebx + 0x1e0]
add edx, eax
mov dword [ebp + 0x70], edx
mov eax, dword [ebp + 0x70]
dec eax
push eax
push 0
push ebx
call fcn.00468840
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x455423
mov ecx, dword [ebp + 0x70]
mov edx, dword [esp + 0x20]
push ecx
push edx
call fcn.00459cf0
add esp, 8
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x1e8]
mov dword [ebp + 0x90], eax
mov ecx, dword [ebx + 0x1ec]
mov dword [ebp + 0x94], ecx
jmp case.default.0x453299
mov eax, dword [esi + 4]
lea edx, [esp + 0x20]
mov dword [esp + 0x24], eax
mov esi, dword [esi + 0xc]
mov dword [esp + 0x28], esi
mov ecx, dword [ebx + 0x10]
shl eax, 4
push edx
push esi
mov edx, dword [eax + ecx + 4]
push edx
call fcn.0044d590
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
cdq
mov dword [ecx + 0x10], eax
add esp, 0xc
mov dword [ecx + 0x14], edx
jmp case.default.0x453299
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x10]
shl eax, 4
add eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0xc]
lea ecx, [eax + eax*4]
lea edi, [edi + ecx*8]
push edi
call fcn.0045e960
mov edx, dword [edi + 0x10]
mov ecx, dword [esp + 0x24]
mov eax, dword [esi + 8]
push edx
mov edx, dword [ecx + 4]
push eax
push edx
call fcn.0044d5d0
mov dword [esp + 0x20], eax
mov eax, dword [esi + 8]
add esp, 0x10
cmp eax, 1
jne 0x4554d3
mov eax, dword [esp + 0x20]
mov edx, dword [edi + 0x10]
mov ecx, dword [eax + 0xc]
mov dword [ecx], edx
mov eax, dword [ebx + 0x18]
or al, 2
mov dword [ebx + 0x18], eax
jmp 0x4554e5
cmp eax, 2
jne 0x4554e5
mov eax, dword [esp + 0x20]
mov dl, byte [edi + 0x10]
mov ecx, dword [eax + 0xc]
mov byte [ecx + 0x4c], dl
cmp dword [esi + 4], 1
jne case.default.0x453299
push ebx
call fcn.0045f910
mov eax, dword [ebp + 0x60]
add esp, 4
and al, 0xdf
mov dword [ebp + 0x60], eax
jmp case.default.0x453299
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x10]
shl eax, 4
mov eax, dword [eax + ecx + 4]
test eax, eax
mov dword [esp + 0x28], eax
je 0x45553c
lea edx, [esp + 0x20]
push edx
push 1
push eax
call fcn.0044d590
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x10]
add esp, 0xc
shl eax, 4
mov edx, dword [eax + ecx + 0xc]
mov eax, dword [edx + 4]
jmp 0x455546
mov dword [esp + 0x20], 0
xor eax, eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
cmp ecx, dword [esi + 8]
jne 0x45555c
cmp eax, dword [esi + 0xc]
je case.default.0x453299
mov edx, dword [ebp + 0x34]
push edx
push ebx
call fcn.00440050
push str.database_schema_has_changed
push ebx
call fcn.00451ae0
mov dword [ebp + 0x34], eax
mov esi, dword [esi + 4]
mov ecx, dword [ebx + 0x10]
mov eax, esi
shl eax, 4
add esp, 0x10
mov edx, dword [eax + ecx + 0xc]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx]
cmp eax, ecx
je 0x45559a
push esi
push ebx
call fcn.00463470
add esp, 8
mov eax, dword [ebp + 0x60]
mov dword [esp + 0x10], 0x11
or al, 0x20
mov dword [ebp + 0x60], eax
jmp case.default.0x453299
test byte [ebp + 0x60], 0x20
je 0x4555c2
mov dword [esp + 0x10], 4
jmp case.default.0x453299
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov edx, dword [esi + 8]
mov dword [esp + 0x28], edx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x2c], eax
shl eax, 4
add eax, dword [ebx + 0x10]
mov dword [esp + 0x3c], eax
mov ebx, dword [eax + 4]
mov dword [esp + 0x34], ebx
mov bl, byte [esi]
cmp bl, 0x28
jne 0x45560c
mov bl, byte [ebp + 0x5d]
mov dword [esp + 0x30], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, bl
jae 0x455614
mov byte [ebp + 0x5d], al
jmp 0x455614
mov dword [esp + 0x30], 0
test byte [esi + 3], 2
je 0x45563d
lea ecx, [edx + edx*4]
lea edi, [edi + ecx*8]
push edi
call fcn.0045e960
mov edi, dword [edi + 0x10]
add esp, 4
cmp edi, 2
mov dword [esp + 0x28], edi
jl 0x4581e7
mov ecx, dword [esp + 0x20]
mov al, byte [esi + 1]
cmp al, 0xfa
jne 0x455667
mov eax, dword [esi + 0x10]
mov edx, dword [ebp]
mov dword [esp + 0x24], eax
mov ecx, dword [edx + 0x10]
mov edx, dword [ecx + 0xc]
mov cl, byte [edx + 0x4d]
mov byte [eax + 4], cl
mov edx, dword [esp + 0x24]
xor ecx, ecx
mov cx, word [edx + 6]
inc ecx
jmp 0x45566e
cmp al, 0xf2
jne 0x455672
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x2c]
push 1
push eax
push ecx
mov ecx, dword [esi + 4]
push ecx
push ebp
call fcn.0045fd10
add esp, 0x14
mov dword [esp + 0x38], eax
test eax, eax
je 0x458103
mov byte [eax + 0x1c], 1
mov edx, dword [esp + 0x38]
mov byte [edx + 0x20], 1
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x3c]
push eax
push ecx
push edx
call fcn.00459d20
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x4c]
mov dword [eax + 8], ecx
mov dl, byte [esi + 3]
mov eax, dword [esp + 0x4c]
and edx, 1
push edx
mov ecx, dword [eax]
push ecx
call fcn.0045e8f0
mov dl, byte [esi + 1]
mov eax, dword [esp + 0x54]
add esp, 0x1c
cmp dl, 0xfa
setne dl
mov byte [eax + 0x1e], dl
mov eax, dword [esp + 0x38]
mov cl, byte [eax + 0x1e]
test cl, cl
sete cl
mov byte [eax + 0x1f], cl
jmp case.default.0x453299
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push 1
push 0xffffffffffffffff
push edx
push eax
push ebp
call fcn.0045fd10
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
je 0x458103
xor edx, edx
mov byte [eax + 0x1c], 1
mov dl, byte [esi + 3]
mov ecx, dword [0x4ef3e0]
mov eax, dword [esp + 0x20]
or edx, 5
push ecx
add eax, 4
push edx
push eax
mov eax, dword [esp + 0x28]
push eax
push 0
mov ecx, dword [eax]
push ecx
call fcn.00458f20
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x455825
mov edx, dword [esp + 0x20]
push 1
mov eax, dword [edx + 4]
push eax
call fcn.0044a950
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x455825
mov eax, dword [esi + 0x10]
test eax, eax
je 0x455800
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov cl, byte [esi + 3]
lea edx, [esp + 0x11c]
or ecx, 2
push ecx
mov ecx, dword [eax + 4]
push edx
push ecx
call fcn.0045d2c0
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4557f6
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0x10]
mov edx, dword [eax]
mov eax, dword [eax + 4]
push edx
mov edx, dword [esp + 0x120]
push ecx
push 1
push edx
push eax
call fcn.00459d20
mov edx, dword [esp + 0x34]
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x24], eax
add esp, 0x14
mov dword [edx + 8], ecx
mov eax, dword [ebp]
mov ecx, dword [eax + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx + 0xc]
mov ecx, dword [eax + 8]
mov dl, byte [edx + 0x4d]
mov byte [ecx + 4], dl
mov eax, dword [esp + 0x20]
mov byte [eax + 0x1e], 0
jmp 0x455825
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push ecx
push 0
push 1
push 1
push edx
call fcn.00459d20
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
add esp, 0x14
mov byte [eax + 0x1e], 1
mov dl, byte [esi + 3]
cmp dl, 8
mov edx, dword [esp + 0x20]
setne cl
mov byte [edx + 0x20], cl
mov eax, dword [esp + 0x20]
mov cl, byte [eax + 0x1e]
test cl, cl
sete cl
mov byte [eax + 0x1f], cl
jmp case.default.0x453299
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push 1
push 0xffffffffffffffff
push edx
push eax
push ebp
call fcn.0045fd10
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
je 0x458103
mov ecx, dword [esi + 0x10]
mov dword [eax + 8], ecx
mov edx, dword [ebp]
mov eax, dword [edx + 0x10]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 0xc]
mov eax, dword [edx + 8]
mov cl, byte [ecx + 0x4d]
mov byte [eax + 4], cl
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov byte [edx + 0x21], 1
mov eax, dword [esp + 0x20]
push eax
push ecx
call fcn.00460fc0
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x453299
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 4]
push 0
push 0xffffffffffffffff
push edx
push eax
push ebp
call fcn.0045fd10
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
je 0x458103
mov byte [eax + 0x1c], 1
mov edx, dword [esp + 0x20]
mov ecx, dword [esi + 8]
mov dword [edx + 0x10], ecx
mov eax, dword [esp + 0x20]
mov byte [eax + 0x1e], 1
mov ecx, dword [esp + 0x20]
mov byte [ecx + 0x1f], 0
mov eax, dword [esp + 0x20]
mov dl, byte [esi + 3]
mov byte [eax + 0x22], dl
jmp case.default.0x453299
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x40]
mov eax, dword [edx + ecx*4]
push eax
push ebp
call fcn.0044f2a0
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x40]
add esp, 8
mov dword [edx + ecx*4], 0
jmp case.default.0x453299
mov eax, dword [esi + 4]
mov ecx, dword [ebp + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x28], eax
cmp dword [eax], 0
je 0x45739a
xor edx, edx
mov dl, byte [esi]
mov dword [esp + 0x24], edx
mov byte [eax + 0x1c], 0
mov ecx, dword [esp + 0x28]
mov al, byte [ecx + 0x1e]
test al, al
je 0x455b0d
mov eax, dword [esi + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
push edi
call fcn.00453090
push edi
call fcn.00451320
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
add esp, 8
mov byte [ecx + 0x19], 0
mov ax, word [edi + 0x1c]
test al, 4
jne 0x455ab5
test al, 8
je 0x456852
mov eax, dword [esp + 0x50]
xor ebx, ebx
cmp eax, ebx
jne 0x455a5b
mov ecx, dword [esp + 0x54]
mov eax, SysReAllocString
cmp ecx, eax
jne 0x455a5b
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], eax
fild qword [esp + 0x128]
fcomp qword [edi + 8]
fnstsw ax
test ah, 0x41
je 0x4559db
fld qword [edi + 8]
fcomp qword [0x4f21c8]
fnstsw ax
test ah, 0x41
jne 0x455a5b
mov dword [esp + 0x20], 1
fld qword [edi + 8]
fcomp qword [0x4f21c8]
fnstsw ax
test ah, 1
mov eax, dword [esp + 0x24]
je 0x455a29
cmp eax, 0x30
jl 0x456852
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x20]
push edx
mov ecx, dword [eax]
push ecx
call fcn.0045a050
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x458202
cmp dword [esp + 0x20], ebx
jmp 0x45684c
cmp eax, 0x2f
jg 0x456852
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x20]
push edx
mov ecx, dword [eax]
push ecx
call fcn.0045a320
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x458202
cmp dword [esp + 0x20], ebx
jmp 0x45684c
mov eax, dword [esp + 0x24]
cmp eax, 0x2e
je 0x455a90
cmp eax, 0x30
je 0x455a90
fild qword [esp + 0x50]
fcomp qword [edi + 8]
fnstsw ax
test ah, 0x41
jne 0x455ab7
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
or eax, 0xffffffff
add edx, eax
adc ecx, eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ecx
jmp 0x455ab7
fild qword [esp + 0x50]
fcomp qword [edi + 8]
fnstsw ax
test ah, 1
je 0x455ab7
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
add ecx, 1
adc eax, ebx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
jmp 0x455ab7
xor ebx, ebx
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
lea edx, [esp + 0x20]
push edx
mov edx, dword [esp + 0x2c]
push ebx
push eax
mov eax, dword [edx]
push ecx
push ebx
push eax
call fcn.0045a3f0
add esp, 0x18
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x458202
cmp dword [esp + 0x20], ebx
jne 0x455b7b
mov ecx, dword [esp + 0x28]
mov byte [ecx + 0x19], 1
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x50]
mov dword [eax + 0x40], edx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x54]
mov dword [edx + 0x44], ecx
jmp 0x455b7b
mov eax, dword [esi + 0x10]
mov dword [esp + 0x48], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x30], edx
mov dl, byte [esp + 0x24]
and dl, 1
mov word [esp + 0x34], ax
mov byte [esp + 0x36], dl
mov eax, dword [esi + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov dword [esp + 0x40], edi
test byte [edi + 0x1d], 0x40
je 0x455b4b
push edi
call fcn.0044e660
mov ecx, dword [esp + 0x2c]
add esp, 4
mov ecx, dword [ecx]
lea edx, [esp + 0x20]
push edx
push 0
push 0
lea eax, [esp + 0x3c]
push 0
push eax
push ecx
call fcn.0045a3f0
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x458202
mov edx, dword [esp + 0x28]
xor ebx, ebx
mov byte [edx + 0x19], al
mov eax, dword [esp + 0x28]
mov byte [eax + 0x1d], 0
mov ecx, dword [esp + 0x28]
mov dword [ecx + 0x50], ebx
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
cmp ecx, 0x30
jl 0x455bcd
cmp eax, ebx
jl 0x455bab
jne 0x455ba2
cmp ecx, 0x31
je 0x455bab
mov dword [esp + 0x20], ebx
jmp case.default.0x453299
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x20]
push edx
mov ecx, dword [eax]
push ecx
call fcn.0045a790
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x458202
jmp 0x455c0d
cmp eax, ebx
jg 0x455bed
jne 0x455bd8
cmp ecx, 0x2e
je 0x455bed
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push ecx
call fcn.0045a780
add esp, 4
mov dword [esp + 0x20], eax
jmp 0x455c15
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x20]
push edx
mov ecx, dword [eax]
push ecx
call fcn.0045a8f0
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x458202
mov edx, dword [esp + 0x28]
mov byte [edx + 0x19], 0
cmp dword [esp + 0x20], ebx
je case.default.0x453299
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
mov eax, dword [esi + 4]
mov ecx, dword [ebp + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x20], eax
cmp dword [eax], 0
je case.default.0x453299
mov byte [eax + 0x1c], 0
mov esi, dword [esi + 8]
lea edx, [esi + esi*4]
lea eax, [edi + edx*8]
push eax
call fcn.00451320
mov ecx, dword [esp + 0x24]
add esp, 4
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x20]
mov dword [eax + 0x3c], edx
mov ecx, dword [esp + 0x20]
mov byte [ecx + 0x19], 0
mov edx, dword [esp + 0x20]
mov byte [edx + 0x1d], 1
jmp case.default.0x453299
mov ecx, dword [ebp + 0x40]
xor edx, edx
mov dword [esp + 0x20], edx
mov eax, dword [esi + 4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x24], eax
mov ecx, dword [esi + 0xc]
lea ecx, [ecx + ecx*4]
lea edi, [edi + ecx*8]
mov ecx, dword [eax]
test ecx, ecx
je 0x455d80
mov ecx, dword [esi + 0x10]
test ecx, ecx
jle 0x455ccb
mov edx, dword [eax + 8]
mov dword [esp + 0x38], edx
mov cx, word [esi + 0x10]
lea edx, [esp + 0x38]
mov word [esp + 0x3c], cx
mov dword [esp + 0x48], edi
mov byte [esp + 0x3e], 2
mov dword [esp + 0x30], edx
jmp 0x455d20
mov eax, dword [eax + 8]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x54]
push 0x97
push edx
push eax
call fcn.0045f390
add esp, 0x10
mov dword [esp + 0x30], eax
test eax, eax
je 0x458103
mov ecx, dword [edi + 4]
mov edx, dword [edi + 0x18]
push eax
mov eax, dword [esp + 0x28]
push ecx
push edx
mov ecx, dword [eax + 8]
push ecx
call fcn.0045f400
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x2c]
add esp, 0x10
mov cl, byte [eax + 6]
or cl, 2
mov byte [eax + 6], cl
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x28]
push edx
mov edx, dword [eax]
push 0
push 0
push 0
push ecx
push edx
call fcn.0045a3f0
mov edi, eax
mov eax, dword [esi + 0x10]
add esp, 0x18
mov dword [esp + 0x10], edi
test eax, eax
jne 0x455d56
mov eax, dword [esp + 0x2c]
push eax
push ebx
call fcn.00440050
add esp, 8
test edi, edi
jne case.default.0x453299
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
xor ecx, ecx
test eax, eax
sete cl
mov dword [esp + 0x20], ecx
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x24]
mov dword [eax + 0x50], edi
mov edx, dword [esp + 0x20]
cmp byte [esi], 0x34
jne 0x455d9a
test edx, edx
je case.default.0x453299
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
test edx, edx
jne case.default.0x453299
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
mov eax, dword [esi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x10]
lea edx, [eax + eax*4]
lea ebx, [edi + ecx*8]
lea eax, [edi + edx*8]
mov edx, dword [ebp + 0x40]
mov dword [esp + 0x30], eax
mov ecx, dword [esi + 4]
xor edi, edi
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x24], eax
mov dword [eax + 0x4c], edi
mov eax, dword [esp + 0x24]
mov dword [eax + 0x50], edi
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x30]
mov edx, dword [ecx]
mov dword [esp + 0x28], edx
mov eax, dword [ecx + 8]
mov dx, word [eax + 6]
mov word [esp + 0x20], di
cmp dx, di
mov word [esp + 0x2c], dx
jbe 0x455e25
mov eax, dword [esp + 0x20]
and eax, 0xffff
lea eax, [eax + eax*4]
test byte [ebp + eax*8 + 0x1c], 1
jne 0x455eba
inc di
cmp di, dx
mov word [esp + 0x20], di
jb 0x455e02
mov eax, dword [esp + 0x28]
test eax, eax
je case.default.0x453299
mov edx, dword [esp + 0x2c]
mov ecx, dword [ecx + 8]
inc edx
push ebx
mov dword [esp + 0x3c], ecx
mov word [esp + 0x40], dx
mov byte [esp + 0x42], 4
mov dword [esp + 0x4c], ebp
call fcn.0045e960
mov edx, dword [esp + 0x28]
mov eax, dword [ebx + 0x10]
add edx, 0x4c
mov dword [esp + 0x54], eax
mov ecx, dword [ebx + 0x14]
push edx
push 0
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x34]
push 0
lea eax, [esp + 0x48]
push 0
push eax
push ecx
call fcn.0045a3f0
mov dword [esp + 0x2c], eax
mov al, byte [esp + 0x5a]
add esp, 0x1c
test al, 4
jne 0x45739a
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x50]
cmp eax, ecx
jne 0x455eab
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x54]
cmp edx, ecx
je 0x45739a
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x14], eax
jmp case.default.0x453299
mov esi, dword [esi + 8]
mov dword [esp + 0x28], 0
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0x40]
lea edi, [edi + ecx*8]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x20], ecx
mov eax, dword [ecx]
test eax, eax
mov dword [esp + 0x24], eax
je 0x455f6e
xor ebx, ebx
lea ebp, [esp + 0x28]
mov dword [esp + 0x28], ebx
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x30], ecx
mov edx, dword [edi + 0x14]
push ebp
push ebx
push edx
push ecx
push ebx
push eax
mov dword [esp + 0x4c], edx
call fcn.0045a3f0
mov edx, dword [esp + 0x38]
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x28], eax
add esp, 0x18
mov dword [edx + 0x40], ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x44], eax
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
cmp edx, ebx
sete dl
mov byte [eax + 0x19], dl
mov ecx, dword [esp + 0x20]
mov byte [ecx + 0x1c], bl
mov edx, dword [esp + 0x20]
mov dword [edx + 0x50], ebx
mov eax, dword [esp + 0x20]
mov byte [eax + 0x1d], bl
mov eax, dword [esp + 0x28]
cmp eax, ebx
je 0x455f62
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x4c], eax
jmp case.default.0x453299
mov esi, dword [esi + 8]
mov dword [ecx + 0x4c], 0
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0x40]
mov ecx, dword [eax + edx*4]
mov eax, dword [esp + 0x14]
mov edx, dword [ecx + 0x30]
mov dword [eax + 0x10], edx
mov ecx, dword [ecx + 0x34]
mov dword [eax + 0x14], ecx
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0x40]
mov eax, dword [eax + edx*4]
mov edx, dword [eax + 0x30]
add edx, 1
mov dword [eax + 0x30], edx
mov ecx, dword [eax + 0x34]
adc ecx, 0
mov dword [eax + 0x34], ecx
jmp case.default.0x453299
mov eax, dword [ebp + 0x40]
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], ecx
mov edx, dword [esi + 4]
mov edx, dword [eax + edx*4]
mov dword [esp + 0x28], edx
mov eax, dword [edx]
cmp eax, ecx
je 0x45626b
mov cl, byte [edx + 0x1b]
test cl, cl
jne 0x45616a
push eax
call fcn.00459e20
mov ecx, eax
add esp, 4
or ecx, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jne 0x45608a
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x2c]
push edx
mov ecx, dword [eax]
push ecx
call fcn.0045a320
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x458202
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x45603b
mov eax, 1
xor edx, edx
mov dword [esp + 0x20], eax
jmp 0x456086
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x20]
push edx
mov ecx, dword [eax]
push ecx
call fcn.0044dca0
mov edx, dword [esp + 0x2c]
add esp, 8
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
cmp edx, 0x7fffffff
jl 0x45607c
jg 0x45606a
cmp eax, 0xffffffff
jb 0x45607c
mov edx, dword [esp + 0x28]
mov byte [edx + 0x1b], 1
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
jmp 0x45608a
add eax, 1
mov dword [esp + 0x20], eax
adc edx, 0
mov dword [esp + 0x24], edx
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x45613a
mov ebp, dword [ebp + 0xa0]
test ebp, ebp
je 0x4560c7
mov ecx, ebp
mov dword [esp + 0x38], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x4560b9
mov ecx, eax
mov dword [esp + 0x38], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x4560ac
mov esi, dword [esi + 0xc]
mov ecx, dword [ecx + 0xc]
lea eax, [esi + esi*4]
lea edi, [ecx + eax*8]
jmp 0x4560cd
lea edx, [ebx + ebx*4]
lea edi, [edi + edx*8]
push edi
mov dword [esp + 0x38], edi
call fcn.0045e960
mov eax, dword [esp + 0x38]
add esp, 4
mov ecx, dword [eax + 0x14]
lea edx, [eax + 0x10]
mov eax, dword [eax + 0x10]
cmp eax, 0xffffffff
jne 0x4560f8
cmp ecx, 0x7fffffff
je 0x4581fa
mov esi, dword [esp + 0x28]
mov bl, byte [esi + 0x1b]
test bl, bl
jne 0x4581fa
mov esi, dword [esp + 0x24]
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x456125
jl 0x45611d
cmp dword [esp + 0x20], eax
jae 0x456125
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x20]
mov dword [edx], ecx
mov eax, dword [esp + 0x24]
mov dword [edx + 4], eax
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
cmp edx, 0x7fffffff
jg 0x456151
jl 0x456149
cmp eax, 0xffffffff
jae 0x456151
add eax, 1
adc edx, 0
jmp 0x456155
xor eax, eax
xor edx, edx
mov ecx, dword [esp + 0x28]
push edx
push eax
mov edx, dword [ecx]
push edx
call fcn.00459de0
mov edx, dword [esp + 0x34]
add esp, 0xc
mov al, byte [edx + 0x1b]
test al, al
je 0x456254
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf0]
and eax, 0x3fffffff
add ecx, 1
lea esi, [esp + 0x2c]
mov dword [esp + 0x20], ecx
adc eax, 0
push esi
push 0
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], 0
push eax
mov eax, dword [edx]
push ecx
push 0
push eax
call fcn.0045a3f0
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x456250
mov esi, 5
mov edx, dword [esp + 0x2c]
test edx, edx
jne 0x456240
mov ecx, dword [esp + 0x30]
inc ecx
cmp ecx, 0x64
mov dword [esp + 0x30], ecx
jge 0x456240
lea ecx, [esp + 0x20]
push ecx
push 8
call fcn.004415b0
mov eax, dword [esp + 0x38]
add esp, 8
cmp eax, esi
mov eax, dword [esp + 0x20]
jge 0x456204
mov ecx, dword [esp + 0x24]
and eax, 0xffffff
and ecx, 0
jmp 0x45620e
mov ecx, dword [esp + 0x24]
and ecx, 0x3fffffff
add eax, 1
lea edx, [esp + 0x2c]
adc ecx, 0
push edx
push 0
push ecx
mov dword [esp + 0x2c], eax
push eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x34], ecx
push 0
mov ecx, dword [eax]
push ecx
call fcn.0045a3f0
add esp, 0x18
test eax, eax
je 0x4561c5
mov dword [esp + 0x10], eax
jmp 0x456250
test eax, eax
mov dword [esp + 0x10], eax
jne 0x456250
test edx, edx
je 0x4581fa
mov edx, dword [esp + 0x28]
mov byte [edx + 0x19], 0
mov edx, dword [esp + 0x28]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x28]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x24]
mov dword [eax + 0x14], edx
jmp case.default.0x453299
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [ebp + 0x40]
mov dword [esp + 0x20], ecx
mov edx, dword [esi + 4]
mov edx, dword [eax + edx*4]
mov dword [esp + 0x30], edx
mov al, byte [esi]
cmp al, 0x39
mov eax, dword [esi + 0xc]
jne 0x4562bb
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov dword [esp + 0x24], edi
mov eax, dword [edi + 0x10]
mov dword [esp + 0x28], eax
mov edx, dword [edi + 0x14]
jmp 0x4562c0
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
test byte [esi + 3], 1
je 0x4562cd
inc dword [ebp + 0x64]
test byte [esi + 3], 2
je 0x4562ef
mov dword [ebx + 0x20], eax
mov ecx, dword [esp + 0x2c]
mov dword [ebx + 0x24], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], edx
test byte [ecx + 0x1c], 1
je 0x456307
xor eax, eax
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x20]
mov dword [edx + 0x18], eax
mov ecx, dword [esp + 0x20]
jmp 0x456309
xor eax, eax
test byte [esi + 3], 0x10
je 0x45631c
mov edx, dword [esp + 0x30]
mov edx, dword [edx + 0x4c]
mov dword [esp + 0x38], edx
jmp 0x456320
mov dword [esp + 0x38], eax
test byte [ecx + 0x1d], 0x40
je 0x456329
mov eax, dword [ecx + 0x10]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], eax
push 0
push 0
mov edx, dword [ecx]
push edx
call fcn.00459de0
mov eax, dword [esp + 0x44]
mov cl, byte [esi + 3]
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x30]
and ecx, 8
push ecx
push edx
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x50]
push eax
push ecx
push 0
mov eax, dword [edx]
push eax
call fcn.0045aa20
mov ecx, dword [esp + 0x60]
add esp, 0x30
test eax, eax
mov byte [ecx + 0x19], 0
mov edx, dword [esp + 0x30]
mov dword [esp + 0x10], eax
mov byte [edx + 0x1d], 0
mov ecx, dword [esp + 0x30]
mov dword [ecx + 0x50], 0
jne case.default.0x453299
mov eax, dword [ebx + 0xbc]
test eax, eax
je case.default.0x453299
mov eax, dword [esi + 0x10]
test eax, eax
je case.default.0x453299
mov edx, dword [esp + 0x30]
mov ecx, dword [ebx + 0x10]
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x2c]
shl eax, 4
push edx
mov edx, dword [esp + 0x2c]
mov eax, dword [eax + ecx]
push edx
mov dword [esp + 0x44], eax
mov edi, dword [esi + 0x10]
mov dword [esp + 0x48], edi
mov cl, byte [esi + 3]
and cl, 4
push edi
neg cl
sbb ecx, ecx
push eax
and ecx, 5
add ecx, 0x12
mov dword [esp + 0x54], ecx
mov eax, dword [ebx + 0xb8]
push ecx
push eax
call dword [ebx + 0xbc]
jmp 0x457f97
mov eax, dword [ebp + 0x40]
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov edx, dword [esi + 4]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x28], eax
mov edx, dword [ebx + 0xbc]
cmp edx, ecx
je 0x456437
cmp dword [esi + 0x10], ecx
je 0x456437
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x20], ecx
mov edx, dword [eax + 0x44]
mov dword [esp + 0x24], edx
push eax
call fcn.0045ee60
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x458202
push eax
push eax
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
push ecx
call fcn.00459de0
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
push eax
call fcn.0045d060
mov ecx, dword [esp + 0x38]
add esp, 0x10
test eax, eax
mov dword [esp + 0x10], eax
mov dword [ecx + 0x50], 0
jne 0x4564b7
mov ecx, dword [ebx + 0xbc]
test ecx, ecx
je 0x4564b7
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4564b7
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x24]
push edx
push eax
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 0xc]
mov eax, dword [ebx + 0x10]
shl edx, 4
mov edx, dword [edx + eax]
mov eax, dword [ebx + 0xb8]
push edx
push 9
push eax
call ecx
add esp, 0x18
test byte [esi + 8], 1
je case.default.0x453299
inc dword [ebp + 0x64]
jmp case.default.0x453299
mov ecx, dword [ebp + 0x64]
push ecx
push ebx
call fcn.00450aa0
add esp, 8
mov dword [ebp + 0x64], 0
jmp case.default.0x453299
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0x40]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x20], ecx
mov eax, dword [esi + 0xc]
lea edx, [eax + eax*4]
lea eax, [esp + 0x24]
push eax
lea edi, [edi + edx*8]
push edi
push ecx
call fcn.00462010
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
add esp, 0xc
jmp 0x45684a
mov eax, dword [esi + 8]
mov edx, dword [esi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0x40]
mov eax, dword [eax + edx*4]
lea ecx, [edi + ecx*8]
push ecx
push eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], eax
call fcn.00461f60
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x453299
mov eax, dword [esi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea edx, [edi + ecx*8]
mov ecx, dword [ebp + 0x40]
mov dword [esp + 0x14], edx
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x20], eax
push eax
mov edx, dword [eax]
mov dword [esp + 0x28], edx
call fcn.0045ee60
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x458202
mov eax, dword [esp + 0x20]
mov cl, byte [eax + 0x1f]
test cl, cl
je 0x4565b9
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x30]
push ecx
push edx
call fcn.0044dca0
mov eax, dword [ebx + 0x50]
mov ecx, dword [esp + 0x3c]
cdq
add esp, 8
cmp ecx, edx
mov ecx, dword [esp + 0x30]
jg 0x458276
jl 0x4565b1
cmp ecx, eax
ja 0x458276
mov eax, ecx
mov dword [esp + 0x28], eax
jmp 0x4565da
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x28]
push edx
push eax
call fcn.00459e30
mov eax, dword [esp + 0x30]
mov ecx, dword [ebx + 0x50]
add esp, 8
cmp eax, ecx
ja 0x458276
mov esi, dword [esp + 0x14]
push 0
push eax
push esi
call fcn.0044e4e0
add esp, 0xc
test eax, eax
jne 0x458103
mov dx, word [esi + 0x1c]
mov ecx, dword [esp + 0x28]
and edx, 0xbe10
mov dword [esi + 0x18], ecx
or edx, 0x10
mov word [esi + 0x1c], dx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov cl, byte [eax + 0x1f]
mov eax, dword [esp + 0x24]
test cl, cl
mov ecx, dword [esi + 4]
push ecx
push edx
push 0
push eax
je 0x45663a
call fcn.0044dd60
add esp, 0x10
mov dword [esp + 0x10], eax
mov byte [esi + 0x1f], 1
jmp case.default.0x453299
call fcn.00459e50
add esp, 0x10
mov dword [esp + 0x10], eax
mov byte [esi + 0x1f], 1
jmp case.default.0x453299
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x40]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x20], eax
mov cl, byte [eax + 0x1c]
test cl, cl
je 0x456672
mov eax, dword [esp + 0x14]
mov word [eax + 0x1c], 1
jmp case.default.0x453299
mov cl, byte [eax + 0x1d]
test cl, cl
je 0x456689
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x2c], edx
jmp 0x456700
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x4566bc
mov ecx, dword [ecx]
lea edx, [esp + 0x28]
mov dword [esp + 0x30], ecx
push edx
mov ecx, dword [ecx]
mov dword [esp + 0x38], ecx
mov eax, dword [eax + 0x24]
push eax
call dword [ecx + 0x30]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x18], eax
push ecx
push ebp
call fcn.0045fe70
add esp, 0x10
jmp 0x456700
push eax
call fcn.0045ee60
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x458202
mov eax, dword [esp + 0x20]
mov cl, byte [eax + 0x19]
test cl, cl
je 0x4566ec
mov edx, dword [eax + 0x40]
mov dword [esp + 0x28], edx
mov eax, dword [eax + 0x44]
mov dword [esp + 0x2c], eax
jmp 0x456700
mov edx, dword [eax]
lea ecx, [esp + 0x28]
push ecx
push edx
call fcn.0044dca0
add esp, 8
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x2c]
mov dword [eax + 0x14], edx
jmp case.default.0x453299
mov eax, dword [esi + 4]
mov ecx, dword [ebp + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x20], eax
mov byte [eax + 0x1c], 1
mov edx, dword [esp + 0x20]
mov byte [edx + 0x19], 0
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
test eax, eax
je case.default.0x453299
push eax
call fcn.0044dc80
add esp, 4
jmp case.default.0x453299
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x40]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x20], eax
mov ecx, dword [eax]
mov dword [esp + 0x28], 0
test ecx, ecx
mov dword [esp + 0x24], ecx
je 0x456781
lea eax, [esp + 0x28]
push eax
push ecx
call fcn.0045a320
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
add esp, 8
mov cl, byte [esp + 0x28]
mov byte [eax + 0x1c], cl
mov edx, dword [esp + 0x20]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x20]
mov byte [eax + 0x19], 0
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x50], 0
mov esi, dword [esi + 8]
test esi, esi
jle case.default.0x453299
mov eax, dword [esp + 0x28]
test eax, eax
je case.default.0x453299
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
inc dword [ebp + 0x78]
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0x40]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], eax
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x4567f8
lea ecx, [esp + 0x28]
push ecx
push eax
push ebx
call fcn.00461720
add esp, 0xc
mov dword [esp + 0x10], eax
jmp 0x45683b
mov eax, dword [eax]
lea edx, [esp + 0x28]
push edx
push eax
mov dword [esp + 0x2c], eax
call fcn.0045a050
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
add esp, 8
test eax, eax
sete al
mov byte [ecx + 0x1a], al
mov edx, dword [esp + 0x20]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x20]
mov dword [eax + 0x50], 0
mov ecx, dword [esp + 0x20]
mov byte [ecx + 0x19], 0
mov eax, dword [esp + 0x20]
mov dl, byte [esp + 0x28]
mov byte [eax + 0x1c], dl
mov eax, dword [esp + 0x28]
test eax, eax
je case.default.0x453299
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
mov eax, dword [ebx + 0xe0]
test eax, eax
jne 0x458247
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x40]
mov eax, dword [edx + ecx*4]
test eax, eax
mov dword [esp + 0x20], eax
je case.default.0x453299
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x45689e
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x24]
push ecx
push eax
push edx
call fcn.00461ea0
add esp, 0xc
jmp 0x4568b4
mov dword [esp + 0x24], 1
mov edx, dword [eax]
lea ecx, [esp + 0x24]
push ecx
push edx
call dword [esi + 0x10]
add esp, 8
mov cl, byte [esp + 0x24]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov byte [eax + 0x1c], cl
mov edx, dword [esp + 0x20]
mov dword [edx + 0x50], 0
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4568f5
mov eax, dword [esi + 8]
dec eax
mov dword [esp + 0x18], eax
mov al, byte [esi + 3]
test al, al
je 0x4568f5
and eax, 0xff
mov ecx, dword [ebp + eax*4 + 0x70]
lea eax, [ebp + eax*4 + 0x70]
inc ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x20]
mov byte [eax + 0x19], 0
jmp case.default.0x453299
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x40]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x20], ecx
mov eax, dword [esi + 8]
mov ebp, dword [ecx]
lea eax, [eax + eax*4]
mov dword [esp + 0x24], ebp
test ebp, ebp
lea edi, [edi + eax*8]
je case.default.0x453299
test byte [edi + 0x1d], 0x40
je 0x456949
push edi
call fcn.0044e660
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x453299
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x456964
push edi
push ecx
push ebx
call fcn.00461140
add esp, 0xc
mov dword [esp + 0x10], eax
jmp case.default.0x453299
mov eax, dword [edi + 0x18]
mov dword [esp + 0x28], eax
mov edi, dword [edi + 4]
mov dword [esp + 0x2c], edi
mov dl, byte [esi + 3]
test dl, 0x10
je 0x45697f
mov ecx, dword [ecx + 0x4c]
jmp 0x456981
xor ecx, ecx
push ecx
mov ecx, dword [esi + 0xc]
push ecx
push 0
cdq
push 0
push 0x518908
push edx
push eax
push edi
push ebp
call fcn.0045aa20
mov edx, dword [esp + 0x44]
add esp, 0x24
mov dword [esp + 0x10], eax
mov dword [edx + 0x50], 0
jmp case.default.0x453299
mov eax, dword [esi + 4]
mov ecx, dword [ebp + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x20], eax
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 0x24], ecx
je case.default.0x453299
mov edx, dword [eax + 8]
mov dword [esp + 0x30], edx
mov ax, word [esi + 0xc]
mov word [esp + 0x34], ax
mov byte [esp + 0x36], 0
mov esi, dword [esi + 8]
lea edx, [esi + esi*4]
lea eax, [edi + edx*8]
lea edx, [esp + 0x28]
push edx
mov dword [esp + 0x44], eax
push 0
push 0
lea eax, [esp + 0x3c]
push 0
push eax
push ecx
call fcn.0045a3f0
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x456a27
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x456a27
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0045d060
add esp, 4
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x20]
mov dword [edx + 0x50], 0
jmp case.default.0x453299
mov eax, dword [esi + 4]
mov ecx, dword [ebp + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x24], eax
mov edx, dword [eax]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], edx
mov word [eax + 0x1c], 1
mov eax, dword [esp + 0x20]
test eax, eax
je case.default.0x453299
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0045ee60
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x458202
mov edx, dword [esp + 0x24]
mov al, byte [edx + 0x1c]
test al, al
jne case.default.0x453299
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x28]
push eax
push ecx
push ebx
call fcn.0045f710
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x458202
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 0x14], ecx
mov word [eax + 0x1c], 4
jmp case.default.0x453299
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0x40]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x20], ecx
cmp dword [ecx], 0
je case.default.0x453299
mov edx, dword [ecx + 8]
mov dword [esp + 0x28], edx
mov ax, word [esi + 0x10]
mov word [esp + 0x2c], ax
mov al, byte [esi + 3]
test al, al
setne dl
add edx, 2
mov byte [esp + 0x2e], dl
mov eax, dword [esi + 0xc]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
lea eax, [esp + 0x24]
mov dword [esp + 0x38], edx
lea edx, [esp + 0x28]
push eax
push edx
push ecx
call fcn.0045f850
mov dword [esp + 0x1c], eax
mov al, byte [esi]
add esp, 0xc
cmp al, 0x64
mov eax, dword [esp + 0x24]
jne 0x456b2b
neg eax
jmp 0x456b2c
inc eax
test eax, eax
mov dword [esp + 0x24], eax
jle case.default.0x453299
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
mov dword [esp + 0x24], 0
mov eax, dword [ebx + 4]
test eax, eax
mov dword [esp + 0x28], eax
je 0x456b83
mov edi, 0xbdf20da3
cmp dword [eax + 0x30], edi
jne 0x456b78
mov ecx, dword [eax + 0x60]
and ecx, 0xc
cmp cl, 8
jae 0x456b78
mov ecx, dword [eax + 0x54]
test ecx, ecx
jl 0x456b78
inc dword [esp + 0x24]
mov eax, dword [eax + 0x3c]
test eax, eax
mov dword [esp + 0x28], eax
jne 0x456b5d
mov edx, dword [esp + 0x14]
mov eax, 1
mov word [edx + 0x1c], ax
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jle 0x456ba9
mov dword [esp + 0x10], 6
mov byte [ebp + 0x5c], 2
jmp case.default.0x453299
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0x20]
mov dword [esp + 0x2c], eax
mov edx, dword [esi + 4]
push ecx
mov ecx, dword [ebx + 0x10]
shl eax, 4
push edx
mov edx, dword [eax + ecx + 4]
push edx
call fcn.0045d710
mov ecx, dword [esp + 0x20]
mov edi, eax
add esp, 0xc
mov dword [esp + 0x10], edi
mov word [ecx + 0x1c], 4
mov eax, dword [esp + 0x20]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
test edi, edi
jne case.default.0x453299
mov eax, dword [esp + 0x20]
test eax, eax
je case.default.0x453299
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x2c]
push ecx
push eax
push edx
push ebx
call fcn.004638f0
mov al, byte [esp + 0x3c]
add esp, 0x10
inc al
mov byte [esp + 0x108], al
jmp case.default.0x453299
mov dword [esp + 0x20], 0
mov eax, dword [esi + 0xc]
neg eax
mov edx, dword [esi + 4]
lea ecx, [esp + 0x20]
sbb eax, eax
and eax, ecx
mov ecx, dword [ebx + 0x10]
push eax
mov eax, dword [esi + 8]
shl eax, 4
push edx
mov edx, dword [eax + ecx + 4]
push edx
call fcn.0045d550
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0xc]
add esp, 0xc
test eax, eax
je case.default.0x453299
mov eax, dword [esp + 0x20]
mov edx, dword [ebp + 0x64]
add edx, eax
mov dword [ebp + 0x64], edx
mov esi, dword [esi + 0xc]
test esi, esi
jle case.default.0x453299
lea ecx, [esi + esi*4]
mov esi, dword [edi + ecx*8 + 0x10]
cdq
lea ecx, [edi + ecx*8 + 0x10]
add esi, eax
mov dword [ecx], esi
mov eax, dword [ecx + 4]
adc eax, edx
mov dword [ecx + 4], eax
jmp case.default.0x453299
mov dword [esp + 0x20], 0
mov eax, dword [esi + 4]
mov edi, dword [ebx + 0x10]
xor ecx, ecx
shl eax, 4
add eax, edi
mov dword [esp + 0x28], eax
mov dl, byte [esi]
cmp dl, 0x69
lea edx, [esp + 0x20]
setne cl
inc ecx
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 4]
push ecx
push edx
push eax
call fcn.0045d2c0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
add esp, 0xc
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x453299
mov eax, dword [esi + 4]
mov ecx, str.sqlite_temp_master
cmp eax, 1
mov dword [esp + 0x20], eax
je 0x456cf9
mov ecx, str.sqlite_master
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], ebx
mov edx, dword [esi + 4]
add ebp, 0x34
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ebp
mov edx, dword [esi + 0x10]
push edx
push ecx
mov ecx, dword [ebx + 0x10]
shl eax, 4
mov edx, dword [eax + ecx]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.004506e0
add esp, 0x14
mov dword [esp + 0x28], eax
test eax, eax
jne 0x456d3f
mov esi, 7
mov dword [esp + 0x10], esi
jmp 0x456d93
lea eax, [esp + 0x2c]
mov byte [ebx + 0x81], 1
mov ecx, dword [esp + 0x28]
push 0
push eax
push fcn.004660b0
push ecx
push ebx
mov dword [esp + 0x4c], 0
call fcn.00465a00
mov esi, eax
add esp, 0x14
test esi, esi
mov dword [esp + 0x10], esi
jne 0x456d7a
mov esi, dword [esp + 0x38]
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0x28]
push edx
push ebx
call fcn.00440050
add esp, 8
mov byte [ebx + 0x81], 0
test esi, esi
je 0x456d9c
push ebx
call fcn.004634b0
add esp, 4
cmp esi, 7
je 0x458103
jmp case.default.0x453299
mov eax, dword [esi + 4]
push eax
push ebx
call fcn.004626b0
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x453299
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 4]
push ecx
push edx
push ebx
call fcn.00463840
add esp, 0xc
jmp case.default.0x453299
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 4]
push eax
push ecx
push ebx
call fcn.004630b0
add esp, 0xc
jmp case.default.0x453299
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 4]
push edx
push eax
push ebx
call fcn.00467640
add esp, 0xc
jmp case.default.0x453299
mov eax, dword [esi + 8]
mov dword [esp + 0x20], eax
lea ecx, [eax*4 + 4]
push ecx
push ebx
call fcn.004402d0
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
je 0x458103
mov ecx, dword [esi + 0xc]
lea edx, [ecx + ecx*4]
lea ecx, [edi + edx*8]
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 4]
lea edx, [ecx + ecx*4]
xor ecx, ecx
mov dword [esp + 0x28], ecx
lea edi, [edi + edx*8]
mov edx, dword [esp + 0x20]
test edx, edx
jle 0x456e79
lea eax, [ecx + ecx*4]
lea ecx, [edi + eax*8]
push ecx
call fcn.00451320
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
add esp, 4
mov dword [ecx + edx*4], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
inc ecx
cmp ecx, eax
mov dword [esp + 0x28], ecx
jl 0x456e4a
mov eax, dword [esp + 0x24]
mov dword [eax + ecx*4], 0
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x2c]
mov ecx, dword [eax + 0x10]
push edx
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
push ecx
xor ecx, ecx
mov cl, byte [esi + 3]
mov esi, dword [esp + 0x24]
push edx
push eax
mov edx, dword [esi + 0x10]
shl ecx, 4
mov eax, dword [ecx + edx + 4]
push eax
call fcn.0045da80
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x44], eax
push ecx
push esi
call fcn.00440050
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x48]
push edi
mov ebx, dword [edx + 0x10]
lea ecx, [edx + 0x10]
cdq
sub ebx, eax
mov dword [ecx], ebx
mov esi, dword [ecx + 4]
sbb esi, edx
mov dword [ecx + 4], esi
call fcn.0044e830
mov eax, dword [esp + 0x4c]
add esp, 0x20
test eax, eax
je 0x456f0a
mov eax, dword [esp + 0x30]
test eax, eax
je 0x458103
push fcn.0043fff0
push 1
push 0xffffffffffffffff
push eax
push edi
call fcn.0044e2c0
add esp, 0x14
mov eax, dword [esp + 0xe8]
and eax, 0xff
push eax
push edi
call fcn.00450d30
add esp, 8
jmp case.default.0x453299
mov eax, dword [esi + 4]
mov esi, dword [esi + 8]
lea ecx, [eax + eax*4]
mov al, byte [edi + ecx*8 + 0x1c]
lea edx, [esi + esi*4]
lea ebx, [edi + ecx*8]
test al, 0x20
lea esi, [edi + edx*8]
jne 0x456f53
push ebx
call fcn.0045ea30
mov al, byte [ebx + 0x1c]
add esp, 4
test al, 0x20
je 0x458103
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov edx, dword [ebx + 0x10]
push eax
push ecx
push edx
call fcn.004588f0
add esp, 0xc
jmp case.default.0x453299
mov eax, dword [ebx + 0xe0]
test eax, eax
jne 0x458247
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov al, byte [edi + eax*8 + 0x1c]
test al, 0x20
je 0x456fc1
mov edx, dword [ebx + 0x10]
lea ecx, [esp + 0x20]
push ecx
push edx
call fcn.004589a0
add esp, 8
test eax, eax
je 0x456fc1
mov esi, dword [esi + 0xc]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
push eax
lea edx, [esi + esi*4]
push ecx
lea eax, [edi + edx*8]
push eax
call fcn.00451760
add esp, 0xc
jmp case.default.0x453299
push ebx
call fcn.0044e830
mov esi, dword [esi + 8]
add esp, 4
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
mov eax, dword [esi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x10]
lea ebx, [edi + ecx*8]
mov dword [esp + 0x20], eax
lea edi, [edi + edx*8]
test byte [ebx + 0x1c], 0x20
jne 0x45700e
push ebx
call fcn.0045ea30
mov al, byte [ebx + 0x1c]
add esp, 4
test al, 0x20
je 0x458103
mov eax, dword [esp + 0x20]
test eax, eax
je 0x457054
jl 0x457019
and eax, 0xf
jmp 0x45701e
mov eax, 0xff
mov ecx, dword [edi + 0x14]
mov edx, dword [edi + 0x10]
push ecx
push edx
push eax
mov eax, dword [ebx + 0x10]
push eax
call fcn.00458b30
add esp, 0x10
mov dword [esp + 0x24], eax
test eax, eax
je 0x457048
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
mov eax, dword [esp + 0x20]
test eax, eax
jl case.default.0x453299
mov ecx, dword [edi + 0x14]
mov edx, dword [edi + 0x10]
mov eax, dword [ebx + 0x10]
push ecx
push edx
push eax
call fcn.004588f0
add esp, 0xc
jmp case.default.0x453299
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x38], ecx
mov eax, dword [esi + 0xc]
lea edx, [eax + eax*4]
lea edi, [edi + edx*8]
mov dword [esp + 0x28], edi
mov al, byte [esi + 3]
test al, al
je 0x4570b7
mov eax, dword [ebp + 0xa0]
mov edx, dword [ecx + 0x14]
test eax, eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], eax
je 0x4570b7
cmp dword [eax + 0x18], edx
je 0x4570af
mov eax, dword [eax + 4]
test eax, eax
mov dword [esp + 0x34], eax
jne 0x45709d
jmp 0x4570b7
test eax, eax
jne case.default.0x453299
mov eax, dword [ebp + 0xa8]
mov edx, dword [ebx + 0x78]
cmp eax, edx
jl 0x4570e3
push str.too_many_levels_of_trigger_recursion
add ebp, 0x34
push ebx
push ebp
mov dword [esp + 0x1c], 1
call fcn.004509b0
add esp, 0xc
jmp case.default.0x453299
test byte [edi + 0x1c], 0x40
jne 0x45721e
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 0xc]
add eax, edx
mov dword [esp + 0x20], eax
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0xc]
lea edx, [eax + edx*2]
mov eax, dword [ecx + 0x10]
lea eax, [eax + edx*4 + 0x48]
push eax
push ebx
mov dword [esp + 0x2c], eax
call fcn.004451d0
add esp, 8
mov dword [esp + 0x34], eax
test eax, eax
je 0x458103
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0044e6d0
mov edx, dword [esp + 0x2c]
add esp, 4
mov word [edx + 0x1c], 0x40
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x10], eax
mov edx, dword [esp + 0x34]
mov dword [edx], ebp
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x3c], ecx
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x40], eax
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
mov dword [edx + 0x2c], eax
mov edx, dword [esp + 0x34]
mov ecx, dword [ebp + 8]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 0x18]
mov dword [ecx + 0x34], eax
mov eax, dword [esp + 0x34]
mov edx, dword [ebp + 0x40]
mov dword [eax + 0x14], edx
mov edx, dword [esp + 0x34]
mov cx, word [ebp + 0x2e]
mov word [edx + 0x28], cx
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 4]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x34]
mov edx, dword [ebp + 0x1c]
mov dword [eax + 0x30], edx
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x18], edx
mov edx, dword [esp + 0x34]
mov ecx, dword [ebp + 0xb8]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 0xb4]
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x3c]
lea edx, [ecx + ecx*4]
lea ecx, [eax + 0x48]
mov dword [esp + 0x2c], ecx
lea edx, [eax + edx*8 + 0x48]
cmp ecx, edx
mov dword [esp + 0x30], edx
je 0x457225
mov eax, dword [esp + 0x1c]
mov edx, 0x80
mov word [ecx + 0x1c], dx
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
add ecx, 0x28
cmp ecx, esi
mov dword [esp + 0x2c], ecx
jne 0x4571fb
mov eax, dword [esp + 0x34]
jmp 0x457225
mov eax, dword [edi + 0x10]
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x134]
mov dword [esp + 0x18], 0xffffffff
mov ebx, dword [edx + 0xa8]
mov ecx, dword [edx + 0xa0]
inc ebx
mov dword [edx + 0xa8], ebx
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xf0]
mov dword [eax + 0x20], ecx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xf4]
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0x34]
mov eax, dword [edx + 0x64]
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x34]
mov dword [edx + 0x64], 0
mov dword [edx + 0xa0], eax
lea ecx, [eax + 0x20]
mov dword [edx + 8], ecx
mov esi, dword [eax + 0x3c]
mov dword [edx + 0x18], esi
mov ax, word [eax + 0x40]
mov word [edx + 0x2e], ax
mov eax, esi
inc eax
mov dword [esp + 0xec], ecx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [esp + 0x38]
mov dword [edx + 0x40], eax
mov esi, dword [ecx]
mov dword [esp + 0x10c], esi
mov dword [edx + 4], esi
mov esi, dword [ecx + 4]
mov dword [edx + 0x1c], esi
xor esi, esi
mov si, word [edx + 0x2e]
lea edi, [eax + esi*4]
xor eax, eax
mov dword [edx + 0xb8], edi
mov ecx, dword [ecx + 0x10]
mov dword [edx + 0xb4], ecx
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
jmp case.default.0x453299
mov ebp, dword [ebp + 0xa0]
push 0x1000
mov dword [esp + 0x24], ebp
mov ebx, dword [esi + 4]
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 8]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 4]
mov ecx, dword [esp + 0x18]
add eax, ebx
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea eax, [eax + edx*8]
push eax
push ecx
mov dword [esp + 0x30], eax
call fcn.0045eaf0
add esp, 0xc
jmp case.default.0x453299
mov eax, dword [esi + 4]
test eax, eax
mov eax, dword [esi + 8]
cdq
je 0x457358
mov ecx, dword [ebx + 0x1e8]
add ecx, eax
mov dword [ebx + 0x1e8], ecx
mov eax, dword [ebx + 0x1ec]
adc eax, edx
mov dword [ebx + 0x1ec], eax
jmp case.default.0x453299
mov ecx, dword [ebp + 0x88]
add ecx, eax
mov dword [ebp + 0x88], ecx
mov eax, dword [ebp + 0x8c]
adc eax, edx
mov dword [ebp + 0x8c], eax
jmp case.default.0x453299
mov eax, dword [esi + 4]
test eax, eax
je 0x4573a7
mov edx, dword [ebx + 0x1e8]
mov ecx, dword [ebx + 0x1ec]
lea eax, [ebx + 0x1e8]
or edx, ecx
jne case.default.0x453299
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
mov ecx, dword [ebp + 0x88]
mov edx, dword [ebp + 0x8c]
lea eax, [ebp + 0x88]
or ecx, edx
jne case.default.0x453299
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
mov ebp, dword [ebp + 0xa0]
test ebp, ebp
je 0x457400
mov ecx, ebp
mov dword [esp + 0x24], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x4573f2
mov ecx, eax
mov dword [esp + 0x24], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x4573e5
mov eax, dword [esi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0xc]
lea eax, [eax + edx*8]
jmp 0x457409
mov eax, dword [esi + 4]
lea ecx, [eax + eax*4]
lea eax, [edi + ecx*8]
push eax
mov dword [esp + 0x24], eax
call fcn.0045e960
mov esi, dword [esi + 8]
lea edx, [esi + esi*4]
lea esi, [edi + edx*8]
push esi
call fcn.0045e960
mov eax, dword [esp + 0x28]
mov ecx, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
add eax, 0x10
add esp, 8
mov edx, dword [eax + 4]
cmp edx, esi
jg case.default.0x453299
jl 0x457449
mov edx, dword [eax]
cmp edx, ecx
jae case.default.0x453299
mov dword [eax], ecx
mov dword [eax + 4], esi
jmp case.default.0x453299
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8 + 0x10]
mov eax, dword [edi + 4]
test eax, eax
jl case.default.0x453299
jg 0x457473
cmp dword [edi], 0
jbe case.default.0x453299
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
mov eax, dword [esi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + ecx*8 + 0x14]
test eax, eax
lea edi, [edi + ecx*8 + 0x10]
jg case.default.0x453299
jl 0x4574a1
cmp dword [edi], 0
jae case.default.0x453299
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
mov eax, dword [esi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0xc]
mov ebx, dword [edi + edx*8 + 0x10]
lea ecx, [edi + edx*8]
cdq
add ebx, eax
mov dword [ecx + 0x10], ebx
mov edi, dword [ecx + 0x14]
adc edi, edx
mov dword [ecx + 0x14], edi
mov eax, dword [ecx + 0x10]
mov edx, edi
or eax, edx
jne case.default.0x453299
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
xor ecx, ecx
mov cl, byte [esi + 3]
mov dword [esp + 0x20], ecx
mov eax, dword [esi + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x70], eax
xor eax, eax
lea edi, [edi + edx*8]
mov dword [esp + 0x24], eax
test ecx, ecx
mov dword [esp + 0x2c], edi
jle 0x45753d
mov ecx, dword [esp + 0x70]
mov dword [ecx + eax*4], edi
mov edx, dword [esp + 0x2c]
push edx
call fcn.00453050
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
add esp, 4
inc eax
add edi, 0x28
cmp eax, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], edi
jl 0x45750d
mov eax, dword [esi + 0x10]
mov ebx, dword [esp + 0xec]
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0xc]
mov ebp, dword [esp + 0x1c]
xor edi, edi
lea ecx, [eax + eax*4]
lea eax, [ebx + ecx*8]
mov dword [esp + 0x28], eax
mov dword [esp + 0x60], eax
mov edx, dword [eax + 0x18]
inc edx
mov dword [eax + 0x18], edx
mov eax, dword [esp + 0x30]
mov word [esp + 0x54], 1
mov dword [esp + 0x3c], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x38], ebp
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x6c], edi
test byte [eax + 3], 8
je 0x45759d
mov edx, dword [esi - 4]
mov dword [esp + 0x64], edx
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x20]
push ecx
lea ecx, [esp + 0x34]
push edx
push ecx
call dword [eax + 0x10]
mov eax, dword [esp + 0x74]
add esp, 0xc
cmp eax, edi
je 0x4575e6
lea edx, [esp + 0x38]
push edx
call fcn.004515c0
push eax
mov eax, dword [esp + 0x13c]
push 0x509d48
add eax, 0x34
push ebp
push eax
call fcn.004509b0
mov ecx, dword [esp + 0x7c]
add esp, 0x14
mov dword [esp + 0x10], ecx
cmp dword [esp + 0x6c], edi
je 0x457609
mov esi, dword [esi - 0x10]
cmp esi, edi
mov dword [esp + 0x24], esi
je 0x457609
lea edx, [esi + esi*4]
push edi
push 1
lea eax, [ebx + edx*8]
push eax
call fcn.00451760
add esp, 0xc
lea ecx, [esp + 0x38]
push ecx
call fcn.0044e6d0
add esp, 4
jmp case.default.0x453299
mov eax, dword [esi + 4]
lea edx, [eax + eax*4]
lea edi, [edi + edx*8]
mov dword [esp + 0x20], edi
mov eax, dword [esi + 0x10]
push eax
push edi
call fcn.0044e7c0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x45765a
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004515c0
push eax
push 0x509d48
add ebp, 0x34
push ebx
push ebp
call fcn.004509b0
add esp, 0x14
mov edx, dword [esp + 0xe8]
mov eax, dword [esp + 0x20]
and edx, 0xff
push edx
push eax
call fcn.00450d30
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0045eac0
add esp, 0xc
test eax, eax
jne 0x458276
jmp case.default.0x453299
or eax, 0xffffffff
xor ebp, ebp
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
lea edx, [esp + 0x2c]
mov dword [esp + 0x24], ebp
mov ecx, dword [esi + 8]
lea eax, [esp + 0x28]
push edx
mov edx, dword [esi + 4]
push eax
push ecx
push edx
push ebx
call fcn.0048c360
add esp, 0x14
cmp eax, 5
mov dword [esp + 0x10], eax
jne 0x4576cd
mov dword [esp + 0x10], ebp
mov dword [esp + 0x24], 1
xor eax, eax
mov dword [esp + 0x20], eax
mov esi, dword [esi + 0xc]
lea ecx, [esi + esi*4]
lea edi, [edi + ecx*8]
mov dword [esp + 0x30], edi
mov eax, dword [esp + eax*4 + 0x24]
cdq
push edx
push eax
push edi
call fcn.00451760
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
add esp, 0xc
inc eax
add edi, 0x28
cmp eax, 3
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], edi
jl 0x4576e0
jmp case.default.0x453299
mov edx, dword [esi + 0xc]
mov dword [esp + 0x28], edx
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x10]
shl eax, 4
mov eax, dword [eax + ecx + 4]
push eax
mov dword [esp + 0x24], eax
call fcn.00444f30
push eax
mov dword [esp + 0x2c], eax
call fcn.00448e30
mov ecx, dword [esp + 0x30]
add esp, 8
cmp ecx, 0xffffffff
mov dword [esp + 0x2c], eax
jne 0x45774a
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x24]
push edx
call fcn.00458e50
add esp, 4
test eax, eax
jne 0x457763
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x24]
push 1
push ecx
call fcn.00450760
mov ecx, dword [esp + 0x30]
add esp, 8
cmp ecx, 5
mov dword [esp + 0x30], eax
jne 0x457812
push eax
call fcn.00441770
add esp, 4
test eax, eax
je 0x4577a1
mov edx, dword [esp + 0x24]
push edx
call fcn.0044b720
add esp, 4
test eax, eax
jne 0x45780e
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4577b9
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], ecx
push ecx
mov ecx, dword [esp + 0x28]
push ecx
call fcn.00458d50
mov dword [esp + 0x30], eax
mov esi, dword [esi + 8]
lea edx, [esi + esi*4]
lea esi, [edi + edx*8]
mov dword [esp + 0x1c], esi
mov word [esi + 0x1c], 0xa02
mov eax, dword [esp + 0x30]
push eax
call fcn.00466090
push eax
mov dword [esi + 4], eax
call fcn.00441770
mov ecx, dword [esp + 0xf8]
mov dword [esi + 0x18], eax
and ecx, 0xff
mov byte [esi + 0x1f], 1
push ecx
push esi
call fcn.00450d30
jmp 0x457f97
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
cmp ecx, eax
je 0x4577a9
cmp eax, 5
je 0x457824
cmp ecx, 5
jne 0x4577a9
mov dl, byte [ebx + 0x36]
test dl, dl
je 0x4578a6
cmp dword [ebx + 0x84], 1
jg 0x4578a6
cmp eax, 5
jne 0x45785e
mov eax, dword [esp + 0x24]
push eax
call fcn.00458e80
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4577b1
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
push edx
jmp 0x45786a
cmp eax, 4
jne 0x457876
mov eax, dword [esp + 0x24]
push 2
push eax
call fcn.00458d50
mov ecx, dword [esp + 0x30]
add esp, 8
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4577b1
mov eax, dword [esp + 0x20]
xor edx, edx
cmp ecx, 5
sete dl
inc edx
push edx
push eax
call fcn.0044d640
mov ecx, dword [esp + 0x30]
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x4577a9
cmp ecx, 5
mov dword [esp + 0x10], 1
mov eax, str.into
je 0x4578bd
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
add ebp, 0x34
push ebx
push ebp
call fcn.004509b0
add esp, 0x10
jmp case.default.0x453299
add ebp, 0x34
push ebx
push ebp
call fcn.004676f0
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x453299
mov edx, dword [esi + 4]
mov eax, dword [ebx + 0x10]
shl edx, 4
mov eax, dword [edx + eax + 4]
push eax
mov dword [esp + 0x24], eax
call fcn.00459c70
add esp, 4
cmp eax, 0x65
mov dword [esp + 0x10], eax
jne case.default.0x453299
mov esi, dword [esi + 8]
mov dword [esp + 0x10], 0
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
mov eax, dword [esi + 4]
test eax, eax
jne 0x45793c
push ebx
call fcn.0045f910
add esp, 4
jmp case.default.0x453299
mov eax, dword [ebp + 0x60]
or al, 0x20
mov dword [ebp + 0x60], eax
jmp case.default.0x453299
mov al, byte [esi + 0xc]
test al, al
mov byte [esp + 0x114], al
jne 0x457963
mov eax, dword [ebx + 0x18]
test ah, 8
jne case.default.0x453299
mov ecx, dword [esp + 0x114]
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
push ecx
mov ecx, dword [ebx + 0x10]
push edx
shl eax, 4
mov edx, dword [eax + ecx + 4]
push edx
call fcn.0045e820
add esp, 0xc
cmp al, 6
mov dword [esp + 0x10], eax
jne case.default.0x453299
mov eax, dword [esi + 0x10]
add ebp, 0x34
push eax
push str.database_table_is_locked:__s
push ebx
push ebp
call fcn.004509b0
add esp, 0x10
jmp case.default.0x453299
mov esi, dword [esi + 0x10]
push esi
push ebx
mov dword [esp + 0x28], esi
call fcn.004687b0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
add esp, 8
test eax, eax
je case.default.0x453299
mov ecx, dword [eax + 8]
push ecx
push ebp
call fcn.0045fe70
add esp, 8
jmp case.default.0x453299
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 4]
add ebp, 0x34
push ebp
push edx
push eax
push ebx
call fcn.00468050
add esp, 0x10
mov dword [esp + 0x10], eax
jmp case.default.0x453299
mov ecx, dword [ebp + 0x60]
and ecx, 0xfffffffb
or ecx, 8
mov dword [ebp + 0x60], ecx
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 4]
push edx
push eax
push ebx
call fcn.00468600
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x60]
add esp, 0xc
and al, 0xf3
mov dword [ebp + 0x60], eax
jmp case.default.0x453299
xor eax, eax
lea edx, [esp + 0x24]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov ecx, dword [esi + 0x10]
push edx
mov eax, dword [ecx + 8]
mov dword [esp + 0x2c], eax
push eax
mov ecx, dword [eax]
mov dword [esp + 0x34], ecx
call dword [ecx + 0x18]
mov edi, eax
mov eax, dword [esp + 0x30]
push eax
push ebp
mov dword [esp + 0x20], edi
call fcn.0045fe70
add esp, 0x10
test edi, edi
jne case.default.0x453299
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
push edi
push 0xffffffffffffffff
mov dword [edx], ecx
mov eax, dword [esi + 4]
push edi
push eax
push ebp
call fcn.0045fd10
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
je 0x457aa8
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x24], ecx
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax]
mov dword [edx + 0x28], ecx
jmp case.default.0x453299
mov byte [ebx + 0x38], 1
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
push eax
call dword [ecx + 0x1c]
add esp, 4
jmp case.default.0x453299
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0x134]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0xec]
lea eax, [eax + edx*8]
mov edx, dword [ebx + 0x40]
mov dword [esp + 0x2c], eax
mov ebx, dword [ebx + 0xc]
lea edi, [eax + 0x28]
mov dword [esp + 0x30], edi
mov ecx, dword [esi + 4]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x3c], ecx
mov edx, dword [ecx + 0x24]
mov dword [esp + 0x34], edx
mov ecx, dword [edx]
mov dword [esp + 0x38], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x28], ecx
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x20], ecx
mov eax, dword [eax + 0x10]
mov dword [esp + 0x24], eax
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], eax
jle 0x457b62
jmp 0x457b2b
mov edi, dword [esp + 0x30]
lea ecx, [eax + eax*4 + 5]
lea edx, [edi + ecx*8]
mov ecx, dword [esp + 0x48]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00453050
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
add esp, 4
inc eax
cmp eax, ecx
mov dword [esp + 0x44], eax
jl 0x457b27
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x134]
mov eax, dword [edi + 0x60]
and al, 0xf7
or al, 4
mov dword [edi + 0x60], eax
mov eax, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esi + 0x10]
push ecx
mov ecx, dword [esp + 0x34]
push eax
push edx
call dword [ecx + 0x20]
mov edx, dword [esp + 0x4c]
mov ebx, eax
mov eax, dword [edi + 0x60]
push edx
and al, 0xf3
push edi
mov dword [esp + 0x2c], ebx
mov dword [edi + 0x60], eax
call fcn.0045fe70
add esp, 0x1c
test ebx, ebx
jne 0x457bbd
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
push eax
call dword [ecx + 0x28]
add esp, 4
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
test eax, eax
je 0x457bcd
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
mov edx, dword [esp + 0x3c]
mov byte [edx + 0x1c], 0
jmp case.default.0x453299
mov eax, dword [esi + 4]
mov ecx, dword [ebp + 0x40]
mov ebx, dword [ecx + eax*4]
mov eax, dword [esi + 0xc]
lea edx, [eax + eax*4]
lea eax, [edi + edx*8]
mov dword [esp + 0x28], eax
mov cl, byte [ebx + 0x1c]
test cl, cl
je 0x457c05
push eax
call fcn.0044e830
add esp, 4
jmp case.default.0x453299
mov eax, dword [ebx + 0x24]
lea edi, [esp + 0x30]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov ecx, dword [eax]
xor eax, eax
mov dword [esp + 0x24], ecx
mov ecx, 0x10
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x38]
push edx
push eax
call fcn.00452f70
mov ecx, dword [esp + 0x5c]
lea eax, [esp + 0x38]
and ecx, 0xbe01
or ecx, 1
mov word [esp + 0x5c], cx
mov edx, dword [esi + 8]
mov ecx, dword [ebx + 0x24]
push edx
mov edx, dword [esp + 0x30]
push eax
push ecx
call dword [edx + 0x2c]
mov ecx, dword [esp + 0x148]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
push eax
push ecx
call fcn.0045fe70
mov eax, dword [esp + 0x84]
add esp, 0x1c
test eax, eax
je 0x457c7e
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0xe8]
lea eax, [esp + 0x38]
and edx, 0xff
push edx
push eax
call fcn.00450d30
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x40]
push ecx
push edx
call fcn.00452f70
mov eax, dword [esp + 0x38]
push eax
call fcn.0045eac0
add esp, 0x14
test eax, eax
jne 0x458276
jmp case.default.0x453299
mov edx, dword [ebp + 0x40]
mov dword [esp + 0x28], 0
mov ecx, dword [esi + 4]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x2c], eax
mov cl, byte [eax + 0x1c]
test cl, cl
jne case.default.0x453299
mov ecx, dword [eax + 0x24]
mov edx, dword [ebp + 0x60]
and edx, 0xfffffff7
mov ecx, dword [ecx]
or edx, 4
mov dword [esp + 0x20], ecx
mov ecx, dword [ecx]
mov dword [ebp + 0x60], edx
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 0x24]
push eax
call dword [ecx + 0x24]
mov ecx, dword [esp + 0x24]
mov edi, eax
mov eax, dword [ebp + 0x60]
push ecx
and al, 0xf3
push ebp
mov dword [esp + 0x1c], edi
mov dword [ebp + 0x60], eax
call fcn.0045fe70
add esp, 0xc
test edi, edi
jne 0x457d37
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
mov eax, dword [edx + 0x24]
push eax
call dword [ecx + 0x28]
add esp, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
test eax, eax
jne case.default.0x453299
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453299
mov edx, dword [esi + 0x10]
push 1
mov eax, dword [edx + 8]
mov dword [esp + 0x24], eax
mov esi, dword [esi + 4]
lea ecx, [esi + esi*4]
lea edi, [edi + ecx*8]
push edi
mov dword [esp + 0x2c], edi
call fcn.00450d30
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x453299
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov ecx, dword [ecx + 4]
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0x4c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x18], eax
push edx
push ebp
call fcn.0045fe70
mov eax, dword [ebp + 0x60]
add esp, 0x10
and al, 0xdf
mov dword [ebp + 0x60], eax
jmp case.default.0x453299
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x20], eax
mov eax, dword [eax]
mov dword [esp + 0x24], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 0x34]
test edx, edx
je case.default.0x453299
mov eax, dword [ebp + 0xc]
mov dl, byte [ebx + 0x3c]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0xc]
mov byte [esp + 0xfb], dl
mov dword [esp + 0x2c], 0
lea edx, [eax + eax*4]
test ecx, ecx
lea edi, [edi + edx*8]
mov dword [esp + 0x3c], edi
jle 0x457e2f
push edi
call fcn.00453050
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
add esp, 4
mov dword [edx + ecx*4], eax
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
add edi, 0x28
inc eax
cmp eax, ecx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x2c], eax
jl 0x457dfb
mov al, byte [esi + 3]
lea ecx, [esp + 0x30]
mov byte [ebx + 0x3c], al
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x2c]
push eax
push ecx
call dword [edx + 0x34]
mov edi, eax
mov al, byte [esp + 0x10b]
mov byte [ebx + 0x3c], al
mov ecx, dword [esp + 0x30]
push ecx
push ebp
mov dword [esp + 0x28], edi
call fcn.0045fe70
add esp, 0x18
test edi, edi
jne 0x457e99
mov eax, dword [esi + 4]
test eax, eax
je 0x457e99
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [esp + 0xf0], eax
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xf4], edx
mov dword [ebx + 0x24], eax
cmp edi, 0x13
jne 0x4564c1
mov ecx, dword [esi + 0x10]
mov al, byte [ecx + 0x10]
test al, al
je 0x4564c1
mov al, byte [esi + 3]
cmp al, 4
jne 0x457ec4
mov dword [esp + 0x10], 0
jmp case.default.0x453299
cmp al, 5
jne 0x457ed5
mov eax, 2
mov byte [ebp + 0x5c], al
jmp case.default.0x453299
and eax, 0xff
mov byte [ebp + 0x5c], al
jmp case.default.0x453299
mov edx, dword [esi + 4]
mov eax, dword [ebx + 0x10]
shl edx, 4
mov ecx, dword [edx + eax + 4]
push ecx
call fcn.0044a6b0
mov ecx, dword [esp + 0x18]
add esp, 4
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 0
jmp case.default.0x453299
mov edx, dword [esi + 4]
mov eax, dword [ebx + 0x10]
mov ecx, dword [esi + 0xc]
shl edx, 4
mov edi, dword [edx + eax + 4]
xor eax, eax
test ecx, ecx
je 0x457f33
push edi
call fcn.0044a6b0
mov esi, dword [esi + 0xc]
add esp, 4
cmp eax, esi
jae 0x457f33
mov eax, esi
push eax
push edi
call fcn.00459c20
mov ecx, dword [esp + 0x1c]
add esp, 8
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x453299
mov eax, dword [ebx + 0x98]
test eax, eax
je case.default.0x453299
mov eax, dword [ebp + 0x60]
test ah, 4
jne case.default.0x453299
mov esi, dword [esi + 0x10]
test esi, esi
mov eax, esi
jne 0x457f6b
mov eax, dword [ebp + 0x98]
test eax, eax
mov dword [esp + 0x20], eax
je case.default.0x453299
push eax
push ebp
call fcn.0045f930
mov dword [esp + 0x2c], eax
mov ecx, dword [ebx + 0x9c]
push eax
push ecx
call dword [ebx + 0x98]
mov edx, dword [esp + 0x34]
push edx
push ebx
call fcn.00440050
add esp, 0x18
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
inc ecx
test eax, eax
mov dword [esp + 0x18], ecx
je 0x4531e6
jmp 0x45829b
mov dword [esp + 0x10], 9
jmp 0x4582a6
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x18]
mov dword [ebp + 0x58], eax
mov cl, byte [esi + 8]
mov byte [ebp + 0x5c], cl
mov dword [ebp + 0x54], edx
mov eax, dword [esi + 0x10]
test eax, eax
je 0x45800e
push eax
push 0x509d48
lea eax, [ebp + 0x34]
push ebx
push eax
call fcn.004509b0
mov ecx, dword [esi + 0x10]
mov edx, dword [ebp + 0x98]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esi + 4]
push edx
push eax
push str.abort_at__d_in___s_:__s
push ecx
call fcn.00441510
add esp, 0x24
jmp 0x458032
mov eax, dword [ebp + 0x58]
test eax, eax
je 0x458032
mov edx, dword [ebp + 0x98]
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 4]
push edx
push eax
push str.constraint_failed_at__d_in___s_
push ecx
call fcn.00441510
add esp, 0x10
push ebp
call fcn.0044ee00
mov esi, 5
add esp, 4
cmp eax, esi
jne 0x458179
mov dword [ebp + 0x58], esi
jmp 0x458305
mov edx, dword [ebp + 0x50]
add edx, 2
or edx, 1
mov dword [ebp + 0x50], edx
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
xor eax, eax
mov dword [ebp + 0x14], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], eax
mov ecx, dword [esi + 8]
test ecx, ecx
jle 0x4580d2
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 0x1d], 0x10
lea ecx, [edx + ecx*8]
je 0x45809b
push ecx
call fcn.0044e600
add esp, 4
test eax, eax
jne 0x458103
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
push edx
call fcn.004511b0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
push edx
call fcn.00453050
mov eax, dword [esp + 0x2c]
add esp, 8
inc eax
mov dword [esp + 0x24], eax
mov ecx, dword [esi + 8]
cmp eax, ecx
jl 0x458079
mov eax, dword [esp + 0x1c]
mov cl, byte [eax + 0x38]
test cl, cl
jne 0x458103
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x134]
inc ecx
mov esi, 0x64
mov dword [edx + 0x54], ecx
jmp 0x458305
lea eax, [esp + 0x30]
push eax
call fcn.0044e6d0
add esp, 4
mov ebp, dword [esp + 0x134]
mov eax, dword [esp + 0x1c]
push str.out_of_memory
push eax
lea ecx, [ebp + 0x34]
mov byte [eax + 0x38], 1
push ecx
call fcn.004509b0
mov ebx, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x10], 7
jmp 0x4582a6
mov dword [esp + 0x10], 0x14
jmp 0x458202
mov ecx, dword [esp + 0x18]
mov dword [edi + 0x54], ecx
mov byte [esi + 0x36], 0
mov esi, 5
mov dword [edi + 0x58], esi
jmp 0x458305
test esi, esi
je 0x45818b
push 0x204
push ebx
call fcn.0048ba00
add esp, 8
mov byte [ebx + 0x36], 1
push ebx
call fcn.0048b570
add esp, 4
mov esi, dword [ebp + 0x58]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x458305
push 1
push ebp
call fcn.00450950
mov esi, eax
add esp, 8
test esi, esi
jne 0x458305
mov dl, byte [esp + 0x20]
push ebp
mov byte [ebx + 0x36], dl
call fcn.0044ee00
mov esi, 5
add esp, 4
cmp eax, esi
jne 0x458170
mov eax, dword [esp + 0x18]
mov cl, 1
mov dword [ebp + 0x54], eax
mov al, byte [esp + 0x20]
sub cl, al
mov byte [ebx + 0x36], cl
mov dword [ebp + 0x58], esi
jmp 0x458305
mov edx, dword [esp + 0x18]
mov esi, 5
mov dword [ebp + 0x54], edx
mov dword [ebp + 0x58], esi
jmp 0x458305
push 0x10667
call fcn.0048d4d0
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x458202
mov dword [esp + 0x10], 0xd
mov ebx, dword [esp + 0x1c]
mov al, byte [ebx + 0x38]
test al, al
je 0x458217
mov dword [esp + 0x10], 7
jmp 0x458221
cmp dword [esp + 0x10], 0xc0a
je 0x45829f
mov eax, dword [esp + 0x10]
push eax
call fcn.0048bac0
mov ebp, dword [esp + 0x138]
push eax
push 0x509d48
push ebx
lea ecx, [ebp + 0x34]
push ecx
call fcn.004509b0
add esp, 0x14
jmp 0x4582a6
mov eax, 9
push eax
mov dword [esp + 0x14], eax
mov dword [ebp + 0x58], eax
call fcn.0048bac0
mov edx, dword [esp + 0x20]
push eax
push 0x509d48
lea eax, [ebp + 0x34]
push edx
push eax
call fcn.004509b0
mov ebx, dword [esp + 0x30]
add esp, 0x14
jmp 0x4582a6
mov eax, dword [esp + 0x134]
mov edx, dword [esp + 0x1c]
push str.string_or_blob_too_big
add eax, 0x34
push edx
push eax
call fcn.004509b0
add esp, 0xc
mov dword [esp + 0x10], 0x12
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x134]
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp + 0x98]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
push ecx
push edx
push eax
push str.statement_aborts_at__d:___s___s
push esi
mov dword [ebp + 0x58], esi
call fcn.00441510
push ebp
call fcn.0044ee00
add esp, 0x18
cmp esi, 0xc0a
jne 0x4582dd
mov byte [ebx + 0x38], 1
mov al, byte [esp + 0x108]
mov esi, 1
test al, al
jbe 0x458305
mov ecx, dword [esp + 0x108]
and ecx, 0xff
dec ecx
push ecx
push ebx
call fcn.00463470
add esp, 8
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
mov dword [eax + 0x20], edx
mov edx, dword [esp + 0x134]
push edx
mov dword [eax + 0x24], ecx
call fcn.0044f120
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x120
ret