Function at 0x1007c830
Capabilities:
Reference sql statements

Disassembly:
sub esp, 0x120
push ebx
push ebp
mov ebp, dword [esp + 0x12c]
push esi
push edi
xor ebx, ebx
mov esi, dword [ebp]
mov eax, dword [ebp + 4]
mov edi, dword [ebp + 8]
mov dword [esp + 0x108], eax
mov ecx, dword [esi + 0x10]
push ebp
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ebx
mov edx, dword [ecx + 0xc]
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x20], esi
mov byte [esp + 0x108], bl
mov al, byte [edx + 0x4d]
mov edx, dword [esi + 0x24]
mov byte [esp + 0xec], al
mov dword [esp + 0x100], ebx
mov dword [esp + 0xf0], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x104], ebx
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], edx
call fcn.10078820
mov eax, dword [ebp + 0x58]
add esp, 4
cmp eax, 7
je 0x100816b2
mov dword [ebp + 0x58], ebx
mov dword [ebp + 0x14], ebx
mov dword [esi + 0x1b4], ebx
mov eax, dword [esi + 0xe0]
cmp eax, ebx
jne 0x100817fa
mov ecx, dword [esi + 0x114]
xor eax, eax
cmp ecx, ebx
mov ecx, dword [ebp + 0x54]
setne al
mov dword [esp + 0x118], eax
mov dword [esp + 0x14], ecx
jmp 0x1007c8fd
mov edi, dword [esp + 0xec]
mov edx, dword [esp + 0x1c]
mov al, byte [edx + 0x36]
test al, al
jne 0x100816b2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x108]
mov ebx, edx
lea eax, [eax + eax*4]
lea esi, [ecx + eax*4]
mov eax, dword [esp + 0x118]
test eax, eax
je 0x1007c961
mov edx, dword [ebx + 0x11c]
mov eax, dword [esp + 0xfc]
cmp edx, eax
jne 0x1007c95a
mov eax, dword [ebx + 0x118]
push eax
call dword [ebx + 0x114]
add esp, 4
test eax, eax
jne 0x10081563
mov dword [esp + 0xfc], eax
inc dword [esp + 0xfc]
test byte [esi + 2], 2
je 0x1007c992
mov eax, dword [esi + 8]
lea ecx, [eax + eax*4]
test word [edi + ecx*8 + 0x1c], 0x2460
lea eax, [edi + ecx*8]
mov dword [esp + 0x18], eax
je 0x1007c98c
mov edx, eax
push edx
call fcn.10077e70
mov eax, dword [esp + 0x1c]
add esp, 4
mov word [eax + 0x1c], 4
xor eax, eax
mov al, byte [esi]
dec eax
cmp eax, 0x93
ja case.default.0x1007c9a2
jmp dword [eax*4 + 0x100818f8]
mov eax, dword [ebx + 0xe0]
test eax, eax
jne 0x100817fa
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [esp + 0x14]
cdq
mov dword [ecx + 0x10], eax
mov word [ecx + 0x1c], 4
mov dword [ecx + 0x14], edx
mov ecx, dword [esi + 8]
dec ecx
mov dword [esp + 0x14], ecx
jmp case.default.0x1007c9a2
mov esi, dword [esi + 4]
lea edx, [esi + esi*4]
mov eax, dword [edi + edx*8 + 0x10]
mov dword [esp + 0x14], eax
jmp case.default.0x1007c9a2
mov esi, dword [esi + 4]
mov eax, dword [esp + 0x14]
lea ecx, [esi + esi*4]
mov edx, dword [edi + ecx*8 + 0x10]
lea ecx, [edi + ecx*8]
mov word [ecx + 0x1c], 4
mov dword [esp + 0x20], edx
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
jmp case.default.0x1007c9a2
mov eax, dword [esi + 0xc]
lea ecx, [eax + eax*4]
test byte [edi + ecx*8 + 0x1c], 1
je case.default.0x1007c9a2
mov eax, dword [esi + 4]
test eax, eax
jne 0x10081570
mov edi, dword [ebp + 0xa8]
test edi, edi
je 0x10081570
mov edx, dword [edi + 4]
mov eax, dword [ebp + 0x68]
mov dword [ebp + 0xa8], edx
mov edx, dword [ebp + 0xb0]
dec edx
push eax
push ebx
mov dword [ebp + 0xb0], edx
call fcn.1007a1c0
push edi
call fcn.100798a0
mov ecx, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esi + 8]
add esp, 0xc
cmp ecx, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0xf4], edx
jne 0x1007caaf
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
dec edx
mov dword [esp + 0x14], edx
mov eax, dword [ebp + 4]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x108], eax
mov dword [esp + 0xec], ecx
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x18]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x1007c9a2
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x18]
mov ecx, dword [edx]
mov dword [eax + 0x10], ecx
mov edx, dword [edx + 4]
mov dword [eax + 0x14], edx
jmp case.default.0x1007c9a2
mov eax, dword [esp + 0x18]
mov word [eax + 0x1c], 8
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 0xc], ecx
jmp case.default.0x1007c9a2
mov edx, dword [esi + 0x10]
mov byte [esi], 9
push edx
call fcn.1006b360
mov dword [esi + 4], eax
mov al, byte [esp + 0xec]
add esp, 4
cmp al, 1
je 0x1007cbb6
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x18]
push 0
push 1
push 0xffffffffffffffff
push eax
push ecx
call fcn.10077a20
add esp, 0x14
cmp eax, 0x12
mov dword [esp + 0x10], eax
je 0x10081829
mov edx, dword [esp + 0xe8]
mov edi, dword [esp + 0x18]
and edx, 0xff
push edx
push edi
call fcn.1007a450
add esp, 8
test eax, eax
jne 0x100816b2
mov dword [edi + 0x24], eax
mov ax, word [edi + 0x1c]
and eax, 0xfbff
or ah, 8
mov word [edi + 0x1c], ax
mov al, byte [esi + 1]
cmp al, 0xff
jne 0x1007cba2
mov ecx, dword [esi + 0x10]
mov edx, dword [esp + 0x1c]
push ecx
push edx
call fcn.1006aec0
add esp, 8
mov ebx, dword [esp + 0x1c]
mov byte [esi + 1], 0xff
mov eax, dword [edi + 4]
mov dword [esi + 0x10], eax
mov ecx, dword [edi + 0x18]
mov dword [esi + 4], ecx
mov edx, dword [esi + 4]
mov eax, dword [ebx + 0x4c]
cmp edx, eax
jg 0x10081829
mov eax, dword [esp + 0x18]
mov word [eax + 0x1c], 0xa02
mov ecx, dword [esi + 0x10]
mov dword [eax + 4], ecx
mov edx, dword [esi + 4]
mov cl, byte [esp + 0xe8]
mov dword [eax + 0x18], edx
mov byte [eax + 0x1f], cl
jmp case.default.0x1007c9a2
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 8]
mov eax, dword [esp + 0x18]
sub edx, edi
mov dword [esp + 0x20], edx
mov word [eax + 0x1c], 1
mov ecx, dword [esp + 0x20]
test ecx, ecx
jle case.default.0x1007c9a2
add eax, 0x28
mov dword [esp + 0x18], eax
test word [eax + 0x1c], 0x2460
je 0x1007cc27
push eax
call fcn.10077e70
mov eax, dword [esp + 0x1c]
add esp, 4
mov word [eax + 0x1c], 1
mov ecx, dword [esp + 0x20]
dec ecx
test ecx, ecx
mov dword [esp + 0x20], ecx
jg 0x1007cc0b
jmp case.default.0x1007c9a2
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x10]
mov esi, dword [esp + 0x18]
push 0
push 0
push ecx
push edx
push esi
call fcn.10077a20
mov al, byte [esp + 0xfc]
add esp, 0x14
mov byte [esi + 0x1f], al
jmp case.default.0x1007c9a2
mov esi, dword [esi + 4]
mov edx, dword [ebp + 0x44]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*8 - 0x28]
push eax
mov dword [esp + 0x24], eax
call fcn.10087ea0
add esp, 4
test eax, eax
jne 0x10081829
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
push 0x800
push eax
push ecx
call fcn.10087ed0
add esp, 0xc
jmp case.default.0x1007c9a2
mov eax, dword [esi + 0xc]
mov dword [esp + 0x24], eax
mov ecx, dword [esi + 4]
mov dword [esp + 0x28], ecx
mov esi, dword [esi + 8]
lea edx, [ecx + ecx*4]
mov dword [esp + 0x2c], esi
lea ecx, [esi + esi*4]
lea ebx, [edi + edx*8]
mov edx, eax
lea edi, [edi + ecx*8]
dec eax
test edx, edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x24], eax
je case.default.0x1007c9a2
xor esi, esi
mov eax, dword [edi + 0x24]
push ebx
mov dword [esp + 0x24], eax
push edi
mov dword [edi + 0x24], esi
call fcn.1007c680
mov ecx, dword [esp + 0x28]
add esp, 8
mov dword [ebx + 0x24], ecx
mov eax, dword [esp + 0x24]
add ebx, 0x28
add edi, 0x28
mov edx, eax
dec eax
test edx, edx
mov dword [esp + 0x24], eax
jne 0x1007ccdb
mov dword [esp + 0x18], edi
jmp case.default.0x1007c9a2
mov eax, dword [esi + 8]
mov esi, dword [esi + 4]
push 0x1000
lea ecx, [esi + esi*4]
lea eax, [eax + eax*4]
lea edx, [edi + ecx*8]
lea ebx, [edi + eax*8]
push edx
push ebx
mov dword [esp + 0x24], ebx
call fcn.10087ed0
add esp, 0xc
test byte [ebx + 0x1d], 0x10
je case.default.0x1007c9a2
push ebx
call fcn.10077d60
add esp, 4
test eax, eax
jne 0x100816b2
jmp case.default.0x1007c9a2
mov eax, dword [esi + 8]
mov esi, dword [esi + 4]
push 0x1000
lea ecx, [esi + esi*4]
lea eax, [eax + eax*4]
lea edx, [edi + ecx*8]
lea eax, [edi + eax*8]
push edx
push eax
mov dword [esp + 0x24], eax
call fcn.10087ed0
add esp, 0xc
jmp case.default.0x1007c9a2
push 0
push ebp
call fcn.1007a080
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x1007c9a2
push 1
push ebp
call fcn.10079f00
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x100815ff
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov eax, dword [esi + 8]
mov esi, dword [esi + 0xc]
lea ecx, [eax + eax*4]
mov ax, word [ebx + 0x1c]
lea edx, [esi + esi*4]
lea ebp, [edi + ecx*8]
mov cl, al
lea esi, [edi + edx*8]
mov dl, byte [ebp + 0x1c]
mov dword [esp + 0x18], esi
or cl, dl
test cl, 1
je 0x1007cdf3
push esi
call fcn.10077f90
add esp, 4
jmp case.default.0x1007c9a2
test ah, 0x40
je 0x1007ce09
push ebx
call fcn.10077dc0
add esp, 4
test eax, eax
jne 0x100816b2
test byte [ebp + 0x1d], 0x40
je 0x1007ce20
push ebp
call fcn.10077dc0
add esp, 4
test eax, eax
jne 0x100816b2
test byte [ebx + 0x1c], 0x12
jne 0x1007ce45
mov edx, dword [esp + 0xe8]
and edx, 0xff
push edx
push ebx
call fcn.1007a920
add esp, 8
test eax, eax
jne 0x100816b2
test byte [ebp + 0x1c], 0x12
jne 0x1007ce69
mov eax, dword [esp + 0xe8]
and eax, 0xff
push eax
push ebp
call fcn.1007a920
add esp, 8
test eax, eax
jne 0x100816b2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebx + 0x18]
add eax, ecx
cdq
mov ecx, edx
mov edx, dword [esp + 0x1c]
mov esi, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], esi
mov eax, dword [edx + 0x4c]
cdq
cmp ecx, edx
jg 0x10081829
jl 0x1007ce98
cmp esi, eax
ja 0x10081829
mov esi, dword [esp + 0x18]
xor ecx, ecx
mov ax, word [esi + 0x1c]
and eax, 0xbf02
or al, 2
cmp esi, ebp
mov word [esi + 0x1c], ax
mov edx, dword [esp + 0x20]
sete cl
add edx, 2
push ecx
push edx
push esi
call fcn.10077c40
add esp, 0xc
test eax, eax
jne 0x100816b2
cmp esi, ebp
je 0x1007ceed
mov ecx, dword [ebp + 0x18]
mov eax, dword [esp + 0x18]
mov esi, dword [ebp + 4]
mov edx, ecx
mov edi, dword [eax + 4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x1007cef1
mov eax, dword [esp + 0x18]
mov ecx, dword [ebx + 0x18]
mov edi, dword [ebp + 0x18]
mov ebp, dword [eax + 4]
mov esi, dword [ebx + 4]
mov edx, ecx
add edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x20]
mov byte [edx + ecx], 0
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x20]
mov byte [edx + ecx + 1], 0
or byte [eax + 0x1d], 2
mov ecx, dword [esp + 0x20]
mov dl, byte [esp + 0xe8]
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1f], dl
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
mov ebx, dword [esp + 0xec]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
push edi
call fcn.1007c7a0
mov eax, dword [esi + 8]
lea ecx, [eax + eax*4]
lea ebp, [ebx + ecx*8]
push ebp
call fcn.1007c7a0
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov cx, word [ebp + 0x1c]
add esp, 8
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
xor edx, edx
mov dx, word [edi + 0x1c]
mov dword [esp + 0x18], eax
or ecx, edx
mov al, cl
mov dword [esp + 0x20], ecx
test al, 1
jne 0x1007d1a0
mov al, byte [ebp + 0x1c]
mov bl, byte [edi + 0x1c]
and al, bl
and al, 4
cmp al, 4
jne 0x1007d0b4
mov eax, dword [edi + 0x10]
mov dword [esp + 0x28], eax
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x2c], ecx
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x30], ebx
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x34], edx
xor edx, edx
mov dl, byte [esi]
add edx, 0xffffffaa
cmp edx, 3
ja case.default.0x1007cfcd
jmp dword [edx*4 + 0x10081b48]
push ecx
push eax
lea eax, [esp + 0x38]
push eax
call fcn.10081c90
add esp, 0xc
test eax, eax
jne 0x1007d0b4
jmp 0x1007d08c
push ecx
lea ecx, [esp + 0x34]
push eax
push ecx
call fcn.10081d30
add esp, 0xc
test eax, eax
jne 0x1007d0b4
jmp 0x1007d08c
push ecx
lea edx, [esp + 0x34]
push eax
push edx
call fcn.10081d90
add esp, 0xc
test eax, eax
jne 0x1007d0b4
jmp 0x1007d08c
mov edx, eax
or edx, ecx
je 0x1007d1a0
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x1007d046
test ebx, ebx
jne 0x1007d046
cmp dword [esp + 0x34], 0x80000000
je 0x1007d0b4
push ecx
push eax
mov eax, dword [esp + 0x3c]
push eax
push ebx
call fcn.100ce3e0
jmp 0x1007d084
mov edx, eax
or edx, ecx
je 0x1007d1a0
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x1007d077
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
push ecx
push eax
mov eax, dword [esp + 0x3c]
push eax
push ebx
call fcn.100ce490
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x10], ecx
mov cx, word [eax + 0x1c]
mov edx, dword [esp + 0x34]
and ecx, 0xbf04
or ecx, 4
mov dword [eax + 0x14], edx
mov word [eax + 0x1c], cx
jmp case.default.0x1007c9a2
push edi
call fcn.1007a9c0
fstp qword [esp + 0x3c]
push ebp
call fcn.1007a9c0
fstp qword [esp + 0x48]
xor eax, eax
add esp, 8
mov al, byte [esi]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x1007d0d7
jmp dword [eax*4 + 0x10081b58]
fld qword [esp + 0x40]
fadd qword [esp + 0x38]
jmp 0x1007d186
fld qword [esp + 0x40]
fsub qword [esp + 0x38]
jmp 0x1007d186
fld qword [esp + 0x40]
fmul qword [esp + 0x38]
jmp 0x1007d186
fld qword [esp + 0x38]
fcomp qword [0x100fbd08]
fnstsw ax
test ah, 0x40
jne 0x1007d1a0
fld qword [esp + 0x40]
fdiv qword [esp + 0x38]
jmp 0x1007d186
fld qword [esp + 0x38]
call fcn.100cda38
fld qword [esp + 0x40]
mov esi, eax
mov edi, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
call fcn.100cda38
mov ecx, esi
mov dword [esp + 0x30], eax
or ecx, edi
mov dword [esp + 0x34], edx
je 0x1007d1a0
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x1007d168
mov esi, 1
xor edi, edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
push edi
push esi
push edx
push eax
call fcn.100ce490
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
fild qword [esp + 0x120]
fstp qword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
push edx
push eax
call fcn.1006b310
add esp, 8
test eax, eax
je 0x1007d1b2
mov ecx, dword [esp + 0x18]
push ecx
call fcn.10077f90
add esp, 4
jmp case.default.0x1007c9a2
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov dword [eax + 8], edx
mov dx, word [eax + 0x1c]
and edx, 0xbf08
mov dword [eax + 0xc], ecx
or edx, 8
mov word [eax + 0x1c], dx
mov al, byte [esp + 0x20]
test al, 8
jne case.default.0x1007c9a2
mov eax, dword [esp + 0x18]
push eax
call fcn.10087ce0
add esp, 4
jmp case.default.0x1007c9a2
mov esi, dword [esi + 4]
test esi, esi
je case.default.0x1007c9a2
lea ecx, [esi + esi*4]
push 0
push 0
lea edx, [edi + ecx*8]
push edx
call fcn.1007ae80
add esp, 0xc
jmp case.default.0x1007c9a2
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cl, byte [esi + 3]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
mov eax, dword [esi + 0xc]
lea edx, [eax + eax*4]
lea eax, [edi + edx*8]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 8]
lea edx, [eax + eax*4]
xor eax, eax
test ecx, ecx
lea edi, [edi + edx*8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edi
jle 0x1007d295
mov ecx, dword [esp + 0x68]
mov dword [ecx + eax*4], edi
mov eax, dword [esp + 0x24]
test byte [eax + 0x1d], 0x10
je 0x1007d270
push eax
call fcn.10077d60
add esp, 4
test eax, eax
jne 0x100816b2
mov eax, dword [esp + 0x24]
push eax
call fcn.1007c760
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x70]
add esp, 4
inc eax
add edi, 0x28
cmp eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edi
jl 0x1007d24a
cmp byte [esi + 1], 0xfb
jne 0x1007d2aa
mov edx, dword [esi + 0x10]
xor ebx, ebx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ebx
jmp 0x1007d2b9
mov eax, dword [esi + 0x10]
xor ebx, ebx
mov dword [esp + 0x2c], eax
mov eax, dword [eax]
mov dword [esp + 0x28], eax
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [esp + 0x30]
push ebp
push ecx
mov word [esp + 0x54], 1
mov dword [esp + 0x38], edi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
call fcn.1007c680
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x30]
and edx, 0xbf01
mov dword [esp + 0x68], ebx
or edx, 1
add esp, 8
mov word [esp + 0x4c], dx
mov cl, byte [eax + 3]
test cl, 8
je 0x1007d30b
mov ecx, dword [esi - 4]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0xf0]
mov eax, dword [esp + 0xf4]
mov dword [edi + 0x20], edx
mov dword [edi + 0x24], eax
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x2c]
push edx
push eax
call dword [ecx + 0xc]
mov eax, dword [edi + 0x24]
mov edx, dword [edi + 0x20]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x38]
add esp, 0xc
cmp eax, ebx
mov dword [esp + 0xf0], edx
je 0x1007d36c
mov ecx, dword [esi + 4]
push ecx
push eax
call fcn.10078330
mov edx, dword [esp + 0x34]
add esp, 8
mov dword [esi + 0x10], edx
mov byte [esi + 1], 0xf9
mov al, byte [edi + 0x36]
test al, al
jne 0x100816a5
cmp dword [esp + 0x60], ebx
je 0x1007d3a9
lea eax, [esp + 0x30]
push eax
call fcn.1007ace0
mov ecx, dword [esp + 0x138]
push eax
push 0x101189f0
add ecx, 0x34
push edi
push ecx
call fcn.1007a0e0
mov edx, dword [esp + 0x74]
add esp, 0x14
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0xe8]
lea ecx, [esp + 0x30]
and eax, 0xff
push eax
push ecx
call fcn.1007a450
lea edx, [esp + 0x38]
push edx
push ebp
call fcn.1007c680
push ebp
jmp 0x10081266
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov eax, dword [esi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0xc]
lea edx, [eax + eax*4]
mov al, byte [edi + ecx*8 + 0x1c]
lea ecx, [edi + ecx*8]
lea edi, [edi + edx*8]
mov dl, byte [ebx + 0x1c]
or al, dl
mov dword [esp + 0x18], edi
test al, 1
je 0x1007d40b
push edi
call fcn.10077f90
add esp, 4
jmp case.default.0x1007c9a2
push ecx
call fcn.1007aa40
push ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
call fcn.1007aa40
mov ebx, eax
mov ebp, edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebp
mov al, byte [esi]
add esp, 8
cmp al, 0x52
mov byte [esp + 0x38], al
jne 0x1007d451
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
and ecx, ebx
and eax, ebp
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
jmp 0x1007d560
cmp al, 0x53
jne 0x1007d46e
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
or ecx, ebx
or eax, ebp
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
jmp 0x1007d560
mov ecx, ebx
or ecx, ebp
je 0x1007d560
test ebp, ebp
jg 0x1007d4b2
jl 0x1007d482
test ebx, ebx
jae 0x1007d4a7
mov dl, 0xa9
sub dl, al
cmp ebp, 0xffffffff
mov al, dl
mov byte [esp + 0x38], al
jl 0x1007d4d9
jg 0x1007d498
cmp ebx, 0xffffffc0
jbe 0x1007d4d9
neg ebx
adc ebp, 0
mov dword [esp + 0x30], ebx
neg ebp
mov dword [esp + 0x34], ebp
test ebp, ebp
jl 0x1007d4f8
jg 0x1007d4b2
cmp ebx, 0x40
jb 0x1007d4f8
mov ecx, dword [esp + 0x24]
test ecx, ecx
jg 0x1007d4eb
jl 0x1007d4c4
mov ecx, dword [esp + 0x20]
test ecx, ecx
jae 0x1007d4eb
cmp al, 0x54
je 0x1007d4eb
or eax, 0xffffffff
cdq
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jmp 0x1007d560
mov dword [esp + 0x30], 0x40
mov dword [esp + 0x34], 0
jmp 0x1007d4b2
xor eax, eax
cdq
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jmp 0x1007d560
cmp al, 0x54
mov eax, dword [esp + 0x20]
mov ecx, ebx
jne 0x1007d515
mov edx, dword [esp + 0x24]
call fcn.100d06e0
mov esi, eax
mov ebp, edx
mov dword [esp + 0x28], esi
jmp 0x1007d554
mov edi, dword [esp + 0x24]
mov edx, edi
call fcn.100ce9d0
mov esi, eax
mov ebp, edx
test edi, edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebp
jg 0x1007d558
jl 0x1007d53a
mov eax, dword [esp + 0x20]
test eax, eax
jae 0x1007d558
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, ebx
or edx, 0xffffffff
call fcn.100d06e0
or esi, eax
or ebp, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebp
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x10], ecx
mov cx, word [eax + 0x1c]
mov edx, dword [esp + 0x24]
and ecx, 0xbf04
or ecx, 4
mov dword [eax + 0x14], edx
mov word [eax + 0x1c], cx
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
lea edx, [eax + eax*4]
lea edi, [edi + edx*8]
push edi
call fcn.10087d40
mov eax, dword [esi + 8]
mov ecx, dword [edi + 0x10]
cdq
add esp, 4
add ecx, eax
mov dword [edi + 0x10], ecx
mov eax, dword [edi + 0x14]
adc eax, edx
mov dword [edi + 0x14], eax
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0xe8]
push ecx
push 0x63
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
push edi
call fcn.100891e0
mov ax, word [edi + 0x1c]
add esp, 0xc
test al, 4
jne 0x1007dad7
mov esi, dword [esi + 8]
test esi, esi
je 0x100816e4
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
mov esi, dword [esi + 4]
lea edx, [esi + esi*4]
mov cl, byte [edi + edx*8 + 0x1c]
lea eax, [edi + edx*8]
test cl, 4
je case.default.0x1007c9a2
push eax
call fcn.10087d70
add esp, 4
jmp case.default.0x1007c9a2
mov esi, dword [esi + 4]
lea eax, [esi + esi*4]
lea edi, [edi + eax*8]
mov ax, word [edi + 0x1c]
test al, 1
jne case.default.0x1007c9a2
mov edx, dword [esp + 0xe8]
mov cl, al
shr cl, 3
and ecx, 2
push edx
or ecx, eax
push 0x61
push edi
mov word [edi + 0x1c], cx
call fcn.100891e0
add esp, 0xc
test byte [edi + 0x1d], 0x40
je 0x1007d668
push edi
call fcn.10077dc0
add esp, 4
and word [edi + 0x1c], 0xbfe3
mov dword [esp + 0x10], eax
jmp case.default.0x1007c9a2
and word [edi + 0x1c], 0xbfe3
mov dword [esp + 0x10], 0
jmp case.default.0x1007c9a2
mov esi, dword [esi + 4]
lea eax, [esi + esi*4]
lea esi, [edi + eax*8]
mov ax, word [edi + eax*8 + 0x1c]
test al, 1
jne case.default.0x1007c9a2
test al, 0x10
jne 0x1007d6be
mov ecx, dword [esp + 0xe8]
push ecx
push 0x61
push esi
call fcn.100891e0
mov dx, word [esi + 0x1c]
add esp, 0xc
and edx, 0xbf10
or edx, 0x10
mov word [esi + 0x1c], dx
jmp case.default.0x1007c9a2
and eax, 0xff10
mov word [esi + 0x1c], ax
jmp case.default.0x1007c9a2
mov esi, dword [esi + 4]
lea eax, [esi + esi*4]
lea ecx, [edi + eax*8]
push ecx
call fcn.10087da0
add esp, 4
jmp case.default.0x1007c9a2
mov esi, dword [esi + 4]
lea edx, [esi + esi*4]
mov cl, byte [edi + edx*8 + 0x1c]
lea eax, [edi + edx*8]
test cl, 1
jne case.default.0x1007c9a2
push eax
call fcn.10087d40
add esp, 4
jmp case.default.0x1007c9a2
mov esi, dword [esi + 4]
lea eax, [esi + esi*4]
mov cl, byte [edi + eax*8 + 0x1c]
lea eax, [edi + eax*8]
test cl, 1
jne case.default.0x1007c9a2
push eax
call fcn.10087d70
add esp, 4
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0xc]
lea ebp, [edi + ecx*8]
lea edx, [eax + eax*4]
mov cx, word [ebp + 0x1c]
lea eax, [edi + edx*8]
mov word [esp + 0x26], cx
mov dword [esp + 0x110], eax
mov dx, word [eax + 0x1c]
mov al, dl
mov word [esp + 0x28], dx
mov dl, byte [esp + 0x26]
mov cl, al
or cl, dl
test cl, 1
je 0x1007d7b7
mov cl, byte [esi + 3]
test cl, 0x80
je 0x1007d786
and al, dl
mov ebx, dword [esp + 0x110]
and al, 1
neg al
sbb eax, eax
inc eax
mov dword [esp + 0x20], eax
jmp 0x1007d835
test cl, 0x10
je 0x1007d7af
mov esi, dword [esi + 8]
lea edx, [esi + esi*4]
mov cx, word [edi + edx*8 + 0x1c]
lea eax, [edi + edx*8]
and ecx, 0xbf01
mov dword [esp + 0x18], eax
or ecx, 1
mov word [eax + 0x1c], cx
jmp case.default.0x1007c9a2
test cl, 8
jmp 0x1007fe2c
mov dl, byte [esi + 3]
and dl, 0x67
mov byte [esp + 0x24], dl
je 0x1007d7fe
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x24]
push eax
push ecx
push ebp
call fcn.100891e0
mov edx, dword [esp + 0xf4]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x11c]
push edx
push eax
push ecx
call fcn.100891e0
mov al, byte [ebx + 0x36]
add esp, 0x18
test al, al
jne 0x100816b2
test byte [ebp + 0x1d], 0x40
je 0x1007d80d
push ebp
call fcn.10077dc0
add esp, 4
mov ebx, dword [esp + 0x110]
test byte [ebx + 0x1d], 0x40
je 0x1007d823
push ebx
call fcn.10077dc0
add esp, 4
mov edx, dword [esi + 0x10]
push edx
push ebp
push ebx
call fcn.10087f20
add esp, 0xc
mov dword [esp + 0x20], eax
xor ecx, ecx
mov cl, byte [esi]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x1007d841
jmp dword [ecx*4 + 0x10081b68]
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x1007d884
xor edx, edx
test eax, eax
setne dl
jmp 0x1007d882
xor ecx, ecx
test eax, eax
setl cl
mov eax, ecx
jmp 0x1007d884
xor edx, edx
test eax, eax
setle dl
jmp 0x1007d882
xor ecx, ecx
test eax, eax
setg cl
mov eax, ecx
jmp 0x1007d884
xor edx, edx
test eax, eax
setge dl
mov eax, edx
mov dword [esp + 0x20], eax
mov cl, byte [esi + 3]
test cl, 0x10
je 0x1007d8bc
mov esi, dword [esi + 8]
lea eax, [esi + esi*4]
mov cx, word [edi + eax*8 + 0x1c]
lea edi, [edi + eax*8]
and ecx, 0xbf04
mov dword [esp + 0x18], edi
or ecx, 4
mov word [edi + 0x1c], cx
mov eax, dword [esp + 0x20]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
jmp 0x1007d8c8
test eax, eax
je 0x1007d8c8
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
mov ax, word [ebp + 0x1c]
mov cl, byte [esp + 0x26]
mov dl, al
xor dl, cl
and edx, 0xff
xor edx, eax
mov word [ebp + 0x1c], dx
mov ax, word [ebx + 0x1c]
mov cl, byte [esp + 0x28]
xor cl, al
and ecx, 0xff
xor ecx, eax
mov word [ebx + 0x1c], cx
jmp case.default.0x1007c9a2
mov edx, dword [esi + 0x10]
mov dword [esp + 0x100], edx
jmp case.default.0x1007c9a2
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x20], ecx
mov edx, dword [esi + 0x10]
mov dword [esp + 0x30], edx
mov eax, dword [esi + 4]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x2c], eax
xor eax, eax
test ecx, ecx
mov dword [esp + 0x24], eax
jle 0x1007d9cd
mov ebp, dword [esp + 0x100]
mov edi, dword [esp + 0xec]
jmp 0x1007d948
mov edx, dword [esp + 0x30]
test ebp, ebp
je 0x1007d952
mov ecx, dword [ebp + eax*4]
jmp 0x1007d954
mov ecx, eax
mov dword [esp + 0x34], ecx
mov esi, dword [edx + eax*4 + 0xc]
mov dword [esp + 0x38], esi
mov edx, dword [edx + 8]
xor ebx, ebx
push esi
mov bl, byte [edx + eax]
mov eax, dword [esp + 0x30]
add eax, ecx
mov dword [esp + 0x40], ebx
lea edx, [eax + eax*4]
lea eax, [edi + edx*8]
mov edx, dword [esp + 0x2c]
push eax
lea eax, [ecx + edx]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
push ecx
call fcn.10087f20
add esp, 0xc
mov dword [esp + 0x10c], eax
test eax, eax
jne 0x1007d9bc
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
inc eax
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x1007d944
mov dword [esp + 0x100], 0
jmp case.default.0x1007c9a2
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x1007d9cd
neg eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x100], 0
jmp case.default.0x1007c9a2
mov eax, dword [esp + 0x10c]
test eax, eax
jge 0x1007d9f5
mov esi, dword [esi + 4]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
jne 0x1007da04
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
mov esi, dword [esi + 0xc]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
lea edx, [eax + eax*4]
mov cl, byte [edi + edx*8 + 0x1c]
lea eax, [edi + edx*8]
test cl, 1
je 0x1007da2a
mov ecx, 2
jmp 0x1007da40
push eax
call fcn.1007aa40
add esp, 4
or eax, edx
je 0x1007da3e
mov ecx, 1
jmp 0x1007da40
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
mov dl, byte [edi + eax*8 + 0x1c]
lea eax, [edi + eax*8]
test dl, 1
je 0x1007da61
mov eax, 2
mov dword [esp + 0x24], eax
jmp 0x1007da7f
push eax
call fcn.1007aa40
add esp, 4
or eax, edx
je 0x1007da75
mov eax, 1
jmp 0x1007da77
xor eax, eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
cmp byte [esi], 0x45
jne 0x1007da92
lea edx, [eax + ecx*2]
xor eax, eax
mov al, byte [ecx + edx + 0x100f8ec8]
jmp 0x1007daa0
lea eax, [eax + ecx*2]
xor edx, edx
mov dl, byte [ecx + eax + 0x100f8ed4]
mov eax, edx
mov dword [esp + 0x20], eax
mov esi, dword [esi + 0xc]
cmp eax, 2
lea ecx, [esi + esi*4]
lea edi, [edi + ecx*8]
mov dword [esp + 0x18], edi
jne 0x1007dacc
mov dx, word [edi + 0x1c]
and edx, 0xbf01
or edx, 1
mov word [edi + 0x1c], dx
jmp case.default.0x1007c9a2
cdq
mov dword [edi + 0x10], eax
mov ax, word [edi + 0x1c]
mov dword [edi + 0x14], edx
and eax, 0xbf04
or al, 4
mov word [edi + 0x1c], ax
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
mov esi, dword [esi + 8]
lea ecx, [eax + eax*4]
lea edx, [esi + esi*4]
lea eax, [edi + ecx*8]
lea edi, [edi + edx*8]
mov dword [esp + 0x18], edi
test byte [eax + 0x1c], 1
je 0x1007db11
push edi
call fcn.10077f90
add esp, 4
jmp case.default.0x1007c9a2
push eax
call fcn.1007aa40
add esp, 4
or eax, edx
jne 0x1007db34
mov eax, 1
cdq
push edx
push eax
push edi
call fcn.1007ae80
add esp, 0xc
jmp case.default.0x1007c9a2
xor eax, eax
cdq
push edx
push eax
push edi
call fcn.1007ae80
add esp, 0xc
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
mov esi, dword [esi + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + esi*4]
lea eax, [edi + eax*8]
lea esi, [edi + ecx*8]
mov dword [esp + 0x18], esi
test byte [eax + 0x1c], 1
je 0x1007db71
push esi
call fcn.10077f90
add esp, 4
jmp case.default.0x1007c9a2
push eax
call fcn.1007aa40
not edx
not eax
push edx
push eax
push esi
call fcn.1007ae80
add esp, 0x10
jmp case.default.0x1007c9a2
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0xc0]
add eax, edx
cmp byte [eax], 0
je 0x1007dba8
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
mov byte [eax], 1
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
lea ecx, [eax + eax*4]
mov al, byte [edi + ecx*8 + 0x1c]
test al, 1
lea edi, [edi + ecx*8]
je 0x1007dbcd
mov eax, dword [esi + 0xc]
mov dword [esp + 0x20], eax
jmp 0x1007fe2a
push edi
call fcn.1007a9c0
fcomp qword [0x100fbd08]
add esp, 4
fnstsw ax
test ah, 0x40
jne 0x1007dbea
mov eax, 1
jmp 0x1007dbec
xor eax, eax
mov dword [esp + 0x20], eax
mov cl, byte [esi]
cmp cl, 0x1c
jne 0x1007fe2a
xor edx, edx
test eax, eax
sete dl
mov eax, edx
mov dword [esp + 0x20], eax
jmp 0x1007fe2a
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
jmp 0x1007fe2c
mov eax, dword [esi + 4]
lea ecx, [eax + eax*4]
test byte [edi + ecx*8 + 0x1c], 1
jne case.default.0x1007c9a2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
mov edx, dword [esi + 4]
xor ebx, ebx
mov dword [esp + 0x30], edx
mov eax, dword [esi + 8]
mov edx, dword [esp + 0xec]
mov dword [esp + 0x34], eax
mov ecx, 0xa
xor eax, eax
lea edi, [esp + 0x60]
mov dword [esp + 0x38], ebx
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0xc]
mov edi, dword [esp + 0x134]
mov dword [esp + 0x3c], ebx
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov ecx, dword [edi + 0x40]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x30]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x38], eax
mov ecx, dword [eax]
cmp ecx, ebx
mov dword [esp + 0x40], ecx
je 0x1007dd37
push eax
call fcn.10088240
add esp, 4
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x100817b1
mov eax, dword [esp + 0x38]
mov cl, byte [eax + 0x1c]
test cl, cl
je 0x1007dcbd
mov dword [esp + 0x20], ebx
jmp 0x1007dd09
mov edx, dword [esp + 0x134]
mov ecx, dword [eax + 0x50]
cmp ecx, dword [edx + 0x50]
jne 0x1007dcdc
mov ecx, dword [eax + 0x54]
mov dword [esp + 0x20], ecx
mov edx, dword [eax + 0x60]
mov dword [esp + 0x3c], edx
jmp 0x1007dd01
mov cl, byte [eax + 0x1f]
test cl, cl
je 0x1007dd23
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x28]
push eax
push ecx
call fcn.10077400
mov edx, dword [esp + 0x30]
add esp, 8
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x1007dd76
mov eax, dword [esp + 0x5c]
mov dx, word [eax + 0x1c]
and edx, 0xbf01
or edx, 1
mov word [eax + 0x1c], dx
jmp case.default.0x1007c9a2
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x20]
push eax
push ecx
call fcn.100832d0
add esp, 8
jmp 0x1007dcfd
mov ecx, dword [eax + 0x10]
cmp ecx, ebx
jle 0x1007dd70
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0xa4], ecx
mov edx, dword [ecx + 0x18]
mov dword [esp + 0x20], edx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x3c], ecx
mov cl, byte [esi + 3]
test cl, 0x20
je 0x1007dd68
xor ecx, ecx
mov dword [eax + 0x50], ecx
jmp 0x1007dcfd
mov ecx, dword [edi + 0x50]
mov dword [eax + 0x50], ecx
jmp 0x1007dcfd
mov dword [esp + 0x20], ebx
jmp 0x1007dd09
mov edx, dword [esp + 0x1c]
cmp ecx, dword [edx + 0x4c]
ja 0x10081829
mov edx, dword [eax + 0x14]
mov edi, dword [esp + 0x134]
mov dword [esp + 0x4c], edx
mov ecx, dword [eax + 0x58]
mov ebp, dword [edi + 0x50]
mov dword [esp + 0x44], ecx
mov ebx, dword [eax + 0x50]
cmp ebx, ebp
jne 0x1007ddae
mov eax, dword [eax + 0x5c]
mov dword [esp + 0x48], eax
jmp 0x1007e061
xor ebx, ebx
lea ecx, [ecx + edx*4]
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x48], ecx
mov dword [eax + 0x5c], ecx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
mov dword [ecx + 0x54], edx
mov ecx, dword [esp + 0x38]
mov eax, dword [edi + 0x50]
mov dword [ecx + 0x50], eax
mov edx, dword [esp + 0x3c]
cmp edx, ebx
je 0x1007dde4
mov dword [esp + 0x58], edx
jmp 0x1007de43
mov edx, dword [esp + 0x38]
mov al, byte [edx + 0x1f]
test al, al
je 0x1007de03
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x9c]
push eax
push ecx
call fcn.10083440
jmp 0x1007de15
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x9c]
push edx
push eax
call fcn.100834d0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xa4]
add esp, 8
cmp ecx, edx
mov dword [esp + 0x58], eax
ja 0x1007de38
mov edx, dword [esp + 0x38]
mov dword [esp + 0x3c], eax
mov dword [edx + 0x60], eax
jmp 0x1007de3f
mov eax, dword [esp + 0x38]
mov dword [eax + 0x60], ebx
mov edx, dword [esp + 0x58]
mov cl, byte [edx]
cmp cl, 0x80
jae 0x1007de5e
and ecx, 0xff
mov eax, 1
mov dword [esp + 0x90], ecx
jmp 0x1007de7f
lea ecx, [esp + 0x90]
push ecx
push edx
call fcn.10076050
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x60]
add esp, 8
and eax, 0xff
and eax, 0xff
cmp ecx, 0x18003
mov dword [esp + 0x98], eax
jbe 0x1007dea9
push 0x10656
call fcn.100b55b0
add esp, 4
mov dword [esp + 0x10], eax
jmp case.default.0x1007c9a2
mov edi, dword [esp + 0x4c]
lea eax, [edi + edi*4 + 3]
cmp eax, ecx
mov dword [esp + 0x50], eax
jle 0x1007debf
mov eax, ecx
mov dword [esp + 0x50], eax
cmp dword [esp + 0x3c], ebx
jne 0x1007df1b
cmp dword [esp + 0x9c], eax
jge 0x1007df1b
lea edx, [esp + 0x60]
xor ecx, ecx
push edx
mov edx, dword [esp + 0x3c]
mov word [esp + 0x80], bx
mov dword [esp + 0x64], ebx
mov cl, byte [edx + 0x1f]
push ecx
push eax
mov eax, dword [esp + 0x4c]
push ebx
push eax
call fcn.10088140
add esp, 0x14
cmp eax, ebx
mov dword [esp + 0x10], eax
jne case.default.0x1007c9a2
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x90]
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x58], edx
add eax, edx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x98]
add eax, edx
mov dword [esp + 0x88], eax
xor eax, eax
test edi, edi
mov dword [esp + 0x54], eax
jle 0x1007e014
mov edx, dword [esp + 0x8c]
mov edi, dword [esp + 0x88]
cmp edi, edx
mov edx, dword [esp + 0x48]
jae 0x1007dfe0
mov dword [edx + eax*4], ecx
mov ecx, dword [esp + 0x88]
mov al, byte [ecx]
cmp al, 0x80
jae 0x1007df7b
and eax, 0xff
inc ecx
mov dword [esp + 0xa0], eax
jmp 0x1007df9a
lea eax, [esp + 0xa0]
push eax
push ecx
call fcn.10076050
mov ecx, dword [esp + 0x90]
and eax, 0xff
add esp, 8
add ecx, eax
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x44]
mov dword [ecx + edx*4], eax
mov ecx, dword [esp + 0xa0]
push ecx
call fcn.10088420
mov ecx, dword [esp + 0x94]
add esp, 4
add ecx, eax
mov dword [esp + 0x94], eax
cmp ecx, eax
mov dword [esp + 0x90], ecx
jb 0x1007e005
jmp 0x1007dfee
mov dword [edx + eax*4], 0
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
inc eax
cmp eax, edx
mov dword [esp + 0x54], eax
jl 0x1007df42
jmp 0x1007e014
mov eax, dword [esp + 0x8c]
inc eax
mov dword [esp + 0x88], eax
lea ecx, [esp + 0x60]
push ecx
call fcn.10077e30
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
add esp, 4
cmp eax, ecx
mov word [esp + 0x7c], 1
ja 0x1007e1b6
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x20]
cmp edx, edi
ja 0x1007e1b6
cmp eax, ecx
jne 0x1007e05d
cmp edx, edi
jne 0x1007e1b6
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x48]
cmp dword [edx + eax*4], 0
je 0x1007e137
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x1007e0b0
mov edx, dword [esp + 0x5c]
test word [edx + 0x1c], 0x2460
je 0x1007e09c
push edx
call fcn.10077e70
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x60]
add esp, 4
mov ecx, dword [ecx + eax*4]
push edx
mov edx, dword [esp + 0x4c]
push ecx
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x44]
add eax, edx
jmp 0x1007e11e
mov ecx, dword [ecx + eax*4]
push ecx
call fcn.10088420
mov edx, dword [esp + 0x60]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x64]
push edx
push eax
call fcn.1007c680
mov eax, dword [esp + 0x44]
xor edx, edx
lea ecx, [esp + 0x6c]
mov dl, byte [eax + 0x1f]
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x5c]
push ecx
mov ecx, dword [edx + eax*4]
mov edx, dword [esp + 0x58]
push ecx
push edx
call fcn.10088140
add esp, 0x20
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x1007c9a2
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x5c], eax
mov edx, dword [edx + ecx*4]
push edx
push eax
call fcn.10088510
mov eax, dword [esp + 0x68]
mov cl, byte [esp + 0xf4]
add esp, 0xc
mov byte [eax + 0x1f], cl
jmp 0x1007e16a
cmp byte [esi + 1], 0xf8
jne 0x1007e155
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x5c]
push 0x800
push edx
push eax
call fcn.10087ed0
add esp, 0xc
jmp 0x1007e16a
mov eax, dword [esp + 0x5c]
mov cx, word [eax + 0x1c]
and ecx, 0xbf01
or ecx, 1
mov word [eax + 0x1c], cx
mov eax, dword [esp + 0x84]
test eax, eax
je 0x1007e1a0
mov eax, dword [esp + 0x5c]
and word [eax + 0x1c], 0xe7ff
mov eax, dword [esp + 0x5c]
or byte [eax + 0x1d], 2
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x64]
mov dword [edx + 4], eax
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x84]
mov dword [edx + 0x24], ecx
mov eax, dword [esp + 0x5c]
push eax
call fcn.10077d60
add esp, 4
mov dword [esp + 0x10], eax
jmp case.default.0x1007c9a2
push 0x106a6
call fcn.100b55b0
add esp, 4
mov dword [esp + 0x10], eax
jmp case.default.0x1007c9a2
mov eax, dword [esi + 0x10]
mov dword [esp + 0x20], eax
mov esi, dword [esi + 4]
inc eax
lea ecx, [esi + esi*4]
lea esi, [edi + ecx*8]
mov cl, byte [eax - 1]
test cl, cl
mov byte [esp + 0x24], cl
mov dword [esp + 0x20], eax
je case.default.0x1007c9a2
mov edi, dword [esp + 0xe8]
mov ebx, 0x4000
test word [esi + 0x1c], bx
je 0x1007e20b
push esi
call fcn.10077dc0
add esp, 4
mov edx, dword [esp + 0x24]
push edi
push edx
push esi
call fcn.100891e0
mov eax, dword [esp + 0x2c]
add esp, 0xc
add esi, 0x28
mov cl, byte [eax]
inc eax
test cl, cl
mov byte [esp + 0x24], cl
mov dword [esp + 0x20], eax
jne 0x1007e1fc
jmp case.default.0x1007c9a2
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x40], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x54], eax
mov ebx, dword [esi + 0x10]
lea eax, [eax + eax*4]
mov dword [esp + 0x58], ebx
lea eax, [edi + eax*8]
mov dword [esp + 0x4c], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x54], ecx
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8 - 0x28]
xor ecx, ecx
mov cl, byte [ebp + 0x61]
mov dword [esp + 0x50], edx
mov dword [esp + 0x5c], ecx
mov esi, dword [esi + 0xc]
cmp eax, edx
lea ecx, [esi + esi*4]
lea ecx, [edi + ecx*8]
mov dword [esp + 0x18], ecx
mov ecx, eax
mov dword [esp + 0x24], ecx
ja 0x1007e373
jmp 0x1007e29f
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x4c]
test ebx, ebx
je 0x1007e2d1
mov edx, dword [esp + 0xe8]
push edx
mov edx, ecx
sub edx, eax
mov eax, 0x66666667
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dl, byte [edx + ebx]
push edx
push ecx
call fcn.100891e0
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov esi, 0x4000
test word [ecx + 0x1c], si
je 0x1007e2f0
mov eax, dword [ecx + 0x18]
test eax, eax
jle 0x1007e2f0
push ecx
call fcn.10077dc0
mov ecx, dword [esp + 0x28]
add esp, 4
mov eax, dword [esp + 0x5c]
push eax
push ecx
call fcn.10088330
push eax
mov dword [esp + 0x54], eax
call fcn.10088420
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x70], eax
push 0
cdq
add ecx, eax
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x58]
adc ebp, edx
push ecx
mov dword [esp + 0x40], ebp
call fcn.10081c60
mov ecx, dword [esp + 0x44]
add esp, 0x14
add ecx, eax
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x24]
test word [ecx + 0x1c], si
je 0x1007e350
mov edx, dword [ecx + 0x10]
mov eax, dword [esp + 0x40]
add eax, edx
mov dword [esp + 0x40], eax
jmp 0x1007e360
mov eax, dword [esp + 0x64]
test eax, eax
je 0x1007e360
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x50]
add ecx, 0x28
cmp ecx, eax
mov dword [esp + 0x24], ecx
jbe 0x1007e297
mov eax, dword [esp + 0x30]
cdq
push edx
push eax
call fcn.10081c60
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x4c], eax
add ecx, eax
mov eax, ecx
mov dword [esp + 0x38], ecx
cdq
push edx
push eax
call fcn.10081c60
mov ecx, dword [esp + 0x54]
add esp, 0x10
cmp ecx, eax
jge 0x1007e3a6
inc dword [esp + 0x30]
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x28]
cdq
mov edi, eax
mov eax, dword [esp + 0x30]
mov ebx, edx
cdq
mov esi, eax
mov eax, dword [esp + 0x1c]
mov ecx, edx
sub esi, edi
sbb ecx, ebx
mov ebx, dword [esp + 0x2c]
add esi, ebp
adc ecx, ebx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], ecx
mov eax, dword [eax + 0x4c]
cdq
cmp ecx, edx
jg 0x10081829
jl 0x1007e3ea
cmp esi, eax
ja 0x10081829
push 0
push esi
mov esi, dword [esp + 0x20]
push esi
call fcn.10077c40
add esp, 0xc
test eax, eax
jne 0x100816b2
mov ecx, dword [esp + 0x30]
mov eax, dword [esi + 4]
cmp ecx, 0x80
mov dword [esp + 0x20], eax
jae 0x1007e41e
mov byte [eax], cl
mov eax, 1
jmp 0x1007e428
push ecx
push eax
call fcn.10081b80
add esp, 8
mov ecx, dword [esp + 0x50]
and eax, 0xff
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x4c]
cmp eax, ecx
mov dword [esp + 0x24], eax
ja 0x1007e4a6
mov edx, dword [esp + 0x5c]
push edx
push eax
call fcn.10088330
add esp, 8
cmp eax, 0x80
mov dword [esp + 0x48], eax
jae 0x1007e46c
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x20]
mov byte [ecx + edx], al
mov eax, 1
jmp 0x1007e480
mov ecx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x24]
add ecx, eax
push ecx
call fcn.10081b80
add esp, 8
mov ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0x50]
and eax, 0xff
add ebx, eax
mov eax, dword [esp + 0x24]
add eax, 0x28
mov dword [esp + 0x60], ebx
cmp eax, ecx
mov dword [esp + 0x24], eax
jbe 0x1007e441
mov eax, dword [esp + 0x4c]
cmp eax, ecx
mov dword [esp + 0x24], eax
ja 0x1007e4eb
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x68]
sub ecx, eax
add eax, edx
push ecx
push eax
call fcn.10088440
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 0x60]
add edi, eax
mov eax, dword [esp + 0x34]
add eax, 0x28
add esp, 0x10
cmp eax, ecx
mov dword [esp + 0x60], edi
mov dword [esp + 0x24], eax
jbe 0x1007e4ae
mov eax, dword [esp + 0x38]
mov word [esi + 0x1c], 0x410
mov dword [esi + 0x18], eax
mov dword [esi + 0x20], 0
mov eax, dword [esp + 0x40]
test eax, eax
je 0x1007e510
mov dword [esi + 0x10], eax
mov word [esi + 0x1c], 0x4410
mov byte [esi + 0x1f], 1
jmp case.default.0x1007c9a2
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x40]
mov eax, dword [edx + ecx*4]
xor ecx, ecx
mov eax, dword [eax]
cmp eax, ecx
mov dword [esp + 0x28], eax
je 0x1007e542
lea ecx, [esp + 0x20]
push ecx
push eax
call fcn.10086db0
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x1007e54a
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x14], ecx
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
mov dword [esp + 0x20], eax
mov esi, dword [esi + 0x10]
test eax, eax
mov dword [esp + 0x24], esi
jne 0x1007e64b
mov eax, dword [ebx + 0x84]
test eax, eax
jle 0x1007e58b
push str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x1007e910
push esi
call fcn.1006b360
mov dword [esp + 0x2c], eax
mov edx, dword [ebx + 0x1e4]
add edx, dword [ebx + 0x1e0]
push edx
push 0
push ebx
call fcn.10091820
add esp, 0x10
mov dword [esp + 0x10], eax
test eax, eax
jne 0x100817b1
mov eax, dword [esp + 0x28]
add eax, 0x19
push eax
push ebx
call fcn.10069e80
add esp, 8
mov dword [esp + 0x2c], eax
test eax, eax
je case.default.0x1007c9a2
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x24]
lea ecx, [edx + 1]
mov edi, dword [eax]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x1c]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov cl, byte [eax + 0x34]
test cl, cl
je 0x1007e60f
mov byte [eax + 0x34], 0
mov byte [eax + 0x3b], 1
jmp 0x1007e615
inc dword [eax + 0x1e0]
mov edx, dword [esp + 0x2c]
mov ecx, dword [eax + 0x1d8]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [eax + 0x1e8]
mov dword [eax + 0x1d8], ecx
mov ecx, dword [esp + 0x2c]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0x1ec]
mov eax, dword [esp + 0x2c]
mov dword [eax + 0xc], edx
jmp case.default.0x1007c9a2
mov dword [esp + 0x38], 0
mov ebx, dword [ebx + 0x1d8]
test ebx, ebx
mov dword [esp + 0x30], ebx
je 0x1007e697
mov ecx, dword [esp + 0x24]
mov edx, dword [ebx]
push ecx
push edx
call fcn.1006b380
add esp, 8
test eax, eax
je 0x1007e68f
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x38], ecx
mov ebx, dword [eax + 0x10]
test ebx, ebx
mov dword [esp + 0x30], ebx
jne 0x1007e661
jmp 0x1007e697
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x1007e6c6
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x134]
mov edx, dword [esp + 0x1c]
push ecx
push str.no_such_savepoint:__s
add eax, 0x34
push edx
push eax
call fcn.1007a0e0
add esp, 0x10
mov dword [esp + 0x10], 1
jmp case.default.0x1007c9a2
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x84]
test eax, eax
mov eax, dword [esp + 0x20]
jle 0x1007e6f3
cmp eax, 1
jne 0x1007e6f3
mov ecx, dword [esp + 0x134]
push str.cannot_release_savepoint___SQL_statements_in_progress
add ecx, 0x34
push esi
push ecx
jmp 0x1007e915
mov edx, dword [ecx + 0x10]
test edx, edx
jne 0x1007e755
mov cl, byte [esi + 0x3b]
test cl, cl
je 0x1007e755
mov ebx, 1
cmp eax, ebx
jne 0x1007e757
mov edx, dword [esp + 0x134]
push ebx
push edx
call fcn.1007a080
mov esi, eax
add esp, 8
test esi, esi
jne 0x100818c1
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x134]
push edi
mov byte [esi + 0x34], bl
call fcn.10078560
add esp, 4
cmp eax, 5
je 0x100816f1
mov byte [esi + 0x3b], 0
mov eax, dword [edi + 0x58]
mov dword [esp + 0x10], eax
jmp 0x1007e81e
xor ebx, ebx
mov ecx, dword [esi + 0x1e0]
mov ebp, dword [esp + 0x38]
sub ecx, ebp
xor eax, eax
dec ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], ecx
mov edx, dword [esi + 0x14]
test edx, edx
jle 0x1007e79e
mov ecx, dword [esi + 0x10]
push 4
shl eax, 4
mov edx, dword [eax + ecx + 4]
push edx
call fcn.10077360
mov eax, dword [esp + 0x44]
add esp, 8
inc eax
mov dword [esp + 0x3c], eax
mov ecx, dword [esi + 0x14]
cmp eax, ecx
jl 0x1007e775
mov ecx, dword [esp + 0x38]
xor eax, eax
mov dword [esp + 0x3c], eax
mov edx, dword [esi + 0x14]
test edx, edx
jle 0x1007e7ee
mov edx, dword [esp + 0x1c]
jmp 0x1007e7b5
mov ecx, dword [esp + 0x38]
mov edx, dword [edx + 0x10]
push ecx
mov ecx, dword [esp + 0x24]
shl eax, 4
push ecx
mov eax, dword [eax + edx + 4]
push eax
call fcn.1007a000
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x100817b1
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x3c], eax
mov ecx, dword [edx + 0x14]
cmp eax, ecx
jl 0x1007e7b1
cmp dword [esp + 0x20], 2
jne 0x1007e81e
mov esi, dword [esp + 0x1c]
mov edi, 0x200
test dword [esi + 0x18], edi
je 0x1007e822
push esi
call fcn.10088ce0
push 0xffffffffffffffff
push esi
call fcn.1008c520
mov eax, dword [esi + 0x18]
add esp, 0xc
or eax, edi
mov dword [esi + 0x18], eax
jmp 0x1007e822
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x1d8]
mov ecx, dword [esp + 0x30]
cmp eax, ecx
je 0x1007e866
mov dword [esp + 0x34], eax
mov ecx, dword [eax + 0x10]
mov dword [esi + 0x1d8], ecx
mov edx, dword [esp + 0x34]
push edx
push esi
call fcn.1006aec0
mov edi, dword [esi + 0x1e0]
mov eax, dword [esi + 0x1d8]
add esp, 8
dec edi
mov dword [esi + 0x1e0], edi
mov ecx, dword [esp + 0x30]
cmp eax, ecx
jne 0x1007e830
cmp dword [esp + 0x20], 1
jne 0x1007e898
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x1d8], eax
mov ecx, dword [esp + 0x30]
push ecx
push esi
call fcn.1006aec0
add esp, 8
test ebx, ebx
jne case.default.0x1007c9a2
mov eax, dword [esp + 0x1c]
dec dword [eax + 0x1e0]
jmp 0x1007e8b8
add ecx, 8
test ebx, ebx
mov edx, dword [ecx]
mov dword [esi + 0x1e8], edx
mov eax, dword [ecx + 4]
mov dword [esi + 0x1ec], eax
jne case.default.0x1007c9a2
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
push ecx
push edx
push eax
call fcn.10091820
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x100817b1
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
mov dword [esp + 0x20], eax
mov esi, dword [esi + 8]
test eax, eax
mov dword [esp + 0x24], esi
je 0x1007e92a
mov cl, byte [ebx + 0x34]
test cl, cl
jne 0x1007e92a
test esi, esi
mov dword [esp + 0x28], 1
jne 0x1007e932
mov ecx, dword [ebx + 0x84]
test ecx, ecx
jle 0x1007e932
push str.cannot_commit_transaction___SQL_statements_in_progress
add ebp, 0x34
push ebx
push ebp
call fcn.1007a0e0
add esp, 0xc
mov dword [esp + 0x10], 5
jmp case.default.0x1007c9a2
mov dword [esp + 0x28], 0
xor ecx, ecx
mov cl, byte [ebx + 0x34]
cmp eax, ecx
jne 0x10081709
test eax, eax
jne 0x1007e94a
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x1007e958
test esi, esi
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x1007e958
mov eax, str.cannot_commit___no_transaction_is_active
push eax
add ebp, 0x34
push ebx
push ebp
call fcn.1007a0e0
add esp, 0xc
mov dword [esp + 0x10], 1
jmp case.default.0x1007c9a2
mov edx, dword [esi + 4]
mov eax, dword [ebx + 0x10]
shl edx, 4
mov eax, dword [edx + eax + 4]
test eax, eax
mov dword [esp + 0x20], eax
je case.default.0x1007c9a2
mov ecx, dword [esi + 8]
push ecx
push eax
call fcn.10073e80
add esp, 8
cmp eax, 5
mov dword [esp + 0x10], eax
je 0x10081782
test eax, eax
jne 0x100817b1
mov eax, dword [esi + 8]
test eax, eax
je case.default.0x1007c9a2
mov al, byte [ebp + 0x63]
test al, al
je case.default.0x1007c9a2
mov al, byte [ebx + 0x34]
test al, al
je 0x1007e9d8
cmp dword [ebx + 0x80], 1
jle case.default.0x1007c9a2
mov eax, dword [ebp + 0x74]
test eax, eax
jne 0x1007e9f9
mov edx, dword [ebx + 0x1e4]
inc edx
mov dword [ebx + 0x1e4], edx
mov eax, edx
mov edx, dword [ebx + 0x1e0]
add edx, eax
mov dword [ebp + 0x74], edx
mov eax, dword [ebp + 0x74]
dec eax
push eax
push 0
push ebx
call fcn.10091820
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1007ea26
mov ecx, dword [ebp + 0x74]
mov edx, dword [esp + 0x20]
push ecx
push edx
call fcn.10083190
add esp, 8
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x1e8]
mov dword [ebp + 0x98], eax
mov ecx, dword [ebx + 0x1ec]
mov dword [ebp + 0x9c], ecx
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
lea edx, [esp + 0x20]
mov dword [esp + 0x24], eax
mov esi, dword [esi + 0xc]
mov dword [esp + 0x28], esi
mov ecx, dword [ebx + 0x10]
shl eax, 4
push edx
push esi
mov edx, dword [eax + ecx + 4]
push edx
call fcn.10076cf0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
cdq
mov dword [ecx + 0x10], eax
add esp, 0xc
mov dword [ecx + 0x14], edx
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x10]
shl eax, 4
add eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0xc]
lea ecx, [eax + eax*4]
lea edi, [edi + ecx*8]
push edi
call fcn.10087d40
mov edx, dword [edi + 0x10]
mov ecx, dword [esp + 0x24]
mov eax, dword [esi + 8]
push edx
mov edx, dword [ecx + 4]
push eax
push edx
call fcn.10076d30
mov dword [esp + 0x20], eax
mov eax, dword [esi + 8]
add esp, 0x10
cmp eax, 1
jne 0x1007ead7
mov eax, dword [esp + 0x20]
mov edx, dword [edi + 0x10]
mov ecx, dword [eax + 0xc]
mov dword [ecx], edx
mov eax, dword [ebx + 0x18]
or ah, 2
mov dword [ebx + 0x18], eax
jmp 0x1007eae9
cmp eax, 2
jne 0x1007eae9
mov eax, dword [esp + 0x20]
mov dl, byte [edi + 0x10]
mov ecx, dword [eax + 0xc]
mov byte [ecx + 0x4c], dl
cmp dword [esi + 4], 1
jne case.default.0x1007c9a2
push ebx
call fcn.10088ce0
add esp, 4
mov byte [ebp + 0x5f], 0
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x10]
shl eax, 4
mov eax, dword [eax + ecx + 4]
test eax, eax
mov dword [esp + 0x28], eax
je 0x1007eb3c
lea edx, [esp + 0x20]
push edx
push 1
push eax
call fcn.10076cf0
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x10]
add esp, 0xc
shl eax, 4
mov edx, dword [eax + ecx + 0xc]
mov eax, dword [edx + 4]
jmp 0x1007eb46
mov dword [esp + 0x20], 0
xor eax, eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
cmp ecx, dword [esi + 8]
jne 0x1007eb5c
cmp eax, dword [esi + 0xc]
je case.default.0x1007c9a2
mov edx, dword [ebp + 0x34]
push edx
push ebx
call fcn.1006aec0
push str.database_schema_has_changed
push ebx
call fcn.1007b1f0
mov dword [ebp + 0x34], eax
mov esi, dword [esi + 4]
mov ecx, dword [ebx + 0x10]
mov eax, esi
shl eax, 4
add esp, 0x10
mov edx, dword [eax + ecx + 0xc]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx]
cmp eax, ecx
je 0x1007eb9a
push esi
push ebx
call fcn.1008c520
add esp, 8
mov byte [ebp + 0x5f], 1
mov dword [esp + 0x10], 0x11
jmp case.default.0x1007c9a2
mov al, byte [ebp + 0x5f]
test al, al
je 0x1007ebbf
mov dword [esp + 0x10], 4
jmp case.default.0x1007c9a2
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov edx, dword [esi + 8]
mov dword [esp + 0x28], edx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x2c], eax
shl eax, 4
add eax, dword [ebx + 0x10]
mov dword [esp + 0x3c], eax
mov ebx, dword [eax + 4]
mov dword [esp + 0x34], ebx
mov bl, byte [esi]
cmp bl, 0x28
jne 0x1007ec09
mov bl, byte [ebp + 0x61]
mov dword [esp + 0x30], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, bl
jae 0x1007ec11
mov byte [ebp + 0x61], al
jmp 0x1007ec11
mov dword [esp + 0x30], 0
mov al, byte [esi + 3]
test al, al
je 0x1007ec3b
lea ecx, [edx + edx*4]
lea edi, [edi + ecx*8]
push edi
call fcn.10087d40
mov edi, dword [edi + 0x10]
add esp, 4
cmp edi, 2
mov dword [esp + 0x28], edi
jl 0x10081796
mov ecx, dword [esp + 0x20]
mov al, byte [esi + 1]
cmp al, 0xfa
jne 0x1007ec65
mov eax, dword [esi + 0x10]
mov edx, dword [ebp]
mov dword [esp + 0x24], eax
mov ecx, dword [edx + 0x10]
mov edx, dword [ecx + 0xc]
mov cl, byte [edx + 0x4d]
mov byte [eax + 4], cl
mov edx, dword [esp + 0x24]
xor ecx, ecx
mov cx, word [edx + 6]
inc ecx
jmp 0x1007ec6c
cmp al, 0xf2
jne 0x1007ec70
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x2c]
push 1
push eax
push ecx
mov ecx, dword [esi + 4]
push ecx
push ebp
call fcn.100890e0
add esp, 0x14
mov dword [esp + 0x38], eax
test eax, eax
je 0x100816b2
mov byte [eax + 0x1c], 1
mov edx, dword [esp + 0x38]
mov byte [edx + 0x20], 1
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x3c]
push eax
push ecx
push edx
call fcn.100831c0
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x4c]
add esp, 0x14
mov dword [eax + 8], ecx
mov dl, byte [esi + 1]
mov eax, dword [esp + 0x38]
cmp dl, 0xfa
setne dl
mov byte [eax + 0x1e], dl
mov eax, dword [esp + 0x38]
mov cl, byte [eax + 0x1e]
test cl, cl
sete cl
mov byte [eax + 0x1f], cl
jmp case.default.0x1007c9a2
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push 1
push 0xffffffffffffffff
push edx
push eax
push ebp
call fcn.100890e0
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
je 0x100816b2
xor edx, edx
mov byte [eax + 0x1c], 1
mov dl, byte [esi + 3]
mov ecx, dword [0x100f8ee0]
mov eax, dword [esp + 0x20]
or edx, 5
push ecx
add eax, 4
push edx
push eax
mov eax, dword [esp + 0x28]
push eax
push 0
mov ecx, dword [eax]
push ecx
call fcn.10082460
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1007ee10
mov edx, dword [esp + 0x20]
push 1
mov eax, dword [edx + 4]
push eax
call fcn.10073e80
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1007ee10
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1007edeb
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov cl, byte [esi + 3]
lea edx, [esp + 0x11c]
or ecx, 2
push ecx
mov ecx, dword [eax + 4]
push edx
push ecx
call fcn.10086720
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1007ede1
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0x10]
mov edx, dword [eax]
mov eax, dword [eax + 4]
push edx
mov edx, dword [esp + 0x120]
push ecx
push 1
push edx
push eax
call fcn.100831c0
mov edx, dword [esp + 0x34]
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x24], eax
add esp, 0x14
mov dword [edx + 8], ecx
mov eax, dword [ebp]
mov ecx, dword [eax + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx + 0xc]
mov ecx, dword [eax + 8]
mov dl, byte [edx + 0x4d]
mov byte [ecx + 4], dl
mov eax, dword [esp + 0x20]
mov byte [eax + 0x1e], 0
jmp 0x1007ee10
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push ecx
push 0
push 1
push 1
push edx
call fcn.100831c0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
add esp, 0x14
mov byte [eax + 0x1e], 1
mov dl, byte [esi + 3]
cmp dl, 8
mov edx, dword [esp + 0x20]
setne cl
mov byte [edx + 0x20], cl
mov eax, dword [esp + 0x20]
mov cl, byte [eax + 0x1e]
test cl, cl
sete cl
mov byte [eax + 0x1f], cl
jmp case.default.0x1007c9a2
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push 1
push 0xffffffffffffffff
push edx
push eax
push ebp
call fcn.100890e0
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
je 0x100816b2
mov ecx, dword [esi + 0x10]
mov dword [eax + 8], ecx
mov edx, dword [ebp]
mov eax, dword [edx + 0x10]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 0xc]
mov eax, dword [edx + 8]
mov cl, byte [ecx + 0x4d]
mov byte [eax + 4], cl
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov byte [edx + 0x21], 1
mov eax, dword [esp + 0x20]
push eax
push ecx
call fcn.1008a370
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x1007c9a2
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 4]
push 0
push 0xffffffffffffffff
push edx
push eax
push ebp
call fcn.100890e0
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
je 0x100816b2
mov byte [eax + 0x1c], 1
mov edx, dword [esp + 0x20]
mov ecx, dword [esi + 8]
mov dword [edx + 0x10], ecx
mov eax, dword [esp + 0x20]
mov byte [eax + 0x1e], 1
mov ecx, dword [esp + 0x20]
mov byte [ecx + 0x1f], 0
jmp case.default.0x1007c9a2
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0x40]
mov ecx, dword [eax + edx*4]
push ecx
push ebp
call fcn.10078a00
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0x40]
add esp, 8
mov dword [eax + edx*4], 0
jmp case.default.0x1007c9a2
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x40]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x28], eax
cmp dword [eax], 0
je 0x10080971
xor ecx, ecx
mov cl, byte [esi]
mov dword [esp + 0x24], ecx
mov byte [eax + 0x1c], 0
mov ecx, dword [esp + 0x28]
mov al, byte [ecx + 0x1e]
test al, al
je 0x1007f0ee
mov eax, dword [esi + 0xc]
lea edx, [eax + eax*4]
lea edi, [edi + edx*8]
push edi
call fcn.1007c7a0
push edi
call fcn.1007aa40
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x5c], edx
add esp, 8
mov byte [eax + 0x19], 0
mov ax, word [edi + 0x1c]
test al, 4
jne 0x1007f096
test al, 8
je 0x1007fe32
mov eax, dword [esp + 0x50]
xor ebx, ebx
cmp eax, ebx
jne 0x1007f03c
mov ecx, dword [esp + 0x54]
mov eax, SysReAllocString
cmp ecx, eax
jne 0x1007f03c
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], eax
fild qword [esp + 0x128]
fcomp qword [edi + 8]
fnstsw ax
test ah, 0x41
je 0x1007efbc
fld qword [edi + 8]
fcomp qword [0x100fbd08]
fnstsw ax
test ah, 0x41
jne 0x1007f03c
mov dword [esp + 0x20], 1
fld qword [edi + 8]
fcomp qword [0x100fbd08]
fnstsw ax
test ah, 1
mov eax, dword [esp + 0x24]
je 0x1007f00a
cmp eax, 0x30
jl 0x1007fe32
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x20]
push ecx
mov eax, dword [edx]
push eax
call fcn.100834f0
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x100817b1
cmp dword [esp + 0x20], ebx
jmp 0x1007fe2c
cmp eax, 0x2f
jg 0x1007fe32
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x20]
push ecx
mov eax, dword [edx]
push eax
call fcn.100837c0
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x100817b1
cmp dword [esp + 0x20], ebx
jmp 0x1007fe2c
mov eax, dword [esp + 0x24]
cmp eax, 0x2e
je 0x1007f071
cmp eax, 0x30
je 0x1007f071
fild qword [esp + 0x50]
fcomp qword [edi + 8]
fnstsw ax
test ah, 0x41
jne 0x1007f098
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
or eax, 0xffffffff
add edx, eax
adc ecx, eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ecx
jmp 0x1007f098
fild qword [esp + 0x50]
fcomp qword [edi + 8]
fnstsw ax
test ah, 1
je 0x1007f098
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
add ecx, 1
adc eax, ebx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
jmp 0x1007f098
xor ebx, ebx
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x2c]
push ebx
push edx
mov edx, dword [ecx]
push eax
push ebx
push edx
call fcn.10083890
add esp, 0x18
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x100817b1
cmp dword [esp + 0x20], ebx
jne 0x1007f15b
mov eax, dword [esp + 0x28]
mov byte [eax + 0x19], 1
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x50]
mov dword [edx + 0x40], ecx
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x54]
mov dword [ecx + 0x44], eax
jmp 0x1007f15b
mov edx, dword [esi + 0x10]
mov dword [esp + 0x48], edx
mov eax, dword [ecx + 8]
mov dword [esp + 0x30], eax
mov al, byte [esp + 0x24]
and al, 1
mov word [esp + 0x34], dx
mov byte [esp + 0x36], al
mov eax, dword [esi + 0xc]
lea edx, [eax + eax*4]
lea edi, [edi + edx*8]
mov dword [esp + 0x40], edi
test byte [edi + 0x1d], 0x40
je 0x1007f12b
push edi
call fcn.10077dc0
mov ecx, dword [esp + 0x2c]
add esp, 4
lea eax, [esp + 0x20]
lea edx, [esp + 0x30]
push eax
mov eax, dword [ecx]
push 0
push 0
push 0
push edx
push eax
call fcn.10083890
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x100817b1
mov ecx, dword [esp + 0x28]
xor ebx, ebx
mov byte [ecx + 0x19], al
mov edx, dword [esp + 0x28]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x28]
mov dword [eax + 0x50], ebx
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
cmp ecx, 0x30
jl 0x1007f1ad
cmp eax, ebx
jl 0x1007f18b
jne 0x1007f182
cmp ecx, 0x31
je 0x1007f18b
mov dword [esp + 0x20], ebx
jmp case.default.0x1007c9a2
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x20]
push ecx
mov eax, dword [edx]
push eax
call fcn.10083c30
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x100817b1
jmp 0x1007f1ed
cmp eax, ebx
jg 0x1007f1cd
jne 0x1007f1b8
cmp ecx, 0x2e
je 0x1007f1cd
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push eax
call fcn.10083c20
add esp, 4
mov dword [esp + 0x20], eax
jmp 0x1007f1f5
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x20]
push ecx
mov eax, dword [edx]
push eax
call fcn.10083d90
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x100817b1
mov ecx, dword [esp + 0x28]
mov byte [ecx + 0x19], 0
cmp dword [esp + 0x20], ebx
je case.default.0x1007c9a2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0x40]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x20], eax
cmp dword [eax], 0
je case.default.0x1007c9a2
mov byte [eax + 0x1c], 0
mov esi, dword [esi + 8]
lea ecx, [esi + esi*4]
lea eax, [edi + ecx*8]
push eax
call fcn.1007aa40
mov ecx, dword [esp + 0x24]
add esp, 4
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x20]
mov dword [eax + 0x3c], edx
mov ecx, dword [esp + 0x20]
mov byte [ecx + 0x19], 0
mov edx, dword [esp + 0x20]
mov byte [edx + 0x1d], 1
jmp case.default.0x1007c9a2
mov ecx, dword [ebp + 0x40]
xor edx, edx
mov dword [esp + 0x20], edx
mov eax, dword [esi + 4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x24], eax
mov ecx, dword [esi + 0xc]
lea ecx, [ecx + ecx*4]
lea edi, [edi + ecx*8]
mov ecx, dword [eax]
test ecx, ecx
je 0x1007f360
mov ecx, dword [esi + 0x10]
test ecx, ecx
jle 0x1007f2ab
mov edx, dword [eax + 8]
mov dword [esp + 0x38], edx
mov cx, word [esi + 0x10]
lea edx, [esp + 0x38]
mov word [esp + 0x3c], cx
mov dword [esp + 0x48], edi
mov byte [esp + 0x3e], 2
mov dword [esp + 0x30], edx
jmp 0x1007f300
mov eax, dword [eax + 8]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x54]
push 0x97
push edx
push eax
call fcn.10088760
add esp, 0x10
mov dword [esp + 0x30], eax
test eax, eax
je 0x100816b2
mov ecx, dword [edi + 4]
mov edx, dword [edi + 0x18]
push eax
mov eax, dword [esp + 0x28]
push ecx
push edx
mov ecx, dword [eax + 8]
push ecx
call fcn.100887d0
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x2c]
add esp, 0x10
mov cl, byte [eax + 6]
or cl, 2
mov byte [eax + 6], cl
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x28]
push edx
mov edx, dword [eax]
push 0
push 0
push 0
push ecx
push edx
call fcn.10083890
mov edi, eax
mov eax, dword [esi + 0x10]
add esp, 0x18
mov dword [esp + 0x10], edi
test eax, eax
jne 0x1007f336
mov eax, dword [esp + 0x2c]
push eax
push ebx
call fcn.1006aec0
add esp, 8
test edi, edi
jne case.default.0x1007c9a2
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
xor ecx, ecx
test eax, eax
sete cl
mov dword [esp + 0x20], ecx
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x24]
mov dword [eax + 0x50], edi
mov edx, dword [esp + 0x20]
cmp byte [esi], 0x34
jne 0x1007f37a
test edx, edx
je case.default.0x1007c9a2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
test edx, edx
jne case.default.0x1007c9a2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
mov eax, dword [esi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x10]
lea edx, [eax + eax*4]
lea ebx, [edi + ecx*8]
lea eax, [edi + edx*8]
mov edx, dword [ebp + 0x40]
mov dword [esp + 0x30], eax
mov ecx, dword [esi + 4]
xor edi, edi
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x24], eax
mov dword [eax + 0x4c], edi
mov eax, dword [esp + 0x24]
mov dword [eax + 0x50], edi
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x30]
mov edx, dword [ecx]
mov dword [esp + 0x28], edx
mov eax, dword [ecx + 8]
mov dx, word [eax + 6]
mov word [esp + 0x20], di
cmp dx, di
mov word [esp + 0x2c], dx
jbe 0x1007f405
mov eax, dword [esp + 0x20]
and eax, 0xffff
lea eax, [eax + eax*4]
test byte [ebp + eax*8 + 0x1c], 1
jne 0x1007f49a
inc di
cmp di, dx
mov word [esp + 0x20], di
jb 0x1007f3e2
mov eax, dword [esp + 0x28]
test eax, eax
je case.default.0x1007c9a2
mov edx, dword [esp + 0x2c]
mov ecx, dword [ecx + 8]
inc edx
push ebx
mov dword [esp + 0x3c], ecx
mov word [esp + 0x40], dx
mov byte [esp + 0x42], 4
mov dword [esp + 0x4c], ebp
call fcn.10087d40
mov edx, dword [esp + 0x28]
mov eax, dword [ebx + 0x10]
add edx, 0x4c
mov dword [esp + 0x54], eax
mov ecx, dword [ebx + 0x14]
push edx
push 0
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x34]
push 0
lea eax, [esp + 0x48]
push 0
push eax
push ecx
call fcn.10083890
mov dword [esp + 0x2c], eax
mov al, byte [esp + 0x5a]
add esp, 0x1c
test al, 4
jne 0x10080971
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x50]
cmp eax, ecx
jne 0x1007f48b
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x54]
cmp edx, ecx
je 0x10080971
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x14], eax
jmp case.default.0x1007c9a2
mov esi, dword [esi + 8]
mov dword [esp + 0x28], 0
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0x40]
lea edi, [edi + ecx*8]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x20], ecx
mov eax, dword [ecx]
test eax, eax
mov dword [esp + 0x24], eax
je 0x1007f54e
xor ebx, ebx
lea ebp, [esp + 0x28]
mov dword [esp + 0x28], ebx
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x30], ecx
mov edx, dword [edi + 0x14]
push ebp
push ebx
push edx
push ecx
push ebx
push eax
mov dword [esp + 0x4c], edx
call fcn.10083890
mov edx, dword [esp + 0x38]
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x28], eax
add esp, 0x18
mov dword [edx + 0x40], ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x44], eax
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
cmp edx, ebx
sete dl
mov byte [eax + 0x19], dl
mov ecx, dword [esp + 0x20]
mov byte [ecx + 0x1c], bl
mov edx, dword [esp + 0x20]
mov dword [edx + 0x50], ebx
mov eax, dword [esp + 0x20]
mov byte [eax + 0x1d], bl
mov eax, dword [esp + 0x28]
cmp eax, ebx
je 0x1007f542
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x4c], eax
jmp case.default.0x1007c9a2
mov esi, dword [esi + 8]
mov dword [ecx + 0x4c], 0
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0x40]
mov ecx, dword [eax + edx*4]
mov eax, dword [esp + 0x18]
mov edx, dword [ecx + 0x30]
mov dword [eax + 0x10], edx
mov ecx, dword [ecx + 0x34]
mov dword [eax + 0x14], ecx
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0x40]
mov eax, dword [eax + edx*4]
mov edx, dword [eax + 0x30]
add edx, 1
mov dword [eax + 0x30], edx
mov ecx, dword [eax + 0x34]
adc ecx, 0
mov dword [eax + 0x34], ecx
jmp case.default.0x1007c9a2
mov eax, dword [ebp + 0x40]
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], ecx
mov edx, dword [esi + 4]
mov edx, dword [eax + edx*4]
mov dword [esp + 0x28], edx
mov eax, dword [edx]
cmp eax, ecx
je 0x1007f84b
mov cl, byte [edx + 0x1b]
test cl, cl
jne 0x1007f74a
push eax
call fcn.100832c0
mov ecx, eax
add esp, 4
or ecx, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jne 0x1007f66a
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x2c]
push edx
mov ecx, dword [eax]
push ecx
call fcn.100837c0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x100817b1
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x1007f61b
mov eax, 1
xor edx, edx
mov dword [esp + 0x20], eax
jmp 0x1007f666
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x20]
push edx
mov ecx, dword [eax]
push ecx
call fcn.10077400
mov edx, dword [esp + 0x2c]
add esp, 8
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
cmp edx, 0x7fffffff
jl 0x1007f65c
jg 0x1007f64a
cmp eax, 0xffffffff
jb 0x1007f65c
mov edx, dword [esp + 0x28]
mov byte [edx + 0x1b], 1
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
jmp 0x1007f66a
add eax, 1
mov dword [esp + 0x20], eax
adc edx, 0
mov dword [esp + 0x24], edx
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x1007f71a
mov ebp, dword [ebp + 0xa8]
test ebp, ebp
je 0x1007f6a7
mov ecx, ebp
mov dword [esp + 0x38], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x1007f699
mov ecx, eax
mov dword [esp + 0x38], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x1007f68c
mov esi, dword [esi + 0xc]
mov ecx, dword [ecx + 0xc]
lea eax, [esi + esi*4]
lea edi, [ecx + eax*8]
jmp 0x1007f6ad
lea edx, [ebx + ebx*4]
lea edi, [edi + edx*8]
push edi
mov dword [esp + 0x38], edi
call fcn.10087d40
mov eax, dword [esp + 0x38]
add esp, 4
mov ecx, dword [eax + 0x14]
lea edx, [eax + 0x10]
mov eax, dword [eax + 0x10]
cmp eax, 0xffffffff
jne 0x1007f6d8
cmp ecx, 0x7fffffff
je 0x100817a9
mov esi, dword [esp + 0x28]
mov bl, byte [esi + 0x1b]
test bl, bl
jne 0x100817a9
mov esi, dword [esp + 0x24]
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x1007f705
jl 0x1007f6fd
cmp dword [esp + 0x20], eax
jae 0x1007f705
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x20]
mov dword [edx], ecx
mov eax, dword [esp + 0x24]
mov dword [edx + 4], eax
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
cmp edx, 0x7fffffff
jg 0x1007f731
jl 0x1007f729
cmp eax, 0xffffffff
jae 0x1007f731
add eax, 1
adc edx, 0
jmp 0x1007f735
xor eax, eax
xor edx, edx
mov ecx, dword [esp + 0x28]
push edx
push eax
mov edx, dword [ecx]
push edx
call fcn.10083280
mov edx, dword [esp + 0x34]
add esp, 0xc
mov al, byte [edx + 0x1b]
test al, al
je 0x1007f834
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf0]
and eax, 0x3fffffff
add ecx, 1
lea esi, [esp + 0x2c]
mov dword [esp + 0x20], ecx
adc eax, 0
push esi
push 0
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], 0
push eax
mov eax, dword [edx]
push ecx
push 0
push eax
call fcn.10083890
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1007f830
mov esi, 5
mov edx, dword [esp + 0x2c]
test edx, edx
jne 0x1007f820
mov ecx, dword [esp + 0x30]
inc ecx
cmp ecx, 0x64
mov dword [esp + 0x30], ecx
jge 0x1007f820
lea ecx, [esp + 0x20]
push ecx
push 8
call fcn.1006b1a0
mov eax, dword [esp + 0x38]
add esp, 8
cmp eax, esi
mov eax, dword [esp + 0x20]
jge 0x1007f7e4
mov ecx, dword [esp + 0x24]
and eax, 0xffffff
and ecx, 0
jmp 0x1007f7ee
mov ecx, dword [esp + 0x24]
and ecx, 0x3fffffff
add eax, 1
lea edx, [esp + 0x2c]
adc ecx, 0
push edx
push 0
push ecx
mov dword [esp + 0x2c], eax
push eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x34], ecx
push 0
mov ecx, dword [eax]
push ecx
call fcn.10083890
add esp, 0x18
test eax, eax
je 0x1007f7a5
mov dword [esp + 0x10], eax
jmp 0x1007f830
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1007f830
test edx, edx
je 0x100817a9
mov edx, dword [esp + 0x28]
mov byte [edx + 0x19], 0
mov edx, dword [esp + 0x28]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x28]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x24]
mov dword [eax + 0x14], edx
jmp case.default.0x1007c9a2
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [ebp + 0x40]
mov dword [esp + 0x20], ecx
mov edx, dword [esi + 4]
mov edx, dword [eax + edx*4]
mov dword [esp + 0x30], edx
mov al, byte [esi]
cmp al, 0x39
mov eax, dword [esi + 0xc]
jne 0x1007f89b
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov dword [esp + 0x24], edi
mov eax, dword [edi + 0x10]
mov dword [esp + 0x28], eax
mov edx, dword [edi + 0x14]
jmp 0x1007f8a0
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
test byte [esi + 3], 1
je 0x1007f8ad
inc dword [ebp + 0x68]
test byte [esi + 3], 2
je 0x1007f8cf
mov dword [ebx + 0x20], eax
mov ecx, dword [esp + 0x2c]
mov dword [ebx + 0x24], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], edx
test byte [ecx + 0x1c], 1
je 0x1007f8e7
xor eax, eax
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x20]
mov dword [edx + 0x18], eax
mov ecx, dword [esp + 0x20]
jmp 0x1007f8e9
xor eax, eax
test byte [esi + 3], 0x10
je 0x1007f8fc
mov edx, dword [esp + 0x30]
mov edx, dword [edx + 0x4c]
mov dword [esp + 0x38], edx
jmp 0x1007f900
mov dword [esp + 0x38], eax
test byte [ecx + 0x1d], 0x40
je 0x1007f909
mov eax, dword [ecx + 0x10]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], eax
push 0
push 0
mov edx, dword [ecx]
push edx
call fcn.10083280
mov eax, dword [esp + 0x44]
mov cl, byte [esi + 3]
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x30]
and ecx, 8
push ecx
push edx
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x50]
push eax
push ecx
push 0
mov eax, dword [edx]
push eax
call fcn.10083ec0
mov ecx, dword [esp + 0x60]
add esp, 0x30
test eax, eax
mov byte [ecx + 0x19], 0
mov edx, dword [esp + 0x30]
mov dword [esp + 0x10], eax
mov byte [edx + 0x1d], 0
mov ecx, dword [esp + 0x30]
mov dword [ecx + 0x50], 0
jne case.default.0x1007c9a2
mov eax, dword [ebx + 0xb8]
test eax, eax
je case.default.0x1007c9a2
mov eax, dword [esi + 0x10]
test eax, eax
je case.default.0x1007c9a2
mov edx, dword [esp + 0x30]
mov ecx, dword [ebx + 0x10]
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x2c]
shl eax, 4
push edx
mov edx, dword [esp + 0x2c]
mov eax, dword [eax + ecx]
push edx
mov dword [esp + 0x44], eax
mov edi, dword [esi + 0x10]
mov dword [esp + 0x48], edi
mov cl, byte [esi + 3]
and cl, 4
push edi
neg cl
sbb ecx, ecx
push eax
and ecx, 5
add ecx, 0x12
mov dword [esp + 0x54], ecx
mov eax, dword [ebx + 0xb4]
push ecx
push eax
call dword [ebx + 0xb8]
jmp 0x1008153b
mov eax, dword [ebp + 0x40]
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov edx, dword [esi + 4]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x28], eax
mov edx, dword [ebx + 0xb8]
cmp edx, ecx
je 0x1007fa17
cmp dword [esi + 0x10], ecx
je 0x1007fa17
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x20], ecx
mov edx, dword [eax + 0x44]
mov dword [esp + 0x24], edx
push eax
call fcn.10088240
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x100817b1
push eax
push eax
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
push ecx
call fcn.10083280
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
push eax
call fcn.100864d0
mov ecx, dword [esp + 0x38]
add esp, 0x10
test eax, eax
mov dword [esp + 0x10], eax
mov dword [ecx + 0x50], 0
jne 0x1007fa97
mov ecx, dword [ebx + 0xb8]
test ecx, ecx
je 0x1007fa97
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1007fa97
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x24]
push edx
push eax
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 0xc]
mov eax, dword [ebx + 0x10]
shl edx, 4
mov edx, dword [edx + eax]
mov eax, dword [ebx + 0xb4]
push edx
push 9
push eax
call ecx
add esp, 0x18
test byte [esi + 8], 1
je case.default.0x1007c9a2
inc dword [ebp + 0x68]
jmp case.default.0x1007c9a2
mov ecx, dword [ebp + 0x68]
push ecx
push ebx
call fcn.1007a1c0
add esp, 8
mov dword [ebp + 0x68], 0
jmp case.default.0x1007c9a2
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0x40]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x20], ecx
mov eax, dword [esi + 0xc]
lea edx, [eax + eax*4]
lea eax, [esp + 0x24]
push eax
lea edi, [edi + edx*8]
push edi
push ecx
call fcn.1008b0b0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
add esp, 0xc
jmp 0x1007fe2a
mov eax, dword [esi + 8]
mov edx, dword [esi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0x40]
mov eax, dword [eax + edx*4]
lea ecx, [edi + ecx*8]
push ecx
push eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], eax
call fcn.1008b000
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x1007c9a2
mov eax, dword [esi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea edx, [edi + ecx*8]
mov ecx, dword [ebp + 0x40]
mov dword [esp + 0x18], edx
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x20], eax
push eax
mov edx, dword [eax]
mov dword [esp + 0x28], edx
call fcn.10088240
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x100817b1
mov eax, dword [esp + 0x20]
mov cl, byte [eax + 0x1f]
test cl, cl
je 0x1007fb99
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x30]
push ecx
push edx
call fcn.10077400
mov eax, dword [ebx + 0x4c]
mov ecx, dword [esp + 0x3c]
cdq
add esp, 8
cmp ecx, edx
mov ecx, dword [esp + 0x30]
jg 0x10081829
jl 0x1007fb91
cmp ecx, eax
ja 0x10081829
mov eax, ecx
mov dword [esp + 0x28], eax
jmp 0x1007fbba
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x28]
push edx
push eax
call fcn.100832d0
mov eax, dword [esp + 0x30]
mov ecx, dword [ebx + 0x4c]
add esp, 8
cmp eax, ecx
ja 0x10081829
mov esi, dword [esp + 0x18]
push 0
push eax
push esi
call fcn.10077c40
add esp, 0xc
test eax, eax
jne 0x100816b2
mov dx, word [esi + 0x1c]
mov ecx, dword [esp + 0x28]
and edx, 0xbf10
mov dword [esi + 0x18], ecx
or edx, 0x10
mov word [esi + 0x1c], dx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov cl, byte [eax + 0x1f]
mov eax, dword [esp + 0x24]
test cl, cl
mov ecx, dword [esi + 4]
push ecx
push edx
push 0
push eax
je 0x1007fc1a
call fcn.100774c0
add esp, 0x10
mov dword [esp + 0x10], eax
mov byte [esi + 0x1f], 1
jmp case.default.0x1007c9a2
call fcn.100832f0
add esp, 0x10
mov dword [esp + 0x10], eax
mov byte [esi + 0x1f], 1
jmp case.default.0x1007c9a2
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x40]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x20], eax
mov cl, byte [eax + 0x1c]
test cl, cl
je 0x1007fc52
mov eax, dword [esp + 0x18]
mov word [eax + 0x1c], 1
jmp case.default.0x1007c9a2
mov cl, byte [eax + 0x1d]
test cl, cl
je 0x1007fc69
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x2c], edx
jmp 0x1007fce0
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x1007fc9c
mov ecx, dword [ecx]
lea edx, [esp + 0x28]
mov dword [esp + 0x30], ecx
push edx
mov ecx, dword [ecx]
mov dword [esp + 0x38], ecx
mov eax, dword [eax + 0x24]
push eax
call dword [ecx + 0x30]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x18], eax
push ecx
push ebp
call fcn.10089240
add esp, 0x10
jmp 0x1007fce0
push eax
call fcn.10088240
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x100817b1
mov eax, dword [esp + 0x20]
mov cl, byte [eax + 0x19]
test cl, cl
je 0x1007fccc
mov edx, dword [eax + 0x40]
mov dword [esp + 0x28], edx
mov eax, dword [eax + 0x44]
mov dword [esp + 0x2c], eax
jmp 0x1007fce0
mov edx, dword [eax]
lea ecx, [esp + 0x28]
push ecx
push edx
call fcn.10077400
add esp, 8
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x2c]
mov dword [eax + 0x14], edx
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
mov ecx, dword [ebp + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x20], eax
mov byte [eax + 0x1c], 1
mov edx, dword [esp + 0x20]
mov byte [edx + 0x19], 0
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
test eax, eax
je case.default.0x1007c9a2
push eax
call fcn.100773e0
add esp, 4
jmp case.default.0x1007c9a2
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x40]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x20], eax
mov ecx, dword [eax]
mov dword [esp + 0x28], 0
test ecx, ecx
mov dword [esp + 0x24], ecx
je 0x1007fd61
lea eax, [esp + 0x28]
push eax
push ecx
call fcn.100837c0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
add esp, 8
mov cl, byte [esp + 0x28]
mov byte [eax + 0x1c], cl
mov edx, dword [esp + 0x20]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x20]
mov byte [eax + 0x19], 0
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x50], 0
mov esi, dword [esi + 8]
test esi, esi
jle case.default.0x1007c9a2
mov eax, dword [esp + 0x28]
test eax, eax
je case.default.0x1007c9a2
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
inc dword [ebp + 0x7c]
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0x40]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], eax
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x1007fdd8
lea ecx, [esp + 0x28]
push ecx
push eax
push ebx
call fcn.1008a980
add esp, 0xc
mov dword [esp + 0x10], eax
jmp 0x1007fe1b
mov eax, dword [eax]
lea edx, [esp + 0x28]
push edx
push eax
mov dword [esp + 0x2c], eax
call fcn.100834f0
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
add esp, 8
test eax, eax
sete al
mov byte [ecx + 0x1a], al
mov edx, dword [esp + 0x20]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x20]
mov dword [eax + 0x50], 0
mov ecx, dword [esp + 0x20]
mov byte [ecx + 0x19], 0
mov eax, dword [esp + 0x20]
mov dl, byte [esp + 0x28]
mov byte [eax + 0x1c], dl
mov eax, dword [esp + 0x28]
test eax, eax
je case.default.0x1007c9a2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
mov eax, dword [ebx + 0xe0]
test eax, eax
jne 0x100817fa
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x40]
mov eax, dword [edx + ecx*4]
test eax, eax
mov dword [esp + 0x20], eax
je case.default.0x1007c9a2
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x1007fe7e
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x24]
push ecx
push eax
push edx
call fcn.1008af50
add esp, 0xc
jmp 0x1007fe94
mov dword [esp + 0x24], 1
mov edx, dword [eax]
lea ecx, [esp + 0x24]
push ecx
push edx
call dword [esi + 0x10]
add esp, 8
mov cl, byte [esp + 0x24]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov byte [eax + 0x1c], cl
mov edx, dword [esp + 0x20]
mov dword [edx + 0x50], 0
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x1007fed5
mov eax, dword [esi + 8]
dec eax
mov dword [esp + 0x14], eax
mov al, byte [esi + 3]
test al, al
je 0x1007fed5
and eax, 0xff
mov ecx, dword [ebp + eax*4 + 0x74]
lea eax, [ebp + eax*4 + 0x74]
inc ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x20]
mov byte [eax + 0x19], 0
jmp case.default.0x1007c9a2
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x40]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x20], ecx
mov eax, dword [esi + 8]
mov ebp, dword [ecx]
lea eax, [eax + eax*4]
mov dword [esp + 0x24], ebp
test ebp, ebp
lea edi, [edi + eax*8]
je case.default.0x1007c9a2
test byte [edi + 0x1d], 0x40
je 0x1007ff29
push edi
call fcn.10077dc0
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x1007c9a2
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x1007ff44
push edi
push ecx
push ebx
call fcn.1008a4f0
add esp, 0xc
mov dword [esp + 0x10], eax
jmp case.default.0x1007c9a2
mov eax, dword [edi + 0x18]
mov dword [esp + 0x28], eax
mov edi, dword [edi + 4]
mov dword [esp + 0x2c], edi
mov dl, byte [esi + 3]
test dl, 0x10
je 0x1007ff5f
mov ecx, dword [ecx + 0x4c]
jmp 0x1007ff61
xor ecx, ecx
push ecx
mov ecx, dword [esi + 0xc]
push ecx
push 0
cdq
push 0
push 0x10135594
push edx
push eax
push edi
push ebp
call fcn.10083ec0
mov edx, dword [esp + 0x44]
add esp, 0x24
mov dword [esp + 0x10], eax
mov dword [edx + 0x50], 0
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
mov ecx, dword [ebp + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x20], eax
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 0x24], ecx
je case.default.0x1007c9a2
mov edx, dword [eax + 8]
mov dword [esp + 0x30], edx
mov ax, word [esi + 0xc]
mov word [esp + 0x34], ax
mov byte [esp + 0x36], 0
mov esi, dword [esi + 8]
lea edx, [esi + esi*4]
lea eax, [edi + edx*8]
lea edx, [esp + 0x28]
push edx
mov dword [esp + 0x44], eax
push 0
push 0
lea eax, [esp + 0x3c]
push 0
push eax
push ecx
call fcn.10083890
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x10080007
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x10080007
mov ecx, dword [esp + 0x24]
push ecx
call fcn.100864d0
add esp, 4
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x20]
mov dword [edx + 0x50], 0
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
mov ecx, dword [ebp + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x24], eax
mov edx, dword [eax]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], edx
mov word [eax + 0x1c], 1
mov eax, dword [esp + 0x20]
test eax, eax
je case.default.0x1007c9a2
mov ecx, dword [esp + 0x24]
push ecx
call fcn.10088240
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x100817b1
mov edx, dword [esp + 0x24]
mov al, byte [edx + 0x1c]
test al, al
jne case.default.0x1007c9a2
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x28]
push eax
push ecx
push ebx
call fcn.10088ae0
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x100817b1
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 0x14], ecx
mov word [eax + 0x1c], 4
jmp case.default.0x1007c9a2
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0x40]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x20], ecx
cmp dword [ecx], 0
je case.default.0x1007c9a2
mov edx, dword [ecx + 8]
mov dword [esp + 0x28], edx
mov ax, word [esi + 0x10]
mov word [esp + 0x2c], ax
mov al, byte [esi + 3]
test al, al
setne dl
add edx, 2
mov byte [esp + 0x2e], dl
mov eax, dword [esi + 0xc]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
lea eax, [esp + 0x24]
mov dword [esp + 0x38], edx
lea edx, [esp + 0x28]
push eax
push edx
push ecx
call fcn.10088c20
mov dword [esp + 0x1c], eax
mov al, byte [esi]
add esp, 0xc
cmp al, 0x64
mov eax, dword [esp + 0x24]
jne 0x1008010b
neg eax
jmp 0x1008010c
inc eax
test eax, eax
mov dword [esp + 0x24], eax
jle case.default.0x1007c9a2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
mov dword [esp + 0x24], 0
mov eax, dword [ebx + 4]
test eax, eax
mov dword [esp + 0x28], eax
je 0x1008015e
mov ecx, 0xbdf20da3
cmp dword [eax + 0x30], ecx
jne 0x10080153
cmp byte [eax + 0x62], 2
jae 0x10080153
mov edx, dword [eax + 0x54]
test edx, edx
jl 0x10080153
inc dword [esp + 0x24]
mov eax, dword [eax + 0x3c]
test eax, eax
mov dword [esp + 0x28], eax
jne 0x1008013d
mov ecx, dword [esp + 0x18]
mov eax, 1
mov word [ecx + 0x1c], ax
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jle 0x10080184
mov dword [esp + 0x10], 6
mov byte [ebp + 0x5c], 2
jmp case.default.0x1007c9a2
mov eax, dword [esi + 0xc]
lea edx, [esp + 0x20]
mov dword [esp + 0x2c], eax
mov ecx, dword [esi + 4]
push edx
mov edx, dword [ebx + 0x10]
shl eax, 4
push ecx
mov eax, dword [eax + edx + 4]
push eax
call fcn.10086b70
mov ecx, dword [esp + 0x24]
mov edi, eax
add esp, 0xc
mov dword [esp + 0x10], edi
mov word [ecx + 0x1c], 4
mov eax, dword [esp + 0x20]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
test edi, edi
jne case.default.0x1007c9a2
mov eax, dword [esp + 0x20]
test eax, eax
je case.default.0x1007c9a2
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x2c]
push ecx
push eax
push edx
push ebx
call fcn.1008c990
mov al, byte [esp + 0x3c]
add esp, 0x10
inc al
mov byte [esp + 0x104], al
jmp case.default.0x1007c9a2
mov dword [esp + 0x20], 0
mov eax, dword [esi + 0xc]
neg eax
mov edx, dword [esi + 4]
lea ecx, [esp + 0x20]
sbb eax, eax
and eax, ecx
mov ecx, dword [ebx + 0x10]
push eax
mov eax, dword [esi + 8]
shl eax, 4
push edx
mov edx, dword [eax + ecx + 4]
push edx
call fcn.100869b0
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0xc]
add esp, 0xc
test eax, eax
je case.default.0x1007c9a2
mov eax, dword [esp + 0x20]
mov edx, dword [ebp + 0x68]
add edx, eax
mov dword [ebp + 0x68], edx
mov esi, dword [esi + 0xc]
test esi, esi
jle case.default.0x1007c9a2
lea ecx, [esi + esi*4]
mov esi, dword [edi + ecx*8 + 0x10]
cdq
lea ecx, [edi + ecx*8 + 0x10]
add esi, eax
mov dword [ecx], esi
mov eax, dword [ecx + 4]
adc eax, edx
mov dword [ecx + 4], eax
jmp case.default.0x1007c9a2
mov dword [esp + 0x20], 0
mov eax, dword [esi + 4]
mov edi, dword [ebx + 0x10]
xor ecx, ecx
shl eax, 4
add eax, edi
mov dword [esp + 0x28], eax
mov dl, byte [esi]
cmp dl, 0x69
lea edx, [esp + 0x20]
setne cl
inc ecx
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 4]
push ecx
push edx
push eax
call fcn.10086720
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
add esp, 0xc
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
mov ecx, str.sqlite_temp_master
cmp eax, 1
mov dword [esp + 0x20], eax
je 0x100802d4
mov ecx, str.sqlite_master
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], ebx
mov edx, dword [esi + 4]
add ebp, 0x34
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ebp
mov edx, dword [esi + 0x10]
push edx
push ecx
mov ecx, dword [ebx + 0x10]
shl eax, 4
mov edx, dword [eax + ecx]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.10079e20
add esp, 0x14
mov dword [esp + 0x28], eax
test eax, eax
jne 0x1008031a
mov esi, 7
mov dword [esp + 0x10], esi
jmp 0x10080368
lea eax, [esp + 0x2c]
mov byte [ebx + 0x7d], 1
mov ecx, dword [esp + 0x28]
push 0
push eax
push fcn.1008f010
push ecx
push ebx
mov dword [esp + 0x4c], 0
call fcn.1008e960
mov esi, eax
add esp, 0x14
test esi, esi
mov dword [esp + 0x10], esi
jne 0x10080352
mov esi, dword [esp + 0x38]
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0x28]
push edx
push ebx
call fcn.1006aec0
add esp, 8
mov byte [ebx + 0x7d], 0
test esi, esi
je 0x10080373
push 0xffffffffffffffff
push ebx
call fcn.1008c520
add esp, 8
cmp esi, 7
je 0x100816b2
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
push eax
push ebx
call fcn.1008b750
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x1007c9a2
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 4]
push ecx
push edx
push ebx
call fcn.1008c8e0
add esp, 0xc
jmp case.default.0x1007c9a2
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 4]
push eax
push ecx
push ebx
call fcn.1008c150
add esp, 0xc
jmp case.default.0x1007c9a2
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 4]
push edx
push eax
push ebx
call fcn.10090670
add esp, 0xc
jmp case.default.0x1007c9a2
mov eax, dword [esi + 8]
mov dword [esp + 0x20], eax
lea ecx, [eax*4 + 4]
push ecx
push ebx
call fcn.10069e80
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
je 0x100816b2
mov ecx, dword [esi + 0xc]
lea edx, [ecx + ecx*4]
lea ecx, [edi + edx*8]
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 4]
lea edx, [ecx + ecx*4]
xor ecx, ecx
mov dword [esp + 0x28], ecx
lea edi, [edi + edx*8]
mov edx, dword [esp + 0x20]
test edx, edx
jle 0x10080450
lea eax, [ecx + ecx*4]
lea ecx, [edi + eax*8]
push ecx
call fcn.1007aa40
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
add esp, 4
mov dword [ecx + edx*4], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
inc ecx
cmp ecx, eax
mov dword [esp + 0x28], ecx
jl 0x10080421
mov eax, dword [esp + 0x24]
mov dword [eax + ecx*4], 0
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x2c]
mov ecx, dword [eax + 0x10]
push edx
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
push ecx
xor ecx, ecx
mov cl, byte [esi + 3]
mov esi, dword [esp + 0x24]
push edx
push eax
mov edx, dword [esi + 0x10]
shl ecx, 4
mov eax, dword [ecx + edx + 4]
push eax
call fcn.10086ee0
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x44], eax
push ecx
push esi
call fcn.1006aec0
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x48]
push edi
mov ebx, dword [edx + 0x10]
lea ecx, [edx + 0x10]
cdq
sub ebx, eax
mov dword [ecx], ebx
mov esi, dword [ecx + 4]
sbb esi, edx
mov dword [ecx + 4], esi
call fcn.10077f90
mov eax, dword [esp + 0x4c]
add esp, 0x20
test eax, eax
je 0x100804e1
mov eax, dword [esp + 0x30]
test eax, eax
je 0x100816b2
push fcn.10069c80
push 1
push 0xffffffffffffffff
push eax
push edi
call fcn.10077a20
add esp, 0x14
mov eax, dword [esp + 0xe8]
and eax, 0xff
push eax
push edi
call fcn.1007a450
add esp, 8
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
mov esi, dword [esi + 8]
lea ecx, [eax + eax*4]
mov al, byte [edi + ecx*8 + 0x1c]
lea edx, [esi + esi*4]
lea ebx, [edi + ecx*8]
test al, 0x20
lea esi, [edi + edx*8]
jne 0x1008052a
push ebx
call fcn.10087e10
mov al, byte [ebx + 0x1c]
add esp, 4
test al, 0x20
je 0x100816b2
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov edx, dword [ebx + 0x10]
push eax
push ecx
push edx
call fcn.10081eb0
add esp, 0xc
jmp case.default.0x1007c9a2
mov eax, dword [ebx + 0xe0]
test eax, eax
jne 0x100817fa
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov al, byte [edi + eax*8 + 0x1c]
test al, 0x20
je 0x10080598
mov edx, dword [ebx + 0x10]
lea ecx, [esp + 0x20]
push ecx
push edx
call fcn.10081f40
add esp, 8
test eax, eax
je 0x10080598
mov esi, dword [esi + 0xc]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
push eax
lea edx, [esi + esi*4]
push ecx
lea eax, [edi + edx*8]
push eax
call fcn.1007ae80
add esp, 0xc
jmp case.default.0x1007c9a2
push ebx
call fcn.10077f90
mov esi, dword [esi + 8]
add esp, 4
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x10]
lea ebx, [edi + ecx*8]
mov dword [esp + 0x20], eax
lea edi, [edi + edx*8]
test byte [ebx + 0x1c], 0x20
jne 0x100805e5
push ebx
call fcn.10087e10
mov al, byte [ebx + 0x1c]
add esp, 4
test al, 0x20
je 0x100816b2
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1008062b
jl 0x100805f0
and eax, 0xf
jmp 0x100805f5
mov eax, 0xff
mov ecx, dword [edi + 0x14]
mov edx, dword [edi + 0x10]
push ecx
push edx
push eax
mov eax, dword [ebx + 0x10]
push eax
call fcn.10082150
add esp, 0x10
mov dword [esp + 0x24], eax
test eax, eax
je 0x1008061f
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
mov eax, dword [esp + 0x20]
test eax, eax
jl case.default.0x1007c9a2
mov ecx, dword [edi + 0x14]
mov edx, dword [edi + 0x10]
mov eax, dword [ebx + 0x10]
push ecx
push edx
push eax
call fcn.10081eb0
add esp, 0xc
jmp case.default.0x1007c9a2
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x38], ecx
mov eax, dword [esi + 0xc]
lea edx, [eax + eax*4]
lea edi, [edi + edx*8]
mov dword [esp + 0x28], edi
mov al, byte [esi + 3]
test al, al
je 0x1008068e
mov eax, dword [ebp + 0xa8]
mov edx, dword [ecx + 0x14]
test eax, eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], eax
je 0x1008068e
cmp dword [eax + 0x18], edx
je 0x10080686
mov eax, dword [eax + 4]
test eax, eax
mov dword [esp + 0x34], eax
jne 0x10080674
jmp 0x1008068e
test eax, eax
jne case.default.0x1007c9a2
mov eax, dword [ebp + 0xb0]
mov edx, dword [ebx + 0x74]
cmp eax, edx
jl 0x100806ba
push str.too_many_levels_of_trigger_recursion
add ebp, 0x34
push ebx
push ebp
mov dword [esp + 0x1c], 1
call fcn.1007a0e0
add esp, 0xc
jmp case.default.0x1007c9a2
test byte [edi + 0x1c], 0x40
jne 0x100807f5
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 0xc]
add eax, edx
mov dword [esp + 0x20], eax
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0xc]
lea edx, [eax + edx*2]
mov eax, dword [ecx + 0x10]
lea eax, [eax + edx*4 + 0x48]
push eax
push ebx
mov dword [esp + 0x2c], eax
call fcn.1006ea00
add esp, 8
mov dword [esp + 0x34], eax
test eax, eax
je 0x100816b2
mov ecx, dword [esp + 0x28]
push ecx
call fcn.10077e30
mov edx, dword [esp + 0x2c]
add esp, 4
mov word [edx + 0x1c], 0x40
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x10], eax
mov edx, dword [esp + 0x34]
mov dword [edx], ebp
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x3c], ecx
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x40], eax
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
mov dword [edx + 0x2c], eax
mov edx, dword [esp + 0x34]
mov ecx, dword [ebp + 8]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 0x18]
mov dword [ecx + 0x34], eax
mov eax, dword [esp + 0x34]
mov edx, dword [ebp + 0x40]
mov dword [eax + 0x14], edx
mov edx, dword [esp + 0x34]
mov cx, word [ebp + 0x2e]
mov word [edx + 0x28], cx
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 4]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x34]
mov edx, dword [ebp + 0x1c]
mov dword [eax + 0x30], edx
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x18], edx
mov edx, dword [esp + 0x34]
mov ecx, dword [ebp + 0xc0]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 0xbc]
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x3c]
lea edx, [ecx + ecx*4]
lea ecx, [eax + 0x48]
mov dword [esp + 0x2c], ecx
lea edx, [eax + edx*8 + 0x48]
cmp ecx, edx
mov dword [esp + 0x30], edx
je 0x100807fc
mov eax, dword [esp + 0x1c]
mov edx, 0x80
mov word [ecx + 0x1c], dx
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
add ecx, 0x28
cmp ecx, esi
mov dword [esp + 0x2c], ecx
jne 0x100807d2
mov eax, dword [esp + 0x34]
jmp 0x100807fc
mov eax, dword [edi + 0x10]
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x134]
mov dword [esp + 0x14], 0xffffffff
mov ebx, dword [edx + 0xb0]
mov ecx, dword [edx + 0xa8]
inc ebx
mov dword [edx + 0xb0], ebx
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xf0]
mov dword [eax + 0x20], ecx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xf4]
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0x34]
mov eax, dword [edx + 0x68]
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x34]
mov dword [edx + 0x68], 0
mov dword [edx + 0xa8], eax
lea ecx, [eax + 0x20]
mov dword [edx + 8], ecx
mov esi, dword [eax + 0x3c]
mov dword [edx + 0x18], esi
mov ax, word [eax + 0x40]
mov word [edx + 0x2e], ax
mov eax, esi
inc eax
mov dword [esp + 0xec], ecx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [esp + 0x38]
mov dword [edx + 0x40], eax
mov esi, dword [ecx]
mov dword [esp + 0x108], esi
mov dword [edx + 4], esi
mov esi, dword [ecx + 4]
mov dword [edx + 0x1c], esi
xor esi, esi
mov si, word [edx + 0x2e]
lea edi, [eax + esi*4]
xor eax, eax
mov dword [edx + 0xc0], edi
mov ecx, dword [ecx + 0x10]
mov dword [edx + 0xbc], ecx
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
jmp case.default.0x1007c9a2
mov ebp, dword [ebp + 0xa8]
push 0x1000
mov dword [esp + 0x24], ebp
mov ebx, dword [esi + 4]
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 8]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 4]
mov ecx, dword [esp + 0x1c]
add eax, ebx
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea eax, [eax + edx*8]
push eax
push ecx
mov dword [esp + 0x30], eax
call fcn.10087ed0
add esp, 0xc
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
test eax, eax
mov eax, dword [esi + 8]
cdq
je 0x1008092f
mov ecx, dword [ebx + 0x1e8]
add ecx, eax
mov dword [ebx + 0x1e8], ecx
mov eax, dword [ebx + 0x1ec]
adc eax, edx
mov dword [ebx + 0x1ec], eax
jmp case.default.0x1007c9a2
mov ecx, dword [ebp + 0x90]
add ecx, eax
mov dword [ebp + 0x90], ecx
mov eax, dword [ebp + 0x94]
adc eax, edx
mov dword [ebp + 0x94], eax
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
test eax, eax
je 0x1008097e
mov edx, dword [ebx + 0x1e8]
mov ecx, dword [ebx + 0x1ec]
lea eax, [ebx + 0x1e8]
or edx, ecx
jne case.default.0x1007c9a2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
mov ecx, dword [ebp + 0x90]
mov edx, dword [ebp + 0x94]
lea eax, [ebp + 0x90]
or ecx, edx
jne case.default.0x1007c9a2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
mov ebp, dword [ebp + 0xa8]
test ebp, ebp
je 0x100809d7
mov ecx, ebp
mov dword [esp + 0x24], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x100809c9
mov ecx, eax
mov dword [esp + 0x24], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x100809bc
mov eax, dword [esi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0xc]
lea eax, [eax + edx*8]
jmp 0x100809e0
mov eax, dword [esi + 4]
lea ecx, [eax + eax*4]
lea eax, [edi + ecx*8]
push eax
mov dword [esp + 0x24], eax
call fcn.10087d40
mov esi, dword [esi + 8]
lea edx, [esi + esi*4]
lea esi, [edi + edx*8]
push esi
call fcn.10087d40
mov eax, dword [esp + 0x28]
mov ecx, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
add eax, 0x10
add esp, 8
mov edx, dword [eax + 4]
cmp edx, esi
jg case.default.0x1007c9a2
jl 0x10080a20
mov edx, dword [eax]
cmp edx, ecx
jae case.default.0x1007c9a2
mov dword [eax], ecx
mov dword [eax + 4], esi
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8 + 0x10]
mov eax, dword [edi + 4]
test eax, eax
jl case.default.0x1007c9a2
jg 0x10080a4a
cmp dword [edi], 0
jbe case.default.0x1007c9a2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + ecx*8 + 0x14]
test eax, eax
lea edi, [edi + ecx*8 + 0x10]
jg case.default.0x1007c9a2
jl 0x10080a78
cmp dword [edi], 0
jae case.default.0x1007c9a2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0xc]
mov ebx, dword [edi + edx*8 + 0x10]
lea ecx, [edi + edx*8]
cdq
add ebx, eax
mov dword [ecx + 0x10], ebx
mov edi, dword [ecx + 0x14]
adc edi, edx
mov dword [ecx + 0x14], edi
mov eax, dword [ecx + 0x10]
mov edx, edi
or eax, edx
jne case.default.0x1007c9a2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
xor ecx, ecx
mov cl, byte [esi + 3]
mov dword [esp + 0x20], ecx
mov eax, dword [esi + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x70], eax
xor eax, eax
lea edi, [edi + edx*8]
mov dword [esp + 0x24], eax
test ecx, ecx
mov dword [esp + 0x2c], edi
jle 0x10080b14
mov ecx, dword [esp + 0x70]
mov dword [ecx + eax*4], edi
mov edx, dword [esp + 0x2c]
push edx
call fcn.1007c760
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
add esp, 4
inc eax
add edi, 0x28
cmp eax, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], edi
jl 0x10080ae4
mov eax, dword [esi + 0x10]
mov ebx, dword [esp + 0xec]
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0xc]
mov ebp, dword [esp + 0x1c]
xor edi, edi
lea ecx, [eax + eax*4]
lea eax, [ebx + ecx*8]
mov dword [esp + 0x28], eax
mov dword [esp + 0x60], eax
mov edx, dword [eax + 0x18]
inc edx
mov dword [eax + 0x18], edx
mov eax, dword [esp + 0x30]
mov word [esp + 0x54], 1
mov dword [esp + 0x3c], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x38], ebp
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x6c], edi
test byte [eax + 3], 8
je 0x10080b74
mov edx, dword [esi - 4]
mov dword [esp + 0x64], edx
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x20]
push ecx
lea ecx, [esp + 0x34]
push edx
push ecx
call dword [eax + 0x10]
mov eax, dword [esp + 0x74]
add esp, 0xc
cmp eax, edi
je 0x10080bbd
lea edx, [esp + 0x38]
push edx
call fcn.1007ace0
push eax
mov eax, dword [esp + 0x13c]
push 0x101189f0
add eax, 0x34
push ebp
push eax
call fcn.1007a0e0
mov ecx, dword [esp + 0x7c]
add esp, 0x14
mov dword [esp + 0x10], ecx
cmp dword [esp + 0x6c], edi
je 0x10080be0
mov esi, dword [esi - 0x10]
cmp esi, edi
mov dword [esp + 0x24], esi
je 0x10080be0
lea edx, [esi + esi*4]
push edi
push 1
lea eax, [ebx + edx*8]
push eax
call fcn.1007ae80
add esp, 0xc
lea ecx, [esp + 0x38]
push ecx
call fcn.10077e30
add esp, 4
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
lea edx, [eax + eax*4]
lea edi, [edi + edx*8]
mov dword [esp + 0x20], edi
mov eax, dword [esi + 0x10]
push eax
push edi
call fcn.10077f20
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x10080c31
mov ecx, dword [esp + 0x20]
push ecx
call fcn.1007ace0
push eax
push 0x101189f0
add ebp, 0x34
push ebx
push ebp
call fcn.1007a0e0
add esp, 0x14
mov edx, dword [esp + 0xe8]
mov eax, dword [esp + 0x20]
and edx, 0xff
push edx
push eax
call fcn.1007a450
mov ecx, dword [esp + 0x28]
push ecx
call fcn.10087ea0
add esp, 0xc
test eax, eax
jne 0x10081829
jmp case.default.0x1007c9a2
or eax, 0xffffffff
xor ebp, ebp
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
lea edx, [esp + 0x2c]
mov dword [esp + 0x24], ebp
mov ecx, dword [esi + 8]
lea eax, [esp + 0x28]
push edx
mov edx, dword [esi + 4]
push eax
push ecx
push edx
push ebx
call fcn.100b4450
add esp, 0x14
cmp eax, 5
mov dword [esp + 0x10], eax
jne 0x10080ca4
mov dword [esp + 0x10], ebp
mov dword [esp + 0x24], 1
xor eax, eax
mov dword [esp + 0x20], eax
mov esi, dword [esi + 0xc]
lea ecx, [esi + esi*4]
lea edi, [edi + ecx*8]
mov dword [esp + 0x30], edi
mov eax, dword [esp + eax*4 + 0x24]
cdq
push edx
push eax
push edi
call fcn.1007ae80
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
add esp, 0xc
inc eax
add edi, 0x28
cmp eax, 3
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], edi
jl 0x10080cb7
jmp case.default.0x1007c9a2
mov edx, dword [esi + 0xc]
mov dword [esp + 0x28], edx
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x10]
shl eax, 4
mov eax, dword [eax + ecx + 4]
push eax
mov dword [esp + 0x24], eax
call fcn.1006e750
push eax
mov dword [esp + 0x2c], eax
call fcn.100725f0
mov ecx, dword [esp + 0x30]
add esp, 8
cmp ecx, 0xffffffff
mov dword [esp + 0x2c], eax
jne 0x10080d21
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x24]
push edx
call fcn.10082390
add esp, 4
test eax, eax
jne 0x10080d3a
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x24]
push ecx
call fcn.10079ea0
mov ecx, dword [esp + 0x2c]
add esp, 4
cmp ecx, 5
mov dword [esp + 0x30], eax
jne 0x10080de7
push eax
call fcn.1006b360
add esp, 4
test eax, eax
je 0x10080d76
mov edx, dword [esp + 0x24]
push edx
call fcn.10074c50
add esp, 4
test eax, eax
jne 0x10080de3
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x10]
test eax, eax
je 0x10080d8e
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], ecx
push ecx
mov ecx, dword [esp + 0x28]
push ecx
call fcn.10082290
mov dword [esp + 0x30], eax
mov esi, dword [esi + 8]
lea edx, [esi + esi*4]
lea esi, [edi + edx*8]
mov dword [esp + 0x20], esi
mov word [esi + 0x1c], 0xa02
mov eax, dword [esp + 0x30]
push eax
call fcn.1008eff0
push eax
mov dword [esi + 4], eax
call fcn.1006b360
mov ecx, dword [esp + 0xf8]
mov dword [esi + 0x18], eax
and ecx, 0xff
mov byte [esi + 0x1f], 1
push ecx
push esi
call fcn.1007a450
jmp 0x1008153b
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
cmp ecx, eax
je 0x10080d7e
cmp eax, 5
je 0x10080df9
cmp ecx, 5
jne 0x10080d7e
mov dl, byte [ebx + 0x34]
test dl, dl
je 0x10080e7b
cmp dword [ebx + 0x80], 1
jg 0x10080e7b
cmp eax, 5
jne 0x10080e33
mov eax, dword [esp + 0x24]
push eax
call fcn.100823c0
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x10080d86
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
push edx
jmp 0x10080e3f
cmp eax, 4
jne 0x10080e4b
mov eax, dword [esp + 0x24]
push 2
push eax
call fcn.10082290
mov ecx, dword [esp + 0x30]
add esp, 8
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x10080d86
mov eax, dword [esp + 0x20]
xor edx, edx
cmp ecx, 5
sete dl
inc edx
push edx
push eax
call fcn.10076da0
mov ecx, dword [esp + 0x30]
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x10080d7e
cmp ecx, 5
mov dword [esp + 0x10], 1
mov eax, str.into
je 0x10080e92
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
add ebp, 0x34
push ebx
push ebp
call fcn.1007a0e0
add esp, 0x10
jmp case.default.0x1007c9a2
add ebp, 0x34
push ebx
push ebp
call fcn.10090720
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x1007c9a2
mov edx, dword [esi + 4]
mov eax, dword [ebx + 0x10]
shl edx, 4
mov eax, dword [edx + eax + 4]
push eax
mov dword [esp + 0x24], eax
call fcn.10083110
add esp, 4
cmp eax, 0x65
mov dword [esp + 0x10], eax
jne case.default.0x1007c9a2
mov esi, dword [esi + 8]
mov dword [esp + 0x10], 0
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
test eax, eax
jne 0x10080f11
push ebx
call fcn.10088ce0
add esp, 4
jmp case.default.0x1007c9a2
mov byte [ebp + 0x5f], 1
jmp case.default.0x1007c9a2
mov al, byte [esi + 0xc]
test al, al
mov byte [esp + 0x114], al
jne 0x10080f35
test dword [ebx + 0x18], 0x80000
jne case.default.0x1007c9a2
mov ecx, dword [esp + 0x114]
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
push ecx
mov ecx, dword [ebx + 0x10]
push edx
shl eax, 4
mov edx, dword [eax + ecx + 4]
push edx
call fcn.10087c10
add esp, 0xc
cmp al, 6
mov dword [esp + 0x10], eax
jne case.default.0x1007c9a2
mov eax, dword [esi + 0x10]
add ebp, 0x34
push eax
push str.database_table_is_locked:__s
push ebx
push ebp
call fcn.1007a0e0
add esp, 0x10
jmp case.default.0x1007c9a2
mov esi, dword [esi + 0x10]
push esi
push ebx
mov dword [esp + 0x28], esi
call fcn.10091790
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
add esp, 8
test eax, eax
je case.default.0x1007c9a2
mov ecx, dword [eax + 8]
push ecx
push ebp
call fcn.10089240
add esp, 8
jmp case.default.0x1007c9a2
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 4]
add ebp, 0x34
push ebp
push edx
push eax
push ebx
call fcn.10091060
add esp, 0x10
mov dword [esp + 0x10], eax
jmp case.default.0x1007c9a2
mov byte [ebp + 0x62], 2
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 4]
push ecx
push edx
push ebx
call fcn.100915e0
add esp, 0xc
mov dword [esp + 0x10], eax
mov byte [ebp + 0x62], 0
jmp case.default.0x1007c9a2
xor eax, eax
lea edx, [esp + 0x24]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x10]
push edx
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], eax
push eax
mov ecx, dword [eax]
mov dword [esp + 0x34], ecx
call dword [ecx + 0x18]
mov edi, eax
mov eax, dword [esp + 0x30]
push eax
push ebp
mov dword [esp + 0x20], edi
call fcn.10089240
add esp, 0x10
test edi, edi
jne case.default.0x1007c9a2
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
push edi
push 0xffffffffffffffff
mov dword [edx], ecx
mov eax, dword [esi + 4]
push edi
push eax
push ebp
call fcn.100890e0
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
je 0x1008106e
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x24], ecx
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax]
mov dword [edx + 0x28], ecx
jmp case.default.0x1007c9a2
mov byte [ebx + 0x36], 1
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
push eax
call dword [ecx + 0x1c]
add esp, 4
jmp case.default.0x1007c9a2
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0x134]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0xec]
lea eax, [eax + edx*8]
mov edx, dword [ebx + 0x40]
mov dword [esp + 0x2c], eax
mov ebx, dword [ebx + 0xc]
lea edi, [eax + 0x28]
mov dword [esp + 0x30], edi
mov ecx, dword [esi + 4]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x3c], ecx
mov edx, dword [ecx + 0x24]
mov dword [esp + 0x34], edx
mov ecx, dword [edx]
mov dword [esp + 0x38], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x28], ecx
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x20], ecx
mov eax, dword [eax + 0x10]
mov dword [esp + 0x24], eax
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], eax
jle 0x10081128
jmp 0x100810f1
mov edi, dword [esp + 0x30]
lea ecx, [eax + eax*4 + 5]
lea edx, [edi + ecx*8]
mov ecx, dword [esp + 0x48]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.1007c760
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
add esp, 4
inc eax
cmp eax, ecx
mov dword [esp + 0x44], eax
jl 0x100810ed
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x134]
mov eax, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x28]
mov byte [edi + 0x62], 1
push ecx
mov ecx, dword [esi + 0x10]
push ecx
mov ecx, dword [esp + 0x34]
push eax
push edx
call dword [ecx + 0x20]
mov edx, dword [esp + 0x4c]
mov ebx, eax
push edx
push edi
mov dword [esp + 0x2c], ebx
mov byte [edi + 0x62], 0
call fcn.10089240
add esp, 0x1c
test ebx, ebx
jne 0x10081179
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
push eax
call dword [ecx + 0x28]
add esp, 4
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
test eax, eax
je 0x10081189
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
mov edx, dword [esp + 0x3c]
mov byte [edx + 0x1c], 0
jmp case.default.0x1007c9a2
mov eax, dword [esi + 4]
mov ecx, dword [ebp + 0x40]
mov ebx, dword [ecx + eax*4]
mov eax, dword [esi + 0xc]
lea edx, [eax + eax*4]
lea eax, [edi + edx*8]
mov dword [esp + 0x28], eax
mov cl, byte [ebx + 0x1c]
test cl, cl
je 0x100811c1
push eax
call fcn.10077f90
add esp, 4
jmp case.default.0x1007c9a2
mov eax, dword [ebx + 0x24]
lea edi, [esp + 0x30]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov ecx, dword [eax]
xor eax, eax
mov dword [esp + 0x24], ecx
mov ecx, 0x10
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x38]
push edx
push eax
call fcn.1007c680
mov ecx, dword [esp + 0x5c]
lea eax, [esp + 0x38]
and ecx, 0xbf01
or ecx, 1
mov word [esp + 0x5c], cx
mov edx, dword [esi + 8]
mov ecx, dword [ebx + 0x24]
push edx
mov edx, dword [esp + 0x30]
push eax
push ecx
call dword [edx + 0x2c]
mov ecx, dword [esp + 0x148]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
push eax
push ecx
call fcn.10089240
mov eax, dword [esp + 0x84]
add esp, 0x1c
test eax, eax
je 0x1008123a
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0xe8]
lea eax, [esp + 0x38]
and edx, 0xff
push edx
push eax
call fcn.1007a450
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x40]
push ecx
push edx
call fcn.1007c680
mov eax, dword [esp + 0x38]
push eax
call fcn.10087ea0
add esp, 0x14
test eax, eax
jne 0x10081829
jmp case.default.0x1007c9a2
mov edx, dword [ebp + 0x40]
mov dword [esp + 0x28], 0
mov ecx, dword [esi + 4]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x2c], eax
mov cl, byte [eax + 0x1c]
test cl, cl
jne case.default.0x1007c9a2
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
mov ecx, dword [ecx]
mov byte [ebp + 0x62], 1
mov dword [esp + 0x24], ecx
mov edx, dword [eax + 0x24]
push edx
call dword [ecx + 0x24]
mov edi, eax
mov eax, dword [esp + 0x24]
push eax
push ebp
mov dword [esp + 0x1c], edi
mov byte [ebp + 0x62], 0
call fcn.10089240
add esp, 0xc
test edi, edi
jne 0x100812e7
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov edx, dword [ecx + 0x24]
push edx
call dword [eax + 0x28]
add esp, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
test eax, eax
jne case.default.0x1007c9a2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1007c9a2
mov ecx, dword [esi + 0x10]
push 1
mov edx, dword [ecx + 8]
mov dword [esp + 0x24], edx
mov esi, dword [esi + 4]
lea eax, [esi + esi*4]
lea edi, [edi + eax*8]
push edi
mov dword [esp + 0x2c], edi
call fcn.1007a450
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x1007c9a2
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
push eax
push ebp
call fcn.10089240
add esp, 0x10
mov byte [ebp + 0x5f], 0
jmp case.default.0x1007c9a2
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx + 8]
mov dword [esp + 0x20], eax
mov eax, dword [eax]
mov dword [esp + 0x24], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 0x34]
test edx, edx
je case.default.0x1007c9a2
mov eax, dword [ebp + 0xc]
mov dl, byte [ebx + 0x3a]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0xc]
mov byte [esp + 0xfb], dl
mov dword [esp + 0x2c], 0
lea edx, [eax + eax*4]
test ecx, ecx
lea edi, [edi + edx*8]
mov dword [esp + 0x3c], edi
jle 0x100813db
push edi
call fcn.1007c760
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
add esp, 4
mov dword [edx + ecx*4], eax
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
add edi, 0x28
inc eax
cmp eax, ecx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x2c], eax
jl 0x100813a7
mov al, byte [esi + 3]
lea ecx, [esp + 0x30]
mov byte [ebx + 0x3a], al
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x2c]
push eax
push ecx
call dword [edx + 0x34]
mov edi, eax
mov al, byte [esp + 0x10b]
mov byte [ebx + 0x3a], al
mov ecx, dword [esp + 0x30]
push ecx
push ebp
mov dword [esp + 0x28], edi
call fcn.10089240
add esp, 0x18
test edi, edi
jne 0x10081445
mov eax, dword [esi + 4]
test eax, eax
je 0x10081445
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [esp + 0xf0], eax
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xf4], edx
mov dword [ebx + 0x24], eax
cmp edi, 0x13
jne 0x1007faa1
mov ecx, dword [esi + 0x10]
mov al, byte [ecx + 0x10]
test al, al
je 0x1007faa1
mov al, byte [esi + 3]
cmp al, 4
jne 0x10081470
mov dword [esp + 0x10], 0
jmp case.default.0x1007c9a2
cmp al, 5
jne 0x10081481
mov eax, 2
mov byte [ebp + 0x5c], al
jmp case.default.0x1007c9a2
and eax, 0xff
mov byte [ebp + 0x5c], al
jmp case.default.0x1007c9a2
mov edx, dword [esi + 4]
mov eax, dword [ebx + 0x10]
shl edx, 4
mov ecx, dword [edx + eax + 4]
push ecx
call fcn.10073e50
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 0
jmp case.default.0x1007c9a2
mov edx, dword [esi + 4]
mov eax, dword [ebx + 0x10]
mov ecx, dword [esi + 0xc]
shl edx, 4
mov edi, dword [edx + eax + 4]
xor eax, eax
test ecx, ecx
je 0x100814df
push edi
call fcn.10073e50
mov esi, dword [esi + 0xc]
add esp, 4
cmp eax, esi
jae 0x100814df
mov eax, esi
push eax
push edi
call fcn.100830c0
mov ecx, dword [esp + 0x20]
add esp, 8
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x1007c9a2
mov eax, dword [ebx + 0x94]
test eax, eax
je case.default.0x1007c9a2
mov esi, dword [esi + 0x10]
test esi, esi
mov eax, esi
jne 0x1008150f
mov eax, dword [ebp + 0xa0]
test eax, eax
mov dword [esp + 0x20], eax
je case.default.0x1007c9a2
push eax
push ebp
call fcn.10088d00
mov dword [esp + 0x2c], eax
mov ecx, dword [ebx + 0x98]
push eax
push ecx
call dword [ebx + 0x94]
mov edx, dword [esp + 0x34]
push edx
push ebx
call fcn.1006aec0
add esp, 0x18
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x134]
inc ecx
test eax, eax
mov dword [esp + 0x14], ecx
je 0x1007c8f6
mov ebx, dword [esp + 0x1c]
jmp 0x10081862
mov dword [esp + 0x10], 9
jmp 0x10081862
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x14]
mov dword [ebp + 0x58], eax
mov cl, byte [esi + 8]
mov byte [ebp + 0x5c], cl
mov dword [ebp + 0x54], edx
mov eax, dword [esi + 0x10]
test eax, eax
je 0x100815bd
push eax
push 0x101189f0
lea eax, [ebp + 0x34]
push ebx
push eax
call fcn.1007a0e0
mov ecx, dword [esi + 0x10]
mov edx, dword [ebp + 0xa0]
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [esi + 4]
push edx
push eax
push str.abort_at__d_in___s_:__s
push ecx
call fcn.1006b100
add esp, 0x24
jmp 0x100815e1
mov eax, dword [ebp + 0x58]
test eax, eax
je 0x100815e1
mov edx, dword [ebp + 0xa0]
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 4]
push edx
push eax
push str.constraint_failed_at__d_in___s_
push ecx
call fcn.1006b100
add esp, 0x10
push ebp
call fcn.10078560
mov esi, 5
add esp, 4
cmp eax, esi
jne 0x10081728
mov dword [ebp + 0x58], esi
jmp 0x100818c1
mov edx, dword [ebp + 0x50]
add edx, 2
or edx, 1
mov dword [ebp + 0x50], edx
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
xor eax, eax
mov dword [ebp + 0x14], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], eax
mov ecx, dword [esi + 8]
test ecx, ecx
jle 0x10081681
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 0x1d], 0x10
lea ecx, [edx + ecx*8]
je 0x1008164a
push ecx
call fcn.10077d60
add esp, 4
test eax, eax
jne 0x100816b2
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
push edx
call fcn.1007a8d0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
push edx
call fcn.1007c760
mov eax, dword [esp + 0x2c]
add esp, 8
inc eax
mov dword [esp + 0x24], eax
mov ecx, dword [esi + 8]
cmp eax, ecx
jl 0x10081628
mov eax, dword [esp + 0x1c]
mov cl, byte [eax + 0x36]
test cl, cl
jne 0x100816b2
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x134]
inc ecx
mov esi, 0x64
mov dword [edx + 0x54], ecx
jmp 0x100818c1
lea eax, [esp + 0x30]
push eax
call fcn.10077e30
add esp, 4
mov ebp, dword [esp + 0x134]
mov eax, dword [esp + 0x1c]
push str.out_of_memory
push eax
lea ecx, [ebp + 0x34]
mov byte [eax + 0x36], 1
push ecx
call fcn.1007a0e0
mov ebx, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x10], 7
jmp 0x10081862
mov dword [esp + 0x10], 0x14
jmp 0x100817b1
mov ecx, dword [esp + 0x14]
mov dword [edi + 0x54], ecx
mov byte [esi + 0x34], 0
mov esi, 5
mov dword [edi + 0x58], esi
jmp 0x100818c1
test esi, esi
je 0x1008173a
push 0x204
push ebx
call fcn.100b3af0
add esp, 8
mov byte [ebx + 0x34], 1
push ebx
call fcn.100b3780
add esp, 4
mov esi, dword [ebp + 0x58]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x100818c1
push 1
push ebp
call fcn.1007a080
mov esi, eax
add esp, 8
test esi, esi
jne 0x100818c1
mov dl, byte [esp + 0x20]
push ebp
mov byte [ebx + 0x34], dl
call fcn.10078560
mov esi, 5
add esp, 4
cmp eax, esi
jne 0x1008171f
mov eax, dword [esp + 0x14]
mov cl, 1
mov dword [ebp + 0x54], eax
mov al, byte [esp + 0x20]
sub cl, al
mov byte [ebx + 0x34], cl
mov dword [ebp + 0x58], esi
jmp 0x100818c1
mov edx, dword [esp + 0x14]
mov esi, 5
mov dword [ebp + 0x54], edx
mov dword [ebp + 0x58], esi
jmp 0x100818c1
push 0x109be
call fcn.100b55b0
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x100817b1
mov dword [esp + 0x10], 0xd
mov ebx, dword [esp + 0x1c]
mov al, byte [ebx + 0x36]
test al, al
je 0x100817c6
mov dword [esp + 0x10], 7
jmp 0x100817d4
cmp dword [esp + 0x10], 0xc0a
je 0x1008185b
mov eax, dword [esp + 0x10]
push eax
call fcn.100b3bb0
mov ebp, dword [esp + 0x138]
push eax
push 0x101189f0
push ebx
lea ecx, [ebp + 0x34]
push ecx
call fcn.1007a0e0
add esp, 0x14
jmp 0x10081862
mov eax, 9
push eax
mov dword [esp + 0x14], eax
mov dword [ebp + 0x58], eax
call fcn.100b3bb0
mov edx, dword [esp + 0x20]
push eax
push 0x101189f0
lea eax, [ebp + 0x34]
push edx
push eax
call fcn.1007a0e0
mov ebx, dword [esp + 0x30]
add esp, 0x14
jmp 0x10081862
mov eax, dword [esp + 0x134]
mov edx, dword [esp + 0x1c]
push str.string_or_blob_too_big
add eax, 0x34
push edx
push eax
call fcn.1007a0e0
mov ebp, dword [esp + 0x140]
mov ebx, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x10], 0x12
jmp 0x10081862
mov ebp, dword [esp + 0x134]
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp + 0xa0]
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
push ecx
push edx
push eax
push str.statement_aborts_at__d:___s___s
push esi
mov dword [ebp + 0x58], esi
call fcn.1006b100
push ebp
call fcn.10078560
add esp, 0x18
cmp esi, 0xc0a
jne 0x10081899
mov byte [ebx + 0x36], 1
mov al, byte [esp + 0x104]
mov esi, 1
test al, al
jbe 0x100818c1
mov ecx, dword [esp + 0x104]
and ecx, 0xff
dec ecx
push ecx
push ebx
call fcn.1008c520
add esp, 8
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
mov dword [eax + 0x20], edx
mov edx, dword [esp + 0x134]
push edx
mov dword [eax + 0x24], ecx
call fcn.10078880
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x120
ret