44d13d:	85 c0                	test   %eax,%eax
44d13f:	75 09                	jne    0x44d14a
44d141:	38 45 10             	cmp    %al,0x10(%ebp)
44d144:	0f 84 bc 00 00 00    	je     0x44d206
44d14a:	57                   	push   %edi
44d14b:	68 00 00 20 02       	push   $0x2200000
44d150:	6a 03                	push   $0x3
44d152:	57                   	push   %edi
44d153:	57                   	push   %edi
44d154:	68 00 00 00 40       	push   $0x40000000
44d159:	ff 75 0c             	push   0xc(%ebp)
44d15c:	ff 15 c4 d1 48 00    	call   *0x48d1c4
44d162:	8b f8                	mov    %eax,%edi
44d164:	83 ff ff             	cmp    $0xffffffff,%edi
44d167:	0f 84 90 00 00 00    	je     0x44d1fd
44d16d:	68 fa ff 02 00       	push   $0x2fffa
44d172:	8d 85 00 00 fb ff    	lea    -0x50000(%ebp),%eax
44d178:	6a 00                	push   $0x0
44d17a:	50                   	push   %eax
44d17b:	e8 d0 3b fd ff       	call   0x420d50
44d180:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
44d183:	66 89 85 0a 00 fb ff 	mov    %ax,-0x4fff6(%ebp)
44d18a:	8b 85 0a 00 fb ff    	mov    -0x4fff6(%ebp),%eax
44d190:	83 c0 02             	add    $0x2,%eax
44d193:	66 89 85 0c 00 fb ff 	mov    %ax,-0x4fff4(%ebp)
44d19a:	68 ff 7f 00 00       	push   $0x7fff
44d19f:	8d 85 fc ff fe ff    	lea    -0x10004(%ebp),%eax
44d1a5:	50                   	push   %eax
44d1a6:	8d 85 10 00 fb ff    	lea    -0x4fff0(%ebp),%eax
44d1ac:	50                   	push   %eax
44d1ad:	c7 85 00 00 fb ff 03 	movl   $0xa0000003,-0x50000(%ebp)
44d1b4:	00 00 a0
44d1b7:	e8 f0 51 fd ff       	call   0x4223ac
44d1bc:	8b 85 0a 00 fb ff    	mov    -0x4fff6(%ebp),%eax
44d1c2:	83 c4 18             	add    $0x18,%esp
44d1c5:	83 c0 0c             	add    $0xc,%eax
44d1c8:	33 d2                	xor    %edx,%edx
44d1ca:	52                   	push   %edx
44d1cb:	66 89 85 04 00 fb ff 	mov    %ax,-0x4fffc(%ebp)
44d1d2:	8d 4d 08             	lea    0x8(%ebp),%ecx
44d1d5:	51                   	push   %ecx
44d1d6:	52                   	push   %edx
44d1d7:	0f b7 c0             	movzwl %ax,%eax
44d1da:	52                   	push   %edx
44d1db:	83 c0 08             	add    $0x8,%eax
44d1de:	50                   	push   %eax
44d1df:	8d 85 00 00 fb ff    	lea    -0x50000(%ebp),%eax
44d1e5:	50                   	push   %eax
44d1e6:	68 a4 00 09 00       	push   $0x900a4
44d1eb:	57                   	push   %edi
44d1ec:	ff 15 3c d2 48 00    	call   *0x48d23c
44d1f2:	57                   	push   %edi
44d1f3:	85 c0                	test   %eax,%eax
44d1f5:	75 13                	jne    0x44d20a
44d1f7:	ff 15 0c d3 48 00    	call   *0x48d30c
44d1fd:	ff 75 0c             	push   0xc(%ebp)
44d200:	ff 15 10 d2 48 00    	call   *0x48d210
44d206:	33 c0                	xor    %eax,%eax
44d208:	eb 09                	jmp    0x44d213
44d20a:	ff 15 0c d3 48 00    	call   *0x48d30c
44d210:	33 c0                	xor    %eax,%eax
44d212:	40                   	inc    %eax
44d213:	5f                   	pop    %edi
44d214:	5b                   	pop    %ebx
44d215:	c9                   	leave
44d216:	c2 0c 00             	ret    $0xc
44d219:	55                   	push   %ebp
44d21a:	8b ec                	mov    %esp,%ebp
44d21c:	83 e4 f8             	and    $0xfffffff8,%esp
44d21f:	83 ec 34             	sub    $0x34,%esp
44d222:	53                   	push   %ebx
44d223:	56                   	push   %esi
44d224:	57                   	push   %edi
44d225:	8b 7d 08             	mov    0x8(%ebp),%edi
44d228:	8b 47 04             	mov    0x4(%edi),%eax
44d22b:	8b 30                	mov    (%eax),%esi
44d22d:	8b ce                	mov    %esi,%ecx
44d22f:	e8 38 c1 fb ff       	call   0x40936c
44d234:	8b 4e 08             	mov    0x8(%esi),%ecx
44d237:	8b 41 04             	mov    0x4(%ecx),%eax
44d23a:	8b 19                	mov    (%ecx),%ebx
44d23c:	89 44 24 34          	mov    %eax,0x34(%esp)
44d240:	8b 41 08             	mov    0x8(%ecx),%eax
44d243:	89 44 24 38          	mov    %eax,0x38(%esp)
44d247:	8b 41 0c             	mov    0xc(%ecx),%eax
44d24a:	89 44 24 3c          	mov    %eax,0x3c(%esp)
44d24e:	ff 00                	incl   (%eax)
44d250:	8b 47 04             	mov    0x4(%edi),%eax
44d253:	89 5c 24 30          	mov    %ebx,0x30(%esp)
44d257:	8b 70 04             	mov    0x4(%eax),%esi
44d25a:	8b ce                	mov    %esi,%ecx
44d25c:	e8 0b c1 fb ff       	call   0x40936c
44d261:	8b 4e 08             	mov    0x8(%esi),%ecx
44d264:	8b 01                	mov    (%ecx),%eax
44d266:	89 44 24 10          	mov    %eax,0x10(%esp)
44d26a:	8b 41 04             	mov    0x4(%ecx),%eax
44d26d:	89 44 24 14          	mov    %eax,0x14(%esp)
44d271:	8b 41 08             	mov    0x8(%ecx),%eax
44d274:	89 44 24 18          	mov    %eax,0x18(%esp)
44d278:	8b 41 0c             	mov    0xc(%ecx),%eax
44d27b:	8d 4c 24 10          	lea    0x10(%esp),%ecx
44d27f:	ff 00                	incl   (%eax)
44d281:	89 44 24 1c          	mov    %eax,0x1c(%esp)
44d285:	e8 70 eb fb ff       	call   0x40bdfa
44d28a:	ff 74 24 14          	push   0x14(%esp)
44d28e:	ff 74 24 14          	push   0x14(%esp)
44d292:	ff 15 2c d7 48 00    	call   *0x48d72c
44d298:	ba 78 3a 4b 00       	mov    $0x4b3a78,%edx
44d29d:	8d 4c 24 10          	lea    0x10(%esp),%ecx
44d2a1:	e8 89 19 fd ff       	call   0x41ec2f
44d2a6:	be 84 3a 4b 00       	mov    $0x4b3a84,%esi
44d2ab:	84 c0                	test   %al,%al
44d2ad:	74 0a                	je     0x44d2b9
44d2af:	56                   	push   %esi
44d2b0:	8d 4c 24 14          	lea    0x14(%esp),%ecx
44d2b4:	e8 aa 97 fb ff       	call   0x406a63
44d2b9:	ba 94 3a 4b 00       	mov    $0x4b3a94,%edx
44d2be:	8d 4c 24 10          	lea    0x10(%esp),%ecx
44d2c2:	e8 68 19 fd ff       	call   0x41ec2f
44d2c7:	84 c0                	test   %al,%al
44d2c9:	75 13                	jne    0x44d2de
44d2cb:	8b d6                	mov    %esi,%edx
44d2cd:	8d 4c 24 10          	lea    0x10(%esp),%ecx
44d2d1:	e8 59 19 fd ff       	call   0x41ec2f
44d2d6:	84 c0                	test   %al,%al
44d2d8:	0f 84 d0 00 00 00    	je     0x44d3ae
44d2de:	53                   	push   %ebx
44d2df:	ff 15 9c d2 48 00    	call   *0x48d29c
44d2e5:	83 f8 05             	cmp    $0x5,%eax
44d2e8:	0f 85 c0 00 00 00    	jne    0x44d3ae
44d2ee:	68 68 37 4b 00       	push   $0x4b3768
44d2f3:	8d 4c 24 24          	lea    0x24(%esp),%ecx
44d2f7:	e8 1d fb fb ff       	call   0x40ce19
44d2fc:	8d 44 24 30          	lea    0x30(%esp),%eax
44d300:	50                   	push   %eax
44d301:	8d 4c 24 24          	lea    0x24(%esp),%ecx
44d305:	e8 03 7e fb ff       	call   0x40510d
44d30a:	68 a0 3a 4b 00       	push   $0x4b3aa0
44d30f:	8d 4c 24 24          	lea    0x24(%esp),%ecx
44d313:	e8 74 7e fb ff       	call   0x40518c
44d318:	8b 3d a8 d7 48 00    	mov    0x48d7a8,%edi
44d31e:	33 db                	xor    %ebx,%ebx
44d320:	53                   	push   %ebx
44d321:	53                   	push   %ebx
44d322:	53                   	push   %ebx
44d323:	ff 74 24 2c          	push   0x2c(%esp)
44d327:	ff d7                	call   *%edi
44d329:	85 c0                	test   %eax,%eax
44d32b:	75 63                	jne    0x44d390
44d32d:	68 d8 3a 4b 00       	push   $0x4b3ad8
44d332:	8d 4c 24 24          	lea    0x24(%esp),%ecx
44d336:	e8 28 97 fb ff       	call   0x406a63
44d33b:	8d 44 24 10          	lea    0x10(%esp),%eax
44d33f:	50                   	push   %eax
44d340:	8d 4c 24 24          	lea    0x24(%esp),%ecx
44d344:	e8 c4 7d fb ff       	call   0x40510d
44d349:	68 f4 3a 4b 00       	push   $0x4b3af4
44d34e:	8d 4c 24 24          	lea    0x24(%esp),%ecx
44d352:	e8 35 7e fb ff       	call   0x40518c
44d357:	53                   	push   %ebx
44d358:	53                   	push   %ebx
44d359:	53                   	push   %ebx
44d35a:	ff 74 24 2c          	push   0x2c(%esp)
44d35e:	ff d7                	call   *%edi
44d360:	85 c0                	test   %eax,%eax
44d362:	74 13                	je     0x44d377
44d364:	8b 75 0c             	mov    0xc(%ebp),%esi
44d367:	8b ce                	mov    %esi,%ecx
44d369:	e8 b2 58 fc ff       	call   0x412c20
44d36e:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
44d375:	89 1e                	mov    %ebx,(%esi)
44d377:	68 00 3b 4b 00       	push   $0x4b3b00
44d37c:	8d 4c 24 24          	lea    0x24(%esp),%ecx
44d380:	e8 de 96 fb ff       	call   0x406a63
44d385:	53                   	push   %ebx
44d386:	53                   	push   %ebx
44d387:	53                   	push   %ebx
44d388:	ff 74 24 2c          	push   0x2c(%esp)
44d38c:	ff d7                	call   *%edi
44d38e:	eb 13                	jmp    0x44d3a3
44d390:	8b 75 0c             	mov    0xc(%ebp),%esi
44d393:	8b ce                	mov    %esi,%ecx
44d395:	e8 86 58 fc ff       	call   0x412c20
44d39a:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
44d3a1:	89 1e                	mov    %ebx,(%esi)
44d3a3:	8d 4c 24 20          	lea    0x20(%esp),%ecx
44d3a7:	e8 8b f7 fb ff       	call   0x40cb37
44d3ac:	eb 14                	jmp    0x44d3c2
44d3ae:	8b 75 0c             	mov    0xc(%ebp),%esi
44d3b1:	8b ce                	mov    %esi,%ecx
44d3b3:	e8 68 58 fc ff       	call   0x412c20
44d3b8:	83 26 00             	andl   $0x0,(%esi)
44d3bb:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
44d3c2:	8d 4c 24 10          	lea    0x10(%esp),%ecx
44d3c6:	e8 6c f7 fb ff       	call   0x40cb37
44d3cb:	8d 4c 24 30          	lea    0x30(%esp),%ecx
44d3cf:	e8 63 f7 fb ff       	call   0x40cb37
44d3d4:	5f                   	pop    %edi
44d3d5:	5e                   	pop    %esi
44d3d6:	33 c0                	xor    %eax,%eax
44d3d8:	5b                   	pop    %ebx
44d3d9:	8b e5                	mov    %ebp,%esp
44d3db:	5d                   	pop    %ebp
44d3dc:	c2 08 00             	ret    $0x8
44d3df:	55                   	push   %ebp
44d3e0:	8b ec                	mov    %esp,%ebp
44d3e2:	51                   	push   %ecx
44d3e3:	53                   	push   %ebx
44d3e4:	8b 5d 08             	mov    0x8(%ebp),%ebx
44d3e7:	56                   	push   %esi
44d3e8:	83 7b 08 03          	cmpl   $0x3,0x8(%ebx)
44d3ec:	57                   	push   %edi
44d3ed:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
44d3f1:	72 13                	jb     0x44d406
44d3f3:	8b 43 04             	mov    0x4(%ebx),%eax
44d3f6:	8b 48 08             	mov    0x8(%eax),%ecx
44d3f9:	e8 88 fe fb ff       	call   0x40d286
44d3fe:	85 c0                	test   %eax,%eax
44d400:	74 04                	je     0x44d406
44d402:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
44d406:	8b 43 04             	mov    0x4(%ebx),%eax
44d409:	8b 70 04             	mov    0x4(%eax),%esi
44d40c:	8b ce                	mov    %esi,%ecx
44d40e:	e8 59 bf fb ff       	call   0x40936c
44d413:	8b 46 08             	mov    0x8(%esi),%eax
44d416:	8b 38                	mov    (%eax),%edi
44d418:	8b 43 04             	mov    0x4(%ebx),%eax
44d41b:	8b 30                	mov    (%eax),%esi
44d41d:	8b ce                	mov    %esi,%ecx
44d41f:	e8 48 bf fb ff       	call   0x40936c
44d424:	8b 46 08             	mov    0x8(%esi),%eax
44d427:	ff 75 fc             	push   -0x4(%ebp)
44d42a:	8b 08                	mov    (%eax),%ecx
44d42c:	8b d7                	mov    %edi,%edx
44d42e:	e8 52 8b ff ff       	call   0x445f85
44d433:	59                   	pop    %ecx
44d434:	84 c0                	test   %al,%al
44d436:	75 14                	jne    0x44d44c
44d438:	8b 75 0c             	mov    0xc(%ebp),%esi
44d43b:	8b ce                	mov    %esi,%ecx
44d43d:	e8 de 57 fc ff       	call   0x412c20
44d442:	83 26 00             	andl   $0x0,(%esi)
44d445:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
44d44c:	5f                   	pop    %edi
44d44d:	5e                   	pop    %esi
44d44e:	33 c0                	xor    %eax,%eax
44d450:	5b                   	pop    %ebx
44d451:	c9                   	leave
44d452:	c2 08 00             	ret    $0x8
44d455:	55                   	push   %ebp
44d456:	8b ec                	mov    %esp,%ebp
44d458:	8b 45 08             	mov    0x8(%ebp),%eax
44d45b:	56                   	push   %esi
44d45c:	8b 40 04             	mov    0x4(%eax),%eax
44d45f:	8b 30                	mov    (%eax),%esi
44d461:	8b ce                	mov    %esi,%ecx
44d463:	e8 04 bf fb ff       	call   0x40936c
44d468:	8b 46 08             	mov    0x8(%esi),%eax
44d46b:	8b 08                	mov    (%eax),%ecx
44d46d:	e8 a6 8e ff ff       	call   0x446318
44d472:	84 c0                	test   %al,%al
44d474:	75 14                	jne    0x44d48a
44d476:	8b 75 0c             	mov    0xc(%ebp),%esi
44d479:	8b ce                	mov    %esi,%ecx
44d47b:	e8 a0 57 fc ff       	call   0x412c20
44d480:	83 26 00             	andl   $0x0,(%esi)
44d483:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
44d48a:	33 c0                	xor    %eax,%eax
44d48c:	5e                   	pop    %esi
44d48d:	5d                   	pop    %ebp
44d48e:	c2 08 00             	ret    $0x8
44d491:	55                   	push   %ebp
44d492:	8b ec                	mov    %esp,%ebp
44d494:	83 e4 f8             	and    $0xfffffff8,%esp
44d497:	83 ec 4c             	sub    $0x4c,%esp
44d49a:	8b 45 08             	mov    0x8(%ebp),%eax
44d49d:	53                   	push   %ebx
44d49e:	56                   	push   %esi
44d49f:	57                   	push   %edi
44d4a0:	8b f9                	mov    %ecx,%edi
44d4a2:	8b 48 08             	mov    0x8(%eax),%ecx
44d4a5:	8b 40 04             	mov    0x4(%eax),%eax
44d4a8:	89 4c 24 18          	mov    %ecx,0x18(%esp)
44d4ac:	8b 30                	mov    (%eax),%esi
44d4ae:	8b ce                	mov    %esi,%ecx
44d4b0:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
44d4b4:	e8 b3 be fb ff       	call   0x40936c
44d4b9:	8b 46 08             	mov    0x8(%esi),%eax
44d4bc:	8d 4c 24 48          	lea    0x48(%esp),%ecx
44d4c0:	ff 30                	push   (%eax)
44d4c2:	e8 52 f9 fb ff       	call   0x40ce19
44d4c7:	33 db                	xor    %ebx,%ebx
44d4c9:	6a 01                	push   $0x1
44d4cb:	88 5c 24 14          	mov    %bl,0x14(%esp)
44d4cf:	c6 44 24 18 01       	movb   $0x1,0x18(%esp)
44d4d4:	89 5c 24 24          	mov    %ebx,0x24(%esp)
44d4d8:	89 5c 24 28          	mov    %ebx,0x28(%esp)
44d4dc:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
44d4e0:	89 5c 24 30          	mov    %ebx,0x30(%esp)
44d4e4:	89 5c 24 34          	mov    %ebx,0x34(%esp)
44d4e8:	89 5c 24 38          	mov    %ebx,0x38(%esp)
44d4ec:	ff 15 94 d1 48 00    	call   *0x48d194
44d4f2:	8b f0                	mov    %eax,%esi
44d4f4:	39 5c 24 4c          	cmp    %ebx,0x4c(%esp)
44d4f8:	0f 84 5d 01 00 00    	je     0x44d65b
44d4fe:	8b 4c 24 48          	mov    0x48(%esp),%ecx
44d502:	e8 c4 9d ff ff       	call   0x4472cb
44d507:	84 c0                	test   %al,%al
44d509:	0f 84 4c 01 00 00    	je     0x44d65b
44d50f:	8d 4c 24 48          	lea    0x48(%esp),%ecx
44d513:	e8 b0 92 ff ff       	call   0x4467c8
44d518:	83 7c 24 18 01       	cmpl   $0x1,0x18(%esp)
44d51d:	76 33                	jbe    0x44d552
44d51f:	8b 45 08             	mov    0x8(%ebp),%eax
44d522:	8b 40 04             	mov    0x4(%eax),%eax
44d525:	8b 48 04             	mov    0x4(%eax),%ecx
44d528:	e8 59 fd fb ff       	call   0x40d286
44d52d:	a8 01                	test   $0x1,%al
44d52f:	74 05                	je     0x44d536
44d531:	c6 44 24 10 01       	movb   $0x1,0x10(%esp)
44d536:	8b 45 08             	mov    0x8(%ebp),%eax
44d539:	8b 40 04             	mov    0x4(%eax),%eax
44d53c:	8b 48 04             	mov    0x4(%eax),%ecx
44d53f:	e8 42 fd fb ff       	call   0x40d286
44d544:	24 02                	and    $0x2,%al
44d546:	f6 d8                	neg    %al
44d548:	1a c0                	sbb    %al,%al
44d54a:	f6 d0                	not    %al
44d54c:	24 01                	and    $0x1,%al
44d54e:	88 44 24 14          	mov    %al,0x14(%esp)
44d552:	ff 74 24 14          	push   0x14(%esp)
44d556:	8d 44 24 34          	lea    0x34(%esp),%eax
44d55a:	ff 74 24 14          	push   0x14(%esp)
44d55e:	8b cf                	mov    %edi,%ecx
44d560:	50                   	push   %eax
44d561:	8d 44 24 34          	lea    0x34(%esp),%eax
44d565:	50                   	push   %eax
44d566:	8d 44 24 30          	lea    0x30(%esp),%eax
44d56a:	50                   	push   %eax
44d56b:	ff 74 24 5c          	push   0x5c(%esp)
44d56f:	e8 20 4a 00 00       	call   0x451f94
44d574:	84 c0                	test   %al,%al
44d576:	75 08                	jne    0x44d580
44d578:	83 cb ff             	or     $0xffffffff,%ebx
44d57b:	e9 00 01 00 00       	jmp    0x44d680
44d580:	8b 7d 0c             	mov    0xc(%ebp),%edi
44d583:	38 5c 24 10          	cmp    %bl,0x10(%esp)
44d587:	0f 84 b1 00 00 00    	je     0x44d63e
44d58d:	6a 03                	push   $0x3
44d58f:	6a 01                	push   $0x1