44a2a8:	8d 45 ef             	lea    -0x11(%ebp),%eax
44a2ab:	50                   	push   %eax
44a2ac:	e8 6f cc fb ff       	call   0x406f20
44a2b1:	85 c0                	test   %eax,%eax
44a2b3:	75 08                	jne    0x44a2bd
44a2b5:	85 f6                	test   %esi,%esi
44a2b7:	7f b2                	jg     0x44a26b
44a2b9:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
44a2bd:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
44a2c1:	5f                   	pop    %edi
44a2c2:	5e                   	pop    %esi
44a2c3:	5b                   	pop    %ebx
44a2c4:	8b e5                	mov    %ebp,%esp
44a2c6:	5d                   	pop    %ebp
44a2c7:	c3                   	ret
44a2c8:	55                   	push   %ebp
44a2c9:	8b ec                	mov    %esp,%ebp
44a2cb:	83 c4 e8             	add    $0xffffffe8,%esp
44a2ce:	53                   	push   %ebx
44a2cf:	88 4d eb             	mov    %cl,-0x15(%ebp)
44a2d2:	8b da                	mov    %edx,%ebx
44a2d4:	89 45 fc             	mov    %eax,-0x4(%ebp)
44a2d7:	84 db                	test   %bl,%bl
44a2d9:	75 12                	jne    0x44a2ed
44a2db:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a2de:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
44a2e2:	74 69                	je     0x44a34d
44a2e4:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a2e7:	f6 40 51 04          	testb  $0x4,0x51(%eax)
44a2eb:	75 60                	jne    0x44a34d
44a2ed:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a2f0:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
44a2f4:	74 57                	je     0x44a34d
44a2f6:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a2f9:	8b 40 30             	mov    0x30(%eax),%eax
44a2fc:	e8 4b 7a 00 00       	call   0x451d4c
44a301:	84 c0                	test   %al,%al
44a303:	74 48                	je     0x44a34d
44a305:	8d 55 ec             	lea    -0x14(%ebp),%edx
44a308:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a30b:	e8 74 f4 ff ff       	call   0x449784
44a310:	80 7d eb 00          	cmpb   $0x0,-0x15(%ebp)
44a314:	75 17                	jne    0x44a32d
44a316:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a319:	8b 40 30             	mov    0x30(%eax),%eax
44a31c:	f6 40 50 40          	testb  $0x40,0x50(%eax)
44a320:	75 0b                	jne    0x44a32d
44a322:	55                   	push   %ebp
44a323:	e8 14 ff ff ff       	call   0x44a23c
44a328:	59                   	pop    %ecx
44a329:	84 c0                	test   %al,%al
44a32b:	74 04                	je     0x44a331
44a32d:	33 c0                	xor    %eax,%eax
44a32f:	eb 02                	jmp    0x44a333
44a331:	b0 01                	mov    $0x1,%al
44a333:	f6 d8                	neg    %al
44a335:	1b c0                	sbb    %eax,%eax
44a337:	50                   	push   %eax
44a338:	8d 45 ec             	lea    -0x14(%ebp),%eax
44a33b:	50                   	push   %eax
44a33c:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a33f:	8b 40 30             	mov    0x30(%eax),%eax
44a342:	e8 65 76 00 00       	call   0x4519ac
44a347:	50                   	push   %eax
44a348:	e8 ab cd fb ff       	call   0x4070f8
44a34d:	5b                   	pop    %ebx
44a34e:	8b e5                	mov    %ebp,%esp
44a350:	5d                   	pop    %ebp
44a351:	c3                   	ret
44a352:	8b c0                	mov    %eax,%eax
44a354:	f6 40 50 40          	testb  $0x40,0x50(%eax)
44a358:	0f 95 c1             	setne  %cl
44a35b:	0f b6 50 57          	movzbl 0x57(%eax),%edx
44a35f:	e8 64 ff ff ff       	call   0x44a2c8
44a364:	c3                   	ret
44a365:	8d 40 00             	lea    0x0(%eax),%eax
44a368:	55                   	push   %ebp
44a369:	8b ec                	mov    %esp,%ebp
44a36b:	51                   	push   %ecx
44a36c:	53                   	push   %ebx
44a36d:	88 4d ff             	mov    %cl,-0x1(%ebp)
44a370:	c6 45 fe 00          	movb   $0x0,-0x2(%ebp)
44a374:	66 83 b8 2a 01 00 00 	cmpw   $0x0,0x12a(%eax)
44a37b:	00
44a37c:	74 27                	je     0x44a3a5
44a37e:	0f b6 4d ff          	movzbl -0x1(%ebp),%ecx
44a382:	51                   	push   %ecx
44a383:	8b 4d 10             	mov    0x10(%ebp),%ecx
44a386:	51                   	push   %ecx
44a387:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44a38a:	51                   	push   %ecx
44a38b:	8b 4d 08             	mov    0x8(%ebp),%ecx
44a38e:	51                   	push   %ecx
44a38f:	8d 4d fe             	lea    -0x2(%ebp),%ecx
44a392:	51                   	push   %ecx
44a393:	8b d8                	mov    %eax,%ebx
44a395:	8b ca                	mov    %edx,%ecx
44a397:	8b d0                	mov    %eax,%edx
44a399:	8b 83 2c 01 00 00    	mov    0x12c(%ebx),%eax
44a39f:	ff 93 28 01 00 00    	call   *0x128(%ebx)
44a3a5:	0f b6 45 fe          	movzbl -0x2(%ebp),%eax
44a3a9:	5b                   	pop    %ebx
44a3aa:	59                   	pop    %ecx
44a3ab:	5d                   	pop    %ebp
44a3ac:	c2 0c 00             	ret    $0xc
44a3af:	90                   	nop
44a3b0:	56                   	push   %esi
44a3b1:	57                   	push   %edi
44a3b2:	55                   	push   %ebp
44a3b3:	51                   	push   %ecx
44a3b4:	89 14 24             	mov    %edx,(%esp)
44a3b7:	8b f8                	mov    %eax,%edi
44a3b9:	b2 01                	mov    $0x1,%dl
44a3bb:	8b c7                	mov    %edi,%eax
44a3bd:	e8 fe 22 01 00       	call   0x45c6c0
44a3c2:	8b e8                	mov    %eax,%ebp
44a3c4:	e8 47 c8 ff ff       	call   0x446c10
44a3c9:	8b f0                	mov    %eax,%esi
44a3cb:	85 f6                	test   %esi,%esi
44a3cd:	74 12                	je     0x44a3e1
44a3cf:	3b ee                	cmp    %esi,%ebp
44a3d1:	74 0e                	je     0x44a3e1
44a3d3:	3b fe                	cmp    %esi,%edi
44a3d5:	74 0a                	je     0x44a3e1
44a3d7:	8b 14 24             	mov    (%esp),%edx
44a3da:	8b c6                	mov    %esi,%eax
44a3dc:	8b 08                	mov    (%eax),%ecx
44a3de:	ff 51 78             	call   *0x78(%ecx)
44a3e1:	8b 04 24             	mov    (%esp),%eax
44a3e4:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
44a3e8:	75 38                	jne    0x44a422
44a3ea:	85 ed                	test   %ebp,%ebp
44a3ec:	74 14                	je     0x44a402
44a3ee:	3b fd                	cmp    %ebp,%edi
44a3f0:	74 10                	je     0x44a402
44a3f2:	8b 14 24             	mov    (%esp),%edx
44a3f5:	8b c5                	mov    %ebp,%eax
44a3f7:	66 be c9 ff          	mov    $0xffc9,%si
44a3fb:	e8 18 97 fb ff       	call   0x403b18
44a400:	eb 20                	jmp    0x44a422
44a402:	8b 04 24             	mov    (%esp),%eax
44a405:	8b 40 08             	mov    0x8(%eax),%eax
44a408:	50                   	push   %eax
44a409:	8b 4c 24 04          	mov    0x4(%esp),%ecx
44a40d:	8b 49 04             	mov    0x4(%ecx),%ecx
44a410:	ba 43 b0 00 00       	mov    $0xb043,%edx
44a415:	8b c7                	mov    %edi,%eax
44a417:	e8 10 0d 00 00       	call   0x44b12c
44a41c:	8b 14 24             	mov    (%esp),%edx
44a41f:	89 42 0c             	mov    %eax,0xc(%edx)
44a422:	5a                   	pop    %edx
44a423:	5d                   	pop    %ebp
44a424:	5f                   	pop    %edi
44a425:	5e                   	pop    %esi
44a426:	c3                   	ret
44a427:	90                   	nop
44a428:	56                   	push   %esi
44a429:	8b 70 30             	mov    0x30(%eax),%esi
44a42c:	85 f6                	test   %esi,%esi
44a42e:	74 0a                	je     0x44a43a
44a430:	8b c6                	mov    %esi,%eax
44a432:	8b 10                	mov    (%eax),%edx
44a434:	ff 92 8c 00 00 00    	call   *0x8c(%edx)
44a43a:	5e                   	pop    %esi
44a43b:	c3                   	ret
44a43c:	8b 10                	mov    (%eax),%edx
44a43e:	ff 92 84 00 00 00    	call   *0x84(%edx)
44a444:	c3                   	ret
44a445:	8d 40 00             	lea    0x0(%eax),%eax
44a448:	55                   	push   %ebp
44a449:	8b ec                	mov    %esp,%ebp
44a44b:	83 c4 f8             	add    $0xfffffff8,%esp
44a44e:	53                   	push   %ebx
44a44f:	89 45 fc             	mov    %eax,-0x4(%ebp)
44a452:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a455:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
44a459:	75 1a                	jne    0x44a475
44a45b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a45e:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
44a462:	0f 84 d6 00 00 00    	je     0x44a53e
44a468:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a46b:	f6 40 51 04          	testb  $0x4,0x51(%eax)
44a46f:	0f 85 c9 00 00 00    	jne    0x44a53e
44a475:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a478:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
44a47c:	0f 84 bc 00 00 00    	je     0x44a53e
44a482:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a485:	8b 40 30             	mov    0x30(%eax),%eax
44a488:	e8 bf 78 00 00       	call   0x451d4c
44a48d:	84 c0                	test   %al,%al
44a48f:	0f 84 a9 00 00 00    	je     0x44a53e
44a495:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a498:	f6 40 50 40          	testb  $0x40,0x50(%eax)
44a49c:	0f 84 86 00 00 00    	je     0x44a528
44a4a2:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a4a5:	8b 40 30             	mov    0x30(%eax),%eax
44a4a8:	e8 ff 74 00 00       	call   0x4519ac
44a4ad:	50                   	push   %eax
44a4ae:	e8 cd ca fb ff       	call   0x406f80
44a4b3:	89 45 f8             	mov    %eax,-0x8(%ebp)
44a4b6:	33 c9                	xor    %ecx,%ecx
44a4b8:	55                   	push   %ebp
44a4b9:	68 21 a5 44 00       	push   $0x44a521
44a4be:	64 ff 31             	push   %fs:(%ecx)
44a4c1:	64 89 21             	mov    %esp,%fs:(%ecx)
44a4c4:	8b 55 fc             	mov    -0x4(%ebp),%edx
44a4c7:	8b 52 44             	mov    0x44(%edx),%edx
44a4ca:	8b ca                	mov    %edx,%ecx
44a4cc:	8b 5d fc             	mov    -0x4(%ebp),%ebx
44a4cf:	03 4b 4c             	add    0x4c(%ebx),%ecx
44a4d2:	51                   	push   %ecx
44a4d3:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a4d6:	8b 40 40             	mov    0x40(%eax),%eax
44a4d9:	8b c8                	mov    %eax,%ecx
44a4db:	8b 5d fc             	mov    -0x4(%ebp),%ebx
44a4de:	03 4b 48             	add    0x48(%ebx),%ecx
44a4e1:	51                   	push   %ecx
44a4e2:	52                   	push   %edx
44a4e3:	50                   	push   %eax
44a4e4:	8b 45 f8             	mov    -0x8(%ebp),%eax
44a4e7:	50                   	push   %eax
44a4e8:	e8 f3 c7 fb ff       	call   0x406ce0
44a4ed:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a4f0:	8b 40 30             	mov    0x30(%eax),%eax
44a4f3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44a4f6:	8b 55 f8             	mov    -0x8(%ebp),%edx
44a4f9:	e8 be 4f 00 00       	call   0x44f4bc
44a4fe:	33 c0                	xor    %eax,%eax
44a500:	5a                   	pop    %edx
44a501:	59                   	pop    %ecx
44a502:	59                   	pop    %ecx
44a503:	64 89 10             	mov    %edx,%fs:(%eax)
44a506:	68 3e a5 44 00       	push   $0x44a53e
44a50b:	8b 45 f8             	mov    -0x8(%ebp),%eax
44a50e:	50                   	push   %eax
44a50f:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a512:	8b 40 30             	mov    0x30(%eax),%eax
44a515:	e8 92 74 00 00       	call   0x4519ac
44a51a:	50                   	push   %eax
44a51b:	e8 e8 cc fb ff       	call   0x407208
44a520:	c3                   	ret
44a521:	e9 8a 9b fb ff       	jmp    0x4040b0
44a526:	eb e3                	jmp    0x44a50b
44a528:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a52b:	8b 10                	mov    (%eax),%edx
44a52d:	ff 92 80 00 00 00    	call   *0x80(%edx)
44a533:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a536:	8b 10                	mov    (%eax),%edx
44a538:	ff 92 8c 00 00 00    	call   *0x8c(%edx)
44a53e:	5b                   	pop    %ebx
44a53f:	59                   	pop    %ecx
44a540:	59                   	pop    %ecx
44a541:	5d                   	pop    %ebp
44a542:	c3                   	ret
44a543:	90                   	nop
44a544:	33 c0                	xor    %eax,%eax
44a546:	c3                   	ret
44a547:	90                   	nop
44a548:	8b 15 48 78 4a 00    	mov    0x4a7848,%edx
44a54e:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
44a552:	74 06                	je     0x44a55a
44a554:	80 78 5f 00          	cmpb   $0x0,0x5f(%eax)
44a558:	75 03                	jne    0x44a55d
44a55a:	33 c0                	xor    %eax,%eax
44a55c:	c3                   	ret
44a55d:	b0 01                	mov    $0x1,%al
44a55f:	c3                   	ret
44a560:	8b 15 48 78 4a 00    	mov    0x4a7848,%edx
44a566:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
44a56a:	74 06                	je     0x44a572
44a56c:	80 78 5f 01          	cmpb   $0x1,0x5f(%eax)
44a570:	74 03                	je     0x44a575
44a572:	33 c0                	xor    %eax,%eax
44a574:	c3                   	ret
44a575:	b0 01                	mov    $0x1,%al
44a577:	c3                   	ret
44a578:	8b 15 48 78 4a 00    	mov    0x4a7848,%edx
44a57e:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
44a582:	74 09                	je     0x44a58d
44a584:	0f b6 40 5f          	movzbl 0x5f(%eax),%eax
44a588:	48                   	dec    %eax
44a589:	2c 02                	sub    $0x2,%al
44a58b:	72 03                	jb     0x44a590
44a58d:	33 c0                	xor    %eax,%eax
44a58f:	c3                   	ret
44a590:	b0 01                	mov    $0x1,%al
44a592:	c3                   	ret
44a593:	90                   	nop
44a594:	8b 15 18 b5 4a 00    	mov    0x4ab518,%edx
44a59a:	8b 4a 08             	mov    0x8(%edx),%ecx
44a59d:	8b 15 18 b5 4a 00    	mov    0x4ab518,%edx
44a5a3:	0f b6 52 04          	movzbl 0x4(%edx),%edx
44a5a7:	e8 04 00 00 00       	call   0x44a5b0
44a5ac:	c3                   	ret
44a5ad:	8d 40 00             	lea    0x0(%eax),%eax
44a5b0:	53                   	push   %ebx
44a5b1:	56                   	push   %esi
44a5b2:	57                   	push   %edi
44a5b3:	83 c4 ec             	add    $0xffffffec,%esp
44a5b6:	8b f1                	mov    %ecx,%esi
44a5b8:	8b da                	mov    %edx,%ebx
44a5ba:	8b f8                	mov    %eax,%edi
44a5bc:	a1 18 b5 4a 00       	mov    0x4ab518,%eax
44a5c1:	e8 26 c6 00 00       	call   0x456bec
44a5c6:	84 c0                	test   %al,%al
44a5c8:	74 0c                	je     0x44a5d6
44a5ca:	33 d2                	xor    %edx,%edx
44a5cc:	a1 18 b5 4a 00       	mov    0x4ab518,%eax
44a5d1:	e8 d6 c6 00 00       	call   0x456cac
44a5d6:	8b c7                	mov    %edi,%eax
44a5d8:	8b 15 20 ab 45 00    	mov    0x45ab20,%edx
44a5de:	e8 c5 94 fb ff       	call   0x403aa8
44a5e3:	84 c0                	test   %al,%al
44a5e5:	74 20                	je     0x44a607
44a5e7:	80 bf 8f 00 00 00 01 	cmpb   $0x1,0x8f(%edi)
44a5ee:	74 17                	je     0x44a607
44a5f0:	8b 0d ec 76 4a 00    	mov    0x4a76ec,%ecx
44a5f6:	b2 01                	mov    $0x1,%dl
44a5f8:	a1 40 5c 41 00       	mov    0x415c40,%eax
44a5fd:	e8 ca 1e fc ff       	call   0x40c4cc
44a602:	e8 89 9b fb ff       	call   0x404190
44a607:	8b c7                	mov    %edi,%eax
44a609:	e8 52 0b 00 00       	call   0x44b160
44a60e:	83 3d 3c b5 4a 00 00 	cmpl   $0x0,0x4ab53c
44a615:	74 09                	je     0x44a620
44a617:	83 3d 3c b5 4a 00 ff 	cmpl   $0xffffffff,0x4ab53c
44a61e:	75 75                	jne    0x44a695
44a620:	33 c0                	xor    %eax,%eax
44a622:	a3 3c b5 4a 00       	mov    %eax,0x4ab53c
44a627:	f6 47 54 01          	testb  $0x1,0x54(%edi)
44a62b:	74 48                	je     0x44a675
44a62d:	54                   	push   %esp
44a62e:	e8 45 c9 fb ff       	call   0x406f78
44a633:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
44a637:	8b d4                	mov    %esp,%edx
44a639:	8b c7                	mov    %edi,%eax
44a63b:	e8 64 f3 ff ff       	call   0x4499a4
44a640:	8b 44 24 0c          	mov    0xc(%esp),%eax
44a644:	89 04 24             	mov    %eax,(%esp)
44a647:	8b 44 24 10          	mov    0x10(%esp),%eax
44a64b:	89 44 24 04          	mov    %eax,0x4(%esp)
44a64f:	0f b7 04 24          	movzwl (%esp),%eax
44a653:	66 89 44 24 08       	mov    %ax,0x8(%esp)
44a658:	0f b7 44 24 04       	movzwl 0x4(%esp),%eax
44a65d:	66 89 44 24 0a       	mov    %ax,0xa(%esp)
44a662:	8b 44 24 08          	mov    0x8(%esp),%eax
44a666:	50                   	push   %eax
44a667:	33 c9                	xor    %ecx,%ecx
44a669:	ba 02 02 00 00       	mov    $0x202,%edx
44a66e:	8b c7                	mov    %edi,%eax