Function at 0x10029cb0
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x31c
mov eax, dword [0x10102008]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ecx + 4]
push ebx
push esi
mov esi, dword [ecx]
mov dword [ebp - 0x28c], eax
push edi
xor edi, edi
mov dword [ebp - 0x29c], ecx
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x290], esi
mov eax, dword [eax + 0xc]
mov byte [ebp - 0x2dd], 0
mov dword [ebp - 0x304], 0
mov dword [ebp - 0x2f4], 0
mov bl, byte [eax + 0x4d]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x298], eax
mov eax, dword [esi + 0x24]
mov byte [ebp - 0x2d4], bl
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x2ec], 0
mov dword [ebp - 0x2a0], edi
mov dword [ebp - 0x2f0], edi
mov dword [ebp - 0x2a4], ebx
mov dword [ebp - 0x2dc], eax
call fcn.10023360
mov ecx, dword [ebp - 0x29c]
cmp dword [ecx + 0x50], 7
je 0x1002bc3f
mov dword [ecx + 0x50], edi
mov dword [ecx + 0x88], edi
mov dword [ecx + 0x8c], edi
mov dword [ecx + 0x14], edi
mov dword [esi + 0x1c4], edi
cmp dword [esi + 0xf0], edi
jne 0x1002fbba
cmp dword [esi + 0x124], edi
je 0x10029db0
mov eax, dword [ecx + 0x7c]
mov edx, dword [esi + 0x12c]
mov dword [ebp - 0x2ec], edx
test eax, eax
je 0x10029db0
xor edx, edx
div dword [ebp - 0x2ec]
mov dword [ebp - 0x2ec], edx
mov eax, dword [ecx + 0x4c]
xorps xmm0, xmm0
mov dword [ebp - 0x310], 0xbe04
mov dword [ebp - 0x308], 0xbe01
movsd qword [ebp - 0x318], xmm0
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x298]
mov dword [ebp - 0x288], eax
nop dword [eax]
nop dword [eax + eax]
cmp byte [esi + 0x40], 0
mov dword [ebp - 0x2c4], ebx
jne 0x1002bc3f
inc dword [ebp - 0x2f4]
lea ebx, [eax + eax*4]
test byte [ecx + ebx*4 + 2], 2
mov dword [ebp - 0x2d0], ebx
je 0x10029e47
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, 0x2460
mov dword [ebp - 0x2a0], edi
test word [edi + 8], ax
je 0x10029e3e
mov ecx, edi
call fcn.100216e0
mov ecx, dword [ebp - 0x28c]
mov eax, 4
mov word [edi + 8], ax
mov dl, byte [ecx + ebx*4]
movzx eax, dl
dec eax
cmp eax, 0x98
ja case.default.0x10029e59
jmp dword [eax*4 + 0x1002fc0c]
mov ecx, dword [ecx + ebx*4 + 8]
dec ecx
mov dword [ebp - 0x288], ecx
jmp 0x1002f3d6
mov ecx, dword [ecx + ebx*4 + 4]
mov edx, 4
mov eax, dword [ebp - 0x298]
mov esi, dword [ebp - 0x298]
lea ecx, [ecx + ecx*4]
mov word [eax + ecx*8 + 8], dx
mov eax, dword [ebp - 0x288]
cdq
mov dword [esi + ecx*8], eax
mov eax, esi
mov esi, dword [ebp - 0x290]
mov dword [eax + ecx*8 + 4], edx
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ecx + ebx*4 + 8]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dd8
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
lea eax, [eax + eax*4]
mov ecx, dword [edx + eax*8]
mov dword [ebp - 0x288], ecx
mov ecx, 0x80
mov word [edx + eax*8 + 8], cx
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x28c]
inc eax
jmp 0x10029dde
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 0xc]
dec eax
mov dword [ebp - 0x2a0], edi
cdq
mov dword [edi], eax
mov eax, 4
mov word [edi + 8], ax
mov dword [edi + 4], edx
mov eax, dword [ecx + ebx*4 + 8]
test eax, eax
mov ebx, dword [ebp - 0x2a4]
lea ecx, [eax - 1]
cmove ecx, dword [ebp - 0x288]
lea eax, [ecx + 1]
jmp 0x10029dd2
mov eax, dword [ecx + ebx*4 + 4]
mov ebx, 0x80
mov edx, dword [ebp - 0x28c]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x298]
mov eax, dword [eax + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
mov edx, dword [ebp - 0x298]
mov word [edx + ecx*8 + 8], bx
mov ecx, dword [ebp - 0x28c]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
mov eax, dword [ecx + ebx*4 + 4]
mov ebx, dword [ebp - 0x298]
lea esi, [eax + eax*4]
mov eax, 4
mov ecx, dword [ebx + esi*8]
mov word [ebx + esi*8 + 8], ax
mov eax, dword [ebp - 0x288]
cdq
mov dword [ebx + esi*8], eax
lea eax, [ecx + 1]
mov dword [ebx + esi*8 + 4], edx
mov esi, dword [ebp - 0x290]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dd2
mov eax, dword [ecx + ebx*4 + 0xc]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
je case.default.0x10029e59
mov ecx, dword [ecx + ebx*4 + 4]
test ecx, ecx
jne 0x1002f720
mov eax, dword [ebp - 0x29c]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x1002f720
mov ecx, dword [ebp - 0x29c]
mov eax, dword [edx + 4]
dec dword [ecx + 0xb8]
mov dword [ecx + 0xb0], eax
mov eax, dword [ecx + 0x5c]
mov ecx, edx
add dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
call fcn.10023dd0
mov ecx, dword [esi + 0x20]
mov dword [ebp - 0x2a4], ecx
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x2dc], ecx
mov ecx, dword [ebp - 0x28c]
cmp dword [ecx + ebx*4 + 8], 4
mov ecx, dword [ebp - 0x29c]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x28c], ecx
jne 0x1002a045
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 8]
dec eax
mov edx, dword [ebp - 0x29c]
inc eax
mov ebx, dword [ebp - 0x2a4]
mov edx, dword [edx + 8]
mov dword [ebp - 0x298], edx
jmp 0x10029dde
mov eax, dword [ecx + ebx*4 + 4]
mov ebx, dword [ebp - 0x2a4]
cdq
mov dword [edi], eax
mov eax, dword [ebp - 0x288]
mov dword [edi + 4], edx
inc eax
jmp 0x10029dd8
mov eax, dword [ecx + ebx*4 + 0x10]
mov ebx, dword [ebp - 0x2a4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x288]
mov dword [edi], ecx
inc eax
jmp 0x10029dd2
mov eax, 8
mov word [edi + 8], ax
mov eax, dword [ecx + ebx*4 + 0x10]
mov ebx, dword [ebp - 0x2a4]
movsd xmm0, qword [eax]
mov eax, dword [ebp - 0x288]
movsd qword [edi], xmm0
inc eax
jmp 0x10029dd8
mov edx, dword [ecx + ebx*4 + 0x10]
mov eax, edx
mov byte [ecx + ebx*4], 0x1b
test edx, edx
je 0x1002a0e3
cmp byte [edx], 0
je 0x1002a0dc
inc eax
cmp byte [eax], 0
jne 0x1002a0d6
sub eax, edx
and eax, 0x3fffffff
cmp byte [ebp - 0x2d4], 1
mov dword [ecx + ebx*4 + 4], eax
je 0x1002a176
push 0
push 1
push 0xffffffffffffffff
mov ecx, edi
call fcn.10021f50
add esp, 0xc
mov dword [ebp - 0x294], eax
cmp eax, 0x12
je 0x1002fb57
test byte [edi + 8], 2
je 0x1002a135
mov al, byte [ebp - 0x2d4]
cmp byte [edi + 0xa], al
je 0x1002a135
mov dl, al
mov ecx, edi
call fcn.10007480
test eax, eax
jne 0x1002bc3f
mov ecx, dword [ebp - 0x28c]
mov eax, 0x800
or word [edi + 8], ax
mov dword [edi + 0x18], 0
cmp byte [ecx + ebx*4 + 1], 0xff
jne 0x1002a163
mov edx, dword [ecx + ebx*4 + 0x10]
mov ecx, esi
call fcn.10004f30
mov ecx, dword [ebp - 0x28c]
mov byte [ecx + ebx*4 + 1], 0xff
mov eax, dword [edi + 0x10]
mov dword [ecx + ebx*4 + 0x10], eax
mov eax, dword [edi + 0xc]
mov dword [ecx + ebx*4 + 4], eax
cmp eax, dword [esi + 0x58]
jg 0x1002fb57
mov eax, 0xa02
mov word [edi + 8], ax
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + ebx*4 + 4]
mov dword [edi + 0xc], eax
mov al, byte [ebp - 0x2d4]
mov byte [edi + 0xa], al
mov eax, dword [ebp - 0x294]
jmp 0x1002bd5e
mov edx, dword [ebp - 0x28c]
mov eax, 1
mov esi, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ecx + ebx*4 + 8]
cmp dword [edx + ebx*4 + 4], 0
mov edx, 0x101
mov ebx, dword [ebp - 0x2a0]
cmovne eax, edx
sub esi, ecx
movzx edi, ax
mov word [ebx + 8], di
test esi, esi
jle 0x1002a206
mov eax, 0x2460
add ebx, 0x28
test word [ebx + 8], ax
je 0x1002a1f7
mov ecx, ebx
call fcn.100216e0
mov eax, 0x2460
dec esi
mov word [ebx + 8], di
test esi, esi
jg 0x1002a1e2
mov dword [ebp - 0x2a0], ebx
mov esi, dword [ebp - 0x290]
mov edi, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x28c]
inc eax
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
mov dword [ebp - 0x288], eax
jmp 0x10029df0
mov eax, dword [ecx + ebx*4 + 4]
mov ebx, 0xff7f
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov ax, word [edi + 8]
and ax, bx
mov dword [ebp - 0x2a0], edi
mov ebx, dword [ebp - 0x2a4]
or ax, 1
mov word [edi + 8], ax
mov eax, dword [ebp - 0x288]
inc eax
mov dword [ebp - 0x288], eax
jmp 0x10029df0
mov edx, dword [ecx + ebx*4 + 0x10]
push 0
push 0
push dword [ecx + ebx*4 + 4]
mov ecx, edi
call fcn.10021f50
mov al, byte [ebp - 0x2d4]
add esp, 0xc
mov byte [edi + 0xa], al
jmp 0x1002a212
mov eax, dword [ecx + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x29c]
mov eax, dword [eax + 0x3c]
lea esi, [eax + ecx*8]
lea ecx, [esi - 0x28]
call fcn.10021e60
test eax, eax
jne 0x1002fb51
push 0x800
lea edx, [esi - 0x28]
mov ecx, edi
call fcn.10021e90
add esp, 4
jmp 0x1002da12
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
mov edi, dword [ecx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, 1
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov eax, 0x2460
nop
test word [ebx + 8], ax
jne 0x1002a30c
cmp dword [ebx + 0x18], 0
je 0x1002a31d
mov ecx, ebx
call fcn.10021760
mov eax, 0x2460
mov ecx, 1
movups xmm0, xmmword [esi]
movups xmmword [ebx], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [ebx + 0x10], xmm0
movq xmm0, qword [esi + 0x20]
movq qword [ebx + 0x20], xmm0
add ebx, 0x28
mov word [esi + 8], cx
mov dword [esi + 0x18], 0
add esi, 0x28
sub edi, 1
jne 0x1002a300
mov dword [ebp - 0x2a0], ebx
mov edi, dword [ebp - 0x2a0]
jmp 0x1002da12
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
mov edi, dword [ecx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
push 0x1000
mov edx, esi
mov dword [ebp - 0x2a0], ebx
mov ecx, ebx
call fcn.10021e90
mov eax, 0x1000
add esp, 4
test word [ebx + 8], ax
je 0x1002a3ab
mov ecx, ebx
call fcn.100213b0
test eax, eax
jne 0x1002bc39
mov eax, edi
dec edi
test eax, eax
je 0x1002a351
add ebx, 0x28
add esi, 0x28
jmp 0x1002a37a
mov eax, dword [ecx + ebx*4 + 8]
mov edx, dword [ebp - 0x298]
push 0x1000
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 4]
mov ecx, edi
mov dword [ebp - 0x2a0], edi
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
call fcn.10021e90
mov eax, dword [ebp - 0x288]
add esp, 4
mov ecx, dword [ebp - 0x28c]
inc eax
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
mov dword [ebp - 0x288], eax
jmp 0x10029df0
mov eax, dword [esi + 0x124]
test eax, eax
je 0x1002a438
mov ecx, dword [ebp - 0x2f4]
cmp ecx, dword [ebp - 0x2ec]
jb 0x1002a438
push dword [esi + 0x128]
call eax
add esp, 4
test eax, eax
jne 0x1002f80b
mov ecx, dword [ebp - 0x29c]
xor edx, edx
call fcn.10024970
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002bd58
mov ecx, dword [ebp - 0x29c]
lea edx, [eax + 1]
call fcn.10024850
mov ecx, dword [ebp - 0x29c]
mov dword [ebp - 0x294], eax
test eax, eax
je 0x1002f815
mov edx, dword [ebp - 0x288]
inc edx
jmp 0x1002bc72
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 0xc]
mov ebx, dword [ebp - 0x2ac]
lea eax, [eax + eax*4]
movzx ecx, word [ebx + 8]
lea eax, [edx + eax*8]
mov dword [ebp - 0x2a0], eax
mov al, byte [esi + 8]
or al, cl
test al, 1
je 0x1002a516
mov ebx, dword [ebp - 0x2a0]
mov eax, 0x2460
test word [ebx + 8], ax
je 0x1002a4e3
mov ecx, ebx
call fcn.100216e0
mov edi, ebx
jmp 0x1002da12
mov edi, dword [ebp - 0x2a0]
mov eax, 1
mov esi, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x28c]
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x288]
mov ebx, dword [ebp - 0x2a4]
inc eax
mov dword [ebp - 0x288], eax
jmp 0x10029df0
test ecx, 0x4000
je 0x1002a52d
mov ecx, ebx
call fcn.10021450
test eax, eax
jne 0x1002bc39
mov eax, 0x4000
test word [esi + 8], ax
je 0x1002a547
mov ecx, esi
call fcn.10021450
test eax, eax
jne 0x1002bc39
test byte [ebx + 8], 0x12
jne 0x1002a567
mov dl, byte [ebp - 0x2d4]
mov ecx, ebx
push 0
call fcn.100214f0
add esp, 4
test eax, eax
jne 0x1002bc39
test byte [esi + 8], 0x12
jne 0x1002a587
mov dl, byte [ebp - 0x2d4]
mov ecx, esi
push 0
call fcn.100214f0
add esp, 4
test eax, eax
jne 0x1002bc39
mov eax, dword [ebp - 0x290]
mov edi, dword [ebx + 0xc]
add edi, dword [esi + 0xc]
cmp edi, dword [eax + 0x58]
jg 0x1002fb4d
mov ecx, dword [ebp - 0x2a0]
lea edx, [edi + 2]
xor eax, eax
cmp ecx, esi
sete al
push eax
call fcn.10021190
add esp, 4
test eax, eax
jne 0x1002bc39
mov ecx, dword [ebp - 0x2a0]
mov edx, 0xbe02
mov ax, word [ecx + 8]
and ax, dx
or ax, 2
mov word [ecx + 8], ax
cmp ecx, esi
je 0x1002a5ec
push dword [esi + 0xc]
push dword [esi + 0x10]
push dword [ecx + 0x10]
call fcn.100c1ff0
add esp, 0xc
push dword [ebx + 0xc]
push dword [ebx + 0x10]
mov ebx, dword [ebp - 0x2a0]
mov eax, dword [ebx + 0x10]
add eax, dword [esi + 0xc]
push eax
call fcn.100c1ff0
mov eax, dword [ebx + 0x10]
add esp, 0xc
mov byte [edi + eax], 0
mov eax, dword [ebx + 0x10]
mov byte [edi + eax + 1], 0
mov eax, 0x200
or word [ebx + 8], ax
mov al, byte [ebp - 0x2d4]
mov dword [ebx + 0xc], edi
mov edi, ebx
mov byte [edi + 0xa], al
jmp 0x1002da12
mov eax, dword [ecx + ebx*4 + 4]
mov edi, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0x2b8], eax
call fcn.10029c90
mov esi, dword [ebp - 0x28c]
movzx eax, ax
mov dword [ebp - 0x2d0], eax
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0x2bc], eax
call fcn.10029c90
mov ecx, dword [ebp - 0x2b8]
movzx edx, ax
mov eax, dword [esi + ebx*4 + 0xc]
mov esi, dword [ebp - 0x2bc]
mov dword [ebp - 0x2b4], edx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0x2a0], eax
mov al, byte [esi + 8]
or al, byte [ecx + 8]
test al, 1
jne 0x1002a9d6
mov al, dl
and al, byte [ebp - 0x2d0]
test al, 4
je 0x1002a8b2
mov eax, ecx
mov byte [ebp - 0x2bd], 1
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x2bc]
mov ecx, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x2c4], ecx
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0xec], edi
movzx eax, byte [eax + ebx*4]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x1002a6f9
jmp dword [eax*4 + 0x1002fe70]
test esi, esi
jl 0x1002a794
jg 0x1002a712
test edx, edx
jb 0x1002a794
test edi, edi
jl 0x1002a7e0
jg 0x1002a724
test ecx, ecx
je 0x1002a7e0
or eax, 0xffffffff
sub eax, ecx
mov dword [ebp - 0x2ac], eax
mov eax, 0x7fffffff
sbb eax, edi
cmp eax, esi
jg 0x1002a7e0
jl 0x1002a74c
cmp dword [ebp - 0x2ac], edx
jae 0x1002a7e0
mov esi, dword [ebp - 0x2bc]
mov ecx, dword [ebp - 0x2b8]
call fcn.100218c0
mov ecx, esi
movsd qword [ebp - 0x2b0], xmm0
call fcn.100218c0
mov eax, dword [ebp - 0x28c]
movaps xmm1, xmm0
movsd qword [ebp - 0x2c8], xmm1
movzx eax, byte [eax + ebx*4]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x1002a78d
jmp dword [eax*4 + 0x1002fe80]
test edi, edi
jg 0x1002a7e0
jl 0x1002a79e
test ecx, ecx
jae 0x1002a7e0
mov eax, 1
sub eax, ecx
mov ecx, 0x80000000
mov dword [ebp - 0x2ac], eax
mov eax, edx
sbb ecx, edi
add eax, 1
mov dword [ebp - 0x2cc], eax
mov eax, esi
adc eax, 0
cmp ecx, eax
jg 0x1002a74c
jl 0x1002a7da
mov eax, dword [ebp - 0x2ac]
cmp eax, dword [ebp - 0x2cc]
ja 0x1002a74c
mov ecx, dword [ebp - 0x2c4]
add ecx, edx
mov dword [ebp - 0xf0], ecx
adc edi, esi
mov dword [ebp - 0xec], edi
jmp 0x1002a886
push esi
push edx
lea ecx, [ebp - 0xf0]
call fcn.10008e20
add esp, 8
test eax, eax
jne 0x1002a74c
jmp 0x1002a886
push esi
push edx
lea ecx, [ebp - 0xf0]
call fcn.10008e70
add esp, 8
test eax, eax
jne 0x1002a74c
jmp 0x1002a886
mov eax, edx
or eax, esi
je 0x1002a9d6
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x1002a84c
test ecx, ecx
jne 0x1002a84c
cmp edi, 0x80000000
je 0x1002a74c
push esi
push edx
push edi
push ecx
call fcn.100e1720
jmp 0x1002a87a
mov eax, edx
or eax, esi
je 0x1002a9d6
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x1002a871
mov edx, 1
xor esi, esi
push esi
push edx
push edi
push ecx
call fcn.100e17d0
mov dword [ebp - 0xec], edx
mov dword [ebp - 0xf0], eax
mov edi, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xec]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov ax, word [edi + 8]
mov ecx, 0xbe04
and ax, cx
or ax, 4
jmp 0x1002da0e
mov byte [ebp - 0x2bd], 0
jmp 0x1002a758
addsd xmm1, qword [ebp - 0x2b0]
jmp 0x1002a95b
subsd xmm1, qword [ebp - 0x2b0]
jmp 0x1002a95b
mulsd xmm1, qword [ebp - 0x2b0]
jmp 0x1002a95b
movsd xmm0, qword [ebp - 0x2b0]
ucomisd xmm0, qword [ebp - 0x318]
lahf
test ah, 0x44
jnp 0x1002a9d6
divsd xmm1, xmm0
jmp 0x1002a95b
movsd xmm0, qword [ebp - 0x2b0]
call fcn.100e1f40
movsd xmm0, qword [ebp - 0x2c8]
mov esi, eax
mov edi, edx
call fcn.100e1f40
mov ecx, esi
mov dword [ebp - 0xec], edx
or ecx, edi
mov ebx, eax
mov dword [ebp - 0xf0], ebx
je 0x1002a9d6
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x1002a948
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push ebx
call fcn.100e17d0
mov ecx, eax
call fcn.100e1ff0
movaps xmm1, xmm0
movsd qword [ebp - 0x2b0], xmm1
movsd xmm0, qword [ebp - 0x2b0]
movsd qword [ebp - 0x2c8], xmm0
movsd xmm0, qword [ebp - 0x2b0]
ucomisd xmm0, qword [ebp - 0x2c8]
lahf
test ah, 0x44
jp 0x1002a9d6
mov ebx, dword [ebp - 0x2a0]
mov ecx, 0xbe08
mov ax, word [ebx + 8]
and ax, cx
movsd qword [ebx], xmm1
or ax, 8
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x2b4]
or al, byte [ebp - 0x2d0]
test al, 8
jne 0x1002a351
cmp byte [ebp - 0x2bd], 0
jne 0x1002a351
mov ecx, ebx
call fcn.10021920
mov edi, ebx
jmp 0x1002da12
mov ebx, dword [ebp - 0x2a0]
mov ecx, 0x2460
mov eax, dword [ebp - 0x288]
inc eax
mov dword [ebp - 0x288], eax
test word [ebx + 8], cx
je 0x1002aa20
mov ecx, ebx
call fcn.100216e0
mov eax, dword [ebp - 0x288]
mov edi, ebx
mov esi, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029df0
mov edi, dword [ebp - 0x2a0]
mov ecx, 1
mov esi, dword [ebp - 0x290]
mov edx, dword [ebp - 0x298]
mov word [ebx + 8], cx
mov ecx, dword [ebp - 0x28c]
mov ebx, dword [ebp - 0x2a4]
mov dword [ebp - 0x288], eax
jmp 0x10029df0
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
test eax, eax
je 0x1002aaba
lea eax, [eax + eax*4]
mov ebx, 0x2460
test word [edx + eax*8 + 8], bx
lea eax, [edx + eax*8]
je 0x1002aaa4
push 0
push 0
mov ecx, eax
call fcn.10021d20
mov eax, dword [ebp - 0x288]
add esp, 8
mov ecx, dword [ebp - 0x28c]
inc eax
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
mov dword [ebp - 0x288], eax
jmp 0x10029df0
mov ebx, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov word [eax + 8], bx
mov eax, dword [ebp - 0x288]
mov ebx, dword [ebp - 0x2a4]
inc eax
mov dword [ebp - 0x288], eax
jmp 0x10029df0
mov eax, dword [ebp - 0x29c]
mov esi, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x298]
movzx ecx, byte [ecx + ebx*4 + 3]
mov edx, dword [eax + 0xc]
mov eax, dword [esi + ebx*4 + 0xc]
mov dword [ebp - 0x2ac], ecx
mov dword [ebp - 0x2c4], edx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x1c0], eax
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
xor edi, edi
test ecx, ecx
je 0x1002ab5c
mov eax, 0x1000
mov dword [edx + edi*4], esi
test word [esi + 8], ax
je 0x1002ab4c
mov ecx, esi
call fcn.100213b0
test eax, eax
jne 0x1002bc39
mov ecx, dword [ebp - 0x2ac]
mov eax, 0x1000
mov edx, dword [ebp - 0x2c4]
inc edi
add esi, 0x28
cmp edi, ecx
jl 0x1002ab23
mov esi, dword [ebp - 0x1c0]
jmp 0x1002ab62
mov esi, dword [ebp - 0x2d0]
mov eax, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x288]
mov dword [ebp - 0x1b0], edi
push edx
mov eax, dword [eax + ebx*4 + 0x10]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x1b4], eax
mov ax, word [esi + 8]
and ax, word [ebp - 0x308]
or ax, 1
mov word [esi + 8], ax
mov esi, dword [ebp - 0x290]
mov eax, dword [ebp - 0x2a4]
push ecx
mov byte [ebp - 0x1a7], 0
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x2dc]
mov dword [esi + 0x24], eax
lea eax, [ebp - 0x1c0]
push eax
mov eax, dword [ebp - 0x1bc]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [ebp - 0x1a7], 0
mov dword [ebp - 0x2a4], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x2dc], eax
je 0x1002ac43
cmp dword [ebp - 0x1ac], 0
je 0x1002ac29
mov ecx, dword [ebp - 0x1c0]
mov dl, 1
call fcn.10022370
push eax
mov eax, dword [ebp - 0x29c]
push 0x100f3d10
add eax, 0x2c
push esi
push eax
call fcn.100053c0
mov eax, dword [ebp - 0x1ac]
add esp, 0x10
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x28c]
mov edx, edi
mov ecx, dword [ebp - 0x29c]
push dword [eax + ebx*4 + 4]
call fcn.10024fe0
add esp, 4
mov ecx, dword [ebp - 0x1c0]
test byte [ecx + 8], 2
je 0x1002ac67
mov bl, byte [ebp - 0x2d4]
cmp byte [ecx + 0xa], bl
je 0x1002ac67
mov dl, bl
call fcn.10007480
mov ecx, dword [ebp - 0x1c0]
call fcn.10021e60
test eax, eax
jne 0x1002fb57
jmp 0x1002bd4c
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x2a0], eax
mov al, byte [ecx + 8]
or al, byte [edi + 8]
test al, 1
je 0x1002ad1d
mov ebx, dword [ebp - 0x2a0]
mov ecx, 0x2460
mov eax, dword [ebp - 0x288]
inc eax
mov dword [ebp - 0x288], eax
test word [ebx + 8], cx
je 0x1002acf7
mov ecx, ebx
call fcn.100216e0
mov eax, dword [ebp - 0x288]
mov edi, ebx
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029df0
mov edi, dword [ebp - 0x2a0]
mov ecx, 1
mov word [ebx + 8], cx
mov ecx, dword [ebp - 0x28c]
mov ebx, dword [ebp - 0x2a4]
mov dword [ebp - 0x288], eax
jmp 0x10029df0
call fcn.10021820
mov esi, edx
mov dword [ebp - 0x300], eax
mov ecx, edi
mov dword [ebp - 0x2fc], esi
call fcn.10021820
mov edi, eax
mov eax, dword [ebp - 0x28c]
mov cl, byte [eax + ebx*4]
cmp cl, 0x55
jne 0x1002ad61
mov ecx, dword [ebp - 0x300]
and ecx, edi
mov edi, dword [ebp - 0x2a0]
and esi, edx
mov dword [edi], ecx
mov dword [edi + 4], esi
jmp 0x1002a89d
cmp cl, 0x56
jne 0x1002ad80
mov ecx, dword [ebp - 0x300]
or ecx, edi
mov edi, dword [ebp - 0x2a0]
or esi, edx
mov dword [edi], ecx
mov dword [edi + 4], esi
jmp 0x1002a89d
mov eax, edi
or eax, edx
je 0x1002ae8e
test edx, edx
jg 0x1002adb8
jl 0x1002ad94
test edi, edi
jae 0x1002adad
mov al, 0xaf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x1002adb8
jg 0x1002ada6
cmp edi, 0xffffffc0
jbe 0x1002adb8
neg edi
adc edx, 0
neg edx
test edx, edx
jl 0x1002ae08
jg 0x1002adb8
cmp edi, 0x40
jb 0x1002ae08
test esi, esi
jg 0x1002ade1
jl 0x1002adc7
cmp dword [ebp - 0x300], 0
jae 0x1002ade1
cmp cl, 0x57
je 0x1002ade1
mov edi, dword [ebp - 0x2a0]
or ecx, 0xffffffff
or esi, ecx
mov dword [edi], ecx
mov dword [edi + 4], esi
jmp 0x1002a89d
xorps xmm0, xmm0
movlpd qword [ebp - 0x2b0], xmm0
mov edi, dword [ebp - 0x2a0]
mov esi, dword [ebp - 0x2ac]
mov ecx, dword [ebp - 0x2b0]
mov dword [edi], ecx
mov dword [edi + 4], esi
jmp 0x1002a89d
movq xmm1, qword [ebp - 0x300]
movd xmm0, edi
cmp cl, 0x57
jne 0x1002ae41
mov edi, dword [ebp - 0x2a0]
psllq xmm1, xmm0
movq qword [ebp - 0x2b0], xmm1
mov esi, dword [ebp - 0x2ac]
mov ecx, dword [ebp - 0x2b0]
mov dword [edi], ecx
mov dword [edi + 4], esi
jmp 0x1002a89d
psrlq xmm1, xmm0
movq qword [ebp - 0x2b0], xmm1
test esi, esi
jg 0x1002adec
jl 0x1002ae5c
cmp dword [ebp - 0x300], 0
jae 0x1002adec
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, edi
or edx, 0xffffffff
call fcn.100e1890
mov edi, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x2b0]
mov esi, dword [ebp - 0x2ac]
or ecx, eax
or esi, edx
mov dword [edi], ecx
mov dword [edi + 4], esi
jmp 0x1002a89d
mov edi, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x300]
mov dword [edi], ecx
mov dword [edi + 4], esi
jmp 0x1002a89d
mov eax, dword [ecx + ebx*4 + 4]
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.10021820
mov dword [esi], eax
mov ecx, 0xbe04
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0x28c]
or ax, 4
mov word [esi + 8], ax
mov eax, dword [ecx + ebx*4 + 8]
mov ebx, dword [ebp - 0x2a4]
cdq
add dword [esi], eax
mov eax, dword [ebp - 0x288]
adc dword [esi + 4], edx
inc eax
mov esi, dword [ebp - 0x290]
mov edx, dword [ebp - 0x298]
mov dword [ebp - 0x288], eax
jmp 0x10029df0
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
movzx eax, word [esi + 8]
mov ecx, eax
test al, 4
jne 0x1002af73
push dword [ebp - 0x2d4]
mov dl, 0x43
mov ecx, esi
call fcn.10029aa0
movzx eax, word [esi + 8]
add esp, 4
mov ecx, eax
test al, 4
jne 0x1002af6d
mov ecx, dword [ebp - 0x28c]
mov esi, dword [ebp - 0x290]
mov eax, dword [ecx + ebx*4 + 8]
test eax, eax
je 0x1002f8c3
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
mov dword [ebp - 0x288], eax
jmp 0x10029df0
mov edx, dword [ebp - 0x298]
mov eax, dword [ebp - 0x288]
and ecx, 0xbe04
mov ebx, dword [ebp - 0x2a4]
or ecx, 4
mov word [esi + 8], cx
inc eax
mov esi, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x288], eax
jmp 0x10029df0
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 4
lea esi, [edx + eax*8]
je 0x1002afe6
mov ecx, esi
call fcn.100218c0
mov ax, word [esi + 8]
mov ecx, 0xbe08
mov edx, dword [ebp - 0x298]
and ax, cx
mov ecx, dword [ebp - 0x28c]
or ax, 8
movsd qword [esi], xmm0
mov word [esi + 8], ax
mov eax, dword [ebp - 0x288]
mov esi, dword [ebp - 0x290]
inc eax
mov ebx, dword [ebp - 0x2a4]
mov dword [ebp - 0x288], eax
jmp 0x10029df0
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, 0x4000
test word [esi + 8], ax
je 0x1002b034
mov ecx, esi
call fcn.10021450
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x294], eax
jmp 0x1002b03e
mov dword [ebp - 0x294], 0
mov dl, byte [ecx + ebx*4 + 8]
mov ecx, esi
push dword [ebp - 0x2d4]
call fcn.10021bb0
mov esi, dword [ebp - 0x290]
add esp, 4
jmp 0x1002bd52
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 0xc]
movzx ecx, word [edi + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, ecx
movzx edx, word [esi + 8]
mov dword [ebp - 0x2e4], eax
mov eax, edx
mov dword [ebp - 0x2b4], eax
or al, cl
test al, 1
je 0x1002b14d
mov ecx, dword [ebp - 0x28c]
mov al, byte [ecx + ebx*4 + 3]
test al, al
jns 0x1002b0d6
mov eax, edx
xor ecx, ecx
and eax, dword [ebp - 0x2e4]
bt ax, cx
mov ecx, dword [ebp - 0x28c]
jae 0x1002b0cc
test edx, 0x100
jne 0x1002b0cc
xor eax, eax
jmp 0x1002b22f
mov eax, 1
jmp 0x1002b22f
test al, 0x20
je 0x1002b122
mov eax, dword [ecx + ebx*4 + 8]
mov ebx, 0xbe01
mov edx, dword [ebp - 0x298]
mov esi, dword [ebp - 0x290]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov ax, word [edi + 8]
and ax, bx
mov dword [ebp - 0x2a0], edi
mov ebx, dword [ebp - 0x2a4]
or ax, 1
mov word [edi + 8], ax
mov eax, dword [ebp - 0x288]
inc eax
mov dword [ebp - 0x288], eax
jmp 0x10029df0
test al, 0x10
je 0x1002b3e6
mov eax, dword [ecx + ebx*4 + 8]
mov edi, dword [ebp - 0x2a0]
dec eax
mov esi, dword [ebp - 0x290]
inc eax
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
mov eax, dword [ebp - 0x28c]
mov al, byte [eax + ebx*4 + 3]
and al, 0x47
cmp al, 0x43
jb 0x1002b185
and cl, 0xe
mov eax, edx
cmp cl, 2
jne 0x1002b174
xor edx, edx
mov ecx, edi
call fcn.10029990
movzx eax, word [esi + 8]
and al, 0xe
cmp al, 2
jne 0x1002b1c5
xor edx, edx
mov ecx, esi
call fcn.10029990
jmp 0x1002b1c5
cmp al, 0x42
jne 0x1002b1c5
mov eax, edx
test cl, 2
jne 0x1002b1ab
test cl, 0xc
je 0x1002b1ab
mov dl, byte [ebp - 0x2d4]
mov ecx, edi
push 1
call fcn.100214f0
movzx eax, word [esi + 8]
add esp, 4
test al, 2
jne 0x1002b1c5
test al, 0xc
je 0x1002b1c5
mov dl, byte [ebp - 0x2d4]
mov ecx, esi
push 1
call fcn.100214f0
add esp, 4
mov eax, 0x4000
test word [edi + 8], ax
je 0x1002b1e6
mov ecx, edi
call fcn.10021450
and dword [ebp - 0x2e4], 0xbfff
mov eax, 0x4000
test word [esi + 8], ax
je 0x1002b1fd
mov ecx, esi
call fcn.10021450
and dword [ebp - 0x2b4], 0xbfff
mov eax, dword [ebp - 0x290]
cmp byte [eax + 0x40], 0
jne 0x1002fc02
mov eax, dword [ebp - 0x28c]
mov edx, edi
mov ecx, esi
push dword [eax + ebx*4 + 0x10]
call fcn.10025c80
mov edx, dword [ebp - 0x2b4]
add esp, 4
mov ecx, dword [ebp - 0x28c]
movzx ecx, byte [ecx + ebx*4]
add ecx, 0xffffffb2
cmp ecx, 4
ja case.default.0x1002b23b
jmp dword [ecx*4 + 0x1002fe90]
xor ecx, ecx
test eax, eax
sete cl
jmp 0x1002b271
xor ecx, ecx
test eax, eax
setne cl
jmp 0x1002b271
mov ecx, eax
jmp 0x1002b26e
xor ecx, ecx
test eax, eax
setle cl
jmp 0x1002b271
xor ecx, ecx
test eax, eax
setg cl
jmp 0x1002b271
mov ecx, eax
not ecx
shr ecx, 0x1f
mov eax, dword [ebp - 0x28c]
test byte [eax + ebx*4 + 3], 0x20
je 0x1002b2c9
mov eax, dword [eax + ebx*4 + 8]
mov ebx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov dword [ebx], ecx
mov ax, word [ebx + 8]
and ax, word [ebp - 0x310]
or ax, 4
mov dword [ebp - 0x2a0], ebx
mov word [ebx + 8], ax
mov dword [ebx + 4], 0
mov eax, dword [ebp - 0x2e4]
mov ecx, dword [ebp - 0x28c]
mov word [edi + 8], ax
mov word [esi + 8], dx
jmp 0x1002b3e6
test ecx, ecx
je 0x1002b2b0
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ecx + ebx*4 + 8]
dec eax
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x2e4]
mov word [edi + 8], ax
mov word [esi + 8], dx
jmp 0x1002b3e6
mov ebx, dword [ecx + ebx*4 + 0x10]
mov eax, dword [ebp - 0x288]
mov edx, dword [ebp - 0x298]
inc eax
mov dword [ebp - 0x2f0], ebx
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
test byte [ecx + ebx*4 + 3], 1
mov edx, 0
mov eax, dword [ebp - 0x2f0]
mov esi, dword [ebp - 0x28c]
cmove eax, edx
mov edx, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ecx + ebx*4 + 4]
mov dword [ebp - 0x2c4], ecx
mov ecx, dword [esi + ebx*4 + 8]
xor esi, esi
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2cc], edx
mov dword [ebp - 0x2ac], ecx
test eax, eax
jle 0x1002b3d6
lea edi, [edx + 0x14]
mov eax, dword [ebp - 0x2f0]
test eax, eax
je 0x1002b372
mov ecx, dword [eax + esi*4]
jmp 0x1002b374
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0x298]
push dword [edi]
mov bl, byte [esi + eax]
mov eax, dword [ebp - 0x2ac]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0x2c4]
add eax, ecx
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.10025c80
add esp, 4
mov dword [ebp - 0x304], eax
test eax, eax
jne 0x1002b3ca
mov edx, dword [ebp - 0x2cc]
inc esi
add edi, 4
cmp esi, dword [ebp - 0x2d0]
jl 0x1002b363
jmp 0x1002b3d6
test bl, bl
je 0x1002b3d6
neg eax
mov dword [ebp - 0x304], eax
mov dword [ebp - 0x2f0], 0
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x288]
mov edi, dword [ebp - 0x2a0]
inc eax
mov esi, dword [ebp - 0x290]
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
mov eax, dword [ebp - 0x304]
test eax, eax
jns 0x1002b429
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
jne 0x1002b440
mov eax, dword [ecx + ebx*4 + 8]
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
mov eax, dword [ecx + ebx*4 + 0xc]
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
mov eax, dword [ecx + ebx*4 + 4]
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x1002b473
mov esi, 6
jmp 0x1002b485
call fcn.10021820
or eax, edx
je 0x1002b483
mov esi, 3
jmp 0x1002b485
xor esi, esi
mov edi, dword [ebp - 0x28c]
mov ecx, dword [ebp - 0x298]
mov eax, dword [edi + ebx*4 + 8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x1002b4ae
mov eax, 0x100f91d6
mov ecx, 0x100f8f86
jmp 0x1002b4cd
call fcn.10021820
or eax, edx
je 0x1002b4c3
mov eax, 0x100f91d5
mov ecx, 0x100f8f85
jmp 0x1002b4cd
mov eax, 0x100f91d4
mov ecx, 0x100f8f84
cmp byte [edi + ebx*4], 0x48
jne 0x1002b4d8
lea eax, [ecx + esi]
jmp 0x1002b4da
add eax, esi
mov dl, byte [eax]
mov eax, dword [edi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
movzx ecx, word [ebx + 8]
mov dword [ebp - 0x2a0], ebx
cmp dl, 2
jne 0x1002b50d
and ecx, 0xbe01
or ecx, 1
mov word [ebx + 8], cx
jmp 0x1002b3e0
movzx eax, dl
and ecx, 0xbe04
cdq
or ecx, 4
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov word [ebx + 8], cx
jmp 0x1002b3e0
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov eax, 0x2460
mov dword [ebp - 0x2a0], ebx
test word [ebx + 8], ax
je 0x1002b55c
mov ecx, ebx
call fcn.100216e0
jmp 0x1002b565
mov eax, 1
mov word [ebx + 8], ax
test byte [esi + 8], 1
jne 0x1002b3e0
mov eax, 4
mov ecx, esi
mov word [ebx + 8], ax
call fcn.10021820
or eax, edx
jne 0x1002b594
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x1002b3e0
xorps xmm0, xmm0
movlpd qword [ebp - 0x2b0], xmm0
mov ecx, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x2b0]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x1002b3e0
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov eax, 0x2460
mov dword [ebp - 0x2a0], ebx
test word [ebx + 8], ax
je 0x1002b5e9
mov ecx, ebx
call fcn.100216e0
jmp 0x1002b5f2
mov eax, 1
mov word [ebx + 8], ax
test byte [esi + 8], 1
jne 0x1002b3e0
mov eax, 4
mov ecx, esi
mov word [ebx + 8], ax
call fcn.10021820
not eax
not edx
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x1002b3e0
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ecx + ebx*4 + 4]
mov eax, dword [eax + 0xc8]
cmp byte [eax + ecx], 0
je 0x1002b64b
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x298]
mov eax, dword [ecx + ebx*4 + 8]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
mov byte [eax + ecx], 1
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x28c]
inc eax
jmp 0x10029dde
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
lea ecx, [edx + eax*8]
je 0x1002b690
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ecx + ebx*4 + 0xc]
jmp 0x1002b6c1
call fcn.100218c0
ucomisd xmm0, qword [ebp - 0x318]
lahf
test ah, 0x44
jnp 0x1002b6aa
mov eax, 1
jmp 0x1002b6ac
xor eax, eax
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x298]
cmp byte [ecx + ebx*4], 0x2e
jne 0x1002b6c1
xor eax, 1
test eax, eax
je 0x1002e9e2
mov eax, dword [ecx + ebx*4 + 8]
mov ebx, dword [ebp - 0x2a4]
dec eax
inc eax
jmp 0x10029dde
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
je 0x1002e9e2
mov eax, dword [ecx + ebx*4 + 8]
mov ebx, dword [ebp - 0x2a4]
dec eax
inc eax
jmp 0x10029dde
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
jne 0x1002e9e2
mov eax, dword [ecx + ebx*4 + 8]
mov ebx, dword [ebp - 0x2a4]
dec eax
inc eax
jmp 0x10029dde
mov eax, dword [ecx + ebx*4 + 8]
mov edx, dword [ebp - 0x298]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x2e4], esi
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
mov ecx, edi
mov dword [ebp - 0x2b8], edi
mov eax, dword [edi + 0x50]
mov dword [ebp - 0x2bc], eax
mov eax, dword [edi]
mov dword [ebp - 0x2b4], eax
call fcn.10025470
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002d48b
mov ecx, dword [ebp - 0x29c]
mov eax, dword [edi + 0x3c]
cmp eax, dword [ecx + 0x48]
je 0x1002b8f1
cmp byte [edi + 0x19], 0
je 0x1002b7f6
cmp dword [ebp - 0x2b4], 0
jne 0x1002b7d1
mov eax, dword [edi + 0x10]
mov edx, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x2b8]
lea eax, [eax + eax*4]
mov edi, dword [edx + eax*8 + 0xc]
mov dword [ecx + 0x44], edi
mov dword [ecx + 0x40], edi
mov esi, dword [edx + eax*8 + 0x10]
mov dword [ecx + 0x4c], esi
jmp 0x1002b871
mov eax, 0x2460
test word [esi + 8], ax
je 0x1002b7e8
mov ecx, esi
call fcn.100216e0
jmp 0x1002bbf0
mov eax, 1
mov word [esi + 8], ax
jmp 0x1002bbf0
test byte [edi + 0x1c], 4
mov esi, dword [ebp - 0x2b4]
mov ecx, esi
jne 0x1002b834
call fcn.10019c60
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], ecx
movzx ecx, word [esi + 0x28]
mov esi, dword [esi + 0x20]
mov dword [edi + 0x4c], esi
mov eax, dword [ebp - 0x150]
mov edx, eax
mov dword [edi + 0x40], eax
mov eax, ecx
jmp 0x1002b849
call fcn.10019c60
mov edx, dword [esi + 0x24]
mov dword [edi + 0x40], edx
movzx eax, word [esi + 0x28]
mov esi, dword [esi + 0x20]
mov dword [edi + 0x4c], esi
movzx edi, ax
mov ecx, edx
mov eax, dword [ebp - 0x2b8]
cmp edx, edi
cmova edx, edi
mov dword [eax + 0x44], edx
mov eax, dword [ebp - 0x290]
cmp ecx, dword [eax + 0x58]
ja 0x1002fb4d
mov ecx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x29c]
mov eax, dword [eax + 0x48]
mov dword [ecx + 0x3c], eax
mov al, byte [esi]
cmp al, 0x80
jae 0x1002b890
movzx eax, al
mov dword [ebp - 0xe4], eax
mov al, 1
jmp 0x1002b8a3
lea edx, [ebp - 0xe4]
mov ecx, esi
call fcn.10008c00
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ebp - 0x2bc]
movzx eax, al
mov dword [ecx + 0x48], eax
xor eax, eax
mov word [ecx + 0x16], ax
mov eax, dword [ebp - 0xe4]
mov dword [edx], eax
mov eax, dword [ebp - 0xe4]
cmp eax, 0x18003
ja 0x1002f8d3
cmp eax, dword [ecx + 0x40]
ja 0x1002f8d3
cmp edi, eax
mov edi, dword [ebp - 0x2b8]
jae 0x1002b907
mov dword [edi + 0x4c], 0
mov dword [edi + 0x44], 0
jmp 0x1002b907
movzx eax, word [edi + 0x16]
cmp eax, dword [ebp - 0x2d8]
jg 0x1002baea
mov edx, dword [ebp - 0x2bc]
mov eax, dword [edi + 0x48]
cmp eax, dword [edx]
jae 0x1002baaf
mov eax, dword [edi + 0x4c]
mov dword [ebp - 0x2cc], eax
test eax, eax
jne 0x1002b97d
mov ecx, dword [ebp - 0x2b4]
lea eax, [ebp - 0x268]
push eax
xorps xmm0, xmm0
movups xmmword [ebp - 0x268], xmm0
movups xmmword [ebp - 0x258], xmm0
movq qword [ebp - 0x248], xmm0
mov eax, dword [edi + 0x1c]
shr eax, 2
not eax
and eax, 1
push eax
push dword [edx]
xor edx, edx
call fcn.100221c0
add esp, 0xc
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002d929
mov eax, dword [ebp - 0x258]
mov edx, dword [ebp - 0x2bc]
mov dword [ebp - 0x2cc], eax
movzx edi, word [edi + 0x16]
mov ecx, dword [ebp - 0x2b8]
mov eax, dword [edx + edi*4]
mov dword [ebp - 0xe4], eax
mov eax, dword [edx]
lea edx, [ecx + 0x54]
mov esi, dword [ecx + 0x48]
lea edx, [edx + edi*4]
add esi, dword [ebp - 0x2cc]
add eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x2c4], eax
mov dword [ebp - 0x2ac], edx
mov al, byte [esi]
cmp al, 0x80
jae 0x1002b9c5
movzx eax, al
inc esi
mov dword [ebp - 0x19c], eax
jmp 0x1002b9e3
lea edx, [ebp - 0x19c]
mov ecx, esi
call fcn.10008c00
mov edx, dword [ebp - 0x2ac]
movzx eax, al
add esi, eax
mov eax, dword [ebp - 0x19c]
mov dword [edx], eax
mov eax, dword [ebp - 0x19c]
cmp eax, 0xc
jb 0x1002b9f7
lea ecx, [eax - 0xc]
shr ecx, 1
jmp 0x1002b9fe
movzx ecx, byte [eax + 0x100f8044]
mov eax, dword [ebp - 0xe4]
add eax, ecx
mov dword [ebp - 0xe4], eax
cmp eax, ecx
jb 0x1002ba35
mov ecx, dword [ebp - 0x2bc]
inc edi
add edx, 4
mov dword [ebp - 0x2ac], edx
mov dword [ecx + edi*4], eax
cmp edi, dword [ebp - 0x2d8]
jg 0x1002ba3c
cmp esi, dword [ebp - 0x2c4]
jb 0x1002b9b3
jmp 0x1002ba3c
mov esi, dword [ebp - 0x2c4]
inc esi
mov eax, dword [ebp - 0x2b8]
mov word [eax + 0x16], di
mov eax, esi
mov edi, dword [ebp - 0x2b8]
sub eax, dword [ebp - 0x2cc]
cmp dword [edi + 0x4c], 0
mov dword [edi + 0x48], eax
jne 0x1002ba89
test dword [ebp - 0x260], 0x2460
jne 0x1002ba72
cmp dword [ebp - 0x250], 0
je 0x1002ba7d
lea ecx, [ebp - 0x268]
call fcn.10021760
mov eax, 1
mov word [ebp - 0x260], ax
mov eax, dword [ebp - 0xe4]
cmp esi, dword [ebp - 0x2c4]
jb 0x1002baa6
ja 0x1002f902
cmp eax, dword [edi + 0x40]
jne 0x1002f902
cmp eax, dword [edi + 0x40]
ja 0x1002f902
movzx eax, word [edi + 0x16]
mov esi, dword [ebp - 0x2e4]
cmp eax, dword [ebp - 0x2d8]
jg 0x1002baea
mov eax, dword [ebp - 0x28c]
cmp byte [eax + ebx*4 + 1], 0xf8
jne 0x1002b7d1
mov edx, dword [eax + ebx*4 + 0x10]
mov ecx, esi
push 0x800
call fcn.10021e90
add esp, 4
jmp 0x1002bbf0
mov eax, 0x2460
test word [esi + 8], ax
je 0x1002bafc
mov ecx, esi
call fcn.100216e0
mov eax, dword [ebp - 0x2d8]
mov ebx, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x2bc]
mov edx, dword [edi + eax*4 + 0x54]
mov dword [ebp - 0x19c], edx
mov eax, dword [edi + 0x44]
cmp eax, dword [ecx + ebx*4 + 4]
mov ebx, dword [ebp - 0x2d0]
jb 0x1002bb47
mov eax, dword [ebp - 0x2bc]
mov ebx, dword [ebp - 0x2d8]
mov ecx, dword [edi + 0x4c]
push esi
add ecx, dword [eax + ebx*4]
call fcn.10025720
add esp, 4
jmp 0x1002bbe7
mov eax, dword [ebp - 0x28c]
mov al, byte [eax + ebx*4 + 3]
test al, 0xc0
je 0x1002bb63
cmp edx, 0xc
jb 0x1002bb5f
test dl, 1
je 0x1002bb7a
test al, al
js 0x1002bb7a
cmp edx, 0xc
jb 0x1002bb6f
lea ecx, [edx - 0xc]
shr ecx, 1
jmp 0x1002bb76
movzx ecx, byte [edx + 0x100f8044]
test ecx, ecx
jne 0x1002bb93
xor eax, eax
lea ecx, [ebp - 0x150]
cmp edx, 0xd
push esi
cmova ecx, eax
call fcn.10025720
add esp, 4
jmp 0x1002bbe7
mov eax, dword [edi + 0x1c]
shr eax, 2
not eax
and eax, 1
push esi
push eax
mov eax, dword [ebp - 0x2bc]
push ecx
mov ecx, dword [ebp - 0x2d8]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x2b4]
call fcn.100221c0
add esp, 0xc
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002d929
mov edx, dword [ebp - 0x19c]
mov ecx, dword [esi + 0x10]
push esi
call fcn.10025720
mov eax, 0xefff
add esp, 4
and word [esi + 8], ax
mov al, byte [ebp - 0x2d4]
mov byte [esi + 0xa], al
movzx ecx, word [esi + 8]
test ecx, 0x1000
je 0x1002bd46
mov ebx, dword [esi + 0x10]
test ebx, ebx
je 0x1002bd46
mov eax, dword [ebp - 0x2e4]
mov esi, ecx
and esi, 0x12
mov edi, dword [eax + 0xc]
lea edx, [edi + 2]
cmp dword [eax + 0x18], edx
jge 0x1002bd07
push 0
mov ecx, eax
call fcn.10021190
add esp, 4
test eax, eax
je 0x1002bd1a
mov esi, dword [ebp - 0x290]
mov eax, dword [ebp - 0x29c]
push 0x100f43b0
add eax, 0x2c
mov byte [esi + 0x40], 1
push esi
push eax
call fcn.100053c0
mov eax, 7
add esp, 0xc
mov dword [ebp - 0x294], eax
mov edx, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x29c]
push dword [ecx + 0x2c]
mov dword [ecx + 0x50], eax
push dword [ecx + 0xa8]
push edx
push str.statement_aborts_at__d:___s___s
push eax
call fcn.100071a0
mov ecx, dword [ebp - 0x29c]
add esp, 0x14
call fcn.100249e0
cmp dword [ebp - 0x294], 0xc0a
jne 0x1002bca8
mov byte [esi + 0x40], 1
mov al, byte [ebp - 0x2dd]
mov esi, 1
test al, al
je 0x1002bcc6
mov ecx, dword [ebp - 0x290]
movzx edx, al
dec edx
call fcn.10042140
mov eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x2a4]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x2dc]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ebp - 0x2f4]
add dword [eax + 0x7c], ecx
mov ecx, eax
call fcn.100233d0
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100bf4c9
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x2e4]
and ecx, 0xd
mov eax, dword [eax + 0x14]
mov dword [edx + 0x10], eax
mov word [edx + 8], cx
push edi
push ebx
mov ebx, dword [ebp - 0x2e4]
push dword [ebx + 0x10]
call fcn.100c1ff0
mov eax, dword [ebx + 0x10]
add esp, 0xc
or esi, 0x200
mov byte [edi + eax], 0
mov eax, dword [ebx + 0x10]
mov byte [edi + eax + 1], 0
mov word [ebx + 8], si
mov esi, dword [ebp - 0x290]
mov edi, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x294]
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x288]
inc edx
mov dword [ebp - 0x288], edx
test eax, eax
jne 0x1002bc6c
mov ebx, dword [ebp - 0x2a4]
mov eax, edx
mov edx, dword [ebp - 0x298]
jmp 0x10029df0
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
mov esi, dword [ecx + ebx*4 + 0x10]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov al, byte [esi]
test al, al
je 0x1002bdca
push dword [ebp - 0x2d4]
mov dl, al
lea esi, [esi + 1]
mov ecx, edi
call fcn.10029aa0
mov al, byte [esi]
add esp, 4
add edi, 0x28
test al, al
jne 0x1002bda0
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x298]
mov eax, dword [ebp - 0x288]
mov edi, dword [ebp - 0x2a0]
inc eax
mov esi, dword [ebp - 0x290]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
mov esi, dword [ecx + ebx*4 + 0x10]
xor eax, eax
mov edi, dword [ebp - 0x28c]
xorps xmm0, xmm0
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2c4], eax
mov eax, dword [ecx + ebx*4 + 4]
mov ecx, dword [ebp - 0x298]
movlpd qword [ebp - 0x2e8], xmm0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edi + ebx*4 + 8]
mov dword [ebp - 0x2cc], ecx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x29c]
movzx edx, byte [eax + 0x57]
mov eax, dword [edi + ebx*4 + 0xc]
mov ebx, dword [ebp - 0x298]
mov dword [ebp - 0x2ac], edx
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [ebp - 0x2a0], eax
test esi, esi
je 0x1002be87
mov al, byte [esi]
mov edi, ecx
push dword [ebp - 0x2d4]
mov dl, al
mov ecx, edi
call fcn.10029aa0
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x1002be62
mov edx, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x2e4]
mov ebx, dword [ebp - 0x2d0]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x2bc], eax
mov ecx, ebx
call fcn.100254a0
mov esi, eax
mov dword [ebx + 0x1c], esi
cmp esi, 0xc
jb 0x1002bebd
lea edi, [esi - 0xc]
shr edi, 1
jmp 0x1002bec4
movzx edi, byte [esi + 0x100f8044]
mov eax, 0x4000
test word [ebx + 8], ax
je 0x1002bef0
mov eax, dword [ebp - 0x2bc]
or eax, dword [ebp - 0x2b4]
je 0x1002bee6
mov ecx, ebx
call fcn.10021450
jmp 0x1002bef0
mov ecx, dword [ebx]
add dword [ebp - 0x2c4], ecx
sub edi, ecx
mov eax, edi
mov edi, dword [ebp - 0x2b4]
cdq
add dword [ebp - 0x2bc], eax
adc edi, edx
mov dword [ebp - 0x2b4], edi
cmp esi, 0x7f
ja 0x1002bf13
mov edx, 1
jmp 0x1002bf2a
xor ecx, ecx
xor edx, edx
shrd esi, ecx, 7
inc edx
shr ecx, 7
mov eax, esi
or eax, ecx
je 0x1002bf2a
cmp edx, 9
jl 0x1002bf17
mov ecx, dword [ebp - 0x2b8]
sub ebx, 0x28
add ecx, edx
mov edx, dword [ebp - 0x2ac]
mov dword [ebp - 0x2b8], ecx
cmp ebx, dword [ebp - 0x2cc]
jae 0x1002bea5
cmp ecx, 0x7e
jle 0x1002bfa9
mov eax, ecx
xor edi, edi
cdq
mov ecx, eax
nop dword [eax]
shrd ecx, edx, 7
inc edi
shr edx, 7
mov eax, ecx
or eax, edx
je 0x1002bf73
cmp edi, 9
jl 0x1002bf60
mov eax, dword [ebp - 0x2b8]
add eax, edi
xor esi, esi
mov dword [ebp - 0x2b8], eax
cdq
mov ecx, eax
shrd ecx, edx, 7
inc esi
shr edx, 7
mov eax, ecx
or eax, edx
je 0x1002bf99
cmp esi, 9
jl 0x1002bf86
mov ecx, dword [ebp - 0x2b8]
cmp edi, esi
mov edi, dword [ebp - 0x2b4]
jge 0x1002bfb0
inc ecx
mov dword [ebp - 0x2b8], ecx
mov eax, ecx
cdq
mov ebx, eax
mov esi, edx
mov eax, dword [ebp - 0x290]
add dword [ebp - 0x2bc], ebx
adc edi, esi
mov eax, dword [eax + 0x58]
cdq
cmp edi, edx
jg 0x1002fb51
jl 0x1002bfdf
cmp dword [ebp - 0x2bc], eax
ja 0x1002fb51
mov edi, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x2bc]
cmp dword [edi + 0x18], eax
jge 0x1002c00e
push 0
mov edx, eax
mov ecx, edi
call fcn.10021190
add esp, 4
test eax, eax
jne 0x1002bc39
mov ecx, dword [ebp - 0x2b8]
jmp 0x1002c019
mov eax, dword [edi + 0x14]
and word [edi + 8], 0xd
mov dword [edi + 0x10], eax
mov edi, dword [edi + 0x10]
cmp ecx, 0x80
jae 0x1002c02d
mov byte [edi], cl
mov eax, 1
jmp 0x1002c039
push esi
push ebx
mov ecx, edi
call fcn.10008a00
add esp, 8
mov ebx, dword [ebp - 0x2cc]
movzx esi, al
mov ebx, dword [ebx + 0x1c]
lea ecx, [esi + edi]
cmp ebx, 0x80
jae 0x1002c059
mov byte [ecx], bl
mov eax, 1
jmp 0x1002c064
push 0
push ebx
call fcn.10008a00
add esp, 8
mov ecx, dword [ebp - 0x2b8]
push ebx
mov ebx, dword [ebp - 0x2cc]
mov edx, ebx
movzx eax, al
lea ecx, [ecx + edi]
add esi, eax
call fcn.100255b0
add dword [ebp - 0x2b8], eax
add ebx, 0x28
add esp, 4
mov dword [ebp - 0x2cc], ebx
cmp ebx, dword [ebp - 0x2d0]
jbe 0x1002c042
mov ebx, dword [ebp - 0x2a0]
mov eax, 0x10
mov edx, dword [ebp - 0x2bc]
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x2c4]
mov dword [ebx + 0xc], edx
test eax, eax
je 0x1002c0c7
mov dword [ebx], eax
mov eax, 0x4010
mov word [ebx + 8], ax
mov byte [ebx + 0xa], 1
jmp 0x1002b3e0
mov eax, dword [ebp - 0x29c]
lea edx, [ebp - 0x148]
mov ecx, dword [ecx + ebx*4 + 4]
xorps xmm0, xmm0
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
movlpd qword [ebp - 0x148], xmm0
call fcn.1001ece0
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x148]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x1002bd52
mov eax, dword [ecx + ebx*4 + 4]
mov ebx, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x2b4], eax
test eax, eax
jne 0x1002c1fd
cmp dword [esi + 0x9c], eax
jg 0x1002f931
mov esi, ebx
test ebx, ebx
je 0x1002c14f
cmp byte [ebx], 0
je 0x1002c147
inc esi
cmp byte [esi], 0
jne 0x1002c141
sub esi, ebx
and esi, 0x3fffffff
mov edi, dword [ebp - 0x290]
xor edx, edx
mov ecx, edi
mov eax, dword [edi + 0x1f4]
add eax, dword [edi + 0x1f0]
push eax
call fcn.1006fbb0
add esp, 4
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002fa7a
lea eax, [esi + 0x21]
mov ecx, edi
push 0
push eax
call fcn.100051a0
mov edi, eax
add esp, 8
test edi, edi
je 0x1002a206
lea ecx, [esi + 1]
push ecx
lea edx, [edi + 0x20]
push ebx
push edx
mov dword [edi], edx
call fcn.100c1ff0
mov esi, dword [ebp - 0x290]
add esp, 0xc
cmp byte [esi + 0x3e], 0
je 0x1002c1bf
mov byte [esi + 0x3e], 0
mov byte [esi + 0x45], 1
jmp 0x1002c1c5
inc dword [esi + 0x1f0]
mov eax, dword [esi + 0x1e8]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x1f8]
mov ecx, dword [esi + 0x1fc]
mov dword [esi + 0x1e8], edi
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov eax, dword [esi + 0x200]
mov ecx, dword [esi + 0x204]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ecx
jmp 0x1002a20c
mov eax, dword [ebp - 0x290]
xor esi, esi
mov dword [ebp - 0x2e4], esi
mov edi, dword [eax + 0x1e8]
test edi, edi
je 0x1002c232
push ebx
push dword [edi]
call fcn.10007dd0
add esp, 8
test eax, eax
je 0x1002c268
mov edi, dword [edi + 0x18]
inc esi
mov dword [ebp - 0x2e4], esi
test edi, edi
jne 0x1002c215
mov eax, dword [ebp - 0x29c]
mov esi, dword [ebp - 0x290]
add eax, 0x2c
push ebx
push str.no_such_savepoint:__s
push esi
push eax
call fcn.100053c0
mov edx, dword [ebp - 0x288]
mov eax, 1
add esp, 0x10
mov dword [ebp - 0x294], eax
inc edx
jmp 0x1002bc6c
mov edx, dword [ebp - 0x290]
mov ebx, dword [ebp - 0x2b4]
cmp dword [edx + 0x9c], 0
jle 0x1002c286
cmp ebx, 1
je 0x1002f960
cmp dword [edi + 0x18], 0
jne 0x1002c2ed
cmp byte [edx + 0x45], 0
je 0x1002c2ed
mov dword [ebp - 0x2d0], 1
cmp ebx, 1
jne 0x1002c2f7
mov ecx, dword [ebp - 0x29c]
mov edx, ebx
call fcn.10024970
mov esi, eax
test esi, esi
jne 0x1002bcc6
mov esi, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x29c]
mov byte [esi + 0x3e], bl
call fcn.100249e0
cmp eax, 5
je 0x1002f969
mov eax, dword [ebp - 0x29c]
mov byte [esi + 0x45], 0
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x294], eax
jmp 0x1002c40c
mov dword [ebp - 0x2d0], 0
mov ecx, dword [edx + 0x1f0]
mov eax, dword [edx + 0x14]
sub ecx, esi
dec ecx
mov dword [ebp - 0x2e4], ecx
cmp ebx, 2
jne 0x1002c381
mov edx, dword [edx + 0x18]
xor ebx, ebx
shr edx, 1
and edx, 1
mov dword [ebp - 0x2c4], edx
test eax, eax
jle 0x1002c389
mov ecx, edx
xor ecx, 1
xor esi, esi
mov dword [ebp - 0x2ac], ecx
mov eax, dword [ebp - 0x290]
mov edx, 0x204
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [esi + ecx + 4]
call fcn.10019740
add esp, 4
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002d48b
mov eax, dword [ebp - 0x290]
inc ebx
mov ecx, dword [ebp - 0x2ac]
add esi, 0x10
mov eax, dword [eax + 0x14]
cmp ebx, eax
jl 0x1002c333
mov ecx, dword [ebp - 0x2e4]
mov edx, dword [ebp - 0x2c4]
jmp 0x1002c389
xor edx, edx
mov dword [ebp - 0x2c4], edx
xor ebx, ebx
test eax, eax
jle 0x1002c3df
mov eax, dword [ebp - 0x290]
xor esi, esi
nop word [eax + eax]
mov edx, dword [ebp - 0x2b4]
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [esi + ecx + 4]
call fcn.100199f0
add esp, 4
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002d48b
mov eax, dword [ebp - 0x290]
inc ebx
mov ecx, dword [ebp - 0x2e4]
add esi, 0x10
cmp ebx, dword [eax + 0x14]
jl 0x1002c3a0
mov edx, dword [ebp - 0x2c4]
mov esi, dword [ebp - 0x290]
test edx, edx
je 0x1002c406
mov eax, dword [esi + 4]
test eax, eax
je 0x1002c3fb
or dword [eax + 0x58], 0x20
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x1002c3f0
mov ecx, esi
call fcn.10042180
or dword [esi + 0x18], 2
mov ebx, dword [ebp - 0x2b4]
cmp dword [esi + 0x1e8], edi
je 0x1002c438
mov edx, dword [esi + 0x1e8]
mov ecx, esi
mov eax, dword [edx + 0x18]
mov dword [esi + 0x1e8], eax
call fcn.10004f30
dec dword [esi + 0x1f0]
cmp dword [esi + 0x1e8], edi
jne 0x1002c414
cmp ebx, 1
jne 0x1002c464
mov eax, dword [edi + 0x18]
mov edx, edi
mov ecx, esi
mov dword [esi + 0x1e8], eax
call fcn.10004f30
cmp dword [ebp - 0x2d0], 0
jne 0x1002bd4c
dec dword [esi + 0x1f0]
jmp 0x1002c495
cmp dword [ebp - 0x2d0], 0
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0xc]
mov dword [esi + 0x1f8], eax
mov dword [esi + 0x1fc], ecx
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
mov dword [esi + 0x200], eax
mov dword [esi + 0x204], ecx
jne 0x1002bd4c
push dword [ebp - 0x2e4]
mov edx, ebx
mov ecx, esi
call fcn.1006fbb0
add esp, 4
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002d491
jmp 0x1002a20c
mov eax, dword [ebp - 0x28c]
mov ecx, dword [ecx + ebx*4 + 4]
mov dword [ebp - 0x2ac], ecx
mov edx, dword [eax + ebx*4 + 8]
test ecx, ecx
je 0x1002c4f6
mov al, byte [esi + 0x3e]
test al, al
jne 0x1002c4f6
test edx, edx
jne 0x1002c4f9
cmp dword [esi + 0x9c], edx
jle 0x1002c4f9
mov dword [ebp - 0x294], 5
mov eax, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x1002c528
mov al, byte [esi + 0x3e]
movzx eax, al
cmp ecx, eax
jne 0x1002f989
test ecx, ecx
jne 0x1002c50f
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x1002c51e
test edx, edx
mov eax, str.cannot_rollback___no_transaction_is_active
mov ecx, str.cannot_commit___no_transaction_is_active
cmove eax, ecx
mov dword [ebp - 0x294], 1
push eax
mov eax, dword [ebp - 0x29c]
add eax, 0x2c
push esi
push eax
call fcn.100053c0
add esp, 0xc
jmp 0x1002bd52
mov edx, dword [ecx + ebx*4 + 8]
test edx, edx
je 0x1002c556
test dword [esi + 0x18], 0x2000000
jne 0x1002fa14
mov ecx, dword [ecx + ebx*4 + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x1002c697
mov ecx, esi
call fcn.10018630
mov dword [ebp - 0x294], eax
cmp eax, 5
je 0x1002fa24
test eax, eax
jne 0x1002d48b
mov eax, dword [ebp - 0x28c]
cmp dword [eax + ebx*4 + 8], 0
je 0x1002c65d
mov eax, dword [ebp - 0x29c]
test byte [eax + 0x58], 0x80
je 0x1002c65d
mov edx, dword [ebp - 0x290]
cmp byte [edx + 0x3e], 0
je 0x1002c5c3
cmp dword [edx + 0x98], 1
jle 0x1002c65d
mov eax, dword [eax + 0x68]
test eax, eax
jne 0x1002c5e5
mov eax, dword [edx + 0x1f0]
mov ecx, dword [ebp - 0x29c]
inc dword [edx + 0x1f4]
add eax, dword [edx + 0x1f4]
mov dword [ecx + 0x68], eax
mov ecx, dword [ebp - 0x290]
dec eax
push eax
xor edx, edx
call fcn.1006fbb0
add esp, 4
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002c617
mov eax, dword [ebp - 0x29c]
mov ecx, esi
mov edx, dword [eax + 0x68]
call fcn.100199a0
mov dword [ebp - 0x294], eax
mov edx, dword [ebp - 0x290]
mov edi, dword [ebp - 0x29c]
mov eax, dword [edx + 0x1f8]
mov ecx, dword [edx + 0x1fc]
mov dword [edi + 0x98], eax
mov eax, edi
mov dword [eax + 0x9c], ecx
mov eax, dword [edx + 0x200]
mov ecx, dword [edx + 0x204]
mov edx, edi
mov edi, dword [ebp - 0x2a0]
mov dword [edx + 0xa0], eax
mov dword [edx + 0xa4], ecx
lea eax, [ebp - 0x10c]
mov edx, 1
push eax
mov ecx, esi
call fcn.1001ebb0
mov edx, dword [ebp - 0x28c]
add esp, 4
mov esi, dword [ebp - 0x290]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x10c]
jmp 0x1002c6ad
mov esi, dword [ebp - 0x290]
xor eax, eax
mov edx, dword [ebp - 0x28c]
xor ecx, ecx
mov dword [ebp - 0x10c], eax
cmp byte [edx + ebx*4 + 3], 0
je 0x1002bd52
cmp eax, dword [edx + ebx*4 + 0xc]
jne 0x1002c6c8
cmp ecx, dword [edx + ebx*4 + 0x10]
je 0x1002bd52
mov eax, dword [ebp - 0x29c]
mov ecx, esi
mov edx, dword [eax + 0x2c]
call fcn.10004f30
mov edx, str.database_schema_has_changed
mov ecx, esi
call fcn.10005370
mov ecx, dword [ebp - 0x29c]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0x28c]
mov edx, dword [eax + ebx*4 + 4]
mov ecx, edx
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x10c]
je 0x1002c713
mov ecx, esi
call fcn.10042140
mov eax, dword [ebp - 0x29c]
or dword [eax + 0x58], 0x20
mov eax, 0x11
mov dword [ebp - 0x294], eax
jmp 0x1002bd58
mov edx, dword [ebp - 0x28c]
lea eax, [ebp - 0x140]
push eax
mov eax, dword [ecx + ebx*4 + 4]
mov ecx, dword [esi + 0x10]
add eax, eax
mov edx, dword [edx + ebx*4 + 0xc]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.1001ebb0
mov eax, dword [ebp - 0x140]
add esp, 4
mov ecx, dword [ebp - 0x28c]
mov ebx, dword [ebp - 0x2a4]
cdq
mov dword [edi], eax
mov eax, dword [ebp - 0x288]
mov dword [edi + 4], edx
inc eax
mov edx, dword [ebp - 0x298]
jmp 0x10029dde
mov eax, dword [ecx + ebx*4 + 0xc]
mov edi, dword [ecx + ebx*4 + 4]
mov ecx, dword [ebp - 0x298]
shl edi, 4
add edi, dword [esi + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.10021820
mov dword [esi], eax
mov ecx, 0xbe04
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
push dword [esi]
or ax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x28c]
mov ecx, dword [edi + 4]
mov edx, dword [eax + ebx*4 + 8]
call fcn.1001ec20
mov ecx, dword [ebp - 0x28c]
add esp, 4
mov dword [ebp - 0x294], eax
mov eax, dword [ecx + ebx*4 + 8]
cmp eax, 1
jne 0x1002c7fc
mov ecx, dword [edi + 0xc]
mov eax, dword [esi]
mov esi, dword [ebp - 0x290]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x28c]
or dword [esi + 0x18], 2
jmp 0x1002c815
cmp eax, 2
jne 0x1002c80f
mov ecx, dword [edi + 0xc]
mov al, byte [esi]
mov byte [ecx + 0x4c], al
mov ecx, dword [ebp - 0x28c]
mov esi, dword [ebp - 0x290]
cmp dword [ecx + ebx*4 + 4], 1
jne 0x1002c838
mov eax, dword [esi + 4]
test eax, eax
je 0x1002c82e
or dword [eax + 0x58], 0x20
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x1002c823
mov eax, dword [ebp - 0x29c]
and dword [eax + 0x58], 0xffffffdf
mov edi, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x294]
jmp 0x1002bd5e
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ecx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x28c]
test eax, eax
je case.0x10029e59.54
mov eax, dword [eax + 0x20]
cmp eax, dword [ecx + ebx*4 + 8]
je case.default.0x10029e59
mov eax, dword [ebp - 0x29c]
test byte [eax + 0x58], 0x20
jne 0x1002fa63
mov eax, dword [ecx + ebx*4 + 0xc]
xor edi, edi
mov esi, dword [ecx + ebx*4 + 8]
mov ecx, dword [ebp - 0x290]
mov dword [ebp - 0x2b4], eax
shl eax, 4
mov dword [ebp - 0x2c4], edi
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x2d0], esi
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2cc], ecx
cmp dl, 0x37
jne 0x1002c8d6
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x29c]
mov dword [ebp - 0x2ac], 1
mov al, byte [eax + 0x4c]
cmp al, byte [ecx + 0x57]
jae 0x1002c8dc
mov byte [ecx + 0x57], al
jmp 0x1002c8dc
mov dword [ebp - 0x2ac], edi
mov ecx, dword [ebp - 0x28c]
test byte [ecx + ebx*4 + 3], 2
je 0x1002c92c
mov ecx, dword [ebp - 0x298]
lea eax, [esi + esi*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.10021820
mov dword [esi], eax
mov ecx, 0xbe04
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
or ax, 4
mov word [esi + 8], ax
mov esi, dword [esi]
mov dword [ebp - 0x2d0], esi
cmp esi, 2
jl 0x1002fa40
mov ecx, dword [ebp - 0x28c]
mov al, byte [ecx + ebx*4 + 1]
cmp al, 0xfa
jne 0x1002c94a
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x2c4], eax
movzx edi, word [eax + 8]
movzx eax, word [eax + 6]
add edi, eax
jmp 0x1002c952
cmp al, 0xf2
jne 0x1002c952
mov edi, dword [ecx + ebx*4 + 0x10]
mov edx, dword [ecx + ebx*4 + 4]
mov ecx, dword [ebp - 0x29c]
push 1
push dword [ebp - 0x2b4]
push edi
call fcn.100298b0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1002bc39
mov ecx, dword [ebp - 0x2cc]
or dword [edi + 0x1c], 8
mov dword [edi + 0x20], esi
mov esi, dword [edi]
mov byte [edi + 0x19], 1
call fcn.100160c0
mov edx, dword [ebp - 0x2d0]
push esi
push dword [ebp - 0x2c4]
mov esi, dword [ebp - 0x2cc]
mov ecx, esi
push dword [ebp - 0x2ac]
call fcn.10019aa0
add esp, 0xc
mov dword [ebp - 0x294], eax
cmp byte [esi + 9], 0
je 0x1002c9cb
add dword [esi + 0xc], 0xffffffff
jne 0x1002c9cb
mov ecx, esi
call fcn.100160a0
mov edx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x2c4]
mov esi, dword [ebp - 0x290]
mov dword [edi + 8], eax
mov eax, dword [edi]
mov cl, byte [edx + ebx*4 + 3]
and cl, 1
mov byte [eax + 0x4a], cl
xor ecx, ecx
cmp byte [edx + ebx*4 + 1], 0xfa
mov eax, 4
cmovne ecx, eax
mov eax, dword [edi + 0x1c]
and eax, 0xfffffffb
or ecx, eax
mov dword [edi + 0x1c], ecx
mov edi, dword [ebp - 0x2a0]
jmp 0x1002bd52
mov edx, dword [ecx + ebx*4 + 4]
push 1
push 0xffffffffffffffff
push dword [ecx + ebx*4 + 8]
mov ecx, dword [ebp - 0x29c]
call fcn.100298b0
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x2d0], edi
test edi, edi
je 0x1002bc3f
mov eax, dword [ebp - 0x28c]
lea esi, [edi + 4]
or dword [edi + 0x1c], 1
xor edx, edx
mov byte [edi + 0x19], 1
push 0x41e
movzx eax, byte [eax + ebx*4 + 3]
or eax, 5
mov dword [ebp - 0x2c4], esi
push eax
mov eax, dword [ebp - 0x290]
push esi
push eax
mov ecx, dword [eax]
call fcn.10017620
add esp, 0x10
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002cb80
mov ecx, dword [esi]
lea edx, [eax + 1]
call fcn.10018630
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002cb80
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x2ac], eax
test eax, eax
je 0x1002cb39
movzx eax, byte [ecx + ebx*4 + 3]
lea edx, [ebp - 0x13c]
mov ecx, dword [esi]
or eax, 2
push eax
call fcn.1001e500
add esp, 4
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002cb33
mov ecx, dword [ebp - 0x2c4]
mov eax, dword [ebp - 0x2ac]
mov esi, dword [edi]
mov dword [edi + 8], eax
mov ecx, dword [ecx]
mov edi, dword [ebp - 0x13c]
mov dword [ebp - 0x2c4], ecx
call fcn.100160c0
push esi
push dword [ebp - 0x2ac]
mov esi, dword [ebp - 0x2c4]
mov edx, edi
push 1
mov ecx, esi
call fcn.10019aa0
add esp, 0xc
mov dword [ebp - 0x294], eax
cmp byte [esi + 9], 0
je 0x1002cb2d
add dword [esi + 0xc], 0xffffffff
jne 0x1002cb2d
mov ecx, esi
call fcn.100160a0
mov edi, dword [ebp - 0x2d0]
and dword [edi + 0x1c], 0xfffffffb
jmp 0x1002cb80
mov ecx, dword [edi + 4]
mov esi, dword [edi]
mov dword [ebp - 0x2ac], ecx
call fcn.100160c0
push esi
mov esi, dword [ebp - 0x2ac]
mov edx, 1
push 0
push 1
mov ecx, esi
call fcn.10019aa0
add esp, 0xc
mov dword [ebp - 0x294], eax
cmp byte [esi + 9], 0
je 0x1002cb7c
add dword [esi + 0xc], 0xffffffff
jne 0x1002cb7c
mov ecx, esi
call fcn.100160a0
or dword [edi + 0x1c], 4
mov eax, dword [ebp - 0x28c]
xor ecx, ecx
mov esi, dword [ebp - 0x290]
cmp byte [eax + ebx*4 + 3], 8
mov eax, 8
cmovne ecx, eax
mov eax, dword [edi + 0x1c]
and eax, 0xfffffff7
or ecx, eax
mov dword [edi + 0x1c], ecx
mov edi, dword [ebp - 0x2a0]
jmp 0x1002bd52
mov edx, dword [ecx + ebx*4 + 4]
push 1
push 0xffffffffffffffff
push dword [ecx + ebx*4 + 8]
mov ecx, dword [ebp - 0x29c]
call fcn.100298b0
add esp, 0xc
test eax, eax
je 0x1002bc3f
mov edx, dword [ebp - 0x28c]
push eax
mov ecx, dword [edx + ebx*4 + 0x10]
mov dword [eax + 8], ecx
mov ecx, esi
mov edx, dword [edx + ebx*4 + 0xc]
call fcn.10031300
add esp, 4
mov dword [ebp - 0x294], eax
jmp 0x1002bd58
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ecx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x28]
mov ecx, edi
mov esi, dword [edx + 0x2c]
add ecx, 1
mov eax, esi
mov dword [edx + 0x28], ecx
adc eax, 0
or edi, esi
mov dword [edx + 0x2c], eax
jne 0x1002b3e0
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x2a0]
mov esi, dword [ebp - 0x290]
mov edx, dword [ebp - 0x298]
mov eax, dword [ecx + ebx*4 + 8]
mov ebx, dword [ebp - 0x2a4]
dec eax
inc eax
jmp 0x10029dde
mov edx, dword [ecx + ebx*4 + 4]
push 0
push 0xffffffffffffffff
push dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0x29c]
call fcn.100298b0
add esp, 0xc
test eax, eax
je 0x1002bc3f
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x298]
mov byte [eax + 0x19], 1
mov ecx, dword [ecx + ebx*4 + 8]
or dword [eax + 0x1c], 4
mov ebx, dword [ebp - 0x2a4]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x28c]
inc eax
jmp 0x10029dde
mov eax, dword [ecx + ebx*4 + 4]
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx + 0x38]
mov edx, dword [edx + eax*4]
call fcn.10023cf0
mov eax, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x298]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x29c]
mov ebx, dword [ebp - 0x2a4]
mov eax, dword [eax + 0x38]
mov dword [eax + ecx*4], 0
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x28c]
inc eax
jmp 0x10029dde
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ecx + ebx*4 + 4]
mov edi, dword [ebp - 0x28c]
mov eax, dword [eax + 0x38]
movzx edx, byte [edi + ebx*4]
mov dword [ebp - 0x2b4], edx
mov esi, dword [eax + ecx*4]
test byte [esi + 0x1c], 4
mov byte [esi + 0x19], 0
je 0x1002ce03
mov eax, dword [edi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [edi + 8]
and al, 0xe
cmp al, 2
jne 0x1002cd43
xor edx, edx
mov ecx, edi
call fcn.10029990
mov ecx, edi
call fcn.10021820
movzx ecx, word [edi + 8]
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 0x2c4], edx
test cl, 4
jne 0x1002cdca
test cl, 8
jne 0x1002cd8b
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x2a0]
mov esi, dword [ebp - 0x290]
mov edx, dword [ebp - 0x298]
mov eax, dword [ecx + ebx*4 + 8]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
mov edx, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0x2ac]
call fcn.100e1ff0
movsd xmm1, qword [edi]
comisd xmm0, xmm1
jbe 0x1002cdb3
mov eax, dword [ebp - 0x2b4]
test al, 1
je 0x1002cdca
dec eax
jmp 0x1002cdc4
comisd xmm1, xmm0
jbe 0x1002cdca
mov eax, dword [ebp - 0x2b4]
test al, 1
jne 0x1002cdca
inc eax
mov dword [ebp - 0x2b4], eax
mov edi, dword [ebp - 0x2ac]
lea eax, [ebp - 0xd8]
mov ecx, dword [esi]
xor edx, edx
push eax
push 0
push dword [ebp - 0x2c4]
push edi
call fcn.1001a720
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0x294]
mov dword [esi + 0x30], edi
jmp 0x1002ce70
mov eax, dword [esi + 8]
test dl, 1
mov ecx, dword [edi + ebx*4 + 0x10]
mov dword [ebp - 0x23c], eax
sete al
mov word [ebp - 0x238], cx
mov ecx, dword [ebp - 0x298]
lea eax, [eax*2 - 1]
mov byte [ebp - 0x236], al
mov eax, dword [edi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, 0x4000
mov dword [ebp - 0x234], ecx
test word [ecx + 8], ax
je 0x1002ce50
call fcn.10021450
mov ecx, dword [esi]
lea eax, [ebp - 0xd8]
push eax
push 0
push 0
push 0
lea edx, [ebp - 0x23c]
call fcn.1001a720
mov dword [ebp - 0x294], eax
add esp, 0x10
test eax, eax
jne 0x1002d48b
mov byte [esi + 0x1a], al
mov dword [esi + 0x3c], eax
mov eax, dword [ebp - 0x2b4]
mov ecx, dword [ebp - 0xd8]
cmp eax, 0x40
jl 0x1002ced2
test ecx, ecx
js 0x1002ceb8
jne 0x1002ce9d
cmp eax, 0x41
je 0x1002ceb8
mov edi, dword [ebp - 0x2a0]
mov esi, dword [ebp - 0x290]
mov dword [ebp - 0xd8], 0
jmp 0x1002bd52
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xd8], 0
push eax
push dword [esi]
call fcn.1001ad70
jmp 0x1002cf0a
test ecx, ecx
jg 0x1002cef2
jne 0x1002cedd
cmp eax, 0x3e
je 0x1002cef2
mov ecx, dword [esi]
call fcn.1001abc0
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x294]
jmp 0x1002cf1b
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xd8], 0
push eax
push dword [esi]
call fcn.1001af70
add esp, 8
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002d48b
cmp dword [ebp - 0xd8], 0
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x2a0]
je 0x1002cf3b
mov esi, dword [ecx + ebx*4 + 8]
dec esi
mov dword [ebp - 0x288], esi
mov esi, dword [ebp - 0x290]
jmp 0x1002bd5e
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ecx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x28c]
mov ecx, dword [ebp - 0x298]
mov byte [esi + 0x19], 0
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.10021820
mov ecx, dword [ebp - 0x28c]
mov ebx, dword [ebp - 0x2a4]
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0x288]
mov dword [esi + 0x34], edx
inc eax
mov edx, dword [ebp - 0x298]
mov byte [esi + 0x1a], 1
mov esi, dword [ebp - 0x290]
jmp 0x10029dde
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x28c]
mov esi, dword [ebp - 0x298]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 0xc]
mov dword [ebp - 0x1a4], 0
cmp dword [edx + ebx*4 + 0x10], 0
mov dword [ebp - 0x2ac], ecx
mov ecx, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [ebp - 0x2c4], esi
jle 0x1002d051
mov dword [ebp - 0x1f0], ecx
xor eax, eax
movzx edx, word [edx + ebx*4 + 0x10]
xor edi, edi
mov word [ebp - 0x1ec], dx
mov dword [ebp - 0x1e8], esi
cmp ax, dx
jae 0x1002d043
mov ebx, dword [ebp - 0x2c4]
xor esi, esi
lea ecx, [esi + ebx]
mov eax, 0x4000
test word [ecx + 8], ax
je 0x1002d032
call fcn.10021450
mov ebx, dword [ebp - 0x1e8]
mov dx, word [ebp - 0x1ec]
inc edi
movzx eax, dx
add esi, 0x28
cmp edi, eax
jl 0x1002d012
mov ebx, dword [ebp - 0x2d0]
mov esi, dword [ebp - 0x2ac]
lea edi, [ebp - 0x1f0]
jmp 0x1002d08d
lea eax, [ebp - 0x1a4]
push eax
push 0xbf
lea edx, [ebp - 0xc8]
call fcn.100258e0
mov edi, eax
add esp, 8
test edi, edi
je 0x1002bc39
mov edx, dword [esi + 0xc]
push edi
push dword [esi + 0x10]
mov esi, dword [ebp - 0x2ac]
mov ecx, dword [esi + 8]
call fcn.10025950
add esp, 8
mov eax, dword [ebp - 0x28c]
mov byte [edi + 6], 0
cmp byte [eax + ebx*4], 0x43
jne 0x1002d0d3
movzx edx, word [ebp - 0x1ec]
xor ecx, ecx
test edx, edx
je 0x1002d0d3
mov eax, dword [ebp - 0x1e8]
add eax, 8
test byte [eax], 1
jne 0x1002d0c2
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x1002d0b3
jmp 0x1002d0d3
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + ebx*4 + 8]
dec eax
mov dword [ebp - 0x288], eax
mov ecx, dword [esi]
lea eax, [ebp - 0x110]
push eax
push 0
push 0
push 0
mov edx, edi
call fcn.1001a720
mov ecx, dword [ebp - 0x28c]
add esp, 0x10
mov dword [ebp - 0x294], eax
cmp dword [ecx + ebx*4 + 0x10], 0
jne 0x1002d11c
mov edx, dword [ebp - 0x1a4]
mov ecx, dword [ebp - 0x290]
call fcn.10004f30
mov eax, dword [ebp - 0x294]
mov ecx, dword [ebp - 0x28c]
test eax, eax
jne 0x1002f70f
mov eax, dword [ebp - 0x110]
xor ecx, ecx
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x110]
test eax, eax
mov byte [esi + 0x1a], 0
sete cl
mov dword [esi + 0x3c], 0
test eax, eax
setne al
mov byte [esi + 0x19], al
mov eax, dword [ebp - 0x28c]
cmp byte [eax + ebx*4], 0x45
jne 0x1002d186
test ecx, ecx
je 0x1002b3e0
mov edi, dword [ebp - 0x2a0]
mov ecx, eax
mov esi, dword [ebp - 0x290]
mov edx, dword [ebp - 0x298]
mov eax, dword [ecx + ebx*4 + 8]
mov ebx, dword [ebp - 0x2a4]
dec eax
inc eax
jmp 0x10029dde
test ecx, ecx
jne 0x1002b3e0
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x2a0]
mov esi, dword [ebp - 0x290]
mov edx, dword [ebp - 0x298]
mov eax, dword [ecx + ebx*4 + 8]
mov ebx, dword [ebp - 0x2a4]
dec eax
inc eax
jmp 0x10029dde
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ecx + ebx*4 + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x29c]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x2ac], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0x134], 0
mov esi, dword [eax + edx*8]
mov edi, dword [eax + edx*8 + 4]
lea eax, [ebp - 0x134]
push eax
push 0
push edi
push esi
xor edx, edx
call fcn.1001a720
mov dword [ebp - 0x294], eax
add esp, 0x10
mov eax, dword [ebp - 0x2ac]
mov dword [eax + 0x30], esi
mov dword [eax + 0x34], edi
mov word [eax + 0x19], 0
mov dword [eax + 0x3c], 0
mov ecx, dword [ebp - 0x134]
test ecx, ecx
je 0x1002d23c
mov edx, dword [ebp - 0x28c]
mov esi, dword [edx + ebx*4 + 8]
dec esi
mov dword [ebp - 0x288], esi
mov edi, dword [ebp - 0x2a0]
mov esi, dword [ebp - 0x290]
mov dword [eax + 0xc], ecx
jmp 0x1002bd52
mov ecx, dword [ecx + ebx*4 + 4]
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x298]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x28c]
mov dword [edi], ecx
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x29c]
mov ebx, dword [ebp - 0x2a4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x28c]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
mov eax, dword [ebp - 0x288]
inc eax
jmp 0x10029dde
mov edx, dword [ebp - 0x29c]
xorps xmm0, xmm0
mov ecx, dword [ecx + ebx*4 + 4]
movlpd qword [ebp - 0xe0], xmm0
mov dword [ebp - 0x104], 0
mov eax, dword [edx + 0x38]
mov edi, dword [eax + ecx*4]
mov dword [ebp - 0x2ac], edi
mov ecx, dword [edi]
test ecx, ecx
je 0x1002d4bc
test byte [edi + 0x1c], 2
jne 0x1002d365
lea edx, [ebp - 0x104]
call fcn.1001a6c0
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002d491
cmp dword [ebp - 0x104], eax
je 0x1002d319
mov dword [ebp - 0xe0], 1
mov dword [ebp - 0xdc], eax
jmp 0x1002d35f
mov ecx, dword [edi]
lea edx, [ebp - 0xe0]
call fcn.10019cb0
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0xe0]
cmp ecx, 0x7fffffff
jl 0x1002d34d
jg 0x1002d347
cmp eax, 0xffffffff
jb 0x1002d34d
or dword [edi + 0x1c], 2
jmp 0x1002d35f
add eax, 1
mov dword [ebp - 0xe0], eax
adc ecx, 0
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0x29c]
mov eax, dword [ebp - 0x28c]
mov ecx, dword [eax + ebx*4 + 0xc]
test ecx, ecx
je 0x1002d40e
mov edx, dword [edx + 0xb0]
test edx, edx
je 0x1002d39c
mov eax, dword [edx + 4]
test eax, eax
je 0x1002d391
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x1002d388
mov eax, dword [edx + 0xc]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
jmp 0x1002d3a8
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x298]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.100219b0
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x1002d3c5
cmp edx, 0x7fffffff
je 0x1002d480
test byte [edi + 0x1c], 2
jne 0x1002d480
mov edi, dword [ebp - 0xdc]
add ecx, 1
adc edx, 0
cmp edi, edx
jg 0x1002d3fd
jl 0x1002d3eb
mov eax, dword [ebp - 0xe0]
cmp eax, ecx
jae 0x1002d403
mov eax, ecx
mov edi, edx
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], edi
jmp 0x1002d403
mov eax, dword [ebp - 0xe0]
mov dword [esi + 4], edi
mov edi, dword [ebp - 0x2ac]
mov dword [esi], eax
test byte [edi + 0x1c], 2
je 0x1002d4ab
xor esi, esi
nop word [eax + eax]
lea eax, [ebp - 0xe0]
push eax
push 8
call fcn.10007260
mov eax, dword [ebp - 0xdc]
lea edx, [ebp - 0x104]
mov ecx, dword [ebp - 0xe0]
and eax, 0x3fffffff
add ecx, 1
push edx
adc eax, 0
mov dword [ebp - 0xe0], ecx
push 0
push eax
mov dword [ebp - 0xdc], eax
xor edx, edx
push ecx
mov ecx, dword [edi]
call fcn.1001a720
add esp, 0x18
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002d4ab
cmp dword [ebp - 0x104], eax
jne 0x1002d4ab
inc esi
cmp esi, 0x64
jl 0x1002d420
mov eax, 0xd
mov dword [ebp - 0x294], eax
mov esi, dword [ebp - 0x290]
cmp byte [esi + 0x40], 0
je 0x1002fa81
mov eax, 7
mov dword [ebp - 0x294], eax
jmp 0x1002fa8c
mov esi, dword [ebp - 0x290]
mov byte [edi + 0x1a], 0
mov dword [edi + 0x3c], 0
mov edi, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x1002bd52
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, dword [ecx + ebx*4 + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x29c]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x2c4], eax
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + ebx*4 + 0xc]
cmp dl, 0x4b
jne 0x1002d51c
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
mov edi, dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0x2ac], eax
jmp 0x1002d527
cdq
mov edi, eax
mov dword [ebp - 0x2ac], edx
mov eax, edx
mov edx, dword [ebp - 0x28c]
mov cl, byte [edx + ebx*4 + 3]
test cl, 1
je 0x1002d543
mov ecx, dword [ebp - 0x29c]
inc dword [ecx + 0x5c]
mov cl, byte [edx + ebx*4 + 3]
test cl, 2
je 0x1002d560
mov ecx, dword [ebp - 0x290]
mov dword [ebp - 0x2a4], edi
mov dword [ebp - 0x2dc], eax
mov dword [ecx + 0x20], edi
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0x298]
movzx eax, word [ecx + esi*8 + 8]
test al, 1
je 0x1002d57f
mov dword [ecx + esi*8 + 0x10], 0
mov dword [ecx + esi*8 + 0xc], 0
mov cl, byte [edx + ebx*4 + 3]
mov byte [ebp - 0x2bd], cl
test cl, 0x10
je 0x1002d599
mov edx, dword [ebp - 0x2c4]
mov edx, dword [edx + 0xc]
jmp 0x1002d59b
xor edx, edx
test eax, 0x4000
je 0x1002d5ad
mov eax, dword [ebp - 0x298]
mov ecx, dword [eax + esi*8]
jmp 0x1002d5af
xor ecx, ecx
movzx eax, byte [ebp - 0x2bd]
push edx
shr eax, 3
xor edx, edx
and eax, 1
push eax
mov eax, dword [ebp - 0x298]
push ecx
push dword [eax + esi*8 + 0xc]
push dword [eax + esi*8 + 0x10]
mov eax, dword [ebp - 0x2c4]
mov esi, dword [ebp - 0x2ac]
push esi
push edi
mov ecx, dword [eax]
call fcn.1001db80
mov ecx, dword [ebp - 0x2c4]
add esp, 0x1c
mov dword [ebp - 0x294], eax
mov byte [ecx + 0x1a], 0
mov dword [ecx + 0x3c], 0
test eax, eax
jne 0x1002d929
mov eax, dword [ebp - 0x290]
mov edx, dword [eax + 0xd0]
test edx, edx
je 0x1002f708
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + ebx*4 + 0x10]
test eax, eax
je 0x1002bd46
movsx ecx, byte [ecx + 0x18]
push esi
mov esi, dword [ebp - 0x290]
add ecx, ecx
push edi
push eax
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
mov eax, dword [ebp - 0x28c]
mov ecx, 0x17
test byte [eax + ebx*4 + 3], 4
mov eax, 0x12
cmovne eax, ecx
push eax
push dword [esi + 0xcc]
call edx
add esp, 0x18
jmp 0x1002a20c
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ecx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
call fcn.1001ddd0
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x294], eax
mov dword [esi + 0x3c], 0
test eax, eax
jne 0x1002d6f0
mov eax, dword [ebp - 0x290]
mov edx, dword [eax + 0xd0]
test edx, edx
je 0x1002d70f
mov eax, dword [ecx + ebx*4 + 0x10]
test eax, eax
je 0x1002d6ea
test byte [esi + 0x1c], 4
je 0x1002d6ea
push dword [esi + 0x34]
movsx ecx, byte [esi + 0x18]
push dword [esi + 0x30]
mov esi, dword [ebp - 0x290]
add ecx, ecx
push eax
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
push 9
push dword [esi + 0xcc]
call edx
mov eax, dword [ebp - 0x294]
add esp, 0x18
mov ecx, dword [ebp - 0x28c]
jmp 0x1002d6f6
mov eax, dword [ebp - 0x294]
mov esi, dword [ebp - 0x290]
test byte [ecx + ebx*4 + 8], 1
je 0x1002bd5e
mov edx, dword [ebp - 0x29c]
inc dword [edx + 0x5c]
jmp 0x1002bd5e
mov esi, eax
mov eax, dword [ebp - 0x294]
jmp 0x1002d6f6
mov eax, dword [ebp - 0x29c]
mov ecx, esi
mov edx, dword [eax + 0x5c]
call fcn.10026b00
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
mov dword [eax + 0x5c], 0
mov eax, dword [ebp - 0x288]
inc eax
jmp 0x10029dde
mov eax, dword [ebp - 0x29c]
lea edi, [ebp - 0x130]
mov ecx, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
push edi
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + ebx*4 + 0x10]
push eax
mov dword [ebp - 0x130], 0
call fcn.10033550
mov edi, dword [ebp - 0x2a0]
add esp, 8
cmp dword [ebp - 0x130], 0
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x294], eax
je 0x1002bd5e
mov edx, dword [ecx + ebx*4 + 8]
dec edx
jmp 0x1002bd64
mov eax, dword [ecx + ebx*4 + 8]
mov edx, dword [ebp - 0x298]
mov ecx, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ebp - 0x29c]
mov edx, edi
mov dword [ebp - 0x2a0], edi
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
call fcn.100334b0
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x28c]
mov ecx, dword [eax + ebx*4 + 0xc]
mov eax, dword [ebp - 0x29c]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x3c], 0
jmp 0x1002bd52
mov eax, dword [ecx + ebx*4 + 8]
mov edx, dword [ebp - 0x298]
mov ecx, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebp - 0x29c]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
test byte [edi + 0x1c], 4
mov esi, dword [edi]
mov ecx, esi
jne 0x1002d885
lea edx, [ebp - 0x170]
call fcn.10019cb0
mov eax, dword [ebp - 0x290]
mov eax, dword [eax + 0x58]
cdq
cmp dword [ebp - 0x16c], edx
jg 0x1002fb51
mov ecx, dword [ebp - 0x170]
jl 0x1002d87d
cmp ecx, eax
ja 0x1002fb51
mov dword [ebp - 0xf4], ecx
jmp 0x1002d8a5
lea edx, [ebp - 0xf4]
call fcn.10019d10
mov eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [eax + 0x58]
ja 0x1002fb4d
mov ebx, dword [ebp - 0x2a0]
mov edx, 0x20
cmp ecx, edx
cmova edx, ecx
mov ecx, ebx
call fcn.10021390
test eax, eax
jne 0x1002bc39
mov eax, dword [ebp - 0xf4]
mov ecx, 0xbe10
mov dword [ebx + 0xc], eax
mov ax, word [ebx + 8]
and ax, cx
or ax, 0x10
mov word [ebx + 8], ax
test byte [edi + 0x1c], 4
mov eax, dword [ebx + 0x10]
push eax
push dword [ebp - 0xf4]
jne 0x1002d914
xor edx, edx
mov ecx, esi
call fcn.1001a2d0
mov esi, dword [ebp - 0x290]
add esp, 8
mov dword [ebp - 0x294], eax
mov edi, ebx
mov byte [ebx + 0xa], 1
jmp 0x1002bd58
push 0
push esi
call fcn.1001a2f0
add esp, 0x10
mov dword [ebp - 0x294], eax
mov byte [ebx + 0xa], 1
mov edi, dword [ebp - 0x2a0]
mov esi, dword [ebp - 0x290]
jmp 0x1002bd58
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ecx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 0x19], 0
je 0x1002d97d
mov ecx, dword [ebp - 0x28c]
mov eax, 1
mov esi, dword [ebp - 0x290]
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
mov word [edi + 8], ax
mov eax, dword [ebp - 0x288]
inc eax
jmp 0x10029dde
cmp byte [esi + 0x1a], 0
je 0x1002d9a5
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov esi, dword [ebp - 0x290]
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], ecx
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x1002bd52
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x1002d9ef
mov esi, dword [ecx]
lea edx, [ebp - 0x120]
push edx
push ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [ebp - 0x29c]
add esp, 8
mov edx, esi
mov dword [ebp - 0x294], eax
call fcn.10026b30
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x11c]
mov esi, dword [ebp - 0x290]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x1002bd52
mov ecx, esi
call fcn.10025450
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002d48b
cmp byte [esi + 0x19], al
je 0x1002da3c
mov eax, 1
mov word [edi + 8], ax
mov eax, dword [ebp - 0x288]
mov esi, dword [ebp - 0x290]
inc eax
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
mov dword [ebp - 0x288], eax
jmp 0x10029df0
mov ecx, dword [esi]
lea edx, [ebp - 0x120]
call fcn.10019cb0
mov ecx, dword [ebp - 0x11c]
mov esi, dword [ebp - 0x290]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x120]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x1002bd52
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ecx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov byte [eax + 0x19], 1
mov dword [eax + 0x3c], 0
test ecx, ecx
je 0x1002da91
call fcn.100163a0
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x28c]
inc eax
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
mov eax, dword [ebp - 0x29c]
lea edx, [ebp - 0x108]
mov ecx, dword [ecx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
mov dword [ebp - 0x108], 0
call fcn.1001a6c0
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x294], eax
mov al, byte [ebp - 0x108]
mov byte [esi + 0x19], al
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
mov eax, dword [ecx + ebx*4 + 8]
test eax, eax
jle 0x1002f260
cmp dword [ebp - 0x108], 0
mov esi, dword [ebp - 0x290]
je case.default.0x10029e59
dec eax
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x294]
jmp 0x1002bd5e
mov eax, dword [ebp - 0x29c]
inc dword [eax + 0x74]
jmp 0x1002db38
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ecx + ebx*4 + 4]
lea edx, [ebp - 0x100]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x100], 1
cmp dword [esi + 0x38], 0
je 0x1002db61
mov ecx, esi
call fcn.100333a0
jmp 0x1002db73
mov ecx, dword [esi]
call fcn.1001a690
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x294], eax
mov al, byte [ebp - 0x100]
mov byte [esi + 0x19], al
cmp dword [ebp - 0x100], 0
mov esi, dword [ebp - 0x290]
je case.default.0x10029e59
mov eax, dword [ecx + ebx*4 + 8]
dec eax
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x294]
jmp 0x1002bd5e
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ecx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0xfc]
mov ecx, dword [ebp - 0x290]
mov edx, esi
push eax
mov dword [ebp - 0xfc], 0
call fcn.10033440
mov edi, dword [ebp - 0x28c]
add esp, 4
jmp 0x1002dc39
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ecx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
cmp dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0x28c]
je case.default.0x10029e59
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ecx + ebx*4 + 4]
mov edi, dword [ebp - 0x28c]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, dword [edi + ebx*4 + 0xc]
mov dword [ebp - 0xfc], eax
lea eax, [ebp - 0xfc]
push eax
push dword [esi]
mov eax, dword [edi + ebx*4 + 0x10]
call eax
add esp, 8
mov dword [ebp - 0x294], eax
mov dword [esi + 0x3c], 0
cmp dword [ebp - 0xfc], 0
jne 0x1002dc72
mov byte [esi + 0x19], 0
mov ecx, dword [edi + ebx*4 + 8]
movzx eax, byte [edi + ebx*4 + 3]
dec ecx
mov esi, dword [ebp - 0x29c]
mov dword [ebp - 0x288], ecx
inc dword [esi + eax*4 + 0x6c]
jmp 0x1002f3d0
mov byte [esi + 0x19], 1
jmp 0x1002f3d0
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x28c]
mov eax, dword [eax + 0x38]
test byte [edx + ebx*4 + 3], 1
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 8]
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, dword [edi]
mov dword [ebp - 0x2ac], ecx
je 0x1002dcb9
mov eax, dword [ebp - 0x29c]
inc dword [eax + 0x5c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x1002dce5
mov ecx, esi
call fcn.10021450
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002d929
mov ecx, dword [ebp - 0x2ac]
mov edx, dword [ebp - 0x28c]
cmp dword [edi + 0x38], 0
je 0x1002dd0b
mov edx, esi
mov ecx, edi
call fcn.100323d0
mov edi, dword [ebp - 0x2a0]
mov esi, dword [ebp - 0x290]
mov dword [ebp - 0x294], eax
jmp 0x1002bd58
test byte [edx + ebx*4 + 3], 0x10
je 0x1002dd17
mov eax, dword [edi + 0xc]
jmp 0x1002dd19
xor eax, eax
push eax
push dword [edx + ebx*4 + 0xc]
mov eax, dword [esi + 0xc]
push 0
push 0
cdq
push 0x100f3188
push edx
mov edx, dword [esi + 0x10]
push eax
call fcn.1001db80
mov esi, dword [ebp - 0x290]
add esp, 0x1c
mov dword [edi + 0x3c], 0
mov edi, dword [ebp - 0x2a0]
mov dword [ebp - 0x294], eax
jmp 0x1002bd58
mov eax, dword [ebp - 0x29c]
lea edx, [ebp - 0x228]
mov ecx, dword [ecx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x28c]
mov eax, dword [esi + 8]
mov edi, dword [esi]
mov dword [ebp - 0x228], eax
mov ax, word [ecx + ebx*4 + 0xc]
mov word [ebp - 0x224], ax
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, dword [ebp - 0x298]
mov byte [ebp - 0x222], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0x220], eax
lea eax, [ebp - 0x138]
push eax
push 0
push 0
push 0
call fcn.1001a720
add esp, 0x10
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002dddc
cmp dword [ebp - 0x138], eax
jne 0x1002dddc
mov ecx, edi
call fcn.1001ddd0
mov dword [ebp - 0x294], eax
mov edi, dword [ebp - 0x2a0]
mov dword [esi + 0x3c], 0
mov esi, dword [ebp - 0x290]
jmp 0x1002bd58
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ecx + ebx*4 + 4]
mov ebx, dword [ebp - 0x2a0]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, 1
mov ecx, esi
mov edi, dword [esi]
mov word [ebx + 8], ax
call fcn.10025450
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002d48b
cmp byte [esi + 0x19], al
jne 0x1002a206
mov esi, dword [ebp - 0x290]
lea eax, [ebp - 0x158]
xorps xmm0, xmm0
mov edx, edi
push eax
mov ecx, esi
movlpd qword [ebp - 0x158], xmm0
call fcn.10026840
add esp, 4
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002d491
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x154]
mov dword [ebx], eax
mov eax, 4
mov dword [ebx + 4], ecx
mov word [ebx + 8], ax
jmp 0x1002a20c
mov ecx, dword [ecx + ebx*4 + 4]
mov eax, dword [ebp - 0x29c]
mov eax, dword [eax + 0x38]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x28c]
mov eax, dword [edx + 8]
mov dword [ebp - 0x214], eax
mov ax, word [ecx + ebx*4 + 0x10]
mov word [ebp - 0x210], ax
cmp byte [ecx + ebx*4], 0x73
sbb al, al
mov byte [ebp - 0x20e], al
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0x298]
mov dword [ebp - 0xf8], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, esi
mov dword [ebp - 0x20c], eax
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x214]
push eax
call fcn.100269d0
mov ecx, dword [ebp - 0x28c]
add esp, 8
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0xf8]
test byte [ecx + ebx*4], 1
je 0x1002df0f
neg eax
jmp 0x1002df10
inc eax
mov dword [ebp - 0xf8], eax
test eax, eax
jle case.default.0x10029e59
mov eax, dword [ecx + ebx*4 + 8]
dec eax
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x294]
jmp 0x1002bd5e
mov eax, dword [esi + 4]
xor edx, edx
test eax, eax
je 0x1002df70
nop dword [eax]
cmp dword [eax + 0x28], 0xbdf20da3
jne 0x1002df63
mov ecx, dword [eax + 0x58]
test ecx, 0x200
je 0x1002df63
and cl, 0xc
cmp cl, 8
jae 0x1002df63
cmp dword [eax + 0x4c], 0
jl 0x1002df63
inc edx
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x1002df40
mov ecx, dword [ebp - 0x28c]
mov eax, 1
mov word [edi + 8], ax
cmp edx, eax
jg 0x1002fab7
mov eax, dword [ecx + ebx*4 + 0xc]
lea ecx, [ebp - 0x12c]
mov edx, dword [ebp - 0x28c]
push ecx
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x2ac], eax
add eax, eax
mov edx, dword [edx + ebx*4 + 4]
mov dword [ebp - 0x12c], 0
mov ecx, dword [ecx + eax*8 + 4]
call fcn.1001eb60
mov ecx, dword [ebp - 0x12c]
add esp, 4
mov dword [ebp - 0x294], eax
mov eax, 4
mov word [edi + 8], ax
mov eax, ecx
cdq
mov dword [edi], eax
mov eax, dword [ebp - 0x294]
mov dword [edi + 4], edx
test eax, eax
jne 0x1002bd58
test ecx, ecx
je 0x1002bd58
mov eax, dword [ebp - 0x28c]
push dword [eax + ebx*4 + 4]
mov ebx, dword [ebp - 0x2ac]
mov edx, ebx
push ecx
mov ecx, esi
call fcn.10045050
add esp, 8
inc bl
mov byte [ebp - 0x2dd], bl
jmp 0x1002a212
xor edx, edx
mov dword [ebp - 0x128], 0
cmp dword [ecx + ebx*4 + 0xc], edx
lea eax, [ebp - 0x128]
cmove eax, edx
mov edx, dword [ebp - 0x28c]
push eax
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, dword [esi + 0x10]
add eax, eax
mov edx, dword [edx + ebx*4 + 4]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.1001e720
mov ecx, dword [ebp - 0x28c]
add esp, 4
mov dword [ebp - 0x294], eax
cmp dword [ecx + ebx*4 + 0xc], 0
je 0x1002bd5e
mov edx, dword [ebp - 0x29c]
mov eax, dword [ebp - 0x128]
add dword [edx + 0x5c], eax
mov ecx, dword [ecx + ebx*4 + 0xc]
test ecx, ecx
jle 0x1002bd52
mov ebx, dword [ebp - 0x298]
lea ecx, [ecx + ecx*4]
cdq
add dword [ebx + ecx*8], eax
adc dword [ebx + ecx*8 + 4], edx
jmp 0x1002bd52
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ecx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x1002e0d1
mov ecx, esi
call fcn.100316c0
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x28c]
inc eax
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
mov ecx, dword [ecx]
call fcn.1001e7d0
mov dword [ebp - 0x294], eax
jmp 0x1002bd58
mov ecx, dword [ecx + ebx*4 + 4]
xor eax, eax
shl ecx, 4
add ecx, dword [esi + 0x10]
cmp dl, 0x79
mov dword [ebp - 0x124], 0
lea edx, [ebp - 0x124]
setne al
inc eax
mov ecx, dword [ecx + 4]
push eax
call fcn.1001e500
mov dword [ebp - 0x294], eax
add esp, 4
mov eax, dword [ebp - 0x124]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x1002bd52
mov eax, dword [ebp - 0x29c]
mov edx, str.sqlite_temp_master
mov ecx, dword [ecx + ebx*4 + 4]
add eax, 0x2c
mov dword [ebp - 0x1fc], eax
cmp ecx, 1
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x1f8], ecx
mov dword [ebp - 0x200], esi
push dword [eax + ebx*4 + 0x10]
mov eax, str.sqlite_master
cmove eax, edx
add ecx, ecx
push eax
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.10006dd0
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x1002e191
mov esi, dword [ebp - 0x290]
mov dword [ebp - 0x294], 7
jmp 0x1002e1ef
mov eax, dword [ebp - 0x290]
lea ecx, [ebp - 0x200]
push 0
push ecx
push fcn.1005dbf0
push esi
push eax
mov byte [eax + 0x91], 1
mov dword [ebp - 0x1f4], 0
call fcn.10056800
add esp, 0x14
mov edx, esi
mov esi, dword [ebp - 0x290]
test eax, eax
mov ecx, esi
cmove eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x294], eax
call fcn.10004f30
mov eax, dword [ebp - 0x294]
mov byte [esi + 0x91], 0
test eax, eax
je 0x1002e1fc
mov ecx, esi
call fcn.10042180
mov eax, dword [ebp - 0x294]
cmp eax, 7
je 0x1002bc3f
jmp 0x1002bd58
mov edx, dword [ecx + ebx*4 + 4]
mov ecx, esi
call fcn.10040300
mov dword [ebp - 0x294], eax
jmp 0x1002bd58
push dword [ecx + ebx*4 + 0x10]
mov edx, dword [ecx + ebx*4 + 4]
mov ecx, esi
call fcn.10042720
mov eax, dword [ebp - 0x288]
add esp, 4
mov ecx, dword [ebp - 0x28c]
inc eax
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
push dword [ecx + ebx*4 + 0x10]
mov edx, dword [ecx + ebx*4 + 4]
mov ecx, esi
call fcn.10041f30
mov eax, dword [ebp - 0x288]
add esp, 4
mov ecx, dword [ebp - 0x28c]
inc eax
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
push dword [ecx + ebx*4 + 0x10]
mov edx, dword [ecx + ebx*4 + 4]
mov ecx, esi
call fcn.1006b430
mov eax, dword [ebp - 0x288]
add esp, 4
mov ecx, dword [ebp - 0x28c]
inc eax
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
mov edi, dword [ecx + ebx*4 + 8]
mov ecx, esi
push 0
mov dword [ebp - 0x2ac], edi
lea eax, [edi*4 + 4]
push eax
call fcn.100051a0
mov edx, eax
add esp, 8
mov dword [ebp - 0x2c4], edx
test edx, edx
je 0x1002bc3f
mov esi, dword [ebp - 0x28c]
mov ecx, dword [esi + ebx*4 + 0xc]
lea eax, [ecx + ecx*4]
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0x2cc], eax
xor esi, esi
mov eax, dword [ebp - 0x298]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*8]
mov dword [ebp - 0x2b4], eax
test edi, edi
jle 0x1002e339
mov ebx, dword [ebp - 0x2ac]
mov edi, eax
mov ecx, edi
call fcn.10021820
mov edx, dword [ebp - 0x2c4]
add edi, 0x28
mov dword [edx + esi*4], eax
inc esi
cmp esi, ebx
jl 0x1002e315
mov ebx, dword [ebp - 0x2d0]
mov edi, dword [ebp - 0x2ac]
mov ecx, dword [ebp - 0x298]
lea eax, [ebp - 0x114]
push eax
mov eax, dword [ebp - 0x2cc]
mov dword [edx + esi*4], 0
push dword [ecx + eax*8]
mov eax, dword [ebp - 0x28c]
push edi
movzx eax, byte [eax + ebx*4 + 3]
mov ebx, dword [ebp - 0x290]
add eax, eax
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.1001fa90
mov edx, dword [ebp - 0x2c4]
add esp, 0xc
mov ecx, ebx
mov esi, eax
call fcn.10004f30
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x2cc]
mov ebx, dword [ebp - 0x298]
mov edi, dword [ebp - 0x2b4]
cdq
sub dword [ebx + ecx*8], eax
sbb dword [ebx + ecx*8 + 4], edx
mov ecx, edi
call fcn.10021d00
cmp dword [ebp - 0x114], 0
je 0x1002e3d5
test esi, esi
je 0x1002bc39
push fcn.10004e50
push 1
push 0xffffffffffffffff
mov edx, esi
mov ecx, edi
call fcn.10021f50
add esp, 0xc
movzx edx, byte [ebp - 0x2d4]
mov ecx, edi
call fcn.10021170
mov eax, dword [ebp - 0x288]
mov edi, dword [ebp - 0x2a0]
inc eax
mov esi, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 0x20
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
lea edi, [eax + eax*4]
jne 0x1002e43c
mov ecx, esi
call fcn.10021d90
test byte [esi + 8], 0x20
je 0x1002bc39
mov eax, dword [ebp - 0x298]
mov ecx, dword [esi]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.1000deb0
add esp, 8
jmp 0x1002e3e3
mov eax, dword [ecx + ebx*4 + 4]
mov edi, dword [ebp - 0x298]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 0x20
lea esi, [edi + eax*8]
je 0x1002e4a6
mov ecx, dword [esi]
lea edx, [ebp - 0x168]
call fcn.1000e200
test eax, eax
je 0x1002e4a6
mov eax, dword [ebp - 0x28c]
push dword [ebp - 0x164]
push dword [ebp - 0x168]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
call fcn.10021d50
add esp, 8
jmp 0x1002f3d0
mov ecx, esi
call fcn.10021d00
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ecx + ebx*4 + 8]
jmp 0x1002f3c9
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 0x20
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 0xc]
lea edi, [eax + eax*4]
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x2ac], eax
jne 0x1002e501
mov ecx, esi
call fcn.10021d90
test byte [esi + 8], 0x20
je 0x1002bc39
mov eax, dword [ebp - 0x2ac]
mov edx, dword [ebp - 0x298]
test eax, eax
je 0x1002e550
push dword [edx + edi*8 + 4]
mov ecx, dword [esi]
push dword [edx + edi*8]
mov edx, eax
call fcn.1000e260
add esp, 8
test eax, eax
je 0x1002e543
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x2a0]
mov esi, dword [ebp - 0x290]
mov edx, dword [ebp - 0x298]
mov eax, dword [ecx + ebx*4 + 8]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
cmp dword [ebp - 0x2ac], 0
jl 0x1002e3e3
mov eax, dword [ebp - 0x298]
mov ecx, dword [esi]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.1000deb0
add esp, 8
jmp 0x1002e3e3
cmp byte [ecx + ebx*4 + 3], 0
mov eax, dword [ecx + ebx*4 + 0xc]
mov edx, dword [ebp - 0x298]
mov edi, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x2c4], edi
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x2ac], eax
je 0x1002e5b6
mov eax, dword [ebp - 0x29c]
mov ecx, dword [edi + 0x14]
mov eax, dword [eax + 0xb0]
test eax, eax
je 0x1002e5b6
cmp dword [eax + 0x18], ecx
je 0x1002e6c2
mov eax, dword [eax + 4]
test eax, eax
jne 0x1002e5a6
mov ecx, dword [ebp - 0x29c]
mov eax, dword [ecx + 0xb8]
cmp eax, dword [esi + 0x80]
jge 0x1002fad8
mov ebx, dword [ebp - 0x2ac]
test byte [ebx + 8], 0x40
jne 0x1002e6e0
mov ecx, dword [edi + 0xc]
mov edi, dword [edi + 8]
add edi, ecx
lea eax, [edi + edi*4]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x2c4]
mov eax, dword [eax + 0x10]
lea eax, [eax + ecx*4]
mov ecx, esi
add eax, 0x48
cdq
push edx
push eax
call fcn.10005170
mov esi, eax
add esp, 8
test esi, esi
je 0x1002bc39
mov ecx, ebx
call fcn.10021800
mov ecx, dword [ebp - 0x2c4]
mov eax, 0x40
mov edx, dword [ebp - 0x288]
mov word [ebx + 8], ax
mov dword [ebx], esi
mov ebx, dword [ebp - 0x29c]
mov dword [esi], ebx
mov dword [esi + 0x3c], edi
mov eax, dword [ecx + 0xc]
mov dword [esi + 0x40], eax
mov dword [esi + 0x2c], edx
mov eax, dword [ebx + 8]
mov dword [esi + 0xc], eax
mov eax, dword [ebx + 0x1c]
mov dword [esi + 0x34], eax
mov eax, dword [ebx + 0x38]
mov dword [esi + 0x14], eax
mov eax, dword [ebx + 0x24]
mov dword [esi + 0x28], eax
mov eax, dword [ebx + 4]
mov dword [esi + 8], eax
mov eax, dword [ebx + 0x20]
mov dword [esi + 0x30], eax
mov eax, dword [ecx + 0x14]
mov dword [esi + 0x18], eax
mov eax, dword [ebx + 0xc8]
mov dword [esi + 0x10], eax
mov eax, dword [ebx + 0xc4]
mov dword [esi + 0x38], eax
lea eax, [edi*4 + 9]
add eax, edi
lea ecx, [esi + eax*8]
lea eax, [esi + 0x48]
cmp eax, ecx
je 0x1002e6ae
mov edx, dword [ebp - 0x290]
mov ebx, 0x80
nop
mov word [eax + 8], bx
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x1002e6a0
mov ecx, dword [ebp - 0x29c]
mov edi, dword [ebp - 0x2c4]
mov eax, dword [ecx + 0xb8]
jmp 0x1002e6e2
mov eax, dword [ebp - 0x288]
mov edi, dword [ebp - 0x2a0]
inc eax
mov ecx, dword [ebp - 0x28c]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
mov esi, dword [ebx]
inc eax
lea ebx, [esi + 0x20]
mov dword [ecx + 0xb8], eax
mov eax, dword [ecx + 0xb0]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x2a4]
mov dword [ebx], eax
mov eax, dword [ebp - 0x2dc]
mov dword [ebx + 4], eax
mov eax, dword [ecx + 0x5c]
mov dword [esi + 0x44], eax
mov dword [ecx + 0xb0], esi
mov dword [ecx + 0x5c], 0
mov dword [ecx + 8], ebx
mov eax, dword [esi + 0x3c]
mov dword [ecx + 0x1c], eax
movzx edx, word [esi + 0x40]
mov esi, dword [ebp - 0x29c]
lea eax, [eax + eax*4]
mov dword [ecx + 0x24], edx
lea eax, [eax + 5]
mov dword [ebp - 0x298], ebx
lea ecx, [ebx + eax*8]
mov dword [esi + 0x38], ecx
lea ecx, [ecx + edx*4]
mov eax, dword [edi]
mov dword [ebp - 0x28c], eax
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
mov dword [esi + 0x20], eax
mov dword [esi + 0xc8], ecx
mov eax, dword [edi + 0x10]
push eax
push 0
push ecx
mov dword [esi + 0xc4], eax
call fcn.100c1e30
mov edi, dword [ebp - 0x2a0]
add esp, 0xc
mov esi, dword [ebp - 0x290]
mov edx, ebx
mov ecx, dword [ebp - 0x28c]
xor eax, eax
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
mov eax, dword [ebp - 0x29c]
push 0x1000
mov edx, dword [eax + 0xb0]
mov eax, dword [edx + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
mov ecx, dword [ebp - 0x28c]
add eax, dword [ecx + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea edx, [eax + ecx*8]
mov ecx, edi
call fcn.10021e90
mov eax, dword [ebp - 0x288]
add esp, 4
mov ecx, dword [ebp - 0x28c]
inc eax
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
test dword [esi + 0x18], 0x1000000
mov eax, dword [ecx + ebx*4 + 8]
cdq
je 0x1002e81c
add dword [esi + 0x200], eax
adc dword [esi + 0x204], edx
mov eax, dword [ebp - 0x288]
mov edx, dword [ebp - 0x298]
inc eax
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
cmp dword [ecx + ebx*4 + 4], 0
je 0x1002e847
add dword [esi + 0x1f8], eax
mov eax, dword [ebp - 0x288]
adc dword [esi + 0x1fc], edx
inc eax
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
mov ebx, dword [ebp - 0x29c]
add dword [ebx + 0x90], eax
mov eax, ebx
mov ebx, dword [ebp - 0x2a4]
adc dword [eax + 0x94], edx
mov eax, dword [ebp - 0x288]
mov edx, dword [ebp - 0x298]
inc eax
jmp 0x10029dde
cmp dword [ecx + ebx*4 + 4], 0
je 0x1002e8b5
mov eax, dword [esi + 0x1f8]
or eax, dword [esi + 0x1fc]
jne 0x1002e804
mov eax, dword [esi + 0x200]
or eax, dword [esi + 0x204]
jne 0x1002e804
mov eax, dword [ecx + ebx*4 + 8]
mov edx, dword [ebp - 0x298]
dec eax
mov ebx, dword [ebp - 0x2a4]
inc eax
jmp 0x10029dde
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x29c]
mov eax, dword [eax + 0x90]
or eax, dword [edx + 0x94]
jmp 0x1002e886
mov eax, dword [ebp - 0x29c]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x1002e8fe
mov eax, dword [edx + 4]
test eax, eax
je 0x1002e8ef
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x1002e8e6
mov eax, dword [ecx + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea edi, [eax + ecx*8]
jmp 0x1002e90e
mov eax, dword [ecx + ebx*4 + 4]
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.100219b0
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.100219b0
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x1002e3e3
jl 0x1002e94a
cmp dword [edi], eax
jae 0x1002e3e3
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x1002e3e3
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
cmp dword [edx + eax*8 + 4], 0
jl 0x1002e9e2
jg 0x1002b6c9
cmp dword [edx + eax*8], 0
jbe 0x1002e9e2
mov eax, dword [ecx + ebx*4 + 8]
mov ebx, dword [ebp - 0x2a4]
dec eax
inc eax
jmp 0x10029dde
mov eax, dword [ecx + ebx*4 + 4]
mov esi, dword [ebp - 0x298]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + ebx*4 + 0xc]
cdq
add dword [esi + ecx*8], eax
mov eax, esi
adc dword [eax + ecx*8 + 4], edx
mov edx, esi
mov esi, dword [ebp - 0x290]
cmp dword [edx + ecx*8 + 4], 0
jg 0x1002e9dc
jl 0x1002e9c5
cmp dword [edx + ecx*8], 0
jae 0x1002e9dc
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ecx + ebx*4 + 8]
mov ebx, dword [ebp - 0x2a4]
dec eax
inc eax
jmp 0x10029dde
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x288]
mov ebx, dword [ebp - 0x2a4]
inc eax
jmp 0x10029dde
mov eax, dword [ecx + ebx*4 + 4]
mov edi, dword [ebp - 0x298]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + ebx*4 + 0xc]
cdq
add dword [edi + ecx*8], eax
mov eax, edi
adc dword [eax + ecx*8 + 4], edx
mov edx, edi
mov edi, dword [ebp - 0x2a0]
mov eax, dword [edx + ecx*8]
or eax, dword [edx + ecx*8 + 4]
jne 0x1002e9dc
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ecx + ebx*4 + 8]
mov ebx, dword [ebp - 0x2a4]
dec eax
inc eax
jmp 0x10029dde
mov eax, dword [ecx + ebx*4 + 8]
mov edx, dword [ebp - 0x298]
movzx esi, byte [ecx + ebx*4 + 3]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x29c]
mov edi, dword [eax + 0xc]
xor eax, eax
test esi, esi
je 0x1002ea6c
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x1002ea61
mov ecx, dword [ebp - 0x28c]
push 1
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x1d8], eax
mov eax, dword [ecx + ebx*4 + 0xc]
lea ecx, [ebp - 0x198]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x290]
mov dword [ebp - 0x1d4], eax
inc dword [eax + 0xc]
call fcn.10021ce0
add esp, 4
mov dword [ebp - 0x1c8], 0
lea eax, [ebp - 0x198]
mov byte [ebp - 0x1c4], 0
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x1cc], eax
lea eax, [ebp - 0x1dc]
push edi
push esi
push eax
mov eax, dword [ebp - 0x1d8]
mov eax, dword [eax + 0x10]
call eax
add esp, 0xc
cmp dword [ebp - 0x1c8], 0
je 0x1002eb36
lea eax, [ebp - 0x198]
push eax
call fcn.10027130
mov esi, dword [ebp - 0x290]
add esp, 4
push eax
mov eax, dword [ebp - 0x29c]
push 0x100f3d10
add eax, 0x2c
push esi
push eax
call fcn.100053c0
mov eax, dword [ebp - 0x1c8]
add esp, 0x10
mov dword [ebp - 0x294], eax
jmp 0x1002eb3c
mov esi, dword [ebp - 0x290]
cmp byte [ebp - 0x1c4], 0
je 0x1002eb6b
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + ebx*4 - 0x10]
test eax, eax
je 0x1002eb6b
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.10021d50
add esp, 8
lea ecx, [ebp - 0x198]
call fcn.10021800
jmp 0x1002bd4c
mov eax, dword [ecx + ebx*4 + 4]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov edx, dword [ecx + ebx*4 + 0x10]
mov ecx, esi
call fcn.100215d0
mov dword [ebp - 0x294], eax
test eax, eax
je 0x1002ebc7
push esi
call fcn.10027130
add esp, 4
push eax
mov eax, dword [ebp - 0x29c]
push 0x100f3d10
push dword [ebp - 0x290]
add eax, 0x2c
push eax
call fcn.100053c0
add esp, 0x10
movzx edx, byte [ebp - 0x2d4]
mov ecx, esi
call fcn.10021170
mov ecx, esi
call fcn.10021e60
mov esi, dword [ebp - 0x290]
test eax, eax
jne 0x1002fb57
jmp 0x1002bd52
mov edx, dword [ecx + ebx*4 + 4]
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xd4], 0
push eax
push dword [ecx + ebx*4 + 8]
mov ecx, esi
mov dword [ebp - 0xcc], 0xffffffff
mov dword [ebp - 0xd0], 0xffffffff
call fcn.10081420
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x294], ecx
cmp ecx, 5
jne 0x1002ec4e
mov dword [ebp - 0x294], 0
mov dword [ebp - 0xd4], 1
mov eax, dword [ebp - 0x28c]
xor esi, esi
mov ecx, dword [ebp - 0x298]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebp + esi*4 - 0xd4]
mov ecx, edi
cdq
push edx
push eax
call fcn.10021d50
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x1002ec66
mov edi, dword [ebp - 0x2a0]
mov esi, dword [ebp - 0x290]
jmp 0x1002bd52
mov esi, dword [ecx + ebx*4 + 0xc]
mov eax, dword [ebp - 0x290]
mov ecx, dword [ecx + ebx*4 + 4]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, eax
mov dword [ebp - 0x2ac], eax
call fcn.1001ee60
mov ecx, eax
mov dword [ebp - 0x2d8], eax
call fcn.100138a0
mov ecx, dword [ebp - 0x2d8]
mov edi, eax
cmp esi, 0xffffffff
cmove esi, edi
call fcn.100138b0
mov ecx, dword [ebp - 0x2d8]
test eax, eax
mov edx, 1
cmove esi, edi
call fcn.100134f0
cmp esi, 5
jne 0x1002ed14
mov ecx, eax
call fcn.10007a50
test eax, eax
je 0x1002ed96
mov ecx, dword [ebp - 0x2d8]
call fcn.100138e0
test eax, eax
je 0x1002ed96
cmp esi, edi
je 0x1002ed98
cmp edi, 5
je 0x1002ed2a
cmp esi, 5
jne 0x1002ed98
mov eax, dword [ebp - 0x290]
cmp byte [eax + 0x3e], 0
je 0x1002fb04
cmp dword [eax + 0x98], 1
jg 0x1002fb04
cmp edi, 5
jne 0x1002ed65
mov ecx, dword [ebp - 0x2d8]
call fcn.10013a20
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002ed96
mov edx, esi
jmp 0x1002ed6d
cmp edi, 4
jne 0x1002ed78
lea edx, [edi - 2]
mov ecx, dword [ebp - 0x2d8]
call fcn.10013770
mov ecx, dword [ebp - 0x2ac]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.100202a0
mov dword [ebp - 0x294], eax
test eax, eax
je 0x1002ed98
mov esi, edi
mov ecx, dword [ebp - 0x2d8]
mov edx, esi
call fcn.10013770
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x298]
mov ecx, dword [ecx + ebx*4 + 8]
lea ecx, [ecx + ecx*4]
lea edi, [edx + ecx*8]
mov ecx, 0xa02
mov word [edi + 8], cx
mov ecx, eax
mov dword [ebp - 0x2a0], edi
call fcn.100577f0
mov ecx, eax
mov dword [edi + 0x10], eax
call fcn.10007a50
movzx edx, byte [ebp - 0x2d4]
mov ecx, edi
mov dword [edi + 0xc], eax
mov byte [edi + 0xa], 1
call fcn.10021170
mov esi, dword [ebp - 0x290]
jmp 0x1002bd52
mov ecx, dword [ebp - 0x29c]
mov edx, esi
lea ecx, [ecx + 0x2c]
call fcn.1006e0a0
mov dword [ebp - 0x294], eax
jmp 0x1002bd58
mov ecx, dword [ecx + ebx*4 + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.10019150
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x294], eax
cmp eax, 0x65
jne 0x1002bd5e
mov eax, dword [ecx + ebx*4 + 8]
dec eax
mov dword [ebp - 0x288], eax
xor eax, eax
mov dword [ebp - 0x294], eax
jmp 0x1002bd5e
cmp dword [ecx + ebx*4 + 4], 0
jne 0x1002ee81
mov ecx, esi
call fcn.10026b10
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x28c]
inc eax
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
jmp 0x10029dde
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x298]
mov ebx, dword [ebp - 0x2a4]
or dword [eax + 0x58], 0x20
mov eax, dword [ebp - 0x288]
inc eax
jmp 0x10029dde
mov al, byte [ecx + ebx*4 + 0xc]
mov byte [ebp - 0x30c], al
test al, al
jne 0x1002eebe
test dword [esi + 0x18], 0x4000
jne case.default.0x10029e59
mov eax, dword [ecx + ebx*4 + 4]
mov ecx, dword [esi + 0x10]
add eax, eax
mov edx, dword [ebp - 0x28c]
push dword [ebp - 0x30c]
mov ecx, dword [ecx + eax*8 + 4]
mov edx, dword [edx + ebx*4 + 8]
call fcn.100200c0
add esp, 4
mov dword [ebp - 0x294], eax
cmp al, 6
jne 0x1002bd58
mov eax, dword [ebp - 0x28c]
push dword [eax + ebx*4 + 0x10]
mov eax, dword [ebp - 0x29c]
push str.database_table_is_locked:__s
add eax, 0x2c
push esi
push eax
call fcn.100053c0
add esp, 0x10
jmp 0x1002bd52
mov esi, dword [ecx + ebx*4 + 0x10]
mov edx, esi
mov ecx, dword [ebp - 0x290]
call fcn.1006fab0
mov dword [ebp - 0x294], eax
test esi, esi
je 0x1002d92f
mov edx, dword [esi + 8]
mov ecx, dword [ebp - 0x29c]
call fcn.10026b30
mov esi, dword [ebp - 0x290]
jmp 0x1002bd52
mov eax, dword [ebp - 0x29c]
mov edx, dword [ecx + ebx*4 + 4]
add eax, 0x2c
push eax
push dword [ecx + ebx*4 + 0x10]
mov ecx, esi
call fcn.1006f520
add esp, 8
mov dword [ebp - 0x294], eax
jmp 0x1002bd58
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx + 0x58]
and eax, 0xfffffffb
or eax, 8
mov dword [edx + 0x58], eax
push dword [ecx + ebx*4 + 0x10]
mov edx, dword [ecx + ebx*4 + 4]
mov ecx, esi
call fcn.1006f8d0
mov ecx, dword [ebp - 0x29c]
add esp, 4
mov dword [ebp - 0x294], eax
and dword [ecx + 0x58], 0xfffffff3
jmp 0x1002bd58
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x1a0], 0
mov esi, dword [eax + 8]
lea eax, [ebp - 0x1a0]
push eax
push esi
mov edi, dword [esi]
mov eax, dword [edi + 0x18]
call eax
mov ecx, dword [ebp - 0x29c]
add esp, 8
mov edx, esi
mov dword [ebp - 0x294], eax
call fcn.10026b30
mov eax, dword [ebp - 0x294]
test eax, eax
jne 0x1002d929
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x29c]
push 0
push 0xffffffffffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x28c]
push 0
mov edx, dword [eax + ebx*4 + 4]
call fcn.100298b0
add esp, 0xc
test eax, eax
je 0x1002f02c
mov ecx, dword [ebp - 0x1a0]
mov dword [eax + 0x24], ecx
jmp 0x1002a206
mov esi, dword [ebp - 0x290]
push dword [ebp - 0x1a0]
mov byte [esi + 0x40], 1
mov eax, dword [edi + 0x1c]
call eax
add esp, 4
jmp 0x1002a20c
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ecx + ebx*4 + 4]
mov esi, dword [ebp - 0x298]
add esi, 0x28
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x29c]
mov edi, dword [esi + edx*8]
lea esi, [esi + edx*8]
movd xmm0, esi
mov dword [ebp - 0x2cc], esi
mov eax, dword [eax + 0x38]
pshufd xmm3, xmm0, 0
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x2b8], eax
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x2e4], eax
mov eax, dword [eax]
mov dword [ebp - 0x2bc], eax
mov eax, dword [eax]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x298]
mov eax, dword [eax + edx*8]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x29c]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x2ac], edx
test edi, edi
jle 0x1002f1cb
cmp edi, 0x10
jb 0x1002f1b5
cmp dword [0x10105024], 2
jl 0x1002f1b5
movaps xmm2, xmmword [0x100fd7d0]
mov eax, edi
and eax, 0x8000000f
jns 0x1002f0f0
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm1, xmmword [str.____]
mov esi, edi
sub esi, eax
add edx, 0x20
mov dword [ebp - 0x2c4], esi
mov esi, 8
mov ebx, dword [ebp - 0x2c4]
nop
movd xmm0, ecx
lea eax, [esi - 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x40]
paddd xmm0, xmm2
add ecx, 0x10
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x60], xmm0
movd xmm0, eax
lea eax, [esi + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x50], xmm0
movd xmm0, esi
add esi, 0x10
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x40], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x30], xmm0
cmp ecx, ebx
jl 0x1002f110
mov ebx, dword [ebp - 0x2d0]
mov edx, dword [ebp - 0x2ac]
cmp ecx, edi
jge 0x1002f1cb
mov esi, dword [ebp - 0x2cc]
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
nop
mov dword [edx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, edi
jl 0x1002f1c0
mov ecx, dword [ebp - 0x29c]
mov esi, dword [ebp - 0x2e4]
push edx
push edi
mov eax, dword [ecx + 0x58]
mov edi, dword [ebp - 0x2d8]
and eax, 0xfffffff7
or eax, 4
mov dword [ecx + 0x58], eax
mov eax, dword [ebp - 0x28c]
push dword [eax + ebx*4 + 0x10]
mov eax, dword [edi + 0x20]
push dword [ebp - 0x2b4]
push esi
call eax
mov edx, dword [ebp - 0x2bc]
add esp, 0x14
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x29c]
mov ecx, eax
and dword [eax + 0x58], 0xfffffff3
call fcn.10026b30
cmp dword [ebp - 0x294], 0
jne 0x1002f24a
mov eax, dword [edi + 0x28]
push esi
call eax
mov ecx, dword [ebp - 0x28c]
add esp, 4
test eax, eax
je 0x1002f250
mov eax, dword [ecx + ebx*4 + 8]
dec eax
mov dword [ebp - 0x288], eax
jmp 0x1002f250
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x2b8]
mov edi, dword [ebp - 0x2a0]
mov byte [eax + 0x19], 0
mov esi, dword [ebp - 0x290]
mov eax, dword [ebp - 0x294]
jmp 0x1002bd5e
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ecx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x28c]
mov ecx, dword [ebp - 0x298]
cmp byte [edx + 0x19], 0
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
je 0x1002f2a9
mov ecx, edi
call fcn.10021d00
jmp 0x1002a20c
mov eax, dword [edx + 0x24]
xorps xmm0, xmm0
mov esi, dword [eax]
mov ecx, dword [esi]
movlpd qword [ebp - 0x280], xmm0
movlpd qword [ebp - 0x278], xmm0
movlpd qword [ebp - 0x270], xmm0
mov dword [ebp - 0x284], edi
mov ax, word [edi + 8]
and ax, word [ebp - 0x308]
or ax, 1
mov word [edi + 8], ax
mov eax, dword [ebp - 0x28c]
push dword [eax + ebx*4 + 8]
lea eax, [ebp - 0x284]
push eax
push dword [edx + 0x24]
mov eax, dword [ecx + 0x2c]
call eax
mov ecx, dword [ebp - 0x29c]
add esp, 0xc
mov edx, esi
mov dword [ebp - 0x294], eax
call fcn.10026b30
mov eax, dword [ebp - 0x270]
test eax, eax
mov ecx, dword [ebp - 0x294]
movzx edx, byte [ebp - 0x2d4]
cmovne ecx, eax
mov dword [ebp - 0x294], ecx
mov ecx, edi
call fcn.10021170
mov ecx, edi
call fcn.10021e60
mov esi, dword [ebp - 0x290]
jmp 0x1002ac6c
mov edx, dword [ebp - 0x29c]
mov ecx, dword [ecx + ebx*4 + 4]
mov eax, dword [edx + 0x38]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 0x19], 0
jne 0x1002bd4c
mov eax, dword [edi + 0x24]
mov esi, dword [eax]
mov eax, dword [edx + 0x58]
and eax, 0xfffffff7
or eax, 4
mov ecx, dword [esi]
mov dword [edx + 0x58], eax
push dword [edi + 0x24]
mov dword [ebp - 0x2ac], ecx
mov eax, dword [ecx + 0x24]
call eax
mov dword [ebp - 0x294], eax
add esp, 4
mov eax, dword [ebp - 0x29c]
mov edx, esi
mov ecx, eax
and dword [eax + 0x58], 0xfffffff3
call fcn.10026b30
cmp dword [ebp - 0x294], 0
jne 0x1002f3bf
mov eax, dword [ebp - 0x2ac]
push dword [edi + 0x24]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x1002f3d0
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + ebx*4 + 8]
dec eax
mov dword [ebp - 0x288], eax
mov esi, dword [ebp - 0x290]
cmp dword [esi + 0xf0], 0
jne 0x1002fbba
mov ecx, dword [esi + 0x124]
test ecx, ecx
je 0x1002bd4c
mov edi, dword [ebp - 0x2f4]
cmp edi, dword [ebp - 0x2ec]
jb 0x1002bd4c
mov ebx, dword [esi + 0x12c]
xor edx, edx
mov eax, edi
div ebx
push dword [esi + 0x128]
sub ebx, edx
add ebx, edi
mov dword [ebp - 0x2ec], ebx
call ecx
mov edx, dword [ebp - 0x288]
add esp, 4
test eax, eax
jne 0x1002fb76
mov edi, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x294]
mov ecx, dword [ebp - 0x28c]
jmp 0x1002bd64
mov eax, dword [ecx + ebx*4 + 0x10]
mov edx, 1
mov esi, dword [eax + 8]
mov eax, dword [ecx + ebx*4 + 4]
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.10021170
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x1002d929
mov eax, dword [esi]
push dword [edi + 0x10]
push esi
mov eax, dword [eax + 0x4c]
call eax
add esp, 8
mov dword [ebp - 0x294], eax
mov edx, esi
mov esi, dword [ebp - 0x29c]
mov ecx, esi
call fcn.10026b30
and dword [esi + 0x58], 0xffffffdf
jmp 0x1002bd46
mov eax, dword [ecx + ebx*4 + 0x10]
mov edx, dword [ecx + ebx*4 + 8]
mov edi, dword [eax + 8]
mov eax, dword [edi]
mov dword [ebp - 0x2ac], eax
cmp dword [eax + 0x34], 0
je 0x1002c838
mov al, byte [esi + 0x44]
mov byte [ebp - 0x2bd], al
mov eax, dword [ebp - 0x29c]
mov esi, dword [eax + 0xc]
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test edx, edx
jle 0x1002f4fb
nop dword [eax + eax]
mov dword [esi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x1002f4f0
mov eax, dword [ebp - 0x28c]
mov ecx, dword [ebp - 0x290]
mov al, byte [eax + ebx*4 + 3]
mov byte [ecx + 0x44], al
lea eax, [ebp - 0x160]
push eax
mov eax, dword [ebp - 0x2ac]
push esi
push edx
push edi
mov eax, dword [eax + 0x34]
call eax
mov esi, dword [ebp - 0x290]
add esp, 0x10
mov ecx, dword [ebp - 0x29c]
mov edx, edi
mov dword [ebp - 0x294], eax
mov al, byte [ebp - 0x2bd]
mov byte [esi + 0x44], al
call fcn.10026b30
mov eax, dword [ebp - 0x294]
mov ecx, dword [ebp - 0x28c]
test eax, eax
jne 0x1002f594
cmp dword [ecx + ebx*4 + 4], eax
je 0x1002f60f
mov edx, dword [ebp - 0x15c]
mov edi, dword [ebp - 0x160]
mov dword [esi + 0x24], edx
mov dword [ebp - 0x2dc], edx
mov edx, dword [ebp - 0x29c]
mov dword [esi + 0x20], edi
mov dword [ebp - 0x2a4], edi
mov edi, dword [ebp - 0x2a0]
inc dword [edx + 0x5c]
jmp 0x1002bd5e
mov edx, dword [ebp - 0x2c4]
mov esi, dword [ebp - 0x2dc]
mov dword [ebp - 0x2a4], edx
mov dword [ebp - 0x2dc], esi
cmp al, 0x13
jne 0x1002f609
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x2a4], edx
mov dword [ebp - 0x2dc], esi
cmp byte [eax + 0x10], 0
je 0x1002f603
mov cl, byte [ecx + ebx*4 + 3]
mov dword [ebp - 0x2dc], esi
mov esi, dword [ebp - 0x290]
cmp cl, 4
jne 0x1002fb86
mov eax, dword [ebp - 0x288]
mov ebx, edx
mov edi, dword [ebp - 0x2a0]
inc eax
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x2a4], ebx
jmp 0x10029dd2
mov eax, dword [ebp - 0x294]
mov esi, dword [ebp - 0x290]
mov edx, dword [ebp - 0x29c]
mov edi, dword [ebp - 0x2a0]
inc dword [edx + 0x5c]
jmp 0x1002bd5e
mov eax, dword [ecx + ebx*4 + 4]
mov ecx, dword [esi + 0x10]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.100174e0
mov dword [edi], eax
mov dword [edi + 4], 0
jmp 0x1002a212
mov ecx, dword [ecx + ebx*4 + 4]
xor edx, edx
mov eax, dword [esi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
mov eax, dword [ebp - 0x28c]
cmp dword [eax + ebx*4 + 0xc], edx
je 0x1002f676
mov ecx, esi
call fcn.100174e0
mov edx, eax
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + ebx*4 + 0xc]
cmp edx, eax
cmovb edx, eax
mov ecx, esi
call fcn.10018150
mov esi, dword [ebp - 0x290]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x1002a212
mov eax, dword [ecx + ebx*4 + 8]
test eax, eax
je 0x1002f69d
dec eax
mov dword [ebp - 0x288], eax
cmp dword [esi + 0xac], 0
je case.default.0x10029e59
mov eax, dword [ebp - 0x29c]
test dword [eax + 0x58], 0x800
jne case.default.0x10029e59
mov edx, dword [ecx + ebx*4 + 0x10]
test edx, edx
jne 0x1002f6d3
mov edx, dword [eax + 0xa8]
test edx, edx
je case.default.0x10029e59
mov ecx, eax
call fcn.10029490
mov esi, eax
mov eax, dword [ebp - 0x290]
push esi
push dword [eax + 0xb0]
mov ecx, dword [eax + 0xac]
call ecx
add esp, 8
mov edx, esi
mov esi, dword [ebp - 0x290]
mov ecx, esi
call fcn.10004f30
jmp 0x1002bd52
mov esi, eax
jmp 0x1002bd4c
mov edi, dword [ebp - 0x2a0]
mov esi, dword [ebp - 0x290]
jmp 0x1002bd5e
mov edi, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x28c]
mov dword [edi + 0x50], ecx
mov al, byte [edx + ebx*4 + 8]
mov byte [edi + 0x56], al
mov eax, dword [ebp - 0x29c]
mov edi, dword [ebp - 0x288]
mov dword [eax + 0x4c], edi
test ecx, ecx
je 0x1002f7d9
mov al, byte [edx + ebx*4 + 3]
test al, al
je 0x1002f787
movzx eax, al
mov eax, dword [eax*4 + 0x100f8428]
test eax, eax
je 0x1002f789
mov ecx, dword [edx + ebx*4 + 0x10]
test ecx, ecx
je 0x1002f789
push ecx
push eax
mov eax, dword [ebp - 0x29c]
push str._s_constraint_failed:__s
add eax, 0x2c
push esi
push eax
call fcn.100053c0
add esp, 0x14
jmp 0x1002f7b2
xor eax, eax
mov ecx, dword [ebp - 0x29c]
mov edx, dword [edx + ebx*4 + 0x10]
add ecx, 0x2c
test edx, edx
je 0x1002f7a2
push edx
push 0x100f3d10
jmp 0x1002f7a8
push eax
push str._s_constraint_failed
push esi
push ecx
call fcn.100053c0
add esp, 0x10
mov eax, dword [ebp - 0x29c]
push dword [eax + 0x2c]
push dword [eax + 0xa8]
mov eax, dword [ebp - 0x28c]
push edi
push str.abort_at__d_in___s_:__s
push dword [eax + ebx*4 + 4]
call fcn.100071a0
add esp, 0x14
mov ebx, dword [ebp - 0x29c]
mov ecx, ebx
call fcn.100249e0
cmp eax, 5
jne 0x1002f7f5
mov esi, eax
mov dword [ebx + 0x50], esi
jmp 0x1002bcc6
cmp dword [ebx + 0x50], 0
mov esi, 0x65
mov eax, 1
cmovne esi, eax
jmp 0x1002bcc6
mov eax, 9
jmp 0x1002bc60
mov eax, dword [ecx + 0x48]
mov edx, dword [ebp - 0x298]
add eax, 2
mov edi, dword [ebp - 0x29c]
or eax, 1
mov dword [ecx + 0x48], eax
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov dword [edi + 0x14], esi
xor edi, edi
cmp dword [ecx + ebx*4 + 8], edi
jle 0x1002f899
nop dword [eax + eax]
mov eax, 0x1000
test word [esi + 8], ax
je 0x1002f870
mov ecx, esi
call fcn.100213b0
test eax, eax
jne 0x1002bc39
mov ecx, dword [ebp - 0x28c]
mov ax, word [esi + 8]
mov edx, 0x202
and ax, dx
cmp ax, 2
jne 0x1002f88f
mov ecx, esi
call fcn.100214b0
mov ecx, dword [ebp - 0x28c]
inc edi
add esi, 0x28
cmp edi, dword [ecx + ebx*4 + 8]
jl 0x1002f850
mov esi, dword [ebp - 0x290]
cmp byte [esi + 0x40], 0
jne 0x1002bc3f
mov ecx, dword [ebp - 0x29c]
mov esi, 0x64
mov eax, dword [ebp - 0x288]
inc eax
mov dword [ecx + 0x4c], eax
jmp 0x1002bcc6
mov eax, 0x14
mov dword [ebp - 0x294], eax
jmp 0x1002d491
push 0x100f7b6c
push 0x116df
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.100071a0
mov esi, dword [ebp - 0x290]
add esp, 0x10
inc dword [ebp - 0x288]
mov eax, 0xb
jmp 0x1002bc60
push 0x100f7b6c
push 0x11733
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.100071a0
mov esi, dword [ebp - 0x290]
add esp, 0x10
inc dword [ebp - 0x288]
mov eax, 0xb
jmp 0x1002bc60
push str.cannot_open_savepoint___SQL_statements_in_progress
mov eax, dword [ebp - 0x29c]
add eax, 0x2c
push esi
push eax
call fcn.100053c0
mov edx, dword [ebp - 0x288]
mov eax, 5
add esp, 0xc
mov dword [ebp - 0x294], eax
inc edx
jmp 0x1002bc6c
push str.cannot_release_savepoint___SQL_statements_in_progress
mov esi, edx
jmp 0x1002f936
mov ecx, dword [ebp - 0x29c]
mov eax, dword [ebp - 0x288]
mov dword [ecx + 0x4c], eax
mov byte [esi + 0x3e], 0
mov esi, 5
mov dword [ecx + 0x50], esi
jmp 0x1002bcc6
test edx, edx
je 0x1002f9c0
mov edx, 0x204
mov ecx, esi
call fcn.10080630
mov edi, dword [ebp - 0x29c]
mov byte [esi + 0x3e], 1
mov ecx, esi
call fcn.1007fda0
cmp dword [edi + 0x50], 0
mov esi, 0x65
mov eax, 1
cmovne esi, eax
jmp 0x1002bcc6
mov edi, dword [ebp - 0x29c]
mov edx, 1
mov ecx, edi
call fcn.10024970
mov esi, eax
test esi, esi
jne 0x1002bcc6
mov esi, dword [ebp - 0x290]
mov ecx, edi
mov ebx, dword [ebp - 0x2ac]
mov byte [esi + 0x3e], bl
call fcn.100249e0
cmp eax, 5
jne 0x1002f9a3
mov eax, dword [ebp - 0x288]
mov dword [edi + 0x4c], eax
mov al, 1
sub al, bl
mov byte [esi + 0x3e], al
mov esi, 5
mov dword [edi + 0x50], esi
jmp 0x1002bcc6
mov eax, 8
mov dword [ebp - 0x294], eax
jmp 0x1002d491
mov ecx, dword [ebp - 0x29c]
mov esi, 5
mov eax, dword [ebp - 0x288]
mov dword [ecx + 0x4c], eax
mov dword [ecx + 0x50], esi
jmp 0x1002bcc6
push 0x100f7b6c
push 0x11a80
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.100071a0
add esp, 0x10
mov eax, 0xb
jmp 0x1002d485
mov edx, dword [ebp - 0x288]
mov eax, 0x204
mov dword [ebp - 0x294], eax
inc edx
jmp 0x1002bc6c
mov esi, edi
jmp 0x1002d491
cmp eax, 0xc0a
je 0x1002bc66
mov ecx, eax
call fcn.10080780
push eax
mov eax, dword [ebp - 0x29c]
push 0x100f3d10
add eax, 0x2c
push esi
push eax
call fcn.100053c0
mov eax, dword [ebp - 0x294]
add esp, 0x10
jmp 0x1002bc66
mov edx, dword [ebp - 0x29c]
mov eax, 6
mov dword [ebp - 0x294], eax
mov byte [edx + 0x56], 2
mov edx, dword [ebp - 0x288]
inc edx
jmp 0x1002bc6c
push str.too_many_levels_of_trigger_recursion
lea eax, [ecx + 0x2c]
mov dword [ebp - 0x294], 1
push esi
push eax
call fcn.100053c0
add esp, 0xc
mov eax, 1
inc dword [ebp - 0x288]
jmp 0x1002bc66
cmp esi, 5
mov dword [ebp - 0x294], 1
mov esi, dword [ebp - 0x290]
mov ecx, str.out_of
mov eax, str.into
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0x29c]
push str.cannot_change__s_wal_mode_from_within_a_transaction
add eax, 0x2c
push esi
push eax
call fcn.100053c0
add esp, 0x10
mov eax, 1
inc dword [ebp - 0x288]
jmp 0x1002bc66
mov esi, eax
jmp 0x1002fb57
mov esi, dword [ebp - 0x290]
mov eax, dword [ebp - 0x29c]
push str.string_or_blob_too_big
add eax, 0x2c
push esi
push eax
call fcn.100053c0
mov eax, 0x12
jmp 0x1002bc5d
mov eax, 9
mov dword [ebp - 0x294], eax
jmp 0x1002bc6c
cmp cl, 5
movzx eax, cl
mov ecx, 2
mov dword [ebp - 0x2a4], edx
cmove eax, ecx
mov ecx, dword [ebp - 0x29c]
inc dword [ebp - 0x288]
mov edx, dword [ebp - 0x288]
mov byte [ecx + 0x56], al
mov eax, dword [ebp - 0x294]
jmp 0x1002bc72
mov edi, dword [ebp - 0x29c]
mov ecx, 9
mov dword [ebp - 0x294], 9
mov dword [edi + 0x50], 9
call fcn.10080780
push eax
push 0x100f3d10
mov eax, edi
add eax, 0x2c
push esi
push eax
call fcn.100053c0
mov edx, dword [ebp - 0x288]
add esp, 0x10
mov eax, 9
mov ecx, edi
jmp 0x1002bc72
mov esi, eax
jmp 0x1002bc3f