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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x194
mov eax, dword [0x10087040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov byte [ebp - 0x69], cl
mov dword [ebp - 0x88], ecx
mov eax, dword [edi + 0x68]
mov ebx, eax
mov esi, dword [edi + 0x58]
mov dword [ebp - 0x54], eax
mov eax, dword [edi]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xa0], ecx
mov ecx, edi
mov dword [ebp - 0x18], edi
mov al, byte [eax + 0x4e]
mov byte [ebp - 0x64], al
mov dword [ebp - 0x1c], esi
call fcn.1001dfab
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp dword [eax + 0x148], edx
je 0x1002271d
mov ecx, dword [eax + 0x150]
mov eax, dword [edi + 0xb4]
div ecx
mov eax, dword [ebp - 0x14]
sub ecx, edx
xor edx, edx
jmp 0x10022720
or ecx, 0xffffffff
push 7
mov dword [ebp - 0x84], ecx
pop ecx
cmp dword [edi + 0x28], ecx
je 0x10023d5c
mov dword [edi + 0x38], edx
mov dword [edi + 0x3c], edx
mov dword [edi + 0x78], edx
mov dword [eax + 0x19c], edx
cmp dword [eax + 0x110], edx
jne 0x1002737b
imul ebx, dword [edi + 0x24], 0x14
add ebx, dword [ebp - 0x54]
mov cl, byte [ebx]
inc dword [ebp - 0xa0]
movzx edx, cl
mov dword [ebp - 0x34], ebx
mov byte [ebp - 0x2d], cl
mov dword [ebp - 0x3c], edx
cmp edx, 0xa8
ja case.0x10022770.86
jmp dword [edx*4 + 0x100273ce]
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
push 0x14
add ecx, esi
pop esi
mov word [ecx + 8], ax
mov eax, ebx
sub eax, dword [ebp - 0x54]
cdq
idiv esi
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x10026282
imul eax, dword [ebx + 4], 0x28
mov ecx, 0x80
imul ebx, dword [eax + esi], 0x14
mov word [eax + esi + 8], cx
add ebx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x14]
push 0x14
pop ecx
add ebx, ecx
jmp 0x10022754
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
dec eax
cdq
push 4
mov dword [ecx + esi], eax
pop eax
mov word [ecx + esi + 8], ax
xor eax, eax
mov dword [ecx + esi + 4], edx
cmp dword [ebx + 8], eax
jne 0x10026282
jmp 0x100227af
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebp - 0x54]
lea ebx, [edx - 0x14]
imul eax, dword [ecx + esi], 0x14
imul eax, dword [eax + edx + 8], 0x14
add ebx, eax
mov eax, 0x80
mov word [ecx + esi + 8], ax
jmp 0x100227af
imul esi, dword [ebx + 4], 0x28
sub ebx, dword [ebp - 0x54]
push 4
pop eax
push 0x14
add esi, dword [ebp - 0x1c]
mov word [esi + 8], ax
mov eax, ebx
cdq
pop ebx
idiv ebx
mov ecx, dword [esi]
imul ebx, ecx, 0x14
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
add ebx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x1c]
jmp 0x100227af
imul eax, dword [ebx + 0xc], 0x28
xor ecx, ecx
inc ecx
test byte [eax + esi + 8], cl
je 0x100227af
mov eax, ebx
sub eax, dword [ebp - 0x54]
push 0x14
pop ecx
cdq
idiv ecx
mov ecx, dword [ebx + 4]
mov esi, eax
test ecx, ecx
jne 0x10026fc5
mov edi, dword [edi + 0xc8]
test edi, edi
je 0x10026fc2
mov ecx, dword [ebp - 0x18]
mov eax, dword [edi + 4]
dec dword [ecx + 0xd0]
mov edx, dword [ecx + 0x2c]
mov dword [ecx + 0xc8], eax
mov ecx, dword [ebp - 0x14]
call fcn.100207de
mov ecx, edi
call fcn.1001e82a
mov edi, dword [ebp - 0x18]
push 4
pop ecx
cmp dword [ebx + 8], ecx
jne 0x1002289c
imul ecx, eax, 0x14
mov eax, dword [edi + 0x68]
mov eax, dword [ecx + eax + 8]
dec eax
mov ecx, dword [edi + 0x68]
mov esi, dword [edi + 0x58]
imul ebx, eax, 0x14
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x1c], esi
add ebx, ecx
jmp 0x100227af
mov edx, ebx
mov ecx, edi
call fcn.10022685
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x100227af
mov edx, ebx
mov ecx, edi
call fcn.10022685
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp 0x100227af
mov edx, ebx
mov ecx, edi
call fcn.10022685
push 8
pop ecx
mov word [eax + 8], cx
mov ecx, dword [ebx + 0x10]
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
jmp 0x100227af
mov edx, ebx
mov ecx, edi
call fcn.10022685
mov edx, dword [ebx + 0x10]
mov esi, eax
test edx, edx
jne 0x1002291e
xor eax, eax
mov ecx, eax
jmp 0x10022937
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10022923
sub ecx, edi
mov edi, dword [ebp - 0x18]
and ecx, 0x3fffffff
xor eax, eax
cmp byte [ebp - 0x64], 1
mov dword [ebx + 4], ecx
je 0x1002299c
push eax
xor eax, eax
mov ecx, esi
inc eax
push eax
push 0xffffffffffffffff
call fcn.1001ccbd
add esp, 0xc
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x100271be
movzx edx, byte [ebp - 0x64]
mov ecx, esi
call fcn.1001c342
test eax, eax
jne 0x10023d5c
mov dword [esi + 0x18], eax
mov eax, 0x800
or word [esi + 8], ax
cmp byte [ebx + 1], 0xf9
jne 0x1002298c
mov edx, dword [ebx + 0x10]
mov ecx, dword [ebp - 0x14]
call fcn.10005940
mov byte [ebx + 1], 0xf9
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x10], eax
mov ecx, dword [esi + 0xc]
mov dword [ebx + 4], ecx
mov eax, dword [ebp - 0x14]
cmp ecx, dword [eax + 0x6c]
jg 0x100271be
mov byte [ebx], 0x48
mov edx, ebx
mov ecx, edi
call fcn.10022685
mov esi, eax
mov eax, 0xa02
mov word [esi + 8], ax
mov ecx, dword [ebx + 0x10]
mov al, byte [ebp - 0x64]
mov dword [esi + 0x10], ecx
mov ecx, dword [ebx + 4]
mov dword [esi + 0xc], ecx
mov byte [esi + 0xa], al
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x10026ea9
mov edi, dword [ebp - 0x1c]
imul ecx, eax, 0x28
movzx eax, word [ebx + 2]
cdq
cmp dword [ecx + edi], eax
mov edi, dword [ebp - 0x18]
jne 0x10026ea9
mov eax, dword [ebp - 0x1c]
cmp dword [ecx + eax + 4], edx
jne 0x10026ea9
mov eax, 0xa10
mov word [esi + 8], ax
jmp 0x10022826
mov edx, ebx
mov ecx, edi
call fcn.10022685
mov edi, dword [ebx + 0xc]
xor ecx, ecx
mov edx, dword [ebx + 8]
inc ecx
cmp dword [ebx + 4], 0
mov esi, 0x101
cmovne ecx, esi
and dword [eax + 0xc], 0
movzx ecx, cx
lea esi, [eax + 8]
sub edi, edx
mov dword [ebp - 0x24], ecx
mov word [esi], cx
test edi, edi
jle 0x10026ea9
xor edx, edx
mov eax, 0x2400
lea esi, [esi + 0x28]
test word [esi], ax
je 0x10022a67
lea ecx, [esi - 8]
call fcn.1001c683
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, 0x2400
dec edi
mov word [esi], cx
mov dword [esi + 4], edx
test edi, edi
jg 0x10022a4d
mov edi, dword [ebp - 0x18]
jmp 0x10022826
imul ecx, dword [ebx + 4], 0x28
mov edx, 0xff41
mov ax, word [ecx + esi + 8]
and ax, dx
xor edx, edx
inc edx
or ax, dx
jmp 0x100227f8
mov edx, ebx
mov ecx, edi
call fcn.10022685
mov edx, dword [ebx + 0x10]
mov esi, eax
xor eax, eax
mov ecx, esi
push eax
push eax
push dword [ebx + 4]
call fcn.1001ccbd
mov al, byte [ebp - 0x64]
add esp, 0xc
mov byte [esi + 0xa], al
jmp 0x10022826
imul ecx, dword [ebx + 4], 0x28
mov esi, dword [edi + 0x64]
add ecx, 0xffffffd8
add esi, ecx
mov ecx, esi
call fcn.1001cb95
test eax, eax
jne 0x100271be
imul edx, dword [ebx + 8], 0x28
mov eax, 0x2400
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], edx
test word [edx + 8], ax
je 0x10022afa
mov ecx, edx
call fcn.1001ca85
mov edx, dword [ebp - 0x24]
push 5
pop eax
mov ecx, eax
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ax, word [edx + 8]
mov ecx, 0xebff
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [edx + 8], ax
jmp 0x10022a72
imul edi, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x38], eax
add edi, esi
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x1c]
mov edx, edi
mov ecx, esi
call fcn.1001cc9b
mov eax, 0x1000
test word [esi + 8], ax
je 0x10022b56
mov ecx, esi
call fcn.1001c4b5
test eax, eax
jne 0x10023d59
add edi, 0x28
add esi, 0x28
sub dword [ebp - 0x38], 1
jne 0x10022b33
jmp 0x10022a72
imul edi, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x38], eax
add edi, esi
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x1c]
mov eax, 0x1000
mov edx, edi
push eax
mov ecx, esi
call fcn.1001cbd9
mov eax, 0x1000
pop ecx
test word [esi + 8], ax
je 0x10022ba4
mov ecx, esi
call fcn.1001c4b5
test eax, eax
jne 0x10023d59
mov ecx, dword [ebp - 0x38]
mov eax, ecx
dec ecx
mov dword [ebp - 0x38], ecx
test eax, eax
je 0x10026ea9
add esi, 0x28
add edi, 0x28
jmp 0x10022b7a
imul edx, dword [ebx + 4], 0x28
mov eax, 0x1000
imul ecx, dword [ebx + 8], 0x28
push eax
add edx, esi
add ecx, esi
call fcn.1001cbd9
pop ecx
jmp 0x100227af
imul ecx, dword [ebx + 8], 0x28
mov edi, 0x2400
imul eax, dword [ebx + 4], 0x28
add ecx, esi
mov edx, dword [eax + esi]
test word [ecx + 8], di
mov eax, dword [eax + esi + 4]
mov edi, dword [ebp - 0x18]
je 0x10022c03
push eax
push edx
call fcn.1001cacf
pop ecx
jmp 0x10022bd4
mov dword [ecx], edx
mov dword [ecx + 4], eax
push 4
pop eax
mov word [ecx + 8], ax
jmp 0x100227af
imul ecx, dword [ebx + 4], 0x28
imul edi, dword [ebx + 8], 0x28
add ecx, esi
add edi, esi
mov dword [ebp - 0x34], ecx
imul esi, dword [ebx + 0xc], 0x28
movzx edx, word [ecx + 8]
mov al, byte [edi + 8]
or al, dl
mov dword [ebp - 0x7c], edx
add esi, dword [ebp - 0x1c]
test al, 1
je 0x10022c5d
mov eax, 0x2400
test word [esi + 8], ax
je 0x10022c51
mov ecx, esi
call fcn.1001c683
jmp 0x10022a72
xor eax, eax
inc eax
mov word [esi + 8], ax
jmp 0x10022a72
test dl, 0x12
jne 0x10022c70
mov dl, byte [ebp - 0x64]
xor eax, eax
push eax
call fcn.1001c566
pop ecx
jmp 0x10022c7e
mov eax, 0x4000
test eax, edx
je 0x10022ca0
call fcn.1001c4fb
test eax, eax
jne 0x10023d59
mov eax, dword [ebp - 0x34]
mov ecx, 0xfffd
mov ax, word [eax + 8]
and ax, cx
movzx eax, ax
mov dword [ebp - 0x7c], eax
mov eax, 0x4000
movzx edx, word [edi + 8]
mov dword [ebp - 0x2c], edx
test dl, 0x12
jne 0x10022cd6
mov dl, byte [ebp - 0x64]
xor eax, eax
push eax
mov ecx, edi
call fcn.1001c566
pop ecx
test eax, eax
jne 0x10023d59
mov ax, word [edi + 8]
mov ecx, 0xfffd
and ax, cx
movzx edx, ax
mov dword [ebp - 0x2c], edx
jmp 0x10022cfb
test eax, edx
je 0x10022cfb
mov ecx, edi
call fcn.1001c4fb
test eax, eax
jne 0x10023d59
mov ax, word [edi + 8]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x34]
mov edx, dword [edi + 0xc]
add edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], edx
cmp edx, dword [eax + 0x6c]
jg 0x100271bb
xor eax, eax
mov ecx, esi
cmp esi, edi
sete al
add edx, 3
push eax
call fcn.1001c357
pop ecx
test eax, eax
jne 0x10023d59
mov ax, word [esi + 8]
mov ecx, 0x3e40
and ax, cx
push 2
pop ecx
or ax, cx
mov word [esi + 8], ax
cmp esi, edi
je 0x10022d60
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call fcn.10065820
mov eax, dword [ebp - 0x2c]
add esp, 0xc
mov word [edi + 8], ax
mov eax, dword [ebp - 0x34]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [esi + 0x10]
add eax, dword [edi + 0xc]
push eax
call fcn.10065820
mov eax, dword [ebp - 0x34]
xor edx, edx
mov ecx, dword [ebp - 0x7c]
add esp, 0xc
mov word [eax + 8], cx
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp - 0x24]
mov byte [ecx + eax], dl
mov eax, dword [esi + 0x10]
mov byte [eax + ecx + 1], dl
mov eax, dword [esi + 0x10]
mov byte [eax + ecx + 2], dl
mov eax, 0x200
or word [esi + 8], ax
mov al, byte [ebp - 0x64]
mov dword [esi + 0xc], ecx
mov byte [esi + 0xa], al
jmp 0x10022a72
imul eax, dword [ebx + 4], 0x28
add eax, esi
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.10022656
mov esi, dword [ebp - 0x34]
movzx ebx, ax
imul eax, dword [esi + 8], 0x28
add eax, dword [ebp - 0x1c]
mov ecx, eax
mov dword [ebp - 0x28], eax
call fcn.10022656
mov edi, dword [ebp - 0x28]
movzx ecx, ax
imul eax, dword [esi + 0xc], 0x28
and cl, bl
mov esi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x34]
push 4
pop edx
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], eax
mov ax, word [edi + 8]
or ax, word [esi + 8]
movzx eax, ax
test dl, cl
je 0x10022ff7
mov eax, esi
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, edi
mov ecx, dword [eax + 4]
mov edi, dword [eax]
movzx eax, byte [ebx]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x94], ecx
sub eax, 0x67
je 0x10022f56
sub eax, 1
je 0x10022eac
sub eax, 1
je 0x10022e9d
sub eax, 1
mov eax, edx
je 0x10022e73
or eax, esi
je 0x10023072
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x10022e59
xor eax, eax
mov esi, eax
lea edx, [eax + 1]
push esi
push edx
push ecx
push edi
call fcn.10071420
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
jmp 0x10022fdf
or eax, esi
je 0x10023072
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x10022e92
xor eax, eax
cmp edi, eax
jne 0x10022e92
cmp ecx, 0x80000000
je 0x10022ec3
push esi
push edx
push ecx
push edi
call fcn.10071370
jmp 0x10022e62
push esi
push edx
lea ecx, [ebp - 0x98]
call fcn.10008ee0
jmp 0x10022eb9
push esi
push edx
lea ecx, [ebp - 0x98]
call fcn.10008e92
pop ecx
pop ecx
test eax, eax
je 0x10022fdf
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x3c]
mov ecx, esi
call fcn.1001c7b2
mov ecx, edi
movsd qword [ebp - 0x48], xmm0
call fcn.1001c7b2
movzx eax, byte [ebx]
sub eax, 0x67
je 0x1002302a
sub eax, 1
je 0x10023023
sub eax, 1
je 0x1002301c
sub eax, 1
je 0x10023003
mov ecx, esi
call fcn.1001c752
mov ecx, dword [ebp - 0x28]
mov esi, eax
mov edi, edx
call fcn.1001c752
mov ecx, esi
mov dword [ebp - 0x24], eax
or ecx, edi
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
je 0x10023072
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x10022f3f
xor eax, eax
mov edi, eax
lea esi, [eax + 1]
push edi
push esi
push edx
push dword [ebp - 0x24]
call fcn.10071420
mov ecx, eax
call fcn.10072ff0
jmp 0x1002302f
xor eax, eax
cmp esi, eax
jl 0x10022f8f
jg 0x10022f62
cmp edx, eax
jb 0x10022f8f
cmp ecx, eax
jl 0x10022fcf
jg 0x10022f6c
cmp edi, eax
jbe 0x10022fcf
or eax, 0xffffffff
sub eax, edi
mov dword [ebp - 0x24], eax
mov eax, 0x7fffffff
sbb eax, ecx
cmp eax, esi
jg 0x10022fcf
jl 0x10022ec3
cmp dword [ebp - 0x24], edx
jae 0x10022fcf
jmp 0x10022ec3
cmp ecx, eax
jg 0x10022fcf
jl 0x10022f99
cmp edi, eax
jae 0x10022fcf
xor eax, eax
mov ecx, 0x80000000
inc eax
sub eax, edi
mov dword [ebp - 0x24], eax
mov eax, edx
sbb ecx, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x5c], eax
mov eax, esi
adc eax, 0
cmp ecx, eax
jg 0x10022ec3
jl 0x10022fcc
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x5c]
ja 0x10022ec3
mov ecx, dword [ebp - 0x2c]
add edi, edx
mov dword [ebp - 0x98], edi
adc ecx, esi
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x94]
push 4
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x1002305a
xor ecx, ecx
inc ecx
test cl, al
jne 0x10023075
jmp 0x10022ec9
movsd xmm1, qword [ebp - 0x48]
ucomisd xmm1, qword [0x10084068]
lahf
test ah, 0x44
jnp 0x10023072
divsd xmm0, xmm1
jmp 0x1002302f
mulsd xmm0, qword [ebp - 0x48]
jmp 0x1002302f
subsd xmm0, qword [ebp - 0x48]
jmp 0x1002302f
addsd xmm0, qword [ebp - 0x48]
movsd qword [ebp - 0x48], xmm0
mov esi, 0x7ff00000
mov ecx, dword [ebp - 0x44]
mov eax, ecx
and eax, esi
cmp eax, esi
jne 0x10023051
mov eax, dword [ebp - 0x48]
and ecx, 0xfffff
or eax, ecx
jne 0x10023072
mov edx, dword [ebp - 0x7c]
push 8
movsd qword [edx], xmm0
mov ax, word [edx + 8]
mov ecx, 0x3e40
and ax, cx
pop ecx
or ax, cx
movzx eax, ax
jmp 0x10022b17
xor ecx, ecx
inc ecx
mov edx, dword [ebp - 0x7c]
mov eax, 0x2400
test word [edx + 8], ax
je 0x1002308a
mov ecx, edx
jmp 0x10022c47
mov word [edx + 8], cx
jmp 0x10022a72
mov eax, dword [ebx + 4]
test eax, eax
je 0x100227af
imul eax, eax, 0x28
mov ecx, 0x2400
add eax, esi
test word [eax + 8], cx
je 0x100230b9
xor ecx, ecx
push ecx
push ecx
mov ecx, eax
jmp 0x10022bfb
xor ecx, ecx
push 4
mov dword [eax], ecx
mov dword [eax + 4], ecx
pop ecx
mov word [eax + 8], cx
jmp 0x100227af
imul ecx, dword [ebx + 8], 0x28
imul esi, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0x1c]
imul edx, dword [ebx + 0xc], 0x28
add ecx, eax
add esi, eax
add edx, eax
mov al, byte [ecx + 8]
or al, byte [esi + 8]
mov dword [ebp - 0x5c], edx
test al, 1
je 0x10023111
mov eax, 0x2400
test word [edx + 8], ax
je 0x10023105
mov ecx, edx
call fcn.1001c683
jmp 0x10022826
xor eax, eax
inc eax
mov word [edx + 8], ax
jmp 0x10022826
call fcn.1001c752
mov ecx, esi
mov dword [ebp - 0x34], eax
mov edi, edx
call fcn.1001c752
mov cl, byte [ebx]
mov esi, eax
cmp cl, 0x63
jne 0x10023137
mov eax, dword [ebp - 0x34]
and eax, esi
and edi, edx
jmp 0x10023200
cmp cl, 0x64
jne 0x10023148
mov eax, dword [ebp - 0x34]
or eax, esi
or edi, edx
jmp 0x10023200
mov eax, esi
or eax, edx
je 0x100231fd
xor eax, eax
cmp edx, eax
jg 0x1002319b
jl 0x1002315e
cmp esi, eax
jae 0x10023179
mov al, 0xcb
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x10023199
jg 0x10023170
cmp esi, 0xffffffc0
jbe 0x10023199
neg esi
push 0
pop eax
adc edx, eax
neg edx
cmp edx, eax
jl 0x10023184
jg 0x1002319b
cmp esi, 0x40
jae 0x1002319b
mov eax, dword [ebp - 0x34]
cmp cl, 0x65
mov edx, edi
mov ecx, esi
jne 0x100231c2
call fcn.10071610
mov ecx, eax
jmp 0x100231f7
xor eax, eax
cmp edi, eax
jg 0x100231b2
jl 0x100231a6
cmp dword [ebp - 0x34], eax
jae 0x100231b2
cmp cl, 0x65
je 0x100231b2
or eax, 0xffffffff
or edi, eax
jmp 0x10023200
xorps xmm0, xmm0
movlpd qword [ebp - 0x48], xmm0
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
jmp 0x10023200
call fcn.10071630
mov ecx, eax
mov dword [ebp - 0x2c], edx
xor eax, eax
mov dword [ebp - 0x24], ecx
cmp edi, eax
jg 0x100231f7
jl 0x100231dc
cmp dword [ebp - 0x34], eax
jae 0x100231f7
push 0x40
pop ecx
sub ecx, esi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.10071610
mov ecx, dword [ebp - 0x24]
or ecx, eax
or dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
mov eax, ecx
mov edi, edx
jmp 0x10023200
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x5c]
mov edx, 0x3e40
push 4
mov dword [ecx], eax
mov ax, word [ecx + 8]
and ax, dx
mov dword [ecx + 4], edi
pop edx
or ax, dx
mov word [ecx + 8], ax
jmp 0x10022a72
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.1001c869
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp 0x10022826
imul esi, dword [ebx + 4], 0x28
push 4
pop edx
add esi, dword [ebp - 0x1c]
movzx eax, word [esi + 8]
mov ecx, eax
test dl, al
jne 0x10023282
push dword [ebp - 0x64]
mov dl, 0x43
mov ecx, esi
call fcn.1002254e
movzx eax, word [esi + 8]
pop ecx
push 4
pop edx
mov ecx, eax
test dl, al
jne 0x10023282
xor eax, eax
cmp dword [ebx + 8], eax
jne 0x10026282
mov ecx, dword [ebp - 0x14]
push 0x14
pop esi
mov eax, esi
jmp 0x100232f0
mov eax, 0x3e40
and ecx, eax
push 4
pop eax
or ecx, eax
mov word [esi + 8], cx
jmp 0x10022826
imul ecx, dword [ebx + 4], 0x28
add ecx, esi
test byte [ecx + 8], 0x24
je case.0x10022770.86
call fcn.1001c88e
jmp 0x100227af
imul esi, dword [ebx + 4], 0x28
mov eax, 0x4000
add esi, dword [ebp - 0x1c]
test word [esi + 8], ax
je 0x100232cc
mov ecx, esi
call fcn.1001c4fb
jmp 0x100232ce
xor eax, eax
push dword [ebp - 0x64]
mov dl, byte [ebx + 8]
mov ecx, esi
mov dword [ebp - 0x20], eax
call fcn.1001c9ce
pop ecx
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x10022826
mov ecx, dword [ebp - 0x14]
push 0x14
pop esi
cmp byte [ecx + 0x51], 0
push 7
pop ecx
cmovne eax, ecx
xor ecx, ecx
mov dword [ebp - 0x20], eax
cmp dword [edi + 0x7c], ecx
jne 0x10023324
cmp eax, 0xc0a
je 0x10023324
mov ecx, eax
call fcn.100607e1
push eax
push 0x1007a1e8
push edi
call fcn.1001d40a
mov eax, dword [ebp - 0x20]
add esp, 0xc
mov dword [edi + 0x28], eax
cmp eax, 0xc0a
je 0x1002334b
movzx eax, al
cmp eax, 0xe
je 0x1002333b
cmp eax, 0xa
jne 0x1002334b
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call fcn.10005011
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x48], eax
mov eax, ebx
sub eax, dword [ebp - 0x54]
cdq
idiv esi
push dword [edi + 0x7c]
push dword [edi + 0xc0]
push eax
push str.statement_aborts_at__d:___s___s
push dword [ebp - 0x20]
call fcn.10007565
add esp, 0x14
mov ecx, edi
call fcn.1001f058
cmp dword [ebp - 0x20], 0xc0a
jne 0x10023385
mov ecx, dword [ebp - 0x14]
call fcn.10005dc4
xor eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov al, byte [ebp - 0x69]
test al, al
je 0x1002339e
mov ecx, dword [ebp - 0x14]
movzx edx, al
dec edx
call fcn.10035534
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x84]
cmp esi, ecx
jb 0x100273a5
mov eax, dword [edx + 0x148]
test eax, eax
je 0x100273a5
add ecx, dword [edx + 0x150]
push dword [edx + 0x14c]
mov dword [ebp - 0x84], ecx
call eax
mov edx, dword [ebp - 0x14]
pop ecx
test eax, eax
je 0x100233a7
or ecx, 0xffffffff
push 9
mov dword [ebp - 0x84], ecx
mov ecx, edx
pop eax
jmp 0x100232ed
imul edi, dword [ebx + 4], 0x28
add edi, esi
imul esi, dword [ebx + 0xc], 0x28
mov dword [ebp - 0x24], edi
movzx eax, word [edi + 8]
add esi, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
movzx edx, word [esi + 8]
mov ecx, edx
mov dword [ebp - 0x34], edx
or ecx, eax
xor eax, eax
inc eax
test al, cl
je 0x100234ae
movzx eax, word [ebx + 2]
mov ecx, 0x80
test cl, al
je 0x1002346a
xor ecx, ecx
mov al, dl
and al, byte [ebp - 0x28]
inc ecx
test cl, al
je 0x1002345a
test edx, 0x100
jne 0x1002345a
xor eax, eax
mov edx, eax
movzx eax, byte [ebx]
test edx, edx
jne 0x100235b7
mov al, byte [eax + 0x1007fc6c]
jmp 0x100235bd
not edx
and edx, ecx
lea edx, [edx*2 - 1]
jmp 0x100235a4
test al, 0x20
je 0x1002349b
imul ecx, dword [ebx + 8], 0x28
xor edx, edx
mov esi, dword [ebp - 0x1c]
mov edi, 0x3e40
inc edx
mov dword [ebp - 0x88], edx
mov ax, word [ecx + esi + 8]
and ax, di
or ax, dx
mov word [ecx + esi + 8], ax
mov edi, dword [ebp - 0x18]
jmp 0x100227af
push 0x10
pop ecx
test cl, al
mov edi, dword [ebp - 0x18]
jne 0x10026282
jmp 0x10022826
mov al, byte [ebx + 2]
and al, 0x47
cmp al, 0x43
jb 0x1002352f
push 2
pop edx
test dl, cl
je 0x100234ec
mov al, byte [ebp - 0x28]
and al, 0x2e
cmp al, dl
jne 0x100234da
xor edx, edx
mov ecx, edi
call fcn.1002249f
movzx eax, word [esi + 8]
push 2
mov dword [ebp - 0x34], eax
pop edx
mov al, byte [ebp - 0x34]
and al, 0x2e
cmp al, dl
jne 0x100234ec
xor edx, edx
mov ecx, esi
call fcn.1002249f
mov al, byte [esi + 8]
and al, byte [edi + 8]
push 4
pop ecx
test cl, al
je 0x10023595
mov eax, dword [esi + 4]
mov ecx, dword [esi]
cmp eax, dword [edi + 4]
jl 0x1002352a
jg 0x1002350d
cmp ecx, dword [edi]
jbe 0x10023517
xor eax, eax
lea edx, [eax + 1]
jmp 0x10023444
cmp eax, dword [edi + 4]
jg 0x10023440
jl 0x1002352a
cmp ecx, dword [edi]
jae 0x10023440
or edx, 0xffffffff
jmp 0x100235ac
cmp al, 0x42
jne 0x10023595
mov al, byte [ebp - 0x28]
push 2
pop ecx
test cl, al
jne 0x10023567
test al, 0x2c
je 0x10023567
mov dl, byte [ebp - 0x64]
xor eax, eax
inc eax
mov ecx, edi
push eax
call fcn.1001c566
mov ax, word [edi + 8]
xor ax, word [ebp - 0x28]
pop ecx
mov ecx, 0x3e40
and ax, cx
xor word [ebp - 0x28], ax
push 2
pop ecx
mov al, byte [ebp - 0x34]
test cl, al
jne 0x10023595
test al, 0x2c
je 0x10023595
mov dl, byte [ebp - 0x64]
xor eax, eax
inc eax
mov ecx, esi
push eax
call fcn.1001c566
mov ax, word [esi + 8]
xor ax, word [ebp - 0x34]
pop ecx
mov ecx, 0x3e40
and ax, cx
xor word [ebp - 0x34], ax
push dword [ebx + 0x10]
mov edx, edi
mov ecx, esi
call fcn.1001fc77
pop ecx
mov edx, eax
test edx, edx
jns 0x10023444
movzx ecx, byte [ebx]
mov al, byte [ecx + str.SQLite_format_3]
jmp 0x100235bd
mov al, byte [eax + 0x1007ef0c]
mov ecx, dword [ebp - 0x24]
movzx edi, al
mov ax, word [ebp - 0x28]
mov word [ecx + 8], ax
mov ax, word [ebp - 0x34]
mov word [esi + 8], ax
movzx eax, word [ebx + 2]
test al, 0x20
je 0x1002361f
imul esi, dword [ebx + 8], 0x28
mov dword [ebp - 0x88], edx
add esi, dword [ebp - 0x1c]
test al, 8
je 0x100235fc
xor eax, eax
cmp byte [ebx], 0x35
sete al
cmp eax, edi
je 0x10026ea9
mov cx, word [esi + 8]
mov eax, 0x3e40
and cx, ax
push 4
pop eax
or cx, ax
mov eax, edi
mov word [esi + 8], cx
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x10022a72
test edi, edi
jmp 0x100234a0
cmp dword [ebp - 0x88], 0
jne 0x10026282
jmp case.0x10022770.86
xor eax, eax
inc eax
test byte [ebx + 2], al
jne 0x10023646
xor eax, eax
mov edi, eax
jmp 0x1002364e
mov edi, dword [ebx - 4]
push 4
pop eax
add edi, eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x5c], edx
mov edx, dword [ebx + 8]
mov dword [ebp - 0x24], edx
xor edx, edx
mov dword [ebp - 0x74], ecx
mov esi, edx
mov dword [ebp - 0x38], eax
test ecx, ecx
jle 0x10022a72
lea edx, [eax + 0x14]
mov dword [ebp - 0x2c], edx
test edi, edi
je 0x10023681
mov ecx, dword [edi + esi*4]
jmp 0x10023683
mov ecx, esi
mov eax, dword [eax + 0x10]
xor edx, edx
inc edx
movzx eax, byte [esi + eax]
and eax, edx
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
add eax, ecx
push dword [edx]
imul eax, eax, 0x28
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x7c]
add eax, ecx
imul eax, eax, 0x28
add eax, dword [ebp - 0x1c]
mov ecx, eax
mov dword [ebp - 0x34], eax
call fcn.1001fc77
mov edx, eax
mov dword [ebp - 0x88], edx
pop ecx
test edx, edx
jne 0x100236de
push 4
pop eax
add dword [ebp - 0x2c], eax
inc esi
mov eax, dword [ebp - 0x38]
cmp esi, dword [ebp - 0x74]
jl 0x10023678
jmp 0x10022a72
mov eax, dword [ebp - 0x38]
push 2
pop ecx
mov eax, dword [eax + 0x10]
test byte [esi + eax], cl
je 0x10023707
mov eax, dword [ebp - 0x34]
xor ecx, ecx
inc ecx
test byte [eax + 8], cl
jne 0x100236ff
mov eax, dword [ebp - 0x7c]
test byte [eax + 8], cl
je 0x10023707
neg edx
mov dword [ebp - 0x88], edx
cmp dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
je 0x1002371b
neg edx
mov dword [ebp - 0x88], edx
mov edi, dword [ebp - 0x18]
jmp case.0x10022770.86
mov edx, dword [ebp - 0x88]
test edx, edx
jns 0x10023733
imul ebx, dword [ebx + 4], 0x14
jmp 0x1002373f
jne 0x1002373b
imul ebx, dword [ebx + 8], 0x14
jmp 0x1002373f
imul ebx, dword [ebx + 0xc], 0x14
add ebx, dword [ebp - 0x54]
add ebx, 0xffffffec
jmp case.0x10022770.86
imul ecx, dword [ebx + 4], 0x28
push 2
pop eax
mov edx, eax
add ecx, esi
call fcn.1001c7d9
imul ecx, dword [ebx + 8], 0x28
mov esi, eax
mov edi, dword [ebp - 0x1c]
push 2
pop eax
mov edx, eax
add ecx, edi
call fcn.1001c7d9
imul edx, esi, 3
cmp byte [ebx], 0x2c
jne 0x10023780
mov dl, byte [edx + eax + 0x1007efcc]
jmp 0x10023787
mov dl, byte [edx + eax + 0x1007ef60]
imul esi, dword [ebx + 0xc], 0x28
mov ecx, 0x3e40
push 2
add esi, edi
mov ax, word [esi + 8]
and ax, cx
movzx ecx, ax
pop eax
cmp dl, al
jne 0x100237a8
xor eax, eax
inc eax
jmp 0x100237b4
movzx eax, dl
cdq
push 4
mov dword [esi], eax
mov dword [esi + 4], edx
pop eax
or ecx, eax
movzx eax, cx
jmp 0x10022c54
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0xc]
add ecx, esi
call fcn.1001c7d9
imul ecx, dword [ebx + 8], 0x28
mov edi, 0x2400
xor eax, dword [ebx + 0x10]
cdq
add ecx, esi
test word [ecx + 8], di
mov edi, dword [ebp - 0x18]
je 0x100237eb
push edx
push eax
jmp 0x10022bfb
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x10022c08
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
inc edx
add ecx, esi
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x1c]
test byte [ecx + 8], dl
jne 0x10023842
xor edx, edx
call fcn.1001c7d9
neg eax
mov ecx, 0x2400
sbb eax, eax
inc eax
test word [esi + 8], cx
je 0x10023833
xor ecx, ecx
push ecx
push eax
mov ecx, esi
call fcn.1001cacf
pop ecx
pop ecx
jmp 0x10022826
mov dword [esi], eax
xor eax, eax
push 4
mov dword [esi + 4], eax
pop eax
jmp 0x10022a05
mov ecx, 0x2400
test word [esi + 8], cx
je 0x10023854
mov ecx, esi
jmp 0x100230fb
mov word [esi + 8], dx
mov esi, dword [ebp - 0x1c]
jmp case.0x10022770.86
imul edi, dword [ebx + 4], 0x28
mov ecx, 0x2400
add edi, esi
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x1c]
test word [esi + 8], cx
je 0x10023887
mov ecx, esi
call fcn.1001c683
mov eax, dword [ebp - 0x14]
xor edx, edx
inc edx
jmp 0x1002388e
xor edx, edx
inc edx
mov word [esi + 8], dx
test byte [edi + 8], dl
jne 0x10026eac
push 4
pop eax
mov ecx, edi
mov word [esi + 8], ax
call fcn.1001c752
not eax
not edx
jmp 0x10023615
mov edi, dword [edi + 0xc8]
test edi, edi
je 0x100238f2
mov edx, dword [ebp - 0x18]
mov eax, ebx
push 0x14
pop ecx
mov edi, dword [edi + 0x18]
sub eax, dword [edx + 0x68]
cdq
idiv ecx
xor edx, edx
mov ecx, eax
inc edx
mov esi, ecx
and ecx, 7
shr esi, 3
shl edx, cl
movzx eax, byte [esi + edi]
test eax, edx
jne 0x1002627f
bts eax, ecx
mov byte [esi + edi], al
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
jmp 0x10023904
mov edi, dword [ebp - 0x18]
mov eax, dword [edi + 0x68]
mov eax, dword [eax + 4]
cmp eax, dword [ebx + 4]
je 0x10026282
mov eax, dword [edi + 0x68]
mov eax, dword [eax + 4]
mov dword [ebx + 4], eax
jmp 0x100227af
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0xc]
add ecx, esi
call fcn.1001c7d9
test eax, eax
jmp 0x100227d6
xor edx, edx
xor eax, eax
cmp dword [ebx + 0xc], eax
sete dl
imul ecx, dword [ebx + 4], 0x28
add ecx, esi
call fcn.1001c7d9
test eax, eax
je 0x10026282
jmp 0x100227af
imul eax, dword [ebx + 4], 0x28
xor ecx, ecx
inc ecx
test byte [eax + esi + 8], cl
jmp 0x100227d6
imul eax, dword [ebx + 4], 0x28
xor ecx, ecx
inc ecx
test byte [eax + esi + 8], cl
jmp 0x1002393e
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je 0x100227af
imul eax, dword [ebx + 0xc], 0x28
mov ecx, 0x2400
add eax, esi
test word [eax + 8], cx
je 0x10023996
mov ecx, eax
call fcn.1001c683
jmp 0x10026282
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
jmp 0x10026282
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x8c]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x8c], eax
call fcn.1001f66a
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x100232ea
imul edi, dword [ebx + 0xc], 0x28
mov edx, dword [ebp - 0x18]
add edi, esi
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x5c], edi
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x48]
mov dword [ebp - 0x28], ecx
cmp eax, dword [edx + 0x20]
je 0x10023ad7
cmp byte [esi + 2], 0
je 0x10023a2c
cmp byte [esi], 3
jne 0x10023a20
imul edx, dword [esi + 0x20], 0x28
add edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
mov dword [esi + 0x54], eax
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x54]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x4c], ecx
mov ecx, dword [ebp - 0x50]
jmp 0x10023a61
mov ecx, edi
call fcn.1001ca85
jmp 0x10022a72
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.10016229
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x50], eax
mov ecx, esi
mov edx, dword [ebp - 0x50]
lea edx, [edx + 0x54]
call fcn.1001669a
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x14]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x50]
cmp eax, dword [edx + 0x6c]
ja 0x100271bb
mov eax, dword [ebp - 0x18]
mov edx, 0x80
mov eax, dword [eax + 0x20]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x4c]
mov al, byte [ecx]
cmp al, dl
jae 0x10023a88
mov ecx, dword [ebp - 0x28]
movzx eax, al
mov dword [ecx], eax
xor eax, eax
inc eax
jmp 0x10023a90
mov edx, dword [ebp - 0x28]
call fcn.10008c76
movzx ecx, al
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x30], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x50]
mov word [eax + 0x3a], cx
mov esi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x28]
mov eax, dword [esi + 0x54]
cmp eax, dword [ecx]
jae 0x10023b90
xor edx, edx
mov dword [esi + 0x4c], edx
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x54], edx
mov eax, dword [ecx]
cmp eax, 0x18003
ja 0x10023c5b
mov esi, dword [ebp - 0x50]
cmp eax, dword [esi + 0x50]
ja 0x10023c5b
movzx eax, word [esi + 0x3a]
mov edx, dword [ebp - 0x8c]
cmp eax, edx
jg 0x10023cd8
mov eax, dword [esi + 0x30]
cmp eax, dword [ecx]
jae 0x10023ca9
mov edx, dword [esi + 0x4c]
mov dword [ebp - 0x38], edx
test edx, edx
jne 0x10023b38
push 0xa
xor eax, eax
lea edi, [ebp - 0x190]
pop ecx
rep stosd dword es:[edi], eax
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x190]
push eax
mov eax, dword [ebp - 0x28]
push dword [eax]
call fcn.1001cec4
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test eax, eax
jne 0x10027076
mov edx, dword [ebp - 0x180]
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x38], edx
movzx ecx, word [esi + 0x3a]
mov eax, dword [ebp - 0x28]
mov edi, dword [esi + 0x30]
mov dword [ebp - 0x74], ecx
add edi, edx
mov eax, dword [eax + ecx*4]
lea ecx, [ecx*4 + 0x58]
mov dword [ebp - 0x3c], eax
xor eax, eax
mov ebx, eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
add eax, edx
mov dword [ebp - 0x4c], eax
movzx eax, byte [edi]
mov edx, 0x80
mov dword [ebp - 0x68], eax
mov dword [esi + ecx], eax
mov eax, dword [ebp - 0x68]
cmp eax, edx
jae 0x10023b95
movzx eax, al
inc edi
movzx eax, byte [eax + 0x100804f0]
cdq
add dword [ebp - 0x3c], eax
adc ebx, edx
mov edx, dword [ebp - 0x3c]
jmp 0x10023bda
mov edx, dword [esi + 0x4c]
jmp 0x10023b35
lea edx, [ebp - 0x68]
mov ecx, edi
call fcn.10008c76
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x68]
movzx eax, al
add edi, eax
mov eax, dword [ebp - 0x50]
mov dword [eax + edx], ecx
mov ecx, 0x80
mov eax, dword [ebp - 0x68]
cmp eax, ecx
jb 0x10023bc3
add eax, 0xfffffff4
shr eax, 1
jmp 0x10023bca
movzx eax, byte [eax + 0x100804f0]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x2c]
add edx, eax
push 0
pop eax
mov dword [ebp - 0x3c], edx
adc ebx, eax
mov esi, dword [ebp - 0x28]
add ecx, 4
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x74], eax
mov dword [esi + ecx - 0x58], edx
mov esi, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x8c]
jg 0x10023c05
cmp edi, esi
jae 0x10023c05
mov esi, dword [ebp - 0x50]
jmp 0x10023b65
mov eax, dword [ebp - 0x50]
cmp edi, esi
mov dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x7c], ebx
mov ebx, dword [ebp - 0x34]
jb 0x10023c2d
cmp ecx, esi
ja 0x10023c3e
cmp edx, dword [eax + 0x50]
jne 0x10023c3e
mov esi, dword [ebp - 0x7c]
test esi, esi
jne 0x10023c3b
jmp 0x10023c30
mov esi, dword [ebp - 0x7c]
test esi, esi
jb 0x10023c76
ja 0x10023c3b
cmp edx, dword [eax + 0x50]
jbe 0x10023c76
mov esi, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x28]
xor edx, edx
cmp dword [ecx], edx
jne 0x10023c4b
mov ecx, esi
jmp 0x10023c79
cmp dword [eax + 0x4c], edx
jne 0x10023c5b
lea ecx, [ebp - 0x190]
call fcn.1001c6e1
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 0xc]
test eax, eax
jle 0x1002706c
imul ebx, eax, 0x14
add ebx, 0xffffffec
add ebx, edx
jmp 0x10022a72
mov edx, dword [ebp - 0x74]
sub ecx, dword [ebp - 0x38]
mov word [eax + 0x3a], dx
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x30], ecx
xor eax, eax
mov esi, dword [ebp - 0x50]
cmp dword [esi + 0x4c], eax
jne 0x10023c9e
lea ecx, [ebp - 0x190]
call fcn.1001c6e1
mov esi, dword [ebp - 0x50]
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x68]
jmp 0x10023cb0
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x68], ecx
movzx eax, word [esi + 0x3a]
cmp eax, edx
jg 0x10023cdf
cmp byte [ebx + 1], 0xf5
mov ecx, edi
jne 0x10023a22
mov edx, dword [ebx + 0x10]
mov eax, 0x800
push eax
call fcn.1001cbd9
pop ecx
jmp 0x10022a72
mov ecx, dword [esi + edx*4 + 0x58]
mov dword [ebp - 0x68], ecx
mov eax, 0x2400
test word [edi + 8], ax
je 0x10023cfd
mov ecx, edi
call fcn.1001ca85
mov esi, dword [ebp - 0x50]
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x68]
mov edi, dword [ebp - 0x28]
mov eax, dword [esi + 0x54]
cmp eax, dword [edi + edx*4 + 4]
mov edi, dword [ebp - 0x5c]
jb 0x10023db3
mov eax, dword [esi + 0x4c]
mov esi, dword [ebp - 0x28]
add eax, dword [esi + edx*4]
mov dword [ebp - 0x24], eax
cmp ecx, 0xc
jae 0x10023d2d
mov edx, ecx
mov ecx, eax
push edi
call fcn.1001f7e1
jmp 0x10023cd2
mov al, byte [ebp - 0x64]
lea esi, [ecx - 0xc]
shr esi, 1
mov dword [edi + 0xc], esi
mov byte [edi + 0xa], al
lea edx, [esi + 2]
cmp dword [edi + 0x18], edx
jge 0x10023d78
xor eax, eax
mov ecx, edi
inc eax
mov word [edi + 8], ax
xor eax, eax
push eax
call fcn.1001c357
pop ecx
test eax, eax
je 0x10023d7e
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
call fcn.10005dc4
push 0x1007ad10
push edi
call fcn.1001d40a
pop ecx
pop ecx
push 7
jmp 0x10027090
mov eax, dword [edi + 0x14]
mov dword [edi + 0x10], eax
push esi
push dword [ebp - 0x24]
push dword [edi + 0x10]
call fcn.10065820
mov eax, dword [edi + 0x10]
xor ecx, ecx
add esp, 0xc
mov byte [esi + eax], cl
mov eax, dword [edi + 0x10]
mov byte [esi + eax + 1], cl
inc ecx
mov eax, dword [ebp - 0x68]
and eax, ecx
mov ax, word [eax*2 + 0x1007f350]
mov word [edi + 8], ax
jmp 0x10022a72
mov al, byte [ebp - 0x64]
mov byte [edi + 0xa], al
movzx eax, word [ebx + 2]
mov edx, dword [ebp - 0x68]
test al, 0xc0
je 0x10023dd9
cmp edx, 0xc
jb 0x10023dd0
xor ecx, ecx
inc ecx
test cl, dl
je 0x10023de7
mov ecx, 0x80
test cl, al
jne 0x10023de7
mov ecx, edx
call fcn.1001f6ae
test eax, eax
jne 0x10023df1
mov edx, dword [ebp - 0x68]
mov ecx, 0x1008a134
jmp 0x10023d25
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x50]
push edi
push eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ecx + 0x28]
mov edx, dword [eax + edx*4]
call fcn.1001cec4
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test eax, eax
jne 0x10027076
mov edx, dword [ebp - 0x68]
mov ecx, dword [edi + 0x10]
push edi
call fcn.1001f7e1
pop ecx
mov ecx, 0xefff
and word [edi + 8], cx
jmp 0x10022a72
imul esi, dword [ebx + 4], 0x28
mov edi, dword [ebx + 0x10]
add esi, dword [ebp - 0x1c]
mov al, byte [edi]
push dword [ebp - 0x64]
mov dl, al
mov ecx, esi
call fcn.1002254e
cmp byte [edi], 0x45
pop ecx
jne 0x10023ea8
movzx ecx, word [esi + 8]
push 4
pop eax
mov dword [ebp - 0x24], ecx
test al, cl
je 0x10023ea8
mov edx, dword [esi]
xor eax, eax
add edx, eax
mov eax, dword [esi + 4]
adc eax, 0x8000
cmp eax, 0xffff
ja 0x10023e89
jb 0x10023e7a
cmp edx, 0xffffffff
ja 0x10023e89
and ecx, 0xfffb
or ecx, 0x20
mov word [esi + 8], cx
jmp 0x10023ea8
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.10072ff0
mov eax, dword [ebp - 0x24]
push 8
and eax, 0xfffb
movsd qword [esi], xmm0
pop ecx
or eax, ecx
mov word [esi + 8], ax
inc edi
mov al, byte [edi]
test al, al
je 0x10026ea9
add esi, 0x28
jmp 0x10023e3e
imul ecx, dword [ebx + 4], 0x28
xor eax, eax
mov esi, eax
mov edi, dword [ebx + 0x10]
imul eax, dword [ebx + 8], 0x28
xorps xmm0, xmm0
movlpd qword [ebp - 0x48], xmm0
mov dword [ebp - 0x28], esi
add ecx, dword [ebp - 0x1c]
movlpd qword [ebp - 0x80], xmm0
add eax, 0xffffffd8
mov dword [ebp - 0x38], ecx
add eax, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0x93]
mov byte [ebp - 0x2d], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x74], eax
test edi, edi
je 0x10023f39
push 4
lea esi, [ecx + 8]
pop ebx
push dword [ebp - 0x64]
mov dl, byte [edi]
lea ecx, [esi - 8]
call fcn.1002254e
cmp byte [edi], 0x45
pop ecx
jne 0x10023f2a
movzx eax, word [esi]
test bl, al
je 0x10023f2a
and eax, 0xfffb
or eax, 0x20
mov word [esi], ax
inc edi
add esi, 0x28
cmp byte [edi], 0
jne 0x10023f05
mov ebx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x44]
add edi, 0x1c
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x80]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x7c], edx
movzx edx, word [edi - 0x14]
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x44], edx
test dl, 1
je 0x10023f83
inc esi
mov eax, 0x4000
mov dword [ebp - 0x28], esi
and edx, eax
movzx esi, dx
neg esi
sbb esi, esi
and esi, 0xa
mov edx, dword [ebp - 0x28]
jmp 0x10024149
test dl, 0x24
je 0x100240ae
mov eax, dword [edi - 0x18]
xor ecx, ecx
mov esi, dword [edi - 0x1c]
cmp eax, ecx
jg 0x10023fa6
jl 0x10023f9e
cmp esi, ecx
jae 0x10023fa6
mov ecx, esi
not eax
not ecx
jmp 0x10023fa8
mov ecx, esi
inc dword [ebp - 0x28]
test eax, eax
ja 0x1002403f
jb 0x10023fba
cmp ecx, 0x7f
ja 0x10023fe6
xor edx, edx
mov eax, esi
inc edx
and eax, edx
cmp eax, esi
jne 0x10023fd7
xor eax, eax
cmp eax, dword [edi - 0x18]
jne 0x10023fd9
cmp byte [ebp - 0x2d], 4
jb 0x10023fd9
lea esi, [ecx + 8]
jmp 0x10023fe1
xor eax, eax
add dword [ebp - 0x3c], edx
mov esi, edx
adc dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x4c]
jmp 0x10023f7b
test eax, eax
ja 0x1002403f
jb 0x10023ff4
cmp ecx, 0x7fff
ja 0x1002400c
push 2
mov ecx, dword [ebp - 0x4c]
pop edx
add dword [ebp - 0x3c], edx
mov esi, edx
push 0
pop eax
adc ecx, eax
mov dword [ebp - 0x4c], ecx
jmp 0x10023f7b
test eax, eax
ja 0x1002403f
jb 0x1002401a
cmp ecx, 0x7fffff
ja 0x1002402d
add dword [ebp - 0x3c], 3
mov ecx, dword [ebp - 0x4c]
push 0
pop eax
adc ecx, eax
mov dword [ebp - 0x4c], ecx
push 3
jmp 0x100240a8
test eax, eax
ja 0x1002403f
jb 0x1002403b
cmp ecx, 0x7fffffff
ja 0x1002403f
push 4
jmp 0x10023ff6
cmp eax, 0x7fff
ja 0x10024066
jb 0x1002404d
cmp ecx, 0xffffffff
ja 0x10024066
add dword [ebp - 0x3c], 6
mov ecx, dword [ebp - 0x4c]
push 0
pop eax
adc ecx, eax
push 5
pop eax
mov dword [ebp - 0x4c], ecx
mov esi, eax
jmp 0x10023f7b
mov ecx, dword [ebp - 0x4c]
push 8
pop eax
add dword [ebp - 0x3c], eax
push 0
pop eax
adc ecx, eax
mov dword [ebp - 0x4c], ecx
test dl, 0x20
je 0x100240a6
mov edx, dword [edi - 0x18]
mov ecx, esi
call fcn.10072ff0
mov eax, dword [ebp - 0x44]
push 8
pop ecx
and eax, 0xffdf
movsd qword [edi - 0x1c], xmm0
or eax, ecx
push 7
mov word [edi - 0x14], ax
pop eax
mov esi, eax
jmp 0x10023fe1
push 6
pop esi
jmp 0x10023f7b
test dl, 8
je 0x100240ce
mov edx, dword [ebp - 0x28]
push 8
pop esi
inc edx
add eax, esi
push 0
mov dword [ebp - 0x3c], eax
pop eax
adc ecx, eax
push 7
pop eax
mov dword [ebp - 0x4c], ecx
mov esi, eax
jmp 0x10024146
mov ecx, dword [edi - 0x10]
mov eax, edx
shr eax, 1
and eax, 1
mov dword [ebp - 0x44], ecx
bt edx, 0xe
lea esi, [ecx + 6]
lea esi, [eax + esi*2]
jae 0x10024116
mov edx, dword [edi - 0x1c]
mov eax, dword [ebp - 0x3c]
or eax, dword [ebp - 0x4c]
lea esi, [esi + edx*2]
je 0x1002410d
lea ecx, [edi - 0x1c]
call fcn.1001c4fb
test eax, eax
jne 0x10023d59
mov ecx, dword [ebp - 0x44]
add ecx, dword [edi - 0x1c]
jmp 0x10024116
mov eax, edx
cdq
add dword [ebp - 0x7c], eax
adc dword [ebp - 0x2c], edx
add dword [ebp - 0x3c], ecx
push 0
pop eax
adc dword [ebp - 0x4c], eax
mov edx, eax
xor ecx, ecx
lea edi, [ecx + 1]
mov ecx, esi
shr ecx, 7
jmp 0x10024135
shrd ecx, edx, 7
inc edi
shr edx, 7
mov eax, ecx
or eax, edx
jne 0x1002412d
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x4c]
add edx, edi
mov edi, dword [ebp - 0x5c]
mov dword [ebp - 0x28], edx
mov eax, edi
mov dword [eax], esi
lea eax, [edi - 0x1c]
cmp eax, dword [ebp - 0x38]
je 0x10024163
mov eax, dword [ebp - 0x3c]
sub edi, 0x28
mov esi, dword [ebp - 0x28]
jmp 0x10023f57
cmp edx, 0x7e
jle 0x1002418e
mov eax, edx
cdq
push edx
push eax
call fcn.10008cdc
mov esi, eax
mov eax, dword [ebp - 0x28]
add eax, esi
mov dword [ebp - 0x28], eax
cdq
push edx
push eax
call fcn.10008cdc
mov edx, dword [ebp - 0x28]
add esp, 0x10
cmp esi, eax
jge 0x10024192
inc edx
mov dword [ebp - 0x28], edx
mov eax, edx
cdq
mov edi, eax
mov ecx, edx
add edi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x74]
mov esi, edi
adc ecx, dword [ebp - 0x4c]
add esi, dword [ebp - 0x7c]
mov eax, dword [eax + 0x18]
adc ecx, dword [ebp - 0x2c]
cdq
cmp ecx, edx
jg 0x100241c3
jl 0x100241b8
cmp esi, eax
ja 0x100241c3
mov ecx, dword [ebp - 0x74]
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
jmp 0x100241f1
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x6c]
cdq
cmp ecx, edx
jg 0x100271bb
jl 0x100241dc
cmp esi, eax
ja 0x100271bb
mov ecx, dword [ebp - 0x74]
mov edx, edi
call fcn.1001c453
test eax, eax
jne 0x10023d59
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x7c]
push 0x10
pop eax
mov word [ecx + 8], ax
mov eax, edx
or eax, dword [ebp - 0x2c]
mov dword [ecx + 0xc], edi
je 0x10024210
mov eax, 0x4010
mov dword [ecx], edx
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x28]
mov edx, 0x80
mov esi, dword [ecx + 0x10]
lea edi, [esi + eax]
cmp eax, edx
jae 0x1002422b
xor ecx, ecx
mov byte [esi], al
inc ecx
mov eax, ecx
jmp 0x1002423d
cdq
mov ecx, esi
push edx
push eax
call fcn.10008a9d
pop ecx
pop ecx
xor ecx, ecx
inc ecx
lea edx, [ecx + 0x7f]
mov ebx, dword [ebp - 0x38]
movzx eax, al
add esi, eax
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x44], eax
cmp eax, edx
jae 0x10024255
mov byte [esi], al
mov eax, ecx
jmp 0x10024262
xor ecx, ecx
push ecx
push eax
mov ecx, esi
call fcn.10008a9d
pop ecx
pop ecx
push dword [ebp - 0x44]
movzx eax, al
mov edx, ebx
mov ecx, edi
add esi, eax
call fcn.1001f6c4
pop ecx
push 1
pop ecx
add ebx, 0x28
add edi, eax
lea edx, [ecx + 0x7f]
cmp ebx, dword [ebp - 0x24]
jbe 0x10024245
mov ebx, dword [ebp - 0x34]
jmp 0x10022a72
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x118]
mov eax, dword [edi + 0x60]
xorps xmm0, xmm0
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x28]
movlpd qword [ebp - 0x118], xmm0
call fcn.1001aa7c
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x100232ea
mov edx, ebx
mov ecx, edi
call fcn.10022685
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x114]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x100227af
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x100243b1
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp dword [eax + 0xb8], ecx
jg 0x1002707e
mov ecx, edi
call fcn.10007e26
mov esi, eax
xor edx, edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x44], esi
mov ecx, dword [eax + 0x1d0]
add ecx, dword [eax + 0x1cc]
push ecx
mov ecx, eax
call fcn.1004ff94
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x10027076
xor ecx, ecx
lea eax, [esi + 0x21]
push ecx
mov ecx, dword [ebp - 0x14]
push eax
call fcn.10005b51
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x10026ea9
mov ecx, dword [ebp - 0x44]
lea edx, [esi + 0x20]
inc ecx
mov dword [esi], edx
push ecx
push edi
push edx
call fcn.10065820
mov edx, dword [ebp - 0x14]
add esp, 0xc
cmp byte [edx + 0x4f], 0
je 0x1002436e
xor eax, eax
mov byte [edx + 0x4f], al
inc eax
mov byte [edx + 0x57], al
jmp 0x10024374
inc dword [edx + 0x1cc]
mov eax, dword [edx + 0x1c4]
mov edi, dword [ebp - 0x18]
mov dword [esi + 0x18], eax
mov eax, dword [edx + 0x1d8]
mov ecx, dword [edx + 0x1dc]
mov dword [edx + 0x1c4], esi
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov eax, dword [edx + 0x1e0]
mov ecx, dword [edx + 0x1e4]
mov dword [esi + 0x10], eax
mov eax, edx
mov dword [esi + 0x14], ecx
jmp 0x10023858
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x1c4]
jmp 0x100243d4
mov ecx, dword [esi]
mov edx, edi
call fcn.10008022
test eax, eax
je 0x100243f2
inc dword [ebp - 0x28]
mov esi, dword [esi + 0x18]
test esi, esi
jne 0x100243c1
push edi
mov edi, dword [ebp - 0x18]
push str.no_such_savepoint:__s
push edi
call fcn.1001d40a
add esp, 0xc
xor eax, eax
inc eax
jmp 0x100232ea
mov edi, dword [ebp - 0x14]
xor ecx, ecx
mov edx, dword [ebp - 0x34]
xor eax, eax
inc ecx
cmp dword [edi + 0xb8], eax
jle 0x1002440d
cmp edx, ecx
je 0x10027096
cmp dword [esi + 0x18], eax
jne 0x10024469
cmp byte [edi + 0x57], al
je 0x10024469
mov dword [ebp - 0x2c], ecx
cmp edx, ecx
jne 0x10024472
mov edi, dword [ebp - 0x18]
mov edx, ecx
mov ecx, edi
call fcn.1001effd
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x1002339e
mov eax, dword [ebp - 0x14]
xor ecx, ecx
inc ecx
mov byte [eax + 0x4f], cl
mov ecx, edi
call fcn.1001f058
push 5
pop ecx
cmp eax, ecx
je 0x1002709d
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov byte [eax + 0x57], cl
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x20], eax
xor eax, eax
inc eax
mov dword [ebp - 0x2c], eax
jmp 0x10024565
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 0x1cc]
sub eax, dword [ebp - 0x28]
push 2
dec eax
pop ecx
mov dword [ebp - 0x28], eax
cmp edx, ecx
jne 0x100245d0
mov eax, dword [edi + 0x18]
xor ecx, ecx
inc ecx
and eax, ecx
xor ecx, ecx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x24], ecx
cmp dword [edi + 0x14], ecx
jle 0x100244e8
xor edx, edx
mov edi, ecx
inc edx
xor eax, edx
mov dword [ebp - 0x44], eax
push eax
mov eax, dword [ebp - 0x14]
mov edx, 0x204
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edi + 4]
call fcn.10015e89
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x10027076
mov eax, dword [ebp - 0x24]
push 0x10
pop ecx
add edi, ecx
inc eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
cmp eax, dword [ecx + 0x14]
mov eax, dword [ebp - 0x44]
jl 0x100244a9
mov edx, dword [ebp - 0x34]
mov edi, ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], ecx
cmp dword [edi + 0x14], ecx
jle 0x1002452d
mov edi, ecx
push eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edi + 4]
call fcn.10015ffb
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x10027076
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x34]
inc eax
push 0x10
pop ecx
add edi, ecx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x14]
cmp eax, dword [ecx + 0x14]
mov eax, dword [ebp - 0x28]
jl 0x100244f5
mov edi, ecx
cmp dword [ebp - 0x5c], 0
je 0x10024562
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x10024555
xor edx, edx
inc edx
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, edx
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x1002453d
mov ecx, edi
call fcn.10035598
xor eax, eax
inc eax
or dword [edi + 0x18], eax
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x1c4]
cmp ecx, esi
je 0x10024599
mov edi, eax
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, edi
mov dword [edi + 0x1c4], eax
call fcn.1000590f
dec dword [edi + 0x1cc]
mov ecx, dword [edi + 0x1c4]
cmp ecx, esi
jne 0x10024574
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x34]
xor eax, eax
inc eax
cmp edx, eax
jne 0x100245da
mov ecx, dword [ebp - 0x14]
mov edx, esi
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x1c4], eax
call fcn.1000590f
cmp dword [ebp - 0x2c], 0
jne 0x100232df
mov ecx, dword [ebp - 0x14]
mov eax, ecx
mov edx, dword [ebp - 0x34]
dec dword [ecx + 0x1cc]
jmp 0x1002461b
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
jmp 0x100244eb
cmp dword [ebp - 0x2c], 0
mov edi, dword [ebp - 0x14]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [edi + 0x1d8], eax
mov eax, edi
mov dword [eax + 0x1dc], ecx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov esi, edi
mov edi, dword [ebp - 0x18]
mov dword [esi + 0x1e0], eax
mov eax, esi
mov dword [eax + 0x1e4], ecx
je 0x1002461b
push 2
pop ecx
cmp edx, ecx
jne 0x100232df
mov ecx, dword [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.1004ff94
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x100232ea
jmp 0x100232e2
mov edx, dword [ebx + 8]
xor ecx, ecx
mov dword [ebp - 0x38], ecx
test edx, edx
je 0x10024656
mov eax, dword [eax + 0x20]
and eax, 0x100000
or eax, ecx
jne 0x100270be
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x10024714
lea eax, [ebp - 0x38]
mov ecx, esi
push eax
call fcn.100153b1
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x100270c2
xor ecx, ecx
cmp dword [ebx + 8], ecx
je 0x1002471e
mov edx, 0x80
test byte [edi + 0x98], dl
mov edx, dword [ebp - 0x14]
je 0x10024721
cmp byte [edx + 0x4f], cl
je 0x100246ae
cmp dword [edx + 0xb4], 1
jle 0x10024721
mov eax, dword [edi + 0x30]
test eax, eax
jne 0x100246ca
mov eax, dword [edx + 0x1cc]
inc dword [edx + 0x1d0]
add eax, dword [edx + 0x1d0]
mov dword [edi + 0x30], eax
mov ecx, dword [ebp - 0x14]
dec eax
push eax
xor edx, edx
call fcn.1004ff94
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x100246eb
mov edx, dword [edi + 0x30]
mov ecx, esi
call fcn.10015fc5
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x1d8]
mov ecx, dword [edx + 0x1dc]
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], ecx
mov eax, dword [edx + 0x1e0]
mov ecx, dword [edx + 0x1e4]
mov dword [edi + 0x50], eax
mov dword [edi + 0x54], ecx
jmp 0x10024717
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
jmp 0x10024721
mov edx, dword [ebp - 0x14]
cmp word [ebx + 2], cx
je 0x100232e2
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebx + 0xc]
jne 0x1002474b
mov ecx, dword [ebx + 4]
mov eax, dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [ebx + 0x10]
je 0x100232df
mov edx, dword [edi + 0x7c]
mov ecx, dword [ebp - 0x14]
call fcn.10005940
mov ecx, dword [ebp - 0x14]
mov edx, str.database_schema_has_changed
call fcn.10005cb9
mov dword [edi + 0x7c], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebx + 4]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x38]
je 0x10024786
mov ecx, dword [ebp - 0x14]
call fcn.10035534
mov eax, dword [edi + 0x98]
xor ecx, ecx
and eax, 0xfffffffd
inc ecx
or eax, ecx
mov dword [edi + 0x98], eax
push 0x11
jmp 0x10027090
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x104]
mov edx, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.1001a9e9
pop ecx
mov edx, ebx
mov ecx, edi
call fcn.10022685
mov ecx, eax
mov eax, dword [ebp - 0x104]
jmp 0x100228c0
mov esi, dword [ebx + 4]
push dword [ebx + 0xc]
mov edx, dword [ebx + 8]
shl esi, 4
add esi, dword [eax + 0x10]
mov ecx, dword [esi + 4]
call fcn.1001aa2b
xor edx, edx
mov dword [ebp - 0x20], eax
inc edx
pop ecx
cmp dword [ebx + 8], edx
jne 0x10024809
mov ecx, dword [esi + 0xc]
mov eax, dword [ebx + 0xc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x14]
or dword [eax + 0x18], edx
jmp 0x1002481d
push 2
pop eax
cmp dword [ebx + 8], eax
jne 0x1002481a
mov ecx, dword [esi + 0xc]
mov al, byte [ebx + 0xc]
mov byte [ecx + 0x4c], al
mov eax, dword [ebp - 0x14]
cmp dword [ebx + 4], edx
jne 0x100232df
mov ecx, dword [eax + 4]
jmp 0x1002483f
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, edx
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x1002482b
and dword [edi + 0x98], 0xfffffffc
jmp 0x100232df
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x10024868
mov eax, dword [esi + 0x34]
cmp eax, dword [ebx + 8]
je 0x10024968
mov cl, byte [ebp - 0x2d]
mov eax, dword [edi + 0x98]
xor edx, edx
and al, 3
inc edx
cmp al, dl
je 0x100270e3
mov esi, dword [ebx + 0xc]
xor eax, eax
mov edi, dword [ebp - 0x14]
mov edx, dword [ebx + 8]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x38], eax
mov eax, esi
shl eax, 4
add eax, dword [edi + 0x10]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x44], esi
mov edi, dword [eax + 4]
mov dword [ebp - 0x2c], edi
cmp cl, 0x62
jne 0x100248cf
movzx edi, word [ebx + 2]
mov eax, dword [eax + 0xc]
push 8
pop ecx
and edi, ecx
mov al, byte [eax + 0x4c]
push 4
pop ecx
or edi, ecx
mov ecx, dword [ebp - 0x18]
cmp al, byte [ecx + 0x93]
jae 0x100248d3
mov byte [ecx + 0x93], al
jmp 0x100248d3
xor eax, eax
mov edi, eax
push 0x10
pop eax
test byte [ebx + 2], al
je 0x100248f0
imul esi, edx, 0x28
add esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.1001c869
mov eax, dword [esi]
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x24], eax
mov al, byte [ebx + 1]
cmp al, 0xf7
jne 0x10024903
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x38], eax
movzx eax, word [eax + 8]
jmp 0x1002490f
cmp al, 0xfd
jne 0x1002490c
mov eax, dword [ebx + 0x10]
jmp 0x1002490f
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebx + 4]
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x18]
push esi
push eax
call fcn.100223d4
mov esi, eax
add esp, 0xc
test esi, esi
je 0x10023d59
mov ecx, dword [ebp - 0x2c]
xor eax, eax
inc eax
push 4
mov byte [esi + 2], al
pop eax
push dword [esi + 0x28]
or dword [esi + 8], eax
mov eax, dword [ebp - 0x24]
mov edx, eax
push dword [ebp - 0x38]
mov dword [esi + 0x34], eax
push edi
call fcn.10016132
mov edi, dword [ebp - 0x18]
add esp, 0xc
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x38]
mov dword [esi + 0x2c], eax
cmp byte [ebx + 1], 0xf7
setne al
mov byte [esi + 4], al
mov cl, byte [ebx + 2]
mov eax, dword [esi + 0x28]
and cl, 3
mov byte [eax + 3], cl
jmp 0x100232df
mov ecx, dword [ebx + 8]
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
push ecx
mov dword [ebp - 0x38], eax
mov ecx, edi
push 0xffffffffffffffff
movsx eax, word [eax + 0x38]
push eax
call fcn.100223d4
mov edi, eax
add esp, 0xc
test edi, edi
je 0x10023d59
mov esi, dword [edi + 8]
xor eax, eax
mov edx, dword [ebp - 0x38]
inc eax
push dword [edi + 0x28]
mov byte [edi + 2], al
or esi, eax
mov dword [edi + 8], esi
mov ecx, dword [edx + 0x2c]
mov dword [edi + 0x2c], ecx
mov al, byte [edx + 4]
mov byte [edi + 4], al
mov eax, dword [ebp - 0x38]
mov edx, dword [edx + 0x34]
mov dword [edi + 0x34], edx
push ecx
mov eax, dword [eax + 8]
xor eax, esi
and eax, 4
xor eax, esi
mov dword [edi + 8], eax
push 4
pop eax
push eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0xc]
call fcn.10016132
add esp, 0xc
mov dword [ebp - 0x20], eax
jmp 0x10022a72
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 4]
mov esi, dword [eax + edx*4]
xor eax, eax
test esi, esi
je 0x10024a2c
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x1c], eax
test ecx, ecx
je 0x10024b0e
mov edx, dword [esi + 0x34]
push eax
call fcn.1001a7d1
pop ecx
mov dword [ebp - 0x20], eax
jmp 0x10024b11
push eax
push 0xffffffffffffffff
push dword [ebx + 8]
mov ecx, edi
call fcn.100223d4
mov esi, eax
add esp, 0xc
test esi, esi
je 0x10023d5c
xor eax, eax
lea edi, [esi + 0xc]
push 0x41e
inc eax
xor edx, edx
or dword [esi + 8], eax
movzx eax, word [ebx + 2]
push 5
pop ecx
or eax, ecx
push eax
mov eax, dword [ebp - 0x14]
push edi
push eax
mov ecx, dword [eax]
call fcn.1001472a
add esp, 0x10
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x10024af1
mov ecx, dword [edi]
lea edx, [eax + 1]
push eax
call fcn.100153b1
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x10024af1
mov eax, dword [ebx + 0x10]
mov ecx, dword [edi]
mov dword [ebp - 0x44], eax
mov dword [esi + 0x2c], eax
test eax, eax
je 0x10024ad0
movzx eax, word [ebx + 2]
push 2
pop edx
or eax, edx
lea edx, [esi + 0x34]
push eax
call fcn.1001a64d
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x10024acc
push dword [esi + 0x28]
mov edx, dword [esi + 0x34]
push dword [ebp - 0x44]
mov ecx, dword [edi]
push 4
pop eax
push eax
call fcn.10016132
add esp, 0xc
mov dword [ebp - 0x20], eax
xor eax, eax
jmp 0x10024aee
push dword [esi + 0x28]
xor eax, eax
xor edx, edx
push eax
push 4
pop eax
inc edx
push eax
mov dword [esi + 0x34], edx
call fcn.10016132
mov dword [ebp - 0x20], eax
add esp, 0xc
xor eax, eax
inc eax
mov byte [esi + 4], al
mov edi, dword [ebp - 0x18]
xor ecx, ecx
push 8
pop eax
cmp word [ebx + 2], ax
push 4
pop eax
cmovne ecx, eax
mov eax, dword [esi + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [esi + 8], ecx
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x100232ea
inc eax
mov byte [esi + 2], al
jmp 0x10022826
mov edx, dword [ebx + 4]
xor eax, eax
inc eax
mov ecx, edi
push eax
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.100223d4
add esp, 0xc
test eax, eax
je 0x10023d5c
mov ecx, dword [ebx + 0x10]
mov dword [eax + 0x2c], ecx
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x14]
push eax
call fcn.1002854d
pop ecx
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x100232ea
jmp 0x100227af
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + ecx*4]
xor eax, eax
inc eax
mov edi, dword [edx + 0x10]
mov ecx, edi
mov esi, dword [edx + 0x14]
add ecx, eax
mov eax, esi
mov dword [edx + 0x10], ecx
adc eax, 0
or edi, esi
mov edi, dword [ebp - 0x18]
mov dword [edx + 0x14], eax
je 0x10026282
jmp 0x10022826
mov edx, dword [ebx + 4]
mov ecx, edi
push 3
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.100223d4
mov esi, eax
add esp, 0xc
test esi, esi
je 0x10023d5c
xor eax, eax
inc eax
mov byte [esi + 2], al
mov ecx, dword [ebx + 8]
mov dword [esi + 0x20], ecx
mov byte [esi + 4], al
call fcn.100134bd
mov dword [esi + 0x28], eax
jmp 0x10022826
mov eax, dword [ebx + 4]
mov ecx, edi
mov edx, dword [edi + 0x60]
mov edx, dword [edx + eax*4]
call fcn.1001e77e
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x60]
mov dword [eax + ecx*4], edx
jmp 0x100227af
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov edi, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov word [edi + 2], cx
mov dword [edi + 0x1c], ecx
cmp byte [edi + 4], cl
je 0x10024d16
imul esi, dword [ebx + 0xc], 0x28
push 2
pop ecx
add esi, dword [ebp - 0x1c]
movzx eax, word [esi + 8]
mov dword [ebp - 0x44], eax
and al, 0x2e
cmp al, cl
jne 0x10024c2c
xor edx, edx
mov ecx, esi
call fcn.1002249f
mov ecx, esi
call fcn.1001c752
movzx ecx, word [esi + 8]
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x38], eax
mov word [esi + 8], dx
test cl, 0x24
jne 0x10024cb4
test cl, 8
jne 0x10024c7e
xor eax, eax
inc eax
test al, cl
jne 0x1002627f
cmp dword [ebp - 0x3c], 0x18
jae 0x1002627f
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0x70]
call fcn.10016919
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x10027076
jmp 0x10024df1
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x38]
call fcn.10072ff0
movsd xmm1, qword [esi]
comisd xmm0, xmm1
jbe 0x10024ca0
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
inc ecx
test cl, al
je 0x10024cb4
dec eax
jmp 0x10024cb1
comisd xmm1, xmm0
jbe 0x10024cb4
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
inc ecx
test cl, al
jne 0x10024cb4
inc eax
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x70]
xor edx, edx
push eax
xor eax, eax
lea esi, [edi + 0x28]
mov ecx, dword [esi]
push eax
push dword [ebp - 0x2c]
push dword [ebp - 0x38]
call fcn.10016975
mov ecx, dword [ebp - 0x38]
add esp, 0x10
mov dword [edi + 0x40], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
mov dword [edi + 0x44], ecx
test eax, eax
jne 0x10027076
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x70]
cmp eax, 0x18
jl 0x10024db5
test ecx, ecx
js 0x10024da6
jne 0x10024d0c
cmp eax, 0x19
je 0x10024da6
xor eax, eax
mov dword [ebp - 0x70], eax
jmp 0x10024dfe
lea esi, [edi + 0x28]
mov eax, dword [esi]
push 0
mov al, byte [eax + 3]
and al, 2
mov byte [ebp - 0x2d], al
pop eax
setne al
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x128], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x120], ax
mov eax, edx
xor edx, edx
mov byte [ebp - 0x11a], cl
inc edx
and al, dl
lea edx, [ebp - 0x128]
neg al
sbb al, al
and al, 0xfe
inc al
mov byte [ebp - 0x11e], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x70]
push eax
push ecx
push ecx
push ecx
mov ecx, dword [esi]
call fcn.10016975
add esp, 0x10
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x10027076
cmp byte [ebp - 0x2d], al
je 0x10024ce7
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x28], edx
cmp byte [ebp - 0x11a], al
je 0x10024df4
jmp 0x10024cea
xor eax, eax
push eax
mov dword [ebp - 0x70], eax
push dword [esi]
call fcn.10016e2a
jmp 0x10024dd6
test ecx, ecx
jg 0x10024dc9
jne 0x10024dc0
cmp eax, 0x16
je 0x10024dc9
mov ecx, dword [esi]
call fcn.10016d04
jmp 0x10024dee
xor eax, eax
push eax
mov dword [ebp - 0x70], eax
push dword [esi]
call fcn.10016f3a
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test eax, eax
je 0x10024df1
cmp eax, 0x65
jne 0x10027076
xor eax, eax
mov dword [ebp - 0x20], eax
inc eax
mov dword [ebp - 0x70], eax
mov edx, dword [ebp - 0x28]
cmp dword [ebp - 0x70], 0
jne 0x1002627f
mov esi, dword [ebp - 0x1c]
test edx, edx
je 0x10026e9d
push 0x14
pop eax
add ebx, eax
jmp 0x10023493
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
push 8
pop edx
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebx + 8]
shl eax, 3
xor eax, dword [ecx + 8]
and eax, edx
xor dword [ecx + 8], eax
jmp 0x100227af
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
test byte [eax + 8], 8
jne 0x100227af
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
imul esi, dword [ebx + 0xc], 0x28
mov edi, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x24], edi
add esi, dword [ebp - 0x1c]
cmp dword [ebx + 0x10], ecx
jle 0x10024e87
mov eax, dword [edi + 0x2c]
lea edi, [ebp - 0x168]
mov dword [ebp - 0x168], eax
mov ax, word [ebx + 0x10]
mov dword [ebp - 0x164], esi
mov esi, dword [ebp - 0x24]
mov word [ebp - 0x160], ax
mov dword [ebp - 0x5c], ecx
jmp 0x10024ecc
mov eax, 0x4000
test word [esi + 8], ax
je 0x10024ea1
mov ecx, esi
call fcn.1001c4fb
test eax, eax
jne 0x10023d59
mov ecx, dword [edi + 0x2c]
call fcn.1001f961
mov edi, eax
mov dword [ebp - 0x5c], edi
test edi, edi
je 0x10023d59
mov edx, dword [esi + 0xc]
push edi
push dword [esi + 0x10]
mov esi, dword [ebp - 0x24]
mov ecx, dword [esi + 0x2c]
call fcn.1001f9b7
pop ecx
pop ecx
xor ecx, ecx
mov byte [edi + 0xa], cl
cmp byte [ebx], 0x1b
mov dword [ebp - 0x24], ecx
jne 0x10024f0a
movzx eax, word [edi + 8]
mov edx, ecx
xor ecx, ecx
cmp cx, ax
jae 0x10024f08
mov ecx, dword [edi + 4]
mov dword [ebp - 0x44], eax
add ecx, 8
test byte [ecx], 1
jne 0x10024f02
movzx eax, ax
inc edx
add ecx, 0x28
cmp edx, eax
mov eax, dword [ebp - 0x44]
jl 0x10024eed
jmp 0x10024f08
xor eax, eax
inc eax
mov dword [ebp - 0x24], eax
xor ecx, ecx
lea eax, [ebp - 0xf4]
mov edx, edi
push eax
push ecx
push ecx
push ecx
mov ecx, dword [esi + 0x28]
call fcn.10016975
mov edx, dword [ebp - 0x5c]
add esp, 0x10
mov dword [ebp - 0x20], eax
test edx, edx
je 0x10024f36
mov ecx, dword [ebp - 0x14]
call fcn.1000590f
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x10027076
mov eax, dword [ebp - 0xf4]
xor ecx, ecx
mov edi, dword [ebp - 0x18]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0xf4]
test eax, eax
sete cl
test eax, eax
setne al
mov byte [esi + 2], al
xor eax, eax
mov byte [esi + 3], al
mov dword [esi + 0x1c], eax
cmp byte [ebx], 0x1d
jne 0x10024f73
test ecx, ecx
jmp 0x100234a3
cmp dword [ebp - 0x24], eax
jne 0x10026282
test ecx, ecx
jmp 0x10024b89
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [ebp - 0x1c]
test byte [esi + 8], 0x24
jne 0x10024fc9
push 0xa
pop ecx
push dword [ebp - 0x64]
lea edi, [ebp - 0xd8]
mov dl, 0x43
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0xd8]
call fcn.1002254e
pop ecx
push 4
pop eax
test byte [ebp - 0xd0], al
je 0x1002627f
mov edi, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd4]
jmp 0x10024fd7
mov esi, dword [ebp - 0x1c]
imul eax, dword [ebx + 0xc], 0x28
mov edi, dword [eax + esi]
mov edx, dword [eax + esi + 4]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
xor eax, eax
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0xe4], eax
lea eax, [ebp - 0xe4]
push eax
xor eax, eax
push eax
push edx
push edi
xor edx, edx
call fcn.10016975
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
add esp, 0x10
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], eax
mov word [esi + 2], cx
mov dword [esi + 0x1c], ecx
mov eax, dword [ebp - 0xe4]
mov dword [esi + 0x20], eax
cmp dword [ebp - 0xe4], ecx
je 0x10025045
cmp dword [ebx + 8], ecx
jne 0x1002627f
mov ecx, 0x159cf
call fcn.10062031
mov dword [ebp - 0x20], eax
jmp 0x10025048
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x18]
jmp 0x100232e2
mov edx, ebx
mov ecx, edi
call fcn.10022685
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
push 0
mov ecx, dword [ecx + edx*4]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [eax + 4], ecx
mov dword [eax], edx
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
inc ecx
add dword [eax + 0x10], ecx
pop ecx
adc dword [eax + 0x14], ecx
jmp 0x100227af
xorps xmm0, xmm0
xor eax, eax
mov edx, ebx
movlpd qword [ebp - 0x60], xmm0
mov ecx, edi
mov dword [ebp - 0x2c], eax
call fcn.10022685
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
push 2
mov dword [ebp - 0x24], eax
pop eax
mov edi, dword [ecx + edx*4]
mov dword [ebp - 0x44], edi
test byte [edi + 8], al
jne 0x1002510f
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0x2c]
call fcn.10016919
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x10027076
cmp dword [ebp - 0x2c], eax
je 0x100250da
inc eax
mov dword [ebp - 0x60], eax
xor eax, eax
mov dword [ebp - 0x5c], eax
jmp 0x1002510f
mov ecx, dword [edi + 0x28]
call fcn.10016219
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
cmp edx, 0x7fffffff
jl 0x100250ff
jg 0x100250f7
cmp eax, 0xffffffff
jb 0x100250ff
push 2
pop eax
or dword [edi + 8], eax
jmp 0x1002510f
xor ecx, ecx
inc ecx
add eax, ecx
push 0
pop ecx
adc edx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x10025195
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0xc8]
test eax, eax
jne 0x1002517a
imul esi, ecx, 0x28
add esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.1001c869
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x10025146
cmp edx, 0x7fffffff
je 0x100251f3
push 2
pop eax
test byte [edi + 8], al
jne 0x100251f3
mov edi, dword [ebp - 0x5c]
xor eax, eax
inc eax
add ecx, eax
push 0
pop eax
adc edx, eax
cmp edi, edx
jg 0x1002518a
jl 0x1002516c
mov eax, dword [ebp - 0x60]
cmp eax, ecx
jae 0x1002518d
mov eax, ecx
mov edi, edx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edi
jmp 0x1002518d
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x10025178
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [eax + 0x10]
jmp 0x10025129
mov eax, dword [ebp - 0x60]
mov dword [esi + 4], edi
mov edi, dword [ebp - 0x44]
mov dword [esi], eax
push 2
pop eax
test byte [edi + 8], al
je 0x100251fb
xor eax, eax
mov esi, eax
lea eax, [ebp - 0x60]
push eax
push 8
pop eax
push eax
call fcn.1000759a
mov eax, dword [ebp - 0x5c]
xor edx, edx
mov ecx, dword [ebp - 0x60]
inc edx
push 0
and eax, 0x3fffffff
add ecx, edx
pop edx
adc eax, edx
mov dword [ebp - 0x60], ecx
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x5c], eax
push edx
xor edx, edx
push edx
push eax
push ecx
mov ecx, dword [edi + 0x28]
call fcn.10016975
add esp, 0x18
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x10027076
cmp dword [ebp - 0x2c], eax
jne 0x100251fb
inc esi
cmp esi, 0x64
jl 0x100251a1
push 0xd
pop eax
jmp 0x10027076
mov edx, dword [ebp - 0x24]
xor eax, eax
mov byte [edi + 3], al
mov dword [edi + 0x1c], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x10022a72
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
imul edx, dword [ebx + 8], 0x28
mov edi, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x1c]
add edx, esi
cmp byte [ebx + 1], 0xfa
mov esi, dword [eax + esi]
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xcc], eax
jne 0x1002526e
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0xf0], 0
je 0x1002526e
mov eax, dword [ebp - 0x14]
movsx ecx, byte [edi + 1]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x44]
jmp 0x10025273
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x24], ecx
xor ecx, ecx
inc ecx
test byte [ebx + 2], cl
je 0x10025284
mov ecx, dword [ebp - 0x18]
inc dword [ecx + 0x2c]
test byte [ebx + 2], 0x20
je 0x10025293
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x28], esi
mov dword [ecx + 0x2c], eax
mov eax, dword [edx + 0x10]
movzx ecx, word [ebx + 2]
mov dword [ebp - 0xc8], eax
mov eax, dword [edx + 0xc]
push 0x10
mov dword [ebp - 0xbc], eax
pop eax
test al, cl
je 0x100252b5
mov esi, dword [edi + 0x20]
jmp 0x100252b9
xor eax, eax
mov esi, eax
mov eax, 0x4000
test word [edx + 8], ax
push 0
pop eax
je 0x100252d3
mov eax, dword [edx]
mov dword [ebp - 0xb8], eax
xor eax, eax
jmp 0x100252d9
mov dword [ebp - 0xb8], eax
and ecx, 0xa
mov dword [ebp - 0xd8], eax
push esi
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0xd8]
call fcn.10019dce
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov byte [edi + 3], cl
mov dword [edi + 0x1c], ecx
test eax, eax
jne 0x10027076
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x10026ea9
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
push dword [eax]
push dword [ebp - 0x5c]
push 4
pop eax
test byte [ebx + 2], al
push 0x12
pop eax
push 0x17
pop ecx
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0x14]
push dword [eax + 0xec]
call dword [eax + 0xf0]
add esp, 0x18
jmp 0x10022a72
cmp byte [ebx + 1], 0xfa
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x44], eax
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
jne 0x1002539c
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp dword [eax + 0xf0], ecx
je 0x1002539c
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov edi, dword [ebx + 0x10]
push 2
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x24], eax
pop eax
test byte [ebx + 2], al
je 0x100253a3
cmp byte [esi + 4], 0
je 0x100253a3
mov ecx, dword [esi + 0x28]
call fcn.10016219
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], edx
jmp 0x100253a3
xor eax, eax
mov dword [ebp - 0x24], eax
mov edi, eax
mov dl, byte [ebx + 2]
mov ecx, dword [esi + 0x28]
call fcn.1001a151
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], ecx
test eax, eax
jne 0x10027076
inc eax
test byte [ebp - 0x44], al
je 0x10026ea9
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
inc dword [eax + 0x2c]
mov eax, dword [ecx + 0xf0]
test eax, eax
je 0x10026ea5
test byte [edi + 0x24], 0x20
jne 0x10026ea5
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [edi]
push dword [ebp - 0x24]
push 9
push dword [ecx + 0xec]
call eax
jmp 0x10025342
mov ecx, dword [ebp - 0x14]
mov eax, dword [edi + 0x2c]
add dword [ecx + 0x68], eax
mov dword [ecx + 0x64], eax
xor eax, eax
mov dword [edi + 0x2c], eax
mov eax, ecx
jmp case.0x10022770.86
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
imul edx, dword [ebx + 0xc], 0x28
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0xf8]
push eax
push dword [ebx + 0x10]
add edx, esi
call fcn.10029d8c
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test eax, eax
jne 0x100232ea
cmp dword [ebp - 0xf8], eax
jmp 0x100227d6
imul edx, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
add edx, esi
mov ecx, dword [eax + ecx*4]
call fcn.10029d36
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x100232ea
mov ecx, dword [ebx + 0xc]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [eax + 0x1c], ecx
jmp 0x100227af
mov edx, ebx
mov ecx, edi
call fcn.10022685
mov ecx, dword [edi + 0x60]
mov esi, eax
mov edx, dword [ebx + 4]
mov ecx, dword [ecx + edx*4]
mov edi, dword [ecx + 0x28]
mov ecx, edi
call fcn.100161e3
mov ecx, dword [ebp - 0x14]
mov eax, dword [edi + 0x2c]
cmp eax, dword [ecx + 0x6c]
ja 0x100271bb
push esi
push eax
xor edx, edx
mov ecx, edi
call fcn.1001cec4
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test eax, eax
jne 0x10027076
cmp dword [ebx + 0xc], eax
jne 0x10026ea9
mov eax, 0x1000
test word [esi + 8], ax
je 0x10026ea9
mov ecx, esi
call fcn.1001c4b5
mov edi, dword [ebp - 0x18]
test eax, eax
jne 0x10023d5c
jmp 0x10022826
mov edx, ebx
mov ecx, edi
call fcn.10022685
mov edx, dword [ebx + 4]
mov edi, eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x60]
mov esi, dword [ecx + edx*4]
cmp byte [esi + 2], 0
je 0x10025527
xor eax, eax
inc eax
jmp 0x10023daa
cmp byte [esi + 3], 0
je 0x10025535
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 0x44]
jmp 0x10025595
push 2
pop eax
cmp byte [esi], al
jne 0x10025576
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0xf0]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
call dword [eax + 0x30]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
mov edx, esi
mov dword [ebp - 0x20], eax
call fcn.10020896
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x10027076
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xf0]
jmp 0x100255a1
mov ecx, esi
call fcn.1001f656
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x10027076
cmp byte [esi + 2], al
jne 0x1002551f
mov ecx, dword [esi + 0x28]
call fcn.10016219
mov dword [ebp - 0xec], edx
mov dword [ebp - 0xf0], eax
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x10022a72
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
xor eax, eax
inc eax
mov byte [esi + 2], al
xor eax, eax
mov dword [esi + 0x1c], eax
cmp byte [esi], al
jne 0x10026ea9
mov esi, dword [esi + 0x28]
push dword [esi + 0x10]
call fcn.100058a1
xor eax, eax
mov dword [esi + 0x10], eax
inc eax
pop ecx
mov byte [esi], al
jmp 0x10022826
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
xor eax, eax
cmp byte [ebp - 0x2d], 0x82
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0xdc], eax
jne 0x10025606
or dword [esi + 0x20], 0xffffffff
cmp byte [ecx], al
je 0x10026ea9
lea edx, [ebp - 0xdc]
call fcn.10016919
mov dword [ebp - 0x20], eax
xor ecx, ecx
mov al, byte [ebp - 0xdc]
mov byte [esi + 2], al
mov eax, dword [ebp - 0x20]
mov byte [esi + 3], cl
mov dword [esi + 0x1c], ecx
test eax, eax
jne 0x100232ea
cmp dword [ebx + 8], ecx
jle 0x10026ea9
cmp dword [ebp - 0xdc], ecx
jmp 0x100234a3
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xe0]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.100168ed
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x100232ea
cmp dword [ebp - 0xe0], eax
jne 0x10026282
mov ecx, esi
call fcn.10016d0c
xor ecx, ecx
cmp edx, ecx
jl 0x100256a1
jg 0x10025687
cmp eax, ecx
jb 0x100256a1
push edx
push eax
call fcn.10009057
cwde
pop ecx
pop ecx
cmp eax, dword [ebx + 0xc]
jge 0x100256a1
xor eax, eax
inc eax
mov dword [ebp - 0xe0], eax
jmp 0x100256a7
mov eax, dword [ebp - 0xe0]
test eax, eax
jmp 0x100234a3
inc dword [edi + 0xac]
mov eax, dword [edi + 0x60]
lea edx, [ebp - 0xac]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
xor eax, eax
inc eax
mov dword [ebp - 0xac], eax
cmp byte [esi], al
jne 0x100256d9
mov ecx, esi
call fcn.10029c31
jmp 0x100256e9
mov ecx, dword [esi + 0x28]
call fcn.100168ed
xor ecx, ecx
mov byte [esi + 3], cl
mov dword [esi + 0x1c], ecx
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x100232ea
mov al, byte [ebp - 0xac]
mov byte [esi + 2], al
cmp dword [ebp - 0xac], 0
jmp 0x100234a3
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
mov edx, esi
mov ecx, dword [ebp - 0x14]
call fcn.10029c81
jmp 0x10025732
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
push dword [ebx + 0xc]
mov esi, dword [eax + ecx*4]
push dword [esi + 0x28]
call dword [ebx + 0x10]
pop ecx
pop ecx
mov dword [ebp - 0x20], eax
xor ecx, ecx
mov dword [esi + 0x1c], ecx
test eax, eax
jne 0x10025751
mov byte [esi + 2], cl
movzx eax, word [ebx + 2]
inc dword [edi + eax*4 + 0xa4]
jmp 0x10026b83
cmp eax, 0x65
jne 0x100232ea
mov eax, ecx
mov dword [ebp - 0x20], eax
xor eax, eax
inc eax
mov byte [esi + 2], al
jmp 0x100260cb
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
imul esi, dword [ebx + 8], 0x28
mov edi, dword [eax + ecx*4]
xor eax, eax
inc eax
add esi, dword [ebp - 0x1c]
test byte [ebx + 2], al
je 0x10025788
mov eax, dword [ebp - 0x18]
inc dword [eax + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x100257a2
mov ecx, esi
call fcn.1001c4fb
test eax, eax
jne 0x10027076
cmp byte [ebx], 0x83
jne 0x100257b5
mov edx, esi
mov ecx, edi
call fcn.100290a1
mov esi, dword [ebp - 0x1c]
jmp 0x10025814
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
mov eax, dword [esi + 0x10]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0xd8], eax
imul eax, dword [ebx + 0xc], 0x28
push 0x10
pop ecx
add eax, esi
mov dword [ebp - 0xc4], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0xc0], ax
movzx eax, word [ebx + 2]
test cl, al
je 0x100257f8
mov ecx, dword [edi + 0x20]
jmp 0x100257fa
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0xd8]
and eax, 0xa
push eax
call fcn.10019dce
pop ecx
pop ecx
xor ecx, ecx
mov dword [edi + 0x1c], ecx
mov edi, dword [ebp - 0x18]
jmp 0x10024b53
mov eax, dword [edi + 0x60]
lea edx, [ebp - 0x148]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x28]
mov dword [ebp - 0x148], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0x140], ax
imul eax, dword [ebx + 8], 0x28
mov byte [ebp - 0x13e], cl
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x144], eax
lea eax, [ebp - 0x108]
push eax
push ecx
push ecx
push ecx
mov ecx, edi
call fcn.10016975
add esp, 0x10
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x10027076
cmp dword [ebp - 0x108], eax
jne 0x10025895
push 4
pop eax
mov dl, al
mov ecx, edi
call fcn.1001a151
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x10027076
xor ecx, ecx
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], ecx
jmp 0x10022a72
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x28]
cmp byte [eax], 0
je 0x100258c7
mov ecx, esi
call fcn.1001f61c
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x100232ea
jmp 0x100258cc
xor eax, eax
mov dword [ebp - 0x20], eax
cmp byte [esi + 2], 0
jne 0x10025957
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x100]
xorps xmm0, xmm0
movlpd qword [ebp - 0x100], xmm0
mov edx, dword [esi + 0x28]
push eax
call fcn.10020653
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x100232ea
cmp byte [ebx], 0x86
jne 0x10025938
mov ecx, dword [ebx + 0xc]
mov eax, dword [edi + 0x60]
mov edx, dword [eax + ecx*4]
xor eax, eax
mov byte [edx + 2], al
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xfc]
mov dword [edx + 0x40], eax
xor eax, eax
inc eax
mov dword [edx + 0x44], ecx
mov byte [edx + 3], al
mov eax, dword [ebx + 0x10]
mov dword [edx + 0x18], eax
mov dword [edx + 0x24], esi
jmp 0x10022826
mov edx, ebx
mov ecx, edi
call fcn.10022685
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0xfc]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x10022826
imul eax, dword [ebx + 8], 0x28
mov ecx, 0x2400
mov esi, dword [ebp - 0x1c]
add eax, esi
test word [eax + 8], cx
je 0x10025977
mov ecx, eax
call fcn.1001c683
jmp 0x100227af
xor ecx, ecx
inc ecx
jmp 0x100230c3
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
cmp byte [ebp - 0x2d], 0x27
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x14]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x158], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x150], ax
sbb al, al
mov byte [ebp - 0x14e], al
imul eax, dword [ebx + 0xc], 0x28
add eax, esi
mov dword [ebp - 0x154], eax
xor eax, eax
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.10020748
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 0x20], eax
inc ecx
test byte [ebx], cl
mov ecx, dword [ebp - 0xa8]
je 0x100259e8
neg ecx
jmp 0x100259ec
mov eax, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0xa8], ecx
test eax, eax
jne 0x100232ea
test ecx, ecx
jg 0x10026282
jmp 0x100227af
mov edx, ebx
mov ecx, edi
call fcn.10022685
xor ecx, ecx
mov dword [ebp - 0x44], eax
inc ecx
mov word [eax + 8], cx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xc0]
inc ecx
cmp dword [eax + 0xb4], ecx
jg 0x100270ed
mov eax, dword [ebx + 0xc]
xor ecx, ecx
mov esi, dword [ebx + 4]
mov dword [ebp - 0xa4], ecx
mov ecx, eax
mov dword [ebp - 0x24], eax
add ecx, ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x10]
mov edi, dword [eax + ecx*8 + 4]
mov ecx, edi
call fcn.1001309b
lea eax, [ebp - 0xa4]
mov edx, esi
push eax
mov ecx, edi
call fcn.1001a839
pop ecx
mov ecx, edi
mov dword [ebp - 0x20], eax
call fcn.10013114
mov ecx, dword [ebp - 0x44]
push 4
pop eax
mov word [ecx + 8], ax
mov eax, dword [ebp - 0xa4]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
mov dword [ecx + 4], edx
test eax, eax
jne 0x10027076
cmp dword [ebp - 0xa4], eax
je 0x10026ea9
push dword [ebx + 4]
mov edx, dword [ebp - 0x24]
push dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x14]
call fcn.100374c0
mov al, byte [ebp - 0x24]
pop ecx
inc al
pop ecx
mov byte [ebp - 0x69], al
jmp 0x10022a72
xor ecx, ecx
lea eax, [ebp - 0x24]
xor edx, edx
cmp dword [ebx + 0xc], edx
mov dword [ebp - 0x24], edx
mov edx, dword [ebx + 4]
cmove eax, ecx
mov ecx, dword [ebp - 0x14]
push eax
mov eax, dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.1001a7d1
pop ecx
xor ecx, ecx
mov dword [ebp - 0x20], eax
cmp dword [ebx + 0xc], ecx
je 0x10024b56
mov edx, dword [ebp - 0x24]
add dword [edi + 0x2c], edx
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x10024b56
imul ecx, ecx, 0x28
mov eax, edx
cdq
add dword [ecx + esi], eax
adc dword [ecx + esi + 4], edx
mov eax, dword [ebp - 0x20]
jmp 0x10024b56
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
xor eax, eax
inc eax
cmp byte [ecx], al
jne 0x10025b3e
mov edx, dword [ecx + 0x28]
mov ecx, dword [ebp - 0x14]
call fcn.100288b9
jmp 0x100227af
mov ecx, dword [ecx + 0x28]
call fcn.1001a828
jmp 0x10024b53
mov edx, ebx
mov ecx, edi
call fcn.10022685
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
add edx, edx
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
mov edi, dword [ecx + edx*8 + 4]
mov ecx, edi
call fcn.1001309b
push esi
lea edx, [ebp - 0x9c]
mov ecx, edi
call fcn.1001a442
pop ecx
mov ecx, edi
mov dword [ebp - 0x20], eax
call fcn.10013114
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x18]
test eax, eax
jne 0x100232ea
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x44]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x10022826
mov al, byte [eax + 0x5a]
mov ecx, dword [ebp - 0x14]
inc al
mov byte [ecx + 0x5a], al
xor eax, eax
push eax
push eax
push eax
push dword [ebx + 0x10]
push ecx
call fcn.10041252
mov ecx, dword [ebp - 0x14]
add esp, 0x14
dec byte [ecx + 0x5a]
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x100232ed
jmp 0x10025417
cmp dword [ebx + 0x10], 0
mov esi, dword [ebx + 4]
jne 0x10025c2e
mov eax, dword [eax + 0x10]
mov ecx, esi
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.1003a19b
xor eax, eax
mov edx, esi
pop ecx
mov ecx, dword [ebp - 0x14]
inc eax
push eax
lea eax, [edi + 0x7c]
mov esi, ecx
push eax
and dword [ecx + 0x18], 0xffffffef
call fcn.1004486d
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 0x20], eax
inc ecx
or dword [esi + 0x18], ecx
and dword [edi + 0x98], 0xfffffffc
jmp 0x10025ce7
mov ecx, dword [ebp - 0x14]
push dword [ebx + 0x10]
mov dword [ebp - 0xc8], eax
lea eax, [edi + 0x7c]
mov dword [ebp - 0xc4], eax
xor eax, eax
mov dword [ebp - 0xc0], esi
add esi, esi
mov dword [ebp - 0xb8], eax
mov eax, dword [ecx + 0x10]
push str.sqlite_master
push dword [eax + esi*8]
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
push ecx
call fcn.100073c7
mov esi, eax
add esp, 0x14
test esi, esi
je 0x100270fe
mov eax, dword [ebp - 0x14]
xor ecx, ecx
inc ecx
mov byte [eax + 0xa5], cl
xor ecx, ecx
push ecx
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb4], ecx
lea ecx, [ebp - 0xc8]
push ecx
push fcn.100446d7
push esi
push eax
call fcn.10041252
add esp, 0x14
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x10025cd0
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x10025cd0
cmp dword [ebp - 0xb4], eax
jne 0x10025cd0
mov ecx, 0x15f51
call fcn.10062031
mov dword [ebp - 0x20], eax
mov edx, esi
mov esi, dword [ebp - 0x14]
mov ecx, esi
call fcn.1000590f
xor eax, eax
mov byte [esi + 0xa5], al
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x10027104
jmp 0x10022826
mov edx, dword [ebx + 4]
mov ecx, eax
call fcn.100340a1
jmp 0x10024b53
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, eax
call fcn.1003577c
jmp 0x10022bd4
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, eax
call fcn.10035410
jmp 0x10022bd4
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, eax
call fcn.1004cd0c
jmp 0x10022bd4
imul edi, dword [ebx + 0xc], 0x28
lea eax, [ebp - 0x10c]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebx + 0x10]
push eax
add edx, 4
mov ecx, dword [ecx + 0x10]
add edi, esi
imul esi, dword [ebx + 4], 0x28
mov eax, dword [edi]
add esi, dword [ebp - 0x1c]
inc eax
push eax
movzx eax, word [ebx + 2]
push dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.1001b34e
mov ecx, eax
add esp, 0xc
mov eax, 0x2400
mov dword [ebp - 0x44], ecx
test word [esi + 8], ax
je 0x10025d8e
mov ecx, esi
call fcn.1001c683
mov ecx, dword [ebp - 0x44]
jmp 0x10025d95
xor eax, eax
inc eax
mov word [esi + 8], ax
mov eax, dword [ebp - 0x10c]
test eax, eax
je 0x10025dc5
test ecx, ecx
je 0x10023d59
dec eax
cdq
sub dword [edi], eax
push fcn.100058a1
sbb dword [edi + 4], edx
xor eax, eax
inc eax
mov edx, ecx
push eax
push 0xffffffffffffffff
mov ecx, esi
call fcn.1001ccbd
add esp, 0xc
push 2
pop eax
test byte [esi + 8], al
je 0x10026ea9
mov al, byte [ebp - 0x64]
cmp byte [esi + 0xa], al
je 0x10026ea9
mov dl, al
mov ecx, esi
call fcn.10007848
jmp 0x10022a72
imul esi, dword [ebx + 4], 0x28
imul edi, dword [ebx + 8], 0x28
push 0x10
pop eax
add esi, dword [ebp - 0x1c]
add edi, dword [ebp - 0x1c]
test byte [esi + 8], al
jne 0x10025e10
mov ecx, esi
call fcn.1001cb24
test eax, eax
jne 0x10023d59
push dword [edi + 4]
mov ecx, dword [esi + 0x10]
push dword [edi]
call fcn.1000ce55
pop ecx
jmp 0x10023cd2
imul esi, dword [ebx + 4], 0x28
push 0x10
pop eax
add esi, dword [ebp - 0x1c]
test byte [esi + 8], al
je 0x10025e67
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0x130]
call fcn.1000d071
test eax, eax
je 0x10025e67
imul ecx, dword [ebx + 0xc], 0x28
push dword [ebp - 0x12c]
mov esi, dword [ebp - 0x1c]
push dword [ebp - 0x130]
add ecx, esi
call fcn.1001caf1
pop ecx
pop ecx
xor ecx, ecx
jmp 0x100260ce
mov eax, 0x2400
test word [esi + 8], ax
je 0x10025e7e
mov ecx, esi
call fcn.1001c683
jmp 0x10026b83
xor eax, eax
inc eax
mov word [esi + 8], ax
jmp 0x10026b83
imul esi, dword [ebx + 4], 0x28
imul edi, dword [ebx + 0xc], 0x28
mov eax, dword [ebx + 0x10]
push 0x10
pop ecx
add esi, dword [ebp - 0x1c]
add edi, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
test byte [esi + 8], cl
jne 0x10025eb8
mov ecx, esi
call fcn.1001cb24
test eax, eax
jne 0x10023d59
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x10025eda
push dword [edi + 4]
mov ecx, dword [esi + 0x10]
mov edx, eax
push dword [edi]
call fcn.1000d0bf
pop ecx
pop ecx
test eax, eax
jne 0x1002627f
mov eax, dword [ebp - 0x24]
test eax, eax
js 0x10022a72
jmp 0x10025e10
imul esi, dword [ebx + 0xc], 0x28
xor eax, eax
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x38], edi
add esi, dword [ebp - 0x1c]
cmp word [ebx + 2], ax
je 0x10025f18
mov eax, dword [ebp - 0x18]
mov ecx, dword [edi + 0x14]
mov eax, dword [eax + 0xc8]
jmp 0x10025f14
cmp dword [eax + 0x1c], ecx
je 0x10022a72
mov eax, dword [eax + 4]
test eax, eax
jne 0x10025f08
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + 0xd0]
cmp eax, dword [ecx + 0x94]
jge 0x1002711d
push 0x10
pop eax
test byte [esi + 8], al
jne 0x1002601c
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 8]
add eax, edx
test edx, edx
lea ecx, [eax + 1]
cmovne ecx, eax
mov dword [ebp - 0x24], ecx
lea eax, [ecx + 2]
imul ecx, eax, 0xa
mov eax, dword [edi + 4]
add eax, 7
add ecx, edx
mov eax, eax
test eax, eax
jns 0x10025f66
add eax, 7
sar eax, 3
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x44], eax
cdq
push edx
push eax
call fcn.10005af6
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x10023d59
mov ecx, esi
call fcn.1001c6e1
mov ecx, dword [ebp - 0x24]
mov eax, 0x410
sub ebx, dword [ebp - 0x54]
mov word [esi + 8], ax
mov eax, dword [ebp - 0x44]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x10], edi
mov dword [esi + 0x24], 0x1001e0f1
mov esi, dword [ebp - 0x38]
mov dword [edi], eax
mov dword [edi + 0x3c], ecx
push 0x14
mov eax, dword [esi + 0xc]
mov dword [edi + 0x40], eax
mov eax, ebx
cdq
pop ebx
idiv ebx
mov ebx, dword [ebp - 0x18]
mov dword [edi + 0x30], eax
mov eax, dword [ebx + 0x58]
mov dword [edi + 0x10], eax
mov eax, dword [ebx + 0x18]
mov dword [edi + 0x38], eax
mov eax, dword [ebx + 0x60]
mov dword [edi + 0x14], eax
mov eax, dword [ebx + 0x1c]
mov dword [edi + 0x2c], eax
mov eax, dword [ebx + 0x68]
mov dword [edi + 8], eax
mov eax, dword [ebx + 0x6c]
mov dword [edi + 0x34], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x1c], eax
lea eax, [ecx + 2]
imul ecx, eax, 0x28
lea eax, [edi + 0x50]
add ecx, edi
cmp eax, ecx
je 0x10026025
mov edx, dword [ebp - 0x14]
mov esi, 0x80
mov word [eax + 8], si
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x1002600c
jmp 0x10026022
mov edi, dword [esi + 0x10]
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x14]
lea edx, [edi + 0x50]
xor eax, eax
mov dword [ebp - 0x1c], edx
inc eax
add dword [ebx + 0xd0], eax
mov eax, dword [ebx + 0xc8]
mov dword [edi + 4], eax
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ebp - 0x14]
push 7
mov eax, dword [eax + 0x28]
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ecx
mov eax, dword [ebx + 0x2c]
mov dword [edi + 0x44], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x64]
mov dword [edi + 0x48], eax
mov eax, dword [ebx + 0xdc]
mov dword [edi + 0x28], eax
xor eax, eax
mov dword [ebx + 0xdc], eax
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x58], edx
mov dword [ebx + 0xc8], edi
mov ecx, dword [edi + 0x3c]
mov dword [ebx + 0x18], ecx
movzx eax, word [edi + 0x40]
imul ecx, ecx, 0x28
mov dword [ebx + 0x1c], eax
add ecx, edx
mov dword [ebx + 0x60], ecx
mov eax, dword [esi + 0xc]
pop ebx
lea ecx, [ecx + eax*4]
mov dword [edi + 0x18], ecx
mov eax, dword [esi + 4]
add eax, ebx
cdq
and edx, ebx
add eax, edx
sar eax, 3
push eax
xor eax, eax
push eax
push ecx
call fcn.10064330
mov ecx, dword [esi]
add esp, 0xc
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x54], ecx
lea ebx, [ecx - 0x14]
mov dword [edi + 0x68], ecx
mov eax, dword [esi + 4]
mov dword [edi + 0x6c], eax
xor ecx, ecx
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x110], ecx
jne 0x1002737b
mov edx, dword [ebp - 0x84]
cmp dword [ebp - 0xa0], edx
jb 0x1002371b
mov eax, dword [eax + 0x148]
test eax, eax
je 0x10026e9d
mov ecx, dword [ebp - 0x14]
add edx, dword [ecx + 0x150]
push dword [ecx + 0x14c]
mov dword [ebp - 0x84], edx
call eax
pop ecx
test eax, eax
jne 0x10027191
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xa0], edx
jae 0x100260ef
jmp case.0x10022770.86
mov edx, ebx
mov ecx, edi
call fcn.10022685
mov esi, dword [edi + 0xc8]
mov ecx, 0x1000
push ecx
imul edx, dword [esi + 0x30], 0x14
mov ecx, dword [esi + 8]
mov ecx, dword [edx + ecx + 4]
add ecx, dword [ebx + 4]
imul edx, ecx, 0x28
mov ecx, eax
add edx, dword [esi + 0x10]
call fcn.1001cbd9
jmp 0x1002382d
mov eax, dword [eax + 0x20]
xor ecx, ecx
and eax, 0x80000
or eax, ecx
mov eax, dword [ebx + 8]
cdq
je 0x10026190
mov ecx, dword [ebp - 0x14]
add dword [ecx + 0x1e0], eax
mov eax, ecx
adc dword [eax + 0x1e4], edx
jmp case.0x10022770.86
cmp dword [ebx + 4], ecx
je 0x100261ab
mov ecx, dword [ebp - 0x14]
add dword [ecx + 0x1d8], eax
mov eax, ecx
adc dword [eax + 0x1dc], edx
jmp case.0x10022770.86
add dword [edi + 0x40], eax
adc dword [edi + 0x44], edx
jmp 0x100227af
xor ecx, ecx
cmp dword [ebx + 4], ecx
je 0x100261d4
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + 0x1d8]
or eax, dword [ecx + 0x1dc]
jne 0x10025417
jmp 0x100261e3
mov eax, dword [edi + 0x40]
or eax, dword [edi + 0x44]
jne 0x100227af
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x1e0]
or eax, dword [ecx + 0x1e4]
je 0x10026282
jmp 0x10025417
mov eax, dword [edi + 0xc8]
test eax, eax
jne 0x10026243
imul edi, dword [ebx + 4], 0x28
add edi, esi
mov ecx, edi
call fcn.1001c869
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.1001c869
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x10026ea9
jl 0x10026237
cmp dword [edi], eax
jae 0x10026ea9
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x10022a72
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x10026241
imul edi, dword [ebx + 4], 0x28
add edi, dword [eax + 0x10]
jmp 0x1002620a
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
add ecx, esi
mov edi, dword [ecx + 4]
mov esi, dword [ecx]
cmp edi, edx
jl 0x10026fba
jg 0x10026272
cmp esi, edx
jbe 0x10026fba
mov eax, dword [ebx + 0xc]
cdq
sub esi, eax
mov dword [ecx], esi
sbb edi, edx
mov dword [ecx + 4], edi
mov edi, dword [ebp - 0x18]
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x54]
add ebx, 0xffffffec
add ebx, eax
jmp 0x10022826
imul esi, dword [ebx + 4], 0x28
mov edx, ebx
imul edi, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x18]
add esi, dword [ebp - 0x1c]
add edi, dword [ebp - 0x1c]
call fcn.10022685
mov ecx, dword [esi]
xor edx, edx
mov esi, dword [esi + 4]
mov dword [ebp - 0x2c], eax
cmp esi, edx
jl 0x1002630a
jg 0x100262bf
cmp ecx, edx
jbe 0x1002630a
mov eax, dword [edi + 4]
mov edx, dword [edi]
xor edi, edi
mov dword [ebp - 0x38], eax
cmp eax, edi
jl 0x100262d5
jg 0x100262e6
xor eax, eax
cmp edx, eax
ja 0x100262e6
xorps xmm0, xmm0
movlpd qword [ebp - 0x48], xmm0
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x38], eax
or edi, 0xffffffff
mov eax, 0x7fffffff
sub edi, ecx
sbb eax, esi
cmp eax, dword [ebp - 0x38]
jl 0x10026307
jg 0x100262fd
cmp edi, edx
jb 0x10026307
mov eax, dword [ebp - 0x2c]
add ecx, edx
adc esi, dword [ebp - 0x38]
jmp 0x1002630f
mov eax, dword [ebp - 0x2c]
or ecx, 0xffffffff
or esi, ecx
mov dword [eax], ecx
mov dword [eax + 4], esi
jmp 0x10022a72
imul ecx, dword [ebx + 4], 0x28
add ecx, esi
mov edx, dword [ecx]
mov eax, edx
mov esi, dword [ecx + 4]
or eax, esi
je 0x10022826
xor eax, eax
cmp esi, eax
jl 0x10026282
jg 0x10026342
cmp edx, eax
jbe 0x10026282
sub edx, 1
mov dword [ecx], edx
sbb esi, eax
mov dword [ecx + 4], esi
jmp 0x10026282
imul edx, dword [ebx + 4], 0x28
add edx, esi
mov ecx, dword [edx + 4]
mov eax, dword [edx]
cmp ecx, 0x80000000
jl 0x10026375
jg 0x1002636a
test eax, eax
je 0x10026375
sub eax, 1
mov dword [edx], eax
sbb ecx, 0
mov dword [edx + 4], ecx
or eax, ecx
jmp 0x1002393e
movzx eax, word [ebx + 2]
xor ecx, ecx
mov dword [ebp - 0x24], eax
push ecx
mov ecx, dword [ebp - 0x14]
lea eax, [eax*4 + 0x44]
push eax
call fcn.10005b51
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x10023d5c
mov eax, dword [ebp - 0x24]
xor edx, edx
add eax, 7
mov dword [esi + 8], edx
push 0x14
lea ecx, [esi + eax*4]
xor eax, eax
inc eax
mov dword [esi], ecx
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x14]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x18], edx
mov eax, dword [ebx + 0x10]
mov dword [esi + 4], eax
mov eax, ebx
sub eax, dword [ebp - 0x54]
cdq
pop ecx
idiv ecx
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], eax
xor eax, eax
mov byte [esi + 0x18], al
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x24]
mov byte [esi + 0x19], al
mov word [ebx], 0xf09b
mov dword [ebx + 0x10], esi
imul edx, dword [ebx + 0xc], 0x28
mov esi, dword [ebx + 0x10]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x44], edx
cmp dword [esi + 8], edx
je 0x10026430
movzx ecx, byte [esi + 0x19]
sub ecx, 1
mov dword [esi + 8], edx
js 0x10026430
lea edi, [ecx + 7]
push 4
lea edi, [esi + edi*4]
pop edx
mov eax, dword [ebx + 8]
add eax, ecx
imul eax, eax, 0x28
add eax, dword [ebp - 0x1c]
mov dword [edi], eax
sub edi, edx
sub ecx, 1
jns 0x10026416
mov edx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x18]
inc dword [edx + 0xc]
lea eax, [esi + 0x1c]
cmp dword [ebx + 4], 0
movzx edx, byte [esi + 0x19]
mov ecx, dword [esi + 4]
push eax
push edx
push esi
je 0x1002644b
call dword [ecx + 0x1c]
jmp 0x1002644e
call dword [ecx + 0x10]
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x10026ea9
jle 0x1002647f
mov ecx, dword [esi]
xor eax, eax
lea edx, [eax + 1]
call fcn.1001cf92
push eax
push 0x1007a1e8
push edi
call fcn.1001d40a
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x20], eax
cmp byte [esi + 0x18], 0
je 0x100264c5
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x100264be
imul eax, eax, 0x28
mov ecx, 0x2400
add eax, dword [ebp - 0x1c]
test word [eax + 8], cx
je 0x100264ad
xor ecx, ecx
push ecx
inc ecx
push ecx
mov ecx, eax
call fcn.1001cacf
pop ecx
pop ecx
jmp 0x100264be
xor ecx, ecx
inc ecx
mov dword [eax], ecx
xor ecx, ecx
push 4
mov dword [eax + 4], ecx
pop ecx
mov word [eax + 8], cx
xor eax, eax
mov byte [esi + 0x18], al
jmp 0x100264c7
xor eax, eax
mov ecx, dword [esi]
mov edx, 0x2400
test word [ecx + 8], dx
jne 0x100264d9
cmp dword [ecx + 0x18], eax
je 0x100264de
call fcn.1001c6b3
mov eax, dword [esi]
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
xor eax, eax
mov dword [esi + 0x14], eax
jmp 0x100232df
imul esi, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
add esi, ecx
test eax, eax
je 0x1002651b
push edx
imul edx, eax, 0x28
add edx, ecx
mov ecx, esi
call fcn.1001c644
imul esi, dword [ebx + 0xc], 0x28
pop ecx
add esi, dword [ebp - 0x1c]
jmp 0x10026522
mov ecx, esi
call fcn.1001c5dc
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x1002713b
push 2
pop eax
test byte [esi + 8], al
je 0x10026546
mov al, byte [ebp - 0x64]
cmp byte [esi + 0xa], al
je 0x10026546
mov dl, al
mov ecx, esi
call fcn.10007848
mov ecx, esi
call fcn.1001cb95
test eax, eax
jne 0x100271be
jmp 0x10022826
mov edx, dword [ebx + 4]
xor ecx, ecx
or dword [ebp - 8], 0xffffffff
or dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 8]
push ecx
lea ecx, [ebp - 0xc]
push ecx
push dword [ebx + 8]
mov ecx, eax
call fcn.1006111c
add esp, 0xc
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1002659a
push 5
pop ecx
cmp eax, ecx
jne 0x100232ea
xor eax, eax
mov dword [ebp - 0x20], eax
inc eax
mov dword [ebp - 0x10], eax
imul esi, dword [ebx + 0xc], 0x28
mov ecx, 0x2400
push 4
pop ebx
add esi, dword [ebp - 0x1c]
xor eax, eax
mov edi, eax
mov eax, dword [ebp + edi*4 - 0x10]
cdq
test word [esi + 8], cx
je 0x100265ca
push edx
push eax
mov ecx, esi
call fcn.1001cacf
pop ecx
pop ecx
mov ecx, 0x2400
jmp 0x100265d3
mov dword [esi], eax
mov dword [esi + 4], edx
mov word [esi + 8], bx
inc edi
add esi, 0x28
cmp edi, 3
jl 0x100265ad
jmp 0x10024284
mov edx, ebx
mov ecx, edi
call fcn.10022685
mov edx, dword [ebx + 4]
mov dword [ebp - 0x24], eax
add edx, edx
mov eax, dword [ebp - 0x14]
cmp dword [ebx + 0xc], 0xffffffff
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov dword [ebp - 0x44], eax
mov ecx, dword [eax + 4]
mov edi, dword [ecx]
movzx edx, byte [edi + 5]
mov esi, edx
mov dword [ebp - 0x2c], edx
cmovne esi, dword [ebx + 0xc]
cmp byte [edi + 0x10], 3
jae 0x10026630
mov eax, dword [edi + 0x40]
xor ecx, ecx
cmp dword [eax], ecx
je 0x10026632
cmp dword [edi + 0x4c], ecx
jg 0x10026630
jl 0x10026632
cmp dword [edi + 0x48], ecx
jbe 0x10026632
mov esi, edx
cmp byte [edi + 0xf], 0
mov ecx, 0x10079574
jne 0x10026643
mov ecx, dword [edi + 0xa8]
push 5
pop eax
cmp esi, eax
jne 0x10026673
test ecx, ecx
je 0x100266c0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10026651
sub ecx, edx
test ecx, 0x3fffffff
je 0x100266bd
mov ecx, edi
call fcn.10010be2
mov edx, dword [ebp - 0x2c]
test eax, eax
je 0x100266c0
push 5
pop eax
cmp esi, edx
je 0x100266c2
cmp edx, eax
je 0x1002667f
cmp esi, eax
jne 0x100266c2
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0x4f], 0
je 0x10027158
xor ecx, ecx
inc ecx
cmp dword [eax + 0xb4], ecx
jg 0x10027158
push 5
pop ecx
cmp edx, ecx
jne 0x100266ec
mov edx, eax
mov ecx, edi
call fcn.10010cbb
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x100266c9
mov edx, esi
mov ecx, edi
call fcn.10010b19
jmp 0x10026705
mov edx, dword [ebp - 0x2c]
mov esi, edx
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x100266cc
mov esi, dword [ebp - 0x2c]
mov edx, esi
mov ecx, edi
call fcn.10010b19
mov esi, dword [ebp - 0x24]
mov ecx, 0xa02
mov word [esi + 8], cx
cmp eax, 6
jne 0x1002671d
xor eax, eax
mov ecx, eax
jmp 0x10026726
push 4
pop eax
cmp edx, eax
jne 0x100266ff
push 2
pop eax
mov edx, eax
mov ecx, edi
call fcn.10010b19
cmp dword [ebp - 0x20], 0
jne 0x100266c9
mov ecx, dword [ebp - 0x44]
xor edx, edx
push 5
pop eax
cmp esi, eax
sete dl
inc edx
call fcn.1001b7fb
mov dword [ebp - 0x20], eax
jmp 0x100266c5
mov ecx, dword [eax*4 + 0x1007f9e4]
xor eax, eax
mov dword [esi + 0x10], ecx
test ecx, ecx
jne 0x10026731
mov ecx, eax
jmp 0x10026743
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10026734
sub ecx, edx
and ecx, 0x3fffffff
mov al, byte [ebp - 0x64]
mov dword [esi + 0xc], ecx
xor ecx, ecx
inc ecx
mov byte [esi + 0xa], cl
cmp al, cl
je 0x10025045
mov dl, al
mov ecx, esi
call fcn.10007848
jmp 0x10025045
mov eax, dword [ebx + 8]
test eax, eax
je 0x10026773
imul eax, eax, 0x28
add eax, esi
jmp 0x10026775
xor eax, eax
mov edx, dword [ebp - 0x14]
lea ecx, [edi + 0x7c]
push eax
push dword [ebx + 4]
call fcn.1004edb6
pop ecx
jmp 0x10024b52
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.10015ade
mov dword [ebp - 0x20], eax
test eax, eax
je 0x10026e9d
cmp eax, 0x65
jne 0x100232ea
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x10026282
xor eax, eax
cmp dword [ebx + 4], eax
jne 0x100267f5
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 8]
mov edx, dword [ecx + 4]
test edx, edx
je 0x10025417
lea esi, [eax + 1]
mov eax, dword [edx + 0x98]
mov ecx, esi
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [edx + 0x98], ecx
mov edx, dword [edx + 8]
test edx, edx
jne 0x100267d4
jmp 0x10022826
mov ecx, dword [ebx + 8]
mov eax, dword [edi + 0x98]
inc ecx
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [edi + 0x98], ecx
jmp 0x100227af
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x110], al
test al, al
jne 0x10026832
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20]
and eax, 0x400
mov dword [ebp - 0x48], eax
jne 0x100227af
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 4]
push dword [ebp - 0x110]
mov edx, dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.1001b710
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
je 0x100227af
cmp al, 6
jne 0x100232ea
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
jmp 0x1002714d
mov esi, dword [ebx + 0x10]
mov ecx, eax
mov edx, esi
call fcn.1004fec4
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100232e2
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.10020896
jmp 0x100232df
imul edx, dword [ebx + 8], 0x28
lea edi, [ebp - 0xd8]
push 0xa
xor eax, eax
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0xd8]
add edx, esi
mov dword [ebp - 0xb8], eax
call fcn.1001cc2a
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0xd8]
xor eax, eax
lea edx, [eax + 1]
call fcn.1001cf92
mov edi, dword [ebp - 0x18]
test eax, eax
je 0x100268ec
mov edx, dword [ebx + 4]
lea ecx, [edi + 0x7c]
push ecx
mov ecx, dword [ebp - 0x14]
push eax
call fcn.1004fb48
pop ecx
pop ecx
mov dword [ebp - 0x20], eax
mov eax, 0x2400
test dword [ebp - 0xd0], eax
jne 0x10026906
cmp dword [ebp - 0xc0], 0
je 0x10025b16
lea ecx, [ebp - 0xd8]
call fcn.1001c6b3
jmp 0x10025b16
mov eax, dword [eax + 0xc0]
mov ecx, dword [ebp - 0x14]
inc eax
mov dword [ecx + 0xc0], eax
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.1004fdd2
pop ecx
mov ecx, dword [ebp - 0x14]
dec dword [ecx + 0xc0]
jmp 0x10025bd5
xor eax, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x1002718a
mov edi, dword [esi]
test edi, edi
je 0x10027187
lea eax, [ebp - 0x2c]
push eax
push esi
call dword [edi + 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
mov edx, esi
mov dword [ebp - 0x20], eax
call fcn.10020896
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x10027076
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x18]
push 2
mov dword [eax], esi
mov edx, dword [ebx + 4]
pop eax
push eax
xor eax, eax
push 0xffffffffffffffff
push eax
call fcn.100223d4
add esp, 0xc
test eax, eax
je 0x1002717b
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x28], ecx
inc dword [esi + 4]
jmp 0x10022a72
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
imul edx, dword [ebx + 0xc], 0x28
mov edi, dword [edi + 0x5c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x38], eax
add edx, esi
mov esi, dword [eax + 0x28]
mov ecx, dword [edx + 0x28]
mov eax, dword [esi]
mov dword [ebp - 0x5c], eax
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [edx]
mov dword [ebp - 0x44], eax
xor eax, eax
test ecx, ecx
jle 0x100269ef
add edx, 0x50
mov dword [edi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x100269e4
push edi
mov edi, dword [ebp - 0x24]
push ecx
push dword [ebx + 0x10]
push dword [ebp - 0x44]
push esi
call dword [edi + 0x20]
mov edx, dword [ebp - 0x5c]
add esp, 0x14
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
call fcn.10020896
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x10027076
push esi
call dword [edi + 0x28]
pop ecx
mov ecx, dword [ebp - 0x38]
xor edx, edx
mov byte [ecx + 2], dl
test eax, eax
je 0x10022a72
jmp 0x1002627f
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
imul esi, dword [ebx + 0xc], 0x28
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x44], eax
add esi, dword [ebp - 0x1c]
cmp byte [eax + 2], 0
je 0x10026a64
mov eax, 0x2400
test word [esi + 8], ax
jne 0x1002384d
xor eax, eax
inc eax
jmp 0x10022a05
mov eax, dword [eax + 0x28]
lea edi, [ebp - 0xd0]
push 8
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
pop eax
mov ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
xor ecx, ecx
mov dword [ebp - 0xd0], esi
inc ecx
test byte [ebx + 2], cl
je 0x10026aa0
mov ecx, esi
call fcn.1001ca85
xor eax, eax
mov dword [esi], eax
mov eax, 0x4001
jmp 0x10026ab2
mov ax, word [esi + 8]
mov edx, 0x3e40
and ax, dx
or ax, cx
movzx eax, ax
mov word [esi + 8], ax
lea eax, [ebp - 0xd0]
push dword [ebx + 8]
push eax
mov eax, dword [ebp - 0x44]
push dword [eax + 0x28]
mov eax, dword [ebp - 0x24]
call dword [eax + 0x2c]
mov edi, dword [ebp - 0x18]
add esp, 0xc
mov edx, dword [ebp - 0x5c]
mov ecx, edi
mov dword [ebp - 0x20], eax
call fcn.10020896
cmp dword [ebp - 0xbc], 0
jle 0x10026b07
push esi
call fcn.10020bf3
pop ecx
push eax
push 0x1007a1e8
push edi
call fcn.1001d40a
mov eax, dword [ebp - 0xbc]
add esp, 0xc
mov dword [ebp - 0x20], eax
push 2
pop eax
test byte [esi + 8], al
je 0x10026b20
mov al, byte [ebp - 0x64]
cmp byte [esi + 0xa], al
je 0x10026b20
mov dl, al
mov ecx, esi
call fcn.10007848
mov ecx, esi
call fcn.1001cb95
test eax, eax
jne 0x100271be
jmp 0x100232df
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x10023493
mov eax, dword [edi + 0x28]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0x44], ecx
call dword [ecx + 0x24]
pop ecx
mov ecx, dword [ebp - 0x18]
mov edx, esi
mov dword [ebp - 0x20], eax
call fcn.10020896
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x10027076
mov eax, dword [ebp - 0x44]
push dword [edi + 0x28]
call dword [eax + 0x28]
mov edi, dword [ebp - 0x18]
pop ecx
test eax, eax
jne 0x100260c9
mov esi, dword [ebp - 0x1c]
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x54]
add ebx, 0xffffffec
add ebx, eax
jmp 0x10025e60
mov edi, dword [eax + 0x20]
mov ecx, 0x4000000
or dword [eax + 0x20], ecx
and edi, ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
push 2
mov dword [ecx + 0x24], eax
imul esi, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0x10]
add esi, dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
pop eax
mov dword [ebp - 0x24], ecx
test byte [esi + 8], al
je 0x10026be1
xor eax, eax
inc eax
cmp byte [esi + 0xa], al
je 0x10026be1
mov dl, al
mov ecx, esi
call fcn.10007848
test eax, eax
jne 0x10027076
mov ecx, dword [ebp - 0x24]
push dword [esi + 0x10]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x4c]
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test edi, edi
jne 0x10026c03
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x24]
and dword [ecx + 0x20], 0xfbffffff
mov dword [ecx + 0x24], eax
mov edi, dword [ebp - 0x18]
mov ecx, edi
mov edx, dword [ebp - 0x24]
call fcn.10020896
jmp 0x10024843
cmp byte [eax + 0x51], 0
jne 0x10023d5c
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 8]
mov dword [ebp - 0x44], esi
test esi, esi
je 0x1002718a
mov edi, dword [esi]
test edi, edi
je 0x10027187
mov edx, dword [ebx + 8]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
cmp dword [edi + 0x34], ecx
je 0x10026fba
mov al, byte [eax + 0x56]
mov byte [ebp - 0x2d], al
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x24], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1c]
test edx, edx
jle 0x10026c76
mov esi, dword [ebp - 0x24]
mov dword [esi + ecx*4], eax
add eax, 0x28
inc ecx
cmp ecx, edx
jl 0x10026c68
mov esi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x14]
mov al, byte [ebx + 2]
mov byte [ecx + 0x56], al
lea eax, [ebp - 0x138]
push eax
push dword [ebp - 0x24]
push edx
push esi
call dword [edi + 0x34]
mov ecx, dword [ebp - 0x14]
add esp, 0x10
mov edi, dword [ebp - 0x18]
mov edx, esi
mov dword [ebp - 0x20], eax
mov al, byte [ebp - 0x2d]
mov byte [ecx + 0x56], al
mov ecx, edi
call fcn.10020896
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x10026cd9
xor ecx, ecx
cmp dword [ebx + 4], ecx
je 0x10026cd1
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x134]
mov dword [edx + 0x28], eax
mov eax, edx
mov dword [eax + 0x2c], ecx
mov eax, dword [ebp - 0x20]
inc dword [edi + 0x2c]
jmp 0x100232e2
cmp al, 0x13
jne 0x10026cd1
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x10026cce
movzx ecx, word [ebx + 2]
push 4
pop eax
cmp cx, ax
jne 0x100271a1
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x10022826
mov edx, ebx
mov ecx, edi
call fcn.10022685
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebx + 4]
add edx, edx
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x2c]
mov dword [eax], ecx
xor ecx, ecx
jmp 0x100228de
mov edx, ebx
mov ecx, edi
call fcn.10022685
mov edx, dword [ebx + 4]
mov edi, eax
mov eax, dword [ebp - 0x14]
add edx, edx
mov esi, dword [ebx + 0xc]
mov ecx, dword [eax + 0x10]
xor eax, eax
mov ecx, dword [ecx + edx*8 + 4]
mov edx, eax
test esi, esi
je 0x10026d57
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x2c]
cmp edx, esi
cmovb edx, esi
call fcn.10014fba
cdq
jmp 0x100255a1
movzx eax, word [ebx + 2]
xor ecx, ecx
mov dword [ebp - 0x44], eax
push ecx
mov ecx, dword [ebp - 0x14]
lea eax, [eax*4 + 0x1c]
push eax
call fcn.10005b51
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x10023d5c
xor eax, eax
mov dword [esi], eax
mov eax, ebx
mov ecx, dword [ebx + 0x10]
sub eax, dword [ebp - 0x54]
mov dword [esi + 4], ecx
push 0x14
cdq
pop ecx
idiv ecx
push 2
mov dword [esi + 0x10], eax
xor eax, eax
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x44]
mov byte [esi + 0x19], al
mov dword [esi + 0xc], edi
pop eax
add byte [ebx], al
mov byte [ebx + 1], 0xf0
mov dword [ebx + 0x10], esi
imul edi, dword [ebx + 0xc], 0x28
mov esi, dword [ebx + 0x10]
add edi, dword [ebp - 0x1c]
cmp dword [esi], edi
je 0x10026df0
movzx ecx, byte [esi + 0x19]
sub ecx, 1
mov dword [esi], edi
js 0x10026df0
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
mov eax, dword [ebx + 8]
add eax, ecx
imul eax, eax, 0x28
push 4
add eax, dword [ebp - 0x1c]
mov dword [edx], eax
pop eax
sub edx, eax
sub ecx, 1
jns 0x10026dd9
mov ax, word [edi + 8]
mov ecx, 0x3e40
and ax, cx
xor ecx, ecx
inc ecx
or ax, cx
mov word [edi + 8], ax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x19]
push eax
push esi
call dword [ecx + 0x10]
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x10026e6e
jle 0x10026e45
xor eax, eax
mov ecx, edi
lea edx, [eax + 1]
call fcn.1001cf92
push eax
push 0x1007a1e8
push dword [ebp - 0x18]
call fcn.1001d40a
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x20], eax
push dword [ebx + 4]
mov edx, dword [ebp - 0x18]
push dword [esi + 0x10]
mov ecx, dword [ebp - 0x14]
lea edx, [edx + 0xdc]
call fcn.1001f47c
xor eax, eax
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x20]
pop ecx
pop ecx
test eax, eax
jne 0x10027076
movzx eax, word [edi + 8]
test al, 0x12
je 0x10026ea9
push 2
pop ecx
test cl, al
je 0x10026e8e
mov al, byte [ebp - 0x64]
cmp byte [edi + 0xa], al
je 0x10026e8e
mov dl, al
mov ecx, edi
call fcn.10007848
mov ecx, edi
call fcn.1001cb95
mov edi, dword [ebp - 0x18]
jmp 0x1002654d
mov eax, dword [ebp - 0x14]
jmp 0x1002371b
mov eax, ecx
jmp 0x10026eac
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
jmp 0x1002371b
mov cl, byte [eax + 0x58]
test cl, 0x41
je 0x10026f6c
push 0x10
pop eax
test byte [edi + 0x98], al
jne 0x10026f6c
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x10026ee4
mov eax, dword [edi + 0xc0]
test eax, eax
je 0x10026f6c
test cl, 0x40
mov ecx, dword [ebp - 0x14]
je 0x10026f18
mov edi, dword [ecx + 0xcc]
mov edx, eax
mov ecx, dword [ebp - 0x18]
call fcn.100220e5
mov esi, eax
mov eax, dword [ebp - 0x14]
push esi
push dword [eax + 0xd0]
call edi
push esi
call fcn.100058a1
mov edi, dword [ebp - 0x18]
add esp, 0xc
jmp 0x10026f56
xor edx, edx
inc edx
push eax
cmp dword [ecx + 0xbc], edx
jle 0x10026f5b
push str.____s
push ecx
call fcn.100073c7
add esp, 0xc
mov esi, eax
mov eax, dword [ebp - 0x14]
xor ecx, ecx
inc ecx
push esi
push edi
push dword [eax + 0xd0]
push ecx
call dword [eax + 0xcc]
mov ecx, dword [ebp - 0x14]
add esp, 0x10
mov edx, esi
call fcn.10005940
mov esi, dword [ebp - 0x1c]
jmp 0x10026f6c
push edi
push dword [ecx + 0xd0]
push edx
call dword [ecx + 0xcc]
add esp, 0x10
mov eax, dword [ebx + 4]
cmp eax, dword [0x10087bd8]
jl 0x10026fab
cmp byte [ebx], 0xa8
je 0x100227af
xor eax, eax
inc eax
mov ecx, eax
cmp dword [edi + 0x6c], eax
jle 0x10026fa9
push 0x14
pop esi
mov eax, esi
xor ebx, ebx
mov edx, dword [edi + 0x68]
cmp byte [eax + edx], 0x11
jne 0x10026f9e
mov dword [eax + edx + 4], ebx
inc ecx
add eax, esi
cmp ecx, dword [edi + 0x6c]
jl 0x10026f91
mov ebx, dword [ebp - 0x34]
xor eax, eax
inc eax
mov dword [ebx + 4], eax
inc dword [edi + 0xbc]
jmp 0x10026282
mov edi, dword [ebp - 0x18]
jmp 0x10023858
mov edi, dword [ebp - 0x18]
mov dword [edi + 0x28], ecx
mov al, byte [ebx + 8]
mov byte [edi + 0x92], al
mov dword [edi + 0x24], esi
test ecx, ecx
je 0x10027042
movzx eax, word [ebx + 2]
test ax, ax
je 0x10027017
push dword [eax*4 + 0x1007f7e8]
push str._s_constraint_failed
push edi
call fcn.1001d40a
add esp, 0xc
cmp dword [ebx + 0x10], 0
je 0x10027028
push dword [ebx + 0x10]
push dword [edi + 0x7c]
push str._z:__s
push dword [ebp - 0x14]
call fcn.100073c7
add esp, 0x10
mov dword [edi + 0x7c], eax
jmp 0x10027028
push dword [ebx + 0x10]
push 0x1007a1e8
push edi
call fcn.1001d40a
add esp, 0xc
push dword [edi + 0x7c]
push dword [edi + 0xc0]
push esi
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.10007565
add esp, 0x14
mov ecx, edi
call fcn.1001f058
mov edx, dword [ebp - 0x14]
push 5
pop ecx
mov dword [ebp - 0x20], eax
cmp eax, ecx
je 0x100270b6
push 0x65
pop eax
xor ecx, ecx
cmp dword [edi + 0x28], ecx
push 1
pop ecx
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x100233a1
mov ecx, 0x152d5
call fcn.10062031
mov edi, dword [ebp - 0x18]
jmp 0x100232ea
push str.cannot_open_savepoint___SQL_statements_in_progress
mov edi, dword [ebp - 0x18]
push edi
call fcn.1001d40a
pop ecx
pop ecx
push 5
pop eax
jmp 0x100232ea
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x10027083
mov eax, ebx
sub eax, dword [ebp - 0x54]
push 0x14
cdq
pop esi
idiv esi
mov dword [edi + 0x24], eax
xor eax, eax
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
mov byte [edx + 0x4f], al
mov dword [edi + 0x28], ecx
jmp 0x100233a1
push 8
jmp 0x10027090
push 0x14
cmp al, 5
jne 0x1002739d
mov eax, ebx
sub eax, dword [ebp - 0x54]
cdq
pop ecx
idiv ecx
mov dword [edi + 0x24], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 0x28], eax
jmp 0x1002339e
mov eax, 0x204
jmp 0x100232ea
push 6
pop eax
push 2
pop ecx
mov byte [edi + 0x92], cl
jmp 0x100232ea
push 7
pop eax
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x14]
call fcn.10035598
mov eax, dword [ebp - 0x20]
cmp eax, 7
je 0x10023d5c
jmp 0x100232ea
mov edi, dword [ebp - 0x18]
xor eax, eax
inc eax
push str.too_many_levels_of_trigger_recursion
push edi
mov dword [ebp - 0x20], eax
call fcn.1001d40a
pop ecx
pop ecx
mov eax, dword [ebp - 0x20]
jmp 0x100232ea
xor eax, eax
mov ecx, esi
lea edx, [eax + 1]
call fcn.1001cf92
push eax
push 0x1007a1e8
push edi
call fcn.1001d40a
add esp, 0xc
jmp 0x10027133
mov edi, dword [ebp - 0x18]
xor eax, eax
push 5
inc eax
mov ecx, str.out_of
pop edx
mov dword [ebp - 0x20], eax
cmp esi, edx
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
jmp 0x1002714d
push dword [ebp - 0x2c]
call dword [edi + 0x1c]
pop ecx
jmp 0x10023d59
mov edi, dword [ebp - 0x18]
push 6
jmp 0x10027090
or ecx, 0xffffffff
mov dword [ebp - 0x84], ecx
push 9
jmp 0x10027090
push 5
pop edx
movzx eax, cl
cmp cx, dx
push 2
pop ecx
cmove eax, ecx
mov byte [edi + 0x92], al
jmp 0x10027133
mov edi, dword [ebp - 0x18]
push str.string_or_blob_too_big
push edi
call fcn.1001d40a
pop ecx
pop ecx
push 0x12
jmp 0x10027090
xor edx, edx
mov ecx, edi
call fcn.1001effd
test eax, eax
jne 0x100232ea
lea edx, [eax + 1]
mov ecx, edi
call fcn.1001efe0
mov eax, dword [edi + 0x20]
push 2
pop ecx
add eax, ecx
xor ecx, ecx
inc ecx
or eax, ecx
mov dword [edi + 0x20], eax
imul eax, dword [ebx + 4], 0x28
add esi, eax
xor eax, eax
mov dword [edi + 0x78], esi
mov edi, eax
cmp dword [ebx + 8], eax
jle 0x1002724f
mov eax, 0x1000
test word [esi + 8], ax
je 0x10027229
mov ecx, esi
call fcn.1001c4b5
test eax, eax
jne 0x10023d59
mov ax, word [esi + 8]
mov ecx, 0x202
and ax, cx
push 2
pop ecx
cmp ax, cx
jne 0x10027244
mov ecx, esi
call fcn.1001c46f
inc edi
add esi, 0x28
cmp edi, dword [ebx + 8]
jl 0x1002720f
xor eax, eax
mov edi, dword [ebp - 0x14]
cmp byte [edi + 0x51], 0
jne 0x10023d59
push 4
pop ecx
test byte [edi + 0x58], cl
mov edi, dword [ebp - 0x18]
je 0x1002727c
push eax
mov eax, dword [ebp - 0x14]
push edi
push dword [eax + 0xd0]
push ecx
call dword [eax + 0xcc]
add esp, 0x10
mov eax, ebx
mov dword [ebp - 0x20], 0x64
sub eax, dword [ebp - 0x54]
push 0x14
cdq
pop ecx
idiv ecx
inc eax
mov dword [edi + 0x24], eax
jmp 0x1002339e
mov edx, dword [ebx + 4]
lea esi, [eax + 0x4f]
movzx eax, byte [esi]
mov edi, dword [ebx + 8]
mov dword [ebp - 0x9c], edx
cmp edx, eax
je 0x10027351
test edi, edi
je 0x100272cc
mov ecx, dword [ebp - 0x14]
mov edx, 0x204
call fcn.100606d5
mov edi, dword [ebp - 0x18]
xor ecx, ecx
inc ecx
mov al, cl
jmp 0x10027307
test edx, edx
je 0x100272e7
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp dword [eax + 0xb8], ecx
jle 0x100272e7
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x10027083
mov edi, dword [ebp - 0x18]
xor eax, eax
mov ecx, edi
lea edx, [eax + 1]
call fcn.1001effd
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x1002339e
mov al, byte [ebp - 0x9c]
mov ecx, edi
mov byte [esi], al
call fcn.1001f058
push 5
pop ecx
cmp eax, ecx
jne 0x10027333
mov eax, ebx
sub eax, dword [ebp - 0x54]
cdq
push 0x14
pop esi
idiv esi
mov dword [edi + 0x24], eax
xor eax, eax
inc eax
sub al, byte [ebp - 0x9c]
jmp 0x100270ad
mov ecx, dword [ebp - 0x14]
call fcn.100602a7
push 0x65
pop eax
xor ecx, ecx
cmp dword [edi + 0x28], ecx
push 1
pop ecx
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x1002339e
test edi, edi
mov eax, str.cannot_commit___no_transaction_is_active
mov edi, dword [ebp - 0x18]
mov ecx, str.cannot_rollback___no_transaction_is_active
cmove ecx, eax
test edx, edx
mov eax, str.cannot_start_a_transaction_within_a_transaction
cmovne eax, ecx
push eax
push edi
call fcn.1001d40a
pop ecx
pop ecx
jmp 0x100243ea
mov ecx, dword [ebp - 0x14]
push 9
pop eax
push 7
cmp byte [ecx + 0x51], 0
pop ecx
cmovne eax, ecx
mov ecx, eax
mov dword [ebp - 0x20], eax
mov dword [edi + 0x28], eax
call fcn.100607e1
jmp 0x10027147
mov ecx, dword [ebp - 0x14]
jmp 0x100232ef
add dword [edi + 0xb4], esi
xor eax, eax
cmp dword [edi + 0xa0], eax
je 0x100273bc
mov ecx, edi
call fcn.1001dfff
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x20]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.10062a0a
leave
ret