Function at 0x10095bb0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xd4
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0xd0], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ecx + 8]
mov dword [esp + 0x58], eax
mov eax, dword [ecx]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x44], ebx
mov dword [esp + 8], eax
mov dword [esp + 0x3c], esi
push edi
mov edi, edx
test esi, esi
je 0x10095bfb
mov dword [esp + 0x94], esi
jmp 0x10095c28
cmp dword [ecx + 0x80], 0
jne 0x10095c0e
test byte [eax + 0x50], 8
jne 0x10095c0e
mov byte [ecx + 0x17], 1
call fcn.1004e770
mov esi, eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x94], esi
test esi, esi
je 0x10095fb5
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x10095c47
push 0
push 1
push 1
mov edx, 0xa6
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10095c7a
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x2c], 2
cmp dword [ebx + 4], 0
mov eax, dword [ecx]
jbe 0x10095cf7
cmp byte [eax + 0xb1], 0
je 0x10095cb9
push str.corrupt_database
push ecx
call fcn.1002a530
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xd0]
xor ecx, esp
call fcn.10136e2d
mov esp, ebp
pop ebp
ret
mov edx, edi
mov dword [esp + 0x1c], ebx
mov ecx, eax
call fcn.1007a890
mov edx, eax
mov dword [esp + 0x34], edx
test edx, edx
jns 0x10095d08
push edi
push str.unknown_database__T
push dword [esp + 0x1c]
call fcn.1002a530
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xd0]
xor ecx, esp
call fcn.10136e2d
mov esp, ebp
pop ebp
ret
movzx edx, byte [eax + 0xb0]
mov dword [esp + 0x34], edx
mov dword [esp + 0x1c], edi
jmp 0x10095d0c
mov ecx, dword [esp + 0x14]
test edx, edx
js 0x10095fb5
mov eax, dword [esp + 0xc]
mov edi, edx
shl edi, 4
add edi, dword [eax + 0x10]
mov dword [esp + 0xa0], edi
cmp edx, 1
jne 0x10095d3d
call fcn.10082790
test eax, eax
jne 0x10095fb5
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x1c]
mov ecx, eax
call fcn.1007a800
mov dword [esp + 0x3c], eax
test eax, eax
je 0x10095fb5
cmp dword [ebp + 0x10], 0
je 0x10095d71
push dword [esp + 0x5c]
push 0x1016c5ac
push dword [esp + 0x14]
call fcn.100293f0
add esp, 0xc
jmp 0x10095d7e
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0xc]
call fcn.1007a800
cmp dword [ebx + 4], 0
mov dword [esp + 0x10], eax
jbe 0x10095d8c
mov ebx, dword [edi]
jmp 0x10095d8e
xor ebx, ebx
mov ecx, dword [esp + 0x14]
mov edx, 0x13
push ebx
push eax
push dword [esp + 0x44]
mov dword [esp + 0x30], ebx
call fcn.10078f70
mov ecx, dword [esp + 0x18]
add esp, 0xc
test eax, eax
jne 0x10095f99
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], 0
mov dword [ecx + 0x1c8], 0
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x28], 1
test eax, eax
je 0x10095e04
push eax
call dword [0x10177b98]
mov ecx, dword [esp + 0x10]
add esp, 4
mov edx, ebx
call fcn.100dba70
mov ebx, eax
test ebx, ebx
je 0x10095e85
cmp byte [ebx + 9], 0
je 0x10095e27
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x10095e27
mov ecx, ebx
call fcn.1003e950
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x1c8]
mov dword [esp + 0x2c], ecx
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
test ecx, ecx
jne 0x10095e4d
mov dword [esp + 0x28], 0xc
jmp 0x10095e64
lea edx, [esp + 0xcc]
push edx
push 0xe
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x2c]
mov dword [ecx + 0x1c8], eax
cmp byte [ebx + 9], 0
je 0x10095e85
add dword [ebx + 0xc], 0xffffffff
jne 0x10095e85
mov ecx, ebx
call fcn.1003e930
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10095e9a
push eax
call dword [0x10177ba0]
add esp, 4
mov ebx, dword [esp + 0x28]
test ebx, ebx
jne 0x10095fd3
mov ebx, 1
mov ecx, esi
mov edx, ebx
call fcn.10050a90
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x10095ed5
mov edx, dword [esp + 0xcc]
mov ecx, dword [esi + 0x74]
push 0xffffffffffffffff
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.1004db70
add esp, 0x10
mov edi, dword [esp + 0xcc]
test edi, edi
je 0x10095f95
push edi
mov edx, ebx
mov ecx, esi
call fcn.1004eb60
mov ecx, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], ecx
jg 0x10095f10
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10095f3b
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esp + 0xcc]
test edi, edi
je 0x10095f95
cmp dword [0x10177b48], 0
je 0x10095fca
mov eax, dword [0x1017ad00]
test eax, eax
je 0x10095f62
push eax
call dword [0x10177b98]
add esp, 4
push edi
call dword [0x10177b74]
sub dword [0x1017ab88], eax
add esp, 4
dec dword [0x1017abac]
push edi
call dword [0x10177b6c]
mov eax, dword [0x1017ad00]
add esp, 4
test eax, eax
je 0x10095f95
push eax
call dword [0x10177ba0]
add esp, 4
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
call fcn.10026a90
test ebx, ebx
je 0x10095fb5
mov edx, ebx
mov ecx, dword [esp + 0xc]
call fcn.10026a90
mov ecx, dword [esp + 0xdc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10136e2d
mov esp, ebp
pop ebp
ret
push edi
call dword [0x10177b6c]
jmp 0x10095f92
cmp ebx, 0xc
je 0x1009607f
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x10096070
push eax
push 0x101689bc
push dword [esp + 0x1c]
call fcn.1002a530
mov esi, dword [esp + 0xd8]
add esp, 0xc
test esi, esi
je 0x10096070
cmp dword [0x10177b48], 0
je 0x10096066
mov eax, dword [0x1017ad00]
test eax, eax
je 0x10096024
push eax
call dword [0x10177b98]
add esp, 4
push esi
call dword [0x10177b74]
sub dword [0x1017ab88], eax
add esp, 4
dec dword [0x1017abac]
push esi
call dword [0x10177b6c]
mov eax, dword [0x1017ad00]
add esp, 4
test eax, eax
je 0x10096070
push eax
call dword [0x10177ba0]
mov eax, dword [esp + 0x18]
add esp, 4
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x10095f95
push esi
call dword [0x10177b6c]
add esp, 4
mov eax, dword [esp + 0x14]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x10095f95
mov ecx, dword [esp + 0x3c]
call fcn.10095970
mov ebx, eax
mov dword [esp + 0x44], ebx
test ebx, ebx
je 0x10095f95
test byte [ebx + 5], 1
je 0x100960ad
mov ecx, dword [esp + 0x14]
call fcn.1009d110
test eax, eax
jne 0x10095f95
mov al, byte [ebx + 5]
test al, 2
jne 0x100960c9
test al, 4
je 0x100960c0
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x100960cd
mov edx, ebx
mov ecx, esi
call fcn.100957a0
mov ecx, dword [esp + 0x10]
movzx eax, byte [ebx + 4]
dec eax
cmp eax, 0x2a
ja case.0x100960db.5
jmp dword [eax*4 + 0x1009bd24]
mov eax, dword [esi + 0x9c]
mov ebx, dword [esp + 0x34]
bts eax, ebx
mov dword [esi + 0x9c], eax
cmp ebx, 1
je 0x1009611c
mov eax, dword [esi]
mov ecx, ebx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
cmp byte [eax + 9], 0
je 0x1009611c
mov eax, dword [esi + 0xa0]
bts eax, ebx
mov dword [esi + 0xa0], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x10096155
mov ecx, dword [esp + 0x14]
lea edx, [eax + 9]
push ecx
push 0x1015f4fc
add dword [ecx + 0x2c], 2
mov ecx, esi
call fcn.1004f590
mov edx, dword [esp + 0x44]
add esp, 8
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x10095fac
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov ecx, eax
call fcn.1002ba70
mov ebx, dword [esp + 0x1c]
test ebx, ebx
jns 0x10096181
cmp ebx, 0x80000000
jne 0x1009617f
mov ebx, 0x7fffffff
jmp 0x10096181
neg ebx
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x80]
test eax, eax
cmovne ecx, eax
mov eax, 1
mov dword [esp + 0x14], ecx
mov edx, dword [ecx + 0x5c]
mov ecx, dword [esp + 0x34]
shl eax, cl
mov ecx, dword [esp + 0x14]
test edx, eax
jne 0x100961c2
mov eax, dword [esp + 0x34]
bts edx, eax
mov dword [ecx + 0x5c], edx
cmp eax, 1
jne 0x100961c2
call fcn.10082790
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x58]
mov edx, dword [esp + 0x34]
bts eax, edx
mov dword [ecx + 0x58], eax
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100961ec
push ebx
push 3
push edx
mov edx, 0x64
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10096217
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x64
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi + 0xc]
mov dword [eax + 0x50], ebx
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [edx + 0x50]
call fcn.100415c0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x3c]
call fcn.10026a90
mov ebx, dword [esp + 0x10]
jmp 0x10095faa
mov edi, dword [edi + 4]
test ecx, ecx
jne 0x1009626c
test edi, edi
je 0x10096254
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x24]
jmp 0x10096256
xor eax, eax
cdq
mov ecx, esi
push edx
push eax
call fcn.10095830
mov edx, dword [esp + 0x44]
add esp, 8
jmp 0x10095fac
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
call fcn.1002ba70
mov eax, dword [esp + 0xc]
mov ecx, edi
mov edx, dword [esp + 0x1c]
push 0
push 0
mov dword [eax + 0x64], edx
call fcn.10041750
mov ecx, dword [esp + 0x14]
add esp, 8
cmp eax, 7
jne 0x10095f99
call fcn.10027200
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x3c]
call fcn.10026a90
mov ebx, dword [esp + 0x10]
jmp 0x10095faa
mov ebx, dword [edi + 4]
or ecx, 0xffffffff
mov edi, dword [esp + 0x10]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ecx
test edi, edi
je 0x10096305
mov edx, str.fast
mov ecx, edi
call fcn.1002a6d0
test eax, eax
jne 0x100962e9
lea ecx, [eax + 2]
jmp 0x10096301
push 0
mov edx, 1
mov ecx, edi
call fcn.100956b0
xor ecx, ecx
add esp, 4
test al, al
setne cl
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x48]
mov edi, 0xfff3
cmp dword [eax + 4], 0
jne 0x100963a9
test ecx, ecx
js 0x100963a9
mov eax, dword [esp + 0xc]
xor edx, edx
mov dword [esp + 0x28], edx
cmp dword [eax + 0x14], edx
jle 0x100963a9
mov ebx, dword [esp + 0x30]
xor esi, esi
mov eax, dword [eax + 0x10]
mov edi, dword [esi + eax + 4]
test edi, edi
je 0x1009638b
cmp byte [edi + 9], 0
je 0x1009635a
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x1009635a
mov ecx, edi
call fcn.1003e950
mov edx, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov ecx, 0xfff3
and word [eax + 0x18], cx
lea eax, [ebx*4]
mov ecx, dword [edi + 4]
or word [ecx + 0x18], ax
cmp byte [edi + 9], 0
je 0x1009638b
add dword [edi + 0xc], 0xffffffff
jne 0x1009638b
mov ecx, edi
call fcn.1003e930
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0xc]
inc edx
add esi, 0x10
mov dword [esp + 0x28], edx
cmp edx, dword [eax + 0x14]
jl 0x10096335
mov esi, dword [esp + 0x40]
mov edi, 0xfff3
mov ebx, dword [esp + 0x2c]
test ebx, ebx
jne 0x100963c0
xor edi, edi
mov ecx, esi
push edi
push edi
call fcn.10095830
add esp, 8
jmp 0x10095f95
cmp byte [ebx + 9], 0
je 0x100963d6
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x100963d6
mov ecx, ebx
call fcn.1003e950
mov edx, dword [esp + 0x30]
test edx, edx
js 0x100963f3
mov eax, dword [ebx + 4]
and word [eax + 0x18], di
lea eax, [edx*4]
mov ecx, dword [ebx + 4]
or word [ecx + 0x18], ax
mov eax, dword [ebx + 4]
movzx edi, word [eax + 0x18]
shr edi, 2
and edi, 3
cmp byte [ebx + 9], 0
je 0x10096413
add dword [ebx + 0xc], 0xffffffff
jne 0x10096413
mov ecx, ebx
call fcn.1003e930
push 0
push edi
mov ecx, esi
call fcn.10095830
add esp, 8
jmp 0x10095f95
mov ebx, dword [esp + 0x14]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x34]
mov edx, ebx
movlpd qword [esp + 0x68], xmm0
mov eax, dword [ebx + 0x80]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov edi, dword [edx + 0x5c]
test edi, eax
jne 0x10096463
bts edi, ecx
mov dword [edx + 0x5c], edi
cmp ecx, 1
jne 0x10096463
mov ecx, edx
call fcn.10082790
mov edi, dword [ebx + 0x2c]
mov eax, dword [esp + 0x3c]
inc edi
mov dword [ebx + 0x2c], edi
movzx eax, byte [eax]
cmp byte [eax + 0x10161ab0], 0x70
jne 0x100964c9
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1009649d
push 0
push edi
push dword [esp + 0x3c]
mov edx, 0xb2
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10096563
mov ebx, dword [esp + 0x34]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb2
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
jmp 0x1009655b
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1009650c
lea edx, [esp + 0x68]
mov ecx, eax
call fcn.1002b960
test eax, eax
jne 0x1009650c
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
test eax, eax
jg 0x100964fd
jl 0x1009650c
test edx, edx
jb 0x1009650c
test eax, eax
jl 0x10096519
jg 0x100964fd
cmp edx, 0xfffffffe
jbe 0x10096519
mov edx, 0xfffffffe
mov dword [esp + 0x6c], 0
jmp 0x10096519
xorps xmm0, xmm0
movlpd qword [esp + 0x68], xmm0
mov edx, dword [esp + 0x68]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x10096538
push edx
push edi
push dword [esp + 0x3c]
mov edx, 0xb3
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10096563
mov ebx, dword [esp + 0x34]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb3
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x10096584
push 0
push 1
push edi
mov edx, 0x54
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10095f95
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], edi
jmp 0x100966fb
test ecx, ecx
je 0x1009660c
mov ebx, str.exclusive
mov edx, ecx
sub ebx, ecx
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [ebx + edx]
cmp ecx, eax
jne 0x100965c6
test ecx, ecx
jne 0x100965d8
mov ecx, 1
jmp 0x1009660f
movzx eax, byte [eax + 0x10161ab0]
movzx ecx, byte [ecx + 0x10161ab0]
sub ecx, eax
jne 0x100965db
inc edx
jmp 0x100965b0
mov edx, dword [esp + 0x10]
mov ebx, str.normal
sub ebx, edx
movzx ecx, byte [edx]
movzx eax, byte [ebx + edx]
cmp ecx, eax
jne 0x100965f7
test ecx, ecx
jne 0x10096609
jmp 0x1009660f
movzx eax, byte [eax + 0x10161ab0]
movzx ecx, byte [ecx + 0x10161ab0]
sub ecx, eax
jne 0x1009660c
inc edx
jmp 0x100965e6
or ecx, 0xffffffff
mov eax, dword [esp + 0x48]
cmp dword [eax + 4], 0
jne 0x10096676
mov eax, dword [esp + 0xc]
cmp ecx, 0xffffffff
jne 0x10096627
mov cl, byte [eax + 0x59]
jmp 0x1009669e
mov edx, 2
cmp dword [eax + 0x14], edx
jle 0x10096673
mov ebx, 0x20
mov eax, dword [eax + 0x10]
mov eax, dword [ebx + eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x1009665f
cmp byte [eax + 0xc], 0
jne 0x1009665f
mov edi, dword [eax + 0xe8]
test edi, edi
je 0x1009665c
cmp byte [edi + 0x2b], 2
je 0x1009665f
mov byte [eax + 4], cl
mov eax, dword [esp + 0xc]
inc edx
add ebx, 0x10
cmp edx, dword [eax + 0x14]
jl 0x10096636
mov edi, dword [esp + 0xa0]
mov byte [eax + 0x59], cl
mov eax, dword [edi + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x1009669b
cmp byte [eax + 0xc], 0
jne 0x1009669b
mov edx, dword [eax + 0xe8]
test edx, edx
je 0x10096698
cmp byte [edx + 0x2b], 2
je 0x1009669b
mov byte [eax + 4], cl
mov cl, byte [eax + 4]
cmp cl, 1
mov edx, str.exclusive
mov eax, str.normal
mov ecx, esi
cmove eax, edx
mov edx, 1
push eax
call fcn.1004eb60
add esp, 4
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100966e0
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10095f95
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x10095f95
test ecx, ecx
je 0x100967b9
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10096723
sub ecx, edx
and ecx, 0x3fffffff
xor eax, eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], eax
cmp eax, 6
je 0x100967b9
mov edi, dword [eax*4 + 0x1016046c]
test edi, edi
je 0x100967b9
mov ebx, dword [esp + 0x10]
mov edx, ecx
test ecx, ecx
je 0x10096777
mov al, byte [ebx]
dec edx
test al, al
je 0x10096778
movzx ecx, byte [edi]
movzx eax, al
mov al, byte [eax + 0x10161ab0]
cmp al, byte [ecx + 0x10161ab0]
jne 0x10096778
inc ebx
inc edi
test edx, edx
jg 0x10096756
dec edx
test edx, edx
js 0x1009679f
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x10161ab0]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x10161ab0]
sub eax, ecx
je 0x1009679f
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
inc eax
jmp 0x10096738
mov ebx, dword [esp + 0x28]
cmp ebx, 2
jne 0x100967d7
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x100967dc
or ebx, 0xffffffff
mov ecx, dword [esp + 0x48]
cmp dword [ecx + 4], 0
jne 0x100967e0
mov dword [esp + 0x34], 0
mov dword [ecx + 4], 1
jmp 0x100967e0
cmp ebx, 0xffffffff
je 0x100967bc
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x100966be
mov edx, edi
shl edx, 4
mov dword [esp + 0x28], edx
nop dword [eax]
mov eax, dword [eax + 0x10]
cmp dword [edx + eax + 4], 0
je 0x10096898
cmp edi, dword [esp + 0x34]
je 0x1009681a
cmp dword [ecx + 4], 0
jne 0x10096898
mov eax, dword [esi + 0x9c]
bts eax, edi
mov dword [esi + 0x9c], eax
cmp edi, 1
je 0x1009684c
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edx + 4]
cmp byte [eax + 9], 0
je 0x1009684c
mov eax, dword [esi + 0xa0]
bts eax, edi
mov dword [esi + 0xa0], eax
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x10096869
push ebx
push 1
push edi
mov edx, 4
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10096894
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 4
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x48]
sub edx, 0x10
sub edi, 1
mov eax, dword [esp + 0xc]
mov dword [esp + 0x28], edx
jns 0x10096800
jmp 0x100966be
mov eax, dword [edi + 4]
or ecx, 0xffffffff
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x6c], ecx
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov eax, 0xfffffffe
mov dword [esp + 0x68], eax
test ebx, ebx
je 0x10096903
lea edx, [esp + 0x68]
mov ecx, ebx
call fcn.1002b960
mov ecx, dword [esp + 0x6c]
cmp ecx, 0xffffffff
jg 0x100968fb
jl 0x100968f4
mov eax, dword [esp + 0x68]
cmp eax, 0xffffffff
jae 0x100968ff
or eax, 0xffffffff
or ecx, eax
jmp 0x100968ff
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x10]
cmp ecx, 0xffffffff
jl 0x1009692b
jg 0x1009690f
cmp eax, 0xffffffff
jb 0x1009692b
mov dword [edi + 0xb0], eax
mov dword [edi + 0xb4], ecx
mov edx, dword [edi + 0xe8]
test edx, edx
je 0x1009692b
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
push dword [edi + 0xb4]
mov ecx, esi
push dword [edi + 0xb0]
call fcn.10095830
mov ecx, dword [esp + 0x14]
add esp, 8
jmp 0x10095f9d
mov edi, dword [edi + 4]
test ecx, ecx
jne 0x1009699f
cmp byte [edi + 9], cl
je 0x10096965
inc dword [edi + 0xc]
cmp byte [edi + 0xa], cl
jne 0x10096965
mov ecx, edi
call fcn.1003e950
mov eax, dword [edi + 4]
xor ebx, ebx
cmp byte [eax + 0x11], bl
je 0x10096976
cmp byte [eax + 0x12], bl
setne bl
inc ebx
cmp byte [edi + 9], 0
je 0x10096989
add dword [edi + 0xc], 0xffffffff
jne 0x10096989
mov ecx, edi
call fcn.1003e930
push 0
push ebx
mov ecx, esi
call fcn.10095830
mov edx, dword [esp + 0x44]
add esp, 8
jmp 0x10095fac
mov ebx, str.none
mov edx, ecx
sub ebx, ecx
nop dword [eax + eax]
movzx ecx, byte [edx]
movzx eax, byte [ebx + edx]
cmp ecx, eax
jne 0x100969c6
test ecx, ecx
jne 0x100969d8
xor ebx, ebx
jmp 0x10096a70
movzx eax, byte [eax + 0x10161ab0]
movzx ecx, byte [ecx + 0x10161ab0]
sub ecx, eax
jne 0x100969db
inc edx
jmp 0x100969b0
mov edx, dword [esp + 0x10]
mov ebx, str.full
sub ebx, edx
movzx ecx, byte [edx]
movzx eax, byte [ebx + edx]
cmp ecx, eax
jne 0x100969fa
test ecx, ecx
jne 0x10096a0c
lea ebx, [ecx + 1]
jmp 0x10096a70
movzx eax, byte [eax + 0x10161ab0]
movzx ecx, byte [ecx + 0x10161ab0]
sub ecx, eax
jne 0x10096a0f
inc edx
jmp 0x100969e6
mov edx, dword [esp + 0x10]
mov ebx, str.incremental
sub ebx, edx
nop word [eax + eax]
movzx ecx, byte [edx]
movzx eax, byte [ebx + edx]
cmp ecx, eax
jne 0x10096a34
test ecx, ecx
jne 0x10096a46
lea ebx, [ecx + 2]
jmp 0x10096a70
movzx eax, byte [eax + 0x10161ab0]
movzx ecx, byte [ecx + 0x10161ab0]
sub ecx, eax
jne 0x10096a49
inc edx
jmp 0x10096a20
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
call fcn.1002ba70
mov eax, dword [esp + 0x1c]
xor edx, edx
cmp eax, 2
movzx ecx, al
cmova ecx, edx
movzx ebx, cl
mov eax, dword [esp + 0xc]
mov edx, ebx
mov ecx, edi
mov byte [eax + 0x5a], bl
call fcn.10041890
test eax, eax
jne 0x10095f95
cmp ebx, 1
je 0x10096a96
cmp ebx, 2
jne 0x10095f95
mov edi, dword [esi + 0x6c]
mov edx, 5
push ecx
push 0x10161460
mov ecx, esi
call fcn.1004f590
mov edx, dword [esp + 0x3c]
lea ecx, [edi + 4]
add esp, 8
mov dword [eax + 4], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x30], ecx
lea ecx, [ebx - 1]
mov dword [eax + 0x54], edx
mov dword [eax + 0x5c], ecx
mov eax, dword [esi + 0x9c]
bts eax, edx
mov dword [esi + 0x9c], eax
cmp edx, 1
je 0x10095f95
mov eax, dword [esi]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [esp + 0xc]
cmp byte [eax + 9], 0
je 0x10095f99
mov eax, dword [esi + 0xa0]
bts eax, edx
mov edx, dword [esp + 0x3c]
mov dword [esi + 0xa0], eax
call fcn.10026a90
mov ebx, dword [esp + 0x10]
jmp 0x10095faa
mov dword [esp + 0x1c], 0
test ecx, ecx
je 0x10096b3c
lea edx, [esp + 0x1c]
call fcn.1002ba70
test eax, eax
je 0x10096b3c
mov edi, dword [esp + 0x1c]
test edi, edi
jg 0x10096b41
mov edi, 0x7fffffff
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
mov eax, dword [ebx + 0x80]
test eax, eax
cmovne ebx, eax
mov eax, 1
shl eax, cl
mov edx, dword [ebx + 0x5c]
test edx, eax
jne 0x10096b78
bts edx, ecx
mov dword [ebx + 0x5c], edx
cmp ecx, 1
jne 0x10096b78
mov ecx, ebx
call fcn.10082790
mov ecx, dword [esp + 0x34]
mov eax, dword [ebx + 0x58]
bts eax, ecx
mov dword [ebx + 0x58], eax
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x10096b9f
push 0
push 1
push edi
mov edx, 0x47
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10096bce
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esi + 0x6c]
cmp dword [esi + 0x70], edi
jg 0x10096bf1
push 0
push 0
push dword [esp + 0x3c]
mov edx, 0x3e
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
mov edi, eax
jmp 0x10096c24
mov ebx, dword [esp + 0x34]
lea eax, [edi + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x3e
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x10096c43
push 0
push 0
push 1
mov edx, 0x54
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10096c76
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x10096c95
push 0
push 0xffffffffffffffff
push 1
mov edx, 0x56
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10096cc8
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0xffffffff
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x10096ce6
push 0
push edi
push 1
mov edx, 0x3b
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10096d15
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x3b
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x10096d2d
mov eax, 0x1017abd8
mov dword [eax + 8], edx
jmp 0x10095f95
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x10095f95
test ecx, ecx
jne 0x10096d4e
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x10096256
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
call fcn.1002ba70
mov ecx, dword [edi + 0xc]
mov eax, dword [esp + 0x1c]
mov dword [ecx + 0x50], eax
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [edx + 0x50]
call fcn.100415c0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x3c]
call fcn.10026a90
mov ebx, dword [esp + 0x10]
jmp 0x10095faa
test ecx, ecx
jne 0x10096dc1
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + 0x20]
and eax, 0x20
or eax, ecx
je 0x10096da9
mov ecx, dword [edi + 4]
xor edx, edx
call fcn.10041660
cdq
mov ecx, esi
push edx
push eax
call fcn.10095830
mov edx, dword [esp + 0x44]
add esp, 8
mov ecx, ebx
jmp 0x10095fb0
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 1
call fcn.1002ba70
mov esi, dword [esp + 0x1c]
test eax, eax
je 0x10096de4
mov ecx, dword [edi + 4]
mov edx, esi
call fcn.10041660
mov ecx, dword [esp + 0x10]
test esi, esi
mov edx, 1
setne al
movzx eax, al
push eax
call fcn.100956b0
mov edx, dword [esp + 0x10]
add esp, 4
mov ebx, dword [esp + 0xc]
test al, al
mov eax, ebx
mov ecx, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
je 0x10096e36
or ecx, 0x20
mov dword [eax + 0x20], ecx
mov ecx, ebx
mov dword [eax + 0x24], edx
call fcn.100958d0
mov edx, dword [esp + 0x3c]
mov ecx, ebx
call fcn.10026a90
mov ebx, dword [esp + 0x10]
jmp 0x10095faa
and ecx, 0xffffffdf
mov dword [eax + 0x20], ecx
mov ecx, ebx
mov dword [eax + 0x24], edx
call fcn.100958d0
mov edx, dword [esp + 0x3c]
mov ecx, ebx
call fcn.10026a90
mov ebx, dword [esp + 0x10]
jmp 0x10095faa
test ecx, ecx
je 0x10096f6e
lea edx, [esp + 0xa8]
call fcn.1002b960
cmp dword [esp + 0xac], 0
jg 0x10096e9d
jl 0x10096e84
cmp dword [esp + 0xa8], 0
jae 0x10096e9d
mov eax, dword [0x10177bf0]
mov ecx, dword [0x10177bf4]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xc]
cmp dword [ecx + 4], 0
jne 0x10096ec3
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
mov dword [edx + 0x30], eax
mov dword [edx + 0x34], ecx
mov ecx, dword [esp + 0x48]
mov ebx, dword [edx + 0x14]
sub ebx, 1
js 0x10096f6e
mov esi, ebx
shl esi, 4
mov eax, dword [edx + 0x10]
mov edi, dword [esi + eax + 4]
test edi, edi
je 0x10096f5a
cmp ebx, dword [esp + 0x34]
je 0x10096eeb
cmp dword [ecx + 4], 0
jne 0x10096f5a
cmp byte [edi + 9], 0
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x1c], ecx
mov ecx, dword [edi + 4]
mov dword [esp + 0x2c], eax
mov dword [esp + 0xa0], ecx
je 0x10096f2c
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x10096f2c
mov ecx, edi
call fcn.1003e950
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xa0]
mov ecx, dword [ecx]
mov dword [ecx + 0x88], eax
mov eax, dword [esp + 0x1c]
mov dword [ecx + 0x8c], eax
call fcn.10036fe0
cmp byte [edi + 9], 0
je 0x10096f56
add dword [edi + 0xc], 0xffffffff
jne 0x10096f56
mov ecx, edi
call fcn.1003e930
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x48]
sub esi, 0x10
sub ebx, 1
jns 0x10096ed4
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0xc]
mov ebx, 1
mov dword [esp + 0xa8], 0xffffffff
mov dword [esp + 0xac], 0xffffffff
mov eax, dword [edi + 0xc]
test eax, eax
je 0x10096f9e
push eax
call dword [0x10177b98]
add esp, 4
mov edx, dword [esp + 0x24]
mov ecx, edi
call fcn.100dba70
mov edi, eax
test edi, edi
je 0x1009701c
cmp byte [edi + 9], 0
je 0x10096fc5
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x10096fc5
mov ecx, edi
call fcn.1003e950
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x1c8]
mov dword [esp + 0x2c], ecx
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
test ecx, ecx
jne 0x10096fe6
lea ebx, [ecx + 0xc]
jmp 0x10096ffb
lea edx, [esp + 0xa8]
push edx
push 0x12
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov ebx, eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x2c]
mov dword [ecx + 0x1c8], eax
cmp byte [edi + 9], 0
je 0x1009701c
add dword [edi + 0xc], 0xffffffff
jne 0x1009701c
mov ecx, edi
call fcn.1003e930
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10097031
push eax
call dword [0x10177ba0]
add esp, 4
test ebx, ebx
jne 0x10097052
push dword [esp + 0xac]
mov ecx, esi
push dword [esp + 0xac]
call fcn.10095830
add esp, 8
jmp 0x10095f95
mov ecx, dword [esp + 0xc]
cmp ebx, 0xc
je 0x10095f99
mov eax, dword [esp + 0x14]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x10095f99
test ecx, ecx
jne 0x1009707f
mov ebx, dword [esp + 0xc]
movzx eax, byte [ebx + 0x56]
jmp 0x10096da9
mov cl, byte [ecx]
mov al, cl
sub al, 0x30
cmp al, 2
ja 0x10097091
movsx ebx, cl
sub ebx, 0x30
jmp 0x10097100
mov ebx, dword [esp + 0x10]
mov esi, str.file
mov edx, ebx
nop dword [eax]
movzx eax, byte [esi]
movzx ecx, cl
cmp ecx, eax
jne 0x100970b3
test ecx, ecx
jne 0x100970c5
lea ebx, [ecx + 1]
jmp 0x10097100
movzx eax, byte [eax + 0x10161ab0]
movzx ecx, byte [ecx + 0x10161ab0]
sub ecx, eax
jne 0x100970cc
mov cl, byte [edx + 1]
inc edx
inc esi
jmp 0x100970a0
mov esi, str.memory
mov edx, ebx
sub esi, ebx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x100970e9
test ecx, ecx
jne 0x100970fb
lea ebx, [ecx + 2]
jmp 0x10097100
movzx eax, byte [eax + 0x10161ab0]
movzx ecx, byte [ecx + 0x10161ab0]
sub ecx, eax
jne 0x100970fe
inc edx
jmp 0x100970d5
xor ebx, ebx
mov edx, dword [esp + 0x14]
mov esi, dword [edx]
movzx eax, byte [esi + 0x56]
cmp eax, ebx
je 0x10095f95
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x1009713e
cmp byte [esi + 0x55], 0
je 0x10097157
cmp byte [ecx + 8], 0
jne 0x10097157
call fcn.100413c0
mov eax, dword [esi + 0x10]
mov ecx, esi
mov dword [eax + 0x14], 0
call fcn.1007a210
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x3c]
mov byte [esi + 0x56], bl
call fcn.10026a90
mov ebx, dword [esp + 0x10]
jmp 0x10095faa
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push edx
jmp 0x1009749c
cmp byte [0x10177b4c], 0
je 0x10097184
push 0xb
call dword [0x10177b90]
add esp, 4
test eax, eax
je 0x10097184
push eax
call dword [0x10177b98]
add esp, 4
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x10097203
mov eax, dword [0x1017aadc]
test eax, eax
je 0x1009730d
push eax
mov edx, 1
mov ecx, esi
call fcn.1004eb60
mov ecx, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], ecx
jg 0x100971cb
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x1009730d
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x1009730d
cmp byte [ecx], 0
je 0x10097237
mov eax, dword [esp + 0xc]
lea edx, [esp + 0xb8]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x10097387
cmp dword [esp + 0xb8], eax
je 0x10097387
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x56], 1
ja 0x10097283
mov edx, dword [esp + 0x14]
mov esi, dword [edx]
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x10097283
cmp byte [esi + 0x55], 0
je 0x10097275
cmp byte [ecx + 8], 0
jne 0x10097275
call fcn.100413c0
mov eax, dword [esi + 0x10]
mov ecx, esi
mov dword [eax + 0x14], 0
call fcn.1007a210
jmp 0x10097283
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push edx
call fcn.1002a530
add esp, 8
mov esi, dword [0x1017aadc]
test esi, esi
je 0x100972e5
cmp dword [0x10177b48], 0
je 0x100972db
mov eax, dword [0x1017ad00]
test eax, eax
je 0x100972a9
push eax
call dword [0x10177b98]
add esp, 4
push esi
call dword [0x10177b74]
sub dword [0x1017ab88], eax
add esp, 4
dec dword [0x1017abac]
push esi
call dword [0x10177b6c]
mov eax, dword [0x1017ad00]
add esp, 4
test eax, eax
je 0x100972e5
push eax
call dword [0x10177ba0]
jmp 0x100972e2
push esi
call dword [0x10177b6c]
add esp, 4
mov ecx, dword [esp + 0x10]
cmp byte [ecx], 0
je 0x10097303
push ecx
push 0x101689bc
call fcn.100294e0
add esp, 8
mov dword [0x1017aadc], eax
jmp 0x1009730d
mov dword [0x1017aadc], 0
cmp byte [0x10177b4c], 0
je 0x10095f95
push 0xb
call dword [0x10177b90]
jmp 0x10095f84
cmp byte [0x10177b4c], 0
je 0x10097349
push 0xb
call dword [0x10177b90]
add esp, 4
test eax, eax
je 0x10097349
push eax
call dword [0x10177b98]
add esp, 4
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x1009735b
mov eax, dword [0x1017aad8]
jmp 0x10097191
cmp byte [ecx], 0
je 0x100973d4
mov eax, dword [esp + 0xc]
lea edx, [esp + 0xbc]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x10097387
cmp dword [esp + 0xbc], eax
jne 0x100973d0
push str.not_a_writable_directory
push dword [esp + 0x18]
call fcn.1002a530
add esp, 8
cmp byte [0x10177b4c], 0
je 0x100973ba
push 0xb
call dword [0x10177b90]
add esp, 4
test eax, eax
je 0x100973ba
push eax
call dword [0x10177ba0]
add esp, 4
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0xc]
call fcn.10026a90
mov ebx, dword [esp + 0x10]
jmp 0x10095faa
mov ecx, dword [esp + 0x10]
mov esi, dword [0x1017aad8]
test esi, esi
je 0x1009743a
cmp dword [0x10177b48], 0
je 0x1009742c
mov eax, dword [0x1017ad00]
test eax, eax
je 0x100973fa
push eax
call dword [0x10177b98]
add esp, 4
push esi
call dword [0x10177b74]
sub dword [0x1017ab88], eax
add esp, 4
dec dword [0x1017abac]
push esi
call dword [0x10177b6c]
mov eax, dword [0x1017ad00]
add esp, 4
test eax, eax
je 0x10097436
push eax
call dword [0x10177ba0]
jmp 0x10097433
push esi
call dword [0x10177b6c]
add esp, 4
mov ecx, dword [esp + 0x10]
cmp byte [ecx], 0
je 0x10097457
push ecx
push 0x101689bc
call fcn.100294e0
add esp, 8
mov dword [0x1017aad8], eax
jmp 0x1009730d
mov dword [0x1017aad8], 0
jmp 0x1009730d
test ecx, ecx
jne 0x10097489
movzx eax, byte [edi + 8]
cdq
sub eax, 1
sbb edx, ecx
mov ecx, esi
push edx
push eax
call fcn.10095830
mov edx, dword [esp + 0x44]
add esp, 8
jmp 0x10095fac
mov ecx, dword [esp + 0xc]
cmp byte [ecx + 0x55], 0
jne 0x100974ba
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x18]
call fcn.1002a530
mov ecx, dword [esp + 0x14]
add esp, 8
mov edx, dword [esp + 0x3c]
call fcn.10026a90
mov ebx, dword [esp + 0x10]
jmp 0x10095faa
cmp dword [esp + 0x34], 1
je 0x10095f99
mov ecx, dword [esp + 0x10]
xor edx, edx
push 1
call fcn.100956b0
inc eax
add esp, 4
and eax, 7
mov ecx, 1
cmove eax, ecx
mov byte [edi + 8], al
mov byte [edi + 9], cl
mov ecx, dword [esp + 0xc]
call fcn.100958d0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x3c]
call fcn.10026a90
mov ebx, dword [esp + 0x10]
jmp 0x10095faa
test ecx, ecx
jne 0x10097558
mov edx, ebx
mov ecx, esi
call fcn.100957a0
mov edi, dword [esp + 0xc]
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
and ecx, dword [ebx + 8]
and eax, dword [ebx + 0xc]
or ecx, eax
je 0x10097530
mov eax, 1
xor ecx, ecx
jmp 0x10097541
xorps xmm0, xmm0
movlpd qword [esp + 0x68], xmm0
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
push ecx
push eax
mov ecx, esi
call fcn.10095830
mov edx, dword [esp + 0x44]
add esp, 8
mov ecx, edi
jmp 0x10095fb0
mov eax, dword [esp + 0xc]
mov edi, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
cmp byte [eax + 0x55], 0
jne 0x1009756e
and edi, 0xffffbfff
push 0
mov edx, 1
call fcn.100956b0
mov edx, dword [esp + 0x10]
add esp, 4
test al, al
je 0x100975a8
mov eax, edi
and eax, 1
or eax, 0
je 0x1009759c
mov eax, dword [edx + 0x20]
and eax, 0x10000000
or eax, 0
jne 0x100975ce
or dword [edx + 0x20], edi
or dword [edx + 0x24], ebx
mov ebx, dword [esp + 0xc]
jmp 0x100975d0
mov ecx, edi
mov eax, ebx
not ecx
not eax
and dword [edx + 0x20], ecx
and dword [edx + 0x24], eax
cmp edi, 0x80000
jne 0x10097608
test ebx, ebx
jne 0x10097608
mov dword [edx + 0x208], ebx
mov dword [edx + 0x20c], ebx
mov ebx, edx
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1009762f
push 0
push 0
push 0
mov edx, 0xa6
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
mov ecx, ebx
call fcn.100958d0
mov edx, dword [esp + 0x3c]
mov ecx, ebx
call fcn.10026a90
mov ebx, dword [esp + 0x10]
jmp 0x10095faa
and edi, 1
or edi, 0
je 0x100975ce
mov ecx, dword [esp + 0x10]
mov edx, str.reset
call fcn.1002a6d0
mov ebx, dword [esp + 0xc]
test eax, eax
jne 0x100975d0
mov ecx, ebx
call fcn.1007a210
jmp 0x100975d0
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, ebx
call fcn.100958d0
mov edx, dword [esp + 0x3c]
mov ecx, ebx
call fcn.10026a90
mov ebx, dword [esp + 0x10]
jmp 0x10095faa
test ecx, ecx
je 0x10095f95
mov edi, dword [esp + 0x24]
mov edx, edi
mov ecx, dword [esp + 0x14]
call fcn.10082830
mov ecx, dword [esp + 0x14]
mov edx, 2
push edi
push dword [esp + 0x14]
call fcn.10079df0
mov edi, eax
add esp, 8
mov dword [esp + 0x38], edi
test edi, edi
je 0x10095f95
mov ecx, dword [edi + 8]
mov dword [esp + 0x98], 0
mov dword [esp + 0x28], ecx
test ecx, ecx
je 0x100976e4
nop
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x100976e0
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x100976d0
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x14]
mov dword [eax + 0x2c], 7
cmp byte [edi + 0x2b], 1
je 0x100976fc
cmp word [edi + 0x22], 0
jg 0x10097705
mov edx, edi
mov ecx, eax
call fcn.1007e590
mov ecx, dword [edi + 4]
xor edx, edx
movzx eax, word [edi + 0x22]
xor edi, edi
mov dword [esp + 0x54], edx
mov dword [esp + 0x30], ecx
cmp di, ax
jge 0x10095f95
mov dword [esp + 0x1c], eax
movzx eax, word [ecx + 0xe]
xor edi, edi
test al, 0x62
je 0x1009775e
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
jne 0x10097743
inc dword [esp + 0x98]
jmp 0x100978cb
movzx eax, word [ecx + 0xe]
test al, 0x20
je 0x10097752
mov edi, 2
jmp 0x1009775e
movzx edi, al
and edi, 0x40
or edi, 0x20
shr edi, 5
test al, 1
jne 0x10097766
xor edx, edx
jmp 0x100977a9
cmp dword [esp + 0x28], 0
mov edx, 1
je 0x100977a9
mov eax, dword [esp + 0x1c]
cwde
mov dword [esp + 0x2c], eax
cmp eax, edx
jl 0x100977a9
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov ecx, dword [eax + 4]
nop word [eax + eax]
movsx eax, word [ecx]
cmp eax, dword [esp + 0x54]
je 0x100977a1
inc edx
add ecx, 2
cmp edx, esi
jle 0x10097790
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x30]
movzx eax, word [ecx + 0xc]
mov dword [esp + 0x1c], eax
test ax, ax
jne 0x100977ba
xor eax, eax
jmp 0x100977ff
mov eax, dword [esp + 0x38]
cmp byte [eax + 0x2b], 0
je 0x100977c8
xor eax, eax
jmp 0x100977ff
mov eax, dword [eax + 0x34]
test eax, eax
je 0x100977ff
mov ebx, dword [esp + 0x1c]
movzx ebx, bx
cmp dword [eax], ebx
mov ebx, dword [esp + 0x44]
jge 0x100977e2
xor eax, eax
jmp 0x100977ff
mov ecx, dword [esp + 0x1c]
movzx eax, cx
mov ecx, dword [esp + 0x38]
lea eax, [eax + eax*4]
mov esi, dword [ecx + 0x34]
mov ecx, dword [esp + 0x30]
mov eax, dword [esi + eax*4 - 0xc]
mov esi, dword [esp + 0x40]
cmp edi, 2
jae 0x10097811
test eax, eax
je 0x10097811
mov eax, dword [eax + 8]
mov dword [esp + 0x1c], eax
jmp 0x10097819
mov dword [esp + 0x1c], 0
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov dword [esp + 0x5c], str.issisii
jne 0x10097831
mov dword [esp + 0x5c], str.issisi
test byte [ecx + 0xe], 4
je 0x1009786f
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0xa0], eax
lea eax, [ecx + 1]
mov dword [esp + 0x2c], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10097850
mov eax, dword [esp + 0xa0]
sub ecx, dword [esp + 0x2c]
inc eax
add eax, ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x4c], eax
jmp 0x1009788f
mov eax, dword [ecx + 4]
shr eax, 4
and eax, 0xf
je 0x10097887
mov eax, dword [eax*4 + 0x10179124]
mov dword [esp + 0x4c], eax
jmp 0x1009788f
mov dword [esp + 0x4c], 0x10166843
test byte [ecx + 4], 0xf
mov eax, 0
push edi
push edx
push dword [esp + 0x24]
setne al
push eax
push dword [esp + 0x5c]
mov eax, dword [esp + 0x68]
push dword [ecx]
sub eax, dword [esp + 0xb0]
push eax
push dword [esp + 0x78]
push 1
push esi
call fcn.1004ec10
mov ecx, dword [esp + 0x58]
add esp, 0x28
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x38]
inc edx
add ecx, 0x10
mov dword [esp + 0x54], edx
mov dword [esp + 0x30], ecx
movzx eax, word [eax + 0x22]
mov edi, eax
cwde
mov dword [esp + 0x1c], edi
cmp edx, eax
jl 0x10097725
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x3c]
call fcn.10026a90
mov ebx, dword [esp + 0x10]
jmp 0x10095faa
mov eax, dword [esp + 0x14]
mov ecx, eax
mov ebx, dword [esp + 0x24]
mov edx, ebx
mov dword [eax + 0x2c], 6
call fcn.10082830
mov edx, dword [esp + 0xc]
mov dword [esp + 0x44], 0
cmp dword [edx + 0x14], 0
jle 0x10097c48
xor edi, edi
mov dword [esp + 0x30], edi
test ebx, ebx
je 0x1009795d
mov eax, dword [edx + 0x10]
mov edx, dword [edi + eax]
test edx, edx
je 0x10097c2b
mov ecx, ebx
call fcn.1002a6d0
test eax, eax
jne 0x10097c2b
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x10]
mov edx, dword [edi + eax + 0xc]
add edx, 8
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x10097ad5
mov eax, dword [edx + 8]
dec ebx
mov dword [esp + 0x5c], ebx
test eax, eax
je 0x10097ad5
mov ecx, dword [eax + 8]
cmp word [ecx + 0x22], 0
je 0x10097997
mov eax, dword [eax]
test eax, eax
jne 0x10097982
jmp 0x10097ad5
push dword [ecx]
push str.SELECTFROM__w_
push dword [esp + 0x14]
call fcn.100293f0
add esp, 0xc
mov dword [esp + 0x2c], eax
test eax, eax
je 0x10097a91
push 0
lea ecx, [esp + 0xb4]
mov dword [esp + 0xb4], 0
push ecx
mov ecx, dword [esp + 0x14]
mov edx, eax
push 0
push 0
push 0xffffffffffffffff
call fcn.1009d7f0
mov edi, dword [esp + 0xc4]
add esp, 0x14
test edi, edi
je 0x10097a80
mov ebx, dword [edi]
test ebx, ebx
jne 0x10097a20
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.100296a0
push 0x10166fc4
push 0x15deb
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.100296a0
add esp, 0x1c
jmp 0x10097a7c
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x10097a31
push eax
call dword [0x10177b98]
add esp, 4
cmp dword [edi + 0x8c], 0
jl 0x10097a4e
jg 0x10097a45
cmp dword [edi + 0x88], 0
jbe 0x10097a4e
mov edx, edi
mov ecx, ebx
call fcn.10053af0
mov ecx, edi
call fcn.10051730
mov ecx, edi
mov dword [esp + 0x1c], eax
call fcn.10051810
cmp byte [ebx + 0x57], 0
mov edx, dword [esp + 0x1c]
jne 0x10097a6e
test edx, edx
je 0x10097a75
mov ecx, ebx
call fcn.100272e0
mov ecx, ebx
call fcn.100d7a10
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0xc]
call fcn.10026a90
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x57], 0
je 0x10097ac3
push str.out_of_memory
push dword [eax + 0x10c]
call fcn.1002a530
mov eax, dword [esp + 0x14]
add esp, 8
mov eax, dword [eax + 0x10c]
mov dword [eax + 0xc], 7
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x10]
mov edx, dword [edi + eax + 0xc]
add edx, 8
test ebx, ebx
jne 0x10097972
mov edi, dword [edx + 8]
mov dword [esp + 0x54], edi
test edi, edi
je 0x10097c23
mov eax, dword [esp + 0x10]
mov ebx, dword [edi + 8]
test eax, eax
je 0x10097b08
mov edx, dword [ebx]
test edx, edx
je 0x10097c15
mov ecx, eax
call fcn.1002a6d0
test eax, eax
jne 0x10097c11
mov al, byte [ebx + 0x2b]
cmp al, 2
jne 0x10097b19
mov dword [esp + 0x4c], str.view
jmp 0x10097b3f
cmp al, 1
jne 0x10097b27
mov dword [esp + 0x4c], str.virtual
jmp 0x10097b3f
test dword [ebx + 0x1c], 0x1000
mov ecx, str.shadow
mov eax, str.table
cmove ecx, eax
mov dword [esp + 0x4c], ecx
mov eax, dword [ebx]
mov edx, 7
mov dword [esp + 0x28], eax
test eax, eax
je 0x10097bc7
mov edi, eax
mov ebx, str.sqlite_
mov al, byte [edi]
dec edx
test al, al
je 0x10097b77
movzx ecx, byte [ebx]
movzx eax, al
mov al, byte [eax + 0x10161ab0]
cmp al, byte [ecx + 0x10161ab0]
jne 0x10097b77
inc edi
inc ebx
test edx, edx
jg 0x10097b55
dec edx
test edx, edx
js 0x10097b93
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x10161ab0]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x10161ab0]
sub ecx, eax
jne 0x10097bc7
mov edi, dword [esp + 0x28]
mov edx, 0x101694f3
lea ecx, [edi + 7]
call fcn.1002a6d0
test eax, eax
jne 0x10097baf
mov edi, str.sqlite_schema
jmp 0x10097bcb
mov edx, 0x101696e7
lea ecx, [edi + 7]
call fcn.1002a6d0
test eax, eax
jne 0x10097bcb
mov edi, str.sqlite_temp_schema
jmp 0x10097bcb
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x54]
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 0x1c]
mov eax, ecx
shr eax, 0x10
and eax, 1
shr ecx, 7
push eax
movsx eax, word [edx + 0x22]
and ecx, 1
push ecx
mov ecx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x18]
push dword [esp + 0x58]
push edi
mov eax, dword [eax + 0x10]
push dword [ecx + eax]
push str.sssiii
push 1
push esi
call fcn.1004ec10
mov edi, dword [esp + 0x78]
add esp, 0x24
mov eax, dword [esp + 0x10]
mov edi, dword [edi]
mov dword [esp + 0x54], edi
test edi, edi
jne 0x10097ae8
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x44]
add edi, 0x10
mov edx, dword [esp + 0xc]
inc eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x30], edi
cmp eax, dword [edx + 0x14]
jl 0x10097938
mov ecx, edx
jmp 0x10095f99
test ecx, ecx
je 0x10095f95
push dword [esp + 0x24]
mov edx, ecx
mov ecx, dword [esp + 0x10]
call fcn.10079fb0
mov edi, eax
add esp, 4
test edi, edi
jne 0x10097cbb
push dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
lea edx, [eax + 2]
push dword [esp + 0x14]
call fcn.10079df0
add esp, 8
test eax, eax
je 0x10095f95
test byte [eax + 0x1c], 0x80
je 0x10095f95
mov edi, dword [eax + 8]
test edi, edi
je 0x10095f95
mov eax, dword [edi + 0x38]
and al, 3
cmp al, 2
je 0x10097cb3
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x10097ca3
test edi, edi
je 0x10095f95
mov edx, dword [edi + 0x18]
mov ecx, 0xffff8000
test edx, edx
je 0x10097cdf
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x10097cdf
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x10097cd7
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
je 0x10097cf2
movzx eax, word [edi + 0x34]
mov edx, 6
jmp 0x10097cfb
movzx eax, word [edi + 0x32]
mov edx, 3
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x28], eax
mov dword [ebx + 0x2c], edx
mov edx, ebx
mov eax, dword [edi + 0xc]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x80]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ebx, dword [edx + 0x5c]
test ebx, eax
jne 0x10097d3a
bts ebx, ecx
mov dword [edx + 0x5c], ebx
cmp ecx, 1
jne 0x10097d3a
mov ecx, edx
call fcn.10082790
xor ebx, ebx
cmp word [esp + 0x28], bx
je 0x10095f95
nop word [eax + eax]
mov eax, dword [edi + 4]
movzx eax, word [eax + ebx*2]
movsx edx, ax
test ax, ax
jns 0x10097d63
xor eax, eax
jmp 0x10097d71
mov eax, dword [esp + 0x2c]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
push eax
push edx
push ebx
push str.iisX
push 1
push esi
call fcn.1004ec10
mov ecx, dword [esp + 0x5c]
add esp, 0x18
mov eax, dword [ecx + 8]
or eax, dword [ecx + 0xc]
je 0x10097db9
movzx eax, word [edi + 0x32]
cmp ebx, eax
sbb eax, eax
neg eax
push eax
mov eax, dword [edi + 0x20]
push dword [eax + ebx*4]
mov eax, dword [edi + 0x1c]
movzx eax, byte [eax + ebx]
push eax
push str.isiX
push 4
push esi
call fcn.1004ec10
add esp, 0x18
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x6c]
mov edx, dword [eax + 0x2c]
cmp dword [esi + 0x70], ecx
jg 0x10097dde
push 0
push edx
push 1
mov edx, 0x54
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10097e11
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x28]
inc ebx
movzx eax, cx
cmp ebx, eax
jl 0x10097d50
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x3c]
call fcn.10026a90
mov ebx, dword [esp + 0x10]
jmp 0x10095faa
test ecx, ecx
je 0x10095f95
push dword [esp + 0x24]
mov edx, ecx
mov ecx, dword [esp + 0x10]
call fcn.10079a30
mov edi, eax
add esp, 4
test edi, edi
je 0x10095f95
mov edx, dword [edi + 0x3c]
mov ecx, 0xffff8000
test edx, edx
je 0x10097e7f
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x10097e7f
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x10097e77
mov ebx, dword [esp + 0x14]
mov dword [ebx + 0x2c], 5
mov eax, dword [ebx + 0x80]
test eax, eax
cmovne ebx, eax
mov eax, 1
shl eax, cl
mov edx, dword [ebx + 0x5c]
test edx, eax
jne 0x10097eb5
bts edx, ecx
mov dword [ebx + 0x5c], edx
cmp ecx, 1
jne 0x10097eb5
mov ecx, ebx
call fcn.10082790
mov edi, dword [edi + 8]
xor ebx, ebx
test edi, edi
je 0x10095f95
mov dword [esp + 0x68], 0x1016c64c
mov dword [esp + 0x6c], 0x1016c650
mov dword [esp + 0x70], 0x1016bfb0
nop word [eax + eax]
xor eax, eax
cmp dword [edi + 0x24], eax
setne al
push eax
mov eax, dword [edi + 0x38]
and eax, 3
push dword [esp + eax*4 + 0x6c]
xor eax, eax
cmp byte [edi + 0x36], al
setne al
push eax
push dword [edi]
push ebx
push str.isisi
push 1
push esi
call fcn.1004ec10
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x10097ee0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x3c]
call fcn.10026a90
mov ebx, dword [esp + 0x10]
jmp 0x10095faa
mov eax, dword [esp + 0x14]
xor edi, edi
mov edx, dword [esp + 0xc]
mov dword [eax + 0x2c], 3
cmp dword [edx + 0x14], edi
jle 0x10097c48
xor ebx, ebx
nop dword [eax]
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x10097f94
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
jne 0x10097f76
cmp dword [eax], 0x10179d78
je 0x10097f76
mov eax, dword [eax + 0xb8]
jmp 0x10097f7b
mov eax, 0x1015fdb4
push eax
push dword [ecx + ebx]
push edi
push 0x1016c65c
push 1
push esi
call fcn.1004ec10
mov edx, dword [esp + 0x24]
add esp, 0x18
inc edi
add ebx, 0x10
cmp edi, dword [edx + 0x14]
jl 0x10097f50
jmp 0x10095f95
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov edx, dword [esp + 0xc]
mov dword [eax + 0x2c], 2
mov edi, dword [edx + 0x1b8]
test edi, edi
je 0x10097c48
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x1016c660
push 1
push esi
call fcn.1004ec10
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x10097fc1
jmp 0x10095f95
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 0x18]
mov eax, dword [esp + 0x14]
shr ebx, 5
and ebx, 1
mov dword [eax + 0x2c], 6
mov eax, 0x1017ac08
mov dword [esp + 0x1c], eax
mov edi, dword [eax]
test edi, edi
je 0x1009802a
nop word [eax + eax]
push ebx
push 1
mov edx, edi
mov ecx, esi
call fcn.100959f0
mov edi, dword [edi + 0x24]
add esp, 8
test edi, edi
jne 0x10098010
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x1c], eax
cmp eax, 0x1017ac64
jl 0x10098004
mov edx, dword [esp + 0xc]
mov edi, dword [edx + 0x1a8]
test edi, edi
je 0x10097c48
nop word [eax + eax]
mov edx, dword [edi + 8]
mov ecx, esi
push ebx
push 0
call fcn.100959f0
mov edi, dword [edi]
add esp, 8
test edi, edi
jne 0x10098050
jmp 0x10095f95
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov dword [eax + 0x2c], 1
mov edi, dword [edx + 0x18c]
test edi, edi
je 0x10097c48
nop dword [eax + eax]
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x10169b58
push 1
push esi
call fcn.1004ec10
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x10098090
jmp 0x10095f95
mov edi, 0x10162df0
push dword [edi]
push 0x10169b58
push 1
push esi
call fcn.1004ec10
add edi, 0x10
add esp, 0x10
cmp edi, 0x10163220
jl 0x100980b6
jmp 0x10095f95
test ecx, ecx
je 0x10095f95
push dword [esp + 0x24]
mov edx, ecx
mov ecx, dword [esp + 0x10]
call fcn.10079a30
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
je 0x10095f95
cmp byte [eax + 0x2b], 0
jne 0x10095f95
mov edi, dword [eax + 0x30]
test edi, edi
je 0x10095f95
mov edx, dword [eax + 0x3c]
mov ecx, 0xffff8000
test edx, edx
je 0x10098138
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x10098138
nop
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x10098130
mov ebx, dword [esp + 0x14]
xor edx, edx
mov dword [esp + 0x28], edx
mov dword [ebx + 0x2c], 8
mov eax, dword [ebx + 0x80]
test eax, eax
cmovne ebx, eax
mov eax, 1
mov dword [esp + 0x14], ebx
shl eax, cl
mov ebx, dword [ebx + 0x5c]
test ebx, eax
jne 0x10098180
mov eax, dword [esp + 0x14]
bts ebx, ecx
mov dword [eax + 0x5c], ebx
cmp ecx, 1
jne 0x10098180
mov ecx, eax
call fcn.10082790
xor edx, edx
nop
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x10098243
lea edx, [edi + 0x24]
mov dword [esp + 0x1c], edx
movzx eax, byte [edi + 0x1a]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x1009819e
jmp dword [eax*4 + 0x1009bdd0]
mov ecx, str.SET_NULL
jmp 0x100981c6
mov ecx, str.SET_DEFAULT
jmp 0x100981c6
mov ecx, str.CASCADE
jmp 0x100981c6
mov ecx, str.RESTRICT
jmp 0x100981c6
mov ecx, str.NO_ACTION
movzx eax, byte [edi + 0x19]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x100981d2
jmp dword [eax*4 + 0x1009bde0]
mov eax, str.SET_NULL
jmp 0x100981fa
mov eax, str.SET_DEFAULT
jmp 0x100981fa
mov eax, str.CASCADE
jmp 0x100981fa
mov eax, str.RESTRICT
jmp 0x100981fa
mov eax, str.NO_ACTION
push str.NONE
push eax
mov eax, dword [esp + 0x34]
push ecx
push dword [edx + 4]
mov ecx, dword [edx]
mov eax, dword [eax + 4]
add ecx, ecx
push dword [eax + ecx*8]
push dword [edi + 8]
push ebx
push dword [esp + 0x44]
push str.iissssss
push 1
push esi
call fcn.1004ec10
mov edx, dword [esp + 0x48]
inc ebx
add edx, 8
add esp, 0x2c
mov dword [esp + 0x1c], edx
cmp ebx, dword [edi + 0x14]
jl 0x10098192
mov edx, dword [esp + 0x28]
mov edi, dword [edi + 4]
inc edx
mov dword [esp + 0x28], edx
test edi, edi
jne 0x10098180
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x3c]
call fcn.10026a90
mov ebx, dword [esp + 0x10]
jmp 0x10095faa
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov eax, dword [ebx + 0x2c]
lea ecx, [eax + 1]
add eax, 5
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x34]
mov dword [ebx + 0x2c], eax
add ecx, ecx
mov dword [esp + 0x38], eax
mov eax, dword [edx + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x10097c48
jmp 0x100982a6
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x100982c7
push dword [esp + 0x24]
xor edx, edx
mov ecx, ebx
push eax
call fcn.10079df0
mov edx, dword [esp + 0x14]
add esp, 8
xor ecx, ecx
jmp 0x100982cc
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x7c], eax
test eax, eax
je 0x100989f5
cmp byte [eax + 0x2b], 0
jne 0x100989f5
cmp dword [eax + 0x30], 0
je 0x100989f5
mov ecx, dword [eax + 0x3c]
mov edi, 0xffff8000
test ecx, ecx
je 0x10098310
mov eax, dword [edx + 0x10]
xor edi, edi
add eax, 0xc
cmp dword [eax], ecx
je 0x10098310
lea eax, [eax + 0x10]
inc edi
cmp dword [eax], ecx
jne 0x10098308
mov eax, dword [edx + 0x10]
mov ecx, edi
shl ecx, 4
mov edx, ebx
mov dword [esp + 0x2c], ecx
mov eax, dword [ecx + eax]
mov ecx, edi
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x80]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ebx, dword [edx + 0x5c]
test ebx, eax
jne 0x1009844c
bts ebx, edi
mov dword [edx + 0x5c], ebx
cmp edi, 1
jne 0x10098455
mov ecx, edx
call fcn.10082790
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x14]
movsx eax, word [ebx + 0x22]
add eax, dword [esp + 0x38]
cmp dword [ecx + 0x2c], eax
jge 0x10098372
mov dword [ecx + 0x2c], eax
push 0x70
push ebx
push edi
xor edx, edx
call fcn.1008e610
mov edx, dword [esp + 0x8c]
add esp, 0xc
mov ecx, esi
push dword [ebx]
call fcn.1004eb60
mov ecx, dword [ebx + 0x30]
add esp, 4
mov dword [esp + 0x28], ecx
mov eax, 1
mov dword [esp + 0x30], eax
test ecx, ecx
je 0x10098536
mov eax, edi
shl eax, 4
mov dword [esp + 0x2c], eax
mov edx, dword [ecx + 8]
push dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
call fcn.10079a30
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10098516
mov dword [esp + 0x60], 0
cmp edi, 1
je 0x1009840a
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ecx + eax + 4]
cmp byte [eax + 9], 0
je 0x1009840a
push dword [ebx]
mov ecx, dword [esp + 0x18]
mov edx, edi
push 0
push dword [ebx + 0x14]
call fcn.10079000
add esp, 0xc
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x60]
push 0
push eax
push dword [esp + 0x30]
mov edx, ebx
call fcn.1008b2a0
add esp, 0xc
test eax, eax
jne 0x10095f95
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x30]
test eax, eax
jne 0x1009848e
mov ecx, dword [esp + 0x14]
push 0x70
push ebx
push edi
call fcn.1008e610
add esp, 0xc
jmp 0x10098516
cmp edi, 1
je 0x1009835a
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x7c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x1009835e
push dword [ebx]
mov ecx, dword [esp + 0x18]
mov edx, edi
push 0
push dword [ebx + 0x14]
call fcn.10079000
add esp, 0xc
jmp 0x1009835e
mov ecx, dword [esi + 0x6c]
mov ebx, dword [eax + 0x2c]
cmp dword [esi + 0x70], ecx
jg 0x100984ad
push edi
push ebx
push edx
mov edx, 0x70
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100984d4
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x70
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov ecx, eax
mov edx, dword [esp + 0x60]
mov ebx, dword [eax + 8]
call fcn.10083090
mov edx, eax
test edx, edx
je 0x10098516
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
je 0x10098504
push edx
mov edx, 0xfffffff8
call fcn.1004f6a0
add esp, 4
jmp 0x10098516
mov eax, dword [ebx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
mov ecx, dword [ecx + 4]
mov dword [esp + 0x28], ecx
test ecx, ecx
jne 0x100983b4
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x28], eax
jge 0x10098542
mov dword [ecx + 0x28], eax
mov edx, dword [esi + 0x6c]
mov dword [esp + 0x5c], edx
cmp dword [esi + 0x70], edx
jg 0x10098569
push 0
push 0
push 0
mov edx, 0x24
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
mov dword [esp + 0x5c], eax
jmp 0x1009859c
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [ebx + 0x30]
mov dword [esp + 0x48], 1
mov dword [esp + 0x64], edi
test edi, edi
je 0x1009897b
push dword [esp + 0x24]
mov edx, dword [edi + 8]
mov ecx, dword [esp + 0x10]
call fcn.10079a30
add esp, 4
mov dword [esp + 0x2c], eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x30], 0
test eax, eax
je 0x100985f7
lea ecx, [esp + 0x30]
mov edx, eax
push ecx
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x1c]
push edi
call fcn.1008b2a0
add esp, 0xc
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
dec dword [edx + 0x38]
mov eax, dword [edi + 0x14]
mov ebx, dword [edx + 0x38]
add eax, ecx
cmp dword [edx + 0x2c], eax
jge 0x10098612
mov dword [edx + 0x2c], eax
cmp dword [edi + 0x14], 0
mov dword [esp + 0x28], 0
jle 0x100986cc
mov edi, ecx
mov ecx, dword [esp + 0x64]
add ecx, 0x24
xor edx, edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x30]
test eax, eax
je 0x10098643
add eax, edx
jmp 0x10098645
mov eax, ecx
mov edx, dword [esp + 0x7c]
mov ecx, esi
push edi
push dword [eax]
push 0
call fcn.1006c7c0
mov ecx, dword [esi + 0x6c]
add esp, 0xc
cmp dword [esi + 0x70], ecx
jg 0x10098675
push 0
push ebx
push edi
mov edx, 0x32
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100986a0
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x64]
inc edi
mov edx, dword [esp + 0x1c]
inc dword [esp + 0x28]
add edx, 4
add dword [esp + 0x4c], 8
mov ecx, dword [esp + 0x28]
cmp ecx, dword [eax + 0x14]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x1c], edx
jl 0x10098637
mov edi, eax
mov eax, dword [esp + 0x60]
test eax, eax
je 0x10098764
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x100986ec
mov ecx, dword [esp + 0xc]
mov edx, eax
call fcn.1008e7a0
mov ecx, eax
mov eax, dword [edi + 0x14]
mov edx, 0x60
push eax
push ecx
push 0
push eax
push dword [esp + 0x48]
mov ecx, esi
call fcn.1004ee50
mov ecx, dword [esi + 0x6c]
add esp, 0x14
mov edx, dword [edi + 0x14]
cmp dword [esi + 0x70], ecx
jg 0x10098730
push edx
push dword [esp + 0x3c]
mov edx, 0x1d
mov ecx, esi
push ebx
push dword [esp + 0x54]
call fcn.1004e9f0
add esp, 0x10
jmp 0x10098814
mov edi, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xfd1d
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0x64]
mov dword [eax + ecx*4 + 0x10], edx
jmp 0x10098814
cmp dword [esp + 0x2c], 0
je 0x10098814
mov ecx, dword [esi + 0x6c]
lea edx, [ecx + 2]
cmp dword [esi + 0x70], ecx
jg 0x10098794
push dword [esp + 0x38]
mov ecx, esi
push edx
push dword [esp + 0x50]
mov edx, 0x1e
call fcn.1004e9b0
add esp, 0xc
jmp 0x100987c7
mov edi, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x1e
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0x64]
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100987e5
push 0
push ebx
push 0
mov edx, 9
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10098814
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x7c]
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
test byte [edx + 0x1c], 0x80
jne 0x1009885b
cmp eax, ecx
jg 0x10098846
mov eax, dword [esp + 0x80]
mov edx, 0x87
push 0
inc eax
mov ecx, esi
push eax
push 0
call fcn.1004e9b0
add esp, 0xc
jmp 0x100988b8
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x87
jmp 0x10098890
cmp eax, ecx
jg 0x1009887d
mov eax, dword [esp + 0x80]
mov edx, 0x4b
push 0
inc eax
mov ecx, esi
push eax
push 0
call fcn.1004e9b0
add esp, 0xc
jmp 0x100988b8
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x4b
mov edx, dword [esp + 0x80]
mov edi, dword [esp + 0x64]
inc edx
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x48]
dec eax
push eax
push dword [edi + 8]
mov eax, dword [esp + 0x88]
push 0x1016c678
add eax, 2
push eax
push esi
call fcn.1004ec10
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jg 0x100988fe
push 0
push 4
push dword [esp + 0x88]
mov edx, 0x54
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10098934
mov edx, dword [esp + 0x80]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1009894e
push ebx
mov edx, esi
call fcn.1004f320
add esp, 4
jmp 0x10098957
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + ebx*4], eax
mov edx, dword [esp + 0x30]
test edx, edx
je 0x10098968
mov ecx, dword [esp + 0xc]
call fcn.10026a90
mov edi, dword [edi + 4]
inc dword [esp + 0x48]
mov dword [esp + 0x64], edi
test edi, edi
jne 0x100985b3
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esi + 0x6c]
lea edx, [ebx + 1]
cmp dword [esi + 0x70], ecx
jg 0x100989a0
push 0
push edx
push 0
mov edx, 0x27
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100989cf
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x100989e1
mov eax, 0x1017abd8
jmp 0x100989ea
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x14]
mov dword [eax + 8], edx
test ecx, ecx
jne 0x100982a2
jmp 0x10095f95
test ecx, ecx
je 0x10095f95
push 0
mov edx, 1
call fcn.100956b0
mov ecx, dword [esp + 0x10]
xor edx, edx
add esp, 4
test al, al
setne dl
call fcn.1008aa10
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x3c]
call fcn.10026a90
mov ebx, dword [esp + 0x10]
jmp 0x10095faa
mov ebx, dword [esp + 0x34]
xor eax, eax
mov edi, dword [esp + 0x14]
xor ecx, ecx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x3c]
movzx eax, byte [eax]
mov al, byte [eax + 0x10161ab0]
cmp al, 0x71
mov byte [esp + 0x5b], al
mov eax, dword [esp + 0x48]
sete cl
mov dword [esp + 0xa0], ecx
mov ecx, 0xffffffff
cmp dword [eax], 0
mov eax, 0x64
mov dword [edi + 0x2c], 6
cmove ebx, ecx
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x4c], eax
test ecx, ecx
je 0x10098af4
lea edx, [esp + 0x4c]
call fcn.1002ba70
test eax, eax
je 0x10098abe
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x28], eax
test eax, eax
jg 0x10098af4
mov eax, 0x64
jmp 0x10098af0
test ebx, ebx
js 0x10098ad2
mov eax, dword [esp + 0xc]
mov ecx, ebx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
jmp 0x10098ad4
xor eax, eax
push eax
push dword [esp + 0x14]
xor edx, edx
mov ecx, edi
call fcn.10079df0
mov dword [esp + 0xa0], eax
add esp, 8
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x28], eax
mov ecx, dword [esi + 0x6c]
lea edx, [eax - 1]
cmp dword [esi + 0x70], ecx
jg 0x10098b15
push 0
push 1
push edx
mov edx, 0x47
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10098b44
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0xc]
xor edx, edx
mov dword [esp + 0x7c], edx
lea ebx, [edx + 1]
cmp dword [eax + 0x14], edx
jle 0x10098f7b
mov ecx, dword [esp + 0x34]
lea eax, [esi + 0x70]
mov dword [esp + 0x20], eax
lea eax, [esi + 0x6c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc0], 0x10
nop dword [eax + eax]
xor ebx, ebx
test ecx, ecx
js 0x10098b8e
cmp edx, ecx
jne 0x10098f62
mov eax, dword [edi + 0x80]
mov edx, edi
mov ecx, dword [esp + 0x7c]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov edi, dword [edx + 0x5c]
test edi, eax
jne 0x10098bc3
bts edi, ecx
mov dword [edx + 0x5c], edi
cmp ecx, 1
jne 0x10098bc3
mov ecx, edx
call fcn.10082790
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x14]
add ecx, ecx
xor edx, edx
mov byte [eax + 0x17], bl
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov dword [esp + 0x1c], eax
mov edi, dword [eax + 0x10]
test edi, edi
je 0x10098f56
mov ecx, dword [esp + 0x98]
nop
mov eax, dword [edi + 8]
test ecx, ecx
je 0x10098bfb
cmp ecx, eax
jne 0x10098c25
test byte [eax + 0x1c], 0x80
jne 0x10098c02
inc edx
mov eax, dword [eax + 8]
xor ecx, ecx
test eax, eax
je 0x10098c19
nop dword [eax + eax]
mov eax, dword [eax + 0x14]
inc edx
inc ecx
test eax, eax
jne 0x10098c10
cmp ecx, ebx
cmovg ebx, ecx
mov ecx, dword [esp + 0x98]
mov edi, dword [edi]
test edi, edi
jne 0x10098bf0
mov dword [esp + 0x54], ebx
test edx, edx
je 0x10098f56
test ecx, ecx
lea eax, [edx + 1]
mov ecx, dword [esp + 0xc]
cmove eax, edx
push edi
lea eax, [eax*4 + 4]
push eax
call fcn.10026f30
mov edi, eax
add esp, 8
test edi, edi
je 0x10098f76
xor edx, edx
cmp dword [esp + 0x98], edx
je 0x10098c75
mov edx, 1
mov dword [edi + 4], 0
mov ebx, dword [esp + 0x1c]
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x10098cc8
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x98]
mov dword [esp + 0x54], eax
nop
mov ecx, dword [ebx + 8]
test esi, esi
je 0x10098c9b
cmp esi, ecx
jne 0x10098cbe
test byte [ecx + 0x1c], 0x80
jne 0x10098ca8
mov eax, dword [ecx + 0x14]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x10098cbe
nop
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x10098cb0
mov ebx, dword [ebx]
test ebx, ebx
jne 0x10098c90
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x54]
add eax, 8
mov dword [edi], edx
cmp dword [ecx + 0x2c], eax
jge 0x10098cdd
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x20]
mov byte [ecx + 0x13], 0
mov dword [ecx + 0x1c], 0
mov ecx, dword [esp + 0x18]
mov ebx, dword [ecx]
cmp dword [eax], ebx
jg 0x10098d0e
push 1
push edx
push 2
mov edx, 0x9b
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
mov ebx, eax
jmp 0x10098d40
lea eax, [ebx + 1]
mov dword [ecx], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x9b
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x10098d58
push edi
mov edx, 0xfffffff2
call fcn.1004f6a0
add esp, 4
jmp 0x10098d8b
test ebx, ebx
jns 0x10098d63
mov eax, dword [esp + 0x18]
mov ebx, dword [eax]
dec ebx
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x10098d84
push 0xfffffffffffffff2
push edi
mov edx, eax
mov ecx, esi
call fcn.1004f7a0
add esp, 8
jmp 0x10098d8b
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xf2
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx]
test eax, eax
jle 0x10098da7
mov ecx, dword [esp + 0x7c]
movzx edx, cl
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [esp + 0x20]
mov edi, dword [ebx]
cmp dword [eax], edi
jg 0x10098dca
push 0
push 0
push 2
mov edx, 0x32
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
mov edi, eax
jmp 0x10098dfc
lea eax, [edi + 1]
mov dword [ebx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x7c]
add ecx, ecx
mov eax, dword [edx + 0x10]
push dword [eax + ecx*8]
push str._in_database__s__n
push edx
call fcn.100293f0
mov ecx, dword [esp + 0x24]
mov ebx, eax
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov edx, dword [ecx]
cmp dword [eax], edx
jg 0x10098e43
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
mov edx, eax
jmp 0x10098e79
lea eax, [edx + 1]
mov dword [ecx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x10098e91
push ebx
mov edx, 0xfffffffa
call fcn.1004f6a0
add esp, 4
jmp 0x10098ec8
test edx, edx
jns 0x10098e9c
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x10098ebd
push 0xfffffffffffffffa
push ebx
mov edx, eax
mov ecx, esi
call fcn.1004f7a0
add esp, 8
jmp 0x10098ec8
test ebx, ebx
je 0x10098ec8
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xfa
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x10098eed
push 3
push 3
push 2
mov edx, 0x6f
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10098f1f
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.10095a90
mov eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x10098f37
mov eax, 0x1017abd8
jmp 0x10098f40
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x1c]
mov edi, dword [eax + 0x10]
mov dword [esp + 0x1c], edi
test edi, edi
jne 0x10098fe4
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x7c]
inc ebx
mov edx, ebx
mov dword [esp + 0x7c], ebx
cmp ebx, dword [eax + 0x14]
jl 0x10098b80
mov ebx, 1
push ecx
push 0x1015de2c
mov edx, 7
mov ecx, esi
call fcn.1004f590
mov edx, eax
add esp, 8
test edx, edx
je 0x10098fbe
sub ebx, dword [esp + 0x28]
mov ecx, str.unknown_error
mov eax, dword [str.database_disk_image_is_malformed]
test eax, eax
mov dword [edx + 8], ebx
mov byte [edx + 0x29], 0xff
cmovne ecx, eax
mov dword [edx + 0x38], 0x1016c7dc
mov byte [edx + 0x65], 0xff
mov dword [edx + 0x74], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 0x6c]
sub ecx, 2
cmp byte [eax + 0x57], 0
mov eax, 0x1017abd8
jne 0x10098fd4
mov eax, dword [esi + 0x68]
mov dword [eax + 0xc], ecx
jmp 0x10095f95
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x98]
mov edi, dword [edi + 8]
mov dword [esp + 0x50], edi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x80], 0xffffffff
test eax, eax
je 0x10099011
cmp eax, edi
jne 0x1009b173
mov al, byte [edi + 0x2b]
test al, al
je 0x100991a7
cmp al, 1
jne 0x1009b173
cmp word [edi + 0x22], 0
jg 0x1009904e
mov eax, dword [edi + 0x30]
mov ecx, dword [esp + 0xc]
push 0
add ecx, 0x184
mov edx, dword [eax]
call fcn.1002d270
add esp, 4
cmp dword [eax + 8], 0
je 0x1009b173
cmp byte [edi + 0x2b], 1
je 0x1009905b
cmp word [edi + 0x22], 0
jg 0x10099066
mov ecx, dword [esp + 0x14]
mov edx, edi
call fcn.1007e590
mov eax, dword [edi + 0x34]
test eax, eax
je 0x1009b173
mov eax, dword [eax + 8]
test eax, eax
je 0x1009b173
mov eax, dword [eax]
test eax, eax
je 0x1009b173
cmp dword [eax], 4
jl 0x1009b173
cmp dword [eax + 0x60], 0
je 0x1009b173
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x100990c4
push dword [esp + 0xa0]
mov edx, 0xae
mov ecx, esi
push 3
push dword [esp + 0x84]
call fcn.1004e9b0
add esp, 0xc
jmp 0x100990f9
mov edx, dword [esp + 0x7c]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xae
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xa0]
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x10099111
push edi
mov edx, 0xfffffffb
call fcn.1004f6a0
add esp, 4
jmp 0x10099122
mov eax, dword [ebx]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xfb
mov dword [eax + ecx*4 - 4], edi
mov eax, dword [esp + 0x20]
mov edi, dword [ebx]
cmp dword [eax], edi
jg 0x10099145
push 0
push 0
push 3
mov edx, 0x32
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
mov edi, eax
jmp 0x10099177
lea eax, [edi + 1]
mov dword [ebx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.10095a90
mov eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x10099195
mov eax, 0x1017abd8
mov dword [eax + 8], edx
jmp 0x1009b173
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x1009b173
cmp byte [esp + 0x5b], 0x71
je 0x100992b3
test byte [edi + 0x1c], 0x80
je 0x100992b3
mov ecx, dword [edi + 8]
mov dword [esp + 0x64], ecx
test ecx, ecx
je 0x100991db
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x100991d7
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x100991c7
mov dword [esp + 0x64], ecx
movzx ecx, word [ecx + 0x32]
cmp ecx, 1
jne 0x10099216
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + 0x13]
test al, al
jne 0x100991fe
inc dword [ecx + 0x2c]
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x88], eax
jmp 0x10099249
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0xa4]
mov dword [esp + 0x88], eax
jmp 0x10099249
mov edi, dword [esp + 0x14]
mov edx, dword [edi + 0x1c]
mov eax, dword [edi + 0x20]
mov dword [esp + 0x88], eax
cmp ecx, edx
jg 0x10099237
add eax, ecx
sub edx, ecx
mov dword [edi + 0x20], eax
mov dword [edi + 0x1c], edx
jmp 0x10099249
mov eax, dword [edi + 0x2c]
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x88], edx
mov dword [edi + 0x2c], eax
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x88]
mov edi, dword [esp + 0x20]
dec edx
mov ecx, dword [ebx]
movzx eax, word [eax + 0x32]
add edx, eax
cmp dword [edi], ecx
jg 0x10099280
push edx
push dword [esp + 0x8c]
mov edx, 0x4b
mov ecx, esi
push 1
call fcn.1004e9b0
add esp, 0xc
jmp 0x100992ca
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x88]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x100992ca
mov edi, dword [esp + 0x20]
mov dword [esp + 0x64], 0
mov dword [esp + 0x88], 0
mov ebx, dword [esp + 0x50]
lea eax, [esp + 0x30]
mov ecx, dword [esp + 0x14]
mov edx, ebx
push eax
lea eax, [esp + 0x88]
push eax
push 0
push 1
push 0
push 0x70
call fcn.100932b0
mov edx, dword [esp + 0x30]
add esp, 0x18
mov ecx, dword [edx]
cmp dword [edi], ecx
jg 0x10099316
push 0
push 7
push 0
mov edx, 0x47
mov ecx, esi
call fcn.1004e9b0
mov edx, dword [esp + 0x24]
add esp, 0xc
jmp 0x1009934c
mov ebx, dword [esp + 0x50]
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 7
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x100993ba
mov edi, 8
mov eax, dword [esp + 0x20]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x1009937c
push 0
push edi
push 0
mov edx, 0x47
mov ecx, esi
call fcn.1004e9b0
mov edx, dword [esp + 0x24]
add esp, 0xc
jmp 0x100993ae
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [ebx + 0x14]
inc edi
test ebx, ebx
jne 0x10099358
mov edi, dword [esp + 0x20]
mov ecx, dword [edx]
cmp dword [edi], ecx
jg 0x100993e0
push 0
push 0
push dword [esp + 0x8c]
mov edx, 0x24
mov ecx, esi
call fcn.1004e9b0
mov edx, dword [esp + 0x24]
add esp, 0xc
jmp 0x10099415
mov ebx, dword [esp + 0x84]
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edx]
mov dword [esp + 0x5c], ecx
cmp dword [edi], ecx
jg 0x1009943a
push 0
push 1
push 7
mov edx, 0x56
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
mov dword [esp + 0x5c], eax
jmp 0x1009946c
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esp + 0x50]
test byte [ebx + 0x1c], 0x80
jne 0x100994ac
movsx edi, word [ebx + 0x22]
or ecx, 0xffffffff
test edi, edi
jle 0x1009949a
mov edx, dword [ebx + 4]
add edx, 0xe
test byte [edx], 0x20
lea eax, [ecx + 1]
lea edx, [edx + 0x10]
cmovne eax, ecx
mov ecx, eax
sub edi, 1
jne 0x10099487
movsx eax, word [ebx + 0x20]
lea edx, [ecx - 1]
mov edi, dword [esp + 0x20]
cmp ecx, eax
cmovne edx, ecx
jmp 0x100994c8
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x100994c3
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x100994c3
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x100994b3
movzx edx, word [ecx + 0x34]
dec edx
mov ebx, dword [esp + 0x18]
test edx, edx
js 0x10099557
mov ecx, dword [ebx]
cmp dword [edi], ecx
jg 0x100994f5
push 3
push edx
push dword [esp + 0x8c]
mov edx, 0x5e
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10099526
mov edi, dword [esp + 0x84]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x10099535
mov eax, 0x1017abd8
jmp 0x10099543
mov eax, dword [ebx]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
add eax, 0xffffffec
cmp dword [eax + 0xc], 3
jne 0x10099557
cmp byte [eax], 0x5e
jne 0x10099557
mov ecx, 0x80
or word [eax + 2], cx
cmp byte [esp + 0x5b], 0x71
je 0x1009978d
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x1009978d
mov eax, dword [esp + 0x20]
mov edi, dword [ebx]
movzx edx, word [ecx + 0x32]
cmp dword [eax], edi
jg 0x100995a0
push edx
push dword [esp + 0x8c]
mov edx, 0x29
mov ecx, esi
push 0
push dword [esp + 0x90]
call fcn.1004e9f0
add esp, 0x10
mov edi, eax
jmp 0x100995d8
lea eax, [edi + 1]
mov dword [ebx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x84]
mov dword [eax + ecx*4], 0xfd29
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x88]
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x100995fe
push 0
push 0
push dword [esp + 0x90]
mov edx, 0x32
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10099633
mov edx, dword [esp + 0x88]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x50]
push dword [eax]
push str.row_not_in_PRIMARY_KEY_order_for__s
push dword [esp + 0x14]
call fcn.100293f0
mov ecx, dword [esp + 0x24]
mov ebx, eax
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov edx, dword [ecx]
cmp dword [eax], edx
jg 0x10099673
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
mov edx, eax
jmp 0x100996a9
lea eax, [edx + 1]
mov dword [ecx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x100996c1
push ebx
mov edx, 0xfffffffa
call fcn.1004f6a0
add esp, 4
jmp 0x100996f8
test edx, edx
jns 0x100996cc
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x100996ed
push 0xfffffffffffffffa
push ebx
mov edx, eax
mov ecx, esi
call fcn.1004f7a0
add esp, 8
jmp 0x100996f8
test ebx, ebx
je 0x100996f8
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xfa
mov ecx, esi
call fcn.10095a90
mov eax, dword [esi]
mov ebx, dword [esp + 0x18]
cmp byte [eax + 0x57], 0
mov edx, dword [ebx]
je 0x10099714
mov eax, 0x1017abd8
jmp 0x1009971d
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x10099731
mov eax, 0x1017abe0
jmp 0x1009973d
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
add eax, 0x1c
mov ecx, dword [esp + 0x64]
xor edi, edi
mov dword [eax], edx
xor eax, eax
cmp ax, word [ecx + 0x32]
jae 0x1009978d
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x84]
nop dword [eax + eax]
mov eax, dword [esp + 0x88]
mov edx, ecx
add eax, edi
mov ecx, esi
push eax
push edi
push ebx
call fcn.1006c550
mov ecx, dword [esp + 0x70]
inc edi
add esp, 0xc
movzx eax, word [ecx + 0x32]
cmp edi, eax
jl 0x10099760
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x50]
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x60], edx
movzx edi, word [eax + 0x1e]
and edi, 1
mov dword [esp + 0x8c], edi
cmp cx, word [eax + 0x22]
jge 0x1009a2e8
mov ebx, dword [esp + 0x50]
xor eax, eax
mov dword [esp + 0x44], eax
nop dword [eax + eax]
mov ecx, dword [ebx + 4]
add ecx, eax
movsx eax, word [ebx + 0x20]
mov dword [esp + 0x54], ecx
cmp edx, eax
je 0x1009a2c6
test edi, edi
je 0x100997ee
mov eax, dword [ecx + 4]
and eax, 0xf0
cmp dword [esp + 0xc0], eax
sbb eax, eax
neg eax
jmp 0x100997f7
xor eax, eax
cmp byte [ecx + 8], 0x41
setg al
test byte [ecx + 4], 0xf
mov dword [esp + 0x4c], eax
jne 0x10099809
test eax, eax
je 0x1009a2c6
test byte [ecx + 0xe], 0x20
mov dword [esp + 0x48], 5
je 0x1009983c
push 3
push edx
push dword [esp + 0x8c]
mov edx, ebx
mov ecx, esi
call fcn.1006c7c0
add esp, 0xc
or ecx, 0xffffffff
mov dword [esp + 0x24], ecx
lea ebx, [ecx + 4]
jmp 0x10099959
cmp word [ecx + 0xc], 0
je 0x100998f2
mov edi, dword [esp + 0xc]
mov dword [esp + 0xb4], 0
mov al, byte [ecx + 8]
mov byte [esp + 0xc4], al
mov al, byte [edi + 0x54]
mov byte [esp + 0xc8], al
movzx eax, word [ecx + 0xc]
test ax, ax
je 0x100998f2
cmp byte [ebx + 0x2b], 0
jne 0x100998f2
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je 0x100998f2
cmp dword [ecx], eax
jl 0x100998f2
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 - 0xc]
test edx, edx
je 0x100998ee
push ecx
lea eax, [esp + 0xb8]
mov ecx, edi
push eax
push dword [esp + 0xcc]
push dword [esp + 0xd4]
call fcn.1004e1b0
mov edi, dword [esp + 0xc4]
add esp, 0x10
test edi, edi
je 0x100998ee
movzx ecx, word [edi + 0x10]
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x10165818]
mov dword [esp + 0x48], eax
test ecx, 0x9000
jne 0x100998dd
cmp dword [edi + 0x18], 0
je 0x100998e4
mov ecx, edi
call fcn.1004d2a0
mov ecx, dword [edi + 0x14]
mov edx, edi
call fcn.10026a90
mov edx, dword [esp + 0x60]
test byte [ebx + 0x1c], 0x80
mov eax, dword [esp + 0x84]
mov dword [esp + 0x24], eax
je 0x1009994b
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x10099920
nop word [eax + eax]
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x10099920
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x10099910
movzx edi, word [ecx + 0x34]
xor edx, edx
test edi, edi
je 0x10099941
mov eax, dword [esp + 0x60]
movzx ebx, ax
mov eax, dword [ecx + 4]
cmp bx, word [eax]
je 0x10099946
inc edx
add eax, 2
cmp edx, edi
jl 0x10099934
or eax, 0xffffffff
jmp 0x10099952
movzx eax, dx
jmp 0x10099952
mov ecx, ebx
call fcn.1007ab60
mov ecx, dword [esp + 0x24]
movsx ebx, ax
mov edx, dword [esp + 0x14]
mov dword [esp + 0x38], ebx
mov eax, dword [edx + 0x38]
dec eax
mov dword [esp + 0x9c], eax
lea edi, [eax - 1]
mov dword [edx + 0x38], edi
mov edx, dword [esp + 0x54]
mov dword [esp + 0x90], edi
test byte [edx + 4], 0xf
je 0x10099c64
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov edx, dword [edi]
mov dword [esp + 0xa4], edx
cmp dword [eax], edx
jg 0x100999c3
push dword [esp + 0x48]
mov edx, 0x12
push ebx
push dword [esp + 0x98]
push ecx
mov ecx, esi
call fcn.1004e9f0
mov edx, eax
add esp, 0x10
mov dword [esp + 0xa4], edx
jmp 0x100999fb
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edx, dword [esp + 0x24]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x90]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], edx
mov edx, dword [esp + 0xa4]
cmp dword [esp + 0x24], 0
mov eax, dword [esp + 0x94]
mov eax, dword [eax + 0x6c]
jge 0x10099a27
test eax, eax
jle 0x10099a20
lea ecx, [eax + eax*4]
mov ebx, 0xf
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], bx
mov ebx, edx
jmp 0x10099ae8
test eax, eax
jle 0x10099a3b
lea ecx, [eax + eax*4]
mov edx, 0xd
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [esp + 0x20]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x10099a5d
push 3
push ebx
push dword [esp + 0x2c]
mov edx, 0x5e
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10099a8b
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x20]
mov ebx, dword [edi]
cmp dword [eax], ebx
jg 0x10099ab3
push 0
push dword [esp + 0x94]
mov edx, 0x33
mov ecx, esi
push 3
call fcn.1004e9b0
add esp, 0xc
mov ebx, eax
jmp 0x10099ae8
mov edx, dword [esp + 0x90]
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x33
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
push dword [edi]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x18]
call fcn.100293f0
mov ecx, dword [esp + 0x28]
mov edi, eax
mov eax, dword [esp + 0x30]
add esp, 0x10
mov edx, dword [ecx]
cmp dword [eax], edx
jg 0x10099b2e
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
mov edx, eax
jmp 0x10099b64
lea eax, [edx + 1]
mov dword [ecx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x10099b7c
push edi
mov edx, 0xfffffffa
call fcn.1004f6a0
add esp, 4
jmp 0x10099bb3
test edx, edx
jns 0x10099b87
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x10099ba8
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.1004f7a0
add esp, 8
jmp 0x10099bb3
test edi, edi
je 0x10099bb3
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x10099cab
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x9c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x10099bea
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10099c18
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x10099c29
mov eax, 0x1017abd8
jmp 0x10099c39
mov eax, dword [esp + 0xa4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x10099c4d
mov eax, 0x1017abd8
jmp 0x10099c56
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x90]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x4c]
cmp dword [esp + 0x8c], 0
je 0x10099df3
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x10099f7e
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x10099cb8
push dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
mov ecx, esi
push edx
push edi
push dword [esp + 0x30]
mov edx, 0x12
call fcn.1004e9f0
add esp, 0x10
jmp 0x10099ce6
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x90]
jmp 0x10099c68
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x38]
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0x10], edx
mov ecx, dword [ebx]
mov edi, dword [esp + 0x54]
test ecx, ecx
jle 0x10099d0b
mov eax, dword [edi + 4]
lea ecx, [ecx + ecx*4]
shr eax, 4
and eax, 0xf
movzx edx, byte [eax + 0x101662ff]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
add ecx, ecx
mov eax, dword [edx + 4]
push dword [eax + ecx*8]
mov eax, dword [edi + 4]
push dword [edx]
shr eax, 4
and eax, 0xf
push dword [eax*4 + 0x10179124]
push str.non__s_value_in__s._s
push dword [esp + 0x1c]
call fcn.100293f0
mov edx, dword [ebx]
mov edi, eax
mov eax, dword [esp + 0x34]
add esp, 0x14
cmp dword [eax], edx
jg 0x10099d63
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
mov edx, eax
jmp 0x10099d99
lea eax, [edx + 1]
mov dword [ebx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x18]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x10099db4
push edi
mov edx, 0xfffffffa
call fcn.1004f6a0
add esp, 4
jmp 0x1009a25e
test edx, edx
jns 0x10099dbb
mov edx, dword [ebx]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x10099ddf
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.1004f7a0
add esp, 8
jmp 0x1009a25e
test edi, edi
je 0x1009a25e
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
jmp 0x1009a25e
cmp byte [edx + 8], 0x42
mov edi, esi
mov eax, dword [esp + 0x94]
mov dword [esp + 0xa4], eax
jne 0x10099f95
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x10099e40
push dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
mov ecx, esi
push edx
push dword [esp + 0x98]
mov edx, 0x12
push dword [esp + 0x30]
call fcn.1004e9f0
add esp, 0x10
jmp 0x10099e75
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x90]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x38]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [ebx]
test eax, eax
jle 0x10099e8b
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
add ecx, ecx
mov eax, dword [edx + 4]
push dword [eax + ecx*8]
push dword [edx]
push str.NUMERIC_value_in__s._s
push dword [esp + 0x18]
call fcn.100293f0
mov edx, dword [ebx]
mov edi, eax
mov eax, dword [esp + 0x30]
add esp, 0x10
cmp dword [eax], edx
jg 0x10099ed3
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
mov edx, eax
jmp 0x10099f09
lea eax, [edx + 1]
mov dword [ebx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x18]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x10099f36
push edi
mov edx, 0xfffffffa
call fcn.1004f6a0
mov edi, dword [esp + 0x98]
add esp, 4
mov dword [esp + 0x40], esi
mov dword [esp + 0x94], edi
jmp 0x1009a25e
test edx, edx
jns 0x10099f3d
mov edx, dword [ebx]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x10099f73
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.1004f7a0
mov edi, dword [esp + 0x9c]
add esp, 8
mov dword [esp + 0x40], esi
mov dword [esp + 0x94], edi
jmp 0x1009a25e
test edi, edi
je 0x10099f7e
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
mov edi, dword [esp + 0x94]
mov dword [esp + 0x40], esi
mov dword [esp + 0x94], edi
jmp 0x1009a25e
cmp byte [edx + 8], 0x43
mov esi, edi
mov dword [esp + 0x40], esi
mov dword [esp + 0x94], eax
jl 0x1009a25a
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esi]
cmp dword [eax], ecx
jg 0x10099fe0
push dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
mov ecx, edi
push edx
push dword [esp + 0x98]
mov edx, 0x12
push ebx
call fcn.1004e9f0
add esp, 0x10
jmp 0x1009a011
mov edx, dword [esp + 0x90]
lea eax, [ecx + 1]
mov dword [esi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x38]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [esi]
test eax, eax
jle 0x1009a027
lea ecx, [eax + eax*4]
mov edx, 0x1b
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
test ebx, ebx
mov ebx, dword [esp + 0x60]
js 0x1009a047
mov edx, dword [esp + 0x50]
mov ecx, edi
push 3
push ebx
push dword [esp + 0x8c]
call fcn.1006c7c0
add esp, 0xc
mov eax, dword [esp + 0x20]
mov edx, dword [esi]
cmp dword [eax], edx
jg 0x1009a06a
push 0
push 1
push 3
mov edx, 0x60
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
mov edx, eax
jmp 0x1009a0a0
mov ebx, dword [esp + 0x60]
lea eax, [edx + 1]
mov dword [esi], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x60
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x1009a0ba
push 0x1016c6fc
or edx, 0xffffffff
call fcn.1004f6a0
add esp, 4
jmp 0x1009a0f1
test edx, edx
jns 0x1009a0c1
mov edx, dword [esi]
dec edx
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1009a0e6
push 0xffffffffffffffff
push 0x1016c6fc
mov edx, eax
mov ecx, edi
call fcn.1004f7a0
add esp, 8
jmp 0x1009a0f1
mov dword [eax + 0x10], 0x1016c6fc
mov byte [eax + 1], 0xff
mov eax, dword [esp + 0x20]
mov ecx, dword [esi]
cmp dword [eax], ecx
jg 0x1009a11b
push dword [esp + 0x48]
mov edx, 0x12
mov ecx, edi
push 3
push dword [esp + 0x98]
push 0xffffffffffffffff
call fcn.1004e9f0
add esp, 0x10
jmp 0x1009a150
mov edx, dword [esp + 0x90]
lea eax, [ecx + 1]
mov dword [esi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 4], 0xffffffff
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [esi]
test eax, eax
jle 0x1009a166
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x50]
add ebx, ebx
mov eax, dword [edx + 4]
push dword [eax + ebx*8]
push dword [edx]
push str.TEXT_value_in__s._s
push dword [esp + 0x18]
call fcn.100293f0
mov edx, dword [esi]
mov ebx, eax
mov eax, dword [esp + 0x30]
add esp, 0x10
cmp dword [eax], edx
jg 0x1009a1aa
push 0
push 3
push 0
mov edx, 0x75
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
mov edx, eax
jmp 0x1009a1e0
lea eax, [edx + 1]
mov dword [esi], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov esi, dword [esp + 0x18]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x1009a1ff
push ebx
mov edx, 0xfffffffa
call fcn.1004f6a0
mov ecx, dword [esp + 0xa8]
add esp, 4
jmp 0x1009a24d
test edx, edx
jns 0x1009a206
mov edx, dword [esi]
dec edx
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1009a22e
push 0xfffffffffffffffa
push ebx
mov edx, eax
mov ecx, edi
call fcn.1004f7a0
mov ecx, dword [esp + 0xac]
add esp, 8
jmp 0x1009a24d
mov ecx, dword [esp + 0xa4]
mov esi, edi
mov dword [esp + 0x40], esi
mov dword [esp + 0x94], ecx
test ebx, ebx
je 0x1009a25a
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xfa
mov esi, edi
mov dword [esp + 0x94], ecx
mov dword [esp + 0x40], esi
mov ebx, dword [esp + 0x18]
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x9c]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1009a27f
push edx
mov edx, esi
call fcn.1004f320
add esp, 4
jmp 0x1009a287
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov dword [ecx + edx*4], eax
mov ecx, esi
call fcn.10095a90
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x90]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1009a2af
push edx
mov edx, esi
call fcn.1004f320
add esp, 4
jmp 0x1009a2b7
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov dword [ecx + edx*4], eax
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x8c]
mov edx, dword [esp + 0x60]
movsx eax, word [ebx + 0x22]
inc edx
add dword [esp + 0x44], 0x10
cmp edx, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x60], edx
jl 0x100997c0
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x50]
mov edx, dword [eax + 0x10]
test edx, edx
je 0x1009a4df
mov edi, dword [esp + 0xc]
mov eax, dword [edi + 0x20]
and eax, 0x200
or eax, 0
jne 0x1009a4db
push eax
mov ecx, edi
call fcn.10068560
add esp, 4
mov edx, eax
cmp byte [edi + 0x57], 0
mov dword [esp + 0x44], edx
jne 0x1009a4d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ebx, dword [eax + 0x38]
dec ebx
mov dword [esp + 0x8c], ebx
lea eax, [ebx - 1]
mov dword [ecx + 0x38], eax
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [ecx + 0x34], eax
mov edi, dword [edx]
dec edi
test edi, edi
jle 0x1009a391
mov esi, dword [esp + 0x8c]
lea ebx, [edi*4 + 2]
add ebx, edi
lea ebx, [edx + ebx*4]
push 0
push esi
push dword [ebx]
push ecx
call fcn.1006ffd0
mov ecx, dword [esp + 0x24]
lea ebx, [ebx - 0x14]
dec edi
add esp, 0x10
test edi, edi
jg 0x1009a368
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x8c]
mov edx, dword [esp + 0x44]
push 0x10
push dword [esp + 0xa0]
push dword [edx + 8]
push ecx
call fcn.1006fa60
mov ecx, dword [esi + 0xc]
add esp, 0x10
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1009a3c0
push ebx
mov edx, esi
call fcn.1004f320
add esp, 4
jmp 0x1009a3cc
mov eax, dword [esp + 0x18]
mov ecx, dword [ecx + 0x40]
mov eax, dword [eax]
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0x14]
mov dword [eax + 0x34], 0
mov eax, dword [esp + 0x50]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0x14]
call fcn.100293f0
mov ebx, dword [esp + 0x24]
mov edi, eax
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov edx, dword [ebx]
cmp dword [eax], edx
jg 0x1009a417
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
mov edx, eax
jmp 0x1009a44d
lea eax, [edx + 1]
mov dword [ebx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x18]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x1009a465
push edi
mov edx, 0xfffffffa
call fcn.1004f6a0
add esp, 4
jmp 0x1009a498
test edx, edx
jns 0x1009a46c
mov edx, dword [ebx]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1009a48d
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.1004f7a0
add esp, 8
jmp 0x1009a498
test edi, edi
je 0x1009a498
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
mov ecx, esi
call fcn.10095a90
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x9c]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1009a4c0
push edx
mov edx, esi
call fcn.1004f320
add esp, 4
jmp 0x1009a4c8
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov dword [ecx + edx*4], eax
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x44]
test edx, edx
je 0x1009a4db
mov ecx, edi
call fcn.10069240
mov eax, dword [esp + 0x50]
cmp byte [esp + 0x5b], 0x71
je 0x1009aee4
mov edi, dword [eax + 8]
mov dword [esp + 0x38], 0
mov dword [esp + 0x24], edi
test edi, edi
je 0x1009aee4
mov ecx, dword [esp + 0x14]
dec dword [ecx + 0x38]
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x44], eax
cmp dword [esp + 0x64], edi
je 0x1009aed1
push dword [esp + 0x80]
lea eax, [esp + 0x6c]
mov edx, edi
push dword [esp + 0x30]
push eax
push 0
push 0
push dword [esp + 0x98]
call fcn.10085b00
mov edx, dword [esp + 0x50]
add esp, 0x18
mov ecx, dword [ebx]
add edx, 8
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], edi
cmp dword [eax], ecx
jg 0x1009a570
push 0
push 1
push edx
mov edx, 0x56
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x1009a5a2
mov edi, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
movzx edx, word [edi + 0x34]
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x38]
add edi, dword [esp + 0x30]
mov ebx, dword [ebx]
cmp dword [eax], ebx
jg 0x1009a5d8
push edx
push dword [esp + 0x84]
mov edx, 0x1d
mov ecx, esi
push dword [esp + 0x4c]
push edi
call fcn.1004e9f0
add esp, 0x10
mov ebx, eax
jmp 0x1009a60d
mov ecx, dword [esp + 0x18]
lea eax, [ebx + 1]
mov dword [ecx], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0xfd1d
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x44]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x80]
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], edx
push str.row
mov edx, 3
mov ecx, esi
call fcn.1004eb60
mov edi, dword [esp + 0x1c]
add esp, 4
mov eax, dword [esp + 0x20]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x1009a646
push 3
push 3
push 7
mov edx, 0x6f
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x1009a678
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push str._missing_from_index
mov edx, 4
mov ecx, esi
call fcn.1004eb60
mov eax, dword [esp + 0x24]
add esp, 4
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x1009a6ad
push 3
push 3
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x1009a6df
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x24]
mov edx, 4
mov ecx, esi
push dword [eax]
call fcn.1004eb60
mov ecx, dword [edi]
add esp, 4
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x20]
cmp dword [eax], ecx
jg 0x1009a719
push 3
push 3
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x1009a74b
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.10095a90
mov ecx, dword [esi]
mov edx, dword [edi]
mov dword [esp + 0x9c], eax
cmp byte [ecx + 0x57], 0
je 0x1009a76a
mov ecx, 0x1017abd8
jmp 0x1009a773
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x50]
mov dword [ecx + 8], edx
test byte [eax + 0x1c], 0x80
jne 0x1009a933
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
add edx, dword [esp + 0x30]
mov ecx, dword [edi]
cmp dword [ebx], ecx
jg 0x1009a7ac
push 0
push 3
push edx
mov edx, 0x8e
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x1009a7de
mov ebx, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x8e
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x80]
mov edi, dword [edi]
dec edx
movzx eax, word [eax + 0x34]
add edx, eax
cmp dword [ebx], edi
jg 0x1009a80e
push edx
push 0
push 3
mov edx, 0x35
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
mov edi, eax
jmp 0x1009a840
mov ebx, dword [esp + 0x18]
lea eax, [edi + 1]
lea ecx, [edi + edi*4]
mov dword [ebx], eax
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esp + 0x18]
mov edx, 3
push str.rowid_not_at_end_of_record_for_row
mov ecx, esi
call fcn.1004eb60
mov eax, dword [esp + 0x24]
add esp, 4
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x1009a879
push 3
push 3
push 7
mov edx, 0x6f
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x1009a8ab
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push str._of_index
mov edx, 4
mov ecx, esi
call fcn.1004eb60
mov eax, dword [esp + 0x24]
add esp, 4
mov edx, dword [esp + 0x4c]
mov ecx, dword [ebx]
dec edx
cmp dword [eax], ecx
jg 0x1009a8e4
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x1009a916
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x18]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x1009a927
mov eax, 0x1017abd8
jmp 0x1009a930
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x24]
xor ecx, ecx
xor ebx, ebx
xor edi, edi
cmp cx, word [eax + 0x32]
jae 0x1009abc8
mov edx, dword [esp + 0x30]
add edx, dword [esp + 0x38]
mov dword [esp + 0x44], edx
nop dword [eax]
nop word [eax + eax]
mov eax, dword [eax + 0x20]
cmp dword [eax + edi*4], 0x10161474
je 0x1009aa35
test ebx, ebx
jne 0x1009a97e
mov eax, dword [esp + 0x14]
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [esp + 0x20]
cmp dword [eax], ecx
jg 0x1009a9a1
push 3
push edi
push edx
mov edx, 0x5e
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x1009a9d3
mov edx, dword [esp + 0x18]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edx], eax
mov eax, dword [esi + 0x68]
mov edx, dword [esp + 0x44]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x80]
add edx, edi
mov ecx, dword [eax]
mov eax, dword [esp + 0x20]
cmp dword [eax], ecx
jg 0x1009a9ff
push edx
push ebx
push 3
mov edx, 0x34
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x1009aa31
mov esi, dword [esp + 0x18]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [esi], eax
mov esi, dword [esp + 0x40]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x34
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x24]
inc edi
movzx eax, word [eax + 0x32]
cmp edi, eax
mov eax, dword [esp + 0x24]
jl 0x1009a960
test ebx, ebx
je 0x1009abc4
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov edi, dword [edx]
cmp dword [eax], edi
jg 0x1009aa79
push 0
push 0
push 0
mov edx, 9
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
mov edi, eax
jmp 0x1009aaab
lea eax, [edi + 1]
mov dword [edx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov edx, dword [esp + 0x18]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1009aac9
push ebx
mov edx, esi
call fcn.1004f320
add esp, 4
jmp 0x1009aad1
mov ecx, dword [ecx + 0x40]
mov eax, dword [edx]
mov dword [ecx + ebx*4], eax
push str.row
mov edx, 3
mov ecx, esi
call fcn.1004eb60
mov ebx, dword [esp + 0x1c]
add esp, 4
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x1009ab0a
push 3
push 3
push 7
mov edx, 0x6f
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x1009ab3c
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push str._values_differ_from_index
mov edx, 4
mov ecx, esi
call fcn.1004eb60
mov eax, dword [esp + 0x24]
add esp, 4
mov edx, dword [esp + 0x4c]
mov ecx, dword [ebx]
dec edx
cmp dword [eax], ecx
jg 0x1009ab75
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x1009aba7
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x18]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x1009abb8
mov eax, 0x1017abd8
jmp 0x1009abc1
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x24]
cmp byte [eax + 0x36], 0
je 0x1009ae71
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x8c], 0
dec dword [ecx + 0x38]
mov edx, dword [ecx + 0x38]
xor ecx, ecx
mov dword [esp + 0x44], edx
cmp cx, word [eax + 0x32]
jae 0x1009ac9d
mov edi, dword [esp + 0x80]
xor ebx, ebx
jmp 0x1009ac06
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 4]
movsx ecx, word [ebx + eax]
test ecx, ecx
js 0x1009ac21
mov eax, dword [esp + 0x50]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
jne 0x1009ac7a
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [esp + 0x20]
cmp dword [eax], ecx
jg 0x1009ac48
push 0
push edx
push edi
mov edx, 0x32
mov ecx, esi
call fcn.1004e9b0
mov edx, dword [esp + 0x50]
add esp, 0xc
jmp 0x1009ac7a
mov esi, dword [esp + 0x18]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [esi], eax
mov esi, dword [esp + 0x40]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x24]
inc edi
mov ecx, dword [esp + 0x8c]
add ebx, 2
inc ecx
mov dword [esp + 0x8c], ecx
movzx eax, word [eax + 0x32]
cmp ecx, eax
jl 0x1009ac02
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
add edx, dword [esp + 0x30]
mov edi, dword [ebx]
cmp dword [eax], edi
jg 0x1009accb
push 0
push 0
push edx
mov edx, 0x27
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
mov edi, eax
jmp 0x1009acfd
lea eax, [edi + 1]
mov dword [ebx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x1009ad21
mov ebx, dword [esp + 0x44]
mov edx, 9
push 0
push ebx
push 0
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x1009ad53
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x44]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x1009ad68
mov eax, 0x1017abd8
jmp 0x1009ad71
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x38]
add edi, dword [esp + 0x30]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x24]
movzx edx, word [eax + 0x32]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [esp + 0x20]
cmp dword [eax], ecx
jg 0x1009adad
push edx
push dword [esp + 0x84]
mov edx, 0x29
mov ecx, esi
push ebx
push edi
call fcn.1004e9f0
add esp, 0x10
jmp 0x1009adde
mov esi, dword [esp + 0x18]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [esi], eax
mov esi, dword [esp + 0x40]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xfd29
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x80]
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], edx
push str.non_unique_entry_in_index
mov edx, 3
mov ecx, esi
call fcn.1004eb60
mov edx, dword [esp + 0x1c]
add esp, 4
mov eax, dword [esp + 0x20]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x1009ae1d
push 0
push dword [esp + 0x50]
mov edx, 9
mov ecx, esi
push 0
call fcn.1004e9b0
mov edx, dword [esp + 0x24]
add esp, 0xc
jmp 0x1009ae4f
mov edi, dword [esp + 0x4c]
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1009ae69
push ebx
mov edx, esi
call fcn.1004f320
add esp, 4
jmp 0x1009ae71
mov ecx, dword [ecx + 0x40]
mov eax, dword [edx]
mov dword [ecx + ebx*4], eax
mov eax, dword [esi]
mov ebx, dword [esp + 0x18]
cmp byte [eax + 0x57], 0
mov edx, dword [ebx]
je 0x1009ae86
mov eax, 0x1017abd8
jmp 0x1009ae96
mov eax, dword [esp + 0x9c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x68]
mov dword [eax + 8], edx
test edi, edi
je 0x1009aec9
mov eax, dword [esp + 0x14]
not edi
mov edx, dword [eax + 8]
mov ecx, dword [edx + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1009aec0
push edi
call fcn.1004f320
add esp, 4
jmp 0x1009aec9
mov ecx, dword [ecx + 0x40]
mov eax, dword [edx + 0x6c]
mov dword [ecx + edi*4], eax
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov edi, dword [edi + 0x14]
inc dword [esp + 0x38]
mov dword [esp + 0x24], edi
test edi, edi
jne 0x1009a505
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x5c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x1009af11
push 0
push ebx
push dword [esp + 0x8c]
mov edx, 0x27
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x1009af42
mov edx, dword [esp + 0x84]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x1009af53
mov eax, 0x1017abe0
jmp 0x1009af5f
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
add eax, 0xfffffff4
cmp byte [esp + 0x5b], 0x71
mov dword [eax], edx
je 0x1009b16f
push str.wrong__of_entries_in_index
mov edx, 2
mov ecx, esi
call fcn.1004eb60
mov eax, dword [esp + 0x54]
add esp, 4
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x1009b121
mov ecx, dword [esp + 0x64]
mov eax, 8
mov dword [esp + 0x4c], eax
nop dword [eax]
cmp ecx, ebx
je 0x1009b111
mov edx, dword [esp + 0x30]
mov ecx, dword [edi]
add edx, 0xfffffff8
add edx, eax
mov eax, dword [esp + 0x20]
cmp dword [eax], ecx
jg 0x1009afd1
push 0
push 3
push edx
mov edx, 0x62
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x1009b003
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x62
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x20]
mov edi, dword [edi]
mov edx, dword [esp + 0x4c]
cmp dword [eax], edi
jg 0x1009b029
push 3
push 0
push edx
mov edx, 0x35
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
mov edi, eax
jmp 0x1009b05b
mov ecx, dword [esp + 0x18]
lea eax, [edi + 1]
mov dword [ecx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
jle 0x1009b075
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
push dword [ebx]
mov edx, 4
mov ecx, esi
call fcn.1004eb60
mov edx, dword [esp + 0x1c]
add esp, 4
mov eax, dword [esp + 0x20]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x1009b0ab
push 3
push 2
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x1009b0dd
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.10095a90
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x1009b0f9
mov eax, 0x1017abd8
jmp 0x1009b102
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x4c]
mov ebx, dword [ebx + 0x14]
inc eax
mov dword [esp + 0x4c], eax
test ebx, ebx
jne 0x1009afa0
mov eax, dword [esp + 0x64]
test eax, eax
je 0x1009b16f
movzx eax, word [eax + 0x32]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
cmp eax, 1
jne 0x1009b15b
mov ecx, dword [esp + 0x88]
test ecx, ecx
je 0x1009b177
mov al, byte [edi + 0x13]
cmp al, 8
jae 0x1009b177
movzx eax, al
mov dword [edi + eax*4 + 0xa4], ecx
inc byte [edi + 0x13]
jmp 0x1009b177
cmp eax, dword [edi + 0x1c]
jle 0x1009b177
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 0x20], eax
jmp 0x1009b177
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x10098fe0
jmp 0x10098f5a
test ecx, ecx
jne 0x1009b230
mov ebx, dword [esp + 0x14]
mov ecx, ebx
call fcn.1009d110
test eax, eax
jne 0x10095f95
mov eax, dword [ebx]
movzx eax, byte [eax + 0x54]
mov eax, dword [eax*8 + 0x1015f208]
test eax, eax
je 0x10095f95
push eax
mov edx, 1
mov ecx, esi
call fcn.1004eb60
mov ecx, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], ecx
jg 0x1009b1f4
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.1004e9b0
mov edx, dword [esp + 0x48]
add esp, 0xc
jmp 0x10095fac
mov edx, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x10095fac
mov edx, dword [esp + 0xc]
test byte [edx + 0x18], 0x40
jne 0x10097c48
mov edi, dword [str.UTF8]
mov ebx, 0x1015f208
test edi, edi
je 0x1009b285
nop dword [eax]
mov edx, ecx
sub edi, ecx
movzx eax, byte [edx]
movzx esi, byte [edx + edi]
cmp eax, esi
jne 0x1009b2b9
test eax, eax
jne 0x1009b2cb
mov cl, byte [ebx + 4]
mov edx, 2
movzx eax, cl
test cl, cl
mov ecx, dword [esp + 0xc]
cmovne edx, eax
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], dl
call fcn.100835e0
cmp dword [ebx], 0
jne 0x10095f95
push dword [esp + 0x10]
push str.unsupported_encoding:__s
push dword [esp + 0x1c]
call fcn.1002a530
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov edx, dword [esp + 0x3c]
call fcn.10026a90
mov ebx, dword [esp + 0x10]
jmp 0x10095faa
movzx ecx, byte [eax + 0x10161ab0]
movzx eax, byte [esi + 0x10161ab0]
sub ecx, eax
jne 0x1009b2ce
inc edx
jmp 0x1009b254
mov edi, dword [ebx + 8]
add ebx, 8
test edi, edi
je 0x1009b28e
mov ecx, dword [esp + 0x10]
jmp 0x1009b250
mov eax, dword [esi + 0x9c]
mov edx, dword [esp + 0x34]
bts eax, edx
mov edi, dword [ebx + 8]
mov dword [esi + 0x9c], eax
cmp edx, 1
je 0x1009b31f
mov eax, dword [esi]
mov ecx, edx
shl ecx, 4
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x1009b31f
mov eax, dword [esi + 0xa0]
bts eax, edx
mov dword [esi + 0xa0], eax
cmp dword [esp + 0x10], 0
je 0x1009b3b4
test byte [ebx + 5], 8
jne 0x1009b3b4
push ecx
push 0x1015debc
mov edx, 2
mov ecx, esi
call fcn.1004f590
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x34]
mov esi, eax
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x3c]
add esp, 8
mov dword [esi + 4], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], edi
call fcn.1002ba70
mov ecx, dword [esp + 0x2c]
mov eax, 1
mov dword [esi + 0x20], ecx
mov word [esi + 0x16], ax
cmp edi, eax
jne 0x10095f95
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x10095f99
mov edx, dword [esp + 0x3c]
mov byte [esi + 0x14], 0xb9
call fcn.10026a90
mov ebx, dword [esp + 0x10]
jmp 0x10095faa
push ecx
push 0x1015f520
mov edx, 3
mov ecx, esi
call fcn.1004f590
mov ecx, dword [esp + 0x3c]
add esp, 8
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov ecx, 1
mov dword [eax + 0x20], edi
mov edx, dword [esi + 0x6c]
cmp edx, ecx
jle 0x10095f95
mov eax, dword [esi + 0x68]
add eax, 0x14
nop dword [eax]
cmp byte [eax], 0xa6
je 0x1009b402
inc ecx
add eax, 0x14
cmp ecx, edx
jl 0x1009b3f0
jmp 0x10095f95
mov eax, dword [esi + 0x68]
mov byte [eax + 0x14], 0xb9
jmp 0x10095f95
mov eax, dword [esp + 0x14]
xor edi, edi
mov dword [eax + 0x2c], 1
mov ecx, 1
cmp edi, 0x2a
ja 0x1009b492
mov eax, dword [edi*4 + 0x10164350]
inc edi
test eax, eax
je 0x1009b492
mov edx, ecx
mov ecx, esi
push eax
call fcn.1004eb60
mov ecx, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], ecx
jg 0x1009b45d
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x1009b41b
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x1009b41b
mov edx, dword [esi + 0x6c]
mov ecx, 1
cmp edx, ecx
jle 0x10095f95
mov eax, dword [esi + 0x68]
add eax, 0x14
nop dword [eax + eax]
cmp byte [eax], 0xa6
je 0x1009b402
inc ecx
add eax, 0x14
cmp ecx, edx
jl 0x1009b4b0
jmp 0x10095f95
mov eax, dword [esp + 0x48]
mov ebx, 0xc
cmp dword [eax], 0
cmovne ebx, dword [esp + 0x34]
xor edx, edx
mov dword [esp + 0x1c], ebx
test ecx, ecx
je 0x1009b58f
mov edx, str.full
mov edi, ecx
sub edi, edx
nop
movzx ecx, byte [edi + edx]
movzx eax, byte [edx]
cmp ecx, eax
jne 0x1009b507
test ecx, ecx
jne 0x1009b519
lea edx, [ecx + 1]
jmp 0x1009b58f
movzx eax, byte [eax + 0x10161ab0]
movzx ecx, byte [ecx + 0x10161ab0]
sub ecx, eax
jne 0x1009b51c
inc edx
jmp 0x1009b4f0
mov ebx, dword [esp + 0x10]
mov edx, str.restart
sub ebx, edx
movzx eax, byte [edx + ebx]
movzx edi, byte [edx]
cmp eax, edi
jne 0x1009b53b
test eax, eax
jne 0x1009b54d
lea edx, [eax + 2]
jmp 0x1009b58b
movzx ecx, byte [eax + 0x10161ab0]
movzx eax, byte [edi + 0x10161ab0]
sub ecx, eax
jne 0x1009b550
inc edx
jmp 0x1009b527
mov edx, dword [esp + 0x10]
mov ebx, str.truncate
sub ebx, edx
nop dword [eax + eax]
movzx eax, byte [edx]
movzx edi, byte [edx + ebx]
cmp eax, edi
jne 0x1009b574
test eax, eax
jne 0x1009b586
lea edx, [eax + 3]
jmp 0x1009b58b
movzx ecx, byte [eax + 0x10161ab0]
movzx eax, byte [edi + 0x10161ab0]
sub ecx, eax
jne 0x1009b589
inc edx
jmp 0x1009b560
xor edx, edx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov dword [eax + 0x2c], 3
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1009b5b7
push 1
push edx
push ebx
mov edx, 3
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x1009b5e2
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 3
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1009b5f3
push 0
push 3
jmp 0x100966ca
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 3
jmp 0x10096703
test ecx, ecx
je 0x1009b640
lea edx, [esp + 0x2c]
mov dword [esp + 0x2c], 0
call fcn.1002ba70
push dword [esp + 0x2c]
push dword [esp + 0x10]
call fcn.100d8a30
add esp, 8
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x110], 0x100d89f0
jne 0x1009b668
mov eax, dword [eax + 0x114]
mov ecx, esi
cdq
push edx
push eax
call fcn.10095830
add esp, 8
jmp 0x10095f95
xor eax, eax
mov ecx, esi
cdq
push edx
push eax
call fcn.10095830
add esp, 8
jmp 0x10095f95
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x1009b695
push eax
call dword [0x10177b98]
mov edx, dword [esp + 0x10]
add esp, 4
cmp byte [edx + 0x5f], 0
jne 0x1009b6a6
mov ecx, edx
call fcn.1003e9f0
mov edx, dword [esp + 0xc]
xor esi, esi
cmp dword [edx + 0x14], esi
jle 0x1009b6df
xor edi, edi
nop
mov eax, dword [edx + 0x10]
mov eax, dword [edi + eax + 4]
test eax, eax
je 0x1009b6d6
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0xe4]
push dword [eax + 0x34]
call dword [0x10177bdc]
mov edx, dword [esp + 0x10]
add esp, 4
inc esi
add edi, 0x10
cmp esi, dword [edx + 0x14]
jl 0x1009b6b0
cmp byte [edx + 0x5f], 0
jne 0x1009b6f0
mov ecx, edx
call fcn.1003ea40
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0xc]
jmp 0x10095f87
test ecx, ecx
je 0x1009b720
lea edx, [esp + 0x2c]
mov dword [esp + 0x2c], 0
call fcn.1002ba70
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x1c], ecx
test cl, 2
je 0x10095f95
jmp 0x1009b728
mov dword [esp + 0x1c], 0xfffe
cmp dword [esp + 0x24], 0
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x38], edx
lea eax, [edx + 1]
mov dword [ecx + 0x28], eax
mov ecx, dword [esp + 0x34]
je 0x1009b74c
mov eax, ecx
mov dword [esp + 0x5c], eax
jmp 0x1009b760
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x5c], eax
cmp ecx, eax
jg 0x1009baa7
mov ebx, 1
mov edi, ecx
rol ebx, cl
shl edi, 4
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x44], edi
cmp ecx, 1
je 0x1009ba8a
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x80]
test eax, eax
cmovne ecx, eax
mov eax, dword [ecx + 0x5c]
test ebx, eax
jne 0x1009b7a0
mov ebx, dword [esp + 0x34]
bts eax, ebx
mov dword [ecx + 0x5c], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x10]
mov eax, dword [edi + eax + 0xc]
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x30], ebx
test ebx, ebx
je 0x1009ba7b
nop word [eax + eax]
mov edi, dword [ebx + 8]
test dword [edi + 0x1c], 0x100
je 0x1009ba69
mov ax, word [edi + 0x26]
add ax, 0x2e
movzx ecx, ax
mov eax, dword [edi + 8]
mov dword [esp + 0x68], ecx
test eax, eax
je 0x1009b7f7
test byte [eax + 0x38], 0x80
je 0x1009b878
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x1009b7e6
test cx, cx
je 0x1009b878
mov ecx, dword [esp + 0x14]
push 0x70
push edi
push dword [esp + 0x3c]
call fcn.1008e610
mov ebx, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esi + 0x6c]
and ebx, 1
mov eax, dword [esp + 0x68]
add ebx, 2
add ebx, ecx
movsx edx, ax
cmp dword [esi + 0x70], ecx
jg 0x1009b845
push edx
push ebx
push dword [esp + 0x40]
mov edx, 0x21
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x1009b874
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x21
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0xc]
push dword [edi]
mov ecx, dword [esp + 0x48]
mov eax, dword [edx + 0x10]
push dword [ecx + eax]
push str.ANALYZE___w_.__w_
push edx
call fcn.100293f0
add esp, 0x10
mov edi, eax
test byte [esp + 0x1c], 1
je 0x1009b9c1
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + 0x13]
test al, al
jne 0x1009b8b6
inc dword [ecx + 0x2c]
mov ebx, dword [ecx + 0x2c]
jmp 0x1009b8c5
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov ebx, dword [ecx + eax*4 + 0xa4]
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x1009b8e5
push 0
push ebx
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
mov edx, eax
jmp 0x1009b918
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x1009b930
push edi
mov edx, 0xfffffffa
call fcn.1004f6a0
add esp, 4
jmp 0x1009b964
test edx, edx
jns 0x1009b938
mov edx, dword [esi + 0x6c]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1009b959
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.1004f7a0
add esp, 8
jmp 0x1009b964
test edi, edi
je 0x1009b964
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1009b989
push 0
push 1
push ebx
mov edx, 0x54
mov ecx, esi
call fcn.1004e9b0
mov ebx, dword [esp + 0x3c]
add esp, 0xc
jmp 0x1009ba65
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x1009ba65
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x1009b9e2
push 0
push 0
push 0
mov edx, 0x94
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
mov edx, eax
jmp 0x1009ba19
mov ebx, dword [esp + 0x30]
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x94
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x1009ba31
push edi
mov edx, 0xfffffffa
call fcn.1004f6a0
add esp, 4
jmp 0x1009ba65
test edx, edx
jns 0x1009ba39
mov edx, dword [esi + 0x6c]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1009ba5a
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.1004f7a0
add esp, 8
jmp 0x1009ba65
test edi, edi
je 0x1009ba65
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
mov edx, dword [esp + 0x38]
mov ebx, dword [ebx]
mov dword [esp + 0x30], ebx
test ebx, ebx
jne 0x1009b7c0
mov edi, dword [esp + 0x44]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x8c]
inc ecx
rol ebx, 1
add edi, 0x10
mov dword [esp + 0x34], ecx
mov dword [esp + 0x44], edi
mov dword [esp + 0x8c], ebx
cmp ecx, eax
jle 0x1009b777
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1009bac9
push 0
push 0
push 0
mov edx, 0xa6
mov ecx, esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x10095f95
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
jmp 0x10096703
test ecx, ecx
je 0x1009bb12
lea edx, [esp + 0x68]
call fcn.1002b960
test eax, eax
jne 0x1009bb12
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.10026550
add esp, 8
call fcn.100d6670
test eax, eax
je 0x1009bb31
or edi, 0xffffffff
mov ecx, esi
or ebx, edi
push ebx
push edi
call fcn.10095830
add esp, 8
jmp 0x10095f95
mov eax, dword [0x1017ad00]
test eax, eax
je 0x1009bb49
push eax
call dword [0x10177b98]
mov eax, dword [0x1017ad00]
add esp, 4
mov edi, dword [0x1017ad08]
mov ebx, dword [0x1017ad0c]
test eax, eax
je 0x1009bb63
push eax
call dword [0x10177ba0]
add esp, 4
push ebx
push edi
mov ecx, esi
call fcn.10095830
add esp, 8
jmp 0x10095f95
test ecx, ecx
je 0x1009bbf7
lea edx, [esp + 0x68]
call fcn.1002b960
test eax, eax
jne 0x1009bbf7
call fcn.100d6670
test eax, eax
je 0x1009bb99
or ebx, 0xffffffff
or edi, ebx
jmp 0x1009bbcb
mov eax, dword [0x1017ad00]
test eax, eax
je 0x1009bbb1
push eax
call dword [0x10177b98]
mov eax, dword [0x1017ad00]
add esp, 4
mov ebx, dword [0x1017ad10]
mov edi, dword [0x1017ad14]
test eax, eax
je 0x1009bbcb
push eax
call dword [0x10177ba0]
add esp, 4
mov edx, dword [esp + 0x6c]
test edx, edx
jl 0x1009bbf7
mov ecx, dword [esp + 0x68]
jg 0x1009bbdd
test ecx, ecx
je 0x1009bbf7
mov eax, ebx
or eax, edi
je 0x1009bbed
cmp edi, edx
jl 0x1009bbf7
jg 0x1009bbed
cmp ebx, ecx
jbe 0x1009bbf7
push edx
push ecx
call fcn.10026690
add esp, 8
call fcn.100d6670
test eax, eax
je 0x1009bc16
or edi, 0xffffffff
mov ecx, esi
or ebx, edi
push ebx
push edi
call fcn.10095830
add esp, 8
jmp 0x10095f95
mov eax, dword [0x1017ad00]
test eax, eax
je 0x1009bc2e
push eax
call dword [0x10177b98]
mov eax, dword [0x1017ad00]
add esp, 4
mov edi, dword [0x1017ad10]
mov ebx, dword [0x1017ad14]
jmp 0x1009bb55
test ecx, ecx
je 0x1009bc79
lea edx, [esp + 0x68]
call fcn.1002b960
test eax, eax
jne 0x1009bc79
cmp dword [esp + 0x6c], eax
jl 0x1009bc79
mov eax, dword [esp + 0x68]
jg 0x1009bc60
test eax, eax
jb 0x1009bc79
mov ecx, 8
and eax, 0x7fffffff
cmp eax, ecx
cmova eax, ecx
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0xa4], eax
mov eax, dword [esp + 0xc]
mov ecx, esi
mov eax, dword [eax + 0xa4]
cdq
push edx
push eax
call fcn.10095830
add esp, 8
jmp 0x10095f95
test ecx, ecx
je 0x1009bcc5
lea edx, [esp + 0x68]
call fcn.1002b960
test eax, eax
jne 0x1009bcc5
cmp dword [esp + 0x6c], eax
jl 0x1009bcc5
mov eax, dword [esp + 0x68]
jg 0x1009bcb6
test eax, eax
jb 0x1009bcc5
mov ecx, dword [esp + 0xc]
and eax, 0x7fffffff
mov dword [ecx + 0x1f0], eax
mov eax, dword [esp + 0xc]
mov ecx, esi
mov eax, dword [eax + 0x1f0]
cdq
push edx
push eax
call fcn.10095830
add esp, 8
jmp 0x10095f95
test ecx, ecx
je 0x1009bd06
lea edx, [esp + 0x2c]
mov dword [esp + 0x2c], 0
call fcn.1002ba70
push dword [esp + 0x2c]
push dword [esp + 0x10]
call fcn.100d8040
add esp, 8
mov eax, dword [esp + 0xc]
mov ecx, esi
mov eax, dword [eax + 0x1f4]
cdq
push edx
push eax
call fcn.10095830
add esp, 8
jmp 0x10095f95