44384b:	e8 10 fa ff ff       	call   0x443260
443850:	84 c0                	test   %al,%al
443852:	74 ee                	je     0x443842
443854:	8b c3                	mov    %ebx,%eax
443856:	5b                   	pop    %ebx
443857:	c3                   	ret
443858:	8b 40 08             	mov    0x8(%eax),%eax
44385b:	e8 6c f9 ff ff       	call   0x4431cc
443860:	c3                   	ret
443861:	8d 40 00             	lea    0x0(%eax),%eax
443864:	55                   	push   %ebp
443865:	8b ec                	mov    %esp,%ebp
443867:	83 c4 f4             	add    $0xfffffff4,%esp
44386a:	53                   	push   %ebx
44386b:	56                   	push   %esi
44386c:	57                   	push   %edi
44386d:	84 d2                	test   %dl,%dl
44386f:	74 08                	je     0x443879
443871:	83 c4 f0             	add    $0xfffffff0,%esp
443874:	e8 17 fd fb ff       	call   0x403590
443879:	89 4d f4             	mov    %ecx,-0xc(%ebp)
44387c:	88 55 fb             	mov    %dl,-0x5(%ebp)
44387f:	89 45 fc             	mov    %eax,-0x4(%ebp)
443882:	33 d2                	xor    %edx,%edx
443884:	8b 45 fc             	mov    -0x4(%ebp),%eax
443887:	e8 b0 f9 fb ff       	call   0x40323c
44388c:	8b 45 fc             	mov    -0x4(%ebp),%eax
44388f:	c7 40 0c 04 00 00 00 	movl   $0x4,0xc(%eax)
443896:	8b 45 fc             	mov    -0x4(%ebp),%eax
443899:	8b 55 f4             	mov    -0xc(%ebp),%edx
44389c:	89 50 14             	mov    %edx,0x14(%eax)
44389f:	8b 45 fc             	mov    -0x4(%ebp),%eax
4438a2:	c7 40 70 00 00 04 00 	movl   $0x40000,0x70(%eax)
4438a9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4438ac:	c7 40 18 0c 00 00 00 	movl   $0xc,0x18(%eax)
4438b3:	8b 45 f4             	mov    -0xc(%ebp),%eax
4438b6:	8a 40 5b             	mov    0x5b(%eax),%al
4438b9:	3c 01                	cmp    $0x1,%al
4438bb:	74 04                	je     0x4438c1
4438bd:	3c 02                	cmp    $0x2,%al
4438bf:	75 04                	jne    0x4438c5
4438c1:	33 c0                	xor    %eax,%eax
4438c3:	eb 02                	jmp    0x4438c7
4438c5:	b0 01                	mov    $0x1,%al
4438c7:	8b 55 fc             	mov    -0x4(%ebp),%edx
4438ca:	88 42 1c             	mov    %al,0x1c(%edx)
4438cd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4438d0:	b2 01                	mov    $0x1,%dl
4438d2:	a1 e8 77 43 00       	mov    0x4377e8,%eax
4438d7:	e8 30 f9 ff ff       	call   0x44320c
4438dc:	8b 55 fc             	mov    -0x4(%ebp),%edx
4438df:	89 42 64             	mov    %eax,0x64(%edx)
4438e2:	b2 01                	mov    $0x1,%dl
4438e4:	a1 4c b4 41 00       	mov    0x41b44c,%eax
4438e9:	e8 4e 98 fd ff       	call   0x41d13c
4438ee:	8b d8                	mov    %eax,%ebx
4438f0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4438f3:	89 58 10             	mov    %ebx,0x10(%eax)
4438f6:	ba ff ff ff 00       	mov    $0xffffff,%edx
4438fb:	33 c0                	xor    %eax,%eax
4438fd:	e8 96 04 fe ff       	call   0x423d98
443902:	8b d0                	mov    %eax,%edx
443904:	8b c3                	mov    %ebx,%eax
443906:	e8 ad 99 fd ff       	call   0x41d2b8
44390b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44390e:	e8 21 01 00 00       	call   0x443a34
443913:	33 c0                	xor    %eax,%eax
443915:	55                   	push   %ebp
443916:	68 70 39 44 00       	push   $0x443970
44391b:	64 ff 30             	push   %fs:(%eax)
44391e:	64 89 20             	mov    %esp,%fs:(%eax)
443921:	8b 45 f4             	mov    -0xc(%ebp),%eax
443924:	e8 63 a8 ff ff       	call   0x43e18c
443929:	8b d8                	mov    %eax,%ebx
44392b:	4b                   	dec    %ebx
44392c:	85 db                	test   %ebx,%ebx
44392e:	7c 1f                	jl     0x44394f
443930:	43                   	inc    %ebx
443931:	33 f6                	xor    %esi,%esi
443933:	6a 00                	push   $0x0
443935:	8b d6                	mov    %esi,%edx
443937:	8b 45 f4             	mov    -0xc(%ebp),%eax
44393a:	e8 11 a8 ff ff       	call   0x43e150
44393f:	8b d0                	mov    %eax,%edx
443941:	b1 03                	mov    $0x3,%cl
443943:	8b 45 fc             	mov    -0x4(%ebp),%eax
443946:	8b 38                	mov    (%eax),%edi
443948:	ff 57 08             	call   *0x8(%edi)
44394b:	46                   	inc    %esi
44394c:	4b                   	dec    %ebx
44394d:	75 e4                	jne    0x443933
44394f:	8b 45 fc             	mov    -0x4(%ebp),%eax
443952:	8b 40 64             	mov    0x64(%eax),%eax
443955:	e8 e6 fa ff ff       	call   0x443440
44395a:	33 c0                	xor    %eax,%eax
44395c:	5a                   	pop    %edx
44395d:	59                   	pop    %ecx
44395e:	59                   	pop    %ecx
44395f:	64 89 10             	mov    %edx,%fs:(%eax)
443962:	68 77 39 44 00       	push   $0x443977
443967:	8b 45 fc             	mov    -0x4(%ebp),%eax
44396a:	e8 c9 00 00 00       	call   0x443a38
44396f:	c3                   	ret
443970:	e9 4b 00 fc ff       	jmp    0x4039c0
443975:	eb f0                	jmp    0x443967
443977:	8b 45 f4             	mov    -0xc(%ebp),%eax
44397a:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
44397e:	75 28                	jne    0x4439a8
443980:	8b 45 fc             	mov    -0x4(%ebp),%eax
443983:	8b 55 fc             	mov    -0x4(%ebp),%edx
443986:	8b 52 14             	mov    0x14(%edx),%edx
443989:	8b 4a 38             	mov    0x38(%edx),%ecx
44398c:	89 48 30             	mov    %ecx,0x30(%eax)
44398f:	8b 4a 3c             	mov    0x3c(%edx),%ecx
443992:	89 48 34             	mov    %ecx,0x34(%eax)
443995:	8b 45 fc             	mov    -0x4(%ebp),%eax
443998:	8b 40 14             	mov    0x14(%eax),%eax
44399b:	8b 55 fc             	mov    -0x4(%ebp),%edx
44399e:	89 50 3c             	mov    %edx,0x3c(%eax)
4439a1:	c7 40 38 08 58 44 00 	movl   $0x445808,0x38(%eax)
4439a8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4439ab:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
4439af:	74 0f                	je     0x4439c0
4439b1:	e8 32 fc fb ff       	call   0x4035e8
4439b6:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4439bd:	83 c4 0c             	add    $0xc,%esp
4439c0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4439c3:	5f                   	pop    %edi
4439c4:	5e                   	pop    %esi
4439c5:	5b                   	pop    %ebx
4439c6:	8b e5                	mov    %ebp,%esp
4439c8:	5d                   	pop    %ebp
4439c9:	c3                   	ret
4439ca:	8b c0                	mov    %eax,%eax
4439cc:	53                   	push   %ebx
4439cd:	56                   	push   %esi
4439ce:	e8 25 fc fb ff       	call   0x4035f8
4439d3:	8b da                	mov    %edx,%ebx
4439d5:	8b f0                	mov    %eax,%esi
4439d7:	83 7e 30 00          	cmpl   $0x0,0x30(%esi)
4439db:	74 17                	je     0x4439f4
4439dd:	8b 46 14             	mov    0x14(%esi),%eax
4439e0:	8b 56 30             	mov    0x30(%esi),%edx
4439e3:	89 50 38             	mov    %edx,0x38(%eax)
4439e6:	8b 56 34             	mov    0x34(%esi),%edx
4439e9:	89 50 3c             	mov    %edx,0x3c(%eax)
4439ec:	33 c0                	xor    %eax,%eax
4439ee:	89 46 30             	mov    %eax,0x30(%esi)
4439f1:	89 46 34             	mov    %eax,0x34(%esi)
4439f4:	8b 56 64             	mov    0x64(%esi),%edx
4439f7:	8b c6                	mov    %esi,%eax
4439f9:	e8 3a 10 00 00       	call   0x444a38
4439fe:	8b 46 10             	mov    0x10(%esi),%eax
443a01:	e8 66 f8 fb ff       	call   0x40326c
443a06:	8b d3                	mov    %ebx,%edx
443a08:	80 e2 fc             	and    $0xfc,%dl
443a0b:	8b c6                	mov    %esi,%eax
443a0d:	e8 4a f8 fb ff       	call   0x40325c
443a12:	84 db                	test   %bl,%bl
443a14:	7e 07                	jle    0x443a1d
443a16:	8b c6                	mov    %esi,%eax
443a18:	e8 c3 fb fb ff       	call   0x4035e0
443a1d:	5e                   	pop    %esi
443a1e:	5b                   	pop    %ebx
443a1f:	c3                   	ret
443a20:	8b 40 14             	mov    0x14(%eax),%eax
443a23:	8a 40 5b             	mov    0x5b(%eax),%al
443a26:	48                   	dec    %eax
443a27:	2c 02                	sub    $0x2,%al
443a29:	73 04                	jae    0x443a2f
443a2b:	83 01 0c             	addl   $0xc,(%ecx)
443a2e:	c3                   	ret
443a2f:	83 41 04 0c          	addl   $0xc,0x4(%ecx)
443a33:	c3                   	ret
443a34:	ff 40 6c             	incl   0x6c(%eax)
443a37:	c3                   	ret
443a38:	ff 48 6c             	decl   0x6c(%eax)
443a3b:	83 78 6c 00          	cmpl   $0x0,0x6c(%eax)
443a3f:	7f 0a                	jg     0x443a4b
443a41:	33 d2                	xor    %edx,%edx
443a43:	89 50 6c             	mov    %edx,0x6c(%eax)
443a46:	e8 6d 18 00 00       	call   0x4452b8
443a4b:	c3                   	ret
443a4c:	55                   	push   %ebp
443a4d:	8b ec                	mov    %esp,%ebp
443a4f:	53                   	push   %ebx
443a50:	8b d8                	mov    %eax,%ebx
443a52:	8b 45 08             	mov    0x8(%ebp),%eax
443a55:	8b 40 fc             	mov    -0x4(%eax),%eax
443a58:	3b 43 04             	cmp    0x4(%ebx),%eax
443a5b:	75 09                	jne    0x443a66
443a5d:	8b 45 08             	mov    0x8(%ebp),%eax
443a60:	89 58 f8             	mov    %ebx,-0x8(%eax)
443a63:	5b                   	pop    %ebx
443a64:	5d                   	pop    %ebp
443a65:	c3                   	ret
443a66:	8b 45 08             	mov    0x8(%ebp),%eax
443a69:	83 78 f8 00          	cmpl   $0x0,-0x8(%eax)
443a6d:	75 13                	jne    0x443a82
443a6f:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
443a73:	74 0d                	je     0x443a82
443a75:	8b 45 08             	mov    0x8(%ebp),%eax
443a78:	50                   	push   %eax
443a79:	8b 43 0c             	mov    0xc(%ebx),%eax
443a7c:	e8 cb ff ff ff       	call   0x443a4c
443a81:	59                   	pop    %ecx
443a82:	8b 45 08             	mov    0x8(%ebp),%eax
443a85:	83 78 f8 00          	cmpl   $0x0,-0x8(%eax)
443a89:	75 13                	jne    0x443a9e
443a8b:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
443a8f:	74 0d                	je     0x443a9e
443a91:	8b 45 08             	mov    0x8(%ebp),%eax
443a94:	50                   	push   %eax
443a95:	8b 43 08             	mov    0x8(%ebx),%eax
443a98:	e8 af ff ff ff       	call   0x443a4c
443a9d:	59                   	pop    %ecx
443a9e:	5b                   	pop    %ebx
443a9f:	5d                   	pop    %ebp
443aa0:	c3                   	ret
443aa1:	8d 40 00             	lea    0x0(%eax),%eax
443aa4:	55                   	push   %ebp
443aa5:	8b ec                	mov    %esp,%ebp
443aa7:	83 c4 f8             	add    $0xfffffff8,%esp
443aaa:	89 55 fc             	mov    %edx,-0x4(%ebp)
443aad:	33 d2                	xor    %edx,%edx
443aaf:	89 55 f8             	mov    %edx,-0x8(%ebp)
443ab2:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
443ab6:	74 10                	je     0x443ac8
443ab8:	83 78 64 00          	cmpl   $0x0,0x64(%eax)
443abc:	74 0a                	je     0x443ac8
443abe:	55                   	push   %ebp
443abf:	8b 40 64             	mov    0x64(%eax),%eax
443ac2:	e8 85 ff ff ff       	call   0x443a4c
443ac7:	59                   	pop    %ecx
443ac8:	8b 45 f8             	mov    -0x8(%ebp),%eax
443acb:	59                   	pop    %ecx
443acc:	59                   	pop    %ecx
443acd:	5d                   	pop    %ebp
443ace:	c3                   	ret
443acf:	90                   	nop
443ad0:	55                   	push   %ebp
443ad1:	8b ec                	mov    %esp,%ebp
443ad3:	53                   	push   %ebx
443ad4:	56                   	push   %esi
443ad5:	8b d8                	mov    %eax,%ebx
443ad7:	8b 45 08             	mov    0x8(%ebp),%eax
443ada:	8d 70 08             	lea    0x8(%eax),%esi
443add:	8b d3                	mov    %ebx,%edx
443adf:	8b 46 04             	mov    0x4(%esi),%eax
443ae2:	ff 16                	call   *(%esi)
443ae4:	8b 43 0c             	mov    0xc(%ebx),%eax
443ae7:	85 c0                	test   %eax,%eax
443ae9:	74 0a                	je     0x443af5
443aeb:	8b 55 08             	mov    0x8(%ebp),%edx
443aee:	52                   	push   %edx
443aef:	e8 dc ff ff ff       	call   0x443ad0
443af4:	59                   	pop    %ecx
443af5:	8b 43 08             	mov    0x8(%ebx),%eax
443af8:	85 c0                	test   %eax,%eax
443afa:	74 0a                	je     0x443b06
443afc:	8b 55 08             	mov    0x8(%ebp),%edx
443aff:	52                   	push   %edx
443b00:	e8 cb ff ff ff       	call   0x443ad0
443b05:	59                   	pop    %ecx
443b06:	5e                   	pop    %esi
443b07:	5b                   	pop    %ebx
443b08:	5d                   	pop    %ebp
443b09:	c3                   	ret
443b0a:	8b c0                	mov    %eax,%eax
443b0c:	55                   	push   %ebp
443b0d:	8b ec                	mov    %esp,%ebp
443b0f:	85 d2                	test   %edx,%edx
443b11:	75 03                	jne    0x443b16
443b13:	8b 50 64             	mov    0x64(%eax),%edx
443b16:	55                   	push   %ebp
443b17:	8b c2                	mov    %edx,%eax
443b19:	e8 b2 ff ff ff       	call   0x443ad0
443b1e:	59                   	pop    %ecx
443b1f:	5d                   	pop    %ebp
443b20:	c2 08 00             	ret    $0x8
443b23:	90                   	nop
443b24:	53                   	push   %ebx
443b25:	56                   	push   %esi
443b26:	57                   	push   %edi
443b27:	83 c4 f0             	add    $0xfffffff0,%esp
443b2a:	8b f1                	mov    %ecx,%esi
443b2c:	e8 73 ff ff ff       	call   0x443aa4
443b31:	8b d8                	mov    %eax,%ebx
443b33:	85 db                	test   %ebx,%ebx
443b35:	75 10                	jne    0x443b47
443b37:	8b c6                	mov    %esi,%eax
443b39:	33 c9                	xor    %ecx,%ecx
443b3b:	ba 10 00 00 00       	mov    $0x10,%edx
443b40:	e8 43 f1 fb ff       	call   0x402c88
443b45:	eb 47                	jmp    0x443b8e
443b47:	ba 01 00 00 00       	mov    $0x1,%edx
443b4c:	8b c3                	mov    %ebx,%eax
443b4e:	e8 3d f8 ff ff       	call   0x443390
443b53:	50                   	push   %eax
443b54:	8d 44 24 04          	lea    0x4(%esp),%eax
443b58:	50                   	push   %eax
443b59:	ba 02 00 00 00       	mov    $0x2,%edx
443b5e:	8b c3                	mov    %ebx,%eax
443b60:	e8 2b f8 ff ff       	call   0x443390
443b65:	50                   	push   %eax
443b66:	ba 01 00 00 00       	mov    $0x1,%edx
443b6b:	8b c3                	mov    %ebx,%eax
443b6d:	e8 b2 f7 ff ff       	call   0x443324
443b72:	50                   	push   %eax
443b73:	ba 02 00 00 00       	mov    $0x2,%edx
443b78:	8b c3                	mov    %ebx,%eax
443b7a:	e8 a5 f7 ff ff       	call   0x443324
443b7f:	5a                   	pop    %edx
443b80:	59                   	pop    %ecx
443b81:	e8 fa ed fc ff       	call   0x412980
443b86:	8b fe                	mov    %esi,%edi
443b88:	8b f4                	mov    %esp,%esi
443b8a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
443b8b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
443b8c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
443b8d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
443b8e:	83 c4 10             	add    $0x10,%esp
443b91:	5f                   	pop    %edi
443b92:	5e                   	pop    %esi
443b93:	5b                   	pop    %ebx
443b94:	c3                   	ret
443b95:	8d 40 00             	lea    0x0(%eax),%eax
443b98:	e8 fb 06 00 00       	call   0x444298
443b9d:	85 c0                	test   %eax,%eax
443b9f:	74 04                	je     0x443ba5
443ba1:	8b 40 04             	mov    0x4(%eax),%eax
443ba4:	c3                   	ret
443ba5:	33 c0                	xor    %eax,%eax
443ba7:	c3                   	ret
443ba8:	55                   	push   %ebp
443ba9:	8b ec                	mov    %esp,%ebp
443bab:	83 c4 d0             	add    $0xffffffd0,%esp
443bae:	53                   	push   %ebx
443baf:	56                   	push   %esi
443bb0:	57                   	push   %edi
443bb1:	88 4d ff             	mov    %cl,-0x1(%ebp)
443bb4:	8b f2                	mov    %edx,%esi
443bb6:	8b d8                	mov    %eax,%ebx
443bb8:	80 7e 57 00          	cmpb   $0x0,0x57(%esi)
443bbc:	0f 84 ed 01 00 00    	je     0x443daf
443bc2:	8b 43 38             	mov    0x38(%ebx),%eax
443bc5:	85 c0                	test   %eax,%eax
443bc7:	74 0d                	je     0x443bd6
443bc9:	89 70 04             	mov    %esi,0x4(%eax)
443bcc:	e8 0f fa ff ff       	call   0x4435e0