41e7da:	55                   	push   %ebp
41e7db:	68 4b e8 41 00       	push   $0x41e84b
41e7e0:	64 ff 30             	push   %fs:(%eax)
41e7e3:	64 89 20             	mov    %esp,%fs:(%eax)
41e7e6:	ba 20 00 cc 00       	mov    $0xcc0020,%edx
41e7eb:	b8 29 00 aa 00       	mov    $0xaa0029,%eax
41e7f0:	e8 87 81 fe ff       	call   0x40697c
41e7f5:	50                   	push   %eax
41e7f6:	8b 45 08             	mov    0x8(%ebp),%eax
41e7f9:	50                   	push   %eax
41e7fa:	8b 45 0c             	mov    0xc(%ebp),%eax
41e7fd:	50                   	push   %eax
41e7fe:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e801:	50                   	push   %eax
41e802:	8b 45 1c             	mov    0x1c(%ebp),%eax
41e805:	50                   	push   %eax
41e806:	8b 45 20             	mov    0x20(%ebp),%eax
41e809:	50                   	push   %eax
41e80a:	8b 45 24             	mov    0x24(%ebp),%eax
41e80d:	50                   	push   %eax
41e80e:	8b 45 28             	mov    0x28(%ebp),%eax
41e811:	50                   	push   %eax
41e812:	8b 45 2c             	mov    0x2c(%ebp),%eax
41e815:	50                   	push   %eax
41e816:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e819:	50                   	push   %eax
41e81a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e81d:	50                   	push   %eax
41e81e:	57                   	push   %edi
41e81f:	e8 00 7b fe ff       	call   0x406324
41e824:	33 c0                	xor    %eax,%eax
41e826:	5a                   	pop    %edx
41e827:	59                   	pop    %ecx
41e828:	59                   	pop    %ecx
41e829:	64 89 10             	mov    %edx,%fs:(%eax)
41e82c:	68 ff e9 41 00       	push   $0x41e9ff
41e831:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e834:	50                   	push   %eax
41e835:	8b 45 10             	mov    0x10(%ebp),%eax
41e838:	50                   	push   %eax
41e839:	e8 46 7b fe ff       	call   0x406384
41e83e:	89 45 ec             	mov    %eax,-0x14(%ebp)
41e841:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e844:	50                   	push   %eax
41e845:	e8 12 7a fe ff       	call   0x40625c
41e84a:	c3                   	ret
41e84b:	e9 4c 51 fe ff       	jmp    0x40399c
41e850:	eb df                	jmp    0x41e831
41e852:	33 c0                	xor    %eax,%eax
41e854:	89 45 dc             	mov    %eax,-0x24(%ebp)
41e857:	6a 00                	push   $0x0
41e859:	e8 a6 79 fe ff       	call   0x406204
41e85e:	e8 71 fd ff ff       	call   0x41e5d4
41e863:	89 45 f0             	mov    %eax,-0x10(%ebp)
41e866:	33 c0                	xor    %eax,%eax
41e868:	55                   	push   %ebp
41e869:	68 f8 e9 41 00       	push   $0x41e9f8
41e86e:	64 ff 30             	push   %fs:(%eax)
41e871:	64 89 20             	mov    %esp,%fs:(%eax)
41e874:	56                   	push   %esi
41e875:	53                   	push   %ebx
41e876:	8b 45 24             	mov    0x24(%ebp),%eax
41e879:	50                   	push   %eax
41e87a:	e8 7d 79 fe ff       	call   0x4061fc
41e87f:	e8 50 fd ff ff       	call   0x41e5d4
41e884:	89 45 ec             	mov    %eax,-0x14(%ebp)
41e887:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e88a:	50                   	push   %eax
41e88b:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e88e:	50                   	push   %eax
41e88f:	e8 f0 7a fe ff       	call   0x406384
41e894:	89 45 e8             	mov    %eax,-0x18(%ebp)
41e897:	6a 00                	push   $0x0
41e899:	a1 8c e8 46 00       	mov    0x46e88c,%eax
41e89e:	50                   	push   %eax
41e89f:	8b 45 24             	mov    0x24(%ebp),%eax
41e8a2:	50                   	push   %eax
41e8a3:	e8 e4 7a fe ff       	call   0x40638c
41e8a8:	89 45 dc             	mov    %eax,-0x24(%ebp)
41e8ab:	6a 00                	push   $0x0
41e8ad:	8b 45 dc             	mov    -0x24(%ebp),%eax
41e8b0:	50                   	push   %eax
41e8b1:	8b 45 24             	mov    0x24(%ebp),%eax
41e8b4:	50                   	push   %eax
41e8b5:	e8 d2 7a fe ff       	call   0x40638c
41e8ba:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
41e8be:	74 14                	je     0x41e8d4
41e8c0:	6a ff                	push   $0xffffffff
41e8c2:	8b 45 dc             	mov    -0x24(%ebp),%eax
41e8c5:	50                   	push   %eax
41e8c6:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e8c9:	50                   	push   %eax
41e8ca:	e8 bd 7a fe ff       	call   0x40638c
41e8cf:	89 45 dc             	mov    %eax,-0x24(%ebp)
41e8d2:	eb 14                	jmp    0x41e8e8
41e8d4:	6a ff                	push   $0xffffffff
41e8d6:	a1 8c e8 46 00       	mov    0x46e88c,%eax
41e8db:	50                   	push   %eax
41e8dc:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e8df:	50                   	push   %eax
41e8e0:	e8 a7 7a fe ff       	call   0x40638c
41e8e5:	89 45 dc             	mov    %eax,-0x24(%ebp)
41e8e8:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e8eb:	50                   	push   %eax
41e8ec:	e8 63 7a fe ff       	call   0x406354
41e8f1:	68 20 00 cc 00       	push   $0xcc0020
41e8f6:	56                   	push   %esi
41e8f7:	53                   	push   %ebx
41e8f8:	8b 45 08             	mov    0x8(%ebp),%eax
41e8fb:	50                   	push   %eax
41e8fc:	8b 45 0c             	mov    0xc(%ebp),%eax
41e8ff:	50                   	push   %eax
41e900:	8b 45 10             	mov    0x10(%ebp),%eax
41e903:	50                   	push   %eax
41e904:	56                   	push   %esi
41e905:	53                   	push   %ebx
41e906:	6a 00                	push   $0x0
41e908:	6a 00                	push   $0x0
41e90a:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e90d:	50                   	push   %eax
41e90e:	e8 e1 7a fe ff       	call   0x4063f4
41e913:	68 28 03 44 00       	push   $0x440328
41e918:	56                   	push   %esi
41e919:	53                   	push   %ebx
41e91a:	8b 45 1c             	mov    0x1c(%ebp),%eax
41e91d:	50                   	push   %eax
41e91e:	8b 45 20             	mov    0x20(%ebp),%eax
41e921:	50                   	push   %eax
41e922:	8b 45 24             	mov    0x24(%ebp),%eax
41e925:	50                   	push   %eax
41e926:	56                   	push   %esi
41e927:	53                   	push   %ebx
41e928:	6a 00                	push   $0x0
41e92a:	6a 00                	push   $0x0
41e92c:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e92f:	50                   	push   %eax
41e930:	e8 bf 7a fe ff       	call   0x4063f4
41e935:	6a 00                	push   $0x0
41e937:	57                   	push   %edi
41e938:	e8 97 7a fe ff       	call   0x4063d4
41e93d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41e940:	68 ff ff ff 00       	push   $0xffffff
41e945:	57                   	push   %edi
41e946:	e8 49 7a fe ff       	call   0x406394
41e94b:	89 45 e0             	mov    %eax,-0x20(%ebp)
41e94e:	68 c6 00 88 00       	push   $0x8800c6
41e953:	56                   	push   %esi
41e954:	53                   	push   %ebx
41e955:	8b 45 08             	mov    0x8(%ebp),%eax
41e958:	50                   	push   %eax
41e959:	8b 45 0c             	mov    0xc(%ebp),%eax
41e95c:	50                   	push   %eax
41e95d:	8b 45 10             	mov    0x10(%ebp),%eax
41e960:	50                   	push   %eax
41e961:	8b 45 28             	mov    0x28(%ebp),%eax
41e964:	50                   	push   %eax
41e965:	8b 45 2c             	mov    0x2c(%ebp),%eax
41e968:	50                   	push   %eax
41e969:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e96c:	50                   	push   %eax
41e96d:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e970:	50                   	push   %eax
41e971:	57                   	push   %edi
41e972:	e8 7d 7a fe ff       	call   0x4063f4
41e977:	68 46 00 66 00       	push   $0x660046
41e97c:	56                   	push   %esi
41e97d:	53                   	push   %ebx
41e97e:	6a 00                	push   $0x0
41e980:	6a 00                	push   $0x0
41e982:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e985:	50                   	push   %eax
41e986:	8b 45 28             	mov    0x28(%ebp),%eax
41e989:	50                   	push   %eax
41e98a:	8b 45 2c             	mov    0x2c(%ebp),%eax
41e98d:	50                   	push   %eax
41e98e:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e991:	50                   	push   %eax
41e992:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e995:	50                   	push   %eax
41e996:	57                   	push   %edi
41e997:	e8 58 7a fe ff       	call   0x4063f4
41e99c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41e99f:	50                   	push   %eax
41e9a0:	57                   	push   %edi
41e9a1:	e8 2e 7a fe ff       	call   0x4063d4
41e9a6:	8b 45 e0             	mov    -0x20(%ebp),%eax
41e9a9:	50                   	push   %eax
41e9aa:	57                   	push   %edi
41e9ab:	e8 e4 79 fe ff       	call   0x406394
41e9b0:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
41e9b4:	74 0d                	je     0x41e9c3
41e9b6:	8b 45 e8             	mov    -0x18(%ebp),%eax
41e9b9:	50                   	push   %eax
41e9ba:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e9bd:	50                   	push   %eax
41e9be:	e8 c1 79 fe ff       	call   0x406384
41e9c3:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e9c6:	50                   	push   %eax
41e9c7:	e8 90 78 fe ff       	call   0x40625c
41e9cc:	33 c0                	xor    %eax,%eax
41e9ce:	5a                   	pop    %edx
41e9cf:	59                   	pop    %ecx
41e9d0:	59                   	pop    %ecx
41e9d1:	64 89 10             	mov    %edx,%fs:(%eax)
41e9d4:	68 ff e9 41 00       	push   $0x41e9ff
41e9d9:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
41e9dd:	74 0f                	je     0x41e9ee
41e9df:	6a 00                	push   $0x0
41e9e1:	8b 45 dc             	mov    -0x24(%ebp),%eax
41e9e4:	50                   	push   %eax
41e9e5:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e9e8:	50                   	push   %eax
41e9e9:	e8 9e 79 fe ff       	call   0x40638c
41e9ee:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e9f1:	50                   	push   %eax
41e9f2:	e8 55 78 fe ff       	call   0x40624c
41e9f7:	c3                   	ret
41e9f8:	e9 9f 4f fe ff       	jmp    0x40399c
41e9fd:	eb da                	jmp    0x41e9d9
41e9ff:	8a 45 f7             	mov    -0x9(%ebp),%al
41ea02:	5f                   	pop    %edi
41ea03:	5e                   	pop    %esi
41ea04:	5b                   	pop    %ebx
41ea05:	8b e5                	mov    %ebp,%esp
41ea07:	5d                   	pop    %ebp
41ea08:	c2 28 00             	ret    $0x28
41ea0b:	90                   	nop
41ea0c:	53                   	push   %ebx
41ea0d:	56                   	push   %esi
41ea0e:	57                   	push   %edi
41ea0f:	8b f0                	mov    %eax,%esi
41ea11:	8b fe                	mov    %esi,%edi
41ea13:	ba ff 00 00 00       	mov    $0xff,%edx
41ea18:	8d 04 97             	lea    (%edi,%edx,4),%eax
41ea1b:	8d 0c 52             	lea    (%edx,%edx,2),%ecx
41ea1e:	8d 0c 0e             	lea    (%esi,%ecx,1),%ecx
41ea21:	8a 59 02             	mov    0x2(%ecx),%bl
41ea24:	88 58 02             	mov    %bl,0x2(%eax)
41ea27:	8a 59 01             	mov    0x1(%ecx),%bl
41ea2a:	88 58 01             	mov    %bl,0x1(%eax)
41ea2d:	8a 09                	mov    (%ecx),%cl
41ea2f:	88 08                	mov    %cl,(%eax)
41ea31:	c6 40 03 00          	movb   $0x0,0x3(%eax)
41ea35:	4a                   	dec    %edx
41ea36:	85 d2                	test   %edx,%edx
41ea38:	75 de                	jne    0x41ea18
41ea3a:	c6 47 03 00          	movb   $0x0,0x3(%edi)
41ea3e:	5f                   	pop    %edi
41ea3f:	5e                   	pop    %esi
41ea40:	5b                   	pop    %ebx
41ea41:	c3                   	ret
41ea42:	8b c0                	mov    %eax,%eax
41ea44:	53                   	push   %ebx
41ea45:	56                   	push   %esi
41ea46:	57                   	push   %edi
41ea47:	83 c4 f8             	add    $0xfffffff8,%esp
41ea4a:	89 14 24             	mov    %edx,(%esp)
41ea4d:	8b f0                	mov    %eax,%esi
41ea4f:	89 74 24 04          	mov    %esi,0x4(%esp)
41ea53:	8b 3c 24             	mov    (%esp),%edi
41ea56:	8b 3f                	mov    (%edi),%edi
41ea58:	4f                   	dec    %edi
41ea59:	85 ff                	test   %edi,%edi
41ea5b:	7e 26                	jle    0x41ea83
41ea5d:	b9 01 00 00 00       	mov    $0x1,%ecx
41ea62:	8b 44 24 04          	mov    0x4(%esp),%eax
41ea66:	8d 04 88             	lea    (%eax,%ecx,4),%eax
41ea69:	8d 14 49             	lea    (%ecx,%ecx,2),%edx
41ea6c:	8d 14 16             	lea    (%esi,%edx,1),%edx
41ea6f:	8a 58 02             	mov    0x2(%eax),%bl
41ea72:	88 5a 02             	mov    %bl,0x2(%edx)
41ea75:	8a 58 01             	mov    0x1(%eax),%bl
41ea78:	88 5a 01             	mov    %bl,0x1(%edx)
41ea7b:	8a 00                	mov    (%eax),%al
41ea7d:	88 02                	mov    %al,(%edx)
41ea7f:	41                   	inc    %ecx
41ea80:	4f                   	dec    %edi
41ea81:	75 df                	jne    0x41ea62
41ea83:	8b 04 24             	mov    (%esp),%eax
41ea86:	81 38 00 01 00 00    	cmpl   $0x100,(%eax)
41ea8c:	7d 28                	jge    0x41eab6
41ea8e:	8b 04 24             	mov    (%esp),%eax
41ea91:	ba 00 01 00 00       	mov    $0x100,%edx
41ea96:	2b 10                	sub    (%eax),%edx
41ea98:	8d 14 52             	lea    (%edx,%edx,2),%edx
41ea9b:	8b 04 24             	mov    (%esp),%eax
41ea9e:	8b 00                	mov    (%eax),%eax
41eaa0:	8d 04 40             	lea    (%eax,%eax,2),%eax
41eaa3:	8d 04 06             	lea    (%esi,%eax,1),%eax
41eaa6:	33 c9                	xor    %ecx,%ecx
41eaa8:	e8 b7 41 fe ff       	call   0x402c64
41eaad:	8b 04 24             	mov    (%esp),%eax
41eab0:	c7 00 00 01 00 00    	movl   $0x100,(%eax)
41eab6:	59                   	pop    %ecx
41eab7:	5a                   	pop    %edx
41eab8:	5f                   	pop    %edi
41eab9:	5e                   	pop    %esi
41eaba:	5b                   	pop    %ebx
41eabb:	c3                   	ret
41eabc:	55                   	push   %ebp
41eabd:	8b ec                	mov    %esp,%ebp
41eabf:	83 c4 d4             	add    $0xffffffd4,%esp
41eac2:	89 55 f8             	mov    %edx,-0x8(%ebp)
41eac5:	89 45 fc             	mov    %eax,-0x4(%ebp)
41eac8:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41eacb:	50                   	push   %eax
41eacc:	e8 cb 75 fe ff       	call   0x40609c
41ead1:	8b 55 fc             	mov    -0x4(%ebp),%edx
41ead4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41ead7:	49                   	dec    %ecx
41ead8:	78 33                	js     0x41eb0d
41eada:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41eadd:	66 83 78 20 03       	cmpw   $0x3,0x20(%eax)
41eae2:	74 10                	je     0x41eaf4
41eae4:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
41eae7:	0f c8                	bswap  %eax
41eae9:	c1 e8 08             	shr    $0x8,%eax
41eaec:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
41eaef:	49                   	dec    %ecx
41eaf0:	79 f2                	jns    0x41eae4
41eaf2:	eb 19                	jmp    0x41eb0d
41eaf4:	53                   	push   %ebx
41eaf5:	31 db                	xor    %ebx,%ebx
41eaf7:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
41eafa:	88 c7                	mov    %al,%bh
41eafc:	88 e3                	mov    %ah,%bl
41eafe:	c1 e8 10             	shr    $0x10,%eax
41eb01:	c1 e3 08             	shl    $0x8,%ebx
41eb04:	88 c3                	mov    %al,%bl
41eb06:	89 1c 8a             	mov    %ebx,(%edx,%ecx,4)
41eb09:	49                   	dec    %ecx
41eb0a:	79 e9                	jns    0x41eaf5
41eb0c:	5b                   	pop    %ebx
41eb0d:	8b e5                	mov    %ebp,%esp
41eb0f:	5d                   	pop    %ebp
41eb10:	c3                   	ret
41eb11:	8d 40 00             	lea    0x0(%eax),%eax
41eb14:	55                   	push   %ebp
41eb15:	8b ec                	mov    %esp,%ebp
41eb17:	81 c4 f8 fb ff ff    	add    $0xfffffbf8,%esp
41eb1d:	53                   	push   %ebx
41eb1e:	66 c7 85 f8 fb ff ff 	movw   $0x300,-0x408(%ebp)
41eb25:	00 03
41eb27:	66 c7 85 fa fb ff ff 	movw   $0x10,-0x406(%ebp)
41eb2e:	10 00
41eb30:	8d 95 fc fb ff ff    	lea    -0x404(%ebp),%edx
41eb36:	b9 40 00 00 00       	mov    $0x40,%ecx
41eb3b:	e8 78 3d fe ff       	call   0x4028b8
41eb40:	6a 00                	push   $0x0
41eb42:	e8 55 7a fe ff       	call   0x40659c