Function at 0x64a980
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c4
mov eax, dword [0x6f0f64]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
push ebx
push esi
push edi
mov esi, dword [ecx]
xor edi, edi
mov eax, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x4c]
mov dword [ebp - 0xd4], eax
mov eax, dword [esi + 8]
push ecx
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xdc], 0
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xcc], esi
mov byte [ebp - 0xf1], 0
mov al, byte [eax + 0x49]
mov byte [ebp - 0xe8], al
mov byte [ebp - 0x10c], al
xor eax, eax
mov dword [ebp - 0x118], 0
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x110], eax
call fcn.006546f0
mov eax, dword [ebp - 0xd0]
add esp, 4
cmp dword [eax + 0x58], 7
je 0x652125
mov dword [eax + 0x58], edi
mov dword [eax + 0x2c], edi
mov dword [esi + 0x1a0], edi
cmp dword [esi + 0xd8], edi
jne 0x64ab5a
mov edx, dword [esi + 0x100]
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0xfc], edx
mov dword [ebp - 0x134], str.sqlite_master
mov dword [ebp - 0xdc], ecx
nop dword [eax]
cmp byte [esi + 0x1e], 0
jne 0x652125
lea ebx, [ecx + ecx*4]
mov dword [ebp - 0xe4], ebx
test edx, edx
je 0x64aaa5
mov eax, dword [ebp - 0x118]
cmp dword [esi + 0x108], eax
jne 0x64aa9e
push dword [esi + 0x104]
mov eax, dword [esi + 0x100]
call eax
add esp, 4
test eax, eax
jne 0x651c84
inc eax
mov dword [ebp - 0x118], eax
mov edx, dword [ebp - 0xd4]
test byte [edx + ebx*4 + 2], 2
je 0x64ab36
mov eax, dword [edx + ebx*4 + 8]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
movzx eax, word [edi + 0x1c]
mov dword [ebp - 0xd8], edi
test eax, 0x2460
je 0x64ab2d
test eax, 0x2000
je 0x64aaf1
push dword [edi]
push edi
call fcn.006536b0
push edi
call fcn.00653bb0
add esp, 0xc
jmp 0x64ab27
test eax, 0x400
je 0x64ab0d
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x64ab0d
push dword [edi + 0x14]
call ecx
mov dword [edi + 0x20], 0
jmp 0x64ab24
test al, 0x20
je 0x64ab1a
push dword [edi]
call fcn.00642800
jmp 0x64ab24
test al, 0x40
je 0x64ab2d
push edi
call fcn.00653c90
add esp, 4
mov edx, dword [ebp - 0xd4]
mov eax, 4
mov word [edi + 0x1c], ax
movzx eax, byte [edx + ebx*4]
dec eax
cmp eax, 0x90
ja case.0x64ab46.17
jmp dword [eax*4 + 0x652214]
cmp dword [esi + 0xd8], 0
je 0x64c4a2
mov eax, dword [str.interrupted]
mov ecx, str.unknown_error
mov edi, dword [ebp - 0xd0]
test eax, eax
mov dword [ebp - 0xc8], 9
cmovne ecx, eax
mov eax, edi
push ecx
push 0x6b775c
add eax, 0x5c
mov dword [edi + 0x58], 9
push esi
push eax
call fcn.00645070
add esp, 0x10
mov ecx, 9
mov eax, edi
jmp 0x652152
mov ecx, dword [edx + ebx*4 + 4]
mov edx, 4
mov eax, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xe0]
lea ecx, [ecx + ecx*4]
mov word [eax + ecx*8 + 0x1c], dx
mov eax, dword [ebp - 0xdc]
cdq
mov dword [edi + ecx*8], eax
mov eax, edi
mov dword [eax + ecx*8 + 4], edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + ebx*4 + 8]
dec ecx
mov dword [ebp - 0xdc], ecx
mov edi, dword [ebp - 0xd8]
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
mov ecx, dword [ecx + eax*8]
jmp 0x64c4a7
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [ebp - 0xe0]
lea ecx, [eax + eax*4]
mov eax, 4
mov word [ebx + ecx*8 + 0x1c], ax
mov eax, dword [ebx + ecx*8]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xdc]
cdq
mov dword [ebx + ecx*8], eax
mov dword [ebx + ecx*8 + 4], edx
mov ecx, dword [ebp - 0xc4]
jmp 0x64c4a7
mov eax, dword [edx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je case.0x64ab46.17
mov ecx, dword [edx + ebx*4 + 4]
test ecx, ecx
jne 0x651c94
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax + 0xd4]
test edx, edx
je 0x651c8e
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x3c]
push edx
dec dword [ecx + 0xd8]
mov dword [ecx + 0xd4], eax
mov eax, dword [ecx + 0x6c]
add dword [esi + 0x40], eax
mov dword [esi + 0x3c], eax
call fcn.006528c0
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xdc], ecx
cmp dword [eax + ebx*4 + 8], 4
jne 0x64acc3
mov eax, dword [ebp - 0xd0]
lea ecx, [ecx + ecx*4]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0xd4], eax
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0xe0], eax
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 4]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [edi], ecx
mov dword [edi + 4], eax
jmp case.0x64ab46.17
mov eax, 8
mov word [edi + 0x1c], ax
mov eax, dword [edx + ebx*4 + 0x10]
movsd xmm0, qword [eax]
movsd qword [edi + 8], xmm0
jmp case.0x64ab46.17
mov ecx, dword [edx + ebx*4 + 0x10]
mov eax, ecx
mov byte [edx + ebx*4], 9
test ecx, ecx
je 0x64ad3d
cmp byte [ecx], 0
je 0x64ad36
inc eax
cmp byte [eax], 0
jne 0x64ad30
sub eax, ecx
and eax, 0x3fffffff
cmp byte [ebp - 0xe8], 1
mov dword [edx + ebx*4 + 4], eax
je 0x64ae11
push 0
push 1
push 0xffffffffffffffff
push ecx
push edi
call fcn.00653ea0
add esp, 0x14
mov dword [ebp - 0xc8], eax
cmp eax, 0x12
je 0x651fbc
test byte [edi + 0x1c], 2
je 0x64ad95
mov al, byte [ebp - 0xe8]
cmp byte [edi + 0x1f], al
je 0x64ad95
push dword [ebp - 0xe8]
push edi
call fcn.006541e0
add esp, 8
test eax, eax
jne 0x652125
mov ax, word [edi + 0x1c]
mov ecx, 0xfbff
mov edx, dword [ebp - 0xd4]
and ax, cx
mov ecx, 0x800
mov dword [edi + 0x24], 0
or ax, cx
mov word [edi + 0x1c], ax
cmp byte [edx + ebx*4 + 1], 0xff
jne 0x64adfe
mov ecx, dword [edx + ebx*4 + 0x10]
test ecx, ecx
je 0x64adef
cmp ecx, dword [esi + 0xf0]
jb 0x64adef
cmp ecx, dword [esi + 0xf4]
jae 0x64adef
mov eax, dword [esi + 0xec]
mov dword [ecx], eax
dec dword [esi + 0xe4]
mov dword [esi + 0xec], ecx
jmp 0x64adfe
push ecx
call fcn.005f7d20
mov edx, dword [ebp - 0xd4]
add esp, 4
mov byte [edx + ebx*4 + 1], 0xff
mov eax, dword [edi + 0x14]
mov dword [edx + ebx*4 + 0x10], eax
mov eax, dword [edi + 0x18]
mov dword [edx + ebx*4 + 4], eax
cmp eax, dword [esi + 0x48]
jg 0x651fbc
mov eax, 0xa02
mov word [edi + 0x1c], ax
mov eax, dword [edx + ebx*4 + 0x10]
mov dword [edi + 0x14], eax
mov eax, dword [edx + ebx*4 + 4]
mov dword [edi + 0x18], eax
mov al, byte [ebp - 0xe8]
mov byte [edi + 0x1f], al
jmp case.0x64ab46.17
push 0
push 0
push dword [edx + ebx*4 + 4]
push dword [edx + ebx*4 + 0x10]
push edi
call fcn.00653ea0
mov al, byte [ebp - 0xe8]
add esp, 0x14
mov byte [edi + 0x1f], al
jmp case.0x64ab46.17
mov edx, dword [edx + ebx*4 + 4]
mov eax, dword [ebp - 0xd4]
dec edx
mov dword [ebp - 0xc4], edx
mov esi, dword [eax + ebx*4 + 8]
mov dword [ebp - 0xc0], esi
mov eax, dword [eax + ebx*4 + 0xc]
test eax, eax
jle 0x64afa0
mov ebx, dword [ebp - 0xe0]
nop
dec eax
lea ecx, [edx + edx*4]
mov dword [ebp - 0xbc], eax
inc edx
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xc4], edx
mov eax, dword [eax + 0x3c]
lea eax, [eax + ecx*8]
mov dword [ebp - 0xb8], eax
movzx edx, word [eax + 0x1c]
test dl, 0x12
je 0x64aed5
mov ecx, dword [eax + 0x18]
test edx, 0x4000
je 0x64aec9
add ecx, dword [eax]
mov eax, dword [eax + 0x10]
cmp ecx, dword [eax + 0x48]
jg 0x651fb6
lea eax, [esi + esi*4]
inc esi
lea edi, [ebx + eax*8]
mov dword [ebp - 0xc0], esi
movzx eax, word [edi + 0x1c]
mov dword [ebp - 0xd8], edi
test eax, 0x2460
je 0x64af43
test eax, 0x2000
je 0x64af0d
push dword [edi]
push edi
call fcn.006536b0
push edi
call fcn.00653bb0
add esp, 0xc
jmp 0x64af43
test eax, 0x400
je 0x64af29
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x64af29
push dword [edi + 0x14]
call ecx
mov dword [edi + 0x20], 0
jmp 0x64af40
test al, 0x20
je 0x64af36
push dword [edi]
call fcn.00642800
jmp 0x64af40
test al, 0x40
je 0x64af43
push edi
call fcn.00653c90
add esp, 4
mov eax, 1
mov edx, 0x800
mov word [edi + 0x1c], ax
mov ecx, dword [ebp - 0xb8]
movups xmm0, xmmword [ecx]
movups xmmword [edi], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [edi + 0x10], xmm0
mov dword [edi + 0x20], 0
test word [ecx + 0x1c], dx
jne 0x64af85
mov ax, word [edi + 0x1c]
mov ecx, 0xebff
and ax, cx
or ax, dx
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xbc]
test eax, eax
jle 0x64afa0
mov esi, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
jmp 0x64ae90
dec eax
mov dword [ebp - 0xbc], eax
mov esi, dword [ebp - 0xcc]
jmp case.0x64ab46.17
mov edx, dword [edx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc0], edx
mov eax, dword [ecx + ebx*4 + 4]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ecx + ebx*4 + 8]
mov ebx, dword [ebp - 0xe0]
mov dword [ebp - 0xb8], ecx
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
lea eax, [ecx + ecx*4]
lea edi, [ebx + eax*8]
mov dword [ebp - 0xd8], edi
test edx, edx
je 0x64b060
dec edx
mov dword [ebp - 0xc0], edx
mov eax, dword [edi + 0x24]
mov dword [ebp - 0xc4], eax
push edi
mov dword [edi + 0x24], 0
call fcn.00653bb0
movups xmm0, xmmword [esi]
mov eax, 1
lea esi, [esi + 0x28]
add esp, 4
movups xmmword [edi], xmm0
movups xmm0, xmmword [esi - 0x18]
movups xmmword [edi + 0x10], xmm0
movq xmm0, qword [esi - 8]
movq qword [edi + 0x20], xmm0
add edi, 0x28
mov dword [esi - 4], 0
mov word [esi - 0xc], ax
mov dword [esi - 8], 0
mov eax, dword [ebp - 0xc4]
mov dword [esi - 4], eax
mov edx, dword [ebp - 0xc0]
test edx, edx
jne 0x64aff2
mov dword [ebp - 0xd8], edi
mov esi, dword [ebp - 0xcc]
dec edx
mov dword [ebp - 0xc0], edx
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 4]
lea esi, [eax + eax*4]
mov eax, dword [edx + ebx*4 + 8]
mov ebx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
movzx eax, word [edi + 0x1c]
mov dword [ebp - 0xd8], edi
test eax, 0x2460
je 0x64b0ea
test eax, 0x2000
je 0x64b0b4
push dword [edi]
push edi
call fcn.006536b0
push edi
call fcn.00653bb0
add esp, 0xc
jmp 0x64b0ea
test eax, 0x400
je 0x64b0d0
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x64b0d0
push dword [edi + 0x14]
call ecx
mov dword [edi + 0x20], 0
jmp 0x64b0e7
test al, 0x20
je 0x64b0dd
push dword [edi]
call fcn.00642800
jmp 0x64b0e7
test al, 0x40
je 0x64b0ea
push edi
call fcn.00653c90
add esp, 4
movups xmm0, xmmword [ebx + esi*8]
mov eax, 0x800
movups xmmword [edi], xmm0
movups xmm0, xmmword [ebx + esi*8 + 0x10]
movups xmmword [edi + 0x10], xmm0
mov dword [edi + 0x20], 0
test word [ebx + esi*8 + 0x1c], ax
jne 0x64b125
mov ax, word [edi + 0x1c]
mov ecx, 0xf3ff
and ax, cx
mov ecx, 0x1000
or ax, cx
mov word [edi + 0x1c], ax
mov eax, 0x1000
test word [edi + 0x1c], ax
je 0x64afa7
push edi
call fcn.00653a90
mov esi, dword [ebp - 0xcc]
add esp, 4
test eax, eax
jne 0x652125
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 4]
lea esi, [eax + eax*4]
mov eax, dword [edx + ebx*4 + 8]
mov ebx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
movzx eax, word [edi + 0x1c]
mov dword [ebp - 0xd8], edi
test eax, 0x2460
je 0x64b1c8
test eax, 0x2000
je 0x64b192
push dword [edi]
push edi
call fcn.006536b0
push edi
call fcn.00653bb0
add esp, 0xc
jmp 0x64b1c8
test eax, 0x400
je 0x64b1ae
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x64b1ae
push dword [edi + 0x14]
call ecx
mov dword [edi + 0x20], 0
jmp 0x64b1c5
test al, 0x20
je 0x64b1bb
push dword [edi]
call fcn.00642800
jmp 0x64b1c5
test al, 0x40
je 0x64b1c8
push edi
call fcn.00653c90
add esp, 4
movups xmm0, xmmword [ebx + esi*8]
mov eax, 0x800
movups xmmword [edi], xmm0
movups xmm0, xmmword [ebx + esi*8 + 0x10]
movups xmmword [edi + 0x10], xmm0
mov dword [edi + 0x20], 0
test word [ebx + esi*8 + 0x1c], ax
mov esi, dword [ebp - 0xcc]
jne case.0x64ab46.17
mov ax, word [edi + 0x1c]
mov ecx, 0xf3ff
and ax, cx
mov ecx, 0x1000
or ax, cx
mov word [edi + 0x1c], ax
jmp case.0x64ab46.17
mov ecx, dword [ebp - 0xe0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
movzx ecx, word [edi + 0x1c]
mov dword [ebp - 0xd8], eax
mov al, byte [esi + 0x1c]
or al, cl
test al, 1
je 0x64b263
mov edi, dword [ebp - 0xd8]
push edi
call fcn.00653c90
mov esi, dword [ebp - 0xcc]
add esp, 4
jmp case.0x64ab46.17
test ecx, 0x4000
je 0x64b27c
push edi
call fcn.00653650
add esp, 4
test eax, eax
jne 0x65211f
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x64b298
push esi
call fcn.00653650
add esp, 4
test eax, eax
jne 0x65211f
test byte [edi + 0x1c], 0x12
movzx ebx, byte [ebp - 0xe8]
jne 0x64b2b7
push ebx
push edi
call fcn.00654140
add esp, 8
test eax, eax
jne 0x65211f
test byte [esi + 0x1c], 0x12
jne 0x64b2cf
push ebx
push esi
call fcn.00654140
add esp, 8
test eax, eax
jne 0x65211f
mov ecx, dword [edi + 0x18]
add ecx, dword [esi + 0x18]
mov eax, ecx
cdq
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xc0], edx
cmp ecx, dword [eax + 0x48]
jg 0x651fb2
mov ebx, dword [ebp - 0xd8]
mov ecx, 0xbf02
mov ax, word [ebx + 0x1c]
and ax, cx
or ax, 2
mov word [ebx + 0x1c], ax
xor eax, eax
cmp ebx, esi
sete al
push eax
mov eax, dword [ebp - 0xc4]
add eax, 2
push eax
push ebx
call fcn.006538a0
add esp, 0xc
test eax, eax
jne 0x65211f
cmp ebx, esi
je 0x64b345
push dword [esi + 0x18]
push dword [esi + 0x14]
push dword [ebx + 0x14]
call fcn.005bcb70
add esp, 0xc
push dword [edi + 0x18]
push dword [edi + 0x14]
mov edi, dword [ebp - 0xd8]
mov eax, dword [edi + 0x14]
add eax, dword [esi + 0x18]
push eax
call fcn.005bcb70
mov eax, dword [ebp - 0xc4]
add esp, 0xc
mov ecx, dword [edi + 0x14]
mov esi, dword [ebp - 0xcc]
mov byte [eax + ecx], 0
mov eax, dword [ebp - 0xc4]
mov ecx, dword [edi + 0x14]
mov byte [ecx + eax + 1], 0
mov eax, 0x200
or word [edi + 0x1c], ax
mov eax, dword [ebp - 0xc4]
mov dword [edi + 0x18], eax
mov al, byte [ebp - 0xe8]
mov byte [edi + 0x1f], al
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 4]
mov edi, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
push esi
call fcn.005fdc10
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
push ebx
call fcn.005fdc10
mov edi, dword [ebp - 0xe4]
add esp, 8
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [eax + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
movzx ecx, word [ebx + 0x1c]
mov dword [ebp - 0xd8], eax
movzx eax, word [esi + 0x1c]
or ecx, eax
mov dword [ebp - 0xc4], ecx
test cl, 1
jne 0x64b249
mov al, byte [esi + 0x1c]
and al, byte [ebx + 0x1c]
test al, 4
je 0x64b51c
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb8], edx
mov edi, dword [ebx]
mov esi, dword [ebx + 4]
mov ebx, dword [ebp - 0xd4]
mov dword [ebp - 0xb4], edi
mov dword [ebp - 0xb0], esi
movzx eax, byte [ebx + eax*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x64b453
jmp dword [eax*4 + 0x652458]
add ecx, edi
adc edx, esi
jmp 0x64b4e6
sub edi, ecx
mov ecx, edi
sbb esi, edx
mov edx, esi
jmp 0x64b4e6
push esi
push edi
push edx
push ecx
call fcn.0058de00
jmp 0x64b4e4
mov eax, ecx
or eax, edx
je 0x64b249
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x64b4aa
test edi, edi
jne 0x64b4aa
cmp esi, 0x80000000
jne 0x64b4aa
mov ecx, 1
xor edx, edx
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb8], edx
push edx
push ecx
push esi
push edi
call fcn.0058da50
jmp 0x64b4e4
mov eax, ecx
or eax, edx
je 0x64b249
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x64b4db
mov ecx, 1
xor edx, edx
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb8], edx
push edx
push ecx
push esi
push edi
call fcn.005e3870
mov ecx, eax
mov edi, dword [ebp - 0xd8]
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xb0], edx
mov dword [edi], ecx
mov esi, dword [ebp - 0xcc]
mov ecx, 0xbf04
mov dword [edi + 4], edx
mov ax, word [edi + 0x1c]
and ax, cx
or ax, 4
mov word [edi + 0x1c], ax
jmp case.0x64ab46.17
push esi
call fcn.00654920
fstp qword [ebp - 0xac]
push ebx
call fcn.00654920
mov eax, dword [ebp - 0xd4]
add esp, 8
fstp qword [ebp - 0xf0]
movsd xmm0, qword [ebp - 0xf0]
movsd qword [ebp - 0xa4], xmm0
movzx eax, byte [eax + edi*4]
add eax, 0xffffffaa
movsd qword [ebp - 0xf0], xmm0
cmp eax, 3
ja case.default.0x64b561
jmp dword [eax*4 + 0x652468]
addsd xmm0, qword [ebp - 0xac]
jmp 0x64b61d
subsd xmm0, qword [ebp - 0xac]
jmp 0x64b61d
mulsd xmm0, qword [ebp - 0xac]
jmp 0x64b61d
movsd xmm1, qword [ebp - 0xac]
ucomisd xmm1, qword [0x67f468]
lahf
test ah, 0x44
jnp 0x64b249
divsd xmm0, xmm1
jmp 0x64b61d
movsd xmm0, qword [ebp - 0xac]
call fcn.005ed760
movsd xmm0, qword [ebp - 0xf0]
mov esi, eax
mov edi, edx
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xb8], edi
call fcn.005ed760
mov ecx, esi
mov dword [ebp - 0xb0], edx
or ecx, edi
mov ebx, eax
mov dword [ebp - 0xb4], ebx
je 0x64b249
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x64b60d
mov esi, 1
xor edi, edi
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xb8], edi
push edi
push esi
push edx
push ebx
call fcn.005e3870
mov ecx, eax
call fcn.005ed860
movsd qword [ebp - 0xa4], xmm0
movsd qword [ebp - 0xf0], xmm0
movsd xmm0, qword [ebp - 0xf0]
movsd qword [ebp - 0x140], xmm0
movsd xmm0, qword [ebp - 0xf0]
ucomisd xmm0, qword [ebp - 0x140]
lahf
test ah, 0x44
jp 0x64b249
mov edi, dword [ebp - 0xd8]
mov ecx, 0xbf08
movsd xmm0, qword [ebp - 0xa4]
mov ax, word [edi + 0x1c]
and ax, cx
movsd qword [edi + 8], xmm0
or ax, 8
mov word [edi + 0x1c], ax
test byte [ebp - 0xc4], 8
jne 0x64afa7
push edi
call fcn.00652dd0
mov esi, dword [ebp - 0xcc]
add esp, 4
jmp case.0x64ab46.17
mov cl, byte [edx + ebx*4 + 3]
mov edi, dword [ebp - 0xe0]
movzx eax, cl
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0xd0]
mov esi, dword [eax + 0x24]
mov dword [ebp - 0x7c], esi
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
xor eax, eax
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xc4], eax
test cl, cl
je 0x64b73c
nop word [eax + eax]
mov dword [esi + eax*4], edx
mov ecx, dword [ebp - 0xc0]
movzx eax, word [ecx + 0x1c]
test al, 1
je 0x64b6f7
mov byte [ecx + 0x1e], 5
jmp 0x64b716
test al, 4
je 0x64b701
mov byte [ecx + 0x1e], 1
jmp 0x64b716
test al, 8
je 0x64b70b
mov byte [ecx + 0x1e], 2
jmp 0x64b716
and al, 2
neg al
sbb al, al
add al, 4
mov byte [ecx + 0x1e], al
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc0]
inc eax
add edx, 0x28
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], edx
cmp eax, dword [ebp - 0x78]
jge 0x64b73c
mov esi, dword [ebp - 0x7c]
jmp 0x64b6e0
mov ecx, dword [ebp - 0xd4]
cmp byte [ecx + ebx*4 + 1], 0xfb
mov eax, dword [ecx + ebx*4 + 0x10]
jne 0x64b759
mov dword [ebp - 0xb8], 0
jmp 0x64b761
mov dword [ebp - 0xb8], eax
mov eax, dword [eax]
mov esi, dword [ebp - 0xcc]
mov dword [ebp - 0xbc], eax
mov eax, dword [ecx + ebx*4 + 0xc]
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, 1
mov word [ebp - 0x98], ax
lea eax, [ebp - 0xb4]
push eax
mov dword [ebp - 0xd8], edi
call fcn.00653bb0
movups xmm0, xmmword [edi]
mov eax, 1
add esp, 4
movups xmmword [ebp - 0xb4], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [ebp - 0xa4], xmm0
movq xmm0, qword [edi + 0x20]
movq qword [ebp - 0x94], xmm0
mov word [edi + 0x1c], ax
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xbc]
and eax, 0xbf01
or eax, 1
mov dword [ebp - 0x88], 0
mov word [ebp - 0x98], ax
test byte [ecx + 3], 8
je 0x64b826
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + ebx*4 - 4]
mov dword [ebp - 0x84], eax
push dword [ebp - 0x7c]
lea eax, [ebp - 0xbc]
push dword [ebp - 0x78]
push eax
mov eax, dword [ecx + 0xc]
call eax
add esp, 0xc
cmp byte [esi + 0x1e], 0
jne 0x651d32
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x64b877
mov ecx, dword [ebp - 0xd4]
push dword [ecx + ebx*4 + 4]
push eax
call fcn.0064a860
mov ecx, dword [ebp - 0xd4]
add esp, 8
mov eax, dword [ebp - 0xb8]
mov dword [ecx + ebx*4 + 0x10], eax
mov byte [ecx + ebx*4 + 1], 0xf9
cmp dword [ebp - 0x88], 0
je 0x64b941
test byte [ebp - 0x98], 1
je 0x64b894
xor eax, eax
jmp 0x64b91c
mov ecx, dword [ebp - 0x98]
movzx eax, word [ebp - 0x98]
shr ecx, 3
and ecx, 2
or ax, cx
mov word [ebp - 0x98], ax
test eax, 0x4000
je 0x64b8c7
lea eax, [ebp - 0xb4]
push eax
call fcn.00653650
add esp, 4
test byte [ebp - 0x98], 2
je 0x64b8fb
cmp byte [ebp - 0x95], 1
je 0x64b8ea
lea eax, [ebp - 0xb4]
push 1
push eax
call fcn.006541e0
add esp, 8
lea eax, [ebp - 0xb4]
push eax
call fcn.00653b50
add esp, 4
jmp 0x64b90c
lea eax, [ebp - 0xb4]
push 1
push eax
call fcn.00654140
add esp, 8
xor eax, eax
cmp byte [ebp - 0x95], 1
cmove eax, dword [ebp - 0xa0]
push eax
mov eax, dword [ebp - 0xd0]
push 0x6b775c
add eax, 0x5c
push esi
push eax
call fcn.00645070
mov eax, dword [ebp - 0x88]
add esp, 0x10
mov dword [ebp - 0xc8], eax
test byte [ebp - 0x98], 2
je 0x64b96d
mov al, byte [ebp - 0xe8]
cmp byte [ebp - 0x95], al
je 0x64b96d
push dword [ebp - 0x10c]
lea eax, [ebp - 0xb4]
push eax
call fcn.006541e0
add esp, 8
push edi
call fcn.00653bb0
movups xmm0, xmmword [ebp - 0xb4]
mov eax, 1
add esp, 4
movups xmmword [edi], xmm0
movups xmm0, xmmword [ebp - 0xa4]
movups xmmword [edi + 0x10], xmm0
movq xmm0, qword [ebp - 0x94]
movq qword [edi + 0x20], xmm0
mov word [ebp - 0x98], ax
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
movzx eax, word [edi + 0x1c]
test al, 0x12
je case.0x64ab46.17
mov ecx, dword [edi + 0x18]
test eax, 0x4000
je 0x64b9d0
add ecx, dword [edi]
mov eax, dword [edi + 0x10]
cmp ecx, dword [eax + 0x48]
jg 0x651fbc
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 4]
mov edi, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov al, byte [ecx + 0x1c]
or al, byte [esi + 0x1c]
mov dword [ebp - 0xd8], edi
test al, 1
je 0x64ba29
push edi
call fcn.00653c90
mov esi, dword [ebp - 0xcc]
add esp, 4
jmp case.0x64ab46.17
push ecx
call fcn.00652d20
push esi
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], edx
call fcn.00652d20
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0xd4]
add esp, 8
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xb8], edi
movzx ecx, byte [eax + ebx*4]
sub ecx, 0x52
je 0x64baf7
sub ecx, 1
je 0x64bace
sub ecx, 1
je 0x64ba9d
mov eax, dword [ebp - 0xc4]
mov ecx, esi
mov edx, dword [ebp - 0xc0]
call fcn.0065f000
mov edi, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], edx
mov dword [edi], eax
jmp 0x64b4fa
movq xmm1, qword [ebp - 0xc4]
mov edi, dword [ebp - 0xd8]
movd xmm0, esi
psllq xmm1, xmm0
movq qword [ebp - 0xc4], xmm1
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc4]
mov dword [edi], eax
jmp 0x64b4fa
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc0]
or eax, esi
or edx, edi
mov dword [ebp - 0xc4], eax
mov edi, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], edx
mov dword [edi], eax
jmp 0x64b4fa
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc0]
and eax, esi
and edx, edi
mov dword [ebp - 0xc4], eax
mov edi, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], edx
mov dword [edi], eax
jmp 0x64b4fa
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
push ebx
call fcn.00652d20
mov cx, word [ebx + 0x1c]
mov esi, eax
mov eax, 0xbf04
mov dword [ebx], esi
and cx, ax
mov edi, edx
mov eax, dword [ebp - 0xe4]
or cx, 4
mov word [ebx + 0x1c], cx
add esp, 4
mov ecx, dword [ebp - 0xd4]
mov dword [ebx + 4], edi
mov eax, dword [ecx + eax*4 + 8]
cdq
add eax, esi
mov dword [ebx], eax
adc edx, edi
mov dword [ebx + 4], edx
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xcc]
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.005fdc10
add esp, 4
test byte [esi + 0x1c], 8
je 0x64bba9
push esi
call fcn.00652dd0
add esp, 4
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x64bbd1
mov eax, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xcc]
mov eax, dword [eax + ebx*4 + 8]
test eax, eax
je 0x651d46
lea ecx, [eax - 1]
jmp 0x64c4a7
and eax, 0xbf04
or eax, 4
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xcc]
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 4
lea esi, [ecx + eax*8]
je 0x64afa7
push esi
call fcn.00654920
fstp qword [esi + 8]
mov ax, word [esi + 0x1c]
mov ecx, 0xbf08
and ax, cx
add esp, 4
or ax, 8
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xcc]
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx ecx, word [esi + 0x1c]
test cl, 1
jne 0x64afa7
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
mov word [esi + 0x1c], ax
test al, 2
jne 0x64bc72
test al, 0xc
je 0x64bc72
movzx eax, byte [ebp - 0xe8]
push eax
push esi
call fcn.00654140
add esp, 8
mov eax, 0xfff3
and word [esi + 0x1c], ax
movzx eax, word [esi + 0x1c]
test eax, 0x4000
je 0x64bca9
push esi
call fcn.00653650
mov dword [ebp - 0xc8], eax
add esp, 4
mov eax, 0xbfe3
and word [esi + 0x1c], ax
mov esi, dword [ebp - 0xcc]
jmp case.0x64ab46.17
mov eax, 0xbfe3
mov dword [ebp - 0xc8], 0
and word [esi + 0x1c], ax
mov esi, dword [ebp - 0xcc]
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 1
jne 0x64afa7
test al, 0x10
jne 0x64bd1f
test al, 2
jne 0x64bd00
test al, 0xc
je 0x64bd00
movzx eax, byte [ebp - 0xe8]
push eax
push esi
call fcn.00654140
add esp, 8
mov ax, word [esi + 0x1c]
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xcc]
jmp case.0x64ab46.17
and eax, 0xff10
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xcc]
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 0xd
jne 0x64afa7
test al, 2
je 0x64bd6c
cmp byte [esi + 0x1f], 1
je 0x64bd6c
push 1
push esi
call fcn.006541e0
add esp, 8
test eax, eax
jne 0x64afa7
push esi
call fcn.00653b50
add esp, 4
test eax, eax
jne 0x64afa7
push esi
push dword [esi + 0x14]
call fcn.00625220
add esp, 8
test eax, eax
je 0x64bdac
mov ax, word [esi + 0x1c]
mov ecx, 0xbf04
and ax, cx
or ax, 4
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xcc]
jmp case.0x64ab46.17
push esi
call fcn.00654920
mov ax, word [esi + 0x1c]
mov ecx, 0xbf08
and ax, cx
or ax, 8
push esi
fstp qword [esi + 8]
mov word [esi + 0x1c], ax
call fcn.00652dd0
mov esi, dword [ebp - 0xcc]
add esp, 8
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea esi, [ecx + eax*8]
jne 0x64afa7
push esi
call fcn.00652d20
mov dword [esi], eax
mov ecx, 0xbf04
mov ax, word [esi + 0x1c]
add esp, 4
and ax, cx
mov dword [esi + 4], edx
or ax, 4
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xcc]
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea esi, [ecx + eax*8]
jne 0x64afa7
jmp 0x64bc03
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
mov word [ebp - 0xbe], ax
movzx eax, word [edi + 0x1c]
mov word [ebp - 0xbc], ax
movzx edx, word [edi + 0x1c]
movzx ecx, word [esi + 0x1c]
mov al, dl
or al, cl
test al, 1
mov eax, dword [ebp - 0xd4]
mov al, byte [eax + ebx*4 + 3]
je 0x64bf01
test al, al
jns 0x64be9f
and edx, ecx
not edx
and edx, 1
jmp 0x64c030
test al, 0x10
je 0x64bede
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xcc]
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, 0xbf01
mov ax, word [edi + 0x1c]
and ax, cx
mov dword [ebp - 0xd8], edi
or ax, 1
mov word [edi + 0x1c], ax
jmp case.0x64ab46.17
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xcc]
test al, 8
je case.0x64ab46.17
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + ebx*4 + 8]
jmp 0x64c4a6
and al, 0x67
mov byte [ebp - 0xc0], al
je 0x64bfb9
cmp al, 0x61
jne 0x64bf3b
movzx eax, word [esi + 0x1c]
test al, 2
jne 0x64bf30
test al, 0xc
je 0x64bf30
movzx eax, byte [ebp - 0xe8]
push eax
push esi
call fcn.00654140
add esp, 8
mov eax, 0xfff3
and word [esi + 0x1c], ax
jmp 0x64bf57
cmp al, 0x62
je 0x64bf57
push esi
call fcn.005fdc10
add esp, 4
test byte [esi + 0x1c], 8
je 0x64bf57
push esi
call fcn.00652dd0
add esp, 4
cmp byte [ebp - 0xc0], 0x61
jne 0x64bf88
movzx eax, word [edi + 0x1c]
test al, 2
jne 0x64bf7d
test al, 0xc
je 0x64bf7d
movzx eax, byte [ebp - 0xe8]
push eax
push edi
call fcn.00654140
add esp, 8
mov eax, 0xfff3
and word [edi + 0x1c], ax
jmp 0x64bfa9
cmp byte [ebp - 0xc0], 0x62
je 0x64bfa9
push edi
call fcn.005fdc10
add esp, 4
test byte [edi + 0x1c], 8
je 0x64bfa9
push edi
call fcn.00652dd0
add esp, 4
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x1e], 0
jne 0x65211b
mov ax, word [esi + 0x1c]
mov ecx, 0xe
bt ax, cx
jae 0x64c006
mov eax, dword [esi + 0x18]
mov ecx, 1
add eax, dword [esi]
test eax, eax
push ecx
cmovle eax, ecx
push eax
push esi
call fcn.006538a0
add esp, 0xc
test eax, eax
jne 0x64c006
push dword [esi]
push eax
mov eax, dword [esi + 0x14]
add eax, dword [esi + 0x18]
push eax
call fcn.005bc9a0
mov eax, dword [esi]
add esp, 0xc
add dword [esi + 0x18], eax
mov eax, 0xbdff
and word [esi + 0x1c], ax
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x64c01a
push edi
call fcn.00653650
add esp, 4
mov eax, dword [ebp - 0xd4]
push dword [eax + ebx*4 + 0x10]
push esi
push edi
call fcn.0063b990
add esp, 0xc
mov edx, eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], edx
movzx ecx, byte [eax + ebx*4]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x64c048
jmp dword [ecx*4 + 0x652478]
xor eax, eax
test edx, edx
sete al
jmp 0x64c07e
xor eax, eax
test edx, edx
setne al
jmp 0x64c07e
mov eax, edx
jmp 0x64c07b
xor eax, eax
test edx, edx
setle al
jmp 0x64c07e
xor eax, eax
test edx, edx
setg al
jmp 0x64c07e
mov eax, edx
not eax
shr eax, 0x1f
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], eax
test byte [ecx + ebx*4 + 3], 0x10
je 0x64c0e6
mov eax, dword [ecx + ebx*4 + 8]
mov edx, 0xbf04
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov ax, word [ecx + 0x1c]
and ax, dx
mov dword [ebp - 0xd8], ecx
or ax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xc4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov al, byte [ebp - 0xbe]
mov byte [esi + 0x1c], al
mov al, byte [ebp - 0xbc]
mov esi, dword [ebp - 0xcc]
mov byte [edi + 0x1c], al
mov edi, ecx
jmp case.0x64ab46.17
test eax, eax
je 0x64c0f5
mov eax, dword [ecx + ebx*4 + 8]
dec eax
mov dword [ebp - 0xdc], eax
mov al, byte [ebp - 0xbe]
mov byte [esi + 0x1c], al
mov al, byte [ebp - 0xbc]
mov esi, dword [ebp - 0xcc]
mov byte [edi + 0x1c], al
mov edi, dword [ebp - 0xd8]
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 0x10]
mov dword [ebp - 0x110], eax
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xc4], eax
mov edi, dword [edx + ebx*4 + 0x10]
mov dword [ebp - 0xb4], edi
mov ebx, dword [edx + ebx*4 + 4]
mov dword [ebp - 0xbc], ebx
mov ecx, dword [edx + ecx*4 + 8]
xor edx, edx
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xc0], edx
test eax, eax
jle 0x64c219
nop dword [eax + eax]
mov eax, dword [ebp - 0x110]
test eax, eax
je 0x64c17f
mov esi, dword [eax + edx*4]
jmp 0x64c181
mov esi, edx
mov dword [ebp - 0xb0], esi
mov ecx, dword [edi + edx*4 + 0xc]
mov dword [ebp - 0xac], ecx
mov eax, dword [edi + 8]
push ecx
mov ecx, dword [ebp - 0xe0]
movzx eax, byte [eax + edx]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xf8]
add eax, esi
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
lea eax, [esi + ebx]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.0063b990
add esp, 0xc
mov dword [ebp - 0x114], eax
test eax, eax
jne 0x64c202
mov edx, dword [ebp - 0xc0]
inc edx
mov dword [ebp - 0xc0], edx
cmp edx, dword [ebp - 0xc4]
jge 0x64c213
mov ecx, dword [ebp - 0xb8]
mov edi, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xbc]
mov dword [ebp - 0xf8], ecx
jmp 0x64c170
cmp dword [ebp - 0xa8], 0
je 0x64c213
neg eax
mov dword [ebp - 0x114], eax
mov esi, dword [ebp - 0xcc]
mov edi, dword [ebp - 0xd8]
xor eax, eax
mov dword [ebp - 0x110], eax
jmp case.0x64ab46.17
mov eax, dword [ebp - 0x114]
test eax, eax
jns 0x64c242
mov eax, dword [edx + ebx*4 + 4]
lea ecx, [eax - 1]
jmp 0x64c4a7
jne 0x64c250
mov eax, dword [edx + ebx*4 + 8]
lea ecx, [eax - 1]
jmp 0x64c4a7
mov eax, dword [edx + ebx*4 + 0xc]
lea ecx, [eax - 1]
jmp 0x64c4a7
mov eax, dword [edx + ebx*4 + 4]
mov edi, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea eax, [edi + eax*8]
je 0x64c27a
mov ecx, 2
jmp 0x64c296
push eax
call fcn.00652d20
add esp, 4
or eax, edx
mov edx, dword [ebp - 0xd4]
je 0x64c294
mov ecx, 1
jmp 0x64c296
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea eax, [edi + eax*8]
je 0x64c2b4
mov eax, 2
jmp 0x64c2d6
push eax
call fcn.00652d20
mov ecx, dword [ebp - 0xc4]
add esp, 4
or eax, edx
mov edx, dword [ebp - 0xd4]
je 0x64c2d4
mov eax, 1
jmp 0x64c2d6
xor eax, eax
mov dword [ebp - 0xc0], eax
lea eax, [eax + ecx*2]
cmp byte [edx + ebx*4], 0x45
jne 0x64c2ef
movzx ecx, byte [ecx + eax + 0x6b4dd4]
jmp 0x64c2f7
movzx ecx, byte [ecx + eax + 0x6b4de0]
mov dword [ebp - 0xc4], ecx
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov dword [ebp - 0xd8], edi
cmp ecx, 2
jne 0x64c32e
mov ax, word [edi + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, 1
movzx eax, ax
mov word [edi + 0x1c], ax
jmp case.0x64ab46.17
mov eax, ecx
mov ecx, 0xbf04
cdq
mov dword [edi], eax
mov ax, word [edi + 0x1c]
and ax, cx
mov dword [edi + 4], edx
or ax, 4
movzx eax, ax
mov word [edi + 0x1c], ax
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 4]
mov edi, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov dword [ebp - 0xd8], edi
je 0x64c387
push edi
call fcn.00653c90
add esp, 4
jmp case.0x64ab46.17
push ecx
call fcn.00652d20
add esp, 4
or eax, edx
jne 0x64c39b
lea esi, [eax + 1]
xor edi, edi
jmp 0x64c3b2
xorps xmm0, xmm0
movlpd qword [ebp - 0xf0], xmm0
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xf0]
mov ebx, dword [ebp - 0xd8]
push ebx
call fcn.00653bb0
add esp, 4
mov dword [ebx], esi
mov eax, 4
mov esi, dword [ebp - 0xcc]
mov dword [ebx + 4], edi
mov edi, dword [ebp - 0xd8]
mov word [edi + 0x1c], ax
mov byte [edi + 0x1e], 1
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 4]
mov edi, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov dword [ebp - 0xd8], edi
je 0x64c419
push edi
call fcn.00653c90
add esp, 4
jmp case.0x64ab46.17
push ecx
call fcn.00652d20
mov ebx, dword [ebp - 0xd8]
mov esi, eax
mov edi, edx
not esi
push ebx
not edi
call fcn.00653bb0
add esp, 8
jmp 0x64c3c1
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea eax, [ecx + eax*8]
je 0x64c455
mov eax, dword [edx + ebx*4 + 0xc]
jmp 0x64c498
push eax
call fcn.00654920
fstp qword [ebp - 0xf0]
movsd xmm0, qword [ebp - 0xf0]
add esp, 4
ucomisd xmm0, qword [0x67f468]
lahf
test ah, 0x44
jnp 0x64c481
mov eax, 1
jmp 0x64c483
xor eax, eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], eax
cmp byte [edx + ebx*4], 0x1b
jne 0x64c49e
xor eax, 1
mov dword [ebp - 0xc4], eax
test eax, eax
je case.0x64ab46.17
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
mov dword [ebp - 0xdc], ecx
mov ecx, dword [ebp - 0xc8]
inc dword [ebp - 0xdc]
test ecx, ecx
jne 0x65214c
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xfc]
jmp 0x64aa60
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
jmp 0x64c4a0
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
jne case.0x64ab46.17
jmp 0x64c4a2
mov eax, dword [edx + ebx*4 + 4]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xb4], eax
mov eax, dword [edx + ebx*4 + 8]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], 0
movups xmmword [ebp - 0x84], xmm0
movups xmmword [ebp - 0x74], xmm0
movq qword [ebp - 0x64], xmm0
mov eax, dword [edx + ebx*4 + 0xc]
mov edx, 0xbf01
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x88], ecx
mov ax, word [ecx + 0x1c]
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xa8], 0
mov ecx, dword [eax + 0x34]
mov eax, dword [ebp - 0xb4]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0xac], edx
mov eax, dword [edx]
mov dword [ebp - 0xa4], eax
test eax, eax
je 0x64c636
push edx
call fcn.0064a490
mov ecx, eax
add esp, 4
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x651ee0
mov ecx, dword [ebp - 0xac]
cmp byte [ecx + 0x14], al
je 0x64c5c5
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xfc]
inc ecx
mov dword [ebp - 0xc4], eax
jmp 0x64aa53
mov edx, dword [ebp - 0xd0]
mov eax, dword [ecx + 0x44]
cmp eax, dword [edx + 0x50]
jne 0x64c5ea
mov edx, dword [ecx + 0x48]
mov dword [ebp - 0xc4], edx
mov eax, dword [ecx + 0x54]
mov dword [ebp - 0xa8], eax
jmp 0x64c68b
cmp byte [ecx + 0x17], 0
je 0x64c619
lea eax, [ebp - 0xbc]
push eax
push dword [ebp - 0xa4]
call fcn.00628450
mov edx, dword [ebp - 0xbc]
add esp, 8
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
jmp 0x64c685
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 0xa4]
call fcn.006275f0
add esp, 8
mov dword [ebp - 0xc8], eax
jmp 0x64c67f
mov eax, dword [edx + 0x24]
test eax, eax
jle 0x64cb15
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x44], ecx
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xc4], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xd4]
test byte [eax + ebx*4 + 3], 0x20
je 0x64c673
xor eax, eax
jmp 0x64c67c
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x50]
mov dword [edx + 0x44], eax
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xac]
test edx, edx
je case.0x64ab46.17
cmp edx, dword [esi + 0x48]
ja 0x651fbc
mov esi, dword [ecx + 0x2c]
mov edi, dword [ebp - 0xd0]
mov dword [ebp - 0x98], esi
mov edx, dword [ecx + 0x4c]
mov dword [ebp - 0xa0], edx
mov eax, dword [ecx + 0x44]
cmp eax, dword [edi + 0x50]
jne 0x64c6ca
mov eax, dword [ecx + 0x50]
mov dword [ebp - 0x9c], eax
jmp 0x64c920
lea eax, [edx + esi*4]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x9c], eax
mov dword [ecx + 0x50], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x48], eax
mov eax, edi
mov ecx, dword [eax + 0x50]
mov eax, dword [ebp - 0xac]
mov dword [eax + 0x44], ecx
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x64c70c
mov dword [ebp - 0x8c], ecx
jmp 0x64c76e
mov edx, dword [ebp - 0xac]
xor ecx, ecx
mov eax, dword [ebp - 0xa4]
cmp byte [edx + 0x17], cl
je 0x64c728
cmp byte [eax + 0x43], 1
jne 0x64c745
push ecx
jmp 0x64c730
cmp byte [eax + 0x43], 1
jne 0x64c745
push 1
lea ecx, [ebp - 0x48]
push ecx
push eax
call fcn.00608900
mov edx, dword [ebp - 0xac]
add esp, 0xc
mov ecx, eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x8c], ecx
cmp eax, dword [ebp - 0x48]
ja 0x64c761
mov dword [ebp - 0xa8], ecx
mov dword [edx + 0x54], ecx
jmp 0x64c768
mov dword [edx + 0x54], 0
mov ecx, dword [ebp - 0x8c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x64c77e
movzx edx, al
mov al, 1
mov dword [ebp - 0x54], edx
jmp 0x64c794
lea eax, [ebp - 0x54]
push eax
push ecx
call fcn.00637e80
mov edx, dword [ebp - 0x54]
add esp, 8
mov ecx, dword [ebp - 0x8c]
movzx ebx, al
mov dword [ebp - 0x4c], ebx
cmp edx, 0x18003
ja 0x651d56
mov edi, dword [ebp - 0x98]
lea esi, [edi*4 + 3]
add esi, edi
cmp esi, edx
cmovg esi, edx
cmp dword [ebp - 0xa8], 0
mov dword [ebp - 0x94], esi
jne 0x64c825
cmp dword [ebp - 0x48], esi
jge 0x64c825
xor eax, eax
mov word [ebp - 0x68], ax
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x84]
push eax
mov eax, dword [ebp - 0xac]
movzx eax, byte [eax + 0x17]
push eax
push esi
push 0
push dword [ebp - 0xa4]
call fcn.00653770
mov ecx, eax
add esp, 0x14
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x64cb04
mov ecx, dword [ebp - 0x70]
mov ebx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x94]
mov edi, dword [ebp - 0x98]
mov dword [ebp - 0x8c], ecx
lea eax, [ecx + esi]
lea esi, [ebx + ecx]
mov dword [ebp - 0x58], eax
xor ecx, ecx
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x90], ecx
test edi, edi
jle 0x64c8cb
cmp esi, eax
mov eax, dword [ebp - 0x9c]
jae 0x64c985
mov dword [eax + ecx*4], edx
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x90]
mov al, byte [edx]
cmp al, 0x80
jae 0x64c871
movzx edx, al
mov eax, dword [ebp - 0xa0]
mov dword [eax + ecx*4], edx
mov al, 1
jmp 0x64c884
mov eax, dword [ebp - 0xa0]
lea eax, [eax + ecx*4]
push eax
push edx
call fcn.00637e80
add esp, 8
mov esi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x90]
movzx eax, al
add esi, eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x5c], esi
mov eax, dword [eax + ecx*4]
cmp eax, 0xc
jb 0x64c8aa
add eax, 0xfffffff4
shr eax, 1
jmp 0x64c8b1
movzx eax, byte [eax + 0x6b4dc8]
mov edx, dword [ebp - 0x54]
add edx, eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], edx
cmp edx, eax
jae 0x64c998
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x84]
push eax
call fcn.00653bb0
mov edx, dword [ebp - 0x5c]
add esp, 4
mov esi, dword [ebp - 0x58]
mov eax, 1
mov word [ebp - 0x68], ax
cmp edx, esi
ja 0x64cae5
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0xc4]
cmp eax, ecx
ja 0x64cae5
cmp edx, esi
jne 0x64c90e
cmp eax, ecx
jne 0x64cae5
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xa0]
mov ebx, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xb0]
cmp dword [eax + ecx*4], 0
je 0x64ca5e
cmp dword [ebp - 0xa8], 0
je 0x64c9b3
push dword [ebp - 0x88]
call fcn.00653c20
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xa0]
push dword [ebp - 0x88]
push dword [eax + ecx*4]
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax + ecx*4]
add eax, dword [ebp - 0xa8]
push eax
call fcn.006552e0
mov eax, dword [ebp - 0x88]
add esp, 0x10
mov cl, byte [ebp - 0xe8]
mov byte [eax + 0x1f], cl
jmp 0x64ca82
mov dword [eax + ecx*4], 0
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x90]
inc ecx
mov dword [ebp - 0x90], ecx
cmp ecx, dword [ebp - 0x98]
jge 0x64c8cb
mov eax, dword [ebp - 0x58]
jmp 0x64c841
mov eax, dword [edx + ecx*4]
cmp eax, 0xc
jb 0x64c9c2
add eax, 0xfffffff4
shr eax, 1
jmp 0x64c9c9
movzx eax, byte [eax + 0x6b4dc8]
push dword [ebp - 0x88]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x84]
push eax
call fcn.00653b00
mov ecx, dword [ebp - 0x9c]
lea eax, [ebp - 0x84]
push eax
mov eax, dword [ebp - 0xac]
movzx eax, byte [eax + 0x17]
push eax
mov eax, dword [ebp - 0xb0]
push dword [ebp - 0x94]
push dword [ecx + eax*4]
push dword [ebp - 0xa4]
call fcn.00653770
mov ecx, eax
add esp, 0x1c
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x64cb04
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xb0]
push dword [ebp - 0x88]
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x8c], edx
push dword [ecx + eax*4]
push edx
call fcn.006552e0
mov eax, dword [ebp - 0x88]
add esp, 0xc
mov cl, byte [ebp - 0xe8]
mov byte [eax + 0x1f], cl
jmp 0x64ca82
mov eax, dword [ebp - 0xd4]
cmp byte [eax + ebx*4 + 1], 0xf8
jne 0x64ca82
push 0x800
push dword [eax + ebx*4 + 0x10]
push dword [ebp - 0x88]
call fcn.006540b0
add esp, 0xc
cmp dword [ebp - 0x60], 0
je 0x64cabe
mov eax, dword [ebp - 0x88]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov ecx, 0x200
mov eax, dword [ebp - 0x88]
or word [eax + 0x1c], cx
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x70]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x60]
mov dword [eax + 0x24], ecx
push dword [ebp - 0x88]
call fcn.00653a90
mov edi, dword [ebp - 0xd8]
mov ecx, eax
mov esi, dword [ebp - 0xcc]
add esp, 4
mov dword [ebp - 0xc8], ecx
jmp 0x64c4b3
push 0xd911
push str.database_corruption_found_by_source_line__d
push 0xb
call fcn.00658600
mov ecx, 0xb
add esp, 0xc
mov dword [ebp - 0xc8], ecx
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xcc]
jmp 0x64c4b3
mov dword [ebp - 0xc4], 0
jmp case.0x64ab46.17
mov ecx, dword [edx + ebx*4 + 0x10]
mov dword [ebp - 0xc4], ecx
mov eax, dword [edx + ebx*4 + 4]
mov cl, byte [ecx]
mov byte [ebp - 0xc0], cl
lea eax, [eax + eax*4]
test cl, cl
je 0x64cc17
mov esi, dword [ebp - 0xe0]
add esi, 0x1c
lea esi, [esi + eax*8]
inc dword [ebp - 0xc4]
mov edx, 0xe
mov ax, word [esi]
bt ax, dx
jae 0x64cbab
mov eax, dword [esi - 4]
lea edi, [esi - 0x1c]
add eax, dword [edi]
mov ecx, 1
test eax, eax
push ecx
cmovle eax, ecx
push eax
push edi
call fcn.006538a0
add esp, 0xc
test eax, eax
jne 0x64cba5
push dword [edi]
push eax
mov eax, dword [esi - 8]
add eax, dword [esi - 4]
push eax
call fcn.005bc9a0
mov eax, dword [edi]
add esp, 0xc
add dword [esi - 4], eax
mov eax, 0xbdff
and word [esi], ax
mov cl, byte [ebp - 0xc0]
cmp cl, 0x61
jne 0x64cbd9
movzx eax, word [esi]
test al, 2
jne 0x64cbcf
test al, 0xc
je 0x64cbcf
movzx eax, byte [ebp - 0xe8]
push eax
lea eax, [esi - 0x1c]
push eax
call fcn.00654140
add esp, 8
mov eax, 0xfff3
and word [esi], ax
jmp 0x64cbf8
cmp cl, 0x62
je 0x64cbf8
lea edi, [esi - 0x1c]
push edi
call fcn.005fdc10
add esp, 4
test byte [esi], 8
je 0x64cbf8
push edi
call fcn.00652dd0
add esp, 4
mov eax, dword [ebp - 0xc4]
add esi, 0x28
mov cl, byte [eax]
mov byte [ebp - 0xc0], cl
test cl, cl
jne 0x64cb51
mov esi, dword [ebp - 0xcc]
inc dword [ebp - 0xc4]
mov edi, dword [ebp - 0xd8]
jmp case.0x64ab46.17
xorps xmm0, xmm0
mov dword [ebp - 0xb4], 0
movlpd qword [ebp - 0xbc], xmm0
movlpd qword [ebp - 0xac], xmm0
mov dword [ebp - 0xa4], 0
mov ecx, dword [edx + ebx*4 + 4]
mov dword [ebp - 0x90], ecx
mov eax, dword [edx + ebx*4 + 0x10]
mov dword [ebp - 0x8c], eax
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xe0]
lea esi, [ecx + eax*8]
mov dword [ebp - 0x98], esi
mov eax, dword [edx + ebx*4 + 8]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0xc0], esi
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ecx, [esi + eax*8]
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x94], ecx
movzx eax, byte [eax + 0x64]
mov dword [ebp - 0x88], eax
cmp esi, ecx
ja 0x64cde0
mov dword [ebp - 0xc0], esi
mov edi, dword [ebp - 0x8c]
test edi, edi
je 0x64cd26
mov ecx, esi
mov eax, 0x66666667
sub ecx, dword [ebp - 0x98]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov al, byte [eax + edi]
cmp al, 0x61
jne 0x64cd04
movzx eax, word [esi + 0x1c]
test al, 2
jne 0x64ccf9
test al, 0xc
je 0x64ccf9
movzx eax, byte [ebp - 0xe8]
push eax
push esi
call fcn.00654140
add esp, 8
mov eax, 0xfff3
and word [esi + 0x1c], ax
jmp 0x64cd20
cmp al, 0x62
je 0x64cd26
push esi
call fcn.005fdc10
add esp, 4
test byte [esi + 0x1c], 8
je 0x64cd20
push esi
call fcn.00652dd0
add esp, 4
mov esi, dword [ebp - 0xc0]
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x64cd46
cmp dword [esi + 0x18], 0
jle 0x64cd46
push esi
call fcn.00653650
mov esi, dword [ebp - 0xc0]
add esp, 4
push dword [ebp - 0x88]
push esi
call fcn.00655570
mov edx, eax
add esp, 8
mov dword [ebp - 0x9c], edx
cmp edx, 0xc
jb 0x64cd69
lea ebx, [edx - 0xc]
shr ebx, 1
jmp 0x64cd70
movzx ebx, byte [edx + 0x6b4dc8]
add dword [ebp - 0xbc], ebx
mov dword [ebp - 0x80], ebx
adc dword [ebp - 0xb8], 0
xor ecx, ecx
xor edi, edi
shrd edx, ecx, 7
inc edi
shr ecx, 7
mov eax, edx
or eax, ecx
je 0x64cd97
cmp edi, 9
jl 0x64cd84
add dword [ebp - 0xb4], edi
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x64cdb2
mov eax, dword [esi]
add dword [ebp - 0xa4], eax
jmp 0x64cdc5
mov eax, dword [ebp - 0xa4]
xor ecx, ecx
test ebx, ebx
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
add esi, 0x28
mov dword [ebp - 0xc0], esi
cmp esi, dword [ebp - 0x94]
jbe 0x64ccb2
mov ebx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xb4]
xor edi, edi
cdq
mov ecx, eax
nop dword [eax + eax]
shrd ecx, edx, 7
inc edi
shr edx, 7
mov eax, ecx
or eax, edx
je 0x64ce03
cmp edi, 9
jl 0x64cdf0
mov eax, dword [ebp - 0xb4]
add eax, edi
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0xb4], eax
xor esi, esi
cdq
mov ecx, eax
nop dword [eax]
shrd ecx, edx, 7
inc esi
shr edx, 7
mov eax, ecx
or eax, edx
je 0x64ce33
cmp esi, 9
jl 0x64ce20
cmp edi, esi
jge 0x64ce3d
inc dword [ebp - 0xb4]
mov eax, dword [ebp - 0xb4]
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0xa4]
cdq
sub esi, eax
mov eax, dword [ebp - 0xcc]
sbb ecx, edx
add esi, dword [ebp - 0xbc]
mov dword [ebp - 0xac], esi
adc ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xa8], ecx
mov eax, dword [eax + 0x48]
cdq
cmp ecx, edx
jg 0x651fb6
jl 0x64ce87
cmp esi, eax
ja 0x651fb6
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xe0]
push 0
push esi
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
push ebx
mov dword [ebp - 0xd8], ebx
call fcn.006538a0
add esp, 0xc
test eax, eax
jne 0x65211f
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebx + 0x14]
mov dword [ebp - 0xc4], edx
cmp ecx, 0x80
jae 0x64ced9
mov al, cl
mov byte [edx], al
mov eax, 1
jmp 0x64cf03
test ecx, 0xffffc000
jne 0x64cef7
mov eax, ecx
shr eax, 7
or al, 0x80
and cl, 0x7f
mov byte [edx], al
mov eax, 2
mov byte [edx + 1], cl
jmp 0x64cf03
push 0
push ecx
push edx
call fcn.006413b0
add esp, 0xc
mov esi, dword [ebp - 0x98]
movzx edi, al
mov dword [ebp - 0x84], edi
mov dword [ebp - 0xc0], esi
cmp esi, dword [ebp - 0x94]
ja 0x64cfb9
push dword [ebp - 0x88]
push esi
call fcn.00655570
mov ecx, eax
add esp, 8
mov dword [ebp - 0x9c], ecx
cmp ecx, 0x80
jae 0x64cf55
mov cl, al
mov eax, dword [ebp - 0xc4]
mov byte [edi + eax], cl
mov eax, 1
jmp 0x64cf87
mov edx, dword [ebp - 0xc4]
add edx, edi
test ecx, 0xffffc000
jne 0x64cf7b
mov eax, ecx
shr eax, 7
or al, 0x80
and cl, 0x7f
mov byte [edx], al
mov eax, 2
mov byte [edx + 1], cl
jmp 0x64cf87
push 0
push ecx
push edx
call fcn.006413b0
add esp, 0xc
mov esi, dword [ebp - 0xc0]
mov edi, dword [ebp - 0x84]
add esi, 0x28
movzx eax, al
add edi, eax
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0x84], edi
cmp esi, dword [ebp - 0x94]
jbe 0x64cf24
mov esi, dword [ebp - 0x98]
mov dword [ebp - 0xc0], esi
cmp esi, dword [ebp - 0x94]
ja 0x64d0cd
nop dword [eax + eax]
mov eax, dword [ebp - 0xac]
push dword [ebp - 0x88]
sub eax, edi
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xc4]
add eax, edi
push esi
mov dword [ebp - 0xf8], eax
call fcn.00655570
mov ebx, eax
add esp, 8
lea ecx, [ebx - 1]
cmp ecx, 6
ja 0x64d055
cmp ebx, 7
jne 0x64d044
mov edx, dword [esi + 8]
mov eax, dword [esi + 0xc]
movzx ecx, byte [ebx + 0x6b4dc8]
mov ebx, ecx
test ecx, ecx
je 0x64d0b0
mov edi, dword [ebp - 0xf8]
dec ecx
mov byte [ecx + edi], dl
shrd edx, eax, 8
shr eax, 8
test ecx, ecx
jne 0x64d027
mov edi, dword [ebp - 0x84]
mov esi, dword [ebp - 0xc0]
jmp 0x64d0b0
mov edx, dword [esi]
mov eax, dword [esi + 4]
cmp ebx, 0xc
jb 0x64d010
lea ecx, [ebx - 0xc]
shr ecx, 1
jmp 0x64d017
cmp ebx, 0xc
jb 0x64d0ae
mov ebx, dword [esi + 0x18]
mov edi, dword [ebp - 0xf8]
push ebx
push dword [esi + 0x14]
push edi
call fcn.005bcb70
mov eax, 0x4000
add esp, 0xc
test word [esi + 0x1c], ax
je 0x64d0a0
add ebx, dword [esi]
cmp ebx, dword [ebp - 0x100]
mov ecx, dword [esi + 0x18]
cmova ebx, dword [ebp - 0x100]
mov eax, ebx
sub eax, ecx
push eax
lea eax, [edi + ecx]
push 0
push eax
call fcn.005bc9a0
add esp, 0xc
mov edi, dword [ebp - 0x84]
mov esi, dword [ebp - 0xc0]
jmp 0x64d0b0
xor ebx, ebx
add esi, 0x28
add edi, ebx
mov dword [ebp - 0x84], edi
mov dword [ebp - 0xc0], esi
cmp esi, dword [ebp - 0x94]
jbe 0x64cfd0
mov edi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xac]
mov dword [edi + 0x18], eax
mov eax, 0x410
mov word [edi + 0x1c], ax
mov dword [edi + 0x20], 0
mov eax, dword [ebp - 0xa4]
test eax, eax
je 0x64d101
mov dword [edi], eax
mov eax, 0x4410
mov word [edi + 0x1c], ax
mov esi, dword [ebp - 0xcc]
mov byte [edi + 0x1f], 1
jmp case.0x64ab46.17
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax]
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x64d158
lea ecx, [ebp - 0xc4]
push ecx
push eax
call fcn.00627330
mov ecx, dword [ebp - 0xc0]
add esp, 8
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc4]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp case.0x64ab46.17
xorps xmm0, xmm0
movlpd qword [ebp - 0xc4], xmm0
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc0]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp case.0x64ab46.17
mov edx, dword [edx + ebx*4 + 4]
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0x100], edx
mov ebx, dword [eax + ebx*4 + 0x10]
mov dword [ebp - 0xc0], ebx
test edx, edx
jne 0x64d2c9
cmp dword [esi + 0x90], edx
jg 0x651d88
test ebx, ebx
jne 0x64d1b5
xor eax, eax
jmp 0x64d1cd
cmp byte [ebx], 0
mov eax, ebx
je 0x64d1c6
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x64d1c0
sub eax, ebx
and eax, 0x3fffffff
mov dword [ebp - 0xbc], eax
lea edx, [eax + 0x19]
cmp byte [esi + 0x1e], 0
je 0x64d1eb
mov dword [ebp - 0xb8], 0
jmp case.0x64ab46.17
cmp byte [esi + 0xe2], 0
je 0x64d234
movzx eax, word [esi + 0xe0]
cmp edx, eax
ja 0x64d234
mov ecx, dword [esi + 0xec]
test ecx, ecx
je 0x64d234
mov eax, dword [ecx]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0xe4]
inc eax
mov dword [esi + 0xe4], eax
cmp eax, dword [esi + 0xe8]
jle 0x64d22c
mov dword [esi + 0xe8], eax
mov dword [ebp - 0xb8], ecx
jmp 0x64d255
push edx
call fcn.0063b730
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x64d247
mov byte [esi + 0x1e], 1
mov dword [ebp - 0xb8], ecx
test ecx, ecx
je case.0x64ab46.17
lea eax, [ecx + 0x18]
mov dword [ecx], eax
mov eax, dword [ebp - 0xbc]
inc eax
push eax
mov eax, dword [ebp - 0xb8]
push dword [ebp - 0xc0]
push dword [eax]
call fcn.005bcb70
add esp, 0xc
cmp byte [esi + 0x1c], 0
je 0x64d28b
mov byte [esi + 0x1c], 0
mov byte [esi + 0x1d4], 1
jmp 0x64d291
inc dword [esi + 0x1cc]
mov eax, dword [ebp - 0xb8]
mov ecx, dword [esi + 0x1c8]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [esi + 0x1d8]
mov edx, dword [esi + 0x1dc]
mov dword [esi + 0x1c8], eax
mov eax, dword [ebp - 0xb8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
jmp case.0x64ab46.17
xor edi, edi
mov dword [ebp - 0xac], edi
mov esi, dword [esi + 0x1c8]
mov dword [ebp - 0xb4], esi
test esi, esi
je 0x64d306
push ebx
push dword [esi]
call fcn.00646770
add esp, 8
test eax, eax
je 0x64d335
inc edi
mov dword [ebp - 0xac], edi
mov eax, dword [esi + 0x10]
mov esi, eax
mov dword [ebp - 0xb4], esi
test eax, eax
jne 0x64d2e1
mov eax, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xcc]
add eax, 0x5c
push ebx
push str.no_such_savepoint:__s
push esi
push eax
call fcn.00645070
add esp, 0x10
mov ecx, 1
inc dword [ebp - 0xdc]
jmp 0x652146
mov edx, dword [ebp - 0x100]
test esi, esi
je 0x64d306
mov eax, dword [ebp - 0xcc]
cmp dword [eax + 0x90], 0
jg 0x64d583
cmp edx, 2
jne 0x64d364
cmp dword [eax + 0x8c], 1
jg 0x64d583
cmp dword [esi + 0x10], 0
jne 0x64d3d0
cmp byte [eax + 0x1d4], 0
je 0x64d3d0
mov ebx, 1
cmp edx, ebx
jne 0x64d3d2
push ebx
push dword [ebp - 0xd0]
call fcn.0064a280
mov edi, eax
add esp, 8
test edi, edi
jne 0x6521a6
mov edi, dword [ebp - 0xcc]
push dword [ebp - 0xd0]
mov byte [edi + 0x1c], bl
call fcn.00652910
add esp, 4
cmp eax, 5
je 0x651db0
mov eax, dword [ebp - 0xd0]
mov byte [edi + 0x1d4], 0
mov eax, dword [eax + 0x58]
mov dword [ebp - 0xc8], eax
jmp 0x64d46d
xor ebx, ebx
mov eax, dword [eax + 0x1cc]
xor ecx, ecx
sub eax, edi
mov dword [ebp - 0xa8], ecx
mov edi, dword [ebp - 0xcc]
dec eax
mov dword [ebp - 0xac], eax
cmp dword [edi + 4], ecx
jle 0x64d43f
mov esi, edi
push eax
mov eax, dword [esi + 8]
add ecx, ecx
push edx
push dword [eax + ecx*8 + 4]
call fcn.00629510
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x651ee0
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0xc4]
inc ecx
mov dword [ebp - 0xa8], ecx
cmp ecx, dword [esi + 4]
jge 0x64d439
mov eax, dword [ebp - 0xac]
jmp 0x64d3f6
mov esi, dword [ebp - 0xb4]
cmp edx, 2
jne 0x64d479
test dword [edi + 0xc], 0x200
je 0x64d479
mov eax, dword [edi + 0x88]
test eax, eax
je 0x64d462
mov byte [eax + 0x62], 1
mov eax, dword [eax + 8]
test eax, eax
jne 0x64d457
push 0
push edi
call fcn.00641fa0
add esp, 8
mov edx, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xb4]
mov eax, dword [edi + 0x1c8]
cmp eax, esi
je 0x64d4f4
nop dword [eax]
nop word [eax + eax]
mov dword [ebp - 0xb0], eax
mov eax, dword [eax + 0x10]
mov dword [edi + 0x1c8], eax
mov ecx, dword [ebp - 0xb0]
test ecx, ecx
je 0x64d4cf
cmp ecx, dword [edi + 0xf0]
jb 0x64d4cf
cmp ecx, dword [edi + 0xf4]
jae 0x64d4cf
mov eax, dword [edi + 0xec]
mov dword [ecx], eax
dec dword [edi + 0xe4]
mov dword [edi + 0xec], ecx
jmp 0x64d4d8
push ecx
call fcn.005f7d20
add esp, 4
dec dword [edi + 0x1cc]
mov eax, dword [edi + 0x1c8]
mov esi, dword [ebp - 0xb4]
cmp eax, esi
jne 0x64d490
mov edx, dword [ebp - 0xc4]
cmp edx, 1
jne 0x64d560
mov eax, dword [esi + 0x10]
mov esi, dword [ebp - 0xcc]
mov dword [esi + 0x1c8], eax
mov ecx, dword [ebp - 0xb4]
test ecx, ecx
je 0x64d538
cmp ecx, dword [esi + 0xf0]
jb 0x64d538
cmp ecx, dword [esi + 0xf4]
jae 0x64d538
mov eax, dword [esi + 0xec]
mov dword [ecx], eax
dec dword [esi + 0xe4]
mov dword [esi + 0xec], ecx
jmp 0x64d541
push ecx
call fcn.005f7d20
add esp, 4
mov edi, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xc8]
test ebx, ebx
jne 0x64c4b3
dec dword [esi + 0x1cc]
jmp 0x64c4b3
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov esi, dword [ebp - 0xcc]
mov edi, dword [ebp - 0xd8]
mov dword [esi + 0x1d8], eax
mov dword [esi + 0x1dc], ecx
jmp case.0x64ab46.17
mov esi, dword [ebp - 0xcc]
cmp edx, 2
mov ecx, str.release
mov eax, str.rollback
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0xd0]
push str.cannot__s_savepoint___SQL_statements_in_progress
add eax, 0x5c
push esi
push eax
call fcn.00645070
mov ecx, 5
add esp, 0x10
mov dword [ebp - 0xc8], ecx
mov edi, dword [ebp - 0xd8]
jmp 0x64c4b3
mov eax, dword [ebp - 0xd4]
mov edx, dword [edx + ebx*4 + 4]
mov dword [ebp - 0xc4], edx
mov ecx, dword [eax + ebx*4 + 8]
mov dword [ebp - 0xc0], ecx
test edx, edx
je 0x64d62e
cmp byte [esi + 0x1c], 0
jne 0x64d62e
mov dword [ebp - 0xbc], 1
test ecx, ecx
je 0x64d614
cmp dword [esi + 0x8c], 1
jle 0x64d638
mov dword [ebp - 0xc8], 5
mov eax, str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x64d668
cmp dword [esi + 0x90], 0
jle 0x64d638
mov dword [ebp - 0xc8], 5
mov eax, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x64d668
mov dword [ebp - 0xbc], 0
movzx eax, byte [esi + 0x1c]
cmp edx, eax
jne 0x651dd0
test edx, edx
jne 0x64d64f
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x64d65e
test ecx, ecx
mov eax, str.cannot_rollback___no_transaction_is_active
mov ecx, str.cannot_commit___no_transaction_is_active
cmove eax, ecx
mov dword [ebp - 0xc8], 1
mov ecx, dword [ebp - 0xd0]
push eax
push esi
lea eax, [ecx + 0x5c]
push eax
call fcn.00645070
add esp, 0xc
jmp case.0x64ab46.17
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [esi + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc4], eax
test eax, eax
je case.0x64ab46.17
push dword [edx + ebx*4 + 8]
push eax
call fcn.00626960
mov ecx, eax
add esp, 8
mov dword [ebp - 0xc8], ecx
cmp ecx, 5
je 0x651e59
test ecx, ecx
jne 0x651ee0
mov eax, dword [ebp - 0xd4]
cmp dword [eax + ebx*4 + 8], ecx
je 0x64c4b3
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x66], cl
je 0x64c4b3
cmp byte [esi + 0x1c], cl
je 0x64d6f3
cmp dword [esi + 0x8c], 1
jle 0x64c4b3
mov ecx, eax
mov edi, dword [ecx + 0xd0]
test edi, edi
jne 0x64d717
mov edi, dword [esi + 0x1cc]
inc dword [esi + 0x1d0]
add edi, dword [esi + 0x1d0]
mov dword [ecx + 0xd0], edi
mov esi, dword [ebp - 0xc4]
push esi
mov ebx, dword [esi + 4]
call fcn.006278b0
add esp, 4
cmp byte [esi + 8], 2
jne 0x64d748
cmp byte [ebx + 0x10], 0
jne 0x64d748
push edi
push dword [ebx]
call fcn.0063d610
add esp, 8
mov dword [ebp - 0xc8], eax
jmp 0x64d752
mov dword [ebp - 0xc8], 2
cmp byte [esi + 9], 0
je 0x64d776
add dword [esi + 0xc], 0xffffffff
jne 0x64d776
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x64d772
push eax
call dword [0x6f1c08]
add esp, 4
mov byte [esi + 0xa], 0
mov esi, dword [ebp - 0xcc]
mov edi, dword [ebp - 0xd0]
mov eax, dword [esi + 0x1d8]
mov ecx, dword [esi + 0x1dc]
mov dword [edi + 0xc8], eax
mov dword [edi + 0xcc], ecx
mov edi, dword [ebp - 0xd8]
jmp case.0x64ab46.17
mov ecx, dword [edx + ebx*4 + 4]
mov dword [ebp - 0xc0], ecx
add ecx, ecx
mov eax, dword [edx + ebx*4 + 0xc]
lea edx, [ebp - 0xc4]
push edx
mov dword [ebp - 0xbc], eax
push eax
mov eax, dword [esi + 8]
push dword [eax + ecx*8 + 4]
call fcn.00627b90
mov eax, dword [ebp - 0xc4]
add esp, 0xc
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
shl eax, 4
add eax, dword [esi + 8]
mov dword [ebp - 0xc4], eax
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.00652d20
mov cx, word [esi + 0x1c]
mov dword [esi + 4], edx
mov edx, 0xbf04
mov dword [esi], eax
and cx, dx
push eax
mov eax, dword [ebp - 0xd4]
or cx, 4
mov word [esi + 0x1c], cx
push dword [eax + ebx*4 + 8]
mov eax, dword [ebp - 0xc4]
push dword [eax + 4]
call fcn.00629960
mov edx, dword [ebp - 0xd4]
add esp, 0x10
mov dword [ebp - 0xc8], eax
mov eax, dword [edx + ebx*4 + 8]
cmp eax, 1
jne 0x64d86f
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi]
mov esi, dword [ebp - 0xcc]
mov dword [ecx], eax
or dword [esi + 0xc], 0x200
jmp 0x64d888
cmp eax, 2
jne 0x64d882
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0xc]
mov al, byte [esi]
mov byte [ecx + 0x48], al
mov esi, dword [ebp - 0xcc]
cmp dword [edx + ebx*4 + 4], 1
jne case.0x64ab46.17
mov eax, dword [esi + 0x88]
test eax, eax
je 0x64d8ab
nop dword [eax]
mov byte [eax + 0x62], 1
mov eax, dword [eax + 8]
test eax, eax
jne 0x64d8a0
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x62], 0
jmp case.0x64ab46.17
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [esi + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x64d8f1
lea ecx, [ebp - 0xc4]
push ecx
push 1
push eax
call fcn.00627b90
mov eax, dword [ebp - 0xc4]
add esp, 0xc
mov edx, dword [ebp - 0xd4]
jmp 0x64d8f9
xor eax, eax
mov dword [ebp - 0xc4], eax
cmp eax, dword [edx + ebx*4 + 8]
je case.0x64ab46.17
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
je 0x64d936
cmp ecx, dword [esi + 0xf0]
jb 0x64d936
cmp ecx, dword [esi + 0xf4]
jae 0x64d936
mov eax, dword [esi + 0xec]
mov dword [ecx], eax
dec dword [esi + 0xe4]
mov dword [esi + 0xec], ecx
jmp 0x64d93f
push ecx
call fcn.005f7d20
add esp, 4
mov eax, str.database_schema_has_changed
inc eax
cmp byte [eax], 0
jne 0x64d944
sub eax, str.database_schema_has_changed
and eax, 0x3fffffff
cmp byte [esi + 0x1e], 0
lea edi, [eax + 1]
je 0x64d961
xor esi, esi
jmp 0x64d9c3
cmp byte [esi + 0xe2], 0
je 0x64da26
movzx eax, word [esi + 0xe0]
cmp edi, eax
ja 0x64da26
mov esi, dword [esi + 0xec]
test esi, esi
je 0x64da26
mov ecx, dword [ebp - 0xcc]
mov eax, dword [esi]
mov dword [ecx + 0xec], eax
mov eax, dword [ecx + 0xe4]
inc eax
mov dword [ecx + 0xe4], eax
cmp eax, dword [ecx + 0xe8]
jle 0x64d9b4
mov dword [ecx + 0xe8], eax
push edi
push str.database_schema_has_changed
push esi
call fcn.005bcb70
add esp, 0xc
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x5c], esi
mov eax, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xcc]
mov edx, dword [eax + ebx*4 + 4]
mov ecx, edx
mov eax, dword [esi + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc4]
je 0x64d9fb
push edx
push esi
call fcn.00641fa0
add esp, 8
mov eax, dword [esi + 0x88]
test eax, eax
je 0x64da10
mov byte [eax + 0x62], 1
mov eax, dword [eax + 8]
test eax, eax
jne 0x64da05
mov edi, dword [ebp - 0xd8]
mov ecx, 0x11
mov dword [ebp - 0xc8], ecx
jmp 0x64c4b3
push edi
call fcn.0063b730
mov esi, eax
add esp, 4
test esi, esi
jne 0x64d9b4
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1e], 1
jmp 0x64d9c3
mov ecx, dword [ebp - 0xd0]
cmp byte [ecx + 0x62], 0
jne 0x651e8b
mov eax, dword [ebp - 0xd4]
xor edx, edx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc0], edx
mov esi, dword [eax + ebx*4 + 8]
mov dword [ebp - 0xbc], esi
mov ecx, dword [eax + ebx*4 + 0xc]
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xb8], ecx
shl ecx, 4
add ecx, dword [eax + 8]
mov dword [ebp - 0xa8], ecx
mov eax, dword [ecx + 4]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xd4]
cmp byte [eax + ebx*4], 0x27
jne 0x64dac7
mov dword [ebp - 0xb4], 1
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0xd0]
mov al, byte [eax + 0x48]
cmp al, byte [ecx + 0x64]
jae 0x64dacd
mov byte [ecx + 0x64], al
jmp 0x64dacd
mov dword [ebp - 0xb4], edx
mov ecx, dword [ebp - 0xd4]
cmp byte [ecx + ebx*4 + 3], dl
je 0x64db1c
mov ecx, dword [ebp - 0xe0]
lea eax, [esi + esi*4]
lea esi, [ecx + eax*8]
push esi
call fcn.00652d20
mov cx, word [esi + 0x1c]
add esp, 4
mov dword [esi + 4], edx
mov edx, 0xbf04
and cx, dx
mov dword [esi], eax
or cx, 4
mov word [esi + 0x1c], cx
mov dword [ebp - 0xbc], eax
cmp eax, 2
jl 0x651e75
mov edx, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xd4]
mov al, byte [esi + ebx*4 + 1]
cmp al, 0xfa
jne 0x64db55
mov eax, dword [ebp - 0xd0]
mov ecx, dword [esi + ebx*4 + 0x10]
mov dword [ebp - 0xc0], ecx
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x49]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xc0]
movzx edx, word [eax + 6]
inc edx
jmp 0x64db5d
cmp al, 0xf2
jne 0x64db63
mov edx, dword [esi + ebx*4 + 0x10]
mov dword [ebp - 0xc4], edx
push 1
push dword [ebp - 0xb8]
push edx
push dword [esi + ebx*4 + 4]
push dword [ebp - 0xd0]
call fcn.005fc260
add esp, 0x14
mov dword [ebp - 0xac], eax
test eax, eax
je 0x65211f
mov byte [eax + 0x14], 1
mov eax, dword [ebp - 0xac]
push dword [eax]
push dword [ebp - 0xc0]
push dword [ebp - 0xb4]
push dword [ebp - 0xbc]
push dword [ebp - 0xb0]
call fcn.006274f0
mov ecx, dword [ebp - 0xac]
add esp, 0x14
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0x10
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 0x28], eax
jne 0x64dbec
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xc8], 0
mov dword [eax], 0
cmp byte [esi + ebx*4 + 1], 0xfa
mov eax, dword [ebp - 0xac]
mov esi, dword [ebp - 0xcc]
setne cl
mov byte [eax + 0x16], cl
mov ecx, dword [ebp - 0xac]
cmp byte [ecx + 0x16], 0
sete al
mov byte [ecx + 0x17], al
jmp case.0x64ab46.17
push 1
push 0xffffffffffffffff
push dword [edx + ebx*4 + 8]
push dword [edx + ebx*4 + 4]
push dword [ebp - 0xd0]
call fcn.005fc260
add esp, 0x14
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x652125
mov byte [eax + 0x14], 1
mov eax, dword [ebp - 0xc4]
add eax, 0x20
push eax
push 0x41e
push 0x1f4
push 1
push 0
push esi
call fcn.00627a80
add esp, 0x18
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x64dd6c
mov eax, dword [ebp - 0xc4]
push 1
push dword [eax + 0x20]
call fcn.00626960
add esp, 8
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x64dd6c
mov eax, dword [ebp - 0xd4]
cmp dword [eax + ebx*4 + 0x10], 0
je 0x64dd43
push 2
lea eax, [ebp - 0x130]
push eax
mov eax, dword [ebp - 0xc4]
push dword [eax + 0x20]
call fcn.006274a0
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x64dd24
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xd4]
push dword [eax]
push dword [ecx + ebx*4 + 0x10]
push 1
push dword [ebp - 0x130]
push dword [eax + 0x20]
call fcn.006274f0
mov dword [ebp - 0xc8], eax
add esp, 0x14
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + ebx*4 + 0x10]
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x28], ecx
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x28]
mov al, byte [edx + 0x49]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x16], 0
mov ecx, dword [ebp - 0xc4]
cmp byte [ecx + 0x16], 0
sete al
mov byte [ecx + 0x17], al
jmp case.0x64ab46.17
mov eax, dword [ebp - 0xc4]
push dword [eax]
push 0
push 1
push 1
push dword [eax + 0x20]
call fcn.006274f0
mov dword [ebp - 0xc8], eax
add esp, 0x14
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x16], 1
mov ecx, dword [ebp - 0xc4]
cmp byte [ecx + 0x16], 0
sete al
mov byte [ecx + 0x17], al
jmp case.0x64ab46.17
push 0
push 0xffffffffffffffff
push dword [edx + ebx*4 + 0xc]
push dword [edx + ebx*4 + 4]
push dword [ebp - 0xd0]
call fcn.005fc260
add esp, 0x14
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x652125
mov byte [eax + 0x14], 1
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + ebx*4 + 8]
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x16], 1
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x17], 0
jmp case.0x64ab46.17
mov ecx, dword [edx + ebx*4 + 4]
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x34]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x64de32
mov eax, dword [esi + 0x20]
test eax, eax
je 0x64ddfc
push eax
call fcn.00626cb0
jmp 0x64de08
mov eax, dword [esi]
test eax, eax
je 0x64de11
push eax
call fcn.00626e90
mov edx, dword [ebp - 0xd0]
add esp, 4
mov ecx, dword [esi + 0x38]
test ecx, ecx
je 0x64de32
mov eax, dword [esi + 0x3c]
mov byte [edx + 0x65], 1
push ecx
mov eax, dword [eax + 0x1c]
call eax
mov eax, dword [ebp - 0xd0]
add esp, 4
mov byte [eax + 0x65], 0
mov eax, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xcc]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x34]
mov dword [eax + ecx*4], 0
jmp case.0x64ab46.17
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xbc], ecx
cmp dword [ecx], 0
je 0x64c4a2
movzx eax, byte [edx + ebx*4]
mov dword [ebp - 0xc0], eax
mov byte [ecx + 0x14], 0
mov ecx, dword [ebp - 0xbc]
cmp byte [ecx + 0x16], 0
je 0x64e0d6
mov eax, dword [edx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
push ebx
call fcn.005fdc10
push ebx
call fcn.00652d20
mov dword [ebp - 0x94], eax
add esp, 8
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x90], edx
mov byte [eax + 0x11], 0
movzx eax, word [ebx + 0x1c]
test al, 4
jne 0x64e05e
test al, 8
jne 0x64deee
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xd4]
mov ecx, dword [ecx + eax*4 + 8]
jmp 0x64c4a6
mov edi, dword [ebp - 0x94]
mov esi, dword [ebp - 0x90]
test edi, edi
jne 0x64e002
cmp esi, 0x80000000
jne 0x64e002
movsd xmm0, qword [ebx + 8]
movsd xmm1, qword [0x6b3550]
comisd xmm1, xmm0
ja 0x64df2f
comisd xmm0, xmmword [0x67f468]
jbe 0x64e002
xorps xmm0, xmm0
mov dword [ebp - 0xc4], 1
comisd xmm0, xmmword [ebx + 8]
jbe 0x64df9d
cmp dword [ebp - 0xc0], 0x2d
jl 0x64dfda
mov eax, dword [ebp - 0xbc]
mov esi, dword [eax]
push esi
call fcn.00617c40
mov ecx, eax
add esp, 4
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x651eda
cmp byte [esi + 0x43], al
jne 0x64df88
mov dword [ebp - 0xc4], 1
mov dword [ebp - 0xc8], ecx
jmp 0x64dfcd
push esi
mov dword [ebp - 0xc4], 0
call fcn.00617b30
add esp, 4
jmp 0x64dfbd
cmp dword [ebp - 0xc0], 0x2c
jg 0x64dfda
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xbc]
push dword [eax]
call fcn.006284a0
add esp, 8
mov ecx, eax
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x651eda
cmp dword [ebp - 0xc4], 0
je 0x64cb04
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xcc]
mov ecx, dword [ecx + eax*4 + 8]
dec ecx
mov dword [ebp - 0xdc], ecx
jmp case.0x64ab46.17
mov eax, dword [ebp - 0xc0]
cmp eax, 0x2b
je 0x64e036
cmp eax, 0x2d
je 0x64e036
mov edx, esi
mov ecx, edi
call fcn.005ed860
comisd xmm0, xmmword [ebx + 8]
jbe 0x64e06a
add edi, 0xffffffff
mov dword [ebp - 0x94], edi
adc esi, 0xffffffff
mov dword [ebp - 0x90], esi
jmp 0x64e06a
mov edx, esi
mov ecx, edi
call fcn.005ed860
movsd xmm1, qword [ebx + 8]
comisd xmm1, xmm0
jbe 0x64e06a
add edi, 1
mov dword [ebp - 0x94], edi
adc esi, 0
mov dword [ebp - 0x90], esi
jmp 0x64e06a
mov esi, dword [ebp - 0x90]
mov edi, dword [ebp - 0x94]
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xbc]
push 0
push esi
push edi
push 0
push dword [eax]
call fcn.00628590
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x651eda
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xcc]
cmp dword [ebp - 0xc4], eax
jne 0x64e172
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x11], 1
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x90]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
jmp 0x64e172
mov eax, dword [edx + ebx*4 + 0x10]
mov dword [ebp - 0x9c], eax
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0xb4], eax
mov ax, word [ebp - 0x9c]
mov word [ebp - 0xb0], ax
mov eax, dword [ebp - 0xc0]
dec eax
and eax, 1
shl eax, 3
mov word [ebp - 0xae], ax
mov eax, dword [edx + ebx*4 + 0xc]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, 0x4000
mov dword [ebp - 0xa4], eax
test word [eax + 0x1c], dx
je 0x64e13b
push eax
call fcn.00653650
mov ecx, dword [ebp - 0xbc]
add esp, 4
lea eax, [ebp - 0xc4]
push eax
push 0
push 0
push 0
lea eax, [ebp - 0xb4]
push eax
push dword [ecx]
call fcn.00628590
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x651ee0
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x11], cl
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x15], 0
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x44], 0
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc4]
cmp ecx, 0x2d
jl 0x64e1dd
test eax, eax
js 0x64e1c7
jne 0x64e1a5
cmp ecx, 0x2e
je 0x64e1c7
mov ecx, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xd8]
inc ecx
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0xc4], 0
jmp 0x64aa53
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xbc]
push dword [eax]
call fcn.00628a70
jmp 0x64e215
test eax, eax
jg 0x64e201
jne 0x64e1e8
cmp ecx, 0x2b
je 0x64e201
mov eax, dword [ebp - 0xbc]
xor ecx, ecx
mov eax, dword [eax]
cmp byte [eax + 0x43], 1
setne cl
mov dword [ebp - 0xc4], ecx
jmp 0x64e232
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xbc]
push dword [eax]
call fcn.00629250
mov ecx, eax
add esp, 8
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x651ee0
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x11], 0
cmp dword [ebp - 0xc4], 0
je 0x64ecd5
mov eax, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xfc]
mov ecx, dword [eax + ebx*4 + 8]
dec ecx
inc ecx
jmp 0x64aa53
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
cmp dword [eax], 0
je case.0x64ab46.17
mov ecx, dword [ebp - 0xe0]
mov byte [eax + 0x14], 0
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.00652d20
mov ecx, dword [ebp - 0xc4]
add esp, 4
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x15], 1
jmp case.0x64ab46.17
mov esi, dword [ebp - 0xd4]
xor edx, edx
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xc4], edx
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc0], ecx
mov eax, dword [esi + ebx*4 + 0xc]
mov esi, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
cmp dword [ecx], edx
je 0x64e405
mov edx, dword [ebp - 0xd4]
cmp dword [edx + ebx*4 + 0x10], 0
jle 0x64e33b
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0xb4], eax
mov ax, word [edx + ebx*4 + 0x10]
mov word [ebp - 0xb0], ax
mov eax, 0x10
mov word [ebp - 0xae], ax
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xb8], eax
jmp 0x64e391
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x64e355
push esi
call fcn.00653650
mov ecx, dword [ebp - 0xc0]
add esp, 4
push 0x97
lea eax, [ebp - 0x9c]
push eax
push dword [esi + 0x14]
push dword [esi + 0x18]
push dword [ecx + 0x28]
call fcn.00654e50
add esp, 0x14
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x65211f
or word [eax + 6], 0x10
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xbc]
push edx
push 0
push 0
push 0
push eax
push dword [ecx]
call fcn.00628590
mov ecx, eax
add esp, 0x18
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], ecx
cmp dword [eax + ebx*4 + 0x10], 0
jne 0x64e3d2
push dword [ebp - 0xb8]
call fcn.0064a8b0
mov ecx, dword [ebp - 0xc8]
add esp, 4
test ecx, ecx
jne 0x64cb0a
xor eax, eax
cmp dword [ebp - 0xbc], eax
sete al
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x15], cl
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x44], ecx
mov edx, dword [ebp - 0xc4]
jmp 0x64e40b
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd4]
cmp byte [eax + ebx*4], 0x31
jne 0x64e435
test edx, edx
je 0x64cb0a
mov esi, dword [eax + ebx*4 + 8]
dec esi
mov dword [ebp - 0xdc], esi
mov esi, dword [ebp - 0xcc]
jmp 0x64c4b3
test edx, edx
jne 0x64cb0a
mov esi, dword [eax + ebx*4 + 8]
dec esi
mov dword [ebp - 0xdc], esi
mov esi, dword [ebp - 0xcc]
jmp 0x64c4b3
mov eax, dword [edx + ebx*4 + 0xc]
xor esi, esi
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + ebx*4 + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xb4], eax
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0xc0], eax
mov dword [eax + 0x40], 0
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x44], 0
mov eax, dword [ebp - 0xc0]
mov ebx, dword [eax]
mov dword [ebp - 0xbc], ebx
mov eax, dword [eax + 0x28]
movzx eax, word [eax + 6]
cmp si, ax
mov word [ebp - 0xb8], ax
mov esi, dword [ebp - 0xb4]
mov edx, eax
mov word [ebp - 0xc4], cx
jae 0x64e4f0
movzx eax, cx
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
jne 0x64e5c0
inc cx
mov word [ebp - 0xc4], cx
cmp cx, dx
jb 0x64e4d1
test ebx, ebx
je 0x64bb70
mov eax, dword [ebp - 0xc0]
push edi
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0x9c], esi
mov word [ebp - 0xa8], ax
mov eax, 0x20
mov word [ebp - 0xa6], ax
call fcn.00652d20
mov cx, word [edi + 0x1c]
mov ebx, 0xbf04
mov dword [edi], eax
and cx, bx
mov dword [edi + 4], edx
or cx, 4
mov word [edi + 0x1c], cx
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xc0]
add eax, 0x40
mov dword [ebp - 0x90], edx
push eax
push 0
push 0
push 0
lea eax, [ebp - 0xac]
push eax
push dword [ebp - 0xbc]
call fcn.00628590
add esp, 0x1c
mov dword [ebp - 0xc8], eax
test byte [ebp - 0xa6], 0x20
jne 0x64dfda
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa0]
cmp ecx, dword [ebp - 0x94]
jne 0x64e5aa
cmp eax, dword [ebp - 0x90]
je 0x64dfda
mov esi, dword [ebp - 0xcc]
mov dword [edi], ecx
mov dword [edi + 4], eax
mov edi, dword [ebp - 0xd8]
jmp case.0x64ab46.17
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xcc]
mov ecx, dword [ecx + eax*4 + 8]
dec ecx
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xdc], ecx
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 0xc]
mov ecx, dword [edx + ebx*4 + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
mov edx, dword [eax]
mov dword [ebp - 0xc0], edx
test edx, edx
je 0x64e6e0
mov eax, dword [ebp - 0xe0]
lea edi, [ebp - 0xbc]
push edi
mov dword [ebp - 0xbc], 0
push 0
mov ecx, dword [eax + esi*8]
mov eax, dword [eax + esi*8 + 4]
push eax
push ecx
push 0
push edx
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xb0], eax
call fcn.00628590
mov dword [ebp - 0xc8], eax
add esp, 0x18
mov eax, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xd8]
mov ecx, dword [eax + esi*8]
mov edx, dword [eax + esi*8 + 4]
mov eax, dword [ebp - 0xc4]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
cmp dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xc4]
sete cl
mov byte [eax + 0x11], cl
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x14], 0
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x44], 0
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x15], 0
mov ecx, dword [ebp - 0xbc]
test ecx, ecx
je 0x64e6cc
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + ebx*4 + 8]
dec eax
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xcc]
mov dword [eax + 0x40], ecx
jmp case.0x64ab46.17
mov ecx, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xcc]
mov ecx, dword [ecx + ebx*4 + 8]
dec ecx
mov dword [eax + 0x40], 0
mov dword [ebp - 0xdc], ecx
jmp case.0x64ab46.17
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0xd0]
mov dword [edi], ecx
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.0x64ab46.17
mov eax, dword [ebp - 0xd0]
xorps xmm0, xmm0
movlpd qword [ebp - 0xc4], xmm0
mov dword [ebp - 0xb8], 0
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0xbc], esi
cmp dword [esi], 0
je 0x64ea7f
mov dword [ebp - 0xb4], 0
cmp byte [esi + 0x13], 0
jne 0x64e963
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
mov ecx, dword [eax + 0x1c]
mov eax, edx
or eax, ecx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc0], ecx
jne 0x64e82f
lea eax, [ebp - 0xb8]
push eax
push dword [esi]
call fcn.006284a0
mov ecx, eax
add esp, 8
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x651eda
cmp dword [ebp - 0xb8], eax
je 0x64e7cf
lea edx, [eax + 1]
jmp 0x64e823
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xbc]
push dword [eax]
call fcn.00628450
mov edx, dword [ebp - 0xc4]
add esp, 8
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xc8], eax
cmp edx, 0xffffffff
jne 0x64e81d
cmp ecx, 0x7fffffff
jne 0x64e81d
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x13], 1
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
jmp 0x64e82f
add edx, 1
adc ecx, 0
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xc4], edx
mov esi, dword [ebp - 0xd4]
mov eax, dword [esi + ebx*4 + 0xc]
test eax, eax
je 0x64e923
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0xd4]
test edx, edx
je 0x64e87e
mov dword [ebp - 0xac], edx
cmp dword [edx + 0x3c], 0
je 0x64e86f
mov eax, dword [edx + 0x3c]
mov edx, eax
mov dword [ebp - 0xac], edx
mov eax, dword [eax + 0x3c]
test eax, eax
jne 0x64e860
mov eax, dword [esi + ebx*4 + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea esi, [eax + ecx*8]
jmp 0x64e88a
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
mov dword [ebp - 0xb0], esi
call fcn.00652d20
mov dword [esi], eax
mov ecx, 0xbf04
mov ax, word [esi + 0x1c]
add esp, 4
and ax, cx
mov dword [esi + 4], edx
or ax, 4
mov word [esi + 0x1c], ax
mov edi, dword [ebp - 0xb0]
mov edx, dword [edi]
mov ecx, dword [edi + 4]
cmp edx, 0xffffffff
jne 0x64e8ce
cmp ecx, 0x7fffffff
je 0x651e9b
mov eax, dword [ebp - 0xbc]
cmp byte [eax + 0x13], 0
jne 0x651e9b
mov esi, dword [ebp - 0xc0]
add edx, 1
adc ecx, 0
cmp esi, ecx
jg 0x64e90c
jl 0x64e8fa
mov eax, dword [ebp - 0xc4]
cmp eax, edx
jae 0x64e912
mov eax, edx
mov esi, ecx
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], esi
jmp 0x64e912
mov eax, dword [ebp - 0xc4]
mov dword [edi], eax
mov dword [edi + 4], esi
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
cmp ecx, 0x7fffffff
jg 0x64e93a
jl 0x64e932
cmp edx, 0xffffffff
jae 0x64e93a
add edx, 1
adc ecx, 0
jmp 0x64e951
xorps xmm0, xmm0
movlpd qword [ebp - 0xf0], xmm0
mov ecx, dword [ebp - 0xec]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xbc]
push ecx
push edx
push dword [eax]
call fcn.00629780
add esp, 0xc
mov eax, dword [ebp - 0xbc]
cmp byte [eax + 0x13], 0
je 0x64ea58
mov esi, dword [ebp - 0xcc]
xor eax, eax
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xb4], eax
test eax, eax
jne 0x64e9bb
mov eax, ecx
xor edi, edi
and eax, 0xffffff
cmp eax, ecx
jne 0x64e9bb
cmp edi, edx
jne 0x64e9bb
add ecx, 1
mov dword [ebp - 0xc4], ecx
adc edx, edi
mov dword [ebp - 0xc0], edx
jmp 0x64e9f7
lea eax, [ebp - 0xc4]
push eax
push 8
call fcn.005f7dd0
mov ecx, dword [ebp - 0xc4]
add esp, 8
cmp dword [ebp - 0xb4], 5
jge 0x64e9f1
and ecx, 0xffffff
xor edx, edx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc0], edx
jmp 0x64e9f7
mov edx, dword [ebp - 0xc0]
lea eax, [ebp - 0xb8]
push eax
mov eax, dword [ebp - 0xbc]
push 0
push edx
push ecx
push 0
push dword [eax]
call fcn.00628590
mov ecx, eax
add esp, 0x18
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xb4], eax
test ecx, ecx
jne 0x64ea58
cmp eax, 0x64
jge 0x64ea4b
cmp dword [ebp - 0xb8], ecx
jne 0x64ea58
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
jmp 0x64e993
cmp dword [ebp - 0xb8], 0
je 0x651ea2
mov eax, dword [ebp - 0xbc]
mov edi, dword [ebp - 0xd8]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x15], 0
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x44], 0
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xcc]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 8]
mov ecx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xd0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edi + 0x34]
mov dword [ebp - 0xc4], esi
mov ecx, dword [edx + ebx*4 + 4]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xb4], ecx
cmp byte [edx + ebx*4], 0x36
mov eax, dword [edx + ebx*4 + 0xc]
mov dword [ebp - 0xc8], ecx
jne 0x64eafc
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xc0], ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0xb8], ecx
mov ecx, dword [ebp - 0xc8]
jmp 0x64eb09
cdq
mov dword [ebp - 0xb8], edx
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xbc], eax
test byte [edx + ebx*4 + 3], 1
je 0x64eb19
inc dword [edi + 0x6c]
test byte [edx + ebx*4 + 3], 2
je 0x64eb50
mov edx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xbc]
mov dword [edx + 0x30], eax
mov dword [edx + 0x34], ecx
mov ecx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], ecx
test byte [esi + 0x1c], 1
je 0x64eb7c
mov dword [esi + 0x14], 0
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], ecx
test byte [edx + ebx*4 + 3], 0x10
je 0x64eb88
mov ebx, dword [ecx + 0x40]
jmp 0x64eb8a
xor ebx, ebx
mov eax, 0x4000
mov dword [ebp - 0xac], ebx
test word [esi + 0x1c], ax
je 0x64eb9f
mov edi, dword [esi]
jmp 0x64eba1
xor edi, edi
mov dword [ebp - 0xb0], edi
mov edx, dword [ecx]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x64ebea
mov eax, dword [ecx + 0x14]
cmp eax, dword [edx + 0x14]
jne 0x64ebc9
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x1c], 0
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x64ebb3
mov ebx, dword [ebp - 0xac]
mov edi, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xc4]
jmp 0x64ebf0
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd4]
push ebx
mov ebx, dword [ebp - 0xe4]
movzx eax, byte [eax + ebx*4 + 3]
and eax, 8
push eax
push edi
push dword [esi + 0x18]
push dword [esi + 0x14]
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
push 0
push dword [ecx]
call fcn.00627c00
mov esi, dword [ebp - 0xcc]
add esp, 0x24
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xc8]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0xb4]
mov byte [eax + 0x15], 0
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x44], 0
test ecx, ecx
jne 0x64d5bd
cmp dword [esi + 0xb8], ecx
je 0x64d5bd
mov edi, dword [ebp - 0xd4]
cmp dword [edi + ebx*4 + 0x10], ecx
je 0x64d5bd
mov eax, dword [ebp - 0xb4]
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 8]
add ecx, ecx
mov edx, dword [eax + ecx*8]
mov eax, 0x12
mov dword [ebp - 0xa8], edx
mov ecx, dword [edi + ebx*4 + 0x10]
mov dword [ebp - 0xa4], ecx
test byte [edi + ebx*4 + 3], 4
mov ebx, 0x17
push ecx
cmovne eax, ebx
push edx
push eax
mov dword [ebp - 0xa0], eax
push dword [esi + 0xb4]
mov eax, dword [esi + 0xb8]
call eax
add esp, 0x18
mov ecx, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xd8]
inc ecx
mov edx, dword [ebp - 0xfc]
jmp 0x64aa53
mov eax, dword [ebp - 0xd0]
xorps xmm0, xmm0
movlpd qword [ebp - 0xc4], xmm0
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xbc], esi
cmp dword [eax + 0xb8], 0
je 0x64ed36
cmp dword [edx + ebx*4 + 0x10], 0
je 0x64ed36
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], ecx
cmp byte [esi + 0x15], 0
je 0x64edac
lea eax, [ebp - 0x12c]
push eax
push 0
push dword [esi + 0x1c]
push dword [esi + 0x18]
push 0
push dword [esi]
call fcn.00628590
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x651eda
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x18]
mov dword [esi + 0xc], ecx
mov ecx, dword [ebp - 0x12c]
test ecx, ecx
mov dword [esi + 8], eax
sete al
mov byte [esi + 0x11], al
test ecx, ecx
jns 0x64eda6
lea eax, [ebp - 0x12c]
push eax
push dword [esi]
call fcn.00628a70
mov ecx, eax
add esp, 8
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x651eda
mov byte [esi + 0x15], 0
jmp 0x64edee
mov edi, dword [esi]
test edi, edi
je 0x64edf5
cmp byte [edi + 0x43], 2
jb 0x64edd1
push edi
call fcn.00601560
mov ecx, eax
add esp, 4
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x651eda
cmp byte [edi + 0x43], 1
jne 0x64ede1
cmp dword [edi + 0x50], 0
jne 0x64ede1
xor eax, eax
jmp 0x64ede6
mov eax, 1
test eax, eax
je 0x64edf5
mov byte [esi + 0x14], 1
mov dword [esi + 0x44], 0
mov eax, dword [ebp - 0xbc]
push 0
push 0
push dword [eax]
call fcn.00629780
mov eax, dword [ebp - 0xbc]
push dword [eax]
call fcn.00627650
mov esi, dword [ebp - 0xcc]
add esp, 0x10
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc8]
mov dword [eax + 0x44], 0
test ecx, ecx
jne 0x64ee82
mov edx, dword [esi + 0xb8]
test edx, edx
je 0x64ee82
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + ebx*4 + 0x10]
test eax, eax
je 0x64ee82
push dword [ebp - 0xc0]
push dword [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 8]
add ecx, ecx
push dword [eax + ecx*8]
push 9
push dword [esi + 0xb4]
call edx
mov ecx, dword [ebp - 0xc8]
add esp, 0x18
mov eax, dword [ebp - 0xd4]
test byte [eax + ebx*4 + 8], 1
je 0x64d5bd
mov edi, dword [ebp - 0xd0]
inc dword [edi + 0x6c]
mov edi, dword [ebp - 0xd8]
jmp 0x64c4b3
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ecx + 0x6c]
add dword [esi + 0x40], eax
mov dword [esi + 0x3c], eax
mov dword [ecx + 0x6c], 0
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 8]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + ebx*4 + 4]
mov dword [ebp - 0xd8], edi
mov eax, dword [eax + 0x34]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0xc4], esi
mov eax, dword [esi]
mov dword [ebp - 0xc0], eax
cmp byte [esi + 0x15], 0
je 0x64ef77
lea eax, [ebp - 0x128]
push eax
push 0
push dword [esi + 0x1c]
push dword [esi + 0x18]
push 0
push dword [esi]
call fcn.00628590
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x651eda
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x18]
mov dword [esi + 0xc], ecx
mov ecx, dword [ebp - 0x128]
test ecx, ecx
mov dword [esi + 8], eax
sete al
mov byte [esi + 0x11], al
test ecx, ecx
jns 0x64ef6a
lea eax, [ebp - 0x128]
push eax
push dword [esi]
call fcn.00628a70
mov ecx, eax
add esp, 8
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x651eda
mov byte [esi + 0x15], 0
mov dword [esi + 0x44], 0
jmp 0x64efce
mov edi, dword [esi]
test edi, edi
je 0x64efc8
cmp byte [edi + 0x43], 2
jb 0x64ef9c
push edi
call fcn.00601560
mov ecx, eax
add esp, 4
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x651eda
cmp byte [edi + 0x43], 1
jne 0x64efac
cmp dword [edi + 0x50], 0
jne 0x64efac
xor eax, eax
jmp 0x64efb1
mov eax, 1
mov edi, dword [ebp - 0xd8]
test eax, eax
je 0x64efce
mov dword [esi + 0x44], 0
mov byte [esi + 0x14], 1
jmp 0x64efce
mov edi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xc4]
cmp byte [eax + 0x17], 0
je 0x64f01d
lea eax, [ebp - 0xb4]
push eax
push dword [ebp - 0xc0]
call fcn.00628450
mov esi, dword [ebp - 0xcc]
add esp, 8
mov eax, dword [esi + 0x48]
cdq
cmp dword [ebp - 0xb0], edx
jg 0x651fbc
mov ecx, dword [ebp - 0xb4]
jl 0x64f015
cmp ecx, eax
ja 0x651fbc
mov dword [ebp - 0xbc], ecx
jmp 0x64f047
lea eax, [ebp - 0xbc]
push eax
push dword [ebp - 0xc0]
call fcn.006275f0
mov esi, dword [ebp - 0xcc]
add esp, 8
mov ecx, dword [ebp - 0xbc]
cmp ecx, dword [esi + 0x48]
ja 0x651fbc
push 0
push ecx
push edi
call fcn.006538a0
add esp, 0xc
test eax, eax
jne 0x652125
mov eax, dword [ebp - 0xbc]
mov ecx, 0xbf10
mov dword [edi + 0x18], eax
mov ax, word [edi + 0x1c]
and ax, cx
or ax, 0x10
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xc4]
mov edi, dword [edi + 0x14]
cmp byte [eax + 0x17], 0
je 0x64f09a
push 0
push edi
push dword [ebp - 0xbc]
push 0
push dword [ebp - 0xc0]
jmp 0x64f0ed
mov esi, dword [ebp - 0xc0]
mov ebx, dword [ebp - 0xbc]
mov al, byte [esi + 0x43]
test al, al
jne 0x64f0cd
mov edi, dword [ebp - 0xd8]
mov ecx, 4
mov esi, dword [ebp - 0xcc]
mov dword [ebp - 0xc8], ecx
mov byte [edi + 0x1f], 1
jmp 0x64c4b3
cmp al, 2
jb 0x64f0e6
push esi
call fcn.00601560
mov ecx, eax
add esp, 4
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x64f0fd
push 0
push edi
push ebx
push 0
push esi
call fcn.005fafc0
mov ecx, eax
add esp, 0x14
mov dword [ebp - 0xc8], ecx
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xcc]
mov byte [edi + 0x1f], 1
jmp 0x64c4b3
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
cmp byte [ecx + 0x14], 0
je 0x64f13c
mov eax, 1
mov word [edi + 0x1c], ax
jmp case.0x64ab46.17
cmp byte [ecx + 0x15], 0
je 0x64f15e
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], ecx
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp case.0x64ab46.17
cmp dword [ecx + 0x38], 0
je 0x64f1fe
mov eax, dword [ecx + 0x38]
lea edx, [ebp - 0xbc]
push edx
mov eax, dword [eax]
mov dword [ebp - 0xb4], eax
mov eax, dword [eax]
mov dword [ebp - 0xb0], eax
push dword [ecx + 0x38]
mov eax, dword [eax + 0x30]
call eax
mov dword [ebp - 0xc8], eax
add esp, 8
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
je 0x64f1c6
cmp ecx, dword [esi + 0xf0]
jb 0x64f1c6
cmp ecx, dword [esi + 0xf4]
jae 0x64f1c6
mov eax, dword [esi + 0xec]
mov dword [ecx], eax
dec dword [esi + 0xe4]
mov dword [esi + 0xec], ecx
jmp 0x64f1cf
push ecx
call fcn.005f7d20
add esp, 4
mov ecx, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xd0]
mov eax, dword [ecx + 8]
mov dword [ebx + 0x5c], eax
mov dword [ecx + 8], 0
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb8]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp case.0x64ab46.17
push ecx
call fcn.0064a490
mov ecx, eax
add esp, 4
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x651ee0
mov ecx, dword [ebp - 0xc4]
cmp byte [ecx + 0x11], al
je 0x64f23e
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], ecx
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp case.0x64ab46.17
lea eax, [ebp - 0xbc]
push eax
push dword [ecx]
call fcn.00628450
mov ecx, dword [ebp - 0xb8]
add esp, 8
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xbc]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp case.0x64ab46.17
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
mov byte [eax + 0x14], 1
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax]
test eax, eax
je case.0x64ab46.17
push eax
call fcn.00626b80
add esp, 4
jmp case.0x64ab46.17
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc0], eax
test eax, eax
jne 0x64f2db
mov dword [ebp - 0xbc], 1
jmp 0x64f2fd
lea ecx, [ebp - 0xbc]
push ecx
push eax
call fcn.006284a0
mov ecx, dword [ebp - 0xc4]
add esp, 8
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], eax
mov al, byte [ebp - 0xbc]
mov byte [ecx + 0x14], al
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x15], 0
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x44], 0
mov eax, dword [edx + ebx*4 + 8]
test eax, eax
jle case.0x64ab46.17
cmp dword [ebp - 0xbc], 0
je case.0x64ab46.17
lea ecx, [eax - 1]
jmp 0x64c4a7
mov eax, dword [ebp - 0xd0]
inc dword [eax + 0xb4]
jmp 0x64f35c
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
mov esi, dword [ecx]
mov dword [ebp - 0xc0], esi
test esi, esi
je 0x64f41c
push esi
call fcn.00617c40
mov edx, eax
add esp, 4
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x64f3c1
cmp byte [esi + 0x43], al
jne 0x64f3a8
mov dword [ebp - 0xbc], 1
mov dword [ebp - 0xc8], eax
jmp 0x64f3c1
push esi
mov dword [ebp - 0xbc], 0
call fcn.00617b30
add esp, 4
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xd4]
sete cl
mov esi, dword [ebp - 0xcc]
mov byte [eax + 0x12], cl
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x15], 0
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x44], 0
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x11], 0
mov ecx, dword [ebp - 0xc4]
mov al, byte [ebp - 0xbc]
mov byte [ecx + 0x14], al
cmp dword [ebp - 0xbc], 0
jmp 0x64c4a0
mov esi, dword [ebp - 0xcc]
mov dword [ebp - 0xbc], 1
mov al, byte [ebp - 0xbc]
mov byte [ecx + 0x14], al
cmp dword [ebp - 0xbc], 0
jmp 0x64c4a0
cmp dword [esi + 0xd8], 0
jne 0x64ab5a
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
test eax, eax
je case.0x64ab46.17
mov ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
test ecx, ecx
jne 0x64f481
mov byte [eax + 0x14], 1
jmp case.0x64ab46.17
lea eax, [ebp - 0xbc]
mov dword [ebp - 0xbc], 1
cmp byte [edx + ebx*4], 0x42
push eax
push ecx
jne 0x64f4a0
call fcn.00628a70
jmp 0x64f4a5
call fcn.00629250
mov ecx, dword [ebp - 0xc4]
add esp, 8
mov dword [ebp - 0xc8], eax
mov al, byte [ebp - 0xbc]
mov byte [ecx + 0x14], al
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x44], 0
cmp dword [ebp - 0xbc], 0
jne 0x64f4fc
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + ebx*4 + 8]
mov al, byte [eax + ebx*4 + 3]
dec ecx
mov dword [ebp - 0xdc], ecx
test al, al
je 0x64f4fc
mov ecx, dword [ebp - 0xd0]
movzx eax, al
inc dword [ecx + eax*4 + 0xac]
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x11], 0
jmp case.0x64ab46.17
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
mov eax, dword [edx + ebx*4 + 8]
mov edx, dword [ebp - 0xe0]
mov edi, dword [ecx]
mov dword [ebp - 0xc0], edi
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
test edi, edi
je 0x64bb70
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x64f571
push esi
call fcn.00653650
mov ecx, eax
add esp, 4
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x64cb04
mov edi, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [esi + 0x18]
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xbc], edx
mov esi, dword [esi + 0x14]
mov dword [ebp - 0xb8], esi
test byte [eax + ebx*4 + 3], 0x10
je 0x64f595
mov eax, dword [ecx + 0x40]
jmp 0x64f597
xor eax, eax
push eax
mov eax, dword [ebp - 0xd4]
push dword [eax + ebx*4 + 0xc]
mov eax, edx
push 0
push 0
push 0x6c5274
cdq
push edx
push eax
push esi
push edi
call fcn.00627c00
mov edi, dword [ebp - 0xd8]
add esp, 0x24
mov esi, dword [ebp - 0xcc]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x44], 0
jmp case.0x64ab46.17
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
test ecx, ecx
je case.0x64ab46.17
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xb4], eax
mov ax, word [edx + ebx*4 + 0xc]
mov word [ebp - 0xb0], ax
xor eax, eax
mov word [ebp - 0xae], ax
mov eax, dword [edx + ebx*4 + 8]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xbc]
push eax
push 0
push 0
push 0
lea eax, [ebp - 0xb4]
push eax
push ecx
call fcn.00628590
add esp, 0x18
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x64f67b
cmp dword [ebp - 0xbc], eax
jne 0x64f67b
push dword [ebp - 0xc0]
call fcn.00627650
add esp, 4
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x44], 0
jmp case.0x64ab46.17
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc0], eax
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
mov eax, 1
mov word [edi + 0x1c], ax
cmp dword [ebp - 0xc4], 0
je case.0x64ab46.17
mov eax, dword [ebp - 0xc0]
mov esi, eax
cmp byte [esi + 0x15], 0
je 0x64f750
lea ecx, [ebp - 0x11c]
push ecx
push 0
push dword [esi + 0x1c]
push dword [esi + 0x18]
push 0
push dword [eax]
call fcn.00628590
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x651eda
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x18]
mov dword [esi + 0xc], ecx
mov ecx, dword [ebp - 0x11c]
test ecx, ecx
mov dword [esi + 8], eax
sete al
mov byte [esi + 0x11], al
test ecx, ecx
jns 0x64f73d
lea eax, [ebp - 0x11c]
push eax
push dword [esi]
call fcn.00628a70
mov ecx, eax
add esp, 8
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x651eda
mov byte [esi + 0x15], 0
mov dword [esi + 0x44], 0
mov eax, dword [ebp - 0xc0]
jmp 0x64f7b3
mov edi, dword [eax]
test edi, edi
je 0x64f7ad
cmp byte [edi + 0x43], 2
jb 0x64f77b
push edi
call fcn.00601560
mov ecx, eax
add esp, 4
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x651eda
mov eax, dword [ebp - 0xc0]
cmp byte [edi + 0x43], 1
jne 0x64f78b
cmp dword [edi + 0x50], 0
jne 0x64f78b
xor ecx, ecx
jmp 0x64f790
mov ecx, 1
mov edi, dword [ebp - 0xd8]
test ecx, ecx
je 0x64f7b3
mov dword [esi + 0x44], 0
mov byte [esi + 0x14], 1
mov eax, dword [ebp - 0xc0]
jmp 0x64f7b3
mov edi, dword [ebp - 0xd8]
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
cmp byte [eax + 0x14], cl
jne 0x64cb0a
mov esi, dword [ebp - 0xc4]
lea eax, [ebp - 0x14c]
push eax
xorps xmm0, xmm0
push esi
movlpd qword [ebp - 0x14c], xmm0
call fcn.00628450
lea eax, [ebp - 0x174]
xorps xmm0, xmm0
push eax
push 1
push dword [ebp - 0x14c]
movups xmmword [ebp - 0x174], xmm0
push 0
push esi
movups xmmword [ebp - 0x164], xmm0
movq qword [ebp - 0x154], xmm0
call fcn.00653770
mov ecx, eax
add esp, 0x1c
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x651eda
mov ebx, dword [ebp - 0x160]
mov al, byte [ebx]
cmp al, 0x80
jae 0x64f83c
movzx esi, al
mov dword [ebp - 0x120], esi
jmp 0x64f852
lea eax, [ebp - 0x120]
push eax
push ebx
call fcn.00637e80
mov esi, dword [ebp - 0x120]
add esp, 8
cmp esi, 3
jb 0x651eaf
mov edi, dword [ebp - 0x15c]
cmp esi, edi
jg 0x651eaf
lea eax, [ebx - 1]
add eax, esi
mov cl, byte [eax]
cmp cl, 0x80
jae 0x64f880
movzx edx, cl
mov dword [ebp - 0x124], edx
jmp 0x64f896
lea ecx, [ebp - 0x124]
push ecx
push eax
call fcn.00637e80
mov edx, dword [ebp - 0x124]
add esp, 8
lea eax, [edx - 1]
cmp eax, 8
ja 0x651eaf
cmp edx, 7
je 0x651eaf
push edx
call fcn.00655650
add esp, 4
lea ecx, [eax + esi]
cmp edi, ecx
jb 0x651eaf
lea ecx, [ebp - 0x1c4]
sub edi, eax
push ecx
push edx
add edi, ebx
push edi
call fcn.006552e0
mov eax, dword [ebp - 0x1c4]
mov ecx, dword [ebp - 0x1c0]
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0x174]
push eax
mov dword [ebp - 0xb8], ecx
call fcn.00653bb0
mov edi, dword [ebp - 0xd8]
add esp, 0x10
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xcc]
mov dword [edi], eax
mov eax, 4
mov dword [edi + 4], ecx
xor ecx, ecx
mov dword [ebp - 0xc8], 0
mov word [edi + 0x1c], ax
jmp 0x64c4b3
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov edi, dword [eax + ecx*4]
mov dword [ebp - 0xc4], edi
cmp dword [edi], 0
je 0x64abdf
mov eax, dword [edi + 0x28]
mov dword [ebp - 0xbc], eax
mov ax, word [edx + ebx*4 + 0x10]
mov word [ebp - 0xb8], ax
mov eax, 0xc
cmp byte [edx + ebx*4 + 3], 0
jne 0x64f974
mov eax, 4
mov ecx, dword [ebp - 0xe0]
mov word [ebp - 0xb6], ax
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xac], eax
mov esi, dword [edi]
cmp byte [esi + 0x43], 1
jne 0x64fa49
push esi
call fcn.00613f50
mov ecx, dword [esi + 0x2c]
add esp, 4
mov eax, dword [esi + 0x28]
test ecx, ecx
jl 0x64fa49
jg 0x64fa49
test eax, eax
je 0x64fa49
test ecx, ecx
jg 0x64fa49
jl 0x64f9d7
cmp eax, 0x7fffffff
ja 0x64fa49
lea ecx, [ebp - 0x19c]
xorps xmm0, xmm0
push ecx
push 1
push eax
push 0
push dword [edi]
movups xmmword [ebp - 0x19c], xmm0
movups xmmword [ebp - 0x18c], xmm0
movq qword [ebp - 0x17c], xmm0
call fcn.00653770
add esp, 0x14
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x64fa71
lea eax, [ebp - 0xbc]
push eax
push dword [ebp - 0x188]
push dword [ebp - 0x184]
call fcn.006549b0
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0x19c]
push eax
call fcn.00653bb0
add esp, 0x10
mov dword [ebp - 0xc8], 0
jmp 0x64fa71
push 0xc847
push str.database_corruption_found_by_source_line__d
push 0xb
mov dword [ebp - 0xc0], 0
call fcn.00658600
add esp, 0xc
mov dword [ebp - 0xc8], 0xb
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xc0]
cmp byte [ecx + ebx*4], 0x48
jne 0x64fa87
neg eax
jmp 0x64fa88
inc eax
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xcc]
mov dword [ebp - 0xc0], eax
test eax, eax
jle case.0x64ab46.17
mov ecx, dword [ecx + ebx*4 + 8]
jmp 0x64c4a6
xor edx, edx
mov dword [ebp - 0xc0], edx
mov ecx, dword [esi + 0x88]
mov dword [ebp - 0xbc], ecx
test ecx, ecx
je 0x64faee
cmp dword [ecx + 0x44], 0xbdf20da3
jne 0x64fadf
cmp byte [ecx + 0x65], 2
jae 0x64fadf
cmp dword [ecx + 0x54], 0
jl 0x64fadf
inc edx
mov dword [ebp - 0xc0], edx
mov eax, dword [ecx + 8]
mov ecx, eax
mov dword [ebp - 0xbc], ecx
test eax, eax
jne 0x64fac3
mov eax, 1
mov word [edi + 0x1c], ax
cmp dword [ebp - 0xc0], eax
jg 0x651f29
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + ebx*4 + 0xc]
mov dword [ebp - 0xb8], ecx
add ecx, ecx
mov esi, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 8]
mov edi, dword [eax + ecx*8 + 4]
push edi
call fcn.006278b0
lea eax, [ebp - 0xc4]
push eax
push esi
push edi
call fcn.00600c00
add esp, 0x10
mov dword [ebp - 0xc8], eax
cmp byte [edi + 9], 0
je 0x64fb67
add dword [edi + 0xc], 0xffffffff
jne 0x64fb67
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x64fb63
push eax
call dword [0x6f1c08]
add esp, 4
mov byte [edi + 0xa], 0
mov edi, dword [ebp - 0xd8]
mov eax, 4
mov ecx, dword [ebp - 0xc8]
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xc4]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
test ecx, ecx
jne 0x64cb0a
mov esi, dword [ebp - 0xc4]
test esi, esi
je 0x64cb0a
mov eax, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xb8]
shl edi, 4
mov edx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xcc]
add edi, dword [eax + 8]
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x64fbd5
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x18], esi
jne 0x64fbcf
mov dword [ecx + 0x18], edx
mov eax, dword [eax]
test eax, eax
jne 0x64fbc4
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x64fbf1
nop
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jne 0x64fbeb
mov dword [ecx + 0x14], edx
mov eax, dword [eax]
test eax, eax
jne 0x64fbe0
mov ecx, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xd8]
inc ecx
mov esi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xfc]
mov byte [ebp - 0xf1], 1
jmp 0x64aa53
mov dword [ebp - 0xc4], 0
lea eax, [ebp - 0xc4]
xor ecx, ecx
cmp dword [edx + ebx*4 + 0xc], ecx
cmove eax, ecx
mov ecx, dword [edx + ebx*4 + 8]
push eax
mov eax, dword [esi + 8]
add ecx, ecx
push dword [edx + ebx*4 + 4]
push dword [eax + ecx*8 + 4]
call fcn.00626c20
mov edx, dword [ebp - 0xd4]
add esp, 0xc
mov ecx, eax
mov dword [ebp - 0xc8], ecx
cmp dword [edx + ebx*4 + 0xc], 0
je 0x64c4b3
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xc4]
add dword [ecx + 0x6c], eax
mov ecx, dword [edx + ebx*4 + 0xc]
test ecx, ecx
jle case.0x64ab46.17
mov ebx, dword [ebp - 0xe0]
lea ecx, [ecx + ecx*4]
cdq
add dword [ebx + ecx*8], eax
adc dword [ebx + ecx*8 + 4], edx
jmp case.0x64ab46.17
mov dword [ebp - 0xc4], 0
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [esi + 8]
mov esi, 2
shl ecx, 4
add eax, ecx
mov ecx, 5
mov dword [ebp - 0xbc], eax
cmp byte [edx + ebx*4], 0x61
cmove esi, ecx
mov dword [ebp - 0xc0], esi
mov edi, dword [eax + 4]
push edi
call fcn.006278b0
push esi
lea eax, [ebp - 0xc4]
push eax
push edi
call fcn.00600900
add esp, 0x10
mov dword [ebp - 0xc8], eax
cmp byte [edi + 9], 0
je 0x64fd0a
add dword [edi + 0xc], 0xffffffff
jne 0x64fd0a
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x64fd06
push eax
call dword [0x6f1c08]
add esp, 4
mov byte [edi + 0xa], 0
mov eax, dword [ebp - 0xc4]
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xcc]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 4]
push esi
mov dword [ebp - 0xc4], eax
call fcn.00627990
mov eax, dword [ebp - 0xd4]
add esp, 4
mov edx, dword [ebp - 0xc4]
cmp dword [eax + ebx*4 + 8], 0
jne 0x64fd68
mov eax, dword [esi + 8]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
test byte [eax + 0x4a], 1
je 0x64fe42
mov eax, dword [ebp - 0xd4]
cmp edx, 1
mov dword [ebp - 0xb8], esi
mov ecx, str.sqlite_temp_master
cmovne ecx, dword [ebp - 0x134]
add edx, edx
mov dword [ebp - 0xc0], ecx
mov eax, dword [eax + ebx*4 + 4]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xd0]
add eax, 0x5c
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xd4]
push dword [eax + ebx*4 + 0x10]
mov eax, dword [esi + 8]
push ecx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.0063b710
add esp, 0x14
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x651f49
push 0
lea eax, [ebp - 0xb8]
mov byte [esi + 0x7c], 1
push eax
push fcn.00638f70
push dword [ebp - 0xbc]
mov dword [ebp - 0xac], 0
push esi
call fcn.005f51f0
mov ecx, dword [ebp - 0xbc]
add esp, 0x14
test eax, eax
cmove eax, dword [ebp - 0xac]
mov dword [ebp - 0xc8], eax
test ecx, ecx
je 0x64fe35
cmp ecx, dword [esi + 0xf0]
jb 0x64fe35
cmp ecx, dword [esi + 0xf4]
jae 0x64fe35
mov eax, dword [esi + 0xec]
mov dword [ecx], eax
dec dword [esi + 0xe4]
mov dword [esi + 0xec], ecx
jmp 0x64fe3e
push ecx
call fcn.005f7d20
add esp, 4
mov byte [esi + 0x7c], 0
push esi
call fcn.00628500
mov ecx, dword [ebp - 0xc8]
add esp, 4
cmp ecx, 7
je 0x652125
jmp 0x64c4b3
push dword [edx + ebx*4 + 4]
push esi
call fcn.006249c0
mov ecx, eax
add esp, 8
mov dword [ebp - 0xc8], ecx
jmp 0x64c4b3
mov ecx, dword [edx + ebx*4 + 0x10]
mov eax, ecx
mov edx, dword [edx + ebx*4 + 4]
shl edx, 4
add edx, dword [esi + 8]
test ecx, ecx
je 0x64fe9f
cmp byte [ecx], 0
je 0x64fe98
inc eax
cmp byte [eax], 0
jne 0x64fe92
sub eax, ecx
and eax, 0x3fffffff
push 0
push eax
mov eax, dword [edx + 0xc]
push ecx
add eax, 4
push eax
call fcn.00638170
push eax
call fcn.0062c220
add esp, 0x14
or dword [esi + 0xc], 0x200
jmp case.0x64ab46.17
mov eax, dword [ebp - 0xd4]
mov edx, dword [edx + ebx*4 + 0x10]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [esi + 8]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 0xc]
mov eax, edx
add ecx, 0x14
test edx, edx
je 0x64fefd
cmp byte [edx], 0
je 0x64fef6
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x64fef0
sub eax, edx
and eax, 0x3fffffff
push 0
push eax
push edx
push ecx
call fcn.00638170
mov esi, eax
add esp, 0x10
test esi, esi
je 0x64ff43
mov edx, dword [esi + 0x10]
mov ecx, dword [edx + 0x14]
cmp ecx, esi
jne 0x64ff22
mov eax, dword [esi + 0x20]
mov dword [edx + 0x14], eax
jmp 0x64ff3a
test ecx, ecx
je 0x64ff3a
lea edx, [ecx + 0x20]
mov ecx, dword [edx]
cmp ecx, esi
je 0x64ff35
test ecx, ecx
jne 0x64ff26
jmp 0x64ff3a
mov eax, dword [esi + 0x20]
mov dword [edx], eax
push esi
call fcn.0060b360
add esp, 4
mov esi, dword [ebp - 0xcc]
or dword [esi + 0xc], 0x200
jmp case.0x64ab46.17
mov eax, dword [ebp - 0xd4]
mov edx, dword [edx + ebx*4 + 0x10]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [esi + 8]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 0xc]
mov eax, edx
add ecx, 0x24
test edx, edx
je 0x64ff8d
cmp byte [edx], 0
je 0x64ff86
nop word [eax + eax]
inc eax
cmp byte [eax], 0
jne 0x64ff80
sub eax, edx
and eax, 0x3fffffff
push 0
push eax
push edx
push ecx
call fcn.00638170
mov esi, eax
add esp, 0x10
test esi, esi
je 0x64afa7
mov ecx, dword [esi + 0x14]
cmp ecx, dword [esi + 0x18]
jne 0x64ffce
push esi
call fcn.006596d0
add esp, 4
lea ecx, [eax + 0x40]
mov eax, dword [ecx]
cmp eax, esi
je 0x64ffc9
nop
lea ecx, [eax + 0x20]
mov eax, dword [ecx]
cmp eax, esi
jne 0x64ffc0
mov eax, dword [eax + 0x20]
mov dword [ecx], eax
push esi
mov esi, dword [ebp - 0xcc]
push esi
call fcn.0062c450
add esp, 8
or dword [esi + 0xc], 0x200
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 8]
mov dword [ebp - 0xc4], eax
cmp byte [esi + 0x1e], 0
lea edx, [eax*4 + 4]
jne 0x651f57
cmp byte [esi + 0xe2], 0
je 0x65004e
movzx eax, word [esi + 0xe0]
cmp edx, eax
jg 0x65004e
mov ecx, dword [esi + 0xec]
test ecx, ecx
je 0x65004e
mov eax, dword [ecx]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0xe4]
inc eax
mov dword [esi + 0xe4], eax
cmp eax, dword [esi + 0xe8]
jle 0x650046
mov dword [esi + 0xe8], eax
mov dword [ebp - 0xc0], ecx
jmp 0x65006f
push edx
call fcn.0063b730
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x650061
mov byte [esi + 0x1e], 1
mov dword [ebp - 0xc0], ecx
test ecx, ecx
je 0x652125
mov edx, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xe0]
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0xb0], eax
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
xor eax, eax
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xc4], eax
jle 0x6500e4
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
push eax
call fcn.00652d20
mov edx, dword [ebp - 0xbc]
add esp, 4
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xbc]
inc eax
mov dword [ebp - 0xbc], eax
cmp eax, dword [ebp - 0xc4]
jl 0x6500a5
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xd4]
mov dword [ecx + eax*4], 0
lea eax, [ebp - 0xb8]
movzx ecx, byte [edx + ebx*4 + 3]
mov ebx, dword [ebp - 0xcc]
add ecx, ecx
push eax
mov eax, dword [ebp - 0xb0]
push dword [eax]
mov eax, dword [ebx + 8]
push dword [ebp - 0xc4]
push dword [ebp - 0xc0]
push dword [eax + ecx*8 + 4]
call fcn.00627df0
mov ecx, dword [ebp - 0xc0]
add esp, 0x14
mov dword [ebp - 0xb4], eax
test ecx, ecx
je 0x650158
cmp ecx, dword [ebx + 0xf0]
jb 0x650158
cmp ecx, dword [ebx + 0xf4]
jae 0x650158
mov eax, dword [ebx + 0xec]
mov dword [ecx], eax
dec dword [ebx + 0xe4]
mov dword [ebx + 0xec], ecx
jmp 0x650161
push ecx
call fcn.005f7d20
add esp, 4
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb0]
cdq
push esi
sub dword [ecx], eax
mov eax, dword [ebp - 0xb0]
sbb dword [eax + 4], edx
call fcn.00653c90
add esp, 4
cmp dword [ebp - 0xb8], 0
je 0x6501ac
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x651f7d
push fcn.005f7d20
push 1
push 0xffffffffffffffff
push eax
push esi
call fcn.00653ea0
add esp, 0x14
test byte [esi + 0x1c], 2
je 0x6501cc
mov al, byte [ebp - 0xe8]
cmp byte [esi + 0x1f], al
je 0x6501cc
push dword [ebp - 0x10c]
push esi
call fcn.006541e0
add esp, 8
mov esi, ebx
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea edi, [eax + eax*4]
jne 0x650204
push esi
call fcn.00653d90
add esp, 4
test byte [esi + 0x1c], 0x20
je 0x65211f
mov ebx, dword [ebp - 0xe0]
push dword [ebx + edi*8 + 4]
push dword [ebx + edi*8]
push dword [esi]
call fcn.00642870
mov edi, dword [ebp - 0xd8]
add esp, 0xc
mov esi, dword [ebp - 0xcc]
jmp case.0x64ab46.17
cmp dword [esi + 0xd8], 0
jne 0x64ab5a
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea edi, [ecx + eax*8]
je 0x6502eb
mov esi, dword [edi]
push esi
call fcn.00621840
mov ecx, dword [esi + 8]
add esp, 4
test ecx, ecx
je 0x6502e5
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], ecx
mov eax, dword [esi + 8]
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
test eax, eax
jne 0x650291
push esi
call fcn.00642800
add esp, 4
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0xc0]
mov eax, dword [ecx + eax*4 + 0xc]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.00653bb0
mov eax, 4
mov dword [esi], edi
mov edi, dword [ebp - 0xd8]
add esp, 4
mov dword [esi + 4], ebx
mov word [esi + 0x1c], ax
mov byte [esi + 0x1e], 1
mov esi, dword [ebp - 0xcc]
jmp case.0x64ab46.17
mov esi, dword [ebp - 0xcc]
push edi
call fcn.00653c90
mov eax, dword [ebp - 0xd4]
add esp, 4
mov edi, dword [ebp - 0xd8]
mov ecx, dword [eax + ebx*4 + 8]
jmp 0x64c4a6
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + ebx*4 + 0xc]
mov ecx, dword [edx + ebx*4 + 0x10]
mov dword [ebp - 0xc4], ecx
test byte [edi + 0x1c], 0x20
lea esi, [eax + eax*4]
mov dword [ebp - 0xec], edi
mov dword [ebp - 0x100], esi
mov dword [ebp - 0xf8], ecx
jne 0x650361
push edi
call fcn.00653d90
add esp, 4
test byte [edi + 0x1c], 0x20
je 0x65211f
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xf8], ecx
test ecx, ecx
je 0x650487
js 0x650372
mov ebx, ecx
and ebx, 0xf
jmp 0x650377
mov ebx, 0xff
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x100]
mov edi, dword [edi]
mov esi, dword [ecx + esi*8]
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x13c], eax
cmp bl, byte [edi + 0x1b]
je 0x650437
cmp dword [edi + 8], 0
je 0x650428
push edi
call fcn.00621840
mov edx, dword [edi + 8]
add esp, 4
mov dword [ebp - 0x104], edx
mov esi, 1
mov eax, dword [edx + 8]
mov dword [ebp - 0x104], eax
mov dword [edx + 8], 0
mov dword [edx + 0xc], 0
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x650411
mov ecx, edx
mov edx, eax
push esi
mov eax, dword [edx + 8]
mov dword [ebp - 0x104], eax
lea eax, [ebp - 0x104]
push eax
mov dword [edx + 0xc], ecx
call fcn.006215f0
mov dword [edx + 8], eax
add esp, 8
mov eax, dword [ebp - 0x104]
inc esi
test eax, eax
jne 0x6503e3
mov esi, dword [ebp - 0x138]
mov dword [edi + 0x14], edx
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov byte [edi + 0x1b], bl
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xf8], eax
mov eax, dword [edi + 0x14]
test eax, eax
je 0x650469
mov ebx, dword [ebp - 0x13c]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
cmp ecx, ebx
jg 0x650462
jl 0x650453
cmp edx, esi
jae 0x650458
mov eax, dword [eax + 8]
jmp 0x650465
cmp ecx, ebx
jl 0x6504b5
jg 0x650462
cmp edx, esi
jbe 0x6504b5
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x650444
mov ecx, dword [ebp - 0xf8]
test ecx, ecx
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0x100]
mov dword [ebp - 0xc0], 0
js 0x64bb70
mov ebx, dword [ebp - 0xe0]
push dword [ebx + esi*8 + 4]
push dword [ebx + esi*8]
push dword [edi]
call fcn.00642870
mov edi, dword [ebp - 0xd8]
add esp, 0xc
mov esi, dword [ebp - 0xcc]
jmp case.0x64ab46.17
mov dword [ebp - 0xc0], 1
jmp 0x64dfda
mov esi, dword [edx + ebx*4 + 0x10]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xac], esi
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov dword [ebp - 0xbc], edi
cmp byte [edx + ebx*4 + 3], 0
je 0x65052e
mov ecx, dword [ebp - 0xd0]
mov edx, dword [esi + 0x14]
mov dword [ebp - 0xa8], edx
mov ecx, dword [ecx + 0xd4]
mov dword [ebp - 0xb0], ecx
test ecx, ecx
je 0x65052e
nop word [eax + eax]
cmp dword [ecx + 0x20], edx
je 0x650526
mov eax, dword [ecx + 0x3c]
mov ecx, eax
mov dword [ebp - 0xb0], ecx
test eax, eax
jne 0x650510
jmp 0x65052e
test ecx, ecx
jne 0x64bb70
mov ecx, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xcc]
mov eax, dword [ecx + 0xd8]
cmp eax, dword [ebx + 0x70]
jge 0x651f84
test byte [edi + 0x1c], 0x40
jne 0x650713
mov eax, dword [esi + 0xc]
add eax, dword [esi + 8]
mov dword [ebp - 0xc4], eax
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0xc]
lea eax, [eax + ecx*2]
lea esi, [eax*4 + 0x40]
mov dword [ebp - 0xc0], esi
cmp byte [ebx + 0x1e], 0
jne 0x651f73
cmp byte [ebx + 0xe2], 0
je 0x6505c4
movzx eax, word [ebx + 0xe0]
cmp esi, eax
jg 0x6505c4
mov ecx, dword [ebx + 0xec]
test ecx, ecx
je 0x6505c4
mov eax, dword [ecx]
mov dword [ebx + 0xec], eax
mov eax, dword [ebx + 0xe4]
inc eax
mov dword [ebx + 0xe4], eax
cmp eax, dword [ebx + 0xe8]
jle 0x6505c0
mov dword [ebx + 0xe8], eax
mov edi, ecx
jmp 0x6505e1
push esi
call fcn.0063b730
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x6505d7
mov byte [ebx + 0x1e], 1
mov edi, ecx
test ecx, ecx
je 0x651f66
push esi
push 0
push ecx
call fcn.005bc9a0
push dword [ebp - 0xbc]
mov dword [ebp - 0xb0], edi
call fcn.00653bb0
mov eax, dword [ebp - 0xbc]
mov ecx, 0x40
mov edi, dword [ebp - 0xd0]
add esp, 0x10
mov edx, dword [ebp - 0xdc]
mov esi, ebx
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb0]
mov dword [eax], ecx
mov eax, dword [ebp - 0xb0]
mov dword [eax], edi
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xb0]
mov dword [eax + 0x28], ecx
mov eax, dword [ebp - 0xb0]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [edi + 0x4c]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [edi + 0x48]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [edi + 0x34]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0xb0]
mov cx, word [edi + 0x32]
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [edi + 0x14]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [edi + 0xc]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0xb0]
mov dword [eax + 0x20], ecx
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx + 0x24]
lea ecx, [edx + 0x40]
mov dword [ebp - 0xb8], ecx
lea eax, [eax + eax*4]
lea eax, [eax + 8]
lea eax, [edx + eax*8]
mov dword [ebp - 0xb4], eax
cmp ecx, eax
je 0x65071f
mov edi, 1
mov word [ecx + 0x1c], di
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x10], esi
mov ecx, dword [ebp - 0xb8]
add ecx, 0x28
mov dword [ebp - 0xb8], ecx
cmp ecx, dword [ebp - 0xb4]
jne 0x6506e1
mov edi, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xb0]
jmp 0x65071f
mov edx, dword [edi]
mov esi, ebx
mov dword [ebp - 0xb0], edx
mov edi, ecx
inc dword [edi + 0xd8]
mov eax, dword [edi + 0xd4]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xdc], 0xffffffff
mov dword [eax + 0x30], ecx
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [edi + 0x6c]
mov dword [eax + 0x38], ecx
mov eax, dword [ebp - 0xb0]
mov dword [edi + 0xd4], eax
mov dword [edi + 0x6c], 0
lea ebx, [eax + 0x18]
mov dword [edi + 0x4c], ebx
mov ecx, dword [eax + 0x24]
mov dword [edi + 0x48], ecx
inc ecx
mov ax, word [eax + 0x28]
mov word [edi + 0x32], ax
mov dword [ebp - 0xe0], ebx
lea eax, [ecx + ecx*4]
lea eax, [ebx + eax*8]
mov dword [edi + 0x34], eax
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax]
mov dword [edi + 0x14], ecx
mov eax, dword [eax + 4]
mov dword [edi + 0xc], eax
mov edi, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], ecx
jmp case.0x64ab46.17
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax + 0xd4]
mov dword [ebp - 0xc4], edx
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
mov ecx, dword [ebp - 0xd4]
add eax, dword [ecx + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea esi, [eax + ecx*8]
mov dword [ebp - 0xc0], esi
movzx eax, word [edi + 0x1c]
test eax, 0x2460
je 0x650842
test eax, 0x2000
je 0x65080c
push dword [edi]
push edi
call fcn.006536b0
push edi
call fcn.00653bb0
add esp, 0xc
jmp 0x650842
test eax, 0x400
je 0x650828
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x650828
push dword [edi + 0x14]
call ecx
mov dword [edi + 0x20], 0
jmp 0x65083f
test al, 0x20
je 0x650835
push dword [edi]
call fcn.00642800
jmp 0x65083f
test al, 0x40
je 0x650842
push edi
call fcn.00653c90
add esp, 4
movups xmm0, xmmword [esi]
mov eax, 0x800
movups xmmword [edi], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [edi + 0x10], xmm0
mov dword [edi + 0x20], 0
test word [esi + 0x1c], ax
jmp 0x64b1e9
mov eax, dword [edx + ebx*4 + 8]
cmp dword [edx + ebx*4 + 4], 0
cdq
je 0x650882
add dword [esi + 0x1d8], eax
adc dword [esi + 0x1dc], edx
jmp case.0x64ab46.17
mov ecx, dword [ebp - 0xd0]
add dword [ecx + 0xc0], eax
adc dword [ecx + 0xc4], edx
jmp case.0x64ab46.17
cmp dword [edx + ebx*4 + 4], 0
je 0x6508b7
mov eax, dword [esi + 0x1d8]
or eax, dword [esi + 0x1dc]
jne case.0x64ab46.17
jmp 0x64c4a2
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ecx + 0xc0]
or eax, dword [ecx + 0xc4]
jne case.0x64ab46.17
jmp 0x64c4a2
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax + 0xd4]
test edx, edx
je 0x650917
mov dword [ebp - 0xc0], edx
cmp dword [edx + 0x3c], 0
je 0x650902
mov eax, dword [edx + 0x3c]
mov edx, eax
mov dword [ebp - 0xc0], edx
mov eax, dword [eax + 0x3c]
test eax, eax
jne 0x6508f3
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea esi, [eax + ecx*8]
jmp 0x65092d
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [eax + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
mov dword [ebp - 0xc4], esi
call fcn.00652d20
mov dword [esi], eax
mov ecx, 0xbf04
mov ax, word [esi + 0x1c]
and ax, cx
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0xe0]
or ax, 4
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.00652d20
mov cx, word [esi + 0x1c]
mov edi, eax
mov eax, 0xbf04
mov dword [esi], edi
and cx, ax
mov dword [esi + 4], edx
or cx, 4
add esp, 8
mov word [esi + 0x1c], cx
mov eax, dword [ebp - 0xc4]
cmp dword [eax + 4], edx
jg 0x64bb70
jl 0x6509a5
cmp dword [eax], edi
jae 0x64bb70
mov esi, dword [ebp - 0xcc]
mov dword [eax], edi
mov edi, dword [ebp - 0xd8]
mov dword [eax + 4], edx
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 4], 0
jl case.0x64ab46.17
jg 0x64c4a2
cmp dword [ecx + eax*8], 0
jbe case.0x64ab46.17
jmp 0x64c4a2
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 4], 0
jg case.0x64ab46.17
jl 0x64c4a2
cmp dword [ecx + eax*8], 0
jae case.0x64ab46.17
jmp 0x64c4a2
mov eax, dword [edx + ebx*4 + 4]
mov edi, dword [ebp - 0xe0]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ebx*4 + 0xc]
cdq
add dword [edi + ecx*8], eax
mov eax, edi
adc dword [eax + ecx*8 + 4], edx
mov edx, edi
mov eax, dword [eax + ecx*8]
mov edi, dword [ebp - 0xd8]
or eax, dword [edx + ecx*8 + 4]
jne case.0x64ab46.17
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + ebx*4 + 8]
jmp 0x64c4a6
mov cl, byte [edx + ebx*4 + 3]
movzx eax, cl
mov dword [ebp - 0xc4], eax
mov eax, dword [edx + ebx*4 + 8]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xb8], edx
mov esi, dword [eax + 0x24]
xor eax, eax
mov dword [ebp - 0x74], esi
mov dword [ebp - 0xc0], eax
test cl, cl
je 0x650af2
mov dword [esi + eax*4], edx
mov ecx, dword [ebp - 0xb8]
movzx eax, word [ecx + 0x1c]
test al, 1
je 0x650aaa
mov byte [ecx + 0x1e], 5
jmp 0x650ac9
test al, 4
je 0x650ab4
mov byte [ecx + 0x1e], 1
jmp 0x650ac9
test al, 8
je 0x650abe
mov byte [ecx + 0x1e], 2
jmp 0x650ac9
and al, 2
neg al
sbb al, al
add al, 4
mov byte [ecx + 0x1e], al
mov eax, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xb8]
inc eax
add edx, 0x28
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xb8], edx
cmp eax, dword [ebp - 0xc4]
jge 0x650af2
mov esi, dword [ebp - 0x74]
jmp 0x650a93
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xcc]
mov eax, dword [edx + ebx*4 + 0x10]
mov dword [ebp - 0xb4], eax
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x84], eax
inc dword [eax + 0x18]
mov eax, 1
mov ecx, dword [ebp - 0xb4]
mov word [ebp - 0x90], ax
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
test byte [ecx + 3], 8
je 0x650b78
mov eax, dword [edx + ebx*4 - 4]
mov dword [ebp - 0x7c], eax
push dword [ebp - 0x74]
lea eax, [ebp - 0xb4]
push dword [ebp - 0xc4]
push eax
mov eax, dword [ecx + 0x10]
call eax
add esp, 0xc
cmp dword [ebp - 0x80], 0
je 0x650c54
test byte [ebp - 0x90], 1
je 0x650baa
xor eax, eax
jmp 0x650c32
mov ecx, dword [ebp - 0x90]
movzx eax, word [ebp - 0x90]
shr ecx, 3
and ecx, 2
or ax, cx
mov word [ebp - 0x90], ax
test eax, 0x4000
je 0x650bdd
lea eax, [ebp - 0xac]
push eax
call fcn.00653650
add esp, 4
test byte [ebp - 0x90], 2
je 0x650c11
cmp byte [ebp - 0x8d], 1
je 0x650c00
lea eax, [ebp - 0xac]
push 1
push eax
call fcn.006541e0
add esp, 8
lea eax, [ebp - 0xac]
push eax
call fcn.00653b50
add esp, 4
jmp 0x650c22
lea eax, [ebp - 0xac]
push 1
push eax
call fcn.00654140
add esp, 8
xor eax, eax
cmp byte [ebp - 0x8d], 1
cmove eax, dword [ebp - 0x98]
push eax
mov eax, dword [ebp - 0xd0]
push 0x6b775c
add eax, 0x5c
push esi
push eax
call fcn.00645070
mov eax, dword [ebp - 0x80]
add esp, 0x10
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0xac]
push eax
call fcn.00653bb0
add esp, 4
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc4], eax
push dword [edx + ebx*4 + 0x10]
push eax
call fcn.006536b0
add esp, 8
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x650cbb
push 1
push dword [ebp - 0xc4]
call fcn.00649a50
push eax
mov eax, dword [ebp - 0xd0]
push 0x6b775c
add eax, 0x5c
push esi
push eax
call fcn.00645070
add esp, 0x18
mov eax, dword [ebp - 0xc4]
test byte [eax + 0x1c], 2
je 0x650ce7
mov cl, byte [ebp - 0xe8]
cmp byte [eax + 0x1f], cl
je 0x650ce7
push dword [ebp - 0x10c]
push eax
call fcn.006541e0
mov eax, dword [ebp - 0xc4]
add esp, 8
movzx edx, word [eax + 0x1c]
test dl, 0x12
je case.0x64ab46.17
mov ecx, dword [eax + 0x18]
test edx, 0x4000
je 0x650d01
add ecx, dword [eax]
mov eax, dword [eax + 0x10]
cmp ecx, dword [eax + 0x48]
jg 0x651fbc
jmp case.0x64ab46.17
mov eax, dword [ebp - 0xd0]
add eax, 0x5c
push esi
push eax
call fcn.00642e00
mov ecx, eax
add esp, 8
mov dword [ebp - 0xc8], ecx
jmp 0x64c4b3
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [esi + 8]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc4], esi
push esi
mov edi, dword [esi + 4]
call fcn.006278b0
add esp, 4
cmp byte [edi + 0x13], 0
jne 0x650d63
mov dword [ebp - 0xc8], 0x65
jmp 0x650d98
push edi
call fcn.00615920
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 0xffffffff
push eax
push dword [edi]
call fcn.0063d720
push dword [ebp - 0x108]
push 0
push edi
call fcn.00615460
add esp, 0x18
mov dword [ebp - 0xc8], eax
cmp byte [esi + 9], 0
je 0x650dbc
add dword [esi + 0xc], 0xffffffff
jne 0x650dbc
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x650db8
push eax
call dword [0x6f1c08]
add esp, 4
mov byte [esi + 0xa], 0
mov ecx, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xcc]
cmp ecx, 0x65
jne 0x64c4b3
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + ebx*4 + 8]
dec ecx
mov dword [ebp - 0xdc], ecx
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
jmp 0x64c4b3
cmp dword [edx + ebx*4 + 4], 0
jne 0x650e20
mov eax, dword [esi + 0x88]
test eax, eax
je case.0x64ab46.17
nop word [eax + eax]
mov byte [eax + 0x62], 1
mov eax, dword [eax + 8]
test eax, eax
jne 0x650e10
jmp case.0x64ab46.17
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x62], 1
jmp case.0x64ab46.17
mov bl, byte [edx + ebx*4 + 0xc]
test bl, bl
jne 0x650e44
test dword [esi + 0xc], 0x80000
jne case.0x64ab46.17
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xe4]
mov ecx, dword [eax + edx*4 + 4]
mov edi, dword [eax + edx*4 + 8]
add ecx, ecx
mov eax, dword [esi + 8]
mov esi, dword [eax + ecx*8 + 4]
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
cmp byte [esi + 9], cl
je 0x650f40
inc bl
push esi
mov byte [ebp - 0x144], bl
call fcn.006278b0
push dword [ebp - 0x144]
push edi
push esi
call fcn.0061efa0
mov edx, eax
add esp, 0x10
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x650f10
mov eax, dword [esi + 4]
mov dword [ebp - 0xec], eax
mov ecx, dword [eax + 0x40]
test ecx, ecx
je 0x650ec0
cmp dword [ecx + 4], edi
jne 0x650eb9
cmp dword [ecx], esi
je 0x650ef2
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x650eb0
push 0x10
call fcn.0063b730
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x650f06
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov edx, dword [ebp - 0xec]
mov dword [ecx + 4], edi
mov dword [ecx], esi
mov eax, dword [edx + 0x40]
mov dword [ecx + 0xc], eax
mov dword [edx + 0x40], ecx
cmp bl, byte [ecx + 8]
jbe 0x650efa
mov byte [ecx + 8], bl
mov dword [ebp - 0xc8], 0
jmp 0x650f10
mov dword [ebp - 0xc8], 7
cmp byte [esi + 9], 0
je 0x650f34
add dword [esi + 0xc], 0xffffffff
jne 0x650f34
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x650f30
push eax
call dword [0x6f1c08]
add esp, 4
mov byte [esi + 0xa], 0
mov edx, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xcc]
cmp cl, 6
jne 0x64d5bd
mov eax, dword [ebp - 0xd4]
push dword [eax + edx*4 + 0x10]
mov eax, dword [ebp - 0xd0]
push str.database_table_is_locked:__s
add eax, 0x5c
push esi
push eax
call fcn.00645070
mov edi, dword [ebp - 0xd8]
add esp, 0x10
jmp case.0x64ab46.17
mov eax, dword [ebp - 0xcc]
mov esi, dword [edx + ebx*4 + 0x10]
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xc8], 0
mov edx, dword [eax + 0x124]
test edx, edx
jle 0x650fb9
cmp dword [eax + 0x120], 0
jne 0x650fb9
mov ecx, 6
mov dword [ebp - 0xc8], ecx
jmp 0x651025
test esi, esi
jne 0x650fca
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
jmp 0x651025
mov edi, dword [esi + 8]
mov eax, dword [edi]
mov ebx, dword [eax + 0x38]
test ebx, ebx
je 0x65101f
xor ecx, ecx
test edx, edx
jle 0x650ff4
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 0x120]
cmp dword [eax], esi
je 0x650fbd
inc ecx
add eax, 4
cmp ecx, edx
jl 0x650fe8
push edi
call ebx
mov ecx, eax
add esp, 4
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x65101f
push esi
push dword [ebp - 0xcc]
call fcn.005fb7c0
mov ecx, eax
add esp, 8
mov dword [ebp - 0xc8], ecx
jmp 0x651025
mov ecx, dword [ebp - 0xc8]
cmp dword [ebp - 0xc4], 0
mov esi, dword [ebp - 0xcc]
je 0x64d5bd
mov edi, dword [ebp - 0xd0]
mov ecx, dword [edi + 0x5c]
test ecx, ecx
je 0x65106b
cmp ecx, dword [esi + 0xf0]
jb 0x65106b
cmp ecx, dword [esi + 0xf4]
jae 0x65106b
mov eax, dword [esi + 0xec]
mov dword [ecx], eax
dec dword [esi + 0xe4]
mov dword [esi + 0xec], ecx
jmp 0x651074
push ecx
call fcn.005f7d20
add esp, 4
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ecx + 8]
mov eax, dword [eax + 8]
mov dword [edi + 0x5c], eax
mov eax, dword [ecx + 8]
mov edi, dword [ebp - 0xd8]
mov dword [eax + 8], 0
jmp case.0x64ab46.17
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [esi + 8]
add ecx, ecx
push dword [eax + ecx*8]
push dword [edx + ebx*4 + 0x10]
push esi
call fcn.00631690
add esp, 0xc
mov dword [ebp - 0xec], eax
mov ecx, dword [eax + 0x3c]
mov ebx, dword [ecx]
mov esi, ebx
test ebx, ebx
je 0x6510d5
cmp byte [ebx], 0
je 0x6510cd
inc esi
cmp byte [esi], 0
jne 0x6510c7
sub esi, ebx
and esi, 0x3fffffff
mov edi, dword [ebp - 0xcc]
add edi, 0x10c
cmp dword [edi + 0xc], 0
je 0x6510f7
push esi
push ebx
call fcn.00658ff0
xor edx, edx
add esp, 8
div dword [edi]
jmp 0x6510f9
xor edx, edx
push edx
push esi
push ebx
push edi
call fcn.00608e10
add esp, 0x10
test eax, eax
je 0x6511a8
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x6511a8
mov edx, dword [ebp - 0xd0]
mov eax, dword [ecx]
add edx, 0x5c
mov esi, dword [ebp - 0xec]
push edx
push dword [eax + 4]
push ecx
push esi
push dword [ebp - 0xcc]
call fcn.0065ab50
mov ecx, eax
add esp, 0x14
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x6511dc
mov ecx, dword [esi + 0x34]
mov eax, ecx
mov esi, dword [ebp - 0xcc]
test eax, eax
je 0x65116b
nop dword [eax]
cmp dword [eax], esi
je 0x651180
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x651160
mov ecx, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xd8]
jmp 0x64c4b3
cmp dword [ecx], esi
je 0x65118b
mov ecx, dword [ecx + 0x10]
test ecx, ecx
jne 0x651180
push ecx
push esi
call fcn.005fb7c0
mov edi, dword [ebp - 0xd8]
mov ecx, eax
add esp, 8
mov dword [ebp - 0xc8], ecx
jmp 0x64c4b3
mov esi, dword [ebp - 0xcc]
push ebx
push str.no_such_module:__s
push esi
call fcn.0063b710
mov ecx, dword [ebp - 0xd0]
add esp, 0xc
mov edi, dword [ebp - 0xd8]
mov dword [ecx + 0x5c], eax
mov ecx, 1
mov dword [ebp - 0xc8], ecx
jmp 0x64c4b3
mov esi, dword [ebp - 0xcc]
mov edi, dword [ebp - 0xd8]
jmp 0x64c4b3
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xc8], 0
mov byte [eax + 0x65], 2
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [esi + 8]
add ecx, ecx
push dword [eax + ecx*8]
push dword [edx + ebx*4 + 0x10]
push esi
call fcn.00631690
mov edi, eax
add esp, 0xc
test edi, edi
je 0x6512cd
cmp dword [edi + 0x34], 0
je 0x6512cd
push edi
push esi
call fcn.0065b060
mov esi, eax
mov ecx, dword [esi + 4]
push dword [esi + 8]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x14]
call ecx
mov edx, eax
add esp, 0xc
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x6512c7
mov dword [esi + 8], eax
mov dword [edi + 0x34], eax
add dword [esi + 0xc], 0xffffffff
mov edi, dword [esi]
jne 0x6512c7
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x65127b
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 0x10]
call eax
add esp, 4
test edi, edi
je 0x6512be
cmp esi, dword [edi + 0xf0]
jb 0x6512be
cmp esi, dword [edi + 0xf4]
jae 0x6512be
mov eax, dword [edi + 0xec]
mov ecx, dword [ebp - 0xd0]
mov dword [esi], eax
dec dword [edi + 0xe4]
mov dword [edi + 0xec], esi
mov esi, dword [ebp - 0xcc]
mov edi, dword [ebp - 0xd8]
mov byte [ecx + 0x65], 0
jmp case.0x64ab46.17
push esi
call fcn.005f7d20
add esp, 4
mov esi, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xd8]
mov byte [ecx + 0x65], 0
jmp case.0x64ab46.17
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov eax, dword [edx + ebx*4 + 0x10]
lea edx, [ebp - 0xc0]
push edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xbc], ecx
push ecx
mov eax, dword [ecx]
mov dword [ebp - 0xb8], eax
mov eax, dword [eax + 0x18]
call eax
mov dword [ebp - 0xc8], eax
add esp, 8
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
je 0x651354
cmp ecx, dword [esi + 0xf0]
jb 0x651354
cmp ecx, dword [esi + 0xf4]
jae 0x651354
mov eax, dword [esi + 0xec]
mov dword [ecx], eax
dec dword [esi + 0xe4]
mov dword [esi + 0xec], ecx
jmp 0x65135d
push ecx
call fcn.005f7d20
add esp, 4
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xd0]
mov eax, dword [ecx + 8]
mov dword [edx + 0x5c], eax
mov dword [ecx + 8], 0
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
jne 0x64c4b3
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xbc]
push 0
push 0xffffffffffffffff
mov dword [eax], ecx
mov eax, dword [ebp - 0xd4]
push 0
push dword [eax + ebx*4 + 4]
push edx
call fcn.005fc260
add esp, 0x14
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x6513e3
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xfc]
mov dword [eax + 0x38], ecx
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x3c], ecx
mov ecx, dword [ebp - 0xdc]
inc ecx
jmp 0x64aa53
mov byte [esi + 0x1e], 1
mov eax, dword [ebp - 0xb8]
push dword [ebp - 0xc0]
mov eax, dword [eax + 0x1c]
call eax
mov ecx, dword [ebp - 0xdc]
add esp, 4
mov edx, dword [ebp - 0xfc]
inc ecx
jmp 0x64aa53
mov eax, dword [edx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xb8], edx
lea esi, [edx + 0x28]
mov dword [ebp - 0xb4], esi
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xa8], eax
mov edi, dword [eax + 0x38]
mov dword [ebp - 0xb0], edi
mov eax, dword [edi]
mov dword [ebp - 0xac], eax
mov ebx, dword [eax]
mov dword [ebp - 0xbc], ebx
mov eax, dword [esi]
mov dword [ebp - 0xc4], eax
mov ecx, dword [edx]
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xa4], 0
mov edx, dword [ecx + 0x24]
xor ecx, ecx
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0xa0], ecx
test eax, eax
jle 0x651521
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x9c]
mov ecx, dword [ecx + eax*4]
movzx eax, word [ecx + 0x1c]
test al, 1
je 0x6514c9
mov byte [ecx + 0x1e], 5
jmp 0x6514e8
test al, 4
je 0x6514d3
mov byte [ecx + 0x1e], 1
jmp 0x6514e8
test al, 8
je 0x6514dd
mov byte [ecx + 0x1e], 2
jmp 0x6514e8
and al, 2
neg al
sbb al, al
add al, 4
mov byte [ecx + 0x1e], al
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xc4]
inc ecx
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0xa0], ecx
cmp ecx, eax
jge 0x65150d
mov esi, dword [ebp - 0xb4]
jmp 0x6514a0
mov edi, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc0]
jmp 0x651527
mov ecx, dword [ebp - 0xec]
mov esi, dword [ebp - 0xd0]
push edx
push eax
mov eax, dword [ebp - 0xd4]
mov byte [esi + 0x65], 1
mov esi, dword [ebp - 0xe4]
push dword [eax + esi*4 + 0x10]
mov eax, dword [ebx + 0x20]
push ecx
push edi
call eax
mov edi, dword [ebp - 0xd0]
add esp, 0x14
mov dword [ebp - 0xc8], eax
mov ecx, dword [edi + 0x5c]
mov byte [edi + 0x65], 0
test ecx, ecx
je 0x651590
mov edx, dword [ebp - 0xcc]
cmp ecx, dword [edx + 0xf0]
jb 0x651590
cmp ecx, dword [edx + 0xf4]
jae 0x651590
mov eax, dword [edx + 0xec]
mov dword [ecx], eax
dec dword [edx + 0xe4]
mov dword [edx + 0xec], ecx
jmp 0x651599
push ecx
call fcn.005f7d20
add esp, 4
cmp dword [ebp - 0xc8], 0
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx + 8]
mov dword [edi + 0x5c], eax
mov dword [ecx + 8], 0
jne 0x6515d1
mov eax, dword [ebp - 0xbc]
push dword [ebp - 0xb0]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [ebp - 0xa4], eax
jmp 0x6515d7
mov eax, dword [ebp - 0xa4]
test eax, eax
je 0x6515ec
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + esi*4 + 8]
dec eax
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xa8]
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xcc]
mov byte [eax + 0x14], 0
jmp case.0x64ab46.17
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov esi, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xbc], eax
cmp byte [esi + 0x14], 0
je 0x651647
push eax
call fcn.00653c90
mov esi, dword [ebp - 0xcc]
add esp, 4
jmp case.0x64ab46.17
mov eax, dword [esi + 0x38]
push 0x40
push 0
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0xb4]
push eax
call fcn.005bc9a0
push dword [ebp - 0xbc]
lea eax, [ebp - 0xac]
push eax
call fcn.00653b00
mov eax, dword [ebp - 0x90]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x90], ax
mov eax, dword [ebp - 0xd4]
push dword [eax + ebx*4 + 8]
lea eax, [ebp - 0xb4]
push eax
mov eax, dword [ebp - 0xc0]
push dword [esi + 0x38]
mov eax, dword [eax + 0x2c]
call eax
mov esi, dword [ebp - 0xcc]
mov edx, eax
mov eax, dword [ebp - 0xd0]
add esp, 0x20
mov dword [ebp - 0xc8], edx
mov ecx, dword [eax + 0x5c]
test ecx, ecx
je 0x6516f4
cmp ecx, dword [esi + 0xf0]
jb 0x6516f4
cmp ecx, dword [esi + 0xf4]
jae 0x6516f4
mov eax, dword [esi + 0xec]
mov dword [ecx], eax
dec dword [esi + 0xe4]
mov dword [esi + 0xec], ecx
jmp 0x651703
push ecx
call fcn.005f7d20
mov edx, dword [ebp - 0xc8]
add esp, 4
mov ecx, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0xd0]
mov eax, dword [ecx + 8]
mov dword [ebx + 0x5c], eax
mov dword [ecx + 8], 0
mov eax, dword [ebp - 0x80]
test eax, eax
cmovne edx, eax
test byte [ebp - 0x90], 2
mov dword [ebp - 0xc8], edx
je 0x651756
mov al, byte [ebp - 0xe8]
cmp byte [ebp - 0x8d], al
je 0x651756
push dword [ebp - 0x10c]
lea eax, [ebp - 0xac]
push eax
call fcn.006541e0
add esp, 8
lea eax, [ebp - 0xac]
push eax
push dword [ebp - 0xbc]
call fcn.00653b00
mov eax, dword [ebp - 0xbc]
add esp, 8
movzx edx, word [eax + 0x1c]
test dl, 0x12
je case.0x64ab46.17
mov ecx, dword [eax + 0x18]
test edx, 0x4000
je 0x65178b
add ecx, dword [eax]
mov eax, dword [eax + 0x10]
cmp ecx, dword [eax + 0x48]
jg 0x651fbc
jmp case.0x64ab46.17
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xbc], 0
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xb8], ecx
cmp byte [ecx + 0x14], 0
jne case.0x64ab46.17
mov eax, dword [ecx + 0x38]
mov edx, dword [ebp - 0xd0]
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
mov byte [edx + 0x65], 1
push dword [ecx + 0x38]
mov eax, dword [eax + 0x24]
call eax
mov dword [ebp - 0xc8], eax
add esp, 4
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x5c]
mov byte [eax + 0x65], 0
test ecx, ecx
je 0x65182b
cmp ecx, dword [esi + 0xf0]
jb 0x65182b
cmp ecx, dword [esi + 0xf4]
jae 0x65182b
mov eax, dword [esi + 0xec]
mov dword [ecx], eax
dec dword [esi + 0xe4]
mov dword [esi + 0xec], ecx
jmp 0x651834
push ecx
call fcn.005f7d20
add esp, 4
cmp dword [ebp - 0xc8], 0
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xd0]
mov eax, dword [ecx + 8]
mov dword [edx + 0x5c], eax
mov dword [ecx + 8], 0
jne 0x65187a
mov eax, dword [ebp - 0xb8]
push dword [eax + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [ebp - 0xbc], eax
test eax, eax
jmp 0x650a3f
mov eax, dword [ebp - 0xbc]
test eax, eax
jmp 0x650a3f
mov eax, dword [edx + ebx*4 + 0x10]
mov ecx, dword [ebp - 0xe0]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], edx
mov eax, dword [eax + ebx*4 + 4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc0], eax
mov ecx, dword [edx]
push dword [eax + 0x14]
push edx
mov eax, dword [ecx + 0x4c]
call eax
mov dword [ebp - 0xc8], eax
add esp, 8
mov eax, dword [ebp - 0xd0]
mov esi, dword [eax + 0x5c]
test esi, esi
je 0x651970
mov ecx, dword [ebp - 0xcc]
cmp esi, dword [ecx + 0xf0]
jb 0x651906
cmp esi, dword [ecx + 0xf4]
jae 0x651906
mov eax, dword [ecx + 0xec]
mov dword [esi], eax
mov dword [ecx + 0xec], esi
mov esi, ecx
dec dword [esi + 0xe4]
jmp 0x651976
cmp dword [0x6f1bb8], 0
je 0x651966
mov eax, dword [0x6ff2f0]
test eax, eax
je 0x651922
push eax
call dword [0x6f1c00]
add esp, 4
push esi
call dword [0x6f1bdc]
mov ecx, dword [0x6ff1b8]
neg eax
add ecx, eax
add esp, 4
mov dword [0x6ff1b8], ecx
cmp ecx, dword [0x6ff1dc]
jle 0x65194a
mov dword [0x6ff1dc], ecx
push esi
call dword [0x6f1bd4]
mov eax, dword [0x6ff2f0]
add esp, 4
test eax, eax
je 0x651970
push eax
call dword [0x6f1c08]
jmp 0x65196d
push esi
call dword [0x6f1bd4]
add esp, 4
mov esi, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xd0]
mov eax, dword [ecx + 8]
mov dword [edx + 0x5c], eax
mov dword [ecx + 8], 0
jmp case.0x64ab46.17
mov eax, dword [edx + ebx*4 + 0x10]
mov esi, dword [eax + 8]
mov dword [ebp - 0xc4], esi
mov edi, dword [esi]
mov dword [ebp - 0xc0], edi
mov edx, dword [edx + ebx*4 + 8]
mov dword [ebp - 0xbc], edx
cmp dword [edi + 0x34], 0
je 0x64bb70
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd4]
mov ebx, dword [eax + 0x24]
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xac], ebx
mov eax, dword [ecx + eax*4 + 0xc]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xb8], 0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xa8], ecx
test edx, edx
jle 0x651a7a
movzx eax, word [ecx + 0x1c]
test al, 1
je 0x651a0e
mov byte [ecx + 0x1e], 5
jmp 0x651a2d
test al, 4
je 0x651a18
mov byte [ecx + 0x1e], 1
jmp 0x651a2d
test al, 8
je 0x651a22
mov byte [ecx + 0x1e], 2
jmp 0x651a2d
and al, 2
neg al
sbb al, al
add al, 4
mov byte [ecx + 0x1e], al
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0xa8]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xa8]
inc eax
mov edx, dword [ebp - 0xbc]
add ecx, 0x28
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xb8], eax
cmp eax, edx
jl 0x651a00
mov ebx, dword [ebp - 0xac]
mov edi, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xc4]
lea eax, [ebp - 0xb4]
push eax
mov eax, dword [edi + 0x34]
push ebx
push edx
push esi
call eax
mov edi, dword [ebp - 0xd0]
add esp, 0x10
mov dword [ebp - 0xc8], eax
mov esi, dword [edi + 0x5c]
test esi, esi
je 0x651b3e
mov ecx, dword [ebp - 0xcc]
cmp esi, dword [ecx + 0xf0]
jb 0x651ad4
cmp esi, dword [ecx + 0xf4]
jae 0x651ad4
mov eax, dword [ecx + 0xec]
mov dword [esi], eax
mov dword [ecx + 0xec], esi
mov esi, ecx
dec dword [esi + 0xe4]
jmp 0x651b44
cmp dword [0x6f1bb8], 0
je 0x651b34
mov eax, dword [0x6ff2f0]
test eax, eax
je 0x651af0
push eax
call dword [0x6f1c00]
add esp, 4
push esi
call dword [0x6f1bdc]
mov ecx, dword [0x6ff1b8]
neg eax
add ecx, eax
add esp, 4
mov dword [0x6ff1b8], ecx
cmp ecx, dword [0x6ff1dc]
jle 0x651b18
mov dword [0x6ff1dc], ecx
push esi
call dword [0x6f1bd4]
mov eax, dword [0x6ff2f0]
add esp, 4
test eax, eax
je 0x651b3e
push eax
call dword [0x6f1c08]
jmp 0x651b3b
push esi
call dword [0x6f1bd4]
add esp, 4
mov esi, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ecx + 8]
mov dword [edi + 0x5c], eax
mov dword [ecx + 8], 0
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
jne 0x651b8b
mov eax, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0xd4]
cmp dword [ebx + eax*4 + 4], ecx
je 0x651b8b
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb4]
mov dword [esi + 0x34], ecx
mov ecx, dword [ebp - 0xc8]
mov dword [esi + 0x30], eax
inc dword [edi + 0x6c]
mov edi, dword [ebp - 0xd8]
jmp 0x64c4b3
mov ecx, dword [edx + ebx*4 + 4]
mov dword [ebp - 0xc4], ecx
add ecx, ecx
mov eax, dword [esi + 8]
mov eax, dword [eax + ecx*8 + 4]
lea ecx, [ebp - 0xc0]
push ecx
mov eax, dword [eax + 4]
mov eax, dword [eax]
push eax
mov dword [ebp - 0xbc], eax
call fcn.0063d720
mov ecx, eax
add esp, 8
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x64c4b3
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xdc]
cdq
inc ecx
mov dword [edi + 4], edx
mov edx, dword [ebp - 0xfc]
mov dword [edi], eax
jmp 0x64aa53
mov eax, dword [edx + ebx*4 + 0x10]
mov ecx, dword [ebp - 0xd0]
test eax, eax
jne 0x651c09
mov eax, dword [ecx + 0xb8]
mov dword [ebp - 0xc4], eax
test eax, eax
je case.0x64ab46.17
cmp dword [esi + 0x94], 0
je case.0x64ab46.17
push eax
push ecx
call fcn.00652490
mov ebx, dword [ebp - 0xcc]
mov esi, eax
push esi
push dword [ebx + 0x98]
mov ecx, dword [ebx + 0x94]
call ecx
add esp, 0x10
test esi, esi
je 0x651c74
cmp esi, dword [ebx + 0xf0]
jb 0x651c74
cmp esi, dword [ebx + 0xf4]
jae 0x651c74
mov eax, dword [ebx + 0xec]
mov dword [esi], eax
mov dword [ebx + 0xec], esi
mov esi, ebx
dec dword [esi + 0xe4]
jmp case.0x64ab46.17
push esi
call fcn.005f7d20
add esp, 4
mov esi, ebx
jmp case.0x64ab46.17
mov ecx, 9
jmp 0x652146
mov edx, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xd0]
mov dword [edi + 0x58], ecx
mov al, byte [edx + ebx*4 + 8]
mov byte [edi + 0x38], al
mov eax, dword [ebp - 0xdc]
mov dword [edi + 0x54], eax
mov eax, dword [edx + ebx*4 + 0x10]
test eax, eax
je 0x651cef
push eax
push 0x6b775c
lea eax, [edi + 0x5c]
push esi
push eax
call fcn.00645070
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xdc]
push dword [eax + ebx*4 + 0x10]
push dword [edi + 0xb8]
push edx
push str.abort_at__d_in___s_:__s
push dword [eax + ebx*4 + 4]
call fcn.00658600
add esp, 0x24
jmp 0x651d10
test ecx, ecx
je 0x651d10
push dword [edi + 0xb8]
push dword [ebp - 0xdc]
push str.constraint_failed_at__d_in___s_
push dword [edx + ebx*4 + 4]
call fcn.00658600
add esp, 0x10
push edi
call fcn.00652910
mov ebx, dword [ebp - 0xd0]
add esp, 4
cmp eax, 5
jne 0x651df0
mov edi, eax
mov dword [ebx + 0x58], edi
jmp 0x6521a6
lea eax, [ebp - 0xb4]
push eax
call fcn.00653bb0
add esp, 4
jmp 0x652125
mov ecx, 0x14
mov dword [ebp - 0xc8], ecx
jmp 0x651ee0
push 0xd8c7
push str.database_corruption_found_by_source_line__d
push 0xb
call fcn.00658600
mov esi, dword [ebp - 0xcc]
mov ecx, 0xb
add esp, 0xc
mov dword [ebp - 0xc8], ecx
inc dword [ebp - 0xdc]
mov eax, edi
jmp 0x652152
mov eax, dword [ebp - 0xd0]
push str.cannot_open_savepoint___SQL_statements_in_progress
add eax, 0x5c
push esi
push eax
call fcn.00645070
add esp, 0xc
mov ecx, 5
inc dword [ebp - 0xdc]
jmp 0x652146
mov ebx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xdc]
mov dword [ebx + 0x54], eax
mov byte [edi + 0x1c], 0
mov edi, 5
mov dword [ebx + 0x58], edi
jmp 0x6521a6
test ecx, ecx
je 0x651e06
push esi
call fcn.00642710
mov ebx, dword [ebp - 0xd0]
add esp, 4
mov byte [esi + 0x1c], 1
push esi
call fcn.00629b30
add esp, 4
cmp dword [ebx + 0x58], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x6521a6
mov ebx, dword [ebp - 0xd0]
push 1
push ebx
call fcn.0064a280
mov edi, eax
add esp, 8
test edi, edi
jne 0x6521a6
mov al, byte [ebp - 0xc4]
push ebx
mov byte [esi + 0x1c], al
call fcn.00652910
add esp, 4
cmp eax, 5
jne 0x651de7
mov eax, dword [ebp - 0xdc]
mov edi, 5
mov dword [ebx + 0x54], eax
mov al, 1
sub al, byte [ebp - 0xc4]
mov byte [esi + 0x1c], al
mov dword [ebx + 0x58], edi
jmp 0x6521a6
mov ebx, dword [ebp - 0xd0]
mov edi, 5
mov eax, dword [ebp - 0xdc]
mov dword [ebx + 0x54], eax
mov dword [ebx + 0x58], edi
jmp 0x6521a6
push 0xdc07
push str.database_corruption_found_by_source_line__d
push 0xb
call fcn.00658600
add esp, 0xc
jmp 0x651ecf
inc dword [ebp - 0xdc]
mov ecx, 4
jmp 0x652146
mov ecx, 0xd
jmp 0x651ed4
mov ecx, 0xd
mov dword [ebp - 0xc8], ecx
jmp 0x651ee0
lea eax, [ebp - 0x174]
push eax
call fcn.00653bb0
push 0xc828
push str.database_corruption_found_by_source_line__d
push 0xb
call fcn.00658600
add esp, 0x10
mov ecx, 0xb
mov dword [ebp - 0xc8], ecx
mov esi, dword [ebp - 0xcc]
cmp byte [esi + 0x1e], 0
je 0x651ef3
mov ecx, 7
mov dword [ebp - 0xc8], ecx
jmp 0x651eff
cmp ecx, 0xc0a
je 0x65214c
push ecx
call fcn.0062d450
push eax
mov eax, dword [ebp - 0xd0]
push 0x6b775c
add eax, 0x5c
push esi
push eax
call fcn.00645070
mov ecx, dword [ebp - 0xc8]
add esp, 0x14
jmp 0x65214c
mov eax, dword [ebp - 0xd0]
mov ecx, 6
inc dword [ebp - 0xdc]
mov dword [ebp - 0xc8], ecx
mov byte [eax + 0x38], 2
jmp 0x652152
push esi
call fcn.00628500
add esp, 4
jmp 0x652125
mov dword [ebp - 0xc0], 0
jmp 0x652125
mov dword [ebp - 0xb0], ecx
mov esi, ebx
jmp 0x652125
mov dword [ebp - 0xb0], 0
mov esi, ebx
jmp 0x652125
push str.too_many_levels_of_trigger_recursion
mov esi, ebx
mov dword [ebp - 0xc8], 1
lea eax, [ecx + 0x5c]
push esi
push eax
call fcn.00645070
add esp, 0xc
mov ecx, 1
inc dword [ebp - 0xdc]
jmp 0x65214c
mov esi, eax
jmp 0x651fbc
mov esi, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd0]
push str.string_or_blob_too_big
add eax, 0x5c
push esi
push eax
call fcn.00645070
mov ecx, 0x12
jmp 0x652143
mov eax, dword [ebp - 0xd0]
cmp dword [eax + 0xc4], 0
jl 0x652023
jg 0x651ff5
cmp dword [eax + 0xc0], 0
jbe 0x652023
push str.foreign_key_constraint_failed
push dword [eax]
mov dword [eax + 0x58], 0x13
mov byte [eax + 0x38], 2
add eax, 0x5c
push eax
call fcn.00645070
add esp, 0xc
mov ecx, 1
inc dword [ebp - 0xdc]
jmp 0x652146
push 1
push eax
call fcn.0064a2e0
mov ecx, eax
add esp, 8
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je 0x652045
inc dword [ebp - 0xdc]
jmp 0x65214c
mov ecx, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xd4]
mov eax, dword [ecx + 0x50]
add eax, 2
or eax, 1
mov dword [ecx + 0x50], eax
mov eax, dword [edi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xc4], ecx
mov dword [eax + 0x2c], ecx
xor eax, eax
mov dword [ebp - 0xc0], eax
cmp dword [edi + ebx*4 + 8], eax
jle 0x6520fb
nop
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.00653b50
mov eax, dword [ebp - 0xc0]
add esp, 4
mov edx, dword [ebp - 0xc4]
lea ecx, [eax + eax*4]
movzx eax, word [edx + ecx*8 + 0x1c]
test al, 1
je 0x6520be
mov byte [edx + ecx*8 + 0x1e], 5
jmp 0x6520e0
test al, 4
je 0x6520c9
mov byte [edx + ecx*8 + 0x1e], 1
jmp 0x6520e0
test al, 8
je 0x6520d4
mov byte [edx + ecx*8 + 0x1e], 2
jmp 0x6520e0
and al, 2
neg al
sbb al, al
add al, 4
mov byte [edx + ecx*8 + 0x1e], al
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp eax, dword [edi + ebx*4 + 8]
jge 0x6520fb
mov ecx, dword [ebp - 0xc4]
jmp 0x652090
cmp byte [esi + 0x1e], 0
jne 0x652125
mov ebx, dword [ebp - 0xd0]
mov edi, 0x64
mov eax, dword [ebp - 0xdc]
inc eax
mov dword [ebx + 0x54], eax
jmp 0x6521a6
mov esi, eax
jmp 0x652125
mov esi, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd0]
push str.out_of_memory
add eax, 0x5c
mov byte [esi + 0x1e], 1
push esi
push eax
call fcn.00645070
mov ecx, 7
add esp, 0xc
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp - 0xd0]
push dword [eax + 0x5c]
mov dword [eax + 0x58], ecx
push dword [eax + 0xb8]
push dword [ebp - 0xdc]
push str.statement_aborts_at__d:___s___s
push ecx
call fcn.00658600
push dword [ebp - 0xd0]
call fcn.00652910
add esp, 0x18
cmp dword [ebp - 0xc8], 0xc0a
jne 0x65218d
mov byte [esi + 0x1e], 1
cmp byte [ebp - 0xf1], 0
mov edi, 1
je 0x6521a6
push 0
push esi
call fcn.00641fa0
add esp, 8
mov edx, dword [ebp - 0xd0]
xor ebx, ebx
cmp dword [edx + 0x80], ebx
jle 0x652200
lea ecx, [edx + 0x84]
mov dword [ebp - 0x108], ecx
mov esi, dword [ecx]
add dword [esi + 0xc], 0xffffffff
jne 0x6521ee
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x6521ea
push eax
call dword [0x6f1c08]
mov ecx, dword [ebp - 0x108]
add esp, 4
mov edx, dword [ebp - 0xd0]
mov byte [esi + 0xa], 0
inc ebx
add ecx, 4
mov dword [ebp - 0x108], ecx
cmp ebx, dword [edx + 0x80]
jl 0x6521c2
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0058d09a
mov esp, ebp
pop ebp
ret