96d070:	74 2a                	je     0x96d09c
96d072:	39 73 18             	cmp    %esi,0x18(%ebx)
96d075:	74 07                	je     0x96d07e
96d077:	8b 45 14             	mov    0x14(%ebp),%eax
96d07a:	85 c0                	test   %eax,%eax
96d07c:	75 21                	jne    0x96d09f
96d07e:	8b cb                	mov    %ebx,%ecx
96d080:	e8 00 45 ab ff       	call   0x421585
96d085:	8b 8d 3c ff ff ff    	mov    -0xc4(%ebp),%ecx
96d08b:	f7 d8                	neg    %eax
96d08d:	1b c0                	sbb    %eax,%eax
96d08f:	83 e0 fd             	and    $0xfffffffd,%eax
96d092:	83 c0 03             	add    $0x3,%eax
96d095:	03 c8                	add    %eax,%ecx
96d097:	8b 45 14             	mov    0x14(%ebp),%eax
96d09a:	eb 09                	jmp    0x96d0a5
96d09c:	8b 45 14             	mov    0x14(%ebp),%eax
96d09f:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
96d0a5:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
96d0a9:	74 15                	je     0x96d0c0
96d0ab:	85 c0                	test   %eax,%eax
96d0ad:	74 1c                	je     0x96d0cb
96d0af:	8b 75 e8             	mov    -0x18(%ebp),%esi
96d0b2:	8b bd 54 ff ff ff    	mov    -0xac(%ebp),%edi
96d0b8:	2b 75 e0             	sub    -0x20(%ebp),%esi
96d0bb:	83 c7 06             	add    $0x6,%edi
96d0be:	eb 1d                	jmp    0x96d0dd
96d0c0:	85 c0                	test   %eax,%eax
96d0c2:	74 07                	je     0x96d0cb
96d0c4:	8b 75 e8             	mov    -0x18(%ebp),%esi
96d0c7:	2b f1                	sub    %ecx,%esi
96d0c9:	eb 03                	jmp    0x96d0ce
96d0cb:	8b 75 e8             	mov    -0x18(%ebp),%esi
96d0ce:	2b 75 e0             	sub    -0x20(%ebp),%esi
96d0d1:	8b 7d ec             	mov    -0x14(%ebp),%edi
96d0d4:	85 c0                	test   %eax,%eax
96d0d6:	75 02                	jne    0x96d0da
96d0d8:	2b f9                	sub    %ecx,%edi
96d0da:	2b 7d e4             	sub    -0x1c(%ebp),%edi
96d0dd:	8b c6                	mov    %esi,%eax
96d0df:	2b 85 50 ff ff ff    	sub    -0xb0(%ebp),%eax
96d0e5:	99                   	cltd
96d0e6:	2b c2                	sub    %edx,%eax
96d0e8:	d1 f8                	sar    $1,%eax
96d0ea:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
96d0f0:	8b c7                	mov    %edi,%eax
96d0f2:	2b 85 54 ff ff ff    	sub    -0xac(%ebp),%eax
96d0f8:	99                   	cltd
96d0f9:	2b c2                	sub    %edx,%eax
96d0fb:	8b c8                	mov    %eax,%ecx
96d0fd:	6a 03                	push   $0x3
96d0ff:	d1 f9                	sar    $1,%ecx
96d101:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
96d105:	58                   	pop    %eax
96d106:	89 4d 80             	mov    %ecx,-0x80(%ebp)
96d109:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
96d10f:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
96d115:	74 5e                	je     0x96d175
96d117:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
96d11a:	83 79 f4 00          	cmpl   $0x0,-0xc(%ecx)
96d11e:	74 55                	je     0x96d175
96d120:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
96d124:	74 07                	je     0x96d12d
96d126:	8b 4d 14             	mov    0x14(%ebp),%ecx
96d129:	85 c9                	test   %ecx,%ecx
96d12b:	75 48                	jne    0x96d175
96d12d:	8d 45 84             	lea    -0x7c(%ebp),%eax
96d130:	50                   	push   %eax
96d131:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
96d137:	ff 70 08             	push   0x8(%eax)
96d13a:	ff 15 38 33 d8 00    	call   *0xd83338
96d140:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
96d144:	74 1a                	je     0x96d160
96d146:	2b 7d 84             	sub    -0x7c(%ebp),%edi
96d149:	83 ad 78 ff ff ff 03 	subl   $0x3,-0x88(%ebp)
96d150:	8d 47 ff             	lea    -0x1(%edi),%eax
96d153:	99                   	cltd
96d154:	2b c2                	sub    %edx,%eax
96d156:	d1 f8                	sar    $1,%eax
96d158:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
96d15e:	eb 15                	jmp    0x96d175
96d160:	2b 75 84             	sub    -0x7c(%ebp),%esi
96d163:	83 6d 80 03          	subl   $0x3,-0x80(%ebp)
96d167:	8d 46 01             	lea    0x1(%esi),%eax
96d16a:	99                   	cltd
96d16b:	2b c2                	sub    %edx,%eax
96d16d:	d1 f8                	sar    $1,%eax
96d16f:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
96d175:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
96d179:	8b 7d 18             	mov    0x18(%ebp),%edi
96d17c:	74 47                	je     0x96d1c5
96d17e:	85 ff                	test   %edi,%edi
96d180:	75 43                	jne    0x96d1c5
96d182:	8b 03                	mov    (%ebx),%eax
96d184:	8b 70 70             	mov    0x70(%eax),%esi
96d187:	8b ce                	mov    %esi,%ecx
96d189:	e8 d7 f4 ab ff       	call   0x42c665
96d18e:	8b cb                	mov    %ebx,%ecx
96d190:	ff d6                	call   *%esi
96d192:	85 c0                	test   %eax,%eax
96d194:	75 2f                	jne    0x96d1c5
96d196:	e8 b2 59 aa ff       	call   0x412b4d
96d19b:	39 78 54             	cmp    %edi,0x54(%eax)
96d19e:	74 25                	je     0x96d1c5
96d1a0:	e8 91 b1 aa ff       	call   0x418336
96d1a5:	8b c8                	mov    %eax,%ecx
96d1a7:	e8 cf 2f ab ff       	call   0x42017b
96d1ac:	85 c0                	test   %eax,%eax
96d1ae:	75 15                	jne    0x96d1c5
96d1b0:	f7 43 24 00 00 07 00 	testl  $0x70000,0x24(%ebx)
96d1b7:	75 0c                	jne    0x96d1c5
96d1b9:	c7 85 70 ff ff ff 01 	movl   $0x1,-0x90(%ebp)
96d1c0:	00 00 00
96d1c3:	eb 07                	jmp    0x96d1cc
96d1c5:	83 a5 70 ff ff ff 00 	andl   $0x0,-0x90(%ebp)
96d1cc:	f7 43 24 00 00 03 00 	testl  $0x30000,0x24(%ebx)
96d1d3:	74 56                	je     0x96d22b
96d1d5:	85 ff                	test   %edi,%edi
96d1d7:	75 52                	jne    0x96d22b
96d1d9:	e8 6f 59 aa ff       	call   0x412b4d
96d1de:	39 78 54             	cmp    %edi,0x54(%eax)
96d1e1:	75 48                	jne    0x96d22b
96d1e3:	e8 65 59 aa ff       	call   0x412b4d
96d1e8:	8b f8                	mov    %eax,%edi
96d1ea:	8b 0f                	mov    (%edi),%ecx
96d1ec:	8b b1 ec 02 00 00    	mov    0x2ec(%ecx),%esi
96d1f2:	8b ce                	mov    %esi,%ecx
96d1f4:	e8 6c f4 ab ff       	call   0x42c665
96d1f9:	8b cf                	mov    %edi,%ecx
96d1fb:	ff d6                	call   *%esi
96d1fd:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
96d203:	8b 75 80             	mov    -0x80(%ebp),%esi
96d206:	85 c0                	test   %eax,%eax
96d208:	74 2a                	je     0x96d234
96d20a:	47                   	inc    %edi
96d20b:	46                   	inc    %esi
96d20c:	ff 85 68 ff ff ff    	incl   -0x98(%ebp)
96d212:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
96d216:	89 75 80             	mov    %esi,-0x80(%ebp)
96d219:	74 08                	je     0x96d223
96d21b:	ff 85 5c ff ff ff    	incl   -0xa4(%ebp)
96d221:	eb 11                	jmp    0x96d234
96d223:	ff 8d 5c ff ff ff    	decl   -0xa4(%ebp)
96d229:	eb 09                	jmp    0x96d234
96d22b:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
96d231:	8b 75 80             	mov    -0x80(%ebp),%esi
96d234:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
96d238:	75 17                	jne    0x96d251
96d23a:	e8 0e 59 aa ff       	call   0x412b4d
96d23f:	83 78 5c 00          	cmpl   $0x0,0x5c(%eax)
96d243:	74 0c                	je     0x96d251
96d245:	c7 85 78 ff ff ff 01 	movl   $0x1,-0x88(%ebp)
96d24c:	00 00 00
96d24f:	eb 07                	jmp    0x96d258
96d251:	83 a5 78 ff ff ff 00 	andl   $0x0,-0x88(%ebp)
96d258:	8b 43 24             	mov    0x24(%ebx),%eax
96d25b:	83 a5 74 ff ff ff 00 	andl   $0x0,-0x8c(%ebp)
96d262:	25 00 00 06 00       	and    $0x60000,%eax
96d267:	3d 00 00 04 00       	cmp    $0x40000,%eax
96d26c:	75 0a                	jne    0x96d278
96d26e:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
96d272:	0f 84 e9 01 00 00    	je     0x96d461
96d278:	8b cb                	mov    %ebx,%ecx
96d27a:	e8 06 43 ab ff       	call   0x421585
96d27f:	85 c0                	test   %eax,%eax
96d281:	0f 84 30 01 00 00    	je     0x96d3b7
96d287:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
96d28d:	85 d2                	test   %edx,%edx
96d28f:	0f 84 22 01 00 00    	je     0x96d3b7
96d295:	83 bd 38 ff ff ff 00 	cmpl   $0x0,-0xc8(%ebp)
96d29c:	74 45                	je     0x96d2e3
96d29e:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
96d2a4:	8b 8d 4c ff ff ff    	mov    -0xb4(%ebp),%ecx
96d2aa:	03 c7                	add    %edi,%eax
96d2ac:	89 45 c0             	mov    %eax,-0x40(%ebp)
96d2af:	03 ce                	add    %esi,%ecx
96d2b1:	03 85 50 ff ff ff    	add    -0xb0(%ebp),%eax
96d2b7:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
96d2bd:	89 45 c8             	mov    %eax,-0x38(%ebp)
96d2c0:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
96d2c6:	03 c1                	add    %ecx,%eax
96d2c8:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
96d2cb:	8b 8d 38 ff ff ff    	mov    -0xc8(%ebp),%ecx
96d2d1:	89 45 cc             	mov    %eax,-0x34(%ebp)
96d2d4:	8d 45 c0             	lea    -0x40(%ebp),%eax
96d2d7:	50                   	push   %eax
96d2d8:	56                   	push   %esi
96d2d9:	e8 bb 44 a9 ff       	call   0x401799
96d2de:	e9 d4 00 00 00       	jmp    0x96d3b7
96d2e3:	83 bd 70 ff ff ff 00 	cmpl   $0x0,-0x90(%ebp)
96d2ea:	8b cf                	mov    %edi,%ecx
96d2ec:	8b c6                	mov    %esi,%eax
96d2ee:	74 66                	je     0x96d356
96d2f0:	40                   	inc    %eax
96d2f1:	8d 4f 01             	lea    0x1(%edi),%ecx
96d2f4:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
96d2f8:	89 8d 64 ff ff ff    	mov    %ecx,-0x9c(%ebp)
96d2fe:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
96d304:	74 05                	je     0x96d30b
96d306:	8b 73 38             	mov    0x38(%ebx),%esi
96d309:	eb 03                	jmp    0x96d30e
96d30b:	8b 73 34             	mov    0x34(%ebx),%esi
96d30e:	03 85 4c ff ff ff    	add    -0xb4(%ebp),%eax
96d314:	68 ff 00 00 00       	push   $0xff
96d319:	6a 00                	push   $0x0
96d31b:	6a 01                	push   $0x1
96d31d:	6a 00                	push   $0x0
96d31f:	6a 00                	push   $0x0
96d321:	6a 00                	push   $0x0
96d323:	56                   	push   %esi
96d324:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
96d32a:	50                   	push   %eax
96d32b:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
96d331:	03 c1                	add    %ecx,%eax
96d333:	8b ca                	mov    %edx,%ecx
96d335:	50                   	push   %eax
96d336:	56                   	push   %esi
96d337:	e8 6f ea aa ff       	call   0x41bdab
96d33c:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
96d342:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
96d348:	83 e9 02             	sub    $0x2,%ecx
96d34b:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
96d351:	83 e8 02             	sub    $0x2,%eax
96d354:	eb 06                	jmp    0x96d35c
96d356:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
96d35c:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
96d360:	74 11                	je     0x96d373
96d362:	8b 73 38             	mov    0x38(%ebx),%esi
96d365:	89 b5 74 ff ff ff    	mov    %esi,-0x8c(%ebp)
96d36b:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
96d371:	eb 0f                	jmp    0x96d382
96d373:	8b 53 34             	mov    0x34(%ebx),%edx
96d376:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
96d37c:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
96d382:	03 85 4c ff ff ff    	add    -0xb4(%ebp),%eax
96d388:	33 db                	xor    %ebx,%ebx
96d38a:	68 ff 00 00 00       	push   $0xff
96d38f:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
96d395:	53                   	push   %ebx
96d396:	53                   	push   %ebx
96d397:	53                   	push   %ebx
96d398:	53                   	push   %ebx
96d399:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
96d39f:	50                   	push   %eax
96d3a0:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
96d3a6:	03 c1                	add    %ecx,%eax
96d3a8:	8b ca                	mov    %edx,%ecx
96d3aa:	50                   	push   %eax
96d3ab:	56                   	push   %esi
96d3ac:	e8 fa e9 aa ff       	call   0x41bdab
96d3b1:	8b 9d 6c ff ff ff    	mov    -0x94(%ebp),%ebx
96d3b7:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
96d3bb:	c7 85 74 ff ff ff 01 	movl   $0x1,-0x8c(%ebp)
96d3c2:	00 00 00
96d3c5:	0f 84 96 00 00 00    	je     0x96d461
96d3cb:	8b 03                	mov    (%ebx),%eax
96d3cd:	8b 70 60             	mov    0x60(%eax),%esi
96d3d0:	8b ce                	mov    %esi,%ecx
96d3d2:	e8 8e f2 ab ff       	call   0x42c665
96d3d7:	8b cb                	mov    %ebx,%ecx
96d3d9:	ff d6                	call   *%esi
96d3db:	85 c0                	test   %eax,%eax
96d3dd:	0f 84 8b 00 00 00    	je     0x96d46e
96d3e3:	33 f6                	xor    %esi,%esi
96d3e5:	89 b5 64 ff ff ff    	mov    %esi,-0x9c(%ebp)
96d3eb:	83 bd 74 ff ff ff 00 	cmpl   $0x0,-0x8c(%ebp)
96d3f2:	0f 85 42 01 00 00    	jne    0x96d53a
96d3f8:	8b cb                	mov    %ebx,%ecx
96d3fa:	e8 86 41 ab ff       	call   0x421585
96d3ff:	85 c0                	test   %eax,%eax
96d401:	0f 84 33 01 00 00    	je     0x96d53a
96d407:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
96d40d:	85 c9                	test   %ecx,%ecx
96d40f:	0f 84 25 01 00 00    	je     0x96d53a
96d415:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
96d41b:	85 d2                	test   %edx,%edx
96d41d:	74 60                	je     0x96d47f
96d41f:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
96d425:	8b 8d 4c ff ff ff    	mov    -0xb4(%ebp),%ecx
96d42b:	03 c7                	add    %edi,%eax
96d42d:	03 4d 80             	add    -0x80(%ebp),%ecx
96d430:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
96d436:	89 45 c0             	mov    %eax,-0x40(%ebp)
96d439:	03 85 50 ff ff ff    	add    -0xb0(%ebp),%eax
96d43f:	89 45 c8             	mov    %eax,-0x38(%ebp)
96d442:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
96d448:	03 c1                	add    %ecx,%eax
96d44a:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
96d44d:	89 45 cc             	mov    %eax,-0x34(%ebp)
96d450:	8b ca                	mov    %edx,%ecx
96d452:	8d 45 c0             	lea    -0x40(%ebp),%eax
96d455:	50                   	push   %eax
96d456:	56                   	push   %esi
96d457:	e8 3d 43 a9 ff       	call   0x401799
96d45c:	e9 d9 00 00 00       	jmp    0x96d53a
96d461:	f7 43 24 00 00 04 00 	testl  $0x40000,0x24(%ebx)
96d468:	0f 84 75 ff ff ff    	je     0x96d3e3
96d46e:	c7 85 64 ff ff ff 01 	movl   $0x1,-0x9c(%ebp)
96d475:	00 00 00
96d478:	33 f6                	xor    %esi,%esi
96d47a:	e9 6c ff ff ff       	jmp    0x96d3eb
96d47f:	83 bd 70 ff ff ff 00 	cmpl   $0x0,-0x90(%ebp)
96d486:	8b 45 80             	mov    -0x80(%ebp),%eax
96d489:	74 4b                	je     0x96d4d6
96d48b:	47                   	inc    %edi
96d48c:	40                   	inc    %eax
96d48d:	89 45 80             	mov    %eax,-0x80(%ebp)
96d490:	39 73 04             	cmp    %esi,0x4(%ebx)
96d493:	74 05                	je     0x96d49a
96d495:	8b 53 38             	mov    0x38(%ebx),%edx
96d498:	eb 03                	jmp    0x96d49d
96d49a:	8b 53 34             	mov    0x34(%ebx),%edx
96d49d:	03 85 4c ff ff ff    	add    -0xb4(%ebp),%eax
96d4a3:	68 ff 00 00 00       	push   $0xff
96d4a8:	56                   	push   %esi
96d4a9:	6a 01                	push   $0x1
96d4ab:	56                   	push   %esi
96d4ac:	56                   	push   %esi
96d4ad:	56                   	push   %esi
96d4ae:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
96d4b4:	52                   	push   %edx
96d4b5:	50                   	push   %eax
96d4b6:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
96d4bc:	03 c7                	add    %edi,%eax
96d4be:	50                   	push   %eax
96d4bf:	56                   	push   %esi
96d4c0:	e8 e6 e8 aa ff       	call   0x41bdab
96d4c5:	8b 45 80             	mov    -0x80(%ebp),%eax
96d4c8:	83 ef 02             	sub    $0x2,%edi
96d4cb:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
96d4d1:	83 e8 02             	sub    $0x2,%eax
96d4d4:	eb 06                	jmp    0x96d4dc
96d4d6:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
96d4dc:	83 bd 64 ff ff ff 00 	cmpl   $0x0,-0x9c(%ebp)
96d4e3:	74 12                	je     0x96d4f7
96d4e5:	83 7d 24 00          	cmpl   $0x0,0x24(%ebp)
96d4e9:	74 0c                	je     0x96d4f7
96d4eb:	c7 85 64 ff ff ff 01 	movl   $0x1,-0x9c(%ebp)
96d4f2:	00 00 00
96d4f5:	eb 07                	jmp    0x96d4fe
96d4f7:	83 a5 64 ff ff ff 00 	andl   $0x0,-0x9c(%ebp)
96d4fe:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
96d502:	74 05                	je     0x96d509
96d504:	8b 53 38             	mov    0x38(%ebx),%edx
96d507:	eb 03                	jmp    0x96d50c
96d509:	8b 53 34             	mov    0x34(%ebx),%edx
96d50c:	03 85 4c ff ff ff    	add    -0xb4(%ebp),%eax
96d512:	68 ff 00 00 00       	push   $0xff
96d517:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
96d51d:	6a 00                	push   $0x0