44a449:	8b ec                	mov    %esp,%ebp
44a44b:	53                   	push   %ebx
44a44c:	56                   	push   %esi
44a44d:	57                   	push   %edi
44a44e:	8b d9                	mov    %ecx,%ebx
44a450:	e8 cb 87 fc ff       	call   0x412c20
44a455:	6a 14                	push   $0x14
44a457:	e8 8e 50 fd ff       	call   0x41f4ea
44a45c:	8b f0                	mov    %eax,%esi
44a45e:	33 ff                	xor    %edi,%edi
44a460:	59                   	pop    %ecx
44a461:	85 f6                	test   %esi,%esi
44a463:	74 10                	je     0x44a475
44a465:	89 3e                	mov    %edi,(%esi)
44a467:	89 7e 04             	mov    %edi,0x4(%esi)
44a46a:	89 7e 08             	mov    %edi,0x8(%esi)
44a46d:	89 7e 0c             	mov    %edi,0xc(%esi)
44a470:	89 7e 10             	mov    %edi,0x10(%esi)
44a473:	eb 02                	jmp    0x44a477
44a475:	8b f7                	mov    %edi,%esi
44a477:	8b 45 10             	mov    0x10(%ebp),%eax
44a47a:	83 ec 10             	sub    $0x10,%esp
44a47d:	8b cc                	mov    %esp,%ecx
44a47f:	ff 75 0c             	push   0xc(%ebp)
44a482:	89 01                	mov    %eax,(%ecx)
44a484:	8b 45 14             	mov    0x14(%ebp),%eax
44a487:	89 41 04             	mov    %eax,0x4(%ecx)
44a48a:	8b 45 18             	mov    0x18(%ebp),%eax
44a48d:	89 41 08             	mov    %eax,0x8(%ecx)
44a490:	8b 45 1c             	mov    0x1c(%ebp),%eax
44a493:	89 41 0c             	mov    %eax,0xc(%ecx)
44a496:	8b 45 1c             	mov    0x1c(%ebp),%eax
44a499:	8b ce                	mov    %esi,%ecx
44a49b:	ff 00                	incl   (%eax)
44a49d:	e8 93 de ff ff       	call   0x448335
44a4a2:	8b 55 08             	mov    0x8(%ebp),%edx
44a4a5:	89 02                	mov    %eax,(%edx)
44a4a7:	85 c0                	test   %eax,%eax
44a4a9:	74 0e                	je     0x44a4b9
44a4ab:	85 f6                	test   %esi,%esi
44a4ad:	74 15                	je     0x44a4c4
44a4af:	51                   	push   %ecx
44a4b0:	8b ce                	mov    %esi,%ecx
44a4b2:	e8 0c f3 fe ff       	call   0x4397c3
44a4b7:	eb 0b                	jmp    0x44a4c4
44a4b9:	c7 43 0c 0c 00 00 00 	movl   $0xc,0xc(%ebx)
44a4c0:	89 33                	mov    %esi,(%ebx)
44a4c2:	8b fe                	mov    %esi,%edi
44a4c4:	8d 4d 10             	lea    0x10(%ebp),%ecx
44a4c7:	e8 6b 26 fc ff       	call   0x40cb37
44a4cc:	8b c7                	mov    %edi,%eax
44a4ce:	5f                   	pop    %edi
44a4cf:	5e                   	pop    %esi
44a4d0:	5b                   	pop    %ebx
44a4d1:	5d                   	pop    %ebp
44a4d2:	c2 18 00             	ret    $0x18
44a4d5:	55                   	push   %ebp
44a4d6:	8b ec                	mov    %esp,%ebp
44a4d8:	83 ec 24             	sub    $0x24,%esp
44a4db:	53                   	push   %ebx
44a4dc:	56                   	push   %esi
44a4dd:	8b f1                	mov    %ecx,%esi
44a4df:	57                   	push   %edi
44a4e0:	8b 46 0c             	mov    0xc(%esi),%eax
44a4e3:	83 f8 0b             	cmp    $0xb,%eax
44a4e6:	0f 84 1a 01 00 00    	je     0x44a606
44a4ec:	48                   	dec    %eax
44a4ed:	83 f8 09             	cmp    $0x9,%eax
44a4f0:	0f 87 e3 00 00 00    	ja     0x44a5d9
44a4f6:	ff 24 85 0d a6 44 00 	jmp    *0x44a60d(,%eax,4)
44a4fd:	8b 56 08             	mov    0x8(%esi),%edx
44a500:	89 55 fc             	mov    %edx,-0x4(%ebp)
44a503:	e8 ff 2a fc ff       	call   0x40d007
44a508:	84 c0                	test   %al,%al
44a50a:	74 32                	je     0x44a53e
44a50c:	8b 5a 04             	mov    0x4(%edx),%ebx
44a50f:	83 eb 02             	sub    $0x2,%ebx
44a512:	d1 fb                	sar    $1,%ebx
44a514:	53                   	push   %ebx
44a515:	e8 d0 4f fd ff       	call   0x41f4ea
44a51a:	8b f8                	mov    %eax,%edi
44a51c:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a51f:	59                   	pop    %ecx
44a520:	8b 08                	mov    (%eax),%ecx
44a522:	8b d7                	mov    %edi,%edx
44a524:	8d 49 04             	lea    0x4(%ecx),%ecx
44a527:	e8 03 da ff ff       	call   0x447f2f
44a52c:	84 c0                	test   %al,%al
44a52e:	0f 85 b3 00 00 00    	jne    0x44a5e7
44a534:	57                   	push   %edi
44a535:	e8 24 50 fd ff       	call   0x41f55e
44a53a:	8b 55 fc             	mov    -0x4(%ebp),%edx
44a53d:	59                   	pop    %ecx
44a53e:	8b 5a 04             	mov    0x4(%edx),%ebx
44a541:	85 db                	test   %ebx,%ebx
44a543:	75 10                	jne    0x44a555
44a545:	6a 01                	push   $0x1
44a547:	e8 9e 4f fd ff       	call   0x41f4ea
44a54c:	8b f8                	mov    %eax,%edi
44a54e:	88 1f                	mov    %bl,(%edi)
44a550:	e9 91 00 00 00       	jmp    0x44a5e6
44a555:	53                   	push   %ebx
44a556:	e8 8f 4f fd ff       	call   0x41f4ea
44a55b:	59                   	pop    %ecx
44a55c:	53                   	push   %ebx
44a55d:	8d 4d e0             	lea    -0x20(%ebp),%ecx
44a560:	8b f8                	mov    %eax,%edi
44a562:	e8 c6 f7 ff ff       	call   0x449d2d
44a567:	8d 45 e0             	lea    -0x20(%ebp),%eax
44a56a:	50                   	push   %eax
44a56b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a56e:	50                   	push   %eax
44a56f:	e8 ea 40 fd ff       	call   0x41e65e
44a574:	53                   	push   %ebx
44a575:	ff 75 e0             	push   -0x20(%ebp)
44a578:	57                   	push   %edi
44a579:	e8 02 49 fd ff       	call   0x41ee80
44a57e:	83 c4 0c             	add    $0xc,%esp
44a581:	8d 4d e0             	lea    -0x20(%ebp),%ecx
44a584:	e8 ae 25 fc ff       	call   0x40cb37
44a589:	eb 5c                	jmp    0x44a5e7
44a58b:	8b 06                	mov    (%esi),%eax
44a58d:	eb 27                	jmp    0x44a5b6
44a58f:	8b 06                	mov    (%esi),%eax
44a591:	89 45 f0             	mov    %eax,-0x10(%ebp)
44a594:	8b 46 04             	mov    0x4(%esi),%eax
44a597:	6a 08                	push   $0x8
44a599:	89 45 f4             	mov    %eax,-0xc(%ebp)
44a59c:	eb 1d                	jmp    0x44a5bb
44a59e:	dd 06                	fldl   (%esi)
44a5a0:	6a 08                	push   $0x8
44a5a2:	dd 5d f0             	fstpl  -0x10(%ebp)
44a5a5:	eb 14                	jmp    0x44a5bb
44a5a7:	8a 06                	mov    (%esi),%al
44a5a9:	33 db                	xor    %ebx,%ebx
44a5ab:	43                   	inc    %ebx
44a5ac:	88 45 f0             	mov    %al,-0x10(%ebp)
44a5af:	eb 0b                	jmp    0x44a5bc
44a5b1:	8b 06                	mov    (%esi),%eax
44a5b3:	8b 40 04             	mov    0x4(%eax),%eax
44a5b6:	89 45 f0             	mov    %eax,-0x10(%ebp)
44a5b9:	6a 04                	push   $0x4
44a5bb:	5b                   	pop    %ebx
44a5bc:	53                   	push   %ebx
44a5bd:	e8 28 4f fd ff       	call   0x41f4ea
44a5c2:	8b f8                	mov    %eax,%edi
44a5c4:	53                   	push   %ebx
44a5c5:	8d 45 f0             	lea    -0x10(%ebp),%eax
44a5c8:	50                   	push   %eax
44a5c9:	57                   	push   %edi
44a5ca:	e8 b1 48 fd ff       	call   0x41ee80
44a5cf:	83 c4 10             	add    $0x10,%esp
44a5d2:	eb 13                	jmp    0x44a5e7
44a5d4:	e8 e5 36 fd ff       	call   0x41dcbe
44a5d9:	6a 01                	push   $0x1
44a5db:	33 db                	xor    %ebx,%ebx
44a5dd:	e8 08 4f fd ff       	call   0x41f4ea
44a5e2:	8b f8                	mov    %eax,%edi
44a5e4:	88 1f                	mov    %bl,(%edi)
44a5e6:	59                   	pop    %ecx
44a5e7:	6a 08                	push   $0x8
44a5e9:	e8 fc 4e fd ff       	call   0x41f4ea
44a5ee:	89 06                	mov    %eax,(%esi)
44a5f0:	89 18                	mov    %ebx,(%eax)
44a5f2:	59                   	pop    %ecx
44a5f3:	8b 0e                	mov    (%esi),%ecx
44a5f5:	89 79 04             	mov    %edi,0x4(%ecx)
44a5f8:	8b ce                	mov    %esi,%ecx
44a5fa:	e8 da 00 00 00       	call   0x44a6d9
44a5ff:	c7 46 0c 0b 00 00 00 	movl   $0xb,0xc(%esi)
44a606:	5f                   	pop    %edi
44a607:	5e                   	pop    %esi
44a608:	b0 01                	mov    $0x1,%al
44a60a:	5b                   	pop    %ebx
44a60b:	c9                   	leave
44a60c:	c3                   	ret
44a60d:	8b a5 44 00 8f a5    	mov    -0x5a70ffbc(%ebp),%esp
44a613:	44                   	inc    %esp
44a614:	00 9e a5 44 00 fd    	add    %bl,-0x2ffbb5b(%esi)
44a61a:	a4                   	movsb  %ds:(%esi),%es:(%edi)
44a61b:	44                   	inc    %esp
44a61c:	00 d4                	add    %dl,%ah
44a61e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a61f:	44                   	inc    %esp
44a620:	00 d9                	add    %bl,%cl
44a622:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a623:	44                   	inc    %esp
44a624:	00 8b a5 44 00 d9    	add    %cl,-0x26ffbb5b(%ebx)
44a62a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a62b:	44                   	inc    %esp
44a62c:	00 a7 a5 44 00 b1    	add    %ah,-0x4effbb5b(%edi)
44a632:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44a633:	44                   	inc    %esp
44a634:	00 55 8b             	add    %dl,-0x75(%ebp)
44a637:	ec                   	in     (%dx),%al
44a638:	56                   	push   %esi
44a639:	8b f1                	mov    %ecx,%esi
44a63b:	8b 46 0c             	mov    0xc(%esi),%eax
44a63e:	85 c0                	test   %eax,%eax
44a640:	7e 47                	jle    0x44a689
44a642:	57                   	push   %edi
44a643:	8b 7d 08             	mov    0x8(%ebp),%edi
44a646:	83 f8 03             	cmp    $0x3,%eax
44a649:	7e 26                	jle    0x44a671
44a64b:	83 f8 04             	cmp    $0x4,%eax
44a64e:	74 26                	je     0x44a676
44a650:	83 f8 07             	cmp    $0x7,%eax
44a653:	74 1c                	je     0x44a671
44a655:	83 f8 08             	cmp    $0x8,%eax
44a658:	7e 2e                	jle    0x44a688
44a65a:	83 f8 0a             	cmp    $0xa,%eax
44a65d:	7e 12                	jle    0x44a671
44a65f:	83 f8 0b             	cmp    $0xb,%eax
44a662:	75 24                	jne    0x44a688
44a664:	39 47 0c             	cmp    %eax,0xc(%edi)
44a667:	75 08                	jne    0x44a671
44a669:	57                   	push   %edi
44a66a:	e8 b6 9e fc ff       	call   0x414525
44a66f:	eb 17                	jmp    0x44a688
44a671:	e8 d8 45 fd ff       	call   0x41ec4e
44a676:	8b cf                	mov    %edi,%ecx
44a678:	e8 ef ec fb ff       	call   0x40936c
44a67d:	ff 77 08             	push   0x8(%edi)
44a680:	8b 4e 08             	mov    0x8(%esi),%ecx
44a683:	e8 85 aa fb ff       	call   0x40510d
44a688:	5f                   	pop    %edi
44a689:	5e                   	pop    %esi
44a68a:	5d                   	pop    %ebp
44a68b:	c2 04 00             	ret    $0x4
44a68e:	83 79 0c 0d          	cmpl   $0xd,0xc(%ecx)
44a692:	75 06                	jne    0x44a69a
44a694:	8b 01                	mov    (%ecx),%eax
44a696:	8b 40 10             	mov    0x10(%eax),%eax
44a699:	c3                   	ret
44a69a:	33 c0                	xor    %eax,%eax
44a69c:	c3                   	ret
44a69d:	55                   	push   %ebp
44a69e:	8b ec                	mov    %esp,%ebp
44a6a0:	83 79 0c 0e          	cmpl   $0xe,0xc(%ecx)
44a6a4:	75 1f                	jne    0x44a6c5
44a6a6:	8b 11                	mov    (%ecx),%edx
44a6a8:	8b 45 08             	mov    0x8(%ebp),%eax
44a6ab:	8b 0a                	mov    (%edx),%ecx
44a6ad:	89 08                	mov    %ecx,(%eax)
44a6af:	8b 4a 04             	mov    0x4(%edx),%ecx
44a6b2:	89 48 04             	mov    %ecx,0x4(%eax)
44a6b5:	8b 4a 08             	mov    0x8(%edx),%ecx
44a6b8:	89 48 08             	mov    %ecx,0x8(%eax)
44a6bb:	8b 4a 0c             	mov    0xc(%edx),%ecx
44a6be:	89 48 0c             	mov    %ecx,0xc(%eax)
44a6c1:	ff 01                	incl   (%ecx)
44a6c3:	eb 10                	jmp    0x44a6d5
44a6c5:	8b 4d 08             	mov    0x8(%ebp),%ecx
44a6c8:	68 00 dc 49 00       	push   $0x49dc00
44a6cd:	e8 47 27 fc ff       	call   0x40ce19
44a6d2:	8b 45 08             	mov    0x8(%ebp),%eax
44a6d5:	5d                   	pop    %ebp
44a6d6:	c2 04 00             	ret    $0x4
44a6d9:	56                   	push   %esi
44a6da:	8b f1                	mov    %ecx,%esi
44a6dc:	8b 4e 08             	mov    0x8(%esi),%ecx
44a6df:	85 c9                	test   %ecx,%ecx
44a6e1:	74 0a                	je     0x44a6ed
44a6e3:	51                   	push   %ecx
44a6e4:	e8 b0 83 fb ff       	call   0x402a99
44a6e9:	83 66 08 00          	andl   $0x0,0x8(%esi)
44a6ed:	5e                   	pop    %esi
44a6ee:	c3                   	ret
44a6ef:	55                   	push   %ebp
44a6f0:	8b ec                	mov    %esp,%ebp
44a6f2:	56                   	push   %esi
44a6f3:	57                   	push   %edi
44a6f4:	8b f9                	mov    %ecx,%edi
44a6f6:	e8 25 85 fc ff       	call   0x412c20
44a6fb:	6a 14                	push   $0x14
44a6fd:	c7 47 0c 0d 00 00 00 	movl   $0xd,0xc(%edi)
44a704:	e8 e1 4d fd ff       	call   0x41f4ea
44a709:	8b f0                	mov    %eax,%esi
44a70b:	59                   	pop    %ecx
44a70c:	85 f6                	test   %esi,%esi
44a70e:	74 09                	je     0x44a719
44a710:	8b ce                	mov    %esi,%ecx
44a712:	e8 e0 30 fc ff       	call   0x40d7f7
44a717:	eb 02                	jmp    0x44a71b
44a719:	33 f6                	xor    %esi,%esi
44a71b:	8b 45 08             	mov    0x8(%ebp),%eax
44a71e:	89 37                	mov    %esi,(%edi)
44a720:	5f                   	pop    %edi
44a721:	89 46 10             	mov    %eax,0x10(%esi)
44a724:	5e                   	pop    %esi
44a725:	5d                   	pop    %ebp
44a726:	c2 04 00             	ret    $0x4
44a729:	55                   	push   %ebp
44a72a:	8b ec                	mov    %esp,%ebp
44a72c:	83 ec 38             	sub    $0x38,%esp
44a72f:	53                   	push   %ebx
44a730:	56                   	push   %esi
44a731:	8b 75 08             	mov    0x8(%ebp),%esi
44a734:	57                   	push   %edi
44a735:	0f b7 06             	movzwl (%esi),%eax
44a738:	8b f9                	mov    %ecx,%edi
44a73a:	a9 00 20 00 00       	test   $0x2000,%eax
44a73f:	75 07                	jne    0x44a748
44a741:	32 c0                	xor    %al,%al
44a743:	e9 77 03 00 00       	jmp    0x44aabf
44a748:	a9 00 40 00 00       	test   $0x4000,%eax
44a74d:	74 07                	je     0x44a756
44a74f:	8b 46 08             	mov    0x8(%esi),%eax
44a752:	8b 30                	mov    (%eax),%esi
44a754:	eb 03                	jmp    0x44a759
44a756:	8b 76 08             	mov    0x8(%esi),%esi
44a759:	89 75 f0             	mov    %esi,-0x10(%ebp)
44a75c:	85 f6                	test   %esi,%esi
44a75e:	74 e1                	je     0x44a741
44a760:	e8 4a 1a fd ff       	call   0x41c1af
44a765:	0f be 0e             	movsbl (%esi),%ecx
44a768:	8b 07                	mov    (%edi),%eax
44a76a:	83 65 08 00          	andl   $0x0,0x8(%ebp)
44a76e:	89 88 10 02 00 00    	mov    %ecx,0x210(%eax)
44a774:	8b 17                	mov    (%edi),%edx
44a776:	6a 04                	push   $0x4
44a778:	83 ba 10 02 00 00 00 	cmpl   $0x0,0x210(%edx)
44a77f:	59                   	pop    %ecx
44a780:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44a783:	7e 2b                	jle    0x44a7b0
44a785:	8d 46 10             	lea    0x10(%esi),%eax
44a788:	bb 0c 01 00 00       	mov    $0x10c,%ebx
44a78d:	89 45 e8             	mov    %eax,-0x18(%ebp)
44a790:	8b f0                	mov    %eax,%esi
44a792:	8b 06                	mov    (%esi),%eax
44a794:	89 04 13             	mov    %eax,(%ebx,%edx,1)
44a797:	8b 45 08             	mov    0x8(%ebp),%eax
44a79a:	8b 17                	mov    (%edi),%edx
44a79c:	40                   	inc    %eax
44a79d:	03 d9                	add    %ecx,%ebx
44a79f:	89 45 08             	mov    %eax,0x8(%ebp)
44a7a2:	8d 76 08             	lea    0x8(%esi),%esi
44a7a5:	3b 82 10 02 00 00    	cmp    0x210(%edx),%eax
44a7ab:	7c e5                	jl     0x44a792
44a7ad:	8b 75 f0             	mov    -0x10(%ebp),%esi
44a7b0:	6a 00                	push   $0x0
44a7b2:	57                   	push   %edi
44a7b3:	e8 98 18 fd ff       	call   0x41c050
44a7b8:	8b 07                	mov    (%edi),%eax
44a7ba:	59                   	pop    %ecx
44a7bb:	8b 40 08             	mov    0x8(%eax),%eax
44a7be:	59                   	pop    %ecx
44a7bf:	0f b7 4e 02          	movzwl 0x2(%esi),%ecx
44a7c3:	89 45 f8             	mov    %eax,-0x8(%ebp)
44a7c6:	8b c1                	mov    %ecx,%eax