410836:	e8 b1 2f ff ff       	call   0x4037ec
41083b:	89 45 f8             	mov    %eax,-0x8(%ebp)
41083e:	e9 5c 02 00 00       	jmp    0x410a9f
410843:	8b 45 fc             	mov    -0x4(%ebp),%eax
410846:	8b 50 0c             	mov    0xc(%eax),%edx
410849:	8b 40 08             	mov    0x8(%eax),%eax
41084c:	50                   	push   %eax
41084d:	c1 f8 1f             	sar    $0x1f,%eax
410850:	3b c2                	cmp    %edx,%eax
410852:	58                   	pop    %eax
410853:	74 05                	je     0x41085a
410855:	e8 92 2f ff ff       	call   0x4037ec
41085a:	89 45 f8             	mov    %eax,-0x8(%ebp)
41085d:	e9 3d 02 00 00       	jmp    0x410a9f
410862:	8b 45 fc             	mov    -0x4(%ebp),%eax
410865:	8b 40 08             	mov    0x8(%eax),%eax
410868:	e8 1b fe ff ff       	call   0x410688
41086d:	89 45 f8             	mov    %eax,-0x8(%ebp)
410870:	e9 2a 02 00 00       	jmp    0x410a9f
410875:	8b 45 fc             	mov    -0x4(%ebp),%eax
410878:	e8 27 fd ff ff       	call   0x4105a4
41087d:	89 45 f8             	mov    %eax,-0x8(%ebp)
410880:	e9 1a 02 00 00       	jmp    0x410a9f
410885:	8b 55 fc             	mov    -0x4(%ebp),%edx
410888:	8b d0                	mov    %eax,%edx
41088a:	66 81 ea 00 01       	sub    $0x100,%dx
41088f:	74 07                	je     0x410898
410891:	66 ff ca             	dec    %dx
410894:	74 12                	je     0x4108a8
410896:	eb 20                	jmp    0x4108b8
410898:	8b 45 fc             	mov    -0x4(%ebp),%eax
41089b:	e8 50 fc ff ff       	call   0x4104f0
4108a0:	89 45 f8             	mov    %eax,-0x8(%ebp)
4108a3:	e9 f7 01 00 00       	jmp    0x410a9f
4108a8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4108ab:	e8 30 fd ff ff       	call   0x4105e0
4108b0:	89 45 f8             	mov    %eax,-0x8(%ebp)
4108b3:	e9 e7 01 00 00       	jmp    0x410a9f
4108b8:	8b 55 fc             	mov    -0x4(%ebp),%edx
4108bb:	f6 c4 40             	test   $0x40,%ah
4108be:	0f 84 c1 01 00 00    	je     0x410a85
4108c4:	8b 55 fc             	mov    -0x4(%ebp),%edx
4108c7:	0f b7 c0             	movzwl %ax,%eax
4108ca:	25 ff bf ff ff       	and    $0xffffbfff,%eax
4108cf:	83 f8 14             	cmp    $0x14,%eax
4108d2:	0f 87 a0 01 00 00    	ja     0x410a78
4108d8:	ff 24 85 df 08 41 00 	jmp    *0x4108df(,%eax,4)
4108df:	78 0a                	js     0x4108eb
4108e1:	41                   	inc    %ecx
4108e2:	00 78 0a             	add    %bh,0xa(%eax)
4108e5:	41                   	inc    %ecx
4108e6:	00 33                	add    %dh,(%ebx)
4108e8:	09 41 00             	or     %eax,0x0(%ecx)
4108eb:	44                   	inc    %esp
4108ec:	09 41 00             	or     %eax,0x0(%ecx)
4108ef:	54                   	push   %esp
4108f0:	09 41 00             	or     %eax,0x0(%ecx)
4108f3:	77 09                	ja     0x4108fe
4108f5:	41                   	inc    %ecx
4108f6:	00 9a 09 41 00 c3    	add    %bl,-0x3cffbef7(%edx)
4108fc:	09 41 00             	or     %eax,0x0(%ecx)
4108ff:	e6 09                	out    %al,$0x9
410901:	41                   	inc    %ecx
410902:	00 78 0a             	add    %bh,0xa(%eax)
410905:	41                   	inc    %ecx
410906:	00 78 0a             	add    %bh,0xa(%eax)
410909:	41                   	inc    %ecx
41090a:	00 f6                	add    %dh,%dh
41090c:	09 41 00             	or     %eax,0x0(%ecx)
41090f:	68 0a 41 00 78       	push   $0x7800410a
410914:	0a 41 00             	or     0x0(%ecx),%al
410917:	78 0a                	js     0x410923
410919:	41                   	inc    %ecx
41091a:	00 78 0a             	add    %bh,0xa(%eax)
41091d:	41                   	inc    %ecx
41091e:	00 07                	add    %al,(%edi)
410920:	0a 41 00             	or     0x0(%ecx),%al
410923:	18 0a                	sbb    %cl,(%edx)
410925:	41                   	inc    %ecx
410926:	00 26                	add    %ah,(%esi)
410928:	0a 41 00             	or     0x0(%ecx),%al
41092b:	34 0a                	xor    $0xa,%al
41092d:	41                   	inc    %ecx
41092e:	00 4a 0a             	add    %cl,0xa(%edx)
410931:	41                   	inc    %ecx
410932:	00 8b 45 fc 8b 40    	add    %cl,0x408bfc45(%ebx)
410938:	08 0f                	or     %cl,(%edi)
41093a:	bf 00 89 45 f8       	mov    $0xf8458900,%edi
41093f:	e9 5b 01 00 00       	jmp    0x410a9f
410944:	8b 45 fc             	mov    -0x4(%ebp),%eax
410947:	8b 40 08             	mov    0x8(%eax),%eax
41094a:	8b 00                	mov    (%eax),%eax
41094c:	89 45 f8             	mov    %eax,-0x8(%ebp)
41094f:	e9 4b 01 00 00       	jmp    0x410a9f
410954:	8b 45 fc             	mov    -0x4(%ebp),%eax
410957:	8b 40 08             	mov    0x8(%eax),%eax
41095a:	d9 00                	flds   (%eax)
41095c:	e8 ef 26 ff ff       	call   0x403050
410961:	50                   	push   %eax
410962:	c1 f8 1f             	sar    $0x1f,%eax
410965:	3b c2                	cmp    %edx,%eax
410967:	58                   	pop    %eax
410968:	74 05                	je     0x41096f
41096a:	e8 7d 2e ff ff       	call   0x4037ec
41096f:	89 45 f8             	mov    %eax,-0x8(%ebp)
410972:	e9 28 01 00 00       	jmp    0x410a9f
410977:	8b 45 fc             	mov    -0x4(%ebp),%eax
41097a:	8b 40 08             	mov    0x8(%eax),%eax
41097d:	dd 00                	fldl   (%eax)
41097f:	e8 cc 26 ff ff       	call   0x403050
410984:	50                   	push   %eax
410985:	c1 f8 1f             	sar    $0x1f,%eax
410988:	3b c2                	cmp    %edx,%eax
41098a:	58                   	pop    %eax
41098b:	74 05                	je     0x410992
41098d:	e8 5a 2e ff ff       	call   0x4037ec
410992:	89 45 f8             	mov    %eax,-0x8(%ebp)
410995:	e9 05 01 00 00       	jmp    0x410a9f
41099a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41099d:	8b 40 08             	mov    0x8(%eax),%eax
4109a0:	df 28                	fildll (%eax)
4109a2:	d8 35 d4 0a 41 00    	fdivs  0x410ad4
4109a8:	e8 a3 26 ff ff       	call   0x403050
4109ad:	50                   	push   %eax
4109ae:	c1 f8 1f             	sar    $0x1f,%eax
4109b1:	3b c2                	cmp    %edx,%eax
4109b3:	58                   	pop    %eax
4109b4:	74 05                	je     0x4109bb
4109b6:	e8 31 2e ff ff       	call   0x4037ec
4109bb:	89 45 f8             	mov    %eax,-0x8(%ebp)
4109be:	e9 dc 00 00 00       	jmp    0x410a9f
4109c3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4109c6:	8b 40 08             	mov    0x8(%eax),%eax
4109c9:	dd 00                	fldl   (%eax)
4109cb:	e8 80 26 ff ff       	call   0x403050
4109d0:	50                   	push   %eax
4109d1:	c1 f8 1f             	sar    $0x1f,%eax
4109d4:	3b c2                	cmp    %edx,%eax
4109d6:	58                   	pop    %eax
4109d7:	74 05                	je     0x4109de
4109d9:	e8 0e 2e ff ff       	call   0x4037ec
4109de:	89 45 f8             	mov    %eax,-0x8(%ebp)
4109e1:	e9 b9 00 00 00       	jmp    0x410a9f
4109e6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4109e9:	e8 02 fb ff ff       	call   0x4104f0
4109ee:	89 45 f8             	mov    %eax,-0x8(%ebp)
4109f1:	e9 a9 00 00 00       	jmp    0x410a9f
4109f6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4109f9:	8b 40 08             	mov    0x8(%eax),%eax
4109fc:	0f bf 00             	movswl (%eax),%eax
4109ff:	89 45 f8             	mov    %eax,-0x8(%ebp)
410a02:	e9 98 00 00 00       	jmp    0x410a9f
410a07:	8b 45 fc             	mov    -0x4(%ebp),%eax
410a0a:	8b 40 08             	mov    0x8(%eax),%eax
410a0d:	0f be 00             	movsbl (%eax),%eax
410a10:	89 45 f8             	mov    %eax,-0x8(%ebp)
410a13:	e9 87 00 00 00       	jmp    0x410a9f
410a18:	8b 45 fc             	mov    -0x4(%ebp),%eax
410a1b:	8b 40 08             	mov    0x8(%eax),%eax
410a1e:	0f b6 00             	movzbl (%eax),%eax
410a21:	89 45 f8             	mov    %eax,-0x8(%ebp)
410a24:	eb 79                	jmp    0x410a9f
410a26:	8b 45 fc             	mov    -0x4(%ebp),%eax
410a29:	8b 40 08             	mov    0x8(%eax),%eax
410a2c:	0f b7 00             	movzwl (%eax),%eax
410a2f:	89 45 f8             	mov    %eax,-0x8(%ebp)
410a32:	eb 6b                	jmp    0x410a9f
410a34:	8b 45 fc             	mov    -0x4(%ebp),%eax
410a37:	8b 40 08             	mov    0x8(%eax),%eax
410a3a:	8b 00                	mov    (%eax),%eax
410a3c:	85 c0                	test   %eax,%eax
410a3e:	79 05                	jns    0x410a45
410a40:	e8 a7 2d ff ff       	call   0x4037ec
410a45:	89 45 f8             	mov    %eax,-0x8(%ebp)
410a48:	eb 55                	jmp    0x410a9f
410a4a:	8b 45 fc             	mov    -0x4(%ebp),%eax
410a4d:	8b 40 08             	mov    0x8(%eax),%eax
410a50:	8b 50 04             	mov    0x4(%eax),%edx
410a53:	8b 00                	mov    (%eax),%eax
410a55:	50                   	push   %eax
410a56:	c1 f8 1f             	sar    $0x1f,%eax
410a59:	3b c2                	cmp    %edx,%eax
410a5b:	58                   	pop    %eax
410a5c:	74 05                	je     0x410a63
410a5e:	e8 89 2d ff ff       	call   0x4037ec
410a63:	89 45 f8             	mov    %eax,-0x8(%ebp)
410a66:	eb 37                	jmp    0x410a9f
410a68:	8b 45 fc             	mov    -0x4(%ebp),%eax
410a6b:	8b 40 08             	mov    0x8(%eax),%eax
410a6e:	e8 15 fc ff ff       	call   0x410688
410a73:	89 45 f8             	mov    %eax,-0x8(%ebp)
410a76:	eb 27                	jmp    0x410a9f
410a78:	8b 45 fc             	mov    -0x4(%ebp),%eax
410a7b:	e8 24 fb ff ff       	call   0x4105a4
410a80:	89 45 f8             	mov    %eax,-0x8(%ebp)
410a83:	eb 1a                	jmp    0x410a9f
410a85:	8d 55 f8             	lea    -0x8(%ebp),%edx
410a88:	8b 45 fc             	mov    -0x4(%ebp),%eax
410a8b:	e8 b4 fb ff ff       	call   0x410644
410a90:	84 c0                	test   %al,%al
410a92:	75 0b                	jne    0x410a9f
410a94:	8b 45 fc             	mov    -0x4(%ebp),%eax
410a97:	e8 08 fb ff ff       	call   0x4105a4
410a9c:	89 45 f8             	mov    %eax,-0x8(%ebp)
410a9f:	33 c0                	xor    %eax,%eax
410aa1:	5a                   	pop    %edx
410aa2:	59                   	pop    %ecx
410aa3:	59                   	pop    %ecx
410aa4:	64 89 10             	mov    %edx,%fs:(%eax)
410aa7:	eb 1e                	jmp    0x410ac7
410aa9:	e9 4e 33 ff ff       	jmp    0x403dfc
410aae:	8b 45 fc             	mov    -0x4(%ebp),%eax
410ab1:	0f b7 00             	movzwl (%eax),%eax
410ab4:	66 ba 03 00          	mov    $0x3,%dx
410ab8:	e8 a3 ee ff ff       	call   0x40f960
410abd:	33 c0                	xor    %eax,%eax
410abf:	89 45 f8             	mov    %eax,-0x8(%ebp)
410ac2:	e8 45 37 ff ff       	call   0x40420c
410ac7:	8b 45 f8             	mov    -0x8(%ebp),%eax
410aca:	5f                   	pop    %edi
410acb:	5e                   	pop    %esi
410acc:	5b                   	pop    %ebx
410acd:	59                   	pop    %ecx
410ace:	59                   	pop    %ecx
410acf:	5d                   	pop    %ebp
410ad0:	c3                   	ret
410ad1:	00 00                	add    %al,(%eax)
410ad3:	00 00                	add    %al,(%eax)
410ad5:	40                   	inc    %eax
410ad6:	1c 46                	sbb    $0x46,%al
410ad8:	55                   	push   %ebp
410ad9:	8b ec                	mov    %esp,%ebp
410adb:	51                   	push   %ecx
410adc:	53                   	push   %ebx
410add:	56                   	push   %esi
410ade:	57                   	push   %edi
410adf:	89 45 fc             	mov    %eax,-0x4(%ebp)
410ae2:	8b 45 fc             	mov    -0x4(%ebp),%eax
410ae5:	0f b7 00             	movzwl (%eax),%eax
410ae8:	66 83 e8 01          	sub    $0x1,%ax
410aec:	72 10                	jb     0x410afe
410aee:	74 12                	je     0x410b02
410af0:	66 83 e8 0a          	sub    $0xa,%ax
410af4:	74 26                	je     0x410b1c
410af6:	66 83 e8 05          	sub    $0x5,%ax
410afa:	74 29                	je     0x410b25
410afc:	eb 30                	jmp    0x410b2e
410afe:	33 db                	xor    %ebx,%ebx
410b00:	eb 7f                	jmp    0x410b81
410b02:	80 3d 10 ba 49 00 00 	cmpb   $0x0,0x49ba10
410b09:	74 0d                	je     0x410b18
410b0b:	66 ba 10 00          	mov    $0x10,%dx
410b0f:	66 b8 01 00          	mov    $0x1,%ax
410b13:	e8 d4 e9 ff ff       	call   0x40f4ec
410b18:	33 db                	xor    %ebx,%ebx
410b1a:	eb 65                	jmp    0x410b81
410b1c:	8b 5d fc             	mov    -0x4(%ebp),%ebx
410b1f:	0f b6 5b 08          	movzbl 0x8(%ebx),%ebx
410b23:	eb 5c                	jmp    0x410b81
410b25:	8b 5d fc             	mov    -0x4(%ebp),%ebx
410b28:	0f b6 5b 08          	movzbl 0x8(%ebx),%ebx
410b2c:	eb 53                	jmp    0x410b81
410b2e:	33 c0                	xor    %eax,%eax
410b30:	55                   	push   %ebp
410b31:	68 66 0b 41 00       	push   $0x410b66
410b36:	64 ff 30             	push   %fs:(%eax)
410b39:	64 89 20             	mov    %esp,%fs:(%eax)
410b3c:	8b 45 fc             	mov    -0x4(%ebp),%eax
410b3f:	e8 44 fb ff ff       	call   0x410688
410b44:	8b d8                	mov    %eax,%ebx
410b46:	81 c3 80 00 00 00    	add    $0x80,%ebx
410b4c:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
410b52:	76 05                	jbe    0x410b59
410b54:	e8 93 2c ff ff       	call   0x4037ec
410b59:	83 c3 80             	add    $0xffffff80,%ebx
410b5c:	33 c0                	xor    %eax,%eax
410b5e:	5a                   	pop    %edx
410b5f:	59                   	pop    %ecx
410b60:	59                   	pop    %ecx
410b61:	64 89 10             	mov    %edx,%fs:(%eax)
410b64:	eb 1b                	jmp    0x410b81
410b66:	e9 91 32 ff ff       	jmp    0x403dfc
410b6b:	8b 45 fc             	mov    -0x4(%ebp),%eax
410b6e:	0f b7 00             	movzwl (%eax),%eax
410b71:	66 ba 10 00          	mov    $0x10,%dx
410b75:	e8 e6 ed ff ff       	call   0x40f960
410b7a:	33 db                	xor    %ebx,%ebx
410b7c:	e8 8b 36 ff ff       	call   0x40420c
410b81:	8b c3                	mov    %ebx,%eax
410b83:	5f                   	pop    %edi
410b84:	5e                   	pop    %esi
410b85:	5b                   	pop    %ebx
410b86:	59                   	pop    %ecx
410b87:	5d                   	pop    %ebp
410b88:	c3                   	ret
410b89:	8d 40 00             	lea    0x0(%eax),%eax
410b8c:	55                   	push   %ebp
410b8d:	8b ec                	mov    %esp,%ebp
410b8f:	51                   	push   %ecx
410b90:	53                   	push   %ebx
410b91:	56                   	push   %esi
410b92:	57                   	push   %edi
410b93:	89 45 fc             	mov    %eax,-0x4(%ebp)
410b96:	8b 45 fc             	mov    -0x4(%ebp),%eax
410b99:	0f b7 00             	movzwl (%eax),%eax
410b9c:	66 83 e8 01          	sub    $0x1,%ax
410ba0:	72 10                	jb     0x410bb2
410ba2:	74 12                	je     0x410bb6
410ba4:	66 83 e8 0a          	sub    $0xa,%ax
410ba8:	74 26                	je     0x410bd0
410baa:	66 83 e8 06          	sub    $0x6,%ax
410bae:	74 29                	je     0x410bd9
410bb0:	eb 30                	jmp    0x410be2
410bb2:	33 db                	xor    %ebx,%ebx
410bb4:	eb 76                	jmp    0x410c2c
410bb6:	80 3d 10 ba 49 00 00 	cmpb   $0x0,0x49ba10
410bbd:	74 0d                	je     0x410bcc
410bbf:	66 ba 11 00          	mov    $0x11,%dx
410bc3:	66 b8 01 00          	mov    $0x1,%ax
410bc7:	e8 20 e9 ff ff       	call   0x40f4ec
410bcc:	33 db                	xor    %ebx,%ebx
410bce:	eb 5c                	jmp    0x410c2c
410bd0:	8b 5d fc             	mov    -0x4(%ebp),%ebx
410bd3:	0f b6 5b 08          	movzbl 0x8(%ebx),%ebx
410bd7:	eb 53                	jmp    0x410c2c
410bd9:	8b 5d fc             	mov    -0x4(%ebp),%ebx
410bdc:	0f b6 5b 08          	movzbl 0x8(%ebx),%ebx
410be0:	eb 4a                	jmp    0x410c2c
410be2:	33 c0                	xor    %eax,%eax
410be4:	55                   	push   %ebp
410be5:	68 11 0c 41 00       	push   $0x410c11
410bea:	64 ff 30             	push   %fs:(%eax)
410bed:	64 89 20             	mov    %esp,%fs:(%eax)
410bf0:	8b 45 fc             	mov    -0x4(%ebp),%eax
410bf3:	e8 90 fa ff ff       	call   0x410688
410bf8:	8b d8                	mov    %eax,%ebx
410bfa:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
410c00:	76 05                	jbe    0x410c07
410c02:	e8 e5 2b ff ff       	call   0x4037ec
410c07:	33 c0                	xor    %eax,%eax
410c09:	5a                   	pop    %edx
410c0a:	59                   	pop    %ecx
410c0b:	59                   	pop    %ecx
410c0c:	64 89 10             	mov    %edx,%fs:(%eax)
410c0f:	eb 1b                	jmp    0x410c2c
410c11:	e9 e6 31 ff ff       	jmp    0x403dfc
410c16:	8b 45 fc             	mov    -0x4(%ebp),%eax
410c19:	0f b7 00             	movzwl (%eax),%eax
410c1c:	66 ba 11 00          	mov    $0x11,%dx
410c20:	e8 3b ed ff ff       	call   0x40f960