44a368:	43                   	inc    %ebx
44a369:	33 f6                	xor    %esi,%esi
44a36b:	6a 00                	push   $0x0
44a36d:	8b d6                	mov    %esi,%edx
44a36f:	8b 45 f4             	mov    -0xc(%ebp),%eax
44a372:	e8 c5 aa ff ff       	call   0x444e3c
44a377:	8b d0                	mov    %eax,%edx
44a379:	b1 03                	mov    $0x3,%cl
44a37b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a37e:	8b 38                	mov    (%eax),%edi
44a380:	ff 57 08             	call   *0x8(%edi)
44a383:	46                   	inc    %esi
44a384:	4b                   	dec    %ebx
44a385:	75 e4                	jne    0x44a36b
44a387:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a38a:	8b 40 64             	mov    0x64(%eax),%eax
44a38d:	e8 e2 fa ff ff       	call   0x449e74
44a392:	33 c0                	xor    %eax,%eax
44a394:	5a                   	pop    %edx
44a395:	59                   	pop    %ecx
44a396:	59                   	pop    %ecx
44a397:	64 89 10             	mov    %edx,%fs:(%eax)
44a39a:	68 af a3 44 00       	push   $0x44a3af
44a39f:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a3a2:	e8 c9 00 00 00       	call   0x44a470
44a3a7:	c3                   	ret
44a3a8:	e9 9f 9b fb ff       	jmp    0x403f4c
44a3ad:	eb f0                	jmp    0x44a39f
44a3af:	8b 45 f4             	mov    -0xc(%ebp),%eax
44a3b2:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
44a3b6:	75 28                	jne    0x44a3e0
44a3b8:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a3bb:	8b 55 fc             	mov    -0x4(%ebp),%edx
44a3be:	8b 52 14             	mov    0x14(%edx),%edx
44a3c1:	8b 4a 38             	mov    0x38(%edx),%ecx
44a3c4:	89 48 30             	mov    %ecx,0x30(%eax)
44a3c7:	8b 4a 3c             	mov    0x3c(%edx),%ecx
44a3ca:	89 48 34             	mov    %ecx,0x34(%eax)
44a3cd:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a3d0:	8b 40 14             	mov    0x14(%eax),%eax
44a3d3:	8b 55 fc             	mov    -0x4(%ebp),%edx
44a3d6:	89 50 3c             	mov    %edx,0x3c(%eax)
44a3d9:	c7 40 38 64 c2 44 00 	movl   $0x44c264,0x38(%eax)
44a3e0:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a3e3:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
44a3e7:	74 0f                	je     0x44a3f8
44a3e9:	e8 86 97 fb ff       	call   0x403b74
44a3ee:	64 8f 05 00 00 00 00 	pop    %fs:0x0
44a3f5:	83 c4 0c             	add    $0xc,%esp
44a3f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a3fb:	5f                   	pop    %edi
44a3fc:	5e                   	pop    %esi
44a3fd:	5b                   	pop    %ebx
44a3fe:	8b e5                	mov    %ebp,%esp
44a400:	5d                   	pop    %ebp
44a401:	c3                   	ret
44a402:	8b c0                	mov    %eax,%eax
44a404:	53                   	push   %ebx
44a405:	56                   	push   %esi
44a406:	e8 79 97 fb ff       	call   0x403b84
44a40b:	8b da                	mov    %edx,%ebx
44a40d:	8b f0                	mov    %eax,%esi
44a40f:	83 7e 30 00          	cmpl   $0x0,0x30(%esi)
44a413:	74 17                	je     0x44a42c
44a415:	8b 46 14             	mov    0x14(%esi),%eax
44a418:	8b 56 30             	mov    0x30(%esi),%edx
44a41b:	89 50 38             	mov    %edx,0x38(%eax)
44a41e:	8b 56 34             	mov    0x34(%esi),%edx
44a421:	89 50 3c             	mov    %edx,0x3c(%eax)
44a424:	33 c0                	xor    %eax,%eax
44a426:	89 46 30             	mov    %eax,0x30(%esi)
44a429:	89 46 34             	mov    %eax,0x34(%esi)
44a42c:	8b 56 64             	mov    0x64(%esi),%edx
44a42f:	8b c6                	mov    %esi,%eax
44a431:	e8 5e 10 00 00       	call   0x44b494
44a436:	8b 46 10             	mov    0x10(%esi),%eax
44a439:	e8 be 93 fb ff       	call   0x4037fc
44a43e:	8b d3                	mov    %ebx,%edx
44a440:	80 e2 fc             	and    $0xfc,%dl
44a443:	8b c6                	mov    %esi,%eax
44a445:	e8 a2 93 fb ff       	call   0x4037ec
44a44a:	84 db                	test   %bl,%bl
44a44c:	7e 07                	jle    0x44a455
44a44e:	8b c6                	mov    %esi,%eax
44a450:	e8 17 97 fb ff       	call   0x403b6c
44a455:	5e                   	pop    %esi
44a456:	5b                   	pop    %ebx
44a457:	c3                   	ret
44a458:	8b 40 14             	mov    0x14(%eax),%eax
44a45b:	8a 40 5b             	mov    0x5b(%eax),%al
44a45e:	48                   	dec    %eax
44a45f:	2c 02                	sub    $0x2,%al
44a461:	73 04                	jae    0x44a467
44a463:	83 01 0c             	addl   $0xc,(%ecx)
44a466:	c3                   	ret
44a467:	83 41 04 0c          	addl   $0xc,0x4(%ecx)
44a46b:	c3                   	ret
44a46c:	ff 40 6c             	incl   0x6c(%eax)
44a46f:	c3                   	ret
44a470:	ff 48 6c             	decl   0x6c(%eax)
44a473:	83 78 6c 00          	cmpl   $0x0,0x6c(%eax)
44a477:	7f 0a                	jg     0x44a483
44a479:	33 d2                	xor    %edx,%edx
44a47b:	89 50 6c             	mov    %edx,0x6c(%eax)
44a47e:	e8 91 18 00 00       	call   0x44bd14
44a483:	c3                   	ret
44a484:	55                   	push   %ebp
44a485:	8b ec                	mov    %esp,%ebp
44a487:	53                   	push   %ebx
44a488:	8b d8                	mov    %eax,%ebx
44a48a:	8b 45 08             	mov    0x8(%ebp),%eax
44a48d:	8b 40 fc             	mov    -0x4(%eax),%eax
44a490:	3b 43 04             	cmp    0x4(%ebx),%eax
44a493:	75 09                	jne    0x44a49e
44a495:	8b 45 08             	mov    0x8(%ebp),%eax
44a498:	89 58 f8             	mov    %ebx,-0x8(%eax)
44a49b:	5b                   	pop    %ebx
44a49c:	5d                   	pop    %ebp
44a49d:	c3                   	ret
44a49e:	8b 45 08             	mov    0x8(%ebp),%eax
44a4a1:	83 78 f8 00          	cmpl   $0x0,-0x8(%eax)
44a4a5:	75 13                	jne    0x44a4ba
44a4a7:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
44a4ab:	74 0d                	je     0x44a4ba
44a4ad:	8b 45 08             	mov    0x8(%ebp),%eax
44a4b0:	50                   	push   %eax
44a4b1:	8b 43 0c             	mov    0xc(%ebx),%eax
44a4b4:	e8 cb ff ff ff       	call   0x44a484
44a4b9:	59                   	pop    %ecx
44a4ba:	8b 45 08             	mov    0x8(%ebp),%eax
44a4bd:	83 78 f8 00          	cmpl   $0x0,-0x8(%eax)
44a4c1:	75 13                	jne    0x44a4d6
44a4c3:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
44a4c7:	74 0d                	je     0x44a4d6
44a4c9:	8b 45 08             	mov    0x8(%ebp),%eax
44a4cc:	50                   	push   %eax
44a4cd:	8b 43 08             	mov    0x8(%ebx),%eax
44a4d0:	e8 af ff ff ff       	call   0x44a484
44a4d5:	59                   	pop    %ecx
44a4d6:	5b                   	pop    %ebx
44a4d7:	5d                   	pop    %ebp
44a4d8:	c3                   	ret
44a4d9:	8d 40 00             	lea    0x0(%eax),%eax
44a4dc:	55                   	push   %ebp
44a4dd:	8b ec                	mov    %esp,%ebp
44a4df:	83 c4 f8             	add    $0xfffffff8,%esp
44a4e2:	89 55 fc             	mov    %edx,-0x4(%ebp)
44a4e5:	33 d2                	xor    %edx,%edx
44a4e7:	89 55 f8             	mov    %edx,-0x8(%ebp)
44a4ea:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
44a4ee:	74 10                	je     0x44a500
44a4f0:	83 78 64 00          	cmpl   $0x0,0x64(%eax)
44a4f4:	74 0a                	je     0x44a500
44a4f6:	55                   	push   %ebp
44a4f7:	8b 40 64             	mov    0x64(%eax),%eax
44a4fa:	e8 85 ff ff ff       	call   0x44a484
44a4ff:	59                   	pop    %ecx
44a500:	8b 45 f8             	mov    -0x8(%ebp),%eax
44a503:	59                   	pop    %ecx
44a504:	59                   	pop    %ecx
44a505:	5d                   	pop    %ebp
44a506:	c3                   	ret
44a507:	90                   	nop
44a508:	55                   	push   %ebp
44a509:	8b ec                	mov    %esp,%ebp
44a50b:	53                   	push   %ebx
44a50c:	56                   	push   %esi
44a50d:	8b d8                	mov    %eax,%ebx
44a50f:	8b 45 08             	mov    0x8(%ebp),%eax
44a512:	8d 70 08             	lea    0x8(%eax),%esi
44a515:	8b d3                	mov    %ebx,%edx
44a517:	8b 46 04             	mov    0x4(%esi),%eax
44a51a:	ff 16                	call   *(%esi)
44a51c:	8b 43 0c             	mov    0xc(%ebx),%eax
44a51f:	85 c0                	test   %eax,%eax
44a521:	74 0a                	je     0x44a52d
44a523:	8b 55 08             	mov    0x8(%ebp),%edx
44a526:	52                   	push   %edx
44a527:	e8 dc ff ff ff       	call   0x44a508
44a52c:	59                   	pop    %ecx
44a52d:	8b 43 08             	mov    0x8(%ebx),%eax
44a530:	85 c0                	test   %eax,%eax
44a532:	74 0a                	je     0x44a53e
44a534:	8b 55 08             	mov    0x8(%ebp),%edx
44a537:	52                   	push   %edx
44a538:	e8 cb ff ff ff       	call   0x44a508
44a53d:	59                   	pop    %ecx
44a53e:	5e                   	pop    %esi
44a53f:	5b                   	pop    %ebx
44a540:	5d                   	pop    %ebp
44a541:	c3                   	ret
44a542:	8b c0                	mov    %eax,%eax
44a544:	55                   	push   %ebp
44a545:	8b ec                	mov    %esp,%ebp
44a547:	85 d2                	test   %edx,%edx
44a549:	75 03                	jne    0x44a54e
44a54b:	8b 50 64             	mov    0x64(%eax),%edx
44a54e:	55                   	push   %ebp
44a54f:	8b c2                	mov    %edx,%eax
44a551:	e8 b2 ff ff ff       	call   0x44a508
44a556:	59                   	pop    %ecx
44a557:	5d                   	pop    %ebp
44a558:	c2 08 00             	ret    $0x8
44a55b:	90                   	nop
44a55c:	53                   	push   %ebx
44a55d:	56                   	push   %esi
44a55e:	57                   	push   %edi
44a55f:	83 c4 f0             	add    $0xfffffff0,%esp
44a562:	8b f1                	mov    %ecx,%esi
44a564:	e8 73 ff ff ff       	call   0x44a4dc
44a569:	8b d8                	mov    %eax,%ebx
44a56b:	85 db                	test   %ebx,%ebx
44a56d:	75 10                	jne    0x44a57f
44a56f:	8b c6                	mov    %esi,%eax
44a571:	33 c9                	xor    %ecx,%ecx
44a573:	ba 10 00 00 00       	mov    $0x10,%edx
44a578:	e8 9f 89 fb ff       	call   0x402f1c
44a57d:	eb 47                	jmp    0x44a5c6
44a57f:	ba 01 00 00 00       	mov    $0x1,%edx
44a584:	8b c3                	mov    %ebx,%eax
44a586:	e8 31 f8 ff ff       	call   0x449dbc
44a58b:	50                   	push   %eax
44a58c:	8d 44 24 04          	lea    0x4(%esp),%eax
44a590:	50                   	push   %eax
44a591:	ba 02 00 00 00       	mov    $0x2,%edx
44a596:	8b c3                	mov    %ebx,%eax
44a598:	e8 1f f8 ff ff       	call   0x449dbc
44a59d:	50                   	push   %eax
44a59e:	ba 01 00 00 00       	mov    $0x1,%edx
44a5a3:	8b c3                	mov    %ebx,%eax
44a5a5:	e8 8e f7 ff ff       	call   0x449d38
44a5aa:	50                   	push   %eax
44a5ab:	ba 02 00 00 00       	mov    $0x2,%edx
44a5b0:	8b c3                	mov    %ebx,%eax
44a5b2:	e8 81 f7 ff ff       	call   0x449d38
44a5b7:	5a                   	pop    %edx
44a5b8:	59                   	pop    %ecx
44a5b9:	e8 0a 86 fc ff       	call   0x412bc8
44a5be:	8b fe                	mov    %esi,%edi
44a5c0:	8b f4                	mov    %esp,%esi
44a5c2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a5c3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a5c4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a5c5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a5c6:	83 c4 10             	add    $0x10,%esp
44a5c9:	5f                   	pop    %edi
44a5ca:	5e                   	pop    %esi
44a5cb:	5b                   	pop    %ebx
44a5cc:	c3                   	ret
44a5cd:	8d 40 00             	lea    0x0(%eax),%eax
44a5d0:	e8 fb 06 00 00       	call   0x44acd0
44a5d5:	85 c0                	test   %eax,%eax
44a5d7:	74 04                	je     0x44a5dd
44a5d9:	8b 40 04             	mov    0x4(%eax),%eax
44a5dc:	c3                   	ret
44a5dd:	33 c0                	xor    %eax,%eax
44a5df:	c3                   	ret
44a5e0:	55                   	push   %ebp
44a5e1:	8b ec                	mov    %esp,%ebp
44a5e3:	83 c4 d0             	add    $0xffffffd0,%esp
44a5e6:	53                   	push   %ebx
44a5e7:	56                   	push   %esi
44a5e8:	57                   	push   %edi
44a5e9:	88 4d ff             	mov    %cl,-0x1(%ebp)
44a5ec:	8b f2                	mov    %edx,%esi
44a5ee:	8b d8                	mov    %eax,%ebx
44a5f0:	80 7e 57 00          	cmpb   $0x0,0x57(%esi)
44a5f4:	0f 84 ed 01 00 00    	je     0x44a7e7
44a5fa:	8b 43 38             	mov    0x38(%ebx),%eax
44a5fd:	85 c0                	test   %eax,%eax
44a5ff:	74 0d                	je     0x44a60e
44a601:	89 70 04             	mov    %esi,0x4(%eax)
44a604:	e8 0b fa ff ff       	call   0x44a014
44a609:	e9 d1 01 00 00       	jmp    0x44a7df
44a60e:	8b 43 64             	mov    0x64(%ebx),%eax
44a611:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
44a615:	0f 85 a3 00 00 00    	jne    0x44a6be
44a61b:	8d 55 e0             	lea    -0x20(%ebp),%edx
44a61e:	8b 43 14             	mov    0x14(%ebx),%eax
44a621:	8b 08                	mov    (%eax),%ecx
44a623:	ff 51 44             	call   *0x44(%ecx)
44a626:	8d 55 e0             	lea    -0x20(%ebp),%edx
44a629:	8b 43 14             	mov    0x14(%ebx),%eax
44a62c:	8b 08                	mov    (%eax),%ecx
44a62e:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
44a634:	8b 7d e8             	mov    -0x18(%ebp),%edi
44a637:	2b 7d e0             	sub    -0x20(%ebp),%edi
44a63a:	8b 45 ec             	mov    -0x14(%ebp),%eax
44a63d:	2b 45 e4             	sub    -0x1c(%ebp),%eax
44a640:	89 45 f0             	mov    %eax,-0x10(%ebp)
44a643:	8b 43 14             	mov    0x14(%ebx),%eax
44a646:	80 78 5c 00          	cmpb   $0x0,0x5c(%eax)
44a64a:	74 1d                	je     0x44a669
44a64c:	85 ff                	test   %edi,%edi
44a64e:	75 09                	jne    0x44a659
44a650:	8b c6                	mov    %esi,%eax
44a652:	e8 45 73 ff ff       	call   0x44199c
44a657:	8b f8                	mov    %eax,%edi
44a659:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
44a65d:	75 0a                	jne    0x44a669
44a65f:	8b c6                	mov    %esi,%eax
44a661:	e8 22 73 ff ff       	call   0x441988
44a666:	89 45 f0             	mov    %eax,-0x10(%ebp)
44a669:	8b 45 f0             	mov    -0x10(%ebp),%eax
44a66c:	50                   	push   %eax
44a66d:	8d 45 d0             	lea    -0x30(%ebp),%eax
44a670:	50                   	push   %eax
44a671:	8b cf                	mov    %edi,%ecx
44a673:	8b 55 e4             	mov    -0x1c(%ebp),%edx
44a676:	8b 45 e0             	mov    -0x20(%ebp),%eax
44a679:	e8 4a 85 fc ff       	call   0x412bc8
44a67e:	56                   	push   %esi
44a67f:	8d 75 d0             	lea    -0x30(%ebp),%esi
44a682:	8d 7d e0             	lea    -0x20(%ebp),%edi
44a685:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a686:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a687:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a688:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a689:	5e                   	pop    %esi
44a68a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
44a68d:	8b d6                	mov    %esi,%edx
44a68f:	8b c3                	mov    %ebx,%eax
44a691:	8b 38                	mov    (%eax),%edi
44a693:	ff 17                	call   *(%edi)
44a695:	8d 55 e0             	lea    -0x20(%ebp),%edx
44a698:	8b c6                	mov    %esi,%eax
44a69a:	e8 29 6d ff ff       	call   0x4413c8
44a69f:	8b cb                	mov    %ebx,%ecx
44a6a1:	b2 01                	mov    $0x1,%dl
44a6a3:	a1 bc e5 43 00       	mov    0x43e5bc,%eax
44a6a8:	e8 6b f5 ff ff       	call   0x449c18
44a6ad:	8b 53 64             	mov    0x64(%ebx),%edx
44a6b0:	89 42 08             	mov    %eax,0x8(%edx)
44a6b3:	89 50 14             	mov    %edx,0x14(%eax)
44a6b6:	89 70 04             	mov    %esi,0x4(%eax)
44a6b9:	e9 21 01 00 00       	jmp    0x44a7df
44a6be:	8a 45 ff             	mov    -0x1(%ebp),%al
44a6c1:	84 c0                	test   %al,%al
44a6c3:	74 04                	je     0x44a6c9
44a6c5:	2c 05                	sub    $0x5,%al
44a6c7:	75 04                	jne    0x44a6cd
44a6c9:	c6 45 ff 04          	movb   $0x4,-0x1(%ebp)
44a6cd:	8b d6                	mov    %esi,%edx
44a6cf:	8b c3                	mov    %ebx,%eax
44a6d1:	e8 06 fe ff ff       	call   0x44a4dc
44a6d6:	85 c0                	test   %eax,%eax
44a6d8:	74 09                	je     0x44a6e3
44a6da:	8b d0                	mov    %eax,%edx
44a6dc:	8b c3                	mov    %ebx,%eax
44a6de:	e8 49 0e 00 00       	call   0x44b52c