Function at 0x10025a60
Capabilities:
Enumerate pe sections
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x11c
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 4]
push edi
mov edi, dword [esi]
mov ecx, dword [edi + 8]
mov edx, dword [ecx + 0xc]
mov ecx, dword [esi + 8]
mov dword [ebp - 0xf0], eax
mov al, byte [edx + 0x49]
xor ebx, ebx
mov byte [ebp - 0xe4], al
lea eax, [esi + 0x84]
push eax
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xd4], edi
mov byte [ebp - 0xe9], bl
mov dword [ebp - 0xf4], ebx
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0x100], ebx
mov dword [ebp - 0xfc], eax
call fcn.10012a80
add esp, 4
cmp dword [esi + 0x5c], 7
je 0x10026089
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x14], ebx
mov edx, dword [edi + 0xe0]
mov dword [edi + 0x1b4], ebx
test edx, edx
jne 0x1002b150
xor eax, eax
mov ecx, edi
cmp dword [ecx + 0x114], eax
mov edx, esi
setne al
mov dword [ebp - 0x108], eax
mov eax, dword [edx + 0x58]
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xd4]
cmp byte [ecx + 0x1e], 0
jne 0x10026083
cmp dword [ebp - 0x108], 0
mov eax, dword [ebp - 0xdc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xf0]
lea edi, [eax + edx*4]
mov dword [ebp - 0xe8], edi
je 0x10025b8f
mov edx, dword [ebp - 0xf4]
cmp dword [ecx + 0x11c], edx
jne 0x10025b89
mov eax, dword [ecx + 0x118]
mov ecx, dword [ecx + 0x114]
push eax
call ecx
add esp, 4
test eax, eax
jne 0x1002af59
mov dword [ebp - 0xf4], eax
inc dword [ebp - 0xf4]
test byte [edi + 2], 2
je 0x10025bba
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea esi, [eax + edx*8]
mov eax, esi
mov dword [ebp - 0xe0], esi
call fcn.1001e8a0
mov ecx, 4
mov word [esi + 0x1c], cx
movzx eax, byte [edi]
dec eax
cmp eax, 0x90
ja case.0x10025bc9.17
jmp dword [eax*4 + 0x1002b190]
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0xe0]
test eax, eax
jne 0x1002b150
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xd8]
lea ecx, [eax + eax*4]
lea ecx, [edx + ecx*8]
mov eax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xdc]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov ecx, dword [edi + 8]
dec ecx
mov dword [ebp - 0xdc], ecx
jmp case.0x10025bc9.17
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0xd8]
lea edx, [edi + edi*4]
mov ecx, dword [eax + edx*8 + 0x10]
mov dword [ebp - 0xdc], ecx
jmp case.0x10025bc9.17
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0xd8]
lea edx, [edi + edi*4]
lea ecx, [eax + edx*8]
mov eax, dword [ecx + 0x10]
mov edx, 4
mov word [ecx + 0x1c], dx
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xdc]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xdc], ecx
jmp case.0x10025bc9.17
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
test byte [eax + edx*8 + 0x1c], 1
je case.0x10025bc9.17
cmp dword [edi + 4], 0
mov ebx, dword [ebp - 0xd0]
jne 0x1002af68
mov eax, dword [ebx + 0xd8]
test eax, eax
je 0x1002af68
mov ecx, dword [eax + 0x3c]
dec dword [ebx + 0xe0]
mov edx, dword [ebp - 0xd4]
mov dword [ebx + 0xd8], ecx
mov ecx, dword [ebx + 0x6c]
add dword [edx + 0x40], ecx
mov dword [edx + 0x3c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov dword [ecx + 4], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0x1c], edx
mov edx, dword [eax + 0x10]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0x14]
mov dword [ecx + 0x18], edx
mov edx, dword [eax + 0x18]
mov dword [ecx + 0x44], edx
mov dx, word [eax + 0x1c]
mov word [ecx + 0x32], dx
mov esi, dword [eax + 0x30]
mov edx, dword [ecx]
mov dword [edx + 0x30], esi
mov esi, dword [eax + 0x34]
mov dword [edx + 0x34], esi
mov edx, dword [eax + 0x38]
mov dword [ecx + 0x6c], edx
cmp dword [edi + 8], 4
mov eax, dword [eax + 4]
mov dword [ebp - 0xdc], eax
jne 0x10025d30
mov ecx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
dec edx
mov dword [ebp - 0xdc], edx
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xd8], ecx
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe0]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x10025bc9.17
mov edi, dword [edi + 0x10]
mov edx, dword [edi]
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x10], edx
mov ecx, dword [edi + 4]
mov dword [eax + 0x14], ecx
jmp case.0x10025bc9.17
mov eax, dword [ebp - 0xe0]
mov edx, 8
mov word [eax + 0x1c], dx
mov ecx, dword [edi + 0x10]
fld qword [ecx]
fstp qword [eax + 8]
jmp case.0x10025bc9.17
mov ecx, dword [edi + 0x10]
mov byte [edi], 9
call fcn.10006190
cmp byte [ebp - 0xe4], 1
mov esi, dword [ebp - 0xe0]
mov dword [edi + 4], eax
je 0x10025e25
push 1
push ecx
or ebx, 0xffffffff
xor eax, eax
mov ecx, ebx
mov edx, esi
call fcn.1001efe0
add esp, 8
mov dword [ebp - 0xcc], eax
cmp eax, 0x12
je 0x10025e37
movzx ecx, byte [ebp - 0xe4]
mov eax, esi
call fcn.1001e530
test eax, eax
jne 0x10026083
mov dx, word [esi + 0x1c]
mov dword [esi + 0x24], eax
mov eax, 0xfbff
and dx, ax
mov ecx, 0x800
or dx, cx
mov word [esi + 0x1c], dx
cmp byte [edi + 1], bl
jne 0x10025e16
mov edx, dword [edi + 0x10]
mov eax, dword [ebp - 0xd4]
push edx
push eax
call fcn.10004120
add esp, 8
mov byte [edi + 1], bl
mov ecx, dword [esi + 4]
mov dword [edi + 0x10], ecx
mov edx, dword [esi + 0x18]
mov dword [edi + 4], edx
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd4]
cmp eax, dword [ecx + 0x48]
jle 0x10025f2c
mov edi, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd4]
push str.string_or_blob_too_big
add edi, 0x38
call fcn.10004510
add esp, 4
mov dword [ebp - 0xcc], 0x12
mov esi, dword [ebp - 0xd0]
mov edx, dword [esi + 0x38]
mov ecx, dword [esi + 0xd0]
mov eax, dword [ebp - 0xcc]
push edx
mov edx, dword [ebp - 0xdc]
push ecx
push edx
push str.statement_aborts_at__d:___s___s
push eax
mov dword [esi + 0x5c], eax
call fcn.100058a0
add esp, 0x14
mov ebx, esi
call fcn.10021a70
cmp dword [ebp - 0xcc], 0xc0a
jne 0x10025ea9
mov eax, dword [ebp - 0xd4]
mov byte [eax + 0x1e], 1
cmp byte [ebp - 0xe9], 0
mov edi, 1
je 0x10025ec7
mov eax, dword [ebp - 0xd4]
push 0
call fcn.10037a30
add esp, 4
mov ecx, dword [ebp - 0xfc]
xor ebx, ebx
cmp dword [ecx], ebx
jle 0x10025f13
lea edx, [ecx + 4]
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0xf0]
mov esi, dword [eax]
dec dword [esi + 0xc]
jne 0x10025f07
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x3c]
test eax, eax
je 0x10025f03
push eax
call dword [0x1007ccc0]
mov ecx, dword [ebp - 0xfc]
add esp, 4
mov byte [esi + 0xa], 0
add dword [ebp - 0xf0], 4
inc ebx
cmp ebx, dword [ecx]
jl 0x10025edc
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10065fcc
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0xe0]
mov edx, 0xa02
mov word [esi + 0x1c], dx
mov eax, dword [edi + 0x10]
mov dl, byte [ebp - 0xe4]
mov dword [esi + 4], eax
mov ecx, dword [edi + 4]
mov dword [esi + 0x18], ecx
mov byte [esi + 0x1f], dl
jmp case.0x10025bc9.17
mov edx, dword [edi + 0x10]
mov esi, dword [ebp - 0xe0]
mov ecx, dword [edi + 4]
push 0
push edx
xor eax, eax
mov edx, esi
call fcn.1001efe0
mov al, byte [ebp - 0xe4]
add esp, 8
mov byte [esi + 0x1f], al
jmp case.0x10025bc9.17
mov edi, dword [edi + 4]
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x48]
lea ecx, [edi + edi*4]
lea esi, [eax + ecx*8 - 0x28]
mov ecx, esi
mov dword [ebp - 0xc8], esi
call fcn.1001eeb0
test eax, eax
jne 0x10025e37
mov ebx, dword [ebp - 0xe0]
push 0x800
push esi
call fcn.1001eee0
add esp, 8
jmp case.0x10025bc9.17
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xc4], eax
mov ecx, dword [edi + 4]
lea edx, [ecx + ecx*4]
mov dword [ebp - 0xc0], ecx
mov edi, dword [edi + 8]
mov ecx, dword [ebp - 0xd8]
lea ebx, [ecx + edx*8]
lea edx, [edi + edi*4]
mov dword [ebp - 0xbc], edi
lea edi, [ecx + edx*8]
mov dword [ebp - 0xe0], edi
test eax, eax
je 0x1002602d
dec eax
mov dword [ebp - 0xc4], eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0xc8], eax
mov eax, edi
mov dword [edi + 0x24], 0
call fcn.1001ef90
mov ecx, dword [ebp - 0xc8]
mov dword [ebx + 0x24], ecx
mov eax, dword [ebp - 0xc4]
add ebx, 0x28
add edi, 0x28
test eax, eax
jne 0x10025ff0
mov dword [ebp - 0xe0], edi
dec eax
mov dword [ebp - 0xc4], eax
jmp case.0x10025bc9.17
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea ebx, [eax + edx*8]
lea ecx, [edi + edi*4]
lea edx, [eax + ecx*8]
push 0x1000
push edx
mov dword [ebp - 0xe0], ebx
call fcn.1001eee0
mov eax, 0x1000
add esp, 8
test word [ebx + 0x1c], ax
je case.0x10025bc9.17
mov eax, ebx
call fcn.1001e670
test eax, eax
je case.0x10025bc9.17
mov esi, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd4]
push str.out_of_memory
lea edi, [esi + 0x38]
mov byte [eax + 0x1e], 1
call fcn.10004510
add esp, 4
mov dword [ebp - 0xcc], 7
jmp 0x10025e63
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea ebx, [eax + ecx*8]
lea edx, [edi + edi*4]
lea eax, [eax + edx*8]
push 0x1000
push eax
mov dword [ebp - 0xe0], ebx
call fcn.1001eee0
add esp, 8
jmp case.0x10025bc9.17
mov esi, dword [ebp - 0xd0]
push 0
mov ecx, esi
call fcn.10021a10
add esp, 4
mov dword [ebp - 0xcc], eax
test eax, eax
jne case.0x10025bc9.17
push 1
push esi
call fcn.10021940
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
jne case.0x10025bc9.17
mov ecx, dword [esi + 0x54]
add ecx, 2
or ecx, 1
mov dword [esi + 0x54], ecx
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea eax, [eax + edx*8]
xor ecx, ecx
mov dword [esi + 0x14], eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], ecx
cmp dword [edi + 8], ecx
jle 0x100261b1
mov eax, dword [ebp - 0xc8]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x10026177
call fcn.1001e670
test eax, eax
jne 0x10026089
mov ecx, dword [ebp - 0xc4]
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xc8]
lea eax, [ecx + eax*8]
call fcn.1001e730
mov eax, dword [ebp - 0xc4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xc8]
lea ecx, [eax + edx*8]
call fcn.10025750
mov ecx, dword [ebp - 0xc4]
inc ecx
mov dword [ebp - 0xc4], ecx
cmp ecx, dword [edi + 8]
jl 0x1002614d
mov ecx, dword [ebp - 0xd4]
cmp byte [ecx + 0x1e], 0
jne 0x10026089
mov edx, dword [ebp - 0xdc]
inc edx
mov eax, esi
mov dword [eax + 0x58], edx
mov edi, 0x64
jmp 0x10025ec7
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea esi, [eax + ecx*8]
mov ecx, dword [edi + 8]
mov edi, dword [edi + 0xc]
lea edx, [ecx + ecx*4]
lea ebx, [eax + edx*8]
mov dl, byte [ebx + 0x1c]
lea ecx, [edi + edi*4]
lea edi, [eax + ecx*8]
movzx eax, word [esi + 0x1c]
or dl, al
mov dword [ebp - 0xe8], esi
mov dword [ebp - 0xe0], edi
test dl, 1
je 0x1002621e
mov esi, edi
call fcn.1001ecb0
jmp case.0x10025bc9.17
test eax, 0x4000
je 0x10026234
mov eax, esi
call fcn.1001e6d0
test eax, eax
jne 0x10026083
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x1002624e
mov eax, ebx
call fcn.1001e6d0
test eax, eax
jne 0x10026083
test byte [esi + 0x1c], 0x12
jne 0x1002626e
movzx esi, byte [ebp - 0xe4]
mov eax, dword [ebp - 0xe8]
call fcn.1001e780
test eax, eax
jne 0x10026083
test byte [ebx + 0x1c], 0x12
jne 0x1002628a
movzx esi, byte [ebp - 0xe4]
mov eax, ebx
call fcn.1001e780
test eax, eax
jne 0x10026083
mov esi, dword [ebp - 0xe8]
mov eax, dword [esi + 0x18]
add eax, dword [ebx + 0x18]
cdq
mov ecx, edx
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], ecx
mov eax, dword [edx + 0x48]
cdq
cmp ecx, edx
jg 0x10025e37
jl 0x100262c5
cmp dword [ebp - 0xc8], eax
ja 0x10025e37
mov ax, word [edi + 0x1c]
mov ecx, 0xbf02
and ax, cx
or ax, 2
mov word [edi + 0x1c], ax
mov ecx, dword [ebp - 0xc8]
xor eax, eax
cmp edi, ebx
sete al
add ecx, 2
call fcn.1001e550
test eax, eax
jne 0x10026083
cmp edi, ebx
je 0x1002630e
mov edx, dword [ebx + 0x18]
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 4]
push edx
push eax
push ecx
call fcn.1006ac70
add esp, 0xc
mov edx, dword [esi + 0x18]
mov ecx, dword [edi + 4]
mov eax, dword [esi + 4]
add ecx, dword [ebx + 0x18]
push edx
push eax
push ecx
call fcn.1006ac70
mov eax, dword [ebp - 0xc8]
mov edx, dword [edi + 4]
mov byte [eax + edx], 0
mov edx, dword [ebp - 0xc8]
mov ecx, dword [edi + 4]
mov byte [ecx + edx + 1], 0
mov dl, byte [ebp - 0xe4]
mov eax, 0x200
add esp, 0xc
or word [edi + 0x1c], ax
mov ecx, dword [ebp - 0xc8]
mov dword [edi + 0x18], ecx
mov byte [edi + 0x1f], dl
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov esi, ebx
call fcn.100258a0
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea esi, [eax + edx*8]
call fcn.100258a0
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0xd8]
lea ecx, [eax + eax*4]
movzx eax, word [ebx + 0x1c]
lea edx, [edx + ecx*8]
movzx ecx, word [esi + 0x1c]
or eax, ecx
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xc8], eax
test al, 1
jne 0x100265fa
mov al, byte [ebx + 0x1c]
and al, byte [esi + 0x1c]
test al, 4
je 0x100264c7
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xc0], ecx
mov ebx, dword [ebx + 0x14]
mov dword [ebp - 0xbc], ebx
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xb8], eax
mov esi, dword [esi + 0x14]
mov dword [ebp - 0xb4], esi
movzx edi, byte [edi]
add edi, 0xffffffaa
cmp edi, 3
ja case.default.0x100263f4
jmp dword [edi*4 + 0x1002b3d4]
add eax, ecx
adc esi, ebx
mov dword [ebp - 0xb4], esi
jmp 0x1002649c
sub eax, ecx
sbb esi, ebx
mov dword [ebp - 0xb4], esi
jmp 0x1002649c
push ebx
push ecx
push esi
push eax
call fcn.10069df0
jmp 0x10026490
mov edi, ecx
or edi, ebx
je 0x100265fa
mov edx, ecx
and edx, ebx
cmp edx, 0xffffffff
jne 0x10026456
test eax, eax
jne 0x10026456
cmp esi, 0x80000000
jne 0x10026456
mov ecx, 1
xor ebx, ebx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], ebx
push ebx
push ecx
push esi
push eax
call fcn.10067e90
jmp 0x10026490
mov edi, ecx
or edi, ebx
je 0x100265fa
mov edx, ecx
and edx, ebx
cmp edx, 0xffffffff
jne 0x10026487
mov ecx, 1
xor ebx, ebx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], ebx
push ebx
push ecx
push esi
push eax
call fcn.10067f40
mov dword [ebp - 0xb4], edx
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xb8], eax
mov cx, word [edx + 0x1c]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0xb4]
mov dword [edx + 0x14], eax
mov eax, 0xbf04
and cx, ax
or cx, 4
mov word [edx + 0x1c], cx
jmp case.0x10025bc9.17
mov eax, ebx
call fcn.1001ea20
fstp qword [ebp - 0xb0]
mov eax, esi
call fcn.1001ea20
fst qword [ebp - 0xa8]
movzx eax, byte [edi]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x100264ec
jmp dword [eax*4 + 0x1002b3e4]
fadd qword [ebp - 0xb0]
jmp 0x1002659c
fsub qword [ebp - 0xb0]
jmp 0x1002659c
fmul qword [ebp - 0xb0]
jmp 0x1002659c
fld qword [ebp - 0xb0]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x100265f0
fdivp st(1)
jmp 0x1002659c
fld qword [ebp - 0xb0]
call fcn.1006cc06
mov esi, eax
mov edi, edx
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], edi
call fcn.1006cc06
mov ecx, esi
or ecx, edi
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
je 0x100265f4
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x10026581
mov esi, 1
xor edi, edi
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], edi
push edi
push esi
push edx
push eax
call fcn.10067f40
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], edx
fild qword [ebp - 0x118]
sub esp, 8
fst qword [ebp - 0xa8]
fstp qword [esp]
call fcn.10006160
add esp, 8
test eax, eax
jne 0x100265f4
mov eax, dword [ebp - 0xe0]
fld qword [ebp - 0xa8]
mov dx, word [eax + 0x1c]
fstp qword [eax + 8]
mov ecx, 0xbf08
and dx, cx
or dx, 8
mov word [eax + 0x1c], dx
test byte [ebp - 0xc8], 8
jne case.0x10025bc9.17
mov esi, eax
call fcn.1001ea70
jmp case.0x10025bc9.17
fstp st(0)
fstp st(0)
mov edx, dword [ebp - 0xe0]
mov esi, edx
call fcn.1001ecb0
jmp case.0x10025bc9.17
movzx edx, byte [edi + 3]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x80], ecx
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x7c], edx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc8], eax
test edx, edx
jle 0x10026699
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x80]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0xc4]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x10026679
call fcn.1001e670
test eax, eax
jne 0x10026083
mov eax, dword [ebp - 0xc4]
mov ecx, eax
call fcn.10025750
mov eax, dword [ebp - 0xc8]
add dword [ebp - 0xc4], 0x28
inc eax
mov dword [ebp - 0xc8], eax
cmp eax, dword [ebp - 0x7c]
jl 0x10026649
cmp byte [edi + 1], 0xfb
mov eax, dword [edi + 0x10]
jne 0x100266b2
mov dword [ebp - 0xc0], eax
xor eax, eax
mov dword [ebp - 0xbc], eax
jmp 0x100266c2
mov dword [ebp - 0xbc], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
xor eax, eax
mov esi, dword [ebp - 0xd4]
mov edx, 1
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0xb8]
mov word [ebp - 0x9c], dx
mov dword [ebp - 0xb8], esi
call fcn.1001ef90
mov eax, dword [ebp - 0x9c]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x8c], 0
test byte [eax + 3], 8
je 0x10026725
mov ecx, dword [edi - 4]
mov dword [ebp - 0x88], ecx
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x7c]
mov eax, dword [eax + 0xc]
push edx
push ecx
lea edx, [ebp - 0xc0]
push edx
call eax
add esp, 0xc
cmp byte [esi + 0x1e], 0
jne 0x1002b00a
mov ebx, dword [ebp - 0xbc]
test ebx, ebx
je 0x10026769
mov ecx, dword [edi + 4]
push ecx
call fcn.10021fe0
mov edx, dword [ebp - 0xbc]
add esp, 4
mov dword [edi + 0x10], edx
mov byte [edi + 1], 0xf9
cmp dword [ebp - 0x8c], 0
je 0x100267a4
mov bl, 1
lea edi, [ebp - 0xb8]
call fcn.1001f590
mov edi, dword [ebp - 0xd0]
push eax
push 0x10075ca4
add edi, 0x38
mov eax, esi
call fcn.10004510
mov eax, dword [ebp - 0x8c]
add esp, 8
mov dword [ebp - 0xcc], eax
movzx ecx, byte [ebp - 0xe4]
lea eax, [ebp - 0xb8]
call fcn.1001e530
mov esi, dword [ebp - 0xe0]
lea ebx, [ebp - 0xb8]
mov eax, esi
call fcn.1001ef90
mov ecx, esi
call fcn.1001eeb0
test eax, eax
jne 0x10025e37
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea ebx, [eax + ecx*8]
mov ecx, dword [edi + 8]
lea edx, [ecx + ecx*4]
lea ecx, [eax + edx*8]
mov edx, dword [edi + 0xc]
lea edx, [edx + edx*4]
lea esi, [eax + edx*8]
mov al, byte [ecx + 0x1c]
or al, byte [ebx + 0x1c]
mov dword [ebp - 0xe0], esi
test al, 1
je 0x10026818
call fcn.1001ecb0
jmp case.0x10025bc9.17
call fcn.1001e9b0
mov ecx, ebx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
call fcn.1001e9b0
mov ecx, eax
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], edx
movzx eax, byte [edi]
sub eax, 0x52
je 0x1002688c
dec eax
je 0x1002687e
mov edx, dword [ebp - 0xc4]
dec eax
mov eax, dword [ebp - 0xc8]
je 0x1002686b
call fcn.1006ce50
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
jmp 0x10026898
call fcn.1006cbb0
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
jmp 0x10026898
or dword [ebp - 0xc8], ecx
or dword [ebp - 0xc4], edx
jmp 0x10026898
and dword [ebp - 0xc8], ecx
and dword [ebp - 0xc4], edx
mov ecx, dword [ebp - 0xc8]
mov ax, word [esi + 0x1c]
mov dword [esi + 0x10], ecx
mov edx, dword [ebp - 0xc4]
mov ecx, 0xbf04
and ax, cx
or ax, 4
mov dword [esi + 0x14], edx
mov word [esi + 0x1c], ax
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea esi, [eax + edx*8]
call fcn.1001eb10
mov eax, dword [edi + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xd8]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
call fcn.100258a0
test byte [esi + 0x1c], 8
je 0x10026905
call fcn.1001ea70
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x10026924
mov edi, dword [edi + 8]
test edi, edi
je 0x1002b01e
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
and eax, 0xbf04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.0x10025bc9.17
mov edi, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea eax, [edi + edi*4]
test byte [ecx + eax*8 + 0x1c], 4
lea esi, [ecx + eax*8]
je case.0x10025bc9.17
call fcn.1001eb90
jmp case.0x10025bc9.17
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0xd8]
lea edx, [edi + edi*4]
lea edi, [eax + edx*8]
movzx eax, word [edi + 0x1c]
test al, 1
jne case.0x10025bc9.17
mov ecx, eax
shr ecx, 3
and ecx, 2
or ecx, eax
mov word [edi + 0x1c], cx
test cl, 2
jne 0x1002699a
test cl, 0xc
je 0x1002699a
movzx esi, byte [ebp - 0xe4]
mov eax, edi
call fcn.1001e780
mov edx, 0xfff3
and word [edi + 0x1c], dx
movzx eax, word [edi + 0x1c]
test eax, 0x4000
je 0x100269c9
mov eax, edi
call fcn.1001e6d0
mov dword [ebp - 0xcc], eax
mov eax, 0xbfe3
and word [edi + 0x1c], ax
jmp case.0x10025bc9.17
mov eax, 0xbfe3
and word [edi + 0x1c], ax
mov dword [ebp - 0xcc], 0
jmp case.0x10025bc9.17
mov edi, dword [edi + 4]
mov edx, dword [ebp - 0xd8]
lea ecx, [edi + edi*4]
movzx eax, word [edx + ecx*8 + 0x1c]
lea edi, [edx + ecx*8]
test al, 1
jne case.0x10025bc9.17
test al, 0x10
jne 0x10026a30
test al, 2
jne 0x10026a17
test al, 0xc
je 0x10026a17
movzx esi, byte [ebp - 0xe4]
mov eax, edi
call fcn.1001e780
mov ax, word [edi + 0x1c]
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
mov word [edi + 0x1c], ax
jmp case.0x10025bc9.17
and eax, 0xff10
mov word [edi + 0x1c], ax
jmp case.0x10025bc9.17
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0xd8]
lea edx, [edi + edi*4]
lea eax, [eax + edx*8]
call fcn.1001ebf0
jmp case.0x10025bc9.17
mov edi, dword [edi + 4]
mov edx, dword [ebp - 0xd8]
lea ecx, [edi + edi*4]
test byte [edx + ecx*8 + 0x1c], 1
lea esi, [edx + ecx*8]
jne case.0x10025bc9.17
call fcn.1001eb10
jmp case.0x10025bc9.17
mov edi, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea eax, [edi + edi*4]
test byte [ecx + eax*8 + 0x1c], 1
lea esi, [ecx + eax*8]
jne case.0x10025bc9.17
call fcn.1001eb90
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0xd8]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0xc]
mov cx, word [ebx + edx*8 + 0x1c]
lea esi, [ebx + edx*8]
lea eax, [eax + eax*4]
mov word [ebp - 0xc2], cx
mov dx, word [ebx + eax*8 + 0x1c]
lea ebx, [ebx + eax*8]
mov word [ebp - 0xc0], dx
movzx eax, word [ebx + 0x1c]
movzx edx, word [esi + 0x1c]
mov cl, al
or cl, dl
test cl, 1
je 0x10026b44
mov cl, byte [edi + 3]
test cl, cl
jns 0x10026af8
and al, dl
test al, 1
mov eax, 0
sete al
jmp 0x10026bc3
test cl, 0x10
je 0x10026b2c
mov edi, dword [edi + 8]
mov eax, dword [ebp - 0xd8]
lea edx, [edi + edi*4]
mov cx, word [eax + edx*8 + 0x1c]
lea eax, [eax + edx*8]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov dword [ebp - 0xe0], eax
mov word [eax + 0x1c], cx
jmp case.0x10025bc9.17
test cl, 8
je case.0x10025bc9.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
mov al, byte [edi + 3]
and al, 0x67
mov byte [ebp - 0xc4], al
je 0x10026b8f
mov ecx, dword [ebp - 0xe4]
push ecx
mov edi, esi
call fcn.10025980
mov edx, dword [ebp - 0xe4]
mov al, byte [ebp - 0xc4]
add esp, 4
push edx
mov edi, ebx
call fcn.10025980
mov eax, dword [ebp - 0xd4]
add esp, 4
cmp byte [eax + 0x1e], 0
jne 0x10026083
mov edi, dword [ebp - 0xe8]
mov ecx, 0x4000
test word [esi + 0x1c], cx
je 0x10026ba1
mov eax, esi
call fcn.1001e6d0
mov edx, 0x4000
test word [ebx + 0x1c], dx
je 0x10026bb3
mov eax, ebx
call fcn.1001e6d0
mov eax, dword [edi + 0x10]
push eax
mov eax, esi
mov ecx, ebx
call fcn.1001f1d0
add esp, 4
mov dword [ebp - 0xc8], eax
movzx ecx, byte [edi]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x10026bd4
jmp dword [ecx*4 + 0x1002b3f4]
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x10026c17
xor edx, edx
test eax, eax
setne dl
jmp 0x10026c15
xor ecx, ecx
test eax, eax
sets cl
mov eax, ecx
jmp 0x10026c17
xor edx, edx
test eax, eax
setle dl
jmp 0x10026c15
xor ecx, ecx
test eax, eax
setg cl
mov eax, ecx
jmp 0x10026c17
xor edx, edx
test eax, eax
setns dl
mov eax, edx
mov dword [ebp - 0xc8], eax
test byte [edi + 3], 0x10
je 0x10026c71
mov edi, dword [edi + 8]
mov ecx, dword [ebp - 0xd8]
lea eax, [edi + edi*4]
mov dx, word [ecx + eax*8 + 0x1c]
lea ecx, [ecx + eax*8]
mov eax, 0xbf04
and dx, ax
or dx, 4
mov word [ecx + 0x1c], dx
mov eax, dword [ebp - 0xc8]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov dword [ebp - 0xe0], ecx
mov cl, byte [ebp - 0xc2]
mov byte [esi + 0x1c], cl
mov dl, byte [ebp - 0xc0]
mov byte [ebx + 0x1c], dl
jmp case.0x10025bc9.17
test eax, eax
je 0x10026c7f
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
mov cl, byte [ebp - 0xc2]
mov byte [esi + 0x1c], cl
mov dl, byte [ebp - 0xc0]
mov byte [ebx + 0x1c], dl
jmp case.0x10025bc9.17
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x100], eax
jmp case.0x10025bc9.17
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0xc8], ecx
mov ebx, dword [edi + 0x10]
mov dword [ebp - 0xb8], ebx
mov edx, dword [edi + 4]
mov dword [ebp - 0xc0], edx
mov eax, dword [edi + 8]
mov dword [ebp - 0xbc], eax
xor eax, eax
mov dword [ebp - 0xc4], eax
test ecx, ecx
jle 0x10026d7d
mov esi, dword [ebp - 0xd8]
mov edi, dword [ebp - 0x100]
jmp 0x10026cec
mov ebx, dword [ebp - 0xb8]
test edi, edi
je 0x10026cf5
mov ecx, dword [edi + eax*4]
jmp 0x10026cf7
mov ecx, eax
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebx + eax*4 + 0xc]
mov dword [ebp - 0xb0], edx
mov ebx, dword [ebx + 8]
movzx eax, byte [ebx + eax]
mov dword [ebp - 0xac], eax
push edx
mov edx, dword [ebp - 0xbc]
lea eax, [ecx + edx]
add ecx, dword [ebp - 0xc0]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [esi + eax*8]
lea ecx, [esi + ecx*8]
call fcn.1001f1d0
add esp, 4
mov dword [ebp - 0xf8], eax
test eax, eax
jne 0x10026d66
mov eax, dword [ebp - 0xc4]
inc eax
mov dword [ebp - 0xc4], eax
cmp eax, dword [ebp - 0xc8]
jl 0x10026ce6
mov dword [ebp - 0x100], 0
jmp case.0x10025bc9.17
cmp dword [ebp - 0xac], 0
je 0x10026d7d
mov edx, dword [ebp - 0xf8]
neg edx
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0x100], 0
jmp case.0x10025bc9.17
mov eax, dword [ebp - 0xf8]
test eax, eax
jns 0x10026da5
mov edi, dword [edi + 4]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
jne 0x10026db6
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
mov edi, dword [edi + 0xc]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
lea ecx, [esi + eax*8]
je 0x10026de2
mov edx, 2
jmp 0x10026df4
call fcn.1001e9b0
or eax, edx
je 0x10026df2
mov edx, 1
jmp 0x10026df4
xor edx, edx
mov dword [ebp - 0xc8], edx
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
test byte [esi + ecx*8 + 0x1c], 1
lea ecx, [esi + ecx*8]
je 0x10026e11
mov eax, 2
jmp 0x10026e29
call fcn.1001e9b0
or eax, edx
mov edx, dword [ebp - 0xc8]
je 0x10026e27
mov eax, 1
jmp 0x10026e29
xor eax, eax
mov dword [ebp - 0xc4], eax
cmp byte [edi], 0x45
jne 0x10026e41
lea eax, [eax + edx*2]
movzx eax, byte [edx + eax + 0x10072d44]
jmp 0x10026e4c
lea ecx, [eax + edx*2]
movzx eax, byte [edx + ecx + 0x10072d78]
mov dword [ebp - 0xc8], eax
mov edi, dword [edi + 0xc]
lea edx, [edi + edi*4]
lea ecx, [esi + edx*8]
mov dword [ebp - 0xe0], ecx
cmp eax, 2
jne 0x10026e7f
mov ax, word [ecx + 0x1c]
mov edx, 0xbf01
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
jmp case.0x10025bc9.17
cdq
mov dword [ecx + 0x10], eax
mov ax, word [ecx + 0x1c]
mov dword [ecx + 0x14], edx
mov edx, 0xbf04
and ax, dx
or ax, 4
mov word [ecx + 0x1c], ax
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0xd8]
mov edi, dword [edi + 8]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
lea ecx, [esi + eax*8]
lea edx, [edi + edi*4]
lea esi, [esi + edx*8]
mov dword [ebp - 0xe0], esi
je 0x10026ece
call fcn.1001ecb0
jmp case.0x10025bc9.17
call fcn.1001e9b0
or eax, edx
jne 0x10026eec
mov eax, 1
cdq
push edx
push eax
call fcn.1001ed00
add esp, 8
jmp case.0x10025bc9.17
xor eax, eax
cdq
push edx
push eax
call fcn.1001ed00
add esp, 8
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0xd8]
mov edi, dword [edi + 8]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
lea ecx, [esi + eax*8]
lea edx, [edi + edi*4]
lea esi, [esi + edx*8]
mov dword [ebp - 0xe0], esi
je 0x10026f2d
call fcn.1001ecb0
jmp case.0x10025bc9.17
call fcn.1001e9b0
not edx
not eax
push edx
push eax
call fcn.1001ed00
add esp, 8
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea eax, [ecx + eax*8]
je 0x10026f60
mov eax, dword [edi + 0xc]
jmp 0x10026f8d
call fcn.1001ea20
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10026f77
mov eax, 1
jmp 0x10026f79
xor eax, eax
mov dword [ebp - 0xc8], eax
cmp byte [edi], 0x1b
jne 0x10026f93
xor edx, edx
test eax, eax
sete dl
mov eax, edx
mov dword [ebp - 0xc8], eax
test eax, eax
je case.0x10025bc9.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je case.0x10025bc9.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
test byte [eax + edx*8 + 0x1c], 1
jne case.0x10025bc9.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
mov ecx, dword [edi + 4]
xor eax, eax
mov dword [ebp - 0xb8], ecx
mov edx, dword [edi + 8]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
xor ebx, ebx
mov dword [ebp - 0xb0], ebx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x8c], eax
mov dx, word [eax + 0x1c]
mov esi, 0xbf01
and dx, si
or dx, 1
mov word [eax + 0x1c], dx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x44]
mov esi, dword [ebp - 0xb8]
mov dword [ebp - 0xac], ebx
mov esi, dword [eax + esi*4]
mov dword [ebp - 0xb0], esi
mov eax, dword [esi]
mov dword [ebp - 0xa8], eax
cmp eax, ebx
je 0x1002711d
call fcn.10022290
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x1002b0ff
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x1c], bl
je 0x100270b6
mov dword [ebp - 0xc8], ebx
jmp case.0x10025bc9.17
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0xd0]
cmp ecx, dword [edx + 0x54]
jne 0x100270d8
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0xc8], ecx
mov edx, dword [eax + 0x5c]
mov dword [ebp - 0xac], edx
jmp 0x10027155
mov esi, dword [ebp - 0xa8]
cmp byte [eax + 0x1f], bl
je 0x10027106
lea eax, [ebp - 0xc0]
push eax
call fcn.10016b10
mov ecx, dword [ebp - 0xc0]
add esp, 4
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], ecx
jmp 0x1002714f
lea edx, [ebp - 0xc8]
push edx
call fcn.10016b90
add esp, 4
mov dword [ebp - 0xcc], eax
jmp 0x1002714f
mov eax, dword [esi + 0x10]
cmp eax, ebx
jle 0x100270ab
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x48], eax
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0xac], eax
test byte [edi + 3], 0x20
je 0x10027149
xor eax, eax
jmp 0x1002714c
mov eax, dword [edx + 0x54]
mov dword [esi + 0x4c], eax
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
je case.0x10025bc9.17
mov edx, dword [ebp - 0xd4]
cmp ecx, dword [edx + 0x48]
ja 0x10025e37
mov edx, dword [eax + 0x14]
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0x9c], edx
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0xa4], ecx
mov ebx, dword [eax + 0x4c]
cmp ebx, dword [esi + 0x54]
jne 0x100271a0
mov eax, dword [eax + 0x58]
mov dword [ebp - 0xa0], eax
jmp 0x100273f5
lea ecx, [ecx + edx*4]
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x4c], 0
mov dword [eax + 0x58], ecx
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xc8]
mov dword [ecx + 0x50], edx
mov ecx, dword [ebp - 0xb0]
mov eax, dword [esi + 0x54]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0xac]
test ecx, ecx
je 0x100271e0
mov dword [ebp - 0x90], ecx
jmp 0x1002724b
mov edx, dword [ebp - 0xb0]
cmp byte [edx + 0x1f], 0
mov esi, dword [ebp - 0xa8]
je 0x10027200
lea eax, [ebp - 0x4c]
push eax
call fcn.100172e0
add esp, 4
jmp 0x10027216
xor eax, eax
cmp byte [esi + 0x53], 1
jne 0x10027216
lea ecx, [ebp - 0x4c]
push 1
push ecx
call fcn.10017250
add esp, 8
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0x90], eax
cmp edx, dword [ebp - 0x4c]
ja 0x10027238
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0xac], eax
mov dword [ecx + 0x5c], eax
jmp 0x10027245
mov edx, dword [ebp - 0xb0]
mov dword [edx + 0x5c], 0
mov ecx, dword [ebp - 0x90]
mov al, byte [ecx]
cmp al, 0x80
jae 0x1002725e
movzx edx, al
mov dword [ebp - 0x58], edx
mov eax, 1
jmp 0x10027272
lea esi, [ebp - 0x58]
call fcn.10006eb0
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x90]
movzx eax, al
movzx eax, al
mov dword [ebp - 0x50], eax
cmp edx, 0x18003
jbe 0x10027295
mov eax, 0xf567
call fcn.10065c20
mov dword [ebp - 0xcc], eax
jmp case.0x10025bc9.17
mov esi, dword [ebp - 0x9c]
lea eax, [esi + esi*4 + 3]
mov dword [ebp - 0x98], eax
cmp eax, edx
jle 0x100272b1
mov eax, edx
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0xac], 0
jne 0x10027317
cmp dword [ebp - 0x4c], eax
jge 0x10027317
mov edx, dword [ebp - 0xb0]
xor ecx, ecx
mov word [ebp - 0x6c], cx
mov dword [ebp - 0x88], ecx
movzx ecx, byte [edx + 0x1f]
mov edx, dword [ebp - 0xa8]
push ecx
push eax
push 0
push edx
lea ebx, [ebp - 0x88]
call fcn.1001f450
add esp, 0x10
mov dword [ebp - 0xcc], eax
test eax, eax
jne case.0x10025bc9.17
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x98]
mov esi, dword [ebp - 0x9c]
mov dword [ebp - 0x90], ecx
add eax, ecx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x50]
add eax, ecx
xor ecx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x94], ecx
test esi, esi
jle 0x100273ac
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0xa0]
jae 0x10027443
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x60]
mov al, byte [ecx]
mov edx, dword [ebp - 0x94]
cmp al, 0x80
jae 0x10027367
movzx ecx, al
mov eax, dword [ebp - 0xa4]
mov dword [eax + edx*4], ecx
mov eax, 1
jmp 0x10027378
mov eax, dword [ebp - 0xa4]
lea esi, [eax + edx*4]
call fcn.10006eb0
movzx eax, al
mov edx, dword [ebp - 0xa4]
movzx ecx, al
add dword [ebp - 0x60], ecx
mov ecx, dword [ebp - 0x94]
mov eax, dword [edx + ecx*4]
call fcn.10022410
mov edx, dword [ebp - 0x58]
add edx, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x58], edx
cmp edx, eax
jae 0x10027453
mov ecx, dword [ebp - 0x5c]
inc ecx
mov dword [ebp - 0x60], ecx
lea edx, [ebp - 0x88]
push edx
call fcn.1001e910
mov ecx, dword [ebp - 0x5c]
mov eax, 1
mov word [ebp - 0x6c], ax
mov eax, dword [ebp - 0x60]
add esp, 4
cmp eax, ecx
ja 0x1002757c
mov edx, dword [ebp - 0x58]
mov esi, dword [ebp - 0xc8]
cmp edx, esi
ja 0x1002757c
cmp eax, ecx
jne 0x100273ef
cmp edx, esi
jne 0x1002757c
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xa0]
cmp dword [edx + eax*4], 0
je 0x1002750a
cmp dword [ebp - 0xac], 0
je 0x1002746b
mov eax, dword [ebp - 0x8c]
call fcn.1001e8a0
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ecx + eax*4]
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx + eax*4]
add ecx, dword [ebp - 0xac]
push edx
jmp 0x100274eb
mov dword [eax + ecx*4], 0
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x94]
inc ecx
mov dword [ebp - 0x94], ecx
cmp ecx, dword [ebp - 0x9c]
jl 0x10027330
jmp 0x100273ac
mov eax, dword [ecx + eax*4]
call fcn.10022410
mov ebx, dword [ebp - 0x8c]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x88]
call fcn.1001ef90
mov edx, dword [ebp - 0xb0]
movzx eax, byte [edx + 0x1f]
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0xa0]
push eax
mov eax, dword [ebp - 0xb4]
push ecx
mov ecx, dword [edx + eax*4]
mov edx, dword [ebp - 0xa8]
push ecx
push edx
lea ebx, [ebp - 0x88]
call fcn.1001f450
add esp, 0x10
mov dword [ebp - 0xcc], eax
test eax, eax
jne case.0x10025bc9.17
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x90], ecx
mov eax, dword [eax + edx*4]
push eax
mov esi, dword [ebp - 0x8c]
call fcn.100224e0
mov ecx, dword [ebp - 0x8c]
mov dl, byte [ebp - 0xe4]
add esp, 4
mov byte [ecx + 0x1f], dl
jmp 0x10027527
cmp byte [edi + 1], 0xf8
jne 0x10027527
mov eax, dword [edi + 0x10]
mov ebx, dword [ebp - 0x8c]
push 0x800
push eax
call fcn.1001eee0
add esp, 8
cmp dword [ebp - 0x64], 0
je 0x10027566
mov eax, dword [ebp - 0x8c]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [ebp - 0x8c]
mov edx, 0x200
or word [eax + 0x1c], dx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x84]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0x8c]
call fcn.1001e670
mov dword [ebp - 0xcc], eax
jmp case.0x10025bc9.17
mov eax, 0xf5b1
call fcn.10065c20
mov dword [ebp - 0xcc], eax
jmp case.0x10025bc9.17
mov ecx, dword [edi + 0x10]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], ecx
mov edi, dword [edi + 4]
lea edx, [edi + edi*4]
lea edi, [eax + edx*8]
mov al, byte [ecx]
mov byte [ebp - 0xc4], al
test al, al
je 0x10027603
jmp 0x100275c0
inc ecx
mov dword [ebp - 0xc8], ecx
mov ecx, 0x4000
test word [edi + 0x1c], cx
je 0x100275df
mov eax, edi
call fcn.1001e6d0
mov al, byte [ebp - 0xc4]
mov edx, dword [ebp - 0xe4]
push edx
call fcn.10025980
mov ecx, dword [ebp - 0xc8]
mov al, byte [ecx]
add esp, 4
add edi, 0x28
mov byte [ebp - 0xc4], al
test al, al
jne 0x100275c0
inc ecx
mov dword [ebp - 0xc8], ecx
jmp case.0x10025bc9.17
xor esi, esi
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xa8], esi
mov eax, dword [edi + 4]
mov dword [ebp - 0x94], eax
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x90], ecx
mov ecx, dword [ebp - 0xd8]
lea edx, [eax + eax*4]
lea ebx, [ecx + edx*8]
mov edx, dword [ebp - 0xd0]
movzx edx, byte [edx + 0x66]
mov dword [ebp - 0x9c], ebx
mov eax, dword [edi + 8]
mov dword [ebp - 0x94], eax
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8 - 0x28]
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x98], eax
mov edi, dword [edi + 0xc]
lea edx, [edi + edi*4]
lea ecx, [ecx + edx*8]
mov edi, ebx
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xc4], edi
cmp ebx, eax
ja 0x10027789
mov edi, edi
mov esi, dword [ebp - 0x90]
test esi, esi
je 0x100276dd
mov edx, dword [ebp - 0xe4]
mov ecx, edi
push edx
sub ecx, ebx
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov al, byte [eax + esi]
call fcn.10025980
mov ebx, dword [ebp - 0x9c]
mov edi, dword [ebp - 0xc4]
add esp, 4
mov ecx, 0x4000
test word [edi + 0x1c], cx
je 0x10027701
cmp dword [edi + 0x18], 0
jle 0x10027701
mov eax, edi
call fcn.1001e6d0
mov ebx, dword [ebp - 0x9c]
mov edi, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x8c]
push edx
mov edx, edi
call fcn.10022330
mov ecx, eax
add esp, 4
mov dword [ebp - 0xa0], ecx
call fcn.10022410
mov dword [ebp - 0x84], eax
cdq
add dword [ebp - 0xc0], eax
push 0
push ecx
adc dword [ebp - 0xbc], edx
call fcn.10006f20
mov esi, dword [ebp - 0xb8]
add esi, eax
mov eax, 0x4000
add esp, 8
mov dword [ebp - 0xb8], esi
test word [edi + 0x1c], ax
je 0x10027761
mov ecx, dword [edi + 0x10]
add dword [ebp - 0xa8], ecx
jmp 0x10027774
cmp dword [ebp - 0x84], 0
je 0x10027774
mov dword [ebp - 0xa8], 0
add edi, 0x28
mov dword [ebp - 0xc4], edi
cmp edi, dword [ebp - 0x98]
jbe 0x100276a0
mov eax, esi
cdq
push edx
push eax
call fcn.10006f20
mov edi, eax
add esi, edi
mov eax, esi
cdq
push edx
push eax
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0xb8], esi
call fcn.10006f20
add esp, 0x10
cmp edi, eax
jge 0x100277bb
inc esi
mov dword [ebp - 0xb8], esi
mov eax, dword [ebp - 0xa8]
cdq
mov ebx, eax
mov dword [ebp - 0xe8], edx
mov eax, esi
cdq
mov ecx, eax
mov edi, edx
mov edx, dword [ebp - 0xd4]
sub ecx, ebx
sbb edi, dword [ebp - 0xe8]
add ecx, dword [ebp - 0xc0]
adc edi, dword [ebp - 0xbc]
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xac], edi
mov eax, dword [edx + 0x48]
cdq
cmp edi, edx
jg 0x10025e37
jl 0x1002780d
cmp ecx, eax
ja 0x10025e37
mov edi, dword [ebp - 0xe0]
xor eax, eax
call fcn.1001e550
test eax, eax
jne 0x10026083
mov eax, dword [ebp - 0xb8]
mov esi, edi
mov ecx, dword [esi + 4]
mov dword [ebp - 0xc8], ecx
cmp eax, 0x80
jae 0x10027843
mov byte [ecx], al
mov eax, 1
jmp 0x10027848
call fcn.10006d00
mov ecx, dword [ebp - 0x9c]
movzx edi, al
mov eax, dword [ebp - 0x98]
mov edx, ecx
mov dword [ebp - 0x88], edi
mov dword [ebp - 0xc4], edx
cmp ecx, eax
ja 0x100278db
lea esp, [esp]
mov ecx, dword [ebp - 0x8c]
push ecx
call fcn.10022330
add esp, 4
mov dword [ebp - 0xa0], eax
cmp eax, 0x80
jae 0x1002789e
mov dl, al
mov eax, dword [ebp - 0xc8]
mov byte [edi + eax], dl
mov eax, 1
jmp 0x100278ab
mov ecx, dword [ebp - 0xc8]
add ecx, edi
call fcn.10006d00
mov edi, dword [ebp - 0x88]
movzx edx, al
mov eax, dword [ebp - 0x98]
add edi, edx
mov edx, dword [ebp - 0xc4]
add edx, 0x28
mov dword [ebp - 0x88], edi
mov dword [ebp - 0xc4], edx
cmp edx, eax
jbe 0x10027870
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0xc4], ecx
cmp ecx, eax
ja 0x1002793b
jmp 0x100278f0
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xc8]
sub eax, edi
push eax
mov eax, dword [ebp - 0x8c]
lea ebx, [edi + edx]
call fcn.10022430
mov ecx, dword [ebp - 0xc4]
mov edi, dword [ebp - 0x88]
add ecx, 0x28
add edi, eax
add esp, 4
mov dword [ebp - 0x88], edi
mov dword [ebp - 0xc4], ecx
cmp ecx, dword [ebp - 0x98]
jbe 0x100278f0
mov esi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xb0]
mov ecx, 0x410
mov dword [esi + 0x18], eax
mov word [esi + 0x1c], cx
mov dword [esi + 0x20], 0
mov eax, dword [ebp - 0xa8]
test eax, eax
je 0x1002796a
mov edx, 0x4410
mov dword [esi + 0x10], eax
mov word [esi + 0x1c], dx
mov byte [esi + 0x1f], 1
jmp case.0x10025bc9.17
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov eax, dword [eax]
xor ecx, ecx
mov dword [ebp - 0xc0], eax
cmp eax, ecx
je 0x100279c2
lea ecx, [ebp - 0xc8]
push ecx
call fcn.1001b8d0
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xc4]
add esp, 4
mov dword [eax + 0x14], ecx
jmp case.0x10025bc9.17
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], ecx
mov edx, ecx
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xc4]
mov dword [eax + 0x14], ecx
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov dword [ebp - 0xc8], eax
mov edi, dword [edi + 0x10]
mov dword [ebp - 0xc4], edi
test eax, eax
jne 0x10027adc
mov eax, dword [ebp - 0xd4]
cmp dword [eax + 0x90], 0
jle 0x10027a35
mov edi, dword [ebp - 0xd0]
push str.cannot_open_savepoint___SQL_statements_in_progress
add edi, 0x38
call fcn.10004510
add esp, 4
mov dword [ebp - 0xcc], 5
jmp case.0x10025bc9.17
mov ecx, edi
call fcn.10006190
mov esi, dword [ebp - 0xd4]
lea ecx, [eax + 0x19]
mov dword [ebp - 0xc0], eax
call fcn.10004360
mov dword [ebp - 0xbc], eax
test eax, eax
je case.0x10025bc9.17
lea edx, [eax + 0x18]
mov dword [eax], edx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xbc]
inc eax
push eax
mov eax, dword [edx]
push ecx
push eax
call fcn.1006ac70
mov eax, esi
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x10027a98
mov byte [eax + 0x1c], 0
mov byte [eax + 0x1e8], 1
jmp 0x10027a9e
inc dword [eax + 0x1e0]
mov ecx, dword [eax + 0x1dc]
mov edx, dword [ebp - 0xbc]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp - 0xbc]
mov edx, dword [eax + 0x1f0]
mov dword [eax + 0x1dc], ecx
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0x1f4]
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0xc], edx
jmp case.0x10025bc9.17
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xb0], 0
mov ebx, dword [esi + 0x1dc]
mov dword [ebp - 0xb8], ebx
test ebx, ebx
je 0x10027b20
lea esp, [esp]
mov ecx, dword [ebx]
mov edx, edi
call fcn.100063b0
test eax, eax
je 0x10027b48
inc dword [ebp - 0xb0]
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 0xb8], ebx
test ebx, ebx
jne 0x10027b00
push edi
mov edi, dword [ebp - 0xd0]
push str.no_such_savepoint:__s
add edi, 0x38
mov eax, esi
call fcn.10004510
add esp, 8
mov dword [ebp - 0xcc], 1
jmp case.0x10025bc9.17
cmp dword [esi + 0x90], 0
jg 0x10027d35
mov eax, dword [ebp - 0xc8]
cmp eax, 2
jne 0x10027b6d
cmp dword [esi + 0x8c], 1
jg 0x10027d3e
cmp dword [ebx + 0x10], 0
jne 0x10027c67
cmp byte [esi + 0x1e8], 0
je 0x10027c67
mov dword [ebp - 0xe8], 1
cmp eax, 1
jne 0x10027c71
mov ebx, dword [ebp - 0xd0]
push eax
mov ecx, ebx
call fcn.10021a10
mov edi, eax
add esp, 4
test edi, edi
jne 0x10025ec7
mov byte [esi + 0x1c], 1
call fcn.10021a70
cmp eax, 5
je 0x1002b02d
mov byte [esi + 0x1e8], 0
mov ecx, dword [ebx + 0x5c]
mov ebx, dword [ebp - 0xb8]
mov dword [ebp - 0xcc], ecx
mov edi, esi
cmp dword [edi + 0x1dc], ebx
je 0x10027c29
jmp 0x10027bf0
mov eax, dword [edi + 0x1dc]
mov dword [ebp - 0xb4], eax
mov eax, dword [eax + 0x10]
mov dword [edi + 0x1dc], eax
mov ecx, dword [ebp - 0xb4]
push ecx
push edi
call fcn.10004120
dec dword [edi + 0x1e0]
mov ebx, dword [ebp - 0xb8]
add esp, 8
cmp dword [edi + 0x1dc], ebx
jne 0x10027bf0
cmp dword [ebp - 0xc8], 1
jne 0x10027d1e
mov edx, dword [ebx + 0x10]
mov dword [edi + 0x1dc], edx
mov eax, dword [ebp - 0xb8]
push eax
push edi
call fcn.10004120
add esp, 8
cmp dword [ebp - 0xe8], 0
jne case.0x10025bc9.17
dec dword [edi + 0x1e0]
jmp case.0x10025bc9.17
mov dword [ebp - 0xe8], 0
mov ecx, dword [esi + 0x1e0]
sub ecx, dword [ebp - 0xb0]
xor eax, eax
dec ecx
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xac], eax
cmp dword [esi + 4], eax
jle 0x10027cdc
mov edx, esi
jmp 0x10027c9b
mov ecx, dword [ebp - 0xb0]
mov edx, dword [edx + 8]
push ecx
mov ecx, dword [ebp - 0xc8]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
push ecx
call fcn.10016850
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x1002b0ff
mov eax, dword [ebp - 0xac]
inc eax
mov edx, esi
mov dword [ebp - 0xac], eax
cmp eax, dword [edx + 4]
jl 0x10027c95
mov ebx, dword [ebp - 0xb8]
cmp dword [ebp - 0xc8], 2
jne 0x10027bda
mov edi, dword [ebp - 0xd4]
mov esi, 0x200
test dword [edi + 0xc], esi
je 0x10027bdc
mov eax, edi
call fcn.10022dc0
push 0
mov eax, edi
call fcn.10037a30
add esp, 4
or dword [edi + 0xc], esi
mov ebx, dword [ebp - 0xb8]
jmp 0x10027bdc
mov ecx, dword [ebx + 8]
mov dword [edi + 0x1f0], ecx
mov edx, dword [ebx + 0xc]
mov dword [edi + 0x1f4], edx
jmp case.0x10025bc9.17
cmp dword [ebp - 0xc8], 2
jne 0x10027d45
mov eax, str.rollback
jmp 0x10027d4a
mov eax, str.release
mov edi, dword [ebp - 0xd0]
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
add edi, 0x38
mov eax, esi
call fcn.10004510
add esp, 8
mov dword [ebp - 0xcc], 5
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], eax
mov edi, dword [edi + 8]
mov dword [ebp - 0xc4], edi
test eax, eax
je 0x10027db2
cmp byte [esi + 0x1c], 0
jne 0x10027db2
mov ebx, 1
mov dword [ebp - 0xc0], ebx
test edi, edi
je 0x10027dd8
cmp dword [esi + 0x8c], ebx
jle 0x10027dc1
push str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x10027de6
mov dword [ebp - 0xc0], 0
mov ebx, 1
movzx ecx, byte [esi + 0x1c]
cmp eax, ecx
jne 0x1002b047
test eax, eax
jne 0x10027e08
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x10027e16
cmp dword [esi + 0x90], 0
jle 0x10027dc1
push str.cannot_commit_transaction___SQL_statements_in_progress
mov edi, dword [ebp - 0xd0]
add edi, 0x38
mov eax, esi
call fcn.10004510
add esp, 4
mov dword [ebp - 0xcc], 5
jmp case.0x10025bc9.17
mov eax, str.cannot_rollback___no_transaction_is_active
test edi, edi
jne 0x10027e16
mov eax, str.cannot_commit___no_transaction_is_active
mov edi, dword [ebp - 0xd0]
push eax
add edi, 0x38
mov eax, esi
call fcn.10004510
add esp, 4
mov dword [ebp - 0xcc], ebx
jmp case.0x10025bc9.17
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 8]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
mov dword [ebp - 0xc8], eax
test eax, eax
je case.0x10025bc9.17
mov edx, dword [edi + 8]
push edx
push eax
call fcn.10015280
add esp, 8
mov dword [ebp - 0xcc], eax
cmp eax, 5
je 0x1002b0c7
test eax, eax
jne 0x1002b0ff
cmp dword [edi + 8], eax
je case.0x10025bc9.17
mov edi, dword [ebp - 0xd0]
cmp byte [edi + 0x68], al
je case.0x10025bc9.17
mov esi, dword [ebp - 0xd4]
cmp byte [esi + 0x1c], al
je 0x10027ea9
cmp dword [esi + 0x8c], 1
jle case.0x10025bc9.17
cmp dword [edi + 0x74], 0
jne 0x10027ec4
mov ecx, dword [esi + 0x1e0]
inc dword [esi + 0x1e4]
add ecx, dword [esi + 0x1e4]
mov dword [edi + 0x74], ecx
mov edx, dword [edi + 0x74]
mov eax, dword [ebp - 0xc8]
push edx
call fcn.10016800
mov dword [ebp - 0xcc], eax
mov eax, dword [esi + 0x1f0]
mov dword [edi + 0xc8], eax
mov ecx, dword [esi + 0x1f4]
add esp, 4
mov dword [edi + 0xcc], ecx
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], eax
mov edi, dword [edi + 0xc]
lea edx, [ebp - 0xc8]
mov dword [ebp - 0xc0], edi
push edx
mov edx, dword [ecx + 8]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
push edi
call fcn.1001b7d0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xe0]
cdq
add esp, 8
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd4]
shl eax, 4
add eax, dword [ecx + 8]
mov dword [ebp - 0xc8], eax
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea esi, [eax + edx*8]
call fcn.1001eb10
mov ecx, dword [esi + 0x10]
mov edx, dword [edi + 8]
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 4]
push ecx
push edx
call fcn.1001b840
mov dword [ebp - 0xcc], eax
mov eax, dword [edi + 8]
add esp, 8
cmp eax, 1
jne 0x10027faf
mov ecx, dword [ebp - 0xc8]
mov eax, dword [esi + 0x10]
mov edx, dword [ecx + 0xc]
mov dword [edx], eax
mov eax, dword [ebp - 0xd4]
or dword [eax + 0xc], 0x200
jmp 0x10027fc3
cmp eax, 2
jne 0x10027fc3
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx + 0xc]
mov al, byte [esi + 0x10]
mov byte [edx + 0x48], al
cmp dword [edi + 4], 1
jne case.0x10025bc9.17
mov eax, dword [ebp - 0xd4]
call fcn.10022dc0
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x64], 0
jmp case.0x10025bc9.17
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 8]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x10028016
lea edx, [ebp - 0xc8]
push edx
push 1
call fcn.1001b7d0
add esp, 8
jmp 0x10028020
mov dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0xc8]
cmp eax, dword [edi + 8]
je case.0x10025bc9.17
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x38]
mov esi, dword [ebp - 0xd4]
push edx
push esi
call fcn.10004120
push esi
mov ebx, str.database_schema_has_changed
call fcn.10004490
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x38], eax
mov edi, dword [edi + 4]
mov eax, dword [esi + 8]
mov edx, edi
add edx, edx
mov ecx, dword [eax + edx*8 + 0xc]
mov edx, dword [ecx]
add esp, 0xc
cmp edx, dword [ebp - 0xc8]
je 0x1002807f
push edi
mov eax, esi
call fcn.10037a30
add esp, 4
mov eax, esi
call fcn.10022dc0
mov dword [ebp - 0xcc], 0x11
jmp case.0x10025bc9.17
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x64], 0
je 0x100280b0
mov dword [ebp - 0xcc], 4
jmp case.0x10025bc9.17
mov esi, dword [ebp - 0xd4]
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], ecx
mov edx, dword [edi + 8]
mov dword [ebp - 0xc0], edx
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xbc], eax
shl eax, 4
add eax, dword [esi + 8]
mov dword [ebp - 0xac], eax
mov esi, dword [eax + 4]
mov dword [ebp - 0xb4], esi
cmp byte [edi], 0x27
jne 0x10028110
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0xb8], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x48]
cmp al, byte [esi + 0x66]
jae 0x10028116
mov byte [esi + 0x66], al
jmp 0x10028116
mov dword [ebp - 0xb8], ecx
cmp byte [edi + 3], cl
je 0x10028144
lea ecx, [edx + edx*4]
mov edx, dword [ebp - 0xd8]
lea esi, [edx + ecx*8]
call fcn.1001eb10
mov esi, dword [esi + 0x10]
mov dword [ebp - 0xc0], esi
cmp esi, 2
jl 0x1002b0e3
mov ecx, dword [ebp - 0xc8]
mov al, byte [edi + 1]
cmp al, 0xfa
jne 0x10028175
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xc4], eax
mov ecx, dword [edx + 8]
mov edx, dword [ecx + 0xc]
mov cl, byte [edx + 0x49]
mov byte [eax + 4], cl
mov edx, dword [ebp - 0xc4]
movzx ecx, word [edx + 6]
inc ecx
jmp 0x1002817c
cmp al, 0xf2
jne 0x10028182
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xd0]
push 1
push eax
push ecx
mov ecx, dword [edi + 4]
push ecx
push edx
call fcn.10025780
add esp, 0x14
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x10026083
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xb0]
mov byte [eax + 0x20], 1
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xb8]
push edx
mov edx, dword [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xb4]
push ecx
push edx
call fcn.10016970
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xc4]
add esp, 0x10
mov dword [ebp - 0xcc], eax
mov dword [ecx + 8], edx
cmp eax, 0x10
jne 0x10028217
mov eax, dword [ebp - 0xb0]
mov dword [eax], 0
mov dword [ebp - 0xcc], 0
cmp byte [edi + 1], 0xfa
mov edx, dword [ebp - 0xb0]
setne cl
mov byte [edx + 0x1e], cl
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x1e], 0
sete cl
mov byte [eax + 0x1f], cl
jmp case.0x10025bc9.17
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0xd0]
push 1
push 0xffffffffffffffff
push edx
push eax
push esi
call fcn.10025780
add esp, 0x14
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x10026083
mov edx, dword [ebp - 0xd4]
mov byte [eax + 0x1c], 1
movzx ecx, byte [edi + 3]
or ecx, 9
push 0x41e
push ecx
mov ecx, dword [ebp - 0xc8]
add ecx, 4
push 0
call fcn.100142d0
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x1002836c
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 4]
push 1
push eax
call fcn.10015280
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x1002836c
cmp dword [edi + 0x10], eax
je 0x10028342
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 4]
lea ecx, [ebp - 0x104]
push 2
push ecx
call fcn.1001b170
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x10028336
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
mov edx, dword [edi + 0x10]
mov eax, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x104]
push edx
push 1
push ecx
call fcn.10016970
mov edx, dword [edi + 0x10]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 8], edx
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx + 8]
mov al, byte [eax + 0x49]
add esp, 0x10
mov byte [edx + 4], al
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x1e], 0
jmp 0x1002836c
mov eax, dword [ebp - 0xc8]
mov edx, dword [eax]
mov eax, dword [eax + 4]
push edx
push 0
push 1
push 1
call fcn.10016970
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
add esp, 0x10
mov byte [eax + 0x1e], 1
cmp byte [edi + 3], 0x10
mov edx, dword [ebp - 0xc8]
setne cl
mov byte [edx + 0x20], cl
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x1e], 0
sete cl
mov byte [eax + 0x1f], cl
jmp case.0x10025bc9.17
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd0]
push 0
push 0xffffffffffffffff
push edx
push eax
push ecx
call fcn.10025780
add esp, 0x14
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x10026083
mov byte [eax + 0x1c], 1
mov edx, dword [edi + 8]
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x1e], 1
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x1f], 0
jmp case.0x10025bc9.17
mov esi, dword [ebp - 0xd0]
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
push esi
call fcn.10020fa0
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x44]
add esp, 4
mov dword [eax + edx*4], 0
jmp case.0x10025bc9.17
mov edx, dword [ebp - 0xd0]
mov ecx, dword [edi + 4]
mov eax, dword [edx + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc0], eax
cmp dword [eax], 0
je 0x10025be4
movzx ecx, byte [edi]
mov dword [ebp - 0xc4], ecx
mov byte [eax + 0x1c], 0
mov ecx, dword [ebp - 0xc0]
cmp byte [ecx + 0x1e], 0
je 0x1002861e
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea esi, [eax + edx*8]
call fcn.100258a0
mov ecx, esi
call fcn.1001e9b0
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
mov byte [ecx + 0x19], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x100285ae
test al, 8
jne 0x10028498
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
xor ebx, ebx
cmp dword [ebp - 0x98], ebx
jne 0x1002855e
mov eax, 0x80000000
cmp dword [ebp - 0x94], eax
jne 0x1002855e
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x110], ebx
fild qword [ebp - 0x110]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x100284df
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x1002855e
fldz
mov dword [ebp - 0xc8], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x10028513
cmp dword [ebp - 0xc4], 0x2e
jl 0x1002854f
mov edx, dword [ebp - 0xc0]
mov esi, dword [edx]
lea edi, [ebp - 0xc8]
call fcn.100176c0
jmp 0x1002852f
cmp dword [ebp - 0xc4], 0x2d
jg 0x1002854f
mov eax, dword [ebp - 0xc0]
mov esi, dword [eax]
lea edi, [ebp - 0xc8]
call fcn.100176f0
mov dword [ebp - 0xcc], eax
cmp eax, ebx
jne 0x1002b0ff
cmp dword [ebp - 0xc8], ebx
je case.0x10025bc9.17
mov edi, dword [ebp - 0xe8]
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
mov eax, dword [ebp - 0xc4]
cmp eax, 0x2c
je 0x1002858f
cmp eax, 0x2e
je 0x1002858f
fild qword [ebp - 0x98]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x100285b0
or eax, 0xffffffff
add dword [ebp - 0x98], eax
adc dword [ebp - 0x94], eax
jmp 0x100285b0
fild qword [ebp - 0x98]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x100285b0
add dword [ebp - 0x98], 1
adc dword [ebp - 0x94], ebx
jmp 0x100285b0
xor ebx, ebx
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x98]
lea ecx, [ebp - 0xc8]
push ecx
mov ecx, dword [ebp - 0xc0]
push ebx
push edx
push eax
mov eax, dword [ecx]
push ebx
call fcn.10017730
add esp, 0x14
mov dword [ebp - 0xcc], eax
cmp eax, ebx
jne 0x1002b0ff
cmp dword [ebp - 0xc8], ebx
jne 0x100286b0
mov edx, dword [ebp - 0xc0]
mov byte [edx + 0x19], 1
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + 0x40], eax
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x44], edx
jmp 0x100286b0
mov edx, dword [edi + 0x10]
mov dword [ebp - 0xa0], edx
mov eax, dword [ecx + 8]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xc4]
and eax, 1
add eax, eax
add eax, eax
add eax, eax
mov word [ebp - 0xb4], dx
mov word [ebp - 0xb2], ax
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea eax, [eax + edx*8]
mov edx, 0x4000
mov dword [ebp - 0xa8], eax
test word [eax + 0x1c], dx
je 0x10028678
call fcn.1001e6d0
mov ecx, dword [ebp - 0xc0]
lea eax, [ebp - 0xc8]
push eax
mov eax, dword [ecx]
push 0
push 0
lea edx, [ebp - 0xb8]
push 0
push edx
call fcn.10017730
add esp, 0x14
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x1002b0ff
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x19], 0
xor ebx, ebx
mov ecx, dword [ebp - 0xc0]
mov byte [ecx + 0x1d], 0
mov edx, dword [ebp - 0xc0]
mov dword [edx + 0x4c], ebx
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc8]
cmp ecx, 0x2e
jl 0x1002871c
cmp eax, ebx
jl 0x100286ea
jne 0x100286df
cmp ecx, 0x2f
je 0x100286ea
mov dword [ebp - 0xc8], ebx
jmp case.0x10025bc9.17
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx]
lea eax, [ebp - 0xc8]
push eax
push edx
call fcn.10017b10
add esp, 8
mov dword [ebp - 0xcc], eax
cmp eax, ebx
jne 0x1002b0ff
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x19], 0
jmp 0x10028770
cmp eax, ebx
jg 0x10028740
jne 0x10028727
cmp ecx, 0x2c
je 0x10028740
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx]
xor eax, eax
cmp byte [edx + 0x53], 1
setne al
mov dword [ebp - 0xc8], eax
jmp 0x10028770
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx]
lea ecx, [ebp - 0xc8]
push ecx
push eax
call fcn.10017cb0
add esp, 8
mov dword [ebp - 0xcc], eax
cmp eax, ebx
jne 0x1002b0ff
mov ecx, dword [ebp - 0xc0]
mov byte [ecx + 0x19], 0
cmp dword [ebp - 0xc8], ebx
je case.0x10025bc9.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
mov eax, dword [ebp - 0xd0]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x44]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xc8], eax
cmp dword [eax], 0
je case.0x10025bc9.17
mov byte [eax + 0x1c], 0
mov edi, dword [edi + 8]
mov eax, dword [ebp - 0xd8]
lea edx, [edi + edi*4]
lea ecx, [eax + edx*8]
call fcn.1001e9b0
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x3c], edx
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x1d], 1
jmp case.0x10025bc9.17
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 0x44]
mov esi, dword [ebp - 0xd8]
xor edx, edx
mov dword [ebp - 0xc8], edx
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc4], eax
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [esi + ecx*8]
cmp dword [eax], edx
je 0x100288fe
cmp dword [edi + 0x10], edx
jle 0x10028859
mov edx, dword [eax + 8]
mov dword [ebp - 0xb8], edx
mov dx, word [edi + 0x10]
mov word [ebp - 0xb4], dx
mov dword [ebp - 0xa8], ecx
mov ecx, 0x10
lea edx, [ebp - 0xb8]
mov word [ebp - 0xb2], cx
mov dword [ebp - 0xbc], edx
jmp 0x10028891
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 0x18]
push edx
mov edx, dword [eax + 8]
push ecx
push edx
mov edx, 0x97
lea eax, [ebp - 0xa0]
call fcn.10022710
add esp, 0xc
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x10026083
or word [eax + 6], 0x10
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xbc]
mov eax, dword [eax]
lea ecx, [ebp - 0xc0]
push ecx
push 0
push 0
push 0
push edx
call fcn.10017730
add esp, 0x14
cmp dword [edi + 0x10], 0
mov esi, eax
mov dword [ebp - 0xcc], esi
jne 0x100288cc
mov eax, dword [ebp - 0xbc]
push eax
call fcn.100228a0
add esp, 4
test esi, esi
jne case.0x10025bc9.17
mov edx, dword [ebp - 0xc4]
xor ecx, ecx
cmp dword [ebp - 0xc0], ecx
sete cl
mov dword [ebp - 0xc8], ecx
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x4c], esi
mov edx, dword [ebp - 0xc8]
cmp byte [edi], 0x32
jne 0x1002891a
test edx, edx
je case.0x10025bc9.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
test edx, edx
jne case.0x10025bc9.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0xd8]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x10]
lea esi, [ecx + edx*8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xb8], ecx
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x44]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xc4], eax
xor ecx, ecx
mov dword [eax + 0x48], ecx
mov edx, dword [ebp - 0xc4]
mov dword [edx + 0x4c], ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx]
mov dword [ebp - 0xc0], eax
mov ecx, dword [edx + 8]
mov cx, word [ecx + 6]
xor ebx, ebx
xor eax, eax
cmp bx, cx
mov ebx, dword [ebp - 0xb8]
mov word [ebp - 0xbc], cx
mov word [ebp - 0xc8], ax
jae 0x100289c9
movzx edx, ax
lea edx, [edx + edx*4]
test byte [ebx + edx*8 + 0x1c], 1
jne 0x10028a7f
inc ax
mov word [ebp - 0xc8], ax
cmp ax, cx
jb 0x100289a4
mov edx, dword [ebp - 0xc4]
cmp dword [ebp - 0xc0], 0
je case.0x10025bc9.17
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0xbc]
inc ecx
mov edx, 0x20
mov dword [ebp - 0xb0], eax
mov word [ebp - 0xac], cx
mov word [ebp - 0xaa], dx
mov dword [ebp - 0xa0], ebx
call fcn.1001eb10
mov edx, dword [ebp - 0xc4]
mov eax, dword [esi + 0x10]
add edx, 0x48
push edx
push 0
mov dword [ebp - 0x98], eax
mov ecx, dword [esi + 0x14]
push 0
lea eax, [ebp - 0xb0]
push 0
push eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x94], ecx
call fcn.10017730
add esp, 0x14
test byte [ebp - 0xaa], 0x20
mov dword [ebp - 0xcc], eax
jne 0x10025be4
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0x98]
jne 0x10028a6e
mov ecx, dword [ebp - 0xa4]
cmp ecx, dword [ebp - 0x94]
je 0x10025be4
mov dword [esi + 0x10], eax
mov edx, dword [ebp - 0xa4]
mov dword [esi + 0x14], edx
jmp case.0x10025bc9.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0xc0], 0
jmp case.0x10025bc9.17
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0xd8]
mov edx, dword [edi + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x44]
mov ecx, dword [ecx + edx*4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ecx]
xor edx, edx
mov dword [ebp - 0xc4], eax
cmp eax, edx
je 0x10028b6f
mov dword [ebp - 0xc0], edx
mov ecx, dword [esi + 0x10]
lea ebx, [ebp - 0xc0]
push ebx
mov dword [ebp - 0xb8], ecx
mov edx, dword [esi + 0x14]
push 0
push edx
push ecx
push 0
mov dword [ebp - 0xb4], edx
call fcn.10017730
mov edx, dword [esi + 0x10]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x40], edx
mov ecx, dword [esi + 0x14]
mov edx, dword [ebp - 0xc8]
mov dword [edx + 0x44], ecx
mov ecx, dword [ebp - 0xc8]
add esp, 0x14
cmp dword [ebp - 0xc0], 0
sete al
mov byte [ecx + 0x19], al
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x1c], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x4c], 0
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x1d], 0
mov eax, dword [ebp - 0xc0]
test eax, eax
je 0x10028b61
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
mov edx, dword [ebp - 0xc8]
mov dword [edx + 0x48], eax
jmp case.0x10025bc9.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
mov dword [ecx + 0x48], edx
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xd0]
mov ecx, dword [edx + 0x44]
mov eax, dword [ecx + eax*4]
mov esi, dword [eax + 0x30]
mov ecx, dword [ebp - 0xe0]
mov dword [ecx + 0x10], esi
mov eax, dword [eax + 0x34]
mov dword [ecx + 0x14], eax
mov ecx, dword [edi + 4]
mov edx, dword [edx + 0x44]
mov eax, dword [edx + ecx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.0x10025bc9.17
mov edx, dword [ebp - 0xd0]
mov edx, dword [edx + 0x44]
xor eax, eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xbc], eax
mov ecx, dword [edi + 4]
mov edx, dword [edx + ecx*4]
mov dword [ebp - 0xc0], edx
cmp dword [edx], eax
je 0x10028ed8
mov dword [ebp - 0xb8], eax
cmp byte [edx + 0x1b], al
jne 0x10028db6
mov ecx, dword [edx]
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ecx + 0x1c]
mov esi, eax
or esi, ecx
mov dword [ebp - 0xc4], ecx
jne 0x10028cae
mov esi, dword [edx]
lea edi, [ebp - 0xbc]
call fcn.100176f0
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x1002b0ff
cmp dword [ebp - 0xbc], eax
je 0x10028c42
mov eax, 1
xor ecx, ecx
jmp 0x10028c96
mov ecx, dword [ebp - 0xc0]
mov esi, dword [ecx]
lea eax, [ebp - 0xc8]
push eax
call fcn.10016b10
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
add esp, 4
cmp eax, 0xffffffff
jne 0x10028c90
cmp ecx, 0x7fffffff
jne 0x10028c90
mov edx, dword [ebp - 0xc0]
mov byte [edx + 0x1b], 1
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc8]
jmp 0x10028ca2
add eax, 1
adc ecx, 0
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc8], eax
mov edx, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xe8]
mov esi, dword [edi + 0xc]
test esi, esi
je 0x10028d89
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xd8]
test ecx, ecx
je 0x10028cfd
mov dword [ebp - 0xb0], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x10028cef
jmp 0x10028ce0
mov ecx, eax
mov dword [ebp - 0xb0], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x10028ce0
mov edi, dword [edi + 0xc]
mov eax, dword [ecx + 0x10]
lea edx, [edi + edi*4]
lea esi, [eax + edx*8]
jmp 0x10028d09
mov edx, dword [ebp - 0xd8]
lea ecx, [esi + esi*4]
lea esi, [edx + ecx*8]
mov dword [ebp - 0xb4], esi
call fcn.1001eb10
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
cmp eax, 0xffffffff
jne 0x10028d31
cmp ecx, 0x7fffffff
je 0x1002b0f5
mov esi, dword [ebp - 0xc0]
cmp byte [esi + 0x1b], 0
jne 0x1002b0f5
add eax, 1
adc ecx, 0
cmp dword [ebp - 0xc4], ecx
jg 0x10028d65
jl 0x10028d59
cmp dword [ebp - 0xc8], eax
jae 0x10028d65
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], ecx
mov eax, dword [ebp - 0xc8]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0xc4]
mov dword [edx + 0x14], ecx
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc8]
cmp ecx, 0x7fffffff
jg 0x10028da0
jl 0x10028d98
cmp eax, 0xffffffff
jae 0x10028da0
add eax, 1
adc ecx, 0
jmp 0x10028da4
xor eax, eax
xor ecx, ecx
mov esi, dword [edx]
push ecx
push eax
call fcn.100169c0
mov edx, dword [ebp - 0xc0]
add esp, 8
cmp byte [edx + 0x1b], 0
je 0x10028ebd
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
and eax, 0x3fffffff
add ecx, 1
lea esi, [ebp - 0xbc]
push esi
adc eax, 0
push 0
push eax
push ecx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xb8], 0
mov eax, dword [edx]
push 0
call fcn.10017730
add esp, 0x14
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x10028eb7
mov ecx, dword [ebp - 0xbc]
test ecx, ecx
jne 0x10028ea6
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0xb8], eax
cmp eax, 0x64
jge 0x10028ea6
lea edx, [ebp - 0xc8]
push edx
push 8
call sym.sqlite3.dll_sqlite3_randomness
mov eax, dword [ebp - 0xc8]
add esp, 8
cmp dword [ebp - 0xb8], 5
jge 0x10028e5b
and eax, 0xffffff
xor ecx, ecx
jmp 0x10028e67
mov ecx, dword [ebp - 0xc4]
and ecx, 0x3fffffff
add eax, 1
lea edx, [ebp - 0xbc]
push edx
adc ecx, 0
push 0
push ecx
push eax
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc4], ecx
mov eax, dword [eax]
push 0
call fcn.10017730
add esp, 0x14
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x10028e12
jmp 0x10028eb7
cmp dword [ebp - 0xcc], 0
jne 0x10028eb7
test ecx, ecx
je 0x1002b0f5
mov edx, dword [ebp - 0xc0]
mov byte [edx + 0x19], 0
mov ecx, dword [ebp - 0xc0]
mov byte [ecx + 0x1d], 0
mov edx, dword [ebp - 0xc0]
mov dword [edx + 0x4c], 0
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xc8]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xc4]
mov dword [eax + 0x14], edx
jmp case.0x10025bc9.17
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xd0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebx + 0x44]
mov dword [ebp - 0xc8], esi
mov edx, dword [edi + 4]
mov edx, dword [eax + edx*4]
mov dword [ebp - 0xb8], edx
cmp byte [edi], 0x37
mov eax, dword [edi + 0xc]
jne 0x10028f47
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xc4], ecx
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0xbc], ecx
jmp 0x10028f54
cdq
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
test byte [edi + 3], 1
je 0x10028f5d
inc dword [ebx + 0x6c]
test byte [edi + 3], 2
je 0x10028f7b
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 0x30], eax
mov edx, dword [ebp - 0xbc]
mov dword [ecx + 0x34], edx
mov esi, dword [ebp - 0xc8]
xor eax, eax
test byte [esi + 0x1c], 1
je 0x10028f95
mov dword [esi + 4], eax
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x18], eax
mov esi, dword [ebp - 0xc8]
test byte [edi + 3], 0x10
je 0x10028fac
mov edx, dword [ebp - 0xb8]
mov ecx, dword [edx + 0x48]
mov dword [ebp - 0xb0], ecx
jmp 0x10028fb2
mov dword [ebp - 0xb0], eax
mov edx, 0x4000
test word [esi + 0x1c], dx
je 0x10028fc0
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xb4], eax
mov esi, dword [ecx]
push 0
push 0
call fcn.100169c0
movzx eax, byte [edi + 3]
mov edx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb4]
push edx
and eax, 8
push eax
mov eax, dword [ebp - 0xc8]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0xbc]
push edx
mov edx, dword [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xb8]
mov ebx, dword [eax]
push ecx
push edx
push 0
call fcn.1001aa10
mov edx, dword [ebp - 0xb8]
xor ecx, ecx
mov byte [edx + 0x19], cl
mov edx, dword [ebp - 0xb8]
mov byte [edx + 0x1d], cl
mov edx, dword [ebp - 0xb8]
add esp, 0x28
mov dword [ebp - 0xcc], eax
mov dword [edx + 0x4c], ecx
cmp eax, ecx
jne case.0x10025bc9.17
mov eax, dword [ebp - 0xd4]
cmp dword [eax + 0xbc], ecx
je case.0x10025bc9.17
cmp dword [edi + 0x10], ecx
je case.0x10025bc9.17
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0xc]
mov ecx, eax
mov eax, dword [ecx + 8]
add edx, edx
mov edx, dword [eax + edx*8]
mov dword [ebp - 0xac], edx
mov esi, dword [edi + 0x10]
mov dword [ebp - 0xa8], esi
mov al, byte [edi + 3]
mov edi, dword [ebp - 0xbc]
and al, 4
movzx eax, al
push edi
mov edi, dword [ebp - 0xc0]
neg eax
sbb eax, eax
push edi
and eax, 5
add eax, 0x12
push esi
push edx
mov dword [ebp - 0xa4], eax
mov edx, dword [ecx + 0xb8]
push eax
mov eax, dword [ecx + 0xbc]
push edx
call eax
add esp, 0x18
jmp case.0x10025bc9.17
mov edx, dword [ebp - 0xd0]
mov edx, dword [edx + 0x44]
xor eax, eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov ecx, dword [edi + 4]
mov esi, dword [edx + ecx*4]
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc0], esi
cmp dword [ecx + 0xbc], eax
je 0x1002910b
cmp dword [edi + 0x10], eax
je 0x1002910b
mov edx, dword [esi + 0x40]
mov dword [ebp - 0xc8], edx
mov eax, dword [esi + 0x44]
mov dword [ebp - 0xc4], eax
call fcn.10022290
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x1002b0ff
mov ecx, dword [ebp - 0xc0]
mov esi, dword [ecx]
push eax
push eax
call fcn.100169c0
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx]
add esp, 8
call fcn.1001ac40
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xcc], eax
mov dword [ecx + 0x4c], 0
test eax, eax
jne 0x1002919a
mov edx, dword [ebp - 0xd4]
mov ecx, dword [edx + 0xbc]
test ecx, ecx
je 0x1002919a
mov eax, dword [edi + 0x10]
test eax, eax
je 0x1002919a
mov esi, dword [ebp - 0xc4]
push esi
mov esi, dword [ebp - 0xc8]
push esi
mov esi, dword [edx + 8]
mov edx, dword [edx + 0xb8]
push eax
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 0xc]
add eax, eax
mov eax, dword [esi + eax*8]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [edi + 8], 1
je case.0x10025bc9.17
mov eax, dword [ebp - 0xd0]
inc dword [eax + 0x6c]
jmp case.0x10025bc9.17
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x6c]
mov ecx, dword [ebp - 0xd4]
add dword [ecx + 0x40], eax
mov dword [ecx + 0x3c], eax
mov dword [edx + 0x6c], 0
jmp case.0x10025bc9.17
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0xd8]
mov edx, dword [edi + 4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x44]
mov esi, dword [ecx + edx*4]
mov dword [ebp - 0xc8], esi
mov edx, dword [esi]
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xc4], edx
call fcn.10022290
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x1002b0ff
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x1f], 0
mov esi, dword [ebp - 0xc4]
je 0x10029267
lea ecx, [ebp - 0xb8]
push ecx
call fcn.10016b10
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x48]
cdq
add esp, 4
cmp dword [ebp - 0xb4], edx
jg 0x10025e37
mov ecx, dword [ebp - 0xb8]
jl 0x1002925f
cmp ecx, eax
ja 0x10025e37
mov dword [ebp - 0xc0], ecx
jmp 0x1002928b
lea edx, [ebp - 0xc0]
push edx
call fcn.10016b90
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xd4]
add esp, 4
cmp ecx, dword [eax + 0x48]
ja 0x10025e37
xor eax, eax
mov edi, ebx
call fcn.1001e550
test eax, eax
jne 0x10026083
mov dx, word [ebx + 0x1c]
mov ecx, dword [ebp - 0xc0]
mov eax, 0xbf10
and dx, ax
or dx, 0x10
mov dword [ebx + 0x18], ecx
mov word [ebx + 0x1c], dx
mov ecx, dword [ebp - 0xc8]
cmp byte [ecx + 0x1f], 0
mov edx, dword [ebp - 0xc0]
je 0x100292f2
mov eax, dword [ebx + 4]
push 0
push eax
mov eax, dword [ebp - 0xc4]
push edx
push 0
push eax
call fcn.10016ef0
add esp, 0x14
mov dword [ebp - 0xcc], eax
mov byte [ebx + 0x1f], 1
jmp case.0x10025bc9.17
mov ecx, dword [ebx + 4]
mov eax, dword [ebp - 0xc4]
push ecx
push edx
push 0
push eax
call fcn.10017210
add esp, 0x10
mov dword [ebp - 0xcc], eax
mov byte [ebx + 0x1f], 1
jmp case.0x10025bc9.17
mov ecx, dword [edi + 4]
mov edi, dword [ebp - 0xd0]
mov edx, dword [edi + 0x44]
mov esi, dword [edx + ecx*4]
mov dword [ebp - 0xc8], esi
cmp byte [esi + 0x1c], 0
je 0x10029346
mov ecx, dword [ebp - 0xe0]
mov eax, 1
mov word [ecx + 0x1c], ax
jmp case.0x10025bc9.17
cmp byte [esi + 0x1d], 0
je 0x10029375
mov edx, dword [esi + 0x38]
mov dword [ebp - 0xc0], edx
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xbc]
mov dword [eax + 0x14], ecx
jmp case.0x10025bc9.17
cmp dword [esi + 0x24], 0
je 0x100293d1
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx]
mov dword [ebp - 0xb8], eax
mov eax, dword [eax]
mov dword [ebp - 0xb4], eax
mov ecx, dword [esi + 0x24]
lea edx, [ebp - 0xc0]
push edx
mov edx, dword [eax + 0x30]
push ecx
call edx
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xb8]
push eax
push edi
call fcn.100259d0
mov eax, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xc0]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xbc]
add esp, 0x10
mov dword [eax + 0x14], ecx
jmp case.0x10025bc9.17
call fcn.10022290
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x1002b0ff
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x19], 0
je 0x1002941b
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0xc0], ecx
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xbc], edx
mov edx, ecx
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xbc]
mov dword [eax + 0x14], ecx
jmp case.0x10025bc9.17
mov esi, dword [eax]
lea ecx, [ebp - 0xc0]
push ecx
call fcn.10016b10
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xbc]
add esp, 4
mov dword [eax + 0x14], ecx
jmp case.0x10025bc9.17
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x44]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xc8], eax
mov byte [eax + 0x1c], 1
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x19], 0
mov eax, dword [ebp - 0xc8]
mov esi, dword [eax]
test esi, esi
je case.0x10025bc9.17
call fcn.10012f40
jmp case.0x10025bc9.17
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
mov esi, dword [eax]
mov dword [ebp - 0xc4], esi
test esi, esi
jne 0x100294b9
mov dword [ebp - 0xc0], 1
jmp 0x100294d6
lea edi, [ebp - 0xc0]
call fcn.100176f0
mov edi, dword [ebp - 0xe8]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov cl, byte [ebp - 0xc0]
mov byte [eax + 0x1c], cl
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 0
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x4c], 0
mov edi, dword [edi + 8]
test edi, edi
jle case.0x10025bc9.17
cmp dword [ebp - 0xc0], 0
je case.0x10025bc9.17
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
mov eax, dword [ebp - 0xd0]
inc dword [eax + 0x7c]
jmp 0x10029535
mov eax, dword [ebp - 0xd0]
mov edx, dword [edi + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc0], 1
mov esi, dword [eax]
mov dword [ebp - 0xc4], esi
test esi, esi
je 0x100295ab
lea edi, [ebp - 0xc0]
call fcn.100176c0
cmp dword [ebp - 0xc0], 0
mov edx, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xe8]
sete cl
mov byte [edx + 0x1a], cl
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], 0
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x4c], 0
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x19], 0
mov eax, dword [ebp - 0xc8]
mov cl, byte [ebp - 0xc0]
mov byte [eax + 0x1c], cl
cmp dword [ebp - 0xc0], 0
je case.0x10025bc9.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0xe0]
test eax, eax
jne 0x1002b150
mov esi, dword [ebp - 0xd0]
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x44]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xc8], eax
test eax, eax
je case.0x10025bc9.17
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
jne 0x10029616
mov byte [eax + 0x1c], 1
jmp case.0x10025bc9.17
mov dword [ebp - 0xc0], 1
cmp byte [edi], 0x43
jne 0x10029634
lea eax, [ebp - 0xc0]
push eax
push ecx
call fcn.10017b10
jmp 0x10029641
lea edx, [ebp - 0xc0]
push edx
push ecx
call fcn.10017cb0
mov cl, byte [ebp - 0xc0]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1c], cl
mov edx, dword [ebp - 0xc8]
add esp, 8
mov dword [edx + 0x4c], 0
cmp dword [ebp - 0xc0], 0
jne 0x1002968b
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0xdc], eax
mov al, byte [edi + 3]
test al, al
je 0x1002968b
movzx eax, al
inc dword [esi + eax*4 + 0x74]
lea eax, [esi + eax*4 + 0x74]
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x19], 0
jmp case.0x10025bc9.17
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x44]
mov ecx, dword [ecx + edx*4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [edi + 8]
mov ebx, dword [ecx]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea esi, [eax + edx*8]
mov dword [ebp - 0xc4], ebx
test ebx, ebx
je case.0x10025bc9.17
mov edx, 0x4000
test word [esi + 0x1c], dx
je 0x100296fa
mov eax, esi
call fcn.1001e6d0
mov dword [ebp - 0xcc], eax
test eax, eax
jne case.0x10025bc9.17
mov ebx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
mov eax, dword [esi + 0x18]
mov dword [ebp - 0xc0], eax
mov esi, dword [esi + 4]
mov dword [ebp - 0xbc], esi
test byte [edi + 3], 0x10
je 0x10029717
mov ecx, dword [ecx + 0x48]
jmp 0x10029719
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0xc]
push ecx
push 0
push 0
cdq
push 0x10075c2c
push edx
push eax
push esi
call fcn.1001aa10
mov edx, dword [ebp - 0xc8]
add esp, 0x20
mov dword [ebp - 0xcc], eax
mov dword [edx + 0x4c], 0
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x44]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc4], eax
test eax, eax
je case.0x10025bc9.17
mov ecx, dword [ecx + 8]
mov dword [ebp - 0xb8], ecx
mov dx, word [edi + 0xc]
xor ecx, ecx
mov word [ebp - 0xb4], dx
mov word [ebp - 0xb2], cx
mov edi, dword [edi + 8]
mov ecx, dword [ebp - 0xd8]
lea edx, [edi + edi*4]
lea edx, [ecx + edx*8]
lea ecx, [ebp - 0xc0]
push ecx
push 0
push 0
mov dword [ebp - 0xa8], edx
lea edx, [ebp - 0xb8]
push 0
push edx
call fcn.10017730
add esp, 0x14
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x100297e1
cmp dword [ebp - 0xc0], eax
jne 0x100297e1
mov eax, dword [ebp - 0xc4]
call fcn.1001ac40
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x4c], 0
jmp case.0x10025bc9.17
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
mov ecx, dword [eax]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xc8], ecx
mov edx, 1
mov word [eax + 0x1c], dx
cmp dword [ebp - 0xc8], 0
je case.0x10025bc9.17
mov esi, dword [ebp - 0xc4]
call fcn.10022290
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x1002b0ff
mov ecx, dword [ebp - 0xc4]
cmp byte [ecx + 0x1c], al
jne case.0x10025bc9.17
mov eax, dword [ebp - 0xc8]
lea edx, [ebp - 0xc0]
push edx
call fcn.10022b60
add esp, 4
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x1002b0ff
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xbc]
mov ecx, 4
mov dword [eax + 0x14], edx
mov word [eax + 0x1c], cx
jmp case.0x10025bc9.17
mov eax, dword [ebp - 0xd0]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x44]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xc8], eax
cmp dword [eax], 0
je case.0x10025bc9.17
mov edx, dword [eax + 8]
mov dword [ebp - 0xc0], edx
mov cx, word [edi + 0x10]
mov word [ebp - 0xbc], cx
cmp byte [edi + 3], 0
je 0x100298e3
mov edx, 0xc
mov word [ebp - 0xba], dx
jmp 0x100298ef
mov ecx, 4
mov word [ebp - 0xba], cx
mov ecx, dword [edi + 0xc]
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp - 0xd8]
lea edx, [ecx + edx*8]
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0xb0], edx
push ecx
lea edx, [ebp - 0xc0]
push edx
call fcn.10022cc0
add esp, 8
cmp byte [edi], 0x51
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc4]
jne 0x1002992f
neg eax
jmp 0x10029930
inc eax
mov dword [ebp - 0xc4], eax
test eax, eax
jle case.0x10025bc9.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], 0
mov eax, dword [ecx + 0x88]
mov dword [ebp - 0xc0], eax
mov edx, 1
test eax, eax
je 0x1002999a
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x1002998d
cmp byte [eax + 0x67], 2
jae 0x1002998d
cmp dword [eax + 0x58], 0
jl 0x1002998d
add dword [ebp - 0xc4], edx
mov eax, dword [eax + 0x40]
mov dword [ebp - 0xc0], eax
test eax, eax
jne 0x10029972
mov esi, dword [ebp - 0xe0]
mov eax, edx
mov word [esi + 0x1c], ax
cmp dword [ebp - 0xc4], edx
jle 0x100299c7
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xcc], 6
mov byte [ecx + 0x60], 2
jmp case.0x10025bc9.17
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ecx + 8]
lea edx, [ebp - 0xc8]
push edx
mov edx, dword [edi + 4]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
push edx
call fcn.1001b780
mov ecx, eax
mov edx, 4
mov word [esi + 0x1c], dx
mov eax, dword [ebp - 0xc8]
cdq
add esp, 8
mov dword [ebp - 0xcc], ecx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
test ecx, ecx
jne case.0x10025bc9.17
mov edx, dword [ebp - 0xc8]
test edx, edx
je case.0x10025bc9.17
mov esi, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd4]
mov edi, dword [edi + 4]
shl esi, 4
add esi, dword [eax + 8]
call fcn.10039780
mov byte [ebp - 0xe9], 1
jmp case.0x10025bc9.17
mov dword [ebp - 0xc8], 0
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 4]
neg ecx
sbb ecx, ecx
lea edx, [ebp - 0xc8]
and ecx, edx
mov edx, dword [ebp - 0xd4]
push ecx
mov ecx, dword [edi + 8]
push eax
mov eax, dword [edx + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
call fcn.1001b370
add esp, 8
cmp dword [edi + 0xc], 0
mov dword [ebp - 0xcc], eax
je case.0x10025bc9.17
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xd0]
add dword [ecx + 0x6c], eax
mov edi, dword [edi + 0xc]
test edi, edi
jle case.0x10025bc9.17
mov edx, dword [ebp - 0xd8]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8 + 0x10]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x10025bc9.17
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], 0
mov eax, dword [edi + 4]
shl eax, 4
add eax, dword [ecx + 8]
xor ecx, ecx
mov dword [ebp - 0xc0], eax
cmp byte [edi], 0x62
lea edx, [ebp - 0xc8]
setne cl
inc ecx
push ecx
mov dword [ebp - 0xc4], ecx
mov eax, dword [eax + 4]
push edx
call fcn.1001b170
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
cdq
add esp, 8
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0xd4]
push ebx
mov dword [ebp - 0xc8], eax
call fcn.100128e0
mov eax, dword [ebp - 0xc8]
add esp, 4
cmp dword [edi + 8], 0
jne 0x10029b58
mov edx, dword [ebx + 8]
mov ecx, eax
add ecx, ecx
mov ecx, dword [edx + ecx*8 + 0xc]
test byte [ecx + 0x4a], 1
je 0x10029c15
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x10029b67
mov ecx, str.sqlite_master
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xbc], ebx
mov edx, dword [edi + 4]
mov dword [ebp - 0xb8], edx
lea edx, [esi + 0x38]
mov dword [ebp - 0xb4], edx
mov edx, dword [edi + 0x10]
push edx
push ecx
mov ecx, dword [ebx + 8]
add eax, eax
mov edx, dword [ecx + eax*8]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.10005680
add esp, 0x14
mov dword [ebp - 0xc0], eax
test eax, eax
jne 0x10029bbd
mov dword [ebp - 0xcc], 7
jmp 0x10029c1b
push 0
lea eax, [ebp - 0xbc]
push eax
mov byte [ebx + 0x7c], 1
mov ecx, dword [ebp - 0xc0]
push fcn.10049d10
push ecx
push ebx
mov dword [ebp - 0xb0], 0
call sym.sqlite3.dll_sqlite3_exec
add esp, 0x14
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x10029bff
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xc0]
push eax
push ebx
call fcn.10004120
add esp, 8
mov byte [ebx + 0x7c], 0
jmp 0x10029c1b
mov esi, dword [ebp - 0xd0]
call fcn.100129c0
cmp dword [ebp - 0xcc], 7
je 0x10026089
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0xd4]
call fcn.10035f20
mov dword [ebp - 0xcc], eax
jmp case.0x10025bc9.17
mov ecx, dword [ebp - 0xd4]
mov eax, dword [edi + 4]
push ecx
mov ecx, dword [edi + 0x10]
call fcn.10037db0
add esp, 4
jmp case.0x10025bc9.17
mov edx, dword [ebp - 0xd4]
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push edx
call fcn.10037930
add esp, 4
jmp case.0x10025bc9.17
mov eax, dword [ebp - 0xd4]
mov ecx, dword [edi + 0x10]
push eax
mov eax, dword [edi + 4]
call fcn.10054bc0
add esp, 4
jmp case.0x10025bc9.17
mov eax, dword [edi + 8]
mov esi, dword [ebp - 0xd4]
lea ecx, [eax*4 + 4]
mov dword [ebp - 0xc8], eax
call fcn.10004360
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x10026083
mov ecx, dword [edi + 0xc]
mov esi, dword [ebp - 0xd8]
lea ecx, [ecx + ecx*4]
lea edx, [esi + ecx*8]
mov dword [ebp - 0xb4], edx
mov ecx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
lea esi, [esi + ecx*8]
xor ecx, ecx
mov dword [ebp - 0xc0], ecx
cmp dword [ebp - 0xc8], ecx
jle 0x10029d25
lea edx, [ecx + ecx*4]
lea ecx, [esi + edx*8]
call fcn.1001e9b0
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0xc0]
inc ecx
mov dword [ebp - 0xc0], ecx
cmp ecx, dword [ebp - 0xc8]
jl 0x10029cf0
mov eax, dword [ebp - 0xc4]
mov dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ebp - 0xc4]
lea eax, [ebp - 0xbc]
push eax
mov eax, dword [ebp - 0xc8]
push edx
movzx edx, byte [edi + 3]
mov edi, dword [ebp - 0xd4]
push eax
mov eax, dword [edi + 8]
add edx, edx
push ecx
mov ecx, dword [eax + edx*8 + 4]
call fcn.1001c9c0
mov ecx, dword [ebp - 0xc4]
push ecx
push edi
mov dword [ebp - 0xb8], eax
call fcn.10004120
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb4]
cdq
add esp, 0x18
sub dword [ecx + 0x10], eax
sbb dword [ecx + 0x14], edx
call fcn.1001ecb0
cmp dword [ebp - 0xbc], 0
je 0x10029dbd
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x10026083
push 1
push eax
mov eax, sym.sqlite3.dll_sqlite3_free
or ecx, 0xffffffff
mov edx, esi
call fcn.1001efe0
add esp, 8
movzx ecx, byte [ebp - 0xe4]
mov eax, esi
call fcn.1001e530
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
test byte [eax + edx*8 + 0x1c], 0x20
lea esi, [eax + edx*8]
lea ecx, [edi + edi*4]
lea ebx, [eax + ecx*8]
jne 0x10029e00
mov edi, esi
call fcn.1001ee00
test byte [esi + 0x1c], 0x20
je 0x10026083
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x10]
mov edi, dword [esi + 0x10]
push edx
push eax
call fcn.1000b370
add esp, 8
jmp case.0x10025bc9.17
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0xe0]
test edx, edx
jne 0x1002b150
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea ebx, [ecx + eax*8]
je 0x10029e7e
mov eax, dword [ebx + 0x10]
lea esi, [ebp - 0xc8]
call fcn.1000b730
test eax, eax
je 0x10029e7e
mov edx, dword [ebp - 0xc4]
mov edi, dword [edi + 0xc]
mov eax, dword [ebp - 0xc8]
push edx
mov edx, dword [ebp - 0xd8]
lea ecx, [edi + edi*4]
push eax
lea esi, [edx + ecx*8]
call fcn.1001ed00
add esp, 8
jmp case.0x10025bc9.17
mov esi, ebx
call fcn.1001ecb0
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xc8], eax
test byte [esi + 0x1c], 0x20
lea ebx, [ecx + edx*8]
jne 0x10029ed8
mov edi, esi
call fcn.1001ee00
test byte [esi + 0x1c], 0x20
je 0x10026083
mov eax, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xe8]
test eax, eax
je 0x10029f1c
js 0x10029ee3
and eax, 0xf
jmp 0x10029ee8
mov eax, 0xff
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x10]
push ecx
mov ecx, dword [esi + 0x10]
push edx
call fcn.1000b7b0
add esp, 8
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x10029f14
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
mov eax, dword [ebp - 0xc8]
test eax, eax
js case.0x10025bc9.17
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
mov edi, dword [esi + 0x10]
push eax
push ecx
call fcn.1000b370
add esp, 8
jmp case.0x10025bc9.17
mov edx, dword [edi + 0x10]
mov ecx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0xb0], edx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov dword [ebp - 0xc0], ebx
cmp byte [edi + 3], 0
je 0x10029f96
mov eax, dword [esi + 0xd8]
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x10029f96
lea ecx, [ecx]
cmp dword [eax + 0x20], ecx
je case.0x10025bc9.17
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xb4], eax
test eax, eax
jne 0x10029f80
mov ecx, dword [esi + 0xe0]
mov eax, dword [ebp - 0xd4]
cmp ecx, dword [eax + 0x70]
jl 0x10029fc6
push str.too_many_levels_of_trigger_recursion
lea edi, [esi + 0x38]
mov dword [ebp - 0xcc], 1
call fcn.10004510
add esp, 4
jmp case.0x10025bc9.17
test byte [ebx + 0x1c], 0x40
jne 0x1002a120
mov ecx, dword [edx + 8]
add ecx, dword [edx + 0xc]
mov dword [ebp - 0xc8], ecx
mov edx, dword [edx + 0xc]
lea ecx, [ecx + ecx*4]
lea edi, [edx + ecx*2]
lea edi, [edi*4 + 0x40]
mov dword [ebp - 0xc4], edi
call fcn.10004340
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x10026089
mov eax, dword [ebp - 0xc0]
push eax
call fcn.1001e910
mov edx, dword [ebp - 0xc0]
mov ecx, 0x40
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + 0x10], eax
mov edx, dword [ebp - 0xb4]
mov dword [edx], esi
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xc8]
mov dword [eax + 0x24], ecx
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x28], eax
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xdc]
mov dword [edx + 4], eax
mov ecx, dword [esi + 8]
mov edx, dword [ebp - 0xb4]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp - 0xb4]
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x14], eax
mov edx, dword [esi + 0x44]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x18], edx
mov cx, word [esi + 0x32]
mov edx, dword [ebp - 0xb4]
mov word [edx + 0x1c], cx
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 8], eax
mov edx, dword [esi + 0x1c]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x20], edx
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx + 0x24]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8 + 0x40]
lea ecx, [edx + 0x40]
add esp, 4
mov dword [ebp - 0xb8], eax
cmp ecx, eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xbc], ecx
je 0x1002a129
nop
mov edx, 1
mov word [ecx + 0x1c], dx
mov ecx, dword [ebp - 0xbc]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xbc]
add ecx, 0x28
mov dword [ebp - 0xbc], ecx
cmp ecx, dword [ebp - 0xb8]
jne 0x1002a0f0
mov edx, dword [ebp - 0xb4]
jmp 0x1002a129
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0xb4], edx
inc dword [esi + 0xe0]
mov ecx, dword [esi + 0xd8]
mov dword [edx + 0x3c], ecx
mov edx, dword [eax + 0x30]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x30], edx
mov edx, dword [eax + 0x34]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x34], edx
mov ecx, dword [esi + 0x6c]
mov edx, dword [ebp - 0xb4]
mov dword [edx + 0x38], ecx
mov eax, dword [ebp - 0xb4]
lea ecx, [eax + 0x18]
mov dword [esi + 0xd8], eax
mov dword [esi + 8], ecx
mov dword [esi + 0x6c], 0
mov edx, dword [eax + 0x24]
mov dword [esi + 0x18], edx
mov ax, word [eax + 0x28]
mov word [esi + 0x32], ax
mov eax, edx
lea edx, [eax + eax*4 + 5]
lea eax, [ecx + edx*8]
mov dword [ebp - 0xd8], ecx
mov ecx, dword [ebp - 0xb0]
mov dword [esi + 0x44], eax
mov eax, dword [ecx]
mov dword [esi + 4], eax
mov ecx, dword [ecx + 4]
mov dword [ebp - 0xf0], eax
mov dword [esi + 0x1c], ecx
mov dword [ebp - 0xdc], 0xffffffff
jmp case.0x10025bc9.17
mov edx, dword [ebp - 0xd0]
mov ecx, dword [edx + 0xd8]
mov ebx, dword [ebp - 0xe0]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 4]
add eax, dword [edi + 4]
push 0x1000
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
mov dword [ebp - 0xc4], eax
call fcn.1001eee0
add esp, 8
jmp case.0x10025bc9.17
cmp dword [edi + 4], 0
mov eax, dword [edi + 8]
cdq
je 0x1002a226
mov ecx, dword [ebp - 0xd4]
add dword [ecx + 0x1f0], eax
adc dword [ecx + 0x1f4], edx
jmp case.0x10025bc9.17
mov ecx, dword [ebp - 0xd0]
add dword [ecx + 0xc0], eax
adc dword [ecx + 0xc4], edx
jmp case.0x10025bc9.17
cmp dword [edi + 4], 0
je 0x1002a26a
mov eax, dword [ebp - 0xd4]
mov edx, dword [eax + 0x1f0]
or edx, dword [eax + 0x1f4]
jne case.0x10025bc9.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xc0]
or ecx, dword [eax + 0xc4]
jne case.0x10025bc9.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
mov edx, dword [ebp - 0xd0]
mov ecx, dword [edx + 0xd8]
test ecx, ecx
je 0x1002a2cd
mov dword [ebp - 0xc4], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x1002a2bf
mov edi, edi
mov ecx, eax
mov dword [ebp - 0xc4], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x1002a2b0
mov eax, dword [edi + 4]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
jmp 0x1002a2dc
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea esi, [eax + edx*8]
mov dword [ebp - 0xc8], esi
call fcn.1001eb10
mov edi, dword [edi + 8]
mov edx, dword [ebp - 0xd8]
lea ecx, [edi + edi*4]
lea esi, [edx + ecx*8]
call fcn.1001eb10
mov ecx, dword [esi + 0x10]
mov eax, dword [ebp - 0xc8]
mov esi, dword [esi + 0x14]
cmp dword [eax + 0x14], esi
jg case.0x10025bc9.17
jl 0x1002a31b
cmp dword [eax + 0x10], ecx
jae case.0x10025bc9.17
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], esi
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 0x14], 0
jl case.0x10025bc9.17
jg 0x1002a34c
mov edx, ecx
cmp dword [edx + eax*8 + 0x10], 0
jbe case.0x10025bc9.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 0x14], 0
jg case.0x10025bc9.17
jl 0x1002a381
mov edx, ecx
cmp dword [edx + eax*8 + 0x10], 0
jae case.0x10025bc9.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edi + 0xc]
cdq
add dword [ecx + 0x10], eax
adc dword [ecx + 0x14], edx
mov edx, dword [ecx + 0x10]
or edx, dword [ecx + 0x14]
jne case.0x10025bc9.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
movzx ecx, byte [edi + 3]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], ecx
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xbc], eax
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x78], eax
xor eax, eax
mov dword [ebp - 0xc4], eax
test ecx, ecx
jle 0x1002a42e
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0x78]
mov dword [edx + eax*4], ecx
mov ecx, dword [ebp - 0xbc]
call fcn.10025750
mov eax, dword [ebp - 0xc4]
add dword [ebp - 0xbc], 0x28
inc eax
mov dword [ebp - 0xc4], eax
cmp eax, dword [ebp - 0xc8]
jl 0x1002a3fb
mov eax, dword [edi + 0x10]
mov edx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xb8], eax
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x88], eax
inc dword [eax + 0x18]
xor ebx, ebx
mov eax, 1
mov word [ebp - 0x94], ax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
test byte [eax + 3], 8
je 0x1002a49c
mov ecx, dword [edi - 4]
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0xc8]
mov eax, dword [eax + 0x10]
push edx
push ecx
lea edx, [ebp - 0xb8]
push edx
call eax
add esp, 0xc
cmp dword [ebp - 0x84], ebx
je 0x1002a4f0
mov bl, 1
lea edi, [ebp - 0xb0]
call fcn.1001f590
mov edi, dword [ebp - 0xd0]
push eax
push 0x10075ca4
add edi, 0x38
mov eax, esi
call fcn.10004510
mov ecx, dword [ebp - 0x84]
add esp, 8
mov dword [ebp - 0xcc], ecx
lea edx, [ebp - 0xb0]
push edx
call fcn.1001e910
add esp, 4
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xc8], ecx
mov eax, dword [edi + 0x10]
call fcn.1001e830
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x1002a555
mov edi, dword [ebp - 0xc8]
mov bl, 1
call fcn.1001f590
mov edi, dword [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xd4]
push 0x10075ca4
add edi, 0x38
call fcn.10004510
add esp, 8
movzx ecx, byte [ebp - 0xe4]
mov eax, dword [ebp - 0xc8]
call fcn.1001e530
mov ecx, dword [ebp - 0xc8]
call fcn.1001eeb0
test eax, eax
jne 0x10025e37
jmp case.0x10025bc9.17
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xd4]
push edx
push eax
call fcn.10064e10
add esp, 8
mov dword [ebp - 0xcc], eax
jmp case.0x10025bc9.17
mov ecx, dword [ebp - 0xfc]
cmp dword [ecx], 0
mov edx, dword [edi + 0xc]
mov dword [ebp - 0xc0], edx
jne 0x1002a5d4
mov ecx, dword [edi + 4]
mov esi, dword [ebp - 0xd0]
call fcn.10020690
mov edx, dword [ebp - 0xfc]
push edx
call fcn.10012a80
mov edx, dword [ebp - 0xc0]
add esp, 4
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd4]
mov esi, dword [ecx + 8]
add eax, eax
mov eax, dword [esi + eax*8 + 4]
mov dword [ebp - 0xc8], eax
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov dword [ebp - 0xc4], esi
movzx ebx, byte [esi + 5]
mov dword [ebp - 0xbc], ebx
cmp edx, 0xffffffff
jne 0x1002a60e
mov edx, ebx
mov dword [ebp - 0xc0], edx
cmp byte [esi + 0xf], 3
jae 0x1002a62a
mov eax, dword [esi + 0x40]
cmp dword [eax], 0
je 0x1002a632
cmp dword [esi + 0x4c], 0
jl 0x1002a632
jg 0x1002a62a
cmp dword [esi + 0x48], 0
jbe 0x1002a632
mov edx, ebx
mov dword [ebp - 0xc0], edx
mov eax, dword [esi + 0x90]
mov dword [ebp - 0xb8], eax
cmp edx, 5
jne 0x1002a673
cmp byte [eax], 0
je 0x1002a653
mov eax, esi
call fcn.100100a0
test eax, eax
jne 0x1002a66d
mov edx, ebx
mov dword [ebp - 0xc0], edx
cmp dword [ebp - 0xcc], 0
je 0x1002a77e
jmp 0x1002a776
mov ecx, dword [ebp - 0xd4]
cmp edx, ebx
je 0x1002a65b
cmp ebx, 5
je 0x1002a681
cmp edx, 5
jne 0x1002a65b
cmp byte [ecx + 0x1c], 0
je 0x1002a72f
cmp dword [ecx + 0x8c], 1
jg 0x1002a72f
cmp ebx, 5
jne 0x1002a6cb
mov eax, esi
call fcn.100101d0
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x1002a76a
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc4]
call fcn.1000ff90
mov edx, dword [ebp - 0xc0]
jmp 0x1002a6f9
cmp ebx, 4
jne 0x1002a6ec
lea ecx, [ebx - 2]
mov eax, esi
call fcn.1000ff90
mov ebx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xc4]
cmp dword [ebp - 0xcc], 0
jne 0x1002a776
xor ecx, ecx
cmp edx, 5
mov edx, dword [ebp - 0xc8]
sete cl
inc ecx
push ecx
push edx
call fcn.1001d020
mov ebx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xc4]
add esp, 8
mov dword [ebp - 0xcc], eax
jmp 0x1002a65b
mov dword [ebp - 0xcc], 1
mov eax, str.into
cmp edx, 5
je 0x1002a748
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov edi, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd4]
add edi, 0x38
call fcn.10004510
add esp, 8
jmp case.0x10025bc9.17
mov ebx, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xc4]
mov edx, ebx
mov dword [ebp - 0xc0], edx
mov ecx, edx
mov eax, esi
call fcn.1000ff90
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], eax
mov edi, dword [edi + 8]
lea eax, [edi + edi*4]
lea edx, [ecx + eax*8]
mov eax, 0xa02
mov word [edx + 0x1c], ax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xe0], edx
cmp eax, 6
jne 0x1002a7ba
xor ecx, ecx
jmp 0x1002a7c1
mov ecx, dword [eax*4 + 0x10073228]
mov dword [edx + 4], ecx
call fcn.10006190
movzx ecx, byte [ebp - 0xe4]
mov dword [edx + 0x18], eax
mov eax, edx
mov byte [edx + 0x1f], 1
call fcn.1001e530
jmp case.0x10025bc9.17
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd4]
add ecx, 0x38
push ecx
call fcn.100583d0
add esp, 4
mov dword [ebp - 0xcc], eax
jmp case.0x10025bc9.17
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 8]
add edx, edx
mov ebx, dword [ecx + edx*8 + 4]
mov dword [ebp - 0xc8], ebx
call fcn.10015f60
mov dword [ebp - 0xcc], eax
cmp eax, 0x65
jne case.0x10025bc9.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0xcc], 0
jmp case.0x10025bc9.17
cmp dword [edi + 4], 0
jne 0x1002a861
mov eax, dword [ebp - 0xd4]
call fcn.10022dc0
jmp case.0x10025bc9.17
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x64], 1
jmp case.0x10025bc9.17
mov cl, byte [edi + 0xc]
test cl, cl
jne 0x1002a88a
mov eax, dword [ebp - 0xd4]
test dword [eax + 0xc], 0x80000
jne case.0x10025bc9.17
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
push edx
mov edx, dword [ebp - 0xd4]
mov edx, dword [edx + 8]
add eax, eax
mov esi, dword [edx + eax*8 + 4]
call fcn.1001cf10
add esp, 4
mov dword [ebp - 0xcc], eax
cmp al, 6
jne case.0x10025bc9.17
mov eax, dword [edi + 0x10]
push eax
push str.database_table_is_locked:__s
jmp 0x1002a74e
mov edi, dword [edi + 0x10]
mov ecx, dword [ebp - 0xd4]
push edi
push ecx
mov dword [ebp - 0xc8], edi
call fcn.100596d0
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
add esp, 8
test eax, eax
je case.0x10025bc9.17
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xd0]
push edx
push eax
call fcn.100259d0
add esp, 8
jmp case.0x10025bc9.17
mov ecx, dword [ebp - 0xd0]
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0xd4]
add ecx, 0x38
push ecx
push edx
call fcn.10059250
add esp, 8
mov dword [ebp - 0xcc], eax
jmp case.0x10025bc9.17
mov esi, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd4]
mov byte [esi + 0x67], 2
mov eax, dword [edi + 0x10]
push eax
mov eax, dword [edi + 4]
call fcn.100594d0
add esp, 4
mov dword [ebp - 0xcc], eax
mov byte [esi + 0x67], 0
jmp case.0x10025bc9.17
xor eax, eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx + 8]
mov dword [ebp - 0xc0], eax
mov ecx, dword [eax]
lea edx, [ebp - 0xc4]
push edx
mov dword [ebp - 0xbc], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov ecx, dword [ebp - 0xc0]
mov ebx, dword [ebp - 0xd0]
push ecx
mov esi, eax
push ebx
mov dword [ebp - 0xcc], esi
call fcn.100259d0
add esp, 0x10
test esi, esi
jne case.0x10025bc9.17
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc4]
push esi
push 0xffffffffffffffff
mov dword [eax], edx
mov ecx, dword [edi + 4]
push esi
push ecx
push ebx
call fcn.10025780
add esp, 0x14
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x1002aa00
mov edx, dword [ebp - 0xc4]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x28], edx
jmp case.0x10025bc9.17
mov ecx, dword [ebp - 0xd4]
mov byte [ecx + 0x1e], 1
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x1c]
push edx
call ecx
add esp, 4
jmp case.0x10025bc9.17
mov eax, dword [edi + 0xc]
mov esi, dword [ebp - 0xd0]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea eax, [eax + edx*8]
mov edx, dword [esi + 0x44]
mov esi, dword [esi + 0xc]
mov dword [ebp - 0xbc], eax
lea ebx, [eax + 0x28]
mov dword [ebp - 0xb8], ebx
mov ecx, dword [edi + 4]
mov ecx, dword [edx + ecx*4]
mov dword [ebp - 0xac], ecx
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0xb4], edx
mov ecx, dword [edx]
mov dword [ebp - 0xb0], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + 0x10]
mov dword [ebp - 0xc4], eax
xor eax, eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0xa4], eax
cmp ecx, eax
jle 0x1002aae7
jmp 0x1002aaa6
mov ebx, dword [ebp - 0xb8]
lea ecx, [eax + eax*4 + 5]
lea edx, [ebx + ecx*8]
mov ecx, dword [ebp - 0xa0]
mov dword [ecx + eax*4], edx
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + edx*4]
call fcn.10025750
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xc8]
inc eax
mov dword [ebp - 0xa4], eax
cmp eax, ecx
jl 0x1002aaa0
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xa0]
mov esi, dword [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xc4]
push ecx
mov byte [esi + 0x67], 1
mov ecx, dword [edi + 0x10]
push ecx
mov ecx, dword [ebp - 0xc0]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
mov ebx, eax
mov eax, dword [ebp - 0xb0]
add esp, 0x14
push eax
push esi
mov dword [ebp - 0xcc], ebx
mov byte [esi + 0x67], 0
call fcn.100259d0
add esp, 8
test ebx, ebx
jne 0x1002ab4e
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
je 0x1002ab61
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
mov ecx, dword [ebp - 0xac]
mov byte [ecx + 0x1c], 0
jmp case.0x10025bc9.17
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x44]
mov edx, dword [edi + 4]
mov eax, dword [edi + 0xc]
mov esi, dword [ecx + edx*4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea eax, [eax + edx*8]
mov dword [ebp - 0xc0], eax
cmp byte [esi + 0x1c], 0
je 0x1002aba6
mov esi, eax
call fcn.1001ecb0
jmp case.0x10025bc9.17
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx]
mov dword [ebp - 0xc8], eax
mov edx, dword [eax]
push 0x40
lea eax, [ebp - 0xb8]
push 0
push eax
mov dword [ebp - 0xc4], edx
call fcn.10067e10
mov ebx, dword [ebp - 0xc0]
add esp, 0xc
lea eax, [ebp - 0xb0]
call fcn.1001ef90
mov ecx, dword [ebp - 0x94]
and ecx, 0xbf01
or ecx, 1
mov word [ebp - 0x94], cx
mov edx, dword [edi + 8]
mov ecx, dword [esi + 0x24]
push edx
mov edx, dword [ebp - 0xc4]
lea eax, [ebp - 0xb8]
push eax
mov eax, dword [edx + 0x2c]
push ecx
call eax
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xd0]
add esp, 0xc
push ecx
push edx
mov dword [ebp - 0xcc], eax
call fcn.100259d0
mov eax, dword [ebp - 0x84]
add esp, 8
test eax, eax
je 0x1002ac3c
mov dword [ebp - 0xcc], eax
movzx ecx, byte [ebp - 0xe4]
lea eax, [ebp - 0xb0]
call fcn.1001e530
mov eax, dword [ebp - 0xc0]
lea ebx, [ebp - 0xb0]
call fcn.1001ef90
mov ecx, dword [ebp - 0xc0]
call fcn.1001eeb0
test eax, eax
jne 0x10025e37
jmp case.0x10025bc9.17
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x44]
mov dword [ebp - 0xc0], 0
mov eax, dword [edi + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xbc], eax
cmp byte [eax + 0x1c], 0
jne case.0x10025bc9.17
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0xc8], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xc4], ecx
mov byte [esi + 0x67], 1
mov edx, dword [eax + 0x24]
mov eax, dword [ecx + 0x24]
push edx
call eax
mov ecx, dword [ebp - 0xc8]
add esp, 4
push ecx
mov ebx, eax
push esi
mov dword [ebp - 0xcc], ebx
mov byte [esi + 0x67], 0
call fcn.100259d0
add esp, 8
test ebx, ebx
jne 0x1002ad07
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx + 0x24]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
jne case.0x10025bc9.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x10025bc9.17
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], eax
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0xc4], ecx
mov ecx, dword [ecx + 4]
mov edx, dword [eax]
mov edx, dword [edx + 0x4c]
push ecx
push eax
call edx
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
push eax
push esi
call fcn.100259d0
mov byte [esi + 0x64], 0
jmp 0x1002af3e
mov ecx, dword [edi + 0x10]
mov esi, dword [ecx + 8]
mov dword [ebp - 0xc8], esi
mov edx, dword [esi]
mov dword [ebp - 0xc4], edx
mov eax, dword [edi + 8]
mov dword [ebp - 0xc0], eax
cmp dword [edx + 0x34], 0
je case.0x10025bc9.17
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 0xc]
mov ebx, dword [ebp - 0xd8]
mov dword [ebp - 0xb0], ecx
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xbc], 0
test eax, eax
jle 0x1002ae1c
jmp 0x1002add0
call fcn.10025750
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + eax*4], edx
mov edx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xc0]
inc edx
add ecx, 0x28
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xbc], edx
cmp edx, eax
jl 0x1002add0
mov edx, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xc8]
mov edx, dword [edx + 0x34]
lea ecx, [ebp - 0xb8]
push ecx
mov ecx, dword [ebp - 0xb0]
push ecx
push eax
push esi
call edx
mov ebx, dword [ebp - 0xd0]
mov esi, eax
mov eax, dword [ebp - 0xc8]
push eax
push ebx
mov dword [ebp - 0xcc], esi
call fcn.100259d0
add esp, 0x18
test esi, esi
jne 0x1002ae70
cmp dword [edi + 4], esi
je 0x1002ae70
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x30], ecx
mov edx, dword [ebp - 0xb4]
mov dword [eax + 0x34], edx
inc dword [ebx + 0x6c]
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 8]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], 0
jmp case.0x10025bc9.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 8]
mov edi, dword [edi + 0xc]
add eax, eax
mov ecx, dword [edx + eax*8 + 4]
xor eax, eax
test edi, edi
je 0x1002aecc
mov eax, dword [ecx + 4]
mov eax, dword [eax + 0x30]
cmp eax, edi
jae 0x1002aecc
mov eax, edi
call fcn.10014c80
mov ecx, dword [ebp - 0xe0]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x10025bc9.17
mov edi, dword [edi + 0x10]
test edi, edi
je 0x1002aeeb
mov ecx, edi
jmp 0x1002aef7
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 0xd0]
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je case.0x10025bc9.17
mov edx, dword [ebp - 0xd4]
cmp dword [edx + 0x98], 0
je case.0x10025bc9.17
mov eax, dword [ebp - 0xd0]
push eax
call fcn.100253b0
mov edi, dword [ebp - 0xd4]
mov ecx, dword [edi + 0x9c]
mov edx, dword [edi + 0x98]
add esp, 4
mov esi, eax
push esi
push ecx
call edx
push esi
push edi
call fcn.10004120
add esp, 0x10
inc dword [ebp - 0xdc]
cmp dword [ebp - 0xcc], 0
je 0x10025b2a
jmp 0x10025e5d
mov dword [ebp - 0xcc], 9
jmp 0x10025e5d
mov eax, dword [edi + 4]
mov dword [ebx + 0x5c], eax
mov cl, byte [edi + 8]
mov byte [ebx + 0x60], cl
mov ecx, dword [ebp - 0xdc]
mov dword [ebx + 0x58], ecx
mov eax, dword [edi + 0x10]
test eax, eax
je 0x1002afc3
push eax
mov eax, dword [ebp - 0xd4]
push 0x10075ca4
lea edi, [ebx + 0x38]
call fcn.10004510
mov eax, dword [ebp - 0xe8]
mov edx, dword [eax + 0x10]
mov ecx, dword [ebx + 0xd0]
mov eax, dword [eax + 4]
push edx
mov edx, dword [ebp - 0xdc]
push ecx
push edx
push str.abort_at__d_in___s_:__s
push eax
call fcn.100058a0
add esp, 0x1c
jmp 0x1002afe2
cmp dword [ebx + 0x5c], 0
je 0x1002afe2
mov edx, dword [ebx + 0xd0]
mov eax, dword [edi + 4]
push edx
push ecx
push str.constraint_failed_at__d_in___s_
push eax
call fcn.100058a0
add esp, 0x10
call fcn.10021a70
mov edi, 5
cmp eax, edi
jne 0x1002aff8
mov dword [ebx + 0x5c], edi
jmp 0x10025ec7
mov edi, dword [ebx + 0x5c]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x10025ec7
lea ecx, [ebp - 0xb8]
push ecx
call fcn.1001e910
add esp, 4
jmp 0x10026083
mov dword [ebp - 0xcc], 0x14
jmp 0x1002b0ff
mov edx, dword [ebp - 0xdc]
mov dword [ebx + 0x58], edx
mov edi, 5
mov byte [esi + 0x1c], 0
mov dword [ebx + 0x5c], edi
jmp 0x10025ec7
test edi, edi
je 0x1002b079
mov eax, esi
call fcn.10064400
mov byte [esi + 0x1c], 1
mov esi, dword [ebp - 0xd4]
call fcn.10063bf0
mov eax, dword [ebp - 0xd0]
mov edi, dword [eax + 0x5c]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x10025ec7
push ebx
mov ebx, dword [ebp - 0xd0]
mov ecx, ebx
call fcn.10021a10
mov edi, eax
add esp, 4
test edi, edi
jne 0x10025ec7
mov al, byte [ebp - 0xc8]
mov byte [esi + 0x1c], al
call fcn.10021a70
mov edi, 5
cmp eax, edi
jne 0x1002b056
mov ecx, dword [ebp - 0xdc]
mov dl, 1
sub dl, byte [ebp - 0xc8]
mov dword [ebx + 0x58], ecx
mov byte [esi + 0x1c], dl
mov dword [ebx + 0x5c], edi
jmp 0x10025ec7
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xdc]
mov edi, 5
mov dword [eax + 0x58], ecx
mov dword [eax + 0x5c], edi
jmp 0x10025ec7
mov eax, 0xf8ac
call fcn.10065c20
mov dword [ebp - 0xcc], eax
jmp 0x1002b0ff
mov dword [ebp - 0xcc], 0xd
mov ecx, dword [ebp - 0xd4]
cmp byte [ecx + 0x1e], 0
je 0x1002b117
mov dword [ebp - 0xcc], 7
jmp 0x1002b127
cmp dword [ebp - 0xcc], 0xc0a
je 0x10025e5d
mov eax, dword [ebp - 0xcc]
call fcn.100644d0
mov edi, dword [ebp - 0xd0]
push eax
push 0x10075ca4
add edi, 0x38
mov eax, ecx
call fcn.10004510
add esp, 8
jmp 0x10025e5d
mov esi, dword [ebp - 0xd0]
mov eax, 9
mov dword [ebp - 0xcc], eax
mov dword [esi + 0x5c], eax
mov eax, dword [str.interrupted]
test eax, eax
jne 0x1002b172
mov eax, str.unknown_error
push eax
mov eax, dword [ebp - 0xd4]
push 0x10075ca4
lea edi, [esi + 0x38]
call fcn.10004510
add esp, 8
jmp 0x10025e63