Function at 0x4531e0
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.0044f180
mov eax, dword [ebp + 0x58]
add esp, 4
cmp eax, 7
je 0x4581c3
mov dword [ebp + 0x58], ebx
mov dword [ebp + 0x14], ebx
mov dword [esi + 0x1b4], ebx
mov eax, dword [esi + 0xe0]
cmp eax, ebx
jne 0x458307
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 0x4532b4
mov edi, dword [esp + 0xec]
mov ebp, dword [esp + 0x134]
mov edx, dword [esp + 0x1c]
mov al, byte [edx + 0x38]
test al, al
jne 0x4581c3
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 0x453318
mov edx, dword [ebx + 0x11c]
mov eax, dword [esp + 0x104]
cmp edx, eax
jne 0x453311
mov eax, dword [ebx + 0x118]
push eax
call dword [ebx + 0x114]
add esp, 4
test eax, eax
jne 0x458074
mov dword [esp + 0x104], eax
inc dword [esp + 0x104]
test byte [esi + 2], 2
je 0x453349
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 0x453343
mov edx, eax
push edx
call fcn.0044e7d0
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.0x453359
jmp dword [eax*4 + 0x4583fc]
mov eax, dword [ebx + 0xe0]
test eax, eax
jne 0x458307
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
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.0x453359
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.0x453359
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.0x453359
mov eax, dword [esi + 0xc]
lea ecx, [eax + eax*4]
test byte [edi + ecx*8 + 0x1c], 1
je case.default.0x453359
mov eax, dword [esi + 4]
test eax, eax
jne 0x458081
mov edi, dword [ebp + 0xa0]
test edi, edi
je 0x458081
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.00450b60
push edi
call fcn.00450210
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 0x453466
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.0x453359
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x14]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x453359
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.0x453359
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.0x453359
mov edx, dword [esi + 0x10]
mov byte [esi], 9
push edx
call fcn.00441830
mov dword [esi + 4], eax
mov al, byte [esp + 0xec]
add esp, 4
cmp al, 1
je 0x45356d
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x14]
push 0
push 1
push 0xffffffffffffffff
push eax
push ecx
call fcn.0044e380
add esp, 0x14
cmp eax, 0x12
mov dword [esp + 0x10], eax
je 0x458336
mov edx, dword [esp + 0xe8]
mov edi, dword [esp + 0x14]
and edx, 0xff
push edx
push edi
call fcn.00450df0
add esp, 8
test eax, eax
jne 0x4581c3
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 0x453559
mov ecx, dword [esi + 0x10]
mov edx, dword [esp + 0x1c]
push ecx
push edx
call fcn.00440110
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 0x458336
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.0x453359
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.0x453359
add eax, 0x28
mov dword [esp + 0x14], eax
test word [eax + 0x1c], 0x2460
je 0x4535ef
push eax
call fcn.0044e7d0
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 0x4535d3
jmp case.default.0x453359
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.0044e380
mov cl, byte [esp + 0xfc]
add esp, 0x14
mov byte [esi + 0x1f], cl
jmp case.default.0x453359
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.0045eb80
add esp, 4
test eax, eax
jne 0x458336
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
push 0x800
push ecx
push edx
call fcn.0045ebb0
add esp, 0xc
jmp case.default.0x453359
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.0x453359
xor esi, esi
mov edx, dword [edi + 0x24]
push ebx
mov dword [esp + 0x24], edx
push edi
mov dword [edi + 0x24], esi
call fcn.00453030
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 0x4536a7
mov dword [esp + 0x14], edi
jmp case.default.0x453359
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.0045ebb0
add esp, 0xc
test byte [esi + 0x1d], 0x10
je 0x453723
push esi
call fcn.0044e6c0
add esp, 4
test eax, eax
jne 0x4581c3
mov eax, dword [esp + 0x20]
mov edx, eax
dec eax
test edx, edx
mov dword [esp + 0x20], eax
je case.default.0x453359
add esi, 0x28
add ebx, 0x28
mov dword [esp + 0x14], esi
jmp 0x4536fd
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.0045ebb0
add esp, 0xc
jmp case.default.0x453359
push 0
push ebp
call fcn.00450a10
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x453359
push 1
push ebp
call fcn.00450890
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x458110
jmp case.default.0x453359
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 0x4537da
push esi
call fcn.0044e8f0
add esp, 4
jmp case.default.0x453359
test ah, 0x40
je 0x4537f0
push ebx
call fcn.0044e720
add esp, 4
test eax, eax
jne 0x4581c3
test byte [ebp + 0x1d], 0x40
je 0x453807
push ebp
call fcn.0044e720
add esp, 4
test eax, eax
jne 0x4581c3
test byte [ebx + 0x1c], 0x12
jne 0x45382c
mov edx, dword [esp + 0xe8]
and edx, 0xff
push edx
push ebx
call fcn.004512c0
add esp, 8
test eax, eax
jne 0x4581c3
test byte [ebp + 0x1c], 0x12
jne 0x453850
mov eax, dword [esp + 0xe8]
and eax, 0xff
push eax
push ebp
call fcn.004512c0
add esp, 8
test eax, eax
jne 0x4581c3
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 0x458336
jl 0x45387f
cmp esi, eax
ja 0x458336
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.0044e5a0
add esp, 0xc
test eax, eax
jne 0x4581c3
cmp esi, ebp
je 0x4538d4
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 0x4538d8
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.0x453359
mov eax, dword [esi + 4]
mov ebx, dword [esp + 0xec]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
push edi
call fcn.00453150
mov eax, dword [esi + 8]
lea ecx, [eax + eax*4]
lea ebp, [ebx + ecx*8]
push ebp
call fcn.00453150
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 0x453b91
mov al, byte [edi + 0x1c]
mov bl, byte [ebp + 0x1c]
and al, bl
and al, 4
cmp al, 4
jne 0x453aa0
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.0x4539b9
jmp dword [edx*4 + 0x45864c]
push ecx
push eax
lea eax, [esp + 0x38]
push eax
call fcn.00458790
add esp, 0xc
test eax, eax
jne 0x453aa5
jmp 0x453a78
push ecx
lea ecx, [esp + 0x34]
push eax
push ecx
call fcn.00458830
add esp, 0xc
test eax, eax
jne 0x453aa5
jmp 0x453a78
push ecx
lea edx, [esp + 0x34]
push eax
push edx
call fcn.00458890
add esp, 0xc
test eax, eax
jne 0x453aa5
jmp 0x453a78
mov edx, eax
or edx, ecx
je 0x453b91
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x453a32
test ebx, ebx
jne 0x453a32
cmp dword [esp + 0x34], 0x80000000
je 0x453aa5
push ecx
push eax
mov eax, dword [esp + 0x3c]
push eax
push ebx
call fcn.004b1440
jmp 0x453a70
mov edx, eax
or edx, ecx
je 0x453b91
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x453a63
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.004b1380
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.0x453359
mov byte [esp + 0x20], 0
push edi
call fcn.00451360
fstp qword [esp + 0x3c]
push ebp
call fcn.00451360
fstp qword [esp + 0x48]
xor eax, eax
add esp, 8
mov al, byte [esi]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x453ac8
jmp dword [eax*4 + 0x45865c]
fld qword [esp + 0x40]
fadd qword [esp + 0x38]
jmp 0x453b77
fld qword [esp + 0x40]
fsub qword [esp + 0x38]
jmp 0x453b77
fld qword [esp + 0x40]
fmul qword [esp + 0x38]
jmp 0x453b77
fld qword [esp + 0x38]
fcomp qword [0x4f21c8]
fnstsw ax
test ah, 0x40
jne 0x453b91
fld qword [esp + 0x40]
fdiv qword [esp + 0x38]
jmp 0x453b77
fld qword [esp + 0x38]
call fcn.004b0b40
fld qword [esp + 0x40]
mov esi, eax
mov edi, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
call fcn.004b0b40
mov ecx, esi
mov dword [esp + 0x30], eax
or ecx, edi
mov dword [esp + 0x34], edx
je 0x453b91
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x453b59
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.004b1380
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.004417e0
add esp, 8
test eax, eax
je 0x453ba3
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0044e8f0
add esp, 4
jmp case.default.0x453359
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.0x453359
mov al, byte [esp + 0x20]
test al, al
jne case.default.0x453359
mov eax, dword [esp + 0x14]
push eax
call fcn.0045e9c0
add esp, 4
jmp case.default.0x453359
mov esi, dword [esi + 4]
test esi, esi
je case.default.0x453359
lea ecx, [esi + esi*4]
push 0
push 0
lea edx, [edi + ecx*8]
push edx
call fcn.00451820
add esp, 0xc
jmp case.default.0x453359
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 0x453c92
mov ecx, dword [esp + 0x68]
mov dword [ecx + eax*4], edi
mov eax, dword [esp + 0x24]
test byte [eax + 0x1d], 0x10
je 0x453c6d
push eax
call fcn.0044e6c0
add esp, 4
test eax, eax
jne 0x4581c3
mov eax, dword [esp + 0x24]
push eax
call fcn.00453110
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 0x453c47
cmp byte [esi + 1], 0xfb
jne 0x453ca7
mov edx, dword [esi + 0x10]
xor ebx, ebx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ebx
jmp 0x453cb6
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.00453030
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 0x453d08
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 0x453d69
mov ecx, dword [esi + 4]
push ecx
push eax
call fcn.0044ec90
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 0x4581b6
cmp dword [esp + 0x60], ebx
je 0x453da6
lea eax, [esp + 0x30]
push eax
call fcn.00451680
mov ecx, dword [esp + 0x138]
push eax
push 0x509d38
add ecx, 0x34
push edi
push ecx
call fcn.00450a70
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.00450df0
lea edx, [esp + 0x38]
push edx
push ebp
call fcn.00453030
push ebp
jmp 0x457d6a
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 0x453e08
push edi
call fcn.0044e8f0
add esp, 4
jmp case.default.0x453359
push ecx
call fcn.004513e0
push ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
call fcn.004513e0
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 0x453e4e
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 0x453f5d
cmp al, 0x53
jne 0x453e6b
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 0x453f5d
mov ecx, ebx
or ecx, ebp
je 0x453f5d
test ebp, ebp
jg 0x453eaf
jl 0x453e7f
test ebx, ebx
jae 0x453ea4
mov dl, 0xa9
sub dl, al
cmp ebp, 0xffffffff
mov al, dl
mov byte [esp + 0x38], al
jl 0x453ed6
jg 0x453e95
cmp ebx, 0xffffffc0
jbe 0x453ed6
neg ebx
adc ebp, 0
mov dword [esp + 0x30], ebx
neg ebp
mov dword [esp + 0x34], ebp
test ebp, ebp
jl 0x453ef5
jg 0x453eaf
cmp ebx, 0x40
jb 0x453ef5
mov ecx, dword [esp + 0x24]
test ecx, ecx
jg 0x453ee8
jl 0x453ec1
mov ecx, dword [esp + 0x20]
test ecx, ecx
jae 0x453ee8
cmp al, 0x54
je 0x453ee8
or eax, 0xffffffff
cdq
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jmp 0x453f5d
mov dword [esp + 0x30], 0x40
mov dword [esp + 0x34], 0
jmp 0x453eaf
xor eax, eax
cdq
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jmp 0x453f5d
cmp al, 0x54
mov eax, dword [esp + 0x20]
mov ecx, ebx
jne 0x453f12
mov edx, dword [esp + 0x24]
call fcn.004b1600
mov esi, eax
mov ebp, edx
mov dword [esp + 0x28], esi
jmp 0x453f51
mov edi, dword [esp + 0x24]
mov edx, edi
call fcn.004b15e0
mov esi, eax
mov ebp, edx
test edi, edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebp
jg 0x453f55
jl 0x453f37
mov eax, dword [esp + 0x20]
test eax, eax
jae 0x453f55
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, ebx
or edx, 0xffffffff
call fcn.004b1600
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.0x453359
mov eax, dword [esi + 4]
lea edx, [eax + eax*4]
lea edi, [edi + edx*8]
push edi
call fcn.0045ea20
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.0x453359
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.0045fed0
mov ax, word [edi + 0x1c]
add esp, 0xc
test al, 4
jne 0x454502
mov esi, dword [esi + 8]
test esi, esi
je 0x4581f5
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
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.0x453359
push eax
call fcn.0045ea50
add esp, 4
jmp case.default.0x453359
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.0x453359
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.0045fed0
add esp, 0xc
test byte [edi + 0x1d], 0x40
je 0x454065
push edi
call fcn.0044e720
add esp, 4
and word [edi + 0x1c], 0xbfe3
mov dword [esp + 0x10], eax
jmp case.default.0x453359
and word [edi + 0x1c], 0xbfe3
mov dword [esp + 0x10], 0
jmp case.default.0x453359
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.0x453359
test al, 0x10
jne 0x4540bb
mov ecx, dword [esp + 0xe8]
push ecx
push 0x61
push esi
call fcn.0045fed0
mov dx, word [esi + 0x1c]
add esp, 0xc
and edx, 0xbe10
or edx, 0x10
mov word [esi + 0x1c], dx
jmp case.default.0x453359
and eax, 0xfe10
mov word [esi + 0x1c], ax
jmp case.default.0x453359
mov esi, dword [esi + 4]
lea eax, [esi + esi*4]
lea ecx, [edi + eax*8]
push ecx
call fcn.0045ea80
add esp, 4
jmp case.default.0x453359
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.0x453359
push eax
call fcn.0045ea20
add esp, 4
jmp case.default.0x453359
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.0x453359
push eax
call fcn.0045ea50
add esp, 4
jmp case.default.0x453359
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 0x4541c3
test al, 0x80
je 0x454194
test dl, 1
je 0x454186
test byte [esp + 0x28], 1
je 0x454186
mov eax, dword [esp + 0x28]
test ah, 1
jne 0x454186
xor eax, eax
mov dword [esp + 0x20], eax
jmp 0x454257
mov eax, 1
mov dword [esp + 0x20], eax
jmp 0x454257
test al, 0x10
je 0x4541bc
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.0x453359
test al, 8
jmp 0x45690c
and al, 0x67
mov byte [esp + 0x24], al
je 0x45420d
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0x24]
push ecx
push edx
push ebp
call fcn.0045fed0
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x108]
push eax
push ecx
push edx
call fcn.0045fed0
mov al, byte [ebx + 0x38]
add esp, 0x18
test al, al
jne 0x4581c3
mov ecx, dword [esp + 0xfc]
mov ebx, 0x4000
test word [ebp + 0x1c], bx
je 0x454228
push ebp
call fcn.0044e720
mov ecx, dword [esp + 0x100]
add esp, 4
test word [ecx + 0x1c], bx
je 0x45423e
push ecx
call fcn.0044e720
mov ecx, dword [esp + 0x100]
add esp, 4
mov eax, dword [esi + 0x10]
push eax
push ebp
push ecx
call fcn.0045ec00
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.0x454263
jmp dword [edx*4 + 0x45866c]
xor edx, edx
test eax, eax
sete dl
jmp 0x45429e
xor edx, edx
test eax, eax
setne dl
jmp 0x45429e
xor edx, edx
test eax, eax
setl dl
jmp 0x45429e
xor edx, edx
test eax, eax
setle dl
jmp 0x45429e
xor edx, edx
test eax, eax
setg dl
jmp 0x45429e
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 0x4542d8
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 0x4542e4
test eax, eax
je 0x4542e4
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.0x453359
mov eax, dword [esi + 0x10]
mov dword [esp + 0x100], eax
jmp case.default.0x453359
test byte [esi + 3], 1
jne 0x454335
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 0x4543f8
mov ebp, dword [esp + 0x100]
mov edi, dword [esp + 0xec]
jmp 0x454373
mov edx, dword [esp + 0x30]
test ebp, ebp
je 0x45437d
mov ecx, dword [ebp + eax*4]
jmp 0x45437f
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.0045ec00
add esp, 0xc
mov dword [esp + 0x110], eax
test eax, eax
jne 0x4543e7
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
inc eax
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x45436f
mov dword [esp + 0x100], 0
jmp case.default.0x453359
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x4543f8
neg eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x100], 0
jmp case.default.0x453359
mov eax, dword [esp + 0x110]
test eax, eax
jge 0x454420
mov esi, dword [esi + 4]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
jne 0x45442f
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
mov esi, dword [esi + 0xc]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
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 0x454455
mov ecx, 2
jmp 0x45446b
push eax
call fcn.004513e0
add esp, 4
or eax, edx
je 0x454469
mov ecx, 1
jmp 0x45446b
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 0x45448c
mov eax, 2
mov dword [esp + 0x24], eax
jmp 0x4544aa
push eax
call fcn.004513e0
add esp, 4
or eax, edx
je 0x4544a0
mov eax, 1
jmp 0x4544a2
xor eax, eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
cmp byte [esi], 0x45
jne 0x4544bd
lea edx, [eax + ecx*2]
xor eax, eax
mov al, byte [ecx + edx + 0x4ef3c8]
jmp 0x4544cb
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 0x4544f7
mov dx, word [edi + 0x1c]
and edx, 0xbe01
or edx, 1
mov word [edi + 0x1c], dx
jmp case.default.0x453359
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.0x453359
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 0x45453c
push edi
call fcn.0044e8f0
add esp, 4
jmp case.default.0x453359
push eax
call fcn.004513e0
add esp, 4
or eax, edx
jne 0x45455f
mov eax, 1
cdq
push edx
push eax
push edi
call fcn.00451820
add esp, 0xc
jmp case.default.0x453359
xor eax, eax
cdq
push edx
push eax
push edi
call fcn.00451820
add esp, 0xc
jmp case.default.0x453359
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 0x45459c
push esi
call fcn.0044e8f0
add esp, 4
jmp case.default.0x453359
push eax
call fcn.004513e0
not edx
not eax
push edx
push eax
push esi
call fcn.00451820
add esp, 0x10
jmp case.default.0x453359
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0xb8]
add eax, edx
cmp byte [eax], 0
je 0x4545d3
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
mov byte [eax], 1
jmp case.default.0x453359
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 0x4545f8
mov eax, dword [esi + 0xc]
mov dword [esp + 0x20], eax
jmp 0x45690a
push edi
call fcn.00451360
fcomp qword [0x4f21c8]
add esp, 4
fnstsw ax
test ah, 0x40
jne 0x454615
mov eax, 1
jmp 0x454617
xor eax, eax
mov dword [esp + 0x20], eax
mov cl, byte [esi]
cmp cl, 0x1c
jne 0x45690a
xor edx, edx
test eax, eax
sete dl
mov eax, edx
mov dword [esp + 0x20], eax
jmp 0x45690a
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
jmp 0x45690c
mov eax, dword [esi + 4]
lea ecx, [eax + eax*4]
test byte [edi + ecx*8 + 0x1c], 1
jne case.default.0x453359
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
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 0x454764
push eax
call fcn.0045ef20
add esp, 4
cmp eax, ebp
mov dword [esp + 0x10], eax
jne 0x4582c2
mov eax, dword [esp + 0x38]
mov cl, byte [eax + 0x1c]
test cl, cl
je 0x4546e8
mov dword [esp + 0x20], ebp
jmp 0x454738
mov ecx, dword [esp + 0x134]
mov edx, dword [eax + 0x50]
cmp edx, dword [ecx + 0x50]
jne 0x454707
mov edx, dword [eax + 0x54]
mov dword [esp + 0x20], edx
mov ecx, dword [eax + 0x60]
mov dword [esp + 0x3c], ecx
jmp 0x45472c
mov cl, byte [eax + 0x1f]
test cl, cl
je 0x454750
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x28]
push edx
push eax
call fcn.0044dd60
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 0x4547fe
mov edx, dword [esp + 0x5c]
mov ax, word [edx + 0x1c]
and eax, 0xbe01
or al, 1
mov word [edx + 0x1c], ax
jmp case.default.0x453359
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x20]
push edx
push eax
call fcn.00459ef0
add esp, 8
jmp 0x454728
mov ecx, dword [eax + 0x10]
cmp ecx, ebp
jle 0x4547e6
lea ecx, [ecx + ecx*4]
lea ecx, [edi + ecx*8]
mov dword [esp + 0xa4], ecx
cmp byte [eax + 0x22], 0
je 0x4547bb
mov eax, dword [esp + 0x34]
push 0x1000
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
push ecx
push edx
call fcn.0045ebb0
mov eax, dword [esp + 0x68]
add esp, 0xc
test byte [eax + 0x1d], 0x10
je case.default.0x453359
push eax
call fcn.0044e6c0
add esp, 4
test eax, eax
jne 0x4581c3
jmp case.default.0x453359
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 0x4547db
xor ecx, ecx
mov dword [eax + 0x50], ecx
jmp 0x454728
mov ecx, dword [ebx + 0x50]
mov dword [eax + 0x50], ecx
jmp 0x454728
mov dword [esp + 0x20], ebp
mov ax, word [edx + 0x1c]
and eax, 0xbe01
or al, 1
mov word [edx + 0x1c], ax
jmp case.default.0x453359
mov edx, dword [esp + 0x1c]
cmp ecx, dword [edx + 0x50]
ja 0x458336
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 0x454836
mov eax, dword [eax + 0x5c]
mov dword [esp + 0x48], eax
jmp 0x454ae9
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 0x45486c
mov dword [esp + 0x58], edx
jmp 0x4548cb
mov edx, dword [esp + 0x38]
mov al, byte [edx + 0x1f]
test al, al
je 0x45488b
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x9c]
push eax
push ecx
call fcn.0045a060
jmp 0x45489d
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x9c]
push edx
push eax
call fcn.0045a0f0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xa4]
add esp, 8
cmp ecx, edx
mov dword [esp + 0x58], eax
ja 0x4548c0
mov edx, dword [esp + 0x38]
mov dword [esp + 0x3c], eax
mov dword [edx + 0x60], eax
jmp 0x4548c7
mov eax, dword [esp + 0x38]
mov dword [eax + 0x60], ebx
mov edx, dword [esp + 0x58]
mov cl, byte [edx]
cmp cl, 0x80
jae 0x4548e6
and ecx, 0xff
mov eax, 1
mov dword [esp + 0x90], ecx
jmp 0x454907
lea ecx, [esp + 0x90]
push ecx
push edx
call fcn.0044c9a0
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 0x454931
push 0x102eb
call fcn.0048d590
add esp, 4
mov dword [esp + 0x10], eax
jmp case.default.0x453359
mov edi, dword [esp + 0x4c]
lea eax, [edi + edi*4 + 3]
cmp eax, ecx
mov dword [esp + 0x50], eax
jle 0x454947
mov eax, ecx
mov dword [esp + 0x50], eax
cmp dword [esp + 0x3c], ebx
jne 0x4549a3
cmp dword [esp + 0x9c], eax
jge 0x4549a3
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.0045ee20
add esp, 0x14
cmp eax, ebx
mov dword [esp + 0x10], eax
jne case.default.0x453359
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 0x454a9c
mov edx, dword [esp + 0x8c]
mov edi, dword [esp + 0x88]
cmp edi, edx
mov edx, dword [esp + 0x48]
jae 0x454a68
mov dword [edx + eax*4], ecx
mov ecx, dword [esp + 0x88]
mov al, byte [ecx]
cmp al, 0x80
jae 0x454a03
and eax, 0xff
inc ecx
mov dword [esp + 0xa0], eax
jmp 0x454a22
lea eax, [esp + 0xa0]
push eax
push ecx
call fcn.0044c9a0
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.0045f110
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 0x454a8d
jmp 0x454a76
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 0x4549ca
jmp 0x454a9c
mov eax, dword [esp + 0x8c]
inc eax
mov dword [esp + 0x88], eax
lea ecx, [esp + 0x60]
push ecx
call fcn.0044e790
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
add esp, 4
cmp eax, ecx
mov word [esp + 0x7c], 1
ja 0x454c6f
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x20]
cmp edx, edi
ja 0x454c6f
cmp eax, ecx
jne 0x454ae5
cmp edx, edi
jne 0x454c6f
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x48]
cmp dword [edx + eax*4], 0
je 0x454bf0
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x454b3c
mov edx, dword [esp + 0x5c]
test word [edx + 0x1c], 0x2460
je 0x454b24
push edx
call fcn.0044e7d0
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 0x454bd8
mov eax, dword [ecx + eax*4]
mov dword [esp + 0xa0], eax
mov cl, byte [esi + 3]
test cl, 0xc0
je 0x454b70
cmp eax, 0xc
jb 0x454b5a
mov dl, al
test dl, 1
je 0x454b5f
test cl, 0x80
je 0x454b70
cmp eax, 0xc
lea edx, [esp + 0x28]
sbb ecx, ecx
and ecx, edx
mov dword [esp + 0x58], ecx
jmp 0x454bd1
push eax
call fcn.0045f110
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0x64]
push eax
push ecx
call fcn.00453030
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.0045ee20
add esp, 0x20
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x453359
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.0045f200
mov eax, dword [esp + 0x68]
mov cl, byte [esp + 0xf4]
add esp, 0xc
mov byte [eax + 0x1f], cl
jmp 0x454c23
cmp byte [esi + 1], 0xf8
jne 0x454c0e
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x5c]
push 0x800
push edx
push eax
call fcn.0045ebb0
add esp, 0xc
jmp 0x454c23
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 0x454c59
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.0044e6c0
add esp, 4
mov dword [esp + 0x10], eax
jmp case.default.0x453359
push 0x1033b
call fcn.0048d590
add esp, 4
mov dword [esp + 0x10], eax
jmp case.default.0x453359
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.0x453359
mov edi, dword [esp + 0xe8]
mov ebx, 0x4000
test word [esi + 0x1c], bx
je 0x454cc4
push esi
call fcn.0044e720
add esp, 4
mov edx, dword [esp + 0x24]
push edi
push edx
push esi
call fcn.0045fed0
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 0x454cb5
jmp case.default.0x453359
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 0x454e2c
jmp 0x454d58
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x4c]
test ebx, ebx
je 0x454d8a
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.0045fed0
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov esi, 0x4000
test word [ecx + 0x1c], si
je 0x454da9
mov eax, dword [ecx + 0x18]
test eax, eax
jle 0x454da9
push ecx
call fcn.0044e720
mov ecx, dword [esp + 0x28]
add esp, 4
mov eax, dword [esp + 0x5c]
push eax
push ecx
call fcn.0045f010
push eax
mov dword [esp + 0x54], eax
call fcn.0045f110
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.00458760
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 0x454e09
mov edx, dword [ecx + 0x10]
mov eax, dword [esp + 0x40]
add eax, edx
mov dword [esp + 0x40], eax
jmp 0x454e19
mov eax, dword [esp + 0x64]
test eax, eax
je 0x454e19
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x50]
add ecx, 0x28
cmp ecx, eax
mov dword [esp + 0x24], ecx
jbe 0x454d50
mov eax, dword [esp + 0x30]
cdq
push edx
push eax
call fcn.00458760
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.00458760
mov ecx, dword [esp + 0x54]
add esp, 0x10
cmp ecx, eax
jge 0x454e5f
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 0x458336
jl 0x454ea3
cmp esi, eax
ja 0x458336
push 0
push esi
mov esi, dword [esp + 0x1c]
push esi
call fcn.0044e5a0
add esp, 0xc
test eax, eax
jne 0x4581c3
mov ecx, dword [esp + 0x30]
mov eax, dword [esi + 4]
cmp ecx, 0x80
mov dword [esp + 0x20], eax
jae 0x454ed7
mov byte [eax], cl
mov eax, 1
jmp 0x454ee1
push ecx
push eax
call fcn.00458680
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 0x454f5f
mov edx, dword [esp + 0x5c]
push edx
push eax
call fcn.0045f010
add esp, 8
cmp eax, 0x80
mov dword [esp + 0x48], eax
jae 0x454f25
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x20]
mov byte [ecx + edx], al
mov eax, 1
jmp 0x454f39
mov ecx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x24]
add ecx, eax
push ecx
call fcn.00458680
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 0x454efa
mov eax, dword [esp + 0x4c]
cmp eax, ecx
mov dword [esp + 0x24], eax
ja 0x454fa4
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.0045f130
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 0x454f67
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 0x454fc9
mov dword [esi + 0x10], eax
mov word [esi + 0x1c], 0x4410
mov byte [esi + 0x1f], 1
jmp case.default.0x453359
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 0x454ffb
lea ecx, [esp + 0x20]
push ecx
push eax
call fcn.0045da10
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x455003
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.0x453359
mov eax, dword [esi + 4]
mov dword [esp + 0x20], eax
mov esi, dword [esi + 0x10]
test eax, eax
mov dword [esp + 0x24], esi
jne 0x455104
mov eax, dword [ebx + 0x88]
test eax, eax
jle 0x455044
push str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x4553ce
push esi
call fcn.00441830
mov dword [esp + 0x2c], eax
mov edx, dword [ebx + 0x1e4]
add edx, dword [ebx + 0x1e0]
push edx
push 0
push ebx
call fcn.00468900
add esp, 0x10
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4582c2
mov eax, dword [esp + 0x28]
add eax, 0x19
push eax
push ebx
call fcn.00440390
add esp, 8
mov dword [esp + 0x2c], eax
test eax, eax
je case.default.0x453359
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 0x4550c8
mov byte [eax + 0x36], 0
mov byte [eax + 0x3d], 1
jmp 0x4550ce
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.0x453359
mov dword [esp + 0x38], 0
mov ebx, dword [ebx + 0x1d8]
test ebx, ebx
mov dword [esp + 0x30], ebx
je 0x455150
mov ecx, dword [esp + 0x24]
mov edx, dword [ebx]
push ecx
push edx
call fcn.00441850
add esp, 8
test eax, eax
je 0x455148
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 0x45511a
jmp 0x455150
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x45517f
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.00450a70
add esp, 0x10
mov dword [esp + 0x10], 1
jmp case.default.0x453359
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x88]
test eax, eax
mov eax, dword [esp + 0x20]
jle 0x4551ac
cmp eax, 1
jne 0x4551ac
mov ecx, dword [esp + 0x134]
push str.cannot_release_savepoint___SQL_statements_in_progress
add ecx, 0x34
push esi
push ecx
jmp 0x4553d3
mov edx, dword [ecx + 0x10]
test edx, edx
jne 0x45520e
mov cl, byte [esi + 0x3d]
test cl, cl
je 0x45520e
mov ebx, 1
cmp eax, ebx
jne 0x455210
mov edx, dword [esp + 0x134]
push ebx
push edx
call fcn.00450a10
mov esi, eax
add esp, 8
test esi, esi
jne 0x4583c5
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x134]
push edi
mov byte [esi + 0x36], bl
call fcn.0044eec0
add esp, 4
cmp eax, 5
je 0x458202
mov byte [esi + 0x3d], 0
mov eax, dword [edi + 0x58]
mov dword [esp + 0x10], eax
jmp 0x4552dc
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 0x45525c
xor eax, eax
mov dword [esp + 0x3c], eax
mov edx, dword [esi + 0x14]
test edx, edx
jle 0x45525c
mov ecx, dword [esi + 0x10]
push 4
shl eax, 4
mov edx, dword [eax + ecx + 4]
push edx
call fcn.0044dcc0
mov eax, dword [esp + 0x44]
add esp, 8
inc eax
mov dword [esp + 0x3c], eax
mov ecx, dword [esi + 0x14]
cmp eax, ecx
jl 0x455233
mov ecx, dword [esp + 0x38]
xor eax, eax
mov dword [esp + 0x3c], eax
mov edx, dword [esi + 0x14]
test edx, edx
jle 0x4552ac
mov edx, dword [esp + 0x1c]
jmp 0x455273
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.00450990
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4582c2
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 0x45526f
mov eax, dword [esp + 0x20]
mov edi, 2
cmp eax, edi
jne 0x4552dc
mov esi, dword [esp + 0x1c]
test byte [esi + 0x18], 2
je 0x4552e0
push esi
call fcn.0045f9d0
push esi
call fcn.00463570
mov eax, dword [esi + 0x18]
add esp, 8
or eax, edi
mov dword [esi + 0x18], eax
jmp 0x4552e0
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x1d8]
mov ecx, dword [esp + 0x30]
cmp eax, ecx
je 0x455324
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.00440110
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 0x4552ee
cmp dword [esp + 0x20], 1
jne 0x455356
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x1d8], eax
mov ecx, dword [esp + 0x30]
push ecx
push esi
call fcn.00440110
add esp, 8
test ebx, ebx
jne case.default.0x453359
mov eax, dword [esp + 0x1c]
dec dword [eax + 0x1e0]
jmp 0x455376
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.0x453359
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
push ecx
push edx
push eax
call fcn.00468900
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4582c2
jmp case.default.0x453359
mov eax, dword [esi + 4]
mov dword [esp + 0x20], eax
mov esi, dword [esi + 8]
test eax, eax
mov dword [esp + 0x24], esi
je 0x4553e8
mov cl, byte [ebx + 0x36]
test cl, cl
jne 0x4553e8
test esi, esi
mov dword [esp + 0x28], 1
jne 0x4553f0
mov ecx, dword [ebx + 0x88]
test ecx, ecx
jle 0x4553f0
push str.cannot_commit_transaction___SQL_statements_in_progress
add ebp, 0x34
push ebx
push ebp
call fcn.00450a70
add esp, 0xc
mov dword [esp + 0x10], 5
jmp case.default.0x453359
mov dword [esp + 0x28], 0
xor ecx, ecx
mov cl, byte [ebx + 0x36]
cmp eax, ecx
jne 0x45821a
test eax, eax
jne 0x455408
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x455416
test esi, esi
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x455416
mov eax, str.cannot_commit___no_transaction_is_active
push eax
add ebp, 0x34
push ebx
push ebp
call fcn.00450a70
add esp, 0xc
mov dword [esp + 0x10], 1
jmp case.default.0x453359
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.0x453359
mov ecx, dword [esi + 8]
push ecx
push eax
call fcn.0044aa10
add esp, 8
cmp eax, 5
mov dword [esp + 0x10], eax
je 0x458293
test eax, eax
jne 0x4582c2
mov eax, dword [esi + 8]
test eax, eax
je case.default.0x453359
test byte [ebp + 0x60], 0x80
je case.default.0x453359
mov al, byte [ebx + 0x36]
test al, al
je 0x455495
cmp dword [ebx + 0x84], 1
jle case.default.0x453359
mov eax, dword [ebp + 0x70]
test eax, eax
jne 0x4554b6
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.00468900
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4554e3
mov ecx, dword [ebp + 0x70]
mov edx, dword [esp + 0x20]
push ecx
push edx
call fcn.00459db0
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.0x453359
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.0044d650
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.0x453359
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.0045ea20
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.0044d690
mov dword [esp + 0x20], eax
mov eax, dword [esi + 8]
add esp, 0x10
cmp eax, 1
jne 0x455593
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 0x4555a5
cmp eax, 2
jne 0x4555a5
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.0x453359
push ebx
call fcn.0045f9d0
mov eax, dword [ebp + 0x60]
add esp, 4
and al, 0xdf
mov dword [ebp + 0x60], eax
jmp case.default.0x453359
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 0x4555fc
lea edx, [esp + 0x20]
push edx
push 1
push eax
call fcn.0044d650
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 0x455606
mov dword [esp + 0x20], 0
xor eax, eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
cmp ecx, dword [esi + 8]
jne 0x45561c
cmp eax, dword [esi + 0xc]
je case.default.0x453359
mov edx, dword [ebp + 0x34]
push edx
push ebx
call fcn.00440110
push str.database_schema_has_changed
push ebx
call fcn.00451ba0
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 0x45565a
push esi
push ebx
call fcn.00463530
add esp, 8
mov eax, dword [ebp + 0x60]
mov dword [esp + 0x10], 0x11
or al, 0x20
mov dword [ebp + 0x60], eax
jmp case.default.0x453359
test byte [ebp + 0x60], 0x20
je 0x455682
mov dword [esp + 0x10], 4
jmp case.default.0x453359
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 0x4556cc
mov bl, byte [ebp + 0x5d]
mov dword [esp + 0x30], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, bl
jae 0x4556d4
mov byte [ebp + 0x5d], al
jmp 0x4556d4
mov dword [esp + 0x30], 0
test byte [esi + 3], 2
je 0x4556fd
lea ecx, [edx + edx*4]
lea edi, [edi + ecx*8]
push edi
call fcn.0045ea20
mov edi, dword [edi + 0x10]
add esp, 4
cmp edi, 2
mov dword [esp + 0x28], edi
jl 0x4582a7
mov ecx, dword [esp + 0x20]
mov al, byte [esi + 1]
cmp al, 0xfa
jne 0x455727
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 0x45572e
cmp al, 0xf2
jne 0x455732
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.0045fdd0
add esp, 0x14
mov dword [esp + 0x38], eax
test eax, eax
je 0x4581c3
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.00459de0
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.0045e9b0
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.0x453359
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push 1
push 0xffffffffffffffff
push edx
push eax
push ebp
call fcn.0045fdd0
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
je 0x4581c3
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.00458fe0
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4558e5
mov edx, dword [esp + 0x20]
push 1
mov eax, dword [edx + 4]
push eax
call fcn.0044aa10
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4558e5
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4558c0
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.0045d380
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4558b6
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.00459de0
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 0x4558e5
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.00459de0
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.0x453359
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push 1
push 0xffffffffffffffff
push edx
push eax
push ebp
call fcn.0045fdd0
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
je 0x4581c3
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.00461080
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x453359
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 4]
push 0
push 0xffffffffffffffff
push edx
push eax
push ebp
call fcn.0045fdd0
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
je 0x4581c3
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.0x453359
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x40]
mov eax, dword [edx + ecx*4]
push eax
push ebp
call fcn.0044f360
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x40]
add esp, 8
mov dword [edx + ecx*4], 0
jmp case.default.0x453359
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 0x45745a
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 0x455bcd
mov eax, dword [esi + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
push edi
call fcn.00453150
push edi
call fcn.004513e0
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 0x455b75
test al, 8
je 0x456912
mov eax, dword [esp + 0x50]
xor ebx, ebx
cmp eax, ebx
jne 0x455b1b
mov ecx, dword [esp + 0x54]
mov eax, SysReAllocStringLen
cmp ecx, eax
jne 0x455b1b
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], eax
fild qword [esp + 0x128]
fcomp qword [edi + 8]
fnstsw ax
test ah, 0x41
je 0x455a9b
fld qword [edi + 8]
fcomp qword [0x4f21c8]
fnstsw ax
test ah, 0x41
jne 0x455b1b
mov dword [esp + 0x20], 1
fld qword [edi + 8]
fcomp qword [0x4f21c8]
fnstsw ax
test ah, 1
mov eax, dword [esp + 0x24]
je 0x455ae9
cmp eax, 0x30
jl 0x456912
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x20]
push edx
mov ecx, dword [eax]
push ecx
call fcn.0045a110
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x4582c2
cmp dword [esp + 0x20], ebx
jmp 0x45690c
cmp eax, 0x2f
jg 0x456912
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x20]
push edx
mov ecx, dword [eax]
push ecx
call fcn.0045a3e0
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x4582c2
cmp dword [esp + 0x20], ebx
jmp 0x45690c
mov eax, dword [esp + 0x24]
cmp eax, 0x2e
je 0x455b50
cmp eax, 0x30
je 0x455b50
fild qword [esp + 0x50]
fcomp qword [edi + 8]
fnstsw ax
test ah, 0x41
jne 0x455b77
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 0x455b77
fild qword [esp + 0x50]
fcomp qword [edi + 8]
fnstsw ax
test ah, 1
je 0x455b77
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 0x455b77
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.0045a4b0
add esp, 0x18
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x4582c2
cmp dword [esp + 0x20], ebx
jne 0x455c3b
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 0x455c3b
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 0x455c0b
push edi
call fcn.0044e720
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.0045a4b0
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4582c2
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 0x455c8d
cmp eax, ebx
jl 0x455c6b
jne 0x455c62
cmp ecx, 0x31
je 0x455c6b
mov dword [esp + 0x20], ebx
jmp case.default.0x453359
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x20]
push edx
mov ecx, dword [eax]
push ecx
call fcn.0045a850
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x4582c2
jmp 0x455ccd
cmp eax, ebx
jg 0x455cad
jne 0x455c98
cmp ecx, 0x2e
je 0x455cad
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push ecx
call fcn.0045a840
add esp, 4
mov dword [esp + 0x20], eax
jmp 0x455cd5
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x20]
push edx
mov ecx, dword [eax]
push ecx
call fcn.0045a9b0
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x4582c2
mov edx, dword [esp + 0x28]
mov byte [edx + 0x19], 0
cmp dword [esp + 0x20], ebx
je case.default.0x453359
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
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.0x453359
mov byte [eax + 0x1c], 0
mov esi, dword [esi + 8]
lea edx, [esi + esi*4]
lea eax, [edi + edx*8]
push eax
call fcn.004513e0
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.0x453359
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 0x455e40
mov ecx, dword [esi + 0x10]
test ecx, ecx
jle 0x455d8b
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 0x455de0
mov eax, dword [eax + 8]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x54]
push 0x97
push edx
push eax
call fcn.0045f450
add esp, 0x10
mov dword [esp + 0x30], eax
test eax, eax
je 0x4581c3
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.0045f4c0
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.0045a4b0
mov edi, eax
mov eax, dword [esi + 0x10]
add esp, 0x18
mov dword [esp + 0x10], edi
test eax, eax
jne 0x455e16
mov eax, dword [esp + 0x2c]
push eax
push ebx
call fcn.00440110
add esp, 8
test edi, edi
jne case.default.0x453359
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 0x455e5a
test edx, edx
je case.default.0x453359
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
test edx, edx
jne case.default.0x453359
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
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 0x455ee5
mov eax, dword [esp + 0x20]
and eax, 0xffff
lea eax, [eax + eax*4]
test byte [ebp + eax*8 + 0x1c], 1
jne 0x455f7a
inc di
cmp di, dx
mov word [esp + 0x20], di
jb 0x455ec2
mov eax, dword [esp + 0x28]
test eax, eax
je case.default.0x453359
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.0045ea20
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.0045a4b0
mov dword [esp + 0x2c], eax
mov al, byte [esp + 0x5a]
add esp, 0x1c
test al, 4
jne 0x45745a
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x50]
cmp eax, ecx
jne 0x455f6b
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x54]
cmp edx, ecx
je 0x45745a
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x14], eax
jmp case.default.0x453359
mov esi, dword [esi + 8]
mov dword [esp + 0x28], 0
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
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 0x45602e
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.0045a4b0
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 0x456022
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.0x453359
mov esi, dword [esi + 8]
mov dword [ecx + 0x4c], 0
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
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.0x453359
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 0x45632b
mov cl, byte [edx + 0x1b]
test cl, cl
jne 0x45622a
push eax
call fcn.00459ee0
mov ecx, eax
add esp, 4
or ecx, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jne 0x45614a
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x2c]
push edx
mov ecx, dword [eax]
push ecx
call fcn.0045a3e0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4582c2
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4560fb
mov eax, 1
xor edx, edx
mov dword [esp + 0x20], eax
jmp 0x456146
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x20]
push edx
mov ecx, dword [eax]
push ecx
call fcn.0044dd60
mov edx, dword [esp + 0x2c]
add esp, 8
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
cmp edx, 0x7fffffff
jl 0x45613c
jg 0x45612a
cmp eax, 0xffffffff
jb 0x45613c
mov edx, dword [esp + 0x28]
mov byte [edx + 0x1b], 1
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
jmp 0x45614a
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 0x4561fa
mov ebp, dword [ebp + 0xa0]
test ebp, ebp
je 0x456187
mov ecx, ebp
mov dword [esp + 0x38], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x456179
mov ecx, eax
mov dword [esp + 0x38], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x45616c
mov esi, dword [esi + 0xc]
mov ecx, dword [ecx + 0xc]
lea eax, [esi + esi*4]
lea edi, [ecx + eax*8]
jmp 0x45618d
lea edx, [ebx + ebx*4]
lea edi, [edi + edx*8]
push edi
mov dword [esp + 0x38], edi
call fcn.0045ea20
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 0x4561b8
cmp ecx, 0x7fffffff
je 0x4582ba
mov esi, dword [esp + 0x28]
mov bl, byte [esi + 0x1b]
test bl, bl
jne 0x4582ba
mov esi, dword [esp + 0x24]
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x4561e5
jl 0x4561dd
cmp dword [esp + 0x20], eax
jae 0x4561e5
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 0x456211
jl 0x456209
cmp eax, 0xffffffff
jae 0x456211
add eax, 1
adc edx, 0
jmp 0x456215
xor eax, eax
xor edx, edx
mov ecx, dword [esp + 0x28]
push edx
push eax
mov edx, dword [ecx]
push edx
call fcn.00459ea0
mov edx, dword [esp + 0x34]
add esp, 0xc
mov al, byte [edx + 0x1b]
test al, al
je 0x456314
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.0045a4b0
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x456310
mov esi, 5
mov edx, dword [esp + 0x2c]
test edx, edx
jne 0x456300
mov ecx, dword [esp + 0x30]
inc ecx
cmp ecx, 0x64
mov dword [esp + 0x30], ecx
jge 0x456300
lea ecx, [esp + 0x20]
push ecx
push 8
call fcn.00441670
mov eax, dword [esp + 0x38]
add esp, 8
cmp eax, esi
mov eax, dword [esp + 0x20]
jge 0x4562c4
mov ecx, dword [esp + 0x24]
and eax, 0xffffff
and ecx, 0
jmp 0x4562ce
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.0045a4b0
add esp, 0x18
test eax, eax
je 0x456285
mov dword [esp + 0x10], eax
jmp 0x456310
test eax, eax
mov dword [esp + 0x10], eax
jne 0x456310
test edx, edx
je 0x4582ba
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.0x453359
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 0x45637b
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 0x456380
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
test byte [esi + 3], 1
je 0x45638d
inc dword [ebp + 0x64]
test byte [esi + 3], 2
je 0x4563af
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 0x4563c7
xor eax, eax
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x20]
mov dword [edx + 0x18], eax
mov ecx, dword [esp + 0x20]
jmp 0x4563c9
xor eax, eax
test byte [esi + 3], 0x10
je 0x4563dc
mov edx, dword [esp + 0x30]
mov edx, dword [edx + 0x4c]
mov dword [esp + 0x38], edx
jmp 0x4563e0
mov dword [esp + 0x38], eax
test byte [ecx + 0x1d], 0x40
je 0x4563e9
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.00459ea0
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.0045aae0
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.0x453359
mov eax, dword [ebx + 0xbc]
test eax, eax
je case.default.0x453359
mov eax, dword [esi + 0x10]
test eax, eax
je case.default.0x453359
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 0x458057
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 0x4564f7
cmp dword [esi + 0x10], ecx
je 0x4564f7
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x20], ecx
mov edx, dword [eax + 0x44]
mov dword [esp + 0x24], edx
push eax
call fcn.0045ef20
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4582c2
push eax
push eax
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
push ecx
call fcn.00459ea0
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
push eax
call fcn.0045d120
mov ecx, dword [esp + 0x38]
add esp, 0x10
test eax, eax
mov dword [esp + 0x10], eax
mov dword [ecx + 0x50], 0
jne 0x456577
mov ecx, dword [ebx + 0xbc]
test ecx, ecx
je 0x456577
mov eax, dword [esi + 0x10]
test eax, eax
je 0x456577
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.0x453359
inc dword [ebp + 0x64]
jmp case.default.0x453359
mov ecx, dword [ebp + 0x64]
push ecx
push ebx
call fcn.00450b60
add esp, 8
mov dword [ebp + 0x64], 0
jmp case.default.0x453359
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.004620d0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
add esp, 0xc
jmp 0x45690a
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.00462020
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x453359
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.0045ef20
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4582c2
mov eax, dword [esp + 0x20]
mov cl, byte [eax + 0x1f]
test cl, cl
je 0x456679
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x30]
push ecx
push edx
call fcn.0044dd60
mov eax, dword [ebx + 0x50]
mov ecx, dword [esp + 0x3c]
cdq
add esp, 8
cmp ecx, edx
mov ecx, dword [esp + 0x30]
jg 0x458336
jl 0x456671
cmp ecx, eax
ja 0x458336
mov eax, ecx
mov dword [esp + 0x28], eax
jmp 0x45669a
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x28]
push edx
push eax
call fcn.00459ef0
mov eax, dword [esp + 0x30]
mov ecx, dword [ebx + 0x50]
add esp, 8
cmp eax, ecx
ja 0x458336
mov esi, dword [esp + 0x14]
push 0
push eax
push esi
call fcn.0044e5a0
add esp, 0xc
test eax, eax
jne 0x4581c3
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 0x4566fa
call fcn.0044de20
add esp, 0x10
mov dword [esp + 0x10], eax
mov byte [esi + 0x1f], 1
jmp case.default.0x453359
call fcn.00459f10
add esp, 0x10
mov dword [esp + 0x10], eax
mov byte [esi + 0x1f], 1
jmp case.default.0x453359
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 0x456732
mov eax, dword [esp + 0x14]
mov word [eax + 0x1c], 1
jmp case.default.0x453359
mov cl, byte [eax + 0x1d]
test cl, cl
je 0x456749
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x2c], edx
jmp 0x4567c0
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x45677c
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.0045ff30
add esp, 0x10
jmp 0x4567c0
push eax
call fcn.0045ef20
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4582c2
mov eax, dword [esp + 0x20]
mov cl, byte [eax + 0x19]
test cl, cl
je 0x4567ac
mov edx, dword [eax + 0x40]
mov dword [esp + 0x28], edx
mov eax, dword [eax + 0x44]
mov dword [esp + 0x2c], eax
jmp 0x4567c0
mov edx, dword [eax]
lea ecx, [esp + 0x28]
push ecx
push edx
call fcn.0044dd60
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.0x453359
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.0x453359
push eax
call fcn.0044dd40
add esp, 4
jmp case.default.0x453359
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 0x456841
lea eax, [esp + 0x28]
push eax
push ecx
call fcn.0045a3e0
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.0x453359
mov eax, dword [esp + 0x28]
test eax, eax
je case.default.0x453359
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
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 0x4568b8
lea ecx, [esp + 0x28]
push ecx
push eax
push ebx
call fcn.004617e0
add esp, 0xc
mov dword [esp + 0x10], eax
jmp 0x4568fb
mov eax, dword [eax]
lea edx, [esp + 0x28]
push edx
push eax
mov dword [esp + 0x2c], eax
call fcn.0045a110
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.0x453359
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
mov eax, dword [ebx + 0xe0]
test eax, eax
jne 0x458307
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.0x453359
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x45695e
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x24]
push ecx
push eax
push edx
call fcn.00461f60
add esp, 0xc
jmp 0x456974
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 0x4569b5
mov eax, dword [esi + 8]
dec eax
mov dword [esp + 0x18], eax
mov al, byte [esi + 3]
test al, al
je 0x4569b5
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.0x453359
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.0x453359
test byte [edi + 0x1d], 0x40
je 0x456a09
push edi
call fcn.0044e720
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x453359
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x456a24
push edi
push ecx
push ebx
call fcn.00461200
add esp, 0xc
mov dword [esp + 0x10], eax
jmp case.default.0x453359
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 0x456a3f
mov ecx, dword [ecx + 0x4c]
jmp 0x456a41
xor ecx, ecx
push ecx
mov ecx, dword [esi + 0xc]
push ecx
push 0
cdq
push 0
push 0x5188e8
push edx
push eax
push edi
push ebp
call fcn.0045aae0
mov edx, dword [esp + 0x44]
add esp, 0x24
mov dword [esp + 0x10], eax
mov dword [edx + 0x50], 0
jmp case.default.0x453359
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.0x453359
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.0045a4b0
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x456ae7
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x456ae7
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0045d120
add esp, 4
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x20]
mov dword [edx + 0x50], 0
jmp case.default.0x453359
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.0x453359
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0045ef20
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4582c2
mov edx, dword [esp + 0x24]
mov al, byte [edx + 0x1c]
test al, al
jne case.default.0x453359
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x28]
push eax
push ecx
push ebx
call fcn.0045f7d0
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4582c2
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.0x453359
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.0x453359
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.0045f910
mov dword [esp + 0x1c], eax
mov al, byte [esi]
add esp, 0xc
cmp al, 0x64
mov eax, dword [esp + 0x24]
jne 0x456beb
neg eax
jmp 0x456bec
inc eax
test eax, eax
mov dword [esp + 0x24], eax
jle case.default.0x453359
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
mov dword [esp + 0x24], 0
mov eax, dword [ebx + 4]
test eax, eax
mov dword [esp + 0x28], eax
je 0x456c43
mov edi, 0xbdf20da3
cmp dword [eax + 0x30], edi
jne 0x456c38
mov ecx, dword [eax + 0x60]
and ecx, 0xc
cmp cl, 8
jae 0x456c38
mov ecx, dword [eax + 0x54]
test ecx, ecx
jl 0x456c38
inc dword [esp + 0x24]
mov eax, dword [eax + 0x3c]
test eax, eax
mov dword [esp + 0x28], eax
jne 0x456c1d
mov edx, dword [esp + 0x14]
mov eax, 1
mov word [edx + 0x1c], ax
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jle 0x456c69
mov dword [esp + 0x10], 6
mov byte [ebp + 0x5c], 2
jmp case.default.0x453359
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.0045d7d0
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.0x453359
mov eax, dword [esp + 0x20]
test eax, eax
je case.default.0x453359
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x2c]
push ecx
push eax
push edx
push ebx
call fcn.004639b0
mov al, byte [esp + 0x3c]
add esp, 0x10
inc al
mov byte [esp + 0x108], al
jmp case.default.0x453359
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.0045d610
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0xc]
add esp, 0xc
test eax, eax
je case.default.0x453359
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.0x453359
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.0x453359
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.0045d380
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.0x453359
mov eax, dword [esi + 4]
mov ecx, str.sqlite_temp_master
cmp eax, 1
mov dword [esp + 0x20], eax
je 0x456db9
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.004507a0
add esp, 0x14
mov dword [esp + 0x28], eax
test eax, eax
jne 0x456dff
mov esi, 7
mov dword [esp + 0x10], esi
jmp 0x456e53
lea eax, [esp + 0x2c]
mov byte [ebx + 0x81], 1
mov ecx, dword [esp + 0x28]
push 0
push eax
push fcn.00466170
push ecx
push ebx
mov dword [esp + 0x4c], 0
call fcn.00465ac0
mov esi, eax
add esp, 0x14
test esi, esi
mov dword [esp + 0x10], esi
jne 0x456e3a
mov esi, dword [esp + 0x38]
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0x28]
push edx
push ebx
call fcn.00440110
add esp, 8
mov byte [ebx + 0x81], 0
test esi, esi
je 0x456e5c
push ebx
call fcn.00463570
add esp, 4
cmp esi, 7
je 0x4581c3
jmp case.default.0x453359
mov eax, dword [esi + 4]
push eax
push ebx
call fcn.00462770
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x453359
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 4]
push ecx
push edx
push ebx
call fcn.00463900
add esp, 0xc
jmp case.default.0x453359
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 4]
push eax
push ecx
push ebx
call fcn.00463170
add esp, 0xc
jmp case.default.0x453359
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 4]
push edx
push eax
push ebx
call fcn.00467700
add esp, 0xc
jmp case.default.0x453359
mov eax, dword [esi + 8]
mov dword [esp + 0x20], eax
lea ecx, [eax*4 + 4]
push ecx
push ebx
call fcn.00440390
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
je 0x4581c3
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 0x456f39
lea eax, [ecx + ecx*4]
lea ecx, [edi + eax*8]
push ecx
call fcn.004513e0
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 0x456f0a
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.0045db40
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x44], eax
push ecx
push esi
call fcn.00440110
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.0044e8f0
mov eax, dword [esp + 0x4c]
add esp, 0x20
test eax, eax
je 0x456fca
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4581c3
push fcn.004400b0
push 1
push 0xffffffffffffffff
push eax
push edi
call fcn.0044e380
add esp, 0x14
mov eax, dword [esp + 0xe8]
and eax, 0xff
push eax
push edi
call fcn.00450df0
add esp, 8
jmp case.default.0x453359
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 0x457013
push ebx
call fcn.0045eaf0
mov al, byte [ebx + 0x1c]
add esp, 4
test al, 0x20
je 0x4581c3
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov edx, dword [ebx + 0x10]
push eax
push ecx
push edx
call fcn.004589b0
add esp, 0xc
jmp case.default.0x453359
mov eax, dword [ebx + 0xe0]
test eax, eax
jne 0x458307
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 0x457081
mov edx, dword [ebx + 0x10]
lea ecx, [esp + 0x20]
push ecx
push edx
call fcn.00458a60
add esp, 8
test eax, eax
je 0x457081
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.00451820
add esp, 0xc
jmp case.default.0x453359
push ebx
call fcn.0044e8f0
mov esi, dword [esi + 8]
add esp, 4
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
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 0x4570ce
push ebx
call fcn.0045eaf0
mov al, byte [ebx + 0x1c]
add esp, 4
test al, 0x20
je 0x4581c3
mov eax, dword [esp + 0x20]
test eax, eax
je 0x457114
jl 0x4570d9
and eax, 0xf
jmp 0x4570de
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.00458bf0
add esp, 0x10
mov dword [esp + 0x24], eax
test eax, eax
je 0x457108
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
mov eax, dword [esp + 0x20]
test eax, eax
jl case.default.0x453359
mov ecx, dword [edi + 0x14]
mov edx, dword [edi + 0x10]
mov eax, dword [ebx + 0x10]
push ecx
push edx
push eax
call fcn.004589b0
add esp, 0xc
jmp case.default.0x453359
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 0x457177
mov eax, dword [ebp + 0xa0]
mov edx, dword [ecx + 0x14]
test eax, eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], eax
je 0x457177
cmp dword [eax + 0x18], edx
je 0x45716f
mov eax, dword [eax + 4]
test eax, eax
mov dword [esp + 0x34], eax
jne 0x45715d
jmp 0x457177
test eax, eax
jne case.default.0x453359
mov eax, dword [ebp + 0xa8]
mov edx, dword [ebx + 0x78]
cmp eax, edx
jl 0x4571a3
push str.too_many_levels_of_trigger_recursion
add ebp, 0x34
push ebx
push ebp
mov dword [esp + 0x1c], 1
call fcn.00450a70
add esp, 0xc
jmp case.default.0x453359
test byte [edi + 0x1c], 0x40
jne 0x4572de
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.00445290
add esp, 8
mov dword [esp + 0x34], eax
test eax, eax
je 0x4581c3
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0044e790
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 0x4572e5
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 0x4572bb
mov eax, dword [esp + 0x34]
jmp 0x4572e5
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.0x453359
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.0045ebb0
add esp, 0xc
jmp case.default.0x453359
mov eax, dword [esi + 4]
test eax, eax
mov eax, dword [esi + 8]
cdq
je 0x457418
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.0x453359
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.0x453359
mov eax, dword [esi + 4]
test eax, eax
je 0x457467
mov edx, dword [ebx + 0x1e8]
mov ecx, dword [ebx + 0x1ec]
lea eax, [ebx + 0x1e8]
or edx, ecx
jne case.default.0x453359
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
mov ecx, dword [ebp + 0x88]
mov edx, dword [ebp + 0x8c]
lea eax, [ebp + 0x88]
or ecx, edx
jne case.default.0x453359
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
mov ebp, dword [ebp + 0xa0]
test ebp, ebp
je 0x4574c0
mov ecx, ebp
mov dword [esp + 0x24], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x4574b2
mov ecx, eax
mov dword [esp + 0x24], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x4574a5
mov eax, dword [esi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0xc]
lea eax, [eax + edx*8]
jmp 0x4574c9
mov eax, dword [esi + 4]
lea ecx, [eax + eax*4]
lea eax, [edi + ecx*8]
push eax
mov dword [esp + 0x24], eax
call fcn.0045ea20
mov esi, dword [esi + 8]
lea edx, [esi + esi*4]
lea esi, [edi + edx*8]
push esi
call fcn.0045ea20
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.0x453359
jl 0x457509
mov edx, dword [eax]
cmp edx, ecx
jae case.default.0x453359
mov dword [eax], ecx
mov dword [eax + 4], esi
jmp case.default.0x453359
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.0x453359
jg 0x457533
cmp dword [edi], 0
jbe case.default.0x453359
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
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.0x453359
jl 0x457561
cmp dword [edi], 0
jae case.default.0x453359
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
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.0x453359
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
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 0x4575fd
mov ecx, dword [esp + 0x70]
mov dword [ecx + eax*4], edi
mov edx, dword [esp + 0x2c]
push edx
call fcn.00453110
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 0x4575cd
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 0x45765d
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 0x4576a6
lea edx, [esp + 0x38]
push edx
call fcn.00451680
push eax
mov eax, dword [esp + 0x13c]
push 0x509d38
add eax, 0x34
push ebp
push eax
call fcn.00450a70
mov ecx, dword [esp + 0x7c]
add esp, 0x14
mov dword [esp + 0x10], ecx
cmp dword [esp + 0x6c], edi
je 0x4576c9
mov esi, dword [esi - 0x10]
cmp esi, edi
mov dword [esp + 0x24], esi
je 0x4576c9
lea edx, [esi + esi*4]
push edi
push 1
lea eax, [ebx + edx*8]
push eax
call fcn.00451820
add esp, 0xc
lea ecx, [esp + 0x38]
push ecx
call fcn.0044e790
add esp, 4
jmp case.default.0x453359
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.0044e880
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x45771a
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00451680
push eax
push 0x509d38
add ebp, 0x34
push ebx
push ebp
call fcn.00450a70
add esp, 0x14
mov edx, dword [esp + 0xe8]
mov eax, dword [esp + 0x20]
and edx, 0xff
push edx
push eax
call fcn.00450df0
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0045eb80
add esp, 0xc
test eax, eax
jne 0x458336
jmp case.default.0x453359
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.0048c420
add esp, 0x14
cmp eax, 5
mov dword [esp + 0x10], eax
jne 0x45778d
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.00451820
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 0x4577a0
jmp case.default.0x453359
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.00444ff0
push eax
mov dword [esp + 0x2c], eax
call fcn.00448ef0
mov ecx, dword [esp + 0x30]
add esp, 8
cmp ecx, 0xffffffff
mov dword [esp + 0x2c], eax
jne 0x45780a
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x24]
push edx
call fcn.00458f10
add esp, 4
test eax, eax
jne 0x457823
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x24]
push 1
push ecx
call fcn.00450820
mov ecx, dword [esp + 0x30]
add esp, 8
cmp ecx, 5
mov dword [esp + 0x30], eax
jne 0x4578d2
push eax
call fcn.00441830
add esp, 4
test eax, eax
je 0x457861
mov edx, dword [esp + 0x24]
push edx
call fcn.0044b7e0
add esp, 4
test eax, eax
jne 0x4578ce
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x10]
test eax, eax
je 0x457879
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], ecx
push ecx
mov ecx, dword [esp + 0x28]
push ecx
call fcn.00458e10
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.00466150
push eax
mov dword [esi + 4], eax
call fcn.00441830
mov ecx, dword [esp + 0xf8]
mov dword [esi + 0x18], eax
and ecx, 0xff
mov byte [esi + 0x1f], 1
push ecx
push esi
call fcn.00450df0
jmp 0x458057
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
cmp ecx, eax
je 0x457869
cmp eax, 5
je 0x4578e4
cmp ecx, 5
jne 0x457869
mov dl, byte [ebx + 0x36]
test dl, dl
je 0x457966
cmp dword [ebx + 0x84], 1
jg 0x457966
cmp eax, 5
jne 0x45791e
mov eax, dword [esp + 0x24]
push eax
call fcn.00458f40
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x457871
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
push edx
jmp 0x45792a
cmp eax, 4
jne 0x457936
mov eax, dword [esp + 0x24]
push 2
push eax
call fcn.00458e10
mov ecx, dword [esp + 0x30]
add esp, 8
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x457871
mov eax, dword [esp + 0x20]
xor edx, edx
cmp ecx, 5
sete dl
inc edx
push edx
push eax
call fcn.0044d700
mov ecx, dword [esp + 0x30]
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x457869
cmp ecx, 5
mov dword [esp + 0x10], 1
mov eax, str.into
je 0x45797d
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.00450a70
add esp, 0x10
jmp case.default.0x453359
add ebp, 0x34
push ebx
push ebp
call fcn.004677b0
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x453359
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.00459d30
add esp, 4
cmp eax, 0x65
mov dword [esp + 0x10], eax
jne case.default.0x453359
mov esi, dword [esi + 8]
mov dword [esp + 0x10], 0
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
mov eax, dword [esi + 4]
test eax, eax
jne 0x4579fc
push ebx
call fcn.0045f9d0
add esp, 4
jmp case.default.0x453359
mov eax, dword [ebp + 0x60]
or al, 0x20
mov dword [ebp + 0x60], eax
jmp case.default.0x453359
mov al, byte [esi + 0xc]
test al, al
mov byte [esp + 0x114], al
jne 0x457a23
mov eax, dword [ebx + 0x18]
test ah, 8
jne case.default.0x453359
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.0045e8e0
add esp, 0xc
cmp al, 6
mov dword [esp + 0x10], eax
jne case.default.0x453359
mov eax, dword [esi + 0x10]
add ebp, 0x34
push eax
push str.database_table_is_locked:__s
push ebx
push ebp
call fcn.00450a70
add esp, 0x10
jmp case.default.0x453359
mov esi, dword [esi + 0x10]
push esi
push ebx
mov dword [esp + 0x28], esi
call fcn.00468870
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
add esp, 8
test eax, eax
je case.default.0x453359
mov ecx, dword [eax + 8]
push ecx
push ebp
call fcn.0045ff30
add esp, 8
jmp case.default.0x453359
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 4]
add ebp, 0x34
push ebp
push edx
push eax
push ebx
call fcn.00468110
add esp, 0x10
mov dword [esp + 0x10], eax
jmp case.default.0x453359
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.004686c0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x60]
add esp, 0xc
and al, 0xf3
mov dword [ebp + 0x60], eax
jmp case.default.0x453359
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.0045ff30
add esp, 0x10
test edi, edi
jne case.default.0x453359
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.0045fdd0
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
je 0x457b68
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.0x453359
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.0x453359
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 0x457c22
jmp 0x457beb
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.00453110
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
add esp, 4
inc eax
cmp eax, ecx
mov dword [esp + 0x44], eax
jl 0x457be7
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.0045ff30
add esp, 0x1c
test ebx, ebx
jne 0x457c7d
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 0x457c8d
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.0x453359
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 0x457cc5
push eax
call fcn.0044e8f0
add esp, 4
jmp case.default.0x453359
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.00453030
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.0045ff30
mov eax, dword [esp + 0x84]
add esp, 0x1c
test eax, eax
je 0x457d3e
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0xe8]
lea eax, [esp + 0x38]
and edx, 0xff
push edx
push eax
call fcn.00450df0
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x40]
push ecx
push edx
call fcn.00453030
mov eax, dword [esp + 0x38]
push eax
call fcn.0045eb80
add esp, 0x14
test eax, eax
jne 0x458336
jmp case.default.0x453359
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.0x453359
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.0045ff30
add esp, 0xc
test edi, edi
jne 0x457df7
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.0x453359
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x18], esi
jmp case.default.0x453359
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.00450df0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x453359
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.0045ff30
mov eax, dword [ebp + 0x60]
add esp, 0x10
and al, 0xdf
mov dword [ebp + 0x60], eax
jmp case.default.0x453359
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.0x453359
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 0x457eef
push edi
call fcn.00453110
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 0x457ebb
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.0045ff30
add esp, 0x18
test edi, edi
jne 0x457f59
mov eax, dword [esi + 4]
test eax, eax
je 0x457f59
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 0x456581
mov ecx, dword [esi + 0x10]
mov al, byte [ecx + 0x10]
test al, al
je 0x456581
mov al, byte [esi + 3]
cmp al, 4
jne 0x457f84
mov dword [esp + 0x10], 0
jmp case.default.0x453359
cmp al, 5
jne 0x457f95
mov eax, 2
mov byte [ebp + 0x5c], al
jmp case.default.0x453359
and eax, 0xff
mov byte [ebp + 0x5c], al
jmp case.default.0x453359
mov edx, dword [esi + 4]
mov eax, dword [ebx + 0x10]
shl edx, 4
mov ecx, dword [edx + eax + 4]
push ecx
call fcn.0044a770
mov ecx, dword [esp + 0x18]
add esp, 4
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 0
jmp case.default.0x453359
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 0x457ff3
push edi
call fcn.0044a770
mov esi, dword [esi + 0xc]
add esp, 4
cmp eax, esi
jae 0x457ff3
mov eax, esi
push eax
push edi
call fcn.00459ce0
mov ecx, dword [esp + 0x1c]
add esp, 8
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x453359
mov eax, dword [ebx + 0x98]
test eax, eax
je case.default.0x453359
mov eax, dword [ebp + 0x60]
test ah, 4
jne case.default.0x453359
mov esi, dword [esi + 0x10]
test esi, esi
mov eax, esi
jne 0x45802b
mov eax, dword [ebp + 0x98]
test eax, eax
mov dword [esp + 0x20], eax
je case.default.0x453359
push eax
push ebp
call fcn.0045f9f0
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.00440110
add esp, 0x18
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
inc ecx
test eax, eax
mov dword [esp + 0x18], ecx
je 0x4532a6
jmp 0x45835b
mov dword [esp + 0x10], 9
jmp 0x458366
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 0x4580ce
push eax
push 0x509d38
lea eax, [ebp + 0x34]
push ebx
push eax
call fcn.00450a70
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.004415d0
add esp, 0x24
jmp 0x4580f2
mov eax, dword [ebp + 0x58]
test eax, eax
je 0x4580f2
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.004415d0
add esp, 0x10
push ebp
call fcn.0044eec0
mov esi, 5
add esp, 4
cmp eax, esi
jne 0x458239
mov dword [ebp + 0x58], esi
jmp 0x4583c5
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 0x458192
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 0x1d], 0x10
lea ecx, [edx + ecx*8]
je 0x45815b
push ecx
call fcn.0044e6c0
add esp, 4
test eax, eax
jne 0x4581c3
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
push edx
call fcn.00451270
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
push edx
call fcn.00453110
mov eax, dword [esp + 0x2c]
add esp, 8
inc eax
mov dword [esp + 0x24], eax
mov ecx, dword [esi + 8]
cmp eax, ecx
jl 0x458139
mov eax, dword [esp + 0x1c]
mov cl, byte [eax + 0x38]
test cl, cl
jne 0x4581c3
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x134]
inc ecx
mov esi, 0x64
mov dword [edx + 0x54], ecx
jmp 0x4583c5
lea eax, [esp + 0x30]
push eax
call fcn.0044e790
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.00450a70
mov ebx, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x10], 7
jmp 0x458366
mov dword [esp + 0x10], 0x14
jmp 0x4582c2
mov ecx, dword [esp + 0x18]
mov dword [edi + 0x54], ecx
mov byte [esi + 0x36], 0
mov esi, 5
mov dword [edi + 0x58], esi
jmp 0x4583c5
test esi, esi
je 0x45824b
push 0x204
push ebx
call fcn.0048bac0
add esp, 8
mov byte [ebx + 0x36], 1
push ebx
call fcn.0048b630
add esp, 4
mov esi, dword [ebp + 0x58]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x4583c5
push 1
push ebp
call fcn.00450a10
mov esi, eax
add esp, 8
test esi, esi
jne 0x4583c5
mov dl, byte [esp + 0x20]
push ebp
mov byte [ebx + 0x36], dl
call fcn.0044eec0
mov esi, 5
add esp, 4
cmp eax, esi
jne 0x458230
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 0x4583c5
mov edx, dword [esp + 0x18]
mov esi, 5
mov dword [ebp + 0x54], edx
mov dword [ebp + 0x58], esi
jmp 0x4583c5
push 0x10667
call fcn.0048d590
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x4582c2
mov dword [esp + 0x10], 0xd
mov ebx, dword [esp + 0x1c]
mov al, byte [ebx + 0x38]
test al, al
je 0x4582d7
mov dword [esp + 0x10], 7
jmp 0x4582e1
cmp dword [esp + 0x10], 0xc0a
je 0x45835f
mov eax, dword [esp + 0x10]
push eax
call fcn.0048bb80
mov ebp, dword [esp + 0x138]
push eax
push 0x509d38
push ebx
lea ecx, [ebp + 0x34]
push ecx
call fcn.00450a70
add esp, 0x14
jmp 0x458366
mov eax, 9
push eax
mov dword [esp + 0x14], eax
mov dword [ebp + 0x58], eax
call fcn.0048bb80
mov edx, dword [esp + 0x20]
push eax
push 0x509d38
lea eax, [ebp + 0x34]
push edx
push eax
call fcn.00450a70
mov ebx, dword [esp + 0x30]
add esp, 0x14
jmp 0x458366
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.00450a70
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.004415d0
push ebp
call fcn.0044eec0
add esp, 0x18
cmp esi, 0xc0a
jne 0x45839d
mov byte [ebx + 0x38], 1
mov al, byte [esp + 0x108]
mov esi, 1
test al, al
jbe 0x4583c5
mov ecx, dword [esp + 0x108]
and ecx, 0xff
dec ecx
push ecx
push ebx
call fcn.00463530
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.0044f1e0
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x120
ret