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
44a7c8:	25 00 0f 00 00       	and    $0xf00,%eax
44a7cd:	3d 00 01 00 00       	cmp    $0x100,%eax
44a7d2:	0f 84 6b 02 00 00    	je     0x44aa43
44a7d8:	3d 00 02 00 00       	cmp    $0x200,%eax
44a7dd:	0f 84 54 02 00 00    	je     0x44aa37
44a7e3:	3d 00 04 00 00       	cmp    $0x400,%eax
44a7e8:	0f 84 cf 01 00 00    	je     0x44a9bd
44a7ee:	3d 00 08 00 00       	cmp    $0x800,%eax
44a7f3:	0f 84 3d 01 00 00    	je     0x44a936
44a7f9:	84 c9                	test   %cl,%cl
44a7fb:	0f 89 36 02 00 00    	jns    0x44aa37
44a801:	8d 45 08             	lea    0x8(%ebp),%eax
44a804:	50                   	push   %eax
44a805:	56                   	push   %esi
44a806:	ff 15 3c d4 48 00    	call   *0x48d43c
44a80c:	66 8b 4d 08          	mov    0x8(%ebp),%cx
44a810:	0f b7 c1             	movzwl %cx,%eax
44a813:	33 db                	xor    %ebx,%ebx
44a815:	83 c0 fe             	add    $0xfffffffe,%eax
44a818:	43                   	inc    %ebx
44a819:	83 f8 15             	cmp    $0x15,%eax
44a81c:	77 5e                	ja     0x44a87c
44a81e:	0f b6 80 e1 aa 44 00 	movzbl 0x44aae1(%eax),%eax
44a825:	ff 24 85 c9 aa 44 00 	jmp    *0x44aac9(,%eax,4)
44a82c:	8d 45 f4             	lea    -0xc(%ebp),%eax
44a82f:	50                   	push   %eax
44a830:	56                   	push   %esi
44a831:	ff 15 1c d4 48 00    	call   *0x48d41c
44a837:	85 c0                	test   %eax,%eax
44a839:	0f 88 f8 01 00 00    	js     0x44aa37
44a83f:	8b 45 f8             	mov    -0x8(%ebp),%eax
44a842:	50                   	push   %eax
44a843:	ff 75 f4             	push   -0xc(%ebp)
44a846:	8b cf                	mov    %edi,%ecx
44a848:	50                   	push   %eax
44a849:	e8 95 fb ff ff       	call   0x44a3e3
44a84e:	50                   	push   %eax
44a84f:	e8 2c 46 fd ff       	call   0x41ee80
44a854:	83 c4 0c             	add    $0xc,%esp
44a857:	56                   	push   %esi
44a858:	ff 15 18 d4 48 00    	call   *0x48d418
44a85e:	b0 01                	mov    $0x1,%al
44a860:	e9 5a 02 00 00       	jmp    0x44aabf
44a865:	89 5d ec             	mov    %ebx,-0x14(%ebp)
44a868:	eb 26                	jmp    0x44a890
44a86a:	c7 45 ec 02 00 00 00 	movl   $0x2,-0x14(%ebp)
44a871:	eb 1d                	jmp    0x44a890
44a873:	c7 45 ec 08 00 00 00 	movl   $0x8,-0x14(%ebp)
44a87a:	eb 14                	jmp    0x44a890
44a87c:	0f b7 c1             	movzwl %cx,%eax
44a87f:	a9 00 40 00 00       	test   $0x4000,%eax
44a884:	0f 84 ad 01 00 00    	je     0x44aa37
44a88a:	6a 04                	push   $0x4
44a88c:	58                   	pop    %eax
44a88d:	89 45 ec             	mov    %eax,-0x14(%ebp)
44a890:	8d 45 f4             	lea    -0xc(%ebp),%eax
44a893:	50                   	push   %eax
44a894:	56                   	push   %esi
44a895:	ff 15 1c d4 48 00    	call   *0x48d41c
44a89b:	85 c0                	test   %eax,%eax
44a89d:	0f 88 1a 02 00 00    	js     0x44aabd
44a8a3:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
44a8a7:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
44a8ab:	0f 8e 05 02 00 00    	jle    0x44aab6
44a8b1:	8b 75 ec             	mov    -0x14(%ebp),%esi
44a8b4:	6a 10                	push   $0x10
44a8b6:	e8 2f 4c fd ff       	call   0x41f4ea
44a8bb:	59                   	pop    %ecx
44a8bc:	8b c8                	mov    %eax,%ecx
44a8be:	85 c9                	test   %ecx,%ecx
44a8c0:	74 0c                	je     0x44a8ce
44a8c2:	83 21 00             	andl   $0x0,(%ecx)
44a8c5:	83 61 08 00          	andl   $0x0,0x8(%ecx)
44a8c9:	89 59 0c             	mov    %ebx,0xc(%ecx)
44a8cc:	eb 02                	jmp    0x44a8d0
44a8ce:	33 c9                	xor    %ecx,%ecx
44a8d0:	8b 07                	mov    (%edi),%eax
44a8d2:	8b 55 e8             	mov    -0x18(%ebp),%edx
44a8d5:	8b 00                	mov    (%eax),%eax
44a8d7:	89 0c 90             	mov    %ecx,(%eax,%edx,4)
44a8da:	66 8b 4d 08          	mov    0x8(%ebp),%cx
44a8de:	0f b7 c1             	movzwl %cx,%eax
44a8e1:	ba 00 40 00 00       	mov    $0x4000,%edx
44a8e6:	85 c2                	test   %eax,%edx
44a8e8:	74 16                	je     0x44a900
44a8ea:	56                   	push   %esi
44a8eb:	ff 75 f4             	push   -0xc(%ebp)
44a8ee:	8d 45 d4             	lea    -0x2c(%ebp),%eax
44a8f1:	50                   	push   %eax
44a8f2:	66 89 4d cc          	mov    %cx,-0x34(%ebp)
44a8f6:	e8 85 45 fd ff       	call   0x41ee80
44a8fb:	83 c4 0c             	add    $0xc,%esp
44a8fe:	eb 0f                	jmp    0x44a90f
44a900:	8b c2                	mov    %edx,%eax
44a902:	66 0b c1             	or     %cx,%ax
44a905:	66 89 45 cc          	mov    %ax,-0x34(%ebp)
44a909:	8b 45 f4             	mov    -0xc(%ebp),%eax
44a90c:	89 45 d4             	mov    %eax,-0x2c(%ebp)
44a90f:	8d 45 cc             	lea    -0x34(%ebp),%eax
44a912:	50                   	push   %eax
44a913:	8b 07                	mov    (%edi),%eax
44a915:	8b 08                	mov    (%eax),%ecx
44a917:	8b 45 e8             	mov    -0x18(%ebp),%eax
44a91a:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
44a91d:	e8 a3 f4 ff ff       	call   0x449dc5
44a922:	8b 45 e8             	mov    -0x18(%ebp),%eax
44a925:	01 75 f4             	add    %esi,-0xc(%ebp)
44a928:	40                   	inc    %eax
44a929:	89 45 e8             	mov    %eax,-0x18(%ebp)
44a92c:	3b 45 f8             	cmp    -0x8(%ebp),%eax
44a92f:	7c 83                	jl     0x44a8b4
44a931:	e9 7d 01 00 00       	jmp    0x44aab3
44a936:	8d 45 e4             	lea    -0x1c(%ebp),%eax
44a939:	50                   	push   %eax
44a93a:	56                   	push   %esi
44a93b:	ff 15 1c d4 48 00    	call   *0x48d41c
44a941:	33 db                	xor    %ebx,%ebx
44a943:	43                   	inc    %ebx
44a944:	85 c0                	test   %eax,%eax
44a946:	0f 88 71 01 00 00    	js     0x44aabd
44a94c:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
44a950:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
44a954:	0f 8e 5c 01 00 00    	jle    0x44aab6
44a95a:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
44a95e:	8b 75 f8             	mov    -0x8(%ebp),%esi
44a961:	6a 10                	push   $0x10
44a963:	e8 82 4b fd ff       	call   0x41f4ea
44a968:	59                   	pop    %ecx
44a969:	8b c8                	mov    %eax,%ecx
44a96b:	85 c9                	test   %ecx,%ecx
44a96d:	74 0c                	je     0x44a97b
44a96f:	83 21 00             	andl   $0x0,(%ecx)
44a972:	83 61 08 00          	andl   $0x0,0x8(%ecx)
44a976:	89 59 0c             	mov    %ebx,0xc(%ecx)
44a979:	eb 02                	jmp    0x44a97d
44a97b:	33 c9                	xor    %ecx,%ecx
44a97d:	8b 07                	mov    (%edi),%eax
44a97f:	8b 55 e8             	mov    -0x18(%ebp),%edx
44a982:	8b 00                	mov    (%eax),%eax
44a984:	89 0c 90             	mov    %ecx,(%eax,%edx,4)
44a987:	b8 0c 40 00 00       	mov    $0x400c,%eax
44a98c:	66 89 45 cc          	mov    %ax,-0x34(%ebp)
44a990:	8b 45 e4             	mov    -0x1c(%ebp),%eax
44a993:	03 45 ec             	add    -0x14(%ebp),%eax
44a996:	89 45 d4             	mov    %eax,-0x2c(%ebp)
44a999:	8d 45 cc             	lea    -0x34(%ebp),%eax
44a99c:	50                   	push   %eax
44a99d:	8b 07                	mov    (%edi),%eax
44a99f:	8b 08                	mov    (%eax),%ecx
44a9a1:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
44a9a4:	e8 1c f4 ff ff       	call   0x449dc5
44a9a9:	8b 45 e8             	mov    -0x18(%ebp),%eax
44a9ac:	83 45 ec 10          	addl   $0x10,-0x14(%ebp)
44a9b0:	40                   	inc    %eax
44a9b1:	89 45 e8             	mov    %eax,-0x18(%ebp)
44a9b4:	3b c6                	cmp    %esi,%eax
44a9b6:	7c a9                	jl     0x44a961
44a9b8:	e9 f6 00 00 00       	jmp    0x44aab3
44a9bd:	8d 45 e0             	lea    -0x20(%ebp),%eax
44a9c0:	50                   	push   %eax
44a9c1:	56                   	push   %esi
44a9c2:	ff 15 1c d4 48 00    	call   *0x48d41c
44a9c8:	33 db                	xor    %ebx,%ebx
44a9ca:	43                   	inc    %ebx
44a9cb:	85 c0                	test   %eax,%eax
44a9cd:	0f 88 ea 00 00 00    	js     0x44aabd
44a9d3:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
44a9d7:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
44a9db:	0f 8e d5 00 00 00    	jle    0x44aab6
44a9e1:	8b 75 f8             	mov    -0x8(%ebp),%esi
44a9e4:	6a 10                	push   $0x10
44a9e6:	e8 ff 4a fd ff       	call   0x41f4ea
44a9eb:	59                   	pop    %ecx
44a9ec:	8b c8                	mov    %eax,%ecx
44a9ee:	85 c9                	test   %ecx,%ecx