42b291:	8b ff                	mov    %edi,%edi
42b293:	55                   	push   %ebp
42b294:	8b ec                	mov    %esp,%ebp
42b296:	53                   	push   %ebx
42b297:	56                   	push   %esi
42b298:	8b 75 08             	mov    0x8(%ebp),%esi
42b29b:	33 db                	xor    %ebx,%ebx
42b29d:	57                   	push   %edi
42b29e:	6a 01                	push   $0x1
42b2a0:	53                   	push   %ebx
42b2a1:	53                   	push   %ebx
42b2a2:	56                   	push   %esi
42b2a3:	8b f9                	mov    %ecx,%edi
42b2a5:	e8 50 67 ff ff       	call   0x4219fa
42b2aa:	6a 02                	push   $0x2
42b2ac:	53                   	push   %ebx
42b2ad:	53                   	push   %ebx
42b2ae:	56                   	push   %esi
42b2af:	89 07                	mov    %eax,(%edi)
42b2b1:	89 57 04             	mov    %edx,0x4(%edi)
42b2b4:	e8 41 67 ff ff       	call   0x4219fa
42b2b9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42b2bc:	83 c4 20             	add    $0x20,%esp
42b2bf:	89 47 08             	mov    %eax,0x8(%edi)
42b2c2:	2b c8                	sub    %eax,%ecx
42b2c4:	8b 45 10             	mov    0x10(%ebp),%eax
42b2c7:	1b c2                	sbb    %edx,%eax
42b2c9:	89 77 18             	mov    %esi,0x18(%edi)
42b2cc:	89 47 14             	mov    %eax,0x14(%edi)
42b2cf:	8b c7                	mov    %edi,%eax
42b2d1:	89 57 0c             	mov    %edx,0xc(%edi)
42b2d4:	89 4f 10             	mov    %ecx,0x10(%edi)
42b2d7:	5f                   	pop    %edi
42b2d8:	5e                   	pop    %esi
42b2d9:	5b                   	pop    %ebx
42b2da:	5d                   	pop    %ebp
42b2db:	c2 0c 00             	ret    $0xc
42b2de:	8b ff                	mov    %edi,%edi
42b2e0:	55                   	push   %ebp
42b2e1:	8b ec                	mov    %esp,%ebp
42b2e3:	83 ec 28             	sub    $0x28,%esp
42b2e6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42b2e9:	56                   	push   %esi
42b2ea:	6a 00                	push   $0x0
42b2ec:	e8 f1 1d fe ff       	call   0x40d0e2
42b2f1:	8d 45 d8             	lea    -0x28(%ebp),%eax
42b2f4:	50                   	push   %eax
42b2f5:	ff 75 10             	push   0x10(%ebp)
42b2f8:	ff 75 0c             	push   0xc(%ebp)
42b2fb:	ff 75 08             	push   0x8(%ebp)
42b2fe:	e8 12 00 00 00       	call   0x42b315
42b303:	83 c4 10             	add    $0x10,%esp
42b306:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42b309:	8b f0                	mov    %eax,%esi
42b30b:	e8 1a 1e fe ff       	call   0x40d12a
42b310:	8b c6                	mov    %esi,%eax
42b312:	5e                   	pop    %esi
42b313:	c9                   	leave
42b314:	c3                   	ret
42b315:	8b ff                	mov    %edi,%edi
42b317:	55                   	push   %ebp
42b318:	8b ec                	mov    %esp,%ebp
42b31a:	83 ec 2c             	sub    $0x2c,%esp
42b31d:	53                   	push   %ebx
42b31e:	8b 5d 08             	mov    0x8(%ebp),%ebx
42b321:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
42b324:	56                   	push   %esi
42b325:	57                   	push   %edi
42b326:	ff 75 10             	push   0x10(%ebp)
42b329:	8b 7d 14             	mov    0x14(%ebp),%edi
42b32c:	ff 75 0c             	push   0xc(%ebp)
42b32f:	53                   	push   %ebx
42b330:	e8 5c ff ff ff       	call   0x42b291
42b335:	8b 45 d4             	mov    -0x2c(%ebp),%eax
42b338:	23 45 d8             	and    -0x28(%ebp),%eax
42b33b:	83 f8 ff             	cmp    $0xffffffff,%eax
42b33e:	0f 84 40 01 00 00    	je     0x42b484
42b344:	8b 45 dc             	mov    -0x24(%ebp),%eax
42b347:	23 45 e0             	and    -0x20(%ebp),%eax
42b34a:	83 f8 ff             	cmp    $0xffffffff,%eax
42b34d:	0f 84 31 01 00 00    	je     0x42b484
42b353:	8b 4d e8             	mov    -0x18(%ebp),%ecx
42b356:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42b359:	89 4d f8             	mov    %ecx,-0x8(%ebp)
42b35c:	89 45 fc             	mov    %eax,-0x4(%ebp)
42b35f:	85 c9                	test   %ecx,%ecx
42b361:	0f 8c d2 00 00 00    	jl     0x42b439
42b367:	7f 08                	jg     0x42b371
42b369:	85 c0                	test   %eax,%eax
42b36b:	0f 84 be 00 00 00    	je     0x42b42f
42b371:	6a 01                	push   $0x1
42b373:	68 00 10 00 00       	push   $0x1000
42b378:	e8 33 b8 fd ff       	call   0x406bb0
42b37d:	8b f0                	mov    %eax,%esi
42b37f:	59                   	pop    %ecx
42b380:	59                   	pop    %ecx
42b381:	85 f6                	test   %esi,%esi
42b383:	75 0f                	jne    0x42b394
42b385:	6a 0c                	push   $0xc
42b387:	5b                   	pop    %ebx
42b388:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
42b38c:	89 5f 18             	mov    %ebx,0x18(%edi)
42b38f:	e9 92 00 00 00       	jmp    0x42b426
42b394:	68 00 80 00 00       	push   $0x8000
42b399:	53                   	push   %ebx
42b39a:	e8 ad ed fe ff       	call   0x41a14c
42b39f:	59                   	pop    %ecx
42b3a0:	59                   	pop    %ecx
42b3a1:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
42b3a4:	89 45 f4             	mov    %eax,-0xc(%ebp)
42b3a7:	8b 45 e8             	mov    -0x18(%ebp),%eax
42b3aa:	85 c0                	test   %eax,%eax
42b3ac:	7c 0f                	jl     0x42b3bd
42b3ae:	7f 08                	jg     0x42b3b8
42b3b0:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
42b3b6:	72 05                	jb     0x42b3bd
42b3b8:	b9 00 10 00 00       	mov    $0x1000,%ecx
42b3bd:	57                   	push   %edi
42b3be:	51                   	push   %ecx
42b3bf:	56                   	push   %esi
42b3c0:	53                   	push   %ebx
42b3c1:	e8 e7 e5 ff ff       	call   0x4299ad
42b3c6:	83 c4 10             	add    $0x10,%esp
42b3c9:	83 f8 ff             	cmp    $0xffffffff,%eax
42b3cc:	74 34                	je     0x42b402
42b3ce:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42b3d1:	99                   	cltd
42b3d2:	2b c8                	sub    %eax,%ecx
42b3d4:	8b 45 f8             	mov    -0x8(%ebp),%eax
42b3d7:	89 4d fc             	mov    %ecx,-0x4(%ebp)
42b3da:	1b c2                	sbb    %edx,%eax
42b3dc:	89 45 f8             	mov    %eax,-0x8(%ebp)
42b3df:	85 c0                	test   %eax,%eax
42b3e1:	7f d5                	jg     0x42b3b8
42b3e3:	7c 04                	jl     0x42b3e9
42b3e5:	85 c9                	test   %ecx,%ecx
42b3e7:	75 c1                	jne    0x42b3aa
42b3e9:	ff 75 f4             	push   -0xc(%ebp)
42b3ec:	53                   	push   %ebx
42b3ed:	e8 5a ed fe ff       	call   0x41a14c
42b3f2:	56                   	push   %esi
42b3f3:	e8 18 b8 fd ff       	call   0x406c10
42b3f8:	83 c4 0c             	add    $0xc,%esp
42b3fb:	33 db                	xor    %ebx,%ebx
42b3fd:	e9 90 00 00 00       	jmp    0x42b492
42b402:	80 7f 24 00          	cmpb   $0x0,0x24(%edi)
42b406:	74 11                	je     0x42b419
42b408:	83 7f 20 05          	cmpl   $0x5,0x20(%edi)
42b40c:	75 0b                	jne    0x42b419
42b40e:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
42b412:	c7 47 18 0d 00 00 00 	movl   $0xd,0x18(%edi)
42b419:	80 7f 1c 00          	cmpb   $0x0,0x1c(%edi)
42b41d:	74 05                	je     0x42b424
42b41f:	8b 5f 18             	mov    0x18(%edi),%ebx
42b422:	eb 02                	jmp    0x42b426
42b424:	33 db                	xor    %ebx,%ebx
42b426:	56                   	push   %esi
42b427:	e8 e4 b7 fd ff       	call   0x406c10
42b42c:	59                   	pop    %ecx
42b42d:	eb 63                	jmp    0x42b492
42b42f:	85 c9                	test   %ecx,%ecx
42b431:	7f c8                	jg     0x42b3fb
42b433:	7c 04                	jl     0x42b439
42b435:	85 c0                	test   %eax,%eax
42b437:	73 c2                	jae    0x42b3fb
42b439:	6a 00                	push   $0x0
42b43b:	ff 75 10             	push   0x10(%ebp)
42b43e:	ff 75 0c             	push   0xc(%ebp)
42b441:	53                   	push   %ebx
42b442:	e8 b3 65 ff ff       	call   0x4219fa
42b447:	23 c2                	and    %edx,%eax
42b449:	83 c4 10             	add    $0x10,%esp
42b44c:	83 f8 ff             	cmp    $0xffffffff,%eax
42b44f:	75 08                	jne    0x42b459
42b451:	80 7f 1c 00          	cmpb   $0x0,0x1c(%edi)
42b455:	74 a4                	je     0x42b3fb
42b457:	eb 31                	jmp    0x42b48a
42b459:	53                   	push   %ebx
42b45a:	e8 3d 57 ff ff       	call   0x420b9c
42b45f:	59                   	pop    %ecx
42b460:	50                   	push   %eax
42b461:	ff 15 70 11 43 00    	call   *0x431170
42b467:	85 c0                	test   %eax,%eax
42b469:	75 90                	jne    0x42b3fb
42b46b:	ff 15 08 11 43 00    	call   *0x431108
42b471:	6a 0d                	push   $0xd
42b473:	c6 47 24 01          	movb   $0x1,0x24(%edi)
42b477:	89 47 20             	mov    %eax,0x20(%edi)
42b47a:	5b                   	pop    %ebx
42b47b:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
42b47f:	89 5f 18             	mov    %ebx,0x18(%edi)
42b482:	eb 0e                	jmp    0x42b492
42b484:	80 7f 1c 00          	cmpb   $0x0,0x1c(%edi)
42b488:	74 05                	je     0x42b48f
42b48a:	8b 5f 18             	mov    0x18(%edi),%ebx
42b48d:	eb 03                	jmp    0x42b492
42b48f:	6a 16                	push   $0x16
42b491:	5b                   	pop    %ebx
42b492:	6a 00                	push   $0x0
42b494:	ff 75 d8             	push   -0x28(%ebp)
42b497:	ff 75 d4             	push   -0x2c(%ebp)
42b49a:	ff 75 ec             	push   -0x14(%ebp)
42b49d:	e8 58 65 ff ff       	call   0x4219fa
42b4a2:	83 c4 10             	add    $0x10,%esp
42b4a5:	8b c3                	mov    %ebx,%eax
42b4a7:	5f                   	pop    %edi
42b4a8:	5e                   	pop    %esi
42b4a9:	5b                   	pop    %ebx
42b4aa:	c9                   	leave
42b4ab:	c3                   	ret
42b4ac:	8b ff                	mov    %edi,%edi
42b4ae:	55                   	push   %ebp
42b4af:	8b ec                	mov    %esp,%ebp
42b4b1:	51                   	push   %ecx
42b4b2:	e8 3d 0f 00 00       	call   0x42c3f4
42b4b7:	85 c0                	test   %eax,%eax
42b4b9:	74 1c                	je     0x42b4d7
42b4bb:	8d 45 fc             	lea    -0x4(%ebp),%eax
42b4be:	50                   	push   %eax
42b4bf:	8d 45 08             	lea    0x8(%ebp),%eax
42b4c2:	6a 01                	push   $0x1
42b4c4:	50                   	push   %eax
42b4c5:	e8 60 0f 00 00       	call   0x42c42a
42b4ca:	83 c4 0c             	add    $0xc,%esp
42b4cd:	85 c0                	test   %eax,%eax
42b4cf:	74 06                	je     0x42b4d7
42b4d1:	66 8b 45 08          	mov    0x8(%ebp),%ax
42b4d5:	c9                   	leave
42b4d6:	c3                   	ret
42b4d7:	b8 ff ff 00 00       	mov    $0xffff,%eax
42b4dc:	c9                   	leave
42b4dd:	c3                   	ret
42b4de:	8b ff                	mov    %edi,%edi
42b4e0:	55                   	push   %ebp
42b4e1:	8b ec                	mov    %esp,%ebp
42b4e3:	8b 45 10             	mov    0x10(%ebp),%eax
42b4e6:	53                   	push   %ebx
42b4e7:	8b 5d 0c             	mov    0xc(%ebp),%ebx
42b4ea:	56                   	push   %esi
42b4eb:	33 f6                	xor    %esi,%esi
42b4ed:	85 db                	test   %ebx,%ebx
42b4ef:	75 06                	jne    0x42b4f7
42b4f1:	85 c0                	test   %eax,%eax
42b4f3:	74 2d                	je     0x42b522
42b4f5:	eb 04                	jmp    0x42b4fb
42b4f7:	85 c0                	test   %eax,%eax
42b4f9:	75 22                	jne    0x42b51d
42b4fb:	8b 45 1c             	mov    0x1c(%ebp),%eax
42b4fe:	6a 16                	push   $0x16
42b500:	5b                   	pop    %ebx
42b501:	50                   	push   %eax
42b502:	56                   	push   %esi
42b503:	56                   	push   %esi
42b504:	56                   	push   %esi
42b505:	56                   	push   %esi
42b506:	56                   	push   %esi
42b507:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
42b50b:	89 58 18             	mov    %ebx,0x18(%eax)
42b50e:	e8 5e 1e fe ff       	call   0x40d371
42b513:	83 c4 18             	add    $0x18,%esp
42b516:	8b c3                	mov    %ebx,%eax
42b518:	e9 99 00 00 00       	jmp    0x42b5b6
42b51d:	33 c9                	xor    %ecx,%ecx
42b51f:	66 89 0b             	mov    %cx,(%ebx)
42b522:	8b 4d 08             	mov    0x8(%ebp),%ecx
42b525:	85 c9                	test   %ecx,%ecx
42b527:	74 02                	je     0x42b52b
42b529:	89 31                	mov    %esi,(%ecx)
42b52b:	39 45 18             	cmp    %eax,0x18(%ebp)
42b52e:	77 03                	ja     0x42b533
42b530:	8b 45 18             	mov    0x18(%ebp),%eax
42b533:	57                   	push   %edi
42b534:	8b 7d 1c             	mov    0x1c(%ebp),%edi
42b537:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
42b53c:	76 04                	jbe    0x42b542
42b53e:	6a 16                	push   $0x16
42b540:	eb 42                	jmp    0x42b584
42b542:	57                   	push   %edi
42b543:	50                   	push   %eax
42b544:	ff 75 14             	push   0x14(%ebp)
42b547:	53                   	push   %ebx
42b548:	e8 6d 00 00 00       	call   0x42b5ba
42b54d:	8b c8                	mov    %eax,%ecx
42b54f:	83 c4 10             	add    $0x10,%esp
42b552:	83 f9 ff             	cmp    $0xffffffff,%ecx
42b555:	75 14                	jne    0x42b56b
42b557:	85 db                	test   %ebx,%ebx
42b559:	74 05                	je     0x42b560
42b55b:	33 c0                	xor    %eax,%eax
42b55d:	66 89 03             	mov    %ax,(%ebx)
42b560:	80 7f 1c 00          	cmpb   $0x0,0x1c(%edi)
42b564:	74 4d                	je     0x42b5b3
42b566:	8b 77 18             	mov    0x18(%edi),%esi
42b569:	eb 48                	jmp    0x42b5b3
42b56b:	41                   	inc    %ecx
42b56c:	85 db                	test   %ebx,%ebx
42b56e:	74 3a                	je     0x42b5aa
42b570:	8b 45 10             	mov    0x10(%ebp),%eax
42b573:	3b c8                	cmp    %eax,%ecx
42b575:	76 2c                	jbe    0x42b5a3
42b577:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
42b57b:	74 21                	je     0x42b59e
42b57d:	33 c0                	xor    %eax,%eax
42b57f:	66 89 03             	mov    %ax,(%ebx)
42b582:	6a 22                	push   $0x22
42b584:	5b                   	pop    %ebx
42b585:	57                   	push   %edi
42b586:	56                   	push   %esi
42b587:	56                   	push   %esi
42b588:	56                   	push   %esi
42b589:	56                   	push   %esi
42b58a:	89 5f 18             	mov    %ebx,0x18(%edi)
42b58d:	56                   	push   %esi
42b58e:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
42b592:	e8 da 1d fe ff       	call   0x40d371
42b597:	83 c4 18             	add    $0x18,%esp
42b59a:	8b c3                	mov    %ebx,%eax
42b59c:	eb 17                	jmp    0x42b5b5
42b59e:	6a 50                	push   $0x50
42b5a0:	8b c8                	mov    %eax,%ecx
42b5a2:	5e                   	pop    %esi
42b5a3:	33 c0                	xor    %eax,%eax
42b5a5:	66 89 44 4b fe       	mov    %ax,-0x2(%ebx,%ecx,2)
42b5aa:	8b 45 08             	mov    0x8(%ebp),%eax
42b5ad:	85 c0                	test   %eax,%eax
42b5af:	74 02                	je     0x42b5b3
42b5b1:	89 08                	mov    %ecx,(%eax)
42b5b3:	8b c6                	mov    %esi,%eax
42b5b5:	5f                   	pop    %edi
42b5b6:	5e                   	pop    %esi
42b5b7:	5b                   	pop    %ebx
42b5b8:	5d                   	pop    %ebp
42b5b9:	c3                   	ret
42b5ba:	8b ff                	mov    %edi,%edi
42b5bc:	55                   	push   %ebp
42b5bd:	8b ec                	mov    %esp,%ebp
42b5bf:	6a ff                	push   $0xffffffff
42b5c1:	68 c4 02 43 00       	push   $0x4302c4
42b5c6:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
42b5cc:	50                   	push   %eax
42b5cd:	83 ec 0c             	sub    $0xc,%esp
42b5d0:	53                   	push   %ebx
42b5d1:	56                   	push   %esi
42b5d2:	57                   	push   %edi
42b5d3:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
42b5d8:	33 c5                	xor    %ebp,%eax
42b5da:	50                   	push   %eax
42b5db:	8d 45 f4             	lea    -0xc(%ebp),%eax
42b5de:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
42b5e4:	8b 5d 08             	mov    0x8(%ebp),%ebx