44f311:	8b c7                	mov    %edi,%eax
44f313:	e8 14 be ff ff       	call   0x44b12c
44f318:	89 46 0c             	mov    %eax,0xc(%esi)
44f31b:	b3 01                	mov    $0x1,%bl
44f31d:	8b c3                	mov    %ebx,%eax
44f31f:	5f                   	pop    %edi
44f320:	5e                   	pop    %esi
44f321:	5b                   	pop    %ebx
44f322:	c3                   	ret
44f323:	90                   	nop
44f324:	55                   	push   %ebp
44f325:	8b ec                	mov    %esp,%ebp
44f327:	83 c4 b0             	add    $0xffffffb0,%esp
44f32a:	53                   	push   %ebx
44f32b:	56                   	push   %esi
44f32c:	57                   	push   %edi
44f32d:	89 55 f8             	mov    %edx,-0x8(%ebp)
44f330:	89 45 fc             	mov    %eax,-0x4(%ebp)
44f333:	8b 45 f8             	mov    -0x8(%ebp),%eax
44f336:	8b 40 04             	mov    0x4(%eax),%eax
44f339:	89 45 f0             	mov    %eax,-0x10(%ebp)
44f33c:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
44f340:	75 15                	jne    0x44f357
44f342:	8d 45 b0             	lea    -0x50(%ebp),%eax
44f345:	50                   	push   %eax
44f346:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f349:	e8 5e 26 00 00       	call   0x4519ac
44f34e:	50                   	push   %eax
44f34f:	e8 94 7a fb ff       	call   0x406de8
44f354:	89 45 f0             	mov    %eax,-0x10(%ebp)
44f357:	33 c9                	xor    %ecx,%ecx
44f359:	55                   	push   %ebp
44f35a:	68 83 f4 44 00       	push   $0x44f483
44f35f:	64 ff 31             	push   %fs:(%ecx)
44f362:	64 89 21             	mov    %esp,%fs:(%ecx)
44f365:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f368:	83 b8 cc 01 00 00 00 	cmpl   $0x0,0x1cc(%eax)
44f36f:	75 13                	jne    0x44f384
44f371:	8b 55 f0             	mov    -0x10(%ebp),%edx
44f374:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f377:	8b 08                	mov    (%eax),%ecx
44f379:	ff 91 c4 00 00 00    	call   *0xc4(%ecx)
44f37f:	e9 c9 00 00 00       	jmp    0x44f44d
44f384:	8b 45 f0             	mov    -0x10(%ebp),%eax
44f387:	50                   	push   %eax
44f388:	e8 b3 79 fb ff       	call   0x406d40
44f38d:	89 45 f4             	mov    %eax,-0xc(%ebp)
44f390:	33 c9                	xor    %ecx,%ecx
44f392:	55                   	push   %ebp
44f393:	68 46 f4 44 00       	push   $0x44f446
44f398:	64 ff 31             	push   %fs:(%ecx)
44f39b:	64 89 21             	mov    %esp,%fs:(%ecx)
44f39e:	bf 02 00 00 00       	mov    $0x2,%edi
44f3a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f3a6:	8b 80 cc 01 00 00    	mov    0x1cc(%eax),%eax
44f3ac:	8b 58 08             	mov    0x8(%eax),%ebx
44f3af:	4b                   	dec    %ebx
44f3b0:	85 db                	test   %ebx,%ebx
44f3b2:	7c 66                	jl     0x44f41a
44f3b4:	43                   	inc    %ebx
44f3b5:	33 f6                	xor    %esi,%esi
44f3b7:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f3ba:	8b 80 cc 01 00 00    	mov    0x1cc(%eax),%eax
44f3c0:	8b d6                	mov    %esi,%edx
44f3c2:	e8 11 8e fc ff       	call   0x4181d8
44f3c7:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
44f3cb:	74 0c                	je     0x44f3d9
44f3cd:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
44f3d1:	74 18                	je     0x44f3eb
44f3d3:	f6 40 55 08          	testb  $0x8,0x55(%eax)
44f3d7:	74 12                	je     0x44f3eb
44f3d9:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
44f3dd:	74 37                	je     0x44f416
44f3df:	f6 40 55 08          	testb  $0x8,0x55(%eax)
44f3e3:	75 31                	jne    0x44f416
44f3e5:	f6 40 51 04          	testb  $0x4,0x51(%eax)
44f3e9:	75 2b                	jne    0x44f416
44f3eb:	f6 40 50 40          	testb  $0x40,0x50(%eax)
44f3ef:	74 25                	je     0x44f416
44f3f1:	8b 48 44             	mov    0x44(%eax),%ecx
44f3f4:	03 48 4c             	add    0x4c(%eax),%ecx
44f3f7:	51                   	push   %ecx
44f3f8:	8b 50 40             	mov    0x40(%eax),%edx
44f3fb:	8b ca                	mov    %edx,%ecx
44f3fd:	03 48 48             	add    0x48(%eax),%ecx
44f400:	51                   	push   %ecx
44f401:	8b 48 44             	mov    0x44(%eax),%ecx
44f404:	51                   	push   %ecx
44f405:	52                   	push   %edx
44f406:	8b 45 f0             	mov    -0x10(%ebp),%eax
44f409:	50                   	push   %eax
44f40a:	e8 09 78 fb ff       	call   0x406c18
44f40f:	8b f8                	mov    %eax,%edi
44f411:	83 ff 01             	cmp    $0x1,%edi
44f414:	74 04                	je     0x44f41a
44f416:	46                   	inc    %esi
44f417:	4b                   	dec    %ebx
44f418:	75 9d                	jne    0x44f3b7
44f41a:	4f                   	dec    %edi
44f41b:	74 0e                	je     0x44f42b
44f41d:	8b 55 f0             	mov    -0x10(%ebp),%edx
44f420:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f423:	8b 08                	mov    (%eax),%ecx
44f425:	ff 91 c4 00 00 00    	call   *0xc4(%ecx)
44f42b:	33 c0                	xor    %eax,%eax
44f42d:	5a                   	pop    %edx
44f42e:	59                   	pop    %ecx
44f42f:	59                   	pop    %ecx
44f430:	64 89 10             	mov    %edx,%fs:(%eax)
44f433:	68 4d f4 44 00       	push   $0x44f44d
44f438:	8b 45 f4             	mov    -0xc(%ebp),%eax
44f43b:	50                   	push   %eax
44f43c:	8b 45 f0             	mov    -0x10(%ebp),%eax
44f43f:	50                   	push   %eax
44f440:	e8 f3 78 fb ff       	call   0x406d38
44f445:	c3                   	ret
44f446:	e9 65 4c fb ff       	jmp    0x4040b0
44f44b:	eb eb                	jmp    0x44f438
44f44d:	33 c9                	xor    %ecx,%ecx
44f44f:	8b 55 f0             	mov    -0x10(%ebp),%edx
44f452:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f455:	e8 62 00 00 00       	call   0x44f4bc
44f45a:	33 c0                	xor    %eax,%eax
44f45c:	5a                   	pop    %edx
44f45d:	59                   	pop    %ecx
44f45e:	59                   	pop    %ecx
44f45f:	64 89 10             	mov    %edx,%fs:(%eax)
44f462:	68 8a f4 44 00       	push   $0x44f48a
44f467:	8b 45 f8             	mov    -0x8(%ebp),%eax
44f46a:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
44f46e:	75 12                	jne    0x44f482
44f470:	8d 45 b0             	lea    -0x50(%ebp),%eax
44f473:	50                   	push   %eax
44f474:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f477:	e8 30 25 00 00       	call   0x4519ac
44f47c:	50                   	push   %eax
44f47d:	e8 76 7a fb ff       	call   0x406ef8
44f482:	c3                   	ret
44f483:	e9 28 4c fb ff       	jmp    0x4040b0
44f488:	eb dd                	jmp    0x44f467
44f48a:	5f                   	pop    %edi
44f48b:	5e                   	pop    %esi
44f48c:	5b                   	pop    %ebx
44f48d:	8b e5                	mov    %ebp,%esp
44f48f:	5d                   	pop    %ebp
44f490:	c3                   	ret
44f491:	8d 40 00             	lea    0x0(%eax),%eax
44f494:	83 c4 f0             	add    $0xfffffff0,%esp
44f497:	c7 04 24 0f 00 00 00 	movl   $0xf,(%esp)
44f49e:	89 54 24 04          	mov    %edx,0x4(%esp)
44f4a2:	33 d2                	xor    %edx,%edx
44f4a4:	89 54 24 08          	mov    %edx,0x8(%esp)
44f4a8:	33 d2                	xor    %edx,%edx
44f4aa:	89 54 24 0c          	mov    %edx,0xc(%esp)
44f4ae:	8b d4                	mov    %esp,%edx
44f4b0:	8b 08                	mov    (%eax),%ecx
44f4b2:	ff 51 f0             	call   *-0x10(%ecx)
44f4b5:	83 c4 10             	add    $0x10,%esp
44f4b8:	c3                   	ret
44f4b9:	8d 40 00             	lea    0x0(%eax),%eax
44f4bc:	55                   	push   %ebp
44f4bd:	8b ec                	mov    %esp,%ebp
44f4bf:	83 c4 d8             	add    $0xffffffd8,%esp
44f4c2:	53                   	push   %ebx
44f4c3:	56                   	push   %esi
44f4c4:	57                   	push   %edi
44f4c5:	8b d9                	mov    %ecx,%ebx
44f4c7:	89 55 f8             	mov    %edx,-0x8(%ebp)
44f4ca:	89 45 fc             	mov    %eax,-0x4(%ebp)
44f4cd:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f4d0:	80 b8 dc 01 00 00 00 	cmpb   $0x0,0x1dc(%eax)
44f4d7:	74 29                	je     0x44f502
44f4d9:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f4dc:	80 b8 db 01 00 00 00 	cmpb   $0x0,0x1db(%eax)
44f4e3:	74 1d                	je     0x44f502
44f4e5:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f4e8:	83 b8 b0 01 00 00 00 	cmpl   $0x0,0x1b0(%eax)
44f4ef:	74 11                	je     0x44f502
44f4f1:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f4f4:	8b 80 b0 01 00 00    	mov    0x1b0(%eax),%eax
44f4fa:	8b 55 f8             	mov    -0x8(%ebp),%edx
44f4fd:	8b 08                	mov    (%eax),%ecx
44f4ff:	ff 51 20             	call   *0x20(%ecx)
44f502:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f505:	8b 80 cc 01 00 00    	mov    0x1cc(%eax),%eax
44f50b:	85 c0                	test   %eax,%eax
44f50d:	0f 84 75 01 00 00    	je     0x44f688
44f513:	33 d2                	xor    %edx,%edx
44f515:	89 55 f4             	mov    %edx,-0xc(%ebp)
44f518:	85 db                	test   %ebx,%ebx
44f51a:	74 15                	je     0x44f531
44f51c:	8b d3                	mov    %ebx,%edx
44f51e:	e8 11 8d fc ff       	call   0x418234
44f523:	89 45 f4             	mov    %eax,-0xc(%ebp)
44f526:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
44f52a:	7d 05                	jge    0x44f531
44f52c:	33 c0                	xor    %eax,%eax
44f52e:	89 45 f4             	mov    %eax,-0xc(%ebp)
44f531:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f534:	8b 80 cc 01 00 00    	mov    0x1cc(%eax),%eax
44f53a:	8b 40 08             	mov    0x8(%eax),%eax
44f53d:	89 45 f0             	mov    %eax,-0x10(%ebp)
44f540:	8b 45 f4             	mov    -0xc(%ebp),%eax
44f543:	3b 45 f0             	cmp    -0x10(%ebp),%eax
44f546:	0f 8d 3c 01 00 00    	jge    0x44f688
44f54c:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f54f:	8b 80 cc 01 00 00    	mov    0x1cc(%eax),%eax
44f555:	8b 55 f4             	mov    -0xc(%ebp),%edx
44f558:	e8 7b 8c fc ff       	call   0x4181d8
44f55d:	89 45 e8             	mov    %eax,-0x18(%ebp)
44f560:	8b 45 e8             	mov    -0x18(%ebp),%eax
44f563:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
44f567:	74 12                	je     0x44f57b
44f569:	8b 45 e8             	mov    -0x18(%ebp),%eax
44f56c:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
44f570:	74 30                	je     0x44f5a2
44f572:	8b 45 e8             	mov    -0x18(%ebp),%eax
44f575:	f6 40 55 08          	testb  $0x8,0x55(%eax)
44f579:	74 27                	je     0x44f5a2
44f57b:	8b 45 e8             	mov    -0x18(%ebp),%eax
44f57e:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
44f582:	0f 84 f1 00 00 00    	je     0x44f679
44f588:	8b 45 e8             	mov    -0x18(%ebp),%eax
44f58b:	f6 40 55 08          	testb  $0x8,0x55(%eax)
44f58f:	0f 85 e4 00 00 00    	jne    0x44f679
44f595:	8b 45 e8             	mov    -0x18(%ebp),%eax
44f598:	f6 40 51 04          	testb  $0x4,0x51(%eax)
44f59c:	0f 85 d7 00 00 00    	jne    0x44f679
44f5a2:	8b 45 e8             	mov    -0x18(%ebp),%eax
44f5a5:	8b 70 44             	mov    0x44(%eax),%esi
44f5a8:	8b c6                	mov    %esi,%eax
44f5aa:	8b 55 e8             	mov    -0x18(%ebp),%edx
44f5ad:	03 42 4c             	add    0x4c(%edx),%eax
44f5b0:	50                   	push   %eax
44f5b1:	8d 45 d8             	lea    -0x28(%ebp),%eax
44f5b4:	50                   	push   %eax
44f5b5:	8b 45 e8             	mov    -0x18(%ebp),%eax
44f5b8:	8b 58 40             	mov    0x40(%eax),%ebx
44f5bb:	8b cb                	mov    %ebx,%ecx
44f5bd:	8b 45 e8             	mov    -0x18(%ebp),%eax
44f5c0:	03 48 48             	add    0x48(%eax),%ecx
44f5c3:	8b d6                	mov    %esi,%edx
44f5c5:	8b c3                	mov    %ebx,%eax
44f5c7:	e8 b4 77 fc ff       	call   0x416d80
44f5cc:	8d 45 d8             	lea    -0x28(%ebp),%eax
44f5cf:	50                   	push   %eax
44f5d0:	8b 45 f8             	mov    -0x8(%ebp),%eax
44f5d3:	50                   	push   %eax
44f5d4:	e8 4f 77 fb ff       	call   0x406d28
44f5d9:	85 c0                	test   %eax,%eax
44f5db:	0f 84 98 00 00 00    	je     0x44f679
44f5e1:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f5e4:	f6 40 54 80          	testb  $0x80,0x54(%eax)
44f5e8:	74 09                	je     0x44f5f3
44f5ea:	8b 45 e8             	mov    -0x18(%ebp),%eax
44f5ed:	66 81 48 54 80 00    	orw    $0x80,0x54(%eax)
44f5f3:	8b 45 f8             	mov    -0x8(%ebp),%eax
44f5f6:	50                   	push   %eax
44f5f7:	e8 44 77 fb ff       	call   0x406d40
44f5fc:	89 45 ec             	mov    %eax,-0x14(%ebp)
44f5ff:	33 c0                	xor    %eax,%eax
44f601:	55                   	push   %ebp
44f602:	68 69 f6 44 00       	push   $0x44f669
44f607:	64 ff 30             	push   %fs:(%eax)
44f60a:	64 89 20             	mov    %esp,%fs:(%eax)
44f60d:	8b 45 e8             	mov    -0x18(%ebp),%eax
44f610:	8b 48 44             	mov    0x44(%eax),%ecx
44f613:	8b 45 e8             	mov    -0x18(%ebp),%eax
44f616:	8b 50 40             	mov    0x40(%eax),%edx
44f619:	8b 45 f8             	mov    -0x8(%ebp),%eax
44f61c:	e8 4f 8e ff ff       	call   0x448470
44f621:	8b 45 e8             	mov    -0x18(%ebp),%eax
44f624:	8b 40 4c             	mov    0x4c(%eax),%eax
44f627:	50                   	push   %eax
44f628:	8b 45 e8             	mov    -0x18(%ebp),%eax
44f62b:	8b 40 48             	mov    0x48(%eax),%eax
44f62e:	50                   	push   %eax
44f62f:	6a 00                	push   $0x0
44f631:	6a 00                	push   $0x0
44f633:	8b 45 f8             	mov    -0x8(%ebp),%eax
44f636:	50                   	push   %eax
44f637:	e8 a4 76 fb ff       	call   0x406ce0
44f63c:	6a 00                	push   $0x0
44f63e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44f641:	ba 0f 00 00 00       	mov    $0xf,%edx
44f646:	8b 45 e8             	mov    -0x18(%ebp),%eax
44f649:	e8 de ba ff ff       	call   0x44b12c
44f64e:	33 c0                	xor    %eax,%eax
44f650:	5a                   	pop    %edx
44f651:	59                   	pop    %ecx
44f652:	59                   	pop    %ecx
44f653:	64 89 10             	mov    %edx,%fs:(%eax)
44f656:	68 70 f6 44 00       	push   $0x44f670
44f65b:	8b 45 ec             	mov    -0x14(%ebp),%eax
44f65e:	50                   	push   %eax
44f65f:	8b 45 f8             	mov    -0x8(%ebp),%eax
44f662:	50                   	push   %eax
44f663:	e8 d0 76 fb ff       	call   0x406d38
44f668:	c3                   	ret
44f669:	e9 42 4a fb ff       	jmp    0x4040b0
44f66e:	eb eb                	jmp    0x44f65b
44f670:	8b 45 e8             	mov    -0x18(%ebp),%eax
44f673:	66 81 60 54 7f ff    	andw   $0xff7f,0x54(%eax)
44f679:	ff 45 f4             	incl   -0xc(%ebp)
44f67c:	8b 45 f4             	mov    -0xc(%ebp),%eax
44f67f:	3b 45 f0             	cmp    -0x10(%ebp),%eax
44f682:	0f 8c c4 fe ff ff    	jl     0x44f54c
44f688:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f68b:	8b 80 d0 01 00 00    	mov    0x1d0(%eax),%eax
44f691:	85 c0                	test   %eax,%eax
44f693:	0f 84 ea 00 00 00    	je     0x44f783
44f699:	8b 78 08             	mov    0x8(%eax),%edi
44f69c:	4f                   	dec    %edi
44f69d:	85 ff                	test   %edi,%edi
44f69f:	0f 8c de 00 00 00    	jl     0x44f783
44f6a5:	47                   	inc    %edi
44f6a6:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
44f6ad:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f6b0:	8b 80 d0 01 00 00    	mov    0x1d0(%eax),%eax
44f6b6:	8b 55 f4             	mov    -0xc(%ebp),%edx
44f6b9:	e8 1a 8b fc ff       	call   0x4181d8
44f6be:	8b d8                	mov    %eax,%ebx
44f6c0:	80 bb d9 01 00 00 00 	cmpb   $0x0,0x1d9(%ebx)
44f6c7:	0f 84 ac 00 00 00    	je     0x44f779
44f6cd:	f6 43 50 10          	testb  $0x10,0x50(%ebx)
44f6d1:	0f 84 a2 00 00 00    	je     0x44f779
44f6d7:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
44f6db:	75 14                	jne    0x44f6f1
44f6dd:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
44f6e1:	0f 84 92 00 00 00    	je     0x44f779
44f6e7:	f6 43 51 04          	testb  $0x4,0x51(%ebx)
44f6eb:	0f 85 88 00 00 00    	jne    0x44f779
44f6f1:	b8 10 00 00 ff       	mov    $0xff000010,%eax
44f6f6:	e8 6d 44 fd ff       	call   0x423b68
44f6fb:	50                   	push   %eax
44f6fc:	e8 f7 74 fb ff       	call   0x406bf8
44f701:	8b f0                	mov    %eax,%esi
44f703:	56                   	push   %esi
44f704:	8b 43 44             	mov    0x44(%ebx),%eax
44f707:	03 43 4c             	add    0x4c(%ebx),%eax
44f70a:	50                   	push   %eax
44f70b:	8d 45 d8             	lea    -0x28(%ebp),%eax
44f70e:	50                   	push   %eax
44f70f:	8b 4b 40             	mov    0x40(%ebx),%ecx
44f712:	03 4b 48             	add    0x48(%ebx),%ecx
44f715:	8b 53 44             	mov    0x44(%ebx),%edx
44f718:	4a                   	dec    %edx
44f719:	8b 43 40             	mov    0x40(%ebx),%eax
44f71c:	48                   	dec    %eax
44f71d:	e8 5e 76 fc ff       	call   0x416d80