440806:	79 0d                	jns    0x440815
440808:	56                   	push   %esi
440809:	6a 35                	push   $0x35
44080b:	68 c4 63 46 00       	push   $0x4663c4
440810:	e8 be 2f fc ff       	call   0x4037d3
440815:	39 7d fc             	cmp    %edi,-0x4(%ebp)
440818:	74 09                	je     0x440823
44081a:	ff 75 fc             	push   -0x4(%ebp)
44081d:	ff 15 d4 b0 44 00    	call   *0x44b0d4
440823:	5f                   	pop    %edi
440824:	8b c6                	mov    %esi,%eax
440826:	5e                   	pop    %esi
440827:	8b e5                	mov    %ebp,%esp
440829:	5d                   	pop    %ebp
44082a:	c2 08 00             	ret    $0x8
44082d:	55                   	push   %ebp
44082e:	8b ec                	mov    %esp,%ebp
440830:	83 ec 58             	sub    $0x58,%esp
440833:	53                   	push   %ebx
440834:	56                   	push   %esi
440835:	57                   	push   %edi
440836:	33 db                	xor    %ebx,%ebx
440838:	8d 45 a8             	lea    -0x58(%ebp),%eax
44083b:	6a 44                	push   $0x44
44083d:	53                   	push   %ebx
44083e:	50                   	push   %eax
44083f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
440842:	e8 29 ee fe ff       	call   0x42f670
440847:	33 c0                	xor    %eax,%eax
440849:	8d 7d ec             	lea    -0x14(%ebp),%edi
44084c:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
44084f:	ab                   	stos   %eax,%es:(%edi)
440850:	ab                   	stos   %eax,%es:(%edi)
440851:	ab                   	stos   %eax,%es:(%edi)
440852:	ab                   	stos   %eax,%es:(%edi)
440853:	b8 24 b5 44 00       	mov    $0x44b524,%eax
440858:	0f 45 45 0c          	cmovne 0xc(%ebp),%eax
44085c:	50                   	push   %eax
44085d:	ff 75 08             	push   0x8(%ebp)
440860:	8d 45 fc             	lea    -0x4(%ebp),%eax
440863:	68 54 bc 44 00       	push   $0x44bc54
440868:	50                   	push   %eax
440869:	e8 b2 16 fc ff       	call   0x401f20
44086e:	8b f0                	mov    %eax,%esi
440870:	83 c4 1c             	add    $0x1c,%esp
440873:	85 f6                	test   %esi,%esi
440875:	78 68                	js     0x4408df
440877:	66 8b 4d 10          	mov    0x10(%ebp),%cx
44087b:	8d 45 ec             	lea    -0x14(%ebp),%eax
44087e:	50                   	push   %eax
44087f:	8d 45 a8             	lea    -0x58(%ebp),%eax
440882:	c7 45 a8 44 00 00 00 	movl   $0x44,-0x58(%ebp)
440889:	50                   	push   %eax
44088a:	53                   	push   %ebx
44088b:	53                   	push   %ebx
44088c:	53                   	push   %ebx
44088d:	53                   	push   %ebx
44088e:	53                   	push   %ebx
44088f:	53                   	push   %ebx
440890:	ff 75 fc             	push   -0x4(%ebp)
440893:	66 89 4d d8          	mov    %cx,-0x28(%ebp)
440897:	ff 75 08             	push   0x8(%ebp)
44089a:	ff 15 a4 b1 44 00    	call   *0x44b1a4
4408a0:	85 c0                	test   %eax,%eax
4408a2:	75 30                	jne    0x4408d4
4408a4:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4408aa:	0f b7 f0             	movzwl %ax,%esi
4408ad:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4408b3:	85 c0                	test   %eax,%eax
4408b5:	0f 4e f0             	cmovle %eax,%esi
4408b8:	b8 05 40 00 80       	mov    $0x80004005,%eax
4408bd:	85 f6                	test   %esi,%esi
4408bf:	0f 49 f0             	cmovns %eax,%esi
4408c2:	56                   	push   %esi
4408c3:	68 9e 00 00 00       	push   $0x9e
4408c8:	68 c4 63 46 00       	push   $0x4663c4
4408cd:	e8 01 2f fc ff       	call   0x4037d3
4408d2:	eb 0b                	jmp    0x4408df
4408d4:	8b 45 14             	mov    0x14(%ebp),%eax
4408d7:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4408da:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4408dd:	89 08                	mov    %ecx,(%eax)
4408df:	8b 3d d4 b0 44 00    	mov    0x44b0d4,%edi
4408e5:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
4408e8:	74 08                	je     0x4408f2
4408ea:	ff 75 f0             	push   -0x10(%ebp)
4408ed:	ff d7                	call   *%edi
4408ef:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4408f2:	39 5d ec             	cmp    %ebx,-0x14(%ebp)
4408f5:	74 08                	je     0x4408ff
4408f7:	ff 75 ec             	push   -0x14(%ebp)
4408fa:	ff d7                	call   *%edi
4408fc:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4408ff:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
440902:	74 08                	je     0x44090c
440904:	ff 75 fc             	push   -0x4(%ebp)
440907:	e8 e3 4b 00 00       	call   0x4454ef
44090c:	5f                   	pop    %edi
44090d:	8b c6                	mov    %esi,%eax
44090f:	5e                   	pop    %esi
440910:	5b                   	pop    %ebx
440911:	8b e5                	mov    %ebp,%esp
440913:	5d                   	pop    %ebp
440914:	c2 10 00             	ret    $0x10
440917:	55                   	push   %ebp
440918:	8b ec                	mov    %esp,%ebp
44091a:	51                   	push   %ecx
44091b:	56                   	push   %esi
44091c:	ff 75 0c             	push   0xc(%ebp)
44091f:	33 f6                	xor    %esi,%esi
440921:	ff 75 08             	push   0x8(%ebp)
440924:	89 75 fc             	mov    %esi,-0x4(%ebp)
440927:	ff 15 10 b2 44 00    	call   *0x44b210
44092d:	89 45 fc             	mov    %eax,-0x4(%ebp)
440930:	83 f8 ff             	cmp    $0xffffffff,%eax
440933:	75 30                	jne    0x440965
440935:	ff 15 e8 b0 44 00    	call   *0x44b0e8
44093b:	0f b7 f0             	movzwl %ax,%esi
44093e:	81 ce 00 00 07 80    	or     $0x80070000,%esi
440944:	85 c0                	test   %eax,%eax
440946:	0f 4e f0             	cmovle %eax,%esi
440949:	b8 05 40 00 80       	mov    $0x80004005,%eax
44094e:	85 f6                	test   %esi,%esi
440950:	0f 49 f0             	cmovns %eax,%esi
440953:	56                   	push   %esi
440954:	68 21 01 00 00       	push   $0x121
440959:	68 c4 63 46 00       	push   $0x4663c4
44095e:	e8 70 2e fc ff       	call   0x4037d3
440963:	eb 4d                	jmp    0x4409b2
440965:	3d 02 01 00 00       	cmp    $0x102,%eax
44096a:	75 07                	jne    0x440973
44096c:	be 02 01 07 80       	mov    $0x80070102,%esi
440971:	eb 3f                	jmp    0x4409b2
440973:	8d 45 fc             	lea    -0x4(%ebp),%eax
440976:	50                   	push   %eax
440977:	ff 75 08             	push   0x8(%ebp)
44097a:	ff 15 50 b2 44 00    	call   *0x44b250
440980:	85 c0                	test   %eax,%eax
440982:	75 26                	jne    0x4409aa
440984:	ff 15 e8 b0 44 00    	call   *0x44b0e8
44098a:	0f b7 f0             	movzwl %ax,%esi
44098d:	81 ce 00 00 07 80    	or     $0x80070000,%esi
440993:	85 c0                	test   %eax,%eax
440995:	0f 4e f0             	cmovle %eax,%esi
440998:	b8 05 40 00 80       	mov    $0x80004005,%eax
44099d:	85 f6                	test   %esi,%esi
44099f:	0f 49 f0             	cmovns %eax,%esi
4409a2:	56                   	push   %esi
4409a3:	68 2a 01 00 00       	push   $0x12a
4409a8:	eb af                	jmp    0x440959
4409aa:	8b 55 10             	mov    0x10(%ebp),%edx
4409ad:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4409b0:	89 0a                	mov    %ecx,(%edx)
4409b2:	8b c6                	mov    %esi,%eax
4409b4:	5e                   	pop    %esi
4409b5:	8b e5                	mov    %ebp,%esp
4409b7:	5d                   	pop    %ebp
4409b8:	c2 0c 00             	ret    $0xc
4409bb:	55                   	push   %ebp
4409bc:	8b ec                	mov    %esp,%ebp
4409be:	51                   	push   %ecx
4409bf:	56                   	push   %esi
4409c0:	68 d4 63 46 00       	push   $0x4663d4
4409c5:	33 f6                	xor    %esi,%esi
4409c7:	68 28 b5 44 00       	push   $0x44b528
4409cc:	89 75 fc             	mov    %esi,-0x4(%ebp)
4409cf:	ff 15 ec b0 44 00    	call   *0x44b0ec
4409d5:	50                   	push   %eax
4409d6:	ff 15 dc b0 44 00    	call   *0x44b0dc
4409dc:	85 c0                	test   %eax,%eax
4409de:	74 3a                	je     0x440a1a
4409e0:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4409e3:	51                   	push   %ecx
4409e4:	ff 75 08             	push   0x8(%ebp)
4409e7:	ff d0                	call   *%eax
4409e9:	85 c0                	test   %eax,%eax
4409eb:	75 2d                	jne    0x440a1a
4409ed:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4409f3:	0f b7 f0             	movzwl %ax,%esi
4409f6:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4409fc:	85 c0                	test   %eax,%eax
4409fe:	0f 4e f0             	cmovle %eax,%esi
440a01:	b8 05 40 00 80       	mov    $0x80004005,%eax
440a06:	85 f6                	test   %esi,%esi
440a08:	0f 49 f0             	cmovns %eax,%esi
440a0b:	56                   	push   %esi
440a0c:	6a 4e                	push   $0x4e
440a0e:	68 c4 63 46 00       	push   $0x4663c4
440a13:	e8 bb 2d fc ff       	call   0x4037d3
440a18:	eb 08                	jmp    0x440a22
440a1a:	8b 55 0c             	mov    0xc(%ebp),%edx
440a1d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
440a20:	89 0a                	mov    %ecx,(%edx)
440a22:	8b c6                	mov    %esi,%eax
440a24:	5e                   	pop    %esi
440a25:	8b e5                	mov    %ebp,%esp
440a27:	5d                   	pop    %ebp
440a28:	c2 08 00             	ret    $0x8
440a2b:	55                   	push   %ebp
440a2c:	8b ec                	mov    %esp,%ebp
440a2e:	8b 4d 08             	mov    0x8(%ebp),%ecx
440a31:	56                   	push   %esi
440a32:	57                   	push   %edi
440a33:	33 ff                	xor    %edi,%edi
440a35:	8b d7                	mov    %edi,%edx
440a37:	85 c9                	test   %ecx,%ecx
440a39:	74 2c                	je     0x440a67
440a3b:	8b 45 0c             	mov    0xc(%ebp),%eax
440a3e:	d1 e8                	shr    $1,%eax
440a40:	8b d0                	mov    %eax,%edx
440a42:	74 0d                	je     0x440a51
440a44:	66 39 39             	cmp    %di,(%ecx)
440a47:	74 08                	je     0x440a51
440a49:	83 c1 02             	add    $0x2,%ecx
440a4c:	83 e8 01             	sub    $0x1,%eax
440a4f:	75 f3                	jne    0x440a44
440a51:	33 f6                	xor    %esi,%esi
440a53:	b9 57 00 07 80       	mov    $0x80070057,%ecx
440a58:	85 c0                	test   %eax,%eax
440a5a:	0f 45 ce             	cmovne %esi,%ecx
440a5d:	74 04                	je     0x440a63
440a5f:	2b d0                	sub    %eax,%edx
440a61:	eb 09                	jmp    0x440a6c
440a63:	8b d7                	mov    %edi,%edx
440a65:	eb 05                	jmp    0x440a6c
440a67:	b9 57 00 07 80       	mov    $0x80070057,%ecx
440a6c:	8b 75 10             	mov    0x10(%ebp),%esi
440a6f:	85 f6                	test   %esi,%esi
440a71:	74 0d                	je     0x440a80
440a73:	85 c9                	test   %ecx,%ecx
440a75:	78 07                	js     0x440a7e
440a77:	8d 04 12             	lea    (%edx,%edx,1),%eax
440a7a:	89 06                	mov    %eax,(%esi)
440a7c:	eb 02                	jmp    0x440a80
440a7e:	89 3e                	mov    %edi,(%esi)
440a80:	5f                   	pop    %edi
440a81:	8b c1                	mov    %ecx,%eax
440a83:	5e                   	pop    %esi
440a84:	5d                   	pop    %ebp
440a85:	c2 0c 00             	ret    $0xc
440a88:	55                   	push   %ebp
440a89:	8b ec                	mov    %esp,%ebp
440a8b:	56                   	push   %esi
440a8c:	33 f6                	xor    %esi,%esi
440a8e:	56                   	push   %esi
440a8f:	ff 75 14             	push   0x14(%ebp)
440a92:	56                   	push   %esi
440a93:	ff 75 10             	push   0x10(%ebp)
440a96:	56                   	push   %esi
440a97:	56                   	push   %esi
440a98:	56                   	push   %esi
440a99:	ff 75 0c             	push   0xc(%ebp)
440a9c:	ff 75 08             	push   0x8(%ebp)
440a9f:	ff 15 48 b6 46 00    	call   *0x46b648
440aa5:	85 c0                	test   %eax,%eax
440aa7:	74 25                	je     0x440ace
440aa9:	0f b7 f0             	movzwl %ax,%esi
440aac:	81 ce 00 00 07 80    	or     $0x80070000,%esi
440ab2:	85 c0                	test   %eax,%eax
440ab4:	0f 4e f0             	cmovle %eax,%esi
440ab7:	b8 05 40 00 80       	mov    $0x80004005,%eax
440abc:	85 f6                	test   %esi,%esi
440abe:	0f 49 f0             	cmovns %eax,%esi
440ac1:	56                   	push   %esi
440ac2:	6a 6e                	push   $0x6e
440ac4:	68 34 64 46 00       	push   $0x466434
440ac9:	e8 05 2d fc ff       	call   0x4037d3
440ace:	8b c6                	mov    %esi,%eax
440ad0:	5e                   	pop    %esi
440ad1:	5d                   	pop    %ebp
440ad2:	c2 10 00             	ret    $0x10
440ad5:	55                   	push   %ebp
440ad6:	8b ec                	mov    %esp,%ebp
440ad8:	51                   	push   %ecx
440ad9:	56                   	push   %esi
440ada:	8d 45 fc             	lea    -0x4(%ebp),%eax
440add:	33 f6                	xor    %esi,%esi
440adf:	50                   	push   %eax
440ae0:	ff 75 1c             	push   0x1c(%ebp)
440ae3:	33 c0                	xor    %eax,%eax
440ae5:	ff 75 18             	push   0x18(%ebp)
440ae8:	39 45 14             	cmp    %eax,0x14(%ebp)
440aeb:	ff 75 10             	push   0x10(%ebp)
440aee:	0f 95 c0             	setne  %al
440af1:	50                   	push   %eax
440af2:	56                   	push   %esi
440af3:	56                   	push   %esi
440af4:	ff 75 0c             	push   0xc(%ebp)
440af7:	ff 75 08             	push   0x8(%ebp)
440afa:	ff 15 48 b6 46 00    	call   *0x46b648
440b00:	85 c0                	test   %eax,%eax
440b02:	74 2a                	je     0x440b2e
440b04:	0f b7 f0             	movzwl %ax,%esi
440b07:	81 ce 00 00 07 80    	or     $0x80070000,%esi
440b0d:	85 c0                	test   %eax,%eax
440b0f:	0f 4e f0             	cmovle %eax,%esi
440b12:	b8 05 40 00 80       	mov    $0x80004005,%eax
440b17:	85 f6                	test   %esi,%esi
440b19:	0f 49 f0             	cmovns %eax,%esi
440b1c:	56                   	push   %esi
440b1d:	68 88 00 00 00       	push   $0x88
440b22:	68 34 64 46 00       	push   $0x466434
440b27:	e8 a7 2c fc ff       	call   0x4037d3
440b2c:	eb 12                	jmp    0x440b40
440b2e:	8b 55 20             	mov    0x20(%ebp),%edx
440b31:	85 d2                	test   %edx,%edx
440b33:	74 0b                	je     0x440b40
440b35:	33 c9                	xor    %ecx,%ecx
440b37:	83 7d fc 01          	cmpl   $0x1,-0x4(%ebp)
440b3b:	0f 94 c1             	sete   %cl
440b3e:	89 0a                	mov    %ecx,(%edx)
440b40:	8b c6                	mov    %esi,%eax
440b42:	5e                   	pop    %esi
440b43:	8b e5                	mov    %ebp,%esp
440b45:	5d                   	pop    %ebp
440b46:	c2 1c 00             	ret    $0x1c
440b49:	55                   	push   %ebp
440b4a:	8b ec                	mov    %esp,%ebp
440b4c:	83 ec 0c             	sub    $0xc,%esp
440b4f:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
440b53:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
440b57:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
440b5b:	53                   	push   %ebx
440b5c:	56                   	push   %esi
440b5d:	33 db                	xor    %ebx,%ebx
440b5f:	57                   	push   %edi
440b60:	8b 7d 10             	mov    0x10(%ebp),%edi
440b63:	39 5d 14             	cmp    %ebx,0x14(%ebp)
440b66:	74 77                	je     0x440bdf
440b68:	8d 45 fc             	lea    -0x4(%ebp),%eax
440b6b:	50                   	push   %eax
440b6c:	68 19 00 02 00       	push   $0x20019
440b71:	ff 75 0c             	push   0xc(%ebp)
440b74:	ff 75 08             	push   0x8(%ebp)
440b77:	e8 c3 02 00 00       	call   0x440e3f
440b7c:	8b f0                	mov    %eax,%esi
440b7e:	81 fe 02 00 07 80    	cmp    $0x80070002,%esi
440b84:	75 39                	jne    0x440bbf
440b86:	33 f6                	xor    %esi,%esi
440b88:	e9 0a 01 00 00       	jmp    0x440c97
440b8d:	85 f6                	test   %esi,%esi
440b8f:	0f 88 02 01 00 00    	js     0x440c97
440b95:	8d 45 f4             	lea    -0xc(%ebp),%eax
440b98:	50                   	push   %eax
440b99:	ff 75 f8             	push   -0x8(%ebp)
440b9c:	ff 75 0c             	push   0xc(%ebp)
440b9f:	e8 d5 21 fc ff       	call   0x402d79
440ba4:	8b f0                	mov    %eax,%esi
440ba6:	85 f6                	test   %esi,%esi
440ba8:	0f 88 e9 00 00 00    	js     0x440c97