Function at 0x69e1d0
Capabilities:
Encrypt data using speck
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x31c
mov eax, dword [0x82f184]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0x2cc], 0
xor al, al
mov dword [ebp - 0x2c4], esi
mov byte [ebp - 0x2e9], al
xorps xmm0, xmm0
push edi
cmp dword [esi + 0xa0], 0
mov ecx, dword [esi]
mov ebx, dword [esi + 0x68]
mov dword [ebp - 0x2dc], ebx
mov dword [ebp - 0x2bc], ebx
mov al, byte [ecx + 0x54]
mov byte [ebp - 0x2d8], al
mov eax, dword [esi + 0x58]
mov dword [ebp - 0x2c0], ecx
mov dword [ebp - 0x2e8], 0
movlpd qword [ebp - 0x300], xmm0
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2f8], 0
je 0x69e25e
mov ecx, esi
call fcn.00697280
mov ecx, dword [ebp - 0x2c0]
cmp dword [ecx + 0x174], 0
je 0x69e27d
mov edi, dword [ecx + 0x17c]
xor edx, edx
mov eax, dword [esi + 0xb4]
div edi
sub edi, edx
xor eax, eax
jmp 0x69e283
or edi, 0xffffffff
or eax, 0xffffffff
cmp dword [esi + 0x24], 7
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2d0], edi
je 0x6a5474
mov dword [esi + 0x24], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
cmp dword [ecx + 0x128], 0
mov dword [ecx + 0x1c8], 0
jne 0x6a5430
mov eax, dword [esi + 0x20]
xorps xmm0, xmm0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x30c], 0x7d1208
movsd qword [ebp - 0x318], xmm0
lea eax, [eax + eax*4]
lea edi, [ebx + eax*4]
mov eax, dword [ebp - 0x300]
add eax, 1
mov dword [ebp - 0x2bc], edi
mov dword [ebp - 0x2c8], eax
adc edx, 0
mov dword [ebp - 0x2f4], edx
mov dl, byte [edi]
movzx ebx, dl
cmp ebx, 0xb8
ja case.0x69e318.89
jmp dword [ebx*4 + 0x6a55c0]
mov ecx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [ecx + 4]
sub ecx, dword [ebp - 0x2dc]
lea esi, [eax + eax*4]
mov eax, 4
mov word [ebx + esi*8 + 0x10], ax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
mov dword [ebx + esi*8 + 4], edx
jmp 0x6a475b
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 4
je 0x69e457
mov eax, dword [ebx + eax*8]
mov edx, dword [ebp - 0x2dc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
dec eax
cdq
mov dword [ebx + ecx*8], eax
mov eax, 4
mov dword [ebx + ecx*8 + 4], edx
mov word [ebx + ecx*8 + 0x10], ax
mov ecx, dword [ebp - 0x2bc]
cmp dword [ecx + 8], 0
jne 0x6a1d56
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebx + esi*8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x2c4]
sub edx, dword [eax + 0x68]
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
dec edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8 + 4], edx
mov edx, dword [ebp - 0x2dc]
mov dword [ebx + esi*8], eax
mov eax, dword [edx + ecx*4 + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ecx, [edx + eax*4]
mov dword [ebp - 0x2bc], ecx
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov esi, dword [ebp - 0x2c4]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov edi, dword [ebp - 0x2dc]
mov eax, dword [edx + 4]
sub edx, edi
lea esi, [eax + eax*4]
mov eax, 4
mov ecx, dword [ebx + esi*8]
mov word [ebx + esi*8 + 0x10], ax
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
lea eax, [ecx + ecx*4]
mov dword [ebx + esi*8 + 4], edx
lea ecx, [edi + eax*4]
jmp 0x69e43f
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 1
je 0x69e457
mov edx, dword [esi + 0xd0]
test edx, edx
je 0x6a4e31
mov ecx, dword [ebp - 0x2bc]
cmp dword [ecx + 4], 0
jne 0x6a4e31
mov eax, dword [edx + 4]
mov ebx, dword [ebp - 0x2c0]
mov ecx, dword [esi + 0x2c]
dec dword [esi + 0xd8]
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0x28]
add dword [ebx + 0x70], eax
mov dword [ebx + 0x6c], ecx
adc dword [ebx + 0x74], ecx
mov ecx, edx
mov dword [ebx + 0x68], eax
call fcn.00697e70
mov edx, dword [esi + 0x68]
mov ecx, eax
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2dc], edx
cmp dword [eax + 8], 4
jne 0x69e531
lea eax, [ecx + ecx*4]
mov ecx, dword [edx + eax*4 + 8]
dec ecx
mov eax, dword [esi + 0x58]
mov dword [ebp - 0x2d4], eax
lea eax, [ecx + ecx*4]
lea ecx, [edx + eax*4]
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x2bc], ecx
mov ecx, ebx
mov edi, dword [ebp - 0x2bc]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x69e588
call fcn.0069dea0
mov ecx, eax
jmp 0x69e591
mov eax, 4
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x2bc]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x2c8]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x2c0]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x9000
test word [edx + 0x10], ax
je 0x69e5e8
mov ecx, edx
call fcn.0069dea0
mov edx, eax
jmp 0x69e5f1
mov eax, 4
mov word [edx + 0x10], ax
mov eax, dword [ebp - 0x2bc]
mov edi, dword [ebp - 0x2bc]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x2c0]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x69e648
call fcn.0069dea0
mov ecx, eax
mov edi, dword [ebp - 0x2bc]
mov eax, 8
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x2bc]
mov eax, dword [eax + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [ebp - 0x2c8]
movsd qword [ecx], xmm0
mov ecx, dword [ebp - 0x2c0]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ebx, dword [ebp - 0x2bc]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x69e6aa
mov ecx, esi
call fcn.0069dea0
mov esi, eax
jmp 0x69e6b3
mov eax, 4
mov word [esi + 0x10], ax
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x69e6be
xor ecx, ecx
jmp 0x69e6d2
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x69e6c3
sub ecx, edi
and ecx, 0x3fffffff
cmp byte [ebp - 0x2d8], 1
mov dword [ebx + 4], ecx
je 0x69e775
push 0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, esi
call fcn.00695280
mov edi, eax
add esp, 0x10
mov dword [ebp - 0x2cc], edi
test edi, edi
jne 0x6a506a
test byte [esi + 0x10], 2
mov al, byte [ebp - 0x2d8]
jne 0x69e715
mov byte [esi + 0x12], al
jmp 0x69e72b
cmp byte [esi + 0x12], al
je 0x69e72b
mov dl, al
mov ecx, esi
call fcn.00674590
test eax, eax
jne 0x69e967
mov ecx, dword [ebp - 0x2bc]
mov eax, 0x2000
or word [esi + 0x10], ax
mov dword [esi + 0x18], 0
cmp byte [ecx + 1], 0xfa
jne 0x69e75f
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x69e75f
mov ecx, dword [ebp - 0x2c0]
call fcn.006714e0
mov ecx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2bc]
mov byte [ecx + 1], 0xfa
mov eax, dword [esi + 8]
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0xc]
mov dword [ebx + 4], ecx
mov eax, dword [ebp - 0x2c0]
mov esi, dword [ebp - 0x2c4]
cmp ecx, dword [eax + 0x78]
jg 0x6a5070
mov byte [ebx], 0x49
jmp 0x69e795
mov ebx, dword [ebp - 0x2bc]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x69e7b3
call fcn.0069dea0
mov ecx, eax
mov eax, 0x2202
mov word [ecx + 0x10], ax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 0xc], eax
mov al, byte [ebp - 0x2d8]
mov byte [ecx + 0x12], al
mov eax, dword [ebp - 0x2bc]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x69e3d1
mov ebx, dword [ebp - 0x2d4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x2bc]
movzx eax, word [eax + 2]
cdq
cmp dword [ebx + esi*8], eax
jne 0x6a4af4
cmp dword [ebx + esi*8 + 4], edx
mov edi, dword [ebp - 0x2bc]
mov esi, dword [ebp - 0x2c4]
jne 0x69e81a
mov eax, 0x2210
mov word [ecx + 0x10], ax
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ebx, dword [ebp - 0x2bc]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x9000
test word [edx + 0x10], ax
je 0x69e85c
mov ecx, edx
call fcn.0069dea0
mov edx, eax
jmp 0x69e865
mov eax, 4
mov word [edx + 0x10], ax
cmp dword [ebx + 4], 0
lea esi, [edx + 0x10]
mov edi, dword [ebx + 0xc]
mov eax, 1
mov ecx, dword [ebx + 8]
mov ebx, 0x101
cmovne eax, ebx
mov dword [edx + 0xc], 0
sub edi, ecx
movzx ebx, ax
mov word [esi], bx
test edi, edi
jle 0x6a4af4
mov eax, 0x9000
nop dword [eax + eax]
test word [esi + 0x28], ax
lea esi, [esi + 0x28]
je 0x69e8b6
lea ecx, [esi - 0x10]
call fcn.006948d0
mov eax, 0x9000
dec edi
mov word [esi], bx
mov dword [esi - 4], 0
test edi, edi
jg 0x69e8a0
jmp 0x69e445
mov ecx, dword [ebp - 0x2bc]
mov edx, 0xffc1
mov ebx, dword [ebp - 0x2d4]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov ax, word [ebx + ecx*8 + 0x10]
and ax, dx
or ax, 1
mov word [ebx + ecx*8 + 0x10], ax
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x69e93a
mov ecx, esi
call fcn.0069dea0
mov esi, eax
jmp 0x69e943
mov eax, 4
mov word [esi + 0x10], ax
mov eax, dword [ebp - 0x2bc]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 4]
test ecx, ecx
jne 0x69e99c
mov edx, eax
mov ecx, esi
call fcn.00694f10
mov ecx, esi
call fcn.006946a0
test eax, eax
je 0x69e9af
mov esi, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2d0]
call fcn.00671c60
push str.out_of_memory
push esi
call fcn.00695de0
mov edx, 7
add esp, 8
mov dword [ebp - 0x2cc], edx
jmp 0x6a50b6
push 0
cdq
push 0
push edx
mov edx, ecx
mov ecx, esi
push eax
call fcn.00695280
add esp, 0x10
mov al, byte [ebp - 0x2d8]
mov byte [esi + 0x12], al
jmp 0x69e445
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x64]
lea edi, [eax + ecx*8]
lea ecx, [edi - 0x28]
call fcn.00695160
test eax, eax
jne 0x6a5070
mov eax, dword [ebp - 0x2bc]
mov ecx, dword [ebp - 0x2d4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x69ea06
mov ecx, esi
call fcn.006948d0
movups xmm0, xmmword [edi - 0x28]
mov ecx, 0xafff
movups xmmword [esi], xmm0
mov eax, dword [edi - 0x18]
mov dword [esi + 0x10], eax
and ax, cx
mov ecx, 0x2040
or ax, cx
mov word [esi + 0x10], ax
jmp 0x69e445
mov ecx, dword [ebp - 0x2bc]
mov edx, dword [ebp - 0x2d4]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
nop dword [eax]
mov eax, 0x9000
test word [esi + 0x10], ax
jne 0x69ea61
cmp dword [esi + 0x18], 0
je 0x69ea68
mov ecx, esi
call fcn.00694910
movups xmm0, xmmword [edi]
mov eax, 1
movups xmmword [esi], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [esi + 0x10], xmm0
movq xmm0, qword [edi + 0x20]
movq qword [esi + 0x20], xmm0
mov word [edi + 0x10], ax
mov eax, 0x4000
mov dword [edi + 0x18], 0
test word [esi + 0x10], ax
je 0x69eaaa
mov ecx, esi
call fcn.00694650
test eax, eax
jne 0x69e967
add edi, 0x28
add esi, 0x28
sub ebx, 1
jne 0x69ea50
jmp 0x69e445
mov ecx, dword [ebp - 0x2bc]
mov edx, dword [ebp - 0x2d4]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
nop dword [eax + eax]
push 0x4000
mov edx, edi
mov ecx, esi
call fcn.006951c0
mov eax, 0x4000
add esp, 4
test word [esi + 0x10], ax
je 0x69eb0b
mov ecx, esi
call fcn.00694650
test eax, eax
jne 0x69e967
movzx eax, word [esi + 0x10]
test eax, 0x800
je 0x69eb2b
mov ecx, dword [ebp - 0x2bc]
test byte [ecx + 2], 2
je 0x69eb2b
and eax, 0xf7ff
mov word [esi + 0x10], ax
mov eax, ebx
dec ebx
test eax, eax
je 0x6a4af4
add esi, 0x28
add edi, 0x28
jmp 0x69eae0
mov ecx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
push 0x4000
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.006951c0
mov ecx, dword [ebp - 0x2c0]
add esp, 4
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
mov edx, dword [ebx + eax*8]
mov eax, dword [ebx + eax*8 + 4]
mov ebx, 0x9000
test word [ecx + 0x10], bx
je 0x69ebe0
push eax
push edx
call fcn.00694f60
mov ecx, dword [ebp - 0x2c0]
add esp, 8
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edi, dword [ebp - 0x2bc]
mov dword [ecx + 4], eax
mov eax, 4
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x2c8]
mov dword [ecx], edx
mov ecx, dword [ebp - 0x2c0]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
xor edx, edx
mov ecx, esi
call fcn.006988a0
mov edx, eax
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50b0
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov edx, dword [ebp - 0x2d4]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x2c], ebx
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + 0xc]
movzx ecx, word [ebx + 0x10]
mov dword [ebp - 0xdc], ecx
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov al, byte [edi + 0x10]
or al, cl
test al, 1
je 0x69ec99
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x69fb51
mov ecx, esi
call fcn.006948d0
jmp 0x69e445
test cl, 0x12
jne 0x69eccf
mov dl, byte [ebp - 0x2d8]
mov ecx, ebx
push 0
call fcn.00694700
add esp, 4
test eax, eax
jne 0x69e967
mov ax, word [ebx + 0x10]
mov ecx, 0xfffd
and ax, cx
movzx ecx, ax
mov dword [ebp - 0xdc], ecx
jmp 0x69ecfb
test ecx, 0x400
je 0x69ecfb
mov ecx, ebx
call fcn.006946a0
test eax, eax
jne 0x69e967
mov ax, word [ebx + 0x10]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [ebp - 0xdc], eax
movzx eax, word [edi + 0x10]
mov dword [ebp - 0x1c], eax
test al, 0x12
jne 0x69ed1a
mov dl, byte [ebp - 0x2d8]
mov ecx, edi
push 0
call fcn.00694700
add esp, 4
jmp 0x69ed28
test eax, 0x400
je 0x69ed42
mov ecx, edi
call fcn.006946a0
test eax, eax
jne 0x69e967
mov ax, word [edi + 0x10]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebx + 0xc]
add ecx, dword [edi + 0xc]
mov eax, ecx
cdq
mov ebx, eax
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0x2c0]
mov eax, dword [eax + 0x78]
cdq
cmp dword [ebp - 0xe4], edx
jg 0x6a506a
jl 0x69ed73
cmp ebx, eax
ja 0x6a506a
xor eax, eax
lea edx, [ecx + 2]
cmp esi, edi
mov ecx, esi
sete al
push eax
call fcn.006943f0
add esp, 4
test eax, eax
jne 0x69e967
mov ax, word [esi + 0x10]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [esi + 0x10], ax
cmp esi, edi
je 0x69edc0
push dword [edi + 0xc]
push dword [edi + 8]
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x1c]
add esp, 0xc
mov word [edi + 0x10], ax
mov eax, dword [ebp - 0x2c]
push dword [eax + 0xc]
push dword [eax + 8]
mov eax, dword [esi + 8]
add eax, dword [edi + 0xc]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x2c]
add esp, 0xc
mov ecx, dword [ebp - 0xdc]
mov word [eax + 0x10], cx
mov cl, byte [ebp - 0x2d8]
cmp cl, 1
jbe 0x69edfc
mov eax, dword [ebp - 0xe4]
and ebx, 0xfffffffe
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 8]
mov byte [ebx + eax], 0
mov eax, dword [esi + 8]
mov byte [ebx + eax + 1], 0
mov eax, 0x200
or word [esi + 0x10], ax
mov dword [esi + 0xc], ebx
mov byte [esi + 0x12], cl
jmp 0x69e445
mov ecx, dword [ebp - 0x2bc]
mov edi, dword [ebp - 0x2d4]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
movzx edx, word [edi + eax*8 + 0x10]
lea eax, [edi + eax*8]
mov dword [ebp - 0x24], eax
mov ebx, edx
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
movzx esi, word [edi + eax*8 + 0x10]
lea eax, [edi + eax*8]
mov dword [ebp - 0xd4], eax
mov ecx, esi
mov eax, dword [ebp - 0x2bc]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0x1c], eax
mov al, cl
and al, bl
test al, 4
jne 0x69eebb
or cl, bl
test cl, 1
jne 0x69f10d
and edx, 0x2d
je 0x69ee8d
mov ecx, dword [ebp - 0xd4]
mov eax, esi
mov esi, dword [ebp - 0x24]
mov ebx, edx
jmp 0x69eea4
mov esi, dword [ebp - 0x24]
mov ecx, esi
call fcn.0069ddf0
mov ecx, dword [ebp - 0xd4]
movzx ebx, ax
movzx eax, word [ecx + 0x10]
and eax, 0x2d
jne 0x69eeb1
call fcn.0069ddf0
movzx eax, ax
and al, bl
test al, 4
je 0x69efc8
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0xd4]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], edi
movzx eax, byte [eax]
add eax, 0xffffff96
cmp eax, 3
ja case.default.0x69eee9
jmp dword [eax*4 + 0x6a58a4]
test esi, esi
jl 0x69ef23
jg 0x69eefa
test edx, edx
jb 0x69ef23
test edi, edi
jl 0x69ef5f
jg 0x69ef04
test ebx, ebx
je 0x69ef5f
or ecx, 0xffffffff
mov eax, SysReAllocString
sub ecx, ebx
sbb eax, edi
cmp eax, esi
jg 0x69ef5f
jl 0x69efc5
cmp ecx, edx
jae 0x69ef5f
jmp 0x69efc5
test edi, edi
jg 0x69ef5f
jl 0x69ef2d
test ebx, ebx
jae 0x69ef5f
mov eax, 1
mov ecx, SysReAllocString
sub eax, ebx
mov dword [ebp - 0x14], eax
mov eax, edx
sbb ecx, edi
add eax, 1
mov dword [ebp - 0xdc], eax
mov eax, esi
adc eax, 0
cmp ecx, eax
jg 0x69efc5
jl 0x69ef5f
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xdc]
ja 0x69efc5
add ebx, edx
mov dword [ebp - 0x48], ebx
adc edi, esi
mov dword [ebp - 0x44], edi
jmp 0x69f0e3
push esi
push edx
lea ecx, [ebp - 0x48]
call fcn.006774e0
add esp, 8
test eax, eax
jne 0x69efc5
jmp 0x69f0e3
push esi
push edx
lea ecx, [ebp - 0x48]
call fcn.00677530
add esp, 8
test eax, eax
jne 0x69efc5
jmp 0x69f0e3
mov eax, edx
or eax, esi
je 0x69f10d
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x69f0b3
test ebx, ebx
jne 0x69f0b3
cmp edi, 0x80000000
jne 0x69f0b3
mov esi, dword [ebp - 0x24]
mov ecx, esi
call fcn.00694a70
mov ebx, dword [ebp - 0xd4]
mov ecx, ebx
movsd qword [ebp - 0x18], xmm0
call fcn.00694a70
mov eax, dword [ebp - 0x2bc]
movzx eax, byte [eax]
add eax, 0xffffff96
cmp eax, 3
ja case.default.0x69eff2
jmp dword [eax*4 + 0x6a58b4]
addsd xmm0, qword [ebp - 0x18]
jmp 0x69f06d
subsd xmm0, qword [ebp - 0x18]
jmp 0x69f06d
mulsd xmm0, qword [ebp - 0x18]
jmp 0x69f06d
movsd xmm1, qword [ebp - 0x18]
ucomisd xmm1, qword [ebp - 0x318]
lahf
test ah, 0x44
jnp 0x69f10d
divsd xmm0, xmm1
jmp 0x69f06d
mov ecx, esi
call fcn.006949b0
mov ecx, ebx
mov esi, eax
mov edi, edx
call fcn.006949b0
mov ecx, esi
mov dword [ebp - 0x48], eax
or ecx, edi
mov dword [ebp - 0x44], edx
je 0x69f10d
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x69f05d
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.0078f7b0
mov ecx, eax
call fcn.0078f510
movsd qword [ebp - 0x18], xmm0
mov ecx, dword [ebp - 0x14]
mov eax, ecx
and eax, 0x7ff00000
cmp eax, 0x7ff00000
jne 0x69f090
mov eax, dword [ebp - 0x18]
and ecx, 0xfffff
or eax, ecx
jne 0x69f10d
mov ecx, dword [ebp - 0x1c]
mov edx, 0xf248
mov ax, word [ecx + 0x10]
and ax, dx
movsd qword [ecx], xmm0
or ax, 8
movzx eax, ax
mov word [ecx + 0x10], ax
jmp 0x69e445
push esi
push edx
push edi
push ebx
call fcn.0076d5b0
jmp 0x69f0dd
mov eax, edx
or eax, esi
je 0x69f10d
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x69f0d4
mov edx, 1
xor esi, esi
push esi
push edx
push edi
push ebx
call fcn.0078f7b0
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x1c]
mov edx, 0xf244
mov eax, dword [ebp - 0x48]
mov dword [ecx], eax
mov eax, dword [ebp - 0x44]
mov dword [ecx + 4], eax
mov ax, word [ecx + 0x10]
and ax, dx
or ax, 4
movzx eax, ax
mov word [ecx + 0x10], ax
jmp 0x69e445
mov eax, dword [ebp - 0x1c]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x6a0382
mov ecx, eax
call fcn.006948d0
jmp 0x69e445
mov eax, dword [edi + 4]
test eax, eax
je 0x69e457
mov edx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, 0x9000
test word [eax + 0x10], dx
je 0x69f175
push 0
push 0
mov ecx, eax
call fcn.00694f60
mov ecx, dword [ebp - 0x2c0]
add esp, 8
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov word [eax + 0x10], dx
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov al, byte [ecx + 0x10]
or al, byte [edi + 0x10]
mov dword [ebp - 0x14], edx
test al, 1
je 0x69f22e
mov eax, 0x9000
test word [edx + 0x10], ax
je 0x69f205
mov ecx, edx
call fcn.006948d0
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2c0]
mov eax, 1
mov edi, dword [ebp - 0x2bc]
mov word [edx + 0x10], ax
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
call fcn.006949b0
mov ebx, eax
mov esi, edx
mov ecx, edi
mov dword [ebp - 0x308], ebx
mov dword [ebp - 0x304], esi
call fcn.006949b0
mov edi, eax
mov eax, dword [ebp - 0x2bc]
mov cl, byte [eax]
cmp cl, 0x66
jne 0x69f25f
and ebx, edi
and esi, edx
jmp 0x69f2c2
cmp cl, 0x67
jne 0x69f26a
or ebx, edi
or esi, edx
jmp 0x69f2c2
mov eax, edi
or eax, edx
je 0x69f2c2
test edx, edx
jg 0x69f29e
jl 0x69f27a
test edi, edi
jae 0x69f293
mov al, 0xd1
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x69f29e
jg 0x69f28c
cmp edi, 0xffffffc0
jbe 0x69f29e
neg edi
adc edx, 0
neg edx
test edx, edx
jl 0x69f2e3
jg 0x69f29e
cmp edi, 0x40
jb 0x69f2e3
test esi, esi
jg 0x69f2b4
jl 0x69f2a8
test ebx, ebx
jae 0x69f2b4
cmp cl, 0x68
je 0x69f2b4
or ebx, 0xffffffff
or esi, ebx
jmp 0x69f2c2
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov esi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
mov edx, 0xf244
mov ax, word [ecx + 0x10]
and ax, dx
mov dword [ecx], ebx
or ax, 4
mov dword [ecx + 4], esi
mov word [ecx + 0x10], ax
jmp 0x69e445
movq xmm1, qword [ebp - 0x308]
movd xmm0, edi
cmp cl, 0x68
jne 0x69f2ff
psllq xmm1, xmm0
movq qword [ebp - 0x20], xmm1
jmp 0x69f2bc
psrlq xmm1, xmm0
movq qword [ebp - 0x20], xmm1
test esi, esi
jg 0x69f2bc
jl 0x69f312
test ebx, ebx
jae 0x69f2bc
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, edi
or edx, 0xffffffff
call fcn.0076d710
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
or ebx, eax
or esi, edx
jmp 0x69f2c2
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.006949b0
mov dword [esi], eax
mov ecx, 0xf244
mov ax, word [esi + 0x10]
and ax, cx
mov dword [esi + 4], edx
or ax, 4
mov word [esi + 0x10], ax
mov eax, dword [ebp - 0x2bc]
mov eax, dword [eax + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp 0x69e445
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x10]
mov ecx, eax
test al, 4
jne 0x69f3da
push dword [ebp - 0x2d8]
mov dl, 0x43
mov ecx, esi
call fcn.0069dd40
movzx eax, word [esi + 0x10]
add esp, 4
mov ecx, eax
test al, 4
jne 0x69f3da
mov ecx, dword [ebp - 0x2bc]
mov esi, dword [ebp - 0x2c4]
cmp dword [ecx + 8], 0
jne 0x6a1d56
mov edx, 0x14
mov dword [ebp - 0x2cc], edx
jmp 0x6a50b0
and ecx, 0xf244
or ecx, 4
mov word [esi + 0x10], cx
jmp 0x69e445
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 0x24
lea esi, [edx + eax*8]
je 0x69e451
mov ecx, esi
call fcn.00694a70
mov ax, word [esi + 0x10]
mov ecx, 0xf248
and ax, cx
movsd qword [esi], xmm0
or ax, 8
mov word [esi + 0x10], ax
mov ecx, dword [ebp - 0x2c0]
mov esi, dword [ebp - 0x2c4]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x400
test word [esi + 0x10], ax
je 0x69f47c
mov ecx, esi
call fcn.006946a0
mov edx, eax
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
mov eax, dword [ebp - 0x2bc]
mov ecx, esi
push dword [ebp - 0x2d8]
mov dl, byte [eax + 8]
call fcn.00694db0
add esp, 4
mov edx, eax
mov dword [ebp - 0x2cc], edx
mov esi, dword [ebp - 0x2c4]
test edx, edx
jne 0x6a50b0
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov esi, dword [ebp - 0x2d4]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
movzx ecx, word [esi + eax*8 + 0x10]
lea esi, [esi + eax*8]
movzx eax, word [edi + 0x10]
mov dword [ebp - 0xdc], eax
movzx eax, ax
mov dword [ebp - 0x1c], eax
mov eax, ecx
and eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x14], eax
test al, 4
je 0x69f5e8
mov ecx, dword [esi + 4]
mov eax, dword [edi + 4]
mov edx, dword [edi]
cmp ecx, eax
jl 0x69f562
jg 0x69f525
mov esi, dword [esi]
cmp esi, edx
jbe 0x69f564
cmp byte [ebx + 0x7d1208], 0
mov esi, dword [ebp - 0x2c4]
jne 0x6a1d56
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x2e8], 1
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov esi, dword [esi]
cmp ecx, eax
jg 0x69f5ab
jl 0x69f56e
cmp esi, edx
jae 0x69f5ab
cmp byte [ebx + 0x7d11fc], 0
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov esi, dword [ebp - 0x2c4]
jne 0x6a1d62
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x2e8], 0xffffffff
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
cmp byte [ebx + 0x7d1202], 0
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov esi, dword [ebp - 0x2c4]
jne 0x6a1d62
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x2e8], 0
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ebx, dword [ebp - 0x1c]
mov eax, ecx
or eax, ebx
test al, 1
je 0x69f66f
mov eax, dword [ebp - 0x2bc]
movzx eax, word [eax + 2]
test al, al
jns 0x69f637
test byte [ebp - 0x14], 1
je 0x69f61e
test ecx, 0x100
jne 0x69f61e
mov dword [ebp - 0x2e8], 0
jmp 0x69f78b
mov eax, ecx
not eax
and eax, 1
lea eax, [eax*2 - 1]
mov dword [ebp - 0x2e8], eax
jmp 0x69f78b
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov esi, dword [ebp - 0x2c4]
test al, 0x10
jne 0x6a1d62
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x2e8], 1
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
mov dl, byte [edx + 2]
and dl, 0x47
cmp dl, 0x43
jb 0x69f6ba
test al, 2
je 0x69f765
mov al, bl
and al, 0x2e
cmp al, 2
jne 0x69f6a0
xor edx, edx
mov ecx, edi
call fcn.0069dc20
movzx ecx, word [esi + 0x10]
mov dword [ebp - 0x24], ecx
mov al, cl
and al, 0x2e
cmp al, 2
jne 0x69f765
xor edx, edx
mov ecx, esi
call fcn.0069dc20
jmp 0x69f765
cmp dl, 0x42
jne 0x69f765
test al, 2
je 0x69f765
test bl, 2
je 0x69f6e1
mov eax, dword [ebp - 0xdc]
and eax, 0xffd3
mov word [edi + 0x10], ax
jmp 0x69f722
test bl, 0x2c
je 0x69f722
mov dl, byte [ebp - 0x2d8]
mov ecx, edi
push 1
call fcn.00694700
mov ax, word [edi + 0x10]
mov ecx, 0xdbf
xor ax, bx
add esp, 4
and ax, cx
xor ax, word [edi + 0x10]
movzx ebx, ax
cmp edi, esi
jne 0x69f71f
mov eax, ebx
or eax, 2
movzx ecx, ax
mov dword [ebp - 0x24], ecx
jmp 0x69f722
mov ecx, dword [ebp - 0x24]
test cl, 2
je 0x69f732
mov eax, 0xffd3
and word [esi + 0x10], ax
jmp 0x69f765
test cl, 0x2c
je 0x69f765
mov dl, byte [ebp - 0x2d8]
mov ecx, esi
push 1
call fcn.00694700
mov ecx, dword [ebp - 0x24]
add esp, 4
mov ax, word [esi + 0x10]
xor ax, cx
mov ecx, 0xdbf
and ax, cx
xor ax, word [esi + 0x10]
movzx ecx, ax
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x2bc]
mov edx, edi
mov ecx, esi
push dword [eax + 0x10]
call fcn.00699a60
mov ecx, dword [ebp - 0x24]
add esp, 4
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x2bc]
mov dl, byte [eax]
cmp dword [ebp - 0x2e8], 0
movzx edx, dl
jge 0x69f79e
mov eax, 0x7d11fc
jmp 0x69f7aa
mov eax, 0x7d1202
cmovne eax, dword [ebp - 0x30c]
mov al, byte [eax + edx]
mov word [esi + 0x10], cx
mov esi, dword [ebp - 0x2c4]
mov word [edi + 0x10], bx
test al, al
jne 0x6a1d56
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
cmp dword [ebp - 0x2e8], 0
je 0x6a1d62
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ebx, dword [ebp - 0x2bc]
test byte [ebx + 2], 1
jne 0x69f80e
xor eax, eax
jmp 0x69f814
mov eax, dword [ebx - 4]
add eax, 4
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebp - 0x2bc]
mov edx, dword [ebx + 0x10]
mov ebx, dword [ebx + 4]
mov dword [ebp - 0x2c], ebx
mov ebx, dword [esi + 8]
xor esi, esi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0xe4], ebx
test ecx, ecx
jle 0x69e445
lea ebx, [edx + 0x14]
test eax, eax
je 0x69f851
mov edi, dword [eax + esi*4]
jmp 0x69f853
mov edi, esi
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0x2d4]
push dword [ebx]
movzx eax, byte [esi + eax]
and eax, 1
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xe4]
add eax, edi
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0x2c]
add eax, edi
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00699a60
mov edx, eax
add esp, 4
mov dword [ebp - 0x2e8], edx
test edx, edx
jne 0x69f8af
mov eax, dword [ebp - 0x1c]
inc esi
mov edx, dword [ebp - 0xdc]
add ebx, 4
cmp esi, dword [ebp - 0x14]
jl 0x69f848
jmp 0x69e445
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x10]
test byte [esi + eax], 2
je 0x69f8ed
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x2d4]
add eax, edi
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 1
jne 0x69f8e5
mov eax, dword [ebp - 0xe4]
add eax, edi
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 1
je 0x69f8ed
neg edx
mov dword [ebp - 0x2e8], edx
cmp dword [ebp - 0xd4], 0
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov esi, dword [ebp - 0x2c4]
je 0x69e457
mov eax, dword [ebp - 0x2c8]
neg edx
mov dword [ebp - 0x2e8], edx
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ebx, dword [ebp - 0x2e8]
mov edx, dword [ebp - 0x2bc]
test ebx, ebx
jns 0x69f95e
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x2dc]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
jne 0x69f986
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0x2dc]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x2dc]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ebx, dword [ebp - 0x2bc]
mov edi, 2
mov ecx, dword [ebp - 0x2d4]
mov edx, edi
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00694aa0
mov ecx, dword [ebx + 8]
mov edx, edi
mov ebx, dword [ebp - 0x2d4]
mov esi, eax
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
call fcn.00694aa0
mov ecx, dword [ebp - 0x2bc]
lea eax, [eax + esi*2]
cmp byte [ecx], 0x2c
jne 0x69f9fc
mov dl, byte [esi + eax + 0x7cf40c]
jmp 0x69fa03
mov dl, byte [esi + eax + 0x7d0718]
mov eax, dword [ecx + 0xc]
lea esi, [eax + eax*4]
movzx ecx, word [ebx + esi*8 + 0x10]
cmp dl, 2
jne 0x69fa26
and ecx, 0xf241
or ecx, 1
mov word [ebx + esi*8 + 0x10], cx
jmp 0x69e445
movzx eax, dl
and ecx, 0xf244
cdq
or ecx, 4
mov dword [ebx + esi*8], eax
mov dword [ebx + esi*8 + 4], edx
mov word [ebx + esi*8 + 0x10], cx
jmp 0x69e445
mov edx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.00694aa0
mov ecx, dword [ebp - 0x2bc]
xor eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 8]
cdq
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
mov ebx, 0x9000
test word [ecx + 0x10], bx
je 0x69faa9
push edx
push eax
call fcn.00694f60
mov ecx, dword [ebp - 0x2c0]
add esp, 8
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edi, dword [ebp - 0x2bc]
mov dword [ecx], eax
mov eax, 4
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x2c8]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x2c0]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 1
lea ecx, [ebx + eax*8]
mov eax, dword [ebp - 0x2bc]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
jne 0x69fb42
xor edx, edx
call fcn.00694aa0
neg eax
mov ecx, 0x9000
sbb eax, eax
inc eax
test word [esi + 0x10], cx
je 0x69fb2b
push 0
push eax
mov ecx, esi
call fcn.00694f60
add esp, 8
jmp 0x69e445
mov dword [esi], eax
mov eax, 4
mov dword [esi + 4], 0
mov word [esi + 0x10], ax
jmp 0x69e445
mov eax, 0x9000
test word [esi + 0x10], ax
jne 0x69ec8d
mov eax, 1
mov word [esi + 0x10], ax
jmp 0x69e445
mov edx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, edx
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x69fb99
mov ecx, esi
call fcn.006948d0
mov ecx, dword [ebp - 0x2c0]
jmp 0x69fba2
mov eax, 1
mov word [esi + 0x10], ax
test byte [edi + 0x10], 1
jne 0x6a4afa
mov eax, 4
mov ecx, edi
mov word [esi + 0x10], ax
call fcn.006949b0
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x69e445
mov edi, dword [esi + 0xd0]
test edi, edi
je 0x69fc47
mov ecx, dword [ebp - 0x2bc]
mov eax, 0x66666667
sub ecx, dword [esi + 0x68]
mov edi, dword [edi + 0x14]
imul ecx
mov eax, 1
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov esi, ecx
and ecx, 7
shr esi, 3
shl eax, cl
movzx edx, byte [esi + edi]
test edx, eax
jne 0x6a1d50
bts edx, ecx
mov byte [esi + edi], dl
mov esi, dword [ebp - 0x2c4]
mov edi, dword [ebp - 0x2bc]
mov ecx, dword [esi + 0x68]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x2bc]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [esi + 0x68]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ecx + 4]
cmp eax, dword [edi + 4]
je 0x6a1d5c
mov ecx, edi
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
mov ecx, dword [ebp - 0x2d4]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00694aa0
test eax, eax
jne 0x6a1d56
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
xor edx, edx
mov eax, dword [ecx + 4]
cmp dword [ecx + 0xc], edx
mov ecx, dword [ebp - 0x2d4]
sete dl
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00694aa0
test eax, eax
je 0x6a1d56
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 1
jne 0x6a1d62
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
mov ecx, dword [edx + 4]
test ecx, ecx
js 0x69fd85
mov eax, dword [esi + 0x60]
mov ecx, dword [eax + ecx*4]
mov eax, edx
mov edx, dword [eax + 0xc]
movzx eax, word [ecx + 0x3e]
cmp edx, eax
jge 0x69fd7a
mov eax, dword [ecx + edx*4 + 0x5c]
cmp eax, 0xc
jb 0x69fd71
test al, 1
mov eax, 0
sete al
lea eax, [eax*4 + 4]
jmp 0x69fda9
movzx eax, byte [eax + 0x7d4998]
jmp 0x69fdac
mov eax, dword [ebp - 0x2bc]
mov ecx, dword [eax + 0x10]
jmp 0x69fda0
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
movzx eax, word [ecx + eax*8 + 0x10]
and eax, 0x3f
movzx ecx, byte [eax + 0x7d4440]
dec ecx
mov eax, 1
shl ax, cl
movzx eax, ax
mov ecx, dword [ebp - 0x2bc]
mov edi, ecx
test word [ecx + 2], ax
mov ecx, dword [ebp - 0x2c0]
jne 0x6a1d62
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 1
jne 0x69fe77
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 1
jne 0x69fe77
mov eax, edx
mov edx, 0x9000
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
test word [ebx + eax*8 + 0x10], dx
lea eax, [ebx + eax*8]
je 0x69fe47
push 0
push 0
mov ecx, eax
call fcn.00694f60
mov ecx, dword [ebp - 0x2c0]
add esp, 8
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edi, dword [ebp - 0x2bc]
mov edx, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov word [eax + 0x10], dx
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov eax, dword [ebp - 0x2bc]
mov edx, 0x9000
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
test word [ebx + eax*8 + 0x10], dx
lea eax, [ebx + eax*8]
je 0x69feb9
mov ecx, eax
call fcn.006948d0
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edi, dword [ebp - 0x2bc]
mov edx, 1
mov word [eax + 0x10], dx
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 1
je 0x6a1d62
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x69e3d1
cmp byte [eax + 2], 0
je 0x69e3d1
mov eax, dword [ebp - 0x2bc]
mov ecx, dword [ebp - 0x2d4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x69ff54
mov ecx, eax
call fcn.006948d0
jmp 0x6a1d56
mov ecx, 1
mov word [eax + 0x10], cx
jmp 0x6a1d56
mov ebx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov edx, dword [ebp - 0x2c4]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x34], ecx
nop dword [eax]
mov eax, dword [esi + 0x20]
mov ebx, dword [esi + 0x48]
mov dword [ebp - 0x24], ebx
cmp eax, dword [edx + 0x1c]
je 0x69ffdf
cmp byte [esi + 2], 0
jne 0x6a0042
cmp byte [esi + 3], 0
mov edi, dword [esi + 0x2c]
je 0x69ffb8
mov eax, dword [esi + 0x10]
test eax, eax
je 0x6a0010
mov eax, dword [eax + ecx*4 + 4]
test eax, eax
je 0x6a0010
mov esi, dword [esi + 0x28]
lea ecx, [eax - 1]
jmp 0x69ff7a
cmp byte [edi], 0
je 0x6a0027
mov ecx, esi
call fcn.00699130
mov edx, eax
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x2c4]
jmp 0x69ff80
mov eax, dword [esi + 0x2c]
cmp byte [eax], 0
je 0x6a00e0
mov ecx, esi
call fcn.00699130
mov edx, eax
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x2c4]
jmp 0x69ff80
mov ecx, esi
call fcn.006990c0
mov edx, eax
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
mov ecx, edi
call fcn.0068b400
mov eax, dword [edi + 0x2c]
lea ebx, [esi + 0x54]
mov edx, ebx
mov dword [esi + 0x50], eax
mov ecx, edi
call fcn.0068bbe0
jmp 0x6a006f
cmp byte [esi], 3
jne 0x6a01c7
mov eax, dword [esi + 0x24]
test eax, eax
jle 0x6a01c7
mov edx, dword [ebp - 0x2d4]
lea ecx, [eax + eax*4]
lea ebx, [esi + 0x54]
mov eax, dword [edx + ecx*8 + 0xc]
mov dword [ebx], eax
mov dword [esi + 0x50], eax
mov eax, dword [edx + ecx*8 + 8]
mov dword [esi + 0x4c], eax
mov eax, dword [ebp - 0x2c4]
mov edi, dword [ebp - 0x24]
mov eax, dword [eax + 0x1c]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x4c]
movzx eax, byte [eax]
mov dword [edi], eax
cmp eax, 0x80
jae 0x6a0097
mov eax, 1
jmp 0x6a00a4
mov ecx, dword [esi + 0x4c]
mov edx, edi
call fcn.006772c0
movzx eax, al
mov dword [esi + 0x34], eax
xor eax, eax
mov word [esi + 0x3e], ax
mov eax, dword [edi]
cmp dword [ebx], eax
jae 0x6a01bd
mov dword [ebx], 0
mov ebx, dword [ebp - 0x24]
mov dword [esi + 0x4c], 0
mov eax, dword [ebx]
cmp eax, 0x18003
ja 0x6a02c4
cmp eax, dword [esi + 0x50]
ja 0x6a02c4
mov ecx, dword [ebp - 0x34]
movzx edx, word [esi + 0x3e]
cmp edx, ecx
ja 0x6a0390
mov ecx, dword [esi + 0x34]
mov eax, dword [ebx]
cmp ecx, eax
jae 0x6a033b
mov edi, dword [esi + 0x4c]
mov dword [ebp - 0x2e0], edi
test edi, edi
jne 0x6a0158
xorps xmm0, xmm0
lea eax, [ebp - 0x130]
movups xmmword [ebp - 0x130], xmm0
push eax
movups xmmword [ebp - 0x120], xmm0
movq qword [ebp - 0x110], xmm0
mov edx, dword [ebx]
mov ecx, dword [esi + 0x2c]
call fcn.00695650
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
mov edi, dword [ebp - 0x128]
movzx edx, word [esi + 0x3e]
mov eax, dword [ebx]
mov ecx, dword [esi + 0x34]
mov dword [ebp - 0x2e0], edi
movzx edx, dx
add edi, ecx
add eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xdc], eax
mov ebx, dword [ebx + edx*4]
lea ecx, [edx + 0x17]
mov eax, dword [ebp - 0x1c]
lea ecx, [esi + ecx*4]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0xd4], ecx
nop word [eax + eax]
mov dword [ebp - 0x1c], eax
movzx eax, byte [edi]
mov dword [ebp - 0xe8], eax
mov dword [ecx], eax
mov eax, dword [ebp - 0xe8]
cmp eax, 0x80
jae 0x6a01f7
movzx eax, al
mov ecx, 1
movzx eax, byte [eax + 0x7d1010]
cdq
jmp 0x6a0232
mov edi, dword [esi + 0x4c]
xor edx, edx
mov ebx, dword [ebp - 0x24]
jmp 0x6a014f
mov eax, dword [ebp - 0x2bc]
mov ecx, dword [ebp - 0x2d4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x6a0382
mov ecx, eax
call fcn.006948d0
jmp 0x69e445
lea edx, [ebp - 0xe8]
mov ecx, edi
call fcn.006772c0
mov edx, dword [ebp - 0xd4]
movzx ecx, al
mov eax, dword [ebp - 0xe8]
mov dword [edx], eax
mov eax, dword [ebp - 0xe8]
cmp eax, 0x80
jb 0x6a0229
add eax, 0xfffffff4
shr eax, 1
jmp 0x6a0230
movzx eax, byte [eax + 0x7d1010]
xor edx, edx
add ebx, eax
mov eax, dword [ebp - 0x1c]
adc eax, edx
mov edx, dword [ebp - 0x2c]
add dword [ebp - 0xd4], 4
add edi, ecx
mov ecx, dword [ebp - 0x24]
inc edx
mov dword [ebp - 0x2c], edx
mov dword [ecx + edx*4], ebx
mov ecx, dword [ebp - 0xd4]
cmp edx, dword [ebp - 0x34]
ja 0x6a026e
cmp edi, dword [ebp - 0xdc]
jb 0x6a0190
mov ecx, dword [ebp - 0xdc]
jmp 0x6a0278
mov ecx, dword [ebp - 0xdc]
cmp edi, ecx
jb 0x6a0285
cmp edi, ecx
ja 0x6a0290
cmp ebx, dword [esi + 0x50]
jne 0x6a0290
test eax, eax
jne 0x6a0290
test eax, eax
jb 0x6a02fd
ja 0x6a0290
cmp ebx, dword [esi + 0x50]
jbe 0x6a02fd
mov ebx, dword [ebp - 0x24]
cmp dword [ebx], 0
jne 0x6a029e
xor edx, edx
mov edi, ecx
jmp 0x6a0300
cmp dword [esi + 0x4c], 0
jne 0x6a02c4
test dword [ebp - 0x120], 0x9000
jne 0x6a02b9
cmp dword [ebp - 0x118], 0
je 0x6a02c4
lea ecx, [ebp - 0x130]
call fcn.00694910
mov edx, dword [ebp - 0x2dc]
mov eax, dword [edx + 0xc]
test eax, eax
jg 0x69e436
push 0x7e14a4
push 0x17836
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.00673f50
add esp, 0x14
mov edx, 0xb
jmp 0x6a50a4
mov ebx, dword [ebp - 0x24]
sub edi, dword [ebp - 0x2e0]
cmp dword [esi + 0x4c], 0
mov word [esi + 0x3e], dx
mov dword [esi + 0x34], edi
jne 0x6a0333
test dword [ebp - 0x120], 0x9000
jne 0x6a0328
cmp dword [ebp - 0x118], 0
je 0x6a0333
lea ecx, [ebp - 0x130]
call fcn.00694910
mov ecx, dword [ebp - 0xe8]
jmp 0x6a0343
xor ecx, ecx
mov dword [ebp - 0xe8], ecx
movzx eax, word [esi + 0x3e]
cmp eax, dword [ebp - 0x34]
ja 0x6a039a
mov ecx, dword [ebp - 0x2bc]
mov edx, dword [ebp - 0x2d4]
cmp byte [ecx + 1], 0xf6
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
jne 0x69f110
mov edx, dword [ecx + 0x10]
mov ecx, eax
push 0x2000
call fcn.006951c0
add esp, 4
jmp 0x69e445
mov ecx, 1
mov word [eax + 0x10], cx
jmp 0x69e445
mov ecx, dword [esi + ecx*4 + 0x5c]
mov dword [ebp - 0xe8], ecx
mov eax, dword [ebp - 0x2bc]
mov edx, dword [ebp - 0x2d4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, 0x9000
test word [edi + 0x10], ax
je 0x6a03c7
mov ecx, edi
call fcn.006948d0
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x34]
mov eax, dword [esi + 0x54]
cmp eax, dword [ebx + edx*4 + 4]
jb 0x6a047b
mov eax, dword [ebp - 0x24]
mov ebx, dword [esi + 0x4c]
add ebx, dword [eax + edx*4]
cmp ecx, 0xc
jae 0x6a03f7
mov edx, ecx
mov ecx, ebx
push edi
call fcn.00699260
add esp, 4
jmp 0x69e445
mov al, byte [ebp - 0x2d8]
lea esi, [ecx - 0xc]
shr esi, 1
mov dword [edi + 0xc], esi
mov byte [edi + 0x12], al
lea edx, [esi + 2]
cmp dword [edi + 0x18], edx
jge 0x6a0441
mov eax, dword [ebp - 0x2c0]
cmp esi, dword [eax + 0x78]
jg 0x6a506a
mov eax, 1
mov ecx, edi
push 0
mov word [edi + 0x10], ax
call fcn.006943f0
add esp, 4
test eax, eax
jne 0x69e967
mov eax, dword [edi + 8]
jmp 0x6a0447
mov eax, dword [edi + 0x20]
mov dword [edi + 8], eax
push esi
push ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [edi + 8]
add esp, 0xc
mov byte [esi + eax], 0
mov eax, dword [edi + 8]
mov byte [esi + eax + 1], 0
mov eax, dword [ebp - 0xe8]
and eax, 1
mov ax, word [eax*2 + 0x7d2be4]
mov word [edi + 0x10], ax
jmp 0x69e445
mov al, byte [ebp - 0x2d8]
mov byte [edi + 0x12], al
mov eax, dword [ebp - 0x2bc]
mov cl, byte [eax + 2]
mov eax, dword [ebp - 0xe8]
and cl, 0xc0
je 0x6a04ab
cmp cl, 0x80
je 0x6a04c4
cmp eax, 0xc
jb 0x6a04ab
test al, 1
je 0x6a04c4
cmp cl, 0xc0
je 0x6a04c4
cmp eax, 0x80
jb 0x6a04b9
lea ecx, [eax - 0xc]
shr ecx, 1
jmp 0x6a04c0
movzx ecx, byte [eax + 0x7d1010]
test ecx, ecx
jne 0x6a04d9
push edi
mov edx, eax
mov ecx, 0x7d02a0
call fcn.00699260
add esp, 4
jmp 0x69e445
mov ecx, dword [ebp - 0x2c4]
push edi
push dword [ebp - 0x2f8]
push dword [ecx + 0x1c]
mov ecx, esi
push 0
push dword [ebx + edx*4]
push eax
call fcn.0069df80
mov edx, eax
add esp, 0x18
mov dword [ebp - 0x2cc], edx
test edx, edx
je 0x69e445
mov esi, dword [ebp - 0x2c4]
cmp edx, 7
je 0x69e96d
cmp edx, 0x12
je 0x6a5070
jmp 0x6a50b0
mov ecx, dword [ebp - 0x2bc]
mov edx, dword [ecx + 0x10]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x2d4]
mov dword [ebp - 0x14], edx
mov ebx, dword [edx + 4]
lea eax, [eax + eax*4]
mov dword [ebp - 0x2c], ebx
lea esi, [ecx + eax*8]
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x1c], ecx
cmp ax, word [edx + 0x22]
jge 0x69e445
lea edi, [ebx + 8]
mov dword [ebp - 0xdc], edi
movzx eax, word [edi + 6]
test al, 0x60
je 0x6a0581
test al, 0x20
jne 0x6a0634
mov eax, dword [ebp - 0x2bc]
cmp dword [eax + 0xc], 0
jne 0x6a0631
push dword [ebp - 0x2d8]
mov dl, byte [edi]
mov ecx, esi
call fcn.0069dd40
movzx eax, word [esi + 0x10]
add esp, 4
mov ebx, eax
test al, 1
jne case.default.0x6a05b2
mov ecx, dword [edi - 4]
shr ecx, 4
and ecx, 0xf
lea edx, [ecx - 2]
cmp edx, 4
ja case.default.0x6a05b2
jmp dword [edx*4 + 0x6a58c4]
test al, 0x10
jmp 0x6a0625
test al, 4
jmp 0x6a0625
test al, 2
jmp 0x6a0625
test al, 4
je 0x6a0623
mov edi, dword [esi]
mov ecx, edi
mov edx, dword [esi + 4]
add ecx, 0
mov eax, edx
adc eax, 0x8000
cmp eax, 0xffff
ja 0x6a0600
jb 0x6a05e8
cmp ecx, 0xffffffff
ja 0x6a0600
mov eax, 0x20
or eax, ebx
and eax, 0xfffb
mov word [esi + 0x10], ax
mov edi, dword [ebp - 0xdc]
jmp case.default.0x6a05b2
mov ecx, edi
call fcn.0078f510
mov eax, 8
movsd qword [esi], xmm0
or eax, ebx
and eax, 0xfffb
mov word [esi + 0x10], ax
mov edi, dword [ebp - 0xdc]
jmp case.default.0x6a05b2
test al, 0x28
je 0x6a4f1f
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
add esi, 0x28
movsx eax, word [edx + 0x22]
inc ecx
add edi, 0x10
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0xdc], edi
cmp ecx, eax
jl 0x6a0561
jmp 0x69e445
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx + 4]
mov edi, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov al, byte [edi]
nop dword [eax]
push dword [ebp - 0x2d8]
mov dl, al
mov ecx, esi
call fcn.0069dd40
add esp, 4
cmp byte [edi], 0x45
jne 0x6a06d0
movzx ebx, word [esi + 0x10]
test bl, 4
je 0x6a06d0
mov ecx, dword [esi]
mov edx, dword [esi + 4]
add ecx, 0
mov eax, edx
adc eax, 0x8000
cmp eax, 0xffff
ja 0x6a06b8
jb 0x6a06ad
cmp ecx, 0xffffffff
ja 0x6a06b8
and ebx, 0xfffb
or ebx, 0x20
jmp 0x6a06cc
mov ecx, dword [esi]
call fcn.0078f510
and ebx, 0xfff9
movsd qword [esi], xmm0
or ebx, 8
mov word [esi + 0x10], bx
mov al, byte [edi + 1]
inc edi
test al, al
je 0x6a4af4
add esi, 0x28
jmp 0x6a0670
mov edx, dword [ebp - 0x2bc]
xorps xmm0, xmm0
mov esi, dword [ebp - 0x2d4]
xor ecx, ecx
movlpd qword [ebp - 0xe0], xmm0
mov dword [ebp - 0x2e4], ecx
mov eax, dword [edx + 4]
mov edi, dword [edx + 0x10]
movlpd qword [ebp - 0x30], xmm0
lea eax, [eax + eax*4]
lea ebx, [esi + eax*8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x1c], ebx
lea eax, [eax + eax*4]
mov dword [ebp - 0x14], eax
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0xd4], eax
test edi, edi
je 0x6a0779
mov al, byte [edi]
lea esi, [ebx + 0x10]
mov ebx, dword [ebp - 0x2d8]
nop dword [eax + eax]
push ebx
lea ecx, [esi - 0x10]
mov dl, al
call fcn.0069dd40
add esp, 4
cmp byte [edi], 0x45
jne 0x6a0765
movzx eax, word [esi]
test al, 4
je 0x6a0765
and eax, 0xfffb
or eax, 0x20
mov word [esi], ax
mov al, byte [edi + 1]
inc edi
add esi, 0x28
test al, al
jne 0x6a0740
mov ecx, dword [ebp - 0x2e4]
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0x2e0], edi
lea eax, [eax*8 - 0xc]
mov dword [ebp - 0x34], edx
add eax, ebx
mov ebx, dword [ebp - 0x2c]
mov dword [ebp - 0xdc], ebx
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 0x2c], ebx
movzx ebx, word [eax - 0xc]
mov dword [ebp - 0x24], eax
test bl, 1
je 0x6a07ca
and ebx, 0x400
neg ebx
sbb ebx, ebx
and ebx, 0xa
inc ecx
mov dword [eax], ebx
jmp 0x6a0a65
test bl, 0x24
je 0x6a099d
mov esi, dword [eax - 0x1c]
mov eax, dword [eax - 0x18]
test eax, eax
jg 0x6a07eb
jl 0x6a07e3
test esi, esi
jae 0x6a07eb
mov ecx, esi
not eax
not ecx
jmp 0x6a07ed
mov ecx, esi
inc dword [ebp - 0x2e4]
test eax, eax
ja 0x6a0902
jb 0x6a0802
cmp ecx, 0x7f
ja 0x6a085f
mov eax, esi
xor ebx, ebx
and eax, 1
cmp eax, esi
jne 0x6a0839
mov esi, dword [ebp - 0x24]
cmp ebx, dword [esi - 0x18]
jne 0x6a0839
mov eax, dword [ebp - 0x2c4]
cmp byte [eax + 0x95], 4
jb 0x6a0839
lea eax, [ecx + 8]
mov ecx, esi
mov dword [ecx], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2e4]
jmp 0x6a0a6b
mov ecx, dword [ebp - 0x24]
add edx, 1
mov eax, 1
mov dword [ebp - 0x34], edx
adc edi, ebx
mov dword [ebp - 0x2e0], edi
mov dword [ecx], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2e4]
jmp 0x6a0a6b
test eax, eax
ja 0x6a0902
jb 0x6a0871
cmp ecx, 0x7fff
ja 0x6a0898
mov ecx, dword [ebp - 0x24]
add edx, 2
mov eax, 2
mov dword [ebp - 0x34], edx
adc edi, 0
mov dword [ebp - 0x2e0], edi
mov dword [ecx], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2e4]
jmp 0x6a0a6b
test eax, eax
ja 0x6a0902
jb 0x6a08a6
cmp ecx, 0x7fffff
ja 0x6a08cd
mov ecx, dword [ebp - 0x24]
add edx, 3
mov eax, 3
mov dword [ebp - 0x34], edx
adc edi, 0
mov dword [ebp - 0x2e0], edi
mov dword [ecx], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2e4]
jmp 0x6a0a6b
test eax, eax
ja 0x6a0902
jb 0x6a08db
cmp ecx, 0x7fffffff
ja 0x6a0902
mov ecx, dword [ebp - 0x24]
add edx, 4
mov eax, 4
mov dword [ebp - 0x34], edx
adc edi, 0
mov dword [ebp - 0x2e0], edi
mov dword [ecx], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2e4]
jmp 0x6a0a6b
cmp eax, 0x7fff
ja 0x6a0937
jb 0x6a0910
cmp ecx, 0xffffffff
ja 0x6a0937
mov ecx, dword [ebp - 0x24]
add edx, 6
mov eax, 5
mov dword [ebp - 0x34], edx
adc edi, 0
mov dword [ebp - 0x2e0], edi
mov dword [ecx], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2e4]
jmp 0x6a0a6b
add edx, 8
mov dword [ebp - 0x34], edx
adc edi, 0
mov dword [ebp - 0x2e0], edi
test bl, 0x20
je 0x6a0985
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx - 0x18]
mov ecx, esi
call fcn.0078f510
mov eax, dword [ebp - 0x24]
and ebx, 0xffdf
mov ecx, dword [ebp - 0x24]
or ebx, 8
movsd qword [eax - 0x1c], xmm0
mov word [eax - 0xc], bx
mov eax, 7
mov dword [ecx], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2e4]
jmp 0x6a0a6b
mov ecx, dword [ebp - 0x24]
mov eax, 6
mov dword [ecx], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2e4]
jmp 0x6a0a6b
test bl, 8
je 0x6a09bd
inc ecx
mov dword [eax], 7
add edx, 8
mov dword [ebp - 0x34], edx
adc edi, 0
mov dword [ebp - 0x2e0], edi
jmp 0x6a0a65
mov edi, dword [eax - 0x10]
mov eax, ebx
shr eax, 1
and eax, 1
lea eax, [eax + edi*2]
add eax, 0xc
test ebx, 0x400
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0xe4], eax
je 0x6a0a1e
mov ecx, dword [ebx - 0x1c]
lea eax, [eax + ecx*2]
mov dword [ebp - 0xe4], eax
mov eax, edx
or eax, dword [ebp - 0x2e0]
je 0x6a0a09
lea ecx, [ebx - 0x1c]
call fcn.006946a0
test eax, eax
jne 0x69e967
add edi, dword [ebx - 0x1c]
jmp 0x6a0a15
mov eax, ecx
cdq
add dword [ebp - 0x2c], eax
adc dword [ebp - 0xdc], edx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xe4]
add edx, edi
mov esi, 1
mov edi, dword [ebp - 0x2e0]
mov dword [ebp - 0x34], edx
adc edi, 0
mov edx, eax
mov dword [ebp - 0x2e0], edi
shr edx, 7
xor ecx, ecx
mov eax, edx
or eax, ecx
je 0x6a0a52
shrd edx, ecx, 7
inc esi
shr ecx, 7
mov eax, edx
or eax, ecx
jne 0x6a0a44
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x2e4]
mov dword [ebx], eax
add ecx, esi
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2e4], ecx
add eax, 0xffffffe4
cmp eax, dword [ebp - 0x1c]
je 0x6a0a81
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x34]
sub eax, 0x28
jmp 0x6a07a9
cmp ecx, 0x7e
jle 0x6a0ae9
mov eax, ecx
mov ebx, 1
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x6a0aae
nop dword [eax]
shrd esi, edx, 7
inc ebx
shr edx, 7
mov eax, esi
or eax, edx
jne 0x6a0aa0
mov eax, dword [ebp - 0x2e4]
mov edi, 1
add eax, ebx
mov dword [ebp - 0x2e4], eax
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x6a0adf
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x6a0ad1
mov ecx, dword [ebp - 0x2e4]
cmp ebx, edi
jge 0x6a0af0
inc ecx
mov dword [ebp - 0x2e4], ecx
mov ebx, dword [ebp - 0x34]
mov eax, ecx
mov esi, dword [ebp - 0xd4]
cdq
add ebx, eax
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x2e0]
mov edi, edx
mov esi, dword [esi + 0x18]
adc eax, edi
mov ecx, ebx
add ecx, dword [ebp - 0x2c]
adc eax, dword [ebp - 0xdc]
mov dword [ebp - 0x2e0], eax
mov eax, esi
cdq
cmp dword [ebp - 0x2e0], edx
jg 0x6a0b41
jl 0x6a0b33
cmp ecx, eax
ja 0x6a0b41
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x20]
mov dword [edx + 8], eax
jmp 0x6a0b9a
mov eax, dword [ebp - 0x2c0]
mov eax, dword [eax + 0x78]
cdq
cmp dword [ebp - 0x2e0], edx
jg 0x6a506a
jl 0x6a0b61
cmp ecx, eax
ja 0x6a506a
cmp esi, ebx
jge 0x6a0b7f
mov ecx, dword [ebp - 0xd4]
mov edx, ebx
push 0
call fcn.006943f0
mov edx, dword [ebp - 0xd4]
add esp, 4
jmp 0x6a0b92
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x20]
and word [edx + 0x10], 0x2d
mov dword [edx + 8], eax
xor eax, eax
test eax, eax
jne 0x69e967
mov ecx, dword [ebp - 0x2c]
mov eax, 0x10
mov word [edx + 0x10], ax
mov eax, ecx
or eax, dword [ebp - 0xdc]
mov dword [edx + 0xc], ebx
je 0x6a0bbe
mov eax, 0x410
mov dword [edx], ecx
mov word [edx + 0x10], ax
mov eax, dword [ebp - 0x2e4]
mov ebx, dword [edx + 8]
lea esi, [ebx + eax]
cmp eax, 0x80
jge 0x6a0bd6
mov byte [ebx], al
inc ebx
jmp 0x6a0be9
push edi
push dword [ebp - 0xe4]
mov ecx, ebx
call fcn.006770a0
add esp, 8
add ebx, eax
mov edi, dword [ebp - 0x1c]
add edi, 0xc
nop
mov edx, dword [edi + 0x10]
cmp edx, 7
ja 0x6a0c7a
mov byte [ebx], dl
inc ebx
test edx, edx
je 0x6a0cb6
movzx edx, byte [edx + 0x7d1010]
mov ecx, dword [edi - 0xc]
mov eax, dword [edi - 8]
mov dword [ebp - 0xdc], edx
dec edx
cmp edx, 5
ja case.0x6a0c20.5
jmp dword [edx*4 + 0x6a58d8]
mov byte [esi + 7], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [esi + 6], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [esi + 5], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [esi + 4], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [esi + 3], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [esi + 2], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [esi + 1], cl
shrd ecx, eax, 8
shr eax, 8
mov dword [ebp - 0x2c], eax
mov byte [esi], cl
add esi, dword [ebp - 0xdc]
jmp 0x6a0cb6
cmp edx, 0x80
jae 0x6a0c92
mov byte [ebx], dl
inc ebx
cmp edx, 0xe
jb 0x6a0cb6
mov eax, dword [edi]
test eax, eax
jle 0x6a0cb6
jmp 0x6a0ca7
push 0
push edx
mov ecx, ebx
call fcn.006770a0
add ebx, eax
add esp, 8
mov eax, dword [edi]
test eax, eax
je 0x6a0cb6
push eax
push dword [edi - 4]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, dword [edi]
mov eax, dword [ebp - 0x14]
lea eax, [eax*8 - 0x1c]
add eax, dword [ebp - 0x1c]
cmp edi, eax
je 0x6a4af4
add edi, 0x28
jmp 0x6a0bf0
mov ebx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
cmp dword [ebx + 0xc], 0
mov ecx, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
mov edx, dword [eax + 0x2c]
je 0x6a0cfa
mov ecx, edx
call fcn.0068c730
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
jmp 0x6a0d24
mov ecx, dword [ebp - 0x2c0]
lea eax, [ebp - 0x80]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x80], xmm0
call fcn.00692010
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50b0
mov eax, dword [ebp - 0x2bc]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x6a0d4a
call fcn.0069dea0
mov ecx, eax
jmp 0x6a0d53
mov eax, 4
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x80]
mov dword [ecx], eax
mov eax, dword [ebp - 0x7c]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x2c0]
cmp dword [ecx + 0x128], 0
jne 0x6a5458
mov esi, dword [ebp - 0x2f0]
cmp dword [ebp - 0x2f4], esi
jb 0x6a4afa
mov ebx, dword [ebp - 0x2d0]
mov edi, dword [ebp - 0x2c8]
ja 0x6a0da0
cmp edi, ebx
jb 0x6a4afa
nop dword [eax]
mov eax, dword [ecx + 0x174]
test eax, eax
je 0x6a4afa
add ebx, dword [ecx + 0x17c]
push dword [ecx + 0x178]
adc esi, 0
mov dword [ebp - 0x2d0], ebx
mov dword [ebp - 0x2f0], esi
call eax
add esp, 4
test eax, eax
jne 0x6a53c2
mov ecx, dword [ebp - 0x2c0]
cmp dword [ebp - 0x2f4], esi
ja 0x6a0da0
jb 0x69e445
cmp edi, ebx
jae 0x6a0da0
jmp 0x69e445
mov edx, dword [ebp - 0x2bc]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0x10]
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x6a0ee3
cmp dword [ecx + 0xc4], eax
jg 0x6a4f6b
test ebx, ebx
jne 0x6a0e1e
xor esi, esi
jmp 0x6a0e38
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x6a0e23
sub esi, ecx
mov ecx, dword [ebp - 0x2c0]
and esi, 0x3fffffff
mov eax, dword [ecx + 0x1fc]
xor edx, edx
add eax, dword [ecx + 0x1f8]
push eax
call fcn.006eb230
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
mov ecx, dword [ebp - 0x2c0]
lea eax, [esi + 0x21]
push edx
push eax
call fcn.00671860
mov edi, eax
add esp, 8
test edi, edi
je 0x6a11aa
lea ecx, [esi + 1]
push ecx
lea edx, [edi + 0x20]
push ebx
push edx
mov dword [edi], edx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x2c0]
add esp, 0xc
cmp byte [ecx + 0x55], 0
je 0x6a0ea5
mov byte [ecx + 0x55], 0
mov byte [ecx + 0x5d], 1
jmp 0x6a0eab
inc dword [ecx + 0x1f8]
mov eax, dword [ecx + 0x1ec]
mov dword [edi + 0x18], eax
mov eax, dword [ecx + 0x200]
mov dword [ecx + 0x1ec], edi
mov dword [edi + 8], eax
mov eax, dword [ecx + 0x204]
mov dword [edi + 0xc], eax
mov eax, dword [ecx + 0x208]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0x20c]
mov dword [edi + 0x14], eax
jmp 0x6a11aa
mov esi, dword [ecx + 0x1ec]
xor edi, edi
test esi, esi
je 0x6a0f05
nop
mov ecx, dword [esi]
mov edx, ebx
call fcn.00675140
test eax, eax
je 0x6a0f2a
mov esi, dword [esi + 0x18]
inc edi
test esi, esi
jne 0x6a0ef0
mov esi, dword [ebp - 0x2c4]
push ebx
push str.no_such_savepoint:__s
push esi
call fcn.00695de0
mov edx, 1
add esp, 0xc
mov dword [ebp - 0x2cc], edx
jmp 0x6a50b0
mov edx, dword [ebp - 0x2c0]
mov ebx, dword [ebp - 0x24]
cmp dword [edx + 0xc4], 0
jle 0x6a0f45
cmp ebx, 1
je 0x6a4f89
cmp dword [esi + 0x18], 0
jne 0x6a0fc8
cmp byte [edx + 0x5d], 0
je 0x6a0fc8
mov dword [ebp - 0x2c], 1
cmp ebx, 1
jne 0x6a0fcf
mov ecx, dword [ebp - 0x2c4]
mov edx, ebx
call fcn.006988a0
mov ecx, eax
mov dword [ebp - 0x2cc], ecx
test ecx, ecx
jne 0x6a535d
mov eax, dword [ebp - 0x2c0]
mov ecx, dword [ebp - 0x2c4]
mov byte [eax + 0x55], bl
call fcn.00698910
cmp eax, 5
je 0x6a4f96
mov eax, dword [ebp - 0x2c4]
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x2cc], edx
test edx, edx
je 0x6a0fb9
mov eax, dword [ebp - 0x2c0]
mov byte [eax + 0x55], 0
jmp 0x6a10e0
mov edx, dword [ebp - 0x2c0]
mov byte [edx + 0x5d], 0
jmp 0x6a10ee
mov dword [ebp - 0x2c], 0
mov ecx, dword [edx + 0x1f8]
mov eax, dword [edx + 0x14]
sub ecx, edi
dec ecx
mov dword [ebp - 0x1c], ecx
cmp ebx, 2
jne 0x6a104a
mov edx, dword [edx + 0x18]
xor ebx, ebx
and edx, 1
mov dword [ebp - 0xdc], edx
test eax, eax
jle 0x6a1052
mov ecx, edx
xor ecx, 1
xor edi, edi
mov dword [ebp - 0x14], ecx
nop
mov eax, dword [ebp - 0x2c0]
mov edx, 0x204
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.0068af70
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
mov eax, dword [ebp - 0x2c0]
inc ebx
mov ecx, dword [ebp - 0x14]
add edi, 0x10
mov eax, dword [eax + 0x14]
cmp ebx, eax
jl 0x6a1000
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xdc]
jmp 0x6a1052
xor edx, edx
mov dword [ebp - 0xdc], edx
xor ebx, ebx
test eax, eax
jle 0x6a109b
mov eax, dword [ebp - 0x2c0]
xor edi, edi
mov edx, dword [ebp - 0x24]
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.0068b210
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
mov eax, dword [ebp - 0x2c0]
inc ebx
mov ecx, dword [ebp - 0x1c]
add edi, 0x10
cmp ebx, dword [eax + 0x14]
jl 0x6a1060
mov edx, dword [ebp - 0xdc]
test edx, edx
je 0x6a10d4
mov ebx, dword [ebp - 0x2c0]
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x6a10c9
nop dword [eax]
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x6a10b0
mov ecx, ebx
call fcn.006bc570
or dword [ebx + 0x18], 1
mov edx, dword [ebp - 0x2cc]
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x1c]
test edx, edx
jne 0x6a50aa
mov edx, dword [ebp - 0x2c0]
mov ecx, dword [edx + 0x1ec]
cmp ecx, esi
je 0x6a112b
mov ebx, dword [ebp - 0x2c0]
nop
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, ebx
mov dword [ebx + 0x1ec], eax
call fcn.006714e0
mov ecx, dword [ebx + 0x1ec]
dec dword [ebx + 0x1f8]
cmp ecx, esi
jne 0x6a1100
mov ebx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x2c0]
cmp ebx, 1
jne 0x6a115a
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp - 0x2c0]
mov dword [edx + 0x1ec], eax
mov edx, esi
call fcn.006714e0
cmp dword [ebp - 0x2c], 0
jne 0x6a11aa
mov edx, dword [ebp - 0x2c0]
dec dword [edx + 0x1f8]
jmp 0x6a1189
cmp dword [ebp - 0x2c], 0
mov eax, dword [esi + 8]
mov dword [edx + 0x200], eax
mov eax, dword [esi + 0xc]
mov dword [edx + 0x204], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x208], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 0x20c], eax
je 0x6a1189
cmp ebx, 2
jne 0x6a11aa
mov ecx, dword [ebp - 0x2c0]
mov edx, ebx
push edi
call fcn.006eb230
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
mov esi, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0x2c0]
cmp byte [esi + 0x97], 3
je 0x6a4fd9
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ebx, dword [ebp - 0x2bc]
mov dword [ebp - 0x2c], 0
mov edi, dword [ebx + 8]
test edi, edi
je 0x6a120f
mov edx, dword [ecx + 0x20]
mov eax, edx
mov ecx, dword [ecx + 0x24]
and eax, 0x100000
and ecx, 2
or eax, ecx
jne 0x6a4fe9
mov ecx, dword [ebp - 0x2c0]
mov esi, dword [ebx + 4]
shl esi, 4
add esi, dword [ecx + 0x10]
mov ebx, dword [esi + 4]
test ebx, ebx
je 0x6a12f0
lea eax, [ebp - 0x2c]
mov edx, edi
push eax
mov ecx, ebx
call fcn.0068a100
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a501a
mov edi, dword [ebp - 0x2c4]
test byte [edi + 0x98], 0x20
je 0x6a12fe
mov eax, dword [ebp - 0x2bc]
cmp dword [eax + 8], edx
je 0x6a12fe
mov edx, dword [ebp - 0x2c0]
cmp byte [edx + 0x55], 0
je 0x6a127e
cmp dword [edx + 0xc0], 1
jle 0x6a12fe
mov eax, dword [edi + 0x30]
test eax, eax
jne 0x6a129a
mov eax, dword [edx + 0x1f8]
inc dword [edx + 0x1fc]
add eax, dword [edx + 0x1fc]
mov dword [edi + 0x30], eax
mov ecx, dword [ebp - 0x2c0]
dec eax
push eax
xor edx, edx
call fcn.006eb230
add esp, 4
mov dword [ebp - 0x2cc], eax
test eax, eax
jne 0x6a12c6
mov edx, dword [edi + 0x30]
mov ecx, ebx
call fcn.0068b1b0
mov dword [ebp - 0x2cc], eax
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ecx + 0x200]
mov dword [edi + 0x48], eax
mov eax, dword [ecx + 0x204]
mov dword [edi + 0x4c], eax
mov eax, dword [ecx + 0x208]
mov dword [edi + 0x50], eax
mov eax, dword [ecx + 0x20c]
mov dword [edi + 0x54], eax
mov edx, dword [ebp - 0x2cc]
test edx, edx
jne 0x6a50aa
mov ecx, dword [ebp - 0x2bc]
cmp word [ecx + 2], 0
je 0x69e445
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ecx + 0xc]
jne 0x6a1326
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [ecx + 0x10]
je 0x69e445
mov esi, dword [ebp - 0x2c4]
mov ebx, dword [ebp - 0x2c0]
mov edx, dword [esi + 0x7c]
test edx, edx
je 0x6a1340
mov ecx, ebx
call fcn.006714e0
mov edx, str.database_schema_has_changed
mov ecx, ebx
call fcn.00671ab0
mov dword [esi + 0x7c], eax
mov eax, dword [ebp - 0x2bc]
mov edx, dword [eax + 4]
mov ecx, edx
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x2c]
je 0x6a1371
mov ecx, ebx
call fcn.006bc510
mov eax, dword [esi + 0x98]
mov edx, 0x11
and eax, 0xffffffed
mov dword [ebp - 0x2cc], edx
or eax, 1
mov dword [esi + 0x98], eax
jmp 0x6a50b0
mov edx, dword [ebp - 0x2bc]
lea eax, [ebp - 0x9c]
mov ecx, dword [ecx + 0x10]
push eax
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00691f00
mov eax, dword [ebp - 0x2bc]
add esp, 4
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x6a1407
call fcn.0069dea0
mov edi, dword [ebp - 0x2bc]
mov ecx, eax
mov eax, dword [ebp - 0x9c]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x2c8]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x2c0]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edi, dword [ebp - 0x2bc]
mov eax, 4
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x9c]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x2c8]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x2c0]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
mov esi, dword [edx + 4]
push dword [edx + 0xc]
mov edx, dword [edx + 8]
shl esi, 4
add esi, dword [ecx + 0x10]
mov ecx, dword [esi + 4]
call fcn.00691f60
mov ecx, dword [ebp - 0x2bc]
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
mov eax, dword [ecx + 8]
cmp eax, 1
jne 0x6a14a2
movzx eax, word [ecx + 2]
mov ecx, dword [ecx + 0xc]
sub ecx, eax
mov eax, dword [esi + 0xc]
mov dword [eax], ecx
mov eax, dword [ebp - 0x2c0]
mov ecx, dword [ebp - 0x2bc]
or dword [eax + 0x18], 1
mov edx, dword [ecx + 4]
mov ecx, eax
call fcn.006cab90
mov edx, dword [ebp - 0x2cc]
jmp 0x6a14b6
cmp eax, 2
jne 0x6a14bc
mov eax, dword [ebp - 0x2bc]
mov ecx, dword [esi + 0xc]
mov al, byte [eax + 0xc]
mov byte [ecx + 0x4c], al
mov ecx, dword [ebp - 0x2bc]
cmp dword [ecx + 4], 1
jne 0x69f49d
mov eax, dword [ebp - 0x2c0]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x6a14ec
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x6a14d3
mov esi, dword [ebp - 0x2c4]
and dword [esi + 0x98], 0xfffffffc
jmp 0x69f4a3
mov ebx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ebx + 4]
mov edi, dword [eax + ecx*4]
test edi, edi
je 0x6a1539
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 8]
jne 0x6a1539
mov esi, dword [edi + 0x2c]
add edi, 0x2c
push dword [esi + 0x10]
call fcn.00671420
add esp, 4
mov dword [esi + 0x10], 0
mov byte [esi], 1
jmp 0x6a165c
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [esi + 0x98]
and al, 3
cmp al, 1
je 0x6a505d
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0x1c], 0
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x2c], eax
shl eax, 4
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x14], edi
mov ecx, dword [eax + 4]
mov dword [ebp - 0xe4], ecx
mov ecx, dword [ebp - 0x2bc]
cmp dl, 0x71
jne 0x6a15ac
mov eax, dword [eax + 0xc]
movzx ebx, word [ecx + 2]
and ebx, 8
or ebx, 4
mov al, byte [eax + 0x4c]
cmp al, byte [esi + 0x95]
jae 0x6a15ae
mov byte [esi + 0x95], al
jmp 0x6a15ae
xor ebx, ebx
test byte [ecx + 2], 0x10
je 0x6a15d8
mov ecx, dword [ebp - 0x2d4]
lea eax, [edi + edi*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00694ba0
mov edi, dword [esi]
mov ecx, dword [ebp - 0x2bc]
mov esi, dword [ebp - 0x2c4]
mov dword [ebp - 0x14], edi
mov al, byte [ecx + 1]
cmp al, 0xf8
jne 0x6a15eb
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x1c], eax
movzx eax, word [eax + 8]
jmp 0x6a15fa
cmp al, 0xfd
jne 0x6a15f4
mov eax, dword [ecx + 0x10]
jmp 0x6a15fa
mov eax, dword [ebp - 0xdc]
mov edx, dword [ecx + 4]
mov ecx, esi
push 0
push eax
call fcn.0069db20
mov esi, eax
add esp, 8
test esi, esi
je 0x69e967
push dword [esi + 0x2c]
mov eax, dword [ebp - 0x2c]
push dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xe4]
or dword [esi + 8], 4
mov dword [esi + 0x38], edi
lea edi, [esi + 0x2c]
push ebx
mov byte [esi + 1], al
mov byte [esi + 2], 1
call fcn.0068b390
mov dword [ebp - 0x2cc], eax
add esp, 0xc
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0x2bc]
cmp byte [eax + 1], 0xf8
setne al
mov byte [esi + 4], al
mov eax, dword [ebp - 0x2bc]
mov ecx, dword [edi]
movzx edx, word [eax + 2]
and edx, 3
call fcn.00687170
mov edx, dword [ebp - 0x2cc]
jmp 0x69f49d
mov edx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
push 0
mov ecx, dword [edx + 8]
mov edx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov ecx, esi
movsx eax, word [edi + 0x3c]
push eax
call fcn.0069db20
mov esi, eax
add esp, 8
test esi, esi
je 0x69e967
or dword [esi + 8], 1
mov byte [esi + 2], 1
mov ecx, dword [edi + 0x30]
mov dword [esi + 0x30], ecx
mov al, byte [edi + 4]
mov byte [esi + 4], al
mov eax, dword [edi + 0x38]
mov dword [esi + 0x38], eax
mov ecx, dword [edi + 8]
xor ecx, dword [esi + 8]
and ecx, 4
xor ecx, dword [esi + 8]
mov dword [esi + 8], ecx
or ecx, 8
mov eax, dword [edi + 0x10]
mov dword [esi + 0x10], eax
mov dword [esi + 8], ecx
or dword [edi + 8], 8
push dword [esi + 0x2c]
mov edx, dword [esi + 0x38]
push dword [esi + 0x30]
mov ecx, dword [esi + 0x10]
push 4
call fcn.0068b390
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0x2cc], ebx
jmp 0x69e445
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x6a1730
mov edx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
mov dword [edx + eax*8 + 0xc], 0
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov dword [edx + eax*8 + 8], 0x7d5458
mov edx, dword [ecx + 4]
mov eax, dword [esi + 0x60]
mov esi, dword [eax + edx*4]
test esi, esi
je 0x6a177e
test byte [esi + 8], 8
jne 0x6a177e
movsx eax, word [esi + 0x3c]
cmp dword [ecx + 8], eax
jg 0x6a177e
mov edx, dword [esi + 0x38]
mov ecx, dword [esi + 0x10]
push 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
call fcn.00691b30
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
jmp 0x6a18a8
push 0
push dword [ecx + 8]
mov ecx, dword [ebp - 0x2c4]
call fcn.0069db20
mov esi, eax
add esp, 8
test esi, esi
je 0x69e967
mov eax, dword [ebp - 0x2bc]
lea edi, [esi + 0x10]
or dword [esi + 8], 1
xor edx, edx
push 0x41e
movzx ecx, word [eax + 2]
mov eax, dword [ebp - 0x2c0]
or ecx, 5
push ecx
push edi
push eax
mov ecx, dword [eax]
call fcn.00688c00
mov edx, eax
add esp, 0x10
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
mov ecx, dword [edi]
lea edx, [eax + 1]
push eax
call fcn.0068a100
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a1877
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x14], eax
mov dword [esi + 0x30], eax
test eax, eax
je 0x6a184e
movzx eax, word [ecx + 2]
lea edx, [esi + 0x38]
mov ecx, dword [edi]
or eax, 2
push eax
call fcn.006918e0
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a1848
push dword [esi + 0x2c]
mov edx, dword [esi + 0x38]
push dword [ebp - 0x14]
mov ecx, dword [edi]
push 4
call fcn.0068b390
mov edx, eax
add esp, 0xc
mov dword [ebp - 0x2cc], edx
mov byte [esi + 4], 0
jmp 0x6a1877
push dword [esi + 0x2c]
mov ecx, dword [edi]
mov edx, 1
push 0
push 4
mov dword [esi + 0x38], 1
call fcn.0068b390
mov edx, eax
mov byte [esi + 4], 1
add esp, 0xc
mov dword [ebp - 0x2cc], edx
mov eax, dword [ebp - 0x2bc]
xor ecx, ecx
cmp word [eax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [esi + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [esi + 8], ecx
test edx, edx
je 0x6a18b0
mov ecx, dword [edi]
call fcn.00689330
mov edx, dword [ebp - 0x2cc]
test edx, edx
jne 0x6a50aa
mov byte [esi + 2], 1
jmp 0x69e445
mov ecx, dword [ebp - 0x2bc]
push 1
push dword [ecx + 8]
mov edx, dword [ecx + 4]
mov ecx, esi
call fcn.0069db20
add esp, 8
test eax, eax
je 0x69e96d
mov edx, dword [ebp - 0x2bc]
push eax
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x30], ecx
mov edx, dword [edx + 0xc]
mov ecx, dword [ebp - 0x2c0]
call fcn.006a6c70
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
jmp 0x69f4a3
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x18]
mov ecx, edi
mov esi, dword [edx + 0x1c]
add ecx, 1
mov eax, esi
mov dword [edx + 0x18], ecx
adc eax, 0
or edi, esi
mov esi, dword [ebp - 0x2c4]
mov dword [edx + 0x1c], eax
je 0x6a1d56
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
push 3
push dword [ecx + 0xc]
mov edx, dword [ecx + 4]
mov ecx, esi
call fcn.0069db20
add esp, 8
test eax, eax
je 0x69e96d
mov ecx, dword [ebp - 0x2bc]
mov edi, dword [ebp - 0x2bc]
mov byte [eax + 2], 1
mov ecx, dword [ecx + 8]
mov dword [eax + 0x24], ecx
mov ecx, dword [ebp - 0x2c0]
mov byte [eax + 4], 1
mov dword [eax + 0x2c], 0x83dc6d
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov edx, dword [esi + 0x60]
mov eax, dword [ecx + 4]
mov ecx, esi
mov edx, dword [edx + eax*4]
call fcn.00697c50
mov eax, dword [ebp - 0x2bc]
mov edi, dword [ebp - 0x2bc]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x60]
mov dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
xor edi, edi
mov eax, dword [esi + 0x60]
mov dword [ebp - 0xdc], edi
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 4], 0
mov word [esi + 2], di
mov dword [esi + 0x20], edi
je 0x6a1b24
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
movzx eax, word [edi + 0x10]
mov dword [ebp - 0x2c], eax
and al, 0x2e
cmp al, 2
jne 0x6a1a48
xor edx, edx
mov ecx, edi
call fcn.0069dc20
mov ecx, edi
call fcn.006949b0
movzx ecx, word [edi + 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
mov word [edi + 0x10], ax
test cl, 0x24
jne 0x6a1aee
test cl, 8
jne 0x6a1ac3
test cl, 1
jne 0x6a1d50
cmp ebx, 0x17
jae 0x6a1d50
mov ecx, dword [esi + 0x2c]
lea edx, [ebp - 0x3c]
call fcn.0068bf80
mov edx, eax
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
cmp dword [ebp - 0x3c], 0
jne 0x6a1d50
mov ecx, dword [ebp - 0x2bc]
cmp dword [ebp - 0xdc], 0
lea eax, [ecx + 0x14]
cmove eax, ecx
mov dword [ebp - 0x2bc], eax
jmp 0x69e445
push dword [ebp - 0x1c]
movsd xmm1, qword [edi]
push dword [ebp - 0x14]
call fcn.006999a0
add esp, 8
test eax, eax
jle 0x6a1ae6
test bl, 1
lea eax, [ebx - 1]
cmovne eax, ebx
mov ebx, eax
jmp 0x6a1aee
jns 0x6a1aee
test bl, 1
je 0x6a1aee
inc ebx
mov edi, dword [ebp - 0x14]
lea eax, [ebp - 0x3c]
mov ecx, dword [esi + 0x2c]
xor edx, edx
push eax
push dword [ebp - 0x1c]
push edi
call fcn.0068bfa0
mov edx, eax
mov dword [esi + 0x40], edi
mov eax, dword [ebp - 0x1c]
add esp, 0xc
mov dword [ebp - 0x2cc], edx
mov dword [esi + 0x44], eax
test edx, edx
jne 0x6a50aa
jmp 0x6a1bc1
mov ecx, dword [esi + 0x2c]
mov edx, 2
call fcn.006933c0
mov ecx, dword [ebp - 0x2bc]
lea edx, [ebp - 0x1b8]
test eax, eax
mov eax, 1
cmovne edi, eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x1b8], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0x1a4], ax
lea eax, [ebx - 1]
test al, 1
mov byte [ebp - 0x19e], 0
mov dword [ebp - 0xdc], edi
sete al
lea eax, [eax*2 - 1]
mov byte [ebp - 0x1a2], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x1b4], eax
lea eax, [ebp - 0x3c]
mov ecx, dword [esi + 0x2c]
push eax
call fcn.0068c270
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
test edi, edi
je 0x6a1bc1
cmp byte [ebp - 0x19e], al
je 0x6a1a9b
mov eax, dword [ebp - 0x3c]
cmp ebx, 0x17
jl 0x6a1c26
test eax, eax
js 0x6a1be0
jne 0x6a1bd4
cmp ebx, 0x18
je 0x6a1be0
mov dword [ebp - 0x3c], 0
jmp 0x6a1aa5
mov dword [ebp - 0x3c], 0
xor edx, edx
mov ecx, dword [esi + 0x2c]
call fcn.0068c8f0
mov edx, eax
mov dword [ebp - 0x2cc], edx
test edx, edx
je 0x6a1a9b
mov esi, dword [ebp - 0x2c4]
cmp edx, 0x65
jne 0x6a50b0
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x3c], 1
jmp 0x6a1d56
test eax, eax
jg 0x6a1c41
jne 0x6a1c31
cmp ebx, 0x15
je 0x6a1c41
mov ecx, dword [esi + 0x2c]
call fcn.0068c720
mov dword [ebp - 0x3c], eax
jmp 0x6a1a9b
mov dword [ebp - 0x3c], 0
xor edx, edx
mov ecx, dword [esi + 0x2c]
call fcn.0068ca90
jmp 0x6a1bf1
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 0x18]
mov edi, dword [eax + ecx*4]
mov ecx, dword [edi + 0x2c]
call fcn.0068b440
test eax, eax
je 0x69e3d1
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [edi + 0x30]
mov dword [ebp - 0x200], eax
mov byte [ebp - 0x1ea], 0
mov ax, word [ecx + 0x24]
mov esi, dword [ecx + 4]
mov word [ebp - 0x1ec], ax
mov eax, dword [ecx + 0x20]
mov ecx, dword [ebp - 0x2d4]
mov dword [ebp - 0x84], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x1fc], eax
nop word [eax + eax]
mov ecx, dword [ebp - 0x2c0]
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x200]
mov edx, edi
push eax
call fcn.0069a920
mov edx, eax
add esp, 8
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
mov eax, dword [ebp - 0x84]
test eax, eax
jle 0x6a1d06
mov ecx, dword [ebp - 0x2bc]
cmp word [ecx + 2], dx
je 0x6a1d47
test eax, eax
jns 0x6a1d50
test esi, esi
jle 0x6a4af4
mov ecx, dword [edi + 0x2c]
xor edx, edx
dec esi
mov dword [edi + 0x20], 0
call fcn.0068c8f0
mov edx, eax
mov dword [ebp - 0x2cc], edx
test edx, edx
je 0x6a1cc0
cmp edx, 0x65
jne 0x6a50aa
mov ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0x2cc], 0
add ecx, 0x14
mov dword [ebp - 0x2bc], ecx
mov esi, dword [ebp - 0x2c4]
mov edi, dword [ebp - 0x2bc]
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0x2dc]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov edi, dword [ebp - 0x2bc]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x2bc]
movzx edx, word [eax + 0xc]
mov ecx, dword [ecx + 8]
cmp edx, ecx
jge 0x6a1dcc
mov word [eax + 0xc], cx
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov ecx, dword [ecx + 0xc]
cmp edx, ecx
jle 0x69e81a
mov word [eax + 0xc], cx
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x6a475b
cmp byte [eax + 2], 0
mov ecx, dword [ebp - 0x2c0]
je 0x69e3d7
jmp case.0x69e318.9
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x2bc]
movzx eax, word [eax + 0xc]
cmp eax, dword [ecx + 0x10]
jge 0x69e3d1
jmp 0x6a1e51
mov ecx, dword [ebp - 0x2bc]
mov ecx, dword [ecx + 4]
mov eax, dword [esi + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x2bc]
mov ecx, dword [ebp - 0x2d4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x194], ecx
movzx eax, word [eax + 0x10]
mov word [ebp - 0x184], ax
test ax, ax
je 0x6a1eba
mov eax, dword [esi + 0x30]
lea ebx, [esi + 0x24]
mov dword [ebp - 0x198], eax
lea edx, [ebp - 0x198]
mov byte [ebp - 0x182], 0
mov ecx, dword [esi + 0x2c]
push ebx
call fcn.0068c270
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
jmp 0x6a1f27
mov eax, 0x400
test word [ecx + 0x10], ax
je 0x6a1ed2
call fcn.006946a0
test eax, eax
jne 0x69e967
mov ecx, dword [esi + 0x30]
call fcn.006994f0
mov edi, eax
test edi, edi
je 0x69e967
mov edx, dword [ebp - 0x194]
mov ecx, dword [esi + 0x30]
push edi
push dword [edx + 8]
mov edx, dword [edx + 0xc]
call fcn.00699550
mov byte [edi + 0x16], 0
lea ebx, [esi + 0x24]
mov ecx, dword [esi + 0x2c]
mov edx, edi
push ebx
call fcn.0068c270
mov ecx, dword [ebp - 0x2c0]
add esp, 0xc
mov edx, edi
mov dword [ebp - 0x2cc], eax
call fcn.006714e0
mov edx, dword [ebp - 0x2cc]
test edx, edx
jne 0x6a50aa
mov ecx, dword [ebx]
test ecx, ecx
mov byte [esi + 3], dl
setne al
mov dword [esi + 0x20], edx
mov byte [esi + 2], al
mov eax, dword [ebp - 0x2bc]
mov al, byte [eax]
cmp al, 0x1d
jne 0x6a1f79
mov esi, dword [ebp - 0x2c4]
test ecx, ecx
je 0x6a1d56
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
test ecx, ecx
jne 0x6a1d50
cmp al, 0x1b
jne 0x6a1fb6
movzx edx, word [ebp - 0x184]
test edx, edx
je 0x6a4af4
mov eax, dword [ebp - 0x194]
add eax, 0x10
nop dword [eax]
test byte [eax], 1
jne 0x6a1d50
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x6a1fa0
jmp 0x69e445
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
cmp al, 0x1a
jne 0x69e451
mov eax, edi
mov ax, word [eax + 0x10]
mov word [esi + 0xc], ax
mov esi, dword [ebp - 0x2c4]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 0x24
jne 0x6a2069
movups xmm0, xmmword [ebx + eax*8]
mov dl, 0x43
lea ecx, [ebp - 0xd0]
push dword [ebp - 0x2d8]
movups xmmword [ebp - 0xd0], xmm0
movups xmm0, xmmword [ebx + eax*8 + 0x10]
movups xmmword [ebp - 0xc0], xmm0
movq xmm0, qword [ebx + eax*8 + 0x20]
movq qword [ebp - 0xb0], xmm0
call fcn.0069dd40
add esp, 4
test byte [ebp - 0xc0], 4
je 0x6a1d56
mov edi, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xcc]
jmp 0x6a2076
mov ecx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov edi, dword [ebx + eax*8]
mov ebx, dword [ebx + eax*8 + 4]
mov eax, dword [ebp - 0x2bc]
xor edx, edx
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x60]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0x50]
push eax
push ebx
push edi
mov ecx, dword [esi + 0x2c]
mov dword [ebp - 0x50], 0
call fcn.0068bfa0
mov edx, eax
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], ebx
add esp, 0xc
mov word [esi + 2], 0
mov dword [esi + 0x20], 0
mov eax, dword [ebp - 0x50]
mov dword [esi + 0x24], eax
cmp dword [ebp - 0x50], 0
mov dword [ebp - 0x2cc], edx
je 0x69f49d
mov ecx, dword [ebp - 0x2bc]
cmp dword [ecx + 8], 0
jne 0x6a1d50
mov ecx, 0x18104
call fcn.00708680
jmp 0x69f495
mov ebx, dword [ebp - 0x2bc]
mov ecx, esi
mov edx, ebx
call fcn.0069dec0
mov ecx, dword [esi + 0x60]
mov edi, ebx
mov edx, dword [ebx + 4]
mov edx, dword [ecx + edx*4]
mov ecx, dword [edx + 0x18]
mov dword [eax], ecx
mov ecx, dword [edx + 0x1c]
mov dword [eax + 4], ecx
mov eax, ebx
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x2c0]
add dword [eax + 0x18], 1
adc dword [eax + 0x1c], 0
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
xorps xmm0, xmm0
mov ecx, esi
movlpd qword [ebp - 0x18], xmm0
mov dword [ebp - 0x1c], 0
call fcn.0069dec0
mov ecx, dword [esi + 0x60]
mov ebx, eax
mov eax, dword [ebp - 0x2bc]
mov edx, dword [eax + 4]
mov edi, dword [ecx + edx*4]
test byte [edi + 8], 2
jne 0x6a21c9
mov ecx, dword [edi + 0x2c]
lea edx, [ebp - 0x1c]
call fcn.0068bf80
mov edx, eax
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50b0
cmp dword [ebp - 0x1c], eax
je 0x6a219a
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x14], eax
jmp 0x6a21c9
mov ecx, dword [edi + 0x2c]
call fcn.0068b450
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
cmp edx, 0x7fffffff
jl 0x6a21bd
jg 0x6a21b7
cmp eax, 0xffffffff
jb 0x6a21bd
or dword [edi + 8], 2
jmp 0x6a21c9
add eax, 1
mov dword [ebp - 0x18], eax
adc edx, 0
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x2bc]
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x6a2260
mov edx, dword [esi + 0xd0]
test edx, edx
je 0x6a2204
mov eax, dword [edx + 4]
test eax, eax
je 0x6a21f9
nop dword [eax + eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x6a21f0
mov eax, dword [edx + 0xc]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
jmp 0x6a2210
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x2d4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00694ba0
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x6a222d
cmp edx, 0x7fffffff
je 0x6a22b8
test byte [edi + 8], 2
jne 0x6a22b8
add ecx, 1
adc edx, 0
cmp dword [ebp - 0x14], edx
jg 0x6a2255
jl 0x6a224b
mov eax, dword [ebp - 0x18]
cmp eax, ecx
jae 0x6a2258
mov eax, ecx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], eax
jmp 0x6a2258
mov eax, dword [ebp - 0x18]
mov dword [esi], eax
mov eax, dword [ebp - 0x14]
mov dword [esi + 4], eax
test byte [edi + 8], 2
je 0x6a22c2
xor esi, esi
lea eax, [ebp - 0x18]
push eax
push 8
call fcn.00674300
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
and eax, 0x3fffffff
add ecx, 1
push edx
adc eax, 0
mov dword [ebp - 0x18], ecx
push eax
mov dword [ebp - 0x14], eax
xor edx, edx
push ecx
mov ecx, dword [edi + 0x2c]
call fcn.0068bfa0
mov edx, eax
add esp, 0x14
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
cmp dword [ebp - 0x1c], eax
jne 0x6a22c2
inc esi
cmp esi, 0x64
jl 0x6a2268
mov edx, 0xd
jmp 0x6a50a4
mov byte [edi + 3], 0
mov dword [edi + 0x20], 0
mov eax, dword [ebp - 0x18]
mov dword [ebx], eax
mov eax, dword [ebp - 0x14]
mov dword [ebx + 4], eax
jmp 0x69e445
mov ebx, dword [ebp - 0x2bc]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
mov edi, dword [ecx + eax*8]
mov dword [ebp - 0x170], edi
mov ebx, dword [ecx + eax*8 + 4]
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x16c], ebx
cmp byte [eax + 1], 0xfb
jne 0x6a2346
mov eax, dword [ebp - 0x2c0]
cmp dword [eax + 0xfc], 0
je 0x6a2346
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2bc]
mov eax, dword [eax + 0x10]
jmp 0x6a234b
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2bc]
movzx eax, word [eax + 2]
mov ecx, eax
test al, 1
je 0x6a2392
mov eax, dword [ebp - 0x2c4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
mov eax, dword [ebp - 0x2bc]
movzx eax, word [eax + 2]
mov ecx, eax
test al, 0x20
je 0x6a2392
mov eax, dword [ebp - 0x2c0]
mov dword [eax + 0x28], edi
mov dword [eax + 0x2c], ebx
mov eax, dword [ebp - 0x2bc]
movzx ecx, word [eax + 2]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [ebx + edx*8 + 8]
mov dword [ebp - 0x168], eax
mov eax, dword [ebx + edx*8 + 0xc]
mov dword [ebp - 0x15c], eax
test cl, 0x10
je 0x6a23b6
mov edi, dword [esi + 0x24]
jmp 0x6a23b8
xor edi, edi
mov eax, 0x400
test word [ebx + edx*8 + 0x10], ax
je 0x6a23cf
mov eax, dword [ebx + edx*8]
mov dword [ebp - 0x158], eax
jmp 0x6a23d9
mov dword [ebp - 0x158], 0
and ecx, 0x8a
mov dword [ebp - 0x178], 0
push edi
push ecx
mov ecx, dword [esi + 0x2c]
lea edx, [ebp - 0x178]
call fcn.006906e0
inc dword [ebp - 0x2f8]
mov edx, eax
add esp, 8
mov dword [ebp - 0x2cc], edx
mov byte [esi + 3], 0
mov dword [esi + 0x20], 0
test edx, edx
jne 0x6a50aa
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x6a4af4
push dword [ebp - 0x16c]
mov ecx, 0x17
push dword [ebp - 0x170]
push dword [eax]
mov eax, dword [ebp - 0x2bc]
push dword [ebp - 0x1c]
test byte [eax + 2], 4
mov eax, 0x12
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0x2c0]
push dword [eax + 0xf8]
mov eax, dword [eax + 0xfc]
call eax
add esp, 0x18
jmp 0x69e445
mov edx, dword [ebp - 0x2bc]
mov ecx, dword [esi + 0x60]
mov eax, dword [edx + 4]
mov esi, dword [ecx + eax*4]
mov eax, dword [edx + 8]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x2bc]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x6a24a1
mov ebx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
mov ecx, dword [ebx + eax*8]
mov eax, dword [ebx + eax*8 + 4]
jmp 0x6a24af
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov edx, dword [edx + 0x2c]
push eax
push ecx
mov ecx, dword [esi + 0x2c]
call fcn.00690c80
add esp, 8
jmp 0x69f495
mov edx, dword [ebp - 0x2bc]
cmp byte [edx + 1], 0xfb
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x60]
mov esi, dword [eax + ecx*4]
jne 0x6a251f
mov eax, dword [ebp - 0x2c0]
cmp dword [eax + 0xfc], 0
je 0x6a251f
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
test byte [edx + 2], 2
mov edi, dword [edx + 0x10]
mov ebx, dword [eax + ecx*8]
je 0x6a2523
cmp byte [esi + 4], 0
je 0x6a2523
mov ecx, dword [esi + 0x2c]
call fcn.0068b450
mov dword [esi + 0x44], edx
mov edx, dword [ebp - 0x2bc]
mov dword [esi + 0x40], eax
jmp 0x6a2523
xor ebx, ebx
xor edi, edi
mov dl, byte [edx + 2]
mov ecx, dword [esi + 0x2c]
call fcn.00691090
inc dword [ebp - 0x2f8]
mov edx, eax
mov dword [ebp - 0x2cc], edx
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
test edx, edx
jne 0x6a50aa
test byte [ebp - 0x14], 1
mov ecx, dword [ebp - 0x2c0]
je 0x6a4afa
mov eax, dword [ebp - 0x2c4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], edx
mov eax, dword [ecx + 0xfc]
test eax, eax
je 0x6a4afa
test edi, edi
je 0x6a4afa
test byte [edi + 0x1c], 0x80
jne 0x6a4afa
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [edi]
push ebx
push 9
push dword [ecx + 0xf8]
call eax
add esp, 0x18
jmp 0x69e445
push dword [esi + 0x2c]
push dword [esi + 0x28]
call fcn.0069aa00
mov ecx, dword [ebp - 0x2c0]
add esp, 8
mov eax, dword [ebp - 0x2c8]
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ecx, dword [edx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x2d4]
mov dword [ebp - 0x6c], 0
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x2bc]
push dword [eax + 0x10]
call fcn.006a8c00
mov edx, eax
add esp, 8
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50b0
cmp dword [ebp - 0x6c], eax
jmp 0x69e3cb
mov ecx, dword [ebp - 0x2bc]
mov edx, dword [ebp - 0x2d4]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [esi + 0x60]
mov ecx, dword [eax + ecx*4]
call fcn.006a8b60
mov edx, eax
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50b0
mov eax, dword [ebp - 0x2bc]
mov edi, dword [ebp - 0x2bc]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x2c0]
mov dword [eax + 0x20], edx
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
mov ecx, esi
call fcn.0069dec0
mov esi, eax
mov eax, dword [ebp - 0x2bc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x2c4]
mov ecx, dword [eax + 0x60]
mov ecx, dword [ecx + edx*4]
mov edi, dword [ecx + 0x2c]
mov ecx, edi
call fcn.0068b480
mov edx, dword [ebp - 0x2c0]
cmp eax, dword [edx + 0x78]
ja 0x6a506a
push esi
mov edx, eax
mov ecx, edi
call fcn.00695650
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
mov ecx, dword [ebp - 0x2bc]
cmp dword [ecx + 0xc], eax
jne 0x6a4af4
mov eax, 0x4000
test word [esi + 0x10], ax
je 0x6a4af4
mov ecx, esi
call fcn.00694650
mov ecx, dword [ebp - 0x2c0]
mov esi, dword [ebp - 0x2c4]
test eax, eax
jne 0x69e973
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
mov ecx, esi
call fcn.0069dec0
mov ecx, dword [ebp - 0x2bc]
mov edi, eax
mov edx, dword [ecx + 4]
mov ecx, dword [esi + 0x60]
mov esi, dword [ecx + edx*4]
cmp byte [esi + 2], 0
je 0x6a2776
mov eax, 1
mov word [edi + 0x10], ax
jmp 0x69e445
cmp byte [esi + 3], 0
je 0x6a27b6
mov ecx, dword [esi + 0x40]
mov dword [ebp - 0x68], ecx
mov eax, dword [esi + 0x44]
mov esi, dword [ebp - 0x2c4]
mov dword [ebp - 0x64], eax
mov dword [edi], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x2c0]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
cmp byte [esi], 2
jne 0x6a281d
mov ecx, dword [esi + 0x2c]
lea edx, [ebp - 0x68]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
add esp, 8
mov dword [ebp - 0x2cc], eax
mov edx, esi
mov esi, dword [ebp - 0x2c4]
mov ecx, esi
call fcn.0069ab60
mov edx, dword [ebp - 0x2cc]
test edx, edx
jne 0x6a50b0
mov ecx, dword [ebp - 0x68]
mov dword [edi], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x2c0]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, esi
call fcn.00699170
mov edx, eax
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
cmp byte [esi + 2], al
je 0x6a2847
mov eax, 1
mov word [edi + 0x10], ax
jmp 0x69e445
mov ecx, dword [esi + 0x2c]
call fcn.0068b450
mov esi, dword [ebp - 0x2c4]
mov ecx, eax
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
mov dword [edi], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x2c0]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov edx, dword [edx + 4]
mov eax, dword [eax + edx*4]
test eax, eax
jne 0x6a28ca
push 3
push 1
mov ecx, esi
call fcn.0069db20
mov ecx, dword [ebp - 0x2c0]
add esp, 8
test eax, eax
je 0x69e973
or dword [eax + 8], 8
mov dword [eax + 0x24], 0
mov byte [eax + 4], 1
mov dword [eax + 0x2c], 0x83dc6d
cmp byte [eax], 0
mov byte [eax + 2], 1
mov dword [eax + 0x20], 0
jne 0x69e3d7
mov ecx, dword [eax + 0x2c]
call fcn.00686fc0
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov edi, dword [esi + 0x2c]
mov dword [ebp - 0x54], 0
cmp dl, 0x89
jne 0x6a293a
mov ecx, edi
mov dword [esi + 0x24], 0xffffffff
call fcn.0068b440
test eax, eax
jne 0x6a4af4
lea edx, [ebp - 0x54]
mov ecx, edi
call fcn.0068bf80
mov edx, eax
mov al, byte [ebp - 0x54]
mov dword [ebp - 0x2cc], edx
mov byte [esi + 2], al
mov byte [esi + 3], 0
mov dword [esi + 0x20], 0
test edx, edx
jne 0x6a50aa
mov ecx, dword [ebp - 0x2bc]
cmp dword [ecx + 8], edx
jle 0x6a4af4
mov esi, dword [ebp - 0x2c4]
cmp dword [ebp - 0x54], edx
jmp 0x69e3cb
mov ecx, dword [ebp - 0x2bc]
lea edx, [ebp - 0x58]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x2c]
mov ecx, esi
call fcn.0068bf00
mov edx, eax
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
cmp dword [ebp - 0x58], eax
je 0x6a29ba
or esi, 0xffffffff
or ecx, esi
jmp 0x6a29d1
mov ecx, esi
call fcn.0068c730
push edx
push eax
call fcn.006776e0
cwde
add esp, 8
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x2bc]
mov eax, dword [eax + 0xc]
cdq
cmp ecx, edx
jl 0x6a2a05
jg 0x6a29e5
cmp esi, eax
jb 0x6a2a05
mov eax, dword [ebp - 0x2bc]
mov eax, dword [eax + 0x10]
cdq
cmp ecx, edx
jg 0x6a2a05
jl 0x6a29f9
cmp esi, eax
ja 0x6a2a05
mov dword [ebp - 0x58], 1
jmp 0x6a1d50
mov dword [ebp - 0x58], 0
jmp 0x69e445
inc dword [esi + 0xac]
mov ecx, dword [ebp - 0x2bc]
lea edx, [ebp - 0x4c]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x4c], 1
cmp byte [esi], 1
jne 0x6a2a3e
mov ecx, esi
call fcn.006a8a60
jmp 0x6a2a51
mov ecx, dword [esi + 0x2c]
call fcn.0068bf00
mov byte [esi + 3], 0
mov dword [esi + 0x20], 0
mov edx, eax
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
mov ecx, dword [ebp - 0x2bc]
mov al, byte [ebp - 0x4c]
mov byte [esi + 2], al
cmp dword [ecx + 8], edx
jle 0x6a4af4
mov esi, dword [ebp - 0x2c4]
cmp dword [ebp - 0x4c], edx
jmp 0x69e3cb
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov edx, esi
mov ecx, dword [ebp - 0x2c0]
call fcn.006a8ac0
jmp 0x6a2ad8
mov edx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 0xc]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi + 0x2c]
call fcn.0068ca90
jmp 0x6a2ad8
mov edx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 0xc]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi + 0x2c]
call fcn.0068c8f0
mov edx, eax
mov dword [ebp - 0x2cc], edx
mov dword [esi + 0x20], 0
test edx, edx
jne 0x6a2b0a
mov ecx, dword [ebp - 0x2c4]
mov byte [esi + 2], al
mov eax, dword [ebp - 0x2bc]
movzx eax, word [eax + 2]
inc dword [ecx + eax*4 + 0xa4]
jmp 0x6a475b
cmp edx, 0x65
jne 0x6a50aa
mov dword [ebp - 0x2cc], 0
mov byte [esi + 2], 1
jmp 0x6a0d5e
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ebx, dword [ebp - 0x2d4]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x2bc]
test byte [ecx + 2], 1
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
je 0x6a2b5e
mov eax, dword [ebp - 0x2c4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
mov eax, 0x400
test word [esi + 0x10], ax
je 0x6a2b86
mov ecx, esi
call fcn.006946a0
mov edx, eax
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], edx
mov eax, dword [esi + 8]
mov dword [ebp - 0x268], eax
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [ebp - 0x254], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0x250], ax
movzx eax, word [ecx + 2]
test al, 0x10
je 0x6a2bc6
mov ecx, dword [edi + 0x24]
jmp 0x6a2bc8
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x2c]
lea edx, [ebp - 0x268]
and eax, 0x8a
push eax
call fcn.006906e0
add esp, 8
mov dword [edi + 0x20], 0
jmp 0x69f495
mov edx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x400
test word [esi + 0x10], ax
je 0x6a2c2c
mov ecx, esi
call fcn.006946a0
mov edx, eax
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
mov edx, esi
mov ecx, edi
call fcn.006a7d30
jmp 0x69f495
mov edx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x2d4]
mov eax, dword [esi + 0x30]
mov edi, dword [esi + 0x2c]
mov dword [ebp - 0x240], eax
mov ax, word [edx + 0xc]
mov word [ebp - 0x22c], ax
mov eax, dword [edx + 8]
lea edx, [ebp - 0x240]
mov byte [ebp - 0x22a], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0x23c], eax
lea eax, [ebp - 0x98]
push eax
call fcn.0068c270
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
cmp dword [ebp - 0x98], eax
jne 0x6a2ccf
mov dl, 4
mov ecx, edi
call fcn.00691090
mov edx, eax
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], eax
jmp 0x69e445
mov ecx, dword [ebp - 0x2bc]
cmp word [ecx + 2], 0
je 0x6a2cef
mov ecx, dword [ebp - 0x2c0]
call fcn.006bcce0
test eax, eax
je 0x6a508b
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
jmp 0x69e445
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.00699170
mov edx, eax
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
cmp byte [esi + 2], al
jne 0x6a2ddc
mov ecx, dword [ebp - 0x2c0]
lea eax, [ebp - 0x78]
xorps xmm0, xmm0
movlpd qword [ebp - 0x78], xmm0
mov edx, dword [esi + 0x2c]
push eax
call fcn.0069a7b0
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
mov eax, dword [ebp - 0x2bc]
cmp byte [eax], 0x8d
jne 0x6a2da2
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x2c4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov byte [ecx + 2], dl
mov eax, dword [ebp - 0x78]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x74]
mov dword [ecx + 0x44], eax
mov eax, dword [ebp - 0x2bc]
mov byte [ecx + 3], 1
mov dword [ecx + 0x20], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x28], esi
jmp 0x69e445
mov esi, dword [ebp - 0x2c4]
mov edx, eax
mov ecx, esi
call fcn.0069dec0
mov ecx, dword [ebp - 0x78]
mov edi, dword [ebp - 0x2bc]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x74]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov eax, dword [ebp - 0x2bc]
mov ecx, dword [ebp - 0x2d4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00694ef0
jmp 0x69e445
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx + 3], 0
je 0x69e3d1
call fcn.006990c0
mov edx, eax
mov dword [ebp - 0x2cc], edx
jmp 0x69f4a3
mov ebx, dword [ebp - 0x2bc]
cmp dl, 0x2a
mov eax, dword [esi + 0x60]
mov edx, dword [ebp - 0x2d4]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x220], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x20c], ax
sbb al, al
mov byte [ebp - 0x20a], al
mov eax, ebx
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x21c], eax
mov edi, dword [ecx + 0x2c]
mov ecx, edi
call fcn.0068b480
mov esi, eax
test esi, esi
je 0x6a50d0
cmp esi, 0x7fffffff
ja 0x6a50d0
mov edx, dword [ebp - 0x2c0]
lea ecx, [ebp - 0x290]
push 0
call fcn.00694ed0
add esp, 4
lea eax, [ebp - 0x290]
mov edx, esi
mov ecx, edi
push eax
call fcn.00695650
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
mov edx, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x284]
push eax
lea eax, [ebp - 0x220]
push eax
call fcn.00699be0
add esp, 8
lea ecx, [ebp - 0x290]
mov esi, eax
call fcn.00694970
mov ecx, ebx
mov dl, byte [ecx]
lea ecx, [esi + 1]
neg esi
and dl, 1
cmovne esi, ecx
test esi, esi
mov esi, dword [ebp - 0x2c4]
jg 0x6a1d56
mov ecx, dword [ebp - 0x2c0]
mov edi, ebx
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ebx, dword [ebp - 0x2bc]
mov ecx, esi
mov edx, ebx
call fcn.0069dec0
mov edx, dword [ebp - 0x2c0]
mov esi, eax
mov eax, 1
mov word [esi + 0x10], ax
mov ecx, dword [edx + 0xcc]
inc ecx
cmp dword [edx + 0xc0], ecx
jg 0x6a50dc
mov ebx, dword [ebx + 0xc]
lea eax, [ebp - 0x5c]
mov ecx, dword [edx + 0x10]
mov edx, dword [ebp - 0x2bc]
push eax
mov eax, ebx
mov dword [ebp - 0x5c], 0
add eax, eax
mov edx, dword [edx + 4]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00691eb0
mov dword [ebp - 0x2cc], eax
add esp, 4
mov eax, 4
mov word [esi + 0x10], ax
mov eax, dword [ebp - 0x5c]
cdq
mov dword [esi + 4], edx
mov edx, dword [ebp - 0x2cc]
mov dword [esi], eax
test edx, edx
jne 0x6a50aa
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x6a4af4
mov ecx, dword [ebp - 0x2bc]
mov edx, ebx
push dword [ecx + 4]
mov ecx, dword [ebp - 0x2c0]
push eax
call fcn.006bfbb0
mov al, bl
add esp, 8
inc al
mov byte [ebp - 0x2e9], al
jmp 0x69e445
mov edx, dword [ebp - 0x2bc]
lea eax, [ebp - 0x28]
mov ecx, dword [ecx + 0x10]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x28], xmm0
mov eax, dword [edx + 8]
mov edx, dword [edx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00691b30
mov ecx, dword [ebp - 0x2bc]
add esp, 4
mov edx, eax
mov dword [ebp - 0x2cc], edx
cmp dword [ecx + 0xc], 0
je 0x69f4a3
mov edx, dword [ebp - 0x28]
add dword [esi + 0x28], edx
mov eax, dword [ebp - 0x24]
adc dword [esi + 0x2c], eax
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x6a3044
mov ebx, dword [ebp - 0x2d4]
lea ecx, [eax + eax*4]
add dword [ebx + ecx*8], edx
mov eax, dword [ebp - 0x24]
adc dword [ebx + ecx*8 + 4], eax
mov edx, dword [ebp - 0x2cc]
jmp 0x69f4a3
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x6a3091
mov edx, dword [ecx + 0x2c]
mov ecx, dword [ebp - 0x2c0]
call fcn.006a7170
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ecx + 0x2c]
call fcn.00691bf0
mov edx, eax
mov dword [ebp - 0x2cc], edx
jmp 0x69f4a3
mov edx, dword [ebp - 0x2bc]
mov ecx, esi
call fcn.0069dec0
mov edx, dword [ebp - 0x2bc]
mov esi, eax
mov eax, dword [ebp - 0x2c0]
mov dword [ebp - 0x70], 0
mov ecx, dword [edx + 4]
push dword [edx + 0xc]
shl ecx, 4
lea edx, [ebp - 0x70]
add ecx, dword [eax + 0x10]
mov ecx, dword [ecx + 4]
call fcn.006918e0
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
mov eax, dword [ebp - 0x70]
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x69e445
mov edx, dword [ebp - 0x2bc]
inc byte [ecx + 0x60]
mov esi, dword [ecx + 0x16c]
mov bl, byte [ecx + 0x5e]
mov eax, dword [edx + 4]
mov edi, dword [ecx + 0x1f0]
mov dword [ebp - 0xe4], 0
test al, 1
je 0x6a3139
mov dword [ecx + 0x16c], 0
mov byte [ecx + 0x5e], 0
mov eax, dword [edx + 4]
test al, 2
je 0x6a3146
mov eax, dword [edx + 8]
mov dword [ecx + 0x1f0], eax
lea eax, [ebp - 0xe4]
push eax
push 0
push 0
push dword [edx + 0x10]
push ecx
call fcn.006d10d0
mov ecx, dword [ebp - 0x2c0]
mov edx, eax
mov eax, dword [ebp - 0xe4]
add esp, 0x14
mov dword [ebp - 0x2cc], edx
dec byte [ecx + 0x60]
mov dword [ecx + 0x16c], esi
mov byte [ecx + 0x5e], bl
mov dword [ecx + 0x1f0], edi
test eax, eax
jne 0x6a318f
test edx, edx
je 0x69e44b
mov esi, dword [ebp - 0x2c4]
push eax
push 0x7db858
push esi
call fcn.00695de0
add esp, 0xc
push dword [ebp - 0xe4]
call fcn.00671420
mov edx, dword [ebp - 0x2cc]
add esp, 4
mov edi, dword [ebp - 0x2d0]
cmp edx, 7
jne 0x6a50b6
mov ecx, dword [ebp - 0x2c0]
jmp 0x69e979
mov edx, dword [ebp - 0x2bc]
cmp dword [edx + 0x10], 0
mov esi, dword [edx + 4]
jne 0x6a323f
mov ebx, dword [ebp - 0x2c0]
mov ecx, esi
add ecx, ecx
mov eax, dword [ebx + 0x10]
push dword [eax + ecx*8 + 0xc]
call fcn.006c3b70
mov eax, dword [ebp - 0x2bc]
add esp, 4
and dword [ebx + 0x18], 0xffffffef
mov edx, esi
mov ecx, ebx
movzx eax, word [eax + 2]
push eax
mov eax, dword [ebp - 0x2c4]
add eax, 0x7c
push eax
call fcn.006d6460
mov esi, dword [ebp - 0x2c4]
mov ecx, ebx
mov edx, eax
add esp, 8
mov dword [ebp - 0x2cc], edx
or dword [ecx + 0x18], 1
and dword [esi + 0x98], 0xfffffffc
jmp 0x6a333b
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x108], ecx
add eax, 0x7c
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0x100], esi
add esi, esi
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xf8], 0
mov ecx, dword [ecx + esi*8 + 4]
call fcn.006889a0
mov ecx, dword [ebp - 0x2c0]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x2bc]
push dword [eax + 0x10]
mov eax, dword [ecx + 0x10]
push str.sqlite_master
push dword [eax + esi*8]
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
push ecx
call fcn.00673bc0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x6a50f6
mov eax, dword [ebp - 0x2c0]
lea ecx, [ebp - 0x108]
push 0
push ecx
push fcn.006d6270
push esi
push eax
mov byte [eax + 0xb1], 1
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf4], 0
call fcn.006d10d0
add esp, 0x14
mov dword [ebp - 0x2cc], eax
test eax, eax
jne 0x6a3315
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x2cc], eax
test eax, eax
jne 0x6a3315
cmp dword [ebp - 0xf4], eax
jne 0x6a3315
mov ecx, 0x1873a
call fcn.00708680
mov dword [ebp - 0x2cc], eax
mov ecx, dword [ebp - 0x2c0]
mov edx, esi
call fcn.006714e0
mov ecx, dword [ebp - 0x2c0]
mov edx, dword [ebp - 0x2cc]
mov esi, dword [ebp - 0x2c4]
mov byte [ecx + 0xb1], 0
test edx, edx
jne 0x6a5100
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
mov edx, dword [edx + 4]
call fcn.006ba400
mov edx, eax
mov dword [ebp - 0x2cc], edx
jmp 0x69f4a3
mov edx, dword [ebp - 0x2bc]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.006bcb30
mov ecx, dword [ebp - 0x2c0]
add esp, 4
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.006bc3d0
mov ecx, dword [ebp - 0x2c0]
add esp, 4
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.006e4640
mov ecx, dword [ebp - 0x2c0]
add esp, 4
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [edx + 4]
mov ecx, dword [edx + 0x10]
lea edi, [ebx + 0x28]
lea esi, [eax + eax*4]
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x94]
push eax
mov eax, dword [ebx + esi*8]
lea edi, [edi + esi*8]
inc eax
push eax
mov eax, dword [edx + 0xc]
push dword [edx + 8]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
push eax
lea eax, [ecx + 4]
mov ecx, dword [ebp - 0x2c0]
push eax
movzx eax, word [edx + 2]
add eax, eax
mov edx, dword [ecx + 0x10]
mov edx, dword [edx + eax*8 + 4]
call fcn.00692b70
add esp, 0x18
mov ebx, eax
mov ecx, edi
mov dword [ebp - 0x2cc], ebx
call fcn.00694ef0
mov eax, dword [ebp - 0x94]
test eax, eax
je 0x6a34b9
test ebx, ebx
jne 0x6a5128
mov ecx, dword [ebp - 0x2d4]
dec eax
cdq
push fcn.00671420
push 1
sub dword [ecx + esi*8], eax
push 0xffffffffffffffff
sbb dword [ecx + esi*8 + 4], edx
mov ecx, edi
mov edx, dword [ebp - 0xec]
push 0xffffffffffffffff
call fcn.00695280
add esp, 0x10
movzx edx, byte [ebp - 0x2d8]
mov ecx, edi
call fcn.006943d0
jmp 0x6a0d5e
mov ecx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 0x10
lea esi, [ebx + eax*8]
mov eax, dword [ecx + 8]
lea edi, [eax + eax*4]
jne 0x6a34fd
mov ecx, esi
call fcn.00695090
test eax, eax
jne 0x69e967
push dword [ebx + edi*8 + 4]
mov ecx, dword [esi + 8]
push dword [ebx + edi*8]
call fcn.0067d9f0
add esp, 8
jmp 0x69e445
mov ecx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 0x10
lea esi, [ebx + eax*8]
je 0x6a356a
mov ecx, dword [esi + 8]
lea edx, [ebp - 0xa8]
call fcn.0067dd50
test eax, eax
je 0x6a356a
mov eax, dword [ebp - 0x2bc]
push dword [ebp - 0xa4]
push dword [ebp - 0xa8]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.00694f90
add esp, 8
jmp 0x6a0d5e
mov ecx, esi
call fcn.00694ef0
jmp 0x6a475b
mov ecx, dword [ebp - 0x2bc]
mov edx, dword [ebp - 0x2d4]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 0x10
lea esi, [edx + eax*8]
mov eax, dword [ecx + 0xc]
lea edi, [eax + eax*4]
jne 0x6a35b0
mov ecx, esi
call fcn.00695090
test eax, eax
jne 0x69e967
mov edx, dword [ebp - 0x2d4]
test ebx, ebx
je 0x6a35d2
push dword [edx + edi*8 + 4]
mov ecx, dword [esi + 8]
push dword [edx + edi*8]
mov edx, ebx
call fcn.0067ddb0
add esp, 8
test eax, eax
jne 0x6a1d50
test ebx, ebx
js 0x69e445
mov ebx, dword [ebp - 0x2d4]
jmp 0x6a34fd
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x2d4]
mov dword [ebp - 0x14], ebx
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x1c], ecx
cmp word [eax + 2], 0
je 0x6a3633
mov eax, dword [esi + 0xd0]
mov ecx, dword [ebx + 0x14]
test eax, eax
je 0x6a3630
nop dword [eax + eax]
cmp dword [eax + 0x18], ecx
je 0x69e3d1
mov eax, dword [eax + 4]
test eax, eax
jne 0x6a3620
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x2c0]
mov eax, dword [esi + 0xd8]
cmp eax, dword [edi + 0xa0]
jge 0x6a5141
test byte [ecx + 0x10], 0x10
jne 0x6a375e
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
add eax, ecx
test ecx, ecx
lea esi, [eax + 1]
cmovne esi, eax
lea eax, [esi + esi*4]
lea ecx, [ecx + eax*2]
mov eax, dword [ebx + 4]
add eax, 7
mov eax, eax
test eax, eax
jns 0x6a367a
add eax, 7
sar eax, 3
lea ecx, [ecx + 0x16]
lea ebx, [eax + ecx*4]
mov ecx, edi
mov eax, ebx
cdq
push edx
push eax
call fcn.006717c0
mov edi, eax
add esp, 8
test edi, edi
je 0x69e967
mov ecx, dword [ebp - 0x1c]
call fcn.00694950
mov eax, dword [ebp - 0x1c]
mov ecx, 0x1010
mov word [eax + 0x10], cx
mov dword [eax + 0xc], ebx
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2bc]
sub ecx, dword [ebp - 0x2dc]
mov dword [eax + 8], edi
mov dword [eax + 0x24], 0x6973f0
mov eax, dword [ebp - 0x2c4]
mov dword [edi], eax
mov dword [edi + 0x3c], esi
mov eax, dword [ebx + 0xc]
mov dword [edi + 0x40], eax
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0x2c4]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x30], eax
mov eax, dword [ecx + 0x58]
mov dword [edi + 0xc], eax
mov eax, dword [ecx + 0x14]
mov dword [edi + 0x38], eax
mov eax, dword [ecx + 0x60]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0x18]
mov dword [edi + 0x2c], eax
mov eax, dword [ecx + 0x68]
mov dword [edi + 8], eax
mov eax, dword [ecx + 0x6c]
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [edi + 0x18], eax
lea eax, [esi*4 + 0xb]
add eax, esi
lea ecx, [edi + eax*8]
lea eax, [edi + 0x58]
cmp eax, ecx
je 0x6a3750
mov edx, dword [ebp - 0x2c0]
nop word [eax + eax]
xor esi, esi
mov dword [eax + 0x14], edx
mov word [eax + 0x10], si
add eax, 0x28
cmp eax, ecx
jne 0x6a3740
mov esi, dword [ebp - 0x2c4]
mov eax, dword [esi + 0xd8]
jmp 0x6a3761
mov edi, dword [ecx + 8]
mov ecx, dword [ebp - 0x2c0]
lea edx, [edi + 0x58]
inc eax
mov dword [ebp - 0x2d4], edx
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd0]
mov dword [edi + 4], eax
mov eax, dword [ecx + 0x28]
mov dword [edi + 0x20], eax
mov eax, dword [ecx + 0x2c]
mov dword [edi + 0x24], eax
mov eax, dword [esi + 0x28]
mov dword [edi + 0x48], eax
mov eax, dword [esi + 0x2c]
mov dword [edi + 0x4c], eax
mov ecx, dword [esi]
mov eax, dword [ecx + 0x68]
mov dword [edi + 0x50], eax
mov eax, dword [ecx + 0x6c]
mov dword [edi + 0x54], eax
mov eax, dword [esi + 0xe4]
mov dword [edi + 0x28], eax
mov dword [esi + 0x58], edx
mov dword [esi + 0xe4], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0xd0], edi
mov ecx, dword [edi + 0x3c]
mov dword [esi + 0x14], ecx
movzx eax, word [edi + 0x40]
mov dword [esi + 0x18], eax
lea eax, [ecx + ecx*4]
lea ecx, [edx + eax*8]
mov dword [esi + 0x60], ecx
mov eax, dword [ebx + 0xc]
lea ecx, [ecx + eax*4]
mov dword [edi + 0x14], ecx
mov eax, dword [ebx + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [ebx]
add esp, 0xc
mov dword [esi + 0x68], ecx
mov eax, dword [ebx + 4]
mov dword [ebp - 0x2dc], ecx
add ecx, 0xffffffec
mov dword [esi + 0x6c], eax
mov dword [ebp - 0x2bc], ecx
jmp 0x6a0d5e
mov edx, dword [ebp - 0x2bc]
mov ecx, esi
call fcn.0069dec0
mov esi, eax
mov eax, dword [ebp - 0x2c4]
push 0x4000
mov eax, dword [eax + 0xd0]
mov ecx, dword [eax + 0x30]
lea edx, [ecx + ecx*4]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ecx, dword [ecx + edx*4 + 4]
mov edx, dword [ebp - 0x2bc]
add ecx, dword [edx + 4]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.006951c0
add esp, 4
jmp 0x69e445
mov eax, dword [ecx + 0x20]
and eax, 0x80000
or eax, 0
mov eax, dword [ebp - 0x2bc]
mov edi, eax
je 0x6a38b0
mov eax, dword [eax + 8]
cdq
add dword [ecx + 0x208], eax
mov eax, dword [ebp - 0x2c8]
adc dword [ecx + 0x20c], edx
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
cmp dword [eax + 4], 0
mov eax, dword [eax + 8]
cdq
je 0x6a38da
add dword [ecx + 0x200], eax
mov eax, dword [ebp - 0x2c8]
adc dword [ecx + 0x204], edx
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
add dword [esi + 0x40], eax
mov eax, dword [ebp - 0x2c8]
adc dword [esi + 0x44], edx
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
cmp dword [edi + 4], 0
je 0x6a3932
mov eax, dword [ecx + 0x200]
or eax, dword [ecx + 0x204]
jne 0x69e457
mov eax, dword [ecx + 0x208]
or eax, dword [ecx + 0x20c]
je 0x6a1d62
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov eax, dword [esi + 0x40]
or eax, dword [esi + 0x44]
jmp 0x6a3906
mov edx, dword [esi + 0xd0]
test edx, edx
je 0x6a3973
mov eax, dword [edx + 4]
test eax, eax
je 0x6a3959
nop dword [eax + eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x6a3950
mov eax, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea edi, [eax + ecx*8]
jmp 0x6a3988
mov ecx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov ecx, edi
call fcn.00694ba0
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov ecx, esi
call fcn.00694ba0
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x6a4af4
jl 0x6a39bd
cmp dword [edi], eax
jae 0x6a4af4
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x69e445
mov ecx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov edi, dword [ebx + esi*8 + 4]
mov ecx, dword [ebx + esi*8]
test edi, edi
jl 0x69e445
jg 0x6a39f2
test ecx, ecx
je 0x69e445
mov eax, dword [ebp - 0x2bc]
mov eax, dword [eax + 0xc]
cdq
sub ecx, eax
mov dword [ebx + esi*8], ecx
sbb edi, edx
mov dword [ebx + esi*8 + 4], edi
jmp 0x6a1d50
mov ecx, dword [ebp - 0x2bc]
mov edx, ecx
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x2c4]
lea ebx, [eax + eax*4]
call fcn.0069dec0
mov edx, dword [ebp - 0x2d4]
mov edi, eax
mov ecx, dword [edx + esi*8 + 4]
mov eax, dword [edx + esi*8]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], ecx
test ecx, ecx
jl 0x6a3a99
jg 0x6a3a50
test eax, eax
je 0x6a3a99
mov ecx, dword [edx + ebx*8 + 4]
mov eax, dword [edx + ebx*8]
test ecx, ecx
jl 0x6a3a61
jg 0x6a3a6f
test eax, eax
jne 0x6a3a6f
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
push ecx
push eax
lea ecx, [ebp - 0x90]
call fcn.00677440
add esp, 8
test eax, eax
jne 0x6a3a99
mov eax, dword [ebp - 0x90]
mov dword [edi], eax
mov eax, dword [ebp - 0x8c]
mov dword [edi + 4], eax
jmp 0x69e445
mov dword [edi], 0xffffffff
mov dword [edi + 4], 0xffffffff
jmp 0x69e445
mov ecx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov ecx, dword [ebx + esi*8]
mov eax, ecx
mov edx, dword [ebx + esi*8 + 4]
or eax, edx
je 0x69e445
test edx, edx
jl 0x6a1d50
jg 0x6a3ae0
test ecx, ecx
je 0x6a1d50
sub ecx, 1
mov dword [ebx + esi*8], ecx
sbb edx, 0
mov dword [ebx + esi*8 + 4], edx
jmp 0x6a1d50
mov ecx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [ecx + 4]
lea edx, [eax + eax*4]
mov ecx, dword [ebx + edx*8 + 4]
mov eax, dword [ebx + edx*8]
cmp ecx, 0x80000000
jl 0x6a3b26
jg 0x6a3b19
test eax, eax
je 0x6a3b26
sub eax, 1
mov dword [ebx + edx*8], eax
sbb ecx, 0
mov dword [ebx + edx*8 + 4], ecx
mov edi, dword [ebp - 0x2bc]
or eax, ecx
mov ecx, dword [ebp - 0x2c0]
je 0x6a1d62
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov edx, dword [ebp - 0x2bc]
push 0
movzx ebx, word [edx + 2]
lea eax, [ebx*4 + 0x44]
push eax
call fcn.00671860
mov esi, eax
add esp, 8
test esi, esi
je 0x69e967
mov edx, dword [ebp - 0x2c0]
lea ecx, [ebx + 7]
lea ecx, [esi + ecx*4]
mov dword [esi + 8], 0
push 1
mov dword [esi], ecx
call fcn.00694ed0
mov ecx, dword [ebp - 0x2bc]
add esp, 4
mov eax, dword [ecx + 0x10]
sub ecx, dword [ebp - 0x2dc]
mov dword [esi + 4], eax
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0x2bc]
sar edx, 3
mov eax, edx
mov byte [esi + 0x19], 0
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esi + 0xc], eax
mov al, byte [ebp - 0x2d8]
mov byte [esi + 0x18], al
mov byte [esi + 0x1a], bl
mov word [ecx], 0xf1a3
mov dword [ecx + 0x10], esi
jmp 0x6a3bef
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx + 0xc]
mov ebx, dword [ebp - 0x2d4]
mov esi, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov dword [ebp - 0x14], edi
cmp dword [esi + 8], edi
je 0x6a3c3a
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 8], edi
js 0x6a3c3a
mov edi, dword [ebp - 0x2bc]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
mov eax, dword [edi + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx + 4], eax
jns 0x6a3c21
mov edi, dword [ebp - 0x14]
inc dword [edi + 0xc]
lea eax, [esi + 0x1c]
mov edi, dword [ebp - 0x2bc]
movzx edx, byte [esi + 0x1a]
mov ecx, dword [esi + 4]
push eax
cmp dword [edi + 4], 0
push edx
push esi
je 0x6a3c5b
mov eax, dword [ecx + 0x1c]
jmp 0x6a3c5e
mov eax, dword [ecx + 0x10]
call eax
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x69f425
jle 0x6a3c97
push dword [esi]
call fcn.0069b0f0
add esp, 4
push eax
push 0x7db858
push dword [ebp - 0x2c4]
call fcn.00695de0
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x2cc], eax
cmp byte [esi + 0x19], 0
je 0x6a3cc6
mov eax, dword [ebp - 0x2bc]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x6a3cbc
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ebx + eax*8]
call fcn.00694f90
add esp, 8
mov edi, dword [ebp - 0x2bc]
mov byte [esi + 0x19], 0
mov ecx, dword [esi]
call fcn.00694950
mov eax, dword [esi]
mov ecx, 1
mov edx, dword [ebp - 0x2cc]
mov word [eax + 0x10], cx
mov dword [esi + 0x14], 0
mov esi, dword [ebp - 0x2c4]
test edx, edx
jne 0x6a50b0
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x6a3d4f
push dword [ecx + 0x10]
lea eax, [eax + eax*4]
mov ecx, esi
lea edx, [ebx + eax*8]
call fcn.00694850
mov edi, eax
add esp, 4
mov eax, dword [ebp - 0x2bc]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
jmp 0x6a3d5b
mov edx, dword [ecx + 0x10]
mov ecx, esi
call fcn.00694790
mov edi, eax
mov dword [ebp - 0x2cc], edi
test edi, edi
jne 0x6a5163
movzx edx, byte [ebp - 0x2d8]
mov ecx, esi
call fcn.006943d0
jmp 0x69e445
mov edx, dword [ebp - 0x2bc]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
mov dword [ebp - 0x10], 0
push eax
push dword [edx + 8]
mov edx, dword [edx + 4]
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0xc], 0xffffffff
call fcn.00706d60
mov edx, eax
add esp, 0xc
mov dword [ebp - 0x2cc], edx
test edx, edx
je 0x6a3dd3
cmp edx, 5
jne 0x6a50b0
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 0x2bc]
xor esi, esi
mov ecx, dword [ebp - 0x2d4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
nop word [eax + eax]
mov eax, dword [ebp + esi*4 - 0x10]
mov ecx, edi
cdq
push edx
push eax
call fcn.00694f90
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x6a3df0
jmp 0x69e445
mov ebx, dword [ebp - 0x2bc]
mov ecx, esi
mov edx, ebx
call fcn.0069dec0
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
add edx, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c0]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov ecx, eax
mov dword [ebp - 0x14], eax
call fcn.00692150
mov ebx, eax
mov ecx, ebx
call fcn.00682c90
mov edi, eax
cmp esi, 0xffffffff
mov ecx, ebx
cmove esi, edi
call fcn.00682ca0
test eax, eax
mov edx, 1
mov ecx, ebx
cmove esi, edi
call fcn.00682950
cmp esi, 5
jne 0x6a3ed8
mov ecx, eax
call fcn.00674c00
test eax, eax
je 0x6a3e84
mov ecx, ebx
call fcn.00682cd0
test eax, eax
jne 0x6a3ed8
mov esi, edi
mov eax, dword [ebp - 0x2cc]
test eax, eax
je 0x6a3e92
mov esi, edi
mov edx, esi
mov ecx, ebx
call fcn.00682b70
mov ebx, dword [ebp - 0x1c]
mov ecx, 0x2202
mov word [ebx + 0x10], cx
mov ecx, eax
call fcn.006d2050
mov ecx, eax
mov dword [ebx + 8], eax
call fcn.00674c00
movzx edx, byte [ebp - 0x2d8]
mov ecx, ebx
mov dword [ebx + 0xc], eax
mov byte [ebx + 0x12], 1
call fcn.006943d0
mov edx, dword [ebp - 0x2cc]
jmp 0x69f49d
cmp esi, edi
je 0x6a3e86
cmp edi, 5
je 0x6a3ee6
cmp esi, 5
jne 0x6a3e86
mov eax, dword [ebp - 0x2c0]
cmp byte [eax + 0x55], 0
je 0x6a518c
cmp dword [eax + 0xc0], 1
jg 0x6a518c
cmp edi, 5
jne 0x6a3f2a
mov edx, eax
mov ecx, ebx
call fcn.00682f60
mov dword [ebp - 0x2cc], eax
test eax, eax
jne 0x6a3e90
mov edx, esi
mov ecx, ebx
call fcn.00682b70
jmp 0x6a3f46
cmp edi, 4
jne 0x6a3f39
lea edx, [edi - 2]
mov ecx, ebx
call fcn.00682b70
cmp dword [ebp - 0x2cc], 0
jne 0x6a3e90
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.006932e0
mov dword [ebp - 0x2cc], eax
jmp 0x6a3e8c
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx + 8]
test eax, eax
je 0x6a3f7d
mov edx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
jmp 0x6a3f7f
xor eax, eax
mov edx, dword [ebp - 0x2c0]
push eax
push dword [ecx + 4]
lea ecx, [esi + 0x7c]
call fcn.006e9730
mov edx, eax
add esp, 8
mov dword [ebp - 0x2cc], edx
jmp 0x69f4a3
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c0]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.0068a960
mov edx, eax
mov dword [ebp - 0x2cc], edx
test edx, edx
je 0x69e3d1
cmp edx, 0x65
jne 0x6a50b0
mov dword [ebp - 0x2cc], 0
jmp 0x6a1d56
cmp dword [edi + 4], 0
jne 0x6a400e
mov edx, dword [edi + 8]
call fcn.0069aa20
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov eax, dword [edi + 8]
inc eax
xor eax, dword [esi + 0x98]
and eax, 3
xor dword [esi + 0x98], eax
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x2c]
call fcn.0068b460
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x2c]
call fcn.0068b470
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov al, byte [edi + 0xc]
mov byte [ebp - 0x2fc], al
test al, al
jne 0x6a40bc
mov eax, dword [ecx + 0x24]
and eax, 4
jne 0x69e457
mov eax, dword [ebp - 0x2bc]
mov ecx, dword [ecx + 0x10]
mov edx, dword [ebp - 0x2bc]
push dword [ebp - 0x2fc]
mov eax, dword [eax + 4]
add eax, eax
mov edx, dword [edx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.006931b0
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
test edx, edx
je 0x69e3d1
cmp dl, 6
jne 0x6a50b0
mov eax, dword [ebp - 0x2bc]
push dword [eax + 0x10]
push str.database_table_is_locked:__s
push esi
call fcn.00695de0
mov edx, dword [ebp - 0x2cc]
add esp, 0xc
jmp 0x6a50b0
mov edx, dword [ebp - 0x2bc]
mov esi, dword [edx + 0x10]
mov edx, esi
call fcn.006eb150
mov edx, eax
mov dword [ebp - 0x2cc], edx
test esi, esi
je 0x69f49d
mov edx, dword [esi + 8]
mov esi, dword [ebp - 0x2c4]
mov ecx, esi
call fcn.0069ab60
mov edx, dword [ebp - 0x2cc]
jmp 0x69f4a3
xorps xmm0, xmm0
movups xmmword [ebp - 0x1d0], xmm0
mov dword [ebp - 0x1cc], ecx
mov ecx, dword [ebp - 0x2bc]
movups xmmword [ebp - 0x1e0], xmm0
movq qword [ebp - 0x1c0], xmm0
mov eax, dword [ecx + 8]
mov ecx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0x1e0]
call fcn.00695210
mov dword [ebp - 0x2cc], eax
lea eax, [ebp - 0x1e0]
push eax
call fcn.0069b0f0
add esp, 4
test eax, eax
je 0x6a41d5
lea ecx, [esi + 0x7c]
push ecx
mov ecx, dword [ebp - 0x2c0]
push eax
mov eax, dword [ebp - 0x2bc]
mov edx, dword [eax + 4]
call fcn.006eab80
add esp, 8
mov dword [ebp - 0x2cc], eax
lea ecx, [ebp - 0x1e0]
call fcn.00694950
mov edx, dword [ebp - 0x2cc]
jmp 0x69f4a3
mov edx, dword [ebp - 0x2bc]
inc dword [ecx + 0xcc]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.006eafb0
mov ecx, dword [ebp - 0x2c0]
mov edx, eax
add esp, 4
mov dword [ebp - 0x2cc], edx
dec dword [ecx + 0xcc]
test edx, edx
jne 0x6a50b0
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0xdc], 0
mov eax, dword [ecx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x6a51da
mov edi, dword [esi]
test edi, edi
je 0x6a51da
lea eax, [ebp - 0xdc]
push eax
mov eax, dword [edi + 0x18]
push esi
call eax
mov ebx, dword [ebp - 0x2c4]
add esp, 8
mov edx, esi
mov dword [ebp - 0x2cc], eax
mov ecx, ebx
call fcn.0069ab60
mov edx, dword [ebp - 0x2cc]
test edx, edx
jne 0x6a5491
mov eax, dword [ebp - 0xdc]
mov ecx, ebx
push 2
push edx
mov dword [eax], esi
mov eax, dword [ebp - 0x2bc]
mov edx, dword [eax + 4]
call fcn.0069db20
add esp, 8
test eax, eax
je 0x6a51c5
mov ecx, dword [ebp - 0xdc]
mov edi, dword [ebp - 0x2bc]
mov dword [eax + 0x2c], ecx
inc dword [esi + 4]
mov esi, ebx
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ebx, dword [ebp - 0x2bc]
mov ecx, dword [ebp - 0x2d4]
mov dword [ebp - 0xd4], 0
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, eax
mov dword [ebp - 0x14], eax
call fcn.00694ef0
mov ebx, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je 0x69e3d1
mov esi, dword [ecx + 8]
mov edi, dword [esi]
call fcn.006e9fd0
lea eax, [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0x2bc]
push dword [eax + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x2c0]
add ecx, ecx
push dword [ebx]
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8]
mov eax, dword [edi + 0x60]
push esi
call eax
mov ecx, dword [ebx + 0x34]
add esp, 0x14
mov esi, eax
mov dword [ebp - 0x2cc], esi
call fcn.006e9fe0
test esi, esi
jne 0x6a51e4
mov edx, dword [ebp - 0xd4]
test edx, edx
je 0x6a4af4
mov ecx, dword [ebp - 0x14]
push fcn.00671420
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.00695280
add esp, 0x10
jmp 0x69e445
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
push 0
push 8
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
call fcn.00671390
mov esi, eax
add esp, 8
test esi, esi
je 0x69e967
mov eax, dword [ebp - 0x2bc]
mov ecx, dword [edi + 0x2c]
mov edx, dword [ebp - 0x2d4]
mov dword [esi], ecx
mov ecx, dword [eax + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov edx, eax
mov dword [esi + 4], ecx
mov ecx, dword [ebp - 0x2c4]
call fcn.0069dec0
mov ecx, 1
mov edx, esi
push 0x69be40
push str.ValueList
mov word [eax + 0x10], cx
mov ecx, eax
call fcn.00694fd0
add esp, 8
jmp 0x69e445
mov ecx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2c4]
mov esi, dword [ebp - 0x2d4]
add esi, 0x28
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x60]
mov edi, dword [esi + edx*8]
lea esi, [esi + edx*8]
mov ebx, dword [ebx + 0x5c]
movd xmm0, esi
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xdc], esi
pshufd xmm3, xmm0, 0
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x1c], ebx
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [eax]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x2d4]
mov edx, dword [eax + edx*8]
mov dword [ebp - 0x2c], edx
test edi, edi
jle 0x6a4573
cmp edi, 0x10
jb 0x6a455b
cmp dword [0x83c604], 2
jl 0x6a455b
movaps xmm2, xmmword [0x7e31e0]
mov eax, edi
and eax, 0x8000000f
jns 0x6a44a4
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm1, xmmword [0x7e3200]
mov edx, edi
sub edx, eax
mov esi, 8
mov dword [ebp - 0x14], edx
lea edx, [ebx + 0x20]
mov ebx, dword [ebp - 0x14]
nop dword [eax]
movd xmm0, ecx
lea eax, [esi - 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x40]
paddd xmm0, xmm2
add ecx, 0x10
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x60], xmm0
movd xmm0, eax
lea eax, [esi + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x50], xmm0
movd xmm0, esi
add esi, 0x10
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x40], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x30], xmm0
cmp ecx, ebx
jl 0x6a44c0
mov ebx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x2c]
cmp ecx, edi
jge 0x6a4573
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, edi
jl 0x6a4568
mov eax, dword [ebp - 0x2bc]
mov esi, dword [ebp - 0xe4]
push ebx
push edi
push dword [eax + 0x10]
mov edi, dword [ebp - 0xd4]
push edx
push esi
mov eax, dword [edi + 0x20]
call eax
mov edx, dword [ebp - 0x24]
add esp, 0x14
mov ecx, dword [ebp - 0x2c4]
mov dword [ebp - 0x2cc], eax
call fcn.0069ab60
mov edx, dword [ebp - 0x2cc]
test edx, edx
jne 0x6a50aa
mov eax, dword [edi + 0x28]
push esi
call eax
mov ecx, dword [ebp - 0x34]
add esp, 4
mov byte [ecx + 2], 0
test eax, eax
je 0x69e445
jmp 0x6a1d50
mov edx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x2d4]
cmp byte [edi + 2], 0
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
je 0x6a4603
mov ecx, esi
call fcn.00694ef0
jmp 0x69e445
test byte [edx + 2], 1
xorps xmm0, xmm0
mov eax, dword [edi + 0x2c]
mov ebx, dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x14], eax
mov al, byte [ebp - 0x2d8]
movups xmmword [ebp - 0x140], xmm0
mov byte [ebp - 0x138], al
lea eax, [ebp - 0x2b8]
movups xmmword [ebp - 0x150], xmm0
mov dword [ebp - 0x150], esi
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2b4], 0x1000000
mov dword [ebp - 0x14c], eax
je 0x6a4670
mov ecx, esi
call fcn.00694ef0
mov edx, dword [ebp - 0x2bc]
mov eax, 0x401
mov dword [esi], 0
jmp 0x6a4683
mov ax, word [esi + 0x10]
mov ecx, 0xf241
and ax, cx
or ax, 1
movzx eax, ax
mov word [esi + 0x10], ax
lea eax, [ebp - 0x150]
push dword [edx + 8]
push eax
mov eax, dword [ebp - 0x14]
push dword [edi + 0x2c]
mov eax, dword [eax + 0x2c]
call eax
add esp, 0xc
mov dword [ebp - 0x2cc], eax
mov edx, ebx
mov ebx, dword [ebp - 0x2c4]
mov ecx, ebx
call fcn.0069ab60
cmp dword [ebp - 0x13c], 0
jle 0x6a46e1
push esi
call fcn.0069b0f0
add esp, 4
push eax
push 0x7db858
push ebx
call fcn.00695de0
mov eax, dword [ebp - 0x13c]
add esp, 0xc
mov dword [ebp - 0x2cc], eax
movzx edx, byte [ebp - 0x2d8]
mov ecx, esi
call fcn.006943d0
mov edx, dword [ebp - 0x2cc]
mov esi, ebx
jmp 0x69f4a3
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x69e3d1
mov eax, dword [edi + 0x2c]
push eax
mov esi, dword [eax]
mov ebx, dword [esi]
mov eax, dword [ebx + 0x24]
call eax
add esp, 4
mov dword [ebp - 0x2cc], eax
mov edx, esi
mov esi, dword [ebp - 0x2c4]
mov ecx, esi
call fcn.0069ab60
mov edx, dword [ebp - 0x2cc]
test edx, edx
jne 0x6a50b0
push dword [edi + 0x2c]
mov eax, dword [ebx + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x6a0d5e
mov ecx, dword [ebp - 0x2c0]
mov edx, dword [ebp - 0x2bc]
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0x2dc]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [edx + eax*4]
mov dword [ebp - 0x2bc], eax
jmp 0x6a0d64
mov edi, dword [ecx + 0x20]
mov edx, 1
or dword [ecx + 0x20], 0x4000000
and edi, 0x4000000
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx + 0x10]
mov esi, dword [eax + 8]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, ebx
call fcn.006943d0
mov edx, eax
mov dword [ebp - 0x2cc], edx
test edx, edx
jne 0x6a50aa
mov eax, dword [esi]
push dword [ebx + 8]
push esi
mov eax, dword [eax + 0x4c]
call eax
add esp, 8
mov dword [ebp - 0x2cc], eax
test edi, edi
jne 0x6a47fc
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ecx + 0x24]
and dword [ecx + 0x20], 0xfbffffff
mov dword [ecx + 0x24], eax
mov edx, esi
mov esi, dword [ebp - 0x2c4]
mov ecx, esi
call fcn.0069ab60
and dword [esi + 0x98], 0xfffffffc
mov edx, dword [ebp - 0x2cc]
jmp 0x69f4a3
cmp byte [ecx + 0x57], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x38], xmm0
jne 0x69e973
mov edx, dword [ebp - 0x2bc]
mov eax, dword [edx + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x6a51fd
mov edx, dword [ebx]
test edx, edx
je 0x6a51fd
cmp dword [edx + 0x34], 0
mov esi, dword [ebp - 0x2bc]
mov esi, dword [esi + 8]
je 0x69e44b
mov al, byte [ecx + 0x5c]
mov ecx, dword [ebp - 0x2d4]
mov byte [ebp - 0x2ea], al
mov eax, dword [ebp - 0x2c4]
mov edi, dword [eax + 0x5c]
mov eax, dword [ebp - 0x2bc]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x6a489b
nop dword [eax]
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x6a4890
mov eax, dword [ebp - 0x2bc]
mov ecx, dword [ebp - 0x2c0]
mov al, byte [eax + 2]
mov byte [ecx + 0x5c], al
lea eax, [ebp - 0x38]
push eax
mov eax, dword [edx + 0x34]
push edi
push esi
push ebx
call eax
mov ecx, dword [ebp - 0x2c0]
add esp, 0x10
mov esi, dword [ebp - 0x2c4]
mov edx, ebx
mov dword [ebp - 0x2cc], eax
mov al, byte [ebp - 0x2ea]
mov byte [ecx + 0x5c], al
mov ecx, esi
call fcn.0069ab60
mov edx, dword [ebp - 0x2cc]
mov ecx, dword [ebp - 0x2bc]
test edx, edx
jne 0x6a490d
cmp dword [ecx + 4], edx
je 0x6a490d
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x38]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x34]
mov dword [ecx + 0x2c], eax
mov ecx, dword [ebp - 0x2bc]
cmp dl, 0x13
jne 0x6a4967
mov eax, dword [ecx + 0x10]
cmp byte [eax + 0x10], 0
je 0x6a4967
movzx ecx, word [ecx + 2]
cmp ecx, 4
jne 0x6a494e
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x2cc], 0
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
movzx eax, cl
cmp ecx, 5
mov ecx, 2
cmove eax, ecx
mov byte [esi + 0x94], al
jmp 0x69f4a3
add dword [esi + 0x28], 1
adc dword [esi + 0x2c], 0
jmp 0x69f4a3
mov edx, dword [ebp - 0x2bc]
mov ecx, esi
call fcn.0069dec0
mov esi, eax
mov eax, dword [ebp - 0x2bc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x2c0]
add edx, edx
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
call fcn.006889a0
mov dword [esi], eax
mov dword [esi + 4], 0
jmp 0x69e445
mov ebx, dword [ebp - 0x2bc]
mov ecx, esi
mov edx, ebx
call fcn.0069dec0
mov edx, dword [ebx + 4]
mov edi, eax
mov eax, dword [ebp - 0x2c0]
add edx, edx
mov ecx, dword [eax + 0x10]
mov eax, ebx
mov esi, dword [ecx + edx*8 + 4]
xor edx, edx
cmp dword [eax + 0xc], edx
je 0x6a49ed
mov ecx, esi
call fcn.006889a0
mov edx, eax
mov eax, ebx
mov eax, dword [eax + 0xc]
cmp edx, eax
cmovb edx, eax
mov ecx, esi
call fcn.006897a0
mov dword [edi], eax
mov dword [edi + 4], 0
jmp 0x69e445
mov ecx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2c4]
mov eax, dword [ecx + 0xc]
mov esi, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov dword [ebp - 0x14], edi
cmp dword [esi], edi
je 0x6a4a6f
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov al, byte [ebp - 0x2d8]
mov dword [esi + 0xc], ebx
mov dword [esi], edi
mov byte [esi + 0x18], al
js 0x6a4a6f
mov edi, dword [ebp - 0x2bc]
lea edx, [esi + 0x1c]
mov ebx, dword [ebp - 0x2d4]
lea edx, [edx + ecx*4]
mov eax, dword [edi + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx + 4], eax
jns 0x6a4a50
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x2c4]
mov ax, word [edi + 0x10]
mov ecx, 0xf241
and ax, cx
or ax, 1
mov word [edi + 0x10], ax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov eax, dword [ecx + 0x10]
push esi
call eax
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x6a4af4
jle 0x6a4ac2
push edi
call fcn.0069b0f0
add esp, 4
push eax
push 0x7db858
push ebx
call fcn.00695de0
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2bc]
lea edx, [ebx + 0xe4]
mov ecx, dword [ebp - 0x2c0]
push dword [eax + 4]
push dword [esi + 0x10]
call fcn.00698e50
mov edx, dword [ebp - 0x2cc]
add esp, 8
mov dword [esi + 0x14], 0
jmp 0x69f49d
mov ecx, dword [ebp - 0x2c0]
mov esi, dword [ebp - 0x2c4]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov eax, dword [edi + 4]
mov ebx, 0xf7ff
mov edx, dword [ebp - 0x2d4]
lea eax, [eax + eax*4]
and word [edx + eax*8 + 0x10], bx
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [ecx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, 0x800
test word [ebx + edx*8 + 0x10], ax
je 0x6a4b9b
movzx eax, byte [ebx + edx*8 + 0x13]
cdq
push edx
push eax
call fcn.00694f90
mov ecx, dword [ebp - 0x2c0]
add esp, 8
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
call fcn.00694ef0
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d4]
mov edi, dword [ebp - 0x2bc]
mov eax, dword [ecx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 8]
test byte [ebx + edx*8 + 0x10], 1
lea ecx, [eax + eax*4]
je 0x6a4c09
mov eax, 0xf7ff
and word [ebx + ecx*8 + 0x10], ax
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov eax, 0x800
or word [ebx + ecx*8 + 0x10], ax
mov al, byte [ebx + edx*8]
mov byte [ebx + ecx*8 + 0x13], al
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov ecx, dword [ebp - 0x2bc]
mov edx, ecx
mov ebx, dword [ebp - 0x2d4]
mov eax, dword [ecx + 4]
mov ecx, ebx
lea edi, [eax + eax*4]
call fcn.0069def0
mov esi, eax
mov ecx, edx
mov eax, dword [ebx + edi*8 + 0xc]
shl eax, 3
cdq
push edx
push eax
push ecx
push esi
call fcn.0078f5e0
mov esi, eax
and eax, 7
shrd esi, edx, 3
mov edx, dword [ebx + edi*8 + 8]
movsx ecx, byte [esi + edx]
bts ecx, eax
mov byte [esi + edx], cl
jmp 0x69e445
mov ecx, dword [ebp - 0x2bc]
mov edx, ecx
mov edi, dword [ebp - 0x2d4]
mov eax, dword [ecx + 4]
mov ecx, edi
lea ebx, [eax + eax*4]
call fcn.0069def0
mov esi, eax
mov ecx, edx
mov eax, dword [edi + ebx*8 + 0xc]
shl eax, 3
cdq
push edx
push eax
push ecx
push esi
call fcn.0078f5e0
mov edi, eax
mov eax, dword [ebp - 0x2d4]
mov esi, edi
and edi, 7
shrd esi, edx, 3
mov ecx, dword [eax + ebx*8 + 8]
mov eax, 1
movsx edx, byte [esi + ecx]
mov ecx, edi
mov esi, dword [ebp - 0x2c4]
mov edi, dword [ebp - 0x2bc]
shl eax, cl
mov ecx, dword [ebp - 0x2c0]
test eax, edx
jne 0x6a4cf3
inc dword [esi + 0xc4]
jmp 0x6a1d62
inc dword [esi + 0xc0]
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2f4]
add edi, 0x14
jmp 0x69e2ef
mov cl, byte [ecx + 0x5e]
test cl, 0x41
je 0x6a4dd4
cmp byte [esi + 0x95], 0xfe
je 0x6a4dd4
mov edx, dword [ebp - 0x2bc]
mov eax, dword [edx + 0x10]
test eax, eax
jne 0x6a4d41
mov eax, dword [esi + 0xc8]
test eax, eax
je 0x6a4dd4
test cl, 0x40
je 0x6a4d77
mov edx, eax
mov ecx, esi
call fcn.0069d640
mov esi, eax
mov eax, dword [ebp - 0x2c0]
push esi
push dword [eax + 0xdc]
mov ecx, dword [eax + 0xd8]
call ecx
push esi
call fcn.00671420
mov esi, dword [ebp - 0x2c4]
add esp, 0xc
jmp 0x6a4dd4
mov ebx, dword [ebp - 0x2c0]
push eax
cmp dword [ebx + 0xc8], 1
jle 0x6a4dc0
push str.____s
push ebx
call fcn.00673bc0
mov ecx, dword [ebx + 0xd8]
add esp, 0xc
mov esi, eax
push esi
push dword [ebp - 0x2c4]
push dword [ebx + 0xdc]
push 1
call ecx
push esi
push ebx
call fcn.00671580
mov esi, dword [ebp - 0x2c4]
add esp, 0x18
jmp 0x6a4dd4
mov eax, dword [ebx + 0xd8]
push esi
push dword [ebx + 0xdc]
push 1
call eax
add esp, 0x10
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx + 4]
cmp eax, dword [0x82f48c]
jl 0x6a4e22
cmp byte [ecx], 0xb8
je 0x69e3d1
mov edx, 1
cmp dword [esi + 0x6c], edx
jle 0x6a4e20
mov eax, 0x14
nop dword [eax]
mov ecx, dword [esi + 0x68]
cmp byte [eax + ecx], 0xf
jne 0x6a4e11
mov dword [eax + ecx + 4], 0
inc edx
add eax, 0x14
cmp edx, dword [esi + 0x6c]
jl 0x6a4e00
mov ecx, dword [ebp - 0x2bc]
xor eax, eax
inc eax
mov dword [ecx + 4], eax
inc dword [esi + 0xbc]
jmp 0x6a1d56
mov edx, dword [ebp - 0x2bc]
mov ecx, dword [edx + 4]
mov dword [esi + 0x24], ecx
mov al, byte [edx + 8]
mov byte [esi + 0x94], al
test ecx, ecx
je 0x6a4edf
movzx eax, word [edx + 2]
test ax, ax
je 0x6a4e95
push dword [eax*4 + 0x7cf910]
push str._s_constraint_failed
push esi
call fcn.00695de0
mov ebx, dword [ebp - 0x2bc]
add esp, 0xc
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x6a4eac
push eax
push dword [esi + 0x7c]
push str._z:__s
push dword [ebp - 0x2c0]
call fcn.00673bc0
add esp, 0x10
mov dword [esi + 0x7c], eax
jmp 0x6a4eac
push dword [edx + 0x10]
push 0x7db858
push esi
call fcn.00695de0
mov ebx, dword [ebp - 0x2bc]
add esp, 0xc
push dword [esi + 0x7c]
mov ecx, ebx
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2dc]
push dword [esi + 0xc8]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.00673f50
add esp, 0x14
mov ecx, esi
call fcn.00698910
mov edi, dword [ebp - 0x2d0]
mov esi, eax
mov eax, dword [ebp - 0x2c4]
cmp esi, 5
jne 0x6a4f01
mov dword [eax + 0x24], esi
jmp 0x6a5369
cmp dword [eax + 0x24], 0
mov ecx, 0x65
mov eax, 1
cmovne ecx, eax
mov dword [ebp - 0x2cc], ecx
mov esi, ecx
jmp 0x6a5369
mov edx, dword [ebp - 0x1c]
and eax, 0x3f
mov esi, dword [ebp - 0x2c]
add edx, edx
movzx eax, byte [eax + 0x7d4440]
push dword [esi + edx*8]
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x2c4]
push dword [edx]
push dword [ecx*4 + 0x830404]
push dword [eax*4 + 0x7d1a18]
push str.cannot_store__s_value_in__s_column__s._s
push esi
call fcn.00695de0
mov edx, 0xc13
add esp, 0x18
mov dword [ebp - 0x2cc], edx
jmp 0x6a50b0
push str.cannot_open_savepoint___SQL_statements_in_progress
push esi
call fcn.00695de0
mov edx, 5
add esp, 8
mov dword [ebp - 0x2cc], edx
jmp 0x6a50b0
mov esi, dword [ebp - 0x2c4]
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x6a4f70
mov ecx, dword [ebp - 0x2bc]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2dc]
mov esi, 5
mov edi, dword [ebp - 0x2d0]
imul ecx
mov ecx, dword [ebp - 0x2c0]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x2c4]
mov dword [edx + 0x20], eax
mov byte [ecx + 0x55], 0
mov dword [edx + 0x24], esi
jmp 0x6a5370
mov edi, dword [ebp - 0x2d0]
mov esi, 0x65
jmp 0x6a5370
mov edi, dword [ebp - 0x2d0]
and edx, 0x100000
or edx, 0
je 0x6a500a
mov edx, 8
mov dword [ebp - 0x2cc], edx
jmp 0x6a50b6
mov edx, 0xb
mov dword [ebp - 0x2cc], edx
jmp 0x6a50b6
mov edi, dword [ebp - 0x2d0]
cmp dl, 5
jne 0x6a53d9
mov ecx, dword [ebp - 0x2bc]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2dc]
mov esi, dword [ebp - 0x2cc]
imul ecx
mov ecx, dword [ebp - 0x2c4]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x24], esi
mov dword [ecx + 0x20], eax
jmp 0x6a5369
mov edx, 0x204
mov dword [ebp - 0x2cc], edx
jmp 0x6a50b0
mov esi, dword [ebp - 0x2c4]
push str.string_or_blob_too_big
push esi
call fcn.00695de0
mov edx, 0x12
add esp, 8
mov dword [ebp - 0x2cc], edx
jmp 0x6a50b0
push str.index_corruption
mov edx, 0x18548
mov ecx, 0x30b
call fcn.00708650
add esp, 4
mov edx, eax
mov dword [ebp - 0x2cc], edx
mov esi, dword [ebp - 0x2c4]
mov edi, dword [ebp - 0x2d0]
mov eax, dword [ebp - 0x2c0]
cmp byte [eax + 0x57], 0
je 0x6a5498
mov edx, 7
jmp 0x6a54ac
mov ecx, 0x18615
call fcn.00708680
jmp 0x6a50a2
mov esi, dword [ebp - 0x2c4]
mov edx, 6
mov dword [ebp - 0x2cc], edx
mov byte [esi + 0x94], 2
jmp 0x6a50b0
mov dword [ebp - 0x2cc], 7
mov ecx, dword [ebp - 0x2c0]
call fcn.006bc570
mov edx, dword [ebp - 0x2cc]
mov esi, dword [ebp - 0x2c4]
mov edi, dword [ebp - 0x2d0]
cmp edx, 7
je 0x6a31c7
jmp 0x6a50b6
push dword [ebp - 0xec]
call fcn.00671420
mov edx, dword [ebp - 0x2cc]
add esp, 4
jmp 0x6a50aa
push str.too_many_levels_of_trigger_recursion
push esi
mov dword [ebp - 0x2cc], 1
call fcn.00695de0
add esp, 8
mov edx, 1
jmp 0x6a50b0
push esi
call fcn.0069b0f0
mov esi, dword [ebp - 0x2c4]
add esp, 4
push eax
push 0x7db858
push esi
call fcn.00695de0
mov edx, dword [ebp - 0x2cc]
add esp, 0xc
jmp 0x6a50b0
cmp esi, 5
mov dword [ebp - 0x2cc], 1
mov esi, dword [ebp - 0x2c4]
mov ecx, str.out_of
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push esi
call fcn.00695de0
add esp, 0xc
mov edx, 1
jmp 0x6a50b0
push dword [ebp - 0xdc]
mov eax, dword [edi + 0x1c]
call eax
add esp, 4
mov esi, ebx
jmp 0x69e96d
mov edx, 6
jmp 0x6a50a4
push dword [ebp - 0xd4]
call fcn.00671420
mov edx, dword [ebp - 0x2cc]
add esp, 4
jmp 0x6a50aa
mov edx, 6
mov dword [ebp - 0x2cc], edx
jmp 0x6a50b0
mov eax, dword [esi + 0x1c]
mov ebx, dword [ebp - 0x2bc]
add eax, 2
mov edx, dword [ebp - 0x2d4]
or eax, 1
mov dword [esi + 0x1c], eax
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esi + 0x78], eax
cmp byte [ecx + 0x57], 0
jne 0x69e973
test byte [ecx + 0x5e], 4
je 0x6a5257
mov eax, dword [ecx + 0xd8]
push 0
push esi
push dword [ecx + 0xdc]
push 4
call eax
add esp, 0x10
mov ecx, ebx
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2dc]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [esi + 0x20], eax
mov esi, 0x64
jmp 0x6a5363
mov ecx, dword [ebp - 0x2bc]
mov edx, dword [ebp - 0x2c0]
mov ebx, dword [ecx + 4]
movzx eax, byte [edx + 0x55]
mov ecx, dword [ecx + 8]
cmp ebx, eax
je 0x6a53e4
test ecx, ecx
je 0x6a52b6
mov esi, dword [ebp - 0x2c0]
mov edx, 0x204
mov ecx, esi
call fcn.00705ed0
mov al, 1
jmp 0x6a52ed
test ebx, ebx
je 0x6a52cd
cmp dword [edx + 0xc4], 0
jle 0x6a52cd
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x6a4f70
mov edx, 1
mov dword [ebp - 0x2fc], ebx
mov ecx, esi
call fcn.006988a0
mov esi, eax
test esi, esi
jne 0x6a5363
mov esi, dword [ebp - 0x2c0]
mov eax, ebx
mov edi, dword [ebp - 0x2c4]
mov ecx, edi
mov byte [esi + 0x55], al
call fcn.00698910
cmp eax, 5
jne 0x6a533f
mov ecx, dword [ebp - 0x2bc]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2dc]
mov esi, 5
imul ecx
mov ecx, dword [ebp - 0x2c0]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x20], eax
mov al, 1
sub al, bl
mov byte [ecx + 0x55], al
mov dword [edi + 0x24], esi
mov edi, dword [ebp - 0x2d0]
jmp 0x6a5370
mov ecx, esi
call fcn.00705820
cmp dword [edi + 0x24], 0
mov ecx, 0x65
mov eax, 1
cmovne ecx, eax
mov dword [ebp - 0x2cc], ecx
mov esi, dword [ebp - 0x2cc]
mov edi, dword [ebp - 0x2d0]
mov ecx, dword [ebp - 0x2c0]
nop
mov edx, dword [ebp - 0x2f0]
cmp dword [ebp - 0x2f4], edx
jb 0x6a5588
ja 0x6a5390
cmp dword [ebp - 0x2c8], edi
jb 0x6a5588
mov eax, dword [ecx + 0x174]
test eax, eax
je 0x6a5588
add edi, dword [ecx + 0x17c]
push dword [ecx + 0x178]
adc edx, 0
mov dword [ebp - 0x2f0], edx
call eax
mov ecx, dword [ebp - 0x2c0]
add esp, 4
test eax, eax
je 0x6a5370
or edi, 0xffffffff
mov edx, 9
or eax, 0xffffffff
mov dword [ebp - 0x2cc], edx
mov dword [ebp - 0x2f0], eax
mov esi, dword [ebp - 0x2c4]
jmp 0x6a50b6
test ebx, ebx
jne 0x6a5407
mov eax, str.cannot_start_a_transaction_within_a_transaction
push eax
push esi
call fcn.00695de0
mov edx, 1
add esp, 8
mov dword [ebp - 0x2cc], edx
jmp 0x6a50b0
test ecx, ecx
mov edx, str.cannot_commit___no_transaction_is_active
mov eax, str.cannot_rollback___no_transaction_is_active
cmove eax, edx
push eax
push esi
call fcn.00695de0
mov edx, 1
add esp, 8
mov dword [ebp - 0x2cc], edx
jmp 0x6a50b0
mov eax, dword [ebp - 0x2fc]
mov edx, 9
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x2c8], eax
mov dword [ebp - 0x2cc], edx
jmp 0x6a50b6
mov esi, dword [ebp - 0x2c4]
mov edi, dword [ebp - 0x2d0]
mov edx, 9
mov dword [ebp - 0x2cc], edx
jmp 0x6a50b6
mov eax, dword [ebp - 0x2fc]
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x2c8], eax
jmp 0x69e979
mov esi, ebx
jmp 0x6a50b0
cmp edx, 0x210a
jne 0x6a54b2
mov ecx, 0x18f2a
call fcn.00708680
mov edx, eax
mov dword [ebp - 0x2cc], edx
cmp dword [esi + 0x7c], 0
jne 0x6a54d6
cmp edx, 0xc0a
je 0x6a54d6
mov ecx, edx
call fcn.00706010
push eax
push 0x7db858
push esi
call fcn.00695de0
add esp, 0xc
mov ebx, dword [ebp - 0x2cc]
mov edx, ebx
mov ecx, dword [ebp - 0x2c0]
mov dword [esi + 0x24], ebx
call fcn.00674ce0
mov ecx, dword [ebp - 0x2bc]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2dc]
push dword [esi + 0x7c]
imul ecx
push dword [esi + 0xc8]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push ebx
call fcn.00673f50
add esp, 0x14
cmp byte [esi + 0x97], 2
jne 0x6a5531
mov ecx, esi
call fcn.00698910
cmp ebx, 0xc0a
jne 0x6a556b
mov ecx, dword [ebp - 0x2c0]
call fcn.00671c60
mov ecx, dword [ebp - 0x2c0]
mov al, byte [ebp - 0x2e9]
mov esi, 1
test al, al
je 0x6a5370
movzx edx, al
dec edx
call fcn.006bc510
jmp 0x6a5369
cmp ebx, 0xb
jne 0x6a5544
mov ecx, dword [ebp - 0x2c0]
cmp byte [ecx + 0x55], 0
jne 0x6a554a
mov eax, dword [ecx + 0x20]
or dword [ecx + 0x24], 2
mov dword [ecx + 0x20], eax
jmp 0x6a554a
mov eax, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0x2c8]
add dword [eax + 0xb4], ecx
cmp dword [eax + 0xa0], 0
je 0x6a55aa
mov ecx, eax
call fcn.00697350
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0076d59e
mov esp, ebp
pop ebp
ret