41e8f0:	50                   	push   %eax
41e8f1:	e8 1a 80 fe ff       	call   0x406910
41e8f6:	e8 dd f1 fe ff       	call   0x40dad8
41e8fb:	5b                   	pop    %ebx
41e8fc:	5d                   	pop    %ebp
41e8fd:	c2 08 00             	ret    $0x8
41e900:	55                   	push   %ebp
41e901:	8b ec                	mov    %esp,%ebp
41e903:	53                   	push   %ebx
41e904:	56                   	push   %esi
41e905:	84 d2                	test   %dl,%dl
41e907:	74 08                	je     0x41e911
41e909:	83 c4 f0             	add    $0xfffffff0,%esp
41e90c:	e8 27 4e fe ff       	call   0x403738
41e911:	8b da                	mov    %edx,%ebx
41e913:	8b f0                	mov    %eax,%esi
41e915:	66 8b 45 08          	mov    0x8(%ebp),%ax
41e919:	50                   	push   %eax
41e91a:	6a 00                	push   $0x0
41e91c:	33 d2                	xor    %edx,%edx
41e91e:	8b c6                	mov    %esi,%eax
41e920:	e8 1f 00 00 00       	call   0x41e944
41e925:	8b c6                	mov    %esi,%eax
41e927:	84 db                	test   %bl,%bl
41e929:	74 0f                	je     0x41e93a
41e92b:	e8 60 4e fe ff       	call   0x403790
41e930:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41e937:	83 c4 0c             	add    $0xc,%esp
41e93a:	8b c6                	mov    %esi,%eax
41e93c:	5e                   	pop    %esi
41e93d:	5b                   	pop    %ebx
41e93e:	5d                   	pop    %ebp
41e93f:	c2 04 00             	ret    $0x4
41e942:	8b c0                	mov    %eax,%eax
41e944:	55                   	push   %ebp
41e945:	8b ec                	mov    %esp,%ebp
41e947:	83 c4 dc             	add    $0xffffffdc,%esp
41e94a:	53                   	push   %ebx
41e94b:	56                   	push   %esi
41e94c:	57                   	push   %edi
41e94d:	33 db                	xor    %ebx,%ebx
41e94f:	89 5d e0             	mov    %ebx,-0x20(%ebp)
41e952:	89 5d dc             	mov    %ebx,-0x24(%ebp)
41e955:	89 5d e8             	mov    %ebx,-0x18(%ebp)
41e958:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41e95b:	84 d2                	test   %dl,%dl
41e95d:	74 08                	je     0x41e967
41e95f:	83 c4 f0             	add    $0xfffffff0,%esp
41e962:	e8 d1 4d fe ff       	call   0x403738
41e967:	8b f1                	mov    %ecx,%esi
41e969:	88 55 ff             	mov    %dl,-0x1(%ebp)
41e96c:	8b d8                	mov    %eax,%ebx
41e96e:	8b 7d 0c             	mov    0xc(%ebp),%edi
41e971:	33 c0                	xor    %eax,%eax
41e973:	55                   	push   %ebp
41e974:	68 6d ea 41 00       	push   $0x41ea6d
41e979:	64 ff 30             	push   %fs:(%eax)
41e97c:	64 89 20             	mov    %esp,%fs:(%eax)
41e97f:	66 81 ff ff ff       	cmp    $0xffff,%di
41e984:	75 69                	jne    0x41e9ef
41e986:	8b 55 08             	mov    0x8(%ebp),%edx
41e989:	8b c6                	mov    %esi,%eax
41e98b:	e8 3c a2 fe ff       	call   0x408bcc
41e990:	8b c8                	mov    %eax,%ecx
41e992:	33 d2                	xor    %edx,%edx
41e994:	8b c3                	mov    %ebx,%eax
41e996:	e8 a1 fe ff ff       	call   0x41e83c
41e99b:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
41e99f:	0f 8d ad 00 00 00    	jge    0x41ea52
41e9a5:	8d 55 e8             	lea    -0x18(%ebp),%edx
41e9a8:	8b c6                	mov    %esi,%eax
41e9aa:	e8 bd a3 fe ff       	call   0x408d6c
41e9af:	8b 45 e8             	mov    -0x18(%ebp),%eax
41e9b2:	89 45 ec             	mov    %eax,-0x14(%ebp)
41e9b5:	c6 45 f0 0b          	movb   $0xb,-0x10(%ebp)
41e9b9:	e8 1a 7e fe ff       	call   0x4067d8
41e9be:	8d 55 e4             	lea    -0x1c(%ebp),%edx
41e9c1:	e8 46 d2 fe ff       	call   0x40bc0c
41e9c6:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41e9c9:	89 45 f4             	mov    %eax,-0xc(%ebp)
41e9cc:	c6 45 f8 0b          	movb   $0xb,-0x8(%ebp)
41e9d0:	8d 45 ec             	lea    -0x14(%ebp),%eax
41e9d3:	50                   	push   %eax
41e9d4:	6a 01                	push   $0x1
41e9d6:	8b 0d 24 b5 49 00    	mov    0x49b524,%ecx
41e9dc:	b2 01                	mov    $0x1,%dl
41e9de:	a1 20 91 41 00       	mov    0x419120,%eax
41e9e3:	e8 48 db fe ff       	call   0x40c530
41e9e8:	e8 b3 51 fe ff       	call   0x403ba0
41e9ed:	eb 63                	jmp    0x41ea52
41e9ef:	0f b7 d7             	movzwl %di,%edx
41e9f2:	8b c6                	mov    %esi,%eax
41e9f4:	e8 57 a1 fe ff       	call   0x408b50
41e9f9:	8b c8                	mov    %eax,%ecx
41e9fb:	33 d2                	xor    %edx,%edx
41e9fd:	8b c3                	mov    %ebx,%eax
41e9ff:	e8 38 fe ff ff       	call   0x41e83c
41ea04:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
41ea08:	7d 48                	jge    0x41ea52
41ea0a:	8d 55 e0             	lea    -0x20(%ebp),%edx
41ea0d:	8b c6                	mov    %esi,%eax
41ea0f:	e8 58 a3 fe ff       	call   0x408d6c
41ea14:	8b 45 e0             	mov    -0x20(%ebp),%eax
41ea17:	89 45 ec             	mov    %eax,-0x14(%ebp)
41ea1a:	c6 45 f0 0b          	movb   $0xb,-0x10(%ebp)
41ea1e:	e8 b5 7d fe ff       	call   0x4067d8
41ea23:	8d 55 dc             	lea    -0x24(%ebp),%edx
41ea26:	e8 e1 d1 fe ff       	call   0x40bc0c
41ea2b:	8b 45 dc             	mov    -0x24(%ebp),%eax
41ea2e:	89 45 f4             	mov    %eax,-0xc(%ebp)
41ea31:	c6 45 f8 0b          	movb   $0xb,-0x8(%ebp)
41ea35:	8d 45 ec             	lea    -0x14(%ebp),%eax
41ea38:	50                   	push   %eax
41ea39:	6a 01                	push   $0x1
41ea3b:	8b 0d 10 af 49 00    	mov    0x49af10,%ecx
41ea41:	b2 01                	mov    $0x1,%dl
41ea43:	a1 7c 91 41 00       	mov    0x41917c,%eax
41ea48:	e8 e3 da fe ff       	call   0x40c530
41ea4d:	e8 4e 51 fe ff       	call   0x403ba0
41ea52:	33 c0                	xor    %eax,%eax
41ea54:	5a                   	pop    %edx
41ea55:	59                   	pop    %ecx
41ea56:	59                   	pop    %ecx
41ea57:	64 89 10             	mov    %edx,%fs:(%eax)
41ea5a:	68 74 ea 41 00       	push   $0x41ea74
41ea5f:	8d 45 dc             	lea    -0x24(%ebp),%eax
41ea62:	ba 04 00 00 00       	mov    $0x4,%edx
41ea67:	e8 1c 57 fe ff       	call   0x404188
41ea6c:	c3                   	ret
41ea6d:	e9 f6 50 fe ff       	jmp    0x403b68
41ea72:	eb eb                	jmp    0x41ea5f
41ea74:	8b c3                	mov    %ebx,%eax
41ea76:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
41ea7a:	74 0f                	je     0x41ea8b
41ea7c:	e8 0f 4d fe ff       	call   0x403790
41ea81:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41ea88:	83 c4 0c             	add    $0xc,%esp
41ea8b:	8b c3                	mov    %ebx,%eax
41ea8d:	5f                   	pop    %edi
41ea8e:	5e                   	pop    %esi
41ea8f:	5b                   	pop    %ebx
41ea90:	8b e5                	mov    %ebp,%esp
41ea92:	5d                   	pop    %ebp
41ea93:	c2 08 00             	ret    $0x8
41ea96:	8b c0                	mov    %eax,%eax
41ea98:	53                   	push   %ebx
41ea99:	56                   	push   %esi
41ea9a:	e8 01 4d fe ff       	call   0x4037a0
41ea9f:	8b da                	mov    %edx,%ebx
41eaa1:	8b f0                	mov    %eax,%esi
41eaa3:	8b 46 04             	mov    0x4(%esi),%eax
41eaa6:	85 c0                	test   %eax,%eax
41eaa8:	7c 05                	jl     0x41eaaf
41eaaa:	e8 b5 a1 fe ff       	call   0x408c64
41eaaf:	8b d3                	mov    %ebx,%edx
41eab1:	80 e2 fc             	and    $0xfc,%dl
41eab4:	8b c6                	mov    %esi,%eax
41eab6:	e8 21 49 fe ff       	call   0x4033dc
41eabb:	84 db                	test   %bl,%bl
41eabd:	7e 07                	jle    0x41eac6
41eabf:	8b c6                	mov    %esi,%eax
41eac1:	e8 c2 4c fe ff       	call   0x403788
41eac6:	5e                   	pop    %esi
41eac7:	5b                   	pop    %ebx
41eac8:	c3                   	ret
41eac9:	8d 40 00             	lea    0x0(%eax),%eax
41eacc:	89 50 04             	mov    %edx,0x4(%eax)
41eacf:	89 48 08             	mov    %ecx,0x8(%eax)
41ead2:	c3                   	ret
41ead3:	90                   	nop
41ead4:	53                   	push   %ebx
41ead5:	56                   	push   %esi
41ead6:	57                   	push   %edi
41ead7:	8b d8                	mov    %eax,%ebx
41ead9:	8b 7b 0c             	mov    0xc(%ebx),%edi
41eadc:	85 ff                	test   %edi,%edi
41eade:	7c 24                	jl     0x41eb04
41eae0:	85 c9                	test   %ecx,%ecx
41eae2:	7c 20                	jl     0x41eb04
41eae4:	8b 73 08             	mov    0x8(%ebx),%esi
41eae7:	2b f7                	sub    %edi,%esi
41eae9:	85 f6                	test   %esi,%esi
41eaeb:	7e 17                	jle    0x41eb04
41eaed:	3b ce                	cmp    %esi,%ecx
41eaef:	7d 02                	jge    0x41eaf3
41eaf1:	8b f1                	mov    %ecx,%esi
41eaf3:	8b 43 04             	mov    0x4(%ebx),%eax
41eaf6:	03 c7                	add    %edi,%eax
41eaf8:	8b ce                	mov    %esi,%ecx
41eafa:	e8 75 3e fe ff       	call   0x402974
41eaff:	01 73 0c             	add    %esi,0xc(%ebx)
41eb02:	eb 02                	jmp    0x41eb06
41eb04:	33 f6                	xor    %esi,%esi
41eb06:	8b c6                	mov    %esi,%eax
41eb08:	5f                   	pop    %edi
41eb09:	5e                   	pop    %esi
41eb0a:	5b                   	pop    %ebx
41eb0b:	c3                   	ret
41eb0c:	66 83 e9 01          	sub    $0x1,%cx
41eb10:	72 09                	jb     0x41eb1b
41eb12:	74 0c                	je     0x41eb20
41eb14:	66 ff c9             	dec    %cx
41eb17:	74 0c                	je     0x41eb25
41eb19:	eb 10                	jmp    0x41eb2b
41eb1b:	89 50 0c             	mov    %edx,0xc(%eax)
41eb1e:	eb 0b                	jmp    0x41eb2b
41eb20:	01 50 0c             	add    %edx,0xc(%eax)
41eb23:	eb 06                	jmp    0x41eb2b
41eb25:	03 50 08             	add    0x8(%eax),%edx
41eb28:	89 50 0c             	mov    %edx,0xc(%eax)
41eb2b:	8b 40 0c             	mov    0xc(%eax),%eax
41eb2e:	c3                   	ret
41eb2f:	90                   	nop
41eb30:	53                   	push   %ebx
41eb31:	56                   	push   %esi
41eb32:	e8 69 4c fe ff       	call   0x4037a0
41eb37:	8b da                	mov    %edx,%ebx
41eb39:	8b f0                	mov    %eax,%esi
41eb3b:	8b c6                	mov    %esi,%eax
41eb3d:	e8 1a 00 00 00       	call   0x41eb5c
41eb42:	8b d3                	mov    %ebx,%edx
41eb44:	80 e2 fc             	and    $0xfc,%dl
41eb47:	8b c6                	mov    %esi,%eax
41eb49:	e8 8e 48 fe ff       	call   0x4033dc
41eb4e:	84 db                	test   %bl,%bl
41eb50:	7e 07                	jle    0x41eb59
41eb52:	8b c6                	mov    %esi,%eax
41eb54:	e8 2f 4c fe ff       	call   0x403788
41eb59:	5e                   	pop    %esi
41eb5a:	5b                   	pop    %ebx
41eb5b:	c3                   	ret
41eb5c:	53                   	push   %ebx
41eb5d:	8b d8                	mov    %eax,%ebx
41eb5f:	33 d2                	xor    %edx,%edx
41eb61:	8b c3                	mov    %ebx,%eax
41eb63:	e8 44 00 00 00       	call   0x41ebac
41eb68:	33 c0                	xor    %eax,%eax
41eb6a:	89 43 08             	mov    %eax,0x8(%ebx)
41eb6d:	33 c0                	xor    %eax,%eax
41eb6f:	89 43 0c             	mov    %eax,0xc(%ebx)
41eb72:	5b                   	pop    %ebx
41eb73:	c3                   	ret
41eb74:	53                   	push   %ebx
41eb75:	56                   	push   %esi
41eb76:	57                   	push   %edi
41eb77:	8b fa                	mov    %edx,%edi
41eb79:	8b f0                	mov    %eax,%esi
41eb7b:	6a 00                	push   $0x0
41eb7d:	6a 00                	push   $0x0
41eb7f:	8b c7                	mov    %edi,%eax
41eb81:	e8 e6 f8 ff ff       	call   0x41e46c
41eb86:	8b c7                	mov    %edi,%eax
41eb88:	8b 10                	mov    (%eax),%edx
41eb8a:	ff 12                	call   *(%edx)
41eb8c:	8b d8                	mov    %eax,%ebx
41eb8e:	8b d3                	mov    %ebx,%edx
41eb90:	8b c6                	mov    %esi,%eax
41eb92:	8b 08                	mov    (%eax),%ecx
41eb94:	ff 51 04             	call   *0x4(%ecx)
41eb97:	85 db                	test   %ebx,%ebx
41eb99:	74 0c                	je     0x41eba7
41eb9b:	8b 56 04             	mov    0x4(%esi),%edx
41eb9e:	8b cb                	mov    %ebx,%ecx
41eba0:	8b c7                	mov    %edi,%eax
41eba2:	e8 d1 fa ff ff       	call   0x41e678
41eba7:	5f                   	pop    %edi
41eba8:	5e                   	pop    %esi
41eba9:	5b                   	pop    %ebx
41ebaa:	c3                   	ret
41ebab:	90                   	nop
41ebac:	53                   	push   %ebx
41ebad:	51                   	push   %ecx
41ebae:	89 14 24             	mov    %edx,(%esp)
41ebb1:	8b d8                	mov    %eax,%ebx
41ebb3:	8b d4                	mov    %esp,%edx
41ebb5:	8b c3                	mov    %ebx,%eax
41ebb7:	8b 08                	mov    (%eax),%ecx
41ebb9:	ff 51 1c             	call   *0x1c(%ecx)
41ebbc:	8b d0                	mov    %eax,%edx
41ebbe:	8b 4b 08             	mov    0x8(%ebx),%ecx
41ebc1:	8b c3                	mov    %ebx,%eax
41ebc3:	e8 04 ff ff ff       	call   0x41eacc
41ebc8:	8b 04 24             	mov    (%esp),%eax
41ebcb:	89 43 10             	mov    %eax,0x10(%ebx)
41ebce:	5a                   	pop    %edx
41ebcf:	5b                   	pop    %ebx
41ebd0:	c3                   	ret
41ebd1:	8d 40 00             	lea    0x0(%eax),%eax
41ebd4:	53                   	push   %ebx
41ebd5:	56                   	push   %esi
41ebd6:	57                   	push   %edi
41ebd7:	8b f2                	mov    %edx,%esi
41ebd9:	8b d8                	mov    %eax,%ebx
41ebdb:	8b 7b 0c             	mov    0xc(%ebx),%edi
41ebde:	8b d6                	mov    %esi,%edx
41ebe0:	8b c3                	mov    %ebx,%eax
41ebe2:	e8 c5 ff ff ff       	call   0x41ebac
41ebe7:	89 73 08             	mov    %esi,0x8(%ebx)
41ebea:	3b f7                	cmp    %edi,%esi
41ebec:	7d 0d                	jge    0x41ebfb
41ebee:	66 b9 02 00          	mov    $0x2,%cx
41ebf2:	33 d2                	xor    %edx,%edx
41ebf4:	8b c3                	mov    %ebx,%eax
41ebf6:	8b 18                	mov    (%eax),%ebx
41ebf8:	ff 53 14             	call   *0x14(%ebx)
41ebfb:	5f                   	pop    %edi
41ebfc:	5e                   	pop    %esi
41ebfd:	5b                   	pop    %ebx
41ebfe:	c3                   	ret
41ebff:	90                   	nop
41ec00:	53                   	push   %ebx
41ec01:	56                   	push   %esi
41ec02:	57                   	push   %edi
41ec03:	83 3a 00             	cmpl   $0x0,(%edx)
41ec06:	7e 17                	jle    0x41ec1f
41ec08:	8b 0a                	mov    (%edx),%ecx
41ec0a:	3b 48 08             	cmp    0x8(%eax),%ecx
41ec0d:	74 10                	je     0x41ec1f
41ec0f:	8b 0a                	mov    (%edx),%ecx
41ec11:	81 c1 ff 1f 00 00    	add    $0x1fff,%ecx
41ec17:	81 e1 00 e0 ff ff    	and    $0xffffe000,%ecx
41ec1d:	89 0a                	mov    %ecx,(%edx)
41ec1f:	8b 70 04             	mov    0x4(%eax),%esi
41ec22:	8b ce                	mov    %esi,%ecx
41ec24:	8b 3a                	mov    (%edx),%edi
41ec26:	8b 58 10             	mov    0x10(%eax),%ebx
41ec29:	3b fb                	cmp    %ebx,%edi
41ec2b:	74 56                	je     0x41ec83
41ec2d:	83 3a 00             	cmpl   $0x0,(%edx)
41ec30:	75 0b                	jne    0x41ec3d
41ec32:	8b c6                	mov    %esi,%eax
41ec34:	e8 5b 84 fe ff       	call   0x407094
41ec39:	33 c9                	xor    %ecx,%ecx
41ec3b:	eb 46                	jmp    0x41ec83
41ec3d:	85 db                	test   %ebx,%ebx
41ec3f:	75 13                	jne    0x41ec54
41ec41:	a1 d0 b3 49 00       	mov    0x49b3d0,%eax
41ec46:	0f b7 00             	movzwl (%eax),%eax
41ec49:	8b 12                	mov    (%edx),%edx
41ec4b:	e8 18 84 fe ff       	call   0x407068
41ec50:	8b c8                	mov    %eax,%ecx
41ec52:	eb 14                	jmp    0x41ec68
41ec54:	8b 0d d0 b3 49 00    	mov    0x49b3d0,%ecx
41ec5a:	0f b7 09             	movzwl (%ecx),%ecx
41ec5d:	8b 12                	mov    (%edx),%edx
41ec5f:	8b c6                	mov    %esi,%eax
41ec61:	e8 12 84 fe ff       	call   0x407078
41ec66:	8b c8                	mov    %eax,%ecx
41ec68:	85 c9                	test   %ecx,%ecx
41ec6a:	75 17                	jne    0x41ec83