Function at 0x10071d05
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x318
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi]
xor ecx, ecx
mov dword [ebp - 0xc], eax
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x49]
push edi
lea edi, [esi + 0xa4]
mov dword [ebp - 8], ecx
mov byte [ebp - 0x4c], al
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0xbc], edi
call fcn.100677f1
cmp dword [esi + 0x68], 7
je 0x100720e2
mov eax, dword [ebp - 0xc]
xor ecx, ecx
mov ebx, esi
mov dword [ebx + 0x68], ecx
mov dword [ebx + 0x84], ecx
mov dword [eax + 0x19c], ecx
mov eax, dword [eax + 0xd8]
test eax, eax
jne 0x100753b8
mov eax, dword [ebx + 0x64]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1e], 0
jne 0x100720e2
mov esi, dword [ebp - 0x1c]
mov ebx, dword [ebp + 8]
imul esi, esi, 0x14
add esi, dword [ebx + 0x14]
mov ecx, dword [eax + 0x100]
mov dword [ebp - 0x14], esi
test ecx, ecx
je 0x10071dcc
mov edx, dword [eax + 0x108]
cmp edx, dword [ebp - 0x78]
jne 0x10071dc9
push dword [eax + 0x104]
call ecx
pop ecx
test eax, eax
jne 0x1007524c
and dword [ebp - 0x78], eax
inc dword [ebp - 0x78]
movzx eax, byte [esi]
mov dl, byte [eax + 0x10103868]
test dl, 2
je 0x10071df6
mov edi, dword [esi + 8]
imul edi, edi, 0x28
add edi, dword [ebx + 0x4c]
mov eax, edi
mov dword [ebp - 0x20], edi
call fcn.1006e32a
xor eax, eax
inc eax
mov word [edi + 0x1c], ax
jmp 0x10071e5e
test dl, 4
je 0x10071e3a
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x4c]
imul eax, eax, 0x28
add eax, ecx
mov dword [ebp - 0x18], eax
test dl, 8
je 0x10071e2b
mov eax, dword [esi + 8]
imul eax, eax, 0x28
add eax, ecx
mov dword [ebp - 0x58], eax
test dl, 0x20
je 0x10071e5e
mov eax, dword [esi + 0xc]
imul eax, eax, 0x28
add eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x10071e5e
test dl, 0x10
je 0x10071e5e
mov eax, dword [esi + 0xc]
imul eax, eax, 0x28
add eax, ecx
jmp 0x10071e5b
test dl, 8
je 0x10071e4d
mov eax, dword [esi + 8]
imul eax, eax, 0x28
add eax, dword [ebx + 0x4c]
mov dword [ebp - 0x58], eax
jmp 0x10071e5e
test dl, 0x10
je 0x10071e5e
mov eax, dword [esi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebx + 0x4c]
mov dword [ebp - 0x50], eax
mov cl, byte [esi]
movzx eax, cl
mov dword [ebp - 0x30], eax
dec eax
cmp eax, 0x90
ja case.0x10071e72.13
jmp dword [eax*4 + 0x100753c9]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xd8]
test eax, eax
jne 0x100753b8
mov esi, dword [esi + 8]
dec esi
mov dword [ebp - 0x1c], esi
jmp case.0x10071e72.13
mov ecx, dword [esi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebx + 0x4c]
push 4
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x1c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [esi + 8]
mov dword [ebp - 0x18], ecx
dec eax
mov dword [ebp - 0x1c], eax
jmp case.0x10071e72.13
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
jmp 0x10071eb6
mov ecx, dword [ebp - 0x18]
mov esi, dword [ecx]
push 4
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x1c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x10071e8e
mov ecx, dword [ebp - 0x20]
push 4
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [esi + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x10071e72.13
mov eax, dword [ebp - 0x20]
push 4
pop ecx
mov word [eax + 0x1c], cx
mov esi, dword [esi + 0x10]
mov ecx, dword [esi]
mov dword [eax], ecx
mov ecx, dword [esi + 4]
mov dword [eax + 4], ecx
jmp case.0x10071e72.13
mov eax, dword [ebp - 0x20]
push 8
pop ecx
mov word [eax + 0x1c], cx
mov ecx, dword [esi + 0x10]
fld qword [ecx]
fstp qword [eax + 8]
jmp case.0x10071e72.13
mov ecx, dword [esi + 0x10]
mov byte [esi], 0x1d
call fcn.1006218b
cmp byte [ebp - 0x4c], 1
mov dword [esi + 4], eax
je 0x10071fe3
mov edi, dword [ebp - 0x20]
push 1
push ecx
xor eax, eax
or ecx, 0xffffffff
mov edx, edi
call fcn.1006e78c
movzx eax, byte [ebp - 0x4c]
push eax
mov eax, edi
call fcn.1006e077
add esp, 0xc
test eax, eax
jne 0x100720e5
mov eax, edi
call fcn.1006e15a
test eax, eax
jne 0x100720e5
and dword [edi + 0x24], eax
mov ax, word [edi + 0x1c]
mov ecx, 0xfbff
and ax, cx
mov ecx, 0x800
or ax, cx
mov word [edi + 0x1c], ax
cmp byte [esi + 1], 0xff
jne 0x10071fa5
push dword [esi + 0x10]
push dword [ebp - 0xc]
call fcn.10060799
pop ecx
pop ecx
mov byte [esi + 1], 0xff
mov eax, dword [edi + 0x14]
mov dword [esi + 0x10], eax
mov edi, dword [edi + 0x18]
mov eax, dword [ebp - 0xc]
mov dword [esi + 4], edi
cmp edi, dword [eax + 0x50]
jle case.0x10071e72.13
mov edi, dword [ebp + 8]
push str.string_or_blob_too_big
push dword [ebp - 0xc]
sub edi, 0xffffff80
call fcn.10060aa2
mov ebx, dword [ebp + 8]
mov dword [ebp - 8], 0x12
jmp 0x10072104
mov ecx, dword [ebp - 0xc]
cmp eax, dword [ecx + 0x50]
jg 0x10071fc1
mov eax, dword [ebp - 0x20]
mov ecx, 0xa02
mov word [eax + 0x1c], cx
mov ecx, dword [esi + 0x10]
mov dword [eax + 0x14], ecx
mov ecx, dword [esi + 4]
mov dword [eax + 0x18], ecx
mov cl, byte [ebp - 0x4c]
mov byte [eax + 0x1f], cl
jmp case.0x10071e72.13
mov ecx, dword [esi + 4]
push 0
push dword [esi + 0x10]
mov esi, dword [ebp - 0x20]
xor eax, eax
mov edx, esi
call fcn.1006e78c
mov al, byte [ebp - 0x4c]
mov byte [esi + 0x1f], al
jmp 0x10075235
mov esi, dword [esi + 4]
mov eax, dword [ebx + 0x38]
dec esi
imul esi, esi, 0x28
add esi, eax
mov ecx, esi
call fcn.1006e69f
test eax, eax
jne 0x10071fc1
mov ebx, dword [ebp - 0x20]
push 0x800
push esi
call fcn.1006e6c6
jmp 0x10075235
mov eax, dword [esi + 4]
mov edi, dword [esi + 0xc]
imul eax, eax, 0x28
mov esi, dword [esi + 8]
mov ebx, dword [ebx + 0x4c]
imul esi, esi, 0x28
add eax, ebx
mov dword [ebp - 0x18], eax
add esi, ebx
jmp 0x1007209d
mov esi, dword [ebp - 0x20]
mov eax, dword [esi + 0x24]
mov ebx, dword [ebp - 0x18]
and dword [esi + 0x24], 0
mov dword [ebp - 0x10], eax
mov eax, esi
dec edi
call fcn.1006e768
mov eax, dword [ebp - 0x10]
mov dword [ebx + 0x24], eax
add ebx, 0x28
mov dword [ebp - 0x18], ebx
add esi, 0x28
mov dword [ebp - 0x20], esi
test edi, edi
jne 0x10072076
jmp case.0x10071e72.13
mov esi, dword [esi + 8]
imul esi, esi, 0x28
mov eax, ebx
add esi, dword [eax + 0x4c]
mov edi, 0x1000
push edi
push dword [ebp - 0x18]
mov ebx, esi
mov dword [ebp - 0x20], esi
call fcn.1006e6c6
pop ecx
pop ecx
test word [esi + 0x1c], di
je case.0x10071e72.13
mov eax, esi
call fcn.1006e15a
test eax, eax
je case.0x10071e72.13
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0xc]
push str.out_of_memory
push eax
lea edi, [ebx + 0x80]
mov byte [eax + 0x1e], 1
call fcn.10060aa2
mov dword [ebp - 8], 7
pop ecx
pop ecx
mov esi, dword [ebp - 8]
push ebx
mov dword [ebx + 0x68], esi
call fcn.1006ff80
pop ecx
cmp esi, 0xc0a
jne 0x10072122
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x1e], 1
xor esi, esi
inc esi
mov edi, dword [ebp - 0xbc]
call fcn.1006782b
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret
mov esi, dword [esi + 8]
imul esi, esi, 0x28
mov eax, ebx
add esi, dword [eax + 0x4c]
push 0x1000
push dword [ebp - 0x18]
mov dword [ebp - 0x20], esi
mov ebx, esi
jmp 0x10072051
mov edi, dword [ebp - 0x18]
movzx eax, word [edi + 0x1c]
mov esi, dword [ebp - 0x58]
mov cl, byte [esi + 0x1c]
or cl, al
test cl, 1
je 0x10072175
mov edi, dword [ebp - 0x20]
call fcn.1006e584
jmp case.0x10071e72.13
test eax, 0x4000
je 0x10072183
mov eax, edi
call fcn.1006e1b5
test byte [edi + 0x1c], 0x12
jne 0x1007219e
movzx eax, byte [ebp - 0x4c]
push eax
mov eax, edi
call fcn.1006e250
pop ecx
test eax, eax
jne 0x100720e5
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x100721b0
mov eax, esi
call fcn.1006e1b5
test byte [esi + 0x1c], 0x12
jne 0x100721cb
movzx eax, byte [ebp - 0x4c]
push eax
mov eax, esi
call fcn.1006e250
pop ecx
test eax, eax
jne 0x100720e5
mov eax, dword [edi + 0x18]
add eax, dword [esi + 0x18]
cdq
mov esi, eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x50]
mov ecx, edx
cdq
cmp ecx, edx
jg 0x10071fc1
jl 0x100721ef
cmp esi, eax
ja 0x10071fc1
mov edi, dword [ebp - 0x20]
mov ax, word [edi + 0x1c]
mov ebx, dword [ebp - 0x58]
mov ecx, 0xbf02
and ax, cx
or ax, 2
mov word [edi + 0x1c], ax
xor eax, eax
cmp edi, ebx
sete al
push eax
lea eax, [esi + 2]
call fcn.1006e097
pop ecx
test eax, eax
jne 0x100720e2
cmp edi, ebx
je 0x10072237
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [edi + 0x14]
call fcn.100c1cb0
add esp, 0xc
mov eax, dword [ebp - 0x18]
push dword [eax + 0x18]
push dword [eax + 0x14]
mov eax, dword [edi + 0x14]
add eax, dword [ebx + 0x18]
push eax
call fcn.100c1cb0
mov eax, dword [edi + 0x14]
mov byte [esi + eax], 0
mov eax, dword [edi + 0x14]
mov byte [esi + eax + 1], 0
mov eax, 0x200
add esp, 0xc
or word [edi + 0x1c], ax
mov al, byte [ebp - 0x4c]
mov dword [edi + 0x18], esi
mov byte [edi + 0x1f], al
jmp case.0x10071e72.13
mov ebx, dword [ebp - 0x18]
mov edi, ebx
call fcn.10071c23
mov edi, dword [ebp - 0x58]
call fcn.10071c23
movzx eax, word [ebx + 0x1c]
movzx ecx, word [edi + 0x1c]
movzx ebx, ax
movzx edx, cx
or ebx, edx
test bl, 1
jne 0x10072168
and al, cl
test al, 4
je 0x10072341
mov eax, dword [ebp - 0x18]
movzx esi, byte [esi]
sub esi, 0x53
mov edx, dword [ebp - 0x58]
mov ecx, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [edx]
mov edx, dword [edx + 4]
je 0x10072338
dec esi
je 0x1007232f
dec esi
je 0x10072321
dec esi
mov esi, ecx
je 0x100722f1
or esi, edi
je 0x10072168
mov esi, ecx
and esi, edi
cmp esi, 0xffffffff
jne 0x100722e3
xor ecx, ecx
inc ecx
xor edi, edi
push edi
push ecx
push edx
push eax
call fcn.100d2940
jmp 0x100729b9
or esi, edi
je 0x10072168
mov esi, ecx
and esi, edi
cmp esi, 0xffffffff
jne 0x10072313
test eax, eax
jne 0x10072313
cmp edx, 0x80000000
jne 0x10072313
xor ecx, ecx
inc ecx
xor edi, edi
push edi
push ecx
push edx
push eax
call fcn.100c7660
jmp 0x100729b9
push edi
push ecx
push edx
push eax
call fcn.100c7620
jmp 0x100729b9
sub eax, ecx
sbb edx, edi
jmp 0x100729b9
add eax, ecx
adc edx, edi
jmp 0x100729b9
mov esi, dword [ebp - 0x18]
call fcn.1006e45c
fstp qword [ebp - 0x3c]
mov esi, dword [ebp - 0x58]
call fcn.1006e45c
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax]
sub eax, 0x53
je 0x100723c9
dec eax
je 0x100723c4
dec eax
je 0x100723bf
dec eax
je 0x100723ae
fld qword [ebp - 0x3c]
call fcn.100c6fb6
mov esi, eax
mov edi, edx
call fcn.100c6fb6
mov ecx, esi
or ecx, edi
je 0x10072168
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x10072391
xor esi, esi
inc esi
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.100d2940
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], edx
fild qword [ebp - 0x124]
jmp 0x100723cc
fldz
fcomp qword [ebp - 0x3c]
fnstsw ax
test ah, 0x44
jnp 0x10072417
fdiv qword [ebp - 0x3c]
jmp 0x100723cc
fmul qword [ebp - 0x3c]
jmp 0x100723cc
fsub qword [ebp - 0x3c]
jmp 0x100723cc
fadd qword [ebp - 0x3c]
fstp qword [ebp - 0x3c]
push ecx
fld qword [ebp - 0x3c]
push ecx
fstp qword [esp]
call fcn.10062162
add esp, 8
test eax, eax
jne 0x10072168
mov esi, dword [ebp - 0x20]
fld qword [ebp - 0x3c]
mov ax, word [esi + 0x1c]
fstp qword [esi + 8]
mov ecx, 0xbf08
and ax, cx
or ax, 8
mov word [esi + 0x1c], ax
test bl, 8
jne case.0x10071e72.13
call fcn.1006e4bb
jmp case.0x10071e72.13
fstp st(0)
jmp 0x10072168
mov ecx, dword [esi + 8]
movzx edi, byte [esi + 3]
imul ecx, ecx, 0x28
mov edx, dword [ebx + 0x24]
add ecx, dword [ebx + 0x4c]
xor ebx, ebx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x10], edx
test edi, edi
jle 0x1007244a
mov dword [edx + ebx*4], ecx
call fcn.10071b2c
inc ebx
add ecx, 0x28
cmp ebx, edi
jl 0x1007243a
cmp byte [esi + 1], 0xfb
mov eax, dword [esi + 0x10]
jne 0x1007245c
and dword [ebp - 0x188], 0
jmp 0x10072464
mov dword [ebp - 0x188], eax
mov eax, dword [eax]
mov edi, dword [esi + 0xc]
and dword [ebp - 0x164], 0
imul edi, edi, 0x28
and dword [ebp - 0x160], 0
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp + 8]
add edi, dword [eax + 0x4c]
xor eax, eax
inc eax
mov word [ebp - 0x168], ax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x174], eax
mov ebx, edi
lea eax, [ebp - 0x184]
mov dword [ebp - 0x20], edi
call fcn.1006e768
mov eax, dword [ebp - 0x168]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x168], ax
mov eax, dword [ebp - 0x18c]
xor ebx, ebx
mov dword [ebp - 0x158], ebx
test byte [eax + 3], 8
je 0x100724d9
mov ecx, dword [esi - 4]
mov dword [ebp - 0x154], ecx
push dword [ebp - 0x10]
lea ecx, [ebp - 0x18c]
push dword [ebp - 0x2c]
push ecx
call dword [eax + 0xc]
mov eax, dword [ebp - 0xc]
add esp, 0xc
cmp byte [eax + 0x1e], bl
jne 0x1007530b
cmp dword [ebp - 0x188], ebx
je 0x1007251f
push dword [esi + 4]
mov edi, dword [ebp - 0x188]
call fcn.10070314
mov eax, dword [ebp - 0x188]
mov edi, dword [ebp - 0x20]
pop ecx
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xf9
cmp dword [ebp - 0x158], ebx
je 0x10072557
lea eax, [ebp - 0x184]
push eax
call fcn.10070d82
mov edi, dword [ebp + 8]
pop ecx
push eax
push 0x101079d8
push dword [ebp - 0xc]
sub edi, 0xffffff80
call fcn.10060aa2
mov eax, dword [ebp - 0x158]
mov edi, dword [ebp - 0x20]
add esp, 0xc
mov dword [ebp - 8], eax
movzx eax, byte [ebp - 0x4c]
push eax
lea eax, [ebp - 0x184]
call fcn.1006e077
pop ecx
lea ebx, [ebp - 0x184]
mov eax, edi
call fcn.1006e768
mov ecx, edi
call fcn.1006e69f
test eax, eax
jne 0x10071fc1
jmp case.0x10071e72.13
mov esi, dword [ebp - 0x58]
mov al, byte [esi + 0x1c]
mov ecx, dword [ebp - 0x18]
or al, byte [ecx + 0x1c]
test al, 1
jne 0x10072168
call fcn.1006e3e7
mov esi, dword [ebp - 0x18]
mov edi, eax
mov ebx, edx
call fcn.1006e3e7
mov ecx, eax
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax]
sub eax, 0x4f
je 0x100725dd
dec eax
je 0x100725d7
dec eax
mov edx, ebx
mov eax, edi
je 0x100725cc
call fcn.100e3f80
jmp 0x100725d1
call fcn.100c7f00
mov edi, eax
mov ebx, edx
jmp 0x100725e1
or edi, ecx
or ebx, edx
jmp 0x100725e1
and edi, ecx
and ebx, edx
mov eax, dword [ebp - 0x20]
mov dword [eax], edi
mov dword [eax + 4], ebx
mov cx, word [eax + 0x1c]
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp case.0x10071e72.13
mov edi, dword [ebp - 0x18]
mov eax, edi
call fcn.1006e4e1
mov eax, dword [esi + 8]
cdq
add dword [edi], eax
adc dword [edi + 4], edx
jmp case.0x10071e72.13
push dword [ebp - 0x4c]
mov edi, dword [ebp - 0x18]
push 0x63
mov eax, edi
call fcn.10071c9e
movzx eax, word [edi + 0x1c]
pop ecx
pop ecx
test al, 4
jne 0x1007264a
mov esi, dword [esi + 8]
test esi, esi
jne 0x10071e8d
mov dword [ebp - 8], 0x14
jmp 0x10073eab
and eax, 0xbf04
or eax, 4
mov word [edi + 0x1c], ax
jmp case.0x10071e72.13
mov eax, dword [ebp - 0x18]
test byte [eax + 0x1c], 4
je case.0x10071e72.13
mov eax, dword [ebp - 0x18]
call fcn.1006e506
jmp case.0x10071e72.13
mov eax, dword [ebp - 0x18]
movzx eax, word [eax + 0x1c]
test al, 1
jne case.0x10071e72.13
mov esi, dword [ebp - 0x18]
push dword [ebp - 0x4c]
mov ecx, eax
shr ecx, 3
and ecx, 2
or ecx, eax
push 0x61
mov eax, esi
mov word [esi + 0x1c], cx
call fcn.10071c9e
mov eax, 0x4000
pop ecx
pop ecx
test word [esi + 0x1c], ax
je 0x100726ba
mov eax, esi
call fcn.1006e1b5
mov dword [ebp - 8], eax
jmp 0x100726be
and dword [ebp - 8], 0
mov eax, 0xbfe3
and word [esi + 0x1c], ax
jmp case.0x10071e72.13
mov eax, dword [ebp - 0x18]
movzx eax, word [eax + 0x1c]
test al, 1
jne case.0x10071e72.13
test al, 0x10
jne 0x10072709
push dword [ebp - 0x4c]
mov esi, dword [ebp - 0x18]
push 0x61
mov eax, esi
call fcn.10071c9e
mov ax, word [esi + 0x1c]
pop ecx
pop ecx
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
mov word [esi + 0x1c], ax
jmp case.0x10071e72.13
mov ecx, dword [ebp - 0x18]
and eax, 0xff10
mov word [ecx + 0x1c], ax
jmp case.0x10071e72.13
mov eax, dword [ebp - 0x18]
test byte [eax + 0x1c], 0xd
jne case.0x10071e72.13
call fcn.1006e529
jmp case.0x10071e72.13
mov eax, dword [ebp - 0x18]
test byte [eax + 0x1c], 1
jne case.0x10071e72.13
call fcn.1006e4e1
jmp case.0x10071e72.13
mov eax, dword [ebp - 0x18]
test byte [eax + 0x1c], 1
jne case.0x10071e72.13
jmp 0x10072668
mov edi, dword [ebp - 0x18]
mov al, byte [edi + 0x1c]
mov ecx, dword [ebp - 0x50]
or al, byte [ecx + 0x1c]
test al, 1
mov al, byte [esi + 3]
je 0x1007279f
test al, 0x10
je 0x10072792
mov esi, dword [esi + 8]
imul esi, esi, 0x28
add esi, dword [ebx + 0x4c]
mov ecx, 0xbf01
mov ax, word [esi + 0x1c]
and ax, cx
mov dword [ebp - 0x20], esi
or ax, 1
jmp 0x10072700
test al, 8
je case.0x10071e72.13
jmp 0x10071e8a
and al, 0x67
mov byte [ebp - 0xac], al
je 0x100727da
push dword [ebp - 0x4c]
mov eax, edi
push dword [ebp - 0xac]
call fcn.10071c9e
push dword [ebp - 0x4c]
mov eax, dword [ebp - 0x50]
push dword [ebp - 0xac]
call fcn.10071c9e
mov eax, dword [ebp - 0xc]
add esp, 0x10
cmp byte [eax + 0x1e], 0
jne 0x100720e5
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x100727ec
mov eax, edi
call fcn.1006e1b5
mov ecx, dword [ebp - 0x50]
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x10072801
mov eax, ecx
call fcn.1006e1b5
push dword [esi + 0x10]
mov edx, dword [ebp - 0x50]
mov eax, edi
call fcn.1006e8df
pop ecx
movzx ecx, byte [esi]
sub ecx, 0x48
je 0x10072850
dec ecx
je 0x10072847
dec ecx
je 0x1007283e
dec ecx
je 0x10072835
dec ecx
je 0x1007282c
xor ecx, ecx
test eax, eax
setge cl
jmp 0x10072857
xor ecx, ecx
test eax, eax
setl cl
jmp 0x10072857
xor ecx, ecx
test eax, eax
setle cl
jmp 0x10072857
xor ecx, ecx
test eax, eax
setg cl
jmp 0x10072857
xor ecx, ecx
test eax, eax
sete cl
jmp 0x10072857
xor ecx, ecx
test eax, eax
setne cl
test byte [esi + 3], 0x10
mov eax, ecx
je 0x10072a3c
mov esi, dword [esi + 8]
imul esi, esi, 0x28
add esi, dword [ebx + 0x4c]
mov edx, 0xbf04
mov cx, word [esi + 0x1c]
and cx, dx
cdq
or cx, 4
mov dword [ebp - 0x20], esi
mov word [esi + 0x1c], cx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x10071e72.13
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x80], eax
jmp case.0x10071e72.13
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x10], ecx
mov ecx, dword [esi + 4]
mov dword [ebp - 0x28], ecx
mov ecx, dword [esi + 8]
xor edi, edi
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x2c], ecx
test eax, eax
jle 0x1007291a
mov eax, dword [ebp - 0x10]
add eax, 0xc
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x100728cc
mov ecx, dword [eax + edi*4]
jmp 0x100728ce
mov ecx, edi
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + 8]
movzx edx, byte [edx + edi]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov esi, dword [ebx + 0x4c]
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x2c]
add eax, ecx
add edx, ecx
imul eax, eax, 0x28
imul edx, edx, 0x28
add eax, esi
add edx, esi
call fcn.1006e8df
pop ecx
mov dword [ebp - 0x6c], eax
test eax, eax
jne 0x10072911
add dword [ebp - 0x24], 4
inc edi
cmp edi, dword [ebp - 0x48]
jl 0x100728c0
jmp 0x1007291a
cmp dword [ebp - 0x34], 0
je 0x1007291a
neg dword [ebp - 0x6c]
and dword [ebp - 0x80], 0
jmp case.0x10071e72.13
cmp dword [ebp - 0x6c], 0
jge 0x10072931
mov esi, dword [esi + 4]
jmp 0x10071e8d
je 0x10071e8a
mov esi, dword [esi + 0xc]
jmp 0x10071e8d
mov eax, dword [ebp - 0x18]
test byte [eax + 0x1c], 1
je 0x1007294d
push 2
pop edi
jmp 0x1007295e
mov esi, eax
call fcn.1006e3e7
mov esi, dword [ebp - 0x14]
xor edi, edi
or eax, edx
je 0x1007295e
inc edi
mov eax, dword [ebp - 0x58]
test byte [eax + 0x1c], 1
je 0x1007296c
push 2
pop eax
jmp 0x10072981
mov esi, eax
call fcn.1006e3e7
or eax, edx
mov esi, dword [ebp - 0x14]
je 0x1007297f
xor eax, eax
inc eax
jmp 0x10072981
xor eax, eax
imul edi, edi, 3
cmp byte [esi], 0x42
jne 0x10072993
movzx eax, byte [edi + eax + 0x10103834]
jmp 0x1007299b
movzx eax, byte [edi + eax + 0x101038fc]
cmp eax, 2
jne 0x100729b8
mov eax, dword [ebp - 0x20]
mov cx, word [eax + 0x1c]
mov edx, 0xbf01
and cx, dx
or cx, 1
jmp 0x100725f9
cdq
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
mov ax, word [ecx + 0x1c]
mov dword [ecx + 4], edx
mov edx, 0xbf04
and ax, dx
or ax, 4
jmp 0x10072711
mov edi, dword [esi + 8]
mov esi, dword [ebp - 0x18]
imul edi, edi, 0x28
add edi, dword [ebx + 0x4c]
test byte [esi + 0x1c], 1
mov dword [ebp - 0x20], edi
jne 0x1007216b
call fcn.1006e3e7
or eax, edx
jne 0x100729fb
inc eax
jmp 0x100729fd
xor eax, eax
cdq
push edx
push eax
mov esi, edi
call fcn.1006e5d5
jmp 0x10075235
mov edi, dword [esi + 8]
mov esi, dword [ebp - 0x18]
imul edi, edi, 0x28
add edi, dword [ebx + 0x4c]
test byte [esi + 0x1c], 1
mov dword [ebp - 0x20], edi
jne 0x1007216b
call fcn.1006e3e7
not eax
not edx
jmp 0x100729fe
mov eax, dword [ebp - 0x18]
test byte [eax + 0x1c], 1
je 0x10072a43
mov eax, dword [esi + 0xc]
test eax, eax
jmp 0x10072794
mov esi, eax
call fcn.1006e45c
fcomp qword [0x10112fd0]
fnstsw ax
test ah, 0x44
jnp 0x10072a5c
xor eax, eax
inc eax
jmp 0x10072a5e
xor eax, eax
mov ecx, dword [ebp - 0x14]
cmp byte [ecx], 0x45
mov esi, ecx
jne 0x10072a3c
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x10072a3c
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x18]
test byte [ecx + 0x1c], 1
jne 0x10071e8a
add dword [ebp - 0x18], 0x28
dec eax
test eax, eax
jg 0x10072a76
jmp case.0x10071e72.13
mov eax, dword [ebp - 0x18]
test byte [eax + 0x1c], 1
jne case.0x10071e72.13
jmp 0x10071e8a
mov eax, dword [esi + 8]
mov edx, dword [esi + 4]
mov dword [ebp - 0x38], eax
xor eax, eax
push 0xa
pop ecx
lea edi, [ebp - 0x1c4]
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebx + 0x4c]
mov edi, 0xbf01
mov cx, word [eax + 0x1c]
and cx, di
or cx, 1
mov word [eax + 0x1c], cx
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + edx*4]
xor ecx, ecx
mov dword [ebp - 0x48], eax
cmp dword [eax], ecx
je 0x10072b52
mov esi, eax
call fcn.10070420
mov dword [ebp - 8], eax
test eax, eax
jne 0x10073eab
and dword [ebp - 0x30], eax
cmp byte [esi + 0x1c], 0
mov eax, dword [esi]
mov dword [ebp - 0x28], eax
je 0x10072b0e
and dword [ebp - 0x5c], 0
jmp 0x10072b4a
mov ecx, dword [esi + 0x60]
mov edx, ebx
cmp ecx, dword [edx + 0x54]
jne 0x10072b26
mov eax, dword [esi + 0x64]
mov dword [ebp - 0x5c], eax
mov eax, dword [esi + 0x70]
mov dword [ebp - 0x30], eax
jmp 0x10072b4a
cmp byte [esi + 0x22], 0
je 0x10072b42
lea edi, [ebp - 0x1cc]
call fcn.10069a79
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x5c], eax
jmp 0x10072b4a
lea edi, [ebp - 0x5c]
call fcn.10069ac0
mov eax, dword [ebp - 0x48]
mov esi, dword [ebp - 0x14]
jmp 0x10072b64
mov edx, dword [eax + 0x34]
mov dword [ebp - 0x5c], edx
mov edx, dword [eax + 0x38]
mov dword [ebp - 0x30], edx
mov dword [eax + 0x60], ecx
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x5c], 0
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0x2c], eax
je case.0x10071e72.13
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0xc]
cmp eax, dword [ecx + 0x50]
jg 0x10071fc1
mov edi, dword [ebp - 0x48]
mov ecx, dword [edi + 0x60]
mov eax, dword [edi + 0x68]
mov dword [ebp - 0x10], eax
cmp ecx, dword [ebx + 0x54]
jne 0x10072b9f
mov eax, dword [edi + 0x6c]
mov dword [ebp - 0x14], eax
jmp 0x10072d0b
mov ecx, dword [ebp - 0x2c]
and dword [ebp - 0x24], 0
lea eax, [eax + ecx*4]
mov dword [ebp - 0x14], eax
mov dword [edi + 0x6c], eax
mov eax, dword [ebp - 0x5c]
mov dword [edi + 0x64], eax
mov eax, dword [ebx + 0x54]
mov ebx, dword [ebp - 0x30]
mov dword [edi + 0x60], eax
test ebx, ebx
jne 0x10072c00
mov eax, dword [ebp - 0x28]
cmp byte [edi + 0x22], bl
je 0x10072bd3
cmp byte [eax + 0x3b], 1
jne 0x10072bea
push ebx
jmp 0x10072bdb
cmp byte [eax + 0x3b], 1
jne 0x10072bea
push 1
lea ecx, [ebp - 0x24]
push ecx
call fcn.10069eef
pop ecx
mov ebx, eax
pop ecx
jmp 0x10072bec
xor ebx, ebx
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x5c]
jl 0x10072bfc
mov dword [ebp - 0x30], ebx
mov dword [edi + 0x70], ebx
jmp 0x10072c00
and dword [edi + 0x70], 0
mov al, byte [ebx]
cmp al, 0x80
jae 0x10072c11
movzx eax, al
mov dword [ebp - 0x60], eax
xor eax, eax
inc eax
jmp 0x10072c1e
lea edi, [ebp - 0x60]
mov ecx, ebx
call fcn.100629e3
movzx eax, al
cmp dword [ebp - 0x30], 0
movzx edi, al
jne 0x10072c6d
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x24], eax
jge 0x10072c6d
mov ebx, dword [ebp - 0x60]
xor eax, eax
and dword [ebp - 0x1b4], eax
mov word [ebp - 0x1a8], ax
mov eax, dword [ebp - 0x48]
movzx eax, byte [eax + 0x22]
push eax
push 0
push dword [ebp - 0x28]
lea eax, [ebp - 0x1c4]
call fcn.1006eaa4
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jne case.0x10071e72.13
mov ebx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x60]
add eax, ebx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x2c]
add ebx, edi
test eax, eax
jle 0x10072cd1
mov edi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
sub ecx, edi
mov dword [ebp - 8], ecx
mov dword [ebp - 0x2c], eax
cmp ebx, dword [ebp - 0x24]
jae 0x10072cc5
mov eax, dword [ebp - 0x60]
mov dword [ecx + edi], eax
mov al, byte [ebx]
cmp al, 0x80
jae 0x10072ca7
movzx eax, al
mov dword [edi], eax
xor eax, eax
inc eax
jmp 0x10072cb4
mov ecx, ebx
call fcn.100629e3
mov ecx, dword [ebp - 8]
movzx eax, al
movzx eax, al
add ebx, eax
mov eax, dword [edi]
call fcn.10070589
add dword [ebp - 0x60], eax
jmp 0x10072cc9
and dword [ecx + edi], 0
add edi, 4
dec dword [ebp - 0x2c]
jne 0x10072c8c
lea eax, [ebp - 0x1c4]
push eax
call fcn.1006e374
xor eax, eax
inc eax
pop ecx
mov word [ebp - 0x1a8], ax
cmp ebx, dword [ebp - 0x24]
ja 0x10072dfb
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0x5c]
jg 0x10072dfb
cmp ebx, dword [ebp - 0x24]
jne 0x10072d0b
cmp eax, dword [ebp - 0x5c]
jne 0x10072dfb
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
shl ebx, 2
lea edi, [ebx + eax]
cmp dword [edi], 0
je 0x10072da0
cmp dword [ebp - 0x30], 0
je 0x10072d3d
mov esi, dword [ebp - 0x34]
mov eax, esi
call fcn.1006e32a
mov eax, dword [ebp - 0x10]
mov ecx, dword [edi]
push dword [ebx + eax]
add ecx, dword [ebp - 0x30]
jmp 0x10072d8f
mov eax, dword [ebp - 0x10]
lea esi, [ebx + eax]
mov eax, dword [esi]
call fcn.10070589
mov ebx, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x1c4]
call fcn.1006e768
mov eax, dword [ebp - 0x48]
movzx eax, byte [eax + 0x22]
mov ebx, dword [ebp - 0x38]
push eax
push dword [edi]
lea eax, [ebp - 0x1c4]
push dword [ebp - 0x28]
call fcn.1006eaa4
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jne case.0x10071e72.13
push dword [esi]
mov esi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x1b0]
call fcn.1007062e
mov al, byte [ebp - 0x4c]
pop ecx
mov ecx, dword [ebp - 0x34]
mov byte [ecx + 0x1f], al
jmp 0x10072db8
cmp byte [esi + 1], 0xf8
jne 0x10072db8
mov ebx, dword [ebp - 0x34]
push 0x800
push dword [esi + 0x10]
call fcn.1006e6c6
pop ecx
pop ecx
cmp dword [ebp - 0x1a0], 0
je 0x10072dee
mov eax, dword [ebp - 0x34]
mov cx, word [eax + 0x1c]
mov edx, 0xe7ff
and cx, dx
mov edx, 0x200
or cx, dx
mov word [eax + 0x1c], cx
mov ecx, dword [ebp - 0x1b0]
mov dword [eax + 0x14], ecx
mov ecx, dword [ebp - 0x1a0]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x34]
call fcn.1006e15a
jmp 0x10074880
mov dword [ebp - 8], 0xb
jmp case.0x10071e72.13
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
imul eax, eax, 0x28
add eax, dword [ebx + 0x4c]
imul ecx, ecx, 0x28
mov edi, dword [esi + 0x10]
lea ebx, [ecx + eax - 0x28]
mov esi, eax
cmp eax, ebx
ja case.0x10071e72.13
and dword [ebp - 0x10], 0
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x10072e3d
mov eax, esi
call fcn.1006e1b5
push dword [ebp - 0x4c]
mov eax, dword [ebp - 0x10]
cdq
push 0x28
pop ecx
idiv ecx
movzx eax, byte [eax + edi]
push eax
mov eax, esi
call fcn.10071c9e
add dword [ebp - 0x10], 0x28
add esi, 0x28
pop ecx
pop ecx
cmp esi, ebx
jbe 0x10072e2b
jmp case.0x10071e72.13
mov ecx, dword [esi + 8]
movzx edx, byte [ebx + 0x8b]
imul ecx, ecx, 0x28
xor eax, eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x48], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 4]
imul eax, eax, 0x28
add eax, dword [ebx + 0x4c]
mov dword [ebp - 0x2c], edx
lea ecx, [ecx + eax - 0x28]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x28], ecx
mov edi, eax
cmp eax, ecx
ja 0x10072f51
mov dword [ebp - 0x10], 0xffffffe8
sub dword [ebp - 0x10], eax
cmp dword [ebp - 0x24], 0
je 0x10072edf
push dword [ebp - 0x4c]
mov eax, dword [ebp - 0x10]
lea eax, [eax + edi + 0x18]
cdq
push 0x28
pop ecx
idiv ecx
mov ecx, dword [ebp - 0x24]
movzx eax, byte [eax + ecx]
push eax
mov eax, edi
call fcn.10071c9e
pop ecx
pop ecx
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x10072ef7
cmp dword [edi + 0x18], 0
jle 0x10072ef7
mov eax, edi
call fcn.1006e1b5
push dword [ebp - 0x2c]
mov edx, edi
call fcn.100704c3
pop ecx
mov dword [ebp - 0x38], eax
call fcn.10070589
mov dword [ebp - 0x30], eax
cdq
add dword [ebp - 0x94], eax
push 0
push dword [ebp - 0x38]
adc dword [ebp - 0x90], edx
call fcn.10062a76
add dword [ebp - 0x14], eax
mov eax, 0x4000
pop ecx
pop ecx
test word [edi + 0x1c], ax
je 0x10072f3b
mov eax, dword [edi]
add dword [ebp - 0x48], eax
jmp 0x10072f45
cmp dword [ebp - 0x30], 0
je 0x10072f45
and dword [ebp - 0x48], 0
add edi, 0x28
cmp edi, dword [ebp - 0x28]
jbe 0x10072eb8
mov eax, dword [ebp - 0x14]
cdq
push edx
push eax
call fcn.10062a76
mov edi, eax
add dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x14]
cdq
push edx
push eax
call fcn.10062a76
add esp, 0x10
cmp edi, eax
jge 0x10072f76
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x48]
cdq
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x14]
mov ecx, edx
cdq
mov edi, eax
mov eax, dword [ebp - 0x38]
sub edi, eax
mov eax, ecx
mov ecx, edx
sbb ecx, eax
add edi, dword [ebp - 0x94]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x50]
adc ecx, dword [ebp - 0x90]
cdq
cmp ecx, edx
mov dword [ebp - 0x114], edi
jg 0x10071fc1
jl 0x10072fbb
cmp edi, eax
ja 0x10071fc1
mov esi, dword [esi + 0xc]
imul esi, esi, 0x28
add esi, dword [ebx + 0x4c]
mov eax, edi
push 0
mov edi, esi
mov dword [ebp - 0x20], esi
call fcn.1006e097
pop ecx
test eax, eax
jne 0x100720e5
mov eax, dword [ebp - 0x14]
mov ebx, dword [esi + 0x14]
mov dword [ebp - 0x38], ebx
cmp eax, 0x80
jae 0x10072ff2
mov byte [ebx], al
xor eax, eax
inc eax
jmp 0x10072ff9
mov ecx, ebx
call fcn.10062826
movzx edi, al
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x14], eax
jmp 0x10073033
push dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
call fcn.100704c3
pop ecx
cmp eax, 0x80
jae 0x1007301f
mov byte [edi + ebx], al
xor eax, eax
inc eax
jmp 0x10073027
lea ecx, [edi + ebx]
call fcn.10062826
movzx eax, al
add edi, eax
add dword [ebp - 0x14], 0x28
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x28]
jbe 0x10073004
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x28]
ja 0x1007306e
jmp 0x10073048
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x114]
push dword [ebp - 0x2c]
sub eax, edi
push eax
mov eax, dword [ebp - 0x14]
add ebx, edi
call fcn.1007059c
add dword [ebp - 0x14], 0x28
add edi, eax
mov eax, dword [ebp - 0x14]
pop ecx
pop ecx
cmp eax, dword [ebp - 0x28]
jbe 0x10073045
mov eax, dword [ebp - 0x114]
and dword [esi + 0x20], 0
mov dword [esi + 0x18], eax
mov eax, 0x410
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x10073096
mov dword [esi], eax
mov eax, 0x4410
mov word [esi + 0x1c], ax
mov byte [esi + 0x1f], 1
jmp case.0x10071e72.13
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1c], 0
je 0x100730b5
cmp dword [eax + 0x90], 1
jle case.0x10071e72.13
mov ecx, dword [esi + 4]
mov eax, dword [eax + 8]
imul ecx, ecx, 0x18
mov ebx, dword [ecx + eax + 4]
mov eax, dword [ebx + 4]
test eax, eax
je 0x100730d3
cmp byte [eax + 0x10], 0
jne case.0x10071e72.13
call fcn.10069735
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov dword [eax + 0xe4], 1
jmp case.0x10071e72.13
mov eax, dword [esi + 4]
mov edi, dword [esi + 0x10]
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], edi
test eax, eax
jne 0x10073184
cmp dword [esi + 0x94], eax
jle 0x10073129
push str.cannot_open_savepoint___SQL_statements_in_progress
push esi
lea edi, [ebx + 0x80]
call fcn.10060aa2
mov dword [ebp - 8], 5
jmp 0x10075235
mov ecx, edi
call fcn.1006218b
mov ebx, eax
lea eax, [ebx + 9]
push eax
call fcn.10060931
mov esi, eax
pop ecx
test esi, esi
je case.0x10071e72.13
inc ebx
push ebx
lea eax, [esi + 8]
push edi
push eax
mov dword [esi], eax
call fcn.100c1cb0
mov eax, dword [ebp - 0xc]
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x1007316d
mov byte [eax + 0x1c], 0
mov byte [eax + 0x1dc], 1
jmp 0x10073173
inc dword [eax + 0x1d8]
add eax, 0x1d4
mov ecx, dword [eax]
mov dword [esi + 4], ecx
mov dword [eax], esi
jmp case.0x10071e72.13
mov edi, dword [esi + 0x1d4]
and dword [ebp - 0x10], 0
mov dword [ebp - 0x24], edi
test edi, edi
je 0x100731b6
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edi]
call fcn.100622d0
test eax, eax
je 0x100731b0
mov edi, dword [edi + 4]
inc dword [ebp - 0x10]
mov dword [ebp - 0x24], edi
test edi, edi
jne 0x10073195
xor eax, eax
cmp edi, eax
jne 0x100731d9
push dword [ebp - 0x2c]
lea edi, [ebx + 0x80]
push str.no_such_savepoint:__s
push esi
call fcn.10060aa2
add esp, 0xc
mov dword [ebp - 8], 1
jmp case.0x10071e72.13
cmp dword [esi + 0x94], eax
jg 0x10073300
cmp dword [ebp - 0x34], 2
jne 0x100731f8
cmp dword [esi + 0x90], 1
jg 0x10073306
cmp dword [edi + 4], eax
jne 0x10073237
cmp byte [esi + 0x1dc], 0
je 0x10073237
xor eax, eax
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x34], eax
jne 0x1007323a
push ebx
mov byte [esi + 0x1c], al
call fcn.1006ff80
pop ecx
push 5
pop ecx
cmp eax, ecx
je 0x1007531d
mov byte [esi + 0x1dc], 0
mov eax, dword [ebx + 0x68]
mov dword [ebp - 8], eax
mov ebx, esi
jmp 0x1007329e
mov dword [ebp - 0x28], eax
mov edi, dword [esi + 0x1d8]
sub edi, dword [ebp - 0x10]
and dword [ebp - 0x2c], 0
dec edi
cmp dword [esi + 4], 0
jle 0x10073281
and dword [ebp - 0x10], 0
mov eax, dword [esi + 8]
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ecx + eax + 4]
push edi
push dword [ebp - 0x34]
call fcn.1006983d
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x10073ea8
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
add dword [ebp - 0x10], 0x18
cmp eax, dword [esi + 4]
jl 0x10073252
cmp dword [ebp - 0x34], 2
mov ebx, dword [ebp - 0xc]
jne 0x1007329e
test byte [ebx + 0xc], 0x10
je 0x1007329e
mov eax, ebx
call fcn.10070c33
xor eax, eax
call fcn.1007bd04
mov esi, dword [ebp - 0x24]
jmp 0x100732c1
mov eax, dword [ebx + 0x1d4]
mov ecx, dword [eax + 4]
push eax
push ebx
mov dword [ebx + 0x1d4], ecx
call fcn.10060799
dec dword [ebx + 0x1d8]
pop ecx
pop ecx
cmp dword [ebx + 0x1d4], esi
jne 0x100732a3
cmp dword [ebp - 0x34], 1
jne case.0x10071e72.13
mov eax, dword [ebp - 0xc]
mov ecx, dword [esi + 4]
push esi
push eax
mov dword [eax + 0x1d4], ecx
call fcn.10060799
cmp dword [ebp - 0x28], 0
pop ecx
pop ecx
jne case.0x10071e72.13
mov eax, dword [ebp - 0xc]
dec dword [eax + 0x1d8]
jmp case.0x10071e72.13
cmp dword [ebp - 0x34], 2
jne 0x1007330d
mov eax, str.rollback
jmp 0x10073312
mov eax, str.release
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
push esi
lea edi, [ebx + 0x80]
call fcn.10060aa2
add esp, 0xc
mov dword [ebp - 8], 5
jmp case.0x10071e72.13
mov eax, dword [esi + 4]
mov esi, dword [esi + 8]
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x10073371
cmp byte [edi + 0x1c], 0
jne 0x10073371
test esi, esi
je 0x10073361
cmp dword [edi + 0x90], 1
jle 0x10073371
push str.cannot_rollback_transaction___SQL_statements_in_progress
push edi
jmp 0x10073112
cmp dword [edi + 0x94], 1
jle 0x10073371
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x1007335b
movzx ecx, byte [edi + 0x1c]
cmp eax, ecx
jne 0x10075331
test eax, eax
jne 0x10073388
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x10073396
mov eax, str.cannot_rollback___no_transaction_is_active
test esi, esi
jne 0x10073396
mov eax, str.cannot_commit___no_transaction_is_active
push eax
push dword [ebp - 0xc]
lea edi, [ebx + 0x80]
call fcn.10060aa2
mov dword [ebp - 8], 1
jmp 0x10075235
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xc]
imul eax, eax, 0x18
mov ecx, dword [ecx + 8]
mov edi, dword [eax + ecx + 4]
test edi, edi
je case.0x10071e72.13
push dword [esi + 8]
call fcn.10068ecc
pop ecx
push 5
pop esi
mov dword [ebp - 8], eax
cmp eax, esi
je 0x1007537b
test eax, eax
je case.0x10071e72.13
cmp eax, 8
jne 0x10073eab
jmp case.0x10071e72.13
mov eax, dword [esi + 4]
mov esi, dword [esi + 0xc]
test eax, eax
jge 0x10073409
or ecx, 0xffffffff
sub ecx, eax
mov eax, ecx
neg esi
imul eax, eax, 0x18
lea ecx, [ebp - 0xe0]
push ecx
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 8]
inc esi
push esi
push dword [eax + ecx + 4]
call fcn.1006cce3
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xe0]
add esp, 0xc
jmp 0x100729b8
mov edi, dword [esi + 4]
mov eax, dword [ebp - 0xc]
imul edi, edi, 0x18
add edi, dword [eax + 8]
mov ebx, dword [ebp - 0x50]
mov eax, ebx
call fcn.1006e4e1
mov eax, dword [esi + 8]
push dword [ebx]
inc eax
push eax
mov eax, dword [edi + 4]
call fcn.1006cd88
mov dword [ebp - 8], eax
mov eax, dword [esi + 8]
pop ecx
pop ecx
test eax, eax
jne 0x10073476
mov eax, dword [edi + 0x14]
mov ecx, dword [ebx]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc]
or dword [eax + 0xc], 0x10
jmp 0x10073483
cmp eax, 1
jne 0x10073483
mov eax, dword [edi + 0x14]
mov cl, byte [ebx]
mov byte [eax + 0x48], cl
cmp dword [esi + 4], 1
jne case.0x10071e72.13
mov eax, dword [ebp - 0xc]
call fcn.10070c33
jmp case.0x10071e72.13
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xc]
imul eax, eax, 0x18
mov ecx, dword [ecx + 8]
mov eax, dword [eax + ecx + 4]
xor edi, edi
cmp eax, edi
je 0x100734c7
lea ecx, [ebp - 0x88]
push ecx
push 1
push eax
call fcn.1006cce3
add esp, 0xc
mov dword [ebp - 8], eax
jmp 0x100734d0
mov dword [ebp - 8], edi
mov dword [ebp - 0x88], edi
cmp dword [ebp - 8], edi
jne case.0x10071e72.13
mov eax, dword [ebp - 0x88]
cmp eax, dword [esi + 8]
je case.0x10071e72.13
mov edi, ebx
sub edi, 0xffffff80
push dword [edi]
push dword [ebp - 0xc]
call fcn.10060799
mov eax, dword [ebp - 0xc]
pop ecx
pop ecx
mov ebx, str.database_schema_has_changed
call fcn.10060a2f
mov ebx, dword [ebp - 0xc]
mov dword [edi], eax
mov esi, dword [esi + 4]
mov ecx, dword [ebx + 8]
mov eax, esi
imul eax, eax, 0x18
mov eax, dword [eax + ecx + 0x14]
mov ecx, dword [ebp - 0x88]
cmp dword [eax], ecx
je 0x1007352b
mov eax, esi
call fcn.1007bd04
mov eax, ebx
call fcn.10070c33
mov dword [ebp - 8], 0x11
jmp case.0x10071e72.13
mov eax, dword [esi + 4]
mov edx, dword [ebp - 0xc]
mov edi, dword [esi + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x38], eax
imul eax, eax, 0x18
add eax, dword [edx + 8]
mov dword [ebp - 0x2c], edi
mov edx, dword [eax + 4]
mov dword [ebp - 0x28], edx
cmp cl, 0xa
jne 0x1007357f
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x48]
lea ecx, [ebx + 0x8b]
mov dword [ebp - 0x10], 1
cmp al, byte [ecx]
jae 0x10073583
mov byte [ecx], al
jmp 0x10073583
and dword [ebp - 0x10], 0
cmp byte [esi + 3], 0
je 0x100735a7
imul edi, edi, 0x28
add edi, dword [ebx + 0x4c]
mov eax, edi
mov dword [ebp - 0x58], edi
call fcn.1006e4e1
mov edi, dword [edi]
cmp edi, 2
mov dword [ebp - 0x2c], edi
jl 0x1007367f
mov edx, dword [ebp - 0x24]
push 1
push dword [ebp - 0x38]
lea ecx, [esi - 0x14]
mov eax, ebx
call fcn.10071b57
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x100720e5
push dword [edi]
mov eax, dword [ebp - 0x28]
mov byte [edi + 0x1c], 1
push dword [esi + 0x10]
push dword [ebp - 0x10]
push dword [ebp - 0x2c]
call fcn.10069966
add esp, 0x10
cmp byte [esi + 1], 0xfa
mov dword [ebp - 8], eax
jne 0x100735fe
mov ecx, dword [esi + 0x10]
mov dword [edi + 0x48], ecx
mov edx, dword [ebx]
mov edx, dword [edx + 8]
mov edx, dword [edx + 0x14]
mov dl, byte [edx + 0x49]
mov byte [ecx + 4], dl
jmp 0x10073602
and dword [edi + 0x48], 0
test eax, eax
je 0x10073634
push 5
pop ecx
cmp eax, ecx
je 0x10075383
cmp eax, 0x10
jne 0x10073eab
cmp byte [esi + 1], 0xfa
setne al
test al, al
mov byte [edi + 0x21], al
sete al
and dword [edi], 0
mov byte [edi + 0x22], al
jmp 0x10074cea
mov esi, dword [edi]
call fcn.1006cdd9
test al, 0xf0
jne 0x1007367f
mov ecx, eax
and ecx, 7
cmp ecx, 5
je 0x1007364e
cmp ecx, 2
jne 0x1007367f
mov cl, al
shr eax, 1
and cl, 1
and al, 1
mov byte [edi + 0x21], cl
mov byte [edi + 0x22], al
test cl, cl
je 0x1007366a
mov ecx, dword [ebp - 0x14]
cmp byte [ecx + 1], 0xfa
je 0x1007367f
test al, al
je case.0x10071e72.13
mov eax, dword [ebp - 0x14]
cmp byte [eax + 1], 0xfa
je case.0x10071e72.13
mov dword [ebp - 8], 0xb
jmp 0x10073eab
mov edx, dword [esi + 4]
push 1
push 0xffffffffffffffff
mov ecx, esi
mov eax, ebx
call fcn.10071b57
pop ecx
pop ecx
mov dword [ebp - 0x24], eax
test eax, eax
je 0x100720e5
mov byte [eax + 0x1c], 1
add eax, 0x30
push eax
mov eax, dword [ebp - 0xc]
push 0x1f4
push 1
mov ecx, 0x41e
xor edx, edx
call fcn.10093808
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jne 0x1007375e
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov edi, dword [eax]
push 1
call fcn.10068ecc
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x1007375e
mov edi, dword [ebp - 0x24]
cmp dword [esi + 0x10], eax
je 0x10073742
lea eax, [ebp - 0xb4]
push 2
push eax
mov eax, dword [edi + 0x30]
call fcn.1006c9a6
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x1007373c
push dword [edi]
mov eax, dword [edi + 0x30]
push dword [esi + 0x10]
push 1
push dword [ebp - 0xb4]
call fcn.10069966
mov esi, dword [esi + 0x10]
mov dword [edi + 0x48], esi
mov dword [ebp - 8], eax
mov eax, dword [ebx]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x49]
add esp, 0x10
mov byte [esi + 4], al
mov byte [edi + 0x21], 0
jmp 0x10073761
push dword [edi]
mov eax, dword [edi + 0x30]
push 0
push 1
push 1
call fcn.10069966
add esp, 0x10
mov dword [ebp - 8], eax
mov byte [edi + 0x21], 1
jmp 0x10073761
mov edi, dword [ebp - 0x24]
cmp byte [edi + 0x21], 0
sete al
mov byte [edi + 0x22], al
jmp case.0x10071e72.13
mov edx, dword [esi + 4]
push 0
push 0xffffffffffffffff
lea ecx, [esi - 0x14]
mov eax, ebx
call fcn.10071b57
pop ecx
pop ecx
test eax, eax
je 0x100720e5
mov byte [eax + 0x1c], 1
mov byte [eax + 0x1e], 1
mov cl, byte [esi + 8]
mov byte [eax + 0x1f], cl
mov byte [eax + 0x21], 1
mov byte [eax + 0x22], 0
jmp case.0x10071e72.13
mov esi, dword [esi + 4]
mov edi, esi
mov eax, ebx
mov eax, dword [eax + 0x30]
shl edi, 2
mov esi, dword [edi + eax]
call fcn.1006f9d4
mov eax, dword [ebx + 0x30]
and dword [edi + eax], 0
jmp case.0x10071e72.13
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x30]
mov ebx, dword [ecx + eax*4]
mov eax, dword [ebx]
xor ecx, ecx
mov dword [ebp - 0x28], ebx
cmp eax, ecx
je 0x10073a2b
mov byte [ebx + 0x1c], cl
cmp byte [ebx + 0x21], cl
je 0x10073972
mov esi, dword [ebp - 0x50]
mov edi, esi
call fcn.10071c23
call fcn.1006e3e7
mov esi, eax
mov ecx, edi
mov byte [ebx + 0x19], 0
movzx eax, word [ecx + 0x1c]
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x70], edx
test al, 4
jne 0x100738f5
test al, 8
jne 0x10073823
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
jmp 0x10071eb5
test esi, esi
jne 0x100738bf
mov eax, SysReAllocStringLen
cmp dword [ebp - 0x70], eax
jne 0x100738bf
and dword [ebp - 0x11c], esi
mov dword [ebp - 0x118], eax
fild qword [ebp - 0x11c]
fcomp qword [ecx + 8]
fnstsw ax
test ah, 0x41
je 0x10073861
fldz
fcomp qword [ecx + 8]
fnstsw ax
test ah, 5
jp 0x100738bf
fldz
mov dword [ebp - 0x54], 1
fcomp qword [ecx + 8]
fnstsw ax
test ah, 0x41
jne 0x1007388c
cmp dword [ebp - 0x30], 0x79
je 0x10073880
cmp dword [ebp - 0x30], 0x6d
jne 0x10073818
mov edi, dword [ebx]
lea esi, [ebp - 0x54]
call fcn.1006a11b
jmp 0x100738a5
cmp dword [ebp - 0x30], 0x59
je 0x10073898
cmp dword [ebp - 0x30], 0x38
jne 0x10073818
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
lea ebx, [ebp - 0x54]
call fcn.1006a140
mov dword [ebp - 8], eax
test eax, eax
jne 0x10073ea8
cmp dword [ebp - 0x54], 0
je case.0x10071e72.13
jmp 0x10073818
cmp dword [ebp - 0x30], 0x59
je 0x100738e1
cmp dword [ebp - 0x30], 0x6d
je 0x100738e1
fild qword [ebp - 0x74]
fcomp qword [ecx + 8]
fnstsw ax
test ah, 0x41
jne 0x100738f5
add esi, 0xffffffff
adc dword [ebp - 0x70], 0xffffffff
jmp 0x100738f5
fild qword [ebp - 0x74]
fcomp qword [ecx + 8]
fnstsw ax
test ah, 5
jp 0x100738f5
add esi, 1
adc dword [ebp - 0x70], 0
mov ebx, dword [ebx]
lea eax, [ebp - 0x54]
push eax
push 0
push dword [ebp - 0x70]
push esi
push 0
call fcn.1006a17c
add esp, 0x14
mov dword [ebp - 8], eax
test eax, eax
jne 0x10073ea8
mov edi, dword [ebp - 0x28]
xor ebx, ebx
cmp dword [ebp - 0x54], ebx
jne 0x1007392d
mov eax, dword [ebp - 0x70]
mov byte [edi + 0x19], 1
mov dword [edi + 8], esi
mov dword [edi + 0xc], eax
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov byte [edi + 0x20], bl
mov dword [edi + 0x60], ebx
cmp eax, 0x6d
je 0x100739f2
cmp eax, 0x79
je 0x100739f2
cmp dword [ebp - 0x54], ebx
jg 0x100739e5
jne 0x1007395f
cmp eax, 0x59
je 0x100739e5
mov eax, dword [edi]
xor ecx, ecx
cmp byte [eax + 0x3b], 1
setne cl
mov dword [ebp - 0x54], ecx
jmp 0x10073a23
cmp dword [ebp - 0x30], 0x79
mov edx, dword [ebx + 0x48]
mov dword [ebp - 0xf4], edx
mov dx, word [esi + 0x10]
mov word [ebp - 0xf0], dx
je 0x10073996
cmp dword [ebp - 0x30], 0x38
je 0x10073996
xor edx, edx
jmp 0x10073999
push 8
pop edx
mov edi, dword [ebp + 8]
mov word [ebp - 0xee], dx
mov edx, dword [esi + 0xc]
imul edx, edx, 0x28
add edx, dword [edi + 0x4c]
mov ebx, eax
mov dword [ebp - 0xec], edx
lea edx, [ebp - 0x54]
push edx
push ecx
push ecx
push ecx
lea ecx, [ebp - 0xf4]
push ecx
call fcn.1006a17c
add esp, 0x14
mov dword [ebp - 8], eax
test eax, eax
jne 0x10073ea8
mov eax, dword [ebp - 0x28]
mov byte [eax + 0x19], 0
mov edi, eax
xor ebx, ebx
jmp 0x10073930
lea eax, [ebp - 0x54]
push eax
push dword [edi]
call fcn.1006a5eb
jmp 0x10073a11
cmp dword [ebp - 0x54], ebx
jl 0x10073a06
jne 0x100739fe
cmp eax, 0x79
je 0x10073a06
mov dword [ebp - 0x54], ebx
jmp case.0x10071e72.13
lea eax, [ebp - 0x54]
push eax
push dword [edi]
call fcn.1006a4da
pop ecx
mov dword [ebp - 8], eax
pop ecx
cmp eax, ebx
jne 0x10073ea8
xor ebx, ebx
mov byte [edi + 0x19], bl
cmp dword [ebp - 0x54], ebx
jmp 0x10072794
cmp byte [ebx + 0x1e], cl
jmp 0x10072a98
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x30]
mov edi, dword [ecx + eax*4]
cmp dword [edi], 0
je case.0x10071e72.13
mov esi, dword [ebp - 0x58]
mov byte [edi + 0x1c], 0
call fcn.1006e3e7
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], edx
mov byte [edi + 0x19], 0
mov byte [edi + 0x20], 1
jmp case.0x10071e72.13
mov eax, dword [esi + 4]
mov edx, dword [ebx + 0x30]
mov edi, dword [edx + eax*4]
xor ecx, ecx
cmp dword [edi], ecx
je 0x10073ae3
mov eax, dword [ebp - 0x50]
push dword [eax + 0x14]
mov ebx, dword [edi + 0x48]
push dword [eax + 0x18]
lea ecx, [ebp - 0x314]
call fcn.100707d2
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 0x38], eax
cmp eax, ecx
je 0x100720e2
cmp byte [esi], 0x7e
jne 0x10073aa3
or word [eax + 6], 0x10
mov ebx, dword [edi]
lea edx, [ebp - 0xd0]
push edx
push ecx
push ecx
push ecx
push eax
call fcn.1006a17c
mov esi, dword [ebp - 0x38]
add esp, 0x14
mov dword [ebp - 8], eax
call fcn.100708e9
cmp dword [ebp - 8], 0
jne case.0x10071e72.13
mov esi, dword [ebp - 0x14]
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0xd0], eax
mov byte [edi + 0x20], al
sete cl
mov dword [edi + 0x60], eax
cmp byte [esi], 0x7e
jne 0x10073aef
test ecx, ecx
jmp 0x10072794
test ecx, ecx
jmp 0x10072a98
mov edi, dword [esi + 0x10]
mov eax, dword [esi + 4]
imul edi, edi, 0x28
add edi, dword [ebx + 0x4c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x50]
call fcn.1006e4e1
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebx + 0x30]
mov dword [ebp - 0xdc], ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x10], eax
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
test eax, eax
je case.0x10071e72.13
push dword [edi + 0x14]
mov eax, dword [ebp - 0x10]
push dword [edi + 0x18]
mov ebx, dword [eax + 0x48]
lea ecx, [ebp - 0x314]
call fcn.100707d2
mov edi, eax
xor eax, eax
pop ecx
pop ecx
cmp edi, eax
je 0x100720e2
mov ecx, dword [ebp - 0x10]
or word [edi + 6], 4
mov ebx, dword [ebp - 0x38]
mov dword [ecx + 0x60], eax
lea ecx, [ebp - 0x64]
push ecx
push eax
push eax
push eax
push edi
call fcn.1006a17c
add esp, 0x14
mov dword [ebp - 8], eax
test eax, eax
jne 0x1007538b
cmp dword [ebp - 0x64], eax
jge 0x10073bb5
lea eax, [ebp - 0x64]
push eax
push ebx
call fcn.1006a4da
cmp dword [ebp - 0x64], 0
pop ecx
pop ecx
mov dword [ebp - 8], eax
je 0x10073bb5
mov esi, dword [esi + 8]
dec esi
mov dword [ebp - 0x1c], esi
mov esi, edi
call fcn.100708e9
jmp case.0x10071e72.13
lea eax, [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x10]
push edi
call fcn.10070bab
pop ecx
pop ecx
mov esi, edi
mov dword [ebp - 8], eax
call fcn.100708e9
cmp dword [ebp - 8], 0
jne 0x10073ea8
cmp dword [ebp - 0x64], 0
jg 0x10073818
lea eax, [ebp - 0x12c]
push eax
push ebx
call fcn.10070ab0
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x10073ea8
mov edx, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x128]
cmp edx, dword [ebp - 0xdc]
jne 0x10073c1c
cmp ecx, dword [ebp - 0xd8]
je 0x10073818
mov eax, dword [ebp - 0x50]
mov dword [eax], edx
jmp 0x10071f08
mov ecx, dword [ebx + 0x30]
mov eax, dword [esi + 4]
mov edi, dword [ecx + eax*4]
mov ebx, dword [edi]
test ebx, ebx
je 0x10073c7d
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
and dword [ebp - 0x10], 0
lea edx, [ebp - 0x10]
push edx
push 0
push eax
push ecx
push 0
call fcn.1006a17c
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
mov dword [edi + 8], ecx
mov eax, dword [eax + 4]
mov dword [edi + 0xc], eax
xor eax, eax
add esp, 0x14
cmp dword [ebp - 0x10], eax
mov byte [edi + 0x1c], al
sete cl
cmp dword [ebp - 0x10], eax
mov byte [edi + 0x19], cl
mov dword [edi + 0x60], eax
jmp 0x10072794
cmp byte [edi + 0x1e], 0
jmp 0x10072a98
mov esi, dword [esi + 4]
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebp - 0x20]
mov eax, esi
shl eax, 2
mov ecx, dword [eax + ecx]
mov esi, dword [ecx + 0x50]
mov dword [edx], esi
mov ecx, dword [ecx + 0x54]
mov dword [edx + 4], ecx
mov ecx, dword [ebx + 0x30]
mov eax, dword [eax + ecx]
add dword [eax + 0x50], 1
mov ecx, 0xbf04
adc dword [eax + 0x54], 0
mov ax, word [edx + 0x1c]
and ax, cx
or ax, 4
mov word [edx + 0x1c], ax
jmp case.0x10071e72.13
mov ecx, dword [esi + 4]
mov edx, dword [ebx + 0x30]
mov edi, dword [edx + ecx*4]
mov esi, dword [edi]
xor eax, eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x10], edi
cmp esi, eax
je 0x10073ef0
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x2c], eax
call fcn.1006cdd9
and al, 3
cmp al, 1
jne 0x1007367f
cmp byte [edi + 0x1b], 0
jne 0x10073e02
cmp byte [edi + 0x1d], 0
je 0x10073d1a
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x44], eax
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x40], eax
jmp 0x10073d6e
mov eax, dword [edi]
lea ebx, [ebp - 0x48]
call fcn.1006a140
mov dword [ebp - 8], eax
test eax, eax
jne 0x10073ea8
xor ebx, ebx
cmp dword [ebp - 0x48], ebx
je 0x10073d42
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x40], ebx
jmp 0x10073d6e
mov esi, dword [ebp - 0x10]
mov eax, dword [esi]
lea edi, [ebp - 0x44]
call fcn.10069a79
cmp dword [ebp - 0x44], 0xffffffff
jne 0x10073d64
cmp dword [ebp - 0x40], 0x7fffffff
jne 0x10073d64
mov byte [esi + 0x1b], 1
jmp 0x10073d6b
add dword [ebp - 0x44], 1
adc dword [ebp - 0x40], ebx
mov edi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10073dcb
mov ecx, dword [ebp + 8]
imul eax, eax, 0x28
add eax, dword [ecx + 0x4c]
mov esi, eax
call fcn.1006e4e1
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, 0xffffffff
jne 0x10073d9e
cmp ecx, 0x7fffffff
je 0x10073ea1
cmp byte [edi + 0x1b], 0
jne 0x10073ea1
add eax, 1
adc ecx, 0
cmp dword [ebp - 0x40], ecx
jg 0x10073dc0
jl 0x10073dba
cmp dword [ebp - 0x44], eax
jae 0x10073dc0
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x44]
mov dword [esi], eax
mov eax, dword [ebp - 0x40]
mov dword [esi + 4], eax
cmp dword [ebp - 0x40], 0x7fffffff
jg 0x10073df4
jl 0x10073ddc
cmp dword [ebp - 0x44], 0xffffffff
jae 0x10073df4
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
add eax, 1
adc ecx, 0
mov byte [edi + 0x1d], 1
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ecx
jmp 0x10073df8
mov byte [edi + 0x1d], 0
cmp byte [edi + 0x1b], 0
je 0x10073ee3
mov esi, dword [ebp - 0xc]
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x44], eax
mov eax, dword [esi + 0x3c]
xor ebx, ebx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], ebx
jne 0x10073e38
mov eax, dword [ebp - 0x44]
and eax, 0xffffff
xor ecx, ecx
cmp eax, dword [ebp - 0x44]
jne 0x10073e38
cmp ecx, dword [ebp - 0x40]
jne 0x10073e38
add dword [ebp - 0x44], 1
adc dword [ebp - 0x40], ebx
jmp 0x10073e55
lea eax, [ebp - 0x44]
push eax
push 8
call fcn.10061b34
cmp dword [ebp - 0x28], 5
pop ecx
pop ecx
jge 0x10073e55
and dword [ebp - 0x44], 0xffffff
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x44]
or eax, dword [ebp - 0x40]
je 0x10073e7b
lea eax, [ebp - 0x48]
push eax
push ebx
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push ebx
mov ebx, dword [edi]
call fcn.1006a17c
add esp, 0x14
inc dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
xor ebx, ebx
cmp dword [ebp - 0x28], 0x64
jge 0x10073e8b
cmp dword [ebp - 0x2c], ebx
jne 0x10073e8b
cmp dword [ebp - 0x48], ebx
je 0x10073e16
mov eax, dword [ebp - 0x44]
mov dword [esi + 0x38], eax
mov eax, dword [ebp - 0x40]
mov dword [esi + 0x3c], eax
cmp dword [ebp - 0x2c], ebx
jne 0x10073ee5
cmp dword [ebp - 0x48], ebx
jne 0x10073ee5
mov dword [ebp - 8], 0xd
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1e], 0
je 0x10073ebb
mov dword [ebp - 8], 7
cmp dword [ebp - 8], 0xc0a
je 0x10072106
mov eax, dword [ebp - 8]
and eax, 0xff
cmp eax, 0x65
jg 0x10075397
call fcn.1009327a
jmp 0x1007539c
xor ebx, ebx
mov byte [edi + 0x19], 0
mov byte [edi + 0x20], 0
mov dword [edi + 0x60], ebx
mov eax, dword [ebp - 0x20]
mov cx, word [eax + 0x1c]
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x40]
jmp 0x10071f08
mov edi, dword [esi + 8]
mov eax, dword [esi + 0xc]
imul edi, edi, 0x28
mov ecx, dword [ebx + 0x4c]
imul eax, eax, 0x28
mov edx, dword [ebx + 0x30]
add eax, ecx
add edi, ecx
test byte [esi + 3], 1
mov ecx, dword [esi + 4]
mov ecx, dword [edx + ecx*4]
mov edx, dword [eax]
mov dword [ebp - 0x9c], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x98], edx
je 0x10073f50
inc dword [ebx + 0x90]
test byte [esi + 3], 2
je 0x10073f67
mov edx, dword [eax]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x30], edx
mov edx, dword [eax + 4]
mov dword [ecx + 0x34], edx
mov ecx, dword [ebp - 0x30]
cmp byte [ecx + 0x1d], 0
je 0x10073f82
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 0x14]
jl 0x10073f82
jg 0x10073f7e
mov eax, dword [eax]
cmp eax, dword [ecx + 0x10]
jb 0x10073f82
mov byte [ecx + 0x1d], 0
movzx eax, word [edi + 0x1c]
test al, 1
je 0x10073f92
and dword [edi + 0x14], 0
and dword [edi + 0x18], 0
cmp byte [ecx + 0x1e], 0
je 0x10074048
cmp byte [ecx + 0x1f], 0
jne 0x10073fb5
mov eax, dword [ebp - 0x30]
push dword [eax + 0x38]
push dword [ebp - 0xc]
call fcn.10060799
pop ecx
pop ecx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x9c]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x98]
mov dword [ecx + 0x44], eax
mov eax, dword [edi + 0x18]
mov dword [ecx + 0x34], eax
mov edx, dword [edi + 0x14]
cmp edx, dword [edi + 0x24]
je 0x1007401d
cmp byte [ecx + 0x1f], 0
jne 0x1007401d
add eax, 2
push eax
call fcn.10060511
pop ecx
mov ecx, dword [ebp - 0x30]
mov dword [ecx + 0x38], eax
test eax, eax
je 0x100720e5
mov ebx, ecx
push dword [ebx + 0x34]
push dword [edi + 0x14]
push eax
call fcn.100c1cb0
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x34]
mov byte [eax + ecx], 0
mov ecx, dword [ebx + 0x34]
mov eax, dword [ebx + 0x38]
mov byte [eax + ecx + 1], 0
add esp, 0xc
mov ecx, ebx
jmp 0x10074042
cmp byte [ecx + 0x1f], 0
mov dword [ecx + 0x38], edx
jne 0x10074042
mov ax, word [edi + 0x1c]
mov edx, 0xfbff
and ax, dx
mov edx, 0x1000
or ax, dx
and dword [edi + 0x24], 0
mov word [edi + 0x1c], ax
mov byte [ecx + 0x1c], 0
jmp 0x10074085
test eax, 0x4000
je 0x10074053
mov eax, dword [edi]
jmp 0x10074055
xor eax, eax
movzx ecx, byte [esi + 3]
and ecx, 8
push ecx
push eax
push dword [edi + 0x18]
mov eax, dword [ebp - 0x30]
push dword [edi + 0x14]
mov eax, dword [eax]
push dword [ebp - 0x98]
push dword [ebp - 0x9c]
push 0
call fcn.1006c211
mov ecx, dword [ebp - 0x30]
add esp, 0x1c
mov dword [ebp - 8], eax
and dword [ecx + 0x60], 0
cmp dword [ebp - 8], 0
mov byte [ecx + 0x19], 0
mov byte [ecx + 0x20], 0
jne case.0x10071e72.13
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xbc]
test ecx, ecx
je case.0x10071e72.13
mov eax, dword [esi + 0x10]
test eax, eax
je case.0x10071e72.13
push dword [ebp - 0x98]
push dword [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0x30]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xc]
imul edx, edx, 0x18
mov edi, dword [eax + 8]
push dword [edx + edi]
mov dl, byte [esi + 3]
and dl, 4
movzx edx, dl
neg edx
sbb edx, edx
and edx, 5
add edx, 0x12
push edx
push dword [eax + 0xb8]
call ecx
add esp, 0x18
jmp case.0x10071e72.13
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x30]
mov ebx, dword [ecx + eax*4]
mov eax, dword [ebp - 0xc]
xor edi, edi
mov dword [ebp - 0x198], edi
cmp dword [eax + 0xbc], edi
je 0x10074127
cmp dword [esi + 0x10], edi
je 0x10074127
mov eax, dword [ebx + 0xc]
mov edi, dword [ebx + 8]
mov dword [ebp - 0x198], eax
mov esi, ebx
call fcn.10070420
mov dword [ebp - 8], eax
test eax, eax
jne 0x10073ea8
mov ecx, dword [ebx]
call fcn.1006c3f1
and dword [ebx + 0x60], 0
mov dword [ebp - 8], eax
mov byte [ebx + 0x1d], 0
test eax, eax
jne 0x10074187
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0xbc]
test edx, edx
je 0x10074187
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x10074187
push dword [ebp - 0x198]
mov esi, dword [eax + 8]
push edi
push ecx
mov ecx, dword [ebx + 4]
imul ecx, ecx, 0x18
push dword [ecx + esi]
push 9
push dword [eax + 0xb8]
call edx
add esp, 0x18
mov eax, dword [ebp - 0x14]
test byte [eax + 8], 1
je case.0x10071e72.13
mov eax, dword [ebp + 8]
inc dword [eax + 0x90]
jmp case.0x10071e72.13
cmp dword [esi + 4], 0
je 0x100741b7
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebp - 0xc]
add dword [ecx + 0x48], eax
mov dword [ecx + 0x44], eax
and dword [ebx + 0x90], 0
jmp case.0x10071e72.13
mov eax, dword [esi + 8]
mov ecx, dword [ebx + 0x30]
imul eax, eax, 0x28
add eax, dword [ebx + 0x4c]
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 4]
mov esi, dword [ecx + eax*4]
mov ebx, dword [esi]
mov dword [ebp - 0x10], ebx
call fcn.10070420
mov dword [ebp - 8], eax
test eax, eax
jne 0x10073ea8
cmp byte [esi + 0x22], 0
mov eax, ebx
je 0x1007422d
lea edi, [ebp - 0x10c]
call fcn.10069a79
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x50]
mov ecx, dword [ebp - 0x108]
cdq
cmp ecx, edx
jg 0x10071fc1
mov ebx, dword [ebp - 0x10c]
jl 0x10074225
cmp ebx, eax
ja 0x10071fc1
mov dword [ebp - 0xa8], ebx
jmp 0x1007424a
lea edi, [ebp - 0xa8]
call fcn.10069ac0
mov ebx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xc]
cmp ebx, dword [eax + 0x50]
jg 0x10071fc1
mov edi, dword [ebp - 0x20]
push 0
mov eax, ebx
call fcn.1006e097
pop ecx
test eax, eax
jne 0x100720e2
mov ax, word [edi + 0x1c]
push dword [edi + 0x14]
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
mov dword [edi + 0x18], ebx
mov word [edi + 0x1c], ax
cmp byte [esi + 0x22], 0
push ebx
push 0
je 0x1007428f
mov esi, dword [ebp - 0x10]
call fcn.10069e73
add esp, 0xc
jmp 0x1007429a
push dword [ebp - 0x10]
call fcn.10069eb0
add esp, 0x10
mov dword [ebp - 8], eax
mov byte [edi + 0x1f], 1
jmp case.0x10071e72.13
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x30]
mov esi, dword [ecx + eax*4]
call fcn.10070420
mov dword [ebp - 8], eax
test eax, eax
jne 0x10073ea8
cmp byte [esi + 0x19], al
je 0x100742d2
mov eax, dword [esi + 8]
mov dword [ebp - 0xa4], eax
mov eax, dword [esi + 0xc]
jmp 0x100742e4
cmp byte [esi + 0x1e], 0
je 0x100742ec
mov eax, dword [esi + 0x40]
mov dword [ebp - 0xa4], eax
mov eax, dword [esi + 0x44]
mov dword [ebp - 0xa0], eax
jmp 0x10074303
cmp byte [esi + 0x1c], 0
jne case.0x10071e72.13
mov eax, dword [esi]
lea edi, [ebp - 0xa4]
call fcn.10069a79
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xa4]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xa0]
mov dword [eax + 4], ecx
jmp 0x100725e9
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x30]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
mov eax, dword [eax]
test eax, eax
je case.0x10071e72.13
mov esi, eax
call fcn.10067a9d
jmp case.0x10071e72.13
mov eax, dword [esi + 4]
mov ecx, ebx
mov ecx, dword [ecx + 0x30]
mov edi, dword [ecx + eax*4]
mov eax, dword [edi]
lea ebx, [ebp - 0xe8]
call fcn.1006a140
xor ecx, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xe8]
mov byte [edi + 0x1c], al
mov byte [edi + 0x20], cl
mov byte [edi + 0x19], cl
mov dword [edi + 0x60], ecx
cmp eax, ecx
je case.0x10071e72.13
mov esi, dword [esi + 8]
test esi, esi
jle case.0x10071e72.13
jmp 0x10071e8d
inc dword [ebx + 0xd8]
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x30]
mov ebx, dword [ecx + eax*4]
mov edi, dword [ebx]
test edi, edi
je 0x100743cb
lea esi, [ebp - 0x84]
call fcn.1006a11b
cmp dword [ebp - 0x84], 0
mov esi, dword [ebp - 0x14]
mov dword [ebp - 8], eax
sete al
and dword [ebx + 0x60], 0
mov byte [ebx + 0x1a], al
mov byte [ebx + 0x20], 0
mov byte [ebx + 0x19], 0
jmp 0x100743d5
mov dword [ebp - 0x84], 1
mov eax, dword [ebp - 0x84]
mov byte [ebx + 0x1c], al
jmp 0x10072a3c
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xd8]
test eax, eax
jne 0x100753b8
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x30]
mov edi, dword [ecx + eax*4]
test edi, edi
je case.0x10071e72.13
mov eax, dword [edi]
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], 1
cmp byte [esi], 0x6b
push ecx
push eax
jne 0x1007441f
call fcn.1006a4da
jmp 0x10074424
call fcn.1006a5eb
mov dword [ebp - 8], eax
mov al, byte [ebp - 0x7c]
and dword [edi + 0x60], 0
pop ecx
mov byte [edi + 0x1c], al
cmp dword [ebp - 0x7c], 0
pop ecx
jne 0x10074453
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0x1c], eax
mov al, byte [esi + 3]
test al, al
je 0x10074453
movzx eax, al
lea eax, [ebx + eax*4 + 0xd0]
inc dword [eax]
mov byte [edi + 0x19], 0
jmp case.0x10071e72.13
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x30]
mov edi, dword [ecx + eax*4]
mov eax, dword [edi]
mov dword [ebp - 0x38], eax
test eax, eax
je case.0x10071e72.13
mov ebx, dword [ebp - 0x58]
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x1007448c
mov eax, ebx
call fcn.1006e1b5
mov dword [ebp - 8], eax
jmp 0x10074490
and dword [ebp - 8], 0
xor ecx, ecx
cmp dword [ebp - 8], ecx
jne case.0x10071e72.13
push dword [esi + 0xc]
mov eax, dword [ebx + 0x18]
mov ebx, dword [ebx + 0x14]
push ecx
push ecx
cdq
push 0x10107c98
push edx
push eax
mov eax, dword [ebp - 0x38]
push ebx
call fcn.1006c211
add esp, 0x1c
mov dword [ebp - 8], eax
and dword [edi + 0x60], 0
jmp case.0x10071e72.13
mov ecx, dword [ebx + 0x30]
mov eax, dword [esi + 4]
mov edi, dword [ecx + eax*4]
mov ebx, dword [edi]
test ebx, ebx
je case.0x10071e72.13
mov eax, dword [edi + 0x48]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x100], eax
mov ax, word [esi + 0xc]
mov word [ebp - 0xfc], ax
xor eax, eax
mov word [ebp - 0xfa], ax
mov eax, dword [esi + 8]
imul eax, eax, 0x28
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0xb8]
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0x100]
push eax
call fcn.1006a17c
add esp, 0x14
mov dword [ebp - 8], eax
test eax, eax
jne 0x100744bd
cmp dword [ebp - 0xb8], eax
jne 0x100744bd
mov ecx, ebx
call fcn.1006c3f1
jmp 0x100744ba
mov ecx, dword [ebx + 0x30]
mov eax, dword [esi + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax]
test ecx, ecx
je case.0x10071e72.13
cmp byte [eax + 0x1c], 0
jne case.0x10071e72.13
lea eax, [ebp - 0x14c]
push eax
push ecx
call fcn.10070ab0
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x10073eab
mov eax, dword [ebp - 0x20]
mov cx, word [eax + 0x1c]
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
mov ecx, dword [ebp - 0x14c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x148]
jmp 0x10071f08
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x30]
mov eax, dword [ecx + eax*4]
cmp dword [eax], 0
je case.0x10071e72.13
cmp byte [esi + 3], 0
mov ecx, dword [eax + 0x48]
mov dword [ebp - 0xc8], ecx
mov cx, word [esi + 0x10]
mov word [ebp - 0xc4], cx
je 0x100745cf
push 0xc
jmp 0x100745d1
push 4
pop ecx
mov word [ebp - 0xc2], cx
mov ecx, dword [esi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebx + 0x4c]
mov dword [ebp - 0xc0], ecx
lea ecx, [ebp - 0x68]
push ecx
lea ecx, [ebp - 0xc8]
push ecx
call fcn.10070bab
cmp byte [esi], 0x2a
pop ecx
pop ecx
mov dword [ebp - 8], eax
jne 0x10074607
neg dword [ebp - 0x68]
jmp 0x1007460a
inc dword [ebp - 0x68]
cmp dword [ebp - 0x68], 0
jle case.0x10071e72.13
jmp 0x10071e8a
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x8c]
xor edx, edx
test eax, eax
je 0x10074660
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x10074641
cmp byte [eax + 0x8c], 2
jae 0x10074641
cmp dword [eax + 0x64], 0
jl 0x10074641
inc edx
mov eax, dword [eax + 8]
test eax, eax
jne 0x10074628
cmp edx, 1
jle 0x10074660
mov dword [ebp - 8], 6
mov dword [ebx + 0x70], 2
jmp case.0x10071e72.13
mov ebx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
imul ebx, ebx, 0x18
mov edi, dword [ebx + eax + 4]
mov esi, dword [esi + 4]
mov eax, edi
call fcn.10067625
mov eax, dword [edi + 4]
mov ecx, dword [edi]
mov dword [eax + 4], ecx
lea eax, [ebp - 0xcc]
push eax
push esi
push edi
call fcn.1006cb56
add esp, 0xc
mov esi, edi
mov dword [ebp - 0x38], eax
call fcn.1006769d
mov ecx, dword [ebp - 0x20]
mov ax, word [ecx + 0x1c]
mov edi, dword [ebp - 0xcc]
mov esi, dword [ebp - 0x38]
mov edx, 0xbf04
and ax, dx
or ax, 4
mov word [ecx + 0x1c], ax
mov eax, edi
cdq
mov dword [ebp - 8], esi
mov dword [ecx], eax
mov dword [ecx + 4], edx
test esi, esi
jne case.0x10071e72.13
test edi, edi
je case.0x10071e72.13
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
add eax, ebx
mov ecx, dword [eax + 0x14]
mov ecx, dword [ecx + 0xc]
jmp 0x100746f8
mov edx, dword [ecx + 8]
cmp dword [edx + 0x18], edi
jne 0x100746f6
mov dword [edx + 0x18], esi
mov ecx, dword [ecx]
test ecx, ecx
jne 0x100746eb
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
jmp 0x10074711
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], edi
jne 0x1007470f
mov dword [ecx + 0x14], esi
mov eax, dword [eax]
test eax, eax
jne 0x10074704
jmp case.0x10071e72.13
and dword [ebp - 0x2c], 0
mov eax, dword [esi + 0xc]
neg eax
sbb eax, eax
lea ecx, [ebp - 0x2c]
and eax, ecx
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 8]
push eax
mov eax, dword [esi + 8]
push dword [esi + 4]
imul eax, eax, 0x18
mov eax, dword [eax + ecx + 4]
call fcn.1006caf8
cmp dword [esi + 0xc], 0
pop ecx
pop ecx
mov dword [ebp - 8], eax
je case.0x10071e72.13
mov eax, dword [ebp - 0x2c]
add dword [ebx + 0x90], eax
mov esi, dword [esi + 0xc]
test esi, esi
jle case.0x10071e72.13
mov ecx, dword [ebx + 0x4c]
imul esi, esi, 0x28
cdq
add ecx, esi
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x10071e72.13
mov esi, dword [esi + 4]
mov eax, dword [ebp - 0xc]
imul esi, esi, 0x18
add esi, dword [eax + 8]
and dword [ebp - 0x34], 0
xor eax, eax
cmp cl, 0x36
setne al
dec eax
and eax, 3
inc eax
inc eax
push eax
lea eax, [ebp - 0x34]
push eax
mov eax, dword [esi + 4]
call fcn.1006c9a6
pop ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x34]
pop ecx
jmp 0x100729b8
cmp dword [esi + 8], 0
mov eax, dword [esi + 4]
jne 0x100747d3
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 8]
mov ecx, eax
imul ecx, ecx, 0x18
mov ecx, dword [ecx + edx + 0x14]
test byte [ecx + 0x4a], 1
je case.0x10071e72.13
mov edx, str.sqlite_temp_master
cmp eax, 1
je 0x100747e2
mov edx, str.sqlite_master
push dword [esi + 0x10]
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x140], eax
imul eax, eax, 0x18
push edx
mov edx, dword [ecx + 8]
sub ebx, 0xffffff80
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x13c], ebx
push dword [eax + edx]
mov esi, ecx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
call fcn.1006190a
mov edi, eax
add esp, 0x10
test edi, edi
je 0x100720e2
and dword [ebp - 0x138], 0
push 0
lea eax, [ebp - 0x144]
push eax
push fcn.1008539f
push edi
push esi
mov byte [esi + 0x80], 1
call fcn.1008347a
add esp, 0x14
mov dword [ebp - 8], eax
test eax, eax
jne 0x10074856
mov eax, dword [ebp - 0x138]
mov dword [ebp - 8], eax
push edi
push esi
call fcn.10060799
cmp dword [ebp - 8], 7
pop ecx
pop ecx
mov byte [esi + 0x80], 0
je 0x100720e2
jmp case.0x10071e72.13
mov ecx, dword [esi + 4]
mov eax, dword [ebp - 0xc]
call fcn.1007acce
mov dword [ebp - 8], eax
jmp case.0x10071e72.13
push dword [ebp - 0xc]
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 4]
call fcn.1007bfb6
jmp 0x10075236
push dword [esi + 0x10]
mov eax, dword [esi + 4]
mov edi, dword [ebp - 0xc]
call fcn.1007bc96
jmp 0x10075236
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 4]
mov ebx, dword [ebp - 0xc]
call fcn.1008adb6
jmp case.0x10071e72.13
mov esi, dword [esi + 8]
lea eax, [esi*4 + 4]
mov dword [ebp - 0x2c], esi
mov esi, dword [ebp - 0xc]
push eax
call fcn.10060931
pop ecx
mov dword [ebp - 0x24], eax
test eax, eax
je 0x100720e2
mov ecx, dword [ebp - 0x14]
mov edi, dword [ecx + 4]
and dword [ebp - 0x10], 0
imul edi, edi, 0x28
mov eax, ebx
mov ebx, dword [ecx + 0xc]
mov eax, dword [eax + 0x4c]
imul ebx, ebx, 0x28
add edi, eax
add ebx, eax
cmp dword [ebp - 0x2c], 0
mov dword [ebp - 0x18], edi
jle 0x10074924
mov esi, edi
call fcn.1006e3e7
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
mov dword [edx + ecx*4], eax
inc ecx
add esi, 0x28
cmp ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x10], ecx
jl 0x1007490a
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
and dword [eax + ecx*4], 0
push dword [ebx]
mov esi, dword [ebp - 0xc]
push dword [ebp - 0x2c]
mov ecx, dword [esi + 8]
push eax
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax + 3]
imul eax, eax, 0x18
mov ecx, dword [eax + ecx + 4]
lea edx, [ebp - 0xb0]
call fcn.1006d5e7
add esp, 0xc
push dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
push esi
call fcn.10060799
mov eax, dword [ebp - 0xb0]
cdq
sub dword [ebx], eax
pop ecx
pop ecx
sbb dword [ebx + 4], edx
call fcn.1006e584
cmp dword [ebp - 0xb0], 0
je 0x1007499e
cmp dword [ebp - 0x10], 0
je 0x100720e2
push 1
push dword [ebp - 0x10]
mov eax, fcn.10060749
or ecx, 0xffffffff
mov edx, edi
call fcn.1006e78c
pop ecx
pop ecx
movzx eax, byte [ebp - 0x4c]
push eax
mov eax, edi
call fcn.1006e077
jmp 0x10075236
mov edi, dword [esi + 4]
mov esi, dword [esi + 8]
imul edi, edi, 0x28
mov eax, dword [ebx + 0x4c]
imul esi, esi, 0x28
add edi, eax
add esi, eax
test byte [edi + 0x1c], 0x20
jne 0x100749d7
call fcn.1006e62f
test byte [edi + 0x1c], 0x20
je 0x100720e5
push dword [esi + 4]
mov edi, dword [edi]
push dword [esi]
call fcn.10064b3e
jmp 0x10075235
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xd8]
test eax, eax
jne 0x100753b8
mov eax, dword [ebx + 0x4c]
mov edi, dword [esi + 4]
mov ebx, dword [esi + 0xc]
imul edi, edi, 0x28
imul ebx, ebx, 0x28
add edi, eax
add ebx, eax
test byte [edi + 0x1c], 0x20
mov dword [ebp - 0x20], ebx
je 0x10074a5e
mov ecx, dword [edi]
cmp byte [ecx + 0x16], 0
mov dword [ebp - 0x38], ecx
jne 0x10074a2d
mov esi, ecx
call fcn.10064c17
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + 8]
test eax, eax
je 0x10074a5e
mov edx, dword [eax + 4]
mov edi, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x210], edx
mov dword [ecx + 8], eax
test eax, eax
jne 0x10074a50
mov esi, ecx
call fcn.10064b0f
push dword [ebp - 0x210]
mov esi, ebx
push edi
jmp 0x10072a02
call fcn.1006e584
jmp 0x10071e8a
mov esi, dword [ebx + 0x58]
cmp esi, dword [ebx + 0x5c]
mov edi, dword [ebp - 0xc]
lea eax, [esi + 1]
mov dword [ebx + 0x58], eax
jl 0x10074a97
mov dword [ebx + 0x5c], eax
mov eax, dword [ebx + 0x60]
lea edx, [esi + 1]
shl edx, 4
push edi
call fcn.10060a0b
pop ecx
mov dword [ebx + 0x60], eax
test eax, eax
je 0x100720e5
mov eax, dword [edi + 0x30]
shl esi, 4
add esi, dword [ebx + 0x60]
mov dword [esi], eax
mov eax, dword [edi + 0x34]
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x90]
mov dword [esi + 8], eax
jmp case.0x10071e72.13
dec dword [ebx + 0x58]
mov eax, dword [ebx + 0x58]
mov ecx, dword [ebp - 0xc]
shl eax, 4
add eax, dword [ebx + 0x60]
mov edx, dword [eax]
mov dword [ecx + 0x30], edx
mov edx, dword [eax + 4]
mov dword [ecx + 0x34], edx
mov eax, dword [eax + 8]
mov dword [ebx + 0x90], eax
jmp case.0x10071e72.13
mov edi, dword [ebp - 0x18]
mov eax, edi
call fcn.1006e4e1
mov esi, dword [ebp - 0x58]
mov eax, esi
call fcn.1006e4e1
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov ecx, dword [edi + 4]
cmp ecx, esi
jg case.0x10071e72.13
jl 0x10074b10
mov ecx, edi
mov ecx, dword [ecx]
cmp ecx, eax
jae case.0x10071e72.13
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], esi
jmp case.0x10071e72.13
mov eax, dword [ebp - 0x18]
cmp dword [eax + 4], 0
jl case.0x10071e72.13
jg 0x10071e8a
cmp dword [eax], 0
jbe case.0x10071e72.13
jmp 0x10071e8a
mov eax, dword [ebp - 0x18]
cmp dword [eax + 4], 0
jg case.0x10071e72.13
jl 0x10071e8a
cmp dword [eax], 0
jae case.0x10071e72.13
jmp 0x10071e8a
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
or ecx, dword [eax + 4]
jmp 0x10072a98
mov ecx, dword [esi + 8]
movzx eax, byte [esi + 3]
imul ecx, ecx, 0x28
add ecx, dword [ebx + 0x4c]
mov edi, dword [ebx + 0x24]
xor edx, edx
mov dword [ebp - 0x10], eax
test eax, eax
jle 0x10074b96
mov dword [edi + edx*4], ecx
call fcn.10071b2c
inc edx
add ecx, 0x28
cmp edx, dword [ebp - 0x10]
jl 0x10074b85
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x20c], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0xc]
imul eax, eax, 0x28
add eax, dword [ebx + 0x4c]
mov dword [ebp - 0x1dc], eax
inc dword [eax + 0x18]
xor eax, eax
inc eax
mov word [ebp - 0x1e8], ax
xor eax, eax
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x1f4], ecx
test byte [eax + 3], 8
je 0x10074bf9
mov ecx, dword [esi - 4]
mov dword [ebp - 0x1d4], ecx
push edi
push dword [ebp - 0x10]
lea ecx, [ebp - 0x20c]
push ecx
call dword [eax + 0x10]
add esp, 0xc
cmp dword [ebp - 0x1d8], 0
je 0x10074c40
lea eax, [ebp - 0x204]
push eax
call fcn.10070d82
pop ecx
push eax
push 0x101079d8
push dword [ebp - 0xc]
lea edi, [ebx + 0x80]
call fcn.10060aa2
mov eax, dword [ebp - 0x1d8]
add esp, 0xc
mov dword [ebp - 8], eax
lea eax, [ebp - 0x204]
push eax
call fcn.1006e374
jmp 0x10075236
mov edi, dword [esi + 4]
mov eax, dword [esi + 0x10]
imul edi, edi, 0x28
add edi, dword [ebx + 0x4c]
mov ecx, edi
mov dword [ebp - 0x10], edi
call fcn.1006e2c8
mov dword [ebp - 8], eax
cmp eax, 1
jne 0x10074c90
push edi
call fcn.10070d82
pop ecx
push eax
push 0x101079d8
push dword [ebp - 0xc]
lea edi, [ebx + 0x80]
call fcn.10060aa2
mov edi, dword [ebp - 0x10]
add esp, 0xc
movzx eax, byte [ebp - 0x4c]
push eax
mov eax, edi
call fcn.1006e077
pop ecx
jmp 0x10072575
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1c], 0
jne 0x10074cb6
push str.cannot_VACUUM_from_within_a_transaction
push eax
jmp 0x1007339a
mov edi, eax
call fcn.1008c0f4
jmp 0x10074880
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xc]
imul eax, eax, 0x18
mov ecx, dword [ecx + 8]
mov eax, dword [eax + ecx + 4]
call fcn.10069408
mov dword [ebp - 8], eax
cmp eax, 0x65
jne case.0x10071e72.13
mov esi, dword [esi + 8]
dec esi
mov dword [ebp - 0x1c], esi
and dword [ebp - 8], 0
jmp case.0x10071e72.13
cmp dword [esi + 4], 0
je 0x1007348d
mov byte [ebx + 0x8a], 1
jmp case.0x10071e72.13
mov edx, dword [esi + 4]
mov ecx, dword [ebp - 0xc]
imul edx, edx, 0x18
mov edi, dword [ecx + 8]
mov al, byte [esi + 0xc]
mov ecx, dword [esi + 8]
mov edi, dword [edx + edi + 4]
call fcn.1006d93b
mov dword [ebp - 8], eax
cmp eax, 6
jne case.0x10071e72.13
push dword [esi + 0x10]
lea edi, [ebx + 0x80]
push str.database_table_is_locked:__s
push dword [ebp - 0xc]
call fcn.10060aa2
add esp, 0xc
jmp case.0x10071e72.13
mov esi, dword [esi + 0x10]
mov eax, dword [ebp - 0xc]
mov ebx, esi
call fcn.1008ce0a
mov dword [ebp - 8], eax
test esi, esi
je case.0x10071e72.13
mov edi, dword [ebp + 8]
sub edi, 0xffffff80
push dword [edi]
push dword [ebp - 0xc]
call fcn.10060799
mov eax, dword [esi + 8]
mov dword [edi], eax
and dword [esi + 8], 0
jmp 0x10075235
push dword [esi + 0x10]
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xc]
sub ebx, 0xffffff80
call fcn.1008cb23
mov dword [ebp - 8], eax
jmp 0x10075236
mov ecx, dword [ebp - 0xc]
lea edi, [ebx + 0x8c]
mov byte [edi], 2
push dword [esi + 0x10]
mov eax, dword [esi + 4]
call fcn.1008cca5
mov dword [ebp - 8], eax
mov byte [edi], 0
jmp 0x10075236
mov edi, dword [esi + 0x10]
and dword [ebp - 0x28], 0
mov eax, dword [edi]
lea ecx, [ebp - 0x28]
push ecx
push edi
mov dword [ebp - 0x38], eax
call dword [eax + 0x18]
push dword [ebx + 0x80]
mov dword [ebp - 8], eax
push dword [ebp - 0xc]
call fcn.10060799
mov eax, dword [edi + 8]
mov dword [ebx + 0x80], eax
and dword [edi + 8], 0
add esp, 0x10
cmp dword [ebp - 8], 0
jne case.0x10071e72.13
mov eax, dword [ebp - 0x28]
mov dword [eax], edi
mov edx, dword [esi + 4]
push 0
push 0xffffffffffffffff
lea ecx, [esi - 0x14]
mov eax, ebx
call fcn.10071b57
pop ecx
pop ecx
test eax, eax
je 0x10074e2f
mov ecx, dword [ebp - 0x28]
mov dword [eax + 0x58], ecx
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov dword [eax + 0x5c], ecx
jmp case.0x10071e72.13
mov eax, dword [ebp - 0xc]
push dword [ebp - 0x28]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0x38]
call dword [eax + 0x1c]
jmp 0x10075236
mov eax, dword [esi + 0xc]
mov edx, dword [ebx + 0x30]
imul eax, eax, 0x28
mov ecx, dword [esi + 4]
mov ecx, dword [edx + ecx*4]
add eax, dword [ebx + 0x4c]
and dword [ebp - 0x24], 0
mov edx, dword [ebx + 0x24]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ecx + 0x58]
mov edi, dword [ecx]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [edi]
mov dword [ebp - 0x28], ecx
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0
mov ecx, dword [eax]
mov dword [ebp - 0x48], ecx
jle 0x10074ea2
lea ecx, [eax + 0x50]
jmp 0x10074e86
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
mov dword [edx + eax*4], ecx
call fcn.10071b2c
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
add ecx, 0x28
cmp eax, dword [ebp - 0x10]
mov dword [ebp - 0x38], ecx
jl 0x10074e83
inc dword [edi + 4]
mov eax, dword [ebp - 0x28]
push edx
push dword [ebp - 0x10]
mov byte [ebx + 0x8c], 1
push dword [esi + 0x10]
push dword [ebp - 0x48]
push dword [ebp - 0x2c]
call dword [eax + 0x20]
mov byte [ebx + 0x8c], 0
add esp, 0x14
sub ebx, 0xffffff80
push dword [ebx]
mov dword [ebp - 8], eax
push dword [ebp - 0xc]
call fcn.10060799
mov eax, dword [edi + 8]
pop ecx
mov dword [ebx], eax
and dword [edi + 8], 0
pop ecx
mov ecx, dword [ebp - 0xc]
mov eax, edi
call fcn.1008c49f
cmp dword [ebp - 8], 0
jne 0x10074f09
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
call dword [eax + 0x28]
pop ecx
test eax, eax
je 0x10074f09
mov esi, dword [esi + 8]
dec esi
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x34]
mov byte [eax + 0x1c], 0
jmp case.0x10071e72.13
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x30]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x1c], 0
jne case.0x10071e72.13
mov eax, dword [eax + 0x58]
mov esi, dword [eax]
mov ecx, dword [esi]
lea edx, [ebp - 0x134]
push edx
push eax
call dword [ecx + 0x30]
sub ebx, 0xffffff80
push dword [ebx]
mov dword [ebp - 8], eax
push dword [ebp - 0xc]
call fcn.10060799
mov eax, dword [esi + 8]
mov dword [ebx], eax
and dword [esi + 8], 0
mov eax, dword [ebp - 0x20]
mov cx, word [eax + 0x1c]
mov edx, 0xbf04
and cx, dx
add esp, 0x10
or cx, 4
mov word [eax + 0x1c], cx
mov ecx, dword [ebp - 0x134]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x130]
jmp 0x10071f08
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x30]
mov ecx, dword [ecx + eax*4]
mov eax, dword [esi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebx + 0x4c]
cmp byte [ecx + 0x1c], 0
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], eax
je 0x10074fa5
mov edi, eax
jmp 0x1007216b
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x58]
mov edi, dword [eax]
mov eax, dword [edi]
push 0x40
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x254]
push 0
push eax
call fcn.100c1480
mov ebx, dword [ebp - 0x24]
add esp, 0xc
lea eax, [ebp - 0x24c]
call fcn.1006e768
mov eax, dword [ebp - 0x230]
push dword [esi + 8]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x230], ax
lea eax, [ebp - 0x254]
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x58]
mov eax, dword [ebp - 0x38]
call dword [eax + 0x2c]
mov esi, dword [ebp + 8]
add esp, 0xc
sub esi, 0xffffff80
push dword [esi]
mov dword [ebp - 8], eax
push dword [ebp - 0xc]
call fcn.10060799
mov eax, dword [edi + 8]
mov dword [esi], eax
movzx eax, byte [ebp - 0x4c]
and dword [edi + 8], 0
push eax
lea eax, [ebp - 0x24c]
call fcn.1006e077
mov eax, dword [ebp - 0x24]
add esp, 0xc
lea ebx, [ebp - 0x24c]
call fcn.1006e768
mov ecx, dword [ebp - 0x24]
jmp 0x10072577
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x30]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x1c], 0
mov dword [ebp - 0x10], eax
jne case.0x10071e72.13
mov ecx, eax
mov eax, dword [ecx + 0x58]
mov edi, dword [eax]
mov eax, dword [edi]
inc dword [edi + 4]
mov byte [ebx + 0x8c], 1
push dword [ecx + 0x58]
mov dword [ebp - 0x38], eax
call dword [eax + 0x24]
pop ecx
mov byte [ebx + 0x8c], 0
sub ebx, 0xffffff80
push dword [ebx]
mov dword [ebp - 8], eax
push dword [ebp - 0xc]
call fcn.10060799
mov eax, dword [edi + 8]
pop ecx
mov dword [ebx], eax
and dword [edi + 8], 0
pop ecx
mov ecx, dword [ebp - 0xc]
mov eax, edi
call fcn.1008c49f
cmp dword [ebp - 8], 0
jne 0x10071e8a
mov eax, dword [ebp - 0x10]
push dword [eax + 0x58]
mov eax, dword [ebp - 0x38]
call dword [eax + 0x28]
pop ecx
test eax, eax
jmp 0x10072a98
mov edi, dword [esi + 0x10]
mov esi, dword [esi + 4]
imul esi, esi, 0x28
add esi, dword [ebx + 0x4c]
test byte [esi + 0x1c], 0x12
jne 0x100750ea
movzx eax, byte [ebp - 0x4c]
push eax
mov eax, esi
call fcn.1006e250
pop ecx
test eax, eax
jne 0x100720e5
inc dword [edi + 4]
push dword [esi + 0x14]
mov eax, dword [edi]
push edi
call dword [eax + 0x4c]
sub ebx, 0xffffff80
push dword [ebx]
mov dword [ebp - 8], eax
push dword [ebp - 0xc]
call fcn.10060799
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0xc]
mov dword [ebx], eax
and dword [edi + 8], 0
add esp, 0x10
mov eax, edi
call fcn.1008c49f
jmp case.0x10071e72.13
mov edi, dword [esi + 0x10]
mov eax, dword [edi]
cmp dword [eax + 0x34], 0
mov ecx, dword [esi + 8]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x10], ecx
jne 0x1007513f
push str.read_only_table
jmp 0x10073397
mov ecx, dword [esi + 0xc]
and dword [ebp - 0x24], 0
imul ecx, ecx, 0x28
add ecx, dword [ebx + 0x4c]
cmp dword [ebp - 0x10], 0
mov edx, dword [ebx + 0x24]
jle 0x1007516e
call fcn.10071b2c
mov eax, dword [ebp - 0x24]
mov dword [edx + eax*4], ecx
add ecx, 0x28
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x10]
jl 0x10075155
inc dword [edi + 4]
lea eax, [ebp - 0x194]
push eax
mov eax, dword [ebp - 0x38]
push edx
push dword [ebp - 0x10]
push edi
call dword [eax + 0x34]
push dword [ebx + 0x80]
mov dword [ebp - 8], eax
push dword [ebp - 0xc]
call fcn.10060799
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 0x80], eax
and dword [edi + 8], 0
add esp, 0x18
mov eax, edi
call fcn.1008c49f
cmp dword [esi + 4], 0
je 0x100751cf
cmp dword [ebp - 8], 0
jne 0x100751cf
mov ecx, dword [ebp - 0x194]
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp - 0x190]
mov dword [eax + 0x34], ecx
inc dword [ebx + 0x90]
jmp case.0x10071e72.13
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xc]
imul eax, eax, 0x18
mov ecx, dword [ecx + 8]
mov eax, dword [eax + ecx + 4]
mov eax, dword [eax + 4]
mov edi, dword [eax]
lea eax, [ebp - 0xe4]
push eax
call fcn.10065ffc
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne case.0x10071e72.13
mov ecx, dword [ebp - 0x20]
push 4
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xe4]
jmp 0x10071ee9
mov esi, dword [esi + 0x10]
test esi, esi
je case.0x10071e72.13
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x98]
test eax, eax
je case.0x10071e72.13
mov ecx, dword [ebp - 0xc]
push esi
push dword [ecx + 0x9c]
call eax
pop ecx
pop ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 8], 0
je 0x10071d84
mov ebx, dword [ebp + 8]
jmp 0x10072106
mov dword [ebp - 8], 9
jmp 0x10072106
mov eax, dword [esi + 4]
mov dword [ebx + 0x68], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebx + 0x64], eax
mov eax, dword [esi + 8]
mov dword [ebx + 0x70], eax
mov esi, dword [esi + 0x10]
test esi, esi
je 0x10075288
push esi
push 0x101079d8
push dword [ebp - 0xc]
lea edi, [ebx + 0x80]
call fcn.10060aa2
add esp, 0xc
push ebx
call fcn.1006ff80
pop ecx
push 5
pop esi
cmp eax, esi
je 0x10075373
mov esi, dword [ebx + 0x68]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x10072125
mov eax, dword [ebx + 0x54]
mov ecx, dword [ebx + 0x4c]
inc eax
inc eax
or eax, 1
mov dword [ebx + 0x54], eax
mov eax, dword [esi + 4]
imul eax, eax, 0x28
add eax, ecx
xor edi, edi
mov dword [ebx + 0x84], eax
cmp dword [esi + 8], edi
jle 0x100752ec
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
call fcn.1006e205
mov ecx, dword [ebp + 8]
call fcn.10071b2c
add dword [ebp + 8], 0x28
inc edi
cmp edi, dword [esi + 8]
jl 0x100752d2
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1e], 0
jne 0x100720e5
mov eax, dword [ebp - 0x1c]
inc dword [ebx + 0x50]
inc eax
push 0x64
mov dword [ebx + 0x64], eax
pop esi
jmp 0x10072125
lea eax, [ebp - 0x184]
push eax
call fcn.1006e374
pop ecx
jmp 0x100720e2
mov eax, dword [ebp - 0x1c]
mov dword [ebx + 0x64], eax
mov byte [esi + 0x1c], 0
mov esi, ecx
mov dword [ebx + 0x68], ecx
jmp 0x10072125
test esi, esi
je 0x10075351
mov eax, edi
call fcn.100931e4
mov byte [edi + 0x1c], 1
mov esi, edi
call fcn.10092f8d
mov eax, ebx
mov esi, dword [eax + 0x68]
jmp 0x1007529d
mov al, byte [ebp - 0x10]
push ebx
mov byte [edi + 0x1c], al
call fcn.1006ff80
pop ecx
push 5
pop esi
cmp eax, esi
jne 0x10075340
mov eax, dword [ebp - 0x1c]
mov dword [ebx + 0x64], eax
mov al, 1
sub al, byte [ebp - 0x10]
mov byte [edi + 0x1c], al
mov dword [ebx + 0x68], esi
jmp 0x10072125
mov eax, dword [ebp - 0x1c]
mov dword [ebx + 0x64], eax
jmp 0x10075373
mov eax, dword [ebp - 0x1c]
mov dword [ebx + 0x64], eax
jmp 0x10075327
mov esi, edi
call fcn.100708e9
jmp 0x10073ea8
mov eax, str.unknown_error
push eax
push 0x101079d8
push dword [ebp - 0xc]
lea edi, [ebx + 0x80]
call fcn.10060aa2
add esp, 0xc
jmp 0x10072106
push 9
pop eax
mov dword [ebp - 8], eax
mov dword [ebx + 0x68], eax
jmp 0x10073ed9