95fd48:	83 c6 0a             	add    $0xa,%esi
95fd4b:	3b 75 84             	cmp    -0x7c(%ebp),%esi
95fd4e:	7f 03                	jg     0x95fd53
95fd50:	8b 75 84             	mov    -0x7c(%ebp),%esi
95fd53:	8b 8b 90 04 00 00    	mov    0x490(%ebx),%ecx
95fd59:	8b 83 8c 04 00 00    	mov    0x48c(%ebx),%eax
95fd5f:	8d 04 48             	lea    (%eax,%ecx,2),%eax
95fd62:	03 c6                	add    %esi,%eax
95fd64:	89 83 9c 04 00 00    	mov    %eax,0x49c(%ebx)
95fd6a:	39 bb c4 02 00 00    	cmp    %edi,0x2c4(%ebx)
95fd70:	74 07                	je     0x95fd79
95fd72:	83 83 9c 04 00 00 08 	addl   $0x8,0x49c(%ebx)
95fd79:	8d 45 94             	lea    -0x6c(%ebp),%eax
95fd7c:	89 7d 94             	mov    %edi,-0x6c(%ebp)
95fd7f:	50                   	push   %eax
95fd80:	ff 73 20             	push   0x20(%ebx)
95fd83:	89 7d 98             	mov    %edi,-0x68(%ebp)
95fd86:	89 7d 9c             	mov    %edi,-0x64(%ebp)
95fd89:	89 7d a0             	mov    %edi,-0x60(%ebp)
95fd8c:	ff 15 54 40 d8 00    	call   *0xd84054
95fd92:	8d 45 94             	lea    -0x6c(%ebp),%eax
95fd95:	50                   	push   %eax
95fd96:	ff 15 30 3e d8 00    	call   *0xd83e30
95fd9c:	85 c0                	test   %eax,%eax
95fd9e:	0f 85 65 06 00 00    	jne    0x960409
95fda4:	39 bb c4 02 00 00    	cmp    %edi,0x2c4(%ebx)
95fdaa:	0f 84 89 00 00 00    	je     0x95fe39
95fdb0:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
95fdb6:	50                   	push   %eax
95fdb7:	e8 a0 e7 aa ff       	call   0x40e55c
95fdbc:	8b b5 60 ff ff ff    	mov    -0xa0(%ebp),%esi
95fdc2:	8b 55 9c             	mov    -0x64(%ebp),%edx
95fdc5:	83 c6 08             	add    $0x8,%esi
95fdc8:	2b 55 80             	sub    -0x80(%ebp),%edx
95fdcb:	8b bd 64 ff ff ff    	mov    -0x9c(%ebp),%edi
95fdd1:	8b 4d 98             	mov    -0x68(%ebp),%ecx
95fdd4:	83 c7 08             	add    $0x8,%edi
95fdd7:	83 c1 04             	add    $0x4,%ecx
95fdda:	89 b5 60 ff ff ff    	mov    %esi,-0xa0(%ebp)
95fde0:	8d 04 32             	lea    (%edx,%esi,1),%eax
95fde3:	89 bd 64 ff ff ff    	mov    %edi,-0x9c(%ebp)
95fde9:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
95fdef:	8d b5 3c ff ff ff    	lea    -0xc4(%ebp),%esi
95fdf5:	89 95 3c ff ff ff    	mov    %edx,-0xc4(%ebp)
95fdfb:	8d 04 39             	lea    (%ecx,%edi,1),%eax
95fdfe:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%ebp)
95fe04:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
95fe0a:	8d bb ac 04 00 00    	lea    0x4ac(%ebx),%edi
95fe10:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95fe11:	8d 45 94             	lea    -0x6c(%ebp),%eax
95fe14:	6a fc                	push   $0xfffffffc
95fe16:	6a fc                	push   $0xfffffffc
95fe18:	50                   	push   %eax
95fe19:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95fe1a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95fe1b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95fe1c:	ff 15 ec 3d d8 00    	call   *0xd83dec
95fe22:	8b 83 ac 04 00 00    	mov    0x4ac(%ebx),%eax
95fe28:	2b 83 b4 04 00 00    	sub    0x4b4(%ebx),%eax
95fe2e:	01 45 9c             	add    %eax,-0x64(%ebp)
95fe31:	33 ff                	xor    %edi,%edi
95fe33:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
95fe39:	8b 45 a0             	mov    -0x60(%ebp),%eax
95fe3c:	03 45 98             	add    -0x68(%ebp),%eax
95fe3f:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
95fe42:	99                   	cltd
95fe43:	2b c2                	sub    %edx,%eax
95fe45:	89 bd 74 ff ff ff    	mov    %edi,-0x8c(%ebp)
95fe4b:	8b 55 9c             	mov    -0x64(%ebp),%edx
95fe4e:	8b f2                	mov    %edx,%esi
95fe50:	2b b3 90 04 00 00    	sub    0x490(%ebx),%esi
95fe56:	d1 f8                	sar    $1,%eax
95fe58:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
95fe5e:	8b 83 90 04 00 00    	mov    0x490(%ebx),%eax
95fe64:	03 c1                	add    %ecx,%eax
95fe66:	89 bd 6c ff ff ff    	mov    %edi,-0x94(%ebp)
95fe6c:	89 45 8c             	mov    %eax,-0x74(%ebp)
95fe6f:	8d 04 11             	lea    (%ecx,%edx,1),%eax
95fe72:	99                   	cltd
95fe73:	8b cb                	mov    %ebx,%ecx
95fe75:	2b c2                	sub    %edx,%eax
95fe77:	89 bd 70 ff ff ff    	mov    %edi,-0x90(%ebp)
95fe7d:	d1 f8                	sar    $1,%eax
95fe7f:	89 bd 50 ff ff ff    	mov    %edi,-0xb0(%ebp)
95fe85:	89 bd 64 ff ff ff    	mov    %edi,-0x9c(%ebp)
95fe8b:	89 bd 68 ff ff ff    	mov    %edi,-0x98(%ebp)
95fe91:	89 bd 7c ff ff ff    	mov    %edi,-0x84(%ebp)
95fe97:	89 b5 78 ff ff ff    	mov    %esi,-0x88(%ebp)
95fe9d:	89 45 90             	mov    %eax,-0x70(%ebp)
95fea0:	e8 7a e2 aa ff       	call   0x40e11f
95fea5:	85 c0                	test   %eax,%eax
95fea7:	0f 84 f9 00 00 00    	je     0x95ffa6
95fead:	8b 55 a0             	mov    -0x60(%ebp),%edx
95feb0:	8b ca                	mov    %edx,%ecx
95feb2:	8b 45 98             	mov    -0x68(%ebp),%eax
95feb5:	2b c8                	sub    %eax,%ecx
95feb7:	39 4d 84             	cmp    %ecx,-0x7c(%ebp)
95feba:	7d 21                	jge    0x95fedd
95febc:	8b 45 84             	mov    -0x7c(%ebp),%eax
95febf:	8b 8d 54 ff ff ff    	mov    -0xac(%ebp),%ecx
95fec5:	99                   	cltd
95fec6:	2b c2                	sub    %edx,%eax
95fec8:	8b 55 a0             	mov    -0x60(%ebp),%edx
95fecb:	d1 f8                	sar    $1,%eax
95fecd:	2b c8                	sub    %eax,%ecx
95fecf:	89 8b f4 03 00 00    	mov    %ecx,0x3f4(%ebx)
95fed5:	8b 8b 90 04 00 00    	mov    0x490(%ebx),%ecx
95fedb:	eb 0e                	jmp    0x95feeb
95fedd:	8b 8b 90 04 00 00    	mov    0x490(%ebx),%ecx
95fee3:	03 c1                	add    %ecx,%eax
95fee5:	89 83 f4 03 00 00    	mov    %eax,0x3f4(%ebx)
95feeb:	39 bb e8 03 00 00    	cmp    %edi,0x3e8(%ebx)
95fef1:	75 11                	jne    0x95ff04
95fef3:	8b 83 f4 03 00 00    	mov    0x3f4(%ebx),%eax
95fef9:	03 45 84             	add    -0x7c(%ebp),%eax
95fefc:	89 83 fc 03 00 00    	mov    %eax,0x3fc(%ebx)
95ff02:	eb 08                	jmp    0x95ff0c
95ff04:	2b d1                	sub    %ecx,%edx
95ff06:	89 93 fc 03 00 00    	mov    %edx,0x3fc(%ebx)
95ff0c:	8b 83 ec 03 00 00    	mov    0x3ec(%ebx),%eax
95ff12:	83 e8 01             	sub    $0x1,%eax
95ff15:	74 72                	je     0x95ff89
95ff17:	83 e8 01             	sub    $0x1,%eax
95ff1a:	74 43                	je     0x95ff5f
95ff1c:	83 e8 01             	sub    $0x1,%eax
95ff1f:	0f 85 81 00 00 00    	jne    0x95ffa6
95ff25:	8b 45 80             	mov    -0x80(%ebp),%eax
95ff28:	33 c9                	xor    %ecx,%ecx
95ff2a:	99                   	cltd
95ff2b:	41                   	inc    %ecx
95ff2c:	2b c2                	sub    %edx,%eax
95ff2e:	89 8d 50 ff ff ff    	mov    %ecx,-0xb0(%ebp)
95ff34:	d1 f8                	sar    $1,%eax
95ff36:	33 d2                	xor    %edx,%edx
95ff38:	f7 d8                	neg    %eax
95ff3a:	01 45 90             	add    %eax,-0x70(%ebp)
95ff3d:	39 8b 5c 04 00 00    	cmp    %ecx,0x45c(%ebx)
95ff43:	0f 94 c2             	sete   %dl
95ff46:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
95ff4c:	33 d2                	xor    %edx,%edx
95ff4e:	39 8b 24 04 00 00    	cmp    %ecx,0x424(%ebx)
95ff54:	0f 94 c2             	sete   %dl
95ff57:	89 95 70 ff ff ff    	mov    %edx,-0x90(%ebp)
95ff5d:	eb 47                	jmp    0x95ffa6
95ff5f:	8b 45 80             	mov    -0x80(%ebp),%eax
95ff62:	33 d2                	xor    %edx,%edx
95ff64:	2b f0                	sub    %eax,%esi
95ff66:	03 c6                	add    %esi,%eax
95ff68:	89 b3 f0 03 00 00    	mov    %esi,0x3f0(%ebx)
95ff6e:	2b b3 94 04 00 00    	sub    0x494(%ebx),%esi
95ff74:	42                   	inc    %edx
95ff75:	89 b5 78 ff ff ff    	mov    %esi,-0x88(%ebp)
95ff7b:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
95ff81:	89 95 70 ff ff ff    	mov    %edx,-0x90(%ebp)
95ff87:	eb 17                	jmp    0x95ffa0
95ff89:	8b 45 8c             	mov    -0x74(%ebp),%eax
95ff8c:	8b 8b 94 04 00 00    	mov    0x494(%ebx),%ecx
95ff92:	89 83 f0 03 00 00    	mov    %eax,0x3f0(%ebx)
95ff98:	03 45 80             	add    -0x80(%ebp),%eax
95ff9b:	03 c8                	add    %eax,%ecx
95ff9d:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
95ffa0:	89 83 f8 03 00 00    	mov    %eax,0x3f8(%ebx)
95ffa6:	8d 8b 4c 04 00 00    	lea    0x44c(%ebx),%ecx
95ffac:	89 7d 88             	mov    %edi,-0x78(%ebp)
95ffaf:	8b 01                	mov    (%ecx),%eax
95ffb1:	39 78 f4             	cmp    %edi,-0xc(%eax)
95ffb4:	0f 84 4c 01 00 00    	je     0x960106
95ffba:	51                   	push   %ecx
95ffbb:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
95ffc1:	50                   	push   %eax
95ffc2:	8d 8d 28 ff ff ff    	lea    -0xd8(%ebp),%ecx
95ffc8:	e8 c3 29 ab ff       	call   0x412990
95ffcd:	8b 8b 94 04 00 00    	mov    0x494(%ebx),%ecx
95ffd3:	8b 00                	mov    (%eax),%eax
95ffd5:	8d 14 48             	lea    (%eax,%ecx,2),%edx
95ffd8:	8b 8b c4 02 00 00    	mov    0x2c4(%ebx),%ecx
95ffde:	89 55 88             	mov    %edx,-0x78(%ebp)
95ffe1:	85 c9                	test   %ecx,%ecx
95ffe3:	74 06                	je     0x95ffeb
95ffe5:	83 c2 14             	add    $0x14,%edx
95ffe8:	89 55 88             	mov    %edx,-0x78(%ebp)
95ffeb:	39 bb 58 04 00 00    	cmp    %edi,0x458(%ebx)
95fff1:	74 16                	je     0x960009
95fff3:	39 bb 80 04 00 00    	cmp    %edi,0x480(%ebx)
95fff9:	74 0e                	je     0x960009
95fffb:	39 bb 84 04 00 00    	cmp    %edi,0x484(%ebx)
960001:	74 06                	je     0x960009
960003:	83 c2 0a             	add    $0xa,%edx
960006:	89 55 88             	mov    %edx,-0x78(%ebp)
960009:	8b 45 98             	mov    -0x68(%ebp),%eax
96000c:	89 83 64 04 00 00    	mov    %eax,0x464(%ebx)
960012:	8b 45 a0             	mov    -0x60(%ebp),%eax
960015:	89 83 6c 04 00 00    	mov    %eax,0x46c(%ebx)
96001b:	85 c9                	test   %ecx,%ecx
96001d:	74 13                	je     0x960032
96001f:	6a fb                	push   $0xfffffffb
960021:	57                   	push   %edi
960022:	8d 83 60 04 00 00    	lea    0x460(%ebx),%eax
960028:	50                   	push   %eax
960029:	ff 15 ec 3d d8 00    	call   *0xd83dec
96002f:	8b 55 88             	mov    -0x78(%ebp),%edx
960032:	8b 83 5c 04 00 00    	mov    0x45c(%ebx),%eax
960038:	83 e8 01             	sub    $0x1,%eax
96003b:	74 79                	je     0x9600b6
96003d:	83 e8 01             	sub    $0x1,%eax
960040:	74 34                	je     0x960076
960042:	83 e8 01             	sub    $0x1,%eax
960045:	0f 85 be 03 00 00    	jne    0x960409
96004b:	8b c2                	mov    %edx,%eax
96004d:	33 f6                	xor    %esi,%esi
96004f:	99                   	cltd
960050:	46                   	inc    %esi
960051:	2b c2                	sub    %edx,%eax
960053:	89 b5 64 ff ff ff    	mov    %esi,-0x9c(%ebp)
960059:	d1 f8                	sar    $1,%eax
96005b:	33 d2                	xor    %edx,%edx
96005d:	f7 d8                	neg    %eax
96005f:	01 45 90             	add    %eax,-0x70(%ebp)
960062:	39 b3 24 04 00 00    	cmp    %esi,0x424(%ebx)
960068:	0f 94 c2             	sete   %dl
96006b:	89 95 6c ff ff ff    	mov    %edx,-0x94(%ebp)
960071:	e9 90 00 00 00       	jmp    0x960106
960076:	8b c6                	mov    %esi,%eax
960078:	2b c2                	sub    %edx,%eax
96007a:	89 83 60 04 00 00    	mov    %eax,0x460(%ebx)
960080:	8b 45 9c             	mov    -0x64(%ebp),%eax
960083:	2b 83 90 04 00 00    	sub    0x490(%ebx),%eax
960089:	3b f0                	cmp    %eax,%esi
96008b:	75 08                	jne    0x960095
96008d:	2b c2                	sub    %edx,%eax
96008f:	89 83 60 04 00 00    	mov    %eax,0x460(%ebx)
960095:	8b 8b 60 04 00 00    	mov    0x460(%ebx),%ecx
96009b:	c7 85 6c ff ff ff 01 	movl   $0x1,-0x94(%ebp)
9600a2:	00 00 00
9600a5:	8d 04 11             	lea    (%ecx,%edx,1),%eax
9600a8:	2b 8b 94 04 00 00    	sub    0x494(%ebx),%ecx
9600ae:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
9600b4:	eb 4a                	jmp    0x960100
9600b6:	39 bb c4 02 00 00    	cmp    %edi,0x2c4(%ebx)
9600bc:	74 13                	je     0x9600d1
9600be:	33 f6                	xor    %esi,%esi
9600c0:	46                   	inc    %esi
9600c1:	39 b3 24 04 00 00    	cmp    %esi,0x424(%ebx)
9600c7:	75 08                	jne    0x9600d1
9600c9:	89 b5 68 ff ff ff    	mov    %esi,-0x98(%ebp)
9600cf:	eb 35                	jmp    0x960106
9600d1:	8b 45 94             	mov    -0x6c(%ebp),%eax
9600d4:	8b 75 8c             	mov    -0x74(%ebp),%esi
9600d7:	03 83 90 04 00 00    	add    0x490(%ebx),%eax
9600dd:	89 b3 60 04 00 00    	mov    %esi,0x460(%ebx)
9600e3:	3b f0                	cmp    %eax,%esi
9600e5:	75 06                	jne    0x9600ed
9600e7:	89 83 60 04 00 00    	mov    %eax,0x460(%ebx)
9600ed:	8b 83 60 04 00 00    	mov    0x460(%ebx),%eax
9600f3:	8b 8b 94 04 00 00    	mov    0x494(%ebx),%ecx
9600f9:	03 c2                	add    %edx,%eax
9600fb:	03 c8                	add    %eax,%ecx
9600fd:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
960100:	89 83 68 04 00 00    	mov    %eax,0x468(%ebx)
960106:	8d 8b 0c 04 00 00    	lea    0x40c(%ebx),%ecx
96010c:	89 bd 5c ff ff ff    	mov    %edi,-0xa4(%ebp)
960112:	8b 01                	mov    (%ecx),%eax
960114:	39 78 f4             	cmp    %edi,-0xc(%eax)
960117:	0f 84 d6 00 00 00    	je     0x9601f3
96011d:	8b 33                	mov    (%ebx),%esi
96011f:	8d 85 28 ff ff ff    	lea    -0xd8(%ebp),%eax
960125:	51                   	push   %ecx
960126:	50                   	push   %eax
960127:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
96012d:	8b b6 34 03 00 00    	mov    0x334(%esi),%esi
960133:	8b ce                	mov    %esi,%ecx
960135:	50                   	push   %eax
960136:	e8 2a c5 ac ff       	call   0x42c665
96013b:	8b cb                	mov    %ebx,%ecx
96013d:	ff d6                	call   *%esi
96013f:	8b 30                	mov    (%eax),%esi
960141:	8b 48 04             	mov    0x4(%eax),%ecx
960144:	8b c1                	mov    %ecx,%eax
960146:	99                   	cltd
960147:	2b c2                	sub    %edx,%eax
960149:	89 b5 5c ff ff ff    	mov    %esi,-0xa4(%ebp)
96014f:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
960155:	d1 f8                	sar    $1,%eax
960157:	2b d0                	sub    %eax,%edx
960159:	89 93 2c 04 00 00    	mov    %edx,0x42c(%ebx)
96015f:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
960162:	89 83 34 04 00 00    	mov    %eax,0x434(%ebx)
960168:	8b 83 24 04 00 00    	mov    0x424(%ebx),%eax
96016e:	83 e8 01             	sub    $0x1,%eax
960171:	74 36                	je     0x9601a9
960173:	83 e8 01             	sub    $0x1,%eax
960176:	74 21                	je     0x960199
960178:	83 e8 01             	sub    $0x1,%eax
96017b:	0f 85 88 02 00 00    	jne    0x960409
960181:	8b c6                	mov    %esi,%eax
960183:	c7 85 7c ff ff ff 01 	movl   $0x1,-0x84(%ebp)
96018a:	00 00 00
96018d:	99                   	cltd
96018e:	2b c2                	sub    %edx,%eax
960190:	d1 f8                	sar    $1,%eax
960192:	f7 d8                	neg    %eax
960194:	01 45 90             	add    %eax,-0x70(%ebp)
960197:	eb 27                	jmp    0x9601c0
960199:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
96019f:	2b c6                	sub    %esi,%eax
9601a1:	89 83 28 04 00 00    	mov    %eax,0x428(%ebx)
9601a7:	eb 17                	jmp    0x9601c0
9601a9:	8b 83 90 04 00 00    	mov    0x490(%ebx),%eax
9601af:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
9601b2:	89 8b 28 04 00 00    	mov    %ecx,0x428(%ebx)
9601b8:	8d 04 46             	lea    (%esi,%eax,2),%eax
9601bb:	03 c8                	add    %eax,%ecx
9601bd:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
9601c0:	8d b3 28 04 00 00    	lea    0x428(%ebx),%esi
9601c6:	8b cb                	mov    %ebx,%ecx
9601c8:	8b 06                	mov    (%esi),%eax
9601ca:	03 85 5c ff ff ff    	add    -0xa4(%ebp),%eax
9601d0:	57                   	push   %edi
9601d1:	ff b3 90 04 00 00    	push   0x490(%ebx)
9601d7:	89 83 30 04 00 00    	mov    %eax,0x430(%ebx)
9601dd:	8d 45 94             	lea    -0x6c(%ebp),%eax
9601e0:	50                   	push   %eax
9601e1:	56                   	push   %esi
9601e2:	e8 e2 0b ac ff       	call   0x420dc9
9601e7:	8d bb 38 04 00 00    	lea    0x438(%ebx),%edi
9601ed:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9601ee:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9601ef:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9601f0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9601f1:	33 ff                	xor    %edi,%edi
9601f3:	83 bd 50 ff ff ff 00 	cmpl   $0x0,-0xb0(%ebp)
9601fa:	74 1c                	je     0x960218
9601fc:	8b 45 90             	mov    -0x70(%ebp),%eax
9601ff:	8b 8b 94 04 00 00    	mov    0x494(%ebx),%ecx
960205:	89 83 f0 03 00 00    	mov    %eax,0x3f0(%ebx)
96020b:	03 45 80             	add    -0x80(%ebp),%eax
96020e:	89 83 f8 03 00 00    	mov    %eax,0x3f8(%ebx)
960214:	03 c8                	add    %eax,%ecx
960216:	eb 03                	jmp    0x96021b
960218:	8b 4d 90             	mov    -0x70(%ebp),%ecx
96021b:	83 bd 68 ff ff ff 00 	cmpl   $0x0,-0x98(%ebp)
960222:	74 37                	je     0x96025b
960224:	8b 45 8c             	mov    -0x74(%ebp),%eax
960227:	8b 55 88             	mov    -0x78(%ebp),%edx
96022a:	8b 75 9c             	mov    -0x64(%ebp),%esi
96022d:	89 83 60 04 00 00    	mov    %eax,0x460(%ebx)
960233:	03 c2                	add    %edx,%eax
960235:	89 83 68 04 00 00    	mov    %eax,0x468(%ebx)
96023b:	03 83 90 04 00 00    	add    0x490(%ebx),%eax
960241:	3b c6                	cmp    %esi,%eax