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

Disassembly:
sub esp, 0x314
mov eax, dword [0x10177024]
xor eax, esp
mov dword [esp + 0x30c], eax
push ebx
push ebp
push esi
xor eax, eax
push edi
mov edi, ecx
mov esi, dword [edi]
mov cl, byte [esi + 0x42]
mov ebp, dword [edi + 4]
mov edx, dword [edi + 8]
mov dword [esp + 0x10], eax
mov byte [esp + 0x53], al
mov byte [esp + 0x48], cl
mov ecx, dword [esi + 0x24]
mov dword [esp + 0xac], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], eax
mov eax, dword [esi + 0x20]
push edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
call fcn.100c2620
add esp, 4
cmp dword [edi + 0x50], 7
je 0x100cd545
xor eax, eax
mov dword [edi + 0x50], eax
mov dword [edi + 0x90], eax
mov dword [edi + 0x94], eax
mov dword [edi + 0x14], eax
mov edx, dword [esi + 0xf8]
test edx, edx
mov dword [esi + 0x184], eax
jne 0x100cd5a0
cmp dword [esi + 0x130], eax
je 0x100c87c4
mov esi, dword [esi + 0x138]
mov eax, dword [edi + 0x84]
div esi
sub esi, edx
mov dword [esp + 0x90], esi
mov eax, dword [edi + 0x4c]
lea eax, [eax + eax*4]
lea ebp, [ebp + eax*4]
mov cl, byte [ebp]
add dword [esp + 0x74], 1
mov edx, dword [esp + 0xac]
movzx eax, cl
cmp eax, 0x9d
ja case.0x100c87eb.110
jmp dword [eax*4 + 0x100cd74c]
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
lea ecx, [edx + ecx*8]
mov edx, ebp
sub edx, dword [esp + 0x3c]
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov word [ecx + 8], 4
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x100cd0ff
mov ebp, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
lea eax, [ebp + ebp*4]
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
lea edx, [ecx + ecx*4]
mov ecx, dword [esp + 0x3c]
lea ebp, [ecx + edx*4]
mov word [eax + 8], 0x80
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea ecx, [eax + edx*8]
mov eax, dword [ebp + 0xc]
sub eax, 1
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov word [ecx + 8], 4
cmp dword [ebp + 8], 0
jne 0x100cd0ff
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov ebp, dword [ebp + 4]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
lea ecx, [ebp + ebp*4]
lea eax, [edx + ecx*8]
mov ecx, dword [eax]
mov edx, dword [esp + 0x3c]
lea ecx, [ecx + ecx*4]
mov ecx, dword [edx + ecx*4 + 8]
lea ecx, [ecx + ecx*4]
lea ebp, [edx + ecx*4 - 0x14]
mov word [eax + 8], 0x80
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x3c]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea ecx, [eax + edx*8]
mov esi, dword [ecx]
sub ebp, edi
mov eax, 0x66666667
imul ebp
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov word [ecx + 8], 4
mov dword [ecx], eax
mov dword [ecx + 4], edx
lea ecx, [esi + esi*4]
lea ebp, [edi + ecx*4]
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
test byte [eax + edx*8 + 8], 1
je case.0x100c87eb.110
mov ecx, ebp
sub ecx, dword [esp + 0x3c]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
cmp dword [ebp + 4], 0
jne 0x100cd192
mov ecx, dword [edi + 0xb8]
test ecx, ecx
je 0x100cd192
mov edx, dword [ecx + 4]
mov eax, dword [edi + 0x64]
add dword [edi + 0xc0], 0xffffffff
mov esi, dword [esp + 0x14]
mov dword [edi + 0xb8], edx
add dword [esi + 0x58], eax
mov ebx, ecx
mov dword [esi + 0x54], eax
call fcn.100c3000
cmp dword [ebp + 8], 4
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
jne 0x100c8989
mov ecx, dword [edi + 4]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 8]
sub eax, 1
mov ebp, dword [edi + 4]
mov edx, dword [edi + 8]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x3c], ebp
lea eax, [eax + eax*4]
lea ebp, [ebp + eax*4]
mov dword [esp + 0x18], edx
add ebp, 0x14
jmp 0x100c87ce
mov eax, ebp
mov edx, edi
call fcn.100c86d0
mov edi, dword [esp + 0x20]
mov ecx, eax
mov eax, dword [ebp + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
add ebp, 0x14
jmp 0x100c87ce
mov eax, ebp
mov edx, edi
call fcn.100c86d0
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov edi, dword [esp + 0x20]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
add ebp, 0x14
jmp 0x100c87ce
mov eax, ebp
mov edx, edi
call fcn.100c86d0
mov edi, dword [esp + 0x20]
mov word [eax + 8], 8
mov edx, dword [ebp + 0x10]
fld qword [edx]
add ebp, 0x14
fstp qword [eax]
jmp 0x100c87ce
mov eax, ebp
mov edx, edi
call fcn.100c86d0
mov ebx, dword [ebp + 0x10]
mov esi, eax
mov eax, ebx
mov byte [ebp], 0x4c
call fcn.100a69c0
cmp byte [esp + 0x48], 1
mov dword [ebp + 4], eax
je 0x100c8a86
push 0
push 1
or eax, 0xffffffff
mov ecx, esi
call fcn.100c0c00
movzx ecx, byte [esp + 0x50]
mov dword [esp + 0x18], eax
add esp, 8
mov eax, esi
call fcn.100c0120
test eax, eax
jne 0x100cd545
or word [esi + 8], 0x800
or bl, 0xff
mov dword [esi + 0x18], eax
cmp byte [ebp + 1], bl
jne 0x100c8a77
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x14]
call fcn.100a40e0
mov byte [ebp + 1], bl
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x10], eax
mov ecx, dword [esi + 0xc]
mov dword [ebp + 4], ecx
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x14]
cmp edx, dword [eax + 0x5c]
jg 0x100c9285
mov eax, ebp
mov edx, edi
call fcn.100c86d0
mov ecx, eax
mov word [ecx + 8], 0xa02
mov edx, dword [ebp + 0x10]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp + 4]
mov dl, byte [esp + 0x48]
mov dword [ecx + 0xc], eax
mov byte [ecx + 0xa], dl
mov eax, dword [ebp + 0xc]
test eax, eax
jle case.0x100c87eb.110
mov edi, dword [esp + 0x18]
lea esi, [eax + eax*4]
movzx eax, byte [ebp + 3]
mov ebx, dword [edi + esi*8]
cdq
cmp ebx, eax
jne case.0x100c87eb.110
mov eax, dword [edi + esi*8 + 4]
cmp eax, edx
jne case.0x100c87eb.110
mov edi, dword [esp + 0x20]
mov word [ecx + 8], 0xa10
add ebp, 0x14
jmp 0x100c87ce
mov eax, ebp
mov edx, edi
call fcn.100c86d0
mov esi, dword [ebp + 0xc]
sub esi, dword [ebp + 8]
mov ecx, dword [ebp + 4]
neg ecx
sbb ecx, ecx
and ecx, 0x100
add ecx, 1
test esi, esi
movzx ebx, cx
mov edi, eax
mov word [edi + 8], bx
jle case.0x100c87eb.110
lea ebx, [ebx]
add edi, 0x28
mov eax, edi
call fcn.100c0910
sub esi, 1
test esi, esi
mov word [edi + 8], bx
jg 0x100c8b30
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x20]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov cx, word [eax + edx*8 + 8]
lea eax, [eax + edx*8]
and cx, 0xff7f
or cx, 1
mov word [eax + 8], cx
add ebp, 0x14
jmp 0x100c87ce
mov eax, ebp
mov edx, edi
call fcn.100c86d0
mov ebx, dword [ebp + 0x10]
mov esi, eax
mov eax, dword [ebp + 4]
push 0
push 0
mov ecx, esi
call fcn.100c0c00
mov dl, byte [esp + 0x50]
mov edi, dword [esp + 0x28]
add esp, 8
mov byte [esi + 0xa], dl
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x3c]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8 - 0x28]
mov ecx, esi
call fcn.100c0aa0
test eax, eax
jne 0x100c9285
mov eax, ebp
mov edx, edi
call fcn.100c86d0
push 0x800
push esi
push eax
call fcn.100c0af0
mov edi, dword [esp + 0x2c]
add esp, 0xc
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
mov esi, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + edx*8]
lea edi, [ecx + eax*8]
mov eax, edi
call fcn.100c0bc0
test word [edi + 8], 0x1000
je 0x100c8c25
mov eax, edi
call fcn.100c0280
test eax, eax
jne 0x100cd545
add ebx, 0x28
add edi, 0x28
sub esi, 1
jne 0x100c8c07
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
mov esi, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + edx*8]
lea edi, [ecx + eax*8]
push 0x1000
push ebx
push edi
call fcn.100c0af0
add esp, 0xc
test word [edi + 8], 0x1000
je 0x100c8c7b
mov eax, edi
call fcn.100c0280
test eax, eax
jne 0x100cd545
mov ecx, esi
sub esi, 1
test ecx, ecx
je case.0x100c87eb.110
add edi, 0x28
add ebx, 0x28
jmp 0x100c8c55
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea edx, [eax + eax*4]
lea eax, [ecx + edx*8]
push 0x1000
push eax
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
lea eax, [ecx + edx*8]
push eax
call fcn.100c0af0
mov edi, dword [esp + 0x2c]
add esp, 0xc
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov edx, dword [eax + ecx*8 + 4]
mov ecx, dword [eax + ecx*8]
push edx
push ecx
mov ecx, dword [ebp + 8]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
call fcn.100c0970
mov edi, dword [esp + 0x28]
add esp, 8
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea esi, [ebx + edx*8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
movzx eax, word [ecx + 8]
mov dword [esp + 0x24], ecx
mov cl, byte [esi + 8]
or cl, al
test cl, 1
mov dword [esp + 0x1c], esi
je 0x100c8d39
mov eax, ebx
call fcn.100c0910
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
test eax, 0x4000
je 0x100c8d51
mov esi, dword [esp + 0x24]
call fcn.100c02f0
test eax, eax
jne 0x100cd545
mov edx, dword [esp + 0x1c]
test word [edx + 8], 0x4000
je 0x100c8d6c
mov esi, edx
call fcn.100c02f0
test eax, eax
jne 0x100cd545
mov eax, dword [esp + 0x24]
test byte [eax + 8], 0x12
jne 0x100c8d8f
mov ecx, dword [esp + 0x48]
push 0
push ecx
mov esi, eax
call fcn.100c03a0
add esp, 8
test eax, eax
jne 0x100cd545
mov edx, dword [esp + 0x1c]
test byte [edx + 8], 0x12
jne 0x100c8db2
mov eax, dword [esp + 0x48]
push 0
push eax
mov esi, edx
call fcn.100c03a0
add esp, 8
test eax, eax
jne 0x100cd545
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0xc]
mov edx, dword [esp + 0x1c]
add eax, dword [edx + 0xc]
cdq
mov esi, eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x5c]
mov ecx, edx
cdq
cmp ecx, edx
jg 0x100c9289
jl 0x100c8ddf
cmp esi, eax
ja 0x100c9289
mov edi, dword [esp + 0x1c]
xor eax, eax
cmp ebx, edi
sete al
lea ecx, [esi + 2]
mov edx, ebx
call fcn.100c0140
test eax, eax
jne 0x100cd545
mov cx, word [ebx + 8]
and cx, 0x3e00
or cx, 2
cmp ebx, edi
mov word [ebx + 8], cx
je 0x100c8e25
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
mov ecx, dword [ebx + 0x10]
push edx
push eax
push ecx
call sub.MSVCR80.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebx + 0x10]
mov eax, dword [eax + 0x10]
add ecx, dword [edi + 0xc]
push edx
push eax
push ecx
call sub.MSVCR80.dll_memcpy
mov edx, dword [ebx + 0x10]
mov cl, byte [esp + 0x54]
mov edi, dword [esp + 0x2c]
mov byte [esi + edx], 0
mov eax, dword [ebx + 0x10]
mov byte [eax + esi + 1], 0
or word [ebx + 8], 0x200
add esp, 0xc
mov dword [ebx + 0xc], esi
mov byte [ebx + 0xa], cl
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x18]
lea edx, [eax + eax*4]
lea edi, [ebx + edx*8]
mov eax, edi
call fcn.100c8680
movzx eax, ax
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 8]
lea ecx, [eax + eax*4]
lea esi, [ebx + ecx*8]
mov eax, esi
call fcn.100c8680
movzx edx, ax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x28], edx
mov dl, byte [esi + 8]
or dl, byte [edi + 8]
lea eax, [eax + eax*4]
test dl, 1
lea ecx, [ebx + eax*8]
mov dword [esp + 0x24], ecx
jne 0x100c90d9
mov al, byte [esp + 0x28]
and al, byte [esp + 0x2c]
test al, 4
je 0x100c8fd1
mov edx, dword [esi + 4]
mov ebx, dword [esi]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esp + 0x6c], edx
movzx edx, byte [ebp]
add edx, 0xffffffd1
cmp edx, 3
mov dword [esp + 0x68], ebx
mov byte [esp + 0x43], 1
ja case.default.0x100c8ef0
jmp dword [edx*4 + 0x100cd9c4]
push ecx
push eax
lea eax, [esp + 0x70]
push eax
call fcn.100a7b10
add esp, 0xc
test eax, eax
jne 0x100c8fd6
jmp 0x100c8fa3
push ecx
push eax
lea edx, [esp + 0x70]
call fcn.100a7bb0
add esp, 8
test eax, eax
jne 0x100c8fd6
jmp 0x100c8fa3
push ecx
push eax
lea ecx, [esp + 0x70]
push ecx
call fcn.100a7c00
add esp, 0xc
test eax, eax
jne 0x100c8fd6
jmp 0x100c8fa3
mov edx, eax
or edx, ecx
je 0x100c90d9
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x100c8f65
test ebx, ebx
jne 0x100c8f65
cmp dword [esp + 0x6c], 0x80000000
je 0x100c8fd6
push ecx
push eax
mov eax, dword [esp + 0x74]
push eax
push ebx
call fcn.1013fa00
jmp 0x100c8f9b
mov edx, eax
or edx, ecx
je 0x100c90d9
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x100c8f8e
mov eax, 1
xor ecx, ecx
push ecx
push eax
mov eax, dword [esp + 0x74]
push eax
push ebx
call fcn.1013fb90
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x20]
mov dword [eax], ecx
mov cx, word [eax + 8]
and cx, 0x3e00
or cx, 4
mov dword [eax + 4], edx
mov word [eax + 8], cx
add ebp, 0x14
jmp 0x100c87ce
mov byte [esp + 0x43], 0
mov edx, edi
call fcn.100c06d0
fstp qword [esp + 0x30]
mov edx, esi
call fcn.100c06d0
movzx eax, byte [ebp]
add eax, 0xffffffd1
cmp eax, 3
ja case.default.0x100c8ff4
jmp dword [eax*4 + 0x100cd9d4]
fadd qword [esp + 0x30]
jmp 0x100c9078
fsub qword [esp + 0x30]
jmp 0x100c9078
fmul qword [esp + 0x30]
jmp 0x100c9078
fldz
fld qword [esp + 0x30]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x100c90d5
fdivp st(1)
jmp 0x100c9078
fld qword [esp + 0x30]
call fcn.1013fae6
mov esi, eax
mov edi, edx
call fcn.1013fae6
mov ecx, esi
or ecx, edi
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
je 0x100c90d9
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x100c905a
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.1013fb90
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], edx
fild qword [esp + 0x190]
sub esp, 8
fst qword [esp + 0x38]
fstp qword [esp]
call fcn.100a6980
add esp, 8
test eax, eax
jne 0x100c90d9
mov esi, dword [esp + 0x24]
fld qword [esp + 0x30]
mov dx, word [esi + 8]
fstp qword [esi]
mov al, byte [esp + 0x28]
or al, byte [esp + 0x2c]
and dx, 0x3e00
or dx, 8
test al, 8
mov word [esi + 8], dx
jne case.0x100c87eb.110
cmp byte [esp + 0x43], 0
jne case.0x100c87eb.110
call fcn.100c0720
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x24]
call fcn.100c0910
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
test eax, eax
je case.0x100c87eb.110
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
push 0
push 0
lea eax, [ecx + eax*8]
call fcn.100c0970
mov edi, dword [esp + 0x28]
add esp, 8
add ebp, 0x14
jmp 0x100c87ce
movzx ebx, byte [ebp + 3]
mov esi, dword [esp + 0x14]
lea edx, [ebx*4 + 0x1c]
push 0
push edx
mov eax, esi
call fcn.100a43c0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100cd545
mov dword [ecx], 0
mov eax, dword [ebp + 0x10]
mov dword [ecx + 4], eax
mov edx, ebp
sub edx, dword [esp + 0x3c]
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x10], eax
mov dword [ecx + 0xc], edi
mov byte [ecx + 0x1a], bl
mov byte [ebp + 1], 0xeb
mov dword [ebp + 0x10], ecx
mov byte [ebp], 0x58
jmp 0x100c917e
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0xc]
mov edi, dword [esp + 0x18]
mov ebx, dword [ebp + 0x10]
lea ecx, [eax + eax*4]
lea eax, [edi + ecx*8]
cmp dword [ebx], eax
mov dword [esp + 0x24], eax
je 0x100c91bc
movzx ecx, byte [ebx + 0x1a]
sub ecx, 1
mov dword [ebx], eax
js 0x100c91bc
lea edx, [ebx + ecx*4 + 0x1c]
mov eax, dword [ebp + 8]
add eax, ecx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx], eax
sub ecx, 1
sub edx, 4
test ecx, ecx
jge 0x100c91a5
mov eax, dword [ebx]
mov cx, word [eax + 8]
mov edx, dword [esp + 0x60]
and cx, 0x3e00
or cx, 1
mov word [eax + 8], cx
mov eax, dword [esp + 0x64]
mov byte [ebx + 0x19], 0
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], eax
movzx eax, byte [ebx + 0x1a]
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + 0xc]
lea edx, [ebx + 0x1c]
push edx
push eax
push ebx
call ecx
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
add esp, 0xc
cmp byte [ebx + 0x19], 0
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], eax
je 0x100c925c
cmp dword [ebx + 0x14], 0
je 0x100c9234
mov ecx, dword [ebx]
push ecx
call fcn.100c62d0
mov esi, dword [esp + 0x24]
add esp, 4
push eax
push 0x101549c4
call fcn.100c1520
mov edx, dword [ebx + 0x14]
add esp, 8
mov dword [esp + 0x10], edx
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + 0x10]
mov edi, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x24]
push ecx
add eax, 0xd4
call fcn.100c41d0
add esp, 8
cmp dword [esp + 0x10], 0
jne 0x100c94f5
mov edx, dword [esp + 0x24]
test byte [edx + 8], 0x12
je case.0x100c87eb.110
movzx ecx, byte [esp + 0x48]
mov eax, dword [ebx]
call fcn.100c0120
mov ecx, dword [ebx]
call fcn.100c0aa0
test eax, eax
je case.0x100c87eb.110
mov edi, dword [esp + 0x20]
push str.string_or_blob_too_big
mov esi, edi
call fcn.100c1520
add esp, 4
mov dword [esp + 0x10], 0x12
jmp 0x100c94f9
mov ecx, dword [esp + 0x18]
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea edx, [ecx + edx*8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov cl, byte [edx + 8]
or cl, byte [esi + 8]
mov dword [esp + 0x24], eax
test cl, 1
je 0x100c92e4
call fcn.100c0910
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
call fcn.100c0660
mov edi, edx
mov edx, esi
mov ebx, eax
call fcn.100c0660
mov esi, eax
mov al, byte [ebp]
cmp al, 0x2b
jne 0x100c9306
and ebx, esi
and edi, edx
jmp 0x100c93d6
cmp al, 0x2c
jne 0x100c9313
or ebx, esi
or edi, edx
jmp 0x100c93d6
mov ecx, esi
or ecx, edx
je 0x100c93d6
test edx, edx
jg 0x100c934b
jl 0x100c9327
test esi, esi
jae 0x100c9340
mov cl, 0x5b
sub cl, al
cmp edx, 0xffffffff
mov al, cl
jl 0x100c934b
jg 0x100c9339
cmp esi, 0xffffffc0
jbe 0x100c934b
neg esi
adc edx, 0
neg edx
test edx, edx
jl 0x100c936c
jg 0x100c934b
cmp esi, 0x40
jb 0x100c936c
test edi, edi
jg 0x100c9363
jl 0x100c9355
test ebx, ebx
jae 0x100c9363
cmp al, 0x2d
je 0x100c9363
or eax, 0xffffffff
cdq
mov ebx, eax
mov edi, edx
jmp 0x100c93d6
xor eax, eax
cdq
mov ebx, eax
mov edi, edx
jmp 0x100c93d6
cmp al, 0x2d
mov edx, edi
mov ecx, esi
mov eax, ebx
jne 0x100c938b
call fcn.1013fb70
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
jmp 0x100c93c8
call fcn.1013fe60
test edi, edi
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
jg 0x100c93c8
jl 0x100c93a8
test ebx, ebx
jae 0x100c93c8
mov ecx, 0x40
sub ecx, esi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.1013fb70
or dword [esp + 0xa0], eax
or dword [esp + 0xa4], edx
mov ebx, dword [esp + 0xa0]
mov edi, dword [esp + 0xa4]
mov eax, dword [esp + 0x24]
mov dx, word [eax + 8]
and dx, 0x3e00
or dx, 4
mov dword [eax + 4], edi
mov edi, dword [esp + 0x20]
mov dword [eax], ebx
mov word [eax + 8], dx
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.100c0780
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x20]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea esi, [eax + edx*8]
movzx eax, word [esi + 8]
test al, 4
jne 0x100c9472
test al, 8
jne 0x100c944e
test al, 2
je 0x100c9453
push 1
mov eax, esi
call fcn.100c8520
add esp, 4
jmp 0x100c9453
call fcn.100c0720
movzx eax, word [esi + 8]
test al, 4
jne 0x100c9472
cmp dword [ebp + 8], 0
jne 0x100cd0ff
mov dword [esp + 0x10], 0x14
jmp 0x100c94f9
mov edi, dword [esp + 0x20]
and eax, 0x3e00
or eax, 4
mov word [esi + 8], ax
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 8], 4
lea esi, [edx + ecx*8]
je case.0x100c87eb.110
call fcn.100c07a0
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
test word [ecx + eax*8 + 8], 0x4000
lea esi, [ecx + eax*8]
je 0x100c94d4
call fcn.100c02f0
mov dword [esp + 0x10], eax
jmp 0x100c94dc
mov dword [esp + 0x10], 0
mov dl, byte [esp + 0x48]
mov cl, byte [ebp + 8]
mov eax, esi
call fcn.100c0870
cmp dword [esp + 0x10], 0
je case.0x100c87eb.110
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
cmp byte [esi + 0x45], 0
je 0x100c950b
mov dword [esp + 0x10], 7
cmp dword [edi + 0x2c], 0
mov ebx, dword [esp + 0x10]
jne 0x100cd60f
cmp ebx, 0xc0a
je 0x100cd60f
cmp ebx, 0x204
mov ecx, str.unknown_error
je 0x100cd5f6
mov eax, ebx
and eax, 0xff
cmp eax, 0x1a
ja 0x100cd5fb
mov eax, dword [eax*4 + 0x10151a28]
test eax, eax
je 0x100cd5fb
mov ecx, eax
jmp 0x100cd5fb
mov eax, dword [ebp + 4]
mov esi, dword [esp + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
movzx edi, word [esi + edx*8 + 8]
lea eax, [eax + eax*4]
movzx ecx, word [esi + eax*8 + 8]
lea ebx, [esi + eax*8]
lea edx, [esi + edx*8]
mov eax, ecx
or eax, edi
test al, 1
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x38], ecx
je 0x100c95fb
mov al, byte [ebp + 3]
test al, al
jns 0x100c95bc
test byte [esp + 0x1c], 1
je 0x100c95b2
test cl, 1
je 0x100c95b2
test ecx, 0x100
jne 0x100c95b2
xor eax, eax
jmp 0x100c9706
mov eax, 1
jmp 0x100c9706
test al, 0x20
je 0x100c95e7
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x20]
lea ecx, [eax + eax*4]
mov dx, word [esi + ecx*8 + 8]
lea eax, [esi + ecx*8]
and dx, 0x3e00
or dx, 1
mov word [eax + 8], dx
add ebp, 0x14
jmp 0x100c87ce
test al, 0x10
jne 0x100cd0ff
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov cl, byte [ebp + 3]
and cl, 0x47
cmp cl, 0x43
jl 0x100c9645
test al, 2
je 0x100c96bc
mov al, byte [esp + 0x1c]
and al, 0xe
cmp al, 2
jne 0x100c9624
push 0
mov eax, edx
call fcn.100c8520
add esp, 4
mov cl, byte [esp + 0x38]
and cl, 0xe
cmp cl, 2
jne 0x100c96bc
push 0
mov eax, ebx
call fcn.100c8520
add esp, 4
jmp 0x100c96bc
cmp cl, 0x42
jne 0x100c96bc
mov al, byte [esp + 0x1c]
test al, 2
jne 0x100c9686
test al, 0xc
je 0x100c9686
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x24]
push 1
push edx
call fcn.100c03a0
mov ax, word [esp + 0x24]
mov cx, word [esi + 8]
xor cx, ax
and cx, 0x7e00
add esp, 8
xor ax, cx
mov word [esp + 0x1c], ax
mov edi, dword [esp + 0x1c]
mov al, byte [esp + 0x38]
test al, 2
jne 0x100c96bc
test al, 0xc
je 0x100c96bc
mov edx, dword [esp + 0x48]
push 1
push edx
mov esi, ebx
call fcn.100c03a0
mov ax, word [esp + 0x40]
mov cx, word [ebx + 8]
xor cx, ax
and cx, 0x7e00
add esp, 8
xor ax, cx
mov word [esp + 0x38], ax
test edi, 0x4000
je 0x100c96d7
mov esi, dword [esp + 0x24]
call fcn.100c02f0
and edi, 0xbfff
mov dword [esp + 0x1c], edi
test dword [esp + 0x38], 0x4000
je 0x100c96f0
mov esi, ebx
call fcn.100c02f0
and dword [esp + 0x38], 0xbfff
mov edi, dword [ebp + 0x10]
mov edx, dword [esp + 0x24]
mov eax, ebx
call fcn.100c4fe0
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
movzx ecx, byte [ebp]
add ecx, 0xffffffdc
cmp ecx, 4
ja case.default.0x100c9712
jmp dword [ecx*4 + 0x100cd9e4]
xor ecx, ecx
test eax, eax
sete cl
jmp 0x100c974d
xor ecx, ecx
test eax, eax
setne cl
jmp 0x100c974d
xor ecx, ecx
test eax, eax
setl cl
jmp 0x100c974d
xor ecx, ecx
test eax, eax
setle cl
jmp 0x100c974d
xor ecx, ecx
test eax, eax
setg cl
jmp 0x100c974d
xor ecx, ecx
test eax, eax
setge cl
mov eax, ecx
mov cx, word [esp + 0x1c]
mov word [edx + 8], cx
mov dx, word [esp + 0x38]
mov word [ebx + 8], dx
test byte [ebp + 3], 0x20
je 0x100c9aa6
mov edx, dword [ebp + 8]
mov edi, dword [esp + 0x20]
lea ecx, [edx + edx*4]
mov dx, word [esi + ecx*8 + 8]
lea ecx, [esi + ecx*8]
and dx, 0x3e00
or dx, 4
mov word [ecx + 8], dx
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 0x10]
mov edi, dword [esp + 0x20]
add eax, 4
mov dword [esp + 0x8c], eax
add ebp, 0x14
jmp 0x100c87ce
test byte [ebp + 3], 1
jne 0x100c97c2
mov dword [esp + 0x8c], 0
mov edx, dword [ebp + 4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x28], edx
mov edx, dword [ebp + 8]
xor esi, esi
test eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x44], edx
jle 0x100c9876
add ecx, 0x14
mov dword [esp + 0x2c], ecx
nop
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x100c9800
mov ecx, dword [eax + esi*4]
jmp 0x100c9802
mov ecx, esi
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax]
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0x10]
movzx edx, byte [eax + esi]
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x18]
add eax, ecx
mov dword [esp + 0x38], edx
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x28]
add eax, ecx
lea ecx, [eax + eax*4]
lea edx, [edi + edx*8]
lea eax, [edi + ecx*8]
mov edi, ebx
call fcn.100c4fe0
test eax, eax
mov dword [esp + 0xac], eax
jne 0x100c9866
add dword [esp + 0x2c], 4
add esi, 1
cmp esi, dword [esp + 0x1c]
jl 0x100c97f0
mov edi, dword [esp + 0x20]
mov dword [esp + 0x8c], eax
add ebp, 0x14
jmp 0x100c87ce
cmp dword [esp + 0x38], 0
je 0x100c9876
neg eax
mov dword [esp + 0xac], eax
mov edi, dword [esp + 0x20]
mov dword [esp + 0x8c], 0
add ebp, 0x14
jmp 0x100c87ce
test edx, edx
jge 0x100c9899
mov ebp, dword [ebp + 4]
jmp 0x100cd102
jne 0x100c98b6
mov ebp, dword [ebp + 8]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x20]
lea ecx, [ebp + ebp*4]
lea ebp, [edx + ecx*4 - 0x14]
add ebp, 0x14
jmp 0x100c87ce
mov ebp, dword [ebp + 0xc]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x20]
lea eax, [ebp + ebp*4]
lea ebp, [ecx + eax*4 - 0x14]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x18]
lea edx, [eax + eax*4]
test byte [edi + edx*8 + 8], 1
lea edx, [edi + edx*8]
je 0x100c98ec
mov esi, 2
jmp 0x100c98fe
call fcn.100c0660
or eax, edx
je 0x100c98fc
mov esi, 1
jmp 0x100c98fe
xor esi, esi
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 1
lea edx, [edi + eax*8]
je 0x100c9915
mov eax, 2
jmp 0x100c9927
call fcn.100c0660
or eax, edx
je 0x100c9925
mov eax, 1
jmp 0x100c9927
xor eax, eax
cmp byte [ebp], 0x1c
jne 0x100c993a
lea ecx, [eax + esi*2]
movzx eax, byte [esi + ecx + 0x1014ebcc]
jmp 0x100c9945
lea edx, [eax + esi*2]
movzx eax, byte [esi + edx + 0x1014ec10]
cmp eax, 2
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edi + ecx*8]
jne 0x100c9970
mov dx, word [ecx + 8]
mov edi, dword [esp + 0x20]
and dx, 0x3e00
or dx, 1
mov word [ecx + 8], dx
add ebp, 0x14
jmp 0x100c87ce
mov edi, dword [esp + 0x20]
cdq
mov dword [ecx], eax
mov ax, word [ecx + 8]
and ax, 0x3e00
or ax, 4
mov dword [ecx + 4], edx
mov word [ecx + 8], ax
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, esi
lea edi, [ecx + edx*8]
call fcn.100c0910
test byte [edi + 8], 1
jne case.0x100c87eb.110
mov edx, edi
mov word [esi + 8], 4
call fcn.100c0660
or eax, edx
jne 0x100c99e1
mov edi, dword [esp + 0x20]
mov eax, 1
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
add ebp, 0x14
jmp 0x100c87ce
mov edi, dword [esp + 0x20]
xor eax, eax
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, esi
lea edi, [ecx + edx*8]
call fcn.100c0910
test byte [edi + 8], 1
jne case.0x100c87eb.110
mov edx, edi
mov word [esi + 8], 4
call fcn.100c0660
mov edi, dword [esp + 0x20]
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
add ebp, 0x14
jmp 0x100c87ce
mov ecx, dword [edi + 0xd0]
mov edx, dword [ebp + 4]
cmp byte [ecx + edx], 0
lea eax, [ecx + edx]
jne 0x100cd0ff
mov edi, dword [esp + 0x20]
mov byte [eax], 1
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea edx, [ecx + eax*8]
je 0x100c9a7c
mov eax, dword [ebp + 0xc]
jmp 0x100c9aa6
call fcn.100c06d0
fcomp qword [0x101631e0]
fnstsw ax
test ah, 0x44
jnp 0x100c9a95
mov eax, 1
jmp 0x100c9a97
xor eax, eax
cmp byte [ebp], 0x16
jne 0x100c9aa6
xor edx, edx
test eax, eax
sete dl
mov eax, edx
test eax, eax
jne 0x100cd0ff
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
jne 0x100cd0ff
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
test byte [eax + edx*8 + 8], 1
je 0x100cd0ff
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x80]
lea edx, [esp + 0xfc]
mov dword [esp + 0xfc], eax
call fcn.100c47b0
test eax, eax
mov ecx, dword [ebp + 0xc]
mov ebx, dword [esp + 0xfc]
lea edx, [ecx + ecx*4]
mov ecx, dword [esp + 0x18]
lea esi, [ecx + edx*8]
mov edx, dword [ebx + 0x54]
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x38], edx
mov dword [esp + 0x1c], ecx
jne 0x100c94f5
mov edx, dword [ebx + 0x40]
mov edi, dword [esp + 0x20]
cmp edx, dword [edi + 0x48]
mov eax, dword [esp + 0x80]
je 0x100c9cb2
cmp byte [ebx + 2], 0
je 0x100c9bb7
cmp byte [ebx], 3
jne 0x100c9ba4
mov eax, ecx
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ecx + 0xc]
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x44], eax
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x94], eax
mov dword [ebx + 0x50], edx
jmp 0x100c9c3a
mov eax, esi
call fcn.100c0910
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
cmp byte [ebx + 4], 0
mov esi, ecx
mov eax, esi
jne 0x100c9bf9
call fcn.100b8ef0
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov edx, dword [esp + 0x1c]
lea esi, [esp + 0x94]
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], ecx
call fcn.100b9430
mov edx, dword [esp + 0x178]
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x44], edx
jmp 0x100c9c17
call fcn.100b8ef0
mov eax, dword [esi + 0x1c]
mov edx, dword [esp + 0x1c]
lea esi, [esp + 0x94]
mov dword [ebx + 0x44], eax
call fcn.100b9430
mov dword [ebx + 0x50], eax
mov eax, dword [ebx + 0x44]
mov ecx, dword [esp + 0x94]
cmp eax, ecx
ja 0x100c9c2a
mov dword [ebx + 0x48], eax
jmp 0x100c9c3a
mov edx, dword [esp + 0x14]
cmp eax, dword [edx + 0x5c]
ja 0x100c9285
mov dword [ebx + 0x48], ecx
mov eax, dword [edi + 0x48]
mov dword [ebx + 0x40], eax
mov ecx, dword [ebx + 0x50]
mov al, byte [ecx]
cmp al, 0x80
jae 0x100c9c5a
movzx eax, al
mov dword [esp + 0xf8], eax
mov ecx, 1
jmp 0x100c9c70
lea esi, [esp + 0xf8]
call fcn.100a7940
movzx ecx, al
mov eax, dword [esp + 0xf8]
cmp dword [esp + 0x94], eax
mov edx, dword [esp + 0x38]
movzx ecx, cl
mov dword [ebx + 0x4c], ecx
mov word [ebx + 0x12], 0
mov dword [edx], eax
jae 0x100c9cbe
xor ecx, ecx
cmp eax, 0x18003
mov dword [ebx + 0x50], ecx
mov dword [ebx + 0x48], ecx
ja 0x100c9c9f
cmp eax, dword [ebx + 0x44]
jbe 0x100c9cbe
mov eax, 0x13538
call fcn.101101f0
mov dword [esp + 0x10], eax
jmp 0x100c94f9
movzx ecx, word [ebx + 0x12]
cmp ecx, eax
jg 0x100c9ec3
mov eax, dword [ebx + 0x4c]
mov edx, dword [esp + 0x38]
cmp eax, dword [edx]
jae 0x100c9e71
cmp dword [ebx + 0x50], 0
jne 0x100c9d53
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x1cc], eax
cmp byte [ebx + 4], al
mov edx, dword [edx]
sete cl
push ecx
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x1b0]
call fcn.100c0eb0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
mov edx, dword [esp + 0x1b8]
jmp 0x100c9d56
mov edx, dword [ebx + 0x50]
movzx esi, word [ebx + 0x12]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + esi*4]
mov edi, dword [ebx + 0x4c]
mov eax, dword [eax]
add edi, edx
add eax, edx
mov dword [esp + 0x30], edx
lea edx, [ebx + esi*4 + 0x58]
mov dword [esp + 0x28], esi
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x44], eax
mov dword [esp + 0x24], edx
lea ebx, [ebx]
movzx eax, byte [edi]
cmp eax, 0x80
mov dword [esp + 0x4c], eax
jae 0x100c9db8
movzx eax, al
movzx eax, byte [eax + 0x1014eb28]
cdq
add edi, 1
add ecx, eax
adc dword [esp + 0x7c], edx
mov dword [esp + 0x78], ecx
jmp 0x100c9de2
lea esi, [esp + 0x4c]
mov ecx, edi
call fcn.100a7940
movzx ecx, al
mov eax, dword [esp + 0x4c]
add edi, ecx
call fcn.100c4920
add dword [esp + 0x78], eax
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x28]
adc dword [esp + 0x7c], 0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x4c]
mov dword [eax], edx
add eax, 4
add esi, 1
cmp esi, dword [esp + 0x80]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x38]
mov dword [eax + esi*4], ecx
mov eax, dword [esp + 0x44]
mov dword [esp + 0x28], esi
jg 0x100c9e16
cmp edi, eax
jb 0x100c9d90
mov edx, edi
sub edx, dword [esp + 0x30]
cmp edi, eax
mov word [ebx + 0x12], si
mov dword [ebx + 0x4c], edx
jb 0x100c9e44
ja 0x100cd32e
mov eax, dword [ebx + 0x44]
xor edx, edx
cmp ecx, eax
jne 0x100cd32e
cmp dword [esp + 0x7c], edx
jne 0x100cd32e
mov edx, dword [ebx + 0x44]
xor eax, eax
cmp dword [esp + 0x7c], eax
ja 0x100cd32e
jb 0x100c9e5d
cmp ecx, edx
ja 0x100cd32e
cmp dword [ebx + 0x50], 0
jne 0x100c9e79
lea eax, [esp + 0x1a8]
call fcn.100c05e0
jmp 0x100c9e79
mov dword [esp + 0x4c], 0
movzx eax, word [ebx + 0x12]
cmp eax, dword [esp + 0x80]
jg 0x100c9ecd
cmp byte [ebp + 1], 0xf8
jne 0x100c9eae
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x2c]
push 0x800
push ecx
push edx
call fcn.100c0af0
mov edi, dword [esp + 0x2c]
add esp, 0xc
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [esp + 0x2c]
call fcn.100c0910
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebx + eax*4 + 0x58]
mov dword [esp + 0x4c], eax
jmp 0x100c9ed1
mov esi, dword [esp + 0x2c]
test word [esi + 8], 0x2460
je 0x100c9ee0
mov eax, esi
call fcn.100c0910
mov cl, byte [esp + 0x48]
mov edi, dword [esp + 0x80]
mov byte [esi + 0xa], cl
mov edx, dword [ebx + 0x48]
mov ecx, dword [esp + 0x38]
cmp edx, dword [ecx + edi*4 + 4]
jb 0x100c9f90
mov ebx, dword [ebx + 0x50]
add ebx, dword [ecx + edi*4]
mov edi, dword [esp + 0x4c]
cmp edi, 0xc
jae 0x100c9f25
mov eax, esi
mov edx, edi
mov ecx, ebx
call fcn.100c4a50
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
add edi, 0xfffffff4
shr edi, 1
lea ecx, [edi + 2]
cmp dword [esi + 0x18], ecx
mov dword [esi + 0xc], edi
jge 0x100c9f4e
xor eax, eax
mov edx, esi
mov word [esi + 8], 1
call fcn.100c0140
test eax, eax
jne 0x100cd545
jmp 0x100c9f54
mov eax, dword [esi + 0x14]
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 0x10]
push edi
push ebx
push ecx
call sub.MSVCR80.dll_memcpy
mov edx, dword [esi + 0x10]
mov byte [edi + edx], 0
mov eax, dword [esi + 0x10]
mov byte [edi + eax + 1], 0
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x2c]
and eax, 1
mov cx, word [eax*2 + 0x1014ec1c]
add esp, 0xc
mov word [esi + 8], cx
add ebp, 0x14
jmp 0x100c87ce
mov dl, byte [ebp + 3]
test dl, 0xc0
je 0x100c9faa
cmp dword [esp + 0x4c], 0xc
jb 0x100c9fa6
test byte [esp + 0x4c], 1
je 0x100c9fb7
test dl, dl
js 0x100c9fb7
mov eax, dword [esp + 0x4c]
call fcn.100c4920
test eax, eax
jne 0x100c9fd3
mov edx, dword [esp + 0x4c]
mov eax, esi
mov ecx, 0x101795fc
call fcn.100c4a50
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov ecx, dword [ecx + edi*4]
xor edx, edx
cmp byte [ebx + 4], dl
sete dl
push edx
push ecx
mov edx, eax
mov eax, dword [esp + 0x24]
mov ecx, esi
call fcn.100c0eb0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
mov edx, dword [esp + 0x4c]
mov ecx, dword [esi + 0x10]
mov eax, esi
call fcn.100c4a50
and word [esi + 8], 0xefff
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov esi, dword [ebp + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea edi, [eax + edx*8]
mov al, byte [esi]
test al, al
je case.0x100c87eb.110
mov ecx, dword [esp + 0x48]
push ecx
mov ecx, edi
add esi, 1
call fcn.100c85a0
mov al, byte [esi]
add esp, 4
add edi, 0x28
test al, al
jne 0x100ca036
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
mov ebx, dword [ebp + 0x10]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8 - 0x28]
mov dword [esp + 0x28], eax
movzx eax, byte [edi + 0x5c]
xor esi, esi
cmp ebx, esi
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], esi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x24], edx
je 0x100ca0dc
mov al, byte [ebx]
mov esi, ecx
mov edi, edi
mov ecx, dword [esp + 0x48]
push ecx
mov ecx, esi
call fcn.100c85a0
mov al, byte [ebx + 1]
add ebx, 1
add esp, 4
add esi, 0x28
test al, al
jne 0x100ca0c0
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
push edx
lea ebx, [esp + 0xcc]
mov edx, esi
call fcn.100c4800
mov ebx, eax
add esp, 4
test word [esi + 8], 0x4000
mov dword [esp + 0x2c], ebx
mov dword [esi + 0x1c], ebx
je 0x100ca144
mov eax, dword [esp + 0xb8]
or eax, dword [esp + 0xbc]
je 0x100ca126
call fcn.100c02f0
test eax, eax
jne 0x100cd545
jmp 0x100ca144
mov ecx, dword [esi]
mov ebx, dword [esp + 0x2c]
mov eax, ecx
cdq
add dword [esp + 0xb0], eax
adc dword [esp + 0xb4], edx
sub dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0xc8]
add dword [esp + 0xb8], ecx
adc dword [esp + 0xbc], 0
cmp ebx, 0x7f
ja 0x100ca166
mov eax, 1
jmp 0x100ca171
push 0
push ebx
call fcn.100a79c0
add esp, 8
mov ebx, dword [esp + 0x30]
add ebx, eax
cmp esi, dword [esp + 0x44]
mov dword [esp + 0x30], ebx
je 0x100ca189
sub esi, 0x28
jmp 0x100ca0e0
cmp ebx, 0x7e
jle 0x100ca1ad
mov eax, ebx
cdq
push edx
push eax
call fcn.100a79c0
mov esi, eax
add ebx, esi
mov eax, ebx
cdq
push edx
push eax
call fcn.100a79c0
add esp, 0x10
cmp esi, eax
jge 0x100ca1b0
add ebx, 1
mov esi, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov eax, ebx
cdq
add esi, eax
adc ecx, edx
mov dword [esp + 0x14c], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x148], eax
mov eax, dword [edx + 0x5c]
mov dword [esp + 0x128], esi
add esi, dword [esp + 0xb0]
cdq
adc ecx, dword [esp + 0xb4]
cmp ecx, edx
jg 0x100c9289
jl 0x100ca202
cmp esi, eax
ja 0x100c9289
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x128]
cmp dword [esi + 0x18], eax
jge 0x100ca242
mov ecx, dword [esp + 0x128]
xor eax, eax
mov edx, esi
call fcn.100c0140
test eax, eax
jne 0x100cd545
cmp ebx, 0x80
mov esi, dword [esi + 0x10]
mov dword [esp + 0x38], esi
jae 0x100ca24f
mov byte [esi], bl
mov eax, 1
jmp 0x100ca267
mov ecx, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], ecx
jmp 0x100ca22a
mov edx, dword [esp + 0x14c]
mov eax, dword [esp + 0x148]
push edx
push eax
call fcn.100a7760
add esp, 8
movzx ecx, al
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x1c], ecx
jmp 0x100ca280
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0x80
mov dword [esp + 0x2c], ecx
jae 0x100ca2a1
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
mov byte [edx + eax], cl
mov eax, 1
jmp 0x100ca2bb
mov edx, dword [esp + 0x38]
push 0
push ecx
mov ecx, dword [esp + 0x24]
lea esi, [ecx + edx]
call fcn.100a7760
mov ecx, dword [esp + 0x34]
add esp, 8
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x30]
movzx eax, al
add dword [esp + 0x1c], eax
lea edi, [esi + edx]
mov eax, ebx
call fcn.100c4940
add esi, eax
add ebx, 0x28
cmp ebx, dword [esp + 0x28]
mov dword [esp + 0x30], esi
jbe 0x100ca280
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x128]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0xb0]
mov edx, ecx
or edx, dword [esp + 0xb4]
mov word [eax + 8], 0x10
je 0x100ca311
mov dword [eax], ecx
mov word [eax + 8], 0x4010
mov edi, dword [esp + 0x20]
mov byte [eax + 0xa], 1
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x38]
mov edx, dword [ecx + eax*4]
mov eax, dword [edx + 0x14]
lea ecx, [esp + 0x110]
xor esi, esi
push ecx
mov dword [esp + 0x114], esi
mov dword [esp + 0x118], esi
call fcn.100bdb70
add esp, 4
cmp eax, esi
mov dword [esp + 0x10], eax
jne 0x100c94f5
mov edx, dword [esp + 0x20]
mov eax, ebp
call fcn.100c86d0
mov edx, dword [esp + 0x110]
mov ecx, dword [esp + 0x114]
mov edi, dword [esp + 0x20]
mov dword [eax], edx
mov dword [eax + 4], ecx
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
test eax, eax
mov edx, dword [ebp + 0x10]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], edx
jne 0x100ca455
cmp dword [esi + 0xa0], eax
jg 0x100cd11a
mov eax, edx
call fcn.100a69c0
mov ebx, eax
mov eax, dword [esi + 0x1b4]
add eax, dword [esi + 0x1b0]
push eax
push 0
push esi
call fcn.100ff0c0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
push eax
lea ecx, [ebx + 0x21]
push ecx
mov eax, esi
call fcn.100a43c0
mov edi, eax
add esp, 8
test edi, edi
je 0x100c94ea
mov edx, dword [esp + 0x2c]
add ebx, 1
push ebx
lea eax, [edi + 0x20]
push edx
push eax
mov dword [edi], eax
call sub.MSVCR80.dll_memcpy
add esp, 0xc
cmp byte [esi + 0x43], 0
je 0x100ca416
mov byte [esi + 0x43], 0
mov byte [esi + 0x4b], 1
jmp 0x100ca41d
add dword [esi + 0x1b0], 1
mov eax, dword [esi + 0x1a8]
mov dword [edi + 0x18], eax
mov ecx, dword [esi + 0x1b8]
mov dword [esi + 0x1a8], edi
mov dword [edi + 8], ecx
mov edx, dword [esi + 0x1bc]
mov dword [edi + 0xc], edx
mov eax, dword [esi + 0x1c0]
mov dword [edi + 0x10], eax
mov ecx, dword [esi + 0x1c4]
mov dword [edi + 0x14], ecx
jmp 0x100c94ea
mov ebx, dword [esi + 0x1a8]
test ebx, ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x38], ebx
je 0x100ca48f
jmp 0x100ca470
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebx]
call fcn.100a6c20
test eax, eax
je 0x100ca4b0
mov ebx, dword [ebx + 0x18]
add dword [esp + 0x1c], 1
test ebx, ebx
mov dword [esp + 0x38], ebx
jne 0x100ca470
mov ecx, dword [esp + 0x2c]
push ecx
push str.no_such_savepoint:__s
mov esi, edi
call fcn.100c1520
add esp, 8
mov dword [esp + 0x10], 1
jmp 0x100c94f9
mov eax, dword [esp + 0x24]
xor ecx, ecx
cmp dword [esi + 0xa0], ecx
jle 0x100ca4c7
cmp eax, 1
je 0x100cd124
cmp dword [ebx + 0x18], ecx
jne 0x100ca51c
cmp byte [esi + 0x4b], 0
je 0x100ca51c
cmp eax, 1
mov dword [esp + 0x28], 1
jne 0x100ca520
push eax
mov eax, edi
call fcn.100c3d30
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100cd708
mov edi, dword [esp + 0x20]
mov byte [esi + 0x43], 1
call fcn.100c3da0
cmp eax, 5
je 0x100cd353
mov byte [esi + 0x4b], 0
mov edx, dword [edi + 0x50]
mov dword [esp + 0x10], edx
jmp 0x100ca5ed
mov dword [esp + 0x28], ecx
mov edx, dword [esi + 0x1b0]
sub edx, dword [esp + 0x1c]
sub edx, 1
cmp eax, 2
mov dword [esp + 0x1c], edx
jne 0x100ca589
mov eax, dword [esi + 0x18]
shr eax, 1
and eax, 1
xor edi, edi
cmp dword [esi + 0x14], ecx
mov dword [esp + 0x2c], eax
jle 0x100ca58d
xor ebx, ebx
test eax, eax
mov eax, dword [esp + 0x14]
sete bl
xor esi, esi
mov eax, dword [eax + 0x10]
mov ecx, dword [esi + eax + 4]
push ebx
push 0x204
push ecx
call fcn.100b89a0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
mov eax, dword [esp + 0x14]
add edi, 1
add esi, 0x10
cmp edi, dword [eax + 0x14]
jl 0x100ca556
jmp 0x100ca58d
mov dword [esp + 0x2c], ecx
mov esi, dword [esp + 0x14]
xor edi, edi
cmp dword [esi + 0x14], edi
jle 0x100ca5d4
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
xor esi, esi
mov edx, dword [esp + 0x24]
mov eax, dword [eax + 0x10]
mov eax, dword [esi + eax + 4]
push ebx
push edx
call fcn.100b8c20
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
mov eax, dword [esp + 0x14]
add edi, 1
add esi, 0x10
cmp edi, dword [eax + 0x14]
jl 0x100ca5a2
mov esi, eax
cmp dword [esp + 0x2c], 0
je 0x100ca5ed
mov eax, esi
call fcn.100c5dd0
mov eax, esi
call fcn.100dc9f0
or dword [esi + 0x18], 2
mov ecx, dword [esp + 0x38]
cmp dword [esi + 0x1a8], ecx
je 0x100ca664
lea esp, [esp]
cmp dword [esi + 0x1c8], 0
mov eax, dword [esi + 0x1a8]
mov edx, dword [eax + 0x18]
mov dword [esi + 0x1a8], edx
je 0x100ca621
mov ecx, esi
call fcn.100a40a0
jmp 0x100ca651
cmp eax, dword [esi + 0x120]
jb 0x100ca648
cmp eax, dword [esi + 0x124]
jae 0x100ca648
mov ecx, dword [esi + 0x11c]
mov dword [eax], ecx
add dword [esi + 0x108], 0xffffffff
mov dword [esi + 0x11c], eax
jmp 0x100ca651
push eax
call fcn.100a4030
add esp, 4
mov edx, dword [esp + 0x38]
add dword [esi + 0x1b0], 0xffffffff
cmp dword [esi + 0x1a8], edx
jne 0x100ca600
mov edi, dword [esp + 0x24]
cmp edi, 1
mov eax, dword [esp + 0x38]
jne 0x100ca699
mov ecx, dword [eax + 0x18]
mov dword [esi + 0x1a8], ecx
mov ecx, esi
call fcn.100a40e0
cmp dword [esp + 0x28], 0
jne 0x100c94ea
mov esi, dword [esp + 0x14]
add dword [esi + 0x1b0], 0xffffffff
jmp 0x100ca6d1
cmp dword [esp + 0x28], 0
mov edx, dword [eax + 8]
mov dword [esi + 0x1b8], edx
mov ecx, dword [eax + 0xc]
mov dword [esi + 0x1bc], ecx
mov edx, dword [eax + 0x10]
mov dword [esi + 0x1c0], edx
mov eax, dword [eax + 0x14]
mov dword [esi + 0x1c4], eax
je 0x100ca6d1
cmp edi, 2
jne 0x100c94ea
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
push ecx
push edi
push esi
call fcn.100ff0c0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 8]
test eax, eax
mov esi, dword [esp + 0x14]
je 0x100ca710
test dword [esi + 0x18], 0x4000000
jne 0x100cd487
mov edx, dword [ebp + 4]
mov ecx, dword [esi + 0x10]
shl edx, 4
mov ebx, dword [edx + ecx + 4]
test ebx, ebx
je 0x100ca80b
push eax
push ebx
call fcn.100b7bf0
mov ecx, eax
add esp, 8
cmp cl, 5
mov dword [esp + 0x10], ecx
je 0x100cd494
test ecx, ecx
jne 0x100c94f5
cmp dword [ebp + 8], eax
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
je 0x100ca7e5
test byte [edi + 0x60], 0x10
je 0x100ca7e5
cmp byte [esi + 0x43], al
je 0x100ca76f
cmp dword [esi + 0x9c], 1
jle 0x100ca7e5
cmp dword [edi + 0x70], 0
jne 0x100ca78d
add dword [esi + 0x1b4], 1
mov eax, dword [esi + 0x1b4]
mov edx, dword [esi + 0x1b0]
add edx, eax
mov dword [edi + 0x70], edx
mov eax, dword [edi + 0x70]
sub eax, 1
push eax
push 0
push esi
call fcn.100ff0c0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100ca7b5
mov eax, dword [edi + 0x70]
mov ecx, ebx
call fcn.100b8bc0
mov dword [esp + 0x10], eax
mov ecx, dword [esi + 0x1b8]
mov dword [edi + 0xa0], ecx
mov edx, dword [esi + 0x1bc]
mov dword [edi + 0xa4], edx
mov eax, dword [esi + 0x1c0]
mov dword [edi + 0xa8], eax
mov ecx, dword [esi + 0x1c4]
mov dword [edi + 0xac], ecx
lea edx, [esp + 0xcc]
push edx
push 1
mov eax, ebx
call fcn.100bdaa0
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x10]
add esp, 8
shl eax, 4
mov edx, dword [eax + ecx + 0xc]
mov eax, dword [edx + 4]
jmp 0x100ca818
mov dword [esp + 0xcc], 0
xor eax, eax
cmp byte [ebp + 3], 0
je 0x100ca837
mov ecx, dword [esp + 0xcc]
cmp ecx, dword [ebp + 0xc]
jne 0x100cd12e
cmp eax, dword [ebp + 0x10]
jne 0x100cd12e
cmp dword [esp + 0x10], 0
jne 0x100c94f9
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 4]
lea edx, [esp + 0x130]
push edx
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [edx + 0x10]
shl ecx, 4
mov eax, dword [ecx + eax + 4]
call fcn.100bdaa0
add esp, 8
mov eax, ebp
mov edx, edi
call fcn.100c86d0
mov edi, dword [esp + 0x20]
mov ecx, eax
mov eax, dword [esp + 0x130]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
add ebp, 0x14
jmp 0x100c87ce
mov esi, dword [ebp + 4]
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
shl esi, 4
add esi, dword [ebx + 0x10]
push ecx
mov eax, dword [esi + 4]
push edx
call fcn.100bdb00
mov edx, eax
mov eax, dword [ebp + 8]
add esp, 8
cmp eax, 1
mov dword [esp + 0x10], edx
jne 0x100ca8d3
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [eax], ecx
or dword [ebx + 0x18], 2
jmp 0x100ca8e1
cmp eax, 2
jne 0x100ca8e1
mov eax, dword [esi + 0xc]
mov cl, byte [ebp + 0xc]
mov byte [eax + 0x4c], cl
cmp dword [ebp + 4], 1
jne 0x100ca8f2
mov eax, ebx
call fcn.100c5dd0
and dword [edi + 0x58], 0xfffffffe
test edx, edx
jne 0x100c94f5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
test esi, esi
je case.0x100c87eb.102
mov edx, dword [esi + 0xc]
cmp edx, dword [ebp + 8]
je 0x100caa14
test byte [edi + 0x58], 1
jne 0x100cd4b4
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x44], eax
shl eax, 4
add eax, dword [edx + 0x10]
xor ebx, ebx
cmp cl, 0x67
mov edx, dword [eax + 4]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], edx
jne 0x100ca971
movzx ecx, byte [ebp + 3]
mov edx, dword [eax + 0xc]
mov al, byte [edx + 0x4c]
and ecx, 8
or ecx, 4
cmp al, byte [edi + 0x5c]
mov dword [esp + 0x30], ecx
jae 0x100ca975
mov byte [edi + 0x5c], al
jmp 0x100ca975
mov dword [esp + 0x30], ebx
test byte [ebp + 3], 0x10
je 0x100ca994
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.100c0780
mov edx, dword [esi]
mov dword [esp + 0x2c], edx
mov al, byte [ebp + 1]
cmp al, 0xfa
jne 0x100ca9ae
mov ebx, dword [ebp + 0x10]
movzx eax, word [ebx + 8]
movzx ecx, word [ebx + 6]
add eax, ecx
mov dword [esp + 0x28], eax
jmp 0x100ca9b9
cmp al, 0xf2
jne 0x100ca9b9
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x44]
mov ecx, dword [ebp + 4]
mov edi, dword [esp + 0x20]
push 0
push eax
mov eax, dword [esp + 0x30]
push ecx
call fcn.100c8430
mov esi, eax
add esp, 0xc
test esi, esi
je 0x100cd545
mov edx, dword [esi + 0x14]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
or dword [esi + 8], 4
push edx
push ebx
push ecx
mov ecx, dword [esp + 0x28]
mov byte [esi + 2], 1
mov dword [esi + 0xc], eax
call fcn.100b8d70
add esp, 0xc
mov dword [esi + 0x1c], ebx
cmp byte [ebp + 1], 0xfa
mov dword [esp + 0x10], eax
setne dl
mov byte [esi + 4], dl
mov al, byte [ebp + 3]
mov ecx, dword [esi + 0x14]
and al, 3
cmp dword [esp + 0x10], 0
mov byte [ecx + 0x43], al
jne 0x100c94f9
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov edx, dword [ebp + 4]
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x20]
push 0
push 0xffffffffffffffff
push edx
call fcn.100c8430
mov esi, eax
add esp, 0xc
test esi, esi
je 0x100cd545
or dword [esi + 8], 1
mov byte [esi + 2], 1
movzx eax, byte [ebp + 3]
push 0x41e
or eax, 5
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push eax
lea edi, [esi + 0x18]
push ecx
mov ecx, edi
xor edx, edx
call fcn.100b6a90
add esp, 0x10
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
mov edx, dword [edi]
push 1
push edx
call fcn.100b7bf0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
mov ebx, dword [ebp + 0x10]
test ebx, ebx
je 0x100caaf6
movzx eax, byte [ebp + 3]
or eax, 2
push eax
mov eax, dword [edi]
lea ecx, [esp + 0x138]
push ecx
call fcn.100bd590
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100caaf0
mov edx, dword [esi + 0x14]
mov eax, dword [esp + 0x134]
mov ecx, dword [edi]
push edx
push ebx
push 4
mov dword [esi + 0x1c], ebx
call fcn.100b8d70
add esp, 0xc
mov dword [esp + 0x10], eax
mov byte [esi + 4], 0
jmp 0x100cab15
mov eax, dword [esi + 0x14]
mov ecx, dword [edi]
push eax
push 0
push 4
mov eax, 1
call fcn.100b8d70
add esp, 0xc
mov dword [esp + 0x10], eax
mov byte [esi + 4], 1
cmp dword [esp + 0x10], 0
jne 0x100c94f5
mov edi, dword [esp + 0x20]
xor ecx, ecx
cmp byte [ebp + 3], 8
setne cl
add ecx, ecx
add ecx, ecx
xor ecx, dword [esi + 8]
and ecx, 4
xor dword [esi + 8], ecx
add ebp, 0x14
jmp 0x100c87ce
mov edx, dword [ebp + 4]
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x20]
push 1
push 0xffffffffffffffff
push edx
call fcn.100c8430
add esp, 0xc
test eax, eax
je 0x100cd545
mov ecx, dword [ebp + 0x10]
mov dword [eax + 0x1c], ecx
mov edx, dword [ebp + 0xc]
push eax
mov eax, dword [esp + 0x18]
push edx
push eax
call fcn.100cef50
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
add ebp, 0x14
jmp 0x100c87ce
mov edx, dword [edi + 0x38]
mov ecx, dword [ebp + 4]
mov eax, dword [edx + ecx*4]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
mov esi, ecx
add esi, 1
mov edi, edx
adc edi, 0
mov dword [eax + 0x28], esi
mov dword [eax + 0x2c], edi
mov eax, ecx
or eax, edx
je 0x100cd0ff
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x20]
push 3
push 0xffffffffffffffff
push eax
mov eax, dword [ebp + 0xc]
call fcn.100c8430
add esp, 0xc
test eax, eax
je 0x100cd545
mov byte [eax + 2], 1
mov ecx, dword [ebp + 8]
mov dword [eax + 0x14], ecx
mov byte [eax + 4], 1
add ebp, 0x14
jmp 0x100c87ce
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + edx*4]
push edi
call fcn.100c2f60
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
mov edi, dword [esp + 0x24]
add esp, 4
mov dword [edx + ecx*4], 0
add ebp, 0x14
jmp 0x100c87ce
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
mov esi, dword [edx + ecx*4]
cmp byte [esi + 4], 0
mov dword [esp + 0x30], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], 0
mov byte [esi + 2], 0
je 0x100cad11
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
mov dl, byte [ecx + eax*8 + 8]
lea ebx, [ecx + eax*8]
and dl, 0xe
cmp dl, 2
jne 0x100cac6e
push 0
mov eax, ebx
call fcn.100c8520
add esp, 4
mov edx, ebx
call fcn.100c0660
mov dword [esp + 0xd8], eax
movzx eax, word [ebx + 8]
test al, 4
mov dword [esp + 0xdc], edx
jne 0x100cacc8
test al, 8
je 0x100cd0ff
fild qword [esp + 0xd8]
fcom qword [ebx]
fnstsw ax
test ah, 0x41
jne 0x100cacb3
test byte [esp + 0x1c], 1
fstp st(0)
jne 0x100cacc8
sub dword [esp + 0x1c], 1
jmp 0x100cacc8
fcomp qword [ebx]
fnstsw ax
test ah, 5
jp 0x100cacc8
test byte [esp + 0x1c], 1
je 0x100cacc8
add dword [esp + 0x1c], 1
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xd8]
mov ebx, dword [esi + 0x14]
lea eax, [esp + 0x54]
push eax
push 0
push ecx
push edx
push 0
call fcn.100b9730
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
add esp, 0x14
test eax, eax
mov dword [esp + 0x10], eax
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], edx
jne 0x100c94f9
jmp 0x100cadb7
mov ecx, dword [esi + 0x14]
test byte [ecx + 0x43], 2
je 0x100cad22
mov dword [esp + 0x28], 1
mov edx, dword [esi + 0x1c]
mov cx, word [ebp + 0x10]
add eax, 0xffffffff
test al, 1
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x158], edx
sete dl
mov word [esp + 0x160], cx
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x15c], eax
lea edx, [edx + edx - 1]
mov byte [esp + 0x162], dl
test word [eax + 8], 0x4000
je 0x100cad72
mov esi, eax
call fcn.100c02f0
mov esi, dword [esp + 0x30]
lea edx, [esp + 0x54]
push edx
push 0
push 0
lea eax, [esp + 0x164]
mov byte [esp + 0x172], 0
mov ebx, dword [esi + 0x14]
push 0
push eax
call fcn.100b9730
add esp, 0x14
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f9
cmp dword [esp + 0x28], eax
je 0x100cadb7
cmp byte [esp + 0x166], al
je 0x100cae2f
mov ecx, dword [esp + 0x1c]
xor ebx, ebx
cmp ecx, 0x19
mov byte [esi + 3], bl
mov dword [esi + 0x40], ebx
mov eax, dword [esp + 0x54]
jl 0x100cadf1
cmp eax, ebx
jl 0x100caddd
jne 0x100cadd7
cmp ecx, 0x1a
je 0x100caddd
mov dword [esp + 0x54], ebx
jmp 0x100cae3a
lea ecx, [esp + 0x54]
mov dword [esp + 0x54], ebx
mov edx, dword [esi + 0x14]
push ecx
push edx
call fcn.100b9cb0
jmp 0x100cae20
cmp eax, ebx
jg 0x100cae0e
jne 0x100cadfc
cmp ecx, 0x17
je 0x100cae0e
mov eax, dword [esi + 0x14]
xor ecx, ecx
cmp byte [eax + 0x42], 1
setne cl
mov dword [esp + 0x54], ecx
jmp 0x100cae2f
lea edx, [esp + 0x54]
mov dword [esp + 0x54], ebx
mov eax, dword [esi + 0x14]
push edx
push eax
call fcn.100b9e20
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x100c94f9
cmp dword [esp + 0x54], 0
jne 0x100cd0ff
cmp dword [esp + 0x28], 0
je case.0x100c87eb.110
mov edi, dword [esp + 0x20]
add ebp, 0x14
add ebp, 0x14
jmp 0x100c87ce
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
mov esi, dword [edx + ecx*4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
lea eax, [ecx + eax*8]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x108], ebx
jle 0x100caeea
mov edx, dword [esi + 0x1c]
mov cx, word [ebp + 0x10]
cmp cx, bx
mov dword [esp + 0x168], edx
mov word [esp + 0x170], cx
mov dword [esp + 0x16c], eax
jbe 0x100caee1
xor eax, eax
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x16c]
add eax, edx
test word [eax + 8], 0x4000
je 0x100caecc
mov esi, eax
call fcn.100c02f0
mov cx, word [esp + 0x170]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
movzx edx, cx
add ebx, 1
add eax, 0x28
cmp ebx, edx
mov dword [esp + 0x30], eax
jl 0x100caea8
lea ebx, [esp + 0x168]
jmp 0x100caf48
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x1c]
push 0xb7
lea edi, [esp + 0x10c]
lea edx, [esp + 0x264]
call fcn.100c4bc0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x100cd545
mov esi, dword [esp + 0x30]
test word [esi + 8], 0x4000
je 0x100caf27
call fcn.100c02f0
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0xc]
mov eax, dword [esp + 0x1c]
push ebx
push ecx
mov ecx, dword [eax + 0x1c]
push edx
push ecx
call fcn.100c4c30
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
add esp, 0x10
xor ecx, ecx
mov byte [ebx + 0xa], 0
cmp byte [ebp], 0x1d
mov dword [esp + 0x30], ecx
jne 0x100caf81
cmp word [ebx + 8], cx
jbe 0x100caf81
mov eax, dword [ebx + 4]
add eax, 8
test byte [eax], 1
jne 0x100caf79
movzx edx, word [ebx + 8]
add ecx, 1
add eax, 0x28
cmp ecx, edx
jl 0x100caf64
jmp 0x100caf81
mov dword [esp + 0x30], 1
lea eax, [esp + 0x154]
push eax
push 0
push 0
push 0
push ebx
mov ebx, dword [esi + 0x14]
call fcn.100b9730
mov ecx, dword [esp + 0x28]
mov ebx, eax
mov eax, dword [esp + 0x11c]
add esp, 0x14
mov dword [esp + 0x10], ebx
call fcn.100a40e0
test ebx, ebx
jne 0x100c94f9
mov ecx, dword [esp + 0x154]
xor edx, edx
xor eax, eax
cmp ecx, edx
mov dword [esi + 0x20], ecx
sete al
mov cl, 1
sub cl, al
mov byte [esi + 2], cl
mov byte [esi + 3], dl
mov dword [esi + 0x40], edx
cmp byte [ebp], 0x1f
jne 0x100caff3
cmp eax, edx
jne 0x100cd0ff
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
cmp dword [esp + 0x30], edx
jne 0x100cd0ff
test eax, eax
je 0x100cd0ff
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esi + 0x14]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
lea ecx, [esp + 0x100]
push ecx
push 0
push eax
push edx
push 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x154], edx
mov dword [esp + 0x158], eax
call fcn.100b9730
mov edx, dword [esp + 0x154]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x158]
xor ecx, ecx
mov dword [esi + 0x34], eax
mov eax, dword [esp + 0x114]
add esp, 0x14
cmp eax, ecx
mov dword [esi + 0x30], edx
mov byte [esi + 2], cl
mov dword [esi + 0x40], ecx
mov byte [esi + 3], cl
mov dword [esi + 0x20], eax
je 0x100cb0a7
cmp dword [ebp + 8], ecx
jne 0x100cd0ff
mov eax, 0x13b6c
call fcn.101101f0
mov dword [esp + 0x10], eax
xor ecx, ecx
cmp dword [esp + 0x10], ecx
jne 0x100c94f9
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, ebp
mov edx, edi
call fcn.100c86d0
mov edx, dword [edi + 0x38]
mov ecx, dword [ebp + 4]
mov ecx, dword [edx + ecx*4]
mov edx, dword [ecx + 0x28]
mov dword [eax], edx
mov ecx, dword [ecx + 0x2c]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + edx*4]
add dword [eax + 0x28], 1
mov edi, dword [esp + 0x20]
adc dword [eax + 0x2c], 0
add ebp, 0x14
jmp 0x100c87ce
mov esi, dword [esp + 0x20]
xor edi, edi
mov eax, ebp
mov edx, esi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x9c], edi
call fcn.100c86d0
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x38]
mov dword [esp + 0x24], eax
mov eax, dword [edx + ecx*4]
mov ebx, 2
test byte [eax + 8], bl
mov dword [esp + 0x1c], eax
jne 0x100cb1a4
mov esi, eax
mov eax, dword [esi + 0x14]
lea edi, [esp + 0x9c]
call fcn.100b96e0
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
cmp dword [esp + 0x9c], eax
je 0x100cb162
mov dword [esp + 0x58], 1
xor edi, edi
jmp 0x100cb1a0
mov edi, dword [esi + 0x14]
mov eax, edi
call fcn.100b8ef0
mov eax, dword [edi + 0x10]
mov edi, dword [edi + 0x14]
cmp edi, 0x7fffffff
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edi
mov dword [esp + 0x10], 0
jl 0x100cb196
jg 0x100cb191
cmp eax, 0xffffffff
jb 0x100cb196
or dword [esi + 8], ebx
jmp 0x100cb1a4
add eax, 1
mov dword [esp + 0x58], eax
adc edi, 0
mov dword [esp + 0x5c], edi
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x100cb22f
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xb8]
test ecx, ecx
je 0x100cb1d8
mov eax, dword [ecx + 4]
test eax, eax
je 0x100cb1cd
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x100cb1c4
mov eax, dword [ecx + 0x10]
lea edx, [edx + edx*4]
lea esi, [eax + edx*8]
jmp 0x100cb1e2
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x18]
lea esi, [edx + ecx*8]
call fcn.100c0780
mov eax, dword [esi]
cmp eax, 0xffffffff
mov ecx, dword [esi + 4]
jne 0x100cb1fd
cmp ecx, 0x7fffffff
je 0x100cb2ac
mov edx, dword [esp + 0x1c]
test byte [edx + 8], bl
jne 0x100cb2ac
add eax, 1
adc ecx, 0
cmp edi, ecx
jg 0x100cb226
jl 0x100cb21c
cmp dword [esp + 0x58], eax
jae 0x100cb226
mov edi, ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edi
mov eax, dword [esp + 0x58]
mov dword [esi], eax
mov dword [esi + 4], edi
mov ecx, dword [esp + 0x1c]
test byte [ecx + 8], bl
je 0x100cb2b9
mov dword [esp + 0x30], 0
mov esi, ecx
lea edx, [esp + 0x58]
push edx
push 8
call fcn.100a5f60
mov edi, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
mov ebx, dword [esi + 0x14]
lea ecx, [esp + 0xa4]
push ecx
and edi, 0x3fffffff
add eax, 1
adc edi, 0
push 0
push edi
push eax
push 0
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edi
call fcn.100b9730
add esp, 0x1c
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
cmp dword [esp + 0x9c], eax
jne 0x100cb2b9
mov eax, dword [esp + 0x30]
add eax, 1
cmp eax, 0x64
mov dword [esp + 0x30], eax
jl 0x100cb246
mov dword [esp + 0x10], 0xd
jmp 0x100c94f5
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x58]
mov byte [eax + 3], 0
mov dword [eax + 0x40], 0
mov eax, dword [esp + 0x24]
mov dword [eax + 4], edi
mov edi, dword [esp + 0x20]
mov dword [eax], edx
add ebp, 0x14
jmp 0x100c87ce
cmp cl, 0x71
mov eax, dword [ebp + 8]
mov esi, dword [edi + 0x38]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea ebx, [eax + edx*8]
mov edx, dword [ebp + 4]
mov esi, dword [esi + edx*4]
mov dword [esp + 0x30], 0
jne 0x100cb321
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + ecx*4]
mov edx, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], eax
jmp 0x100cb333
mov eax, dword [ebp + 0xc]
cdq
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], edx
mov eax, dword [esp + 0x14]
xor ecx, ecx
cmp byte [ebp + 1], 0xec
jne 0x100cb377
cmp dword [eax + 0xd8], ecx
je 0x100cb377
movsx ecx, byte [esi + 1]
mov edx, dword [eax + 0x10]
shl ecx, 4
mov ecx, dword [ecx + edx]
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x28], ecx
mov cl, byte [ebp + 3]
and cl, 4
neg cl
mov dword [esp + 0x44], edx
sbb ecx, ecx
and ecx, 5
add ecx, 0x12
mov dword [esp + 0x30], ecx
xor ecx, ecx
jmp 0x100cb37f
mov dword [esp + 0x44], ecx
mov dword [esp + 0x28], ecx
test byte [ebp + 3], 1
je 0x100cb389
add dword [edi + 0x64], 1
test byte [ebp + 3], 2
je 0x100cb3ab
mov edx, dword [esp + 0xc0]
mov edi, dword [esp + 0xc4]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], edi
mov dword [eax + 0x20], edx
mov dword [eax + 0x24], edi
movzx edx, word [ebx + 8]
test dl, 1
je 0x100cb3ba
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0xc], ecx
mov al, byte [ebp + 3]
test al, 0x10
je 0x100cb3c6
mov edi, dword [esi + 0x20]
jmp 0x100cb3c8
xor edi, edi
test edx, 0x4000
je 0x100cb3d2
mov ecx, dword [ebx]
mov edx, dword [ebx + 0xc]
push edi
mov edi, dword [esp + 0xc4]
shr eax, 3
and eax, 1
push eax
mov eax, dword [ebx + 0x10]
mov ebx, dword [esp + 0xcc]
push ecx
push edx
push eax
mov eax, dword [esi + 0x14]
push ebx
push edi
push 0
call fcn.100bcde0
add esp, 0x20
test eax, eax
mov dword [esp + 0x10], eax
mov byte [esi + 3], 0
mov dword [esi + 0x40], 0
jne 0x100c94f5
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xd8]
test eax, eax
je case.0x100c87eb.110
mov ecx, dword [esp + 0x30]
test ecx, ecx
je case.0x100c87eb.110
mov esi, dword [esp + 0x44]
mov esi, dword [esi]
push ebx
push edi
push esi
mov esi, dword [esp + 0x34]
push esi
push ecx
mov ecx, dword [edx + 0xd4]
push ecx
call eax
mov edi, dword [esp + 0x38]
add esp, 0x18
add ebp, 0x14
jmp 0x100c87ce
cmp byte [ebp + 1], 0xec
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x38]
mov ebx, dword [ecx + eax*4]
mov dword [esp + 0x28], edx
jne 0x100cb4b0
mov eax, dword [esp + 0x14]
cmp dword [eax + 0xd8], 0
je 0x100cb4b0
movsx edx, byte [ebx + 1]
mov eax, dword [eax + 0x10]
shl edx, 4
test byte [ebp + 3], 2
mov ecx, dword [edx + eax]
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x30], edx
je 0x100cb4ba
cmp byte [ebx + 4], 0
je 0x100cb4ba
mov esi, dword [ebx + 0x14]
lea edi, [ebx + 0x30]
call fcn.100b8f30
jmp 0x100cb4ba
xor eax, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x30], eax
mov al, byte [ebp + 3]
mov ecx, dword [ebx + 0x14]
call fcn.100bd010
test eax, eax
mov dword [esp + 0x10], eax
mov dword [ebx + 0x40], 0
jne 0x100c94f5
test byte [esp + 0x28], 1
je case.0x100c87eb.110
mov eax, dword [esp + 0x20]
add dword [eax + 0x64], 1
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xd8]
test eax, eax
je case.0x100c87eb.110
mov ecx, dword [esp + 0x30]
test byte [ecx + 0x2a], 0x20
jne case.0x100c87eb.110
mov edx, dword [ebx + 0x34]
mov ecx, dword [ecx]
push edx
mov edx, dword [ebx + 0x30]
push edx
mov edx, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [ecx + 0xd4]
push 9
push edx
call eax
mov edi, dword [esp + 0x38]
add esp, 0x18
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [edi + 0x64]
mov ecx, dword [esp + 0x14]
add dword [ecx + 0x58], eax
mov dword [ecx + 0x54], eax
mov dword [edi + 0x64], 0
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov ecx, dword [edi + 0x38]
mov eax, dword [ebp + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebp + 0xc]
lea edx, [ecx + ecx*4]
mov ecx, dword [esp + 0x18]
lea ecx, [ecx + edx*8]
mov edx, dword [ebp + 0x10]
lea esi, [esp + 0xf0]
push esi
push edx
push ecx
mov dword [esp + 0xfc], 0
call fcn.100d1260
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
cmp dword [esp + 0xf0], eax
jne 0x100cd0ff
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea edi, [eax + edx*8]
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x38]
mov eax, dword [eax + ecx*4]
call fcn.100d11c0
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
mov edx, dword [esp + 0x20]
mov ecx, dword [ebp + 0xc]
mov eax, dword [edx + 0x38]
mov ecx, dword [eax + ecx*4]
mov dword [ecx + 0x40], 0
add ebp, 0x14
mov edi, edx
jmp 0x100c87ce
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea esi, [eax + edx*8]
mov edx, dword [edi + 0x38]
mov eax, dword [edx + ecx*4]
mov ebx, dword [eax + 0x14]
cmp byte [eax + 4], 0
mov dword [esp + 0x30], eax
mov eax, ebx
jne 0x100cb64e
call fcn.100b8ef0
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x5c]
mov ecx, dword [ebx + 0x14]
cdq
cmp ecx, edx
jg 0x100c9289
jl 0x100cb645
cmp dword [ebx + 0x10], eax
ja 0x100c9289
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x1c], ecx
jmp 0x100cb669
call fcn.100b8ef0
mov eax, dword [ebx + 0x1c]
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0x5c]
mov dword [esp + 0x1c], eax
ja 0x100c9289
mov ecx, eax
cmp ecx, 0x20
ja 0x100cb673
mov ecx, 0x20
cmp dword [esi + 0x18], ecx
jge 0x100cb6c1
xor eax, eax
mov edx, esi
call fcn.100c0140
test eax, eax
jne 0x100cd545
mov cx, word [esi + 8]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
and cx, 0x3e00
or cx, 0x10
mov dword [esi + 0xc], eax
mov word [esi + 8], cx
cmp byte [edx + 4], 0
jne 0x100cb6ce
mov eax, dword [esi + 0x10]
push 0
push eax
mov eax, dword [esp + 0x24]
push eax
push 0
mov edi, ebx
call fcn.100b90d0
jmp 0x100cb6db
mov edx, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], edx
jmp 0x100cb689
mov ecx, dword [esi + 0x10]
push ecx
push eax
push 0
push ebx
call fcn.100b93e0
add esp, 0x10
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
mov edi, dword [esp + 0x20]
mov byte [esi + 0xa], 1
add ebp, 0x14
jmp 0x100c87ce
mov eax, ebp
mov edx, edi
call fcn.100c86d0
mov edx, dword [ebp + 4]
mov ebx, eax
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
cmp byte [esi + 2], 0
mov dword [esp + 0x24], ebx
je 0x100cb72a
mov edi, dword [esp + 0x20]
mov word [ebx + 8], 1
add ebp, 0x14
jmp 0x100c87ce
cmp byte [esi + 3], 0
je 0x100cb75e
mov ecx, dword [esi + 0x30]
mov edi, dword [esp + 0x20]
mov dword [esp + 0xe0], ecx
mov edx, dword [esi + 0x34]
mov dword [esp + 0xe4], edx
mov edx, ecx
mov dword [ebx], edx
mov eax, dword [esp + 0xe4]
mov dword [ebx + 4], eax
add ebp, 0x14
jmp 0x100c87ce
cmp byte [esi], 2
jne 0x100cb7b5
mov esi, dword [esi + 0x14]
mov ebx, dword [esi]
mov eax, dword [ebx]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0xe0]
push ecx
push esi
call edx
push edi
mov esi, ebx
mov dword [esp + 0x1c], eax
call fcn.100c5e70
add esp, 0xc
cmp dword [esp + 0x10], 0
jne 0x100c94f5
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0xe0]
mov edi, dword [esp + 0x20]
mov dword [ebx], edx
mov eax, dword [esp + 0xe4]
mov dword [ebx + 4], eax
add ebp, 0x14
jmp 0x100c87ce
mov eax, esi
call fcn.100c4790
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
cmp byte [esi + 2], al
je 0x100cb7df
mov edi, dword [esp + 0x20]
mov word [ebx + 8], 1
add ebp, 0x14
jmp 0x100c87ce
mov esi, dword [esi + 0x14]
mov eax, esi
call fcn.100b8ef0
mov eax, dword [esi + 0x10]
mov edi, dword [esp + 0x20]
mov dword [esp + 0xe0], eax
mov ecx, dword [esi + 0x14]
mov dword [esp + 0xe4], ecx
mov edx, eax
mov dword [ebx], edx
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x10], 0
mov dword [ebx + 4], eax
add ebp, 0x14
jmp 0x100c87ce
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
mov eax, dword [edx + ecx*4]
cmp byte [eax], 0
mov byte [eax + 2], 1
mov dword [eax + 0x40], 0
jne case.0x100c87eb.110
mov esi, dword [eax + 0x14]
call fcn.100b54a0
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov ecx, dword [esp + 0x20]
mov eax, dword [ebp + 4]
mov edx, dword [ecx + 0x38]
mov esi, dword [edx + eax*4]
mov eax, dword [esi + 0x14]
xor ebx, ebx
lea edi, [esp + 0xf4]
mov dword [esp + 0xf4], ebx
call fcn.100b96e0
cmp eax, ebx
mov ecx, dword [esp + 0xf4]
mov byte [esi + 2], cl
mov byte [esi + 3], bl
mov dword [esi + 0x40], ebx
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x10], eax
mov dword [esi + 0x20], edx
jne 0x100c94f5
cmp dword [ebp + 8], ebx
jle case.0x100c87eb.110
test ecx, ecx
jne 0x100cd0ff
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
add dword [edi + 0x7c], 1
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x38]
mov ebx, dword [ecx + eax*4]
cmp byte [ebx], 1
mov dword [esp + 0xa8], 1
jne 0x100cb8e1
lea edi, [esp + 0xa8]
mov ecx, ebx
call fcn.100d1100
jmp 0x100cb915
mov esi, dword [ebx + 0x14]
call fcn.100b94d0
xor edi, edi
cmp eax, edi
jne 0x100cb90e
cmp byte [esi + 0x42], 0
jne 0x100cb902
mov dword [esp + 0xa8], 1
jmp 0x100cb90e
mov dword [esp + 0xa8], edi
call fcn.100b9630
mov byte [ebx + 3], 0
mov dword [ebx + 0x40], edi
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
mov eax, dword [esp + 0xa8]
test eax, eax
mov byte [ebx + 2], al
jne 0x100cd0ff
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [edi + 0x38]
mov edx, dword [ebp + 4]
mov esi, dword [eax + edx*4]
mov ecx, dword [esp + 0x14]
push ecx
lea ebx, [esp + 0x8c]
mov eax, esi
mov dword [esp + 0x8c], 0
call fcn.100d1150
add esp, 4
jmp 0x100cb9a2
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
cmp dword [eax + edx*4], 0
je case.0x100c87eb.110
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
mov esi, dword [edx + ecx*4]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x88], eax
mov edx, dword [esi + 0x14]
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x88]
push ecx
push edx
call eax
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
mov dword [esi + 0x40], 0
jne 0x100c94f5
cmp dword [esp + 0x88], eax
jne 0x100cb9d3
mov byte [esi + 2], al
movzx ecx, byte [ebp + 3]
add dword [edi + ecx*4 + 0x74], 1
lea eax, [edi + ecx*4 + 0x74]
jmp case.0x100c87eb.13
mov byte [esi + 2], 1
jmp 0x100cce48
test byte [ebp + 3], 1
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
je 0x100cb9fc
add dword [edi + 0x64], 1
test word [esi + 8], 0x4000
je 0x100cba15
call fcn.100c02f0
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
cmp byte [ebp], 0x7b
jne 0x100cba28
push esi
mov eax, ebx
call fcn.100cfff0
add esp, 4
jmp 0x100cba5f
test byte [ebp + 3], 0x10
mov eax, dword [esi + 0xc]
mov esi, dword [esi + 0x10]
je 0x100cba39
mov ecx, dword [ebx + 0x20]
jmp 0x100cba3b
xor ecx, ecx
push ecx
mov ecx, dword [ebp + 0xc]
push ecx
push 0
push 0
cdq
push 0x10152bf8
push edx
push eax
mov eax, dword [ebx + 0x14]
push esi
call fcn.100bcde0
add esp, 0x20
mov dword [ebx + 0x40], 0
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
mov ecx, dword [esi + 0x1c]
mov ebx, dword [esi + 0x14]
mov dx, word [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [esp + 0x218], ecx
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
mov word [esp + 0x220], dx
lea edx, [ecx + eax*8]
lea eax, [esp + 0x138]
push eax
push 0
push 0
lea ecx, [esp + 0x224]
push 0
push ecx
mov byte [esp + 0x236], 0
mov dword [esp + 0x230], edx
call fcn.100b9730
add esp, 0x14
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f9
cmp dword [esp + 0x138], eax
jne 0x100cbafd
mov al, 4
mov ecx, ebx
call fcn.100bd010
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f9
mov edi, dword [esp + 0x20]
mov dword [esi + 0x40], 0
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [edi + 0x38]
mov edx, dword [ebp + 4]
mov esi, dword [eax + edx*4]
mov eax, esi
call fcn.100c4790
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
cmp byte [esi + 2], al
jne 0x100cbbd6
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 0x14]
lea ecx, [esp + 0xd0]
push ecx
xor ebx, ebx
push edx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
call fcn.100c5b80
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x100c94f5
cmp byte [ebp], 0x7e
jne 0x100cbba8
mov ecx, dword [edi + 0x38]
mov eax, dword [ebp + 0xc]
mov eax, dword [ecx + eax*4]
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov edi, dword [esp + 0x20]
mov byte [eax + 2], bl
mov dword [eax + 0x30], edx
mov dword [eax + 0x34], ecx
mov byte [eax + 3], 1
mov edx, dword [ebp + 0x10]
mov dword [eax + 0x3c], edx
mov dword [eax + 0x38], esi
add ebp, 0x14
jmp 0x100c87ce
mov eax, ebp
mov edx, edi
call fcn.100c86d0
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
mov edi, dword [esp + 0x20]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov word [eax + 8], 4
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
call fcn.100c0910
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + edx*4]
mov edx, dword [eax + 0x1c]
cmp cl, 0x3a
sbb cl, cl
mov dword [esp + 0x228], edx
mov dx, word [ebp + 0x10]
mov byte [esp + 0x232], cl
mov ecx, dword [ebp + 0xc]
mov word [esp + 0x230], dx
lea edx, [ecx + ecx*4]
mov ecx, dword [esp + 0x18]
lea edx, [ecx + edx*8]
lea ecx, [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x230], edx
lea edx, [esp + 0x22c]
push edx
push ecx
mov dword [esp + 0x90], 0
call fcn.100c5cd0
mov ecx, dword [esp + 0x90]
add esp, 0xc
test byte [ebp], 1
mov dword [esp + 0x10], eax
jne 0x100cbc70
neg ecx
jmp 0x100cbc73
add ecx, 1
test eax, eax
mov dword [esp + 0x84], ecx
jne 0x100c94f5
test ecx, ecx
jg 0x100cd0ff
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, ebp
mov edx, edi
call fcn.100c86d0
mov esi, eax
mov eax, dword [esp + 0x14]
mov word [esi + 8], 1
mov edx, dword [eax + 0xa8]
add edx, 1
cmp dword [eax + 0x9c], edx
jg 0x100cd4c1
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp + 4]
lea ecx, [esp + 0xec]
push ecx
push edx
mov edx, dword [eax + 0x10]
mov ecx, ebx
shl ecx, 4
mov eax, dword [ecx + edx + 4]
mov dword [esp + 0xf4], 0
call fcn.100bda50
mov ecx, dword [esp + 0xf4]
mov edi, eax
mov eax, ecx
cdq
add esp, 8
test edi, edi
mov dword [esp + 0x10], edi
mov word [esi + 8], 4
mov dword [esi], eax
mov dword [esi + 4], edx
jne 0x100c94f5
test ecx, ecx
je case.0x100c87eb.110
mov edi, dword [ebp + 4]
mov esi, ecx
mov ecx, dword [esp + 0x14]
mov eax, ebx
call fcn.100df000
mov edi, dword [esp + 0x20]
add bl, 1
mov byte [esp + 0x53], bl
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 4]
neg eax
sbb eax, eax
lea ecx, [esp + 0x104]
and eax, ecx
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [ebp + 8]
push edx
mov edx, dword [ecx + 0x10]
shl eax, 4
mov dword [esp + 0x10c], 0
mov eax, dword [eax + edx + 4]
call fcn.100bd790
add esp, 8
cmp dword [ebp + 0xc], 0
mov esi, eax
mov dword [esp + 0x10], esi
je 0x100cbda2
mov eax, dword [esp + 0x104]
add dword [edi + 0x64], eax
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jle 0x100cbda2
mov edx, dword [esp + 0x18]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
test esi, esi
jne 0x100c94f5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + eax*4]
cmp byte [eax], 1
jne 0x100cbddc
mov esi, dword [eax + 0x14]
mov ebx, dword [esp + 0x14]
call fcn.100cf440
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [eax + 0x14]
mov edx, dword [eax + 0x34]
mov eax, dword [eax]
push 0
push edx
call fcn.100bd790
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, ebp
mov edx, edi
call fcn.100c86d0
mov ecx, dword [esp + 0x14]
mov esi, eax
mov eax, dword [ebp + 4]
shl eax, 4
add eax, dword [ecx + 0x10]
xor ecx, ecx
cmp byte [ebp], 0x84
mov eax, dword [eax + 4]
setne cl
lea edx, [esp + 0x10c]
mov dword [esp + 0x10c], 0
add ecx, 1
push ecx
push edx
call fcn.100bd590
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
mov eax, dword [esp + 0x10c]
mov edi, dword [esp + 0x20]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
cmp eax, 1
mov ecx, str.sqlite_temp_master
je 0x100cbe81
mov ecx, str.sqlite_master
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
add edx, 0x2c
mov dword [esp + 0x19c], edx
mov edx, dword [ebp + 0x10]
push edx
push ecx
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x1a8], eax
shl eax, 4
mov dword [esp + 0x1a0], edi
mov edx, dword [eax + ecx]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.100a5d10
mov esi, eax
add esp, 0x10
test esi, esi
je 0x100cd181
push 0
lea eax, [esp + 0x19c]
push eax
push fcn.100efd10
push esi
push edi
mov byte [edi + 0x95], 1
mov dword [esp + 0x1b8], 0
call fcn.100ec500
mov ebx, eax
add esp, 0x14
test ebx, ebx
mov dword [esp + 0x10], ebx
jne 0x100cbf09
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0x10], ecx
mov ebx, ecx
mov eax, esi
mov ecx, edi
call fcn.100a40e0
test ebx, ebx
mov byte [edi + 0x95], 0
je case.0x100c87eb.110
mov eax, edi
call fcn.100dc9f0
cmp ebx, 7
je 0x100cd545
jmp 0x100c94f5
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
call fcn.100dadd0
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x14]
push edx
call fcn.100dcd60
mov edi, dword [esp + 0x24]
add esp, 4
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [ebp + 4]
push ecx
call fcn.100dc7b0
mov edi, dword [esp + 0x28]
add esp, 8
add ebp, 0x14
jmp 0x100c87ce
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
mov eax, dword [ebp + 4]
call fcn.100fb090
mov edi, dword [esp + 0x28]
add esp, 8
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 0xc]
mov edi, dword [esp + 0x18]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
lea eax, [esp + 0x13c]
push eax
mov eax, dword [esi]
push eax
push ecx
movzx ecx, byte [ebp + 3]
push edx
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x10]
shl ecx, 4
mov ecx, dword [ecx + eax + 4]
call fcn.100be680
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0x40], eax
mov eax, ebx
cdq
add esp, 0x10
sub dword [esi], eax
mov eax, edi
sbb dword [esi + 4], edx
call fcn.100c0910
test ebx, ebx
je 0x100cc03a
mov ebx, dword [esp + 0x30]
test ebx, ebx
je 0x100cd545
push fcn.100a4030
push 1
or eax, 0xffffffff
mov ecx, edi
call fcn.100c0c00
add esp, 8
movzx ecx, byte [esp + 0x48]
mov eax, edi
call fcn.100c0120
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 8]
lea esi, [ecx + edx*8]
mov bl, 0x20
test byte [esi + 8], bl
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
jne 0x100cc07d
call fcn.100c0a00
test byte [esi + 8], bl
je 0x100cd545
mov ecx, dword [edi + 4]
mov edx, dword [edi]
mov esi, dword [esi]
push ecx
push edx
call fcn.100ad150
mov edi, dword [esp + 0x28]
add esp, 8
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea ebx, [ecx + eax*8]
je 0x100cc0ea
mov eax, dword [ebx]
lea esi, [esp + 0x180]
call fcn.100ad440
test eax, eax
je 0x100cc0ea
mov edx, dword [esp + 0x184]
mov eax, dword [esp + 0x180]
push edx
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
call fcn.100c0970
add esp, 8
jmp 0x100cce48
mov eax, ebx
call fcn.100c0910
jmp case.0x100c87eb.13
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
mov ebx, dword [ebp + 0x10]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea edi, [ecx + edx*8]
jne 0x100cc125
call fcn.100c0a00
test byte [esi + 8], 0x20
je 0x100cd545
test ebx, ebx
je 0x100cc14b
mov eax, dword [edi + 4]
mov ecx, dword [edi]
push eax
mov eax, dword [esi]
push ecx
push ebx
call fcn.100ad490
add esp, 0xc
test eax, eax
jne 0x100cd0ff
test ebx, ebx
jl case.0x100c87eb.110
mov edx, dword [edi + 4]
mov eax, dword [edi]
mov esi, dword [esi]
push edx
push eax
call fcn.100ad150
mov edi, dword [esp + 0x28]
add esp, 8
add ebp, 0x14
jmp 0x100c87ce
cmp byte [ebp + 3], 0
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x18]
mov ebx, dword [ebp + 0x10]
lea ecx, [eax + eax*4]
lea edx, [edx + ecx*8]
mov dword [esp + 0x2c], edx
je 0x100cc1a0
mov eax, dword [edi + 0xb8]
test eax, eax
mov ecx, dword [ebx + 0x14]
je 0x100cc1a0
nop
cmp dword [eax + 0x1c], ecx
je case.0x100c87eb.110
mov eax, dword [eax + 4]
test eax, eax
jne 0x100cc190
mov eax, dword [edi + 0xc0]
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0x84]
jge 0x100cd4d2
test byte [edx + 8], 0x40
jne 0x100cc2a2
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
add eax, ecx
test ecx, ecx
mov dword [esp + 0x28], eax
jne 0x100cc1d7
add eax, 1
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
lea edx, [eax + eax*4 + 0xa]
mov eax, ecx
lea ecx, [eax + edx*2]
mov edx, dword [ebx + 0x10]
lea eax, [edx + ecx*4]
cdq
push edx
push eax
mov eax, dword [esp + 0x1c]
call fcn.100a4310
mov esi, eax
add esp, 8
test esi, esi
je 0x100cd545
mov eax, dword [esp + 0x2c]
call fcn.100c05e0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov word [eax + 8], 0x40
mov dword [eax], esi
sub ebp, dword [esp + 0x3c]
mov dword [esi + 0x40], ecx
mov dword [esi], edi
mov eax, dword [ebx + 0xc]
mov dword [esi + 0x44], eax
mov eax, 0x66666667
imul ebp
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x30], eax
mov edx, dword [edi + 8]
mov dword [esi + 0x10], edx
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x38], eax
mov edx, dword [edi + 0x38]
mov dword [esi + 0x18], edx
mov eax, dword [edi + 0x24]
mov dword [esi + 0x2c], eax
mov edx, dword [edi + 4]
mov dword [esi + 8], edx
mov eax, dword [edi + 0x20]
mov dword [esi + 0x34], eax
mov edx, dword [ebx + 0x14]
mov dword [esi + 0x1c], edx
mov eax, dword [edi + 0xd0]
mov dword [esi + 0x14], eax
mov edx, dword [edi + 0xcc]
lea eax, [ecx + ecx*4 + 0xa]
lea ecx, [esi + eax*8]
lea eax, [esi + 0x50]
cmp eax, ecx
mov dword [esi + 0x3c], edx
je 0x100cc2a8
mov edx, dword [esp + 0x14]
lea ecx, [ecx]
mov word [eax + 8], 0x80
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x100cc290
jmp 0x100cc2a8
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx]
add dword [edi + 0xc0], 1
mov edx, dword [edi + 0xb8]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov dword [esi + 4], edx
mov edx, dword [edi + 0x64]
mov dword [esi + 0x48], edx
mov eax, dword [edi]
mov ecx, dword [eax + 0x54]
mov dword [esi + 0x4c], ecx
mov edx, dword [edi + 0xd4]
mov dword [esi + 0x28], edx
xor edx, edx
mov dword [edi + 0xd4], edx
mov dword [edi + 0x64], edx
mov dword [edi + 0xb8], esi
lea eax, [esi + 0x50]
mov dword [edi + 8], eax
mov ecx, dword [esi + 0x40]
mov dword [edi + 0x1c], ecx
movzx ecx, word [esi + 0x44]
mov dword [edi + 0x24], ecx
mov ecx, dword [edi + 0x1c]
lea ecx, [ecx + ecx*4]
mov dword [esp + 0x18], eax
lea eax, [eax + ecx*8]
mov dword [edi + 0x38], eax
mov ebp, dword [ebx]
mov dword [edi + 4], ebp
mov ecx, dword [ebx + 4]
mov dword [edi + 0x20], ecx
mov ecx, dword [edi + 0x24]
lea eax, [eax + ecx*4]
mov dword [edi + 0xd0], eax
mov ebx, dword [ebx + 0x10]
push ebx
push edx
mov dword [esp + 0x44], ebp
push eax
mov dword [edi + 0xcc], ebx
add ebp, 0xffffffec
call sub.MSVCR80.dll_memset
mov edi, dword [esp + 0x2c]
add esp, 0xc
add ebp, 0x14
jmp 0x100c87ce
mov eax, ebp
mov edx, edi
call fcn.100c86d0
mov edi, dword [edi + 0xb8]
mov ecx, dword [edi + 0x30]
lea edx, [ecx + ecx*4]
mov ecx, dword [edi + 8]
mov ecx, dword [ecx + edx*4 + 4]
add ecx, dword [ebp + 4]
push 0x1000
lea edx, [ecx + ecx*4]
mov ecx, dword [edi + 0x10]
lea edx, [ecx + edx*8]
push edx
push eax
call fcn.100c0af0
mov edi, dword [esp + 0x2c]
add esp, 0xc
add ebp, 0x14
jmp 0x100c87ce
mov ecx, dword [esp + 0x14]
test dword [ecx + 0x18], 0x2000000
mov eax, dword [ebp + 8]
cdq
je 0x100cc3bb
add dword [ecx + 0x1c0], eax
mov edi, dword [esp + 0x20]
adc dword [ecx + 0x1c4], edx
add ebp, 0x14
jmp 0x100c87ce
cmp dword [ebp + 4], 0
je 0x100cc3d9
add dword [ecx + 0x1b8], eax
mov edi, dword [esp + 0x20]
adc dword [ecx + 0x1bc], edx
add ebp, 0x14
jmp 0x100c87ce
add dword [edi + 0x98], eax
adc dword [edi + 0x9c], edx
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
cmp dword [ebp + 4], 0
je 0x100cc42b
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x1b8]
or ecx, dword [eax + 0x1bc]
jne case.0x100c87eb.110
mov edx, dword [eax + 0x1c0]
or edx, dword [eax + 0x1c4]
je 0x100cd0ff
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [edi + 0x98]
or eax, dword [edi + 0x9c]
jne case.0x100c87eb.110
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x1c0]
or ecx, dword [eax + 0x1c4]
je 0x100cd0ff
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov edi, dword [edi + 0xb8]
test edi, edi
je 0x100cc489
mov ecx, edi
mov eax, dword [ecx + 4]
test eax, eax
je 0x100cc47b
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x100cc472
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x10]
lea edi, [eax + edx*8]
jmp 0x100cc496
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
lea edi, [edx + ecx*8]
mov esi, edi
call fcn.100c0780
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.100c0780
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov edx, dword [edi + 4]
cmp edx, esi
jg case.0x100c87eb.110
jl 0x100cc4cb
mov ecx, dword [edi]
cmp ecx, eax
jae case.0x100c87eb.110
mov dword [edi], eax
mov dword [edi + 4], esi
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov esi, dword [eax + edx*8 + 4]
test esi, esi
mov edi, dword [eax + edx*8]
lea ecx, [eax + edx*8]
jl case.0x100c87eb.110
jg 0x100cc502
test edi, edi
jbe case.0x100c87eb.110
mov eax, dword [ebp + 0xc]
cdq
sub edi, eax
sbb esi, edx
mov dword [ecx], edi
mov dword [ecx + 4], esi
jmp 0x100cd0ff
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + edx*8]
lea ebx, [ecx + eax*8]
mov eax, ebp
mov edx, edi
call fcn.100c86d0
mov ecx, dword [esi]
mov esi, dword [esi + 4]
test esi, esi
jg 0x100cc558
jl 0x100cc542
test ecx, ecx
ja 0x100cc558
mov edi, dword [esp + 0x20]
or ecx, 0xffffffff
or esi, ecx
mov dword [eax], ecx
mov dword [eax + 4], esi
add ebp, 0x14
jmp 0x100c87ce
mov edi, dword [ebx + 4]
test edi, edi
mov edx, dword [ebx]
jl 0x100cc567
jg 0x100cc56b
test edx, edx
ja 0x100cc56b
xor edx, edx
xor edi, edi
add ecx, edx
adc esi, edi
mov edi, dword [esp + 0x20]
mov dword [eax], ecx
mov dword [eax + 4], esi
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
mov esi, dword [edx + ecx*8]
mov edi, dword [edx + ecx*8 + 4]
lea ecx, [edx + ecx*8]
mov eax, esi
or eax, edi
je case.0x100c87eb.110
mov eax, dword [ebp + 0xc]
cdq
sub esi, eax
sbb edi, edx
mov dword [ecx], esi
mov dword [ecx + 4], edi
jmp 0x100cd0ff
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
add dword [edx + ecx*8], 0xffffffff
lea eax, [edx + ecx*8]
mov ecx, dword [eax]
adc dword [eax + 4], 0xffffffff
or ecx, dword [eax + 4]
je 0x100cd0ff
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
movzx ebx, byte [ebp + 3]
mov eax, dword [esp + 0x14]
lea edx, [ebx*4 + 0x1c]
push 0
push edx
call fcn.100a43c0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100cd545
mov dword [ecx + 8], 0
mov eax, dword [ebp + 0x10]
mov dword [ecx + 4], eax
mov edx, ebp
sub edx, dword [esp + 0x3c]
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x10], eax
mov dword [ecx + 0xc], edi
mov byte [ecx + 0x1a], bl
mov byte [ebp + 1], 0xeb
mov dword [ebp + 0x10], ecx
mov byte [ebp], 0x92
mov eax, dword [ebp + 0xc]
mov esi, dword [esp + 0x18]
mov ebx, dword [ebp + 0x10]
lea ecx, [eax + eax*4]
lea eax, [esi + ecx*8]
cmp dword [ebx + 8], eax
mov dword [esp + 0x30], eax
je 0x100cc67c
movzx ecx, byte [ebx + 0x1a]
sub ecx, 1
mov dword [ebx + 8], eax
js 0x100cc67c
lea edx, [ebx + ecx*4 + 0x1c]
mov eax, dword [ebp + 8]
add eax, ecx
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx], eax
sub ecx, 1
sub edx, 4
test ecx, ecx
jge 0x100cc661
mov eax, dword [esp + 0x30]
mov ecx, 1
add dword [eax + 0xc], ecx
mov word [esp + 0x240], cx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x258], ecx
mov dword [esp + 0x250], 0
mov eax, dword [ebx + 4]
lea edx, [esp + 0x238]
mov dword [ebx], edx
movzx edx, byte [ebx + 0x1a]
lea ecx, [ebx + 0x1c]
push ecx
push edx
mov byte [ebx + 0x19], 0
mov byte [ebx + 0x18], 0
mov eax, dword [eax + 0xc]
push ebx
call eax
add esp, 0xc
cmp byte [ebx + 0x19], 0
je 0x100cc716
cmp dword [ebx + 0x14], 0
je 0x100cc6fb
lea ecx, [esp + 0x238]
push ecx
call fcn.100c62d0
add esp, 4
push eax
push 0x101549c4
mov esi, edi
call fcn.100c1520
mov edx, dword [ebx + 0x14]
add esp, 8
mov dword [esp + 0x10], edx
lea eax, [esp + 0x238]
call fcn.100c05e0
cmp dword [esp + 0x10], 0
jne 0x100c94f9
mov esi, dword [esp + 0x18]
cmp byte [ebx + 0x18], 0
je case.0x100c87eb.110
mov eax, dword [ebp - 0x10]
test eax, eax
je case.0x100c87eb.110
lea eax, [eax + eax*4]
push 0
push 1
lea eax, [esi + eax*8]
call fcn.100c0970
mov edi, dword [esp + 0x28]
add esp, 8
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
mov ecx, dword [ebp + 0x10]
mov eax, esi
call fcn.100c0470
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100cd4ee
movzx ecx, byte [esp + 0x48]
mov eax, esi
call fcn.100c0120
mov ecx, esi
call fcn.100c0aa0
test eax, eax
jne 0x100c9289
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 4]
mov esi, dword [esp + 0x14]
or eax, 0xffffffff
mov dword [esp + 0x124], eax
mov dword [esp + 0x120], eax
lea eax, [esp + 0x124]
push eax
push ecx
push edx
lea ecx, [esp + 0x12c]
mov dword [esp + 0x128], 0
call fcn.1010ece0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
je 0x100cc7f6
cmp eax, 5
jne 0x100c94f5
mov dword [esp + 0x10], 0
mov dword [esp + 0x11c], 1
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
xor esi, esi
lea edi, [ecx + eax*8]
mov eax, dword [esp + esi*4 + 0x11c]
cdq
push edx
push eax
mov eax, edi
call fcn.100c0970
add esi, 1
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x100cc805
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, ebp
mov edx, edi
call fcn.100c86d0
mov edx, dword [ebp + 4]
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x10]
shl edx, 4
cmp esi, 0xffffffff
mov eax, dword [edx + ecx + 4]
mov edx, dword [eax + 4]
mov ebx, dword [edx]
mov dword [esp + 0x30], eax
movzx eax, byte [ebx + 5]
mov dword [esp + 0x1c], eax
jne 0x100cc869
mov esi, eax
cmp byte [ebx + 0x11], 3
jae 0x100cc885
mov ecx, dword [ebx + 0x44]
cmp dword [ecx], 0
je 0x100cc889
cmp dword [ebx + 0x54], 0
jl 0x100cc889
jg 0x100cc885
cmp dword [ebx + 0x50], 0
jbe 0x100cc889
mov esi, dword [esp + 0x1c]
cmp byte [ebx + 0x10], 0
mov eax, 0x10152bf8
jne 0x100cc89a
mov eax, dword [ebx + 0xb0]
cmp esi, 5
jne 0x100cc8bc
call fcn.100a69c0
test eax, eax
je 0x100cc8b3
mov eax, ebx
call fcn.100b2290
test eax, eax
jne 0x100cc8bc
mov esi, dword [esp + 0x1c]
jmp 0x100cc939
mov eax, dword [esp + 0x1c]
cmp esi, eax
je 0x100cc939
cmp eax, 5
je 0x100cc8d2
cmp esi, 5
jne 0x100cc939
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x43], 0
je 0x100cd50c
cmp dword [ecx + 0x9c], 1
jg 0x100cd50c
cmp eax, 5
jne 0x100cc905
mov eax, ebx
call fcn.100b2400
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100cc940
mov eax, esi
jmp 0x100cc90f
cmp eax, 4
jne 0x100cc916
mov eax, 2
mov ecx, ebx
call fcn.100b20e0
cmp dword [esp + 0x10], 0
jne 0x100cc940
mov eax, dword [esp + 0x30]
xor edx, edx
cmp esi, 5
sete dl
add edx, 1
push edx
call fcn.100bedc0
add esp, 4
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0
je 0x100cc944
mov esi, dword [esp + 0x1c]
mov eax, esi
mov ecx, ebx
call fcn.100b20e0
cmp eax, 6
mov ecx, dword [esp + 0x24]
mov word [ecx + 8], 0xa02
jne 0x100cc960
xor eax, eax
jmp 0x100cc967
mov eax, dword [eax*4 + 0x1014f430]
mov esi, dword [esp + 0x24]
mov dword [esi + 0x10], eax
call fcn.100a69c0
movzx ecx, byte [esp + 0x48]
mov dword [esi + 0xc], eax
mov eax, esi
mov byte [esi + 0xa], 1
call fcn.100c0120
cmp dword [esp + 0x10], 0
jne 0x100c94f9
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [esp + 0x14]
add edi, 0x2c
push edi
call fcn.100fd920
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x10]
shl edx, 4
mov eax, dword [edx + ecx + 4]
push eax
call fcn.100b84f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
je case.0x100c87eb.110
cmp eax, 0x65
jne 0x100c94f5
mov dword [esp + 0x10], 0
jmp 0x100cd0ff
cmp dword [ebp + 4], 0
jne 0x100cca1c
mov eax, dword [esp + 0x14]
call fcn.100c5dd0
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
or dword [edi + 0x58], 1
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov cl, byte [ebp + 0xc]
test cl, cl
jne 0x100cca44
mov edx, dword [esp + 0x14]
test dword [edx + 0x18], 0x4000
jne case.0x100c87eb.110
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 4]
push edx
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 0x10]
shl eax, 4
mov eax, dword [eax + edx + 4]
call fcn.100bece0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
je case.0x100c87eb.110
cmp al, 6
jne 0x100c94f5
mov ecx, dword [ebp + 0x10]
push ecx
push str.database_table_is_locked:__s
mov esi, edi
call fcn.100c1520
add esp, 8
jmp 0x100c94f9
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 0x14]
call fcn.100ff010
test edi, edi
mov ebx, eax
mov dword [esp + 0x10], ebx
je 0x100ccab3
mov eax, dword [esp + 0x20]
mov esi, dword [edi + 8]
push eax
call fcn.100c5e70
add esp, 4
test ebx, ebx
jne 0x100c94f5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
xor eax, eax
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1f4], eax
mov eax, dword [ebp + 8]
lea ecx, [eax + eax*4]
lea edi, [edx + ecx*8]
lea eax, [esp + 0x1d0]
mov dword [esp + 0x1f0], esi
call fcn.100c0b60
mov dword [esp + 0x10], eax
lea eax, [esp + 0x1d0]
push eax
call fcn.100c62d0
add esp, 4
test eax, eax
je 0x100ccb65
mov ecx, dword [esp + 0x20]
add ecx, 0x2c
push ecx
push eax
mov eax, dword [ebp + 4]
mov ecx, esi
call fcn.100feab0
add esp, 8
mov dword [esp + 0x10], eax
lea eax, [esp + 0x1d0]
call fcn.100c05e0
cmp dword [esp + 0x10], 0
jne 0x100c94f5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov esi, dword [esp + 0x14]
add dword [esi + 0xa8], 1
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push edx
mov ecx, esi
call fcn.100fed80
add dword [esi + 0xa8], 0xffffffff
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x98], 0
mov esi, dword [eax + 8]
test esi, esi
je 0x100cd593
mov eax, dword [esi]
test eax, eax
mov dword [esp + 0x30], eax
je 0x100cd593
mov edx, dword [eax + 0x18]
lea ecx, [esp + 0x98]
push ecx
push esi
call edx
mov ebx, eax
push edi
mov dword [esp + 0x1c], ebx
call fcn.100c5e70
add esp, 0xc
test ebx, ebx
jne 0x100c94f5
mov eax, dword [esp + 0x98]
mov edi, dword [esp + 0x20]
mov dword [eax], esi
mov ecx, dword [ebp + 4]
push 2
push 0xffffffffffffffff
push ecx
xor eax, eax
call fcn.100c8430
mov edx, dword [esp + 0xa4]
add esp, 0xc
test eax, eax
je 0x100cd538
mov dword [eax + 0x14], edx
add dword [esi + 4], 1
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
mov esi, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov ecx, dword [edi + 0x38]
mov eax, dword [ebp + 4]
mov eax, dword [ecx + eax*4]
mov ebx, dword [eax + 0x14]
mov ecx, dword [edx + 0x28]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx]
mov dword [esp + 0x28], eax
mov eax, dword [eax]
mov dword [esp + 0x30], eax
mov eax, dword [edx]
mov dword [esp + 0x44], eax
xor eax, eax
test ecx, ecx
jle 0x100ccc9d
add edx, 0x50
lea ebx, [ebx]
mov dword [esi + eax*4], edx
add eax, 1
add edx, 0x28
cmp eax, ecx
jl 0x100ccc90
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x30]
push esi
push ecx
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [eax + 0x20]
push edx
push ebx
call ecx
mov esi, dword [esp + 0x3c]
add esp, 0x14
push edi
mov dword [esp + 0x14], eax
call fcn.100c5e70
add esp, 4
cmp dword [esp + 0x10], 0
jne 0x100c94f5
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0x28]
push ebx
call eax
mov ecx, dword [esp + 0x30]
add esp, 4
test eax, eax
mov byte [ecx + 2], 0
jne 0x100cd0ff
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov ecx, dword [eax + edx*4]
cmp byte [ecx + 2], 0
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea ebx, [eax + edx*8]
je 0x100ccd29
mov eax, ebx
call fcn.100c0910
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov edx, dword [ecx + 0x14]
mov esi, dword [edx]
mov edx, dword [esi]
xor eax, eax
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], eax
mov dword [esp + 0x208], eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], eax
mov dword [esp + 0x1f8], ebx
mov ax, word [ebx + 8]
and ax, 0x3e00
or ax, 1
mov word [ebx + 8], ax
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + 0x14]
mov edx, dword [edx + 0x2c]
push eax
lea eax, [esp + 0x1fc]
push eax
push ecx
call edx
add esp, 0xc
push edi
mov dword [esp + 0x14], eax
call fcn.100c5e70
mov eax, dword [esp + 0x210]
add esp, 4
test eax, eax
je 0x100ccdb5
mov dword [esp + 0x10], eax
movzx ecx, byte [esp + 0x48]
mov eax, ebx
call fcn.100c0120
mov ecx, ebx
call fcn.100c0aa0
test eax, eax
jne 0x100c9285
cmp dword [esp + 0x10], eax
jne 0x100c94f5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x38]
mov ebx, dword [ecx + eax*4]
cmp byte [ebx + 2], 0
jne case.0x100c87eb.110
mov eax, dword [ebx + 0x14]
mov esi, dword [eax]
mov ecx, dword [esi]
mov edx, dword [ecx + 0x24]
push eax
mov dword [esp + 0x34], ecx
call edx
add esp, 4
push edi
mov dword [esp + 0x14], eax
call fcn.100c5e70
add esp, 4
cmp dword [esp + 0x10], 0
jne 0x100c94f5
mov eax, dword [ebx + 0x14]
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
test eax, eax
jne 0x100cce48
mov ebp, dword [ebp + 8]
mov ecx, dword [esp + 0x3c]
lea eax, [ebp + ebp*4]
lea ebp, [ecx + eax*4 - 0x14]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xf8]
test eax, eax
jne 0x100cd5a0
mov ecx, edx
mov esi, dword [ecx + 0x130]
test esi, esi
je case.0x100c87eb.110
mov edx, dword [esp + 0x90]
cmp dword [esp + 0x74], edx
jb case.0x100c87eb.110
mov ebx, dword [esp + 0x74]
mov eax, ecx
mov ecx, dword [eax + 0x138]
xor edx, edx
mov eax, ebx
div ecx
sub ecx, edx
add ecx, ebx
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x134]
push edx
call esi
add esp, 4
test eax, eax
jne 0x100cd277
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + 8]
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
lea ebx, [edx + ecx*8]
mov ecx, 1
mov eax, ebx
call fcn.100c0120
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
mov ecx, dword [ebx + 0x10]
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
push ecx
push esi
call edx
mov ebx, eax
push edi
mov dword [esp + 0x1c], ebx
call fcn.100c5e70
and dword [edi + 0x58], 0xfffffffe
add esp, 0xc
test ebx, ebx
jne 0x100c94f5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
test eax, eax
mov dword [esp + 0x30], eax
je 0x100cd593
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0x44], eax
je 0x100cd593
cmp dword [eax + 0x34], 0
mov ecx, dword [ebp + 8]
je case.0x100c87eb.110
mov edx, dword [esp + 0x14]
mov al, byte [edx + 0x4a]
mov esi, dword [edi + 0xc]
mov byte [esp + 0x43], al
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea edx, [eax + edx*8]
xor eax, eax
test ecx, ecx
jle 0x100ccf7d
jmp 0x100ccf70
mov dword [esi + eax*4], edx
add eax, 1
add edx, 0x28
cmp eax, ecx
jl 0x100ccf70
mov dl, byte [ebp + 3]
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x188]
push eax
push esi
mov esi, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x50]
mov byte [ebx + 0x4a], dl
mov edx, dword [ecx + 0x34]
push esi
call edx
mov dword [esp + 0x20], eax
mov al, byte [esp + 0x53]
push edi
mov byte [ebx + 0x4a], al
call fcn.100c5e70
mov edx, dword [esp + 0x24]
add esp, 0x14
test edx, edx
jne 0x100ccfdc
cmp dword [ebp + 4], edx
je 0x100ccfdc
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x18c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], ecx
cmp dl, 0x13
jne 0x100cd01b
mov ecx, dword [ebp + 0x10]
cmp byte [ecx + 0x10], 0
je 0x100cd01b
mov al, byte [ebp + 3]
cmp al, 4
jne 0x100cd005
mov edi, dword [esp + 0x20]
mov dword [esp + 0x10], 0
add ebp, 0x14
jmp 0x100c87ce
cmp al, 5
jne 0x100cd013
mov eax, 2
mov byte [edi + 0x56], al
jmp 0x100cd01f
movzx eax, al
mov byte [edi + 0x56], al
jmp 0x100cd01f
add dword [edi + 0x64], 1
test edx, edx
jne 0x100c94f5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
mov eax, ebp
mov edx, edi
call fcn.100c86d0
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x10]
mov edi, dword [esp + 0x20]
shl edx, 4
mov edx, dword [edx + ecx + 4]
mov ecx, dword [edx + 4]
mov edx, dword [ecx + 0x2c]
mov dword [eax], edx
mov dword [eax + 4], 0
add ebp, 0x14
jmp 0x100c87ce
mov eax, ebp
mov edx, edi
call fcn.100c86d0
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ebp + 0xc]
mov esi, eax
mov eax, dword [ebp + 4]
shl eax, 4
mov eax, dword [eax + edx + 4]
xor ebx, ebx
test ecx, ecx
je 0x100cd099
mov edx, dword [eax + 4]
mov ebx, dword [edx + 0x2c]
cmp ebx, ecx
jae 0x100cd099
mov ebx, ecx
call fcn.100b75b0
mov edi, dword [esp + 0x20]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
add ebp, 0x14
jmp 0x100c87ce
mov ebx, dword [esp + 0x14]
cmp dword [ebx + 0xb4], 0
je 0x100cd0f9
test byte [edi + 0x58], 2
jne 0x100cd0f9
mov ecx, dword [ebp + 0x10]
test ecx, ecx
jne 0x100cd0d4
mov ecx, dword [edi + 0xb0]
test ecx, ecx
je 0x100cd0f9
mov edx, edi
call fcn.100c8050
mov ecx, dword [ebx + 0xb4]
mov esi, eax
mov eax, dword [ebx + 0xb8]
push esi
push eax
call ecx
add esp, 8
mov eax, esi
mov ecx, ebx
call fcn.100a40e0
cmp dword [ebp + 8], 0
je case.0x100c87eb.110
mov ebp, dword [ebp + 8]
mov eax, dword [esp + 0x3c]
lea edx, [ebp + ebp*4]
lea ebp, [eax + edx*4 - 0x14]
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c87ce
push str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x100cd3c2
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x100cd3c2
mov eax, dword [edi + 0x2c]
mov ecx, esi
call fcn.100a40e0
mov ebx, str.database_schema_has_changed
mov eax, esi
call fcn.100a45a0
mov dword [edi + 0x2c], eax
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x10]
mov edx, eax
shl edx, 4
mov edx, dword [edx + ecx + 0xc]
mov ecx, dword [esp + 0xcc]
cmp dword [edx], ecx
je 0x100cd170
mov edi, dword [esp + 0x14]
mov esi, eax
call fcn.100dc9c0
mov edi, dword [esp + 0x20]
or dword [edi + 0x58], 1
mov dword [esp + 0x10], 0x11
jmp 0x100c94f9
mov dword [esp + 0x10], 7
mov ebx, dword [esp + 0x10]
jmp 0x100cbf21
mov edx, dword [ebp + 4]
test edx, edx
mov dword [edi + 0x50], edx
mov al, byte [ebp + 8]
mov byte [edi + 0x56], al
mov dword [edi + 0x4c], ebx
je 0x100cd218
mov al, byte [ebp + 3]
test al, al
mov esi, dword [esp + 0x20]
je 0x100cd1ea
movzx ecx, al
mov edx, dword [ecx*4 + 0x1014ebfc]
push edx
push str._s_constraint_failed
call fcn.100c1520
mov eax, dword [ebp + 0x10]
add esp, 8
test eax, eax
je 0x100cd1fb
mov edi, dword [esp + 0x14]
push eax
mov eax, dword [esi + 0x2c]
push eax
push str._z:__s
call fcn.100a5d10
add esp, 0xc
mov dword [esi + 0x2c], eax
jmp 0x100cd1fb
mov ecx, dword [ebp + 0x10]
push ecx
push 0x101549c4
call fcn.100c1520
add esp, 8
mov edx, dword [esi + 0x2c]
mov eax, dword [esi + 0xb0]
mov ecx, dword [ebp + 4]
push edx
push eax
push ebx
push str.abort_at__d_in___s_:__s
push ecx
call fcn.100a5f10
add esp, 0x14
mov edi, dword [esp + 0x20]
call fcn.100c3da0
cmp eax, 5
mov esi, dword [esp + 0x14]
mov dword [esp + 0x10], eax
jne 0x100cd236
mov dword [edi + 0x50], eax
jmp 0x100cd708
mov eax, dword [edi + 0x50]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov dword [esp + 0x10], eax
jmp 0x100cd708
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x130]
test eax, eax
je 0x100cd284
mov edx, dword [esp + 0x90]
cmp dword [esp + 0x74], edx
jb 0x100cd284
mov ecx, dword [ecx + 0x134]
push ecx
call eax
add esp, 4
test eax, eax
je 0x100cd284
mov dword [esp + 0x10], 9
jmp 0x100c94f9
push 0
mov eax, edi
call fcn.100c3d30
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c94f5
mov edi, dword [esp + 0x20]
push 1
push edi
call fcn.100c3c10
mov edx, dword [edi + 0x48]
mov ecx, dword [esp + 0x20]
add edx, 2
or edx, 1
mov dword [edi + 0x48], edx
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
xor ebx, ebx
add esp, 8
mov dword [edi + 0x14], esi
cmp dword [ebp + 8], ebx
jle 0x100cd2f9
mov edi, edi
test word [esi + 8], 0x1000
je 0x100cd2e7
mov eax, esi
call fcn.100c0280
test eax, eax
jne 0x100cd545
mov eax, esi
call fcn.100c0380
add ebx, 1
add esi, 0x28
cmp ebx, dword [ebp + 8]
jl 0x100cd2d0
mov esi, dword [esp + 0x14]
cmp byte [esi + 0x45], 0
jne 0x100cd545
sub ebp, dword [esp + 0x3c]
mov eax, 0x66666667
imul ebp
sar edx, 3
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax + 1]
mov dword [edi + 0x4c], ecx
mov dword [esp + 0x10], 0x64
jmp 0x100cd708
cmp dword [ebx + 0x50], 0
jne 0x100cd340
lea eax, [esp + 0x1a8]
call fcn.100c05e0
mov eax, 0x13575
call fcn.101101f0
mov dword [esp + 0x10], eax
jmp 0x100c94f5
sub ebp, dword [esp + 0x3c]
mov eax, 0x66666667
imul ebp
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x4c], eax
mov byte [esi + 0x43], 0
mov dword [esp + 0x10], 5
mov dword [edi + 0x50], 5
jmp 0x100cd708
mov esi, dword [esp + 0x14]
movzx ecx, byte [esi + 0x43]
mov ebx, dword [ebp + 4]
cmp ebx, ecx
mov eax, dword [ebp + 8]
je 0x100cd456
test eax, eax
je 0x100cd3b0
push 0x204
call fcn.1010e260
add esp, 4
mov byte [esi + 0x43], 1
jmp 0x100cd3f4
test ebx, ebx
je 0x100cd3d9
cmp dword [esi + 0xa0], 0
jle 0x100cd3d9
push str.cannot_commit_transaction___SQL_statements_in_progress
mov esi, edi
call fcn.100c1520
add esp, 4
mov dword [esp + 0x10], 5
jmp 0x100c94f9
push 1
mov eax, edi
call fcn.100c3d30
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100cd700
mov byte [esi + 0x43], bl
mov edi, dword [esp + 0x20]
call fcn.100c3da0
mov ecx, 5
cmp eax, ecx
jne 0x100cd437
sub ebp, dword [esp + 0x3c]
mov eax, 0x66666667
imul ebp
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x4c], eax
mov eax, dword [esp + 0x14]
mov dl, 1
sub dl, bl
mov byte [eax + 0x43], dl
mov dword [esp + 0x10], ecx
mov dword [edi + 0x50], ecx
mov esi, eax
jmp 0x100cd708
mov esi, dword [esp + 0x14]
call fcn.1010d880
mov edi, dword [edi + 0x50]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
mov dword [esp + 0x10], edi
jmp 0x100cd704
test ebx, ebx
jne 0x100cd461
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x100cd46f
test eax, eax
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x100cd46f
mov eax, str.cannot_commit___no_transaction_is_active
push eax
mov esi, edi
call fcn.100c1520
add esp, 4
mov dword [esp + 0x10], 1
jmp 0x100c94f9
mov dword [esp + 0x10], 8
jmp 0x100c94f9
sub ebp, dword [esp + 0x3c]
mov eax, 0x66666667
imul ebp
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x4c], eax
mov dword [edi + 0x50], ecx
jmp 0x100cd708
mov dword [esp + 0x10], 0x204
jmp 0x100c94f9
mov dword [esp + 0x10], 6
mov byte [edi + 0x56], 2
jmp 0x100c94f9
push str.too_many_levels_of_trigger_recursion
mov esi, edi
mov dword [esp + 0x14], 1
call fcn.100c1520
add esp, 4
jmp 0x100c94f9
push esi
call fcn.100c62d0
add esp, 4
push eax
push 0x101549c4
mov esi, edi
call fcn.100c1520
add esp, 8
jmp 0x100c94f9
cmp esi, 5
mov dword [esp + 0x10], 1
mov eax, str.into
je 0x100cd523
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov esi, edi
call fcn.100c1520
add esp, 8
jmp 0x100c94f9
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x1c]
push edx
call ecx
add esp, 4
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x45], 0
jne 0x100cd573
cmp byte [eax + 0x46], 0
jne 0x100cd573
cmp dword [eax + 0xa4], 0
mov byte [eax + 0x45], 1
jle 0x100cd56c
mov dword [eax + 0xf8], 1
add dword [eax + 0x100], 1
mov edi, dword [esp + 0x20]
push str.out_of_memory
mov esi, edi
call fcn.100c1520
add esp, 4
mov dword [esp + 0x10], 7
jmp 0x100c94f9
mov dword [esp + 0x10], 6
jmp 0x100c94f9
mov edx, dword [esp + 0x14]
xor eax, eax
cmp byte [edx + 0x45], al
mov ecx, str.unknown_error
sete al
lea eax, [eax + eax + 7]
cmp eax, 0x204
mov dword [esp + 0x10], eax
mov dword [edi + 0x50], eax
je 0x100cd5dc
and eax, 0xff
cmp eax, 0x1a
ja 0x100cd5e1
mov eax, dword [eax*4 + 0x10151a28]
test eax, eax
je 0x100cd5e1
mov ecx, eax
jmp 0x100cd5e1
mov ecx, str.abort_due_to_ROLLBACK
push ecx
push 0x101549c4
mov esi, edi
call fcn.100c1520
add esp, 8
jmp 0x100c94f9
mov ecx, str.abort_due_to_ROLLBACK
push ecx
push 0x101549c4
mov esi, edi
call fcn.100c1520
mov esi, dword [esp + 0x1c]
add esp, 8
cmp ebx, 0xc0a
mov dword [edi + 0x50], ebx
je 0x100cd645
mov eax, ebx
and eax, 0xff
cmp eax, 0xe
je 0x100cd62b
cmp eax, 0xa
jne 0x100cd645
mov eax, dword [esi]
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x100cd640
push 0
push 0
push eax
call ecx
add esp, 0xc
jmp 0x100cd642
xor eax, eax
mov dword [esi + 0x3c], eax
mov edi, dword [esp + 0x20]
mov eax, dword [edi + 0x2c]
sub ebp, dword [esp + 0x3c]
mov ecx, dword [edi + 0xb0]
push eax
mov eax, 0x66666667
imul ebp
sar edx, 3
mov eax, edx
push ecx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push ebx
call fcn.100a5f10
add esp, 0x14
call fcn.100c3da0
cmp ebx, 0xc0a
jne 0x100cd6b3
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x45], 0
jne 0x100cd6b3
cmp byte [eax + 0x46], 0
jne 0x100cd6b3
cmp dword [eax + 0xa4], 0
mov byte [eax + 0x45], 1
jle 0x100cd6ac
mov dword [eax + 0xf8], 1
add dword [eax + 0x100], 1
mov al, byte [esp + 0x53]
test al, al
mov dword [esp + 0x10], 1
jbe 0x100cd700
mov edx, dword [esp + 0x14]
movzx esi, al
mov eax, dword [edx + 0x10]
sub esi, 1
mov ecx, esi
shl ecx, 4
mov ecx, dword [ecx + eax + 0xc]
push ecx
call fcn.100e28d0
add esp, 4
cmp esi, 1
je 0x100cd700
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 0x1c]
push ecx
call fcn.100e28d0
mov esi, dword [esp + 0x18]
add esp, 4
jmp 0x100cd708
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x74]
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], eax
add dword [edi + 0x84], ecx
cmp dword [edi + 0x6c], 0
je 0x100cd72f
push edi
call fcn.100c2690
add esp, 4
mov ecx, dword [esp + 0x31c]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10130e50
add esp, 0x314
ret