9500ab:	89 45 e4             	mov    %eax,-0x1c(%ebp)
9500ae:	89 45 e8             	mov    %eax,-0x18(%ebp)
9500b1:	8b 45 a8             	mov    -0x58(%ebp),%eax
9500b4:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
9500b7:	89 4d ec             	mov    %ecx,-0x14(%ebp)
9500ba:	39 48 f4             	cmp    %ecx,-0xc(%eax)
9500bd:	75 30                	jne    0x9500ef
9500bf:	39 8d 64 ff ff ff    	cmp    %ecx,-0x9c(%ebp)
9500c5:	0f 85 cd 00 00 00    	jne    0x950198
9500cb:	8b bb 10 01 00 00    	mov    0x110(%ebx),%edi
9500d1:	8b 07                	mov    (%edi),%eax
9500d3:	8b b0 a0 02 00 00    	mov    0x2a0(%eax),%esi
9500d9:	8b ce                	mov    %esi,%ecx
9500db:	e8 85 c5 ad ff       	call   0x42c665
9500e0:	8b cf                	mov    %edi,%ecx
9500e2:	ff d6                	call   *%esi
9500e4:	01 45 b0             	add    %eax,-0x50(%ebp)
9500e7:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
9500ea:	e9 a6 00 00 00       	jmp    0x950195
9500ef:	8b 06                	mov    (%esi),%eax
9500f1:	ff 75 a0             	push   -0x60(%ebp)
9500f4:	8b b0 80 01 00 00    	mov    0x180(%eax),%esi
9500fa:	8b ce                	mov    %esi,%ecx
9500fc:	e8 64 c5 ad ff       	call   0x42c665
950101:	8b 5d 98             	mov    -0x68(%ebp),%ebx
950104:	8b cb                	mov    %ebx,%ecx
950106:	ff d6                	call   *%esi
950108:	8b 03                	mov    (%ebx),%eax
95010a:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
950110:	ff 75 a0             	push   -0x60(%ebp)
950113:	51                   	push   %ecx
950114:	8b b0 f4 00 00 00    	mov    0xf4(%eax),%esi
95011a:	8b ce                	mov    %esi,%ecx
95011c:	e8 44 c5 ad ff       	call   0x42c665
950121:	8b cb                	mov    %ebx,%ecx
950123:	ff d6                	call   *%esi
950125:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
950128:	8d b5 2c ff ff ff    	lea    -0xd4(%ebp),%esi
95012e:	89 bd 30 ff ff ff    	mov    %edi,-0xd0(%ebp)
950134:	89 8d 2c ff ff ff    	mov    %ecx,-0xd4(%ebp)
95013a:	8b 58 04             	mov    0x4(%eax),%ebx
95013d:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
950143:	2b c1                	sub    %ecx,%eax
950145:	03 c1                	add    %ecx,%eax
950147:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
95014d:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
950150:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
950156:	8d 7d e0             	lea    -0x20(%ebp),%edi
950159:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
95015f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
950160:	a5                   	movsl  %ds:(%esi),%es:(%edi)
950161:	a5                   	movsl  %ds:(%esi),%es:(%edi)
950162:	a5                   	movsl  %ds:(%esi),%es:(%edi)
950163:	8b b8 10 01 00 00    	mov    0x110(%eax),%edi
950169:	8b 07                	mov    (%edi),%eax
95016b:	8b b0 a0 02 00 00    	mov    0x2a0(%eax),%esi
950171:	8b ce                	mov    %esi,%ecx
950173:	e8 ed c4 ad ff       	call   0x42c665
950178:	8b cf                	mov    %edi,%ecx
95017a:	ff d6                	call   *%esi
95017c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
95017f:	03 c3                	add    %ebx,%eax
950181:	01 45 b0             	add    %eax,-0x50(%ebp)
950184:	33 c0                	xor    %eax,%eax
950186:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
95018c:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
950192:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
950195:	8b 75 98             	mov    -0x68(%ebp),%esi
950198:	8d 7e 74             	lea    0x74(%esi),%edi
95019b:	8d 75 e0             	lea    -0x20(%ebp),%esi
95019e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95019f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9501a0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9501a1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9501a2:	83 bb 94 00 00 00 00 	cmpl   $0x0,0x94(%ebx)
9501a9:	75 06                	jne    0x9501b1
9501ab:	89 8b d8 00 00 00    	mov    %ecx,0xd8(%ebx)
9501b1:	8b 45 b4             	mov    -0x4c(%ebp),%eax
9501b4:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
9501b8:	89 8d 58 ff ff ff    	mov    %ecx,-0xa8(%ebp)
9501be:	8b 4d a8             	mov    -0x58(%ebp),%ecx
9501c1:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
9501c7:	8d 49 f0             	lea    -0x10(%ecx),%ecx
9501ca:	e8 45 4a ab ff       	call   0x404c14
9501cf:	e9 b0 00 00 00       	jmp    0x950284
9501d4:	85 c9                	test   %ecx,%ecx
9501d6:	0f 84 a8 00 00 00    	je     0x950284
9501dc:	8b 06                	mov    (%esi),%eax
9501de:	83 a5 64 ff ff ff 00 	andl   $0x0,-0x9c(%ebp)
9501e5:	6a 00                	push   $0x0
9501e7:	8b b0 ec 00 00 00    	mov    0xec(%eax),%esi
9501ed:	8b ce                	mov    %esi,%ecx
9501ef:	e8 71 c4 ad ff       	call   0x42c665
9501f4:	8b 4d 98             	mov    -0x68(%ebp),%ecx
9501f7:	ff d6                	call   *%esi
9501f9:	8b 4d 98             	mov    -0x68(%ebp),%ecx
9501fc:	ff 75 a0             	push   -0x60(%ebp)
9501ff:	8b 01                	mov    (%ecx),%eax
950201:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
950207:	51                   	push   %ecx
950208:	8b b0 f4 00 00 00    	mov    0xf4(%eax),%esi
95020e:	8b ce                	mov    %esi,%ecx
950210:	e8 50 c4 ad ff       	call   0x42c665
950215:	8b 4d 98             	mov    -0x68(%ebp),%ecx
950218:	ff d6                	call   *%esi
95021a:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
950220:	8b f0                	mov    %eax,%esi
950222:	8b 06                	mov    (%esi),%eax
950224:	89 45 90             	mov    %eax,-0x70(%ebp)
950227:	8d 0c 10             	lea    (%eax,%edx,1),%ecx
95022a:	3b 8d 5c ff ff ff    	cmp    -0xa4(%ebp),%ecx
950230:	7e 0f                	jle    0x950241
950232:	8b 45 b4             	mov    -0x4c(%ebp),%eax
950235:	3b d0                	cmp    %eax,%edx
950237:	74 08                	je     0x950241
950239:	03 7e 04             	add    0x4(%esi),%edi
95023c:	8b d0                	mov    %eax,%edx
95023e:	89 7d b0             	mov    %edi,-0x50(%ebp)
950241:	8b 4e 04             	mov    0x4(%esi),%ecx
950244:	8b 06                	mov    (%esi),%eax
950246:	03 cf                	add    %edi,%ecx
950248:	89 7d d4             	mov    %edi,-0x2c(%ebp)
95024b:	8d 75 d0             	lea    -0x30(%ebp),%esi
95024e:	8b 7d 98             	mov    -0x68(%ebp),%edi
950251:	03 c2                	add    %edx,%eax
950253:	89 55 d0             	mov    %edx,-0x30(%ebp)
950256:	89 45 d8             	mov    %eax,-0x28(%ebp)
950259:	89 4d dc             	mov    %ecx,-0x24(%ebp)
95025c:	8d 7f 74             	lea    0x74(%edi),%edi
95025f:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
950262:	a5                   	movsl  %ds:(%esi),%es:(%edi)
950263:	a5                   	movsl  %ds:(%esi),%es:(%edi)
950264:	a5                   	movsl  %ds:(%esi),%es:(%edi)
950265:	a5                   	movsl  %ds:(%esi),%es:(%edi)
950266:	83 bb 94 00 00 00 00 	cmpl   $0x0,0x94(%ebx)
95026d:	75 06                	jne    0x950275
95026f:	89 8b d8 00 00 00    	mov    %ecx,0xd8(%ebx)
950275:	03 55 90             	add    -0x70(%ebp),%edx
950278:	89 8d 58 ff ff ff    	mov    %ecx,-0xa8(%ebp)
95027e:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
950284:	8b 45 ac             	mov    -0x54(%ebp),%eax
950287:	8d 8b dc 04 00 00    	lea    0x4dc(%ebx),%ecx
95028d:	8b 7d b0             	mov    -0x50(%ebp),%edi
950290:	40                   	inc    %eax
950291:	89 45 ac             	mov    %eax,-0x54(%ebp)
950294:	3b 83 e4 04 00 00    	cmp    0x4e4(%ebx),%eax
95029a:	0f 8c b7 fa ff ff    	jl     0x94fd57
9502a0:	8b 93 94 00 00 00    	mov    0x94(%ebx),%edx
9502a6:	85 d2                	test   %edx,%edx
9502a8:	75 15                	jne    0x9502bf
9502aa:	8b 8b d8 00 00 00    	mov    0xd8(%ebx),%ecx
9502b0:	8b 45 80             	mov    -0x80(%ebp),%eax
9502b3:	3b c8                	cmp    %eax,%ecx
9502b5:	7c 02                	jl     0x9502b9
9502b7:	8b c8                	mov    %eax,%ecx
9502b9:	89 8b d8 00 00 00    	mov    %ecx,0xd8(%ebx)
9502bf:	8d 8b cc 00 00 00    	lea    0xcc(%ebx),%ecx
9502c5:	8b 41 08             	mov    0x8(%ecx),%eax
9502c8:	2b 01                	sub    (%ecx),%eax
9502ca:	83 bd 68 ff ff ff 00 	cmpl   $0x0,-0x98(%ebp)
9502d1:	89 83 a8 00 00 00    	mov    %eax,0xa8(%ebx)
9502d7:	0f 84 4a 01 00 00    	je     0x950427
9502dd:	85 d2                	test   %edx,%edx
9502df:	0f 85 4f 01 00 00    	jne    0x950434
9502e5:	8b 83 d8 00 00 00    	mov    0xd8(%ebx),%eax
9502eb:	8d bb ec 00 00 00    	lea    0xec(%ebx),%edi
9502f1:	8b f1                	mov    %ecx,%esi
9502f3:	83 c0 04             	add    $0x4,%eax
9502f6:	33 c9                	xor    %ecx,%ecx
9502f8:	89 45 98             	mov    %eax,-0x68(%ebp)
9502fb:	89 4d a8             	mov    %ecx,-0x58(%ebp)
9502fe:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9502ff:	a5                   	movsl  %ds:(%esi),%es:(%edi)
950300:	a5                   	movsl  %ds:(%esi),%es:(%edi)
950301:	a5                   	movsl  %ds:(%esi),%es:(%edi)
950302:	89 83 f0 00 00 00    	mov    %eax,0xf0(%ebx)
950308:	39 8b e4 04 00 00    	cmp    %ecx,0x4e4(%ebx)
95030e:	0f 8e 9b 00 00 00    	jle    0x9503af
950314:	8d 93 dc 04 00 00    	lea    0x4dc(%ebx),%edx
95031a:	51                   	push   %ecx
95031b:	8b ca                	mov    %edx,%ecx
95031d:	e8 d2 e5 ab ff       	call   0x40e8f4
950322:	68 c4 29 c6 00       	push   $0xc629c4
950327:	8b 38                	mov    (%eax),%edi
950329:	8b cf                	mov    %edi,%ecx
95032b:	e8 5f 99 ad ff       	call   0x429c8f
950330:	85 c0                	test   %eax,%eax
950332:	75 5f                	jne    0x950393
950334:	68 bc b5 c6 00       	push   $0xc6b5bc
950339:	8b cf                	mov    %edi,%ecx
95033b:	e8 4f 99 ad ff       	call   0x429c8f
950340:	85 c0                	test   %eax,%eax
950342:	75 4f                	jne    0x950393
950344:	39 87 f8 00 00 00    	cmp    %eax,0xf8(%edi)
95034a:	75 47                	jne    0x950393
95034c:	8b 07                	mov    (%edi),%eax
95034e:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
950354:	ff 75 a0             	push   -0x60(%ebp)
950357:	51                   	push   %ecx
950358:	8b b0 f4 00 00 00    	mov    0xf4(%eax),%esi
95035e:	8b ce                	mov    %esi,%ecx
950360:	e8 00 c3 ad ff       	call   0x42c665
950365:	8b cf                	mov    %edi,%ecx
950367:	ff d6                	call   *%esi
950369:	83 bd 78 ff ff ff 00 	cmpl   $0x0,-0x88(%ebp)
950370:	75 45                	jne    0x9503b7
950372:	83 bd 7c ff ff ff 00 	cmpl   $0x0,-0x84(%ebp)
950379:	75 3c                	jne    0x9503b7
95037b:	33 c0                	xor    %eax,%eax
95037d:	8d 75 d0             	lea    -0x30(%ebp),%esi
950380:	83 c7 74             	add    $0x74,%edi
950383:	89 45 d0             	mov    %eax,-0x30(%ebp)
950386:	89 45 d4             	mov    %eax,-0x2c(%ebp)
950389:	89 45 d8             	mov    %eax,-0x28(%ebp)
95038c:	89 45 dc             	mov    %eax,-0x24(%ebp)
95038f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
950390:	a5                   	movsl  %ds:(%esi),%es:(%edi)
950391:	a5                   	movsl  %ds:(%esi),%es:(%edi)
950392:	a5                   	movsl  %ds:(%esi),%es:(%edi)
950393:	8b 45 98             	mov    -0x68(%ebp),%eax
950396:	8b 4d a8             	mov    -0x58(%ebp),%ecx
950399:	8d 93 dc 04 00 00    	lea    0x4dc(%ebx),%edx
95039f:	41                   	inc    %ecx
9503a0:	89 4d a8             	mov    %ecx,-0x58(%ebp)
9503a3:	3b 8b e4 04 00 00    	cmp    0x4e4(%ebx),%ecx
9503a9:	0f 8c 6b ff ff ff    	jl     0x95031a
9503af:	89 83 f8 00 00 00    	mov    %eax,0xf8(%ebx)
9503b5:	eb 7d                	jmp    0x950434
9503b7:	8b 45 9c             	mov    -0x64(%ebp),%eax
9503ba:	8d 8b cc 00 00 00    	lea    0xcc(%ebx),%ecx
9503c0:	8b 75 88             	mov    -0x78(%ebp),%esi
9503c3:	8b 55 b4             	mov    -0x4c(%ebp),%edx
9503c6:	89 87 ac 00 00 00    	mov    %eax,0xac(%edi)
9503cc:	83 c7 74             	add    $0x74,%edi
9503cf:	8b 41 08             	mov    0x8(%ecx),%eax
9503d2:	2b 01                	sub    (%ecx),%eax
9503d4:	8b 4d 98             	mov    -0x68(%ebp),%ecx
9503d7:	03 8d 6c ff ff ff    	add    -0x94(%ebp),%ecx
9503dd:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
9503e3:	03 c2                	add    %edx,%eax
9503e5:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
9503eb:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
9503f1:	8d 04 31             	lea    (%ecx,%esi,1),%eax
9503f4:	89 95 2c ff ff ff    	mov    %edx,-0xd4(%ebp)
9503fa:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
950400:	8d b5 2c ff ff ff    	lea    -0xd4(%ebp),%esi
950406:	89 83 d8 00 00 00    	mov    %eax,0xd8(%ebx)
95040c:	8b 45 98             	mov    -0x68(%ebp),%eax
95040f:	89 8d 30 ff ff ff    	mov    %ecx,-0xd0(%ebp)
950415:	a5                   	movsl  %ds:(%esi),%es:(%edi)
950416:	a5                   	movsl  %ds:(%esi),%es:(%edi)
950417:	a5                   	movsl  %ds:(%esi),%es:(%edi)
950418:	a5                   	movsl  %ds:(%esi),%es:(%edi)
950419:	03 85 7c ff ff ff    	add    -0x84(%ebp),%eax
95041f:	89 45 98             	mov    %eax,-0x68(%ebp)
950422:	e9 6f ff ff ff       	jmp    0x950396
950427:	8d 83 ec 00 00 00    	lea    0xec(%ebx),%eax
95042d:	50                   	push   %eax
95042e:	ff 15 50 40 d8 00    	call   *0xd84050
950434:	8b b5 70 ff ff ff    	mov    -0x90(%ebp),%esi
95043a:	85 f6                	test   %esi,%esi
95043c:	75 0d                	jne    0x95044b
95043e:	8d 83 dc 00 00 00    	lea    0xdc(%ebx),%eax
950444:	50                   	push   %eax
950445:	ff 15 50 40 d8 00    	call   *0xd84050
95044b:	33 c0                	xor    %eax,%eax
95044d:	89 45 a8             	mov    %eax,-0x58(%ebp)
950450:	39 83 e4 04 00 00    	cmp    %eax,0x4e4(%ebx)
950456:	0f 8e 85 01 00 00    	jle    0x9505e1
95045c:	8d 8b dc 04 00 00    	lea    0x4dc(%ebx),%ecx
950462:	50                   	push   %eax
950463:	e8 8c e4 ab ff       	call   0x40e8f4
950468:	ff 30                	push   (%eax)
95046a:	68 c4 29 c6 00       	push   $0xc629c4
95046f:	e8 96 5b ab ff       	call   0x40600a
950474:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
95047a:	59                   	pop    %ecx
95047b:	59                   	pop    %ecx
95047c:	85 c0                	test   %eax,%eax
95047e:	0f 84 3e 01 00 00    	je     0x9505c2
950484:	83 a0 cc 01 00 00 00 	andl   $0x0,0x1cc(%eax)
95048b:	8d 70 74             	lea    0x74(%eax),%esi
95048e:	83 a0 d0 01 00 00 00 	andl   $0x0,0x1d0(%eax)
950495:	8d 7d b4             	lea    -0x4c(%ebp),%edi
950498:	83 a0 d4 01 00 00 00 	andl   $0x0,0x1d4(%eax)
95049f:	83 a0 d8 01 00 00 00 	andl   $0x0,0x1d8(%eax)
9504a6:	8d 45 b4             	lea    -0x4c(%ebp),%eax
9504a9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9504aa:	50                   	push   %eax
9504ab:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9504ac:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9504ad:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9504ae:	ff 15 30 3e d8 00    	call   *0xd83e30
9504b4:	85 c0                	test   %eax,%eax
9504b6:	0f 85 06 01 00 00    	jne    0x9505c2
9504bc:	8b 45 c0             	mov    -0x40(%ebp),%eax
9504bf:	03 45 b8             	add    -0x48(%ebp),%eax
9504c2:	8b 0b                	mov    (%ebx),%ecx
9504c4:	8b 75 b4             	mov    -0x4c(%ebp),%esi
9504c7:	99                   	cltd
9504c8:	83 c6 fe             	add    $0xfffffffe,%esi
9504cb:	2b c2                	sub    %edx,%eax
9504cd:	6a 00                	push   $0x0
9504cf:	d1 f8                	sar    $1,%eax
9504d1:	50                   	push   %eax
9504d2:	56                   	push   %esi
9504d3:	8b b1 b8 00 00 00    	mov    0xb8(%ecx),%esi
9504d9:	8b ce                	mov    %esi,%ecx
9504db:	e8 85 c1 ad ff       	call   0x42c665
9504e0:	8b cb                	mov    %ebx,%ecx
9504e2:	ff d6                	call   *%esi
9504e4:	50                   	push   %eax
9504e5:	68 c4 29 c6 00       	push   $0xc629c4
9504ea:	e8 1b 5b ab ff       	call   0x40600a
9504ef:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
9504f5:	f7 d8                	neg    %eax
9504f7:	59                   	pop    %ecx
9504f8:	1b c0                	sbb    %eax,%eax
9504fa:	40                   	inc    %eax
9504fb:	89 87 cc 01 00 00    	mov    %eax,0x1cc(%edi)
950501:	8b 45 c0             	mov    -0x40(%ebp),%eax
950504:	03 45 b8             	add    -0x48(%ebp),%eax
950507:	8b 75 bc             	mov    -0x44(%ebp),%esi
95050a:	59                   	pop    %ecx
95050b:	8b 0b                	mov    (%ebx),%ecx
95050d:	83 c6 02             	add    $0x2,%esi
950510:	99                   	cltd
950511:	2b c2                	sub    %edx,%eax
950513:	6a 00                	push   $0x0
950515:	d1 f8                	sar    $1,%eax
950517:	50                   	push   %eax
950518:	56                   	push   %esi
950519:	8b b1 b8 00 00 00    	mov    0xb8(%ecx),%esi
95051f:	8b ce                	mov    %esi,%ecx
950521:	e8 3f c1 ad ff       	call   0x42c665
950526:	8b cb                	mov    %ebx,%ecx
950528:	ff d6                	call   *%esi
95052a:	50                   	push   %eax
95052b:	68 c4 29 c6 00       	push   $0xc629c4
950530:	e8 d5 5a ab ff       	call   0x40600a
950535:	f7 d8                	neg    %eax
950537:	59                   	pop    %ecx
950538:	1b c0                	sbb    %eax,%eax
95053a:	40                   	inc    %eax
95053b:	89 87 d0 01 00 00    	mov    %eax,0x1d0(%edi)
950541:	8b 45 bc             	mov    -0x44(%ebp),%eax
950544:	03 45 b4             	add    -0x4c(%ebp),%eax
950547:	59                   	pop    %ecx
950548:	8b 4d b8             	mov    -0x48(%ebp),%ecx
95054b:	99                   	cltd