44a167:	5d                   	pop    %ebp
44a168:	5f                   	pop    %edi
44a169:	5e                   	pop    %esi
44a16a:	5b                   	pop    %ebx
44a16b:	c3                   	ret
44a16c:	83 c4 f0             	add    $0xfffffff0,%esp
44a16f:	0f b7 d2             	movzwl %dx,%edx
44a172:	89 14 24             	mov    %edx,(%esp)
44a175:	33 d2                	xor    %edx,%edx
44a177:	89 54 24 04          	mov    %edx,0x4(%esp)
44a17b:	33 d2                	xor    %edx,%edx
44a17d:	89 54 24 08          	mov    %edx,0x8(%esp)
44a181:	33 d2                	xor    %edx,%edx
44a183:	89 54 24 0c          	mov    %edx,0xc(%esp)
44a187:	8b d4                	mov    %esp,%edx
44a189:	e8 9e ff ff ff       	call   0x44a12c
44a18e:	83 c4 10             	add    $0x10,%esp
44a191:	c3                   	ret
44a192:	8b c0                	mov    %eax,%eax
44a194:	53                   	push   %ebx
44a195:	56                   	push   %esi
44a196:	57                   	push   %edi
44a197:	8b f1                	mov    %ecx,%esi
44a199:	8b da                	mov    %edx,%ebx
44a19b:	85 f6                	test   %esi,%esi
44a19d:	74 5c                	je     0x44a1fb
44a19f:	8b 7b 34             	mov    0x34(%ebx),%edi
44a1a2:	8d 43 24             	lea    0x24(%ebx),%eax
44a1a5:	50                   	push   %eax
44a1a6:	56                   	push   %esi
44a1a7:	a1 64 56 47 00       	mov    0x475664,%eax
44a1ac:	50                   	push   %eax
44a1ad:	e8 6a c6 fb ff       	call   0x40681c
44a1b2:	85 c0                	test   %eax,%eax
44a1b4:	75 34                	jne    0x44a1ea
44a1b6:	8d 43 24             	lea    0x24(%ebx),%eax
44a1b9:	50                   	push   %eax
44a1ba:	56                   	push   %esi
44a1bb:	6a 00                	push   $0x0
44a1bd:	e8 5a c6 fb ff       	call   0x40681c
44a1c2:	85 c0                	test   %eax,%eax
44a1c4:	75 24                	jne    0x44a1ea
44a1c6:	8d 43 24             	lea    0x24(%ebx),%eax
44a1c9:	50                   	push   %eax
44a1ca:	56                   	push   %esi
44a1cb:	a1 f0 45 47 00       	mov    0x4745f0,%eax
44a1d0:	8b 00                	mov    (%eax),%eax
44a1d2:	50                   	push   %eax
44a1d3:	e8 44 c6 fb ff       	call   0x40681c
44a1d8:	85 c0                	test   %eax,%eax
44a1da:	75 0e                	jne    0x44a1ea
44a1dc:	8d 43 24             	lea    0x24(%ebx),%eax
44a1df:	50                   	push   %eax
44a1e0:	56                   	push   %esi
44a1e1:	8b 43 34             	mov    0x34(%ebx),%eax
44a1e4:	50                   	push   %eax
44a1e5:	e8 32 c6 fb ff       	call   0x40681c
44a1ea:	89 7b 34             	mov    %edi,0x34(%ebx)
44a1ed:	8b 43 24             	mov    0x24(%ebx),%eax
44a1f0:	25 1f bf ff ff       	and    $0xffffbf1f,%eax
44a1f5:	83 c8 03             	or     $0x3,%eax
44a1f8:	89 43 24             	mov    %eax,0x24(%ebx)
44a1fb:	5f                   	pop    %edi
44a1fc:	5e                   	pop    %esi
44a1fd:	5b                   	pop    %ebx
44a1fe:	c3                   	ret
44a1ff:	90                   	nop
44a200:	53                   	push   %ebx
44a201:	56                   	push   %esi
44a202:	57                   	push   %edi
44a203:	8b fa                	mov    %edx,%edi
44a205:	8b d8                	mov    %eax,%ebx
44a207:	8b c3                	mov    %ebx,%eax
44a209:	e8 2a d0 ff ff       	call   0x447238
44a20e:	84 c0                	test   %al,%al
44a210:	74 06                	je     0x44a218
44a212:	81 0f 00 20 00 00    	orl    $0x2000,(%edi)
44a218:	8b c3                	mov    %ebx,%eax
44a21a:	e8 49 d0 ff ff       	call   0x447268
44a21f:	84 c0                	test   %al,%al
44a221:	74 06                	je     0x44a229
44a223:	81 0f 00 40 00 00    	orl    $0x4000,(%edi)
44a229:	8b c3                	mov    %ebx,%eax
44a22b:	66 be c8 ff          	mov    $0xffc8,%si
44a22f:	e8 88 92 fb ff       	call   0x4034bc
44a234:	84 c0                	test   %al,%al
44a236:	74 29                	je     0x44a261
44a238:	8b c3                	mov    %ebx,%eax
44a23a:	66 be ca ff          	mov    $0xffca,%si
44a23e:	e8 79 92 fb ff       	call   0x4034bc
44a243:	84 c0                	test   %al,%al
44a245:	75 08                	jne    0x44a24f
44a247:	81 0f 00 10 00 00    	orl    $0x1000,(%edi)
44a24d:	eb 12                	jmp    0x44a261
44a24f:	8b c3                	mov    %ebx,%eax
44a251:	66 be ca ff          	mov    $0xffca,%si
44a255:	e8 62 92 fb ff       	call   0x4034bc
44a25a:	3c 01                	cmp    $0x1,%al
44a25c:	75 03                	jne    0x44a261
44a25e:	83 0f 00             	orl    $0x0,(%edi)
44a261:	5f                   	pop    %edi
44a262:	5e                   	pop    %esi
44a263:	5b                   	pop    %ebx
44a264:	c3                   	ret
44a265:	8d 40 00             	lea    0x0(%eax),%eax
44a268:	55                   	push   %ebp
44a269:	8b ec                	mov    %esp,%ebp
44a26b:	81 c4 fc fe ff ff    	add    $0xfffffefc,%esp
44a271:	53                   	push   %ebx
44a272:	56                   	push   %esi
44a273:	57                   	push   %edi
44a274:	33 c9                	xor    %ecx,%ecx
44a276:	89 4d fc             	mov    %ecx,-0x4(%ebp)
44a279:	8b da                	mov    %edx,%ebx
44a27b:	8b f0                	mov    %eax,%esi
44a27d:	33 c0                	xor    %eax,%eax
44a27f:	55                   	push   %ebp
44a280:	68 86 a3 44 00       	push   $0x44a386
44a285:	64 ff 30             	push   %fs:(%eax)
44a288:	64 89 20             	mov    %esp,%fs:(%eax)
44a28b:	8b c3                	mov    %ebx,%eax
44a28d:	33 c9                	xor    %ecx,%ecx
44a28f:	ba 8c 00 00 00       	mov    $0x8c,%edx
44a294:	e8 33 8a fb ff       	call   0x402ccc
44a299:	8b 46 64             	mov    0x64(%esi),%eax
44a29c:	89 03                	mov    %eax,(%ebx)
44a29e:	c7 43 04 00 00 00 44 	movl   $0x44000000,0x4(%ebx)
44a2a5:	8d 53 08             	lea    0x8(%ebx),%edx
44a2a8:	8b c6                	mov    %esi,%eax
44a2aa:	e8 51 ff ff ff       	call   0x44a200
44a2af:	f6 46 50 01          	testb  $0x1,0x50(%esi)
44a2b3:	74 0e                	je     0x44a2c3
44a2b5:	81 4b 04 00 00 00 02 	orl    $0x2000000,0x4(%ebx)
44a2bc:	81 4b 08 00 00 01 00 	orl    $0x10000,0x8(%ebx)
44a2c3:	f6 46 1c 10          	testb  $0x10,0x1c(%esi)
44a2c7:	75 12                	jne    0x44a2db
44a2c9:	8b c6                	mov    %esi,%eax
44a2cb:	8b 10                	mov    (%eax),%edx
44a2cd:	ff 52 50             	call   *0x50(%edx)
44a2d0:	84 c0                	test   %al,%al
44a2d2:	75 07                	jne    0x44a2db
44a2d4:	81 4b 04 00 00 00 08 	orl    $0x8000000,0x4(%ebx)
44a2db:	80 be a4 01 00 00 00 	cmpb   $0x0,0x1a4(%esi)
44a2e2:	74 07                	je     0x44a2eb
44a2e4:	81 4b 04 00 00 01 00 	orl    $0x10000,0x4(%ebx)
44a2eb:	8b 46 40             	mov    0x40(%esi),%eax
44a2ee:	89 43 0c             	mov    %eax,0xc(%ebx)
44a2f1:	8b 46 44             	mov    0x44(%esi),%eax
44a2f4:	89 43 10             	mov    %eax,0x10(%ebx)
44a2f7:	8b 46 48             	mov    0x48(%esi),%eax
44a2fa:	89 43 14             	mov    %eax,0x14(%ebx)
44a2fd:	8b 46 4c             	mov    0x4c(%esi),%eax
44a300:	89 43 18             	mov    %eax,0x18(%ebx)
44a303:	8b 7e 30             	mov    0x30(%esi),%edi
44a306:	85 ff                	test   %edi,%edi
44a308:	74 0c                	je     0x44a316
44a30a:	8b c7                	mov    %edi,%eax
44a30c:	e8 cb 30 00 00       	call   0x44d3dc
44a311:	89 43 1c             	mov    %eax,0x1c(%ebx)
44a314:	eb 09                	jmp    0x44a31f
44a316:	8b 86 90 01 00 00    	mov    0x190(%esi),%eax
44a31c:	89 43 1c             	mov    %eax,0x1c(%ebx)
44a31f:	c7 43 24 0b 00 00 00 	movl   $0xb,0x24(%ebx)
44a326:	b8 54 67 40 00       	mov    $0x406754,%eax
44a32b:	89 43 28             	mov    %eax,0x28(%ebx)
44a32e:	68 00 7f 00 00       	push   $0x7f00
44a333:	6a 00                	push   $0x0
44a335:	e8 ca c6 fb ff       	call   0x406a04
44a33a:	89 43 3c             	mov    %eax,0x3c(%ebx)
44a33d:	33 c0                	xor    %eax,%eax
44a33f:	89 43 40             	mov    %eax,0x40(%ebx)
44a342:	a1 64 56 47 00       	mov    0x475664,%eax
44a347:	89 43 34             	mov    %eax,0x34(%ebx)
44a34a:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
44a350:	8b 06                	mov    (%esi),%eax
44a352:	e8 b9 8e fb ff       	call   0x403210
44a357:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
44a35d:	8d 45 fc             	lea    -0x4(%ebp),%eax
44a360:	e8 4f 9f fb ff       	call   0x4042b4
44a365:	8b 55 fc             	mov    -0x4(%ebp),%edx
44a368:	8d 43 4c             	lea    0x4c(%ebx),%eax
44a36b:	e8 48 e6 fb ff       	call   0x4089b8
44a370:	33 c0                	xor    %eax,%eax
44a372:	5a                   	pop    %edx
44a373:	59                   	pop    %ecx
44a374:	59                   	pop    %ecx
44a375:	64 89 10             	mov    %edx,%fs:(%eax)
44a378:	68 8d a3 44 00       	push   $0x44a38d
44a37d:	8d 45 fc             	lea    -0x4(%ebp),%eax
44a380:	e8 cb 9c fb ff       	call   0x404050
44a385:	c3                   	ret
44a386:	e9 c9 96 fb ff       	jmp    0x403a54
44a38b:	eb f0                	jmp    0x44a37d
44a38d:	5f                   	pop    %edi
44a38e:	5e                   	pop    %esi
44a38f:	5b                   	pop    %ebx
44a390:	8b e5                	mov    %ebp,%esp
44a392:	5d                   	pop    %ebp
44a393:	c3                   	ret
44a394:	55                   	push   %ebp
44a395:	8b ec                	mov    %esp,%ebp
44a397:	81 c4 40 ff ff ff    	add    $0xffffff40,%esp
44a39d:	53                   	push   %ebx
44a39e:	56                   	push   %esi
44a39f:	33 d2                	xor    %edx,%edx
44a3a1:	89 95 40 ff ff ff    	mov    %edx,-0xc0(%ebp)
44a3a7:	8b f0                	mov    %eax,%esi
44a3a9:	33 c0                	xor    %eax,%eax
44a3ab:	55                   	push   %ebp
44a3ac:	68 55 a5 44 00       	push   $0x44a555
44a3b1:	64 ff 30             	push   %fs:(%eax)
44a3b4:	64 89 20             	mov    %esp,%fs:(%eax)
44a3b7:	8d 95 74 ff ff ff    	lea    -0x8c(%ebp),%edx
44a3bd:	8b c6                	mov    %esi,%eax
44a3bf:	8b 08                	mov    (%eax),%ecx
44a3c1:	ff 91 98 00 00 00    	call   *0x98(%ecx)
44a3c7:	83 7d 90 00          	cmpl   $0x0,-0x70(%ebp)
44a3cb:	75 73                	jne    0x44a440
44a3cd:	f6 85 7b ff ff ff 40 	testb  $0x40,-0x85(%ebp)
44a3d4:	74 6a                	je     0x44a440
44a3d6:	8b 5e 04             	mov    0x4(%esi),%ebx
44a3d9:	85 db                	test   %ebx,%ebx
44a3db:	74 23                	je     0x44a400
44a3dd:	f6 43 1c 02          	testb  $0x2,0x1c(%ebx)
44a3e1:	74 1d                	je     0x44a400
44a3e3:	8b c3                	mov    %ebx,%eax
44a3e5:	8b 15 b8 2c 44 00    	mov    0x442cb8,%edx
44a3eb:	e8 5c 90 fb ff       	call   0x40344c
44a3f0:	84 c0                	test   %al,%al
44a3f2:	74 0c                	je     0x44a400
44a3f4:	8b c3                	mov    %ebx,%eax
44a3f6:	e8 e1 2f 00 00       	call   0x44d3dc
44a3fb:	89 45 90             	mov    %eax,-0x70(%ebp)
44a3fe:	eb 40                	jmp    0x44a440
44a400:	8b 46 08             	mov    0x8(%esi),%eax
44a403:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
44a409:	c6 85 48 ff ff ff 0b 	movb   $0xb,-0xb8(%ebp)
44a410:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
44a416:	50                   	push   %eax
44a417:	6a 00                	push   $0x0
44a419:	8d 95 40 ff ff ff    	lea    -0xc0(%ebp),%edx
44a41f:	a1 b8 47 47 00       	mov    0x4747b8,%eax
44a424:	e8 bb b9 fb ff       	call   0x405de4
44a429:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
44a42f:	b2 01                	mov    $0x1,%dl
44a431:	a1 78 5f 41 00       	mov    0x415f78,%eax
44a436:	e8 f5 16 fc ff       	call   0x40bb30
44a43b:	e8 4c 96 fb ff       	call   0x403a8c
44a440:	8b 45 9c             	mov    -0x64(%ebp),%eax
44a443:	89 86 74 01 00 00    	mov    %eax,0x174(%esi)
44a449:	8d 85 4c ff ff ff    	lea    -0xb4(%ebp),%eax
44a44f:	50                   	push   %eax
44a450:	8d 45 c0             	lea    -0x40(%ebp),%eax
44a453:	50                   	push   %eax
44a454:	8b 45 a8             	mov    -0x58(%ebp),%eax
44a457:	50                   	push   %eax
44a458:	e8 bf c3 fb ff       	call   0x40681c
44a45d:	83 f8 01             	cmp    $0x1,%eax
44a460:	1b c0                	sbb    %eax,%eax
44a462:	40                   	inc    %eax
44a463:	84 c0                	test   %al,%al
44a465:	74 0d                	je     0x44a474
44a467:	ba b0 39 44 00       	mov    $0x4439b0,%edx
44a46c:	3b 95 50 ff ff ff    	cmp    -0xb0(%ebp),%edx
44a472:	74 31                	je     0x44a4a5
44a474:	84 c0                	test   %al,%al
44a476:	74 0d                	je     0x44a485
44a478:	8b 45 a8             	mov    -0x58(%ebp),%eax
44a47b:	50                   	push   %eax
44a47c:	8d 45 c0             	lea    -0x40(%ebp),%eax
44a47f:	50                   	push   %eax
44a480:	e8 1f c7 fb ff       	call   0x406ba4
44a485:	c7 45 9c b0 39 44 00 	movl   $0x4439b0,-0x64(%ebp)
44a48c:	8d 45 c0             	lea    -0x40(%ebp),%eax
44a48f:	89 45 bc             	mov    %eax,-0x44(%ebp)
44a492:	8d 45 98             	lea    -0x68(%ebp),%eax
44a495:	50                   	push   %eax
44a496:	e8 d9 c5 fb ff       	call   0x406a74
44a49b:	66 85 c0             	test   %ax,%ax
44a49e:	75 05                	jne    0x44a4a5
44a4a0:	e8 d7 2a fc ff       	call   0x40cf7c
44a4a5:	89 35 70 9b 46 00    	mov    %esi,0x469b70
44a4ab:	8d 95 74 ff ff ff    	lea    -0x8c(%ebp),%edx
44a4b1:	8b c6                	mov    %esi,%eax
44a4b3:	8b 08                	mov    (%eax),%ecx
44a4b5:	ff 91 9c 00 00 00    	call   *0x9c(%ecx)
44a4bb:	83 be 80 01 00 00 00 	cmpl   $0x0,0x180(%esi)
44a4c2:	75 05                	jne    0x44a4c9
44a4c4:	e8 b3 2a fc ff       	call   0x40cf7c
44a4c9:	6a f0                	push   $0xfffffff0
44a4cb:	8b 86 80 01 00 00    	mov    0x180(%esi),%eax
44a4d1:	50                   	push   %eax
44a4d2:	e8 85 c4 fb ff       	call   0x40695c
44a4d7:	a9 00 00 00 40       	test   $0x40000000,%eax
44a4dc:	74 21                	je     0x44a4ff
44a4de:	6a f4                	push   $0xfffffff4
44a4e0:	8b 86 80 01 00 00    	mov    0x180(%esi),%eax
44a4e6:	50                   	push   %eax
44a4e7:	e8 70 c4 fb ff       	call   0x40695c
44a4ec:	85 c0                	test   %eax,%eax
44a4ee:	75 0f                	jne    0x44a4ff
44a4f0:	8b 86 80 01 00 00    	mov    0x180(%esi),%eax
44a4f6:	50                   	push   %eax
44a4f7:	6a f4                	push   $0xfffffff4
44a4f9:	50                   	push   %eax
44a4fa:	e8 3d c6 fb ff       	call   0x406b3c
44a4ff:	8b 46 64             	mov    0x64(%esi),%eax
44a502:	e8 65 e6 fb ff       	call   0x408b6c
44a507:	33 c0                	xor    %eax,%eax
44a509:	89 46 64             	mov    %eax,0x64(%esi)
44a50c:	8b c6                	mov    %esi,%eax
44a50e:	e8 d9 31 00 00       	call   0x44d6ec
44a513:	6a 01                	push   $0x1
44a515:	8b 46 68             	mov    0x68(%esi),%eax
44a518:	e8 3b 99 fd ff       	call   0x423e58
44a51d:	8b c8                	mov    %eax,%ecx
44a51f:	ba 30 00 00 00       	mov    $0x30,%edx
44a524:	8b c6                	mov    %esi,%eax
44a526:	e8 7d d8 ff ff       	call   0x447da8
44a52b:	80 7e 5c 00          	cmpb   $0x0,0x5c(%esi)
44a52f:	74 0b                	je     0x44a53c
44a531:	8b c6                	mov    %esi,%eax
44a533:	66 be ee ff          	mov    $0xffee,%si
44a537:	e8 80 8f fb ff       	call   0x4034bc
44a53c:	33 c0                	xor    %eax,%eax
44a53e:	5a                   	pop    %edx
44a53f:	59                   	pop    %ecx
44a540:	59                   	pop    %ecx
44a541:	64 89 10             	mov    %edx,%fs:(%eax)
44a544:	68 5c a5 44 00       	push   $0x44a55c
44a549:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
44a54f:	e8 fc 9a fb ff       	call   0x404050
44a554:	c3                   	ret
44a555:	e9 fa 94 fb ff       	jmp    0x403a54
44a55a:	eb ed                	jmp    0x44a549
44a55c:	5e                   	pop    %esi
44a55d:	5b                   	pop    %ebx
44a55e:	8b e5                	mov    %ebp,%esp
44a560:	5d                   	pop    %ebp
44a561:	c3                   	ret
44a562:	8b c0                	mov    %eax,%eax
44a564:	53                   	push   %ebx
44a565:	56                   	push   %esi
44a566:	8b da                	mov    %edx,%ebx
44a568:	8b f0                	mov    %eax,%esi
44a56a:	8b 43 04             	mov    0x4(%ebx),%eax
44a56d:	50                   	push   %eax
44a56e:	8b 43 0c             	mov    0xc(%ebx),%eax
44a571:	50                   	push   %eax
44a572:	8b 43 10             	mov    0x10(%ebx),%eax