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

Disassembly:
sub esp, 0x314
mov eax, dword [0x10170024]
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.100c2400
add esp, 4
cmp dword [edi + 0x50], 7
je 0x100cd325
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 0x100cd380
cmp dword [esi + 0x130], eax
je 0x100c85a4
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.0x100c85cb.110
jmp dword [eax*4 + 0x100cd52c]
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 0x100ccedf
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 0x100c85ae
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 0x100ccedf
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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 0x100c85ae
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 0x100c85ae
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
test byte [eax + edx*8 + 8], 1
je case.0x100c85cb.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 0x100ccf72
mov ecx, dword [edi + 0xb8]
test ecx, ecx
je 0x100ccf72
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.100c2de0
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 0x100c8769
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 0x100c85ae
mov eax, ebp
mov edx, edi
call fcn.100c84b0
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 0x100c85ae
mov eax, ebp
mov edx, edi
call fcn.100c84b0
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 0x100c85ae
mov eax, ebp
mov edx, edi
call fcn.100c84b0
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 0x100c85ae
mov eax, ebp
mov edx, edi
call fcn.100c84b0
mov ebx, dword [ebp + 0x10]
mov esi, eax
mov eax, ebx
mov byte [ebp], 0x4c
call fcn.100a67a0
cmp byte [esp + 0x48], 1
mov dword [ebp + 4], eax
je 0x100c8866
push 0
push 1
or eax, 0xffffffff
mov ecx, esi
call fcn.100c09e0
movzx ecx, byte [esp + 0x50]
mov dword [esp + 0x18], eax
add esp, 8
mov eax, esi
call fcn.100bff00
test eax, eax
jne 0x100cd325
or word [esi + 8], 0x800
or bl, 0xff
mov dword [esi + 0x18], eax
cmp byte [ebp + 1], bl
jne 0x100c8857
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x14]
call fcn.100a3ec0
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 0x100c9065
mov eax, ebp
mov edx, edi
call fcn.100c84b0
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.0x100c85cb.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.0x100c85cb.110
mov eax, dword [edi + esi*8 + 4]
cmp eax, edx
jne case.0x100c85cb.110
mov edi, dword [esp + 0x20]
mov word [ecx + 8], 0xa10
add ebp, 0x14
jmp 0x100c85ae
mov eax, ebp
mov edx, edi
call fcn.100c84b0
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.0x100c85cb.110
lea ebx, [ebx]
add edi, 0x28
mov eax, edi
call fcn.100c06f0
sub esi, 1
test esi, esi
mov word [edi + 8], bx
jg 0x100c8910
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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 0x100c85ae
mov eax, ebp
mov edx, edi
call fcn.100c84b0
mov ebx, dword [ebp + 0x10]
mov esi, eax
mov eax, dword [ebp + 4]
push 0
push 0
mov ecx, esi
call fcn.100c09e0
mov dl, byte [esp + 0x50]
mov edi, dword [esp + 0x28]
add esp, 8
mov byte [esi + 0xa], dl
add ebp, 0x14
jmp 0x100c85ae
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.100c0880
test eax, eax
jne 0x100c9065
mov eax, ebp
mov edx, edi
call fcn.100c84b0
push 0x800
push esi
push eax
call fcn.100c08d0
mov edi, dword [esp + 0x2c]
add esp, 0xc
add ebp, 0x14
jmp 0x100c85ae
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.100c09a0
test word [edi + 8], 0x1000
je 0x100c8a05
mov eax, edi
call fcn.100c0060
test eax, eax
jne 0x100cd325
add ebx, 0x28
add edi, 0x28
sub esi, 1
jne 0x100c89e7
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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.100c08d0
add esp, 0xc
test word [edi + 8], 0x1000
je 0x100c8a5b
mov eax, edi
call fcn.100c0060
test eax, eax
jne 0x100cd325
mov ecx, esi
sub esi, 1
test ecx, ecx
je case.0x100c85cb.110
add edi, 0x28
add ebx, 0x28
jmp 0x100c8a35
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.100c08d0
mov edi, dword [esp + 0x2c]
add esp, 0xc
add ebp, 0x14
jmp 0x100c85ae
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.100c0750
mov edi, dword [esp + 0x28]
add esp, 8
add ebp, 0x14
jmp 0x100c85ae
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 0x100c8b19
mov eax, ebx
call fcn.100c06f0
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
test eax, 0x4000
je 0x100c8b31
mov esi, dword [esp + 0x24]
call fcn.100c00d0
test eax, eax
jne 0x100cd325
mov edx, dword [esp + 0x1c]
test word [edx + 8], 0x4000
je 0x100c8b4c
mov esi, edx
call fcn.100c00d0
test eax, eax
jne 0x100cd325
mov eax, dword [esp + 0x24]
test byte [eax + 8], 0x12
jne 0x100c8b6f
mov ecx, dword [esp + 0x48]
push 0
push ecx
mov esi, eax
call fcn.100c0180
add esp, 8
test eax, eax
jne 0x100cd325
mov edx, dword [esp + 0x1c]
test byte [edx + 8], 0x12
jne 0x100c8b92
mov eax, dword [esp + 0x48]
push 0
push eax
mov esi, edx
call fcn.100c0180
add esp, 8
test eax, eax
jne 0x100cd325
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 0x100c9069
jl 0x100c8bbf
cmp esi, eax
ja 0x100c9069
mov edi, dword [esp + 0x1c]
xor eax, eax
cmp ebx, edi
sete al
lea ecx, [esi + 2]
mov edx, ebx
call fcn.100bff20
test eax, eax
jne 0x100cd325
mov cx, word [ebx + 8]
and cx, 0x3e00
or cx, 2
cmp ebx, edi
mov word [ebx + 8], cx
je 0x100c8c05
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 0x100c85ae
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.100c8460
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.100c8460
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 0x100c8eb9
mov al, byte [esp + 0x28]
and al, byte [esp + 0x2c]
test al, 4
je 0x100c8db1
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.0x100c8cd0
jmp dword [edx*4 + 0x100cd7a4]
push ecx
push eax
lea eax, [esp + 0x70]
push eax
call fcn.100a78f0
add esp, 0xc
test eax, eax
jne 0x100c8db6
jmp 0x100c8d83
push ecx
push eax
lea edx, [esp + 0x70]
call fcn.100a7990
add esp, 8
test eax, eax
jne 0x100c8db6
jmp 0x100c8d83
push ecx
push eax
lea ecx, [esp + 0x70]
push ecx
call fcn.100a79e0
add esp, 0xc
test eax, eax
jne 0x100c8db6
jmp 0x100c8d83
mov edx, eax
or edx, ecx
je 0x100c8eb9
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x100c8d45
test ebx, ebx
jne 0x100c8d45
cmp dword [esp + 0x6c], 0x80000000
je 0x100c8db6
push ecx
push eax
mov eax, dword [esp + 0x74]
push eax
push ebx
call fcn.10139e10
jmp 0x100c8d7b
mov edx, eax
or edx, ecx
je 0x100c8eb9
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x100c8d6e
mov eax, 1
xor ecx, ecx
push ecx
push eax
mov eax, dword [esp + 0x74]
push eax
push ebx
call fcn.10139fa0
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 0x100c85ae
mov byte [esp + 0x43], 0
mov edx, edi
call fcn.100c04b0
fstp qword [esp + 0x30]
mov edx, esi
call fcn.100c04b0
movzx eax, byte [ebp]
add eax, 0xffffffd1
cmp eax, 3
ja case.default.0x100c8dd4
jmp dword [eax*4 + 0x100cd7b4]
fadd qword [esp + 0x30]
jmp 0x100c8e58
fsub qword [esp + 0x30]
jmp 0x100c8e58
fmul qword [esp + 0x30]
jmp 0x100c8e58
fldz
fld qword [esp + 0x30]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x100c8eb5
fdivp st(1)
jmp 0x100c8e58
fld qword [esp + 0x30]
call fcn.10139ef6
mov esi, eax
mov edi, edx
call fcn.10139ef6
mov ecx, esi
or ecx, edi
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
je 0x100c8eb9
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x100c8e3a
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.10139fa0
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.100a6760
add esp, 8
test eax, eax
jne 0x100c8eb9
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.0x100c85cb.110
cmp byte [esp + 0x43], 0
jne case.0x100c85cb.110
call fcn.100c0500
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x24]
call fcn.100c06f0
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov eax, dword [ebp + 4]
test eax, eax
je case.0x100c85cb.110
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
push 0
push 0
lea eax, [ecx + eax*8]
call fcn.100c0750
mov edi, dword [esp + 0x28]
add esp, 8
add ebp, 0x14
jmp 0x100c85ae
movzx ebx, byte [ebp + 3]
mov esi, dword [esp + 0x14]
lea edx, [ebx*4 + 0x1c]
push 0
push edx
mov eax, esi
call fcn.100a41a0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100cd325
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 0x100c8f5e
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 0x100c8f9c
movzx ecx, byte [ebx + 0x1a]
sub ecx, 1
mov dword [ebx], eax
js 0x100c8f9c
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 0x100c8f85
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 0x100c903c
cmp dword [ebx + 0x14], 0
je 0x100c9014
mov ecx, dword [ebx]
push ecx
call fcn.100c60b0
mov esi, dword [esp + 0x24]
add esp, 4
push eax
push 0x1014e694
call fcn.100c1300
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.100c3fb0
add esp, 8
cmp dword [esp + 0x10], 0
jne 0x100c92d5
mov edx, dword [esp + 0x24]
test byte [edx + 8], 0x12
je case.0x100c85cb.110
movzx ecx, byte [esp + 0x48]
mov eax, dword [ebx]
call fcn.100bff00
mov ecx, dword [ebx]
call fcn.100c0880
test eax, eax
je case.0x100c85cb.110
mov edi, dword [esp + 0x20]
push str.string_or_blob_too_big
mov esi, edi
call fcn.100c1300
add esp, 4
mov dword [esp + 0x10], 0x12
jmp 0x100c92d9
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 0x100c90c4
call fcn.100c06f0
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
call fcn.100c0440
mov edi, edx
mov edx, esi
mov ebx, eax
call fcn.100c0440
mov esi, eax
mov al, byte [ebp]
cmp al, 0x2b
jne 0x100c90e6
and ebx, esi
and edi, edx
jmp 0x100c91b6
cmp al, 0x2c
jne 0x100c90f3
or ebx, esi
or edi, edx
jmp 0x100c91b6
mov ecx, esi
or ecx, edx
je 0x100c91b6
test edx, edx
jg 0x100c912b
jl 0x100c9107
test esi, esi
jae 0x100c9120
mov cl, 0x5b
sub cl, al
cmp edx, 0xffffffff
mov al, cl
jl 0x100c912b
jg 0x100c9119
cmp esi, 0xffffffc0
jbe 0x100c912b
neg esi
adc edx, 0
neg edx
test edx, edx
jl 0x100c914c
jg 0x100c912b
cmp esi, 0x40
jb 0x100c914c
test edi, edi
jg 0x100c9143
jl 0x100c9135
test ebx, ebx
jae 0x100c9143
cmp al, 0x2d
je 0x100c9143
or eax, 0xffffffff
cdq
mov ebx, eax
mov edi, edx
jmp 0x100c91b6
xor eax, eax
cdq
mov ebx, eax
mov edi, edx
jmp 0x100c91b6
cmp al, 0x2d
mov edx, edi
mov ecx, esi
mov eax, ebx
jne 0x100c916b
call fcn.10139f80
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
jmp 0x100c91a8
call fcn.1013a270
test edi, edi
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
jg 0x100c91a8
jl 0x100c9188
test ebx, ebx
jae 0x100c91a8
mov ecx, 0x40
sub ecx, esi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.10139f80
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 0x100c85ae
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.100c0560
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x20]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
add ebp, 0x14
jmp 0x100c85ae
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 0x100c9252
test al, 8
jne 0x100c922e
test al, 2
je 0x100c9233
push 1
mov eax, esi
call fcn.100c8300
add esp, 4
jmp 0x100c9233
call fcn.100c0500
movzx eax, word [esi + 8]
test al, 4
jne 0x100c9252
cmp dword [ebp + 8], 0
jne 0x100ccedf
mov dword [esp + 0x10], 0x14
jmp 0x100c92d9
mov edi, dword [esp + 0x20]
and eax, 0x3e00
or eax, 4
mov word [esi + 8], ax
add ebp, 0x14
jmp 0x100c85ae
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.0x100c85cb.110
call fcn.100c0580
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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 0x100c92b4
call fcn.100c00d0
mov dword [esp + 0x10], eax
jmp 0x100c92bc
mov dword [esp + 0x10], 0
mov dl, byte [esp + 0x48]
mov cl, byte [ebp + 8]
mov eax, esi
call fcn.100c0650
cmp dword [esp + 0x10], 0
je case.0x100c85cb.110
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
cmp byte [esi + 0x45], 0
je 0x100c92eb
mov dword [esp + 0x10], 7
cmp dword [edi + 0x2c], 0
mov ebx, dword [esp + 0x10]
jne 0x100cd3ef
cmp ebx, 0xc0a
je 0x100cd3ef
cmp ebx, 0x204
mov ecx, str.unknown_error
je 0x100cd3d6
mov eax, ebx
and eax, 0xff
cmp eax, 0x1a
ja 0x100cd3db
mov eax, dword [eax*4 + 0x1014b6f8]
test eax, eax
je 0x100cd3db
mov ecx, eax
jmp 0x100cd3db
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 0x100c93db
mov al, byte [ebp + 3]
test al, al
jns 0x100c939c
test byte [esp + 0x1c], 1
je 0x100c9392
test cl, 1
je 0x100c9392
test ecx, 0x100
jne 0x100c9392
xor eax, eax
jmp 0x100c94e6
mov eax, 1
jmp 0x100c94e6
test al, 0x20
je 0x100c93c7
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 0x100c85ae
test al, 0x10
jne 0x100ccedf
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov cl, byte [ebp + 3]
and cl, 0x47
cmp cl, 0x43
jl 0x100c9425
test al, 2
je 0x100c949c
mov al, byte [esp + 0x1c]
and al, 0xe
cmp al, 2
jne 0x100c9404
push 0
mov eax, edx
call fcn.100c8300
add esp, 4
mov cl, byte [esp + 0x38]
and cl, 0xe
cmp cl, 2
jne 0x100c949c
push 0
mov eax, ebx
call fcn.100c8300
add esp, 4
jmp 0x100c949c
cmp cl, 0x42
jne 0x100c949c
mov al, byte [esp + 0x1c]
test al, 2
jne 0x100c9466
test al, 0xc
je 0x100c9466
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x24]
push 1
push edx
call fcn.100c0180
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 0x100c949c
test al, 0xc
je 0x100c949c
mov edx, dword [esp + 0x48]
push 1
push edx
mov esi, ebx
call fcn.100c0180
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 0x100c94b7
mov esi, dword [esp + 0x24]
call fcn.100c00d0
and edi, 0xbfff
mov dword [esp + 0x1c], edi
test dword [esp + 0x38], 0x4000
je 0x100c94d0
mov esi, ebx
call fcn.100c00d0
and dword [esp + 0x38], 0xbfff
mov edi, dword [ebp + 0x10]
mov edx, dword [esp + 0x24]
mov eax, ebx
call fcn.100c4dc0
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
movzx ecx, byte [ebp]
add ecx, 0xffffffdc
cmp ecx, 4
ja case.default.0x100c94f2
jmp dword [ecx*4 + 0x100cd7c4]
xor ecx, ecx
test eax, eax
sete cl
jmp 0x100c952d
xor ecx, ecx
test eax, eax
setne cl
jmp 0x100c952d
xor ecx, ecx
test eax, eax
setl cl
jmp 0x100c952d
xor ecx, ecx
test eax, eax
setle cl
jmp 0x100c952d
xor ecx, ecx
test eax, eax
setg cl
jmp 0x100c952d
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 0x100c9886
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 0x100c85ae
mov eax, dword [ebp + 0x10]
mov edi, dword [esp + 0x20]
add eax, 4
mov dword [esp + 0x8c], eax
add ebp, 0x14
jmp 0x100c85ae
test byte [ebp + 3], 1
jne 0x100c95a2
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 0x100c9656
add ecx, 0x14
mov dword [esp + 0x2c], ecx
nop
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x100c95e0
mov ecx, dword [eax + esi*4]
jmp 0x100c95e2
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.100c4dc0
test eax, eax
mov dword [esp + 0xac], eax
jne 0x100c9646
add dword [esp + 0x2c], 4
add esi, 1
cmp esi, dword [esp + 0x1c]
jl 0x100c95d0
mov edi, dword [esp + 0x20]
mov dword [esp + 0x8c], eax
add ebp, 0x14
jmp 0x100c85ae
cmp dword [esp + 0x38], 0
je 0x100c9656
neg eax
mov dword [esp + 0xac], eax
mov edi, dword [esp + 0x20]
mov dword [esp + 0x8c], 0
add ebp, 0x14
jmp 0x100c85ae
test edx, edx
jge 0x100c9679
mov ebp, dword [ebp + 4]
jmp 0x100ccee2
jne 0x100c9696
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 0x100c85ae
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 0x100c85ae
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 0x100c96cc
mov esi, 2
jmp 0x100c96de
call fcn.100c0440
or eax, edx
je 0x100c96dc
mov esi, 1
jmp 0x100c96de
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 0x100c96f5
mov eax, 2
jmp 0x100c9707
call fcn.100c0440
or eax, edx
je 0x100c9705
mov eax, 1
jmp 0x100c9707
xor eax, eax
cmp byte [ebp], 0x1c
jne 0x100c971a
lea ecx, [eax + esi*2]
movzx eax, byte [esi + ecx + 0x1014889c]
jmp 0x100c9725
lea edx, [eax + esi*2]
movzx eax, byte [esi + edx + 0x101488e0]
cmp eax, 2
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edi + ecx*8]
jne 0x100c9750
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 0x100c85ae
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 0x100c85ae
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.100c06f0
test byte [edi + 8], 1
jne case.0x100c85cb.110
mov edx, edi
mov word [esi + 8], 4
call fcn.100c0440
or eax, edx
jne 0x100c97c1
mov edi, dword [esp + 0x20]
mov eax, 1
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
add ebp, 0x14
jmp 0x100c85ae
mov edi, dword [esp + 0x20]
xor eax, eax
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
add ebp, 0x14
jmp 0x100c85ae
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.100c06f0
test byte [edi + 8], 1
jne case.0x100c85cb.110
mov edx, edi
mov word [esi + 8], 4
call fcn.100c0440
mov edi, dword [esp + 0x20]
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
add ebp, 0x14
jmp 0x100c85ae
mov ecx, dword [edi + 0xd0]
mov edx, dword [ebp + 4]
cmp byte [ecx + edx], 0
lea eax, [ecx + edx]
jne 0x100ccedf
mov edi, dword [esp + 0x20]
mov byte [eax], 1
add ebp, 0x14
jmp 0x100c85ae
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 0x100c985c
mov eax, dword [ebp + 0xc]
jmp 0x100c9886
call fcn.100c04b0
fcomp qword [0x1015ce88]
fnstsw ax
test ah, 0x44
jnp 0x100c9875
mov eax, 1
jmp 0x100c9877
xor eax, eax
cmp byte [ebp], 0x16
jne 0x100c9886
xor edx, edx
test eax, eax
sete dl
mov eax, edx
test eax, eax
jne 0x100ccedf
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
jne 0x100ccedf
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
test byte [eax + edx*8 + 8], 1
je 0x100ccedf
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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.100c4590
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 0x100c92d5
mov edx, dword [ebx + 0x40]
mov edi, dword [esp + 0x20]
cmp edx, dword [edi + 0x48]
mov eax, dword [esp + 0x80]
je 0x100c9a92
cmp byte [ebx + 2], 0
je 0x100c9997
cmp byte [ebx], 3
jne 0x100c9984
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 0x100c9a1a
mov eax, esi
call fcn.100c06f0
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
cmp byte [ebx + 4], 0
mov esi, ecx
mov eax, esi
jne 0x100c99d9
call fcn.100b8cd0
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.100b9210
mov edx, dword [esp + 0x178]
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x44], edx
jmp 0x100c99f7
call fcn.100b8cd0
mov eax, dword [esi + 0x1c]
mov edx, dword [esp + 0x1c]
lea esi, [esp + 0x94]
mov dword [ebx + 0x44], eax
call fcn.100b9210
mov dword [ebx + 0x50], eax
mov eax, dword [ebx + 0x44]
mov ecx, dword [esp + 0x94]
cmp eax, ecx
ja 0x100c9a0a
mov dword [ebx + 0x48], eax
jmp 0x100c9a1a
mov edx, dword [esp + 0x14]
cmp eax, dword [edx + 0x5c]
ja 0x100c9065
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 0x100c9a3a
movzx eax, al
mov dword [esp + 0xf8], eax
mov ecx, 1
jmp 0x100c9a50
lea esi, [esp + 0xf8]
call fcn.100a7720
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 0x100c9a9e
xor ecx, ecx
cmp eax, 0x18003
mov dword [ebx + 0x50], ecx
mov dword [ebx + 0x48], ecx
ja 0x100c9a7f
cmp eax, dword [ebx + 0x44]
jbe 0x100c9a9e
mov eax, 0x13538
call fcn.1010ffd0
mov dword [esp + 0x10], eax
jmp 0x100c92d9
movzx ecx, word [ebx + 0x12]
cmp ecx, eax
jg 0x100c9ca3
mov eax, dword [ebx + 0x4c]
mov edx, dword [esp + 0x38]
cmp eax, dword [edx]
jae 0x100c9c51
cmp dword [ebx + 0x50], 0
jne 0x100c9b33
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.100c0c90
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
mov edx, dword [esp + 0x1b8]
jmp 0x100c9b36
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 0x100c9b98
movzx eax, al
movzx eax, byte [eax + 0x101487f8]
cdq
add edi, 1
add ecx, eax
adc dword [esp + 0x7c], edx
mov dword [esp + 0x78], ecx
jmp 0x100c9bc2
lea esi, [esp + 0x4c]
mov ecx, edi
call fcn.100a7720
movzx ecx, al
mov eax, dword [esp + 0x4c]
add edi, ecx
call fcn.100c4700
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 0x100c9bf6
cmp edi, eax
jb 0x100c9b70
mov edx, edi
sub edx, dword [esp + 0x30]
cmp edi, eax
mov word [ebx + 0x12], si
mov dword [ebx + 0x4c], edx
jb 0x100c9c24
ja 0x100cd10e
mov eax, dword [ebx + 0x44]
xor edx, edx
cmp ecx, eax
jne 0x100cd10e
cmp dword [esp + 0x7c], edx
jne 0x100cd10e
mov edx, dword [ebx + 0x44]
xor eax, eax
cmp dword [esp + 0x7c], eax
ja 0x100cd10e
jb 0x100c9c3d
cmp ecx, edx
ja 0x100cd10e
cmp dword [ebx + 0x50], 0
jne 0x100c9c59
lea eax, [esp + 0x1a8]
call fcn.100c03c0
jmp 0x100c9c59
mov dword [esp + 0x4c], 0
movzx eax, word [ebx + 0x12]
cmp eax, dword [esp + 0x80]
jg 0x100c9cad
cmp byte [ebp + 1], 0xf8
jne 0x100c9c8e
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x2c]
push 0x800
push ecx
push edx
call fcn.100c08d0
mov edi, dword [esp + 0x2c]
add esp, 0xc
add ebp, 0x14
jmp 0x100c85ae
mov eax, dword [esp + 0x2c]
call fcn.100c06f0
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov eax, dword [ebx + eax*4 + 0x58]
mov dword [esp + 0x4c], eax
jmp 0x100c9cb1
mov esi, dword [esp + 0x2c]
test word [esi + 8], 0x2460
je 0x100c9cc0
mov eax, esi
call fcn.100c06f0
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 0x100c9d70
mov ebx, dword [ebx + 0x50]
add ebx, dword [ecx + edi*4]
mov edi, dword [esp + 0x4c]
cmp edi, 0xc
jae 0x100c9d05
mov eax, esi
mov edx, edi
mov ecx, ebx
call fcn.100c4830
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
add edi, 0xfffffff4
shr edi, 1
lea ecx, [edi + 2]
cmp dword [esi + 0x18], ecx
mov dword [esi + 0xc], edi
jge 0x100c9d2e
xor eax, eax
mov edx, esi
mov word [esi + 8], 1
call fcn.100bff20
test eax, eax
jne 0x100cd325
jmp 0x100c9d34
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 + 0x101488ec]
add esp, 0xc
mov word [esi + 8], cx
add ebp, 0x14
jmp 0x100c85ae
mov dl, byte [ebp + 3]
test dl, 0xc0
je 0x100c9d8a
cmp dword [esp + 0x4c], 0xc
jb 0x100c9d86
test byte [esp + 0x4c], 1
je 0x100c9d97
test dl, dl
js 0x100c9d97
mov eax, dword [esp + 0x4c]
call fcn.100c4700
test eax, eax
jne 0x100c9db3
mov edx, dword [esp + 0x4c]
mov eax, esi
mov ecx, 0x101725ec
call fcn.100c4830
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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.100c0c90
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
mov edx, dword [esp + 0x4c]
mov ecx, dword [esi + 0x10]
mov eax, esi
call fcn.100c4830
and word [esi + 8], 0xefff
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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.0x100c85cb.110
mov ecx, dword [esp + 0x48]
push ecx
mov ecx, edi
add esi, 1
call fcn.100c8380
mov al, byte [esi]
add esp, 4
add edi, 0x28
test al, al
jne 0x100c9e16
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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 0x100c9ebc
mov al, byte [ebx]
mov esi, ecx
mov edi, edi
mov ecx, dword [esp + 0x48]
push ecx
mov ecx, esi
call fcn.100c8380
mov al, byte [ebx + 1]
add ebx, 1
add esp, 4
add esi, 0x28
test al, al
jne 0x100c9ea0
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
push edx
lea ebx, [esp + 0xcc]
mov edx, esi
call fcn.100c45e0
mov ebx, eax
add esp, 4
test word [esi + 8], 0x4000
mov dword [esp + 0x2c], ebx
mov dword [esi + 0x1c], ebx
je 0x100c9f24
mov eax, dword [esp + 0xb8]
or eax, dword [esp + 0xbc]
je 0x100c9f06
call fcn.100c00d0
test eax, eax
jne 0x100cd325
jmp 0x100c9f24
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 0x100c9f46
mov eax, 1
jmp 0x100c9f51
push 0
push ebx
call fcn.100a77a0
add esp, 8
mov ebx, dword [esp + 0x30]
add ebx, eax
cmp esi, dword [esp + 0x44]
mov dword [esp + 0x30], ebx
je 0x100c9f69
sub esi, 0x28
jmp 0x100c9ec0
cmp ebx, 0x7e
jle 0x100c9f8d
mov eax, ebx
cdq
push edx
push eax
call fcn.100a77a0
mov esi, eax
add ebx, esi
mov eax, ebx
cdq
push edx
push eax
call fcn.100a77a0
add esp, 0x10
cmp esi, eax
jge 0x100c9f90
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 0x100c9069
jl 0x100c9fe2
cmp esi, eax
ja 0x100c9069
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x128]
cmp dword [esi + 0x18], eax
jge 0x100ca022
mov ecx, dword [esp + 0x128]
xor eax, eax
mov edx, esi
call fcn.100bff20
test eax, eax
jne 0x100cd325
cmp ebx, 0x80
mov esi, dword [esi + 0x10]
mov dword [esp + 0x38], esi
jae 0x100ca02f
mov byte [esi], bl
mov eax, 1
jmp 0x100ca047
mov ecx, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], ecx
jmp 0x100ca00a
mov edx, dword [esp + 0x14c]
mov eax, dword [esp + 0x148]
push edx
push eax
call fcn.100a7540
add esp, 8
movzx ecx, al
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x1c], ecx
jmp 0x100ca060
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0x80
mov dword [esp + 0x2c], ecx
jae 0x100ca081
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
mov byte [edx + eax], cl
mov eax, 1
jmp 0x100ca09b
mov edx, dword [esp + 0x38]
push 0
push ecx
mov ecx, dword [esp + 0x24]
lea esi, [ecx + edx]
call fcn.100a7540
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.100c4720
add esi, eax
add ebx, 0x28
cmp ebx, dword [esp + 0x28]
mov dword [esp + 0x30], esi
jbe 0x100ca060
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 0x100ca0f1
mov dword [eax], ecx
mov word [eax + 8], 0x4010
mov edi, dword [esp + 0x20]
mov byte [eax + 0xa], 1
add ebp, 0x14
jmp 0x100c85ae
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.100bd950
add esp, 4
cmp eax, esi
mov dword [esp + 0x10], eax
jne 0x100c92d5
mov edx, dword [esp + 0x20]
mov eax, ebp
call fcn.100c84b0
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 0x100c85ae
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 0x100ca235
cmp dword [esi + 0xa0], eax
jg 0x100ccefa
mov eax, edx
call fcn.100a67a0
mov ebx, eax
mov eax, dword [esi + 0x1b4]
add eax, dword [esi + 0x1b0]
push eax
push 0
push esi
call fcn.100feea0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
push eax
lea ecx, [ebx + 0x21]
push ecx
mov eax, esi
call fcn.100a41a0
mov edi, eax
add esp, 8
test edi, edi
je 0x100c92ca
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 0x100ca1f6
mov byte [esi + 0x43], 0
mov byte [esi + 0x4b], 1
jmp 0x100ca1fd
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 0x100c92ca
mov ebx, dword [esi + 0x1a8]
test ebx, ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x38], ebx
je 0x100ca26f
jmp 0x100ca250
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebx]
call fcn.100a6a00
test eax, eax
je 0x100ca290
mov ebx, dword [ebx + 0x18]
add dword [esp + 0x1c], 1
test ebx, ebx
mov dword [esp + 0x38], ebx
jne 0x100ca250
mov ecx, dword [esp + 0x2c]
push ecx
push str.no_such_savepoint:__s
mov esi, edi
call fcn.100c1300
add esp, 8
mov dword [esp + 0x10], 1
jmp 0x100c92d9
mov eax, dword [esp + 0x24]
xor ecx, ecx
cmp dword [esi + 0xa0], ecx
jle 0x100ca2a7
cmp eax, 1
je 0x100ccf04
cmp dword [ebx + 0x18], ecx
jne 0x100ca2fc
cmp byte [esi + 0x4b], 0
je 0x100ca2fc
cmp eax, 1
mov dword [esp + 0x28], 1
jne 0x100ca300
push eax
mov eax, edi
call fcn.100c3b10
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100cd4e8
mov edi, dword [esp + 0x20]
mov byte [esi + 0x43], 1
call fcn.100c3b80
cmp eax, 5
je 0x100cd133
mov byte [esi + 0x4b], 0
mov edx, dword [edi + 0x50]
mov dword [esp + 0x10], edx
jmp 0x100ca3cd
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 0x100ca369
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 0x100ca36d
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.100b8780
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
mov eax, dword [esp + 0x14]
add edi, 1
add esi, 0x10
cmp edi, dword [eax + 0x14]
jl 0x100ca336
jmp 0x100ca36d
mov dword [esp + 0x2c], ecx
mov esi, dword [esp + 0x14]
xor edi, edi
cmp dword [esi + 0x14], edi
jle 0x100ca3b4
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.100b8a00
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
mov eax, dword [esp + 0x14]
add edi, 1
add esi, 0x10
cmp edi, dword [eax + 0x14]
jl 0x100ca382
mov esi, eax
cmp dword [esp + 0x2c], 0
je 0x100ca3cd
mov eax, esi
call fcn.100c5bb0
mov eax, esi
call fcn.100dc7d0
or dword [esi + 0x18], 2
mov ecx, dword [esp + 0x38]
cmp dword [esi + 0x1a8], ecx
je 0x100ca444
lea esp, [esp]
cmp dword [esi + 0x1c8], 0
mov eax, dword [esi + 0x1a8]
mov edx, dword [eax + 0x18]
mov dword [esi + 0x1a8], edx
je 0x100ca401
mov ecx, esi
call fcn.100a3e80
jmp 0x100ca431
cmp eax, dword [esi + 0x120]
jb 0x100ca428
cmp eax, dword [esi + 0x124]
jae 0x100ca428
mov ecx, dword [esi + 0x11c]
mov dword [eax], ecx
add dword [esi + 0x108], 0xffffffff
mov dword [esi + 0x11c], eax
jmp 0x100ca431
push eax
call fcn.100a3e10
add esp, 4
mov edx, dword [esp + 0x38]
add dword [esi + 0x1b0], 0xffffffff
cmp dword [esi + 0x1a8], edx
jne 0x100ca3e0
mov edi, dword [esp + 0x24]
cmp edi, 1
mov eax, dword [esp + 0x38]
jne 0x100ca479
mov ecx, dword [eax + 0x18]
mov dword [esi + 0x1a8], ecx
mov ecx, esi
call fcn.100a3ec0
cmp dword [esp + 0x28], 0
jne 0x100c92ca
mov esi, dword [esp + 0x14]
add dword [esi + 0x1b0], 0xffffffff
jmp 0x100ca4b1
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 0x100ca4b1
cmp edi, 2
jne 0x100c92ca
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
push ecx
push edi
push esi
call fcn.100feea0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov eax, dword [ebp + 8]
test eax, eax
mov esi, dword [esp + 0x14]
je 0x100ca4f0
test dword [esi + 0x18], 0x4000000
jne 0x100cd267
mov edx, dword [ebp + 4]
mov ecx, dword [esi + 0x10]
shl edx, 4
mov ebx, dword [edx + ecx + 4]
test ebx, ebx
je 0x100ca5eb
push eax
push ebx
call fcn.100b79d0
mov ecx, eax
add esp, 8
cmp cl, 5
mov dword [esp + 0x10], ecx
je 0x100cd274
test ecx, ecx
jne 0x100c92d5
cmp dword [ebp + 8], eax
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
je 0x100ca5c5
test byte [edi + 0x60], 0x10
je 0x100ca5c5
cmp byte [esi + 0x43], al
je 0x100ca54f
cmp dword [esi + 0x9c], 1
jle 0x100ca5c5
cmp dword [edi + 0x70], 0
jne 0x100ca56d
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.100feea0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100ca595
mov eax, dword [edi + 0x70]
mov ecx, ebx
call fcn.100b89a0
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.100bd880
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 0x100ca5f8
mov dword [esp + 0xcc], 0
xor eax, eax
cmp byte [ebp + 3], 0
je 0x100ca617
mov ecx, dword [esp + 0xcc]
cmp ecx, dword [ebp + 0xc]
jne 0x100ccf0e
cmp eax, dword [ebp + 0x10]
jne 0x100ccf0e
cmp dword [esp + 0x10], 0
jne 0x100c92d9
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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.100bd880
add esp, 8
mov eax, ebp
mov edx, edi
call fcn.100c84b0
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 0x100c85ae
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.100bd8e0
mov edx, eax
mov eax, dword [ebp + 8]
add esp, 8
cmp eax, 1
mov dword [esp + 0x10], edx
jne 0x100ca6b3
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [eax], ecx
or dword [ebx + 0x18], 2
jmp 0x100ca6c1
cmp eax, 2
jne 0x100ca6c1
mov eax, dword [esi + 0xc]
mov cl, byte [ebp + 0xc]
mov byte [eax + 0x4c], cl
cmp dword [ebp + 4], 1
jne 0x100ca6d2
mov eax, ebx
call fcn.100c5bb0
and dword [edi + 0x58], 0xfffffffe
test edx, edx
jne 0x100c92d5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
test esi, esi
je case.0x100c85cb.102
mov edx, dword [esi + 0xc]
cmp edx, dword [ebp + 8]
je 0x100ca7f4
test byte [edi + 0x58], 1
jne 0x100cd294
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 0x100ca751
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 0x100ca755
mov byte [edi + 0x5c], al
jmp 0x100ca755
mov dword [esp + 0x30], ebx
test byte [ebp + 3], 0x10
je 0x100ca774
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.100c0560
mov edx, dword [esi]
mov dword [esp + 0x2c], edx
mov al, byte [ebp + 1]
cmp al, 0xfa
jne 0x100ca78e
mov ebx, dword [ebp + 0x10]
movzx eax, word [ebx + 8]
movzx ecx, word [ebx + 6]
add eax, ecx
mov dword [esp + 0x28], eax
jmp 0x100ca799
cmp al, 0xf2
jne 0x100ca799
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.100c8210
mov esi, eax
add esp, 0xc
test esi, esi
je 0x100cd325
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.100b8b50
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 0x100c92d9
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov edx, dword [ebp + 4]
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x20]
push 0
push 0xffffffffffffffff
push edx
call fcn.100c8210
mov esi, eax
add esp, 0xc
test esi, esi
je 0x100cd325
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.100b6870
add esp, 0x10
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
mov edx, dword [edi]
push 1
push edx
call fcn.100b79d0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
mov ebx, dword [ebp + 0x10]
test ebx, ebx
je 0x100ca8d6
movzx eax, byte [ebp + 3]
or eax, 2
push eax
mov eax, dword [edi]
lea ecx, [esp + 0x138]
push ecx
call fcn.100bd370
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100ca8d0
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.100b8b50
add esp, 0xc
mov dword [esp + 0x10], eax
mov byte [esi + 4], 0
jmp 0x100ca8f5
mov eax, dword [esi + 0x14]
mov ecx, dword [edi]
push eax
push 0
push 4
mov eax, 1
call fcn.100b8b50
add esp, 0xc
mov dword [esp + 0x10], eax
mov byte [esi + 4], 1
cmp dword [esp + 0x10], 0
jne 0x100c92d5
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 0x100c85ae
mov edx, dword [ebp + 4]
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x20]
push 1
push 0xffffffffffffffff
push edx
call fcn.100c8210
add esp, 0xc
test eax, eax
je 0x100cd325
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.100ced30
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
add ebp, 0x14
jmp 0x100c85ae
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 0x100ccedf
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x20]
push 3
push 0xffffffffffffffff
push eax
mov eax, dword [ebp + 0xc]
call fcn.100c8210
add esp, 0xc
test eax, eax
je 0x100cd325
mov byte [eax + 2], 1
mov ecx, dword [ebp + 8]
mov dword [eax + 0x14], ecx
mov byte [eax + 4], 1
add ebp, 0x14
jmp 0x100c85ae
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + edx*4]
push edi
call fcn.100c2d40
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 0x100c85ae
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 0x100caaf1
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 0x100caa4e
push 0
mov eax, ebx
call fcn.100c8300
add esp, 4
mov edx, ebx
call fcn.100c0440
mov dword [esp + 0xd8], eax
movzx eax, word [ebx + 8]
test al, 4
mov dword [esp + 0xdc], edx
jne 0x100caaa8
test al, 8
je 0x100ccedf
fild qword [esp + 0xd8]
fcom qword [ebx]
fnstsw ax
test ah, 0x41
jne 0x100caa93
test byte [esp + 0x1c], 1
fstp st(0)
jne 0x100caaa8
sub dword [esp + 0x1c], 1
jmp 0x100caaa8
fcomp qword [ebx]
fnstsw ax
test ah, 5
jp 0x100caaa8
test byte [esp + 0x1c], 1
je 0x100caaa8
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.100b9510
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 0x100c92d9
jmp 0x100cab97
mov ecx, dword [esi + 0x14]
test byte [ecx + 0x43], 2
je 0x100cab02
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 0x100cab52
mov esi, eax
call fcn.100c00d0
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.100b9510
add esp, 0x14
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d9
cmp dword [esp + 0x28], eax
je 0x100cab97
cmp byte [esp + 0x166], al
je 0x100cac0f
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 0x100cabd1
cmp eax, ebx
jl 0x100cabbd
jne 0x100cabb7
cmp ecx, 0x1a
je 0x100cabbd
mov dword [esp + 0x54], ebx
jmp 0x100cac1a
lea ecx, [esp + 0x54]
mov dword [esp + 0x54], ebx
mov edx, dword [esi + 0x14]
push ecx
push edx
call fcn.100b9a90
jmp 0x100cac00
cmp eax, ebx
jg 0x100cabee
jne 0x100cabdc
cmp ecx, 0x17
je 0x100cabee
mov eax, dword [esi + 0x14]
xor ecx, ecx
cmp byte [eax + 0x42], 1
setne cl
mov dword [esp + 0x54], ecx
jmp 0x100cac0f
lea edx, [esp + 0x54]
mov dword [esp + 0x54], ebx
mov eax, dword [esi + 0x14]
push edx
push eax
call fcn.100b9c00
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x100c92d9
cmp dword [esp + 0x54], 0
jne 0x100ccedf
cmp dword [esp + 0x28], 0
je case.0x100c85cb.110
mov edi, dword [esp + 0x20]
add ebp, 0x14
add ebp, 0x14
jmp 0x100c85ae
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 0x100cacca
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 0x100cacc1
xor eax, eax
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x16c]
add eax, edx
test word [eax + 8], 0x4000
je 0x100cacac
mov esi, eax
call fcn.100c00d0
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 0x100cac88
lea ebx, [esp + 0x168]
jmp 0x100cad28
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x1c]
push 0xb7
lea edi, [esp + 0x10c]
lea edx, [esp + 0x264]
call fcn.100c49a0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x100cd325
mov esi, dword [esp + 0x30]
test word [esi + 8], 0x4000
je 0x100cad07
call fcn.100c00d0
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.100c4a10
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 0x100cad61
cmp word [ebx + 8], cx
jbe 0x100cad61
mov eax, dword [ebx + 4]
add eax, 8
test byte [eax], 1
jne 0x100cad59
movzx edx, word [ebx + 8]
add ecx, 1
add eax, 0x28
cmp ecx, edx
jl 0x100cad44
jmp 0x100cad61
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.100b9510
mov ecx, dword [esp + 0x28]
mov ebx, eax
mov eax, dword [esp + 0x11c]
add esp, 0x14
mov dword [esp + 0x10], ebx
call fcn.100a3ec0
test ebx, ebx
jne 0x100c92d9
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 0x100cadd3
cmp eax, edx
jne 0x100ccedf
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
cmp dword [esp + 0x30], edx
jne 0x100ccedf
test eax, eax
je 0x100ccedf
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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.100b9510
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 0x100cae87
cmp dword [ebp + 8], ecx
jne 0x100ccedf
mov eax, 0x13b6c
call fcn.1010ffd0
mov dword [esp + 0x10], eax
xor ecx, ecx
cmp dword [esp + 0x10], ecx
jne 0x100c92d9
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov eax, ebp
mov edx, edi
call fcn.100c84b0
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 0x100c85ae
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.100c84b0
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 0x100caf84
mov esi, eax
mov eax, dword [esi + 0x14]
lea edi, [esp + 0x9c]
call fcn.100b94c0
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
cmp dword [esp + 0x9c], eax
je 0x100caf42
mov dword [esp + 0x58], 1
xor edi, edi
jmp 0x100caf80
mov edi, dword [esi + 0x14]
mov eax, edi
call fcn.100b8cd0
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 0x100caf76
jg 0x100caf71
cmp eax, 0xffffffff
jb 0x100caf76
or dword [esi + 8], ebx
jmp 0x100caf84
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 0x100cb00f
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xb8]
test ecx, ecx
je 0x100cafb8
mov eax, dword [ecx + 4]
test eax, eax
je 0x100cafad
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x100cafa4
mov eax, dword [ecx + 0x10]
lea edx, [edx + edx*4]
lea esi, [eax + edx*8]
jmp 0x100cafc2
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x18]
lea esi, [edx + ecx*8]
call fcn.100c0560
mov eax, dword [esi]
cmp eax, 0xffffffff
mov ecx, dword [esi + 4]
jne 0x100cafdd
cmp ecx, 0x7fffffff
je 0x100cb08c
mov edx, dword [esp + 0x1c]
test byte [edx + 8], bl
jne 0x100cb08c
add eax, 1
adc ecx, 0
cmp edi, ecx
jg 0x100cb006
jl 0x100caffc
cmp dword [esp + 0x58], eax
jae 0x100cb006
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 0x100cb099
mov dword [esp + 0x30], 0
mov esi, ecx
lea edx, [esp + 0x58]
push edx
push 8
call fcn.100a5d40
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.100b9510
add esp, 0x1c
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
cmp dword [esp + 0x9c], eax
jne 0x100cb099
mov eax, dword [esp + 0x30]
add eax, 1
cmp eax, 0x64
mov dword [esp + 0x30], eax
jl 0x100cb026
mov dword [esp + 0x10], 0xd
jmp 0x100c92d5
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 0x100c85ae
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 0x100cb101
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 0x100cb113
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 0x100cb157
cmp dword [eax + 0xd8], ecx
je 0x100cb157
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 0x100cb15f
mov dword [esp + 0x44], ecx
mov dword [esp + 0x28], ecx
test byte [ebp + 3], 1
je 0x100cb169
add dword [edi + 0x64], 1
test byte [ebp + 3], 2
je 0x100cb18b
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 0x100cb19a
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0xc], ecx
mov al, byte [ebp + 3]
test al, 0x10
je 0x100cb1a6
mov edi, dword [esi + 0x20]
jmp 0x100cb1a8
xor edi, edi
test edx, 0x4000
je 0x100cb1b2
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.100bcbc0
add esp, 0x20
test eax, eax
mov dword [esp + 0x10], eax
mov byte [esi + 3], 0
mov dword [esi + 0x40], 0
jne 0x100c92d5
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xd8]
test eax, eax
je case.0x100c85cb.110
mov ecx, dword [esp + 0x30]
test ecx, ecx
je case.0x100c85cb.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 0x100c85ae
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 0x100cb290
mov eax, dword [esp + 0x14]
cmp dword [eax + 0xd8], 0
je 0x100cb290
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 0x100cb29a
cmp byte [ebx + 4], 0
je 0x100cb29a
mov esi, dword [ebx + 0x14]
lea edi, [ebx + 0x30]
call fcn.100b8d10
jmp 0x100cb29a
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.100bcdf0
test eax, eax
mov dword [esp + 0x10], eax
mov dword [ebx + 0x40], 0
jne 0x100c92d5
test byte [esp + 0x28], 1
je case.0x100c85cb.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.0x100c85cb.110
mov ecx, dword [esp + 0x30]
test byte [ecx + 0x2a], 0x20
jne case.0x100c85cb.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 0x100c85ae
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 0x100c85ae
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.100d1040
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
cmp dword [esp + 0xf0], eax
jne 0x100ccedf
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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.100d0fa0
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
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 0x100c85ae
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 0x100cb42e
call fcn.100b8cd0
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x5c]
mov ecx, dword [ebx + 0x14]
cdq
cmp ecx, edx
jg 0x100c9069
jl 0x100cb425
cmp dword [ebx + 0x10], eax
ja 0x100c9069
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x1c], ecx
jmp 0x100cb449
call fcn.100b8cd0
mov eax, dword [ebx + 0x1c]
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0x5c]
mov dword [esp + 0x1c], eax
ja 0x100c9069
mov ecx, eax
cmp ecx, 0x20
ja 0x100cb453
mov ecx, 0x20
cmp dword [esi + 0x18], ecx
jge 0x100cb4a1
xor eax, eax
mov edx, esi
call fcn.100bff20
test eax, eax
jne 0x100cd325
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 0x100cb4ae
mov eax, dword [esi + 0x10]
push 0
push eax
mov eax, dword [esp + 0x24]
push eax
push 0
mov edi, ebx
call fcn.100b8eb0
jmp 0x100cb4bb
mov edx, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], edx
jmp 0x100cb469
mov ecx, dword [esi + 0x10]
push ecx
push eax
push 0
push ebx
call fcn.100b91c0
add esp, 0x10
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
mov edi, dword [esp + 0x20]
mov byte [esi + 0xa], 1
add ebp, 0x14
jmp 0x100c85ae
mov eax, ebp
mov edx, edi
call fcn.100c84b0
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 0x100cb50a
mov edi, dword [esp + 0x20]
mov word [ebx + 8], 1
add ebp, 0x14
jmp 0x100c85ae
cmp byte [esi + 3], 0
je 0x100cb53e
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 0x100c85ae
cmp byte [esi], 2
jne 0x100cb595
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.100c5c50
add esp, 0xc
cmp dword [esp + 0x10], 0
jne 0x100c92d5
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 0x100c85ae
mov eax, esi
call fcn.100c4570
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
cmp byte [esi + 2], al
je 0x100cb5bf
mov edi, dword [esp + 0x20]
mov word [ebx + 8], 1
add ebp, 0x14
jmp 0x100c85ae
mov esi, dword [esi + 0x14]
mov eax, esi
call fcn.100b8cd0
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 0x100c85ae
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.0x100c85cb.110
mov esi, dword [eax + 0x14]
call fcn.100b5280
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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.100b94c0
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 0x100c92d5
cmp dword [ebp + 8], ebx
jle case.0x100c85cb.110
test ecx, ecx
jne 0x100ccedf
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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 0x100cb6c1
lea edi, [esp + 0xa8]
mov ecx, ebx
call fcn.100d0ee0
jmp 0x100cb6f5
mov esi, dword [ebx + 0x14]
call fcn.100b92b0
xor edi, edi
cmp eax, edi
jne 0x100cb6ee
cmp byte [esi + 0x42], 0
jne 0x100cb6e2
mov dword [esp + 0xa8], 1
jmp 0x100cb6ee
mov dword [esp + 0xa8], edi
call fcn.100b9410
mov byte [ebx + 3], 0
mov dword [ebx + 0x40], edi
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
mov eax, dword [esp + 0xa8]
test eax, eax
mov byte [ebx + 2], al
jne 0x100ccedf
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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.100d0f30
add esp, 4
jmp 0x100cb782
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
cmp dword [eax + edx*4], 0
je case.0x100c85cb.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 0x100c92d5
cmp dword [esp + 0x88], eax
jne 0x100cb7b3
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.0x100c85cb.13
mov byte [esi + 2], 1
jmp 0x100ccc28
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 0x100cb7dc
add dword [edi + 0x64], 1
test word [esi + 8], 0x4000
je 0x100cb7f5
call fcn.100c00d0
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
cmp byte [ebp], 0x7b
jne 0x100cb808
push esi
mov eax, ebx
call fcn.100cfdd0
add esp, 4
jmp 0x100cb83f
test byte [ebp + 3], 0x10
mov eax, dword [esi + 0xc]
mov esi, dword [esi + 0x10]
je 0x100cb819
mov ecx, dword [ebx + 0x20]
jmp 0x100cb81b
xor ecx, ecx
push ecx
mov ecx, dword [ebp + 0xc]
push ecx
push 0
push 0
cdq
push 0x1014c8c8
push edx
push eax
mov eax, dword [ebx + 0x14]
push esi
call fcn.100bcbc0
add esp, 0x20
mov dword [ebx + 0x40], 0
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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.100b9510
add esp, 0x14
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d9
cmp dword [esp + 0x138], eax
jne 0x100cb8dd
mov al, 4
mov ecx, ebx
call fcn.100bcdf0
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d9
mov edi, dword [esp + 0x20]
mov dword [esi + 0x40], 0
add ebp, 0x14
jmp 0x100c85ae
mov eax, dword [edi + 0x38]
mov edx, dword [ebp + 4]
mov esi, dword [eax + edx*4]
mov eax, esi
call fcn.100c4570
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
cmp byte [esi + 2], al
jne 0x100cb9b6
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.100c5960
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x100c92d5
cmp byte [ebp], 0x7e
jne 0x100cb988
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 0x100c85ae
mov eax, ebp
mov edx, edi
call fcn.100c84b0
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 0x100c85ae
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
call fcn.100c06f0
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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.100c5ab0
mov ecx, dword [esp + 0x90]
add esp, 0xc
test byte [ebp], 1
mov dword [esp + 0x10], eax
jne 0x100cba50
neg ecx
jmp 0x100cba53
add ecx, 1
test eax, eax
mov dword [esp + 0x84], ecx
jne 0x100c92d5
test ecx, ecx
jg 0x100ccedf
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov eax, ebp
mov edx, edi
call fcn.100c84b0
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 0x100cd2a1
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.100bd830
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 0x100c92d5
test ecx, ecx
je case.0x100c85cb.110
mov edi, dword [ebp + 4]
mov esi, ecx
mov ecx, dword [esp + 0x14]
mov eax, ebx
call fcn.100dede0
mov edi, dword [esp + 0x20]
add bl, 1
mov byte [esp + 0x53], bl
add ebp, 0x14
jmp 0x100c85ae
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.100bd570
add esp, 8
cmp dword [ebp + 0xc], 0
mov esi, eax
mov dword [esp + 0x10], esi
je 0x100cbb82
mov eax, dword [esp + 0x104]
add dword [edi + 0x64], eax
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jle 0x100cbb82
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 0x100c92d5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + eax*4]
cmp byte [eax], 1
jne 0x100cbbbc
mov esi, dword [eax + 0x14]
mov ebx, dword [esp + 0x14]
call fcn.100cf220
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov eax, dword [eax + 0x14]
mov edx, dword [eax + 0x34]
mov eax, dword [eax]
push 0
push edx
call fcn.100bd570
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov eax, ebp
mov edx, edi
call fcn.100c84b0
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.100bd370
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
mov eax, dword [esp + 0x10c]
mov edi, dword [esp + 0x20]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
add ebp, 0x14
jmp 0x100c85ae
mov eax, dword [ebp + 4]
cmp eax, 1
mov ecx, str.sqlite_temp_master
je 0x100cbc61
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.100a5af0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x100ccf61
push 0
lea eax, [esp + 0x19c]
push eax
push fcn.100efaf0
push esi
push edi
mov byte [edi + 0x95], 1
mov dword [esp + 0x1b8], 0
call fcn.100ec2e0
mov ebx, eax
add esp, 0x14
test ebx, ebx
mov dword [esp + 0x10], ebx
jne 0x100cbce9
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0x10], ecx
mov ebx, ecx
mov eax, esi
mov ecx, edi
call fcn.100a3ec0
test ebx, ebx
mov byte [edi + 0x95], 0
je case.0x100c85cb.110
mov eax, edi
call fcn.100dc7d0
cmp ebx, 7
je 0x100cd325
jmp 0x100c92d5
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
call fcn.100dabb0
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x14]
push edx
call fcn.100dcb40
mov edi, dword [esp + 0x24]
add esp, 4
add ebp, 0x14
jmp 0x100c85ae
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [ebp + 4]
push ecx
call fcn.100dc590
mov edi, dword [esp + 0x28]
add esp, 8
add ebp, 0x14
jmp 0x100c85ae
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
mov eax, dword [ebp + 4]
call fcn.100fae70
mov edi, dword [esp + 0x28]
add esp, 8
add ebp, 0x14
jmp 0x100c85ae
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.100be460
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.100c06f0
test ebx, ebx
je 0x100cbe1a
mov ebx, dword [esp + 0x30]
test ebx, ebx
je 0x100cd325
push fcn.100a3e10
push 1
or eax, 0xffffffff
mov ecx, edi
call fcn.100c09e0
add esp, 8
movzx ecx, byte [esp + 0x48]
mov eax, edi
call fcn.100bff00
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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 0x100cbe5d
call fcn.100c07e0
test byte [esi + 8], bl
je 0x100cd325
mov ecx, dword [edi + 4]
mov edx, dword [edi]
mov esi, dword [esi]
push ecx
push edx
call fcn.100acf30
mov edi, dword [esp + 0x28]
add esp, 8
add ebp, 0x14
jmp 0x100c85ae
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 0x100cbeca
mov eax, dword [ebx]
lea esi, [esp + 0x180]
call fcn.100ad220
test eax, eax
je 0x100cbeca
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.100c0750
add esp, 8
jmp 0x100ccc28
mov eax, ebx
call fcn.100c06f0
jmp case.0x100c85cb.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 0x100cbf05
call fcn.100c07e0
test byte [esi + 8], 0x20
je 0x100cd325
test ebx, ebx
je 0x100cbf2b
mov eax, dword [edi + 4]
mov ecx, dword [edi]
push eax
mov eax, dword [esi]
push ecx
push ebx
call fcn.100ad270
add esp, 0xc
test eax, eax
jne 0x100ccedf
test ebx, ebx
jl case.0x100c85cb.110
mov edx, dword [edi + 4]
mov eax, dword [edi]
mov esi, dword [esi]
push edx
push eax
call fcn.100acf30
mov edi, dword [esp + 0x28]
add esp, 8
add ebp, 0x14
jmp 0x100c85ae
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 0x100cbf80
mov eax, dword [edi + 0xb8]
test eax, eax
mov ecx, dword [ebx + 0x14]
je 0x100cbf80
nop
cmp dword [eax + 0x1c], ecx
je case.0x100c85cb.110
mov eax, dword [eax + 4]
test eax, eax
jne 0x100cbf70
mov eax, dword [edi + 0xc0]
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0x84]
jge 0x100cd2b2
test byte [edx + 8], 0x40
jne 0x100cc082
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
add eax, ecx
test ecx, ecx
mov dword [esp + 0x28], eax
jne 0x100cbfb7
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.100a40f0
mov esi, eax
add esp, 8
test esi, esi
je 0x100cd325
mov eax, dword [esp + 0x2c]
call fcn.100c03c0
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 0x100cc088
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 0x100cc070
jmp 0x100cc088
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 0x100c85ae
mov eax, ebp
mov edx, edi
call fcn.100c84b0
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.100c08d0
mov edi, dword [esp + 0x2c]
add esp, 0xc
add ebp, 0x14
jmp 0x100c85ae
mov ecx, dword [esp + 0x14]
test dword [ecx + 0x18], 0x2000000
mov eax, dword [ebp + 8]
cdq
je 0x100cc19b
add dword [ecx + 0x1c0], eax
mov edi, dword [esp + 0x20]
adc dword [ecx + 0x1c4], edx
add ebp, 0x14
jmp 0x100c85ae
cmp dword [ebp + 4], 0
je 0x100cc1b9
add dword [ecx + 0x1b8], eax
mov edi, dword [esp + 0x20]
adc dword [ecx + 0x1bc], edx
add ebp, 0x14
jmp 0x100c85ae
add dword [edi + 0x98], eax
adc dword [edi + 0x9c], edx
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
cmp dword [ebp + 4], 0
je 0x100cc20b
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x1b8]
or ecx, dword [eax + 0x1bc]
jne case.0x100c85cb.110
mov edx, dword [eax + 0x1c0]
or edx, dword [eax + 0x1c4]
je 0x100ccedf
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov eax, dword [edi + 0x98]
or eax, dword [edi + 0x9c]
jne case.0x100c85cb.110
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x1c0]
or ecx, dword [eax + 0x1c4]
je 0x100ccedf
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov edi, dword [edi + 0xb8]
test edi, edi
je 0x100cc269
mov ecx, edi
mov eax, dword [ecx + 4]
test eax, eax
je 0x100cc25b
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x100cc252
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x10]
lea edi, [eax + edx*8]
jmp 0x100cc276
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.100c0560
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.100c0560
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov edx, dword [edi + 4]
cmp edx, esi
jg case.0x100c85cb.110
jl 0x100cc2ab
mov ecx, dword [edi]
cmp ecx, eax
jae case.0x100c85cb.110
mov dword [edi], eax
mov dword [edi + 4], esi
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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.0x100c85cb.110
jg 0x100cc2e2
test edi, edi
jbe case.0x100c85cb.110
mov eax, dword [ebp + 0xc]
cdq
sub edi, eax
sbb esi, edx
mov dword [ecx], edi
mov dword [ecx + 4], esi
jmp 0x100ccedf
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.100c84b0
mov ecx, dword [esi]
mov esi, dword [esi + 4]
test esi, esi
jg 0x100cc338
jl 0x100cc322
test ecx, ecx
ja 0x100cc338
mov edi, dword [esp + 0x20]
or ecx, 0xffffffff
or esi, ecx
mov dword [eax], ecx
mov dword [eax + 4], esi
add ebp, 0x14
jmp 0x100c85ae
mov edi, dword [ebx + 4]
test edi, edi
mov edx, dword [ebx]
jl 0x100cc347
jg 0x100cc34b
test edx, edx
ja 0x100cc34b
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 0x100c85ae
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.0x100c85cb.110
mov eax, dword [ebp + 0xc]
cdq
sub esi, eax
sbb edi, edx
mov dword [ecx], esi
mov dword [ecx + 4], edi
jmp 0x100ccedf
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 0x100ccedf
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
movzx ebx, byte [ebp + 3]
mov eax, dword [esp + 0x14]
lea edx, [ebx*4 + 0x1c]
push 0
push edx
call fcn.100a41a0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100cd325
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 0x100cc45c
movzx ecx, byte [ebx + 0x1a]
sub ecx, 1
mov dword [ebx + 8], eax
js 0x100cc45c
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 0x100cc441
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 0x100cc4f6
cmp dword [ebx + 0x14], 0
je 0x100cc4db
lea ecx, [esp + 0x238]
push ecx
call fcn.100c60b0
add esp, 4
push eax
push 0x1014e694
mov esi, edi
call fcn.100c1300
mov edx, dword [ebx + 0x14]
add esp, 8
mov dword [esp + 0x10], edx
lea eax, [esp + 0x238]
call fcn.100c03c0
cmp dword [esp + 0x10], 0
jne 0x100c92d9
mov esi, dword [esp + 0x18]
cmp byte [ebx + 0x18], 0
je case.0x100c85cb.110
mov eax, dword [ebp - 0x10]
test eax, eax
je case.0x100c85cb.110
lea eax, [eax + eax*4]
push 0
push 1
lea eax, [esi + eax*8]
call fcn.100c0750
mov edi, dword [esp + 0x28]
add esp, 8
add ebp, 0x14
jmp 0x100c85ae
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.100c0250
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100cd2ce
movzx ecx, byte [esp + 0x48]
mov eax, esi
call fcn.100bff00
mov ecx, esi
call fcn.100c0880
test eax, eax
jne 0x100c9069
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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.1010eac0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
je 0x100cc5d6
cmp eax, 5
jne 0x100c92d5
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.100c0750
add esi, 1
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x100cc5e5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov eax, ebp
mov edx, edi
call fcn.100c84b0
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 0x100cc649
mov esi, eax
cmp byte [ebx + 0x11], 3
jae 0x100cc665
mov ecx, dword [ebx + 0x44]
cmp dword [ecx], 0
je 0x100cc669
cmp dword [ebx + 0x54], 0
jl 0x100cc669
jg 0x100cc665
cmp dword [ebx + 0x50], 0
jbe 0x100cc669
mov esi, dword [esp + 0x1c]
cmp byte [ebx + 0x10], 0
mov eax, 0x1014c8c8
jne 0x100cc67a
mov eax, dword [ebx + 0xb0]
cmp esi, 5
jne 0x100cc69c
call fcn.100a67a0
test eax, eax
je 0x100cc693
mov eax, ebx
call fcn.100b2070
test eax, eax
jne 0x100cc69c
mov esi, dword [esp + 0x1c]
jmp 0x100cc719
mov eax, dword [esp + 0x1c]
cmp esi, eax
je 0x100cc719
cmp eax, 5
je 0x100cc6b2
cmp esi, 5
jne 0x100cc719
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x43], 0
je 0x100cd2ec
cmp dword [ecx + 0x9c], 1
jg 0x100cd2ec
cmp eax, 5
jne 0x100cc6e5
mov eax, ebx
call fcn.100b21e0
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100cc720
mov eax, esi
jmp 0x100cc6ef
cmp eax, 4
jne 0x100cc6f6
mov eax, 2
mov ecx, ebx
call fcn.100b1ec0
cmp dword [esp + 0x10], 0
jne 0x100cc720
mov eax, dword [esp + 0x30]
xor edx, edx
cmp esi, 5
sete dl
add edx, 1
push edx
call fcn.100beba0
add esp, 4
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0
je 0x100cc724
mov esi, dword [esp + 0x1c]
mov eax, esi
mov ecx, ebx
call fcn.100b1ec0
cmp eax, 6
mov ecx, dword [esp + 0x24]
mov word [ecx + 8], 0xa02
jne 0x100cc740
xor eax, eax
jmp 0x100cc747
mov eax, dword [eax*4 + 0x10149100]
mov esi, dword [esp + 0x24]
mov dword [esi + 0x10], eax
call fcn.100a67a0
movzx ecx, byte [esp + 0x48]
mov dword [esi + 0xc], eax
mov eax, esi
mov byte [esi + 0xa], 1
call fcn.100bff00
cmp dword [esp + 0x10], 0
jne 0x100c92d9
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov eax, dword [esp + 0x14]
add edi, 0x2c
push edi
call fcn.100fd700
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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.100b82d0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
je case.0x100c85cb.110
cmp eax, 0x65
jne 0x100c92d5
mov dword [esp + 0x10], 0
jmp 0x100ccedf
cmp dword [ebp + 4], 0
jne 0x100cc7fc
mov eax, dword [esp + 0x14]
call fcn.100c5bb0
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
or dword [edi + 0x58], 1
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov cl, byte [ebp + 0xc]
test cl, cl
jne 0x100cc824
mov edx, dword [esp + 0x14]
test dword [edx + 0x18], 0x4000
jne case.0x100c85cb.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.100beac0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
je case.0x100c85cb.110
cmp al, 6
jne 0x100c92d5
mov ecx, dword [ebp + 0x10]
push ecx
push str.database_table_is_locked:__s
mov esi, edi
call fcn.100c1300
add esp, 8
jmp 0x100c92d9
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 0x14]
call fcn.100fedf0
test edi, edi
mov ebx, eax
mov dword [esp + 0x10], ebx
je 0x100cc893
mov eax, dword [esp + 0x20]
mov esi, dword [edi + 8]
push eax
call fcn.100c5c50
add esp, 4
test ebx, ebx
jne 0x100c92d5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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.100c0940
mov dword [esp + 0x10], eax
lea eax, [esp + 0x1d0]
push eax
call fcn.100c60b0
add esp, 4
test eax, eax
je 0x100cc945
mov ecx, dword [esp + 0x20]
add ecx, 0x2c
push ecx
push eax
mov eax, dword [ebp + 4]
mov ecx, esi
call fcn.100fe890
add esp, 8
mov dword [esp + 0x10], eax
lea eax, [esp + 0x1d0]
call fcn.100c03c0
cmp dword [esp + 0x10], 0
jne 0x100c92d5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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.100feb60
add dword [esi + 0xa8], 0xffffffff
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x98], 0
mov esi, dword [eax + 8]
test esi, esi
je 0x100cd373
mov eax, dword [esi]
test eax, eax
mov dword [esp + 0x30], eax
je 0x100cd373
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.100c5c50
add esp, 0xc
test ebx, ebx
jne 0x100c92d5
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.100c8210
mov edx, dword [esp + 0xa4]
add esp, 0xc
test eax, eax
je 0x100cd318
mov dword [eax + 0x14], edx
add dword [esi + 4], 1
add ebp, 0x14
jmp 0x100c85ae
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 0x100cca7d
add edx, 0x50
lea ebx, [ebx]
mov dword [esi + eax*4], edx
add eax, 1
add edx, 0x28
cmp eax, ecx
jl 0x100cca70
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.100c5c50
add esp, 4
cmp dword [esp + 0x10], 0
jne 0x100c92d5
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 0x100ccedf
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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 0x100ccb09
mov eax, ebx
call fcn.100c06f0
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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.100c5c50
mov eax, dword [esp + 0x210]
add esp, 4
test eax, eax
je 0x100ccb95
mov dword [esp + 0x10], eax
movzx ecx, byte [esp + 0x48]
mov eax, ebx
call fcn.100bff00
mov ecx, ebx
call fcn.100c0880
test eax, eax
jne 0x100c9065
cmp dword [esp + 0x10], eax
jne 0x100c92d5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x38]
mov ebx, dword [ecx + eax*4]
cmp byte [ebx + 2], 0
jne case.0x100c85cb.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.100c5c50
add esp, 4
cmp dword [esp + 0x10], 0
jne 0x100c92d5
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 0x100ccc28
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 0x100cd380
mov ecx, edx
mov esi, dword [ecx + 0x130]
test esi, esi
je case.0x100c85cb.110
mov edx, dword [esp + 0x90]
cmp dword [esp + 0x74], edx
jb case.0x100c85cb.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 0x100cd057
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
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.100bff00
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
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.100c5c50
and dword [edi + 0x58], 0xfffffffe
add esp, 0xc
test ebx, ebx
jne 0x100c92d5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
test eax, eax
mov dword [esp + 0x30], eax
je 0x100cd373
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0x44], eax
je 0x100cd373
cmp dword [eax + 0x34], 0
mov ecx, dword [ebp + 8]
je case.0x100c85cb.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 0x100ccd5d
jmp 0x100ccd50
mov dword [esi + eax*4], edx
add eax, 1
add edx, 0x28
cmp eax, ecx
jl 0x100ccd50
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.100c5c50
mov edx, dword [esp + 0x24]
add esp, 0x14
test edx, edx
jne 0x100ccdbc
cmp dword [ebp + 4], edx
je 0x100ccdbc
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 0x100ccdfb
mov ecx, dword [ebp + 0x10]
cmp byte [ecx + 0x10], 0
je 0x100ccdfb
mov al, byte [ebp + 3]
cmp al, 4
jne 0x100ccde5
mov edi, dword [esp + 0x20]
mov dword [esp + 0x10], 0
add ebp, 0x14
jmp 0x100c85ae
cmp al, 5
jne 0x100ccdf3
mov eax, 2
mov byte [edi + 0x56], al
jmp 0x100ccdff
movzx eax, al
mov byte [edi + 0x56], al
jmp 0x100ccdff
add dword [edi + 0x64], 1
test edx, edx
jne 0x100c92d5
mov edi, dword [esp + 0x20]
add ebp, 0x14
jmp 0x100c85ae
mov eax, ebp
mov edx, edi
call fcn.100c84b0
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 0x100c85ae
mov eax, ebp
mov edx, edi
call fcn.100c84b0
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 0x100cce79
mov edx, dword [eax + 4]
mov ebx, dword [edx + 0x2c]
cmp ebx, ecx
jae 0x100cce79
mov ebx, ecx
call fcn.100b7390
mov edi, dword [esp + 0x20]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
add ebp, 0x14
jmp 0x100c85ae
mov ebx, dword [esp + 0x14]
cmp dword [ebx + 0xb4], 0
je 0x100cced9
test byte [edi + 0x58], 2
jne 0x100cced9
mov ecx, dword [ebp + 0x10]
test ecx, ecx
jne 0x100cceb4
mov ecx, dword [edi + 0xb0]
test ecx, ecx
je 0x100cced9
mov edx, edi
call fcn.100c7e30
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.100a3ec0
cmp dword [ebp + 8], 0
je case.0x100c85cb.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 0x100c85ae
push str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x100cd1a2
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x100cd1a2
mov eax, dword [edi + 0x2c]
mov ecx, esi
call fcn.100a3ec0
mov ebx, str.database_schema_has_changed
mov eax, esi
call fcn.100a4380
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 0x100ccf50
mov edi, dword [esp + 0x14]
mov esi, eax
call fcn.100dc7a0
mov edi, dword [esp + 0x20]
or dword [edi + 0x58], 1
mov dword [esp + 0x10], 0x11
jmp 0x100c92d9
mov dword [esp + 0x10], 7
mov ebx, dword [esp + 0x10]
jmp 0x100cbd01
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 0x100ccff8
mov al, byte [ebp + 3]
test al, al
mov esi, dword [esp + 0x20]
je 0x100ccfca
movzx ecx, al
mov edx, dword [ecx*4 + 0x101488cc]
push edx
push str._s_constraint_failed
call fcn.100c1300
mov eax, dword [ebp + 0x10]
add esp, 8
test eax, eax
je 0x100ccfdb
mov edi, dword [esp + 0x14]
push eax
mov eax, dword [esi + 0x2c]
push eax
push str._z:__s
call fcn.100a5af0
add esp, 0xc
mov dword [esi + 0x2c], eax
jmp 0x100ccfdb
mov ecx, dword [ebp + 0x10]
push ecx
push 0x1014e694
call fcn.100c1300
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.100a5cf0
add esp, 0x14
mov edi, dword [esp + 0x20]
call fcn.100c3b80
cmp eax, 5
mov esi, dword [esp + 0x14]
mov dword [esp + 0x10], eax
jne 0x100cd016
mov dword [edi + 0x50], eax
jmp 0x100cd4e8
mov eax, dword [edi + 0x50]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov dword [esp + 0x10], eax
jmp 0x100cd4e8
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x130]
test eax, eax
je 0x100cd064
mov edx, dword [esp + 0x90]
cmp dword [esp + 0x74], edx
jb 0x100cd064
mov ecx, dword [ecx + 0x134]
push ecx
call eax
add esp, 4
test eax, eax
je 0x100cd064
mov dword [esp + 0x10], 9
jmp 0x100c92d9
push 0
mov eax, edi
call fcn.100c3b10
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100c92d5
mov edi, dword [esp + 0x20]
push 1
push edi
call fcn.100c39f0
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 0x100cd0d9
mov edi, edi
test word [esi + 8], 0x1000
je 0x100cd0c7
mov eax, esi
call fcn.100c0060
test eax, eax
jne 0x100cd325
mov eax, esi
call fcn.100c0160
add ebx, 1
add esi, 0x28
cmp ebx, dword [ebp + 8]
jl 0x100cd0b0
mov esi, dword [esp + 0x14]
cmp byte [esi + 0x45], 0
jne 0x100cd325
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 0x100cd4e8
cmp dword [ebx + 0x50], 0
jne 0x100cd120
lea eax, [esp + 0x1a8]
call fcn.100c03c0
mov eax, 0x13575
call fcn.1010ffd0
mov dword [esp + 0x10], eax
jmp 0x100c92d5
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 0x100cd4e8
mov esi, dword [esp + 0x14]
movzx ecx, byte [esi + 0x43]
mov ebx, dword [ebp + 4]
cmp ebx, ecx
mov eax, dword [ebp + 8]
je 0x100cd236
test eax, eax
je 0x100cd190
push 0x204
call fcn.1010e040
add esp, 4
mov byte [esi + 0x43], 1
jmp 0x100cd1d4
test ebx, ebx
je 0x100cd1b9
cmp dword [esi + 0xa0], 0
jle 0x100cd1b9
push str.cannot_commit_transaction___SQL_statements_in_progress
mov esi, edi
call fcn.100c1300
add esp, 4
mov dword [esp + 0x10], 5
jmp 0x100c92d9
push 1
mov eax, edi
call fcn.100c3b10
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100cd4e0
mov byte [esi + 0x43], bl
mov edi, dword [esp + 0x20]
call fcn.100c3b80
mov ecx, 5
cmp eax, ecx
jne 0x100cd217
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 0x100cd4e8
mov esi, dword [esp + 0x14]
call fcn.1010d660
mov edi, dword [edi + 0x50]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
mov dword [esp + 0x10], edi
jmp 0x100cd4e4
test ebx, ebx
jne 0x100cd241
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x100cd24f
test eax, eax
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x100cd24f
mov eax, str.cannot_commit___no_transaction_is_active
push eax
mov esi, edi
call fcn.100c1300
add esp, 4
mov dword [esp + 0x10], 1
jmp 0x100c92d9
mov dword [esp + 0x10], 8
jmp 0x100c92d9
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 0x100cd4e8
mov dword [esp + 0x10], 0x204
jmp 0x100c92d9
mov dword [esp + 0x10], 6
mov byte [edi + 0x56], 2
jmp 0x100c92d9
push str.too_many_levels_of_trigger_recursion
mov esi, edi
mov dword [esp + 0x14], 1
call fcn.100c1300
add esp, 4
jmp 0x100c92d9
push esi
call fcn.100c60b0
add esp, 4
push eax
push 0x1014e694
mov esi, edi
call fcn.100c1300
add esp, 8
jmp 0x100c92d9
cmp esi, 5
mov dword [esp + 0x10], 1
mov eax, str.into
je 0x100cd303
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov esi, edi
call fcn.100c1300
add esp, 8
jmp 0x100c92d9
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 0x100cd353
cmp byte [eax + 0x46], 0
jne 0x100cd353
cmp dword [eax + 0xa4], 0
mov byte [eax + 0x45], 1
jle 0x100cd34c
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.100c1300
add esp, 4
mov dword [esp + 0x10], 7
jmp 0x100c92d9
mov dword [esp + 0x10], 6
jmp 0x100c92d9
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 0x100cd3bc
and eax, 0xff
cmp eax, 0x1a
ja 0x100cd3c1
mov eax, dword [eax*4 + 0x1014b6f8]
test eax, eax
je 0x100cd3c1
mov ecx, eax
jmp 0x100cd3c1
mov ecx, str.abort_due_to_ROLLBACK
push ecx
push 0x1014e694
mov esi, edi
call fcn.100c1300
add esp, 8
jmp 0x100c92d9
mov ecx, str.abort_due_to_ROLLBACK
push ecx
push 0x1014e694
mov esi, edi
call fcn.100c1300
mov esi, dword [esp + 0x1c]
add esp, 8
cmp ebx, 0xc0a
mov dword [edi + 0x50], ebx
je 0x100cd425
mov eax, ebx
and eax, 0xff
cmp eax, 0xe
je 0x100cd40b
cmp eax, 0xa
jne 0x100cd425
mov eax, dword [esi]
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x100cd420
push 0
push 0
push eax
call ecx
add esp, 0xc
jmp 0x100cd422
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.100a5cf0
add esp, 0x14
call fcn.100c3b80
cmp ebx, 0xc0a
jne 0x100cd493
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x45], 0
jne 0x100cd493
cmp byte [eax + 0x46], 0
jne 0x100cd493
cmp dword [eax + 0xa4], 0
mov byte [eax + 0x45], 1
jle 0x100cd48c
mov dword [eax + 0xf8], 1
add dword [eax + 0x100], 1
mov al, byte [esp + 0x53]
test al, al
mov dword [esp + 0x10], 1
jbe 0x100cd4e0
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.100e26b0
add esp, 4
cmp esi, 1
je 0x100cd4e0
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 0x1c]
push ecx
call fcn.100e26b0
mov esi, dword [esp + 0x18]
add esp, 4
jmp 0x100cd4e8
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 0x100cd50f
push edi
call fcn.100c2470
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.1012d370
add esp, 0x314
ret