44c751:	8b ec                	mov    %esp,%ebp
44c753:	81 ec 64 01 00 00    	sub    $0x164,%esp
44c759:	53                   	push   %ebx
44c75a:	56                   	push   %esi
44c75b:	57                   	push   %edi
44c75c:	33 ff                	xor    %edi,%edi
44c75e:	57                   	push   %edi
44c75f:	8b f1                	mov    %ecx,%esi
44c761:	57                   	push   %edi
44c762:	ff 36                	push   (%esi)
44c764:	e8 ae 7d fb ff       	call   0x404517
44c769:	ff 36                	push   (%esi)
44c76b:	33 db                	xor    %ebx,%ebx
44c76d:	43                   	inc    %ebx
44c76e:	53                   	push   %ebx
44c76f:	6a 40                	push   $0x40
44c771:	8d 45 80             	lea    -0x80(%ebp),%eax
44c774:	50                   	push   %eax
44c775:	8b ce                	mov    %esi,%ecx
44c777:	e8 71 7d fb ff       	call   0x4044ed
44c77c:	57                   	push   %edi
44c77d:	ff 75 bc             	push   -0x44(%ebp)
44c780:	8b ce                	mov    %esi,%ecx
44c782:	ff 36                	push   (%esi)
44c784:	e8 8e 7d fb ff       	call   0x404517
44c789:	53                   	push   %ebx
44c78a:	6a 04                	push   $0x4
44c78c:	ff 36                	push   (%esi)
44c78e:	8b ce                	mov    %esi,%ecx
44c790:	e8 82 7d fb ff       	call   0x404517
44c795:	ff 36                	push   (%esi)
44c797:	8d 45 ec             	lea    -0x14(%ebp),%eax
44c79a:	53                   	push   %ebx
44c79b:	6a 14                	push   $0x14
44c79d:	50                   	push   %eax
44c79e:	8b ce                	mov    %esi,%ecx
44c7a0:	e8 48 7d fb ff       	call   0x4044ed
44c7a5:	ff 36                	push   (%esi)
44c7a7:	0f b7 7d ee          	movzwl -0x12(%ebp),%edi
44c7ab:	53                   	push   %ebx
44c7ac:	6a 60                	push   $0x60
44c7ae:	8d 85 a0 fe ff ff    	lea    -0x160(%ebp),%eax
44c7b4:	50                   	push   %eax
44c7b5:	8b ce                	mov    %esi,%ecx
44c7b7:	e8 31 7d fb ff       	call   0x4044ed
44c7bc:	b8 0b 02 00 00       	mov    $0x20b,%eax
44c7c1:	66 39 85 a0 fe ff ff 	cmp    %ax,-0x160(%ebp)
44c7c8:	75 0c                	jne    0x44c7d6
44c7ca:	53                   	push   %ebx
44c7cb:	6a 10                	push   $0x10
44c7cd:	ff 36                	push   (%esi)
44c7cf:	8b ce                	mov    %esi,%ecx
44c7d1:	e8 41 7d fb ff       	call   0x404517
44c7d6:	53                   	push   %ebx
44c7d7:	68 80 00 00 00       	push   $0x80
44c7dc:	ff 36                	push   (%esi)
44c7de:	8b ce                	mov    %esi,%ecx
44c7e0:	e8 32 7d fb ff       	call   0x404517
44c7e5:	6b ff 28             	imul   $0x28,%edi,%edi
44c7e8:	53                   	push   %ebx
44c7e9:	83 ef 28             	sub    $0x28,%edi
44c7ec:	57                   	push   %edi
44c7ed:	ff 36                	push   (%esi)
44c7ef:	8b ce                	mov    %esi,%ecx
44c7f1:	e8 21 7d fb ff       	call   0x404517
44c7f6:	ff 36                	push   (%esi)
44c7f8:	8d 45 c4             	lea    -0x3c(%ebp),%eax
44c7fb:	53                   	push   %ebx
44c7fc:	6a 28                	push   $0x28
44c7fe:	50                   	push   %eax
44c7ff:	8b ce                	mov    %esi,%ecx
44c801:	e8 e7 7c fb ff       	call   0x4044ed
44c806:	8b 45 d4             	mov    -0x2c(%ebp),%eax
44c809:	03 45 d8             	add    -0x28(%ebp),%eax
44c80c:	6a 00                	push   $0x0
44c80e:	50                   	push   %eax
44c80f:	ff 36                	push   (%esi)
44c811:	8b ce                	mov    %esi,%ecx
44c813:	e8 ff 7c fb ff       	call   0x404517
44c818:	5f                   	pop    %edi
44c819:	5e                   	pop    %esi
44c81a:	5b                   	pop    %ebx
44c81b:	c9                   	leave
44c81c:	c3                   	ret
44c81d:	55                   	push   %ebp
44c81e:	8b ec                	mov    %esp,%ebp
44c820:	56                   	push   %esi
44c821:	8b f1                	mov    %ecx,%esi
44c823:	68 04 01 00 00       	push   $0x104
44c828:	ff 75 08             	push   0x8(%ebp)
44c82b:	8d 46 24             	lea    0x24(%esi),%eax
44c82e:	50                   	push   %eax
44c82f:	e8 78 5b fd ff       	call   0x4223ac
44c834:	83 c4 0c             	add    $0xc,%esp
44c837:	33 c0                	xor    %eax,%eax
44c839:	66 89 86 2c 02 00 00 	mov    %ax,0x22c(%esi)
44c840:	5e                   	pop    %esi
44c841:	5d                   	pop    %ebp
44c842:	c2 04 00             	ret    $0x4
44c845:	55                   	push   %ebp
44c846:	8b ec                	mov    %esp,%ebp
44c848:	56                   	push   %esi
44c849:	8b f1                	mov    %ecx,%esi
44c84b:	68 04 01 00 00       	push   $0x104
44c850:	ff 75 08             	push   0x8(%ebp)
44c853:	8d 86 2c 02 00 00    	lea    0x22c(%esi),%eax
44c859:	50                   	push   %eax
44c85a:	e8 4d 5b fd ff       	call   0x4223ac
44c85f:	83 c4 0c             	add    $0xc,%esp
44c862:	33 c0                	xor    %eax,%eax
44c864:	66 89 86 34 04 00 00 	mov    %ax,0x434(%esi)
44c86b:	5e                   	pop    %esi
44c86c:	5d                   	pop    %ebp
44c86d:	c2 04 00             	ret    $0x4
44c870:	55                   	push   %ebp
44c871:	8b ec                	mov    %esp,%ebp
44c873:	8b 45 08             	mov    0x8(%ebp),%eax
44c876:	53                   	push   %ebx
44c877:	56                   	push   %esi
44c878:	8b f1                	mov    %ecx,%esi
44c87a:	c7 06 50 dc 49 00    	movl   $0x49dc50,(%esi)
44c880:	8b 40 08             	mov    0x8(%eax),%eax
44c883:	89 46 08             	mov    %eax,0x8(%esi)
44c886:	85 c0                	test   %eax,%eax
44c888:	74 64                	je     0x44c8ee
44c88a:	6a 08                	push   $0x8
44c88c:	5a                   	pop    %edx
44c88d:	3b c2                	cmp    %edx,%eax
44c88f:	72 02                	jb     0x44c893
44c891:	8b d0                	mov    %eax,%edx
44c893:	89 56 0c             	mov    %edx,0xc(%esi)
44c896:	33 c9                	xor    %ecx,%ecx
44c898:	8b c2                	mov    %edx,%eax
44c89a:	6a 04                	push   $0x4
44c89c:	5a                   	pop    %edx
44c89d:	f7 e2                	mul    %edx
44c89f:	0f 90 c1             	seto   %cl
44c8a2:	f7 d9                	neg    %ecx
44c8a4:	0b c8                	or     %eax,%ecx
44c8a6:	51                   	push   %ecx
44c8a7:	e8 3e 2c fd ff       	call   0x41f4ea
44c8ac:	33 db                	xor    %ebx,%ebx
44c8ae:	59                   	pop    %ecx
44c8af:	89 46 04             	mov    %eax,0x4(%esi)
44c8b2:	39 5e 08             	cmp    %ebx,0x8(%esi)
44c8b5:	76 3f                	jbe    0x44c8f6
44c8b7:	57                   	push   %edi
44c8b8:	6a 10                	push   $0x10
44c8ba:	e8 2b 2c fd ff       	call   0x41f4ea
44c8bf:	8b f8                	mov    %eax,%edi
44c8c1:	59                   	pop    %ecx
44c8c2:	85 ff                	test   %edi,%edi
44c8c4:	74 17                	je     0x44c8dd
44c8c6:	8b 45 08             	mov    0x8(%ebp),%eax
44c8c9:	8b 48 04             	mov    0x4(%eax),%ecx
44c8cc:	8b 0c 99             	mov    (%ecx,%ebx,4),%ecx
44c8cf:	83 67 08 00          	andl   $0x0,0x8(%edi)
44c8d3:	51                   	push   %ecx
44c8d4:	8b cf                	mov    %edi,%ecx
44c8d6:	e8 45 4e fc ff       	call   0x411720
44c8db:	eb 02                	jmp    0x44c8df
44c8dd:	33 ff                	xor    %edi,%edi
44c8df:	8b 46 04             	mov    0x4(%esi),%eax
44c8e2:	89 3c 98             	mov    %edi,(%eax,%ebx,4)
44c8e5:	43                   	inc    %ebx
44c8e6:	3b 5e 08             	cmp    0x8(%esi),%ebx
44c8e9:	72 cd                	jb     0x44c8b8
44c8eb:	5f                   	pop    %edi
44c8ec:	eb 08                	jmp    0x44c8f6
44c8ee:	83 66 0c 00          	andl   $0x0,0xc(%esi)
44c8f2:	83 66 04 00          	andl   $0x0,0x4(%esi)
44c8f6:	8b c6                	mov    %esi,%eax
44c8f8:	5e                   	pop    %esi
44c8f9:	5b                   	pop    %ebx
44c8fa:	5d                   	pop    %ebp
44c8fb:	c2 04 00             	ret    $0x4
44c8fe:	55                   	push   %ebp
44c8ff:	8b ec                	mov    %esp,%ebp
44c901:	56                   	push   %esi
44c902:	8b f1                	mov    %ecx,%esi
44c904:	6a 10                	push   $0x10
44c906:	83 66 04 00          	andl   $0x0,0x4(%esi)
44c90a:	83 66 08 00          	andl   $0x0,0x8(%esi)
44c90e:	e8 d7 2b fd ff       	call   0x41f4ea
44c913:	8b d0                	mov    %eax,%edx
44c915:	59                   	pop    %ecx
44c916:	85 d2                	test   %edx,%edx
44c918:	74 1d                	je     0x44c937
44c91a:	8b 45 08             	mov    0x8(%ebp),%eax
44c91d:	8b 08                	mov    (%eax),%ecx
44c91f:	89 0a                	mov    %ecx,(%edx)
44c921:	8b 48 04             	mov    0x4(%eax),%ecx
44c924:	89 4a 04             	mov    %ecx,0x4(%edx)
44c927:	8b 48 08             	mov    0x8(%eax),%ecx
44c92a:	89 4a 08             	mov    %ecx,0x8(%edx)
44c92d:	8b 40 0c             	mov    0xc(%eax),%eax
44c930:	89 42 0c             	mov    %eax,0xc(%edx)
44c933:	ff 00                	incl   (%eax)
44c935:	eb 02                	jmp    0x44c939
44c937:	33 d2                	xor    %edx,%edx
44c939:	89 16                	mov    %edx,(%esi)
44c93b:	8b c6                	mov    %esi,%eax
44c93d:	5e                   	pop    %esi
44c93e:	5d                   	pop    %ebp
44c93f:	c2 04 00             	ret    $0x4
44c942:	55                   	push   %ebp
44c943:	8b ec                	mov    %esp,%ebp
44c945:	56                   	push   %esi
44c946:	8b 75 08             	mov    0x8(%ebp),%esi
44c949:	57                   	push   %edi
44c94a:	56                   	push   %esi
44c94b:	8b f9                	mov    %ecx,%edi
44c94d:	e8 5c 13 fc ff       	call   0x40dcae
44c952:	8a 46 10             	mov    0x10(%esi),%al
44c955:	88 47 10             	mov    %al,0x10(%edi)
44c958:	8b 46 14             	mov    0x14(%esi),%eax
44c95b:	89 47 14             	mov    %eax,0x14(%edi)
44c95e:	8a 46 18             	mov    0x18(%esi),%al
44c961:	88 47 18             	mov    %al,0x18(%edi)
44c964:	8d 46 20             	lea    0x20(%esi),%eax
44c967:	50                   	push   %eax
44c968:	8d 4f 20             	lea    0x20(%edi),%ecx
44c96b:	e8 3e 13 fc ff       	call   0x40dcae
44c970:	8a 46 30             	mov    0x30(%esi),%al
44c973:	88 47 30             	mov    %al,0x30(%edi)
44c976:	8b c7                	mov    %edi,%eax
44c978:	5f                   	pop    %edi
44c979:	5e                   	pop    %esi
44c97a:	5d                   	pop    %ebp
44c97b:	c2 04 00             	ret    $0x4
44c97e:	55                   	push   %ebp
44c97f:	8b ec                	mov    %esp,%ebp
44c981:	8b 01                	mov    (%ecx),%eax
44c983:	85 c0                	test   %eax,%eax
44c985:	74 05                	je     0x44c98c
44c987:	8b 40 04             	mov    0x4(%eax),%eax
44c98a:	89 01                	mov    %eax,(%ecx)
44c98c:	8b 45 08             	mov    0x8(%ebp),%eax
44c98f:	8b 09                	mov    (%ecx),%ecx
44c991:	89 08                	mov    %ecx,(%eax)
44c993:	5d                   	pop    %ebp
44c994:	c2 04 00             	ret    $0x4
44c997:	55                   	push   %ebp
44c998:	8b ec                	mov    %esp,%ebp
44c99a:	8b 01                	mov    (%ecx),%eax
44c99c:	85 c0                	test   %eax,%eax
44c99e:	74 05                	je     0x44c9a5
44c9a0:	8b 40 08             	mov    0x8(%eax),%eax
44c9a3:	89 01                	mov    %eax,(%ecx)
44c9a5:	8b 45 08             	mov    0x8(%ebp),%eax
44c9a8:	8b 09                	mov    (%ecx),%ecx
44c9aa:	89 08                	mov    %ecx,(%eax)
44c9ac:	5d                   	pop    %ebp
44c9ad:	c2 04 00             	ret    $0x4
44c9b0:	2b 49 fc             	sub    -0x4(%ecx),%ecx
44c9b3:	e9 20 00 00 00       	jmp    0x44c9d8
44c9b8:	56                   	push   %esi
44c9b9:	8b f1                	mov    %ecx,%esi
44c9bb:	8d 4e 20             	lea    0x20(%esi),%ecx
44c9be:	e8 5d 62 fc ff       	call   0x412c20
44c9c3:	8d 4e 10             	lea    0x10(%esi),%ecx
44c9c6:	e8 55 62 fc ff       	call   0x412c20
44c9cb:	56                   	push   %esi
44c9cc:	e8 8d 2b fd ff       	call   0x41f55e
44c9d1:	59                   	pop    %ecx
44c9d2:	8b c6                	mov    %esi,%eax
44c9d4:	5e                   	pop    %esi
44c9d5:	c2 04 00             	ret    $0x4
44c9d8:	55                   	push   %ebp
44c9d9:	8b ec                	mov    %esp,%ebp
44c9db:	56                   	push   %esi
44c9dc:	8d b1 4c fb ff ff    	lea    -0x4b4(%ecx),%esi
44c9e2:	8b ce                	mov    %esi,%ecx
44c9e4:	e8 8d 66 fb ff       	call   0x403076
44c9e9:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
44c9ed:	74 07                	je     0x44c9f6
44c9ef:	56                   	push   %esi
44c9f0:	e8 69 2b fd ff       	call   0x41f55e
44c9f5:	59                   	pop    %ecx
44c9f6:	8b c6                	mov    %esi,%eax
44c9f8:	5e                   	pop    %esi
44c9f9:	5d                   	pop    %ebp
44c9fa:	c2 04 00             	ret    $0x4
44c9fd:	56                   	push   %esi
44c9fe:	8b f1                	mov    %ecx,%esi
44ca00:	e8 27 c8 ff ff       	call   0x44922c
44ca05:	56                   	push   %esi
44ca06:	e8 53 2b fd ff       	call   0x41f55e
44ca0b:	59                   	pop    %ecx
44ca0c:	8b c6                	mov    %esi,%eax
44ca0e:	5e                   	pop    %esi
44ca0f:	c2 04 00             	ret    $0x4
44ca12:	56                   	push   %esi
44ca13:	8b f1                	mov    %ecx,%esi
44ca15:	8b 0e                	mov    (%esi),%ecx
44ca17:	85 c9                	test   %ecx,%ecx
44ca19:	74 06                	je     0x44ca21
44ca1b:	51                   	push   %ecx
44ca1c:	e8 dc ff ff ff       	call   0x44c9fd
44ca21:	56                   	push   %esi
44ca22:	e8 37 2b fd ff       	call   0x41f55e
44ca27:	59                   	pop    %ecx
44ca28:	8b c6                	mov    %esi,%eax
44ca2a:	5e                   	pop    %esi
44ca2b:	c2 04 00             	ret    $0x4
44ca2e:	56                   	push   %esi
44ca2f:	8b f1                	mov    %ecx,%esi
44ca31:	e8 bc 89 fb ff       	call   0x4053f2
44ca36:	56                   	push   %esi
44ca37:	e8 22 2b fd ff       	call   0x41f55e
44ca3c:	59                   	pop    %ecx
44ca3d:	8b c6                	mov    %esi,%eax
44ca3f:	5e                   	pop    %esi
44ca40:	c2 04 00             	ret    $0x4
44ca43:	33 c0                	xor    %eax,%eax
44ca45:	c2 08 00             	ret    $0x8
44ca48:	55                   	push   %ebp
44ca49:	8b ec                	mov    %esp,%ebp
44ca4b:	b8 5c 20 00 00       	mov    $0x205c,%eax
44ca50:	e8 4b 2e fe ff       	call   0x42f8a0
44ca55:	80 3d b6 10 4c 00 00 	cmpb   $0x0,0x4c10b6
44ca5c:	53                   	push   %ebx
44ca5d:	56                   	push   %esi
44ca5e:	57                   	push   %edi
44ca5f:	8b f9                	mov    %ecx,%edi
44ca61:	0f 85 ee 01 00 00    	jne    0x44cc55
44ca67:	83 bf fc 00 00 00 01 	cmpl   $0x1,0xfc(%edi)
44ca6e:	0f 84 e1 01 00 00    	je     0x44cc55
44ca74:	8b 35 ec d5 48 00    	mov    0x48d5ec,%esi
44ca7a:	bb ff 0f 00 00       	mov    $0xfff,%ebx
44ca7f:	53                   	push   %ebx
44ca80:	8d 85 a8 df ff ff    	lea    -0x2058(%ebp),%eax
44ca86:	50                   	push   %eax
44ca87:	6a 66                	push   $0x66
44ca89:	ff 35 b8 10 4c 00    	push   0x4c10b8
44ca8f:	ff d6                	call   *%esi
44ca91:	8d 85 a8 df ff ff    	lea    -0x2058(%ebp),%eax
44ca97:	50                   	push   %eax
44ca98:	8d 4d ac             	lea    -0x54(%ebp),%ecx
44ca9b:	e8 79 03 fc ff       	call   0x40ce19
44caa0:	53                   	push   %ebx
44caa1:	8d 85 a8 df ff ff    	lea    -0x2058(%ebp),%eax
44caa7:	50                   	push   %eax
44caa8:	6a 72                	push   $0x72
44caaa:	ff 35 b8 10 4c 00    	push   0x4c10b8
44cab0:	ff d6                	call   *%esi
44cab2:	8d 85 a8 df ff ff    	lea    -0x2058(%ebp),%eax
44cab8:	50                   	push   %eax
44cab9:	8d 4d bc             	lea    -0x44(%ebp),%ecx
44cabc:	e8 58 03 fc ff       	call   0x40ce19