Function at 0x1010a470
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.10106460
mov eax, dword [ebp + 0x58]
add esp, 4
cmp eax, 7
je 0x1010f2f2
mov dword [ebp + 0x58], ebx
mov dword [ebp + 0x14], ebx
mov dword [esi + 0x1b4], ebx
mov eax, dword [esi + 0xe0]
cmp eax, ebx
jne 0x1010f43a
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 0x1010a53d
mov edi, dword [esp + 0xec]
mov edx, dword [esp + 0x1c]
mov al, byte [edx + 0x36]
test al, al
jne 0x1010f2f2
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 0x1010a5a1
mov edx, dword [ebx + 0x11c]
mov eax, dword [esp + 0xfc]
cmp edx, eax
jne 0x1010a59a
mov eax, dword [ebx + 0x118]
push eax
call dword [ebx + 0x114]
add esp, 4
test eax, eax
jne 0x1010f1a3
mov dword [esp + 0xfc], eax
inc dword [esp + 0xfc]
test byte [esi + 2], 2
je 0x1010a5d2
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 0x1010a5cc
mov edx, eax
push edx
call fcn.10105ab0
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.0x1010a5e2
jmp dword [eax*4 + 0x1010f538]
mov eax, dword [ebx + 0xe0]
test eax, eax
jne 0x1010f43a
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
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.0x1010a5e2
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.0x1010a5e2
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.0x1010a5e2
mov eax, dword [esi + 0xc]
lea ecx, [eax + eax*4]
test byte [edi + ecx*8 + 0x1c], 1
je case.default.0x1010a5e2
mov eax, dword [esi + 4]
test eax, eax
jne 0x1010f1b0
mov edi, dword [ebp + 0xa8]
test edi, edi
je 0x1010f1b0
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.10107e00
push edi
call fcn.101074e0
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 0x1010a6ef
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.0x1010a5e2
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x18]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x1010a5e2
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.0x1010a5e2
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.0x1010a5e2
mov edx, dword [esi + 0x10]
mov byte [esi], 9
push edx
call fcn.100f8fa0
mov dword [esi + 4], eax
mov al, byte [esp + 0xec]
add esp, 4
cmp al, 1
je 0x1010a7f6
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x18]
push 0
push 1
push 0xffffffffffffffff
push eax
push ecx
call fcn.10105660
add esp, 0x14
cmp eax, 0x12
mov dword [esp + 0x10], eax
je 0x1010f469
mov edx, dword [esp + 0xe8]
mov edi, dword [esp + 0x18]
and edx, 0xff
push edx
push edi
call fcn.10108090
add esp, 8
test eax, eax
jne 0x1010f2f2
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 0x1010a7e2
mov ecx, dword [esi + 0x10]
mov edx, dword [esp + 0x1c]
push ecx
push edx
call fcn.100f8b00
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 0x1010f469
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.0x1010a5e2
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.0x1010a5e2
add eax, 0x28
mov dword [esp + 0x18], eax
test word [eax + 0x1c], 0x2460
je 0x1010a867
push eax
call fcn.10105ab0
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 0x1010a84b
jmp case.default.0x1010a5e2
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.10105660
mov al, byte [esp + 0xfc]
add esp, 0x14
mov byte [esi + 0x1f], al
jmp case.default.0x1010a5e2
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.10115ae0
add esp, 4
test eax, eax
jne 0x1010f469
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
push 0x800
push eax
push ecx
call fcn.10115b10
add esp, 0xc
jmp case.default.0x1010a5e2
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.0x1010a5e2
xor esi, esi
mov eax, dword [edi + 0x24]
push ebx
mov dword [esp + 0x24], eax
push edi
mov dword [edi + 0x24], esi
call fcn.1010a2c0
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 0x1010a91b
mov dword [esp + 0x18], edi
jmp case.default.0x1010a5e2
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.10115b10
add esp, 0xc
test byte [ebx + 0x1d], 0x10
je case.default.0x1010a5e2
push ebx
call fcn.101059a0
add esp, 4
test eax, eax
jne 0x1010f2f2
jmp case.default.0x1010a5e2
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.10115b10
add esp, 0xc
jmp case.default.0x1010a5e2
push 0
push ebp
call fcn.10107cc0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x1010a5e2
push 1
push ebp
call fcn.10107b40
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x1010f23f
jmp case.default.0x1010a5e2
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 0x1010aa33
push esi
call fcn.10105bd0
add esp, 4
jmp case.default.0x1010a5e2
test ah, 0x40
je 0x1010aa49
push ebx
call fcn.10105a00
add esp, 4
test eax, eax
jne 0x1010f2f2
test byte [ebp + 0x1d], 0x40
je 0x1010aa60
push ebp
call fcn.10105a00
add esp, 4
test eax, eax
jne 0x1010f2f2
test byte [ebx + 0x1c], 0x12
jne 0x1010aa85
mov edx, dword [esp + 0xe8]
and edx, 0xff
push edx
push ebx
call fcn.10108560
add esp, 8
test eax, eax
jne 0x1010f2f2
test byte [ebp + 0x1c], 0x12
jne 0x1010aaa9
mov eax, dword [esp + 0xe8]
and eax, 0xff
push eax
push ebp
call fcn.10108560
add esp, 8
test eax, eax
jne 0x1010f2f2
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 0x1010f469
jl 0x1010aad8
cmp esi, eax
ja 0x1010f469
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.10105880
add esp, 0xc
test eax, eax
jne 0x1010f2f2
cmp esi, ebp
je 0x1010ab2d
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 0x1010ab31
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.0x1010a5e2
mov eax, dword [esi + 4]
mov ebx, dword [esp + 0xec]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
push edi
call fcn.1010a3e0
mov eax, dword [esi + 8]
lea ecx, [eax + eax*4]
lea ebp, [ebx + ecx*8]
push ebp
call fcn.1010a3e0
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 0x1010ade0
mov al, byte [ebp + 0x1c]
mov bl, byte [edi + 0x1c]
and al, bl
and al, 4
cmp al, 4
jne 0x1010acf4
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.0x1010ac0d
jmp dword [edx*4 + 0x1010f788]
push ecx
push eax
lea eax, [esp + 0x38]
push eax
call fcn.1010f8d0
add esp, 0xc
test eax, eax
jne 0x1010acf4
jmp 0x1010accc
push ecx
lea ecx, [esp + 0x34]
push eax
push ecx
call fcn.1010f970
add esp, 0xc
test eax, eax
jne 0x1010acf4
jmp 0x1010accc
push ecx
lea edx, [esp + 0x34]
push eax
push edx
call fcn.1010f9d0
add esp, 0xc
test eax, eax
jne 0x1010acf4
jmp 0x1010accc
mov edx, eax
or edx, ecx
je 0x1010ade0
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x1010ac86
test ebx, ebx
jne 0x1010ac86
cmp dword [esp + 0x34], 0x80000000
je 0x1010acf4
push ecx
push eax
mov eax, dword [esp + 0x3c]
push eax
push ebx
call fcn.101465b0
jmp 0x1010acc4
mov edx, eax
or edx, ecx
je 0x1010ade0
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x1010acb7
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.101468d0
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.0x1010a5e2
push edi
call fcn.10108600
fstp qword [esp + 0x3c]
push ebp
call fcn.10108600
fstp qword [esp + 0x48]
xor eax, eax
add esp, 8
mov al, byte [esi]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x1010ad17
jmp dword [eax*4 + 0x1010f798]
fld qword [esp + 0x40]
fadd qword [esp + 0x38]
jmp 0x1010adc6
fld qword [esp + 0x40]
fsub qword [esp + 0x38]
jmp 0x1010adc6
fld qword [esp + 0x40]
fmul qword [esp + 0x38]
jmp 0x1010adc6
fld qword [esp + 0x38]
fcomp qword [0x101652e8]
fnstsw ax
test ah, 0x40
jne 0x1010ade0
fld qword [esp + 0x40]
fdiv qword [esp + 0x38]
jmp 0x1010adc6
fld qword [esp + 0x38]
call fcn.10144a58
fld qword [esp + 0x40]
mov esi, eax
mov edi, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
call fcn.10144a58
mov ecx, esi
mov dword [esp + 0x30], eax
or ecx, edi
mov dword [esp + 0x34], edx
je 0x1010ade0
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x1010ada8
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.101468d0
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.100f8f50
add esp, 8
test eax, eax
je 0x1010adf2
mov ecx, dword [esp + 0x18]
push ecx
call fcn.10105bd0
add esp, 4
jmp case.default.0x1010a5e2
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.0x1010a5e2
mov eax, dword [esp + 0x18]
push eax
call fcn.10115920
add esp, 4
jmp case.default.0x1010a5e2
mov esi, dword [esi + 4]
test esi, esi
je case.default.0x1010a5e2
lea ecx, [esi + esi*4]
push 0
push 0
lea edx, [edi + ecx*8]
push edx
call fcn.10108ac0
add esp, 0xc
jmp case.default.0x1010a5e2
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 0x1010aed5
mov ecx, dword [esp + 0x68]
mov dword [ecx + eax*4], edi
mov eax, dword [esp + 0x24]
test byte [eax + 0x1d], 0x10
je 0x1010aeb0
push eax
call fcn.101059a0
add esp, 4
test eax, eax
jne 0x1010f2f2
mov eax, dword [esp + 0x24]
push eax
call fcn.1010a3a0
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 0x1010ae8a
cmp byte [esi + 1], 0xfb
jne 0x1010aeea
mov edx, dword [esi + 0x10]
xor ebx, ebx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ebx
jmp 0x1010aef9
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.1010a2c0
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 0x1010af4b
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 0x1010afac
mov ecx, dword [esi + 4]
push ecx
push eax
call fcn.10105f70
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 0x1010f2e5
cmp dword [esp + 0x60], ebx
je 0x1010afe9
lea eax, [esp + 0x30]
push eax
call fcn.10108920
mov ecx, dword [esp + 0x138]
push eax
push 0x1017be88
add ecx, 0x34
push edi
push ecx
call fcn.10107d20
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.10108090
lea edx, [esp + 0x38]
push edx
push ebp
call fcn.1010a2c0
push ebp
jmp 0x1010eea6
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 0x1010b04b
push edi
call fcn.10105bd0
add esp, 4
jmp case.default.0x1010a5e2
push ecx
call fcn.10108680
push ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
call fcn.10108680
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 0x1010b091
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 0x1010b1a0
cmp al, 0x53
jne 0x1010b0ae
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 0x1010b1a0
mov ecx, ebx
or ecx, ebp
je 0x1010b1a0
test ebp, ebp
jg 0x1010b0f2
jl 0x1010b0c2
test ebx, ebx
jae 0x1010b0e7
mov dl, 0xa9
sub dl, al
cmp ebp, 0xffffffff
mov al, dl
mov byte [esp + 0x38], al
jl 0x1010b119
jg 0x1010b0d8
cmp ebx, 0xffffffc0
jbe 0x1010b119
neg ebx
adc ebp, 0
mov dword [esp + 0x30], ebx
neg ebp
mov dword [esp + 0x34], ebp
test ebp, ebp
jl 0x1010b138
jg 0x1010b0f2
cmp ebx, 0x40
jb 0x1010b138
mov ecx, dword [esp + 0x24]
test ecx, ecx
jg 0x1010b12b
jl 0x1010b104
mov ecx, dword [esp + 0x20]
test ecx, ecx
jae 0x1010b12b
cmp al, 0x54
je 0x1010b12b
or eax, 0xffffffff
cdq
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jmp 0x1010b1a0
mov dword [esp + 0x30], 0x40
mov dword [esp + 0x34], 0
jmp 0x1010b0f2
xor eax, eax
cdq
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jmp 0x1010b1a0
cmp al, 0x54
mov eax, dword [esp + 0x20]
mov ecx, ebx
jne 0x1010b155
mov edx, dword [esp + 0x24]
call fcn.10146d80
mov esi, eax
mov ebp, edx
mov dword [esp + 0x28], esi
jmp 0x1010b194
mov edi, dword [esp + 0x24]
mov edx, edi
call fcn.10146540
mov esi, eax
mov ebp, edx
test edi, edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebp
jg 0x1010b198
jl 0x1010b17a
mov eax, dword [esp + 0x20]
test eax, eax
jae 0x1010b198
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, ebx
or edx, 0xffffffff
call fcn.10146d80
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.0x1010a5e2
mov eax, dword [esi + 4]
lea edx, [eax + eax*4]
lea edi, [edi + edx*8]
push edi
call fcn.10115980
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.0x1010a5e2
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.10116e20
mov ax, word [edi + 0x1c]
add esp, 0xc
test al, 4
jne 0x1010b717
mov esi, dword [esi + 8]
test esi, esi
je 0x1010f324
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
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.0x1010a5e2
push eax
call fcn.101159b0
add esp, 4
jmp case.default.0x1010a5e2
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.0x1010a5e2
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.10116e20
add esp, 0xc
test byte [edi + 0x1d], 0x40
je 0x1010b2a8
push edi
call fcn.10105a00
add esp, 4
and word [edi + 0x1c], 0xbfe3
mov dword [esp + 0x10], eax
jmp case.default.0x1010a5e2
and word [edi + 0x1c], 0xbfe3
mov dword [esp + 0x10], 0
jmp case.default.0x1010a5e2
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.0x1010a5e2
test al, 0x10
jne 0x1010b2fe
mov ecx, dword [esp + 0xe8]
push ecx
push 0x61
push esi
call fcn.10116e20
mov dx, word [esi + 0x1c]
add esp, 0xc
and edx, 0xbf10
or edx, 0x10
mov word [esi + 0x1c], dx
jmp case.default.0x1010a5e2
and eax, 0xff10
mov word [esi + 0x1c], ax
jmp case.default.0x1010a5e2
mov esi, dword [esi + 4]
lea eax, [esi + esi*4]
lea ecx, [edi + eax*8]
push ecx
call fcn.101159e0
add esp, 4
jmp case.default.0x1010a5e2
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.0x1010a5e2
push eax
call fcn.10115980
add esp, 4
jmp case.default.0x1010a5e2
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.0x1010a5e2
push eax
call fcn.101159b0
add esp, 4
jmp case.default.0x1010a5e2
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 0x1010b3f7
mov cl, byte [esi + 3]
test cl, 0x80
je 0x1010b3c6
and al, dl
mov ebx, dword [esp + 0x110]
and al, 1
neg al
sbb eax, eax
inc eax
mov dword [esp + 0x20], eax
jmp 0x1010b475
test cl, 0x10
je 0x1010b3ef
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.0x1010a5e2
test cl, 8
jmp 0x1010da6c
mov dl, byte [esi + 3]
and dl, 0x67
mov byte [esp + 0x24], dl
je 0x1010b43e
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x24]
push eax
push ecx
push ebp
call fcn.10116e20
mov edx, dword [esp + 0xf4]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x11c]
push edx
push eax
push ecx
call fcn.10116e20
mov al, byte [ebx + 0x36]
add esp, 0x18
test al, al
jne 0x1010f2f2
test byte [ebp + 0x1d], 0x40
je 0x1010b44d
push ebp
call fcn.10105a00
add esp, 4
mov ebx, dword [esp + 0x110]
test byte [ebx + 0x1d], 0x40
je 0x1010b463
push ebx
call fcn.10105a00
add esp, 4
mov edx, dword [esi + 0x10]
push edx
push ebp
push ebx
call fcn.10115b60
add esp, 0xc
mov dword [esp + 0x20], eax
xor ecx, ecx
mov cl, byte [esi]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x1010b481
jmp dword [ecx*4 + 0x1010f7a8]
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x1010b4c4
xor edx, edx
test eax, eax
setne dl
jmp 0x1010b4c2
xor ecx, ecx
test eax, eax
setl cl
mov eax, ecx
jmp 0x1010b4c4
xor edx, edx
test eax, eax
setle dl
jmp 0x1010b4c2
xor ecx, ecx
test eax, eax
setg cl
mov eax, ecx
jmp 0x1010b4c4
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 0x1010b4fc
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 0x1010b508
test eax, eax
je 0x1010b508
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.0x1010a5e2
mov edx, dword [esi + 0x10]
mov dword [esp + 0x100], edx
jmp case.default.0x1010a5e2
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 0x1010b60d
mov ebp, dword [esp + 0x100]
mov edi, dword [esp + 0xec]
jmp 0x1010b588
mov edx, dword [esp + 0x30]
test ebp, ebp
je 0x1010b592
mov ecx, dword [ebp + eax*4]
jmp 0x1010b594
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.10115b60
add esp, 0xc
mov dword [esp + 0x10c], eax
test eax, eax
jne 0x1010b5fc
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
inc eax
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x1010b584
mov dword [esp + 0x100], 0
jmp case.default.0x1010a5e2
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x1010b60d
neg eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x100], 0
jmp case.default.0x1010a5e2
mov eax, dword [esp + 0x10c]
test eax, eax
jge 0x1010b635
mov esi, dword [esi + 4]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
jne 0x1010b644
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
mov esi, dword [esi + 0xc]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
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 0x1010b66a
mov ecx, 2
jmp 0x1010b680
push eax
call fcn.10108680
add esp, 4
or eax, edx
je 0x1010b67e
mov ecx, 1
jmp 0x1010b680
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 0x1010b6a1
mov eax, 2
mov dword [esp + 0x24], eax
jmp 0x1010b6bf
push eax
call fcn.10108680
add esp, 4
or eax, edx
je 0x1010b6b5
mov eax, 1
jmp 0x1010b6b7
xor eax, eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
cmp byte [esi], 0x45
jne 0x1010b6d2
lea edx, [eax + ecx*2]
xor eax, eax
mov al, byte [ecx + edx + 0x101624a8]
jmp 0x1010b6e0
lea eax, [eax + ecx*2]
xor edx, edx
mov dl, byte [ecx + eax + 0x101624b4]
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 0x1010b70c
mov dx, word [edi + 0x1c]
and edx, 0xbf01
or edx, 1
mov word [edi + 0x1c], dx
jmp case.default.0x1010a5e2
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.0x1010a5e2
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 0x1010b751
push edi
call fcn.10105bd0
add esp, 4
jmp case.default.0x1010a5e2
push eax
call fcn.10108680
add esp, 4
or eax, edx
jne 0x1010b774
mov eax, 1
cdq
push edx
push eax
push edi
call fcn.10108ac0
add esp, 0xc
jmp case.default.0x1010a5e2
xor eax, eax
cdq
push edx
push eax
push edi
call fcn.10108ac0
add esp, 0xc
jmp case.default.0x1010a5e2
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 0x1010b7b1
push esi
call fcn.10105bd0
add esp, 4
jmp case.default.0x1010a5e2
push eax
call fcn.10108680
not edx
not eax
push edx
push eax
push esi
call fcn.10108ac0
add esp, 0x10
jmp case.default.0x1010a5e2
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0xc0]
add eax, edx
cmp byte [eax], 0
je 0x1010b7e8
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
mov byte [eax], 1
jmp case.default.0x1010a5e2
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 0x1010b80d
mov eax, dword [esi + 0xc]
mov dword [esp + 0x20], eax
jmp 0x1010da6a
push edi
call fcn.10108600
fcomp qword [0x101652e8]
add esp, 4
fnstsw ax
test ah, 0x40
jne 0x1010b82a
mov eax, 1
jmp 0x1010b82c
xor eax, eax
mov dword [esp + 0x20], eax
mov cl, byte [esi]
cmp cl, 0x1c
jne 0x1010da6a
xor edx, edx
test eax, eax
sete dl
mov eax, edx
mov dword [esp + 0x20], eax
jmp 0x1010da6a
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
jmp 0x1010da6c
mov eax, dword [esi + 4]
lea ecx, [eax + eax*4]
test byte [edi + ecx*8 + 0x1c], 1
jne case.default.0x1010a5e2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
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 0x1010b977
push eax
call fcn.10115e80
add esp, 4
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x1010f3f1
mov eax, dword [esp + 0x38]
mov cl, byte [eax + 0x1c]
test cl, cl
je 0x1010b8fd
mov dword [esp + 0x20], ebx
jmp 0x1010b949
mov edx, dword [esp + 0x134]
mov ecx, dword [eax + 0x50]
cmp ecx, dword [edx + 0x50]
jne 0x1010b91c
mov ecx, dword [eax + 0x54]
mov dword [esp + 0x20], ecx
mov edx, dword [eax + 0x60]
mov dword [esp + 0x3c], edx
jmp 0x1010b941
mov cl, byte [eax + 0x1f]
test cl, cl
je 0x1010b963
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x28]
push eax
push ecx
call fcn.10105040
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 0x1010b9b6
mov eax, dword [esp + 0x5c]
mov dx, word [eax + 0x1c]
and edx, 0xbf01
or edx, 1
mov word [eax + 0x1c], dx
jmp case.default.0x1010a5e2
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x20]
push eax
push ecx
call fcn.10110f10
add esp, 8
jmp 0x1010b93d
mov ecx, dword [eax + 0x10]
cmp ecx, ebx
jle 0x1010b9b0
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 0x1010b9a8
xor ecx, ecx
mov dword [eax + 0x50], ecx
jmp 0x1010b93d
mov ecx, dword [edi + 0x50]
mov dword [eax + 0x50], ecx
jmp 0x1010b93d
mov dword [esp + 0x20], ebx
jmp 0x1010b949
mov edx, dword [esp + 0x1c]
cmp ecx, dword [edx + 0x4c]
ja 0x1010f469
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 0x1010b9ee
mov eax, dword [eax + 0x5c]
mov dword [esp + 0x48], eax
jmp 0x1010bca1
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 0x1010ba24
mov dword [esp + 0x58], edx
jmp 0x1010ba83
mov edx, dword [esp + 0x38]
mov al, byte [edx + 0x1f]
test al, al
je 0x1010ba43
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x9c]
push eax
push ecx
call fcn.10111080
jmp 0x1010ba55
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x9c]
push edx
push eax
call fcn.10111110
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xa4]
add esp, 8
cmp ecx, edx
mov dword [esp + 0x58], eax
ja 0x1010ba78
mov edx, dword [esp + 0x38]
mov dword [esp + 0x3c], eax
mov dword [edx + 0x60], eax
jmp 0x1010ba7f
mov eax, dword [esp + 0x38]
mov dword [eax + 0x60], ebx
mov edx, dword [esp + 0x58]
mov cl, byte [edx]
cmp cl, 0x80
jae 0x1010ba9e
and ecx, 0xff
mov eax, 1
mov dword [esp + 0x90], ecx
jmp 0x1010babf
lea ecx, [esp + 0x90]
push ecx
push edx
call fcn.10103c90
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 0x1010bae9
push 0x10656
call fcn.10143200
add esp, 4
mov dword [esp + 0x10], eax
jmp case.default.0x1010a5e2
mov edi, dword [esp + 0x4c]
lea eax, [edi + edi*4 + 3]
cmp eax, ecx
mov dword [esp + 0x50], eax
jle 0x1010baff
mov eax, ecx
mov dword [esp + 0x50], eax
cmp dword [esp + 0x3c], ebx
jne 0x1010bb5b
cmp dword [esp + 0x9c], eax
jge 0x1010bb5b
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.10115d80
add esp, 0x14
cmp eax, ebx
mov dword [esp + 0x10], eax
jne case.default.0x1010a5e2
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 0x1010bc54
mov edx, dword [esp + 0x8c]
mov edi, dword [esp + 0x88]
cmp edi, edx
mov edx, dword [esp + 0x48]
jae 0x1010bc20
mov dword [edx + eax*4], ecx
mov ecx, dword [esp + 0x88]
mov al, byte [ecx]
cmp al, 0x80
jae 0x1010bbbb
and eax, 0xff
inc ecx
mov dword [esp + 0xa0], eax
jmp 0x1010bbda
lea eax, [esp + 0xa0]
push eax
push ecx
call fcn.10103c90
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.10116060
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 0x1010bc45
jmp 0x1010bc2e
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 0x1010bb82
jmp 0x1010bc54
mov eax, dword [esp + 0x8c]
inc eax
mov dword [esp + 0x88], eax
lea ecx, [esp + 0x60]
push ecx
call fcn.10105a70
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
add esp, 4
cmp eax, ecx
mov word [esp + 0x7c], 1
ja 0x1010bdf6
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x20]
cmp edx, edi
ja 0x1010bdf6
cmp eax, ecx
jne 0x1010bc9d
cmp edx, edi
jne 0x1010bdf6
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x48]
cmp dword [edx + eax*4], 0
je 0x1010bd77
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x1010bcf0
mov edx, dword [esp + 0x5c]
test word [edx + 0x1c], 0x2460
je 0x1010bcdc
push edx
call fcn.10105ab0
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 0x1010bd5e
mov ecx, dword [ecx + eax*4]
push ecx
call fcn.10116060
mov edx, dword [esp + 0x60]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x64]
push edx
push eax
call fcn.1010a2c0
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.10115d80
add esp, 0x20
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x1010a5e2
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.10116150
mov eax, dword [esp + 0x68]
mov cl, byte [esp + 0xf4]
add esp, 0xc
mov byte [eax + 0x1f], cl
jmp 0x1010bdaa
cmp byte [esi + 1], 0xf8
jne 0x1010bd95
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x5c]
push 0x800
push edx
push eax
call fcn.10115b10
add esp, 0xc
jmp 0x1010bdaa
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 0x1010bde0
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.101059a0
add esp, 4
mov dword [esp + 0x10], eax
jmp case.default.0x1010a5e2
push 0x106a6
call fcn.10143200
add esp, 4
mov dword [esp + 0x10], eax
jmp case.default.0x1010a5e2
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.0x1010a5e2
mov edi, dword [esp + 0xe8]
mov ebx, 0x4000
test word [esi + 0x1c], bx
je 0x1010be4b
push esi
call fcn.10105a00
add esp, 4
mov edx, dword [esp + 0x24]
push edi
push edx
push esi
call fcn.10116e20
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 0x1010be3c
jmp case.default.0x1010a5e2
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 0x1010bfb3
jmp 0x1010bedf
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x4c]
test ebx, ebx
je 0x1010bf11
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.10116e20
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov esi, 0x4000
test word [ecx + 0x1c], si
je 0x1010bf30
mov eax, dword [ecx + 0x18]
test eax, eax
jle 0x1010bf30
push ecx
call fcn.10105a00
mov ecx, dword [esp + 0x28]
add esp, 4
mov eax, dword [esp + 0x5c]
push eax
push ecx
call fcn.10115f70
push eax
mov dword [esp + 0x54], eax
call fcn.10116060
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.1010f8a0
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 0x1010bf90
mov edx, dword [ecx + 0x10]
mov eax, dword [esp + 0x40]
add eax, edx
mov dword [esp + 0x40], eax
jmp 0x1010bfa0
mov eax, dword [esp + 0x64]
test eax, eax
je 0x1010bfa0
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x50]
add ecx, 0x28
cmp ecx, eax
mov dword [esp + 0x24], ecx
jbe 0x1010bed7
mov eax, dword [esp + 0x30]
cdq
push edx
push eax
call fcn.1010f8a0
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.1010f8a0
mov ecx, dword [esp + 0x54]
add esp, 0x10
cmp ecx, eax
jge 0x1010bfe6
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 0x1010f469
jl 0x1010c02a
cmp esi, eax
ja 0x1010f469
push 0
push esi
mov esi, dword [esp + 0x20]
push esi
call fcn.10105880
add esp, 0xc
test eax, eax
jne 0x1010f2f2
mov ecx, dword [esp + 0x30]
mov eax, dword [esi + 4]
cmp ecx, 0x80
mov dword [esp + 0x20], eax
jae 0x1010c05e
mov byte [eax], cl
mov eax, 1
jmp 0x1010c068
push ecx
push eax
call fcn.1010f7c0
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 0x1010c0e6
mov edx, dword [esp + 0x5c]
push edx
push eax
call fcn.10115f70
add esp, 8
cmp eax, 0x80
mov dword [esp + 0x48], eax
jae 0x1010c0ac
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x20]
mov byte [ecx + edx], al
mov eax, 1
jmp 0x1010c0c0
mov ecx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x24]
add ecx, eax
push ecx
call fcn.1010f7c0
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 0x1010c081
mov eax, dword [esp + 0x4c]
cmp eax, ecx
mov dword [esp + 0x24], eax
ja 0x1010c12b
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.10116080
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 0x1010c0ee
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 0x1010c150
mov dword [esi + 0x10], eax
mov word [esi + 0x1c], 0x4410
mov byte [esi + 0x1f], 1
jmp case.default.0x1010a5e2
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 0x1010c182
lea ecx, [esp + 0x20]
push ecx
push eax
call fcn.101149f0
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x1010c18a
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.0x1010a5e2
mov eax, dword [esi + 4]
mov dword [esp + 0x20], eax
mov esi, dword [esi + 0x10]
test eax, eax
mov dword [esp + 0x24], esi
jne 0x1010c28b
mov eax, dword [ebx + 0x84]
test eax, eax
jle 0x1010c1cb
push str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x1010c550
push esi
call fcn.100f8fa0
mov dword [esp + 0x2c], eax
mov edx, dword [ebx + 0x1e4]
add edx, dword [ebx + 0x1e0]
push edx
push 0
push ebx
call fcn.1011f460
add esp, 0x10
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1010f3f1
mov eax, dword [esp + 0x28]
add eax, 0x19
push eax
push ebx
call fcn.100f7ac0
add esp, 8
mov dword [esp + 0x2c], eax
test eax, eax
je case.default.0x1010a5e2
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 0x1010c24f
mov byte [eax + 0x34], 0
mov byte [eax + 0x3b], 1
jmp 0x1010c255
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.0x1010a5e2
mov dword [esp + 0x38], 0
mov ebx, dword [ebx + 0x1d8]
test ebx, ebx
mov dword [esp + 0x30], ebx
je 0x1010c2d7
mov ecx, dword [esp + 0x24]
mov edx, dword [ebx]
push ecx
push edx
call fcn.100f8fc0
add esp, 8
test eax, eax
je 0x1010c2cf
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 0x1010c2a1
jmp 0x1010c2d7
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x1010c306
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.10107d20
add esp, 0x10
mov dword [esp + 0x10], 1
jmp case.default.0x1010a5e2
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x84]
test eax, eax
mov eax, dword [esp + 0x20]
jle 0x1010c333
cmp eax, 1
jne 0x1010c333
mov ecx, dword [esp + 0x134]
push str.cannot_release_savepoint___SQL_statements_in_progress
add ecx, 0x34
push esi
push ecx
jmp 0x1010c555
mov edx, dword [ecx + 0x10]
test edx, edx
jne 0x1010c395
mov cl, byte [esi + 0x3b]
test cl, cl
je 0x1010c395
mov ebx, 1
cmp eax, ebx
jne 0x1010c397
mov edx, dword [esp + 0x134]
push ebx
push edx
call fcn.10107cc0
mov esi, eax
add esp, 8
test esi, esi
jne 0x1010f501
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x134]
push edi
mov byte [esi + 0x34], bl
call fcn.101061a0
add esp, 4
cmp eax, 5
je 0x1010f331
mov byte [esi + 0x3b], 0
mov eax, dword [edi + 0x58]
mov dword [esp + 0x10], eax
jmp 0x1010c45e
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 0x1010c3de
mov ecx, dword [esi + 0x10]
push 4
shl eax, 4
mov edx, dword [eax + ecx + 4]
push edx
call fcn.10104fa0
mov eax, dword [esp + 0x44]
add esp, 8
inc eax
mov dword [esp + 0x3c], eax
mov ecx, dword [esi + 0x14]
cmp eax, ecx
jl 0x1010c3b5
mov ecx, dword [esp + 0x38]
xor eax, eax
mov dword [esp + 0x3c], eax
mov edx, dword [esi + 0x14]
test edx, edx
jle 0x1010c42e
mov edx, dword [esp + 0x1c]
jmp 0x1010c3f5
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.10107c40
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1010f3f1
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 0x1010c3f1
cmp dword [esp + 0x20], 2
jne 0x1010c45e
mov esi, dword [esp + 0x1c]
mov edi, 0x200
test dword [esi + 0x18], edi
je 0x1010c462
push esi
call fcn.10116920
push 0xffffffffffffffff
push esi
call fcn.1011a160
mov eax, dword [esi + 0x18]
add esp, 0xc
or eax, edi
mov dword [esi + 0x18], eax
jmp 0x1010c462
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x1d8]
mov ecx, dword [esp + 0x30]
cmp eax, ecx
je 0x1010c4a6
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.100f8b00
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 0x1010c470
cmp dword [esp + 0x20], 1
jne 0x1010c4d8
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x1d8], eax
mov ecx, dword [esp + 0x30]
push ecx
push esi
call fcn.100f8b00
add esp, 8
test ebx, ebx
jne case.default.0x1010a5e2
mov eax, dword [esp + 0x1c]
dec dword [eax + 0x1e0]
jmp 0x1010c4f8
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.0x1010a5e2
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
push ecx
push edx
push eax
call fcn.1011f460
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1010f3f1
jmp case.default.0x1010a5e2
mov eax, dword [esi + 4]
mov dword [esp + 0x20], eax
mov esi, dword [esi + 8]
test eax, eax
mov dword [esp + 0x24], esi
je 0x1010c56a
mov cl, byte [ebx + 0x34]
test cl, cl
jne 0x1010c56a
test esi, esi
mov dword [esp + 0x28], 1
jne 0x1010c572
mov ecx, dword [ebx + 0x84]
test ecx, ecx
jle 0x1010c572
push str.cannot_commit_transaction___SQL_statements_in_progress
add ebp, 0x34
push ebx
push ebp
call fcn.10107d20
add esp, 0xc
mov dword [esp + 0x10], 5
jmp case.default.0x1010a5e2
mov dword [esp + 0x28], 0
xor ecx, ecx
mov cl, byte [ebx + 0x34]
cmp eax, ecx
jne 0x1010f349
test eax, eax
jne 0x1010c58a
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x1010c598
test esi, esi
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x1010c598
mov eax, str.cannot_commit___no_transaction_is_active
push eax
add ebp, 0x34
push ebx
push ebp
call fcn.10107d20
add esp, 0xc
mov dword [esp + 0x10], 1
jmp case.default.0x1010a5e2
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.0x1010a5e2
mov ecx, dword [esi + 8]
push ecx
push eax
call fcn.10101ac0
add esp, 8
cmp eax, 5
mov dword [esp + 0x10], eax
je 0x1010f3c2
test eax, eax
jne 0x1010f3f1
mov eax, dword [esi + 8]
test eax, eax
je case.default.0x1010a5e2
mov al, byte [ebp + 0x63]
test al, al
je case.default.0x1010a5e2
mov al, byte [ebx + 0x34]
test al, al
je 0x1010c618
cmp dword [ebx + 0x80], 1
jle case.default.0x1010a5e2
mov eax, dword [ebp + 0x74]
test eax, eax
jne 0x1010c639
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.1011f460
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1010c666
mov ecx, dword [ebp + 0x74]
mov edx, dword [esp + 0x20]
push ecx
push edx
call fcn.10110dd0
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.0x1010a5e2
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.10104930
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.0x1010a5e2
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.10115980
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.10104970
mov dword [esp + 0x20], eax
mov eax, dword [esi + 8]
add esp, 0x10
cmp eax, 1
jne 0x1010c717
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 0x1010c729
cmp eax, 2
jne 0x1010c729
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.0x1010a5e2
push ebx
call fcn.10116920
add esp, 4
mov byte [ebp + 0x5f], 0
jmp case.default.0x1010a5e2
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 0x1010c77c
lea edx, [esp + 0x20]
push edx
push 1
push eax
call fcn.10104930
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 0x1010c786
mov dword [esp + 0x20], 0
xor eax, eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
cmp ecx, dword [esi + 8]
jne 0x1010c79c
cmp eax, dword [esi + 0xc]
je case.default.0x1010a5e2
mov edx, dword [ebp + 0x34]
push edx
push ebx
call fcn.100f8b00
push str.database_schema_has_changed
push ebx
call fcn.10108e30
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 0x1010c7da
push esi
push ebx
call fcn.1011a160
add esp, 8
mov byte [ebp + 0x5f], 1
mov dword [esp + 0x10], 0x11
jmp case.default.0x1010a5e2
mov al, byte [ebp + 0x5f]
test al, al
je 0x1010c7ff
mov dword [esp + 0x10], 4
jmp case.default.0x1010a5e2
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 0x1010c849
mov bl, byte [ebp + 0x61]
mov dword [esp + 0x30], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, bl
jae 0x1010c851
mov byte [ebp + 0x61], al
jmp 0x1010c851
mov dword [esp + 0x30], 0
mov al, byte [esi + 3]
test al, al
je 0x1010c87b
lea ecx, [edx + edx*4]
lea edi, [edi + ecx*8]
push edi
call fcn.10115980
mov edi, dword [edi + 0x10]
add esp, 4
cmp edi, 2
mov dword [esp + 0x28], edi
jl 0x1010f3d6
mov ecx, dword [esp + 0x20]
mov al, byte [esi + 1]
cmp al, 0xfa
jne 0x1010c8a5
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 0x1010c8ac
cmp al, 0xf2
jne 0x1010c8b0
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.10116d20
add esp, 0x14
mov dword [esp + 0x38], eax
test eax, eax
je 0x1010f2f2
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.10110e00
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.0x1010a5e2
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push 1
push 0xffffffffffffffff
push edx
push eax
push ebp
call fcn.10116d20
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
je 0x1010f2f2
xor edx, edx
mov byte [eax + 0x1c], 1
mov dl, byte [esi + 3]
mov ecx, dword [0x101624c0]
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.101100a0
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1010ca50
mov edx, dword [esp + 0x20]
push 1
mov eax, dword [edx + 4]
push eax
call fcn.10101ac0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1010ca50
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1010ca2b
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.10114360
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1010ca21
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.10110e00
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 0x1010ca50
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.10110e00
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.0x1010a5e2
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push 1
push 0xffffffffffffffff
push edx
push eax
push ebp
call fcn.10116d20
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
je 0x1010f2f2
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.10117fb0
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x1010a5e2
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 4]
push 0
push 0xffffffffffffffff
push edx
push eax
push ebp
call fcn.10116d20
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
je 0x1010f2f2
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.0x1010a5e2
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0x40]
mov ecx, dword [eax + edx*4]
push ecx
push ebp
call fcn.10106640
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0x40]
add esp, 8
mov dword [eax + edx*4], 0
jmp case.default.0x1010a5e2
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 0x1010e5b1
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 0x1010cd2e
mov eax, dword [esi + 0xc]
lea edx, [eax + eax*4]
lea edi, [edi + edx*8]
push edi
call fcn.1010a3e0
push edi
call fcn.10108680
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 0x1010ccd6
test al, 8
je 0x1010da72
mov eax, dword [esp + 0x50]
xor ebx, ebx
cmp eax, ebx
jne 0x1010cc7c
mov ecx, dword [esp + 0x54]
mov eax, closesocket
cmp ecx, eax
jne 0x1010cc7c
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], eax
fild qword [esp + 0x128]
fcomp qword [edi + 8]
fnstsw ax
test ah, 0x41
je 0x1010cbfc
fld qword [edi + 8]
fcomp qword [0x101652e8]
fnstsw ax
test ah, 0x41
jne 0x1010cc7c
mov dword [esp + 0x20], 1
fld qword [edi + 8]
fcomp qword [0x101652e8]
fnstsw ax
test ah, 1
mov eax, dword [esp + 0x24]
je 0x1010cc4a
cmp eax, 0x30
jl 0x1010da72
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x20]
push ecx
mov eax, dword [edx]
push eax
call fcn.10111130
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x1010f3f1
cmp dword [esp + 0x20], ebx
jmp 0x1010da6c
cmp eax, 0x2f
jg 0x1010da72
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x20]
push ecx
mov eax, dword [edx]
push eax
call fcn.10111400
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x1010f3f1
cmp dword [esp + 0x20], ebx
jmp 0x1010da6c
mov eax, dword [esp + 0x24]
cmp eax, 0x2e
je 0x1010ccb1
cmp eax, 0x30
je 0x1010ccb1
fild qword [esp + 0x50]
fcomp qword [edi + 8]
fnstsw ax
test ah, 0x41
jne 0x1010ccd8
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 0x1010ccd8
fild qword [esp + 0x50]
fcomp qword [edi + 8]
fnstsw ax
test ah, 1
je 0x1010ccd8
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 0x1010ccd8
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.101114d0
add esp, 0x18
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x1010f3f1
cmp dword [esp + 0x20], ebx
jne 0x1010cd9b
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 0x1010cd9b
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 0x1010cd6b
push edi
call fcn.10105a00
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.101114d0
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1010f3f1
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 0x1010cded
cmp eax, ebx
jl 0x1010cdcb
jne 0x1010cdc2
cmp ecx, 0x31
je 0x1010cdcb
mov dword [esp + 0x20], ebx
jmp case.default.0x1010a5e2
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x20]
push ecx
mov eax, dword [edx]
push eax
call fcn.10111870
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x1010f3f1
jmp 0x1010ce2d
cmp eax, ebx
jg 0x1010ce0d
jne 0x1010cdf8
cmp ecx, 0x2e
je 0x1010ce0d
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push eax
call fcn.10111860
add esp, 4
mov dword [esp + 0x20], eax
jmp 0x1010ce35
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x20]
push ecx
mov eax, dword [edx]
push eax
call fcn.101119d0
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x1010f3f1
mov ecx, dword [esp + 0x28]
mov byte [ecx + 0x19], 0
cmp dword [esp + 0x20], ebx
je case.default.0x1010a5e2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
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.0x1010a5e2
mov byte [eax + 0x1c], 0
mov esi, dword [esi + 8]
lea ecx, [esi + esi*4]
lea eax, [edi + ecx*8]
push eax
call fcn.10108680
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.0x1010a5e2
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 0x1010cfa0
mov ecx, dword [esi + 0x10]
test ecx, ecx
jle 0x1010ceeb
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 0x1010cf40
mov eax, dword [eax + 8]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x54]
push 0x97
push edx
push eax
call fcn.101163a0
add esp, 0x10
mov dword [esp + 0x30], eax
test eax, eax
je 0x1010f2f2
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.10116410
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.101114d0
mov edi, eax
mov eax, dword [esi + 0x10]
add esp, 0x18
mov dword [esp + 0x10], edi
test eax, eax
jne 0x1010cf76
mov eax, dword [esp + 0x2c]
push eax
push ebx
call fcn.100f8b00
add esp, 8
test edi, edi
jne case.default.0x1010a5e2
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 0x1010cfba
test edx, edx
je case.default.0x1010a5e2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
test edx, edx
jne case.default.0x1010a5e2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
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 0x1010d045
mov eax, dword [esp + 0x20]
and eax, 0xffff
lea eax, [eax + eax*4]
test byte [ebp + eax*8 + 0x1c], 1
jne 0x1010d0da
inc di
cmp di, dx
mov word [esp + 0x20], di
jb 0x1010d022
mov eax, dword [esp + 0x28]
test eax, eax
je case.default.0x1010a5e2
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.10115980
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.101114d0
mov dword [esp + 0x2c], eax
mov al, byte [esp + 0x5a]
add esp, 0x1c
test al, 4
jne 0x1010e5b1
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x50]
cmp eax, ecx
jne 0x1010d0cb
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x54]
cmp edx, ecx
je 0x1010e5b1
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x14], eax
jmp case.default.0x1010a5e2
mov esi, dword [esi + 8]
mov dword [esp + 0x28], 0
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
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 0x1010d18e
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.101114d0
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 0x1010d182
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.0x1010a5e2
mov esi, dword [esi + 8]
mov dword [ecx + 0x4c], 0
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
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.0x1010a5e2
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 0x1010d48b
mov cl, byte [edx + 0x1b]
test cl, cl
jne 0x1010d38a
push eax
call fcn.10110f00
mov ecx, eax
add esp, 4
or ecx, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jne 0x1010d2aa
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x2c]
push edx
mov ecx, dword [eax]
push ecx
call fcn.10111400
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1010f3f1
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x1010d25b
mov eax, 1
xor edx, edx
mov dword [esp + 0x20], eax
jmp 0x1010d2a6
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x20]
push edx
mov ecx, dword [eax]
push ecx
call fcn.10105040
mov edx, dword [esp + 0x2c]
add esp, 8
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
cmp edx, 0x7fffffff
jl 0x1010d29c
jg 0x1010d28a
cmp eax, 0xffffffff
jb 0x1010d29c
mov edx, dword [esp + 0x28]
mov byte [edx + 0x1b], 1
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
jmp 0x1010d2aa
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 0x1010d35a
mov ebp, dword [ebp + 0xa8]
test ebp, ebp
je 0x1010d2e7
mov ecx, ebp
mov dword [esp + 0x38], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x1010d2d9
mov ecx, eax
mov dword [esp + 0x38], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x1010d2cc
mov esi, dword [esi + 0xc]
mov ecx, dword [ecx + 0xc]
lea eax, [esi + esi*4]
lea edi, [ecx + eax*8]
jmp 0x1010d2ed
lea edx, [ebx + ebx*4]
lea edi, [edi + edx*8]
push edi
mov dword [esp + 0x38], edi
call fcn.10115980
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 0x1010d318
cmp ecx, 0x7fffffff
je 0x1010f3e9
mov esi, dword [esp + 0x28]
mov bl, byte [esi + 0x1b]
test bl, bl
jne 0x1010f3e9
mov esi, dword [esp + 0x24]
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x1010d345
jl 0x1010d33d
cmp dword [esp + 0x20], eax
jae 0x1010d345
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 0x1010d371
jl 0x1010d369
cmp eax, 0xffffffff
jae 0x1010d371
add eax, 1
adc edx, 0
jmp 0x1010d375
xor eax, eax
xor edx, edx
mov ecx, dword [esp + 0x28]
push edx
push eax
mov edx, dword [ecx]
push edx
call fcn.10110ec0
mov edx, dword [esp + 0x34]
add esp, 0xc
mov al, byte [edx + 0x1b]
test al, al
je 0x1010d474
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.101114d0
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1010d470
mov esi, 5
mov edx, dword [esp + 0x2c]
test edx, edx
jne 0x1010d460
mov ecx, dword [esp + 0x30]
inc ecx
cmp ecx, 0x64
mov dword [esp + 0x30], ecx
jge 0x1010d460
lea ecx, [esp + 0x20]
push ecx
push 8
call fcn.100f8de0
mov eax, dword [esp + 0x38]
add esp, 8
cmp eax, esi
mov eax, dword [esp + 0x20]
jge 0x1010d424
mov ecx, dword [esp + 0x24]
and eax, 0xffffff
and ecx, 0
jmp 0x1010d42e
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.101114d0
add esp, 0x18
test eax, eax
je 0x1010d3e5
mov dword [esp + 0x10], eax
jmp 0x1010d470
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1010d470
test edx, edx
je 0x1010f3e9
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.0x1010a5e2
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 0x1010d4db
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 0x1010d4e0
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
test byte [esi + 3], 1
je 0x1010d4ed
inc dword [ebp + 0x68]
test byte [esi + 3], 2
je 0x1010d50f
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 0x1010d527
xor eax, eax
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x20]
mov dword [edx + 0x18], eax
mov ecx, dword [esp + 0x20]
jmp 0x1010d529
xor eax, eax
test byte [esi + 3], 0x10
je 0x1010d53c
mov edx, dword [esp + 0x30]
mov edx, dword [edx + 0x4c]
mov dword [esp + 0x38], edx
jmp 0x1010d540
mov dword [esp + 0x38], eax
test byte [ecx + 0x1d], 0x40
je 0x1010d549
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.10110ec0
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.10111b00
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.0x1010a5e2
mov eax, dword [ebx + 0xb8]
test eax, eax
je case.default.0x1010a5e2
mov eax, dword [esi + 0x10]
test eax, eax
je case.default.0x1010a5e2
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 0x1010f17b
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 0x1010d657
cmp dword [esi + 0x10], ecx
je 0x1010d657
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x20], ecx
mov edx, dword [eax + 0x44]
mov dword [esp + 0x24], edx
push eax
call fcn.10115e80
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1010f3f1
push eax
push eax
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
push ecx
call fcn.10110ec0
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
push eax
call fcn.10114110
mov ecx, dword [esp + 0x38]
add esp, 0x10
test eax, eax
mov dword [esp + 0x10], eax
mov dword [ecx + 0x50], 0
jne 0x1010d6d7
mov ecx, dword [ebx + 0xb8]
test ecx, ecx
je 0x1010d6d7
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1010d6d7
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.0x1010a5e2
inc dword [ebp + 0x68]
jmp case.default.0x1010a5e2
mov ecx, dword [ebp + 0x68]
push ecx
push ebx
call fcn.10107e00
add esp, 8
mov dword [ebp + 0x68], 0
jmp case.default.0x1010a5e2
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.10118cf0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
add esp, 0xc
jmp 0x1010da6a
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.10118c40
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x1010a5e2
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.10115e80
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1010f3f1
mov eax, dword [esp + 0x20]
mov cl, byte [eax + 0x1f]
test cl, cl
je 0x1010d7d9
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x30]
push ecx
push edx
call fcn.10105040
mov eax, dword [ebx + 0x4c]
mov ecx, dword [esp + 0x3c]
cdq
add esp, 8
cmp ecx, edx
mov ecx, dword [esp + 0x30]
jg 0x1010f469
jl 0x1010d7d1
cmp ecx, eax
ja 0x1010f469
mov eax, ecx
mov dword [esp + 0x28], eax
jmp 0x1010d7fa
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x28]
push edx
push eax
call fcn.10110f10
mov eax, dword [esp + 0x30]
mov ecx, dword [ebx + 0x4c]
add esp, 8
cmp eax, ecx
ja 0x1010f469
mov esi, dword [esp + 0x18]
push 0
push eax
push esi
call fcn.10105880
add esp, 0xc
test eax, eax
jne 0x1010f2f2
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 0x1010d85a
call fcn.10105100
add esp, 0x10
mov dword [esp + 0x10], eax
mov byte [esi + 0x1f], 1
jmp case.default.0x1010a5e2
call fcn.10110f30
add esp, 0x10
mov dword [esp + 0x10], eax
mov byte [esi + 0x1f], 1
jmp case.default.0x1010a5e2
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 0x1010d892
mov eax, dword [esp + 0x18]
mov word [eax + 0x1c], 1
jmp case.default.0x1010a5e2
mov cl, byte [eax + 0x1d]
test cl, cl
je 0x1010d8a9
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x2c], edx
jmp 0x1010d920
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x1010d8dc
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.10116e80
add esp, 0x10
jmp 0x1010d920
push eax
call fcn.10115e80
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1010f3f1
mov eax, dword [esp + 0x20]
mov cl, byte [eax + 0x19]
test cl, cl
je 0x1010d90c
mov edx, dword [eax + 0x40]
mov dword [esp + 0x28], edx
mov eax, dword [eax + 0x44]
mov dword [esp + 0x2c], eax
jmp 0x1010d920
mov edx, dword [eax]
lea ecx, [esp + 0x28]
push ecx
push edx
call fcn.10105040
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.0x1010a5e2
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.0x1010a5e2
push eax
call fcn.10105020
add esp, 4
jmp case.default.0x1010a5e2
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 0x1010d9a1
lea eax, [esp + 0x28]
push eax
push ecx
call fcn.10111400
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.0x1010a5e2
mov eax, dword [esp + 0x28]
test eax, eax
je case.default.0x1010a5e2
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
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 0x1010da18
lea ecx, [esp + 0x28]
push ecx
push eax
push ebx
call fcn.101185c0
add esp, 0xc
mov dword [esp + 0x10], eax
jmp 0x1010da5b
mov eax, dword [eax]
lea edx, [esp + 0x28]
push edx
push eax
mov dword [esp + 0x2c], eax
call fcn.10111130
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.0x1010a5e2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
mov eax, dword [ebx + 0xe0]
test eax, eax
jne 0x1010f43a
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.0x1010a5e2
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x1010dabe
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x24]
push ecx
push eax
push edx
call fcn.10118b90
add esp, 0xc
jmp 0x1010dad4
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 0x1010db15
mov eax, dword [esi + 8]
dec eax
mov dword [esp + 0x14], eax
mov al, byte [esi + 3]
test al, al
je 0x1010db15
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.0x1010a5e2
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.0x1010a5e2
test byte [edi + 0x1d], 0x40
je 0x1010db69
push edi
call fcn.10105a00
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x1010a5e2
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x1010db84
push edi
push ecx
push ebx
call fcn.10118130
add esp, 0xc
mov dword [esp + 0x10], eax
jmp case.default.0x1010a5e2
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 0x1010db9f
mov ecx, dword [ecx + 0x4c]
jmp 0x1010dba1
xor ecx, ecx
push ecx
mov ecx, dword [esi + 0xc]
push ecx
push 0
cdq
push 0
push 0x101a7844
push edx
push eax
push edi
push ebp
call fcn.10111b00
mov edx, dword [esp + 0x44]
add esp, 0x24
mov dword [esp + 0x10], eax
mov dword [edx + 0x50], 0
jmp case.default.0x1010a5e2
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.0x1010a5e2
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.101114d0
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1010dc47
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x1010dc47
mov ecx, dword [esp + 0x24]
push ecx
call fcn.10114110
add esp, 4
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x20]
mov dword [edx + 0x50], 0
jmp case.default.0x1010a5e2
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.0x1010a5e2
mov ecx, dword [esp + 0x24]
push ecx
call fcn.10115e80
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1010f3f1
mov edx, dword [esp + 0x24]
mov al, byte [edx + 0x1c]
test al, al
jne case.default.0x1010a5e2
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x28]
push eax
push ecx
push ebx
call fcn.10116720
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1010f3f1
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.0x1010a5e2
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.0x1010a5e2
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.10116860
mov dword [esp + 0x1c], eax
mov al, byte [esi]
add esp, 0xc
cmp al, 0x64
mov eax, dword [esp + 0x24]
jne 0x1010dd4b
neg eax
jmp 0x1010dd4c
inc eax
test eax, eax
mov dword [esp + 0x24], eax
jle case.default.0x1010a5e2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
mov dword [esp + 0x24], 0
mov eax, dword [ebx + 4]
test eax, eax
mov dword [esp + 0x28], eax
je 0x1010dd9e
mov ecx, 0xbdf20da3
cmp dword [eax + 0x30], ecx
jne 0x1010dd93
cmp byte [eax + 0x62], 2
jae 0x1010dd93
mov edx, dword [eax + 0x54]
test edx, edx
jl 0x1010dd93
inc dword [esp + 0x24]
mov eax, dword [eax + 0x3c]
test eax, eax
mov dword [esp + 0x28], eax
jne 0x1010dd7d
mov ecx, dword [esp + 0x18]
mov eax, 1
mov word [ecx + 0x1c], ax
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jle 0x1010ddc4
mov dword [esp + 0x10], 6
mov byte [ebp + 0x5c], 2
jmp case.default.0x1010a5e2
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.101147b0
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.0x1010a5e2
mov eax, dword [esp + 0x20]
test eax, eax
je case.default.0x1010a5e2
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x2c]
push ecx
push eax
push edx
push ebx
call fcn.1011a5d0
mov al, byte [esp + 0x3c]
add esp, 0x10
inc al
mov byte [esp + 0x104], al
jmp case.default.0x1010a5e2
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.101145f0
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0xc]
add esp, 0xc
test eax, eax
je case.default.0x1010a5e2
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.0x1010a5e2
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.0x1010a5e2
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.10114360
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.0x1010a5e2
mov eax, dword [esi + 4]
mov ecx, str.sqlite_temp_master
cmp eax, 1
mov dword [esp + 0x20], eax
je 0x1010df14
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.10107a60
add esp, 0x14
mov dword [esp + 0x28], eax
test eax, eax
jne 0x1010df5a
mov esi, 7
mov dword [esp + 0x10], esi
jmp 0x1010dfa8
lea eax, [esp + 0x2c]
mov byte [ebx + 0x7d], 1
mov ecx, dword [esp + 0x28]
push 0
push eax
push fcn.1011cc50
push ecx
push ebx
mov dword [esp + 0x4c], 0
call fcn.1011c5a0
mov esi, eax
add esp, 0x14
test esi, esi
mov dword [esp + 0x10], esi
jne 0x1010df92
mov esi, dword [esp + 0x38]
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0x28]
push edx
push ebx
call fcn.100f8b00
add esp, 8
mov byte [ebx + 0x7d], 0
test esi, esi
je 0x1010dfb3
push 0xffffffffffffffff
push ebx
call fcn.1011a160
add esp, 8
cmp esi, 7
je 0x1010f2f2
jmp case.default.0x1010a5e2
mov eax, dword [esi + 4]
push eax
push ebx
call fcn.10119390
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x1010a5e2
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 4]
push ecx
push edx
push ebx
call fcn.1011a520
add esp, 0xc
jmp case.default.0x1010a5e2
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 4]
push eax
push ecx
push ebx
call fcn.10119d90
add esp, 0xc
jmp case.default.0x1010a5e2
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 4]
push edx
push eax
push ebx
call fcn.1011e2b0
add esp, 0xc
jmp case.default.0x1010a5e2
mov eax, dword [esi + 8]
mov dword [esp + 0x20], eax
lea ecx, [eax*4 + 4]
push ecx
push ebx
call fcn.100f7ac0
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
je 0x1010f2f2
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 0x1010e090
lea eax, [ecx + ecx*4]
lea ecx, [edi + eax*8]
push ecx
call fcn.10108680
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 0x1010e061
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.10114b20
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x44], eax
push ecx
push esi
call fcn.100f8b00
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.10105bd0
mov eax, dword [esp + 0x4c]
add esp, 0x20
test eax, eax
je 0x1010e121
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1010f2f2
push fcn.100f78c0
push 1
push 0xffffffffffffffff
push eax
push edi
call fcn.10105660
add esp, 0x14
mov eax, dword [esp + 0xe8]
and eax, 0xff
push eax
push edi
call fcn.10108090
add esp, 8
jmp case.default.0x1010a5e2
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 0x1010e16a
push ebx
call fcn.10115a50
mov al, byte [ebx + 0x1c]
add esp, 4
test al, 0x20
je 0x1010f2f2
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov edx, dword [ebx + 0x10]
push eax
push ecx
push edx
call fcn.1010faf0
add esp, 0xc
jmp case.default.0x1010a5e2
mov eax, dword [ebx + 0xe0]
test eax, eax
jne 0x1010f43a
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 0x1010e1d8
mov edx, dword [ebx + 0x10]
lea ecx, [esp + 0x20]
push ecx
push edx
call fcn.1010fb80
add esp, 8
test eax, eax
je 0x1010e1d8
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.10108ac0
add esp, 0xc
jmp case.default.0x1010a5e2
push ebx
call fcn.10105bd0
mov esi, dword [esi + 8]
add esp, 4
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
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 0x1010e225
push ebx
call fcn.10115a50
mov al, byte [ebx + 0x1c]
add esp, 4
test al, 0x20
je 0x1010f2f2
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1010e26b
jl 0x1010e230
and eax, 0xf
jmp 0x1010e235
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.1010fd90
add esp, 0x10
mov dword [esp + 0x24], eax
test eax, eax
je 0x1010e25f
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
mov eax, dword [esp + 0x20]
test eax, eax
jl case.default.0x1010a5e2
mov ecx, dword [edi + 0x14]
mov edx, dword [edi + 0x10]
mov eax, dword [ebx + 0x10]
push ecx
push edx
push eax
call fcn.1010faf0
add esp, 0xc
jmp case.default.0x1010a5e2
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 0x1010e2ce
mov eax, dword [ebp + 0xa8]
mov edx, dword [ecx + 0x14]
test eax, eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], eax
je 0x1010e2ce
cmp dword [eax + 0x18], edx
je 0x1010e2c6
mov eax, dword [eax + 4]
test eax, eax
mov dword [esp + 0x34], eax
jne 0x1010e2b4
jmp 0x1010e2ce
test eax, eax
jne case.default.0x1010a5e2
mov eax, dword [ebp + 0xb0]
mov edx, dword [ebx + 0x74]
cmp eax, edx
jl 0x1010e2fa
push str.too_many_levels_of_trigger_recursion
add ebp, 0x34
push ebx
push ebp
mov dword [esp + 0x1c], 1
call fcn.10107d20
add esp, 0xc
jmp case.default.0x1010a5e2
test byte [edi + 0x1c], 0x40
jne 0x1010e435
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.100fc640
add esp, 8
mov dword [esp + 0x34], eax
test eax, eax
je 0x1010f2f2
mov ecx, dword [esp + 0x28]
push ecx
call fcn.10105a70
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 0x1010e43c
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 0x1010e412
mov eax, dword [esp + 0x34]
jmp 0x1010e43c
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.0x1010a5e2
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.10115b10
add esp, 0xc
jmp case.default.0x1010a5e2
mov eax, dword [esi + 4]
test eax, eax
mov eax, dword [esi + 8]
cdq
je 0x1010e56f
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.0x1010a5e2
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.0x1010a5e2
mov eax, dword [esi + 4]
test eax, eax
je 0x1010e5be
mov edx, dword [ebx + 0x1e8]
mov ecx, dword [ebx + 0x1ec]
lea eax, [ebx + 0x1e8]
or edx, ecx
jne case.default.0x1010a5e2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
mov ecx, dword [ebp + 0x90]
mov edx, dword [ebp + 0x94]
lea eax, [ebp + 0x90]
or ecx, edx
jne case.default.0x1010a5e2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
mov ebp, dword [ebp + 0xa8]
test ebp, ebp
je 0x1010e617
mov ecx, ebp
mov dword [esp + 0x24], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x1010e609
mov ecx, eax
mov dword [esp + 0x24], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x1010e5fc
mov eax, dword [esi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0xc]
lea eax, [eax + edx*8]
jmp 0x1010e620
mov eax, dword [esi + 4]
lea ecx, [eax + eax*4]
lea eax, [edi + ecx*8]
push eax
mov dword [esp + 0x24], eax
call fcn.10115980
mov esi, dword [esi + 8]
lea edx, [esi + esi*4]
lea esi, [edi + edx*8]
push esi
call fcn.10115980
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.0x1010a5e2
jl 0x1010e660
mov edx, dword [eax]
cmp edx, ecx
jae case.default.0x1010a5e2
mov dword [eax], ecx
mov dword [eax + 4], esi
jmp case.default.0x1010a5e2
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.0x1010a5e2
jg 0x1010e68a
cmp dword [edi], 0
jbe case.default.0x1010a5e2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
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.0x1010a5e2
jl 0x1010e6b8
cmp dword [edi], 0
jae case.default.0x1010a5e2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
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.0x1010a5e2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
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 0x1010e754
mov ecx, dword [esp + 0x70]
mov dword [ecx + eax*4], edi
mov edx, dword [esp + 0x2c]
push edx
call fcn.1010a3a0
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 0x1010e724
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 0x1010e7b4
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 0x1010e7fd
lea edx, [esp + 0x38]
push edx
call fcn.10108920
push eax
mov eax, dword [esp + 0x13c]
push 0x1017be88
add eax, 0x34
push ebp
push eax
call fcn.10107d20
mov ecx, dword [esp + 0x7c]
add esp, 0x14
mov dword [esp + 0x10], ecx
cmp dword [esp + 0x6c], edi
je 0x1010e820
mov esi, dword [esi - 0x10]
cmp esi, edi
mov dword [esp + 0x24], esi
je 0x1010e820
lea edx, [esi + esi*4]
push edi
push 1
lea eax, [ebx + edx*8]
push eax
call fcn.10108ac0
add esp, 0xc
lea ecx, [esp + 0x38]
push ecx
call fcn.10105a70
add esp, 4
jmp case.default.0x1010a5e2
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.10105b60
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x1010e871
mov ecx, dword [esp + 0x20]
push ecx
call fcn.10108920
push eax
push 0x1017be88
add ebp, 0x34
push ebx
push ebp
call fcn.10107d20
add esp, 0x14
mov edx, dword [esp + 0xe8]
mov eax, dword [esp + 0x20]
and edx, 0xff
push edx
push eax
call fcn.10108090
mov ecx, dword [esp + 0x28]
push ecx
call fcn.10115ae0
add esp, 0xc
test eax, eax
jne 0x1010f469
jmp case.default.0x1010a5e2
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.101420a0
add esp, 0x14
cmp eax, 5
mov dword [esp + 0x10], eax
jne 0x1010e8e4
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.10108ac0
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 0x1010e8f7
jmp case.default.0x1010a5e2
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.100fc390
push eax
mov dword [esp + 0x2c], eax
call fcn.10100230
mov ecx, dword [esp + 0x30]
add esp, 8
cmp ecx, 0xffffffff
mov dword [esp + 0x2c], eax
jne 0x1010e961
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x24]
push edx
call fcn.1010ffd0
add esp, 4
test eax, eax
jne 0x1010e97a
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x24]
push ecx
call fcn.10107ae0
mov ecx, dword [esp + 0x2c]
add esp, 4
cmp ecx, 5
mov dword [esp + 0x30], eax
jne 0x1010ea27
push eax
call fcn.100f8fa0
add esp, 4
test eax, eax
je 0x1010e9b6
mov edx, dword [esp + 0x24]
push edx
call fcn.10102890
add esp, 4
test eax, eax
jne 0x1010ea23
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1010e9ce
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], ecx
push ecx
mov ecx, dword [esp + 0x28]
push ecx
call fcn.1010fed0
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.1011cc30
push eax
mov dword [esi + 4], eax
call fcn.100f8fa0
mov ecx, dword [esp + 0xf8]
mov dword [esi + 0x18], eax
and ecx, 0xff
mov byte [esi + 0x1f], 1
push ecx
push esi
call fcn.10108090
jmp 0x1010f17b
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
cmp ecx, eax
je 0x1010e9be
cmp eax, 5
je 0x1010ea39
cmp ecx, 5
jne 0x1010e9be
mov dl, byte [ebx + 0x34]
test dl, dl
je 0x1010eabb
cmp dword [ebx + 0x80], 1
jg 0x1010eabb
cmp eax, 5
jne 0x1010ea73
mov eax, dword [esp + 0x24]
push eax
call fcn.10110000
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1010e9c6
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
push edx
jmp 0x1010ea7f
cmp eax, 4
jne 0x1010ea8b
mov eax, dword [esp + 0x24]
push 2
push eax
call fcn.1010fed0
mov ecx, dword [esp + 0x30]
add esp, 8
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x1010e9c6
mov eax, dword [esp + 0x20]
xor edx, edx
cmp ecx, 5
sete dl
inc edx
push edx
push eax
call fcn.101049e0
mov ecx, dword [esp + 0x30]
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x1010e9be
cmp ecx, 5
mov dword [esp + 0x10], 1
mov eax, str.into
je 0x1010ead2
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.10107d20
add esp, 0x10
jmp case.default.0x1010a5e2
add ebp, 0x34
push ebx
push ebp
call fcn.1011e360
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x1010a5e2
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.10110d50
add esp, 4
cmp eax, 0x65
mov dword [esp + 0x10], eax
jne case.default.0x1010a5e2
mov esi, dword [esi + 8]
mov dword [esp + 0x10], 0
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
mov eax, dword [esi + 4]
test eax, eax
jne 0x1010eb51
push ebx
call fcn.10116920
add esp, 4
jmp case.default.0x1010a5e2
mov byte [ebp + 0x5f], 1
jmp case.default.0x1010a5e2
mov al, byte [esi + 0xc]
test al, al
mov byte [esp + 0x114], al
jne 0x1010eb75
test dword [ebx + 0x18], 0x80000
jne case.default.0x1010a5e2
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.10115850
add esp, 0xc
cmp al, 6
mov dword [esp + 0x10], eax
jne case.default.0x1010a5e2
mov eax, dword [esi + 0x10]
add ebp, 0x34
push eax
push str.database_table_is_locked:__s
push ebx
push ebp
call fcn.10107d20
add esp, 0x10
jmp case.default.0x1010a5e2
mov esi, dword [esi + 0x10]
push esi
push ebx
mov dword [esp + 0x28], esi
call fcn.1011f3d0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
add esp, 8
test eax, eax
je case.default.0x1010a5e2
mov ecx, dword [eax + 8]
push ecx
push ebp
call fcn.10116e80
add esp, 8
jmp case.default.0x1010a5e2
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 4]
add ebp, 0x34
push ebp
push edx
push eax
push ebx
call fcn.1011eca0
add esp, 0x10
mov dword [esp + 0x10], eax
jmp case.default.0x1010a5e2
mov byte [ebp + 0x62], 2
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 4]
push ecx
push edx
push ebx
call fcn.1011f220
add esp, 0xc
mov dword [esp + 0x10], eax
mov byte [ebp + 0x62], 0
jmp case.default.0x1010a5e2
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.10116e80
add esp, 0x10
test edi, edi
jne case.default.0x1010a5e2
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.10116d20
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
je 0x1010ecae
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.0x1010a5e2
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.0x1010a5e2
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 0x1010ed68
jmp 0x1010ed31
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.1010a3a0
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
add esp, 4
inc eax
cmp eax, ecx
mov dword [esp + 0x44], eax
jl 0x1010ed2d
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.10116e80
add esp, 0x1c
test ebx, ebx
jne 0x1010edb9
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 0x1010edc9
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.0x1010a5e2
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 0x1010ee01
push eax
call fcn.10105bd0
add esp, 4
jmp case.default.0x1010a5e2
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.1010a2c0
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.10116e80
mov eax, dword [esp + 0x84]
add esp, 0x1c
test eax, eax
je 0x1010ee7a
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0xe8]
lea eax, [esp + 0x38]
and edx, 0xff
push edx
push eax
call fcn.10108090
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x40]
push ecx
push edx
call fcn.1010a2c0
mov eax, dword [esp + 0x38]
push eax
call fcn.10115ae0
add esp, 0x14
test eax, eax
jne 0x1010f469
jmp case.default.0x1010a5e2
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.0x1010a5e2
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.10116e80
add esp, 0xc
test edi, edi
jne 0x1010ef27
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.0x1010a5e2
mov esi, dword [esi + 8]
dec esi
mov dword [esp + 0x14], esi
jmp case.default.0x1010a5e2
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.10108090
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x1010a5e2
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.10116e80
add esp, 0x10
mov byte [ebp + 0x5f], 0
jmp case.default.0x1010a5e2
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.0x1010a5e2
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 0x1010f01b
push edi
call fcn.1010a3a0
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 0x1010efe7
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.10116e80
add esp, 0x18
test edi, edi
jne 0x1010f085
mov eax, dword [esi + 4]
test eax, eax
je 0x1010f085
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 0x1010d6e1
mov ecx, dword [esi + 0x10]
mov al, byte [ecx + 0x10]
test al, al
je 0x1010d6e1
mov al, byte [esi + 3]
cmp al, 4
jne 0x1010f0b0
mov dword [esp + 0x10], 0
jmp case.default.0x1010a5e2
cmp al, 5
jne 0x1010f0c1
mov eax, 2
mov byte [ebp + 0x5c], al
jmp case.default.0x1010a5e2
and eax, 0xff
mov byte [ebp + 0x5c], al
jmp case.default.0x1010a5e2
mov edx, dword [esi + 4]
mov eax, dword [ebx + 0x10]
shl edx, 4
mov ecx, dword [edx + eax + 4]
push ecx
call fcn.10101a90
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 0
jmp case.default.0x1010a5e2
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 0x1010f11f
push edi
call fcn.10101a90
mov esi, dword [esi + 0xc]
add esp, 4
cmp eax, esi
jae 0x1010f11f
mov eax, esi
push eax
push edi
call fcn.10110d00
mov ecx, dword [esp + 0x20]
add esp, 8
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x1010a5e2
mov eax, dword [ebx + 0x94]
test eax, eax
je case.default.0x1010a5e2
mov esi, dword [esi + 0x10]
test esi, esi
mov eax, esi
jne 0x1010f14f
mov eax, dword [ebp + 0xa0]
test eax, eax
mov dword [esp + 0x20], eax
je case.default.0x1010a5e2
push eax
push ebp
call fcn.10116940
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.100f8b00
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 0x1010a536
mov ebx, dword [esp + 0x1c]
jmp 0x1010f4a2
mov dword [esp + 0x10], 9
jmp 0x1010f4a2
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 0x1010f1fd
push eax
push 0x1017be88
lea eax, [ebp + 0x34]
push ebx
push eax
call fcn.10107d20
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.100f8d40
add esp, 0x24
jmp 0x1010f221
mov eax, dword [ebp + 0x58]
test eax, eax
je 0x1010f221
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.100f8d40
add esp, 0x10
push ebp
call fcn.101061a0
mov esi, 5
add esp, 4
cmp eax, esi
jne 0x1010f368
mov dword [ebp + 0x58], esi
jmp 0x1010f501
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 0x1010f2c1
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 0x1d], 0x10
lea ecx, [edx + ecx*8]
je 0x1010f28a
push ecx
call fcn.101059a0
add esp, 4
test eax, eax
jne 0x1010f2f2
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
push edx
call fcn.10108510
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
push edx
call fcn.1010a3a0
mov eax, dword [esp + 0x2c]
add esp, 8
inc eax
mov dword [esp + 0x24], eax
mov ecx, dword [esi + 8]
cmp eax, ecx
jl 0x1010f268
mov eax, dword [esp + 0x1c]
mov cl, byte [eax + 0x36]
test cl, cl
jne 0x1010f2f2
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x134]
inc ecx
mov esi, 0x64
mov dword [edx + 0x54], ecx
jmp 0x1010f501
lea eax, [esp + 0x30]
push eax
call fcn.10105a70
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.10107d20
mov ebx, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x10], 7
jmp 0x1010f4a2
mov dword [esp + 0x10], 0x14
jmp 0x1010f3f1
mov ecx, dword [esp + 0x14]
mov dword [edi + 0x54], ecx
mov byte [esi + 0x34], 0
mov esi, 5
mov dword [edi + 0x58], esi
jmp 0x1010f501
test esi, esi
je 0x1010f37a
push 0x204
push ebx
call fcn.10141740
add esp, 8
mov byte [ebx + 0x34], 1
push ebx
call fcn.101413d0
add esp, 4
mov esi, dword [ebp + 0x58]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x1010f501
push 1
push ebp
call fcn.10107cc0
mov esi, eax
add esp, 8
test esi, esi
jne 0x1010f501
mov dl, byte [esp + 0x20]
push ebp
mov byte [ebx + 0x34], dl
call fcn.101061a0
mov esi, 5
add esp, 4
cmp eax, esi
jne 0x1010f35f
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 0x1010f501
mov edx, dword [esp + 0x14]
mov esi, 5
mov dword [ebp + 0x54], edx
mov dword [ebp + 0x58], esi
jmp 0x1010f501
push 0x109be
call fcn.10143200
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x1010f3f1
mov dword [esp + 0x10], 0xd
mov ebx, dword [esp + 0x1c]
mov al, byte [ebx + 0x36]
test al, al
je 0x1010f406
mov dword [esp + 0x10], 7
jmp 0x1010f414
cmp dword [esp + 0x10], 0xc0a
je 0x1010f49b
mov eax, dword [esp + 0x10]
push eax
call fcn.10141800
mov ebp, dword [esp + 0x138]
push eax
push 0x1017be88
push ebx
lea ecx, [ebp + 0x34]
push ecx
call fcn.10107d20
add esp, 0x14
jmp 0x1010f4a2
mov eax, 9
push eax
mov dword [esp + 0x14], eax
mov dword [ebp + 0x58], eax
call fcn.10141800
mov edx, dword [esp + 0x20]
push eax
push 0x1017be88
lea eax, [ebp + 0x34]
push edx
push eax
call fcn.10107d20
mov ebx, dword [esp + 0x30]
add esp, 0x14
jmp 0x1010f4a2
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.10107d20
mov ebp, dword [esp + 0x140]
mov ebx, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x10], 0x12
jmp 0x1010f4a2
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.100f8d40
push ebp
call fcn.101061a0
add esp, 0x18
cmp esi, 0xc0a
jne 0x1010f4d9
mov byte [ebx + 0x36], 1
mov al, byte [esp + 0x104]
mov esi, 1
test al, al
jbe 0x1010f501
mov ecx, dword [esp + 0x104]
and ecx, 0xff
dec ecx
push ecx
push ebx
call fcn.1011a160
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.101064c0
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x120
ret