42b095:	8b f3                	mov    %ebx,%esi
42b097:	2b 75 ec             	sub    -0x14(%ebp),%esi
42b09a:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b09d:	3b 70 20             	cmp    0x20(%eax),%esi
42b0a0:	7d 0e                	jge    0x42b0b0
42b0a2:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b0a5:	8b 40 20             	mov    0x20(%eax),%eax
42b0a8:	2b c6                	sub    %esi,%eax
42b0aa:	50                   	push   %eax
42b0ab:	e8 48 1d fe ff       	call   0x40cdf8
42b0b0:	89 5d ec             	mov    %ebx,-0x14(%ebp)
42b0b3:	8b 45 f8             	mov    -0x8(%ebp),%eax
42b0b6:	66 8b 40 04          	mov    0x4(%eax),%ax
42b0ba:	66 83 e8 01          	sub    $0x1,%ax
42b0be:	72 0e                	jb     0x42b0ce
42b0c0:	74 1f                	je     0x42b0e1
42b0c2:	66 ff c8             	dec    %ax
42b0c5:	74 2d                	je     0x42b0f4
42b0c7:	66 ff c8             	dec    %ax
42b0ca:	74 3b                	je     0x42b107
42b0cc:	eb 4a                	jmp    0x42b118
42b0ce:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b0d1:	8b 50 0c             	mov    0xc(%eax),%edx
42b0d4:	2b 55 f4             	sub    -0xc(%ebp),%edx
42b0d7:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b0da:	e8 85 02 00 00       	call   0x42b364
42b0df:	eb 37                	jmp    0x42b118
42b0e1:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b0e4:	8b 50 0c             	mov    0xc(%eax),%edx
42b0e7:	03 55 f4             	add    -0xc(%ebp),%edx
42b0ea:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b0ed:	e8 72 02 00 00       	call   0x42b364
42b0f2:	eb 24                	jmp    0x42b118
42b0f4:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b0f7:	8b 50 0c             	mov    0xc(%eax),%edx
42b0fa:	2b 55 f4             	sub    -0xc(%ebp),%edx
42b0fd:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b100:	e8 5f 02 00 00       	call   0x42b364
42b105:	eb 11                	jmp    0x42b118
42b107:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b10a:	8b 50 0c             	mov    0xc(%eax),%edx
42b10d:	03 55 f4             	add    -0xc(%ebp),%edx
42b110:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b113:	e8 4c 02 00 00       	call   0x42b364
42b118:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b11b:	8b 40 04             	mov    0x4(%eax),%eax
42b11e:	8b 10                	mov    (%eax),%edx
42b120:	ff 92 88 00 00 00    	call   *0x88(%edx)
42b126:	4f                   	dec    %edi
42b127:	85 ff                	test   %edi,%edi
42b129:	0f 8f 5f ff ff ff    	jg     0x42b08e
42b12f:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
42b133:	0f 8e aa 01 00 00    	jle    0x42b2e3
42b139:	8b 45 f8             	mov    -0x8(%ebp),%eax
42b13c:	66 8b 40 04          	mov    0x4(%eax),%ax
42b140:	66 83 e8 01          	sub    $0x1,%ax
42b144:	72 11                	jb     0x42b157
42b146:	74 25                	je     0x42b16d
42b148:	66 ff c8             	dec    %ax
42b14b:	74 36                	je     0x42b183
42b14d:	66 ff c8             	dec    %ax
42b150:	74 47                	je     0x42b199
42b152:	e9 8c 01 00 00       	jmp    0x42b2e3
42b157:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b15a:	8b 50 0c             	mov    0xc(%eax),%edx
42b15d:	2b 55 f0             	sub    -0x10(%ebp),%edx
42b160:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b163:	e8 fc 01 00 00       	call   0x42b364
42b168:	e9 76 01 00 00       	jmp    0x42b2e3
42b16d:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b170:	8b 50 0c             	mov    0xc(%eax),%edx
42b173:	03 55 f0             	add    -0x10(%ebp),%edx
42b176:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b179:	e8 e6 01 00 00       	call   0x42b364
42b17e:	e9 60 01 00 00       	jmp    0x42b2e3
42b183:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b186:	8b 50 0c             	mov    0xc(%eax),%edx
42b189:	2b 55 f0             	sub    -0x10(%ebp),%edx
42b18c:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b18f:	e8 d0 01 00 00       	call   0x42b364
42b194:	e9 4a 01 00 00       	jmp    0x42b2e3
42b199:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b19c:	8b 50 0c             	mov    0xc(%eax),%edx
42b19f:	03 55 f0             	add    -0x10(%ebp),%edx
42b1a2:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b1a5:	e8 ba 01 00 00       	call   0x42b364
42b1aa:	e9 34 01 00 00       	jmp    0x42b2e3
42b1af:	8b 45 f8             	mov    -0x8(%ebp),%eax
42b1b2:	0f bf 40 04          	movswl 0x4(%eax),%eax
42b1b6:	83 f8 07             	cmp    $0x7,%eax
42b1b9:	0f 87 24 01 00 00    	ja     0x42b2e3
42b1bf:	ff 24 85 c6 b1 42 00 	jmp    *0x42b1c6(,%eax,4)
42b1c6:	e6 b1                	out    %al,$0xb1
42b1c8:	42                   	inc    %edx
42b1c9:	00 02                	add    %al,(%edx)
42b1cb:	b2 42                	mov    $0x42,%dl
42b1cd:	00 1e                	add    %bl,(%esi)
42b1cf:	b2 42                	mov    $0x42,%dl
42b1d1:	00 3f                	add    %bh,(%edi)
42b1d3:	b2 42                	mov    $0x42,%dl
42b1d5:	00 60 b2             	add    %ah,-0x4e(%eax)
42b1d8:	42                   	inc    %edx
42b1d9:	00 90 b2 42 00 c9    	add    %dl,-0x36ffbd4e(%eax)
42b1df:	b2 42                	mov    $0x42,%dl
42b1e1:	00 d5                	add    %dl,%ch
42b1e3:	b2 42                	mov    $0x42,%dl
42b1e5:	00 8b 45 fc 8b 50    	add    %cl,0x508bfc45(%ebx)
42b1eb:	0c 8b                	or     $0x8b,%al
42b1ed:	45                   	inc    %ebp
42b1ee:	fc                   	cld
42b1ef:	0f b7 40 08          	movzwl 0x8(%eax),%eax
42b1f3:	2b d0                	sub    %eax,%edx
42b1f5:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b1f8:	e8 67 01 00 00       	call   0x42b364
42b1fd:	e9 e1 00 00 00       	jmp    0x42b2e3
42b202:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b205:	8b 50 0c             	mov    0xc(%eax),%edx
42b208:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b20b:	0f b7 40 08          	movzwl 0x8(%eax),%eax
42b20f:	03 d0                	add    %eax,%edx
42b211:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b214:	e8 4b 01 00 00       	call   0x42b364
42b219:	e9 c5 00 00 00       	jmp    0x42b2e3
42b21e:	33 c9                	xor    %ecx,%ecx
42b220:	b2 01                	mov    $0x1,%dl
42b222:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b225:	e8 ca fc ff ff       	call   0x42aef4
42b22a:	8b 55 fc             	mov    -0x4(%ebp),%edx
42b22d:	8b 52 0c             	mov    0xc(%edx),%edx
42b230:	2b d0                	sub    %eax,%edx
42b232:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b235:	e8 2a 01 00 00       	call   0x42b364
42b23a:	e9 a4 00 00 00       	jmp    0x42b2e3
42b23f:	33 c9                	xor    %ecx,%ecx
42b241:	b2 01                	mov    $0x1,%dl
42b243:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b246:	e8 a9 fc ff ff       	call   0x42aef4
42b24b:	8b d0                	mov    %eax,%edx
42b24d:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b250:	03 50 0c             	add    0xc(%eax),%edx
42b253:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b256:	e8 09 01 00 00       	call   0x42b364
42b25b:	e9 83 00 00 00       	jmp    0x42b2e3
42b260:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b263:	81 78 14 ff 7f 00 00 	cmpl   $0x7fff,0x14(%eax)
42b26a:	7e 13                	jle    0x42b27f
42b26c:	55                   	push   %ebp
42b26d:	e8 1a fd ff ff       	call   0x42af8c
42b272:	59                   	pop    %ecx
42b273:	8b d0                	mov    %eax,%edx
42b275:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b278:	e8 e7 00 00 00       	call   0x42b364
42b27d:	eb 64                	jmp    0x42b2e3
42b27f:	8b 55 f8             	mov    -0x8(%ebp),%edx
42b282:	0f bf 52 06          	movswl 0x6(%edx),%edx
42b286:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b289:	e8 d6 00 00 00       	call   0x42b364
42b28e:	eb 53                	jmp    0x42b2e3
42b290:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b293:	80 78 1d 00          	cmpb   $0x0,0x1d(%eax)
42b297:	74 4a                	je     0x42b2e3
42b299:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b29c:	81 78 14 ff 7f 00 00 	cmpl   $0x7fff,0x14(%eax)
42b2a3:	7e 13                	jle    0x42b2b8
42b2a5:	55                   	push   %ebp
42b2a6:	e8 e1 fc ff ff       	call   0x42af8c
42b2ab:	59                   	pop    %ecx
42b2ac:	8b d0                	mov    %eax,%edx
42b2ae:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b2b1:	e8 ae 00 00 00       	call   0x42b364
42b2b6:	eb 2b                	jmp    0x42b2e3
42b2b8:	8b 55 f8             	mov    -0x8(%ebp),%edx
42b2bb:	0f bf 52 06          	movswl 0x6(%edx),%edx
42b2bf:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b2c2:	e8 9d 00 00 00       	call   0x42b364
42b2c7:	eb 1a                	jmp    0x42b2e3
42b2c9:	33 d2                	xor    %edx,%edx
42b2cb:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b2ce:	e8 91 00 00 00       	call   0x42b364
42b2d3:	eb 0e                	jmp    0x42b2e3
42b2d5:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b2d8:	8b 50 14             	mov    0x14(%eax),%edx
42b2db:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b2de:	e8 81 00 00 00       	call   0x42b364
42b2e3:	5f                   	pop    %edi
42b2e4:	5e                   	pop    %esi
42b2e5:	5b                   	pop    %ebx
42b2e6:	8b e5                	mov    %ebp,%esp
42b2e8:	5d                   	pop    %ebp
42b2e9:	c3                   	ret
42b2ea:	8b c0                	mov    %eax,%eax
42b2ec:	53                   	push   %ebx
42b2ed:	56                   	push   %esi
42b2ee:	8b d8                	mov    %eax,%ebx
42b2f0:	3b 53 24             	cmp    0x24(%ebx),%edx
42b2f3:	74 36                	je     0x42b32b
42b2f5:	8b f2                	mov    %edx,%esi
42b2f7:	85 f6                	test   %esi,%esi
42b2f9:	75 18                	jne    0x42b313
42b2fb:	33 c0                	xor    %eax,%eax
42b2fd:	8a 43 18             	mov    0x18(%ebx),%al
42b300:	8b 04 85 c0 59 45 00 	mov    0x4559c0(,%eax,4),%eax
42b307:	50                   	push   %eax
42b308:	a1 c8 0a 46 00       	mov    0x460ac8,%eax
42b30d:	8b 00                	mov    (%eax),%eax
42b30f:	ff d0                	call   *%eax
42b311:	8b d0                	mov    %eax,%edx
42b313:	89 53 24             	mov    %edx,0x24(%ebx)
42b316:	c6 43 44 01          	movb   $0x1,0x44(%ebx)
42b31a:	8b 43 04             	mov    0x4(%ebx),%eax
42b31d:	e8 ba 06 00 00       	call   0x42b9dc
42b322:	85 f6                	test   %esi,%esi
42b324:	75 05                	jne    0x42b32b
42b326:	33 c0                	xor    %eax,%eax
42b328:	89 43 24             	mov    %eax,0x24(%ebx)
42b32b:	5e                   	pop    %esi
42b32c:	5b                   	pop    %ebx
42b32d:	c3                   	ret
42b32e:	8b c0                	mov    %eax,%eax
42b330:	3b 50 28             	cmp    0x28(%eax),%edx
42b333:	74 13                	je     0x42b348
42b335:	89 50 28             	mov    %edx,0x28(%eax)
42b338:	c6 40 2c 00          	movb   $0x0,0x2c(%eax)
42b33c:	c6 40 44 01          	movb   $0x1,0x44(%eax)
42b340:	8b 40 04             	mov    0x4(%eax),%eax
42b343:	e8 94 06 00 00       	call   0x42b9dc
42b348:	c3                   	ret
42b349:	8d 40 00             	lea    0x0(%eax),%eax
42b34c:	3a 50 2c             	cmp    0x2c(%eax),%dl
42b34f:	74 11                	je     0x42b362
42b351:	88 50 2c             	mov    %dl,0x2c(%eax)
42b354:	84 d2                	test   %dl,%dl
42b356:	74 0a                	je     0x42b362
42b358:	ba 14 00 00 ff       	mov    $0xff000014,%edx
42b35d:	e8 ce ff ff ff       	call   0x42b330
42b362:	c3                   	ret
42b363:	90                   	nop
42b364:	53                   	push   %ebx
42b365:	56                   	push   %esi
42b366:	57                   	push   %edi
42b367:	8b d8                	mov    %eax,%ebx
42b369:	8b 43 04             	mov    0x4(%ebx),%eax
42b36c:	f6 40 1c 02          	testb  $0x2,0x1c(%eax)
42b370:	74 08                	je     0x42b37a
42b372:	89 53 0c             	mov    %edx,0xc(%ebx)
42b375:	e9 a7 00 00 00       	jmp    0x42b421
42b37a:	8b 43 14             	mov    0x14(%ebx),%eax
42b37d:	3b d0                	cmp    %eax,%edx
42b37f:	7e 04                	jle    0x42b385
42b381:	8b d0                	mov    %eax,%edx
42b383:	eb 06                	jmp    0x42b38b
42b385:	85 d2                	test   %edx,%edx
42b387:	7d 02                	jge    0x42b38b
42b389:	33 d2                	xor    %edx,%edx
42b38b:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
42b38f:	75 04                	jne    0x42b395
42b391:	33 f6                	xor    %esi,%esi
42b393:	eb 04                	jmp    0x42b399
42b395:	66 be 01 00          	mov    $0x1,%si
42b399:	8b 43 0c             	mov    0xc(%ebx),%eax
42b39c:	3b d0                	cmp    %eax,%edx
42b39e:	74 4d                	je     0x42b3ed
42b3a0:	89 53 0c             	mov    %edx,0xc(%ebx)
42b3a3:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
42b3a7:	75 10                	jne    0x42b3b9
42b3a9:	2b c2                	sub    %edx,%eax
42b3ab:	8b d0                	mov    %eax,%edx
42b3ad:	33 c9                	xor    %ecx,%ecx
42b3af:	8b 43 04             	mov    0x4(%ebx),%eax
42b3b2:	e8 dd c8 01 00       	call   0x447c94
42b3b7:	eb 0e                	jmp    0x42b3c7
42b3b9:	8b c8                	mov    %eax,%ecx
42b3bb:	2b ca                	sub    %edx,%ecx
42b3bd:	8b 43 04             	mov    0x4(%ebx),%eax
42b3c0:	33 d2                	xor    %edx,%edx
42b3c2:	e8 cd c8 01 00       	call   0x447c94
42b3c7:	8b 43 04             	mov    0x4(%ebx),%eax
42b3ca:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
42b3ce:	74 1d                	je     0x42b3ed
42b3d0:	e8 f7 f6 ff ff       	call   0x42aacc
42b3d5:	85 c0                	test   %eax,%eax
42b3d7:	74 14                	je     0x42b3ed
42b3d9:	83 b8 50 02 00 00 00 	cmpl   $0x0,0x250(%eax)
42b3e0:	74 0b                	je     0x42b3ed
42b3e2:	8b 80 50 02 00 00    	mov    0x250(%eax),%eax
42b3e8:	8b 10                	mov    (%eax),%edx
42b3ea:	ff 52 0c             	call   *0xc(%edx)
42b3ed:	0f b7 fe             	movzwl %si,%edi
42b3f0:	57                   	push   %edi
42b3f1:	8b 43 04             	mov    0x4(%ebx),%eax
42b3f4:	e8 e3 cc 01 00       	call   0x4480dc
42b3f9:	50                   	push   %eax
42b3fa:	a1 34 0b 46 00       	mov    0x460b34,%eax
42b3ff:	8b 00                	mov    (%eax),%eax
42b401:	ff d0                	call   *%eax
42b403:	3b 43 0c             	cmp    0xc(%ebx),%eax
42b406:	74 19                	je     0x42b421
42b408:	6a ff                	push   $0xffffffff
42b40a:	8b 43 0c             	mov    0xc(%ebx),%eax
42b40d:	50                   	push   %eax
42b40e:	57                   	push   %edi
42b40f:	8b 43 04             	mov    0x4(%ebx),%eax
42b412:	e8 c5 cc 01 00       	call   0x4480dc
42b417:	50                   	push   %eax
42b418:	a1 24 0d 46 00       	mov    0x460d24,%eax
42b41d:	8b 00                	mov    (%eax),%eax
42b41f:	ff d0                	call   *%eax
42b421:	5f                   	pop    %edi
42b422:	5e                   	pop    %esi
42b423:	5b                   	pop    %ebx
42b424:	c3                   	ret
42b425:	8d 40 00             	lea    0x0(%eax),%eax
42b428:	53                   	push   %ebx
42b429:	56                   	push   %esi
42b42a:	8b d8                	mov    %eax,%ebx
42b42c:	3b 53 30             	cmp    0x30(%ebx),%edx
42b42f:	74 36                	je     0x42b467
42b431:	8b f2                	mov    %edx,%esi
42b433:	85 f6                	test   %esi,%esi
42b435:	75 18                	jne    0x42b44f
42b437:	33 c0                	xor    %eax,%eax
42b439:	8a 43 18             	mov    0x18(%ebx),%al
42b43c:	8b 04 85 c8 59 45 00 	mov    0x4559c8(,%eax,4),%eax
42b443:	50                   	push   %eax
42b444:	a1 c8 0a 46 00       	mov    0x460ac8,%eax
42b449:	8b 00                	mov    (%eax),%eax
42b44b:	ff d0                	call   *%eax
42b44d:	8b d0                	mov    %eax,%edx
42b44f:	89 53 30             	mov    %edx,0x30(%ebx)
42b452:	c6 43 44 01          	movb   $0x1,0x44(%ebx)
42b456:	8b 43 04             	mov    0x4(%ebx),%eax
42b459:	e8 7e 05 00 00       	call   0x42b9dc
42b45e:	85 f6                	test   %esi,%esi
42b460:	75 05                	jne    0x42b467
42b462:	33 c0                	xor    %eax,%eax
42b464:	89 43 30             	mov    %eax,0x30(%ebx)
42b467:	5e                   	pop    %esi
42b468:	5b                   	pop    %ebx
42b469:	c3                   	ret
42b46a:	8b c0                	mov    %eax,%eax
42b46c:	3a 50 34             	cmp    0x34(%eax),%dl
42b46f:	74 0f                	je     0x42b480
42b471:	88 50 34             	mov    %dl,0x34(%eax)
42b474:	c6 40 44 01          	movb   $0x1,0x44(%eax)
42b478:	8b 40 04             	mov    0x4(%eax),%eax
42b47b:	e8 5c 05 00 00       	call   0x42b9dc
42b480:	c3                   	ret
42b481:	8d 40 00             	lea    0x0(%eax),%eax
42b484:	3b 50 38             	cmp    0x38(%eax),%edx
42b487:	74 0f                	je     0x42b498