Function at 0x10026816
Capabilities:
Enumerate pe sections
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x11c
mov eax, dword [0x10094610]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0xfc], ecx
push esi
mov esi, dword [ebx]
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + 0xc]
mov cl, byte [ecx + 0x49]
xor eax, eax
mov byte [ebp - 0xe8], cl
mov ecx, dword [ebx + 0x4c]
push edi
mov edi, ebx
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xd8], esi
mov byte [ebp - 0xe9], al
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xf8], eax
call fcn.1002443b
cmp dword [ebx + 0x58], 7
je 0x10026db0
xor eax, eax
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x2c], eax
mov ecx, dword [esi + 0xe0]
mov dword [esi + 0x1a8], eax
test ecx, ecx
jne 0x1002b973
cmp dword [esi + 0x108], eax
mov eax, dword [ebx + 0x54]
setne cl
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x100], ecx
mov eax, dword [ebp - 0xd8]
cmp byte [eax + 0x1e], 0
jne 0x10026daa
mov esi, dword [ebp - 0xdc]
imul esi, esi, 0x14
add esi, dword [ebp - 0xfc]
cmp dword [ebp - 0x100], 0
mov dword [ebp - 0xe4], esi
je 0x1002692b
mov ecx, dword [eax + 0x110]
cmp ecx, dword [ebp - 0xf4]
jne 0x10026925
push dword [eax + 0x10c]
call dword [eax + 0x108]
pop ecx
test eax, eax
jne 0x1002b793
and dword [ebp - 0xf4], eax
inc dword [ebp - 0xf4]
test byte [esi + 2], 2
je 0x10026951
mov edi, dword [esi + 8]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
mov eax, edi
mov dword [ebp - 0xe0], edi
call fcn.10022396
push 4
pop eax
mov word [edi + 0x1c], ax
movzx eax, byte [esi]
dec eax
cmp eax, 0x90
ja case.0x10026960.17
jmp dword [eax*4 + 0x1002b98e]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0xe0]
test eax, eax
jne 0x1002b967
mov esi, dword [esi + 8]
dec esi
mov dword [ebp - 0xdc], esi
jmp case.0x10026960.17
mov ecx, dword [esi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
push 4
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xdc]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0xdc], eax
jmp case.0x10026960.17
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xd4]
imul eax, eax, 0x28
mov eax, dword [eax + ecx]
jmp 0x100269ad
mov esi, dword [esi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
push 4
pop eax
mov word [esi + 0x1c], ax
mov eax, dword [esi]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xdc]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
mov eax, dword [ebp - 0xc8]
jmp 0x100269ad
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0xd4]
imul eax, eax, 0x28
test byte [eax + ecx + 0x1c], 1
je case.0x10026960.17
cmp dword [esi + 4], 0
mov ebx, dword [ebp - 0xcc]
jne 0x1002b7a8
mov eax, dword [ebx + 0xdc]
test eax, eax
je 0x1002b7a8
mov edx, dword [eax + 0x3c]
dec dword [ebx + 0xe0]
mov ecx, dword [ebx + 0x6c]
mov dword [ebx + 0xdc], edx
mov edx, dword [ebp - 0xd8]
add dword [edx + 0x40], ecx
mov dword [edx + 0x3c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov dword [ecx + 0x14], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov edx, dword [eax + 0x10]
mov dword [ecx + 0x4c], edx
mov edx, dword [eax + 0x14]
mov dword [ecx + 0x48], edx
mov edx, dword [eax + 0x18]
mov dword [ecx + 0x34], edx
mov dx, word [eax + 0x1c]
mov word [ecx + 0x32], dx
mov edi, dword [eax + 0x30]
mov edx, dword [ecx]
mov dword [edx + 0x30], edi
mov edi, dword [eax + 0x34]
mov dword [edx + 0x34], edi
mov edx, dword [eax + 0x38]
mov dword [ecx + 0x6c], edx
cmp dword [esi + 8], 4
mov eax, dword [eax + 4]
mov dword [ebp - 0xdc], eax
jne 0x10026aa7
mov ecx, dword [ebx + 0x14]
imul eax, eax, 0x14
mov eax, dword [eax + ecx + 8]
dec eax
mov dword [ebp - 0xdc], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebx + 0x4c]
mov dword [ebp - 0xd4], eax
jmp case.0x10026960.17
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xe0]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x10026960.17
mov esi, dword [esi + 0x10]
mov ecx, dword [esi]
mov eax, dword [ebp - 0xe0]
mov dword [eax], ecx
mov ecx, dword [esi + 4]
mov dword [eax + 4], ecx
jmp case.0x10026960.17
mov eax, dword [ebp - 0xe0]
push 8
pop ecx
mov word [eax + 0x1c], cx
mov ecx, dword [esi + 0x10]
fld qword [ecx]
fstp qword [eax + 8]
jmp case.0x10026960.17
mov ecx, dword [esi + 0x10]
mov byte [esi], 9
call fcn.10013326
cmp byte [ebp - 0xe8], 1
mov edi, dword [ebp - 0xe0]
mov dword [esi + 4], eax
je 0x10026b96
push 1
push ecx
xor eax, eax
or ecx, 0xffffffff
mov edx, edi
call fcn.10022892
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
cmp eax, 0x12
je 0x10026ba8
movzx eax, byte [ebp - 0xe8]
push eax
mov eax, edi
call fcn.100220e0
pop ecx
test eax, eax
jne 0x10026daa
and dword [edi + 0x24], eax
mov ax, word [edi + 0x1c]
mov ecx, 0xfbff
and ax, cx
mov ecx, 0x800
or ax, cx
mov word [edi + 0x1c], ax
cmp byte [esi + 1], 0xff
jne 0x10026b86
push dword [esi + 0x10]
push dword [ebp - 0xd8]
call fcn.10011850
pop ecx
pop ecx
mov byte [esi + 1], 0xff
mov eax, dword [edi + 0x14]
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x18]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xd8]
cmp eax, dword [ecx + 0x48]
jle 0x10026c4d
mov ebx, dword [ebp - 0xcc]
push str.string_or_blob_too_big
push dword [ebp - 0xd8]
lea edi, [ebx + 0x5c]
call fcn.10011b9d
mov dword [ebp - 0xd0], 0x12
pop ecx
pop ecx
push dword [ebx + 0x5c]
mov esi, dword [ebp - 0xd0]
push dword [ebx + 0xbc]
mov dword [ebx + 0x58], esi
push dword [ebp - 0xdc]
push str.statement_aborts_at__d:___s___s
push esi
call fcn.10012bde
add esp, 0x14
push ebx
call fcn.100244cf
pop ecx
cmp esi, 0xc0a
jne 0x10026c0c
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x1e], 1
xor esi, esi
inc esi
cmp byte [ebp - 0xe9], 0
je 0x10026c2b
mov ebx, dword [ebp - 0xd8]
xor eax, eax
call fcn.10032ba8
mov ebx, dword [ebp - 0xcc]
lea edi, [ebx + 0x80]
call fcn.1001b719
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.100660ff
leave
ret
mov edi, dword [ebp - 0xe0]
mov eax, 0xa02
mov word [edi + 0x1c], ax
mov eax, dword [esi + 0x10]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 4]
mov dword [edi + 0x18], eax
mov al, byte [ebp - 0xe8]
mov byte [edi + 0x1f], al
jmp case.0x10026960.17
mov ecx, dword [ebp - 0xe0]
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
jmp case.0x10026960.17
mov ecx, dword [esi + 4]
push 0
push dword [esi + 0x10]
mov esi, dword [ebp - 0xe0]
xor eax, eax
mov edx, esi
call fcn.10022892
pop ecx
pop ecx
mov al, byte [ebp - 0xe8]
mov byte [esi + 0x1f], al
jmp case.0x10026960.17
mov eax, dword [esi + 4]
mov ebx, dword [ebp - 0xcc]
imul eax, eax, 0x28
mov ecx, dword [ebx + 0x3c]
lea esi, [eax + ecx - 0x28]
mov ecx, esi
mov dword [ebp - 0xc8], esi
call fcn.100227ad
test eax, eax
jne 0x10026bae
push 0x800
push esi
mov ebx, dword [ebp - 0xe0]
call fcn.100227d4
pop ecx
pop ecx
jmp case.0x10026960.17
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0xc4], ecx
mov eax, dword [esi + 4]
mov dword [ebp - 0xc0], eax
imul eax, eax, 0x28
mov esi, dword [esi + 8]
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xbc], esi
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
mov ebx, eax
mov dword [ebp - 0xe0], esi
test ecx, ecx
je 0x10026d5a
dec dword [ebp - 0xc4]
mov eax, dword [esi + 0x24]
mov dword [ebp - 0xc8], eax
and dword [esi + 0x24], 0
mov eax, esi
call fcn.1002286e
mov eax, dword [ebp - 0xc8]
mov dword [ebx + 0x24], eax
add ebx, 0x28
add esi, 0x28
cmp dword [ebp - 0xc4], 0
jne 0x10026d22
mov dword [ebp - 0xe0], esi
dec dword [ebp - 0xc4]
jmp case.0x10026960.17
mov eax, dword [esi + 4]
mov ebx, dword [esi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0xd4]
mov edi, 0x1000
push edi
push eax
mov dword [ebp - 0xe0], ebx
call fcn.100227d4
pop ecx
pop ecx
test word [ebx + 0x1c], di
je case.0x10026960.17
mov eax, ebx
call fcn.100221c9
test eax, eax
je case.0x10026960.17
mov ebx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd8]
push str.out_of_memory
push eax
lea edi, [ebx + 0x5c]
mov byte [eax + 0x1e], 1
call fcn.10011b9d
mov dword [ebp - 0xd0], 7
jmp 0x10026bcb
mov ebx, dword [esi + 8]
mov eax, dword [esi + 4]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0xd4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
push 0x1000
mov dword [ebp - 0xe0], ebx
push eax
jmp 0x10026cdd
mov eax, dword [ebp - 0xcc]
cmp dword [eax + 0xcc], 0
jl 0x10026e34
jg 0x10026e1a
cmp dword [eax + 0xc8], 0
jbe 0x10026e34
push str.foreign_key_constraint_failed
push dword [eax]
mov dword [eax + 0x58], 0x13
mov byte [eax + 0x38], 2
lea edi, [eax + 0x5c]
jmp 0x100288e3
push 1
mov ebx, eax
call fcn.10024373
pop ecx
mov dword [ebp - 0xd0], eax
test eax, eax
jne case.0x10026960.17
mov eax, dword [ebx + 0x50]
add eax, 2
or eax, 1
mov dword [ebx + 0x50], eax
mov eax, dword [esi + 4]
and dword [ebp - 0xc4], 0
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov dword [ebx + 0x2c], eax
mov dword [ebp - 0xc8], eax
cmp dword [esi + 8], 0
jle 0x10026eb3
mov eax, dword [ebp - 0xc4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xc8]
call fcn.10022275
mov ecx, dword [ebp - 0xc4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xc8]
call fcn.100265bb
inc dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc4]
cmp eax, dword [esi + 8]
jl 0x10026e7a
mov eax, dword [ebp - 0xd8]
cmp byte [eax + 0x1e], 0
jne 0x10026db0
mov eax, dword [ebp - 0xdc]
inc eax
mov ecx, ebx
push 0x64
mov dword [ecx + 0x54], eax
pop esi
jmp 0x10026c2b
mov edi, dword [esi + 4]
mov ebx, dword [esi + 8]
imul edi, edi, 0x28
mov esi, dword [esi + 0xc]
imul ebx, ebx, 0x28
add edi, dword [ebp - 0xd4]
imul esi, esi, 0x28
add ebx, dword [ebp - 0xd4]
movzx eax, word [edi + 0x1c]
mov cl, byte [ebx + 0x1c]
add esi, dword [ebp - 0xd4]
or cl, al
mov dword [ebp - 0xe4], edi
mov dword [ebp - 0xe0], esi
test cl, 1
je 0x10026f20
push esi
call fcn.1002263c
jmp 0x10026ce3
test eax, 0x4000
je 0x10026f30
mov eax, edi
call fcn.10022225
jmp 0x10026f32
xor eax, eax
test eax, eax
jne 0x10026daa
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x10026f4e
mov eax, ebx
call fcn.10022225
jmp 0x10026f50
xor eax, eax
test eax, eax
jne 0x10026daa
test byte [edi + 0x1c], 0x12
jne 0x10026f76
movzx eax, byte [ebp - 0xe8]
push eax
mov eax, edi
call fcn.100222c1
pop ecx
test eax, eax
jne 0x10026daa
test byte [ebx + 0x1c], 0x12
jne 0x10026f94
movzx eax, byte [ebp - 0xe8]
push eax
mov eax, ebx
call fcn.100222c1
pop ecx
test eax, eax
jne 0x10026daa
mov eax, dword [ebx + 0x18]
add eax, dword [edi + 0x18]
cdq
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], edx
mov eax, dword [eax + 0x48]
cdq
cmp dword [ebp - 0xc4], edx
jg 0x10026ba8
jl 0x10026fcb
cmp dword [ebp - 0xc8], eax
ja 0x10026ba8
mov ax, word [esi + 0x1c]
mov ecx, 0xbf02
and ax, cx
or ax, 2
mov word [esi + 0x1c], ax
xor eax, eax
cmp esi, ebx
sete al
mov edi, esi
push eax
mov eax, dword [ebp - 0xc8]
add eax, 2
call fcn.10022105
pop ecx
test eax, eax
jne 0x10026daa
cmp esi, ebx
je 0x10027015
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [esi + 0x14]
call fcn.10065820
add esp, 0xc
mov eax, dword [ebp - 0xe4]
push dword [eax + 0x18]
push dword [eax + 0x14]
mov eax, dword [esi + 0x14]
add eax, dword [ebx + 0x18]
push eax
call fcn.10065820
mov ecx, dword [ebp - 0xc8]
mov eax, dword [esi + 0x14]
mov byte [ecx + eax], 0
mov ecx, dword [ebp - 0xc8]
mov eax, dword [esi + 0x14]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
add esp, 0xc
or word [esi + 0x1c], ax
mov eax, dword [ebp - 0xc8]
mov dword [esi + 0x18], eax
jmp 0x10026c9b
mov ebx, dword [esi + 4]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0xd4]
mov edi, ebx
call fcn.100266ac
mov edi, dword [esi + 8]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
call fcn.100266ac
mov eax, dword [esi + 0xc]
movzx ecx, word [edi + 0x1c]
imul eax, eax, 0x28
movzx edx, word [ebx + 0x1c]
add eax, dword [ebp - 0xd4]
or ecx, edx
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xc8], ecx
test cl, 1
jne 0x1002731c
mov cl, byte [edi + 0x1c]
and cl, byte [ebx + 0x1c]
test cl, 4
je 0x100271d2
mov ecx, dword [ebx]
mov dword [ebp - 0xc0], ecx
mov ebx, dword [ebx + 4]
mov dword [ebp - 0xbc], ebx
mov edx, dword [edi]
mov dword [ebp - 0xb8], edx
mov edi, dword [edi + 4]
mov dword [ebp - 0xb4], edi
movzx edx, byte [esi]
sub edx, 0x56
je 0x1002719e
dec edx
je 0x10027194
dec edx
je 0x10027172
dec edx
mov edx, ecx
je 0x1002712f
or edx, ebx
je 0x1002731c
mov eax, ecx
and eax, ebx
cmp eax, 0xffffffff
jne 0x1002711f
xor ecx, ecx
inc ecx
xor ebx, ebx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], ebx
push ebx
push ecx
push edi
push dword [ebp - 0xb8]
call fcn.10073200
jmp 0x10027180
or edx, ebx
je 0x1002731c
mov eax, ecx
and eax, ebx
cmp eax, 0xffffffff
jne 0x10027162
cmp dword [ebp - 0xb8], 0
jne 0x10027162
cmp edi, 0x80000000
jne 0x10027162
xor ecx, ecx
inc ecx
xor ebx, ebx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], ebx
push ebx
push ecx
push edi
push dword [ebp - 0xb8]
call fcn.10073150
jmp 0x10027180
push ebx
push ecx
push edi
push dword [ebp - 0xb8]
call fcn.10074dd0
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xb4], edx
jmp 0x100271ac
sub dword [ebp - 0xb8], ecx
sbb edi, ebx
jmp 0x100271a6
add dword [ebp - 0xb8], ecx
adc edi, ebx
mov dword [ebp - 0xb4], edi
mov ecx, dword [ebp - 0xb8]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xb4]
mov dword [eax + 4], ecx
mov cx, word [eax + 0x1c]
mov edx, 0xbf04
and cx, dx
or cx, 4
jmp 0x1002a1f9
mov esi, ebx
call fcn.100224db
fstp qword [ebp - 0xb0]
mov esi, edi
call fcn.100224db
fst qword [ebp - 0xa8]
mov eax, dword [ebp - 0xe4]
movzx eax, byte [eax]
sub eax, 0x56
je 0x100272b5
dec eax
je 0x100272ad
dec eax
je 0x100272a5
dec eax
fld qword [ebp - 0xb0]
je 0x10027292
call fcn.10079716
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
call fcn.10079716
mov ecx, dword [ebp - 0xc0]
or ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
je 0x10027316
mov ecx, dword [ebp - 0xc0]
and ecx, dword [ebp - 0xbc]
cmp ecx, 0xffffffff
jne 0x1002726b
and dword [ebp - 0xbc], 0
mov dword [ebp - 0xc0], 1
push dword [ebp - 0xbc]
push dword [ebp - 0xc0]
push edx
push eax
call fcn.10073200
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], edx
fild qword [ebp - 0x118]
jmp 0x100272bb
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10027314
fdiv qword [ebp - 0xb0]
jmp 0x100272bb
fmul qword [ebp - 0xb0]
jmp 0x100272bb
fsub qword [ebp - 0xb0]
jmp 0x100272bb
fadd qword [ebp - 0xb0]
fstp qword [ebp - 0xa8]
push ecx
fld qword [ebp - 0xa8]
push ecx
fstp qword [esp]
call fcn.100132fd
add esp, 8
test eax, eax
jne 0x10027316
mov eax, dword [ebp - 0xe0]
fld qword [ebp - 0xa8]
mov cx, word [eax + 0x1c]
fstp qword [eax + 8]
mov edx, 0xbf08
and cx, dx
or cx, 8
mov word [eax + 0x1c], cx
test byte [ebp - 0xc8], 8
jne case.0x10026960.17
mov esi, eax
call fcn.1002253a
jmp case.0x10026960.17
fstp st(0)
mov eax, dword [ebp - 0xe0]
push eax
jmp 0x10026f16
movzx ecx, byte [esi + 3]
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], ecx
mov eax, dword [esi + 8]
and dword [ebp - 0xc8], 0
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], eax
test ecx, ecx
jle 0x10027389
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0xc8]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0xc4]
call fcn.100265bb
inc dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
add eax, 0x28
mov dword [ebp - 0xc4], eax
cmp ecx, dword [ebp - 0x7c]
jl 0x10027352
cmp byte [esi + 1], 0xfb
mov eax, dword [esi + 0x10]
jne 0x1002739b
and dword [ebp - 0xbc], 0
jmp 0x100273a3
mov dword [ebp - 0xbc], eax
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
mov edi, dword [esi + 0xc]
and dword [ebp - 0x98], 0
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
and dword [ebp - 0x94], 0
xor eax, eax
inc eax
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xa8], eax
mov ebx, edi
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xe0], edi
call fcn.1002286e
mov eax, dword [ebp - 0x9c]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0xc0]
xor ebx, ebx
mov dword [ebp - 0x8c], ebx
test byte [eax + 3], 8
je 0x1002741e
mov ecx, dword [esi - 4]
mov dword [ebp - 0x88], ecx
push dword [ebp - 0x80]
lea ecx, [ebp - 0xc0]
push dword [ebp - 0x7c]
push ecx
call dword [eax + 0xc]
mov eax, dword [ebp - 0xd8]
add esp, 0xc
cmp byte [eax + 0x1e], bl
jne 0x1002b839
cmp dword [ebp - 0xbc], ebx
je 0x1002746a
push dword [esi + 4]
mov edi, dword [ebp - 0xbc]
call fcn.10024836
mov eax, dword [ebp - 0xbc]
mov edi, dword [ebp - 0xe0]
pop ecx
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xf9
cmp dword [ebp - 0x8c], ebx
je 0x100274af
push 1
lea esi, [ebp - 0xb8]
call fcn.10022c78
mov edi, dword [ebp - 0xcc]
pop ecx
push eax
push 0x100871d8
push dword [ebp - 0xd8]
add edi, 0x5c
call fcn.10011b9d
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0xe0]
add esp, 0xc
mov dword [ebp - 0xd0], eax
movzx eax, byte [ebp - 0xe8]
push eax
lea eax, [ebp - 0xb8]
call fcn.100220e0
pop ecx
lea ebx, [ebp - 0xb8]
mov eax, edi
call fcn.1002286e
mov ecx, edi
call fcn.100227ad
test eax, eax
jne 0x10026ba8
jmp case.0x10026960.17
mov eax, dword [esi + 8]
mov ebx, dword [esi + 4]
imul eax, eax, 0x28
mov edi, dword [esi + 0xc]
imul ebx, ebx, 0x28
add eax, dword [ebp - 0xd4]
imul edi, edi, 0x28
add ebx, dword [ebp - 0xd4]
mov cl, byte [eax + 0x1c]
add edi, dword [ebp - 0xd4]
or cl, byte [ebx + 0x1c]
mov dword [ebp - 0xe0], edi
test cl, 1
je 0x1002751f
push edi
jmp 0x10026f16
mov esi, eax
call fcn.10022467
mov esi, ebx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
call fcn.10022467
mov ecx, eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], edx
movzx eax, byte [eax]
sub eax, 0x52
je 0x1002758f
dec eax
je 0x10027581
mov edx, dword [ebp - 0xc4]
dec eax
mov eax, dword [ebp - 0xc8]
je 0x1002756e
call fcn.10079810
jmp 0x10027573
call fcn.100796c0
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
jmp 0x1002759b
or dword [ebp - 0xc8], ecx
or dword [ebp - 0xc4], edx
jmp 0x1002759b
and dword [ebp - 0xc8], ecx
and dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xc8]
mov dword [edi], eax
mov eax, dword [ebp - 0xc4]
mov dword [edi + 4], eax
mov ax, word [edi + 0x1c]
mov ecx, 0xbf04
and ax, cx
or ax, 4
mov word [edi + 0x1c], ax
jmp case.0x10026960.17
mov edi, dword [esi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
mov eax, edi
call fcn.10022591
mov eax, dword [esi + 8]
cdq
add dword [edi], eax
adc dword [edi + 4], edx
jmp case.0x10026960.17
mov edi, dword [esi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
call fcn.100266ac
test byte [edi + 0x1c], 8
je 0x1002760a
mov esi, edi
call fcn.1002253a
mov esi, dword [ebp - 0xe4]
movzx eax, word [edi + 0x1c]
mov ebx, dword [ebp - 0xcc]
test al, 4
jne 0x10027632
mov esi, dword [esi + 8]
test esi, esi
jne 0x1002697e
mov dword [ebp - 0xd0], 0x14
jmp 0x1002b91f
and eax, 0xbf04
or eax, 4
jmp 0x100275bc
mov eax, dword [esi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
test byte [eax + 0x1c], 4
je case.0x10026960.17
call fcn.100225b6
jmp case.0x10026960.17
mov esi, dword [esi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
movzx eax, word [esi + 0x1c]
test al, 1
jne case.0x10026960.17
push dword [ebp - 0xe8]
mov ecx, eax
shr ecx, 3
and ecx, 2
or ecx, eax
push 0x61
mov eax, esi
mov word [esi + 0x1c], cx
call fcn.10026785
mov eax, 0x4000
pop ecx
pop ecx
test word [esi + 0x1c], ax
je 0x100276ad
mov eax, esi
call fcn.10022225
mov dword [ebp - 0xd0], eax
jmp 0x100276b4
and dword [ebp - 0xd0], 0
mov eax, 0xbfe3
and word [esi + 0x1c], ax
jmp case.0x10026960.17
mov esi, dword [esi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
movzx eax, word [esi + 0x1c]
test al, 1
jne case.0x10026960.17
test al, 0x10
jne 0x10027701
push dword [ebp - 0xe8]
mov eax, esi
push 0x61
call fcn.10026785
mov ax, word [esi + 0x1c]
pop ecx
pop ecx
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
jmp 0x10027706
and eax, 0xff10
mov word [esi + 0x1c], ax
jmp case.0x10026960.17
mov eax, dword [esi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
test byte [eax + 0x1c], 0xd
jne case.0x10026960.17
call fcn.100225d9
jmp case.0x10026960.17
mov eax, dword [esi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
test byte [eax + 0x1c], 1
jne case.0x10026960.17
call fcn.10022591
jmp case.0x10026960.17
mov eax, dword [esi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
test byte [eax + 0x1c], 1
jne case.0x10026960.17
jmp 0x10027652
mov edi, dword [esi + 4]
mov ebx, dword [esi + 0xc]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
imul ebx, ebx, 0x28
mov ax, word [edi + 0x1c]
add ebx, dword [ebp - 0xd4]
mov word [ebp - 0xc2], ax
mov ax, word [ebx + 0x1c]
mov word [ebp - 0xc0], ax
movzx eax, word [ebx + 0x1c]
movzx ecx, word [edi + 0x1c]
mov dl, al
or dl, cl
test dl, 1
je 0x100277f9
mov dl, byte [esi + 3]
test dl, dl
jns 0x100277bf
and al, cl
test al, 1
push 0
pop eax
sete al
jmp 0x10027870
test dl, 0x10
je 0x100277eb
mov esi, dword [esi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
mov ecx, 0xbf01
mov ax, word [esi + 0x1c]
and ax, cx
mov dword [ebp - 0xe0], esi
or ax, 1
jmp 0x10027706
test dl, 8
je case.0x10026960.17
jmp 0x1002697b
mov al, byte [esi + 3]
and al, 0x67
mov byte [ebp - 0xc4], al
je 0x1002783f
push dword [ebp - 0xe8]
mov eax, edi
push dword [ebp - 0xc4]
call fcn.10026785
push dword [ebp - 0xe8]
mov eax, ebx
push dword [ebp - 0xc4]
call fcn.10026785
mov eax, dword [ebp - 0xd8]
add esp, 0x10
cmp byte [eax + 0x1e], 0
jne 0x10026daa
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x10027851
mov eax, edi
call fcn.10022225
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x10027863
mov eax, ebx
call fcn.10022225
push dword [esi + 0x10]
mov eax, edi
mov edx, ebx
call fcn.100229f2
pop ecx
mov dword [ebp - 0xc8], eax
movzx ecx, byte [esi]
sub ecx, 0x4b
je 0x100278b7
dec ecx
je 0x100278ae
dec ecx
je 0x100278a5
dec ecx
je 0x1002789c
dec ecx
je 0x10027893
xor ecx, ecx
test eax, eax
setns cl
jmp 0x100278be
xor ecx, ecx
test eax, eax
sets cl
jmp 0x100278be
xor ecx, ecx
test eax, eax
setle cl
jmp 0x100278be
xor ecx, ecx
test eax, eax
setg cl
jmp 0x100278be
xor ecx, ecx
test eax, eax
sete cl
jmp 0x100278be
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0xc8], ecx
test byte [esi + 3], 0x10
je 0x100278fe
mov esi, dword [esi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
mov ecx, 0xbf04
mov ax, word [esi + 0x1c]
and ax, cx
or ax, 4
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0xc8]
cdq
mov dword [ebp - 0xe0], esi
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x10027911
cmp dword [ebp - 0xc8], 0
je 0x10027911
mov esi, dword [esi + 8]
dec esi
mov dword [ebp - 0xdc], esi
mov al, byte [ebp - 0xc2]
mov byte [edi + 0x1c], al
mov al, byte [ebp - 0xc0]
mov byte [ebx + 0x1c], al
jmp case.0x10026960.17
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xf8], eax
jmp case.0x10026960.17
mov edx, dword [esi + 0xc]
mov dword [ebp - 0xc8], edx
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0xb8], ecx
mov eax, dword [esi + 4]
mov dword [ebp - 0xc0], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0xbc], eax
xor eax, eax
mov dword [ebp - 0xc4], eax
test edx, edx
jle 0x100279f7
mov edi, dword [ebp - 0xf8]
jmp 0x10027978
mov ecx, dword [ebp - 0xb8]
test edi, edi
je 0x10027981
mov edx, dword [edi + eax*4]
jmp 0x10027983
mov edx, eax
mov dword [ebp - 0xb4], edx
mov esi, dword [ecx + eax*4 + 0xc]
mov dword [ebp - 0xb0], esi
mov ecx, dword [ecx + 8]
movzx eax, byte [ecx + eax]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xbc]
add eax, edx
add edx, dword [ebp - 0xc0]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xd4]
push esi
call fcn.100229f2
pop ecx
mov dword [ebp - 0xf0], eax
test eax, eax
jne 0x100279e8
mov eax, dword [ebp - 0xc4]
inc eax
mov dword [ebp - 0xc4], eax
cmp eax, dword [ebp - 0xc8]
jl 0x10027972
jmp 0x100279f7
cmp dword [ebp - 0xac], 0
je 0x100279f7
neg dword [ebp - 0xf0]
and dword [ebp - 0xf8], 0
jmp case.0x10026960.17
cmp dword [ebp - 0xf0], 0
jge 0x10027a14
mov esi, dword [esi + 4]
jmp 0x1002697e
je 0x1002697b
mov esi, dword [esi + 0xc]
jmp 0x1002697e
mov eax, dword [esi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
xor ebx, ebx
inc ebx
test byte [eax + 0x1c], bl
je 0x10027a3b
push 2
pop ecx
jmp 0x10027a52
mov esi, eax
call fcn.10022467
or eax, edx
mov esi, dword [ebp - 0xe4]
je 0x10027a50
mov ecx, ebx
jmp 0x10027a52
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
mov eax, dword [esi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
test byte [eax + 0x1c], bl
je 0x10027a75
mov dword [ebp - 0xc4], 2
jmp 0x10027a9b
mov esi, eax
call fcn.10022467
or eax, edx
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xe4]
je 0x10027a94
mov dword [ebp - 0xc4], ebx
jmp 0x10027a9b
and dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0xc4]
imul ecx, ecx, 3
cmp byte [esi], 0x45
jne 0x10027ab3
movzx eax, byte [ecx + eax + 0x1008330c]
jmp 0x10027abb
movzx eax, byte [ecx + eax + 0x10083340]
mov dword [ebp - 0xc8], eax
mov esi, dword [esi + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
mov dword [ebp - 0xe0], esi
cmp eax, 2
jne 0x10027aec
mov ax, word [esi + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, bx
jmp 0x10027706
cdq
mov dword [esi], eax
mov ax, word [esi + 0x1c]
mov ecx, 0xbf04
and ax, cx
mov dword [esi + 4], edx
or ax, 4
jmp 0x10027706
mov eax, dword [esi + 4]
mov edi, dword [esi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
test byte [eax + 0x1c], 1
mov dword [ebp - 0xe0], edi
jne 0x10027519
mov esi, eax
call fcn.10022467
or eax, edx
jne 0x10027b3d
inc eax
jmp 0x10027b3f
xor eax, eax
cdq
push edx
push eax
mov esi, edi
call fcn.100226f1
jmp 0x10026ce2
mov eax, dword [esi + 4]
mov edi, dword [esi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
test byte [eax + 0x1c], 1
mov dword [ebp - 0xe0], edi
jne 0x10027519
mov esi, eax
call fcn.10022467
not eax
not edx
jmp 0x10027b40
mov eax, dword [esi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
xor ebx, ebx
inc ebx
test byte [eax + 0x1c], bl
je 0x10027b9c
mov eax, dword [esi + 0xc]
jmp 0x10027bd5
mov esi, eax
call fcn.100224db
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10027bb6
mov dword [ebp - 0xc8], ebx
jmp 0x10027bbd
and dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0xe4]
cmp byte [eax], 0x1b
mov esi, eax
jne 0x10027bdb
xor eax, eax
cmp dword [ebp - 0xc8], eax
sete al
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jmp 0x100277ee
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xd4]
imul eax, eax, 0x28
test byte [eax + ecx + 0x1c], 1
jmp 0x100277ee
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xd4]
imul eax, eax, 0x28
test byte [eax + ecx + 0x1c], 1
jne case.0x10026960.17
jmp 0x1002697b
mov eax, dword [esi + 4]
mov dword [ebp - 0xb8], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0xb4], eax
mov ebx, dword [ebp - 0xcc]
xor eax, eax
xor edx, edx
mov dword [ebp - 0xb0], edx
push 0xa
pop ecx
lea edi, [ebp - 0x88]
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov edi, 0xbf01
mov dword [ebp - 0x8c], eax
mov cx, word [eax + 0x1c]
and cx, di
or cx, 1
mov word [eax + 0x1c], cx
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xac], edx
mov edi, dword [eax + ecx*4]
mov dword [ebp - 0xb0], edi
mov eax, dword [edi]
mov dword [ebp - 0xa8], eax
cmp eax, edx
je 0x10027d32
call fcn.1002494e
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x1002b91f
mov edi, dword [ebp - 0xb0]
cmp byte [edi + 0x14], al
je 0x10027cbd
and dword [ebp - 0xc8], eax
jmp case.0x10026960.17
mov eax, dword [edi + 0x44]
cmp eax, dword [ebx + 0x50]
jne 0x10027cdc
mov eax, dword [edi + 0x48]
mov dword [ebp - 0xc8], eax
mov eax, dword [edi + 0x54]
mov dword [ebp - 0xac], eax
jmp 0x10027d75
cmp byte [edi + 0x17], 0
je 0x10027d07
mov eax, dword [ebp - 0xa8]
lea edi, [ebp - 0xc0]
call fcn.1001dca7
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc8], eax
jmp 0x10027d67
mov edi, dword [ebp - 0xa8]
mov esi, edi
call fcn.1001dc7f
mov eax, dword [edi + 0x30]
and dword [ebp - 0xd0], 0
mov edi, dword [ebp - 0xb0]
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xc8], eax
jmp 0x10027d75
mov eax, dword [edi + 0x24]
cmp eax, edx
jle 0x10027d6f
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0x48], eax
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xac], eax
test byte [esi + 3], 0x20
je 0x10027d61
xor ebx, ebx
jmp 0x10027d64
mov ebx, dword [ebx + 0x50]
mov dword [edi + 0x44], ebx
mov edi, dword [ebp - 0xb0]
jmp 0x10027d75
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xc8]
test eax, eax
je case.0x10026960.17
mov ecx, dword [ebp - 0xd8]
cmp eax, dword [ecx + 0x48]
ja 0x10026ba8
mov ecx, dword [edi + 0x2c]
mov edx, dword [ebp - 0xcc]
mov dword [ebp - 0x9c], ecx
mov eax, dword [edi + 0x4c]
mov dword [ebp - 0xa4], eax
mov ebx, dword [edi + 0x44]
cmp ebx, dword [edx + 0x50]
jne 0x10027dc0
mov ecx, dword [edi + 0x50]
mov dword [ebp - 0xa0], ecx
jmp 0x10027ff7
and dword [ebp - 0x4c], 0
lea eax, [eax + ecx*4]
mov dword [ebp - 0xa0], eax
mov dword [edi + 0x50], eax
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xc8]
mov dword [eax + 0x48], ecx
mov eax, dword [edx + 0x50]
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 0x44], eax
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x10027dfd
mov dword [ebp - 0x90], eax
jmp 0x10027e63
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x17], 0
mov ecx, dword [ebp - 0xa8]
je 0x10027e1a
xor eax, eax
cmp byte [ecx + 0x43], 1
jne 0x10027e37
push eax
jmp 0x10027e24
xor eax, eax
cmp byte [ecx + 0x43], 1
jne 0x10027e37
push 1
lea eax, [ebp - 0x4c]
push eax
mov esi, ecx
call fcn.1001e04b
mov esi, dword [ebp - 0xe4]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0x90], eax
cmp ecx, dword [ebp - 0x4c]
ja 0x10027e59
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0xac], eax
mov dword [ecx + 0x54], eax
jmp 0x10027e63
mov eax, dword [ebp - 0xb0]
and dword [eax + 0x54], 0
mov ecx, dword [ebp - 0x90]
mov al, byte [ecx]
cmp al, 0x80
jae 0x10027e7a
movzx eax, al
mov dword [ebp - 0x58], eax
xor eax, eax
inc eax
jmp 0x10027e85
lea edi, [ebp - 0x58]
call fcn.10013c6e
movzx eax, al
cmp dword [ebp - 0x58], 0x18003
movzx eax, al
mov dword [ebp - 0x50], eax
jbe 0x10027e9e
push 0xf0f2
jmp 0x10028164
mov ebx, dword [ebp - 0x9c]
imul ebx, ebx, 5
add ebx, 3
mov dword [ebp - 0x98], ebx
cmp ebx, dword [ebp - 0x58]
jle 0x10027ebe
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x98], ebx
cmp dword [ebp - 0xac], 0
jne 0x10027f14
cmp dword [ebp - 0x4c], ebx
jge 0x10027f14
mov ecx, dword [ebp - 0xa8]
xor eax, eax
and dword [ebp - 0x78], eax
mov word [ebp - 0x6c], ax
mov eax, dword [ebp - 0xb0]
movzx eax, byte [eax + 0x17]
push eax
push 0
lea eax, [ebp - 0x88]
call fcn.10022ba7
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
test eax, eax
jne case.0x10026960.17
mov eax, dword [ebp - 0x74]
mov ebx, dword [ebp - 0x98]
mov dword [ebp - 0x90], eax
jmp 0x10027f1a
mov eax, dword [ebp - 0x90]
lea ecx, [eax + ebx]
add eax, dword [ebp - 0x50]
mov dword [ebp - 0x5c], ecx
xor ecx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x94], ecx
cmp dword [ebp - 0x9c], ecx
jle 0x10027fb1
jmp 0x10027f3b
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0xa0]
jae 0x10028044
mov edx, dword [ebp - 0x58]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x60]
mov al, byte [ecx]
mov edx, dword [ebp - 0xa4]
cmp al, 0x80
jae 0x10027f70
mov ecx, dword [ebp - 0x94]
movzx eax, al
mov dword [edx + ecx*4], eax
xor eax, eax
inc eax
jmp 0x10027f81
mov eax, dword [ebp - 0x94]
lea edi, [edx + eax*4]
call fcn.10013c6e
movzx eax, al
mov ecx, dword [ebp - 0x94]
movzx eax, al
add dword [ebp - 0x60], eax
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + ecx*4]
call fcn.10024aa9
add dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x58], eax
jae 0x1002804e
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x88]
push eax
call fcn.100223f4
xor eax, eax
pop ecx
mov ecx, dword [ebp - 0x60]
inc eax
mov word [ebp - 0x6c], ax
cmp ecx, dword [ebp - 0x5c]
ja 0x1002815f
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0xc8]
ja 0x1002815f
cmp ecx, dword [ebp - 0x5c]
jne 0x10027ff1
cmp eax, dword [ebp - 0xc8]
jne 0x1002815f
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xa0]
cmp dword [edx + ecx*4], 0
je 0x100280fb
cmp dword [ebp - 0xac], 0
je 0x10028066
mov eax, dword [ebp - 0x8c]
call fcn.10022396
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xa4]
push dword [ecx + eax*4]
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx + eax*4]
add ecx, dword [ebp - 0xac]
jmp 0x100280de
and dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0x94]
inc ecx
mov dword [ebp - 0x94], ecx
cmp ecx, dword [ebp - 0x9c]
jl 0x10027f38
jmp 0x10027fb1
mov eax, dword [eax + ecx*4]
call fcn.10024aa9
mov ebx, dword [ebp - 0x8c]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x88]
call fcn.1002286e
mov eax, dword [ebp - 0xb0]
movzx eax, byte [eax + 0x17]
mov ecx, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0x98]
push eax
mov eax, dword [ebp - 0xa0]
push dword [eax + ecx*4]
mov ecx, dword [ebp - 0xa8]
lea eax, [ebp - 0x88]
call fcn.10022ba7
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
test eax, eax
jne case.0x10026960.17
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x90], ecx
push dword [eax + edx*4]
mov esi, dword [ebp - 0x8c]
call fcn.10024b4b
mov eax, dword [ebp - 0x8c]
pop ecx
mov cl, byte [ebp - 0xe8]
mov byte [eax + 0x1f], cl
jmp 0x10028116
cmp byte [esi + 1], 0xf8
jne 0x10028116
mov ebx, dword [ebp - 0x8c]
push 0x800
push dword [esi + 0x10]
call fcn.100227d4
pop ecx
pop ecx
cmp dword [ebp - 0x64], 0
je 0x10028152
mov eax, dword [ebp - 0x8c]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [ebp - 0x8c]
mov ecx, 0x200
or word [eax + 0x1c], cx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x74]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x8c]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x8c]
call fcn.100221c9
jmp 0x1002816a
push 0xf13c
call fcn.1004d010
pop ecx
mov dword [ebp - 0xd0], eax
jmp case.0x10026960.17
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xc8], eax
mov esi, dword [esi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
jmp 0x100281c2
inc dword [ebp - 0xc8]
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x100281a4
mov eax, esi
call fcn.10022225
push dword [ebp - 0xe8]
mov eax, esi
push dword [ebp - 0xc4]
call fcn.10026785
mov eax, dword [ebp - 0xc8]
pop ecx
pop ecx
add esi, 0x28
mov al, byte [eax]
mov byte [ebp - 0xc4], al
test al, al
jne 0x1002818c
inc dword [ebp - 0xc8]
jmp case.0x10026960.17
xor eax, eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x94], eax
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov ecx, dword [esi + 0x10]
mov ebx, dword [ebp - 0xcc]
mov edi, eax
mov dword [ebp - 0x90], ecx
movzx ecx, byte [ebx + 0x64]
mov dword [ebp - 0x9c], edi
mov eax, dword [esi + 8]
mov dword [ebp - 0x94], eax
imul eax, eax, 0x28
lea eax, [eax + edi - 0x28]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x8c], ecx
cmp edi, eax
jmp 0x10028313
cmp dword [ebp - 0x90], 0
je 0x10028286
push dword [ebp - 0xe8]
mov eax, edi
sub eax, dword [ebp - 0x9c]
push 0x28
cdq
pop ecx
idiv ecx
mov ecx, dword [ebp - 0x90]
movzx eax, byte [eax + ecx]
push eax
mov eax, edi
call fcn.10026785
mov edi, dword [ebp - 0xc4]
pop ecx
pop ecx
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x100282a4
cmp dword [edi + 0x18], 0
jle 0x100282a4
mov eax, edi
call fcn.10022225
mov edi, dword [ebp - 0xc4]
push dword [ebp - 0x8c]
mov eax, edi
call fcn.100249e4
pop ecx
mov dword [ebp - 0xa0], eax
call fcn.10024aa9
mov dword [ebp - 0x84], eax
cdq
add dword [ebp - 0xc0], eax
push 0
push dword [ebp - 0xa0]
adc dword [ebp - 0xbc], edx
call fcn.10013ccf
add dword [ebp - 0xb8], eax
mov eax, 0x4000
pop ecx
pop ecx
test word [edi + 0x1c], ax
je 0x100282fa
mov eax, dword [edi]
add dword [ebp - 0xa8], eax
jmp 0x1002830a
cmp dword [ebp - 0x84], 0
je 0x1002830a
and dword [ebp - 0xa8], 0
add edi, 0x28
cmp edi, dword [ebp - 0x98]
mov dword [ebp - 0xc4], edi
jbe 0x1002824f
mov eax, dword [ebp - 0xb8]
cdq
push edx
push eax
call fcn.10013ccf
mov edi, eax
add dword [ebp - 0xb8], edi
mov eax, dword [ebp - 0xb8]
cdq
push edx
push eax
mov dword [ebp - 0xa4], edi
call fcn.10013ccf
add esp, 0x10
cmp edi, eax
jge 0x10028356
inc dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb8]
cdq
mov edi, eax
mov eax, dword [ebp - 0xa8]
mov ecx, edx
cdq
sub edi, eax
mov eax, dword [ebp - 0xd8]
sbb ecx, edx
add edi, dword [ebp - 0xc0]
adc ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0xac], ecx
mov eax, dword [eax + 0x48]
cdq
cmp ecx, edx
jg 0x10026bae
jl 0x100283a0
cmp edi, eax
ja 0x10026bae
mov esi, dword [esi + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
mov eax, edi
push 0
mov edi, esi
mov dword [ebp - 0xe0], esi
call fcn.10022105
pop ecx
test eax, eax
jne 0x10026db0
mov eax, dword [ebp - 0xb8]
mov ecx, dword [esi + 0x14]
mov edi, 0x80
mov dword [ebp - 0xc8], ecx
cmp eax, edi
jae 0x100283e5
mov byte [ecx], al
xor eax, eax
inc eax
jmp 0x100283ea
call fcn.10013ab3
movzx eax, al
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xc4], eax
jmp 0x1002844e
push dword [ebp - 0x8c]
mov eax, dword [ebp - 0xc4]
call fcn.100249e4
mov edx, dword [ebp - 0x88]
pop ecx
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xa0], eax
cmp eax, edi
jae 0x10028431
mov byte [edx + ecx], al
xor eax, eax
inc eax
jmp 0x10028438
add ecx, edx
call fcn.10013ab3
movzx eax, al
add dword [ebp - 0x88], eax
add dword [ebp - 0xc4], 0x28
mov eax, dword [ebp - 0xc4]
cmp eax, dword [ebp - 0x98]
jbe 0x10028401
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xc4], eax
jmp 0x100284a2
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0xb0]
push dword [ebp - 0x8c]
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0xc8]
lea ebx, [eax + ecx]
mov eax, dword [ebp - 0xc4]
call fcn.10024abc
add dword [ebp - 0x88], eax
add dword [ebp - 0xc4], 0x28
mov eax, dword [ebp - 0xc4]
pop ecx
pop ecx
cmp eax, dword [ebp - 0x98]
jbe 0x10028464
mov eax, dword [ebp - 0xb0]
and dword [esi + 0x20], 0
mov dword [esi + 0x18], eax
mov eax, 0x410
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0xa8]
test eax, eax
je 0x100284d5
mov dword [esi], eax
mov eax, 0x4410
mov word [esi + 0x1c], ax
mov byte [esi + 0x1f], 1
jmp case.0x10026960.17
mov ecx, dword [ebp - 0xcc]
mov eax, dword [esi + 4]
mov ecx, dword [ecx + 0x34]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x1002850e
lea ecx, [ebp - 0xc8]
push ecx
call fcn.10020c1b
pop ecx
mov dword [ebp - 0xd0], eax
jmp 0x1002851c
and dword [ebp - 0xc8], 0
and dword [ebp - 0xc4], 0
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xe0]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xc4]
jmp 0x10026ae2
mov eax, dword [esi + 4]
mov dword [ebp - 0xc8], eax
mov ebx, dword [esi + 0x10]
mov dword [ebp - 0xc4], ebx
test eax, eax
jne 0x10028619
mov esi, dword [ebp - 0xd8]
cmp dword [esi + 0x90], eax
jle 0x10028578
push str.cannot_open_savepoint___SQL_statements_in_progress
push esi
mov edi, dword [ebp - 0xcc]
add edi, 0x5c
call fcn.10011b9d
pop ecx
pop ecx
jmp 0x1002884b
mov ecx, ebx
call fcn.10013326
mov dword [ebp - 0xc0], eax
add eax, 0x19
push eax
call fcn.10011a1d
pop ecx
mov dword [ebp - 0xbc], eax
test eax, eax
je case.0x10026960.17
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc0]
inc eax
push eax
push dword [ebp - 0xc4]
mov eax, dword [ebp - 0xbc]
push dword [eax]
call fcn.10065820
mov eax, esi
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x100285d5
mov byte [eax + 0x1c], 0
mov byte [eax + 0x1dc], 1
jmp 0x100285db
inc dword [eax + 0x1d4]
mov edx, dword [eax + 0x1d0]
mov esi, dword [ebp - 0xbc]
mov dword [esi + 0x10], edx
mov edx, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x1e0]
mov dword [eax + 0x1d0], edx
mov edx, dword [ebp - 0xbc]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0x1e4]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0xc], eax
jmp case.0x10026960.17
and dword [ebp - 0xb0], 0
mov edi, dword [ebp - 0xd8]
mov esi, dword [edi + 0x1d0]
mov dword [ebp - 0xb8], esi
test esi, esi
je 0x1002865c
mov ecx, dword [esi]
mov edx, ebx
call fcn.1001344d
test eax, eax
je 0x10028656
inc dword [ebp - 0xb0]
mov esi, dword [esi + 0x10]
mov dword [ebp - 0xb8], esi
test esi, esi
jne 0x10028636
xor eax, eax
cmp esi, eax
jne 0x10028679
push ebx
push str.no_such_savepoint:__s
push edi
mov edi, dword [ebp - 0xcc]
add edi, 0x5c
call fcn.10011b9d
add esp, 0xc
jmp 0x100288ea
cmp dword [edi + 0x90], eax
jg 0x1002881e
cmp dword [ebp - 0xc8], 2
jne 0x1002869b
cmp dword [edi + 0x8c], 1
jg 0x10028827
cmp dword [esi + 0x10], eax
jne 0x10028705
cmp byte [edi + 0x1dc], al
je 0x10028705
xor ecx, ecx
inc ecx
mov dword [ebp - 0xe4], ecx
cmp dword [ebp - 0xc8], ecx
jne 0x1002870b
mov ebx, dword [ebp - 0xcc]
push ecx
mov eax, ebx
call fcn.10024479
mov esi, eax
pop ecx
test esi, esi
jne 0x10026c2b
push ebx
mov byte [edi + 0x1c], 1
call fcn.100244cf
pop ecx
push 5
pop esi
cmp eax, esi
je 0x1002b84b
mov byte [edi + 0x1dc], 0
mov eax, dword [ebx + 0x58]
mov esi, dword [ebp - 0xb8]
mov dword [ebp - 0xd0], eax
mov ebx, edi
jmp 0x100287c5
mov dword [ebp - 0xe4], eax
mov ecx, dword [edi + 0x1d4]
sub ecx, dword [ebp - 0xb0]
mov dword [ebp - 0xac], eax
dec ecx
mov dword [ebp - 0xb0], ecx
cmp dword [edi + 4], eax
jle 0x10028772
jmp 0x10028731
mov ecx, dword [ebp - 0xb0]
push ecx
push dword [ebp - 0xc8]
mov ecx, edi
mov ecx, dword [ecx + 8]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
call fcn.1001daf6
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x1002b919
mov eax, dword [ebp - 0xac]
inc eax
mov ecx, edi
mov dword [ebp - 0xac], eax
cmp eax, dword [ecx + 4]
jl 0x1002872b
mov esi, dword [ebp - 0xb8]
cmp dword [ebp - 0xc8], 2
jne 0x100286fe
mov ebx, edi
test dword [ebx + 0xc], 0x200
je 0x100287c5
mov eax, ebx
call fcn.10025134
xor eax, eax
call fcn.10032ba8
jmp 0x100287bf
mov eax, dword [ebx + 0x1d0]
mov dword [ebp - 0xb4], eax
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x1d0], eax
push dword [ebp - 0xb4]
push ebx
call fcn.10011850
dec dword [ebx + 0x1d4]
pop ecx
pop ecx
mov esi, dword [ebp - 0xb8]
cmp dword [ebx + 0x1d0], esi
jne 0x10028796
cmp dword [ebp - 0xc8], 1
jne 0x10028807
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x1d0], eax
push dword [ebp - 0xb8]
push ebx
call fcn.10011850
cmp dword [ebp - 0xe4], 0
pop ecx
pop ecx
jne case.0x10026960.17
mov eax, edi
dec dword [eax + 0x1d4]
jmp case.0x10026960.17
mov eax, dword [esi + 8]
mov dword [ebx + 0x1e0], eax
mov eax, dword [esi + 0xc]
mov dword [ebx + 0x1e4], eax
jmp case.0x10026960.17
cmp dword [ebp - 0xc8], 2
jne 0x1002882e
mov eax, str.rollback
jmp 0x10028833
mov eax, str.release
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
push edi
mov edi, dword [ebp - 0xcc]
add edi, 0x5c
call fcn.10011b9d
add esp, 0xc
mov dword [ebp - 0xd0], 5
jmp case.0x10026960.17
mov eax, dword [esi + 4]
mov edi, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], eax
mov esi, dword [esi + 8]
mov dword [ebp - 0xc4], esi
test eax, eax
je 0x10028898
cmp byte [edi + 0x1c], 0
jne 0x10028898
xor ecx, ecx
inc ecx
mov dword [ebp - 0xc0], ecx
test esi, esi
je 0x100288b6
cmp dword [edi + 0x8c], ecx
jle 0x1002889f
push str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x100288c4
and dword [ebp - 0xc0], 0
movzx ecx, byte [edi + 0x1c]
cmp eax, ecx
jne 0x1002b860
test eax, eax
jne 0x100288ca
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x100288d8
cmp dword [edi + 0x90], 0
jle 0x1002889f
push str.cannot_commit_transaction___SQL_statements_in_progress
push edi
jmp 0x10028563
mov eax, str.cannot_rollback___no_transaction_is_active
test esi, esi
jne 0x100288d8
mov eax, str.cannot_commit___no_transaction_is_active
push eax
push edi
mov edi, dword [ebp - 0xcc]
add edi, 0x5c
call fcn.10011b9d
pop ecx
pop ecx
mov dword [ebp - 0xd0], 1
jmp case.0x10026960.17
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ecx + 8]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0xc8], eax
test eax, eax
je case.0x10026960.17
push dword [esi + 8]
call fcn.1001d0c1
pop ecx
mov dword [ebp - 0xd0], eax
push 5
pop eax
cmp dword [ebp - 0xd0], eax
je 0x1002b8d7
xor ecx, ecx
cmp dword [ebp - 0xd0], ecx
jne 0x1002b919
cmp dword [esi + 8], ecx
je case.0x10026960.17
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x66], cl
je case.0x10026960.17
mov edx, dword [ebp - 0xd8]
cmp byte [edx + 0x1c], cl
je 0x10028975
cmp dword [edx + 0x8c], 1
jle case.0x10026960.17
cmp dword [eax + 0xd8], ecx
jne 0x10028997
inc dword [edx + 0x1d8]
mov ecx, dword [edx + 0x1d8]
mov edx, dword [edx + 0x1d4]
add edx, ecx
mov dword [eax + 0xd8], edx
mov edi, dword [ebp - 0xc8]
mov ebx, dword [eax + 0xd8]
mov esi, dword [edi + 4]
call fcn.1001b5da
mov esi, dword [esi]
push ebx
call fcn.100197dd
mov esi, eax
pop ecx
mov eax, edi
call fcn.1001b63e
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x1e0]
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0xd0], edx
mov ecx, dword [ecx + 0x1e4]
mov dword [ebp - 0xd0], esi
mov dword [eax + 0xd4], ecx
jmp case.0x10026960.17
mov eax, dword [esi + 4]
mov dword [ebp - 0xc4], eax
mov esi, dword [esi + 0xc]
lea ecx, [ebp - 0xc8]
push ecx
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], esi
mov ecx, dword [ecx + 8]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
push esi
call fcn.10020b9d
pop ecx
pop ecx
mov eax, dword [ebp - 0xc8]
jmp 0x10026ac1
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xd8]
shl eax, 4
add eax, dword [ecx + 8]
mov dword [ebp - 0xc8], eax
mov edi, dword [esi + 0xc]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
mov eax, edi
call fcn.10022591
push dword [edi]
mov eax, dword [ebp - 0xc8]
push dword [esi + 8]
mov ebx, dword [eax + 4]
call fcn.10020bcd
mov dword [ebp - 0xd0], eax
mov eax, dword [esi + 8]
pop ecx
pop ecx
cmp eax, 1
jne 0x10028a8e
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 0xc]
mov ecx, dword [edi]
mov dword [eax], ecx
mov eax, dword [ebp - 0xd8]
or dword [eax + 0xc], 0x200
jmp 0x10028aa1
cmp eax, 2
jne 0x10028aa1
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 0xc]
mov cl, byte [edi]
mov byte [eax + 0x48], cl
cmp dword [esi + 4], 1
jne case.0x10026960.17
mov eax, dword [ebp - 0xd8]
call fcn.10025134
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x62], 0
jmp case.0x10026960.17
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ecx + 8]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x10028af3
lea ecx, [ebp - 0xc8]
push ecx
push 1
call fcn.10020b9d
pop ecx
pop ecx
jmp 0x10028afa
and dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0xc8]
cmp eax, dword [esi + 8]
je case.0x10026960.17
mov edi, dword [ebp - 0xcc]
push dword [edi + 0x5c]
mov ebx, dword [ebp - 0xd8]
push ebx
call fcn.10011850
push str.database_schema_has_changed
mov edx, ebx
call fcn.10011b2b
mov dword [edi + 0x5c], eax
mov esi, dword [esi + 4]
mov ecx, dword [ebx + 8]
mov eax, esi
add eax, eax
mov eax, dword [ecx + eax*8 + 0xc]
mov eax, dword [eax]
add esp, 0xc
cmp eax, dword [ebp - 0xc8]
je 0x10028b4f
mov eax, esi
call fcn.10032ba8
mov eax, dword [ebp - 0xd8]
call fcn.10025134
mov dword [ebp - 0xd0], 0x11
jmp case.0x10026960.17
mov ebx, dword [ebp - 0xcc]
cmp byte [ebx + 0x62], 0
je 0x10028b84
mov dword [ebp - 0xd0], 4
jmp case.0x10026960.17
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], ecx
mov edi, dword [esi + 8]
mov dword [ebp - 0xc0], edi
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xbc], eax
shl eax, 4
add eax, dword [edx + 8]
mov dword [ebp - 0xac], eax
mov edx, dword [eax + 4]
mov dword [ebp - 0xb4], edx
cmp byte [esi], 0x27
jne 0x10028bde
mov dword [ebp - 0xb8], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x48]
cmp al, byte [ebx + 0x64]
jae 0x10028be4
mov byte [ebx + 0x64], al
jmp 0x10028be4
and dword [ebp - 0xb8], ecx
cmp byte [esi + 3], cl
je 0x10028c10
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
mov eax, edi
call fcn.10022591
mov edi, dword [edi]
mov dword [ebp - 0xc0], edi
cmp edi, 2
jl 0x1002b8f0
mov ecx, dword [ebp - 0xc8]
mov al, byte [esi + 1]
cmp al, 0xfa
jne 0x10028c3b
mov eax, dword [esi + 0x10]
mov ecx, dword [ebx]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov cl, byte [ecx + 0x49]
mov byte [eax + 4], cl
mov eax, dword [ebp - 0xc4]
movzx ecx, word [eax + 6]
inc ecx
jmp 0x10028c42
cmp al, 0xf2
jne 0x10028c48
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0xc8], ecx
mov edx, dword [esi + 4]
push 1
push dword [ebp - 0xbc]
mov eax, ebx
push ecx
call fcn.100265e6
add esp, 0xc
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x10026db0
mov byte [eax + 0x14], 1
push dword [ebp - 0xc4]
mov eax, dword [ebp - 0xb0]
push dword [ebp - 0xc0]
mov eax, dword [eax]
mov ebx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb4]
call fcn.1001db5e
mov edx, dword [ebp - 0xc4]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0xd0], eax
mov dword [ecx + 0x28], edx
cmp eax, 0x10
jne 0x10028cc1
mov eax, dword [ebp - 0xb0]
and dword [eax], 0
and dword [ebp - 0xd0], 0
cmp byte [esi + 1], 0xfa
mov ecx, dword [ebp - 0xb0]
setne al
mov byte [ecx + 0x16], al
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x16], 0
sete cl
mov byte [eax + 0x17], cl
jmp case.0x10026960.17
mov ebx, dword [ebp - 0xcc]
mov edx, dword [esi + 4]
push 1
push 0xffffffffffffffff
push dword [esi + 8]
mov eax, ebx
call fcn.100265e6
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x10026db0
mov edx, dword [ebp - 0xd8]
mov byte [eax + 0x14], 1
mov eax, dword [ebp - 0xc8]
add eax, 0x20
push eax
xor ebx, ebx
push 0x1f4
inc ebx
push ebx
mov eax, 0x41e
xor ecx, ecx
call fcn.1004c805
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x10028e62
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 0x20]
push ebx
call fcn.1001d0c1
pop ecx
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x10028e62
cmp dword [esi + 0x10], 0
mov eax, dword [ebp - 0xc8]
mov edi, dword [eax + 0x20]
je 0x10028dfa
call fcn.1001b5da
push 2
lea eax, [ebp - 0x104]
push eax
push edi
call fcn.100206df
mov ebx, eax
add esp, 0xc
mov eax, edi
call fcn.1001b63e
mov dword [ebp - 0xd0], ebx
test ebx, ebx
jne 0x10028dee
push dword [esi + 0x10]
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ecx]
push dword [ebp - 0x104]
mov ecx, dword [ecx + 0x20]
inc ebx
call fcn.1001db5e
mov dword [ebp - 0xd0], eax
mov eax, dword [esi + 0x10]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xc8]
mov ecx, dword [ecx + 0x28]
mov al, byte [eax + 0x49]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x16], 0
jmp 0x10028e62
mov esi, dword [eax]
call fcn.1001b5da
mov eax, dword [edi + 4]
cmp byte [eax + 0x10], 0
je 0x10028e0f
push 8
pop esi
jmp 0x10028e4b
xor edx, edx
cmp dword [eax + 0x2c], edx
jne 0x10028e1a
push 0x10
jmp 0x10028e0c
or ecx, 0xffffffff
mov dword [esi + 0x14], ebx
mov word [esi + 0x5c], cx
mov dword [esi + 0x10], edx
mov dword [esi], edi
mov dword [esi + 4], eax
mov byte [esi + 0x40], 1
mov ecx, dword [eax + 8]
mov dword [esi + 8], ecx
cmp ecx, edx
je 0x10028e3d
mov dword [ecx + 0xc], esi
mov dword [eax + 8], esi
mov byte [esi + 0x43], dl
mov dword [esi + 0x18], edx
mov dword [esi + 0x1c], edx
xor esi, esi
mov eax, edi
call fcn.1001b63e
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], esi
mov byte [eax + 0x16], 1
mov eax, dword [ebp - 0xc8]
jmp 0x10028cd7
mov ebx, dword [ebp - 0xcc]
mov edx, dword [esi + 4]
push 0
push 0xffffffffffffffff
push dword [esi + 0xc]
mov eax, ebx
call fcn.100265e6
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x10026db0
mov byte [eax + 0x14], 1
mov eax, dword [esi + 8]
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x16], 1
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x17], 0
jmp case.0x10026960.17
mov edi, dword [ebp - 0xcc]
mov eax, dword [esi + 4]
mov ecx, dword [edi + 0x34]
mov eax, dword [ecx + eax*4]
call fcn.10023d46
mov eax, dword [esi + 4]
mov ecx, dword [edi + 0x34]
and dword [ecx + eax*4], 0
jmp case.0x10026960.17
mov ecx, dword [ebp - 0xcc]
mov eax, dword [esi + 4]
mov ecx, dword [ecx + 0x34]
mov eax, dword [ecx + eax*4]
xor edi, edi
mov dword [ebp - 0xc0], eax
cmp dword [eax], edi
je 0x1002697b
movzx ecx, byte [esi]
mov dword [ebp - 0xc4], ecx
mov byte [eax + 0x14], 0
mov ecx, dword [ebp - 0xc0]
cmp byte [ecx + 0x16], 0
je 0x100290e8
mov esi, dword [esi + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
mov edi, esi
call fcn.100266ac
call fcn.10022467
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x94], edx
mov byte [eax + 0x11], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x10029074
test al, 8
jne 0x10028f69
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 8]
jmp 0x100269ac
xor ebx, ebx
cmp dword [ebp - 0x98], ebx
jne 0x10029023
mov eax, SysReAllocString
cmp dword [ebp - 0x94], eax
jne 0x10029023
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x110], ebx
fild qword [ebp - 0x110]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x10028fb0
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x10029023
fldz
mov dword [ebp - 0xc8], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x10028fe4
cmp dword [ebp - 0xc4], 0x2e
jl 0x10028f5b
mov eax, dword [ebp - 0xc0]
mov esi, dword [eax]
lea edi, [ebp - 0xc8]
call fcn.1001e2d7
jmp 0x10029004
cmp dword [ebp - 0xc4], 0x2d
jg 0x10028f5b
mov eax, dword [ebp - 0xc0]
mov esi, dword [eax]
lea edi, [ebp - 0xc8]
call fcn.1001e2fc
mov dword [ebp - 0xd0], eax
cmp eax, ebx
jne 0x1002b919
cmp dword [ebp - 0xc8], ebx
je case.0x10026960.17
jmp 0x10028f5b
cmp dword [ebp - 0xc4], 0x2c
je 0x10029055
cmp dword [ebp - 0xc4], 0x2e
je 0x10029055
fild qword [ebp - 0x98]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x10029076
add dword [ebp - 0x98], 0xffffffff
adc dword [ebp - 0x94], 0xffffffff
jmp 0x10029076
fild qword [ebp - 0x98]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x10029076
add dword [ebp - 0x98], 1
adc dword [ebp - 0x94], ebx
jmp 0x10029076
xor ebx, ebx
lea eax, [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0xc0]
push ebx
push dword [ebp - 0x94]
push dword [ebp - 0x98]
push ebx
push dword [eax]
call fcn.1001e339
add esp, 0x18
mov dword [ebp - 0xd0], eax
cmp eax, ebx
jne 0x1002b919
mov esi, dword [ebp - 0xe4]
cmp dword [ebp - 0xc8], ebx
jne 0x10029178
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x11], 1
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + 0xc], eax
jmp 0x10029178
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xa0], eax
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0xb8], eax
mov ax, word [ebp - 0xa0]
mov word [ebp - 0xb4], ax
mov eax, dword [ebp - 0xc4]
and eax, 1
shl eax, 3
mov word [ebp - 0xb2], ax
mov eax, dword [esi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov edx, 0x4000
mov dword [ebp - 0xa8], eax
test word [eax + 0x1c], dx
je 0x10029143
call fcn.10022225
mov ecx, dword [ebp - 0xc0]
lea eax, [ebp - 0xc8]
push eax
push edi
push edi
push edi
lea eax, [ebp - 0xb8]
push eax
push dword [ecx]
call fcn.1001e339
add esp, 0x18
mov dword [ebp - 0xd0], eax
cmp eax, edi
jne 0x1002b919
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x11], 0
xor ebx, ebx
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x15], 0
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x44], ebx
cmp dword [ebp - 0xc4], 0x2e
jl 0x100291c8
cmp dword [ebp - 0xc8], ebx
jl 0x100291b2
jne 0x100291a7
cmp dword [ebp - 0xc4], 0x2f
je 0x100291b2
mov dword [ebp - 0xc8], ebx
jmp case.0x10026960.17
lea eax, [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0xc0]
push dword [eax]
call fcn.1001e616
jmp 0x10029208
cmp dword [ebp - 0xc8], ebx
jg 0x100291f4
jne 0x100291db
cmp dword [ebp - 0xc4], 0x2c
je 0x100291f4
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
xor ecx, ecx
cmp byte [eax + 0x43], 1
setne cl
mov dword [ebp - 0xc8], ecx
jmp 0x10029223
lea eax, [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0xc0]
push dword [eax]
call fcn.1001e716
pop ecx
mov dword [ebp - 0xd0], eax
pop ecx
cmp eax, ebx
jne 0x1002b919
mov eax, dword [ebp - 0xc0]
xor ebx, ebx
mov byte [eax + 0x11], bl
cmp dword [ebp - 0xc8], ebx
jmp 0x100277ee
mov ecx, dword [ebp - 0xcc]
mov eax, dword [esi + 4]
mov ecx, dword [ecx + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc8], eax
cmp dword [eax], 0
je case.0x10026960.17
mov byte [eax + 0x14], 0
mov esi, dword [esi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
call fcn.10022467
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x15], 1
jmp case.0x10026960.17
mov ecx, dword [ebp - 0xcc]
mov ecx, dword [ecx + 0x34]
xor ebx, ebx
mov dword [ebp - 0xc8], ebx
mov eax, dword [esi + 4]
mov ecx, dword [ecx + eax*4]
mov dword [ebp - 0xc4], ecx
mov edi, dword [esi + 0xc]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
cmp dword [ecx], ebx
je 0x100293a8
cmp dword [esi + 0x10], ebx
jle 0x100292f4
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0xb8], eax
mov ax, word [esi + 0x10]
mov word [ebp - 0xb4], ax
push 0x10
pop eax
mov word [ebp - 0xb2], ax
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xbc], eax
jmp 0x10029342
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x1002930c
mov eax, edi
call fcn.10022225
mov ecx, dword [ebp - 0xc4]
push dword [edi + 0x14]
mov ebx, dword [ecx + 0x28]
push dword [edi + 0x18]
mov edx, 0x97
lea eax, [ebp - 0xa0]
call fcn.10024cef
pop ecx
pop ecx
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x10026daa
or word [eax + 6], 0x10
mov ecx, dword [ebp - 0xc4]
xor ebx, ebx
lea eax, [ebp - 0xc0]
push eax
push ebx
push ebx
push ebx
push dword [ebp - 0xbc]
push dword [ecx]
call fcn.1001e339
add esp, 0x18
mov dword [ebp - 0xd0], eax
cmp dword [esi + 0x10], ebx
jne 0x10029378
mov esi, dword [ebp - 0xbc]
call fcn.10024e06
mov esi, dword [ebp - 0xe4]
cmp dword [ebp - 0xd0], ebx
jne case.0x10026960.17
xor eax, eax
cmp dword [ebp - 0xc0], ebx
sete al
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x15], 0
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x44], ebx
cmp byte [esi], 0x32
je 0x10029223
cmp dword [ebp - 0xc8], ebx
jmp 0x10027c0e
mov eax, dword [esi + 0x10]
mov edi, dword [esi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
imul edi, edi, 0x28
mov ecx, dword [ebp - 0xcc]
mov ecx, dword [ecx + 0x34]
add edi, dword [ebp - 0xd4]
mov dword [ebp - 0xb8], eax
mov eax, dword [esi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc4], eax
and dword [eax + 0x40], 0
mov eax, dword [ebp - 0xc4]
and dword [eax + 0x44], 0
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
mov ecx, dword [eax + 0x28]
mov cx, word [ecx + 6]
xor edx, edx
mov word [ebp - 0xc8], dx
cmp dx, cx
mov edx, dword [ebp - 0xb8]
mov word [ebp - 0xbc], cx
jae 0x10029461
movzx ebx, word [ebp - 0xc8]
imul ebx, ebx, 0x28
test byte [ebx + edx + 0x1c], 1
jne 0x10029450
inc word [ebp - 0xc8]
cmp word [ebp - 0xc8], cx
jb 0x1002942d
jmp 0x10029461
mov ecx, dword [esi + 8]
dec ecx
and dword [ebp - 0xc0], 0
mov dword [ebp - 0xdc], ecx
cmp dword [ebp - 0xc0], 0
je case.0x10026960.17
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xbc]
inc eax
mov word [ebp - 0xac], ax
push 0x20
pop eax
mov word [ebp - 0xaa], ax
mov eax, edi
mov dword [ebp - 0xa0], edx
call fcn.10022591
mov eax, dword [edi]
mov dword [ebp - 0x98], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xc4]
add eax, 0x40
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0xb0]
push eax
push dword [ebp - 0xc0]
call fcn.1001e339
add esp, 0x18
test byte [ebp - 0xaa], 0x20
mov dword [ebp - 0xd0], eax
jne 0x1002697b
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0x98]
jne 0x10029504
mov ecx, dword [ebp - 0xa4]
cmp ecx, dword [ebp - 0x94]
je 0x1002697b
mov dword [edi], eax
mov eax, dword [ebp - 0xa4]
mov dword [edi + 4], eax
jmp case.0x10026960.17
mov edi, dword [esi + 0xc]
mov eax, dword [esi + 4]
imul edi, edi, 0x28
mov ecx, dword [ebp - 0xcc]
mov ecx, dword [ecx + 0x34]
mov eax, dword [ecx + eax*4]
add edi, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], eax
mov ecx, dword [eax]
xor ebx, ebx
mov dword [ebp - 0xc4], ecx
cmp ecx, ebx
je 0x100295e3
mov dword [ebp - 0xc0], ebx
mov eax, dword [edi]
mov dword [ebp - 0xb8], eax
mov edx, dword [edi + 4]
mov dword [ebp - 0xb4], edx
lea edx, [ebp - 0xc0]
push edx
push ebx
push dword [ebp - 0xb4]
push eax
push ebx
push ecx
call fcn.1001e339
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
mov eax, dword [edi]
mov dword [ecx + 8], eax
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0xc8]
add esp, 0x18
cmp dword [ebp - 0xc0], ebx
sete al
mov byte [ecx + 0x11], al
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x14], bl
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x44], ebx
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x15], bl
mov eax, dword [ebp - 0xc0]
cmp eax, ebx
je 0x100295d5
mov esi, dword [esi + 8]
dec esi
mov dword [ebp - 0xdc], esi
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x40], eax
jmp case.0x10026960.17
mov esi, dword [esi + 8]
dec esi
mov dword [ebp - 0xdc], esi
mov dword [eax + 0x40], ebx
jmp case.0x10026960.17
mov eax, dword [esi + 4]
mov edx, dword [ebp - 0xcc]
mov ecx, dword [edx + 0x34]
mov eax, dword [ecx + eax*4]
mov edi, dword [eax + 0x30]
mov ecx, dword [ebp - 0xe0]
mov dword [ecx], edi
mov eax, dword [eax + 0x34]
mov dword [ecx + 4], eax
mov eax, dword [esi + 4]
mov ecx, dword [edx + 0x34]
mov eax, dword [ecx + eax*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.0x10026960.17
mov ebx, dword [ebp - 0xcc]
mov edx, dword [ebx + 0x34]
xor eax, eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xbc], eax
mov ecx, dword [esi + 4]
mov ecx, dword [edx + ecx*4]
mov dword [ebp - 0xc0], ecx
cmp dword [ecx], eax
je 0x1002851c
mov dword [ebp - 0xb8], eax
cmp byte [ecx + 0x13], al
jne 0x100297f8
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0xc8], edx
mov eax, dword [eax + 0x1c]
or edx, eax
mov dword [ebp - 0xc4], eax
jne 0x1002970a
mov esi, dword [ecx]
lea edi, [ebp - 0xbc]
call fcn.1001e2fc
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x1002b91f
cmp dword [ebp - 0xbc], eax
je 0x100296bc
and dword [ebp - 0xc4], eax
mov dword [ebp - 0xc8], 1
jmp 0x10029704
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
lea edi, [ebp - 0xc8]
call fcn.1001dca7
cmp dword [ebp - 0xc8], 0xffffffff
mov dword [ebp - 0xd0], eax
jne 0x100296f6
cmp dword [ebp - 0xc4], 0x7fffffff
jne 0x100296f6
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x13], 1
jmp 0x10029704
add dword [ebp - 0xc8], 1
adc dword [ebp - 0xc4], 0
mov esi, dword [ebp - 0xe4]
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x100297a2
mov eax, dword [ebx + 0xdc]
test eax, eax
jne 0x100297c7
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
mov esi, ecx
mov eax, esi
mov dword [ebp - 0xb4], esi
call fcn.10022591
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
cmp eax, 0xffffffff
jne 0x10029757
cmp ecx, 0x7fffffff
je 0x1002b903
mov esi, dword [ebp - 0xc0]
cmp byte [esi + 0x13], 0
jne 0x1002b903
add eax, 1
adc ecx, 0
cmp dword [ebp - 0xc4], ecx
jg 0x1002978b
jl 0x1002977f
cmp dword [ebp - 0xc8], eax
jae 0x1002978b
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], ecx
mov eax, dword [ebp - 0xc8]
mov dword [edx], eax
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xc4]
cmp ecx, 0x7fffffff
jg 0x100297e2
mov eax, dword [ebp - 0xc8]
jl 0x100297bd
cmp eax, 0xffffffff
jae 0x100297e2
add eax, 1
adc ecx, 0
jmp 0x100297e6
mov eax, ecx
mov dword [ebp - 0xb0], eax
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x100297c5
mov esi, dword [esi + 0xc]
imul esi, esi, 0x28
add esi, dword [eax + 0x10]
jmp 0x1002972e
xor eax, eax
xor ecx, ecx
push ecx
push eax
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax]
call fcn.1001dbd0
add esp, 8
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0x13], 0
je 0x100298e0
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + 0x34]
and dword [ebp - 0xb8], 0
mov dword [ebp - 0xc4], eax
xor esi, esi
cmp dword [ebp - 0xb8], esi
jne 0x1002985d
mov eax, dword [ebp - 0xc8]
and eax, 0xffffff
xor ecx, ecx
cmp eax, dword [ebp - 0xc8]
jne 0x1002985d
cmp ecx, dword [ebp - 0xc4]
jne 0x1002985d
add dword [ebp - 0xc8], 1
adc dword [ebp - 0xc4], esi
jmp 0x10029886
lea eax, [ebp - 0xc8]
push eax
push 8
call fcn.10012cfa
cmp dword [ebp - 0xb8], 5
pop ecx
pop ecx
jge 0x10029886
and dword [ebp - 0xc8], 0xffffff
mov dword [ebp - 0xc4], esi
lea eax, [ebp - 0xbc]
push eax
mov eax, dword [ebp - 0xc0]
push esi
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
push esi
push dword [eax]
call fcn.1001e339
add esp, 0x18
inc dword [ebp - 0xb8]
cmp dword [ebp - 0xb8], 0x64
mov dword [ebp - 0xd0], eax
jge 0x100298d0
cmp eax, esi
jne 0x100298e0
cmp dword [ebp - 0xbc], esi
je 0x10029829
cmp eax, esi
jne 0x100298e0
cmp dword [ebp - 0xbc], esi
je 0x1002b90f
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x15], 0
mov eax, dword [ebp - 0xc0]
and dword [eax + 0x44], 0
jmp 0x1002851c
mov ecx, dword [esi + 8]
mov edi, dword [ebp - 0xcc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
mov edx, dword [edi + 0x34]
mov dword [ebp - 0xc8], ecx
mov eax, dword [esi + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xb8], eax
cmp byte [esi], 0x37
jne 0x1002994e
mov edx, dword [esi + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], edx
mov eax, dword [edx]
mov dword [ebp - 0xc0], eax
mov edx, dword [edx + 4]
jmp 0x10029958
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
test byte [esi + 3], 1
je 0x10029967
inc dword [edi + 0x6c]
test byte [esi + 3], 2
je 0x10029985
mov ecx, dword [ebp - 0xd8]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 0x34], eax
mov ecx, dword [ebp - 0xc8]
xor edi, edi
test byte [ecx + 0x1c], 1
je 0x1002999f
mov dword [ecx + 0x14], edi
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x18], edi
mov ecx, dword [ebp - 0xc8]
test byte [esi + 3], 0x10
je 0x100299b6
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x40]
mov dword [ebp - 0xb0], eax
jmp 0x100299bc
mov dword [ebp - 0xb0], edi
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x100299d1
mov eax, dword [ecx]
mov dword [ebp - 0xb4], eax
jmp 0x100299d7
mov dword [ebp - 0xb4], edi
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax]
push edi
push edi
call fcn.1001dbd0
push dword [ebp - 0xb0]
movzx eax, byte [esi + 3]
and eax, 8
push eax
push dword [ebp - 0xb4]
mov eax, dword [ebp - 0xc8]
push dword [eax + 0x18]
push dword [eax + 0x14]
mov eax, dword [ebp - 0xb8]
push dword [ebp - 0xbc]
mov ebx, dword [eax]
push dword [ebp - 0xc0]
push edi
call fcn.1002030e
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xd0], eax
xor eax, eax
mov byte [ecx + 0x11], al
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x15], al
mov ecx, dword [ebp - 0xb8]
add esp, 0x28
mov dword [ecx + 0x44], eax
cmp dword [ebp - 0xd0], eax
jne case.0x10026960.17
mov eax, dword [ebp - 0xd8]
cmp dword [eax + 0xb8], 0
je case.0x10026960.17
cmp dword [esi + 0x10], 0
je case.0x10026960.17
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
push dword [ebp - 0xbc]
add eax, eax
mov edx, dword [edx + eax*8]
push dword [ebp - 0xc0]
mov dword [ebp - 0xac], edx
mov edi, dword [esi + 0x10]
mov dword [ebp - 0xa8], edi
mov al, byte [esi + 3]
and al, 4
movzx eax, al
neg eax
sbb eax, eax
push edi
and eax, 5
add eax, 0x12
push edx
push eax
mov dword [ebp - 0xa4], eax
push dword [ecx + 0xb4]
call dword [ecx + 0xb8]
add esp, 0x18
jmp case.0x10026960.17
mov ebx, dword [ebp - 0xcc]
mov edx, dword [ebx + 0x34]
xor eax, eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov ecx, dword [esi + 4]
mov edi, dword [edx + ecx*4]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], edi
cmp dword [ecx + 0xb8], eax
je 0x10029b18
cmp dword [esi + 0x10], eax
je 0x10029b18
mov eax, dword [edi + 8]
mov dword [ebp - 0xc8], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xc4], eax
call fcn.1002494e
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x1002b91f
push eax
push eax
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax]
call fcn.1001dbd0
mov eax, dword [ebp - 0xc0]
mov ebx, dword [eax]
add esp, 8
call fcn.100204cb
mov ecx, dword [ebp - 0xc0]
and dword [ecx + 0x44], 0
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x10029ba0
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + 0xb8]
test edx, edx
je 0x10029ba0
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x10029ba0
push dword [ebp - 0xc4]
mov edi, dword [eax + 8]
push dword [ebp - 0xc8]
push ecx
mov ecx, dword [ebp - 0xc0]
mov ecx, dword [ecx + 4]
add ecx, ecx
push dword [edi + ecx*8]
push 9
push dword [eax + 0xb4]
call edx
add esp, 0x18
test byte [esi + 8], 1
je case.0x10026960.17
mov eax, dword [ebp - 0xcc]
inc dword [eax + 0x6c]
jmp case.0x10026960.17
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx + 0x6c]
mov ecx, dword [ebp - 0xd8]
add dword [ecx + 0x40], eax
mov dword [ecx + 0x3c], eax
and dword [edx + 0x6c], 0
jmp case.0x10026960.17
mov eax, dword [esi + 8]
mov ebx, dword [ebp - 0xcc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov ecx, dword [ebx + 0x34]
mov dword [ebp - 0xe0], eax
mov eax, dword [esi + 4]
mov edi, dword [ecx + eax*4]
mov dword [ebp - 0xc8], edi
mov eax, dword [edi]
mov dword [ebp - 0xc4], eax
call fcn.1002494e
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x1002b91f
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x17], 0
je 0x10029c65
mov eax, dword [ebp - 0xc4]
lea edi, [ebp - 0xb8]
call fcn.1001dca7
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x48]
cdq
mov ecx, eax
cmp dword [ebp - 0xb4], edx
jg 0x10026bae
mov eax, dword [ebp - 0xb8]
jl 0x10029c5d
cmp eax, ecx
ja 0x10026bae
mov dword [ebp - 0xc0], eax
jmp 0x10029c8a
mov edi, dword [ebp - 0xc4]
mov esi, edi
call fcn.1001dc7f
mov eax, dword [edi + 0x30]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], eax
cmp eax, dword [ecx + 0x48]
ja 0x10026bae
mov edi, dword [ebp - 0xe0]
push 0
call fcn.10022105
pop ecx
test eax, eax
jne 0x10026daa
mov eax, dword [ebp - 0xc0]
mov esi, edi
mov dword [esi + 0x18], eax
mov ax, word [esi + 0x1c]
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x17], 0
je 0x10029ce6
mov eax, dword [esi + 0x14]
push 0
push eax
push dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc4]
push 0
call fcn.1001dd88
jmp 0x10029cfc
push dword [esi + 0x14]
push dword [ebp - 0xc0]
push 0
push dword [ebp - 0xc4]
call fcn.1001e00e
mov dword [ebp - 0xd0], eax
mov byte [esi + 0x1f], 1
jmp 0x1002b77b
mov ebx, dword [ebp - 0xcc]
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0x34]
mov edi, dword [ecx + eax*4]
mov dword [ebp - 0xc8], edi
cmp byte [edi + 0x14], 0
jne case.0x10026960.10
cmp byte [edi + 0x15], 0
je 0x10029d3e
mov eax, dword [edi + 0x18]
mov dword [ebp - 0xc0], eax
mov eax, dword [edi + 0x1c]
jmp 0x10029da6
cmp dword [edi + 0x38], 0
je 0x10029d7b
mov eax, dword [edi + 0x38]
mov eax, dword [eax]
mov dword [ebp - 0xb8], eax
mov eax, dword [eax]
lea ecx, [ebp - 0xc0]
push ecx
mov dword [ebp - 0xb4], eax
push dword [edi + 0x38]
call dword [eax + 0x30]
mov esi, dword [ebp - 0xb8]
pop ecx
pop ecx
mov edi, ebx
mov dword [ebp - 0xd0], eax
call fcn.100267ec
jmp 0x10029dc1
call fcn.1002494e
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x1002b91f
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x11], 0
je 0x10029dae
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc0], ecx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xbc], eax
jmp 0x10029dc1
mov eax, dword [eax]
lea edi, [ebp - 0xc0]
call fcn.1001dca7
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xe0]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xbc]
jmp 0x10026ae2
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xcc]
mov ecx, dword [ecx + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc8], eax
mov byte [eax + 0x14], 1
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0xc8]
mov esi, dword [eax]
test esi, esi
je case.0x10026960.17
call fcn.1001b960
jmp case.0x10026960.17
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xcc]
mov ecx, dword [ecx + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc8], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
jne 0x10029e44
mov dword [ebp - 0xc0], 1
jmp 0x10029e63
lea edi, [ebp - 0xc0]
mov esi, ecx
call fcn.1001e2fc
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
mov cl, byte [ebp - 0xc0]
mov byte [eax + 0x14], cl
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x15], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0xc8]
and dword [eax + 0x44], 0
mov esi, dword [esi + 8]
test esi, esi
jle case.0x10026960.17
cmp dword [ebp - 0xc0], 0
je case.0x10026960.17
jmp 0x1002697e
mov eax, dword [ebp - 0xcc]
inc dword [eax + 0xb4]
jmp 0x10029ebb
mov eax, dword [ebp - 0xcc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc0], 1
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
je 0x10029f30
lea edi, [ebp - 0xc0]
mov esi, ecx
call fcn.1001e2d7
cmp dword [ebp - 0xc0], 0
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xd0], eax
sete al
mov byte [ecx + 0x12], al
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x15], 0
mov eax, dword [ebp - 0xc8]
and dword [eax + 0x44], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0xc8]
mov cl, byte [ebp - 0xc0]
mov byte [eax + 0x14], cl
cmp dword [ebp - 0xc0], 0
jmp 0x100277ee
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0xe0]
test eax, eax
jne 0x1002b967
mov edi, dword [ebp - 0xcc]
mov eax, dword [esi + 4]
mov ecx, dword [edi + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc8], eax
test eax, eax
je case.0x10026960.17
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
jne 0x10029f8b
mov byte [eax + 0x14], 1
jmp case.0x10026960.17
lea eax, [ebp - 0xc0]
mov dword [ebp - 0xc0], 1
cmp byte [esi], 0x43
push eax
push ecx
jne 0x10029fa9
call fcn.1001e616
jmp 0x10029fae
call fcn.1001e716
pop ecx
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
pop ecx
mov cl, byte [ebp - 0xc0]
mov byte [eax + 0x14], cl
mov eax, dword [ebp - 0xc8]
and dword [eax + 0x44], 0
cmp dword [ebp - 0xc0], 0
jne 0x10029ff5
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0xdc], eax
mov al, byte [esi + 3]
test al, al
je 0x10029ff5
movzx eax, al
lea eax, [edi + eax*4 + 0xac]
inc dword [eax]
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x11], 0
jmp case.0x10026960.17
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xcc]
mov ecx, dword [ecx + 0x34]
mov ecx, dword [ecx + eax*4]
mov dword [ebp - 0xc8], ecx
mov edi, dword [esi + 8]
mov eax, dword [ecx]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], eax
test eax, eax
je case.0x10026960.17
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x1002a055
mov eax, edi
call fcn.10022225
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
jmp 0x1002a05c
and dword [ebp - 0xd0], 0
cmp dword [ebp - 0xd0], 0
jne case.0x10026960.17
mov eax, dword [edi + 0x18]
mov dword [ebp - 0xc0], eax
mov edi, dword [edi + 0x14]
mov dword [ebp - 0xbc], edi
test byte [esi + 3], 0x10
je 0x1002a086
mov ecx, dword [ecx + 0x40]
jmp 0x1002a088
xor ecx, ecx
mov ebx, dword [ebp - 0xc4]
push ecx
push dword [esi + 0xc]
cdq
push 0
push 0
push 0x1008265a
push edx
push eax
push edi
call fcn.1002030e
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
add esp, 0x20
and dword [eax + 0x44], 0
jmp case.0x10026960.17
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xcc]
mov ecx, dword [ecx + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc8], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
je case.0x10026960.17
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xb8], eax
mov ax, word [esi + 0xc]
mov word [ebp - 0xb4], ax
xor eax, eax
mov word [ebp - 0xb2], ax
mov eax, dword [esi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
xor esi, esi
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xc0]
push eax
push esi
push esi
push esi
lea eax, [ebp - 0xb8]
push eax
push ecx
call fcn.1001e339
add esp, 0x18
mov dword [ebp - 0xd0], eax
cmp eax, esi
jne 0x1002a14f
cmp dword [ebp - 0xc0], esi
jne 0x1002a14f
mov ebx, dword [ebp - 0xc4]
call fcn.100204cb
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x44], esi
jmp case.0x10026960.17
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xcc]
mov ecx, dword [ecx + 0x34]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xc4], eax
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0xc8], 0
je case.0x10026960.17
mov edi, dword [ebp - 0xc4]
call fcn.1002494e
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x1002b919
mov eax, dword [ebp - 0xc4]
cmp byte [eax + 0x14], 0
jne case.0x10026960.17
lea eax, [ebp - 0xc0]
push eax
push dword [ebp - 0xc8]
call fcn.10024fc6
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x1002b919
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xe0]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xbc]
push 4
mov dword [eax + 4], ecx
pop ecx
mov word [eax + 0x1c], cx
jmp case.0x10026960.17
mov ecx, dword [ebp - 0xcc]
mov eax, dword [esi + 4]
mov ecx, dword [ecx + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc8], eax
cmp dword [eax], 0
je case.0x10026960.17
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0xc0], ecx
mov cx, word [esi + 0x10]
mov word [ebp - 0xbc], cx
cmp byte [esi + 3], 0
je 0x1002a23e
push 0xc
jmp 0x1002a240
push 4
pop ecx
mov word [ebp - 0xba], cx
mov ecx, dword [esi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
mov esi, eax
mov dword [ebp - 0xb0], ecx
lea ecx, [ebp - 0xc4]
push ecx
lea ecx, [ebp - 0xc0]
push ecx
call fcn.100250a9
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xe4]
cmp byte [eax], 0x51
pop ecx
pop ecx
jne 0x1002a28a
neg dword [ebp - 0xc4]
jmp 0x1002a290
inc dword [ebp - 0xc4]
cmp dword [ebp - 0xc4], 0
jle case.0x10026960.17
jmp 0x10028f61
mov ecx, dword [ebp - 0xd8]
and dword [ebp - 0xc4], 0
mov eax, dword [ecx + 0x88]
jmp 0x1002a2d5
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x1002a2d2
cmp byte [eax + 0x65], 2
jae 0x1002a2d2
cmp dword [eax + 0x54], 0
jl 0x1002a2d2
inc dword [ebp - 0xc4]
mov eax, dword [eax + 8]
mov dword [ebp - 0xc0], eax
test eax, eax
jne 0x1002a2b7
mov ebx, dword [ebp - 0xe0]
xor eax, eax
inc eax
mov word [ebx + 0x1c], ax
cmp dword [ebp - 0xc4], eax
jle 0x1002a30d
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xd0], 6
mov byte [eax + 0x38], 2
jmp case.0x10026960.17
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ecx + 8]
mov edx, dword [esi + 4]
add eax, eax
mov edi, dword [ecx + eax*8 + 4]
mov dword [ebp - 0xe4], edx
call fcn.1001b5da
lea eax, [ebp - 0xc8]
push eax
push dword [ebp - 0xe4]
push edi
call fcn.10020a09
mov dword [ebp - 0xe4], eax
add esp, 0xc
mov eax, edi
call fcn.1001b63e
mov ecx, dword [ebp - 0xe4]
push 4
pop eax
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xc8]
cdq
mov dword [ebp - 0xd0], ecx
mov dword [ebx], eax
mov dword [ebx + 4], edx
test ecx, ecx
jne case.0x10026960.17
mov edi, dword [ebp - 0xc8]
test edi, edi
je case.0x10026960.17
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xd8]
mov esi, dword [esi + 4]
shl eax, 4
add eax, dword [ecx + 8]
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx + 0xc]
jmp 0x1002a3af
mov edx, dword [ecx + 8]
cmp dword [edx + 0x14], edi
jne 0x1002a3ad
mov dword [edx + 0x14], esi
mov ecx, dword [ecx]
test ecx, ecx
jne 0x1002a3a2
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x1c]
jmp 0x1002a3c8
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], edi
jne 0x1002a3c6
mov dword [ecx + 0x14], esi
mov eax, dword [eax]
test eax, eax
jne 0x1002a3bb
mov byte [ebp - 0xe9], 1
jmp case.0x10026960.17
and dword [ebp - 0xc8], 0
mov eax, dword [esi + 0xc]
neg eax
sbb eax, eax
lea ecx, [ebp - 0xc8]
and eax, ecx
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ecx + 8]
push eax
mov eax, dword [esi + 8]
push dword [esi + 4]
add eax, eax
mov ebx, dword [ecx + eax*8 + 4]
call fcn.100209b9
cmp dword [esi + 0xc], 0
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
je case.0x10026960.17
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
add dword [ecx + 0x6c], eax
mov esi, dword [esi + 0xc]
test esi, esi
jle case.0x10026960.17
mov ecx, dword [ebp - 0xd4]
imul esi, esi, 0x28
cdq
add ecx, esi
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x10026960.17
and dword [ebp - 0xc8], 0
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xd8]
shl eax, 4
add eax, dword [ecx + 8]
xor ecx, ecx
mov dword [ebp - 0xc0], eax
cmp byte [esi], 0x62
setne cl
lea esi, [ecx - 1]
and esi, 3
add esi, 2
mov dword [ebp - 0xc4], esi
mov edi, dword [eax + 4]
call fcn.1001b5da
push esi
lea eax, [ebp - 0xc8]
push eax
push edi
call fcn.100206df
mov esi, eax
add esp, 0xc
mov eax, edi
call fcn.1001b63e
mov dword [ebp - 0xd0], esi
jmp 0x10028a1c
mov eax, dword [esi + 4]
mov edi, dword [ebp - 0xd8]
push edi
mov dword [ebp - 0xc8], eax
call fcn.1001b653
mov eax, dword [ebp - 0xc8]
xor ebx, ebx
pop ecx
cmp dword [esi + 8], ebx
jne 0x1002a4e3
mov edx, dword [edi + 8]
mov ecx, eax
add ecx, ecx
mov ecx, dword [edx + ecx*8 + 0xc]
test byte [ecx + 0x4a], 1
je 0x1002a59c
mov dword [ebp - 0xc4], str.sqlite_temp_master
cmp eax, 1
je 0x1002a4fc
mov dword [ebp - 0xc4], str.sqlite_master
mov dword [ebp - 0xbc], edi
mov ecx, dword [esi + 4]
mov dword [ebp - 0xb8], ecx
mov ecx, dword [ebp - 0xcc]
add ecx, 0x5c
mov dword [ebp - 0xb4], ecx
push dword [esi + 0x10]
mov ecx, dword [edi + 8]
push dword [ebp - 0xc4]
add eax, eax
push dword [ecx + eax*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push edi
call fcn.10012a0f
add esp, 0x14
mov dword [ebp - 0xc0], eax
cmp eax, ebx
jne 0x1002a54f
mov dword [ebp - 0xd0], 7
jmp 0x1002a59c
push ebx
lea eax, [ebp - 0xbc]
push eax
mov byte [edi + 0x7c], 1
push fcn.1003d436
push dword [ebp - 0xc0]
mov dword [ebp - 0xb0], ebx
push edi
call fcn.1003b1bc
add esp, 0x14
mov dword [ebp - 0xd0], eax
cmp eax, ebx
jne 0x1002a58b
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xd0], eax
push dword [ebp - 0xc0]
push edi
call fcn.10011850
pop ecx
pop ecx
mov byte [edi + 0x7c], bl
call fcn.1001b6dc
cmp dword [ebp - 0xd0], 7
je 0x10026daa
jmp case.0x10026960.17
mov ecx, dword [esi + 4]
mov eax, dword [ebp - 0xd8]
call fcn.10031c40
jmp 0x1002816a
mov ecx, dword [esi + 0x10]
mov esi, dword [esi + 4]
mov ebx, dword [ebp - 0xd8]
shl esi, 4
add esi, dword [ebx + 8]
push 0
call fcn.10013326
push eax
mov eax, dword [esi + 0xc]
add eax, 4
mov edi, ecx
call fcn.10014048
push eax
push ebx
call fcn.10032d32
add esp, 0x10
or dword [ebx + 0xc], 0x200
jmp case.0x10026960.17
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 4]
mov ebx, dword [ebp - 0xd8]
call fcn.10032b30
jmp case.0x10026960.17
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 4]
mov edx, dword [ebp - 0xd8]
call fcn.10042f14
jmp case.0x10026960.17
mov esi, dword [esi + 8]
lea eax, [esi*4 + 4]
mov dword [ebp - 0xc8], esi
mov esi, dword [ebp - 0xd8]
push eax
call fcn.10011a1d
xor esi, esi
pop ecx
mov dword [ebp - 0xc4], eax
cmp eax, esi
je 0x10026daa
mov ebx, dword [ebp - 0xe4]
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xb4], eax
mov edi, dword [ebx + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
mov dword [ebp - 0xc0], esi
cmp dword [ebp - 0xc8], esi
jle 0x1002a6bc
imul esi, esi, 0x28
add esi, edi
call fcn.10022467
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
mov dword [edx + ecx*4], eax
mov esi, dword [ebp - 0xc0]
inc esi
mov dword [ebp - 0xc0], esi
cmp esi, dword [ebp - 0xc8]
jl 0x1002a68e
mov eax, dword [ebp - 0xc4]
and dword [eax + esi*4], 0
mov esi, dword [ebp - 0xd8]
mov ecx, dword [esi + 8]
lea eax, [ebp - 0xbc]
push eax
mov eax, dword [ebp - 0xb4]
push dword [eax]
movzx eax, byte [ebx + 3]
push dword [ebp - 0xc8]
add eax, eax
push dword [ebp - 0xc4]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.10021676
push dword [ebp - 0xc4]
mov dword [ebp - 0xb8], eax
push esi
call fcn.10011850
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb4]
cdq
sub dword [ecx], eax
mov eax, dword [ebp - 0xb4]
push edi
sbb dword [eax + 4], edx
call fcn.1002263c
add esp, 0x1c
cmp dword [ebp - 0xbc], 0
je 0x1002a75b
cmp dword [ebp - 0xb8], 0
je 0x10026daa
push 1
push dword [ebp - 0xb8]
mov eax, fcn.100117f2
or ecx, 0xffffffff
mov edx, edi
call fcn.10022892
pop ecx
pop ecx
movzx eax, byte [ebp - 0xe8]
push eax
mov eax, edi
call fcn.100220e0
jmp 0x10026ce3
mov edi, dword [esi + 4]
mov esi, dword [esi + 8]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
test byte [edi + 0x1c], 0x20
jne 0x1002a79c
call fcn.1002274c
test byte [edi + 0x1c], 0x20
je 0x10026daa
push dword [esi + 4]
push dword [esi]
mov edi, dword [edi]
call fcn.10016779
jmp 0x10026ce2
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0xe0]
test eax, eax
jne 0x1002b967
mov edi, dword [esi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
test byte [edi + 0x1c], 0x20
je 0x1002a82b
mov ebx, dword [edi]
mov eax, ebx
call fcn.100169b7
mov eax, dword [ebx + 8]
test eax, eax
je 0x1002a82b
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 8]
mov dword [ebx + 8], eax
test eax, eax
jne 0x1002a80e
mov esi, ebx
call fcn.10016747
mov esi, dword [ebp - 0xe4]
mov esi, dword [esi + 0xc]
push dword [ebp - 0xc4]
imul esi, esi, 0x28
push dword [ebp - 0xc8]
add esi, dword [ebp - 0xd4]
jmp 0x10027b44
push edi
call fcn.1002263c
pop ecx
jmp 0x1002697b
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
mov dword [ebp - 0xe4], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xc8], eax
test byte [edi + 0x1c], 0x20
jne 0x1002a879
call fcn.1002274c
test byte [edi + 0x1c], 0x20
je 0x10026daa
mov eax, dword [ebp - 0xc8]
test eax, eax
je 0x1002a8b5
js 0x1002a884
and eax, 0xf
jmp 0x1002a889
mov eax, 0xff
mov ecx, dword [ebp - 0xe4]
push dword [ecx + 4]
mov bl, al
push dword [ecx]
mov eax, dword [edi]
call fcn.100169f7
pop ecx
pop ecx
mov dword [ebp - 0xc4], eax
test eax, eax
jne 0x1002697b
mov eax, dword [ebp - 0xc8]
test eax, eax
js case.0x10026960.17
mov eax, dword [ebp - 0xe4]
push dword [eax + 4]
push dword [eax]
jmp 0x1002a7a1
mov edx, dword [esi + 0x10]
mov dword [ebp - 0xb0], edx
mov ecx, dword [esi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc0], ecx
cmp byte [esi + 3], 0
je 0x1002a925
mov ebx, dword [ebp - 0xcc]
mov eax, dword [ebx + 0xdc]
mov esi, dword [edx + 0x10]
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x1002a92b
cmp dword [eax + 0x20], esi
je 0x1002a91d
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xb4], eax
test eax, eax
jne 0x1002a90b
test eax, eax
jne case.0x10026960.17
mov ebx, dword [ebp - 0xcc]
mov esi, dword [ebx + 0xe0]
mov eax, dword [ebp - 0xd8]
cmp esi, dword [eax + 0x70]
jl 0x1002a959
push str.too_many_levels_of_trigger_recursion
push eax
lea edi, [ebx + 0x5c]
mov dword [ebp - 0xd0], 1
call fcn.10011b9d
jmp 0x10026ce2
test byte [ecx + 0x1c], 0x40
jne 0x1002aaaa
mov ecx, dword [edx + 8]
add ecx, dword [edx + 0xc]
mov dword [ebp - 0xc8], ecx
imul ecx, ecx, 0xa
add ecx, dword [edx + 0xc]
lea ecx, [ecx*4 + 0x40]
push ecx
mov dword [ebp - 0xc4], ecx
call fcn.100119f5
pop ecx
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x10026db0
push dword [ebp - 0xc0]
call fcn.100223f4
pop ecx
mov ecx, dword [ebp - 0xc0]
push 0x40
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xc0]
mov dword [ecx], eax
mov eax, dword [ebp - 0xb4]
mov dword [eax], ebx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xc8]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xdc]
mov dword [eax + 4], ecx
mov eax, dword [ebx + 0x4c]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x10], eax
mov eax, dword [ebx + 0x48]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x14], eax
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x18], eax
mov ax, word [ebx + 0x32]
mov ecx, dword [ebp - 0xb4]
mov word [ecx + 0x1c], ax
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x20], eax
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ecx + 0x24]
imul eax, eax, 0x28
lea eax, [eax + ecx + 0x40]
lea edx, [ecx + 0x40]
mov dword [ebp - 0xb8], eax
cmp edx, eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xbc], edx
je 0x1002aab2
xor ecx, ecx
inc ecx
mov word [edx + 0x1c], cx
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x10], eax
mov edx, dword [ebp - 0xbc]
add edx, 0x28
mov dword [ebp - 0xbc], edx
cmp edx, dword [ebp - 0xb8]
jne 0x1002aa7b
mov ecx, dword [ebp - 0xb4]
jmp 0x1002aab2
mov ecx, dword [ecx]
mov dword [ebp - 0xb4], ecx
inc dword [ebx + 0xe0]
mov edx, dword [ebx + 0xdc]
mov dword [ecx + 0x3c], edx
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0xb4]
mov dword [edx + 0x30], ecx
mov eax, dword [eax + 0x34]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x34], eax
mov eax, dword [ebx + 0x6c]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xb4]
and dword [ebx + 0x6c], 0
lea ecx, [eax + 0x18]
mov dword [ebx + 0xdc], eax
mov dword [ebx + 0x4c], ecx
mov edx, dword [eax + 0x24]
mov dword [ebx + 0x48], edx
mov ax, word [eax + 0x28]
mov word [ebx + 0x32], ax
lea eax, [edx + 1]
imul eax, eax, 0x28
add eax, ecx
or dword [ebp - 0xdc], 0xffffffff
mov dword [ebp - 0xd4], ecx
mov ecx, dword [ebp - 0xb0]
mov dword [ebx + 0x34], eax
mov eax, dword [ecx]
mov dword [ebp - 0xfc], eax
mov dword [ebx + 0x14], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 0xc], eax
jmp case.0x10026960.17
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0xdc]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
imul eax, eax, 0x14
mov eax, dword [eax + edx + 4]
add eax, dword [esi + 4]
push 0x1000
imul eax, eax, 0x28
add eax, dword [ecx + 0x10]
mov dword [ebp - 0xc4], eax
push eax
jmp 0x10026cd7
cmp dword [esi + 4], 0
mov eax, dword [esi + 8]
cdq
je 0x1002ab97
mov ecx, dword [ebp - 0xd8]
add dword [ecx + 0x1e0], eax
adc dword [ecx + 0x1e4], edx
jmp case.0x10026960.17
mov ecx, dword [ebp - 0xcc]
add dword [ecx + 0xc8], eax
adc dword [ecx + 0xcc], edx
jmp case.0x10026960.17
cmp dword [esi + 4], 0
je 0x1002abcb
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x1e0]
or ecx, dword [eax + 0x1e4]
jmp 0x10027c0e
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0xc8]
or ecx, dword [eax + 0xcc]
jmp 0x10027c0e
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0xdc]
test ecx, ecx
jne 0x1002ac50
mov eax, dword [esi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], eax
call fcn.10022591
mov esi, dword [esi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
mov eax, esi
call fcn.10022591
mov eax, dword [ebp - 0xc8]
mov ecx, dword [esi]
mov esi, dword [esi + 4]
mov edx, dword [eax + 4]
cmp edx, esi
jg case.0x10026960.17
jl 0x1002ac3e
mov edx, dword [eax]
cmp edx, ecx
jae case.0x10026960.17
mov dword [eax], ecx
mov eax, dword [ebp - 0xc8]
mov dword [eax + 4], esi
jmp case.0x10026960.17
mov ecx, eax
mov dword [ebp - 0xc4], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x1002ac4e
mov eax, dword [esi + 4]
imul eax, eax, 0x28
add eax, dword [ecx + 0x10]
jmp 0x1002abfe
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xd4]
imul eax, eax, 0x28
cmp dword [eax + ecx + 4], 0
jl case.0x10026960.17
jg 0x1002697b
cmp dword [eax + ecx], 0
jbe case.0x10026960.17
jmp 0x1002697b
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xd4]
imul eax, eax, 0x28
cmp dword [eax + ecx + 4], 0
jg case.0x10026960.17
jl 0x1002697b
cmp dword [eax + ecx], 0
jae case.0x10026960.17
jmp 0x1002697b
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
cdq
add dword [ecx], eax
mov eax, dword [ecx]
adc dword [ecx + 4], edx
or eax, dword [ecx + 4]
jmp 0x10027c0e
movzx ecx, byte [esi + 3]
mov edx, dword [ebp - 0xcc]
mov edx, dword [edx + 0x24]
mov dword [ebp - 0xc8], ecx
mov eax, dword [esi + 8]
and dword [ebp - 0xc4], 0
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0x78], edx
mov dword [ebp - 0xbc], eax
test ecx, ecx
jle 0x1002ad4c
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0xc4]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0xbc]
call fcn.100265bb
inc dword [ebp - 0xc4]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc4]
add eax, 0x28
mov dword [ebp - 0xbc], eax
cmp ecx, dword [ebp - 0xc8]
jl 0x1002ad12
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xb8], eax
mov eax, dword [esi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
xor edi, edi
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x88], eax
inc dword [eax + 0x18]
xor eax, eax
inc eax
mov word [ebp - 0x94], ax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x80], edi
test byte [eax + 3], 8
je 0x1002adb5
mov ecx, dword [esi - 4]
mov dword [ebp - 0x80], ecx
push dword [ebp - 0x78]
lea ecx, [ebp - 0xb8]
push dword [ebp - 0xc8]
push ecx
call dword [eax + 0x10]
add esp, 0xc
cmp dword [ebp - 0x84], edi
je 0x1002ae0a
push 1
lea esi, [ebp - 0xb0]
call fcn.10022c78
mov edi, dword [ebp - 0xcc]
pop ecx
push eax
push 0x100871d8
push dword [ebp - 0xd8]
add edi, 0x5c
call fcn.10011b9d
mov eax, dword [ebp - 0x84]
add esp, 0xc
mov dword [ebp - 0xd0], eax
lea eax, [ebp - 0xb0]
push eax
call fcn.100223f4
jmp 0x10026ce3
mov ecx, dword [esi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [esi + 0x10]
call fcn.10022339
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x1002ae6a
mov esi, dword [ebp - 0xc8]
push 1
call fcn.10022c78
mov edi, dword [ebp - 0xcc]
pop ecx
push eax
push 0x100871d8
push dword [ebp - 0xd8]
add edi, 0x5c
call fcn.10011b9d
add esp, 0xc
movzx eax, byte [ebp - 0xe8]
mov ebx, dword [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xc8]
call fcn.100220e0
pop ecx
mov ecx, dword [ebp - 0xc8]
call fcn.100227ad
test eax, eax
jne 0x10026bae
jmp case.0x10026960.17
push dword [esi + 4]
mov ebx, dword [ebp - 0xd8]
call fcn.1004c76f
jmp 0x10028169
mov edi, dword [ebp - 0xcc]
cmp dword [edi + 0x80], 0
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xc0], eax
jne 0x1002aed6
mov ecx, dword [esi + 4]
mov eax, edi
call fcn.10023735
call fcn.1002443b
mov eax, dword [esi + 4]
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edx + 8]
add eax, eax
cmp dword [ebp - 0xc0], 0xffffffff
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0xc8], eax
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
movzx ecx, byte [eax + 5]
mov dword [ebp - 0xbc], ecx
jne 0x1002af12
mov dword [ebp - 0xc0], ecx
cmp byte [eax + 0xe], 3
jae 0x1002af2e
mov ebx, dword [eax + 0x40]
cmp dword [ebx], 0
je 0x1002af34
cmp dword [eax + 0x4c], 0
jl 0x1002af34
jg 0x1002af2e
cmp dword [eax + 0x48], 0
jbe 0x1002af34
mov dword [ebp - 0xc0], ecx
mov ecx, dword [eax + 0x90]
push 5
pop ebx
mov dword [ebp - 0xb8], ecx
cmp dword [ebp - 0xc0], ebx
jne 0x1002af6c
cmp byte [ecx], 0
je 0x1002af60
mov ecx, dword [eax + 0x3c]
mov ecx, dword [ecx]
cmp dword [ecx], 2
jl 0x1002af60
cmp dword [ecx + 0x34], 0
jne 0x1002af6c
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0xbc]
cmp dword [ebp - 0xc0], ecx
je 0x1002b01b
cmp ecx, ebx
je 0x1002af8e
cmp dword [ebp - 0xc0], ebx
jne 0x1002b01b
cmp byte [edx + 0x1c], 0
je 0x1002b026
cmp dword [edx + 0x8c], 1
jg 0x1002b026
cmp dword [ebp - 0xbc], ebx
jne 0x1002afd3
call fcn.10019bb5
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x1002b059
mov ecx, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xc4]
call fcn.10019a9c
jmp 0x1002aff5
cmp dword [ebp - 0xbc], 4
jne 0x1002afec
push 2
pop ecx
mov edi, eax
call fcn.10019a9c
mov eax, dword [ebp - 0xc4]
cmp dword [ebp - 0xd0], 0
jne 0x1002b05f
push dword [ebp - 0xc8]
xor eax, eax
cmp dword [ebp - 0xc0], ebx
sete al
lea ebx, [eax + 1]
call fcn.10021a26
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc4]
pop ecx
cmp dword [ebp - 0xd0], 0
je 0x1002b06b
jmp 0x1002b05f
mov dword [ebp - 0xd0], 1
mov eax, str.into
cmp dword [ebp - 0xc0], ebx
je 0x1002b042
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push edx
add edi, 0x5c
call fcn.10011b9d
add esp, 0xc
jmp case.0x10026960.17
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0xc0]
mov edi, eax
call fcn.10019a9c
mov dword [ebp - 0xc0], eax
mov esi, dword [esi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
mov eax, 0xa02
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xe0], esi
cmp eax, 6
jne 0x1002b0a8
xor ecx, ecx
jmp 0x1002b0af
mov ecx, dword [eax*4 + 0x100836ec]
mov dword [esi + 0x14], ecx
call fcn.10013326
mov dword [esi + 0x18], eax
movzx eax, byte [ebp - 0xe8]
push eax
mov byte [esi + 0x1f], 1
mov eax, esi
jmp 0x1002a765
mov eax, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xd8]
add eax, 0x5c
push eax
call fcn.1004443d
jmp 0x10028169
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ecx + 8]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0xc8], eax
call fcn.1001d710
mov dword [ebp - 0xd0], eax
cmp eax, 0x65
jne case.0x10026960.17
mov esi, dword [esi + 8]
dec esi
and dword [ebp - 0xd0], 0
mov dword [ebp - 0xdc], esi
jmp case.0x10026960.17
cmp dword [esi + 4], 0
jne 0x1002b13f
mov eax, dword [ebp - 0xd8]
call fcn.10025134
jmp case.0x10026960.17
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x62], 1
jmp case.0x10026960.17
mov al, byte [esi + 0xc]
test al, al
jne 0x1002b168
mov ecx, dword [ebp - 0xd8]
test dword [ecx + 0xc], 0x80000
jne case.0x10026960.17
mov edx, dword [esi + 4]
mov edi, dword [ebp - 0xd8]
mov ebx, dword [edi + 8]
mov ecx, dword [esi + 8]
add edx, edx
mov edx, dword [ebx + edx*8 + 4]
call fcn.10021995
mov dword [ebp - 0xd0], eax
cmp al, 6
jne case.0x10026960.17
push dword [esi + 0x10]
push str.database_table_is_locked:__s
push edi
mov edi, dword [ebp - 0xcc]
jmp 0x1002b049
mov esi, dword [esi + 0x10]
push dword [ebp - 0xd8]
mov ebx, esi
mov dword [ebp - 0xc8], esi
call fcn.100451c3
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
pop ecx
test eax, eax
je case.0x10026960.17
mov esi, dword [eax + 8]
mov edi, dword [ebp - 0xcc]
call fcn.100267ec
jmp case.0x10026960.17
mov eax, dword [ebp - 0xcc]
mov ebx, dword [ebp - 0xd8]
add eax, 0x5c
push eax
push dword [esi + 0x10]
mov eax, dword [esi + 4]
call fcn.10044f35
pop ecx
jmp 0x10028169
mov edi, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd8]
mov byte [edi + 0x65], 2
push dword [esi + 0x10]
mov eax, dword [esi + 4]
call fcn.10045106
pop ecx
mov dword [ebp - 0xd0], eax
mov byte [edi + 0x65], 0
jmp case.0x10026960.17
xor ebx, ebx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 8]
lea edx, [ebp - 0xc4]
mov dword [ebp - 0xc0], eax
mov ecx, dword [eax]
push edx
push eax
mov dword [ebp - 0xbc], ecx
call dword [ecx + 0x18]
mov esi, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xcc]
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
call fcn.100267ec
cmp dword [ebp - 0xd0], ebx
jne case.0x10026960.17
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
mov dword [ecx], eax
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax + 4]
push ebx
push 0xffffffffffffffff
push ebx
mov eax, edi
call fcn.100265e6
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x1002b2d0
mov ecx, dword [ebp - 0xc4]
mov dword [eax + 0x38], ecx
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x3c], eax
jmp case.0x10026960.17
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x1e], 1
push dword [ebp - 0xc4]
mov eax, dword [ebp - 0xbc]
call dword [eax + 0x1c]
jmp 0x10026ce3
mov eax, dword [esi + 0xc]
mov ebx, dword [ebp - 0xcc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov edi, dword [ebx + 0x34]
mov ebx, dword [ebx + 0x24]
mov dword [ebp - 0xbc], eax
lea edx, [eax + 0x28]
mov dword [ebp - 0xb8], edx
mov ecx, dword [esi + 4]
mov ecx, dword [edi + ecx*4]
mov dword [ebp - 0xac], ecx
mov ecx, dword [ecx + 0x38]
mov dword [ebp - 0xb4], ecx
mov edi, dword [ecx]
mov dword [ebp - 0xb0], edi
mov edi, dword [edi]
mov dword [ebp - 0xc0], edi
mov edi, dword [edx]
mov dword [ebp - 0xc8], edi
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
xor eax, eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0xa4], eax
cmp edi, eax
jle 0x1002b3aa
jmp 0x1002b36a
mov edx, dword [ebp - 0xb8]
lea ecx, [eax + 1]
imul ecx, ecx, 0x28
add ecx, edx
mov edx, dword [ebp - 0xa0]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx + eax*4]
call fcn.100265bb
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
cmp eax, dword [ebp - 0xc8]
jl 0x1002b364
mov ecx, dword [ebp - 0xb4]
push dword [ebp - 0xa0]
mov edi, dword [ebp - 0xcc]
push dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc0]
mov byte [edi + 0x65], 1
push dword [esi + 0x10]
push dword [ebp - 0xc4]
push ecx
call dword [eax + 0x20]
mov esi, dword [ebp - 0xb0]
add esp, 0x14
mov dword [ebp - 0xd0], eax
mov byte [edi + 0x65], 0
call fcn.100267ec
cmp dword [ebp - 0xd0], 0
jne 0x1002b40a
push dword [ebp - 0xb4]
mov eax, dword [ebp - 0xc0]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
je 0x1002b423
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xac]
mov byte [eax + 0x14], 0
jmp case.0x10026960.17
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xcc]
mov ecx, dword [ecx + 0x34]
mov edi, dword [ecx + eax*4]
mov eax, dword [esi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc0], eax
cmp byte [edi + 0x14], 0
jne 0x1002731c
mov eax, dword [edi + 0x38]
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov eax, dword [eax]
push 0x40
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0xb8]
push 0
push eax
call fcn.10066c10
mov ebx, dword [ebp - 0xc0]
add esp, 0xc
lea eax, [ebp - 0xb0]
call fcn.1002286e
mov eax, dword [ebp - 0x94]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x94], ax
push dword [esi + 8]
lea eax, [ebp - 0xb8]
push eax
push dword [edi + 0x38]
mov eax, dword [ebp - 0xc4]
call dword [eax + 0x2c]
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xcc]
add esp, 0xc
mov dword [ebp - 0xd0], eax
call fcn.100267ec
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x1002b4e9
mov dword [ebp - 0xd0], eax
movzx eax, byte [ebp - 0xe8]
push eax
lea eax, [ebp - 0xb0]
call fcn.100220e0
mov eax, dword [ebp - 0xc0]
pop ecx
lea ebx, [ebp - 0xb0]
call fcn.1002286e
mov ecx, dword [ebp - 0xc0]
call fcn.100227ad
test eax, eax
je case.0x10026960.17
mov ebx, edi
jmp 0x10026bae
and dword [ebp - 0xc0], 0
mov ecx, dword [ebp - 0xcc]
mov eax, dword [esi + 4]
mov ecx, dword [ecx + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xbc], eax
cmp byte [eax + 0x14], 0
jne case.0x10026960.17
mov ecx, dword [eax + 0x38]
mov ecx, dword [ecx]
mov esi, dword [ebp - 0xcc]
mov dword [ebp - 0xc8], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xc4], ecx
mov byte [esi + 0x65], 1
push dword [eax + 0x38]
call dword [ecx + 0x24]
mov edi, dword [ebp - 0xcc]
mov byte [esi + 0x65], 0
mov esi, dword [ebp - 0xc8]
pop ecx
mov dword [ebp - 0xd0], eax
call fcn.100267ec
cmp dword [ebp - 0xd0], 0
jne 0x1002b5af
mov eax, dword [ebp - 0xbc]
push dword [eax + 0x38]
mov eax, dword [ebp - 0xc4]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
jne case.0x10026960.17
jmp 0x10028f5b
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xc8], eax
mov esi, dword [esi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], esi
push dword [esi + 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x4c]
mov esi, dword [ebp - 0xc8]
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
jmp 0x1002b1d2
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc4], eax
mov edx, dword [esi + 8]
mov dword [ebp - 0xc0], edx
cmp dword [eax + 0x34], 0
je case.0x10026960.17
mov edx, dword [ebp - 0xcc]
mov edx, dword [edx + 0x24]
mov dword [ebp - 0xb0], edx
mov esi, dword [esi + 0xc]
and dword [ebp - 0xbc], 0
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
cmp dword [ebp - 0xc0], 0
mov dword [ebp - 0xac], esi
jle 0x1002b69e
mov ecx, esi
call fcn.100265bb
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xb0]
mov dword [edx + ecx*4], eax
mov esi, dword [ebp - 0xac]
add esi, 0x28
inc dword [ebp - 0xbc]
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xac], esi
cmp eax, dword [ebp - 0xc0]
jl 0x1002b653
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xb8]
push edx
push dword [ebp - 0xb0]
push dword [ebp - 0xc0]
push ecx
call dword [eax + 0x34]
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xcc]
add esp, 0x10
mov dword [ebp - 0xd0], eax
call fcn.100267ec
cmp dword [ebp - 0xd0], 0
jne 0x1002b6fc
mov eax, dword [ebp - 0xe4]
cmp dword [eax + 4], 0
je 0x1002b6fc
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xd8]
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp - 0xb4]
mov dword [eax + 0x34], ecx
inc dword [edi + 0x6c]
jmp case.0x10026960.17
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ecx + 8]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x2c]
mov eax, dword [ebp - 0xe0]
and dword [eax + 4], 0
mov dword [eax], ecx
jmp case.0x10026960.17
mov esi, dword [esi + 0x10]
test esi, esi
je 0x1002b732
mov ecx, esi
jmp 0x1002b73e
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0xbc]
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je case.0x10026960.17
mov esi, dword [ebp - 0xd8]
cmp dword [esi + 0x94], 0
je case.0x10026960.17
push dword [ebp - 0xcc]
call fcn.1002630c
pop ecx
mov ebx, eax
push ebx
mov edi, esi
push dword [edi + 0x98]
call dword [esi + 0x94]
push ebx
push edi
call fcn.10011850
add esp, 0x10
inc dword [ebp - 0xdc]
cmp dword [ebp - 0xd0], 0
je 0x100268ce
jmp 0x1002b79d
mov dword [ebp - 0xd0], 9
mov ebx, dword [ebp - 0xcc]
jmp 0x10026bcd
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xdc]
mov dword [ebx + 0x58], eax
mov al, byte [esi + 8]
mov byte [ebx + 0x38], al
mov dword [ebx + 0x54], ecx
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1002b7fc
push eax
push 0x100871d8
push dword [ebp - 0xd8]
lea edi, [ebx + 0x5c]
call fcn.10011b9d
add esp, 0xc
push dword [esi + 0x10]
push dword [ebx + 0xbc]
push dword [ebp - 0xdc]
push str.abort_at__d_in___s_:__s
push dword [esi + 4]
call fcn.10012bde
add esp, 0x14
jmp 0x1002b819
cmp dword [ebx + 0x58], 0
je 0x1002b819
push dword [ebx + 0xbc]
push ecx
push str.constraint_failed_at__d_in___s_
push dword [esi + 4]
call fcn.10012bde
add esp, 0x10
push ebx
call fcn.100244cf
pop ecx
push 5
pop esi
cmp eax, esi
je 0x1002b858
mov esi, dword [ebx + 0x58]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x10026c2b
lea eax, [ebp - 0xb8]
push eax
call fcn.100223f4
pop ecx
jmp 0x10026daa
mov eax, dword [ebp - 0xdc]
mov dword [ebx + 0x54], eax
mov byte [edi + 0x1c], 0
mov dword [ebx + 0x58], esi
jmp 0x10026c2b
test esi, esi
je 0x1002b890
mov eax, edi
call fcn.1004c148
mov byte [edi + 0x1c], 1
mov esi, edi
call fcn.1004bee1
mov eax, dword [ebp - 0xcc]
mov esi, dword [eax + 0x58]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
mov ebx, eax
jmp 0x10026c2b
mov ebx, dword [ebp - 0xcc]
push 1
mov eax, ebx
call fcn.10024479
mov esi, eax
pop ecx
test esi, esi
jne 0x10026c2b
mov al, byte [ebp - 0xc8]
push ebx
mov byte [edi + 0x1c], al
call fcn.100244cf
pop ecx
push 5
pop esi
cmp eax, esi
jne 0x1002b86f
mov eax, dword [ebp - 0xdc]
mov dword [ebx + 0x54], eax
mov al, 1
sub al, byte [ebp - 0xc8]
mov byte [edi + 0x1c], al
jmp 0x1002b858
mov ebx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xdc]
mov dword [ebx + 0x54], ecx
mov esi, eax
mov dword [ebx + 0x58], eax
jmp 0x10026c2b
push 0xf432
call fcn.1004d010
pop ecx
mov dword [ebp - 0xd0], eax
jmp 0x1002b91f
mov dword [ebp - 0xd0], 0xd
jmp 0x1002b91f
mov dword [ebp - 0xd0], 0xd
mov ebx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd8]
cmp byte [ecx + 0x1e], 0
je 0x1002b935
mov dword [ebp - 0xd0], 7
cmp dword [ebp - 0xd0], 0xc0a
je 0x10026bcd
mov eax, dword [ebp - 0xd0]
call fcn.1004c1ed
push eax
push 0x100871d8
push ecx
lea edi, [ebx + 0x5c]
call fcn.10011b9d
add esp, 0xc
jmp 0x10026bcd
mov ebx, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xd8]
push 9
pop eax
mov dword [ebp - 0xd0], eax
mov dword [ebx + 0x58], eax
call fcn.1004c1ed
push eax
push 0x100871d8
push esi
jmp 0x1002b957